]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Rotate ChangeLog files - part 1 - add ChangeLog-2021.
authorJakub Jelinek <jakub@redhat.com>
Mon, 3 Jan 2022 09:18:16 +0000 (10:18 +0100)
committerJakub Jelinek <jakub@redhat.com>
Mon, 3 Jan 2022 09:18:16 +0000 (10:18 +0100)
2022-01-03  Jakub Jelinek  <jakub@redhat.com>

gcc/
* ChangeLog-2021: Rotate ChangeLog.  New file.
gcc/ada/
* ChangeLog-2021: Rotate ChangeLog.  New file.
gcc/cp/
* ChangeLog-2021: Rotate ChangeLog.  New file.
gcc/d/
* ChangeLog-2021: Rotate ChangeLog.  New file.
gcc/fortran/
* ChangeLog-2021: Rotate ChangeLog.  New file.
gcc/testsuite/
* ChangeLog-2021: Rotate ChangeLog.  New file.
libgfortran/
* ChangeLog-2021: Rotate ChangeLog.  New file.
libstdc++-v3/
* ChangeLog-2021: Rotate ChangeLog.  New file.

gcc/ChangeLog-2021 [new file with mode: 0644]
gcc/ada/ChangeLog-2021 [new file with mode: 0644]
gcc/cp/ChangeLog-2021 [new file with mode: 0644]
gcc/d/ChangeLog-2021 [new file with mode: 0644]
gcc/fortran/ChangeLog-2021 [new file with mode: 0644]
gcc/testsuite/ChangeLog-2021 [new file with mode: 0644]
libgfortran/ChangeLog-2021 [new file with mode: 0644]
libstdc++-v3/ChangeLog-2021 [new file with mode: 0644]

diff --git a/gcc/ChangeLog-2021 b/gcc/ChangeLog-2021
new file mode 100644 (file)
index 0000000..3d36cb7
--- /dev/null
@@ -0,0 +1,35692 @@
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103756
+       * regrename.c (find_rename_reg): Test noop_move_p on the first
+       non-debug insn in the chain rather than on the first insn.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103808
+       * emit-rtl.c (gen_rtx_REG_offset): Use gen_raw_REG instead of
+       gen_rtx_REG.
+
+2021-12-30  Martin Liska  <mliska@suse.cz>
+
+       * doc/cpp.texi: Add missing dash for argument.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103012
+       * config/i386/i386-c.c (ix86_pragma_target_parse): Perform
+       cpp_define/cpp_undef calls with forced token locations
+       BUILTINS_LOCATION.
+       * config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
+       * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Likewise.
+       * config/s390/s390-c.c (s390_pragma_target_parse): Likewise.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103860
+       * shrink-wrap.c (try_shrink_wrapping): Make sure can_get_prologue is
+       called on pro even if nothing further is pushed into vec.
+
+2021-12-30  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * loop-invariant.c (find_invariants_bb): Check profile count
+       before motion.
+       (find_invariants_body): Add argument.
+
+2021-12-29  Ian Lance Taylor  <iant@golang.org>
+
+       PR go/103847
+       * godump.c (go_force_record_alignment): Name the alignment
+       field "_".
+
+2021-12-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103742
+       * tree-ssa-dce.c (make_forwarders_with_degenerate_phis): If any phi
+       argument is not CONSTANT_CLASS_P or SSA_NAME and any arguments are
+       equal, change second from hash value to lowest dest_idx from the
+       edges which have equal argument and resort to ensure -fcompare-debug
+       stability.
+
+2021-12-29  Martin Liska  <mliska@suse.cz>
+
+       * collect2.c (main): Add ld.mold.
+       * common.opt: Add -fuse-ld=mold.
+       * doc/invoke.texi: Document it.
+       * gcc.c (driver_handle_option): Handle -fuse-ld=mold.
+       * opts.c (common_handle_option): Likewise.
+
+2021-12-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (vec_pack<floatprefix>_float_<mode>):
+       Perform gen_avx512dq_float<floatunssuffix>v2div2sf2 into a
+       pseudo and emit move insn into operands[0].
+       (fix<fixunssuffix>_truncv2sfv2di2): Use lowpart_subreg
+       instead of simplify_gen_subreg.
+       (trunc<mode><pmov_dst_3_lower>2): Perform
+       gen_avx512vl_truncate<mode>v<ssescalarnum>qi2 into a
+       pseudo and emit move insn into operands[0].
+       (trunc<mode><pmov_dst_4_lower>2): Perform
+       gen_avx512vl_truncate<mode>v<ssescalarnum>hi2 into a
+       pseudo and emit move insn into operands[0].
+       (truncv2div2si2): Perform gen_avx512vl_truncatev2div2si2 into a
+       pseudo and emit move insn into operands[0].
+       (truncv8div8qi2): Perform gen_avx512f_truncatev8div16qi2 into a
+       pseudo and emit move insn into operands[0].
+       (<any_extend:insn>v8qiv8hi2): Use lowpart_subreg
+       instead of simplify_gen_subreg.
+       (<any_extend:insn>v8qiv8si2): Ditto.
+       (<any_extend:insn>v4qiv4si2): Ditto.
+       (<any_extend:insn>v4hiv4si2): Ditto.
+       (<any_extend:insn>v8qiv8di2): Ditto.
+       (<any_extend:insn>v4qiv4di2): Ditto.
+       (<any_extend:insn>v2qiv2di2): Ditto.
+       (<any_extend:insn>v4hiv4di2): Ditto.
+       (<any_extend:insn>v2hiv2di2): Ditto.
+       (<any_extend:insn>v2siv2di2): Ditto.
+
+2021-12-29  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR tree-optimization/103793
+       * tree-ssa-loop-split.c (fix_loop_bb_probability): New function.
+       (split_loop): Use multiply to scale loop1's exit probability.
+       (do_split_loop_on_cond): Call fix_loop_bb_probability.
+
+2021-12-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99968
+       * tree.c (verify_type): Allow enumerator with BOOLEAN_TYPE.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103813
+       * fold-const.c (fold_truth_andor_1): Punt of const_binop LSHIFT_EXPR
+       or RSHIFT_EXPR returns NULL.  Formatting fix.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103837
+       * loop-invariant.c (can_move_invariant_reg): Ignore DEBUG_INSNs in
+       the decisions whether to return false or continue and right before
+       returning true reset those debug insns that previously caused
+       returning false.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103838
+       * optabs.c (expand_doubleword_mod, expand_doubleword_divmod): Only
+       check newly added insns for CALL_P, not the last insn of previous
+       code.
+
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       PR driver/103465
+       * opts.c (finish_options): More part of diagnostics to ...
+       (diagnose_options): ... here. Call the function from both
+       finish_options and process_options.
+       * opts.h (diagnose_options): Declare.
+       * toplev.c (process_options): Call diagnose_options.
+
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       * doc/contrib.texi: Replace http:// with https.
+       * doc/contribute.texi: Likewise.
+       * doc/extend.texi: Likewise.
+       * doc/gccint.texi: Likewise.
+       * doc/gnu.texi: Likewise.
+       * doc/implement-c.texi: Likewise.
+       * doc/implement-cxx.texi: Likewise.
+       * doc/include/fdl.texi: Likewise.
+       * doc/include/gpl_v3.texi: Likewise.
+       * doc/install.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/passes.texi: Likewise.
+       * doc/service.texi: Likewise.
+       * doc/sourcebuild.texi: Likewise.
+       * doc/standards.texi: Likewise.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103842
+       * config/i386/mmx.md (divv2sf3): Use force_reg on op1.  Always perform
+       divv4sf3 into a pseudo and emit_move_insn into operands[0].
+
+2021-12-27  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa-protos.h: Delete
+       pa_maybe_emit_compare_and_swap_exchange_loop() declaration.
+       * config/pa/pa.c (pa_expand_compare_and_swap_loop): Delete.
+       (pa_maybe_emit_compare_and_swap_exchange_loop): Delete.
+       * config/pa/pa.md (atomic_storeq): Use __sync_lock_test_and_set
+       instead of pa_maybe_emit_compare_and_swap_exchange_loop.
+       (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
+
+2021-12-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103762
+       * config/i386/constraints.md (BM): New constraint.
+       * config/i386/i386.md (m): New mode attribute.
+       Replace the 'm' constraint on <general_operand> with the '<m>'
+       constraint.
+       Replace the 'm' constraint on x86_64_general_operand with the
+       'BM' constraint.
+
+2021-12-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103785
+       * config/i386/i386.md: Swap operand order in comments and check
+       AX input in any_mul_highpart peepholes.
+
+2021-12-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       PR target/103797
+       * config/i386/mmx.md (divv2sf3): New instruction pattern.
+
+2021-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_override_options): Make a comment
+       more inclusive.
+
+2021-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config.gcc: Emit L2_MAX_OFILE_ALIGNMENT with suitable
+       values for the host.
+       * config/darwin.c (darwin_emit_common): Error for alignment
+       values > 32768.
+       * config/darwin.h (MAX_OFILE_ALIGNMENT): Rework to use the
+       configured L2_MAX_OFILE_ALIGNMENT.
+
+2021-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_override_options): When checking for the
+       flag-reorder-and-partition case, also check that it is set on.
+
+2021-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (OBJECT_FORMAT_MACHO): New.
+
+2021-12-23  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103773
+       * config/i386/i386.md (*mov<mode>_and): New define_insn for
+       writing a zero to memory using AND.
+       (*mov<mode>_or): Extend to allow memory destination and HImode.
+       (*movdi_internal): Remove -Oz push/pop optimization from here.
+       (*movsi_internal): Likewise.
+       (peephole2): Perform -Oz push/pop optimization here, only for
+       register destinations, values other than zero, and in functions
+       that don't used the red zone.
+       (peephole2): With -Oz, convert writes of 0 or -1 to memory into
+       their clobber forms, i.e. *mov<mode>_and and *mov<mode>_or resp.
+
+2021-12-23  konglin1  <lingling.kong@intel.com>
+
+       * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Add new intrinsic.
+       (_mm512_cvtpbh_ps): Likewise.
+       (_mm512_maskz_cvtpbh_ps): Likewise.
+       (_mm512_mask_cvtpbh_ps): Likewise.
+       * config/i386/avx512bf16vlintrin.h (_mm_cvtness_sbh): Likewise.
+       (_mm_cvtpbh_ps): Likewise.
+       (_mm256_cvtpbh_ps): Likewise.
+       (_mm_maskz_cvtpbh_ps): Likewise.
+       (_mm256_maskz_cvtpbh_ps): Likewise.
+       (_mm_mask_cvtpbh_ps): Likewise.
+       (_mm256_mask_cvtpbh_ps): Likewise.
+
+2021-12-23  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/103786
+       * tree.c (verify_type): Fix typo.
+
+2021-12-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/103750
+       * config/i386/sse.md
+       (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
+       New pre_reload define_insn_and_split.
+       (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
+       Ditto.
+       (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
+       Ditto.
+       (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
+       Ditto.
+       (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
+       Ditto.
+       (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
+       Ditto.
+       (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
+       Ditto.
+       (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
+       Ditto.
+
+2021-12-22  Murray Steele  <murray.steele@arm.com>
+
+       * config.gcc (arm*-*-*): Add arm-mve-builtins.o to extra_objs.
+       * config/arm/arm-c.c (arm_pragma_arm): Handle "#pragma GCC arm".
+       (arm_register_target_pragmas): Register it.
+       * config/arm/arm-protos.h: (arm_mve::arm_handle_mve_types_h): New
+       prototype.
+       * config/arm/arm_mve_types.h: Replace MVE type definitions with
+       new pragma.
+       * config/arm/t-arm: (arm-mve-builtins.o): New target rule.
+       * config/arm/arm-mve-builtins.cc: New file.
+       * config/arm/arm-mve-builtins.def: New file.
+       * config/arm/arm-mve-builtins.h: New file.
+
+2021-12-22  Murray Steele  <murray.steele@arm.com>
+
+       * config/arm/arm-builtins.c (enum arm_type_qualifiers): Move to
+       arm_builtins.h.
+       (enum arm_simd_type): Move to arm-builtins.h.
+       (struct arm_simd_type_info): Move to arm-builtins.h.
+       * config/arm/arm-builtins.h (enum arm_simd_type): Move from
+       arm-builtins.c.
+       (enum arm_type_qualifiers): Move from arm-builtins.c.
+       (struct arm_simd_type_info): Move from arm-builtins.c.
+
+2021-12-22  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Unify all function declarations in examples
+       where some miss trailing ';'.
+
+2021-12-22  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Unify all function declarations in examples
+       where some miss trailing ';'.
+
+2021-12-22  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Unify all function declarations in examples
+       where some miss trailing ';'.
+
+2021-12-22  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Use uppercase letters for SSEx.
+
+2021-12-21  Jiang Haochen  <haochen.jiang@intel.com>
+
+       * config/i386/bmiintrin.h (_tzcnt_u16): New intrinsic.
+       (_andn_u32): Ditto.
+       (_andn_u64): Ditto.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * tree-ssa-loop-im.c (bb_colder_than_loop_preheader): New
+       function.
+       (get_coldest_out_loop): New function.
+       (determine_max_movement): Use get_coldest_out_loop.
+       (move_computations_worker): Adjust and fix iteration udpate.
+       (class ref_in_loop_hot_body): New functor.
+       (ref_in_loop_hot_body::operator): New.
+       (can_sm_ref_p): Use for_all_locs_in_loop.
+       (fill_coldest_and_hotter_out_loop): New.
+       (tree_ssa_lim_finalize): Free coldest_outermost_loop and
+       hotter_than_inner_loop.
+       (loop_invariant_motion_in_fun): Call fill_coldest_and_hotter_out_loop.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * tree-ssa-loop-split.c (split_loop): Fix incorrect
+       profile_count and probability.
+       (do_split_loop_on_cond): Likewise.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR middle-end/103270
+       * predict.c (predict_extra_loop_exits): Add loop parameter.
+       (predict_loops): Call with loop argument.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/altivec.md (altivec_vaddu<VI_char>s): Replace
+       UNSPEC_VADDU with us_plus.
+       (altivec_vadds<VI_char>s): Replace UNSPEC_VADDS with ss_plus.
+       (altivec_vsubu<VI_char>s): Replace UNSPEC_VSUBU with us_minus.
+       (altivec_vsubs<VI_char>s): Replace UNSPEC_VSUBS with ss_minus.
+       (altivec_abss_<mode>): Likewise.
+
+2021-12-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103772
+       * config/i386/sse.md (<sse2p4_1>_pinsr<ssemodesuffix>): Add
+       earlyclobber to (x,x,x,i) alternative.
+       (<sse2p4_1>_pinsr<ssemodesuffix> peephole2): Remove.
+       (<sse2p4_1>_pinsr<ssemodesuffix> splitter): Use output
+       operand as a temporary register.  Split after reload_completed.
+
+2021-12-20  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (any_mul_highpart): New code iterator.
+       (sgnprefix, s): Add attribute support for [su]mul_highpart.
+       (<s>mul<mode>3_highpart): Delete expander.
+       (<s>mul<mode>3_highpart, <s>mulsi32_highpart_zext):
+       New define_insn patterns.
+       (define_peephole2): Tweak the register allocation for the above
+       instructions after reload.
+
+2021-12-20  Joel Sherrill  <joel@rtems.org>
+
+       * config.gcc: Obsolete m32c-*-rtems* target.
+
+2021-12-20  Martin Liska  <mliska@suse.cz>
+
+       * opts.c (default_options_optimization): Support -Oz in -Ox option hints.
+
+2021-12-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103669
+       * ipa-modref.c (modref_eaf_analysis::analyze_ssa_name): Add deferred
+       parameter.
+       (modref_eaf_analysis::propagate): Use it.
+
+2021-12-20  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98468
+       * config/i386/sse.md (*bit_and_float_vector_all_ones): New
+       pre-reload splitter.
+
+2021-12-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103766
+       * ipa-modref.c (modref_merge_call_site_flags): Fix early exit condition
+
+2021-12-19  Patrick Palka  <ppalka@redhat.com>
+
+       * print-tree.c (print_node) <case tcc_declaration>: Dump
+       DECL_LANG_FLAG_8.
+
+2021-12-19  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (gimple_simplify_phiopt): Annotate the
+       new sequence with the location of the conditional statement.
+
+2021-12-18  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103611
+       * config/i386/i386.md (any_or_plus): New code iterator.
+       (define_split): Split (HI<<32)|zext(LO) into piece-wise
+       move instructions on !TARGET_64BIT.
+       * config/i386/sse.md (*vec_extractv4si_0_zext_sse4):
+       Restrict to TARGET_64BIT.
+
+2021-12-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/32803
+       * common.opt (Oz): New command line option.
+       * doc/invoke.texi: Document the new -Oz option.
+       * lto-wrapper.c (merge_and_complain, append_compiler_options):
+       Treat OPT_Oz as synonymous with OPT_Os.
+       * optc-save-gen.awk: Increase maximum value of optimize_size to 2.
+       * opts.c (default_options_optimization) [OPT_Oz]: Handle OPT_Oz
+       just like OPT_Os, except set opt->x_optimize_size to 2.
+       (common_handle_option): Skip OPT_Oz just like OPT_Os.
+       * config/i386/i386.md (*movdi_internal): Use a push/pop sequence
+       for suitable SImode TYPE_IMOV moves when optimize_size > 1.
+       (*movsi_internal): Likewise.
+
+2021-12-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR tree-optimization/103759
+       * tree-object-size.c (unknown, initval): Remove functions.
+       (size_unknown, size_initval, size_unknown_p): Operate directly
+       on trees.
+
+2021-12-18  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * config/darwin-driver.c: Make version code more future-proof.
+       * config.gcc: Homogeneize darwin versions.
+       * configure.ac: Homogeneize darwin versions.
+       * configure: Regenerate.
+
+2021-12-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c/103649
+       * attribs.c (handle_ignored_attributes_option): Create the fake
+       attribute with max_length == -2.
+       (attribute_ignored_p): New overloads.
+       * attribs.h (attribute_ignored_p): Declare them.
+       * tree-core.h (struct attribute_spec): Document that max_length
+       can be -2.
+
+2021-12-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/103624
+       * config/rs6000/rs6000-builtins.def (__builtin_darn): Expand to
+       darn_64_di.  Add {32bit} attribute.  Return long.
+       (__builtin_darn_32): Expand to darn_32_di.  Add {32bit} attribute.
+       Return long.
+       (__builtin_darn_raw): Expand to darn_raw_di.  Add {32bit} attribute.
+       Return long.
+       * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Expand the darn
+       builtins to the _si variants for -m32.
+       * config/rs6000/rs6000.md (UNSPECV_DARN_32, UNSPECV_DARN_RAW): Delete.
+       (UNSPECV_DARN): Update comment.
+       (darn_32, darn_raw, darn): Delete.
+       (darn_32_<mode>, darn_64_<mode>, darn_raw_<mode> for GPR): New.
+       (@darn<mode> for GPR): New.
+
+2021-12-17  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-overload.def (__builtin_vec_promote): Add second
+       argument.
+
+2021-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103744
+       * tree-vect-stmts.c (vectorizable_load): Handle multi-vector
+       SLP gather loads.
+
+2021-12-17  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Rename to -fstack-protector.
+
+2021-12-17  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Fix spelling issues.
+
+2021-12-17  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103741
+       * tree-vect-stmts.c (vectorizable_operation): Check for boolean.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-driver.c (darwin_driver_init): Exit from the
+       option handling early if the command line is definitely enpty.
+       * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Remove
+       setting for the default content of weak_reference_mismatches.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/rs6000/darwin.h: Drop trailing _x from the
+       builtin_decls array name.
+
+2021-12-17  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/100738
+       * config/i386/sse.md (*avx_cmp<mode>3_lt, *avx_cmp<mode>3_ltint):
+       Remove MEM_P restriction and add force_reg for operands[2].
+       (*avx_cmp<mode>3_ltint_not): Add new define_insn_and_split.
+
+2021-12-17  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * builtins.def (BUILT_IN_DYNAMIC_OBJECT_SIZE): New builtin.
+       * tree-object-size.h: Move object size type bits enum from
+       tree-object-size.c and add new value OST_DYNAMIC.
+       * builtins.c (expand_builtin, fold_builtin_2): Handle it.
+       (fold_builtin_object_size): Handle new builtin and adjust for
+       change to compute_builtin_object_size.
+       * tree-object-size.c: Include builtins.h.
+       (compute_builtin_object_size): Adjust.
+       (early_object_sizes_execute_one,
+       dynamic_object_sizes_execute_one): New functions.
+       (object_sizes_execute): Rename insert_min_max_p argument to
+       early.  Handle BUILT_IN_DYNAMIC_OBJECT_SIZE and call the new
+       functions.
+       * doc/extend.texi (__builtin_dynamic_object_size): Document new
+       builtin.
+
+2021-12-17  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.h (compute_builtin_object_size): Return tree
+       instead of HOST_WIDE_INT.
+       * builtins.c (fold_builtin_object_size): Adjust.
+       * gimple-fold.c (gimple_fold_builtin_strncat): Likewise.
+       * ubsan.c (instrument_object_size): Likewise.
+       * tree-object-size.c (object_size): New structure.
+       (object_sizes): Change type to vec<object_size>.
+       (initval): New function.
+       (unknown): Use it.
+       (size_unknown_p, size_initval, size_unknown): New functions.
+       (object_sizes_unknown_p): Use it.
+       (object_sizes_get): Return tree.
+       (object_sizes_initialize): Rename from object_sizes_set_force
+       and set VAL parameter type as tree.  Add new parameter WHOLEVAL.
+       (object_sizes_set): Set VAL parameter type as tree and adjust
+       implementation.  Add new parameter WHOLEVAL.
+       (size_for_offset): New function.
+       (decl_init_size): Adjust comment.
+       (addr_object_size): Change PSIZE parameter to tree and adjust
+       implementation.  Add new parameter PWHOLESIZE.
+       (alloc_object_size): Return tree.
+       (compute_builtin_object_size): Return tree in PSIZE.
+       (expr_object_size, call_object_size, unknown_object_size):
+       Adjust for object_sizes_set change.
+       (merge_object_sizes): Drop OFFSET parameter and adjust
+       implementation for tree change.
+       (plus_stmt_object_size): Call collect_object_sizes_for directly
+       instead of merge_object_size and call size_for_offset to get net
+       size.
+       (cond_expr_object_size, collect_object_sizes_for,
+       object_sizes_execute): Adjust for change of type from
+       HOST_WIDE_INT to tree.
+       (check_for_plus_in_loops_1): Likewise and skip non-positive
+       offsets.
+
+2021-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103681
+       * common.opt (fabi-version): Add v17.
+
+2021-12-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103571
+       * config/i386/i386.h (VALID_AVX256_REG_MODE): Add V16HFmode.
+       (VALID_AVX256_REG_OR_OI_VHF_MODE): Replace with ...
+       (VALID_AVX256_REG_OR_OI_MODE): ... this.  Remove V16HFmode.
+       (VALID_AVX512F_SCALAR_MODE): Remove HImode and HFmode.
+       (VALID_AVX512FP16_SCALAR_MODE): New.
+       (VALID_AVX512F_REG_MODE): Add V32HFmode.
+       (VALID_SSE2_REG_MODE): Add V8HFmode, V4HFmode and V2HFmode.
+       (VALID_SSE2_REG_VHF_MODE): Remove.
+       (VALID_INT_MODE_P): Add V2HFmode.
+       * config/i386/i386.c (function_arg_advance_64):
+       Remove explicit mention of V16HFmode and V32HFmode.
+       (ix86_hard_regno_mode_ok): Remove explicit mention of XImode
+       and V32HFmode, use VALID_AVX512F_REG_OR_XI_MODE instead.
+       Use VALID_AVX512FP_SCALAR_MODE for TARGET_aVX512FP16.
+       Use VALID_AVX256_REG_OR_OI_MODE instead of
+       VALID_AVX256_REG_OR_OI_VHF_MODE and VALID_SSE2_REG_MODE instead
+       of VALID_SSE2_REG_VHF_MODE.
+       (ix86_set_reg_reg_cost): Remove usge of VALID_AVX512FP16_REG_MODE.
+       (ix86_vector_mode_supported): Ditto.
+
+2021-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR c++/103696
+       * attribs.c (decl_attributes): Check if
+       target_option_current_node is changed.
+
+2021-12-16  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Add missing dash.
+
+2021-12-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (resolution): New enum.
+       (resolve_vec_mul): New function.
+       (resolve_vec_cmpne): Likewise.
+       (resolve_vec_adde_sube): Likewise.
+       (resolve_vec_addec_subec): Likewise.
+       (resolve_vec_splats): Likewise.
+       (resolve_vec_extract): Likewise.
+       (resolve_vec_insert): Likewise.
+       (resolve_vec_step): Likewise.
+       (find_instance): Likewise.
+       (altivec_resolve_overloaded_builtin): Many cleanups.  Call factored-out
+       functions.  Move variable declarations closer to uses.  Add commentary.
+       Remove unnecessary levels of braces.  Avoid use of gotos.  Change
+       misleading variable names.  Use switches over if-else-if chains.
+
+2021-12-16  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/103729
+       * config/aarch64/aarch64-simd.md (aarch64_movv8di): Allow big endian
+       targets to move V8DI.
+
+2021-12-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR driver/103644
+       * gcc.c (check_offload_target_name): Add 'default' and 'disable'
+       to the candidate list.
+
+2021-12-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure: Regenerate.
+
+2021-12-15  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx-opts.h (ptx_isa): PTX_ISA_SM75 and PTX_ISA_SM80
+       ISA levels.
+       * config/nvptx/nvptx.opt: Add sm_75 and sm_80 to -misa.
+       * config/nvptx/nvptx.h (TARGET_SM75, TARGET_SM80):
+       New helper macros to conditionalize functionality on target ISA.
+       * config/nvptx/nvptx-c.c (nvptx_cpu_cpp_builtins): Add __PTX_SM__
+       support for the new ISA levels.
+       * config/nvptx/nvptx.c (nvptx_file_start): Add support for TARGET_SM75
+       and TARGET_SM80.
+       * config/nvptx/nvptx.md (define_c_enum "unspec"): New UNSPEC_TANH.
+       (define_mode_iterator HSFM): New iterator for HFmode and SFmode.
+       (exp2hf2): New define_insn controlled by TARGET_SM75.
+       (tanh<mode>2): New define_insn controlled by TARGET_SM75.
+       (sminhf3, smaxhf3): New define_isnns controlled by TARGET_SM80.
+
+2021-12-15  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_7_0.
+       * config/nvptx/nvptx.c (nvptx_file_start): Handle TARGET_PTX_7_0.
+       * config/nvptx/nvptx.h (TARGET_PTX_7_0): New macro.
+       * config/nvptx/nvptx.opt (ptx_version): Add 7.0.
+
+2021-12-15  Richard Sandiford  <richard.sandiford@arm.com>
+           Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/103094
+       * config/aarch64/aarch64.c (aarch64_short_vector_p): Return false
+       for structure modes, rather than ignoring the type in that case.
+
+2021-12-15  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/103350
+       * ree.c (add_removable_extension): Don't stop at first definition but
+       inspect all.
+
+2021-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103619
+       * dwarf2cfi.c (dwf_cfa_reg): Remove gcc_assert.
+       (operator==, operator!=): New overloaded operators.
+       (dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_offset,
+       dwarf2out_frame_debug_expr): Compare vars with cfa_reg type directly
+       with REG rtxes rather than with dwf_cfa_reg results on those REGs.
+       (create_cie_data): Use stack_pointer_rtx instead of
+       gen_rtx_REG (Pmode, STACK_POINTER_REGNUM).
+       (execute_dwarf2_frame): Use hard_frame_pointer_rtx instead of
+       gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM).
+
+2021-12-15  Martin Liska  <mliska@suse.cz>
+
+       PR target/103661
+       * config/i386/i386-builtins.c (fold_builtin_cpu): Compare to 0
+       as API expects that non-zero values are returned (do that
+       it mask == 31).
+       For "avx512vbmi2" argument, we return now 1 << 31, which is a
+       negative integer value.
+
+2021-12-15  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/101796
+       * config/i386/predicates.md (const_vector_operand):
+       Add new predicate.
+       * config/i386/sse.md(<insn><mode>3<mask_name>):
+       Add new define_split below.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * config/rs6000/rs6000.md (UNSPEC_XXSPLTIDP_CONST): New unspec.
+       (UNSPEC_XXSPLTIW_CONST): New unspec.
+       (movsf_hardfloat): Add support for generating XXSPLTIDP.
+       (mov<mode>_hardfloat32): Likewise.
+       (mov<mode>_hardfloat64): Likewise.
+       (xxspltidp_<mode>_internal): New insns.
+       (xxspltiw_<mode>_internal): New insns.
+       (splitters for SF/DFmode): Add new splitters for XXSPLTIDP.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * config/rs6000/predicates.md (easy_fp_constant): Add support for
+       generating XXSPLTIDP.
+       (vsx_prefixed_constant): Likewise.
+       (easy_vector_constant): Likewise.
+       * config/rs6000/rs6000-protos.h (constant_generates_xxspltidp):
+       New declaration.
+       * config/rs6000/rs6000.c (output_vec_const_move): Add support for
+       generating XXSPLTIDP.
+       (prefixed_xxsplti_p): Likewise.
+       (constant_generates_xxspltidp): New function.
+       * config/rs6000/rs6000.opt (-msplat-float-constant): New debug option.
+
+2021-12-15  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/constraints.md (eP): Update comment.
+       * config/rs6000/predicates.md (easy_fp_constant): Add support for
+       generating XXSPLTIW.
+       (vsx_prefixed_constant): New predicate.
+       (easy_vector_constant): Add support for
+       generating XXSPLTIW.
+       * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): New
+       declaration.
+       (constant_generates_xxspltiw): Likewise.
+       * config/rs6000/rs6000.c (xxspltib_constant_p): Generate XXSPLTIW
+       if possible instead of XXSPLTIB and sign extending the constant.
+       (output_vec_const_move): Add support for XXSPLTIW.
+       (prefixed_xxsplti_p): New function.
+       (constant_generates_xxspltiw): New function.
+       * config/rs6000/rs6000.md (prefixed attribute): Add support to
+       mark XXSPLTI* instructions as being prefixed.
+       * config/rs6000/rs6000.opt (-msplat-word-constant): New debug
+       switch.
+       * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Add support for
+       generating XXSPLTIW or XXSPLTIDP.
+       (vsx_mov<mode>_32bit): Likewise.
+       * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
+       eP constraint.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * config/rs6000/constraints.md (eQ): New constraint.
+       * config/rs6000/predicates.md (easy_fp_constant): Add support for
+       generating the LXVKQ instruction.
+       (easy_vector_constant_ieee128): New predicate.
+       (easy_vector_constant): Add support for generating the LXVKQ
+       instruction.
+       * config/rs6000/rs6000-protos.h (constant_generates_lxvkq): New
+       declaration.
+       * config/rs6000/rs6000.c (output_vec_const_move): Add support for
+       generating LXVKQ.
+       (constant_generates_lxvkq): New function.
+       * config/rs6000/rs6000.opt (-mieee128-constant): New debug
+       option.
+       * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Add support for
+       generating LXVKQ.
+       (vsx_mov<mode>_32bit): Likewise.
+       * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
+       eQ constraint.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * config/rs6000/rs6000-protos.h (VECTOR_128BIT_BITS): New macro.
+       (VECTOR_128BIT_BYTES): Likewise.
+       (VECTOR_128BIT_HALF_WORDS): Likewise.
+       (VECTOR_128BIT_WORDS): Likewise.
+       (VECTOR_128BIT_DOUBLE_WORDS): Likewise.
+       (vec_const_128bit_type): New structure type.
+       (vec_const_128bit_to_bytes): New declaration.
+       * config/rs6000/rs6000.c (constant_int_to_128bit_vector): New
+       helper function.
+       (constant_fp_to_128bit_vector): New helper function.
+       (vec_const_128bit_to_bytes): New function.
+
+2021-12-15  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/100518
+       * builtins.c (try_store_by_multiple_pieces): Drop address
+       conversion to ptr_mode.
+
+2021-12-15  Alexandre Oliva  <oliva@adacore.com>
+
+       PR middle-end/100843
+       * builtins.c (try_store_by_multiple_pieces): Fail if min_len
+       is greater than max_len.
+
+2021-12-14  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/103682
+       * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Check
+       is_gimple_assign before gimple_assign_rhs_code.
+
+2021-12-14  Sören Tempel  <soeren@soeren-tempel.net>
+
+       * ginclude/stddef.h (__DEFINED_ptrdiff_t): Add support for musl
+       libc typedef macro guard.
+       (__DEFINED_size_t): Ditto.
+       (__DEFINED_wchar_t): Ditto.
+
+2021-12-14  JoJo R  <rjiejie@linux.alibaba.com>
+
+       * regrename.c (find_rename_reg): Return satisfied regno
+       if instruction is noop move.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Rename
+       rs6000_builtin_decls_x to rs6000_builtin_decls.
+       (altivec_resolve_overloaded_builtin): Likewise.  Also rename
+       rs6000_builtin_info_x to rs6000_builtin_info.
+       * config/rs6000/rs6000-call.c (rs6000_invalid_builtin): Rename
+       rs6000_builtin_info_x to rs6000_builtin_info.
+       (rs6000_builtin_is_supported): Likewise.
+       (rs6000_gimple_fold_mma_builtin): Likewise.  Also rename
+       rs6000_builtin_decls_x to rs6000_builtin_decls.
+       (rs6000_gimple_fold_builtin): Rename rs6000_builtin_info_x to
+       rs6000_builtin_info.
+       (cpu_expand_builtin): Likewise.
+       (rs6000_expand_builtin): Likewise.
+       (rs6000_init_builtins): Likewise.  Also rename rs6000_builtin_decls_x
+       to rs6000_builtin_decls.
+       (rs6000_builtin_decl): Rename rs6000_builtin_decls_x to
+       rs6000_builtin_decls.
+       * config/rs6000/rs6000-gen-builtins.c (write_decls): In generated code,
+       rename rs6000_builtin_decls_x to rs6000_builtin_decls, and rename
+       rs6000_builtin_info_x to rs6000_builtin_info.
+       (write_bif_static_init): In generated code, rename
+       rs6000_builtin_info_x to rs6000_builtin_info.
+       (write_init_bif_table): In generated code, rename
+       rs6000_builtin_decls_x to rs6000_builtin_decls, and rename
+       rs6000_builtin_info_x to rs6000_builtin_info.
+       (write_init_ovld_table): In generated code, rename
+       rs6000_builtin_decls_x to rs6000_builtin_decls.
+       (write_init_file): Likewise.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
+       Likewise.
+       (rs6000_builtin_md_vectorized_function): Likewise.
+       (rs6000_builtin_reciprocal): Likewise.
+       (add_condition_to_bb): Likewise.
+       (rs6000_atomic_assign_expand_fenv): Likewise.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (altivec_resolve_new_overloaded_builtin):
+       Remove forward declaration.
+       (rs6000_new_builtin_type_compatible): Rename to
+       rs6000_builtin_type_compatible.
+       (rs6000_builtin_type_compatible): Remove.
+       (altivec_resolve_overloaded_builtin): Remove.
+       (altivec_build_new_resolved_builtin): Rename to
+       altivec_build_resolved_builtin.
+       (altivec_resolve_new_overloaded_builtin): Rename to
+       altivec_resolve_overloaded_builtin.  Remove static keyword.  Adjust
+       called function names.
+       * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Remove
+       forward declaration.
+       (rs6000_gimple_fold_new_builtin): Likewise.
+       (rs6000_invalid_new_builtin): Rename to rs6000_invalid_builtin.
+       (rs6000_gimple_fold_builtin): Remove.
+       (rs6000_new_builtin_valid_without_lhs): Rename to
+       rs6000_builtin_valid_without_lhs.
+       (rs6000_new_builtin_is_supported): Rename to
+       rs6000_builtin_is_supported.
+       (rs6000_gimple_fold_new_mma_builtin): Rename to
+       rs6000_gimple_fold_mma_builtin.
+       (rs6000_gimple_fold_new_builtin): Rename to
+       rs6000_gimple_fold_builtin.  Remove static keyword.  Adjust called
+       function names.
+       (rs6000_expand_builtin): Remove.
+       (new_cpu_expand_builtin): Rename to cpu_expand_builtin.
+       (new_mma_expand_builtin): Rename to mma_expand_builtin.
+       (new_htm_spr_num): Rename to htm_spr_num.
+       (new_htm_expand_builtin): Rename to htm_expand_builtin.  Change name
+       of called function.
+       (rs6000_expand_new_builtin): Rename to rs6000_expand_builtin.  Remove
+       static keyword.  Adjust called function names.
+       (rs6000_new_builtin_decl): Rename to rs6000_builtin_decl.  Remove
+       static keyword.
+       (rs6000_builtin_decl): Remove.
+       * config/rs6000/rs6000-gen-builtins.c (write_decls): In gnerated code,
+       rename rs6000_new_builtin_is_supported to rs6000_builtin_is_supported.
+       * config/rs6000/rs6000-internal.h (rs6000_invalid_new_builtin): Rename
+       to rs6000_invalid_builtin.
+       * config/rs6000/rs6000.c (rs6000_new_builtin_vectorized_function):
+       Rename to rs6000_builtin_vectorized_function.
+       (rs6000_new_builtin_md_vectorized_function): Rename to
+       rs6000_builtin_md_vectorized_function.
+       (rs6000_builtin_vectorized_function): Remove.
+       (rs6000_builtin_md_vectorized_function): Remove.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def: Delete.
+       * config/rs6000/rs6000-call.c (builtin_compatibility): Delete.
+       (builtin_description): Delete.
+       (builtin_hash_struct): Delete.
+       (builtin_hasher): Delete.
+       (builtin_hash_table): Delete.
+       (builtin_hasher::hash): Delete.
+       (builtin_hasher::equal): Delete.
+       (rs6000_builtin_info_type): Delete.
+       (rs6000_builtin_info): Delete.
+       (bdesc_compat): Delete.
+       (bdesc_3arg): Delete.
+       (bdesc_4arg): Delete.
+       (bdesc_dst): Delete.
+       (bdesc_2arg): Delete.
+       (bdesc_altivec_preds): Delete.
+       (bdesc_abs): Delete.
+       (bdesc_1arg): Delete.
+       (bdesc_0arg): Delete.
+       (bdesc_htm): Delete.
+       (bdesc_mma): Delete.
+       (rs6000_overloaded_builtin_p): Delete.
+       (rs6000_overloaded_builtin_name): Delete.
+       (htm_spr_num): Delete.
+       (rs6000_builtin_is_supported_p): Delete.
+       (rs6000_gimple_fold_mma_builtin): Delete.
+       (gt-rs6000-call.h): Remove include directive.
+       * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_p): Delete.
+       (rs6000_builtin_is_supported_p): Delete.
+       (rs6000_overloaded_builtin_name): Delete.
+       * config/rs6000/rs6000.c (rs6000_builtin_decls): Delete.
+       (rs6000_debug_reg_global): Remove reference to RS6000_BUILTIN_COUNT.
+       * config/rs6000/rs6000.h (rs6000_builtins): Delete.
+       (altivec_builtin_types): Delete.
+       (rs6000_builtin_decls): Delete.
+       * config/rs6000/t-rs6000 (TM_H): Don't add rs6000-builtin.def.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Rename to...
+       * config/rs6000/rs6000-builtins.def: ...this.
+       * config/rs6000/rs6000-gen-builtins.c: Adjust header commentary.
+       * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Rename
+       rs6000-builtin-new.def to rs6000-builtins.def.
+       (rs6000-builtins.c): Likewise.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Remove.
+       * config/rs6000/rs6000.h (altivec_overloaded_builtins): Remove.
+
+2021-12-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/103548
+       * config/rs6000/mma.md (UNSPEC_MMA_ASSEMBLE): Rename unspec from this...
+       (UNSPEC_VSX_ASSEMBLE): ...to this.
+       (UNSPECV_MMA_ASSEMBLE): New unspecv.
+       (vsx_assemble_pair): Use UNSPEC_VSX_ASSEMBLE.
+       (*vsx_assemble_pair): Likewise.
+       (mma_assemble_acc): Use UNSPECV_MMA_ASSEMBLE.
+       (*mma_assemble_acc): Likewise.
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Handle
+       UNSPEC_VOLATILE.  Use UNSPEC_VSX_ASSEMBLE and UNSPECV_MMA_ASSEMBLE.
+
+2021-12-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103571
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate)
+       <case E_V8HFmode>: Implement for TARGET_SSE2.
+       <case E_V16HFmode>: Implement for TARGET_AVX.
+       <case E_V32HFmode>: Implement for TARGET_AVX512F.
+       (ix86_expand_vector_set_var): Handle V32HFmode
+       without TARGET_AVX512BW.
+       (ix86_expand_vector_extract)
+       <case E_V8HFmode>: Implement for TARGET_SSE2.
+       <case E_V16HFmode>: Implement for TARGET_AVX.
+       <case E_V32HFmode>: Implement for TARGET_AVX512BW.
+       (expand_vec_perm_broadcast_1) <case E_V8HFmode>: New.
+       * config/i386/sse.md (VI12HF_AVX512VL): Remove
+       TARGET_AVX512FP16 condition.
+       (V): Ditto.
+       (V_256_512): Ditto.
+       (avx_vbroadcastf128_<mode>): Use V_256H mode iterator.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Remove
+       test for new_builtins_are_live and simplify.
+       * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Remove
+       dead function.
+       (altivec_resolve_overloaded_builtin): Remove test for
+       new_builtins_are_live and simplify.
+       * config/rs6000/rs6000-call.c (altivec_init_builtins): Remove forward
+       declaration.
+       (builtin_function_type): Likewise.
+       (rs6000_common_init_builtins): Likewise.
+       (htm_init_builtins): Likewise.
+       (mma_init_builtins): Likewise.
+       (def_builtin): Remove dead function.
+       (rs6000_expand_zeroop_builtin): Likewise.
+       (rs6000_expand_mtfsf_builtin): Likewise.
+       (rs6000_expand_mtfsb_builtin): Likewise.
+       (rs6000_expand_set_fpscr_rn_builtin): Likewise.
+       (rs6000_expand_set_fpscr_drn_builtin): Likewise.
+       (rs6000_expand_unop_builtin): Likewise.
+       (altivec_expand_abs_builtin): Likewise.
+       (rs6000_expand_binop_builtin): Likewise.
+       (altivec_expand_lxvr_builtin): Likewise.
+       (altivec_expand_lv_builtin): Likewise.
+       (altivec_expand_stxvl_builtin): Likewise.
+       (altivec_expand_stv_builtin): Likewise.
+       (mma_expand_builtin): Likewise.
+       (htm_expand_builtin): Likewise.
+       (cpu_expand_builtin): Likewise.
+       (rs6000_expand_quaternop_builtin): Likewise.
+       (rs6000_expand_ternop_builtin): Likewise.
+       (altivec_expand_dst_builtin): Likewise.
+       (altivec_expand_vec_sel_builtin): Likewise.
+       (altivec_expand_builtin): Likewise.
+       (rs6000_invalid_builtin): Likewise.
+       (rs6000_builtin_valid_without_lhs): Likewise.
+       (rs6000_gimple_fold_builtin): Remove test for new_builtins_are_live and
+       simplify.
+       (rs6000_expand_builtin): Likewise.
+       (rs6000_init_builtins): Remove tests for new_builtins_are_live and
+       simplify.
+       (rs6000_builtin_decl): Likewise.
+       (altivec_init_builtins): Remove dead function.
+       (mma_init_builtins): Likewise.
+       (htm_init_builtins): Likewise.
+       (builtin_quaternary_function_type): Likewise.
+       (builtin_function_type): Likewise.
+       (rs6000_common_init_builtins): Likewise.
+       * config/rs6000/rs6000-gen-builtins.c (write_header_file): Don't
+       declare new_builtins_are_live.
+       (write_init_bif_table): In generated code, remove test for
+       new_builtins_are_live and simplify.
+       (write_init_ovld_table): Likewise.
+       (write_init_file): Don't initialize new_builtins_are_live.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove
+       test for new_builtins_are_live and simplify.
+       (rs6000_builtin_md_vectorized_function): Likewise.
+       (rs6000_builtin_reciprocal): Likewise.
+       (add_condition_to_bb): Likewise.
+       (rs6000_atomic_assign_expand_fenv): Likewise.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/103625
+       * config/rs6000/rs6000-builtin-new.def (__builtin_altivec_vcmpequd):
+       Move to power8-vector stanza.
+       (__builtin_altivec_vcmpequd_p): Likewise.
+       (__builtin_altivec_vcmpgtsd): Likewise.
+       (__builtin_altivec_vcmpgtsd_p): Likewise.
+       (__builtin_altivec_vcmpgtud): Likewise.
+       (__builtin_altivec_vcmpgtud_p): Likewise.
+
+2021-12-14  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/103623
+       * config/rs6000/rs6000-builtin-new.def (__builtin_pack_longdouble): Add
+       ibmld attribute.
+       (__builtin_unpack_longdouble): Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Add special
+       handling for ibmld attribute.
+       * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add isibmld.
+       (parse_bif_attrs): Handle ibmld.
+       (write_decls): Likewise.
+       (write_bif_static_init): Likewise.
+
+2021-12-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103585
+       * ipa-modref-tree.c (modref_access_node::range_info_useful_p): Handle
+       MODREF_GLOBAL_MEMORY_PARM.
+       (modref_access_node::dump): Likewise.
+       (modref_access_node::get_call_arg): Likewise.
+       * ipa-modref-tree.h (enum modref_special_parms): Add
+       MODREF_GLOBAL_MEMORY_PARM.
+       (modref_access_node::useful_for_kill): Handle
+       MODREF_GLOBAL_MEMORY_PARM.
+       (modref:tree::merge): Add promote_unknown_to_global.
+       * ipa-modref.c (verify_arg):New function.
+       (may_access_nonescaping_parm_p): New function.
+       (modref_access_analysis::record_global_memory_load): New member
+       function.
+       (modref_access_analysis::record_global_memory_store): Likewise.
+       (modref_access_analysis::process_fnspec): Distingush global and local
+       memory.
+       (modref_access_analysis::analyze_call): Likewise.
+       * tree-ssa-alias.c (ref_may_access_global_memory_p): New function.
+       (modref_may_conflict): Use it.
+
+2021-12-14  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (enum aarch64_builtins):
+       Define AARCH64_LS64_BUILTIN_LD64B, AARCH64_LS64_BUILTIN_ST64B,
+       AARCH64_LS64_BUILTIN_ST64BV, AARCH64_LS64_BUILTIN_ST64BV0.
+       (aarch64_init_ls64_builtin_decl): Helper function.
+       (aarch64_init_ls64_builtins): Helper function.
+       (aarch64_init_ls64_builtins_types): Helper function.
+       (aarch64_general_init_builtins): Init LS64 intrisics for
+       TARGET_LS64.
+       (aarch64_expand_builtin_ls64): LS64 intrinsics expander.
+       (aarch64_general_expand_builtin): Handle aarch64_expand_builtin_ls64.
+       (ls64_builtins_data): New helper struct.
+       (v8di_UP): New define.
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
+       __ARM_FEATURE_LS64.
+       * config/aarch64/aarch64.c (aarch64_classify_address): Enforce the
+       V8DI range (7-bit signed scaled) for both ends of the range.
+       * config/aarch64/aarch64-simd.md (movv8di): New pattern.
+       (aarch64_movv8di): New pattern.
+       * config/aarch64/aarch64.h (AARCH64_ISA_LS64): New define.
+       (TARGET_LS64): New define.
+       * config/aarch64/aarch64.md: Add UNSPEC_LD64B, UNSPEC_ST64B,
+       UNSPEC_ST64BV and UNSPEC_ST64BV0.
+       (ld64b): New define_insn.
+       (st64b): New define_insn.
+       (st64bv): New define_insn.
+       (st64bv0): New define_insn.
+       * config/aarch64/arm_acle.h (data512_t): New type derived from
+       __arm_data512_t.
+       (__arm_data512_t): New internal type.
+       (__arm_ld64b): New intrinsic.
+       (__arm_st64b): New intrinsic.
+       (__arm_st64bv): New intrinsic.
+       (__arm_st64bv0): New intrinsic.
+       * config/arm/types.md: Add new type ls64.
+
+2021-12-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/i386/t-vxworks: Drop the fPIC multilibs.
+
+2021-12-14  Fred Konrad  <konrad@adacore.com>
+
+       * config/rs6000/t-vxworks: Drop the fPIC multilib.
+
+2021-12-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99531
+       * ira-costs.c (record_operand_costs): Do not take pseudo class
+       calculated on the 1st iteration into account when processing move
+       involving the pseudo and a hard register.
+
+2021-12-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386.md (define_split any_or:SWI248 -> orb %?h):
+       Optimize the case where the integer constant operand is zero.
+
+2021-12-13  Doug Rupp  <rupp@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VXWORKS_LINK_OS_SPEC): New spec.
+       (VXWORKS_BASE_LINK_SPEC): New spec, using the former.
+       (VXWORKS_EXTRA_LINK_SPEC): New spec for old and new VxWorks.
+       (VXWORKS_LINK_SPEC): Combo of BASE and EXTRA specs.
+       * config/rs6000/vxworks.h (VXWORKS_LINK_OS_SPEC): Empty.
+       (LINK_OS_EXTRA_SPEC32): Use VXWORKS_LINK_SPEC.
+       (LINK_OS_EXTRA_SPEC64): Likewise.
+
+2021-12-13  Fred Konrad  <konrad@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VXWORKS_BASE_LIBS_RTP): Guard -lc_internal
+       on !shared+!non-static and document.
+       (VXWORKS_LIB_SPEC): Remove the bits intended to drag the
+       init/fini functions from libc_internal in the shared lib case.
+       (VX_CRTBEGIN_SPEC/VX_CRTEND_SPEC): Use vxcrtstuff objects also in
+       configurations with shared lib and INITFINI_ARRAY support.
+
+2021-12-13  Fred Konrad  <konrad@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * config/vx-common.h: Define REAL_LIBGCC_SPEC since the
+       '-non-static' option is not standard.
+       * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Implement the LIBGCC_SPEC
+       since REAL_LIBGCC_SPEC is used now.
+       (STARTFILE_PREFIX_SPEC): Use the PIC VSB when building shared libraries
+       or non-static binaries.
+
+2021-12-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * common.opt: Add -fipa-strict-aliasing.
+       * doc/invoke.texi: Document -fipa-strict-aliasing.
+       * ipa-modref.c (modref_access_analysis::record_access): Honor
+       -fipa-strict-aliasing.
+       (modref_access_analysis::record_access_lto): Likewise.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-arches.def (armv8.8-a): Define.
+       * config/aarch64/aarch64.h (AARCH64_FL_V8_8): Define.
+       (AARCH64_FL_FOR_ARCH8_8): Define.
+       * doc/invoke.texi: Document -march=armv8.8-a.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_setmem_mops): Define.
+       (aarch64_expand_setmem): Adjust for TARGET_MOPS.
+       * config/aarch64/aarch64.h (CLEAR_RATIO): Adjust for TARGET_MOPS.
+       (SET_RATIO): Likewise.
+       * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_SETMEM.
+       (aarch64_setmemdi): Define.
+       (setmemdi): Adjust for TARGET_MOPS.
+       * config/aarch64/aarch64.opt (aarch64-mops-memset-size-threshold):
+       New param.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.md (aarch64_movmemdi): Define.
+       (movmemdi): Define.
+       (unspec): Add UNSPEC_MOVMEM.
+       * config/aarch64/aarch64.opt (aarch64-mops-memmove-size-threshold):
+       New param.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-option-extensions.def (mops): Define.
+       * config/aarch64/aarch64.c (aarch64_expand_cpymem_mops): Define.
+       (aarch64_expand_cpymem): Define.
+       * config/aarch64/aarch64.h (AARCH64_FL_MOPS): Define.
+       (AARCH64_ISA_MOPS): Define.
+       (TARGET_MOPS): Define.
+       (MOVE_RATIO): Adjust for TARGET_MOPS.
+       * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_CPYMEM.
+       (aarch64_cpymemdi): New pattern.
+       (cpymemdi): Adjust for TARGET_MOPS.
+       * config/aarch64/aarch64.opt (aarch64-mops-memcpy-size-threshol):
+       New param.
+       * doc/invoke.texi (AArch64 Options): Document +mops.
+
+2021-12-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/103636
+       * ipa-inline.c (can_inline_edge_p): Move logic checking
+       no_profile_instrument_function logic to ...
+       (can_early_inline_edge_p): ... here.
+
+2021-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks/_yvals.h: #include yvals.h also if
+       defined(__RTP__).
+
+2021-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): Define
+       _C99 for C++.
+
+2021-12-13  Olivier Hainque  <hainque@adacore.com>
+
+       * config/t-vxworks: Clear NATIVE_SYSTEM_HEADER_DIR.
+       * config/vxworks.h (SYSROOT_HEADERS_SUFFIX_SPEC): Define, for
+       VxWorks 7 and earlier.
+       (VXWORKS_ADDITIONAL_CPP_SPEC): Simplify accordingly.
+       (STARTFILE_PREFIX_SPEC): Adjust accordingly.
+       * config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Adjust.
+
+2021-12-13  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Use @item for the first @itemx entry.
+
+2021-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * machmode.h (gt_pch_nx): Use gt_pointer_operator as type of second
+       argument instead of equivalent void (*) (void *, void *, void *).
+       * poly-int.h (gt_pch_nx): Likewise.
+       * wide-int.h (gt_pch_nx): Likewise.
+       * config/aarch64/aarch64-sve-builtins.cc (gt_pch_nx): Likewise.
+
+2021-12-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103513
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Do not ICE
+       on ternary expression.
+
+2021-12-13  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/103515
+       * attribs.c (decl_attributes): Check if target options change and
+       create one node if so.
+
+2021-12-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * Makefile.in: Remove unique-ptr-tests.o.
+       * selftest-run-tests.c (selftest::run_tests): Remove
+       unique_ptr_tests_cc_tests.
+       * selftest.h (unique_ptr_tests_cc_tests): Remove.
+       * system.h: Check INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR
+       and include <memory> instead of "unique-ptr.h".
+       * unique-ptr-tests.cc: Removed.
+
+2021-12-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx-opts.h (ptx_isa): Add PTX_ISA_SM53 ISA level
+       to enumeration.
+       * config/nvptx/nvptx.opt: Add sm_53 to -misa.
+       * config/nvptx/nvptx-modes.def: Add support for HFmode.
+       * config/nvptx/nvptx.h (TARGET_SM53):
+       New helper macro to conditionalize functionality on target ISA.
+       * config/nvptx/nvptx-c.c (nvptx_cpu_cpp_builtins): Add __PTX_SM__
+       support for the new ISA levels.
+       * config/nvptx/nvptx.c (nvtx_ptx_type_from_mode): Support new HFmode
+       with the ".f16" suffix/qualifier.
+       (nvptx_file_start): Add support for TARGET_SM53.
+       (nvptx_omp_device_kind_arch_isa): Add support for TARGET_SM53
+       and tweak TARGET_SM35.
+       (nvptx_scalar_mode_supported_p): Target hook with conditional
+       HFmode support on TARGET_SM53 and higher.
+       (nvptx_libgcc_floating_mode_supported_p): Likewise.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): Use nvptx_scalar_mode_supported_p.
+       (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Likewise, use new hook.
+       * config/nvptx/nvptx.md (*movhf_insn): New define_insn.
+       (movhf): New define_expand for HFmode moves.
+       (addhf3, subhf3, mulhf, extendhf<mode>2, trunc<mode>hf2): New
+       instructions conditional on TARGET_SM53 (i.e. -misa=sm_53).
+
+2021-12-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103665
+       * ipa-modref.c (modref_access_analysis::analyze): Terminate BB
+       analysis on NULL memory access.
+       * ipa-pure-const.c (analyze_function): Likewise.
+
+2021-12-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-profile.c (ipa_profile): Do not update hot bb threshold.
+
+2021-12-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (get_modref_function_summary): Use ultimate_alias_target.
+       (ignore_edge): Likewise.
+       (compute_parm_map): Likewise.
+       (modref_propagate_in_scc): Likewise.
+       (modref_propagate_flags_in_scc): Likewise.
+
+2021-12-10  Jason Merrill  <jason@redhat.com>
+
+       * symtab.c (symtab_node::equal_address_to): Fix comment typo.
+
+2021-12-10  Doug Rupp  <rupp@adacore.com>
+
+       * config/vxworks.h (LINK_SPEC): Remove %(link_target).
+       Change %{v:-v} to %{v:-V}.
+
+2021-12-10  Olivier Hainque  <hainque@adacore.com>
+
+       * config/t-vxworks: Remove assignment to STMP_FIXINC.
+
+2021-12-10  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: Add missing dot.
+
+2021-12-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR ipa/103601
+       * ipa-modref-tree.h (useful_for_kill_p): Zero width accesses aren't
+       useful for kill tracking.
+
+2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c (process_asm): Process the variable table
+       completely differently.
+       (process_obj): Encode the varaible data differently.
+
+2021-12-10  Joel Hutton  <joel.hutton@arm.com>
+
+       PR tree-optimization/103523
+       * tree-vect-loop.c (vectorizable_induction): Check for
+       PLUS_EXPR/MINUS_EXPR support.
+
+2021-12-10  Cui,Lili  <lili.cui@intel.com>
+
+       * config/i386/i386.c (ix86_vector_costs::add_stmt_cost): Remove Tremont.
+
+2021-12-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi (max-inline-functions-called-once-loop-depth,
+       max-inline-functions-called-once-insns): New parameters.
+       * ipa-inline.c (check_callers): Handle
+       param_inline_functions_called_once_loop_depth and
+       param_inline_functions_called_once_insns.
+       (edge_badness): Fix linebreaks.
+       * params.opt (param=max-inline-functions-called-once-loop-depth,
+       param=max-inline-functions-called-once-insn): New params.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/103215
+       * pointer-query.cc (access_ref::merge_ref): Extend the offset and
+       size of the merged object instead of using the larger.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101751
+       * doc/extend.texi (attribute access): Adjust.
+       * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
+       Treat access mode none on a void* argument as expecting as few as
+       zero bytes.
+
+2021-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * config/aarch64/aarch64-sve-builtins.cc (gt_pch_nx): Change type of
+       second argument from function with 2 pointer arguments to function
+       with 3 pointer arguments.
+
+2021-12-09  Olivier Hainque  <hainque@adacore.com>
+
+       * config/aarch64/aarch64-vxworks.h (TARGET_OS_CPP_BUILTINS):
+       Use VX_CPU_PREFIX in CPU definitions.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       * pointer-query.cc (access_ref::dump): Define new function
+       (pointer_query::dump): Call it.
+       * pointer-query.h (access_ref::dump): Declare new function.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       * pointer-query.cc (compute_objsize_r): Add an argument.
+       (gimple_call_return_array): Pass a new argument to compute_objsize_r.
+       (access_ref::merge_ref): Same.
+       (access_ref::inform_access): Add an argument and use it.
+       (access_data::access_data): Initialize new member.
+       (handle_min_max_size): Pass a new argument to compute_objsize_r.
+       (handle_decl): New function.
+       (handle_array_ref): Pass a new argument to compute_objsize_r.
+       Avoid incrementing deref.
+       (set_component_ref_size): New function.
+       (handle_component_ref): New function.
+       (handle_mem_ref): Pass a new argument to compute_objsize_r.
+       Only increment deref after successfully computing object size.
+       (handle_ssa_name): New function.
+       (compute_objsize_r): Move code into helpers and call them.
+       (compute_objsize): Pass a new argument to compute_objsize_r.
+       * pointer-query.h (access_ref::inform_access): Add an argument.
+       (access_data::ostype): New member.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       * pointer-query.cc (access_ref::merge_ref): Define new function.
+       (access_ref::get_ref): Move code into merge_ref and call it.
+       * pointer-query.h (access_ref::merge_ref): Declare new function.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Pass
+       GIMPLE statement to compute_objsize.
+       * pointer-query.cc (compute_objsize): Add a statement argument.
+       * pointer-query.h (compute_objsize): Define a new overload.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-ssa-warn-access.cc (check_access): Adjust to member name
+       change.
+       (pass_waccess::check_strncmp): Same.
+       * pointer-query.cc (access_ref::access_ref): Remove arguments.
+       Simpilfy.
+       (access_data::access_data): Define new ctors.
+       (access_data::set_bound): Define new member function.
+       (compute_objsize_r): Remove unnecessary code.
+       * pointer-query.h (struct access_ref): Remove ctor arguments.
+       (struct access_data): Declare ctor overloads.
+       (access_data::dst_bndrng): New member.
+       (access_data::src_bndrng): New member.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/103143
+       * pointer-query.cc (gimple_call_return_array): Call compute_objsize_r.
+
+2021-12-09  Olivier Hainque  <hainque@adacore.com>
+           Rasmus Villemoes  <rv@rasmusvillemoes.dk>
+
+       * Makefile.in (T_STDINT_GCC_H): New variable, path to
+       stdint-gcc.h that a target configuration may override when
+       use_gcc_stdint is "provide".
+       (stmp-int-hdrs): Depend on it and copy that for
+       USE_GCC_INT=provide.
+       * config.gcc (vxworks): Revert to use_gcc_stdint=provide.
+       * config/t-vxworks (T_STDINT_GCC_H): Define, as vxw-stdint-gcc.h.
+       (vxw-stdint-gcc.h): New target, produced from the original
+       stdint-gcc.h.
+       (vxw-glimits.h): Use an automatic variable to designate the
+       first and only prerequisite.
+       * config/vxworks/stdint.h: Remove.
+
+2021-12-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR pch/71934
+       * config/host-darwin.c (SAFE_ALLOC_SIZE): Remove.
+       (darwin_gt_pch_get_address): Rework for relocatable PCH.
+       (darwin_gt_pch_use_address): Likewise.
+
+2021-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * config/host-darwin.c (darwin_gt_pch_use_address): When reading
+       manually the file into mapped area, update mapped_addr as
+       an automatic variable rather than addr which is a reference parameter.
+       * config/host-hpux.c (hpux_gt_pch_use_address): When reading
+       manually the file into mapped area, update addr as
+       an automatic variable rather than base which is a reference parameter.
+
+2021-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * coretypes.h (gt_pointer_operator): Use 3 pointer arguments instead
+       of two.
+       * gengtype.c (struct walk_type_data): Add in_nested_ptr argument.
+       (walk_type): Temporarily set d->in_nested_ptr around nested_ptr
+       handling.
+       (write_types_local_user_process_field): Pass a new middle pointer
+       to gt_pointer_operator op calls, if d->in_nested_ptr pass there
+       address of d->prev_val[2], otherwise NULL.
+       (write_types_local_process_field): Likewise.
+       * ggc-common.c (relocate_ptrs): Add real_ptr_p argument.  If equal
+       to ptr_p, do nothing, otherwise if NULL remember ptr_p's
+       or if non-NULL real_ptr_p's corresponding new address in
+       reloc_addrs_vec.
+       (reloc_addrs_vec): New variable.
+       (compare_ptr, read_uleb128, write_uleb128): New functions.
+       (gt_pch_save): When iterating over objects through relocate_ptrs,
+       save current i into state.ptrs_i.  Sort reloc_addrs_vec and emit
+       it as uleb128 of differences between pointer addresses into the
+       PCH file.
+       (gt_pch_restore): Allow restoring of PCH to a different address
+       than the preferred one, in that case adjust global pointers by bias
+       and also adjust by bias addresses read from the relocation table
+       as uleb128 differences.  Otherwise fseek over it.  Perform
+       gt_pch_restore_stringpool only after adjusting callbacks and for
+       callback adjustments also take into account the bias.
+       (default_gt_pch_use_address): Change type of first argument from
+       void * to void *&.
+       (mmap_gt_pch_use_address): Likewise.
+       * ggc-tests.c (gt_pch_nx): Pass NULL as new middle argument to op.
+       * hash-map.h (hash_map::pch_nx_helper): Likewise.
+       (gt_pch_nx): Likewise.
+       * hash-set.h (gt_pch_nx): Likewise.
+       * hash-table.h (gt_pch_nx): Likewise.
+       * hash-traits.h (ggc_remove::pch_nx): Likewise.
+       * hosthooks-def.h (default_gt_pch_use_address): Change type of first
+       argument from void * to void *&.
+       (mmap_gt_pch_use_address): Likewise.
+       * hosthooks.h (struct host_hooks): Change type of first argument of
+       gt_pch_use_address hook from void * to void *&.
+       * machmode.h (gt_pch_nx): Expect a callback with 3 pointers instead of
+       two in the middle argument.
+       * poly-int.h (gt_pch_nx): Likewise.
+       * stringpool.c (gt_pch_nx): Pass NULL as new middle argument to op.
+       * tree-cfg.c (gt_pch_nx): Likewise, except for LOCATION_BLOCK pass
+       the same &(block) twice.
+       * value-range.h (gt_pch_nx): Pass NULL as new middle argument to op.
+       * vec.h (gt_pch_nx): Likewise.
+       * wide-int.h (gt_pch_nx): Likewise.
+       * config/host-darwin.c (darwin_gt_pch_use_address): Change type of
+       first argument from void * to void *&.
+       * config/host-darwin.h (darwin_gt_pch_use_address): Likewise.
+       * config/host-hpux.c (hpux_gt_pch_use_address): Likewise.
+       * config/host-linux.c (linux_gt_pch_use_address): Likewise.  If
+       it couldn't succeed to mmap at the preferred location, set base
+       to the actual one.  Update addr in the manual reading loop instead of
+       base.
+       * config/host-netbsd.c (netbsd_gt_pch_use_address): Change type of
+       first argument from void * to void *&.
+       * config/host-openbsd.c (openbsd_gt_pch_use_address): Likewise.
+       * config/host-solaris.c (sol_gt_pch_use_address): Likewise.
+       * config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Likewise.
+       * config/rs6000/rs6000-gen-builtins.c (write_init_file): Pass NULL
+       as new middle argument to op in the generated code.
+       * doc/gty.texi: Adjust samples for the addition of middle pointer
+       to gt_pointer_operator callback.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/103097
+       * reg-stack.c (convert_regs_1): Move any_malformed_asm
+       resetting...
+       (reg_to_stack): ... here.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/103302
+       * expr.c (emit_move_multi_word): Skip clobber during lra.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR tree-optimization/103024
+       PR middle-end/103530
+       * gimple-harden-conditionals.cc (non_eh_succ_edge): New.
+       (pass_harden_compares::execute): Accept 1-bit integral types,
+       and cope with throwing compares.
+
+2021-12-08  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (DARWIN_PIE_SPEC): Add -no_pie when
+       linking mdynamic-no-pic code on macOS > 10.7.
+
+2021-12-08  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/pru.c (pru_section_type_flags): New function.
+       (TARGET_SECTION_TYPE_FLAGS): Wire it.
+
+2021-12-08  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.c (handle_attr_preserve): Avoid calling
+       is_gimple_assign with a NULL pointer.
+
+2021-12-08  Martin Liska  <mliska@suse.cz>
+
+       * profile-count.c (profile_count::dump): Add function
+       that can dump to a provided buffer.
+       (profile_probability::dump): Likewise.
+       * profile-count.h: Likewise.
+       * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop):
+       Use dump_printf_loc infrastructure.
+       (tree_unswitch_outer_loop): Likewise.
+       (find_loop_guard): Likewise.
+       (hoist_guard): Likewise.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * gimplify.c (extract_base_bit_offset): Add 'tree *offsetp' parameter,
+       accomodate case where 'offset' return of get_inner_reference is
+       non-NULL.
+       (is_or_contains_p): Further robustify conditions.
+       (omp_target_reorder_clauses): In alloc/to/from sorting phase, also
+       move following GOMP_MAP_ALWAYS_POINTER maps along.  Add new sorting
+       phase where we make sure pointers with an attach/detach map are ordered
+       correctly.
+       (gimplify_scan_omp_clauses): Add modifications to avoid creating
+       GOMP_MAP_STRUCT and associated alloc map for attach/detach maps.
+
+2021-12-08  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (*extend_trunc_<mode>2_qi,
+       *extend_trunc_<mode>2_hi, *extend_trunc_di2_si): New insns.
+       Use cvt to perform sign-extension of truncation in one step.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR middle-end/92120
+       * gimplify.c ("tree-hash-traits.h"): Add include.
+       (gimplify_scan_omp_clauses): Change struct_map_to_clause to type
+       hash_map<tree_operand, tree> *. Adjust struct map handling to handle
+       cases of *A and A->B expressions. Under !DECL_P case of
+       GOMP_CLAUSE_MAP handling, add STRIP_NOPS for indir_p case, add to
+       struct_deref_set for map(*ptr_to_struct) cases. Add MEM_REF case when
+       handling component_ref_p case. Add unshare_expr and gimplification
+       when created GOMP_MAP_STRUCT is not a DECL. Add code to add
+       firstprivate pointer for *pointer-to-struct case.
+       (gimplify_adjust_omp_clauses): Move GOMP_MAP_STRUCT removal code for
+       exit data directives code to earlier position.
+       * omp-low.c (lower_omp_target):
+       Handle GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
+       GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION map kinds.
+       * tree-pretty-print.c (dump_omp_clause): Likewise.
+
+2021-12-08  Andrew Stubbs  <ams@codesourcery.com>
+           Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       * dwarf2cfi.c (dw_stack_pointer_regnum): Change type to struct cfa_reg.
+       (dw_frame_pointer_regnum): Likewise.
+       (new_cfi_row): Use set_by_dwreg.
+       (get_cfa_from_loc_descr): Use set_by_dwreg.  Support register spans.
+       handle DW_OP_bregx with DW_OP_breg{0-31}.  Support DW_OP_lit*,
+       DW_OP_const*, DW_OP_minus, DW_OP_shl and DW_OP_plus.
+       (lookup_cfa_1): Use set_by_dwreg.
+       (def_cfa_0): Update for cfa_reg and support register spans.
+       (reg_save): Change sreg parameter to struct cfa_reg.  Support register
+       spans.
+       (dwf_cfa_reg): New function.
+       (dwarf2out_flush_queued_reg_saves): Use dwf_cfa_reg instead of
+       dwf_regno.
+       (dwarf2out_frame_debug_def_cfa): Likewise.
+       (dwarf2out_frame_debug_adjust_cfa): Likewise.
+       (dwarf2out_frame_debug_cfa_offset): Likewise.  Update reg_save usage.
+       (dwarf2out_frame_debug_cfa_register): Likewise.
+       (dwarf2out_frame_debug_expr): Likewise.
+       (create_pseudo_cfg): Use set_by_dwreg.
+       (initial_return_save): Use set_by_dwreg and dwf_cfa_reg,
+       (create_cie_data): Use dwf_cfa_reg.
+       (execute_dwarf2_frame): Use dwf_cfa_reg.
+       (dump_cfi_row): Use set_by_dwreg.
+       * dwarf2out.c (build_span_loc, build_breg_loc): New function.
+       (build_cfa_loc): Support register spans.
+       (build_cfa_aligned_loc): Update cfa_reg usage.
+       (convert_cfa_to_fb_loc_list): Use set_by_dwreg.
+       * dwarf2out.h (struct cfa_reg): New type.
+       (struct dw_cfa_location): Use struct cfa_reg.
+       (build_span_loc): New prototype.
+
+2021-12-08  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/100738
+       * config/i386/sse.md
+       (*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_not_ltint):
+       Add new define_insn_and_split.
+
+2021-12-08  Alexandre Oliva  <oliva@adacore.com>
+
+       PR middle-end/103149
+       * gimple-harden-conditionals.cc (detach_value): Use memory if
+       general regs won't do.
+
+2021-12-07  Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/103438
+       * config/s390/s390.c (s390_valid_target_attribute_inner_p):
+       Use new enum CLVC_INTEGER.
+       * opt-functions.awk: Use new CLVC_INTEGER.
+       * opts-common.c (set_option): Likewise.
+       (option_enabled): Return -1,0,1 for CLVC_INTEGER.
+       (get_option_state): Use new CLVC_INTEGER.
+       (control_warning_option): Likewise.
+       * opts.h (enum cl_var_type): Likewise.
+
+2021-12-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103594
+       * config/i386/i386.c (ix86_call_use_plt_p): Check FUNCTION_DECL
+       before calling cgraph_node::get.
+
+2021-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103596
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+       Note we are not propagating into a PHI argument to may_propagate_copy.
+       * tree-ssa-propagate.h (may_propagate_copy): Add
+       argument specifying whether we propagate into a PHI arg.
+       * tree-ssa-propagate.c (may_propagate_copy): Likewise.
+       When not doing so we can replace an abnormal with
+       something else.
+       (may_propagate_into_stmt): Update may_propagate_copy calls.
+       (replace_exp_1): Move propagation checking code to
+       propagate_value and rename to ...
+       (replace_exp): ... this and elide previous wrapper.
+       (propagate_value): Perform checking with adjusted
+       may_propagate_copy call and dispatch to replace_exp.
+
+2021-12-07  Matthias Kretz  <m.kretz@gsi.de>
+
+       * hash-map.h (hash_map::traverse): Let both overloads behave the
+       same.
+       * predict.c (assert_is_empty): Return true, thus not changing
+       behavior.
+
+2021-12-07  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.h (ISA_HAS_UNALIGNED_ACCESS, STRICT_ALIGNMENT):
+               R6 can unaligned access.
+       * config/mips/mips.md (movmisalign<mode>): Likewise.
+       * config/mips/mips.opt: add -m(no-)unaligned-access
+       * doc/invoke.texi: Likewise.
+
+2021-12-07  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * auto-profile.c (afdo_propagate_edge): Improve count propagation algorithm.
+
+2021-12-06  Paul A. Clarke  <pc@us.ibm.com>
+
+       PR target/103545
+       * config/rs6000/xmmintrin.h (_mm_movemask_ps): Replace "vector" with
+       "__vector".
+
+2021-12-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.c (bpf_handle_preserve_access_index_attribute):
+       Mark arguments `args' and flags' as unused.
+       (bpf_core_newdecl): Remove unused local `newdecl'.
+       (bpf_core_newdecl): Remove unused argument `loc'.
+       (ctfc_debuginfo_early_finish_p): Remove unused function.
+       (TARGET_CTFC_DEBUGINFO_EARLY_FINISH_P): Remove definition.
+       (bpf_core_walk): Do not pass a location to bpf_core_newdecl.
+
+2021-12-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple-range-edge.cc (gimple_outgoing_range::edge_range_p): Add
+       a shortcut for blocks with single successors.
+       * gimple-range-gori.cc (gori_map::calculate_gori): Likewise.
+
+2021-12-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * value-range.cc (irange::irange_union): Use quick_push rather
+       than safe_push.  Use widest_int rather than wide_int.  Avoid
+       assigning wi::to_* results to wide*_int temporaries.
+
+2021-12-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::fill_block_cache): Check for
+       a range from dominators before filling the cache.
+       (ranger_cache::range_from_dom): New.
+       * gimple-range-cache.h (ranger_cache::range_from_dom): Add prototype.
+
+2021-12-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.h (class gori_compute):: Add prototypes.
+       * gimple-range-gori.cc (gori_compute::has_edge_range_p): Add alternate
+       API for basic block.  Call for edge alterantive.
+       (gori_compute::may_recompute_p): Ditto.
+
+2021-12-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103581
+       * tree-vect-stmts.c (vect_build_gather_load_calls): Properly
+       guard all the AVX512 mask cases.
+
+2021-12-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103544
+       * tree-vect-slp.c (vect_analyze_slp): Only add a SLP reduction
+       opportunity if the stmt in question is the reduction root.
+       (dot_slp_tree): Add missing check for NULL child.
+
+2021-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * config/avr/avr.c (avr_output_data_section_asm_op,
+       avr_output_bss_section_asm_op): Change argument type from const void *
+       to const char *.
+
+2021-12-06  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/103404
+       * cse.c (find_sets_in_insn): Don't select elements out of a V1 mode
+       subreg.
+
+2021-12-06  Hongtao Liu  <Hongtao.liu@intel.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95740
+       * config/i386/i386.c (ix86_preferred_reload_class): Allow
+       integer regs when moves between register units are cheap.
+       * config/i386/i386.h (INT_SSE_CLASS_P): New.
+
+2021-12-05  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move
+       AIX math builtin initialization before new_builtins_are_live.
+
+2021-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY): Fix
+       comment typo, Preffer -> prefer.
+       * ipa-modref-tree.c (modref_access_node::closer_pair_p): Likewise.
+
+2021-12-04  Alexandre Oliva  <oliva@adacore.com>
+
+       PR rtl-optimization/103028
+       * ifcvt.c (find_cond_trap): Validate new insns more strictly
+       after reload.
+
+2021-12-03  Martin Liska  <mliska@suse.cz>
+           Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/101324
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Move the
+       disabling of shrink-wrapping when using -mrop-protect from here...
+       (rs6000_override_options_after_change): ...to here.
+
+2021-12-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103269
+       * config/i386/i386-expand.c (ix86_expand_builtin): Pass PVW_NONE
+       and PVW_NONE to ix86_target_string.
+       * config/i386/i386-options.c (ix86_target_string): Add arguments
+       for move_max and store_max.
+       (ix86_target_string::add_vector_width): New lambda.
+       (ix86_debug_options): Pass ix86_move_max and ix86_store_max to
+       ix86_target_string.
+       (ix86_function_specific_print): Pass ptr->x_ix86_move_max and
+       ptr->x_ix86_store_max to ix86_target_string.
+       (ix86_valid_target_attribute_tree): Handle x_ix86_move_max and
+       x_ix86_store_max.
+       (ix86_option_override_internal): Set the default x_ix86_move_max
+       and x_ix86_store_max.
+       * config/i386/i386-options.h (ix86_target_string): Add
+       prefer_vector_width and prefer_vector_width.
+       * config/i386/i386.h (TARGET_AVX256_MOVE_BY_PIECES): Removed.
+       (TARGET_AVX256_STORE_BY_PIECES): Likewise.
+       (MOVE_MAX): Use 64 if ix86_move_max or ix86_store_max ==
+       PVW_AVX512.  Use 32 if ix86_move_max or ix86_store_max >=
+       PVW_AVX256.
+       (STORE_MAX_PIECES): Use 64 if ix86_store_max == PVW_AVX512.
+       Use 32 if ix86_store_max >= PVW_AVX256.
+       * config/i386/i386.opt: Add -mmove-max=bits and -mstore-max=bits.
+       * config/i386/x86-tune.def (X86_TUNE_AVX512_MOVE_BY_PIECES): New.
+       (X86_TUNE_AVX512_STORE_BY_PIECES): Likewise.
+       * doc/invoke.texi: Document -mmove-max=bits and -mstore-max=bits.
+
+2021-12-03  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Fix builtin
+       identifiers.
+
+2021-12-03  SiYu Wu  <siyu@isrc.iscas.ac.cn>
+
+       * common/config/riscv/riscv-common.c (riscv_implied_info):
+       Add K-ext related entry.
+       (riscv_supported_std_ext): Add 'k'.
+       * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add 'k'.
+       (IMPLIED_EXT): Add K-ext related entry.
+
+2021-12-03  SiYu Wu  <siyu@isrc.iscas.ac.cn>
+
+       * common/config/riscv/riscv-common.c (riscv_ext_version_table):
+       Add zbk* and zk*.
+       * config/riscv/riscv-opts.h (MASK_ZBKB): New.
+       (MASK_ZBKC): Ditto.
+       (MASK_ZBKX): Ditto.
+       (MASK_ZKNE): Ditto.
+       (MASK_ZKND): Ditto.
+       (MASK_ZKNH): Ditto.
+       (MASK_ZKR): Ditto.
+       (MASK_ZKSED): Ditto.
+       (MASK_ZKSH): Ditto.
+       (MASK_ZKT): Ditto.
+       (TARGET_ZBKB): Ditto.
+       (TARGET_ZBKC): Ditto.
+       (TARGET_ZBKX): Ditto.
+       (TARGET_ZKNE): Ditto.
+       (TARGET_ZKND): Ditto.
+       (TARGET_ZKNH): Ditto.
+       (TARGET_ZKR): Ditto.
+       (TARGET_ZKSED): Ditto.
+       (TARGET_ZKSH): Ditto.
+       (TARGET_ZKT): Ditto.
+       * config/riscv/riscv.opt (riscv_zk_subext): New.
+
+2021-12-03  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-stmts.c (prepare_load_store_mask): Rename to...
+       (prepare_vec_mask): ...This and record operations that have already been
+       masked.
+       (vectorizable_call): Use it.
+       (vectorizable_operation): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       * tree-vectorizer.h (class _loop_vec_info): Add vec_cond_masked_set.
+       (vec_cond_masked_set_type, tree_cond_mask_hash): New.
+
+2021-12-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/51469
+       PR target/83782
+       * target.def (ifunc_ref_local_ok): Add a target hook.
+       * varasm.c (default_binds_local_p_3): Force indirect function
+       resolver non-local only if targetm.ifunc_ref_local_ok returns
+       false.
+       * config/i386/i386-expand.c (ix86_expand_call): Call
+       ix86_call_use_plt_p to check if PLT should be used.
+       * config/i386/i386-protos.h (ix86_call_use_plt_p): New.
+       * config/i386/i386.c (output_pic_addr_const): Call
+       ix86_call_use_plt_p to check if "@PLT" is needed.
+       (ix86_call_use_plt_p): New.
+       (TARGET_IFUNC_REF_LOCAL_OK): New.
+       * doc/tm.texi.in: Add TARGET_IFUNC_REF_LOCAL_OK.
+       * doc/tm.texi: Regenerated.
+
+2021-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * attribs.h (simple_cst_list_equal): Declare.
+       * attribs.c (simple_cst_list_equal): No longer static.
+       * config/i386/i386-options.c (target_attribute_cache): New variable.
+       (ix86_valid_target_attribute_p): Cache DECL_FUNCTION_SPECIFIC_TARGET
+       and DECL_FUNCTION_SPECIFIC_OPTIMIZATION based on args.
+
+2021-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * ggc.h (gt_pch_note_callback): Declare.
+       * gengtype.h (enum typekind): Add TYPE_CALLBACK.
+       (callback_type): Declare.
+       * gengtype.c (dbgprint_count_type_at): Handle TYPE_CALLBACK.
+       (callback_type): New variable.
+       (process_gc_options): Add CALLBACK argument, handle callback
+       option.
+       (set_gc_used_type): Adjust process_gc_options caller, if callback,
+       set type to &callback_type.
+       (output_mangled_typename): Handle TYPE_CALLBACK.
+       (walk_type): Likewise.  Handle callback option.
+       (write_types_process_field): Handle TYPE_CALLBACK.
+       (write_types_local_user_process_field): Likewise.
+       (write_types_local_process_field): Likewise.
+       (write_root): Likewise.
+       (dump_typekind): Likewise.
+       (dump_type): Likewise.
+       * gengtype-state.c (type_lineloc): Handle TYPE_CALLBACK.
+       (state_writer::write_state_callback_type): New method.
+       (state_writer::write_state_type): Handle TYPE_CALLBACK.
+       (read_state_callback_type): New function.
+       (read_state_type): Handle TYPE_CALLBACK.
+       * ggc-common.c (callback_vec): New variable.
+       (gt_pch_note_callback): New function.
+       (gt_pch_save): Stream out gt_pch_save function address and relocation
+       table.
+       (gt_pch_restore): Stream in saved gt_pch_save function address and
+       relocation table and apply relocations if needed.
+       * doc/gty.texi (callback): Document new GTY option.
+       * varasm.c (get_unnamed_section): Change callback argument's type and
+       last argument's type from const void * to const char *.
+       (output_section_asm_op): Change argument's type from const void *
+       to const char *, remove unnecessary cast.
+       * tree-core.h (struct tree_translation_unit_decl): Drop GTY((skip))
+       from language member.
+       * output.h (unnamed_section_callback): Change argument type from
+       const void * to const char *.
+       (struct unnamed_section): Use GTY((callback)) instead of GTY((skip))
+       for callback member.  Change data member type from const void *
+       to const char *.
+       (struct noswitch_section): Use GTY((callback)) instead of GTY((skip))
+       for callback member.
+       (get_unnamed_section): Change callback argument's type and
+       last argument's type from const void * to const char *.
+       (output_section_asm_op): Change argument's type from const void *
+       to const char *.
+       * config/avr/avr.c (avr_output_progmem_section_asm_op): Likewise.
+       Remove unneeded cast.
+       * config/darwin.c (output_objc_section_asm_op): Change argument's type
+       from const void * to const char *.
+       * config/pa/pa.c (som_output_text_section_asm_op): Likewise.
+       (som_output_comdat_data_section_asm_op): Likewise.
+       * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
+       Likewise.
+       (rs6000_xcoff_output_readonly_section_asm_op): Likewise.  Instead
+       of dereferencing directive hardcode variable names and decide based on
+       whether directive is NULL or not.
+       (rs6000_xcoff_output_readwrite_section_asm_op): Change argument's type
+       from const void * to const char *.
+       (rs6000_xcoff_output_tls_section_asm_op): Likewise.  Instead
+       of dereferencing directive hardcode variable names and decide based on
+       whether directive is NULL or not.
+       (rs6000_xcoff_output_toc_section_asm_op): Change argument's type
+       from const void * to const char *.
+       (rs6000_xcoff_asm_init_sections): Adjust get_unnamed_section callers.
+
+2021-12-03  Richard Purdie  <richard.purdie@linuxfoundation.org>
+
+       * Makefile.in: Fix "argument list too long" from install-plugins.
+
+2021-12-03  Matt Jacobson  <mhjacobson@me.com>
+
+       * config.gcc: For the AVR target, populate TM_MULTILIB_CONFIG.
+       * config/avr/genmultilib.awk: Add ability to filter generated multilib
+       list.
+       * config/avr/t-avr: Pass TM_MULTILIB_CONFIG to genmultilib.awk.
+       * configure.ac: Update help string for --with-multilib-list.
+       * configure: Regenerate.
+
+2021-12-02  Ilya Lipnitskiy  <ilya.lipnitskiy@gmail.com>
+
+       * configure: Regenerate.
+       * configure.ac: Define TARGET_LIBC_GNUSTACK on musl.
+
+2021-12-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/55610
+       * config/host-darwin.c (TRY_EMPTY_VM_SPACE,
+       SAFE_ALLOC_SIZE): New.
+       (darwin_gt_pch_get_address): Rewrite to use nominated
+       memory segments rather than part of the compiler __DATA
+       segment.
+       (darwin_gt_pch_use_address): Likewise.
+
+2021-12-02  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (*-*-freebsd*): Remove references to
+       FreeBSD 1 and FreeBSD 2.
+
+2021-12-02  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/103437
+       * ira-color.c (setup_allocno_priorities): Switch off backup code
+       for overflow if compiler has __builtin_smul_overflow.  Use <
+       for comparison with -INT_MAX.
+
+2021-12-02  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/altivec.h: Delete a number of #defines that are now
+       superfluous.  Alphabetize.  Include rs6000-vecdefines.h.  Include some
+       synonyms.
+       * config/rs6000/rs6000-builtin-new.def (CMPB): Flag as no32bit.
+       (BPERMD): Flag as 32bit (needing special handling for 32-bit).
+       (UNPACK_TD): Return unsigned long long instead of unsigned long.
+       (GET_TEXASR): Return unsigned long instead of unsigned long long.
+       (GET_TEXASRU): Likewise.
+       (GET_TFHAR): Likewise.
+       (GET_TFIAR): Likewise.
+       (SET_TEXASR): Pass unsigned long instead of unsigned long long.
+       (SET_TEXASRU): Likewise.
+       (SET_TFHAR): Likewise.
+       (SET_TFIAR): Likewise.
+       (TABORTDC): Likewise.
+       (TABORTDCI): Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Fix error
+       handling for no32bit.  Add 32bit handling for RS6000_BIF_BPERMD.
+       * config/rs6000/rs6000-gen-builtins.c (write_init_file): Initialize
+       new_builtins_are_live to 1.
+
+2021-12-02  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/103437
+       * ira-color.c (setup_allocno_priorities): Use long long
+       multiplication as backup for overflow processing.
+
+2021-12-02  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_gen_shareable_zero): New.
+       * config/aarch64/aarch64-simd.md (aarch64_rshrn<mode>,
+       aarch64_rshrn2<mode>): Generate rounding half-ing add when appropriate.
+       * config/aarch64/aarch64.c (aarch64_gen_shareable_zero): New.
+
+2021-12-02  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/103437
+       * ira-color.c (setup_allocno_priorities): Process multiplication
+       overflow.
+
+2021-12-02  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/96092
+       * common.opt: New option.
+       * coverage.c (coverage_begin_function): Emit filename with
+       remap_profile_filename.
+       * doc/invoke.texi: Document the new option.
+       * file-prefix-map.c (add_profile_prefix_map): New.
+       (remap_profile_filename): Likewise.
+       * file-prefix-map.h (add_profile_prefix_map): Likewise.
+       (remap_profile_filename): Likewise.
+       * lto-opts.c (lto_write_options): Handle
+       OPT_fprofile_prefix_map_.
+       * opts-global.c (handle_common_deferred_options): Likewise.
+       * opts.c (common_handle_option): Likewise.
+       (gen_command_line_string): Likewise.
+       * profile.c (output_location): Emit filename with
+       remap_profile_filename.
+
+2021-12-02  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103271
+       * internal-fn.c (expand_DEFERRED_INIT): When the base
+       of the LHS is a decl with matching constant size use
+       that as the initialization target instead of an
+       eventual VLA typed one.
+
+2021-12-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103527
+       * tree-vect-stmts.c (vect_build_gather_load_calls): Always
+       use a truth type for building the vector mask.
+
+2021-12-02  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>
+
+       * config/vxworks.h (LTO_PLUGIN_SPEC): Adapt to corrected
+       spelling of -linker-output-auto-nolto-rel.
+
+2021-12-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102811
+       * config/i386/sse.md (VI2F): Remove mode iterator.
+       (VI2F_256_512): New mode iterator.
+       (vec_set<V8_128:mode>_0): New insn pattern.
+       (vec_set<VI2F_256_512:mode>_0>): Rename from vec_set<VI2F:mode>mode.
+       Use VI2F_256_512 mode iterator instead of VI2F.
+       (*axv512fp16_movsh): Remove.
+       (<sse2p4_1>_pinsr<ssemodesuffix>): Add (x,x,x) AVX2 alternative.
+       Do not disable V8HF mode insn on AVX2 targets.
+       (pinsrw -> pbroadcast + pblendw peephole2): New peephole.
+       (pinsrw -> pbroadcast + pblendw splitter): New post-reload splitter.
+       * config/i386/i386.md (extendhfsf): Call gen_vec_setv8hf_0.
+       * config/i386/i386-expand.c (ix86_expand_vector_set)
+       <case E_V8HFmode>: Use vec_merge path for TARGET_AVX2.
+
+2021-12-01  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-niter.c (number_of_iterations_until_wrap):
+       Check if simplify_using_initial_conditions allows us to
+       simplify the expression for may_be_zero.
+       * match.pd (X != C ? -X : -C -> -X): New transform.
+       (X != C ? ~X : ~C -> ~X): Likewise.
+       ((X+1) > Y ? -X : 1 -> X >= Y ? -X : 1): Likewise.
+
+2021-12-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR middle-end/103127
+       * gimplify.c (is_var_need_auto_init): Handle opaque types.
+
+2021-12-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * common.opt (static-libphobos): Add option.
+       * config/darwin.h (LINK_SPEC): Substitute -lgphobos with libgphobos.a
+       when linking statically.
+       * gcc.c (driver_handle_option): Set -static-libphobos as always valid.
+
+2021-12-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103310
+       * fold-const.c (maybe_nonzero_address): Use get_create or get
+       depending on folding_initializer.
+       (fold_binary_initializer_loc): New.
+       * fold-const.h (fold_binary_initializer_loc): Declare.
+       * varasm.c (mark_weak): Don't use the decl location.
+       * doc/invoke.texi: Document -fconstexpr-fp-except.
+
+2021-12-01  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/102347
+       * config/rs6000/rs6000-c.c (rs6000-builtins.h): Stop including.
+       (rs6000-internal.h): Include.
+       (altivec_resolve_new_overloaded_builtin): Move call to
+       rs6000_invalid_new_builtin here from rs6000_new_builtin_decl.
+       * config/rs6000/rs6000-call.c (rs6000-builtins.h): Stop including.
+       (rs6000_invalid_new_builtin): Remove static qualifier.
+       (rs6000_new_builtin_decl): Remove test for supported builtin.
+       * config/rs6000/rs6000-internal.h (rs6000-builtins.h): Include.
+       (rs6000_invalid_new_builtin): Declare.
+       * config/rs6000/rs6000.c (rs6000-builtins.h): Don't include.
+
+2021-12-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103409
+       * gimple-range-path.cc (path_range_query::compute_ranges_in_phis):
+       Do all the work with just one ssa_global_cache.
+       * gimple-range-path.h: Remove m_tmp_phi_cache.
+
+2021-12-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103517
+       * tree-vect-slp.c (vect_build_slp_tree_1): When allowing two
+       different component references, check the codes of both them,
+       rather than just the first.
+
+2021-12-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103464
+       * gimple-range.cc (gimple_ranger::prefill_name): Process phis also.
+       (gimple_ranger::prefill_stmt_dependencies): Ditto.
+
+2021-12-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * doc/install.texi (Prerequisites): Add note that D front end now
+       requires GDC installed in order to bootstrap.
+       (Building): Add D compiler section, referencing prerequisites.
+
+2021-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/x86-tune.def (X86_TUNE_SCHEDULE,
+       X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY,
+       X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Formatting fixes.
+       (X86_TUNE_USE_GATHER): Put m_GENERIC last for consistency.
+
+2021-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/102356
+       * rtl.h (simplify_context): Add assoc_count member and
+       max_assoc_count static member.
+       * simplify-rtx.c (simplify_associative_operation): Don't reassociate
+       more than max_assoc_count times within one outermost simplify_* call.
+       * dwarf2out.c (mem_loc_descriptor): Optimize binary operation
+       with both operands the same using DW_OP_dup.
+
+2021-12-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * match.pd: Move below pattern that rewrites to EQ, NE.
+       * tree.c (bitmask_inv_cst_vector_p): Correct do .. while indentation.
+
+2021-12-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+           Martin Liška  <mliska@suse.cz>
+
+       PR tree-optimization/103456
+       * tree-object-size.c (merge_object_sizes): Update osi->changed
+       only if object_sizes_set succeeded.
+
+2021-11-30  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/103463
+       PR target/103484
+       * config/i386/i386.md (*x86_64_shld_1): Set_attr
+       length_immediate to 1.
+       (*x86_shld_1): Ditto.
+       (*x86_64_shrd_1): Ditto.
+       (*x86_shrd_1): Ditto.
+
+2021-11-30  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Clarify diagnostic.
+       (altivec_resolve_new_overloaded_builtin): Likewise.
+
+2021-11-30  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103267
+       * ipa-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE flag.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103494
+       * tree-vect-stmts.c (vect_get_gather_scatter_ops): Remove ncopies
+       argument and calculate ncopies from gs_info->offset_vectype
+       where necessary.
+       (vectorizable_store, vectorizable_load): Update accordingly.
+
+2021-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Makefile.in (GDC): New variable.
+       (GDCFLAGS): New variable.
+       * configure: Regenerate.
+       * configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.
+
+2021-11-30  Martin Liska  <mliska@suse.cz>
+           Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103449
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::prepare_debug_expressions): Be
+       careful about hash_map reallocating itself.  Simpify a return
+       which always returns true.
+
+2021-11-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103440
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): Continue
+       normal param processing for equiv params.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/i386.c (ix86_shift_rotate_cost): Remove
+       unreachable return.
+       * tree-chrec.c (evolution_function_is_invariant_rec_p):
+       Likewise.
+       * tree-if-conv.c (if_convertible_stmt_p): Likewise.
+       * tree-ssa-pre.c (fully_constant_expression): Likewise.
+       * tree-vrp.c (operand_less_p): Likewise.
+       * reload.c (reg_overlap_mentioned_for_reload_p): Remove
+       unreachable gcc_unreachable ().
+       * sel-sched-ir.h (bb_next_bb): Likewise.
+       * varasm.c (compare_constant): Likewise.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103489
+       * tree-vect-loop.c (vectorizable_phi): Verify argument
+       vector type compatibility to mitigate bool pattern recog
+       bug.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-offload.c (oacc_loop_auto_partitions): Remove erroneous
+       "Orphan reductions cannot have gang partitioning" handling.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-offload.c (oacc_loop_process): Implement "gang reduction on
+       an orphan loop" checking.
+
+2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-general.h (enum oacc_loop_flags): Add OLF_REDUCTION enum.
+       * omp-low.c (lower_oacc_head_mark): Use it to mark OpenACC
+       reductions.
+       * omp-offload.c (oacc_loop_auto_partitions): Don't assign gang
+       level parallelism to orphan reductions.
+
+2021-11-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103451
+       * range-op.cc (operator_div::wi_fold): Remove
+       can_throw_non_call_exceptions special case.
+       * tree-ssa-sink.c (sink_code_in_bb): Same.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-slp.c (arg1_arg4_map): New variable.
+       (vect_get_operand_map): Handle IFN_MASK_GATHER_LOAD.
+       (vect_build_slp_tree_1): Likewise.
+       (vect_build_slp_tree_2): Likewise.
+       * tree-vect-stmts.c (vectorizable_load): Expect the mask to be
+       the last SLP child node rather than the first.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-if-conv.c: Include tree-eh.h.
+       (predicate_statements): Remove pe argument.  Don't hoist
+       statements here.
+       (combine_blocks): Remove pe argument.
+       (ifcvt_available_on_edge_p, ifcvt_can_hoist): New functions.
+       (ifcvt_hoist_invariants): Likewise.
+       (tree_if_conversion): Update call to combine_blocks.  Call
+       ifcvt_hoist_invariants after VN.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/102467
+       * doc/sourcebuild.texi (vect_gather_load_ifn): Document.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+       Commonize safelen handling.  Punt for anything involving
+       gathers and scatters unless safelen says otherwise.
+       * tree-vect-slp.c (arg1_map): New variable.
+       (vect_get_operand_map): Handle IFN_GATHER_LOAD.
+       (vect_build_slp_tree_1): Likewise.
+       (vect_build_slp_tree_2): Likewise.
+       (compatible_calls_p): If vect_get_operand_map returns nonnull,
+       check that any skipped arguments are equal.
+       (vect_slp_analyze_node_operations_1): Tighten reduction check.
+       * tree-vect-stmts.c (check_load_store_for_partial_vectors): Take
+       an ncopies argument.
+       (vect_get_gather_scatter_ops): Take slp_node and ncopies arguments.
+       Handle SLP nodes.
+       (vectorizable_store, vectorizable_load): Adjust accordingly.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple.h (gimple_num_args, gimple_arg, gimple_arg_ptr): New
+       functions.
+       * tree-vect-slp.c (cond_expr_maps, arg2_map): New variables.
+       (vect_get_operand_map): New function.
+       (vect_get_and_check_slp_defs): Fix outdated comment.
+       Use vect_get_operand_map and new gimple argument accessors.
+       (vect_build_slp_tree_2): Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Use code_helper
+       to record the operations performed by statements, only using
+       CALL_EXPR for things that don't map to built-in or internal
+       functions.  For shifts, require all shift amounts to be equal
+       if optab_vector is not supported but optab_scalar is.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-data-refs.c (vect_check_gather_scatter): Continue
+       processing conversions if the current offset is a pointer.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vect_is_reduction): Use STMT_VINFO_REDUC_IDX.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * genopinit.c (main): Turn supports_vec_gather_load and
+       supports_vec_scatter_store into signed char arrays and remove
+       supports_vec_gather_load_cached and supports_vec_scatter_store_cached.
+       * optabs-query.c (supports_vec_convert_optab_p): Add a mode parameter.
+       If the mode is not VOIDmode, test only for that mode.
+       (supports_vec_gather_load_p): Likewise.
+       (supports_vec_scatter_store_p): Likewise.
+       * optabs-query.h (supports_vec_gather_load_p): Likewise.
+       (supports_vec_scatter_store_p): Likewise.
+       * tree-vect-data-refs.c (vect_check_gather_scatter): Pass the
+       vector mode to supports_vec_gather_load_p and
+       supports_vec_scatter_store_p.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.c (commutative_binary_fn_p): Handle IFN_ADD_OVERFLOW
+       and IFN_MUL_OVERFLOW.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.c (commutative_binary_fn_p): Handle IFN_UBSAN_CHECK_ADD
+       and IFN_UBSAN_CHECK_MUL.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.c (commutative_binary_fn_p): Handle IFN_COMPLEX_MUL.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple-fold.c: Include internal-fn.h.
+       (fold_stmt_1): If a function maps to an internal one, use
+       first_commutative_argument to canonicalize the order of
+       commutative arguments.
+       * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3)
+       (gimple_resimplify4, gimple_resimplify5): Extend commutativity
+       checks to functions.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/md.texi (reduc_fmin_scal_@var{m}): Document.
+       (reduc_fmax_scal_@var{m}): Likewise.
+       * optabs.def (reduc_fmax_scal_optab): New optab.
+       (reduc_fmin_scal_optab): Likewise
+       * internal-fn.def (REDUC_FMAX, REDUC_FMIN): New functions.
+       * tree-vect-loop.c (reduction_fn_for_scalar_code): Handle
+       CASE_CFN_FMAX and CASE_CFN_FMIN.
+       (neutral_op_for_reduction): Likewise.
+       (needs_fold_left_reduction_p): Likewise.
+       * config/aarch64/iterators.md (FMAXMINV): New iterator.
+       (fmaxmin): Handle UNSPEC_FMAXNMV and UNSPEC_FMINNMV.
+       * config/aarch64/aarch64-simd.md (reduc_<optab>_scal_<mode>): Fix
+       unspec mode.
+       (reduc_<fmaxmin>_scal_<mode>): New pattern.
+       * config/aarch64/aarch64-sve.md (reduc_<fmaxmin>_scal_<mode>):
+       Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * builtins.h (associated_internal_fn): Declare overload that
+       takes a (combined_cfn, return type) pair.
+       * builtins.c (associated_internal_fn): Split new overload out
+       of original fndecl version.  Also provide an overload that takes
+       a (combined_cfn, return type) pair.
+       * internal-fn.h (commutative_binary_fn_p): Declare.
+       (commutative_ternary_fn_p): Likewise.
+       (associative_binary_fn_p): Likewise.
+       * internal-fn.c (commutative_binary_fn_p, commutative_ternary_fn_p):
+       New functions, split out from...
+       (first_commutative_argument): ...here.
+       (associative_binary_fn_p): New function.
+       * gimple-match.h (code_helper): Add a constructor that takes
+       internal functions.
+       (commutative_binary_op_p): Declare.
+       (commutative_ternary_op_p): Likewise.
+       (first_commutative_argument): Likewise.
+       (associative_binary_op_p): Likewise.
+       (canonicalize_code): Likewise.
+       (directly_supported_p): Likewise.
+       (get_conditional_internal_fn): Likewise.
+       (gimple_build): New overloads that takes a code_helper.
+       * gimple-fold.c (gimple_build): Likewise.
+       * gimple-match-head.c (commutative_binary_op_p): New function.
+       (commutative_ternary_op_p): Likewise.
+       (first_commutative_argument): Likewise.
+       (associative_binary_op_p): Likewise.
+       (canonicalize_code): Likewise.
+       (directly_supported_p): Likewise.
+       (get_conditional_internal_fn): Likewise.
+       * tree-vectorizer.h: Include gimple-match.h.
+       (neutral_op_for_reduction): Take a code_helper instead of a tree_code.
+       (needs_fold_left_reduction_p): Likewise.
+       (reduction_fn_for_scalar_code): Likewise.
+       (vect_can_vectorize_without_simd_p): Declare a nNew overload that takes
+       a code_helper.
+       * tree-vect-loop.c: Include case-cfn-macros.h.
+       (fold_left_reduction_fn): Take a code_helper instead of a tree_code.
+       (reduction_fn_for_scalar_code): Likewise.
+       (neutral_op_for_reduction): Likewise.
+       (needs_fold_left_reduction_p): Likewise.
+       (use_mask_by_cond_expr_p): Likewise.
+       (build_vect_cond_expr): Likewise.
+       (vect_create_partial_epilog): Likewise.  Use gimple_build rather
+       than gimple_build_assign.
+       (check_reduction_path): Handle calls and operate on code_helpers
+       rather than tree_codes.
+       (vect_is_simple_reduction): Likewise.
+       (vect_model_reduction_cost): Likewise.
+       (vect_find_reusable_accumulator): Likewise.
+       (vect_create_epilog_for_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_reduction): Likewise.  Make more use of
+       lane_reduc_code_p.
+       (vect_transform_reduction): Use gimple_extract_op but expect
+       a tree_code for now.
+       (vect_can_vectorize_without_simd_p): New overload that takes
+       a code_helper.
+       * tree-vect-stmts.c (vectorizable_call): Handle reductions in
+       fully-masked loops.
+       * tree-vect-patterns.c (vect_mark_pattern_stmts): Use
+       gimple_extract_op when updating STMT_VINFO_REDUC_IDX.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple-match.h (code_helper): Provide == and != overloads.
+       (code_helper::operator tree_code): Make explicit.
+       (code_helper::operator combined_fn): Likewise.
+       * gimple-match-head.c (convert_conditional_op): Use explicit
+       conversions where necessary.
+       (gimple_resimplify1, gimple_resimplify2, gimple_resimplify3): Likewise.
+       (maybe_push_res_to_seq, gimple_simplify): Likewise.
+       * gimple-fold.c (replace_stmt_with_simplification): Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple-match.h (code_helper): Add functions for querying whether
+       the code represents an internal_fn or a built_in_function.
+       Provide explicit conversion operators for both cases.
+       (gimple_extract_op): Declare.
+       * gimple-match-head.c (gimple_extract): New function, extracted from...
+       (gimple_simplify): ...here.
+       (gimple_extract_op): New function.
+
+2021-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/103274
+       * config/i386/i386.c (ix86_output_call_insn): Beef up comment about
+       nops emitted with SEH.
+       * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
+       the cold section, emit a nop before the directive if the previous
+       active instruction is a call.
+
+2021-11-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100711
+       * config/i386/sse.md (define_split): New splitters to simplify
+       not;vec_duplicate;and as vec_duplicate;andn.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103485
+       * match.pd (-((int)x >> (prec - 1)) to (unsigned)x >> (prec - 1)):
+       Use VIEW_CONVERT_EXPR for vectors.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * cfgrtl.c (skip_insns_after_block): Refactor code to
+       be more easily readable.
+       * expr.c (op_by_pieces_d::run): Remove unreachable
+       assert.
+       * sched-deps.c (sched_analyze): Remove unreachable
+       gcc_unreachable.
+       * sel-sched-ir.c (in_same_ebb_p): Likewise.
+       * tree-ssa-alias.c (nonoverlapping_refs_since_match_p):
+       Remove unreachable code.
+       * tree-vect-slp.c (vectorize_slp_instance_root_stmt):
+       Refactor to avoid unreachable loop iteration.
+       * tree.c (walk_tree_1): Remove unreachable break.
+       * vec-perm-indices.c (vec_perm_indices::series_p): Remove
+       unreachable return.
+
+2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/102347
+       * config/rs6000/rs6000-call.c (rs6000_builtin_decl): Remove builtin mask
+       check.
+
+2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c
+       (rs6000_cost_data::update_target_cost_per_stmt): Adjust the way to
+       compute extra penalized cost.  Remove useless parameter.
+       (rs6000_cost_data::rs6000_add_stmt_cost): Adjust the call to function
+       update_target_cost_per_stmt.
+
+2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+
+       Revert:
+       2021-11-17  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/visium/visium.md (*add<mode>3_insn, *addsi3_insn, *addi3_insn,
+       *sub<mode>3_insn, *subsi3_insn, *subdi3_insn, *neg<mode>2_insn,
+       *negdi2_insn, *and<mode>3_insn, *ior<mode>3_insn, *xor<mode>3_insn,
+       *one_cmpl<mode>2_insn, *ashl<mode>3_insn, *ashr<mode>3_insn,
+       *lshr<mode>3_insn, *trunchiqi2_insn, *truncsihi2_insn,
+       *truncdisi2_insn, *extendqihi2_insn, *extendqisi2_insn,
+       *extendhisi2_insn, *extendsidi2_insn, *zero_extendqihi2_insn,
+       *zero_extendqisi2_insn, *zero_extendsidi2_insn): Fix split condition.
+
+2021-11-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103467
+       * gimple-range-gori.cc (range_def_chain::register_dependency): Don't
+       use an object reference after a potential resize.
+
+2021-11-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102811
+       * config/i386/i386.md (*movhi_internal): Introduce (*v,C) alternative.
+       Do not allocate non-GPR registers.  Optimize xmm->xmm moves when
+       optimizing for size.  Fix vpinsrw insn template.
+       (*movhf_internal): Fix pinsrw and pextrw insn templates for
+       AVX targets. Use sselog1 type instead of sselog.  Optimize GPR moves.
+       Optimize xmm->xmm moves for TARGET_SSE_PARTIAL_REG_DEPENDENCY
+       and TARGET_SSE_SPLIT_REGS targets.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       * configure: Re-regenerate.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/103021
+       * Makefile.in: Substitute CTAGS, ETAGS, and CSCOPE
+       variables. Use ETAGS variable in TAGS target.
+       * configure: Regenerate.
+       * configure.ac: Allow CTAGS, ETAGS, and CSCOPE
+       variables to be overridden.
+
+2021-11-29  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/xmmintrin.h (_mm_movemask_ps): Use vec_extractm
+       when _ARCH_PWR10.
+       * config/rs6000/emmintrin.h (_mm_movemask_pd): Likewise.
+       (_mm_movemask_epi8): Likewise.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       * read-rtl-function.c (function_reader::read_rtx_operand):
+       Return only after resetting m_in_call_function_usage.
+
+2021-11-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Perform the
+       conversion via V2DImode using vec_extractv2didi on TARGET_SSE2.
+       * config/i386/sse.md (rotlv1ti3, rotrv1ti3): Change constraint
+       on QImode shift amounts from const_int_operand to general_operand.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       * tree.h (reverse_storage_order_for_component_p): Remove
+       spurious gcc_unreachable.
+       * cfganal.c (dfs_find_deadend): Likewise.
+       * fold-const-call.c (fold_const_logb): Likewise.
+       (fold_const_significand): Likewise.
+       * gimple-ssa-store-merging.c (lhs_valid_for_store_merging_p):
+       Likewise.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       * vec.c (qsort_chk): Do not return the void return value
+       from the noreturn qsort_chk_error.
+       * ccmp.c (expand_ccmp_expr_1): Remove unreachable return.
+       * df-scan.c (df_ref_equal_p): Likewise.
+       * dwarf2out.c (is_base_type): Likewise.
+       (add_const_value_attribute): Likewise.
+       * fixed-value.c (fixed_arithmetic): Likewise.
+       * gimple-fold.c (gimple_fold_builtin_fputs): Likewise.
+       * gimple-ssa-strength-reduction.c (stmt_cost): Likewise.
+       * graphite-isl-ast-to-gimple.c
+       (gcc_expression_from_isl_expr_op): Likewise.
+       (gcc_expression_from_isl_expression): Likewise.
+       * ipa-fnsummary.c (will_be_nonconstant_expr_predicate):
+       Likewise.
+       * lto-streamer-in.c (lto_input_mode_table): Likewise.
+
+2021-11-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102811
+       * config/i386/i386.c (inline_secondary_memory_needed): HImode
+       move between GPR and SSE registers is supported under
+       TARGET_SSE2 and above.
+       * config/i386/i386.md (extendhfsf2): Optimize expander.
+       (truncsfhf2): Ditto.
+       * config/i386/sse.md (sse2p4_1): Adjust attr for V8HFmode to
+       align with V8HImode.
+
+2021-11-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102811
+       PR target/103463
+       * config/i386/i386.c (ix86_secondary_reload): Without
+       TARGET_SSE4_1, General register is needed to move HImode from
+       sse register to memory.
+       * config/i386/sse.md (*vec_extrachf): Use %vpextrw instead of
+       pextrw in output templates.
+       * config/i386/i386.md (movhi_internal): Ditto, also fix typo of
+       MEM_P (operands[1]) and adjust mode/prefix/type attribute for
+       alternatives related to sse register.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103458
+       * tree-ssa-dce.c (make_forwarders_with_degenerate_phis): Do not
+       create forwarders for blocks with abnormal predecessors.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       * gimple-predicate-analysis.cc (can_be_invalidated_p):
+       Restore semantics to the one before the split from
+       tree-ssa-uninit.c.
+
+2021-11-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * profile.c: Include sreal.h
+       (struct bb_stats): New.
+       (cmp_stats): New function.
+       (compute_branch_probabilities): Output bb stats.
+
+2021-11-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cfghooks.c: Include sreal.h, profile.h.
+       (profile_record_check_consistency): Fix checking of count counsistency;
+       record also dynamic mismatches.
+       * cfgrtl.c (rtl_account_profile_record): Similarly.
+       * tree-cfg.c (gimple_account_profile_record): Likewise.
+       * cfghooks.h (struct profile_record): Remove num_mismatched_freq_in,
+       num_mismatched_freq_out, turn time to double, add
+       dyn_mismatched_prob_out, dyn_mismatched_count_in,
+       num_mismatched_prob_out; remove num_mismatched_count_out.
+       * passes.c (account_profile_1): New function.
+       (account_profile_in_list): New function.
+       (pass_manager::dump_profile_report): Rewrite.
+       (execute_one_ipa_transform_pass): Check profile consistency after
+       running all passes.
+       (execute_all_ipa_transforms): Remove cfun test; record all transform
+       methods.
+       (execute_one_pass): Fix collecting of profile stats.
+
+2021-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103431
+       * config/i386/i386.md (x86_64_shld, x86_shld, x86_64_shrd, x86_shrd):
+       Change insn pattern to accurately describe the instructions.
+       (*x86_64_shld_1, *x86_shld_1, *x86_64_shrd_1, *x86_shrd_1): New
+       define_insn patterns.
+       (*x86_64_shld_2, *x86_shld_2, *x86_64_shrd_2, *x86_shrd_2): New
+       define_insn_and_split patterns.
+       (*ashl<dwi>3_doubleword_mask, *ashl<dwi>3_doubleword_mask_1,
+       *<insn><dwi>3_doubleword_mask, *<insn><dwi>3_doubleword_mask_1,
+       ix86_rotl<dwi>3_doubleword, ix86_rotr<dwi>3_doubleword): Adjust
+       splitters for x86_{,64_}sh{l,r}d pattern changes.
+
+2021-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103435
+       * gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Avoid UB if
+       n->range - rsize == 8, just clear both *cmpnop and *cmpxchg in that
+       case.
+
+2021-11-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103441
+       * ipa-prop.c (ipcp_transform_function): Call
+       delete_unreachable_blocks_update_callgraph instead of returning
+       TODO_cleanup_cfg.
+
+2021-11-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.c (object_sizes_grow, object_sizes_release,
+       object_sizes_unknown_p, object_sizes_get, object_size_set_force,
+       object_sizes_set): New functions.
+       (addr_object_size, compute_builtin_object_size,
+       expr_object_size, call_object_size, unknown_object_size,
+       merge_object_sizes, plus_stmt_object_size,
+       cond_expr_object_size, collect_object_sizes_for,
+       check_for_plus_in_loops_1, init_object_sizes,
+       fini_object_sizes): Adjust.
+
+2021-11-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.c: New enum.
+       (object_sizes, computed, addr_object_size,
+       compute_builtin_object_size, expr_object_size, call_object_size,
+       merge_object_sizes, plus_stmt_object_size,
+       collect_object_sizes_for, init_object_sizes, fini_object_sizes,
+       object_sizes_execute): Replace magic numbers with enums.
+
+2021-11-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-loop-ivopts.c (cand_value_at): Take a class
+       tree_niter_desc* argument instead of just a tree for NITER.
+       If we require the iv candidate value at the end of the final
+       loop iteration, try using the original loop bound as the
+       NITER for sufficiently simple loops.
+       (may_eliminate_iv): Update (only) call to cand_value_at.
+
+2021-11-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_function): Drop parameter F and dump
+       cgraph node name rather than cfun name.
+       (modref_generate): Update.
+       (modref_summaries::insert):Update.
+       (modref_summaries_lto::insert):Update.
+       (pass_modref::execute):Update.
+       (ipa_merge_modref_summary_after_inlining): Improve combining of
+       ECF_FLAGS.
+
+2021-11-26  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/102943
+       * ipa-modref.c (update_escape_summary_1): Fix handling of min_flags.
+
+2021-11-26  konglin1  <lingling.kong@intel.com>
+
+       PR target/102811
+       * config/i386/i386.c (ix86_can_change_mode_class): Allow 16 bit data in XMM register
+       for TARGET_SSE2.
+       * config/i386/i386.md (extendhfsf2): Add extenndhfsf2 for TARGET_F16C.
+       (extendhfdf2): Restrict extendhfdf for TARGET_AVX512FP16 only.
+       (*extendhf<mode>2): Rename from extendhf<mode>2.
+       (truncsfhf2): Likewise.
+       (truncdfhf2): Likewise.
+       (*trunc<mode>2): Likewise.
+
+2021-11-26  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/103419
+       * match.pd: Fix typo, use the type of second parameter, not
+       first one.
+
+2021-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipa_value_range_from_jfunc): Remove forgotten early return.
+
+2021-11-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/103406
+       * match.pd (minus @0 @0): Check tree_expr_maybe_infinite_p.
+
+2021-11-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103227
+       * ipa-prop.h (ipa_get_param): New overload.  Move bits of the existing
+       one to the new one.
+       * ipa-param-manipulation.h (ipa_param_adjustments): New member
+       function get_updated_index_or_split.
+       * ipa-param-manipulation.c
+       (ipa_param_adjustments::get_updated_index_or_split): New function.
+       * ipa-prop.c (adjust_agg_replacement_values): Reimplement, add
+       capability to identify scalarized parameters and perform substitution
+       on them.
+       (ipcp_transform_function): Create descriptors earlier, handle new
+       return values of adjust_agg_replacement_values.
+
+2021-11-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::compute_ranges_defined): Remove.
+       (path_range_query::compute_ranges_in_block): Revert to bitmap order.
+       * gimple-range-path.h: Remove compute_ranges_defined.
+
+2021-11-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR target/103396
+       * config/gcn/gcn.c (move_callee_saved_registers): Ensure that the
+       number of spilled registers is counted correctly.
+
+2021-11-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-prop.h (ipa_node_params::ipa_node_params): Initialize
+       node_is_self_scc.
+
+2021-11-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103359
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): If arg is
+       equivalent to def, don't initially include it's range.
+
+2021-11-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Do not check
+       gimple_static_chain.
+
+2021-11-25  Richard Biener  <rguenther@suse.de>
+
+       * cgraphunit.c (symbol_table::output_weakrefs): Remove
+       unreachable init.
+       (get_alias_symbol): Remove now unused function.
+
+2021-11-25  Richard Biener  <rguenther@suse.de>
+
+       * cfgrtl.c (rtl_verify_fallthru): Do not stop verifying
+       with fatal_insn.
+       (skip_insns_after_block): Remove unreachable break and continue.
+
+2021-11-25  Richard Biener  <rguenther@suse.de>
+
+       * cfgexpand.c (label_rtx_for_bb): Remove dead loop construct.
+
+2021-11-25  Richard Biener  <rguenther@suse.de>
+
+       * regset.h (REG_SET_EMPTY_P): New macro.
+       * cfgcleanup.c (thread_jump): Use REG_SET_EMPTY_P.
+
+2021-11-25  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Use @option for -Wuninitialized.
+
+2021-11-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103254
+       * gimple-range-path.cc (path_range_query::compute_ranges): Move
+       exported boolean code...
+       (path_range_query::compute_imports): ...here.
+
+2021-11-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103254
+       * gimple-range-path.cc (path_range_query::compute_ranges_defined): New
+       (path_range_query::compute_ranges_in_block): Move to
+       compute_ranges_defined.
+       * gimple-range-path.h (compute_ranges_defined): New.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103417
+       * match.pd ((X & Y) CMP 0): Only handle eq and ne.  Commonalize
+       common tests.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103376
+       * gimple-ssa-store-merging.c (perform_symbolic_merge): For
+       BIT_IOR_EXPR, if masked1 && masked2 && masked1 != masked2, don't
+       punt, but set the corresponding result byte to MARKER_BYTE_UNKNOWN.
+       For BIT_XOR_EXPR similarly and if masked1 == masked2 and the
+       byte isn't MARKER_BYTE_UNKNOWN, set the corresponding result byte to
+       0.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102611
+       * doc/invoke.texi (-Wcomma-subscript): Document that for
+       -std=c++20 the option isn't enabled by default with -Wno-deprecated
+       but for -std=c++23 it is.
+
+2021-11-24  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (implicit_eaf_flags_for_edge_and_arg): Break out from...
+       (modref_merge_call_site_flags): ... here.
+       (ipa_merge_modref_summary_after_inlining): Use it.
+
+2021-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * cfgloop.c (verify_loop_structure): Reduce scope of
+       'class loop *loop' variable.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * loop-init.c (fix_loop_structure): Likewise.
+       * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
+       * predict.c (predict_loops): Likewise.
+       * tree-loop-distribution.c (loop_distribution::execute): Likewise.
+       * tree-vectorizer.c (pass_vectorize::execute): Likewise.
+
+2021-11-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103231
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Create stmt stack.
+       (gimple_ranger::gimple_ranger): Delete stmt stack.
+       (gimple_ranger::range_of_stmt): Process depenedencies if they have no
+       global cache entry.
+       (gimple_ranger::prefill_name): New.
+       (gimple_ranger::prefill_stmt_dependencies): New.
+       * gimple-range.h (class gimple_ranger): Add prototypes.
+
+2021-11-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::get_global_range): Always
+       return a range, return if it came from the cache or not.
+       (get_non_stale_global_range): Rename to get_global_range, and return
+       the temporal state in a flag.
+       * gimple-range-cache.h (get_non_stale_global_range): Rename and adjust.
+       * gimple-range.cc (gimple_ranger::range_of_expr): No need to query
+       get_global_range.
+       (gimple_ranger::range_of_stmt): Adjust for global cache temporal state
+       returned in a flag.
+
+2021-11-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_on_edge): Call trailer when
+       a constant is encountered to terminate the trace.
+
+2021-11-24  Maciej W. Rozycki  <macro@embecosm.com>
+
+       PR middle-end/103059
+       * reload.c (find_reloads_address_1): Also accept the ASHIFT form
+       of indexed addressing.
+       (find_reloads): Adjust accordingly.
+
+2021-11-24  Richard Biener  <rguenther@suse.de>
+           Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103168
+       * ipa-modref.h (struct modref_summary): Add load_accesses.
+       * ipa-modref.c (modref_summary::finalize): Initialize load_accesses.
+       * tree-ssa-sccvn.c (visit_reference_op_call): Use modref
+       info to walk the virtual use->def chain to CSE const/pure
+       function calls possibly reading from memory.
+
+2021-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/103244
+       * gimplify.c (gimplify_adjust_omp_clauses): Restore previous
+       OpenACC behavior.
+
+2021-11-24  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103193
+       * match.pd: Avoid canonicalizing (le/ge @0 @0) to (eq @0 @0)
+       with NaNs and -ftrapping-math.
+
+2021-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103384
+       * omp-general.c (omp_context_selector_matches): For ACCEL_COMPILER,
+       return 0 for kind(host) and continue for kind(nohost).
+
+2021-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103365
+       * attribs.h (lookup_attribute): Allow attr_name to start with
+       underscore, as long as canonicalize_attr_name returns false.
+       (lookup_attribute_by_prefix): Don't call get_attribute_name twice.
+       * attribs.c (extract_attribute_substring): Reimplement using
+       canonicalize_attr_name.
+       (register_scoped_attribute): Change gcc_assert into
+       gcc_checking_assert, verify !canonicalize_attr_name rather than
+       that str.str doesn't start with '_'.
+
+2021-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103376
+       * gimple-ssa-store-merging.c (perform_symbolic_merge): Add CODE
+       argument.  If CODE is not BIT_IOR_EXPR, ensure that one of masked1
+       or masked2 is 0.
+       (find_bswap_or_nop_1, find_bswap_or_nop,
+       imm_store_chain_info::try_coalesce_bswap): Adjust
+       perform_symbolic_merge callers.
+
+2021-11-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-ivopts.c (find_givs): Take loop body as
+       argument instead of re-computing it.
+       (find_interesting_uses): Likewise.
+       (find_induction_variables): Pass through loop body.
+       (tree_ssa_iv_optimize_loop): Pass down loop body.
+
+2021-11-24  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-ssa-phiopt.c (spaceship_replacement): Handle new canonical
+       codegen.
+
+2021-11-24  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree.c (bitmask_inv_cst_vector_p): New.
+       * tree.h (bitmask_inv_cst_vector_p): New.
+       * match.pd: Use it in new bitmask compare pattern.
+
+2021-11-24  Jason Merrill  <jason@redhat.com>
+
+       * timevar.h (class auto_cond_timevar): New.
+
+2021-11-24  Hongtao Liu  <hongtao.liu@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR tree-optimization/103194
+       * match.pd (gimple_nop_atomic_bit_test_and_p): Extended to
+       match truncation.
+       * tree-ssa-ccp.c (gimple_nop_convert): Declare.
+       (optimize_atomic_bit_test_and): Enhance
+       optimize_atomic_bit_test_and to handle truncation.
+
+2021-11-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/88232
+       * Makefile.in (OBJS): Add gimple-warn-recursion.o.
+       * common.opt: Add -Winfinite-recursion.
+       * doc/invoke.texi (-Winfinite-recursion): Document.
+       * passes.def (pass_warn_recursion): Schedule a new pass.
+       * tree-pass.h (make_pass_warn_recursion): Declare.
+       * gimple-warn-recursion.c: New file.
+
+2021-11-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Change
+       error messages for ENB_P8V and ENB_P9V.
+
+2021-11-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add power6-64 stanza.  Move
+       CMPB to power6-64 stanza.
+       * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Handle
+       ENB_P6_64 case.
+       (rs6000_new_builtin_is_supported): Likewise.
+       (rs6000_expand_new_builtin): Likewise.  Clean up formatting.
+       (rs6000_init_builtins): Handle ENB_P6_64 case.
+       * config/rs6000/rs6000-gen-builtins.c (bif_stanza): Add BSTZ_P6_64.
+       (stanza_map): Add entry mapping power6-64 to BSTZ_P6_64.
+       (enable_string): Add "ENB_P6_64".
+       (write_decls): Add ENB_P6_64 to bif_enable enum.
+
+2021-11-23  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.h (struct modref_tree): Remove max_bases, max_refs
+       and max_accesses.
+       (modref_tree::modref_tree): Remove parametr.
+       (modref_tree::insert_base): Add max_bases parameter.
+       (modref_tree::insert): Add max_bases, max_refs, max_accesses
+       parameters.
+       (modref_tree::insert): New member function.
+       (modref_tree::merge): Add max_bases, max_refs, max_accesses
+       parameters.
+       (modref_tree::insert): New member function.
+       * ipa-modref-tree.c (test_insert_search_collapse): Update.
+       (test_merge): Update.
+       * ipa-modref.c (dump_records): Don't dump max_refs and max_bases.
+       (dump_lto_records): Likewise.
+       (modref_summary::finalize): Fix whitespace.
+       (get_modref_function_summary): Likewise.
+       (modref_access_analysis::record_access): Update.
+       (modref_access_analysis::record_access_lto): Update.
+       (modref_access_analysis::process_fnspec): Update.
+       (analyze_function): Update.
+       (modref_summaries::duplicate): Update.
+       (modref_summaries_lto::duplicate): Update.
+       (write_modref_records): Update.
+       (read_modref_records): Update.
+       (read_section): Update.
+       (propagate_unknown_call): Update.
+       (modref_propagate_in_scc): Update.
+       (ipa_merge_modref_summary_after_inlining): Update.
+
+2021-11-23  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Remove 2 more duplicite param descriptions.
+
+2021-11-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103361
+       * gimple-loop-jam.c (adjust_unroll_factor): Use lambda_int
+       for the dependence distance.
+       * tree-data-ref.c (print_lambda_vector): Properly print a lambda_int.
+
+2021-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-inline.h (struct copy_body_data): Remove
+       transform_lang_insert_block member.
+       * tree-inline.c (remap_block): Don't call
+       id->transform_lang_insert_block.
+       (optimize_inline_calls, copy_gimple_seq_and_replace_locals,
+       tree_function_versioning, maybe_inline_call_in_expr,
+       copy_fn): Don't initialize id.transform_lang_insert_block.
+       * gimplify.c (gimplify_omp_loop): Likewise.
+
+2021-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-optimization/103335
+       * tree-ssa-dse.c (valid_ao_ref_for_dse): Rename to ...
+       (valid_ao_ref_kill_for_dse): ... this; do not check that boundaries
+       are divisible by BITS_PER_UNIT.
+       (get_byte_aligned_range_containing_ref): New function.
+       (get_byte_aligned_range_contained_in_ref): New function.
+       (normalize_ref): Rename to ...
+       (get_byte_range): ... this one; handle accesses not aligned to byte
+       boundary; return range in bytes rater than updating ao_ref.
+       (clear_live_bytes_for_ref): Take write ref by reference; simplify using
+       get_byte_access.
+       (setup_live_bytes_from_ref): Likewise.
+       (clear_bytes_written_by): Update.
+       (live_bytes_read): Update.
+       (dse_classify_store): Simplify tech before live_bytes_read checks.
+
+2021-11-23  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/102216
+       * gimple-fold.c (fold_stmt_1): Add canonicalization
+       of "&MEM[ssa_n, CST]" to "ssa_n p+ CST", note this
+       can only be done if !in_place.
+
+2021-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102431
+       * gimplify.c (replace_reduction_placeholders): Remove.
+       (note_no_context_vars): New function.
+       (gimplify_omp_loop): For OMP_PARALLEL's BIND_EXPR create a new
+       BLOCK.  Use copy_tree_body_r with walk_tree instead of unshare_expr
+       and replace_reduction_placeholders for duplication of
+       OMP_CLAUSE_REDUCTION_{INIT,MERGE} expressions.  Ensure all mentioned
+       automatic vars have DECL_CONTEXT set to non-NULL before doing so
+       and reset it afterwards for those vars and their corresponding
+       vars.
+
+2021-11-23  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       PR target/100868
+       * config/rs6000/altivec.md (altivec_vreve<mode>2 for VEC_K): Use
+       xxbrq for v16qi, xxbrq + xxbrh for v8hi and xxbrq + xxbrw for v4si
+       or v4sf when p9_vector is set.
+       (altivec_vreve<mode>2 for VEC_64): Defined. Implemented by xxswapd.
+
+2021-11-23  Navid Rahimi  <navidrahimi@microsoft.com>
+
+       PR tree-optimization/102232
+       * match.pd (x * (1 + y / x) - y) -> (x - y % x): New optimization.
+
+2021-11-23  Navid Rahimi  <navidrahimi@microsoft.com>
+
+       PR tree-optimization/96779
+       * match.pd (-x == x) -> (x == 0): New optimization.
+
+2021-11-22  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/98953
+       PR tree-optimization/103345
+       * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Handle
+       BIT_XOR_EXPR and PLUS_EXPR the same as BIT_IOR_EXPR.
+       (pass_optimize_bswap::execute): Likewise.
+
+2021-11-22  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Remove duplicate documentation for 3 params.
+
+2021-11-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103351
+       * tree-ssa-dce.c (sort_phi_args): Sort after e->dest_idx as
+       second key.
+
+2021-11-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/103275
+       * config/i386/constraints.md (Bk): New
+       define_memory_constraint.
+       * config/i386/i386-protos.h (ix86_gpr_tls_address_pattern_p):
+       Declare.
+       * config/i386/i386.c (ix86_gpr_tls_address_pattern_p): New
+       function.
+       * config/i386/i386.md (*movsi_internal): Don't allow
+       mask/sse/mmx move in TLS code sequences.
+       (*movdi_internal): Ditto.
+
+2021-11-22  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/xtensa/xtensa.md (movdi_internal, movdf_internal): Fix split
+       condition.
+
+2021-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101180
+       * config/i386/i386-options.c (ix86_valid_target_attribute_p): If
+       fndecl already has DECL_FUNCTION_SPECIFIC_TARGET, use that as base
+       instead of target_option_default_node.
+
+2021-11-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103227
+       * ipa-modref.c (parm_map_for_arg): Rename to ...
+       (parm_map_for_ptr): .. this one; handle static chain and calls to
+       malloc functions.
+       (modref_access_analysis::get_access): Use parm_map_for_ptr.
+       (modref_access_analysis::process_fnspec): Update.
+       (modref_access_analysis::analyze_load): Update.
+       (modref_access_analysis::analyze_store): Update.
+
+2021-11-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (ignore_nondeterminism_p): Move earlier in source
+       code.
+       (ignore_retval_p): Likewise.
+       (ignore_stores_p): Likewise.
+       (parm_map_for_arg): Likewise.
+       (class modref_access_analysis): New class.
+       (modref_access_analysis::set_side_effects): New member function.
+       (modref_access_analysis::set_nondeterministic): New member function.
+       (get_access): Turn to ...
+       (modref_access_analysis::get_access): ... this one.
+       (record_access): Turn to ...
+       (modref_access_analysis::record_access): ... this one.
+       (record_access_lto): Turn to ...
+       (modref_access_analysis::record_access_lto): ... This one.
+       (record_access_p): Turn to ...
+       (modref_access_analysis::record_access_p): ... This one
+       (modref_access_analysis::record_unknown_load): New member function.
+       (modref_access_analysis::record_unknown_store): New member function.
+       (get_access_for_fnspec): Turn to ...
+       (modref_access_analysis::get_access_for_fnspec): ... this one.
+       (merge_call_side_effects): Turn to ...
+       (moderf_access_analysis::merge_call_side_effects): Turn to ...
+       (collapse_loads): Move later in source code.
+       (collapse_stores): Move later in source code.
+       (process_fnspec): Turn to ...
+       (modref_access_analysis::process_fnspec): ... this one.
+       (analyze_call): Turn to ...
+       (modref_access_analysis::analyze_call): ... this one.
+       (struct summary_ptrs): Remove.
+       (analyze_load): Turn to ...
+       (modref_access_analysis::analyze_load): ... this one.
+       (analyze_store): Turn to ...
+       (modref_access_analysis::analyze_store): ... this one.
+       (analyze_stmt): Turn to ...
+       (modref_access_analysis::analyze_stmt): ... This one.
+       (remove_summary): Remove.
+       (modref_access_analysis::propagate): Break out from ...
+       (modref_access_analysis::analyze): Break out from ...
+       (analyze_function): ... here.
+
+2021-11-21  Roger Sayle  <roger@nextmovesoftware.com>
+           Robin Dapp  <rdapp@linux.ibm.com>
+
+       PR target/102117
+       * tree-ssa-math-opts.c (convert_mult_to_widen): Recognize
+       signed WIDEN_MULT_EXPR if the target supports umul_widen_optab.
+
+2021-11-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103052
+       * ipa-modref.c (ignore_nondeterminism_p): Allow looping pure/cont.
+       (merge_call_side_effects): Improve debug output.
+
+2021-11-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103052
+       * ipa-pure-const.c (propagate_pure_const): Fix merging of loping flag.
+
+2021-11-20  Jeff Law  <jeffreyalaw@gmail.com>
+
+       PR tree-optimization/103226
+       * config/bfin/bfin.md (doloop pattern, splitter and expander): Clobber
+       CC.
+
+2021-11-20  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103220
+       * match.pd ((type) X bitop CST): Don't check if CST
+       fits into the type if only the sign changes.
+
+2021-11-20  Alexandre Oliva  <oliva@adacore.com>
+
+       PR tree-optimization/102988
+       * gimple-harden-conditionals.cc (detach_value): Copy SSA_NAME
+       without decl sharing.
+
+2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * doc/invoke.texi: Remove whitespace after an @option.
+
+2021-11-19  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/emmintrin.h (_mm_sad_epu8): Use vec_absd when
+       _ARCH_PWR9, optimize vec_sum2s when LE.
+
+2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/80556
+       * config/darwin-driver.c (darwin_driver_init): Handle exported
+       symbols and symbol lists (suppress automatic export of the TLS
+       symbols).
+       * config/darwin.c (darwin_rename_builtins): Remove workaround.
+       * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+       (REAL_LIBGCC_SPEC): Handle revised library uses.
+       * config/darwin.opt (nodefaultexport): New.
+       * config/i386/darwin.h (PR80556_WORKAROUND): Remove.
+       * config/i386/darwin32-biarch.h (PR80556_WORKAROUND): Likewise.
+       * config/i386/darwin64-biarch.h (PR80556_WORKAROUND): Likewise.
+
+2021-11-19  Martin Jambor  <mjambor@suse.cz>
+
+       * opts.c (default_options_table): Switch off
+       flag_semantic_interposition at Ofast.
+       * doc/invoke.texi (Optimize Options): Document that Ofast switches off
+       -fsemantic-interposition.
+
+2021-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Do not guard modref
+       by !gimple_call_chain.
+
+2021-11-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/33925
+       PR c/102867
+       * doc/invoke.texi (-Waddress): Update.
+
+2021-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103254
+       * gimple-range-gori.cc (range_def_chain::get_def_chain): Limit the
+       depth for all statements with multple ssa names.
+
+2021-11-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.md (define_peephole2): Variable insn points
+       to the first matched insn.  Use peep2_next_insn(1) to refer to
+       the second matched insn.
+
+2021-11-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103311
+       PR target/103330
+       * tree-vect-slp-patterns.c (vect_validate_multiplication): Fix CONJ
+       test to new codegen.
+       (complex_mul_pattern::matches): Move check downwards.
+
+2021-11-19  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-11-19  Martin Liska  <mliska@suse.cz>
+
+       * cfgexpand.c (pass_expand::execute): Use option directly.
+       * function.c (allocate_struct_function): Likewise.
+       * gimple-low.c (lower_function_body): Likewise.
+       (lower_stmt): Likewise.
+       * gimple-ssa-backprop.c (backprop::prepare_change): Likewise.
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Likewise.
+       * ipa-split.c (split_function): Likewise.
+       * lto-streamer-in.c (input_function): Likewise.
+       * sese.c (sese_insert_phis_for_liveouts): Likewise.
+       * ssa-iterators.h (num_imm_uses): Likewise.
+       * tree-cfg.c (make_blocks): Likewise.
+       (gimple_merge_blocks): Likewise.
+       * tree-inline.c (tree_function_versioning): Likewise.
+       * tree-loop-distribution.c (generate_loops_for_partition): Likewise.
+       * tree-sra.c (analyze_access_subtree): Likewise.
+       * tree-ssa-dce.c (remove_dead_stmt): Likewise.
+       * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
+       * tree-ssa-phiopt.c (spaceship_replacement): Likewise.
+       * tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise.
+       * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
+       * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Likewise.
+       * tree-ssa.c (gimple_replace_ssa_lhs): Likewise.
+       (target_for_debug_bind): Likewise.
+       (insert_debug_temp_for_var_def): Likewise.
+       (insert_debug_temps_for_defs): Likewise.
+       (reset_debug_uses): Likewise.
+       * tree-ssanames.c (release_ssa_name_fn): Likewise.
+       * tree-vect-loop-manip.c (adjust_vec_debug_stmts): Likewise.
+       (adjust_debug_stmts): Likewise.
+       (adjust_phi_and_debug_stmts): Likewise.
+       (vect_do_peeling): Likewise.
+       * tree-vect-loop.c (vect_transform_loop_stmt): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Remove
+       (MAY_HAVE_DEBUG_BIND_STMTS): Remove.
+       (MAY_HAVE_DEBUG_STMTS): Use options directly.
+
+2021-11-19  Giuliano Belinassi  <gbelinassi@suse.de>
+
+       * gcc.c (process_command): Skip dumpdir override if file is a
+       not_actual_file_p.
+       * doc/invoke.texi: Update -dumpdir documentation.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103314
+       * match.pd ((type) X op CST): Restrict the equal
+       TYPE_PRECISION case to GIMPLE only.
+
+2021-11-19  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/103230
+       * ipa-modref-tree.h (struct modref_parm_map): Add default
+       constructor.
+       * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Use it.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103248
+       * tree-eh.c (operation_could_trap_helper_p): Properly handle
+       fixed-point RDIV_EXPR.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102436
+       * tree-ssa-loop-im.c (execute_sm_if_changed): Add mode
+       to just create the if structure and return the then block.
+       (execute_sm): Add flag to indicate the var will re-use
+       another flag var.
+       (hoist_memory_references): Support a single conditional
+       block with all stores as special case.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103317
+       * tree-ssa-phiopt.c (minmax_replacement): For the non empty
+       middle bb case, check to make sure it has a single predecessor.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103257
+       * match.pd
+       ((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0):
+       Disable until !canonicalize_math_p ().
+
+2021-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/19808
+       PR c++/96121
+       * doc/invoke.texi: Update documentation for -Wuninitialized.
+       * tree.c (stabilize_reference): Set location.
+
+2021-11-19  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102543
+       * config/i386/x86-tune-costs.h (skylake_cost): Reduce cost of
+       storing 256/512-bit SSE register to be equal to cost of
+       unaligned store to avoid odd alignment peeling.
+       (icelake_cost): Ditto.
+
+2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/predicates.md (current_file_function_operand):
+       Add flag_semantic_interposition to call of decl_replaceable_p.
+
+2021-11-18  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (analyze_function): Do not execute the code
+       only if dump_file != NULL.
+
+2021-11-18  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (analyze_function): Use fnode instead of repeated
+       cgraph_node::get (current_function_decl).
+
+2021-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (cgraph_node::get_availability): Update call of
+       decl_replaceable_p.
+       (cgraph_node::verify_node): Verify that semantic_interposition flag
+       is set correclty.
+       * cgraph.h: (symtab_node): Add semantic_interposition flag.
+       * cgraphclones.c (set_new_clone_decl_and_node_flags): Clear
+       semantic_interposition flag.
+       * cgraphunit.c (cgraph_node::finalize_function): Set
+       semantic_interposition flag.
+       (cgraph_node::add_new_function): Likewise.
+       (varpool_node::finalize_decl): Likewise.
+       (cgraph_node::create_wrapper): Likewise.
+       * common.opt (fsemantic-interposition): Turn to optimization node.
+       * lto-cgraph.c (lto_output_node): Stream semantic_interposition.
+       (lto_output_varpool_node): Likewise.
+       (input_overwrite_node): Likewise.
+       (input_varpool_node): Likewise.
+       * symtab.c (symtab_node::dump_base): Dump new flag.
+       * varasm.c (decl_replaceable_p): Add semantic_interposition_p
+       parameter.
+       * varasm.h (decl_replaceable_p): Update declaration.
+       * varpool.c (varpool_node::ctor_useable_for_folding_p):
+       Use semantic_interposition flag.
+       (varpool_node::get_availability): Likewise.
+       (varpool_node::create_alias): Copy semantic_interposition flag.
+
+2021-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103266
+       * ipa-modref.c (modref_eaf_analysis::merge_call_lhs_flags): Unused
+       parameter may still be returned.
+       (modref_eaf_analysis::analyze_ssa_name): Call merge_call_lhs_flags
+       even for unused function args.
+
+2021-11-18  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103311
+       * tree-vect-slp-patterns.c (complex_mul_pattern::matches,
+       complex_fms_pattern::matches): Check for multiplications.
+
+2021-11-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102952
+       * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): Emit
+       CS prefix for -mindirect-branch-cs-prefix.
+       (ix86_output_indirect_branch_via_reg): Likewise.
+       * config/i386/i386.opt: Add -mindirect-branch-cs-prefix.
+       * doc/invoke.texi: Document -mindirect-branch-cs-prefix.
+
+2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
+       power10.
+
+2021-11-18  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103253
+       * tree-ssa-math-opts.c (convert_mult_to_fma): Check for LHS.
+
+2021-11-18  Matthias Kretz  <m.kretz@gsi.de>
+
+       * doc/extend.texi: Document __builtin_assoc_barrier.
+
+2021-11-18  Martin Liska  <mliska@suse.cz>
+
+       * cfgexpand.c (pass_expand::execute): Use option directly.
+       * function.c (allocate_struct_function): Likewise.
+       * gimple-low.c (lower_function_body): Likewise.
+       (lower_stmt): Likewise.
+       * gimple-ssa-backprop.c (backprop::prepare_change): Likewise.
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Likewise.
+       * ipa-split.c (split_function): Likewise.
+       * lto-streamer-in.c (input_function): Likewise.
+       * sese.c (sese_insert_phis_for_liveouts): Likewise.
+       * ssa-iterators.h (num_imm_uses): Likewise.
+       * tree-cfg.c (make_blocks): Likewise.
+       (gimple_merge_blocks): Likewise.
+       * tree-inline.c (tree_function_versioning): Likewise.
+       * tree-loop-distribution.c (generate_loops_for_partition): Likewise.
+       * tree-sra.c (analyze_access_subtree): Likewise.
+       * tree-ssa-dce.c (remove_dead_stmt): Likewise.
+       * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
+       * tree-ssa-phiopt.c (spaceship_replacement): Likewise.
+       * tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise.
+       * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
+       * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Likewise.
+       * tree-ssa.c (gimple_replace_ssa_lhs): Likewise.
+       (target_for_debug_bind): Likewise.
+       (insert_debug_temp_for_var_def): Likewise.
+       (insert_debug_temps_for_defs): Likewise.
+       (reset_debug_uses): Likewise.
+       * tree-ssanames.c (release_ssa_name_fn): Likewise.
+       * tree-vect-loop-manip.c (adjust_vec_debug_stmts): Likewise.
+       (adjust_debug_stmts): Likewise.
+       (adjust_phi_and_debug_stmts): Likewise.
+       (vect_do_peeling): Likewise.
+       * tree-vect-loop.c (vect_transform_loop_stmt): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Remove
+       (MAY_HAVE_DEBUG_BIND_STMTS): Remove.
+       (MAY_HAVE_DEBUG_STMTS): Use options directly.
+
+2021-11-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103277
+       * tree-ssa-dse.c (need_ab_cleanup): New.
+       (dse_optimize_redundant_stores): Adjust.
+       (delete_dead_or_redundant_assignment): Get extra
+       need_ab_cleanup argument and set when abnormal cleanup is
+       needed.
+       (dse_optimize_call): Adjust.
+       (dse_optimize_stmt): Likewise.
+       (pass_dse::execute): Allocate and deallocate need_ab_cleanup.
+       Perform abnormal cleanup.
+       * tree-ssa-dse.h (delete_dead_or_redundant_assignment): Adjust.
+
+2021-11-18  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386-expand.c (ix86_expand_atomic_fetch_op_loop):
+       Adjust generated cfg to avoid infinite loop.
+
+2021-11-18  konglin1  <lingling.kong@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_mul_pch): Add alias for _mm512_fmul_pch.
+       (_mm512_mask_mul_pch): Likewise.
+       (_mm512_maskz_mul_pch): Likewise.
+       (_mm512_mul_round_pch): Likewise.
+       (_mm512_mask_mul_round_pch): Likewise.
+       (_mm512_maskz_mul_round_pch): Likewise.
+       (_mm512_cmul_pch): Likewise.
+       (_mm512_mask_cmul_pch): Likewise.
+       (_mm512_maskz_cmul_pch): Likewise.
+       (_mm512_cmul_round_pch): Likewise.
+       (_mm512_mask_cmul_round_pch): Likewise.
+       (_mm512_maskz_cmul_round_pch): Likewise.
+       (_mm_mul_sch): Likewise.
+       (_mm_mask_mul_sch): Likewise.
+       (_mm_maskz_mul_sch): Likewise.
+       (_mm_mul_round_sch): Likewise.
+       (_mm_mask_mul_round_sch): Likewise.
+       (_mm_maskz_mul_round_sch): Likewise.
+       (_mm_cmul_sch): Likewise.
+       (_mm_mask_cmul_sch): Likewise.
+       (_mm_maskz_cmul_sch): Likewise.
+       (_mm_cmul_round_sch): Likewise.
+       (_mm_mask_cmul_round_sch): Likewise.
+       (_mm_maskz_cmul_round_sch): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_mul_pch): Likewise.
+       (_mm_mask_mul_pch): Likewise.
+       (_mm_maskz_mul_pch): Likewise.
+       (_mm256_mul_pch): Likewise.
+       (_mm256_mask_mul_pch): Likewise.
+       (_mm256_maskz_mul_pch): Likewise.
+       (_mm_cmul_pch): Likewise.
+       (_mm_mask_cmul_pch): Likewise.
+       (_mm_maskz_cmul_pch): Likewise.
+       (_mm256_cmul_pch): Likewise.
+       (_mm256_mask_cmul_pch): Likewise.
+       (_mm256_maskz_cmul_pch): Likewise.
+
+2021-11-17  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103228
+       PR tree-optimization/55177
+       * match.pd ((type) X bitop CST): Also do this
+       transformation for nop conversions.
+
+2021-11-17  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102759
+       * gimple-array-bounds.cc (build_printable_array_type): Move...
+       * gimple-ssa-warn-access.cc (build_printable_array_type): Avoid
+       pathological function redeclarations that remove a previously
+       declared prototype.
+       Improve formatting of function arguments in informational notes.
+       * pointer-query.cc (build_printable_array_type): ...to here.
+       * pointer-query.h (build_printable_array_type): Declared.
+
+2021-11-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102952
+       * config/i386/i386-opts.h (harden_sls): New enum.
+       * config/i386/i386.c (output_indirect_thunk): Mitigate against
+       SLS for function return.
+       (ix86_output_function_return): Likewise.
+       (ix86_output_jmp_thunk_or_indirect): Mitigate against indirect
+       branch.
+       (ix86_output_indirect_jmp): Likewise.
+       (ix86_output_call_insn): Likewise.
+       * config/i386/i386.opt: Add -mharden-sls=.
+       * doc/invoke.texi: Document -mharden-sls=.
+
+2021-11-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103307
+       * config/i386/i386.c (ix86_code_end): Remove "%!" before ret.
+       (ix86_output_function_return): Likewise.
+       * config/i386/i386.md (simple_return_pop_internal): Likewise.
+
+2021-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103246
+       * ipa-modref.c (read_modref_records): Fix streaminig in of every_access
+       flag.
+
+2021-11-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (indirect_thunks_used): Redefine as HARD_REG_SET.
+       (ix86_code_end): Use TEST_HARD_REG_BIT on indirect_thunks_used.
+       (ix86_output_indirect_branch_via_reg): Use SET_HARD_REG_BIT
+       on indirect_thunks_used.
+       (ix86_output_indirect_function_return): Ditto.
+
+2021-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c: Include cgraph.h and tree-streamer.h.
+       (modref_access_node::stream_out): New member function.
+       (modref_access_node::stream_in): New member function.
+       * ipa-modref-tree.h (modref_access_node::stream_out,
+       modref_access_node::stream_in): Declare.
+       * ipa-modref.c (modref_summary_lto::useful_p): Free useless kills.
+       (modref_summary_lto::dump): Dump kills.
+       (analyze_store): Record kills for LTO
+       (analyze_stmt): Likewise.
+       (modref_summaries_lto::duplicate): Duplicate kills.
+       (write_modref_records): Use new stream_out member function.
+       (read_modref_records): Likewise.
+       (modref_write): Stream out kills.
+       (read_section): Stream in kills
+       (remap_kills): New function.
+       (update_signature): Use it.
+
+2021-11-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (LEGACY_SSE_REGNO_P): New predicate.
+       (SSE_REGNO_P): Use LEGACY_SSE_REGNO_P predicate.
+       * config/i386/i386.c (zero_all_vector_registers):
+       Use LEGACY_SSE_REGNO_P predicate.
+       (ix86_register_priority): Use REX_INT_REGNO_P, REX_SSE_REGNO_P
+       and EXT_REG_SSE_REGNO_P predicates.
+       (ix86_hard_regno_call_part_clobbered): Use REX_SSE_REGNO_P
+       and LEGACY_SSE_REGNO_P predicates.
+
+2021-11-17  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Document
+       -fimplicit-constexpr.
+
+2021-11-17  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-modes.def (VECTOR_MODE): New V8DI mode.
+       * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Handle
+       V8DImode.
+       * config/aarch64/iterators.md (define_mode_attr nunits): Add entry
+       for V8DI.
+
+2021-11-17  Martin Uecker  <uecker@gcc.gnu.org>
+
+       PR c/91038
+       PR c/29970
+       * gimplify.c (gimplify_var_or_parm_decl): Update comment.
+       (gimplify_compound_lval): Gimplify base expression first.
+       (gimplify_target_expr): Add comment.
+
+2021-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103192
+       * tree-ssa-loop-im.c (move_computations_worker): Use
+       reset_flow_sensitive_info instead of manually clearing
+       SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones
+       with integral types.
+
+2021-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103255
+       * gimple-range-fold.cc (fold_using_range::range_of_address): Return
+       range_nonzero rather than unadjusted base's range.  Formatting fixes.
+
+2021-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/md.texi (cond_fmin@var{mode}, cond_fmax@var{mode}): Document.
+       * optabs.def (cond_fmin_optab, cond_fmax_optab): New optabs.
+       * internal-fn.def (COND_FMIN, COND_FMAX): New functions.
+       * internal-fn.c (first_commutative_argument): Handle them.
+       (FOR_EACH_COND_FN_PAIR): Likewise.
+       * match.pd (UNCOND_BINARY, COND_BINARY): Likewise.
+       * config/aarch64/aarch64-sve.md (cond_<fmaxmin><mode>): New
+       pattern.
+
+2021-11-17  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/i386/i386.md (*add<dwi>3_doubleword, *addv<dwi>4_doubleword,
+       *addv<dwi>4_doubleword_1, *sub<dwi>3_doubleword,
+       *subv<dwi>4_doubleword, *subv<dwi>4_doubleword_1,
+       *add<dwi>3_doubleword_cc_overflow_1, *divmodsi4_const,
+       *neg<dwi>2_doubleword, *tls_dynamic_gnu2_combine_64_<mode>): Fix split
+       condition.
+
+2021-11-17  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103288
+       * tree-ssa-phiopt.c (value_replacement): Return early if middle
+       block has more than one pred.
+
+2021-11-17  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/visium/visium.md (*add<mode>3_insn, *addsi3_insn, *addi3_insn,
+       *sub<mode>3_insn, *subsi3_insn, *subdi3_insn, *neg<mode>2_insn,
+       *negdi2_insn, *and<mode>3_insn, *ior<mode>3_insn, *xor<mode>3_insn,
+       *one_cmpl<mode>2_insn, *ashl<mode>3_insn, *ashr<mode>3_insn,
+       *lshr<mode>3_insn, *trunchiqi2_insn, *truncsihi2_insn,
+       *truncdisi2_insn, *extendqihi2_insn, *extendqisi2_insn,
+       *extendhisi2_insn, *extendsidi2_insn, *zero_extendqihi2_insn,
+       *zero_extendqisi2_insn, *zero_extendsidi2_insn): Fix split condition.
+
+2021-11-17  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/103026
+       * doc/invoke.texi: Document -Wbidi-chars.
+
+2021-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103246
+       * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix clearing
+       of to_info_lto
+
+2021-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (get_modref_function_summary): Declare.
+       * ipa-modref.h (get_modref_function_summary): New function.
+       * tree-ssa-dse.c (clear_live_bytes_for_ref): Break out from ...
+       (clear_bytes_written_by): ... here; also clear memory killed by
+       calls.
+
+2021-11-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * ggc-common.c (gt_pch_save): If we cannot find a suitable
+       memory segment for save, then error-out, do not try to
+       continue.
+       (gt_pch_restore): Save the existing line table, and when
+       the replacement is being read, use that when constructing
+       diagnostics.
+
+2021-11-16  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/102976
+       * config/rs6000/mma.md (*vsx_assemble_pair): Add early-clobber for
+       output operand.
+       (*mma_assemble_acc): Likewise.
+
+2021-11-16  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102960
+       * gimple-fold.c (get_range_strlen): Take bitmap as an argument rather
+       than a pointer to it.
+       (get_range_strlen_tree): Same.  Remove bitmap allocation.  Use
+       an auto_bitmap.
+       (get_maxval_strlen): Use an auto_bitmap.
+       * tree-ssa-strlen.c (get_range_strlen_dynamic): Factor out PHI
+       handling...
+       (get_range_strlen_phi): ...into this function.
+       Avoid assuming maximum string length is constant
+       (printf_strlen_execute): Dump pointer query cache contents when
+       details are requisted.
+
+2021-11-16  Jason Merrill  <jason@redhat.com>
+
+       * langhooks.h (struct lang_hooks): Adjust comment.
+       * print-tree.c (print_node): Also call print_xnode hook for
+       tcc_constant class.
+
+2021-11-16  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103218
+       * match.pd: New pattern for "((type)(a<0)) << SIGNBITOFA".
+
+2021-11-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (maddhisi4): Use a single move to accumulator.
+       (umaddhisi4): Likewise.
+       (machi): Update pattern.
+       (umachi): Likewise.
+
+2021-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102880
+       * tree-ssa-dce.c (sort_phi_args): New function.
+       (make_forwarders_with_degenerate_phis): Likewise.
+       (perform_tree_ssa_dce): Call
+       make_forwarders_with_degenerate_phis.
+
+2021-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102880
+       * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Push
+       single_pred (bb1) condition to places that really need it.
+       (match_simplify_replacement): Likewise.
+       (value_replacement): Likewise.
+       (replace_phi_edge_with_variable): Deal with extra edges
+       into the middle BB.
+
+2021-11-16  Martin Jambor  <mjambor@suse.cz>
+
+       * cfgexpand.c (expand_gimple_basic_block): Use build_debug_expr_decl,
+       add a fixme note about the mode assignment perhaps being unnecessary.
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call):
+       Likewise.
+       (ipa_param_body_adjustments::mark_dead_statements): Likewise.
+       (ipa_param_body_adjustments::reset_debug_stmts): Likewise.
+       * tree-inline.c (remap_ssa_name): Likewise.
+       (tree_function_versioning): Likewise.
+       * tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise.
+       * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
+       * tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
+
+2021-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103208
+       * omp-expand.c (expand_omp_build_cond): New function.
+       (expand_omp_for_init_counts, expand_omp_for_init_vars,
+       expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Use it.
+
+2021-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102009
+       * gimple-ssa-warn-access.cc (pass_waccess::check_alloc_size_call):
+       Punt if any of alloc_size arguments is out of bounds vs. number of
+       call arguments.
+
+2021-11-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386.md (*bmi2_rorx<mode3>_1): Make conditional
+       on !optimize_function_for_size_p.
+       (*<any_rotate><mode>3_1): Add preferred_for_size attribute.
+       (define_splits): Conditionalize on !optimize_function_for_size_p.
+       (*bmi2_rorxsi3_1_zext): Likewise.
+       (*<any_rotate>si2_1_zext): Add preferred_for_size attribute.
+       (define_splits): Conditionalize on !optimize_function_for_size_p.
+
+2021-11-16  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/103262
+       * ipa-modref.c (merge_call_side_effects): Fix uninitialized
+       access.
+
+2021-11-16  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103245
+       * match.pd: Combine the abs pattern matching using multiplication.
+       Adding optional nop_convert too.
+
+2021-11-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/103268
+       * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Add a missing
+       return.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gimple-fold.c (gimple_fold_builtin_strncat): Use ranges to
+       determine if it is safe to transform to strcat.
+       (gimple_fold_builtin_snprintf): Likewise.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gimple-fold.c (known_lower): New function.
+       (gimple_fold_builtin_strncat_chk,
+       gimple_fold_builtin_memory_chk, gimple_fold_builtin_stxcpy_chk,
+       gimple_fold_builtin_stxncpy_chk,
+       gimple_fold_builtin_snprintf_chk,
+       gimple_fold_builtin_sprintf_chk): Use it.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gimple-fold.c (dump_transformation): New function.
+       (gimple_fold_builtin_stxcpy_chk,
+       gimple_fold_builtin_stxncpy_chk): Use it.  Simplify to
+       BUILT_IN_STRNCPY if return value is not used.
+
+2021-11-15  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/103184
+       * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Check optab
+       before transforming equivalent, but slighly different cases to
+       their canonical forms.
+
+2021-11-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR fortran/102992
+       * config/darwin.h (TARGET_DTORS_FROM_CXA_ATEXIT): New.
+       * doc/tm.texi: Regenerated.
+       * doc/tm.texi.in: Add TARGET_DTORS_FROM_CXA_ATEXIT hook.
+       * ipa.c (cgraph_build_static_cdtor_1): Return the built
+       function decl.
+       (build_cxa_atexit_decl): New.
+       (build_dso_handle_decl): New.
+       (build_cxa_dtor_registrations): New.
+       (compare_cdtor_tu_order): New.
+       (build_cxa_atexit_fns): New.
+       (ipa_cdtor_merge): If dtors_from_cxa_atexit is set,
+       process the DTORs/CTORs accordingly.
+       (pass_ipa_cdtor_merge::gate): Also run if
+       dtors_from_cxa_atexit is set.
+       * target.def (dtors_from_cxa_atexit): New hook.
+
+2021-11-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Test ld64 for -platform-version support.
+
+2021-11-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * diagnostic-spec.h (typedef xint_hash_t)
+       (typedef xint_hash_map_t): Replace with...
+       (typedef nowarn_map_t): ... this.
+       (nowarn_map): Adjust.
+       * diagnostic-spec.c (nowarn_map, suppress_warning_at): Likewise.
+
+2021-11-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * profile.c (branch_prob): Use 'location_hash' for
+       'seen_locations'.
+
+2021-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103207
+       * value-range.cc (irange::set): Drop overflow.
+
+2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (optimize_target_teams): Only add OMP_CLAUSE_THREAD_LIMIT
+       to OMP_TARGET_CLAUSES if it isn't there already.
+
+2021-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::internal_range_of_expr):
+       Remove useless code.
+       (path_range_query::ssa_defined_in_bb): New.
+       (path_range_query::ssa_range_in_phi): Avoid fold_range call that
+       could trigger additional lookups.
+       Do not use the cache for ARGs defined in this block.
+       (path_range_query::compute_ranges_in_block): Use ssa_defined_in_bb.
+       (path_range_query::maybe_register_phi_relation): Same.
+       (path_range_query::range_of_stmt): Adjust comment.
+       * gimple-range-path.h (ssa_defined_in_bb): New.
+
+2021-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::internal_range_of_expr):
+       Default to global range if nothing found.
+
+2021-11-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103237
+       * tree-vect-loop.c (vect_is_simple_reduction): Fail for
+       double reductions with multiple inner loop LC PHI nodes.
+
+2021-11-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/103069
+       * config/i386/i386-expand.c (ix86_expand_atomic_fetch_op_loop):
+       New expand function.
+       * config/i386/i386-options.c (ix86_target_string): Add
+       -mrelax-cmpxchg-loop flag.
+       (ix86_valid_target_attribute_inner_p): Likewise.
+       * config/i386/i386-protos.h (ix86_expand_atomic_fetch_op_loop):
+       New expand function prototype.
+       * config/i386/i386.opt: Add -mrelax-cmpxchg-loop.
+       * config/i386/sync.md (atomic_fetch_<logic><mode>): New expander
+       for SI,HI,QI modes.
+       (atomic_<logic>_fetch<mode>): Likewise.
+       (atomic_fetch_nand<mode>): Likewise.
+       (atomic_nand_fetch<mode>): Likewise.
+       (atomic_fetch_<logic><mode>): New expander for DI,TI modes.
+       (atomic_<logic>_fetch<mode>): Likewise.
+       (atomic_fetch_nand<mode>): Likewise.
+       (atomic_nand_fetch<mode>): Likewise.
+       * doc/invoke.texi: Document -mrelax-cmpxchg-loop.
+
+2021-11-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103219
+       * gimple-loop-jam.c (tree_loop_unroll_and_jam): Use single_exit
+       to determine the exit for the VN region.
+
+2021-11-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * tree-ssa-loop.c (pass_vectorize): Move to tree-vectorizer.c.
+       (pass_data_vectorize): Likewise.
+       (make_pass_vectorize): Likewise.
+       * tree-vectorizer.c (vectorize_loops): Merge with
+       pass_vectorize::execute and replace cfun occurences with fun param.
+       (adjust_simduid_builtins): Add fun param, replace cfun occurences with
+       fun, and adjust callers approrpiately.
+       (note_simd_array_uses): Likewise.
+       (vect_loop_dist_alias_call): Likewise.
+       (set_uid_loop_bbs): Likewise.
+       (vect_transform_loops): Likewise.
+       (try_vectorize_loop_1): Likewise.
+       (try_vectorize_loop): Likewise.
+
+2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103205
+       * config/i386/sync.md (atomic_bit_test_and_set<mode>,
+       atomic_bit_test_and_complement<mode>,
+       atomic_bit_test_and_reset<mode>): Use OPTAB_WIDEN instead of
+       OPTAB_DIRECT.
+
+2021-11-15  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * config/vax/vax.c (vax_lra_p): New prototype and function.
+       (TARGET_LRA_P): Wire it.
+       * config/vax/vax.opt (mlra): New option.
+       * doc/invoke.texi (Option Summary, VAX Options): Document the
+       new option.
+
+2021-11-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.h (struct modref_summary): Add nondeterministic
+       and calls_interposable flags.
+       * ipa-modref.c (modref_summary::modref_summary): Initialize new flags.
+       (modref_summary::useful_p): Check new flags.
+       (struct modref_summary_lto): Add nondeterministic and
+       calls_interposable flags.
+       (modref_summary_lto::modref_summary_lto): Initialize new flags.
+       (modref_summary_lto::useful_p): Check new flags.
+       (modref_summary::dump): Dump new flags.
+       (modref_summary_lto::dump): Dump new flags.
+       (ignore_nondeterminism_p): New function.
+       (merge_call_side_effects): Merge new flags.
+       (process_fnspec): Likewise.
+       (analyze_load): Volatile access is nondeterministic.
+       (analyze_store): Liekwise.
+       (analyze_stmt): Volatile ASM is nondeterministic.
+       (analyze_function): Clear new flags.
+       (modref_summaries::duplicate): Duplicate new flags.
+       (modref_summaries_lto::duplicate): Duplicate new flags.
+       (modref_write): Stream new flags.
+       (read_section): Stream new flags.
+       (propagate_unknown_call): Update new flags.
+       (modref_propagate_in_scc): Propagate new flags.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check
+       calls_interposable.
+       * tree-ssa-structalias.c (determine_global_memory_access):
+       Likewise.
+
+2021-11-14  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * config/vax/vax.h (SET_RATIO): New macro.
+       * config/vax/vax.md (UNSPEC_SETMEM_FILL): New constant.
+       (setmemhi): New expander.
+       (setmemhi1): New insn and splitter.
+       (*setmemhi1): New insn.
+
+2021-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (modref_access_node::update_for_kills): New
+       member function.
+       (modref_access_node::merge_for_kills): Likewise.
+       (modref_access_node::insert_kill): Likewise.
+       * ipa-modref-tree.h (modref_access_node::update_for_kills,
+       modref_access_node::merge_for_kills, modref_access_node::insert_kill):
+       Declare.
+       (modref_access_node::useful_for_kill): New member function.
+       * ipa-modref.c (modref_summary::useful_p): Release useless kills.
+       (lto_modref_summary): Add kills.
+       (modref_summary::dump): Dump kills.
+       (record_access): Add mdoref_access_node parameter.
+       (record_access_lto): Likewise.
+       (merge_call_side_effects): Merge kills.
+       (analyze_call): Add ALWAYS_EXECUTED param and pass it around.
+       (struct summary_ptrs): Add always_executed filed.
+       (analyze_load): Update.
+       (analyze_store): Update; record kills.
+       (analyze_stmt): Add always_executed; record kills in clobbers.
+       (analyze_function): Track always_executed.
+       (modref_summaries::duplicate): Duplicate kills.
+       (update_signature): Release kills.
+       * ipa-modref.h (struct modref_summary): Add kills.
+       * tree-ssa-alias.c (alias_stats): Add kill stats.
+       (dump_alias_stats): Dump kill stats.
+       (store_kills_ref_p): Break out from ...
+       (stmt_kills_ref_p): Use it; handle modref info based kills.
+
+2021-11-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103229
+       * gimple-range-cache.cc (ssa_global_cache::clear): Do not pass
+       null value to memset.
+
+2021-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (modref_access_node::get_call_arg): New member
+       function.
+       (modref_access_node::get_ao_ref): Likewise.
+       * ipa-modref-tree.h (modref_access_node::get_call_arg): Declare.
+       (modref_access_node::get_ao_ref): Declare.
+       * tree-ssa-alias.c (modref_may_conflict): Use new accessors.
+       * tree-ssa-dse.c (dse_optimize_call): Use new accessors.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/103211
+       * dbgcnt.def (ipa_attr): New counters.
+       * ipa-pure-const.c: Include dbgcnt.c
+       (ipa_make_function_const): Use debug counter.
+       (ipa_make_function_pure): Likewise.
+       (propagate_pure_const): Fix bug in my previous change.
+
+2021-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (modref_access_node::range_info_useful_p):
+       Offline from ipa-modref-tree.h.
+       (modref_access_node::dump): Move from ipa-modref.c; make member
+       function.
+       * ipa-modref-tree.h (modref_access_node::range_info_useful_p.
+       modref_access_node::dump): Declare.
+       * ipa-modref.c (dump_access): Remove.
+       (dump_records): Update.
+       (dump_lto_records): Update.
+       (record_access): Update.
+       (record_access_lto): Update.
+
+2021-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summary::modref_summary): Clear new flags.
+       (modref_summary::dump): Dump try_dse.
+       (modref_summary::finalize): Add FUN attribute; compute try-dse.
+       (analyze_function): Update.
+       (read_section): Update.
+       (update_signature): Update.
+       (pass_ipa_modref::execute): Update.
+       * ipa-modref.h (struct modref_summary):
+       * tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Export.
+       * tree-ssa-alias.h (ao_ref_init_from_ptr_and_range): Declare.
+       * tree-ssa-dse.c (dse_optimize_call): New function.
+       (dse_optimize_stmt): Use it.
+
+2021-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c: Move #if CHECKING_P to proper place.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.h
+       (struct modref_access_node): Move longer member functions to
+       ipa-modref-tree.c
+       (modref_ref_node::try_merge_with): Turn into modreef_acces_node member
+       function.
+       * ipa-modref-tree.c (modref_access_node::contains): Move here
+       from ipa-modref-tree.h.
+       (modref_access_node::update): Likewise.
+       (modref_access_node::merge): Likewise.
+       (modref_access_node::closer_pair_p): Likewise.
+       (modref_access_node::forced_merge): Likewise.
+       (modref_access_node::update2): Likewise.
+       (modref_access_node::combined_offsets): Likewise.
+       (modref_access_node::try_merge_with): Likewise.
+       (modref_access_node::insert): Likewise.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summary::global_memory_read_p): Remove.
+       (modref_summary::global_memory_written_p): Remove.
+       (modref_summary::dump): Dump new flags.
+       (modref_summary::finalize): New member function.
+       (analyze_function): Call it.
+       (read_section): Call it.
+       (update_signature): Call it.
+       (pass_ipa_modref::execute): Call it.
+       * ipa-modref.h (struct modref_summary): Remove
+       global_memory_read_p and global_memory_written_p.
+       Add global_memory_read, global_memory_written.
+       * tree-ssa-structalias.c (determine_global_memory_access):
+       Update.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (compute_fn_summary): Use type_attribut_allowed_p
+       * ipa-param-manipulation.c
+       (ipa_param_adjustments::type_attribute_allowed_p):
+       New member function.
+       (drop_type_attribute_if_params_changed_p): New function.
+       (build_adjusted_function_type): Use it.
+       * ipa-param-manipulation.h: Add type_attribute_allowed_p.
+
+2021-11-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -Wno-analyzer-tainted-allocation-size,
+       -Wno-analyzer-tainted-divisor, -Wno-analyzer-tainted-offset, and
+       -Wno-analyzer-tainted-size to list.  Add
+       -Wanalyzer-tainted-allocation-size, -Wanalyzer-tainted-divisor,
+       -Wanalyzer-tainted-offset, and -Wanalyzer-tainted-size to list
+       of options effectively enabled by -fanalyzer.
+       (-Wanalyzer-tainted-allocation-size): New.
+       (-Wanalyzer-tainted-array-index): Tweak wording; add link to CWE.
+       (-Wanalyzer-tainted-divisor): New.
+       (-Wanalyzer-tainted-offset): New.
+       (-Wanalyzer-tainted-size): New.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h (attr_fnspec::arg_eaf_flags): Break out from ...
+       * gimple.c (gimple_call_arg_flags): ... here.
+       * ipa-modref.c (analyze_parms): Record flags known from fnspec.
+       (modref_merge_call_site_flags): Use arg_eaf_flags.
+
+2021-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103222
+       * gimple-range-path.cc (path_range_query::compute_ranges_in_phis):
+       New.
+       (path_range_query::compute_ranges_in_block): Call
+       compute_ranges_in_phis.
+       * gimple-range-path.h (path_range_query::compute_ranges_in_phis):
+       New.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (compute_fn_summary): Do not give up on signature
+       changes on "fn spec" attribute; give up on varadic types.
+       * ipa-param-manipulation.c: Include attribs.h.
+       (build_adjusted_function_type): New parameter ARG_MODIFIED; if it is
+       true remove "fn spec" attribute.
+       (ipa_param_adjustments::build_new_function_type): Update.
+       (ipa_param_body_adjustments::modify_formal_parameters): update.
+       * ipa-sra.c: Include attribs.h.
+       (ipa_sra_preliminary_function_checks): Do not check for TYPE_ATTRIBUTES.
+
+2021-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::path_range_query): Merge
+       ctors.
+       (path_range_query::import_p): Move from header file.
+       (path_range_query::~path_range_query): Adjust for combined ctors.
+       * gimple-range-path.h: Merge ctors.
+       (path_range_query::import_p): Move to .cc file.
+
+2021-11-13  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103182
+       * ipa-modref.c (callee_to_caller_flags): Fix merging of flags.
+       (modref_eaf_analysis::analyze_ssa_name): Fix merging of flags.
+
+2021-11-12  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/or1k-protos.h (or1k_profile_hook): New function.
+       * config/or1k/or1k.h (PROFILE_HOOK): Change macro to reference
+       new function or1k_profile_hook.
+       * config/or1k/or1k.c (struct machine_function): Add new field
+       set_mcount_arg_insn.
+       (or1k_profile_hook): New function.
+       (or1k_init_pic_reg): Update to inject pic rtx after _mcount arg
+       when profiling.
+       (or1k_frame_pointer_required): Frame pointer no longer needed
+       when profiling.
+
+2021-11-12  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103209
+       * tree-ssa-structalias.c (find_func_aliases_for_call): Fix
+       use of handle_rhs_call
+
+2021-11-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103202
+       * gimple-range-path.cc
+       (path_range_query::compute_ranges_in_block): Solve PHI imports first.
+
+2021-11-12  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (propagate_pure_const): Remove redundant check;
+       fix call of ipa_make_function_const and ipa_make_function_pure.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vector_op::n_advsimd_ops): Delete.
+       (aarch64_vector_op::m_seen_loads): Likewise.
+       (aarch64_vector_costs::aarch64_vector_costs): Don't push to
+       m_advsimd_ops.
+       (aarch64_vector_op::count_ops): Remove vectype and factor parameters.
+       Remove code that tries to predict different vec_flags from the
+       current loop's.
+       (aarch64_vector_costs::add_stmt_cost): Update accordingly.
+       Remove m_advsimd_ops handling.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vector_costs::m_saw_sve_only_op)
+       (aarch64_sve_only_stmt_p): Delete.
+       (aarch64_vector_costs::prefer_unrolled_loop): New function,
+       extracted from adjust_body_cost.
+       (aarch64_vector_costs::better_main_loop_than_p): New function,
+       using heuristics extracted from adjust_body_cost and
+       adjust_body_cost_sve.
+       (aarch64_vector_costs::adjust_body_cost_sve): Remove
+       advsimd_cycles_per_iter and could_use_advsimd parameters.
+       Update after changes above.
+       (aarch64_vector_costs::adjust_body_cost): Update after changes above.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vec_op_count::m_vf_factor):
+       New member variable.
+       (aarch64_vec_op_count::aarch64_vec_op_count): Add a parameter for it.
+       (aarch64_vec_op_count::vf_factor): New function.
+       (aarch64_vector_costs::aarch64_vector_costs): When costing for
+       neoverse-512tvb, pass a vf_factor of 2 for the Neoverse V1 version
+       of an SVE loop.
+       (aarch64_vector_costs::adjust_body_cost): Read the vf factor
+       instead of hard-coding 2.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c
+       (aarch64_vec_op_count::rename_cycles_per_iter): New function.
+       (aarch64_vec_op_count::min_nonpred_cycles_per_iter): Likewise.
+       (aarch64_vec_op_count::min_pred_cycles_per_iter): Likewise.
+       (aarch64_vec_op_count::min_cycles_per_iter): Likewise.
+       (aarch64_vec_op_count::dump): Move earlier in file.  Dump the
+       above properties too.
+       (aarch64_estimate_min_cycles_per_iter): Delete.
+       (adjust_body_cost): Use aarch64_vec_op_count::min_cycles_per_iter
+       instead of aarch64_estimate_min_cycles_per_iter.  Rely on the dump
+       routine to print CPI estimates.
+       (adjust_body_cost_sve): Likewise.  Use the other functions above
+       instead of doing the work inline.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vec_op_count): Allow default
+       initialization.
+       (aarch64_vec_op_count::base_issue_info): Remove handling of null
+       issue_infos.
+       (aarch64_vec_op_count::simd_issue_info): Likewise.
+       (aarch64_vec_op_count::sve_issue_info): Likewise.
+       (aarch64_vector_costs::m_ops): Turn into a vector.
+       (aarch64_vector_costs::m_advsimd_ops): Likewise.
+       (aarch64_vector_costs::aarch64_vector_costs): Add entries to
+       the vectors based on aarch64_tune_params.
+       (aarch64_vector_costs::analyze_loop_vinfo): Update the pred_ops
+       of all entries in m_ops.
+       (aarch64_vector_costs::add_stmt_cost): Call count_ops for all
+       entries in m_ops.
+       (aarch64_estimate_min_cycles_per_iter): Remove issue_info
+       parameter and get the information from the ops instead.
+       (aarch64_vector_costs::adjust_body_cost_sve): Take a
+       aarch64_vec_issue_info instead of a aarch64_vec_op_count.
+       (aarch64_vector_costs::adjust_body_cost): Update call accordingly.
+       Exit earlier if m_ops is empty for either cost structure.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vector_costs::m_scalar_ops)
+       (aarch64_vector_costs::m_sve_ops): Replace with...
+       (aarch64_vector_costs::m_ops): ...this.
+       (aarch64_vector_costs::analyze_loop_vinfo): Update accordingly.
+       (aarch64_vector_costs::adjust_body_cost_sve): Likewise.
+       (aarch64_vector_costs::aarch64_vector_costs): Likewise.
+       Initialize m_vec_flags here rather than in add_stmt_cost.
+       (aarch64_vector_costs::count_ops): Test for scalar reductions too.
+       Allow vectype to be null.
+       (aarch64_vector_costs::add_stmt_cost): Call count_ops for scalar
+       code too.  Don't require vectype to be nonnull.
+       (aarch64_vector_costs::adjust_body_cost): Take the loop_vec_info
+       and scalar costs as parameters.  Use the scalar costs to determine
+       the cycles per iteration of the scalar loop, then multiply it
+       by the estimated VF.
+       (aarch64_vector_costs::finish_cost): Update call accordingly.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_dr_type): New function.
+       (aarch64_vector_costs::count_ops): Use it rather than the
+       vectype to determine floatness.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_sve_in_loop_reduction_latency):
+       Remove vectype parameter and get floatness from the type of the
+       stmt lhs instead.
+       (arch64_in_loop_reduction_latency): Likewise.
+       (aarch64_detect_vector_stmt_subtype): Update caller.
+       (aarch64_vector_costs::count_ops): Likewise.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_sve_op_count): Fold into...
+       (aarch64_vec_op_count): ...this.  Add a constructor.
+       (aarch64_vec_op_count::vec_flags): New function.
+       (aarch64_vec_op_count::base_issue_info): Likewise.
+       (aarch64_vec_op_count::simd_issue_info): Likewise.
+       (aarch64_vec_op_count::sve_issue_info): Likewise.
+       (aarch64_vec_op_count::m_issue_info): New member variable.
+       (aarch64_vec_op_count::m_vec_flags): Likewise.
+       (aarch64_vector_costs): Add a constructor.
+       (aarch64_vector_costs::m_sve_ops): Change type to aarch64_vec_op_count.
+       (aarch64_vector_costs::aarch64_vector_costs): New function.
+       Initialize m_scalar_ops, m_advsimd_ops and m_sve_ops.
+       (aarch64_vector_costs::count_ops): Remove vec_flags and
+       issue_info parameters, using the new aarch64_vec_op_count
+       functions instead.
+       (aarch64_vector_costs::add_stmt_cost): Update call accordingly.
+       (aarch64_sve_op_count::dump): Fold into...
+       (aarch64_vec_op_count::dump): ..here.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c: Include tree-dfa.h.
+       (aarch64_check_consecutive_mems): New function that takes MEM_EXPR
+       and MEM_OFFSET into account.
+       (aarch64_swap_ldrstr_operands): Use it.
+       (aarch64_operands_ok_for_ldpstp): Likewise.  Check that the
+       address of the second memory doesn't depend on the result of
+       the first load.
+
+2021-11-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-pure-const.c (ipa_make_function_pure): Fix exit condition.
+
+2021-11-12  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103175
+       * ipa-modref.c (modref_lattice::merge): Add sanity check.
+       (callee_to_caller_flags): Make flags adjustment sane.
+       (modref_eaf_analysis::analyze_ssa_name): Likewise.
+
+2021-11-12  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/103200
+       * ipa-modref.c (analyze_function, modref_propagate_in_scc): Do
+       not mark pure/const function if there are side-effects.
+
+2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * tree.h (OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P): New access macro for
+       'implicit' bit, using 'base.deprecated_flag' field of tree_node.
+       * tree-pretty-print.c (dump_omp_clause): Add support for printing
+       implicit attribute in tree dumping.
+       * gimplify.c (gimplify_adjust_omp_clauses_1):
+       Set OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P to 1 if map clause is implicitly
+       created.
+       (gimplify_adjust_omp_clauses): Adjust place of adding implicitly created
+       clauses, from simple append, to starting of list, after non-map clauses.
+       * omp-low.c (lower_omp_target): Add GOMP_MAP_IMPLICIT bits into kind
+       values passed to libgomp for implicit maps.
+
+2021-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-builtins.def (BUILT_IN_GOMP_TEAMS): Remove.
+       (BUILT_IN_GOMP_TEAMS4): New.
+       * builtin-types.def (BT_FN_VOID_UINT_UINT): Remove.
+       (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New.
+       * omp-low.c (lower_omp_teams): Use GOMP_teams4 instead of
+       GOMP_teams, pass to it also num_teams lower-bound expression
+       or a dup of upper-bound if it is missing and a flag whether
+       it is the first call or not.
+
+2021-11-12  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/102497
+       * gimple-predicate-analysis.cc (add_pred): Remove unused
+       function:
+
+2021-11-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103204
+       * tree-ssa-sccvn.c (valueize_refs_1): Re-valueize the
+       top operand after folding in an address.
+
+2021-11-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::path_range_query): New
+       ctor without a ranger.
+       (path_range_query::~path_range_query): Free ranger if necessary.
+       (path_range_query::range_on_path_entry): Adjust m_ranger for pointer.
+       (path_range_query::ssa_range_in_phi): Same.
+       (path_range_query::compute_ranges_in_block): Same.
+       (path_range_query::compute_imports): Same.
+       (path_range_query::compute_ranges): Same.
+       (path_range_query::range_of_stmt): Same.
+       (path_range_query::compute_outgoing_relations): Same.
+       * gimple-range-path.h (class path_range_query): New ctor.
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Remove gimple_ranger
+       as path_range_query allocates one.
+       * tree-ssa-threadbackward.c (class back_threader): Remove m_ranger.
+       (back_threader::~back_threader): Same.
+
+2021-11-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader_profitability::profitable_path_p): Remove loop
+       crossing restriction.
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_function): Do pure/const discovery, return
+       true on success.
+       (pass_modref::execute): If pure/const is discovered fixup cfg.
+       (ignore_edge): Do not ignore pure/const edges.
+       (modref_propagate_in_scc): Do pure/const discovery, return true if
+       cdtor was promoted pure/const.
+       (pass_ipa_modref::execute): If needed remove unreachable functions.
+       * ipa-pure-const.c (warn_function_noreturn): Fix whitespace.
+       (warn_function_cold): Likewise.
+       (skip_function_for_local_pure_const): Move earlier.
+       (ipa_make_function_const): Break out from ...
+       (ipa_make_function_pure): Break out from ...
+       (propagate_pure_const): ... here.
+       (pass_local_pure_const::execute): Use it.
+       * ipa-utils.h (ipa_make_function_const): Declare.
+       (ipa_make_function_pure): Declare.
+       * passes.def: Move early modref after pure-const.
+
+2021-11-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR other/103129
+       * diagnostic-show-locus.c (def_policy): Use def_tabstop.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (TYPES_COMBINE): Delete.
+       (TYPES_COMBINEP): Delete.
+       * config/aarch64/aarch64-simd-builtins.def: Declare type-
+       qualified builtins for vcombine_* intrinsics.
+       * config/aarch64/arm_neon.h (vcombine_s8): Remove unnecessary
+       cast.
+       (vcombine_s16): Likewise.
+       (vcombine_s32): Likewise.
+       (vcombine_f32): Likewise.
+       (vcombine_u8): Use type-qualified builtin and remove casts.
+       (vcombine_u16): Likewise.
+       (vcombine_u32): Likewise.
+       (vcombine_u64): Likewise.
+       (vcombine_p8): Likewise.
+       (vcombine_p16): Likewise.
+       (vcombine_p64): Likewise.
+       (vcombine_bf16): Remove unnecessary cast.
+       * config/aarch64/iterators.md (VD_I): New mode iterator.
+       (VDC_P): New mode iterator.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (TYPES_LOAD1_U): Define.
+       (TYPES_LOAD1_P): Define.
+       (TYPES_STORE1_U): Define.
+       (TYPES_STORE1P): Rename to...
+       (TYPES_STORE1_P): This.
+       (get_mem_type_for_load_store): Add unsigned and poly types.
+       (aarch64_general_gimple_fold_builtin): Add unsigned and poly
+       type-qualified builtin declarations.
+       * config/aarch64/aarch64-simd-builtins.def: Declare type-
+       qualified builtins for LD1/ST1.
+       * config/aarch64/arm_neon.h (vld1_p8): Use type-qualified
+       builtin and remove cast.
+       (vld1_p16): Likewise.
+       (vld1_u8): Likewise.
+       (vld1_u16): Likewise.
+       (vld1_u32): Likewise.
+       (vld1q_p8): Likewise.
+       (vld1q_p16): Likewise.
+       (vld1q_p64): Likewise.
+       (vld1q_u8): Likewise.
+       (vld1q_u16): Likewise.
+       (vld1q_u32): Likewise.
+       (vld1q_u64): Likewise.
+       (vst1_p8): Likewise.
+       (vst1_p16): Likewise.
+       (vst1_u8): Likewise.
+       (vst1_u16): Likewise.
+       (vst1_u32): Likewise.
+       (vst1q_p8): Likewise.
+       (vst1q_p16): Likewise.
+       (vst1q_p64): Likewise.
+       (vst1q_u8): Likewise.
+       (vst1q_u16): Likewise.
+       (vst1q_u32): Likewise.
+       (vst1q_u64): Likewise.
+       * config/aarch64/iterators.md (VALLP_NO_DI): New iterator.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare unsigned
+       builtins for vector reduction.
+       * config/aarch64/arm_neon.h (vaddv_u8): Use type-qualified
+       builtin and remove casts.
+       (vaddv_u16): Likewise.
+       (vaddv_u32): Likewise.
+       (vaddvq_u8): Likewise.
+       (vaddvq_u16): Likewise.
+       (vaddvq_u32): Likewise.
+       (vaddvq_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def:
+       * config/aarch64/arm_neon.h (vpaddq_u8): Use type-qualified
+       builtin and remove casts.
+       (vpaddq_u16): Likewise.
+       (vpaddq_u32): Likewise.
+       (vpaddq_u64): Likewise.
+       (vpadd_u8): Likewise.
+       (vpadd_u16): Likewise.
+       (vpadd_u32): Likewise.
+       (vpaddd_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare unsigned
+       builtins for [r]subhn[2].
+       * config/aarch64/arm_neon.h (vsubhn_s16): Remove unnecessary
+       cast.
+       (vsubhn_s32): Likewise.
+       (vsubhn_s64): Likewise.
+       (vsubhn_u16): Use type-qualified builtin and remove casts.
+       (vsubhn_u32): Likewise.
+       (vsubhn_u64): Likewise.
+       (vrsubhn_s16): Remove unnecessary cast.
+       (vrsubhn_s32): Likewise.
+       (vrsubhn_s64): Likewise.
+       (vrsubhn_u16): Use type-qualified builtin and remove casts.
+       (vrsubhn_u32): Likewise.
+       (vrsubhn_u64): Likewise.
+       (vrsubhn_high_s16): Remove unnecessary cast.
+       (vrsubhn_high_s32): Likewise.
+       (vrsubhn_high_s64): Likewise.
+       (vrsubhn_high_u16): Use type-qualified builtin and remove
+       casts.
+       (vrsubhn_high_u32): Likewise.
+       (vrsubhn_high_u64): Likewise.
+       (vsubhn_high_s16): Remove unnecessary cast.
+       (vsubhn_high_s32): Likewise.
+       (vsubhn_high_s64): Likewise.
+       (vsubhn_high_u16): Use type-qualified builtin and remove
+       casts.
+       (vsubhn_high_u32): Likewise.
+       (vsubhn_high_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare unsigned
+       builtins for [r]addhn[2].
+       * config/aarch64/arm_neon.h (vaddhn_s16): Remove unnecessary
+       cast.
+       (vaddhn_s32): Likewise.
+       (vaddhn_s64): Likewise.
+       (vaddhn_u16): Use type-qualified builtin and remove casts.
+       (vaddhn_u32): Likewise.
+       (vaddhn_u64): Likewise.
+       (vraddhn_s16): Remove unnecessary cast.
+       (vraddhn_s32): Likewise.
+       (vraddhn_s64): Likewise.
+       (vraddhn_u16): Use type-qualified builtin and remove casts.
+       (vraddhn_u32): Likewise.
+       (vraddhn_u64): Likewise.
+       (vaddhn_high_s16): Remove unnecessary cast.
+       (vaddhn_high_s32): Likewise.
+       (vaddhn_high_s64): Likewise.
+       (vaddhn_high_u16): Use type-qualified builtin and remove
+       casts.
+       (vaddhn_high_u32): Likewise.
+       (vaddhn_high_u64): Likewise.
+       (vraddhn_high_s16): Remove unnecessary cast.
+       (vraddhn_high_s32): Likewise.
+       (vraddhn_high_s64): Likewise.
+       (vraddhn_high_u16): Use type-qualified builtin and remove
+       casts.
+       (vraddhn_high_u32): Likewise.
+       (vraddhn_high_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type
+       qualifiers in generator macros for uhsub builtins.
+       * config/aarch64/arm_neon.h (vhsub_s8): Remove unnecessary
+       cast.
+       (vhsub_s16): Likewise.
+       (vhsub_s32): Likewise.
+       (vhsub_u8): Use type-qualified builtin and remove casts.
+       (vhsub_u16): Likewise.
+       (vhsub_u32): Likewise.
+       (vhsubq_s8): Remove unnecessary cast.
+       (vhsubq_s16): Likewise.
+       (vhsubq_s32): Likewise.
+       (vhsubq_u8): Use type-qualified builtin and remove casts.
+       (vhsubq_u16): Likewise.
+       (vhsubq_u32): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type
+       qualifiers in generator macros for u[r]hadd builtins.
+       * config/aarch64/arm_neon.h (vhadd_s8): Remove unnecessary
+       cast.
+       (vhadd_s16): Likewise.
+       (vhadd_s32): Likewise.
+       (vhadd_u8): Use type-qualified builtin and remove casts.
+       (vhadd_u16): Likewise.
+       (vhadd_u32): Likewise.
+       (vhaddq_s8): Remove unnecessary cast.
+       (vhaddq_s16): Likewise.
+       (vhaddq_s32): Likewise.
+       (vhaddq_u8): Use type-qualified builtin and remove casts.
+       (vhaddq_u16): Likewise.
+       (vhaddq_u32): Likewise.
+       (vrhadd_s8): Remove unnecessary cast.
+       (vrhadd_s16): Likewise.
+       (vrhadd_s32): Likewise.
+       (vrhadd_u8): Use type-qualified builtin and remove casts.
+       (vrhadd_u16): Likewise.
+       (vrhadd_u32): Likewise.
+       (vrhaddq_s8): Remove unnecessary cast.
+       (vrhaddq_s16): Likewise.
+       (vrhaddq_s32): Likewise.
+       (vrhaddq_u8): Use type-wualified builtin and remove casts.
+       (vrhaddq_u16): Likewise.
+       (vrhaddq_u32): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type
+       qualifiers in generator macros for usub[lw][2] builtins.
+       * config/aarch64/arm_neon.h (vsubl_s8): Remove unnecessary
+       cast.
+       (vsubl_s16): Likewise.
+       (vsubl_s32): Likewise.
+       (vsubl_u8): Use type-qualified builtin and remove casts.
+       (vsubl_u16): Likewise.
+       (vsubl_u32): Likewise.
+       (vsubl_high_s8): Remove unnecessary cast.
+       (vsubl_high_s16): Likewise.
+       (vsubl_high_s32): Likewise.
+       (vsubl_high_u8): Use type-qualified builtin and remove casts.
+       (vsubl_high_u16): Likewise.
+       (vsubl_high_u32): Likewise.
+       (vsubw_s8): Remove unnecessary casts.
+       (vsubw_s16): Likewise.
+       (vsubw_s32): Likewise.
+       (vsubw_u8): Use type-qualified builtin and remove casts.
+       (vsubw_u16): Likewise.
+       (vsubw_u32): Likewise.
+       (vsubw_high_s8): Remove unnecessary cast.
+       (vsubw_high_s16): Likewise.
+       (vsubw_high_s32): Likewise.
+       (vsubw_high_u8): Use type-qualified builtin and remove casts.
+       (vsubw_high_u16): Likewise.
+       (vsubw_high_u32): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type
+       qualifiers in generator macros for uadd[lw][2] builtins.
+       * config/aarch64/arm_neon.h (vaddl_s8): Remove unnecessary
+       cast.
+       (vaddl_s16): Likewise.
+       (vaddl_s32): Likewise.
+       (vaddl_u8): Use type-qualified builtin and remove casts.
+       (vaddl_u16): Likewise.
+       (vaddl_u32): Likewise.
+       (vaddl_high_s8): Remove unnecessary cast.
+       (vaddl_high_s16): Likewise.
+       (vaddl_high_s32): Likewise.
+       (vaddl_high_u8): Use type-qualified builtin and remove casts.
+       (vaddl_high_u16): Likewise.
+       (vaddl_high_u32): Likewise.
+       (vaddw_s8): Remove unnecessary cast.
+       (vaddw_s16): Likewise.
+       (vaddw_s32): Likewise.
+       (vaddw_u8): Use type-qualified builtin and remove casts.
+       (vaddw_u16): Likewise.
+       (vaddw_u32): Likewise.
+       (vaddw_high_s8): Remove unnecessary cast.
+       (vaddw_high_s16): Likewise.
+       (vaddw_high_s32): Likewise.
+       (vaddw_high_u8): Use type-qualified builtin and remove casts.
+       (vaddw_high_u16): Likewise.
+       (vaddw_high_u32): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare type-
+       qualified builtins for [R]SHRN[2].
+       * config/aarch64/arm_neon.h (vshrn_n_u16): Use type-qualified
+       builtin and remove casts.
+       (vshrn_n_u32): Likewise.
+       (vshrn_n_u64): Likewise.
+       (vrshrn_high_n_u16): Likewise.
+       (vrshrn_high_n_u32): Likewise.
+       (vrshrn_high_n_u64): Likewise.
+       (vrshrn_n_u16): Likewise.
+       (vrshrn_n_u32): Likewise.
+       (vrshrn_n_u64): Likewise.
+       (vshrn_high_n_u16): Likewise.
+       (vshrn_high_n_u32): Likewise.
+       (vshrn_high_n_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare unsigned
+       type-qualified builtins for XTN[2].
+       * config/aarch64/arm_neon.h (vmovn_high_u16): Use type-
+       qualified builtin and remove casts.
+       (vmovn_high_u32): Likewise.
+       (vmovn_high_u64): Likewise.
+       (vmovn_u16): Likewise.
+       (vmovn_u32): Likewise.
+       (vmovn_u64): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use poly type
+       qualifier in builtin generator macros.
+       * config/aarch64/arm_neon.h (vmul_p8): Use type-qualified
+       builtin and remove casts.
+       (vmulq_p8): Likewise.
+       (vmull_high_p8): Likewise.
+       (vmull_p8): Likewise.
+
+2021-11-11  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Declare type-
+       qualified builtin generators for unsigned MLA/MLS intrinsics.
+       * config/aarch64/arm_neon.h (vmla_n_u16): Use type-qualified
+       builtin.
+       (vmla_n_u32): Likewise.
+       (vmla_u8): Likewise.
+       (vmla_u16): Likewise.
+       (vmla_u32): Likewise.
+       (vmlaq_n_u16): Likewise.
+       (vmlaq_n_u32): Likewise.
+       (vmlaq_u8): Likewise.
+       (vmlaq_u16): Likewise.
+       (vmlaq_u32): Likewise.
+       (vmls_n_u16): Likewise.
+       (vmls_n_u32): Likewise.
+       (vmls_u8): Likewise.
+       (vmls_u16): Likewise.
+       (vmls_u32): Likewise.
+       (vmlsq_n_u16): Likewise.
+       (vmlsq_n_u32): Likewise.
+       (vmlsq_u8): Likewise.
+       (vmlsq_u16): Likewise.
+       (vmlsq_u32): Likewise.
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summary::useful_p): Check also for side-effects
+       with looping const/pure.
+       (modref_summary_lto::useful_p): Likewise.
+       (merge_call_side_effects): Merge side effects before early exit
+       for pure/const.
+       (process_fnspec): Also handle pure functions.
+       (analyze_call): Do not early exit on looping pure const.
+       (propagate_unknown_call): Also handle nontrivial SCC as side-effect.
+       (modref_propagate_in_scc): Update.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103190
+       * tree-ssa-reassoc.c (insert_stmt_after): Only assert on asm goto.
+
+2021-11-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::add_copies_to_imports):
+       Rename to...
+       (path_range_query::compute_imports): ...this.  Adapt it so it can
+       be passed the imports bitmap instead of working on m_imports.
+       (path_range_query::compute_ranges): Call compute_imports in all
+       cases unless an imports bitmap is passed.
+       * gimple-range-path.h (path_range_query::compute_imports): New.
+       (path_range_query::add_copies_to_imports): Remove.
+       * tree-ssa-threadbackward.c (back_threader::resolve_def): Remove.
+       (back_threader::find_paths_to_names): Inline resolve_def.
+       (back_threader::find_paths): Call compute_imports.
+       (back_threader::resolve_phi): Adjust comment.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103188
+       * tree-ssa-loop-ch.c (should_duplicate_loop_header_p):
+       Remove query parameter, split out check for size
+       optimization.
+       (ch_base::m_ranger, cb_base::m_query): Remove.
+       (ch_base::copy_headers): Split processing loop into
+       analysis around which we allocate and use ranger and
+       transform where we do not.
+       (pass_ch::execute): Do not allocate/free ranger here.
+       (pass_ch_vect::execute): Likewise.
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-pure-const.c (propagate_pure_const): Self recursion is
+       a side effects.
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (set_noreturn_flag_1): New function.
+       (cgraph_node::set_noreturn_flag): New member function
+       * cgraph.h (cgraph_node::set_noreturn_flags): Declare.
+       * ipa-pure-const.c (pass_local_pure_const::execute): Use it.
+
+2021-11-11  Aldy Hernandez  <aldyh@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-ch.c (entry_loop_condition_is_static): Resolve
+       statically to the edge remaining in the loop.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103181
+       * tree-eh.c (operation_could_trap_helper_p): Properly
+       check vector constants for a zero element for integer
+       division.  Separate floating point and integer division code.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101378
+       * dwarf2out.c (field_byte_offset): Do the PCC_BITFIELD_TYPE_MATTERS
+       handling only for DECL_BIT_FIELD_TYPE decls.
+
+2021-11-11  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/102376
+       * config/aarch64/aarch64.c (aarch64_process_target_attr): Check if
+       token is arch extension without leading '+' and emit appropriate
+       diagnostic for the same.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_NUM_TEAMS_EXPR): Rename to ...
+       (OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR): ... this.
+       (OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR): Define.
+       * tree.c (omp_clause_num_ops): Increase num ops for
+       OMP_CLAUSE_NUM_TEAMS to 2.
+       * tree-pretty-print.c (dump_omp_clause): Print optional lower bound
+       for OMP_CLAUSE_NUM_TEAMS.
+       * gimplify.c (gimplify_scan_omp_clauses): Gimplify
+       OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR if non-NULL.
+       (optimize_target_teams): Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead
+       of OMP_CLAUSE_NUM_TEAMS_EXPR.  Handle OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR.
+       * omp-low.c (lower_omp_teams): Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR
+       instead of OMP_CLAUSE_NUM_TEAMS_EXPR.
+       * omp-expand.c (expand_teams_call, get_target_arguments): Likewise.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.c (find_pdom): Remove.
+       (control_dependences::find_control_dependence): Remove
+       special-casing of entry block, call get_immediate_dominator
+       directly.
+       * gimple-predicate-analysis.cc (find_pdom): Remove.
+       (find_dom): Likewise.
+       (find_control_equiv_block): Call get_immediate_dominator
+       directly.
+       (compute_control_dep_chain): Likewise.
+       (predicate::init_from_phi_def): Likewise.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.h (control_dependences::control_dependence_map):
+       Embed bitmap_head.
+       (control_dependences::m_bitmaps): New.
+       * cfganal.c (control_dependences::set_control_dependence_map_bit):
+       Adjust.
+       (control_dependences::clear_control_dependence_bitmap):
+       Likewise.
+       (control_dependences::find_control_dependence): Do not
+       find_edge for the abnormal edge test.
+       (control_dependences::control_dependences): Instead do not
+       add abnormal edges to the edge list.  Adjust.
+       (control_dependences::~control_dependences): Likewise.
+       (control_dependences::get_edges_dependent_on): Likewise.
+       * function-tests.c: Include bitmap.h.
+
+2021-11-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/invoke.texi: Change references to "future cpu" to "power10",
+       "-mcpu=future" to "-mcpu=power10".  Adjust words for float128.
+
+2021-11-11  Cui,Lili  <lili.cui@intel.com>
+
+       * config/i386/i386-options.c (m_CORE_AVX2): Remove Alderlake
+       from m_CORE_AVX2.
+       (processor_cost_table): Use alderlake_cost for Alderlake.
+       * config/i386/i386.c (ix86_sched_init_global): Handle Alderlake.
+       * config/i386/x86-tune-costs.h (struct processor_costs): Add alderlake
+       cost.
+       * config/i386/x86-tune-sched.c (ix86_issue_rate): Change Alderlake
+       issue rate to 4.
+       (ix86_adjust_cost): Handle Alderlake.
+       * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Enable for Alderlake.
+       (X86_TUNE_PARTIAL_REG_DEPENDENCY): Likewise.
+       (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Likewise.
+       (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Likewise.
+       (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise.
+       (X86_TUNE_MEMORY_MISMATCH_STALL): Likewise.
+       (X86_TUNE_USE_LEAVE): Likewise.
+       (X86_TUNE_PUSH_MEMORY): Likewise.
+       (X86_TUNE_USE_INCDEC): Likewise.
+       (X86_TUNE_INTEGER_DFMODE_MOVES): Likewise.
+       (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Likewise.
+       (X86_TUNE_USE_SAHF): Likewise.
+       (X86_TUNE_USE_BT): Likewise.
+       (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Likewise.
+       (X86_TUNE_ONE_IF_CONV_INSN): Likewise.
+       (X86_TUNE_AVOID_MFENCE): Likewise.
+       (X86_TUNE_USE_SIMODE_FIOP): Likewise.
+       (X86_TUNE_EXT_80387_CONSTANTS): Likewise.
+       (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Likewise.
+       (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Likewise.
+       (X86_TUNE_SSE_TYPELESS_STORES): Likewise.
+       (X86_TUNE_SSE_LOAD0_BY_PXOR): Likewise.
+       (X86_TUNE_AVOID_4BYTE_PREFIXES): Likewise.
+       (X86_TUNE_USE_GATHER): Disable for Alderlake.
+       (X86_TUNE_AVX256_MOVE_BY_PIECES): Likewise.
+       (X86_TUNE_AVX256_STORE_BY_PIECES): Likewise.
+
+2021-11-11  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/103151
+       * config/i386/sse.md (V_128_256): Extend to V8HF/V16HF.
+       (avxsizesuffix): Ditto.
+
+2021-11-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_subset_list::to_string): Fix
+       wrong marco checking.
+
+2021-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102906
+       * tree-ssa-loop-ch.c (entry_loop_condition_is_static): New.
+       (should_duplicate_loop_header_p): Call entry_loop_condition_is_static.
+       (class ch_base): Add m_ranger and m_query.
+       (ch_base::copy_headers): Pass m_query to
+       entry_loop_condition_is_static.
+       (pass_ch::execute): Allocate and deallocate m_ranger and
+       m_query.
+       (pass_ch_vect::execute): Same.
+
+2021-11-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/103170
+       * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>):
+       Use vwcore iterator for the r constraint output string.
+
+2021-11-10  qing zhao  <qing.zhao@oracle.com>
+
+       * internal-fn.c (expand_DEFERRED_INIT): Apply pattern initialization
+       only when have_insn_for return true for the mode. Fix a memory leak.
+
+2021-11-10  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       * config/arm/arm.c (cortexa9_extra_costs, cortexa8_extra_costs,
+       cortexa5_extra_costs, cortexa7_extra_costs,
+       cortexa12_extra_costs, cortexa15_extra_costs, v7m_extra_costs):
+       Initialize movi, dup and extract costing fields.
+
+2021-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::path_range_query): Do
+       not init m_path.
+       (path_range_query::dump): Change m_path uses to non-pointer.
+       (path_range_query::defined_outside_path):  Same.
+       (path_range_query::set_path): Same.
+       (path_range_query::add_copies_to_imports): Same.
+       (path_range_query::range_of_stmt): Same.
+       (path_range_query::compute_outgoing_relations): Same.
+       (path_range_query::compute_ranges): Imports are now optional.
+       Implement overload that takes an edge.
+       * gimple-range-path.h (class path_range_query): Make imports
+       optional for compute_ranges.  Add compute_ranges(edge) overload.
+       Make m_path an auto_vec instead of a pointer and adjust
+       accordingly.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vectorizer.h (struct scalar_cond_masked_key): Add inverted_p.
+       (default_hash_traits<scalar_conf_masked_key>): Likewise.
+       * tree-vect-stmts.c (vectorizable_condition): Check if inverse of mask
+       is live.
+       * tree-vectorizer.c (scalar_cond_masked_key::get_cond_ops_from_tree):
+       Register mask inverses.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vectorizer.c (vectorize_loops): Do local CSE through RPVN upon
+       successful vectorization.
+
+2021-11-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (sbr_vector::grow): New.
+       (sbr_vector::set_bb_range): Call grow.
+       (sbr_vector::get_bb_range): Same.
+       (sbr_vector::bb_range_p): Remove assert.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_topbits_shuffle<mode>_le
+       ,*aarch64_topbits_shuffle<mode>_be): Remove.
+
+2021-11-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c: Include tree-eh.h
+       (modref_summary::modref_summary): Initialize side_effects.
+       (struct modref_summary_lto): New bool field side_effects.
+       (modref_summary_lto::modref_summary_lto): Initialize side_effects.
+       (modref_summary::dump): Dump side_effects.
+       (modref_summary_lto::dump): Dump side_effects.
+       (merge_call_side_effects): Merge side effects.
+       (process_fnspec): Calls to non-const/pure or looping
+       function is a side effect.
+       (analyze_call): Self-recursion is a side-effect; handle
+       special builtins.
+       (analyze_load): Watch for volatile and throwing memory.
+       (analyze_store): Likewise.
+       (analyze_stmt): Watch for volatitle asm.
+       (analyze_function): Handle side_effects.
+       (modref_summaries::duplicate): Duplicate side_effects.
+       (modref_summaries_lto::duplicate): Likewise.
+       (modref_write): Stream side_effects.
+       (read_section): Likewise.
+       (update_signature): Update.
+       (propagate_unknown_call): Handle side_effects.
+       (modref_propagate_in_scc): Likewise.
+       * ipa-modref.h (struct modref_summary): Add side_effects.
+       * ipa-pure-const.c (special_builtin_state): Rename to ...
+       (builtin_safe_for_const_function_p): ... this one.
+       (check_call): Update.
+       (finite_function_p): Break out from ...
+       (propagate_pure_const): ... here
+       * ipa-utils.h (finite_function): Declare.
+
+2021-11-10  Lucas A. M. Magalhães  <lamm@linux.ibm.com>
+
+       * config.gcc (powerpc*-*-*): Remove -rpath from
+       --with-advance-toolchain.
+
+2021-11-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101940
+       * attribs.c (struct scoped_attributes): Add a bool member.
+       (lookup_scoped_attribute_spec): Forward declare.
+       (register_scoped_attributes): New bool parameter, defaulted to
+       false.  Use it.
+       (handle_ignored_attributes_option): New function.
+       (free_attr_data): New function.
+       (init_attributes): Call handle_ignored_attributes_option.
+       (attr_namespace_ignored_p): New function.
+       (decl_attributes): Check attr_namespace_ignored_p before
+       warning.
+       * attribs.h (free_attr_data): Declare.
+       (register_scoped_attributes): Adjust declaration.
+       (handle_ignored_attributes_option): Declare.
+       (canonicalize_attr_name): New function template.
+       (canonicalize_attr_name): Use it.
+       * common.opt (Wattributes=): New option with a variable.
+       * doc/extend.texi: Document #pragma GCC diagnostic ignored_attributes.
+       * doc/invoke.texi: Document -Wno-attributes=.
+       * opts.c (common_handle_option) <case OPT_Wattributes_>: Handle.
+       * plugin.h (register_scoped_attributes): Adjust declaration.
+       * toplev.c (compile_file): Call free_attr_data.
+
+2021-11-10  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in (cortex-a710): New CPU.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2021-11-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_gimple_fold_builtin): Mark argument as unused.
+
+2021-11-10  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (merge_and_complain): Make the first argument
+       a reference type.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (optab): Use fmax_nan instead of
+       smax_nan and fmin_nan instead of smin_nan.
+       (maxmin_uns): Rename to...
+       (fmaxmin): ...this and make the same changes.  Remove entries
+       unrelated to fmax* and fmin*.
+       * config/aarch64/aarch64.md (<maxmin_uns><mode>3): Rename to...
+       (<fmaxmin><mode>3): ...this.
+       * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>):
+       Rename to...
+       (aarch64_<optab>p<mode>): ...this.
+       (<maxmin_uns><mode>3): Rename to...
+       (<fmaxmin><mode>3): ...this.
+       (reduc_<maxmin_uns>_scal_<mode>): Rename to...
+       (reduc_<optab>_scal_<mode>): ...this and update gen* call.
+       (aarch64_reduc_<maxmin_uns>_internal<mode>): Rename to...
+       (aarch64_reduc_<optab>_internal<mode>): ...this.
+       (aarch64_reduc_<maxmin_uns>_internalv2si): Rename to...
+       (aarch64_reduc_<optab>_internalv2si): ...this.
+       * config/aarch64/aarch64-sve.md (<maxmin_uns><mode>3): Rename to...
+       (<fmaxmin><mode>3): ...this.
+       * config/aarch64/aarch64-simd-builtins.def (smax_nan, smin_nan)
+       Rename to...
+       (fmax_nan, fmin_nan): ...this.
+       * config/aarch64/arm_neon.h (vmax_f32, vmax_f64, vmaxq_f32, vmaxq_f64)
+       (vmin_f32, vmin_f64, vminq_f32, vminq_f64, vmax_f16, vmaxq_f16)
+       (vmin_f16, vminq_f16): Update accordingly.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vector_costs::finish_cost): Take the
+       corresponding scalar costs as a parameter.
+       (finish_cost): Likewise.
+       * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost)
+       (vect_estimate_min_profitable_iters): Update accordingly.
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Likewise.
+       * tree-vectorizer.c (vector_costs::finish_cost): Likewise.
+       * config/aarch64/aarch64.c (aarch64_vector_costs::finish_cost):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_cost_data::finish_cost): Likewise.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (_loop_vec_info::scalar_costs): New member
+       variable.
+       (_loop_vec_info::single_scalar_iteration_cost): Delete.
+       (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Delete.
+       (vector_costs::total_cost): New function.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update
+       after above changes.
+       (_loop_vec_info::~_loop_vec_info): Delete scalar_costs.
+       (vect_compute_single_scalar_iteration_cost): Store the costs
+       in loop_vinfo->scalar_costs.
+       (vect_estimate_min_profitable_iters): Get the scalar cost from
+       loop_vinfo->scalar_costs.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vector_costs::better_main_loop_than_p)
+       (vector_costs::better_epilogue_loop_than_p)
+       (vector_costs::compare_inside_loop_cost)
+       (vector_costs::compare_outside_loop_cost): Likewise.
+       * tree-vectorizer.c (vector_costs::better_main_loop_than_p)
+       (vector_costs::better_epilogue_loop_than_p)
+       (vector_costs::compare_inside_loop_cost)
+       (vector_costs::compare_outside_loop_cost): New functions,
+       containing code moved from...
+       * tree-vect-loop.c (vect_better_loop_vinfo_p): ...here.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (_loop_vec_info): Remove vec_outside_cost
+       and vec_inside_cost.
+       (vector_costs::outside_cost): New function.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update
+       after above.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_better_loop_vinfo_p): Get the inside and outside costs
+       from the loop_vec_infos' vector_costs.
+
+2021-11-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vec_info::target_cost_data): Replace with...
+       (_loop_vec_info::vector_costs): ...this.
+       (LOOP_VINFO_TARGET_COST_DATA): Delete.
+       * tree-vectorizer.c (vec_info::vec_info): Remove target_cost_data
+       initialization.
+       (vec_info::~vec_info): Remove corresponding delete.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
+       vector_costs to null.
+       (_loop_vec_info::~_loop_vec_info): Delete vector_costs.
+       (vect_analyze_loop_operations): Update after above changes.
+       (vect_analyze_loop_2): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       * tree-vect-slp.c (vect_slp_analyze_operations): Likewise.
+
+2021-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-core.h (EAF_DIRECT): Remove.
+       (EAF_NOCLOBBER): Remove.
+       (EAF_UNUSED): Remove.
+       (EAF_NOESCAPE): Remove.
+       (EAF_NO_DIRECT_CLOBBER): New.
+       (EAF_NO_INDIRECT_CLOBBER): New.
+       (EAF_NODIRECTESCAPE): Remove.
+       (EAF_NO_DIRECT_ESCAPE): New.
+       (EAF_NO_INDIRECT_ESCAPE): New.
+       (EAF_NOT_RETURNED): Remove.
+       (EAF_NOT_RETURNED_INDIRECTLY): New.
+       (EAF_NOREAD): Remove.
+       (EAF_NO_DIRECT_READ): New.
+       (EAF_NO_INDIRECT_READ): New.
+       * gimple.c (gimple_call_arg_flags): Update for new flags.
+       (gimple_call_retslot_flags): Update for new flags.
+       * ipa-modref.c (dump_eaf_flags): Likewise.
+       (remove_useless_eaf_flags): Likewise.
+       (deref_flags): Likewise.
+       (modref_lattice::init): Likewise.
+       (modref_lattice::merge): Likewise.
+       (modref_lattice::merge_direct_load): Likewise.
+       (modref_lattice::merge_direct_store): Likewise.
+       (modref_eaf_analysis::merge_call_lhs_flags): Likewise.
+       (callee_to_caller_flags): Likewise.
+       (modref_eaf_analysis::analyze_ssa_name): Likewise.
+       (modref_eaf_analysis::propagate): Likewise.
+       (modref_merge_call_site_flags): Likewise.
+       * ipa-modref.h (interposable_eaf_flags): Likewise.
+       * tree-ssa-alias.c: (ref_maybe_used_by_call_p_1) Likewise.
+       * tree-ssa-structalias.c (handle_call_arg): Likewise.
+       (handle_rhs_call): Likewise.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Likewise.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (complex_mul_pattern::matches): Remove l1node.
+
+2021-11-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_gimple_fold_builtin): Change pointer alignment and
+       alias.
+
+2021-11-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.h (modref_tree::remap_params): Fix off-by-one error.
+
+2021-11-10  H.J. Lu  <hongjiu.lu@intel.com>
+           Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR middle-end/102566
+       * match.pd (nop_atomic_bit_test_and_p): New match.
+       * tree-ssa-ccp.c (convert_atomic_bit_not): New function.
+       (gimple_nop_atomic_bit_test_and_p): New prototype.
+       (optimize_atomic_bit_test_and): Transform equivalent, but slighly
+       different cases to their canonical forms.
+
+2021-11-10  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/103126
+       * tree-vect-loop.c (neutral_op_for_reduction): Remove static.
+       * tree-vectorizer.h (neutral_op_for_reduction): Declare.
+       * tree-if-conv.c : Include tree-vectorizer.h.
+       (is_cond_scalar_reduction): Handle
+       BIT_XOR_EXPR/BIT_IOR_EXPR/BIT_AND_EXPR.
+       (convert_scalar_cond_reduction): Ditto.
+
+2021-11-10  konglin1  <lingling.kong@intel.com>
+
+       * config/i386/sse.md (cmul<conj_op><mode>3): add new define_expand.
+       (cmla<conj_op><mode>4): Likewise
+
+2021-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadedge.c: Do not include
+       gimple-ssa-evrp-analyze.h.
+       * value-pointer-equiv.cc: Same.
+
+2021-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader::maybe_register_path_dump): Abstract path dumping...
+       (dump_path): ...here.
+       (back_threader::resolve_phi): Call dump_path.
+       (debug): Same.
+
+2021-11-10  konglin1  <lingling.kong@intel.com>
+
+       * config/i386/sse.md (fma_<complexpairopname>_<mode>_pair):
+       Add new define_insn.
+       (fma_<mode>_fmaddc_bcst): Add new define_insn_and_split.
+       (fma_<mode>_fcmaddc_bcst): Likewise
+
+2021-11-10  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * match.pd: Simplify (trunc)fmax/fmin((extend)a, (extend)b) to
+       MAX/MIN(a,b)
+
+2021-11-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101529
+       * config/aarch64/aarch64.c (aarch64_evpc_ins): Don't use target
+       as an input, use original one.
+
+2021-11-10  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/nios2/nios2.c (nios2_can_inline_p): New.
+       (TARGET_CAN_INLINE_P): Define.
+
+2021-11-09  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin):
+       Disable gimple fold for RS6000_BIF_{XVMINDP,XVMINSP,VMINFP} and
+       RS6000_BIF_{XVMAXDP,XVMAXSP,VMAXFP} when fast-math is not set.
+       (lxvrse_expand_builtin): Modify the expansion for sign extension.
+       All extensions are done within VSX registers.
+
+2021-11-09  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/10352
+       * match.pd: Remove check of TYPE_PRECISION for
+       the a?0:pow2 case.
+
+2021-11-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       * function.c (allocate_struct_function): Don't set x_range_query.
+       * function.h (get_range_query): Move to value-query.h.
+       * gimple-range.cc (enable_ranger): Check that query is currently NULL.
+       (disable_ranger): Clear function current query field.
+       * value-query.cc (get_global_range_query): Relocate to:
+       * value-query.h (get_global_range_query): Here and inline.
+       (get_range_query): Relocate here from function.h.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader::maybe_register_path_dump): New.
+       (back_threader::maybe_register_path): Call maybe_register_path_dump.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::maybe_register_path):
+       Return NULL when unprofitable.
+
+2021-11-09  Martin Jambor  <mjambor@suse.cz>
+
+       * tree.h (build_debug_expr_decl): Declare.
+       * tree.c (build_debug_expr_decl): New function.
+       * cfgexpand.c (avoid_deep_ter_for_debug): Use build_debug_expr_decl
+       instead of building a DEBUG_EXPR_DECL.
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::prepare_debug_expressions): Likewise.
+       * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise.
+       * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
+       * tree-ssa-phiopt.c (spaceship_replacement): Likewise.
+       * tree-ssa-reassoc.c (make_new_ssa_for_def): Likewise.
+
+2021-11-09  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_type_string): New function.
+       (def_builtin): Change debug formatting for easier parsing and
+       include more information.
+       (rs6000_init_builtins): Add dump of autogenerated builtins.
+       (altivec_init_builtins): Dump __builtin_altivec_mask_for_load for
+       completeness.
+
+2021-11-09  Marek Polacek  <polacek@redhat.com>
+
+       * ipa-modref.c (analyze_parms): Fix a typo.
+
+2021-11-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/102957
+       * common/config/riscv/riscv-common.c (multi_letter_subset_rank): Remove
+       assertion for Z*-ext.
+
+2021-11-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_parms): Add past_flags, past_retslot_flags
+       and past_static_chain; merge past summary with current one.
+       (analyze_function): Update.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/invoke.texi (Invoking GCC): Document --param=threader-debug.
+
+2021-11-09  Martin Liska  <mliska@suse.cz>
+
+       * print-rtl.c (rtx_writer::rtx_writer): Make the compilation
+       conditional based on
+       * print-rtl.h (class rtx_writer): Likewise.
+
+2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * input.h (location_hash): Use 'BUILTINS_LOCATION' as spare value
+       for 'Deleted'.  Turn into a '#define'.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::dump): Clean up.
+       (path_range_query::compute_ranges): Same.
+       * value-relation.cc (path_oracle::dump): Same.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * dumpfile.c (dump_options): Remove TDF_THREADING entry.
+       * dumpfile.h (enum dump_flag): Remove TDF_THREADING and adjust
+       remaining entries.
+       * flag-types.h (enum threader_debug): New.
+       * gimple-range-path.cc (DEBUG_SOLVER): Use param_threader_debug.
+       * params.opt: Add entry for --param=threader-debug=.
+
+2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/101204
+       PR other/103157
+       * diagnostic-spec.h (typedef xint_hash_t): Turn into...
+       (struct xint_hash_t): ... this.
+       * doc/gty.texi: Update.
+
+2021-11-09  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in (armv9): New define.
+       (ARMv9a): New group.
+       (armv9-a): New arch definition.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm.h (BASE_ARCH_9A): New arch enum value.
+       * config/arm/t-aprofile: Added armv9-a and armv9+simd.
+       * config/arm/t-arm-elf: Added arm9-a, v9_fps and all_v9_archs
+       to MULTILIB_MATCHES.
+       * config/arm/t-multilib: Added v9_a_nosimd_variants and
+       v9_a_simd_variants to MULTILIB_MATCHES.
+       * doc/invoke.texi: Update docs.
+
+2021-11-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103132
+       * ipa-param-manipulation.c (replace_with_mapped_expr): Early
+       return with error_mark_mode when part of expression is mapped to
+       NULL.
+       (ipa_param_body_adjustments::remap_with_debug_expressions): Set
+       mapped value to NULL if walk_tree returns error_mark_mode.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-strlen.c (compare_nonzero_chars): Pass statement
+       context to ranger.
+       (get_addr_stridx): Same.
+       (get_stridx): Same.
+       (get_range_strlen_dynamic): Same.
+       (handle_builtin_strlen): Same.
+       (handle_builtin_strchr): Same.
+       (handle_builtin_strcpy): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+       (handle_builtin_stxncpy_strncat): Same.
+       (handle_builtin_memcpy): Same.
+       (handle_builtin_strcat): Same.
+       (handle_alloc_call): Same.
+       (handle_builtin_memset): Same.
+       (handle_builtin_string_cmp): Same.
+       (handle_pointer_plus): Same.
+       (count_nonzero_bytes_addr): Same.
+       (count_nonzero_bytes): Same.
+       (handle_store): Same.
+       (fold_strstr_to_strncmp): Same.
+       (handle_integral_assign): Same.
+       (check_and_optimize_stmt): Same.
+       (class strlen_dom_walker): Replace evrp with ranger.
+       (strlen_dom_walker::before_dom_children): Remove evrp.
+       (strlen_dom_walker::after_dom_children): Remove evrp.
+       * gimple-ssa-warn-access.cc (maybe_check_access_sizes):
+       Restrict sprintf output.
+
+2021-11-09  Martin Liska  <mliska@suse.cz>
+
+       * genconditions.c (write_one_condition): Add const qualifier
+       to pointer casting.
+
+2021-11-09  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * match.pd: New pattern to simplify (1 << n) & M ==/!= 0 for M
+       being a power of 2.
+
+2021-11-08  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def (VEC_INIT_V16QI): Use
+       escape-newline support.
+       (VEC_INIT_V4SI): Likewise.
+       (VEC_INIT_V8HI): Likewise.
+       (PACK_V1TI): Likewise.
+       (DIVDEU): Likewise.
+       (VFIRSTMISMATCHOREOSINDEX_V16QI): Likewise.
+       (VFIRSTMISMATCHOREOSINDEX_V8HI): Likewise.
+       (VFIRSTMISMATCHOREOSINDEX_V4SI): Likewise.
+       (CMPRB2): Likewise.
+       (VSTDCP): Likewise.
+       (VSIEDP): Likewise.
+       (FMAF128_ODD): Likewise.
+       (VSCEQPUO): Likewise.
+       (VSIEQP): Likewise.
+       (VSIEQPF): Likewise.
+       (VSTDCQP): Likewise.
+       (PACK_TD): Likewise.
+       (TABORTDC): Likewise.
+       (TABORTDCI): Likewise.
+       (SE_LXVRBX): Likewise.
+       (SE_LXVRHX): Likewise.
+       (SE_LXVRWX): Likewise.
+       (SE_LXVRDX): Likewise.
+       (VREPLACE_UN_UV2DI): Likewise.
+       (VREPLACE_UN_UV4SI): Likewise.
+       (VREPLACE_UN_V2DI): Likewise.
+       (VREPLACE_ELT_UV2DI): Likewise.
+       (VREPLACE_ELT_V2DI): Likewise.
+       (ZE_LXVRBX): Likewise.
+       (ZE_LXVRHX): Likewise.
+       (ZE_LXVRWX): Likewise.
+       (ZE_LXVRDX): Likewise.
+       (CFUGED): Likewise.
+       (CNTLZDM): Likewise.
+       (CNTTZDM): Likewise.
+       (PDEPD): Likewise.
+       (PEXTD): Likewise.
+       (PMXVBF16GER2): Likewise.
+       (PMXVBF16GER2_INTERNAL): Likewise.
+       (PMXVBF16GER2NN): Likewise.
+       (PMXVBF16GER2NN_INTERNAL): Likewise.
+       (PMXVBF16GER2NP): Likewise.
+       (PMXVBF16GER2NP_INTERNAL): Likewise.
+       (PMXVBF16GER2PN): Likewise.
+       (PMXVBF16GER2PN_INTERNAL): Likewise.
+       (PMXVBF16GER2PP): Likewise.
+       (PMXVBF16GER2PP_INTERNAL): Likewise.
+       (PMXVF16GER2): Likewise.
+       (PMXVF16GER2_INTERNAL): Likewise.
+       (PMXVF16GER2NN): Likewise.
+       (PMXVF16GER2NN_INTERNAL): Likewise.
+       (PMXVF16GER2NP): Likewise.
+       (PMXVF16GER2NP_INTERNAL): Likewise.
+       (PMXVF16GER2PN): Likewise.
+       (PMXVF16GER2PN_INTERNAL): Likewise.
+       (PMXVF16GER2PP): Likewise.
+       (PMXVF16GER2PP_INTERNAL): Likewise.
+       (PMXVF32GER_INTERNAL): Likewise.
+       (PMXVF32GERNN): Likewise.
+       (PMXVF32GERNN_INTERNAL): Likewise.
+       (PMXVF32GERNP): Likewise.
+       (PMXVF32GERNP_INTERNAL): Likewise.
+       (PMXVF32GERPN): Likewise.
+       (PMXVF32GERPN_INTERNAL): Likewise.
+       (PMXVF32GERPP): Likewise.
+       (PMXVF32GERPP_INTERNAL): Likewise.
+       (PMXVF64GER): Likewise.
+       (PMXVF64GER_INTERNAL): Likewise.
+       (PMXVF64GERNN): Likewise.
+       (PMXVF64GERNN_INTERNAL): Likewise.
+       (PMXVF64GERNP): Likewise.
+       (PMXVF64GERNP_INTERNAL): Likewise.
+       (PMXVF64GERPN): Likewise.
+       (PMXVF64GERPN_INTERNAL): Likewise.
+       (PMXVF64GERPP): Likewise.
+       (PMXVF64GERPP_INTERNAL): Likewise.
+       (PMXVI16GER2): Likewise.
+       (PMXVI16GER2_INTERNAL): Likewise.
+       (PMXVI16GER2PP): Likewise.
+       (PMXVI16GER2PP_INTERNAL): Likewise.
+       (PMXVI16GER2S): Likewise.
+       (PMXVI16GER2S_INTERNAL): Likewise.
+       (PMXVI16GER2SPP): Likewise.
+       (PMXVI16GER2SPP_INTERNAL): Likewise.
+       (PMXVI4GER8): Likewise.
+       (PMXVI4GER8_INTERNAL): Likewise.
+       (PMXVI4GER8PP): Likewise.
+       (PMXVI4GER8PP_INTERNAL): Likewise.
+       (PMXVI8GER4): Likewise.
+       (PMXVI8GER4_INTERNAL): Likewise.
+       (PMXVI8GER4PP): Likewise.
+       (PMXVI8GER4PP_INTERNAL): Likewise.
+       (PMXVI8GER4SPP): Likewise.
+       (PMXVI8GER4SPP_INTERNAL): Likewise.
+       * config/rs6000/rs6000-gen-builtins.c (MAXLINES): New macro.
+       (linebuf): Increase size.
+       (lines): New variable.
+       (lastline): Likewise.
+       (real_line_pos): New function.
+       (diag): Change signature.
+       (bif_diag): Change signature; support escape-newline handling.
+       (ovld_diag): Likewise.
+       (fatal): Move earlier.
+       (consume_whitespace): Adjust diag call.
+       (advance_line): Add escape-newline handling; call fatal.
+       (safe_inc_pos): Adjust diag call.
+       (match_identifier): Likewise.
+       (match_integer): Likewise.
+       (match_to_right_bracket): Call fatal instead of diag; adjust diag
+       call.
+       (match_basetype): Adjust diag calls.
+       (match_bracketed_pair): Likewise.
+       (match_const_restriction): Likewise.
+       (match_type): Likewise.
+       (parse_args): Likewise.
+       (parse_bif_attrs): Likewise.
+       (complete_vector_type): Likewise.
+       (complete_base_type): Likewise.
+       (parse_prototype): Likewise.
+       (parse_bif_entry): Likewise.
+       (parse_bif_stanza): Likewise.
+       (parse_ovld_entry): Likewise.
+       (parse_ovld_stanza): Likewise.
+       (main): Allocate buffers for lines[].
+
+2021-11-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (legitimize_pic_address): Adjust comment and
+       use the REG argument on the CM_LARGE_PIC code path as well.
+       * config/i386/predicates.md (gotoff_operand): Do not treat VxWorks
+       specially with the large code models.
+
+2021-11-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gimple.c (gimple_call_static_chain_flags): Revert the workaround
+       allowing interposition since issues with binds_to_local_def were
+       hopefully solved.
+
+2021-11-08  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103122
+       * gimple-range.cc (gimple_ranger::range_of_expr): Request the cache
+       entry with "calulate new values" set to false.
+
+2021-11-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       * builtins.c (is_simple_builtin): Add builitin_dwarf_cfa
+       and builtin_return_address.
+       (builtin_fnspec): Annotate builtin_return,
+       bulitin_eh_pointer, builtin_eh_filter, builtin_unwind_resume,
+       builtin_cxa_end_cleanup, builtin_eh_copy_values,
+       builtin_frame_address, builtin_apply_args,
+       builtin_asan_before_dynamic_init, builtin_asan_after_dynamic_init,
+       builtin_prefetch, builtin_dwarf_cfa, builtin_return_addrss
+       as ".c"
+       * ipa-pure-const.c (special_builtin_state): Add builtin_dwarf_cfa
+       and builtin_return_address.
+
+2021-11-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-optimization/103177
+       * passes.def: Move uncprop after pure/const and modref.
+
+2021-11-08  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103099
+       PR ipa/103107
+       * tree-inline.c (remap_gimple_stmt): Unshare the expression without
+       location before invoking remap_with_debug_expressions on it.
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::prepare_debug_expressions): Likewise.
+
+2021-11-08  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/vsx.md (vsx_splat_v4si_di): Revert "wa"
+       constraint to "we".
+
+2021-11-08  Richard Biener  <rguenther@suse.de>
+
+       * cfgloop.c (verify_loop_structure): Use a temporary BB flag
+       instead of an sbitmap to cache irreducible state.
+
+2021-11-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103120
+       * gimple-range-path.cc (path_range_query::range_defined_in_block):
+       Bail if there's a cache entry.
+
+2021-11-08  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use
+       rs6000_builtin_decls_x when appropriate.
+       (add_condition_to_bb): Likewise.
+       (rs6000_atomic_assign_expand_fenv): Likewise.
+
+2021-11-08  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function.
+       (rs6000_builtin_decl): Call it.
+
+2021-11-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Dump it from decl.
+
+2021-11-08  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100520
+       * coverage.c (coverage_compute_profile_id): Strip .gk when
+       compare debug is used.
+       * system.h (endswith): New function.
+
+2021-11-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Dump static_chain_decl.
+
+2021-11-08  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/rs6000/rbtree.c: Fix 'Copyright (C) 2020-21' into '2020-2021'
+       * config/rs6000/rbtree.h: Likewise.
+       * config/rs6000/rs6000-builtin-new.def: Likewise.
+       * config/rs6000/rs6000-gen-builtins.c: Likewise.
+       * config/rs6000/rs6000-overload.def: Likewise.
+
+2021-11-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_ldn_stn_vectors): New function.
+       (aarch64_address_cost): Use it instead of testing for CImode and
+       XImode directly.
+
+2021-11-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * genmodes.c (emit_insn_modes_h): Define NUM_MODE_* macros.
+       * expmed.h (NUM_MODE_INT): Delete in favor of genmodes definitions.
+       (NUM_MODE_PARTIAL_INT, NUM_MODE_VECTOR_INT): Likewise.
+       * real.h (real_format_for_mode): Use NUM_MODE_FLOAT and
+       NUM_MODE_DECIMAL_FLOAT.
+       (REAL_MODE_FORMAT): Likewise.
+
+2021-11-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * tree-vect-loop.c (vect_better_loop_vinfo_p): Change how epilogue loop
+       costs are compared.
+
+2021-11-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_create_loop_vinfo): Add main_loop_info
+       parameter.
+       * tree-vect-loop.c (vect_create_loop_vinfo): Likewise.  Set
+       LOOP_VINFO_ORIG_LOOP_INFO and conditionalize set of
+       LOOP_VINFO_NITERS_ASSUMPTIONS.
+       (vect_analyze_loop_1): Adjust.
+       (vect_analyze_loop): Move loop constraint setting and
+       SCEV/niter reset here from vect_create_loop_vinfo to perform
+       it only once.
+       (vect_analyze_loop_form): Move dumping of symbolic niters
+       here from vect_create_loop_vinfo.
+
+2021-11-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (enum modref_special_parms): New enum.
+       (struct modref_access_node): update for special parms.
+       (struct modref_ref_node): Likewise.
+       (struct modref_parm_map): Likewise.
+       (struct modref_tree): Likewise.
+       * ipa-modref.c (dump_access): Likewise.
+       (get_access): Detect static chain.
+       (parm_map_for_arg): Take tree as arg instead of
+       stmt and index.
+       (merge_call_side_effects): Compute map for static chain.
+       (process_fnspec): Update.
+       (struct escape_point): Remove retslot_arg and static_chain_arg.
+       (analyze_parms): Update.
+       (compute_parm_map): Update.
+       (propagate_unknown_call): Update.
+       (modref_propagate_in_scc): Update.
+       (modref_merge_call_site_flags): Update.
+       (ipa_merge_modref_summary_after_inlining): Update.
+       * tree-ssa-alias.c (modref_may_conflict): Handle static chain.
+       * ipa-modref-tree.c (test_merge): Update.
+
+2021-11-08  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin): Disable
+       gimple fold for VSX_BUILTIN_XVMINDP, ALTIVEC_BUILTIN_VMINFP,
+       VSX_BUILTIN_XVMAXDP, ALTIVEC_BUILTIN_VMAXFP when fast-math is not
+       set.
+
+2021-11-08  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/103077
+       * doc/invoke.texi (Options That Control Optimization):
+       Update documentation for -ftree-loop-vectorize and
+       -ftree-slp-vectorize which are enabled by default at -02.
+
+2021-11-08  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * match.pd (Simplifcation (trunc)copysign((extend)a, (extend)b)
+       to .COPYSIGN (a, b)): Add !HONOR_SNANS.
+
+2021-11-08  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * match.pd: Simplify
+       (trunc)fma ((extend)a, (extend)b, (extend)c) to IFN_FMA (a, b,
+       c) under flag_unsafe_math_optimizations.
+
+2021-11-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103055
+       * params.opt (modref-max-depth): Add range.
+       (modref-max-adjustments): Fix range.
+
+2021-11-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-pass.h (make_pass_vrp_threader): Remove.
+       * tree-ssa-threadbackward.c
+       (back_threader_profitability::profitable_path_p): Remove
+       ASSERT_EXPR references.
+       * tree-ssa-threadedge.c (jt_state::register_equivs_stmt): Same.
+       * tree-vrp.c (vrp_folder::simplify_casted_conds): Same.
+       (execute_vrp): Same.
+       (class hybrid_threader): Remove.
+       (hybrid_threader::hybrid_threader): Remove.
+       (hybrid_threader::~hybrid_threader): Remove.
+       (hybrid_threader::before_dom_children): Remove.
+       (hybrid_threader::after_dom_children): Remove.
+       (execute_vrp_threader): Remove.
+       (class pass_vrp_threader): Remove.
+       (make_pass_vrp_threader): Remove.
+
+2021-11-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gimple.c (gimple_call_arg_flags): Use interposable_eaf_flags.
+       (gimple_call_retslot_flags): Likewise.
+       (gimple_call_static_chain_flags): Likewise.
+       * ipa-modref.c (remove_useless_eaf_flags): Do not remove everything for
+       NOVOPS.
+       (modref_summary::useful_p): Likewise.
+       (modref_summary_lto::useful_p): Likewise.
+       (analyze_parms): Do not give up on NOVOPS.
+       (analyze_function): When dumping report chnages in EAF flags
+       between IPA and local pass.
+       (modref_merge_call_site_flags): Compute implicit eaf flags
+       based on callee ecf_flags and fnspec; if the function does not
+       bind to current defs use interposable_eaf_flags.
+       (modref_propagate_flags_in_scc): Update.
+       * ipa-modref.h (interposable_eaf_flags): New function.
+
+2021-11-07  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New
+       forward decl.
+       (rs6000_invalid_new_builtin): New function.
+       (rs6000_expand_builtin): Call rs6000_expand_new_builtin.
+       (rs6000_expand_ldst_mask): New function.
+       (new_cpu_expand_builtin): Likewise.
+       (elemrev_icode): Likewise.
+       (ldv_expand_builtin): Likewise.
+       (lxvrse_expand_builtin): Likewise.
+       (lxvrze_expand_builtin): Likewise.
+       (stv_expand_builtin): Likewise.
+       (new_mma_expand_builtin): Likewise.
+       (new_htm_spr_num): Likewise.
+       (new_htm_expand_builtin): Likewise.
+       (rs6000_expand_new_builtin): Likewise.
+       (rs6000_init_builtins): Initialize altivec_builtin_mask_for_load.
+
+2021-11-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_lattice): Add do_dataflow,
+       changed and propagate_to fields.
+       (modref_lattice::release): Free propagate_to
+       (modref_lattice::merge): Do not give up early on unknown
+       lattice values.
+       (modref_lattice::merge_deref): Likewise.
+       (modref_eaf_analysis): Update toplevel comment.
+       (modref_eaf_analysis::analyze_ssa_name): Record postponned ssa names;
+       do optimistic dataflow initialization.
+       (modref_eaf_analysis::merge_with_ssa_name): Build dataflow graph.
+       (modref_eaf_analysis::propagate): New member function.
+       (analyze_parms): Update to new API of modref_eaf_analysis.
+
+2021-11-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.h (cgraph_node::can_be_discarded_p): Do not
+       return true on functions from other partition.
+
+2021-11-06  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/vsx.md (vsx_splat_v4si): Change constraints to "wa".
+       (vsx_splat_v4si_di): Change constraint to "wa".
+
+2021-11-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103061
+       * value-relation.cc (path_oracle::path_oracle): Initialize
+       m_killed_defs.
+       (path_oracle::killing_def): Set m_killed_defs.
+       (path_oracle::query_relation): Do not look at the root oracle for
+       killed defs.
+       * value-relation.h (class path_oracle): Add m_killed_defs.
+
+2021-11-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::find_paths_to_names):
+       Remove gotos and other cleanups.
+
+2021-11-05  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103073
+       * ipa-modref-tree.h (modref_tree::insert): Do nothing for
+       paradoxical and zero sized accesses.
+
+2021-11-05  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103082
+       * ipa-modref-tree.h (struct modref_access_node): Avoid left shift
+       of negative value
+
+2021-11-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Add LTRAMP
+       to the list of symbol prefixes that must be made linker-
+       visible.
+
+2021-11-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config.host: Add support for aarch64-*-darwin.
+       * config/aarch64/host-aarch64-darwin.c: New file.
+       * config/aarch64/x-darwin: New file.
+
+2021-11-05  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103093
+       * gimple-range-gori.cc (range_def_chain::get_imports): Remove assert.
+
+2021-11-05  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102943
+       * gimple-range-cache.cc (class update_list): New.
+       (update_list::add): Replace add_to_update.
+       (update_list::pop): New.
+       (ranger_cache::ranger_cache): Adjust.
+       (ranger_cache::~ranger_cache): Adjust.
+       (ranger_cache::add_to_update): Delete.
+       (ranger_cache::propagate_cache): Adjust to new class.
+       (ranger_cache::propagate_updated_value): Ditto.
+       (ranger_cache::fill_block_cache): Ditto.
+       * gimple-range-cache.h (class ranger_cache): Adjust to update class.
+
+2021-11-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_analyze_loop): Remove obsolete
+       comment and expand on another one.  Combine nested if.
+
+2021-11-05  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR libgomp/96661
+       * config/pa/pa-modes.def: Add OImode integer type.
+       * config/pa/pa.c (pa_scalar_mode_supported_p): Allow TImode
+       for TARGET_64BIT.
+       * config/pa/pa.h (MIN_UNITS_PER_WORD) Define to MIN_UNITS_PER_WORD
+       to UNITS_PER_WORD if IN_LIBGCC2.
+       * config/pa/pa.md (addti3, addvti3, subti3, subvti3, negti2,
+       negvti2, ashlti3, shrpd_internal): New patterns.
+       Change some multi instruction types to multi.
+
+2021-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/100246
+       * config/i386/i386.h
+       (stringop_algs::stringop_strategy::stringop_strategy): Make the ctor
+       constexpr.
+
+2021-11-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/103085
+       * config/aarch64/aarch64.c (aarch64_mov_operand_p): Strip the salt
+       first.
+       * config/aarch64/constraints.md: Support const in Usw.
+
+2021-11-05  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2_DEBUG.
+       * config/pa/pa64-hpux.h (PREFERRED_DEBUGGING_TYPE): Remove define.
+
+2021-11-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vec_info_shared::n_stmts): Add.
+       (LOOP_VINFO_N_STMTS): Likewise.
+       (vec_info_for_bb): Remove unused function.
+       * tree-vectorizer.c (vec_info_shared::vec_info_shared):
+       Initialize n_stmts member.
+       * tree-vect-loop.c: Remove INCLUDE_FUNCTIONAL.
+       (vect_create_loop_vinfo): Do not set loop->aux.
+       (vect_analyze_loop_2): Do not get n_stmts as argument,
+       instead use LOOP_VINFO_N_STMTS.  Set LOOP_VINFO_VECTORIZABLE_P
+       here.
+       (vect_analyze_loop_1): Remove callback, get the mode iterator
+       and autodetected_vector_mode as argument, advancing the
+       iterator and initializing autodetected_vector_mode here.
+       (vect_analyze_loop): Split analysis loop into two, first
+       processing main loops only and then epilogues.
+
+2021-11-05  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (compute_complex_assign_jump_func): Remove
+       unnecessary check for RECORD_TYPE.
+
+2021-11-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi2html: Do not generate old.html any longer.
+
+2021-11-05  Martin Liska  <mliska@suse.cz>
+
+       PR debug/102955
+       * opts.c (finish_options): Reset flag_gtoggle when it is used.
+
+2021-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103046
+       * dwarf2out.c (add_const_value_attribute): Add MODE argument, use it
+       in CONST_WIDE_INT handling.  Adjust recursive calls.
+       (add_location_or_const_value_attribute): Pass DECL_MODE (decl) to
+       new add_const_value_attribute argument.
+       (tree_add_const_value_attribute): Pass TYPE_MODE (type) to new
+       add_const_value_attribute argument.
+
+2021-11-05  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>
+
+       * config/vx-common.h: Test value of TARGET_VXWORKS7 rather
+       than definedness.
+
+2021-11-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (struct vect_loop_form_info): New.
+       (vect_analyze_loop_form): Adjust.
+       (vect_create_loop_vinfo): New.
+       * tree-parloops.c (gather_scalar_reductions): Adjust for
+       vect_analyze_loop_form API change.
+       * tree-vect-loop.c: Include <functional>.
+       (vect_analyze_loop_form_1): Rename to vect_analyze_loop_form,
+       take struct vect_loop_form_info as output parameter and adjust.
+       (vect_analyze_loop_form): Rename to vect_create_loop_vinfo and
+       split out call to the original vect_analyze_loop_form_1.
+       (vect_reanalyze_as_main_loop): Rename to...
+       (vect_analyze_loop_1): ... this, factor out the call to
+       vect_analyze_loop_form and generalize to be able to use it twice ...
+       (vect_analyze_loop): ... here.  Perform vect_analyze_loop_form
+       once only and here.
+
+2021-11-05  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/102991
+       * config/rs6000/fusion.md: Regenerate.
+       * config/rs6000/genfusion.pl: Fix incorrect clobber constraint.
+
+2021-11-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.h (STACK_CHECK_MOVING_SP): New macro
+       definition.
+
+2021-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_gimple_fold_builtin): Add ashl, sshl, ushl, ashr,
+       ashr_simd, lshr, lshr_simd.
+       * config/aarch64/aarch64-simd-builtins.def (lshr): Use USHIFTIMM.
+       * config/aarch64/arm_neon.h (vshr_n_u8, vshr_n_u16, vshr_n_u32,
+       vshrq_n_u8, vshrq_n_u16, vshrq_n_u32, vshrq_n_u64): Fix type hack.
+
+2021-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * match.pd: New negate+shift pattern.
+
+2021-11-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103079
+       * gimple-range-gori.cc (gimple_range_calc_op1): Treat undefined as
+       varying.
+       (gimple_range_calc_op2): Ditto.
+
+2021-11-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * ipa-param-manipulation.h (class ipa_param_body_adjustments): New
+       members remap_with_debug_expressions, m_dead_ssa_debug_equiv,
+       m_dead_stmt_debug_equiv and prepare_debug_expressions.  Added
+       parameter to mark_dead_statements.
+       * ipa-param-manipulation.c: Include tree-phinodes.h and cfgexpand.h.
+       (ipa_param_body_adjustments::mark_dead_statements): New parameter
+       debugstack, push into it all SSA names used in debug statements,
+       produce m_dead_ssa_debug_equiv mapping for the removed param.
+       (replace_with_mapped_expr): New function.
+       (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
+       (ipa_param_body_adjustments::prepare_debug_expressions): Likewise.
+       (ipa_param_body_adjustments::common_initialization): Gather and
+       procecc SSA which will be removed but are in debug statements. Simplify.
+       (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize
+       new members.
+       * tree-inline.c (remap_gimple_stmt): Create a debug bind when possible
+       when avoiding a copy of an unnecessary statement.  Remap removed SSA
+       names in existing debug statements.
+       (tree_function_versioning): Do not create DEBUG_EXPR_DECL for removed
+       parameters if we have already done so.
+
+2021-11-04  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103058
+       * gimple.c (gimple_call_static_chain_flags): Handle case when
+       nested function does not bind locally.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_value): Generate
+       a register rtx for Neon vector-tuple modes.
+       (aarch64_layout_arg): Likewise.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * lower-subreg.c (simple_move): Prevent decomposition if
+       modes are not tieable.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (v2x8qi_UP): Define.
+       (v2x4hi_UP): Likewise.
+       (v2x4hf_UP): Likewise.
+       (v2x4bf_UP): Likewise.
+       (v2x2si_UP): Likewise.
+       (v2x2sf_UP): Likewise.
+       (v2x1di_UP): Likewise.
+       (v2x1df_UP): Likewise.
+       (v2x16qi_UP): Likewise.
+       (v2x8hi_UP): Likewise.
+       (v2x8hf_UP): Likewise.
+       (v2x8bf_UP): Likewise.
+       (v2x4si_UP): Likewise.
+       (v2x4sf_UP): Likewise.
+       (v2x2di_UP): Likewise.
+       (v2x2df_UP): Likewise.
+       (v3x8qi_UP): Likewise.
+       (v3x4hi_UP): Likewise.
+       (v3x4hf_UP): Likewise.
+       (v3x4bf_UP): Likewise.
+       (v3x2si_UP): Likewise.
+       (v3x2sf_UP): Likewise.
+       (v3x1di_UP): Likewise.
+       (v3x1df_UP): Likewise.
+       (v3x16qi_UP): Likewise.
+       (v3x8hi_UP): Likewise.
+       (v3x8hf_UP): Likewise.
+       (v3x8bf_UP): Likewise.
+       (v3x4si_UP): Likewise.
+       (v3x4sf_UP): Likewise.
+       (v3x2di_UP): Likewise.
+       (v3x2df_UP): Likewise.
+       (v4x8qi_UP): Likewise.
+       (v4x4hi_UP): Likewise.
+       (v4x4hf_UP): Likewise.
+       (v4x4bf_UP): Likewise.
+       (v4x2si_UP): Likewise.
+       (v4x2sf_UP): Likewise.
+       (v4x1di_UP): Likewise.
+       (v4x1df_UP): Likewise.
+       (v4x16qi_UP): Likewise.
+       (v4x8hi_UP): Likewise.
+       (v4x8hf_UP): Likewise.
+       (v4x8bf_UP): Likewise.
+       (v4x4si_UP): Likewise.
+       (v4x4sf_UP): Likewise.
+       (v4x2di_UP): Likewise.
+       (v4x2df_UP): Likewise.
+       (TYPES_GETREGP): Delete.
+       (TYPES_SETREGP): Likewise.
+       (TYPES_LOADSTRUCT_U): Define.
+       (TYPES_LOADSTRUCT_P): Likewise.
+       (TYPES_LOADSTRUCT_LANE_U): Likewise.
+       (TYPES_LOADSTRUCT_LANE_P): Likewise.
+       (TYPES_STORE1P): Move for consistency.
+       (TYPES_STORESTRUCT_U): Define.
+       (TYPES_STORESTRUCT_P): Likewise.
+       (TYPES_STORESTRUCT_LANE_U): Likewise.
+       (TYPES_STORESTRUCT_LANE_P): Likewise.
+       (aarch64_simd_tuple_types): Define.
+       (aarch64_lookup_simd_builtin_type): Handle tuple type lookup.
+       (aarch64_init_simd_builtin_functions): Update frontend lookup
+       for builtin functions after handling arm_neon.h pragma.
+       (register_tuple_type): Manually set modes of single-integer
+       tuple types. Record tuple types.
+       * config/aarch64/aarch64-modes.def
+       (ADV_SIMD_D_REG_STRUCT_MODES): Define D-register tuple modes.
+       (ADV_SIMD_Q_REG_STRUCT_MODES): Define Q-register tuple modes.
+       (SVE_MODES): Give single-vector modes priority over vector-
+       tuple modes.
+       (VECTOR_MODES_WITH_PREFIX): Set partial-vector mode order to
+       be after all single-vector modes.
+       * config/aarch64/aarch64-simd-builtins.def: Update builtin
+       generator macros to reflect modifications to the backend
+       patterns.
+       * config/aarch64/aarch64-simd.md (aarch64_simd_ld2<mode>):
+       Use vector-tuple mode iterator and rename to...
+       (aarch64_simd_ld2<vstruct_elt>): This.
+       (aarch64_simd_ld2r<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_ld2r<vstruct_elt>): This.
+       (aarch64_vec_load_lanesoi_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (aarch64_vec_load_lanes<mode>_lane<vstruct_elt>): This.
+       (vec_load_lanesoi<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (vec_load_lanes<mode><vstruct_elt>): This.
+       (aarch64_simd_st2<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_st2<vstruct_elt>): This.
+       (aarch64_vec_store_lanesoi_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (aarch64_vec_store_lanes<mode>_lane<vstruct_elt>): This.
+       (vec_store_lanesoi<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (vec_store_lanes<mode><vstruct_elt>): This.
+       (aarch64_simd_ld3<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_ld3<vstruct_elt>): This.
+       (aarch64_simd_ld3r<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_ld3r<vstruct_elt>): This.
+       (aarch64_vec_load_lanesci_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (vec_load_lanesci<mode>): This.
+       (aarch64_simd_st3<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_st3<vstruct_elt>): This.
+       (aarch64_vec_store_lanesci_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (vec_store_lanesci<mode>): This.
+       (aarch64_simd_ld4<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_ld4<vstruct_elt>): This.
+       (aarch64_simd_ld4r<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_ld4r<vstruct_elt>): This.
+       (aarch64_vec_load_lanesxi_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (vec_load_lanesxi<mode>): This.
+       (aarch64_simd_st4<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_simd_st4<vstruct_elt>): This.
+       (aarch64_vec_store_lanesxi_lane<mode>): Use vector-tuple mode
+       iterator and rename to...
+       (vec_store_lanesxi<mode>): This.
+       (mov<mode>): Define for Neon vector-tuple modes.
+       (aarch64_ld1x3<VALLDIF:mode>): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_ld1x3<vstruct_elt>): This.
+       (aarch64_ld1_x3_<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld1_x3_<vstruct_elt>): This.
+       (aarch64_ld1x4<VALLDIF:mode>): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_ld1x4<vstruct_elt>): This.
+       (aarch64_ld1_x4_<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld1_x4_<vstruct_elt>): This.
+       (aarch64_st1x2<VALLDIF:mode>): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_st1x2<vstruct_elt>): This.
+       (aarch64_st1_x2_<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st1_x2_<vstruct_elt>): This.
+       (aarch64_st1x3<VALLDIF:mode>): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_st1x3<vstruct_elt>): This.
+       (aarch64_st1_x3_<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st1_x3_<vstruct_elt>): This.
+       (aarch64_st1x4<VALLDIF:mode>): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_st1x4<vstruct_elt>): This.
+       (aarch64_st1_x4_<mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st1_x4_<vstruct_elt>): This.
+       (*aarch64_mov<mode>): Define for vector-tuple modes.
+       (*aarch64_be_mov<mode>): Likewise.
+       (aarch64_ld<VSTRUCT:nregs>r<VALLDIF:mode>): Use vector-tuple
+       mode iterator and rename to...
+       (aarch64_ld<nregs>r<vstruct_elt>): This.
+       (aarch64_ld2<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld2<vstruct_elt>_dreg): This.
+       (aarch64_ld3<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld3<vstruct_elt>_dreg): This.
+       (aarch64_ld4<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld4<vstruct_elt>_dreg): This.
+       (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Use vector-tuple mode
+       iterator and rename to...
+       (aarch64_ld<nregs><vstruct_elt>): Use vector-tuple mode
+       iterator and rename to...
+       (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Use vector-tuple mode
+       (aarch64_ld1x2<VQ:mode>): Delete.
+       (aarch64_ld1x2<VDC:mode>): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_ld1x2<vstruct_elt>): This.
+       (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): Use vector-
+       tuple mode iterator and rename to...
+       (aarch64_ld<nregs>_lane<vstruct_elt>): This.
+       (aarch64_get_dreg<VSTRUCT:mode><VDC:mode>): Delete.
+       (aarch64_get_qreg<VSTRUCT:mode><VQ:mode>): Likewise.
+       (aarch64_st2<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st2<vstruct_elt>_dreg): This.
+       (aarch64_st3<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st3<vstruct_elt>_dreg): This.
+       (aarch64_st4<mode>_dreg): Use vector-tuple mode iterator and
+       rename to...
+       (aarch64_st4<vstruct_elt>_dreg): This.
+       (aarch64_st<VSTRUCT:nregs><VDC:mode>): Use vector-tuple mode
+       iterator and rename to...
+       (aarch64_st<nregs><vstruct_elt>): This.
+       (aarch64_st<VSTRUCT:nregs><VQ:mode>): Use vector-tuple mode
+       iterator and rename to aarch64_st<nregs><vstruct_elt>.
+       (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): Use vector-
+       tuple mode iterator and rename to...
+       (aarch64_st<nregs>_lane<vstruct_elt>): This.
+       (aarch64_set_qreg<VSTRUCT:mode><VQ:mode>): Delete.
+       (aarch64_simd_ld1<mode>_x2): Use vector-tuple mode iterator
+       and rename to...
+       (aarch64_simd_ld1<vstruct_elt>_x2): This.
+       * config/aarch64/aarch64.c (aarch64_advsimd_struct_mode_p):
+       Refactor to include new vector-tuple modes.
+       (aarch64_classify_vector_mode): Add cases for new vector-
+       tuple modes.
+       (aarch64_advsimd_partial_struct_mode_p): Define.
+       (aarch64_advsimd_full_struct_mode_p): Likewise.
+       (aarch64_advsimd_vector_array_mode): Likewise.
+       (aarch64_sve_data_mode): Change location in file.
+       (aarch64_array_mode): Handle case of Neon vector-tuple modes.
+       (aarch64_hard_regno_nregs): Handle case of partial Neon
+       vector structures.
+       (aarch64_classify_address): Refactor to include handling of
+       Neon vector-tuple modes.
+       (aarch64_print_operand): Print "d" for "%R" for a partial
+       Neon vector structure.
+       (aarch64_expand_vec_perm_1): Use new vector-tuple mode.
+       (aarch64_modes_tieable_p): Prevent tieing Neon partial struct
+       modes with scalar machines modes larger than 8 bytes.
+       (aarch64_can_change_mode_class): Don't allow changes between
+       partial and full Neon vector-structure modes.
+       * config/aarch64/arm_neon.h (vst2_lane_f16): Use updated
+       builtin and remove boiler-plate code for opaque mode.
+       (vst2_lane_f32): Likewise.
+       (vst2_lane_f64): Likewise.
+       (vst2_lane_p8): Likewise.
+       (vst2_lane_p16): Likewise.
+       (vst2_lane_p64): Likewise.
+       (vst2_lane_s8): Likewise.
+       (vst2_lane_s16): Likewise.
+       (vst2_lane_s32): Likewise.
+       (vst2_lane_s64): Likewise.
+       (vst2_lane_u8): Likewise.
+       (vst2_lane_u16): Likewise.
+       (vst2_lane_u32): Likewise.
+       (vst2_lane_u64): Likewise.
+       (vst2q_lane_f16): Likewise.
+       (vst2q_lane_f32): Likewise.
+       (vst2q_lane_f64): Likewise.
+       (vst2q_lane_p8): Likewise.
+       (vst2q_lane_p16): Likewise.
+       (vst2q_lane_p64): Likewise.
+       (vst2q_lane_s8): Likewise.
+       (vst2q_lane_s16): Likewise.
+       (vst2q_lane_s32): Likewise.
+       (vst2q_lane_s64): Likewise.
+       (vst2q_lane_u8): Likewise.
+       (vst2q_lane_u16): Likewise.
+       (vst2q_lane_u32): Likewise.
+       (vst2q_lane_u64): Likewise.
+       (vst3_lane_f16): Likewise.
+       (vst3_lane_f32): Likewise.
+       (vst3_lane_f64): Likewise.
+       (vst3_lane_p8): Likewise.
+       (vst3_lane_p16): Likewise.
+       (vst3_lane_p64): Likewise.
+       (vst3_lane_s8): Likewise.
+       (vst3_lane_s16): Likewise.
+       (vst3_lane_s32): Likewise.
+       (vst3_lane_s64): Likewise.
+       (vst3_lane_u8): Likewise.
+       (vst3_lane_u16): Likewise.
+       (vst3_lane_u32): Likewise.
+       (vst3_lane_u64): Likewise.
+       (vst3q_lane_f16): Likewise.
+       (vst3q_lane_f32): Likewise.
+       (vst3q_lane_f64): Likewise.
+       (vst3q_lane_p8): Likewise.
+       (vst3q_lane_p16): Likewise.
+       (vst3q_lane_p64): Likewise.
+       (vst3q_lane_s8): Likewise.
+       (vst3q_lane_s16): Likewise.
+       (vst3q_lane_s32): Likewise.
+       (vst3q_lane_s64): Likewise.
+       (vst3q_lane_u8): Likewise.
+       (vst3q_lane_u16): Likewise.
+       (vst3q_lane_u32): Likewise.
+       (vst3q_lane_u64): Likewise.
+       (vst4_lane_f16): Likewise.
+       (vst4_lane_f32): Likewise.
+       (vst4_lane_f64): Likewise.
+       (vst4_lane_p8): Likewise.
+       (vst4_lane_p16): Likewise.
+       (vst4_lane_p64): Likewise.
+       (vst4_lane_s8): Likewise.
+       (vst4_lane_s16): Likewise.
+       (vst4_lane_s32): Likewise.
+       (vst4_lane_s64): Likewise.
+       (vst4_lane_u8): Likewise.
+       (vst4_lane_u16): Likewise.
+       (vst4_lane_u32): Likewise.
+       (vst4_lane_u64): Likewise.
+       (vst4q_lane_f16): Likewise.
+       (vst4q_lane_f32): Likewise.
+       (vst4q_lane_f64): Likewise.
+       (vst4q_lane_p8): Likewise.
+       (vst4q_lane_p16): Likewise.
+       (vst4q_lane_p64): Likewise.
+       (vst4q_lane_s8): Likewise.
+       (vst4q_lane_s16): Likewise.
+       (vst4q_lane_s32): Likewise.
+       (vst4q_lane_s64): Likewise.
+       (vst4q_lane_u8): Likewise.
+       (vst4q_lane_u16): Likewise.
+       (vst4q_lane_u32): Likewise.
+       (vst4q_lane_u64): Likewise.
+       (vtbl3_s8): Likewise.
+       (vtbl3_u8): Likewise.
+       (vtbl3_p8): Likewise.
+       (vtbl4_s8): Likewise.
+       (vtbl4_u8): Likewise.
+       (vtbl4_p8): Likewise.
+       (vld1_u8_x3): Likewise.
+       (vld1_s8_x3): Likewise.
+       (vld1_u16_x3): Likewise.
+       (vld1_s16_x3): Likewise.
+       (vld1_u32_x3): Likewise.
+       (vld1_s32_x3): Likewise.
+       (vld1_u64_x3): Likewise.
+       (vld1_s64_x3): Likewise.
+       (vld1_f16_x3): Likewise.
+       (vld1_f32_x3): Likewise.
+       (vld1_f64_x3): Likewise.
+       (vld1_p8_x3): Likewise.
+       (vld1_p16_x3): Likewise.
+       (vld1_p64_x3): Likewise.
+       (vld1q_u8_x3): Likewise.
+       (vld1q_s8_x3): Likewise.
+       (vld1q_u16_x3): Likewise.
+       (vld1q_s16_x3): Likewise.
+       (vld1q_u32_x3): Likewise.
+       (vld1q_s32_x3): Likewise.
+       (vld1q_u64_x3): Likewise.
+       (vld1q_s64_x3): Likewise.
+       (vld1q_f16_x3): Likewise.
+       (vld1q_f32_x3): Likewise.
+       (vld1q_f64_x3): Likewise.
+       (vld1q_p8_x3): Likewise.
+       (vld1q_p16_x3): Likewise.
+       (vld1q_p64_x3): Likewise.
+       (vld1_u8_x2): Likewise.
+       (vld1_s8_x2): Likewise.
+       (vld1_u16_x2): Likewise.
+       (vld1_s16_x2): Likewise.
+       (vld1_u32_x2): Likewise.
+       (vld1_s32_x2): Likewise.
+       (vld1_u64_x2): Likewise.
+       (vld1_s64_x2): Likewise.
+       (vld1_f16_x2): Likewise.
+       (vld1_f32_x2): Likewise.
+       (vld1_f64_x2): Likewise.
+       (vld1_p8_x2): Likewise.
+       (vld1_p16_x2): Likewise.
+       (vld1_p64_x2): Likewise.
+       (vld1q_u8_x2): Likewise.
+       (vld1q_s8_x2): Likewise.
+       (vld1q_u16_x2): Likewise.
+       (vld1q_s16_x2): Likewise.
+       (vld1q_u32_x2): Likewise.
+       (vld1q_s32_x2): Likewise.
+       (vld1q_u64_x2): Likewise.
+       (vld1q_s64_x2): Likewise.
+       (vld1q_f16_x2): Likewise.
+       (vld1q_f32_x2): Likewise.
+       (vld1q_f64_x2): Likewise.
+       (vld1q_p8_x2): Likewise.
+       (vld1q_p16_x2): Likewise.
+       (vld1q_p64_x2): Likewise.
+       (vld1_s8_x4): Likewise.
+       (vld1q_s8_x4): Likewise.
+       (vld1_s16_x4): Likewise.
+       (vld1q_s16_x4): Likewise.
+       (vld1_s32_x4): Likewise.
+       (vld1q_s32_x4): Likewise.
+       (vld1_u8_x4): Likewise.
+       (vld1q_u8_x4): Likewise.
+       (vld1_u16_x4): Likewise.
+       (vld1q_u16_x4): Likewise.
+       (vld1_u32_x4): Likewise.
+       (vld1q_u32_x4): Likewise.
+       (vld1_f16_x4): Likewise.
+       (vld1q_f16_x4): Likewise.
+       (vld1_f32_x4): Likewise.
+       (vld1q_f32_x4): Likewise.
+       (vld1_p8_x4): Likewise.
+       (vld1q_p8_x4): Likewise.
+       (vld1_p16_x4): Likewise.
+       (vld1q_p16_x4): Likewise.
+       (vld1_s64_x4): Likewise.
+       (vld1_u64_x4): Likewise.
+       (vld1_p64_x4): Likewise.
+       (vld1q_s64_x4): Likewise.
+       (vld1q_u64_x4): Likewise.
+       (vld1q_p64_x4): Likewise.
+       (vld1_f64_x4): Likewise.
+       (vld1q_f64_x4): Likewise.
+       (vld2_s64): Likewise.
+       (vld2_u64): Likewise.
+       (vld2_f64): Likewise.
+       (vld2_s8): Likewise.
+       (vld2_p8): Likewise.
+       (vld2_p64): Likewise.
+       (vld2_s16): Likewise.
+       (vld2_p16): Likewise.
+       (vld2_s32): Likewise.
+       (vld2_u8): Likewise.
+       (vld2_u16): Likewise.
+       (vld2_u32): Likewise.
+       (vld2_f16): Likewise.
+       (vld2_f32): Likewise.
+       (vld2q_s8): Likewise.
+       (vld2q_p8): Likewise.
+       (vld2q_s16): Likewise.
+       (vld2q_p16): Likewise.
+       (vld2q_p64): Likewise.
+       (vld2q_s32): Likewise.
+       (vld2q_s64): Likewise.
+       (vld2q_u8): Likewise.
+       (vld2q_u16): Likewise.
+       (vld2q_u32): Likewise.
+       (vld2q_u64): Likewise.
+       (vld2q_f16): Likewise.
+       (vld2q_f32): Likewise.
+       (vld2q_f64): Likewise.
+       (vld3_s64): Likewise.
+       (vld3_u64): Likewise.
+       (vld3_f64): Likewise.
+       (vld3_s8): Likewise.
+       (vld3_p8): Likewise.
+       (vld3_s16): Likewise.
+       (vld3_p16): Likewise.
+       (vld3_s32): Likewise.
+       (vld3_u8): Likewise.
+       (vld3_u16): Likewise.
+       (vld3_u32): Likewise.
+       (vld3_f16): Likewise.
+       (vld3_f32): Likewise.
+       (vld3_p64): Likewise.
+       (vld3q_s8): Likewise.
+       (vld3q_p8): Likewise.
+       (vld3q_s16): Likewise.
+       (vld3q_p16): Likewise.
+       (vld3q_s32): Likewise.
+       (vld3q_s64): Likewise.
+       (vld3q_u8): Likewise.
+       (vld3q_u16): Likewise.
+       (vld3q_u32): Likewise.
+       (vld3q_u64): Likewise.
+       (vld3q_f16): Likewise.
+       (vld3q_f32): Likewise.
+       (vld3q_f64): Likewise.
+       (vld3q_p64): Likewise.
+       (vld4_s64): Likewise.
+       (vld4_u64): Likewise.
+       (vld4_f64): Likewise.
+       (vld4_s8): Likewise.
+       (vld4_p8): Likewise.
+       (vld4_s16): Likewise.
+       (vld4_p16): Likewise.
+       (vld4_s32): Likewise.
+       (vld4_u8): Likewise.
+       (vld4_u16): Likewise.
+       (vld4_u32): Likewise.
+       (vld4_f16): Likewise.
+       (vld4_f32): Likewise.
+       (vld4_p64): Likewise.
+       (vld4q_s8): Likewise.
+       (vld4q_p8): Likewise.
+       (vld4q_s16): Likewise.
+       (vld4q_p16): Likewise.
+       (vld4q_s32): Likewise.
+       (vld4q_s64): Likewise.
+       (vld4q_u8): Likewise.
+       (vld4q_u16): Likewise.
+       (vld4q_u32): Likewise.
+       (vld4q_u64): Likewise.
+       (vld4q_f16): Likewise.
+       (vld4q_f32): Likewise.
+       (vld4q_f64): Likewise.
+       (vld4q_p64): Likewise.
+       (vld2_dup_s8): Likewise.
+       (vld2_dup_s16): Likewise.
+       (vld2_dup_s32): Likewise.
+       (vld2_dup_f16): Likewise.
+       (vld2_dup_f32): Likewise.
+       (vld2_dup_f64): Likewise.
+       (vld2_dup_u8): Likewise.
+       (vld2_dup_u16): Likewise.
+       (vld2_dup_u32): Likewise.
+       (vld2_dup_p8): Likewise.
+       (vld2_dup_p16): Likewise.
+       (vld2_dup_p64): Likewise.
+       (vld2_dup_s64): Likewise.
+       (vld2_dup_u64): Likewise.
+       (vld2q_dup_s8): Likewise.
+       (vld2q_dup_p8): Likewise.
+       (vld2q_dup_s16): Likewise.
+       (vld2q_dup_p16): Likewise.
+       (vld2q_dup_s32): Likewise.
+       (vld2q_dup_s64): Likewise.
+       (vld2q_dup_u8): Likewise.
+       (vld2q_dup_u16): Likewise.
+       (vld2q_dup_u32): Likewise.
+       (vld2q_dup_u64): Likewise.
+       (vld2q_dup_f16): Likewise.
+       (vld2q_dup_f32): Likewise.
+       (vld2q_dup_f64): Likewise.
+       (vld2q_dup_p64): Likewise.
+       (vld3_dup_s64): Likewise.
+       (vld3_dup_u64): Likewise.
+       (vld3_dup_f64): Likewise.
+       (vld3_dup_s8): Likewise.
+       (vld3_dup_p8): Likewise.
+       (vld3_dup_s16): Likewise.
+       (vld3_dup_p16): Likewise.
+       (vld3_dup_s32): Likewise.
+       (vld3_dup_u8): Likewise.
+       (vld3_dup_u16): Likewise.
+       (vld3_dup_u32): Likewise.
+       (vld3_dup_f16): Likewise.
+       (vld3_dup_f32): Likewise.
+       (vld3_dup_p64): Likewise.
+       (vld3q_dup_s8): Likewise.
+       (vld3q_dup_p8): Likewise.
+       (vld3q_dup_s16): Likewise.
+       (vld3q_dup_p16): Likewise.
+       (vld3q_dup_s32): Likewise.
+       (vld3q_dup_s64): Likewise.
+       (vld3q_dup_u8): Likewise.
+       (vld3q_dup_u16): Likewise.
+       (vld3q_dup_u32): Likewise.
+       (vld3q_dup_u64): Likewise.
+       (vld3q_dup_f16): Likewise.
+       (vld3q_dup_f32): Likewise.
+       (vld3q_dup_f64): Likewise.
+       (vld3q_dup_p64): Likewise.
+       (vld4_dup_s64): Likewise.
+       (vld4_dup_u64): Likewise.
+       (vld4_dup_f64): Likewise.
+       (vld4_dup_s8): Likewise.
+       (vld4_dup_p8): Likewise.
+       (vld4_dup_s16): Likewise.
+       (vld4_dup_p16): Likewise.
+       (vld4_dup_s32): Likewise.
+       (vld4_dup_u8): Likewise.
+       (vld4_dup_u16): Likewise.
+       (vld4_dup_u32): Likewise.
+       (vld4_dup_f16): Likewise.
+       (vld4_dup_f32): Likewise.
+       (vld4_dup_p64): Likewise.
+       (vld4q_dup_s8): Likewise.
+       (vld4q_dup_p8): Likewise.
+       (vld4q_dup_s16): Likewise.
+       (vld4q_dup_p16): Likewise.
+       (vld4q_dup_s32): Likewise.
+       (vld4q_dup_s64): Likewise.
+       (vld4q_dup_u8): Likewise.
+       (vld4q_dup_u16): Likewise.
+       (vld4q_dup_u32): Likewise.
+       (vld4q_dup_u64): Likewise.
+       (vld4q_dup_f16): Likewise.
+       (vld4q_dup_f32): Likewise.
+       (vld4q_dup_f64): Likewise.
+       (vld4q_dup_p64): Likewise.
+       (vld2_lane_u8): Likewise.
+       (vld2_lane_u16): Likewise.
+       (vld2_lane_u32): Likewise.
+       (vld2_lane_u64): Likewise.
+       (vld2_lane_s8): Likewise.
+       (vld2_lane_s16): Likewise.
+       (vld2_lane_s32): Likewise.
+       (vld2_lane_s64): Likewise.
+       (vld2_lane_f16): Likewise.
+       (vld2_lane_f32): Likewise.
+       (vld2_lane_f64): Likewise.
+       (vld2_lane_p8): Likewise.
+       (vld2_lane_p16): Likewise.
+       (vld2_lane_p64): Likewise.
+       (vld2q_lane_u8): Likewise.
+       (vld2q_lane_u16): Likewise.
+       (vld2q_lane_u32): Likewise.
+       (vld2q_lane_u64): Likewise.
+       (vld2q_lane_s8): Likewise.
+       (vld2q_lane_s16): Likewise.
+       (vld2q_lane_s32): Likewise.
+       (vld2q_lane_s64): Likewise.
+       (vld2q_lane_f16): Likewise.
+       (vld2q_lane_f32): Likewise.
+       (vld2q_lane_f64): Likewise.
+       (vld2q_lane_p8): Likewise.
+       (vld2q_lane_p16): Likewise.
+       (vld2q_lane_p64): Likewise.
+       (vld3_lane_u8): Likewise.
+       (vld3_lane_u16): Likewise.
+       (vld3_lane_u32): Likewise.
+       (vld3_lane_u64): Likewise.
+       (vld3_lane_s8): Likewise.
+       (vld3_lane_s16): Likewise.
+       (vld3_lane_s32): Likewise.
+       (vld3_lane_s64): Likewise.
+       (vld3_lane_f16): Likewise.
+       (vld3_lane_f32): Likewise.
+       (vld3_lane_f64): Likewise.
+       (vld3_lane_p8): Likewise.
+       (vld3_lane_p16): Likewise.
+       (vld3_lane_p64): Likewise.
+       (vld3q_lane_u8): Likewise.
+       (vld3q_lane_u16): Likewise.
+       (vld3q_lane_u32): Likewise.
+       (vld3q_lane_u64): Likewise.
+       (vld3q_lane_s8): Likewise.
+       (vld3q_lane_s16): Likewise.
+       (vld3q_lane_s32): Likewise.
+       (vld3q_lane_s64): Likewise.
+       (vld3q_lane_f16): Likewise.
+       (vld3q_lane_f32): Likewise.
+       (vld3q_lane_f64): Likewise.
+       (vld3q_lane_p8): Likewise.
+       (vld3q_lane_p16): Likewise.
+       (vld3q_lane_p64): Likewise.
+       (vld4_lane_u8): Likewise.
+       (vld4_lane_u16): Likewise.
+       (vld4_lane_u32): Likewise.
+       (vld4_lane_u64): Likewise.
+       (vld4_lane_s8): Likewise.
+       (vld4_lane_s16): Likewise.
+       (vld4_lane_s32): Likewise.
+       (vld4_lane_s64): Likewise.
+       (vld4_lane_f16): Likewise.
+       (vld4_lane_f32): Likewise.
+       (vld4_lane_f64): Likewise.
+       (vld4_lane_p8): Likewise.
+       (vld4_lane_p16): Likewise.
+       (vld4_lane_p64): Likewise.
+       (vld4q_lane_u8): Likewise.
+       (vld4q_lane_u16): Likewise.
+       (vld4q_lane_u32): Likewise.
+       (vld4q_lane_u64): Likewise.
+       (vld4q_lane_s8): Likewise.
+       (vld4q_lane_s16): Likewise.
+       (vld4q_lane_s32): Likewise.
+       (vld4q_lane_s64): Likewise.
+       (vld4q_lane_f16): Likewise.
+       (vld4q_lane_f32): Likewise.
+       (vld4q_lane_f64): Likewise.
+       (vld4q_lane_p8): Likewise.
+       (vld4q_lane_p16): Likewise.
+       (vld4q_lane_p64): Likewise.
+       (vqtbl2_s8): Likewise.
+       (vqtbl2_u8): Likewise.
+       (vqtbl2_p8): Likewise.
+       (vqtbl2q_s8): Likewise.
+       (vqtbl2q_u8): Likewise.
+       (vqtbl2q_p8): Likewise.
+       (vqtbl3_s8): Likewise.
+       (vqtbl3_u8): Likewise.
+       (vqtbl3_p8): Likewise.
+       (vqtbl3q_s8): Likewise.
+       (vqtbl3q_u8): Likewise.
+       (vqtbl3q_p8): Likewise.
+       (vqtbl4_s8): Likewise.
+       (vqtbl4_u8): Likewise.
+       (vqtbl4_p8): Likewise.
+       (vqtbl4q_s8): Likewise.
+       (vqtbl4q_u8): Likewise.
+       (vqtbl4q_p8): Likewise.
+       (vqtbx2_s8): Likewise.
+       (vqtbx2_u8): Likewise.
+       (vqtbx2_p8): Likewise.
+       (vqtbx2q_s8): Likewise.
+       (vqtbx2q_u8): Likewise.
+       (vqtbx2q_p8): Likewise.
+       (vqtbx3_s8): Likewise.
+       (vqtbx3_u8): Likewise.
+       (vqtbx3_p8): Likewise.
+       (vqtbx3q_s8): Likewise.
+       (vqtbx3q_u8): Likewise.
+       (vqtbx3q_p8): Likewise.
+       (vqtbx4_s8): Likewise.
+       (vqtbx4_u8): Likewise.
+       (vqtbx4_p8): Likewise.
+       (vqtbx4q_s8): Likewise.
+       (vqtbx4q_u8): Likewise.
+       (vqtbx4q_p8): Likewise.
+       (vst1_s64_x2): Likewise.
+       (vst1_u64_x2): Likewise.
+       (vst1_f64_x2): Likewise.
+       (vst1_s8_x2): Likewise.
+       (vst1_p8_x2): Likewise.
+       (vst1_s16_x2): Likewise.
+       (vst1_p16_x2): Likewise.
+       (vst1_s32_x2): Likewise.
+       (vst1_u8_x2): Likewise.
+       (vst1_u16_x2): Likewise.
+       (vst1_u32_x2): Likewise.
+       (vst1_f16_x2): Likewise.
+       (vst1_f32_x2): Likewise.
+       (vst1_p64_x2): Likewise.
+       (vst1q_s8_x2): Likewise.
+       (vst1q_p8_x2): Likewise.
+       (vst1q_s16_x2): Likewise.
+       (vst1q_p16_x2): Likewise.
+       (vst1q_s32_x2): Likewise.
+       (vst1q_s64_x2): Likewise.
+       (vst1q_u8_x2): Likewise.
+       (vst1q_u16_x2): Likewise.
+       (vst1q_u32_x2): Likewise.
+       (vst1q_u64_x2): Likewise.
+       (vst1q_f16_x2): Likewise.
+       (vst1q_f32_x2): Likewise.
+       (vst1q_f64_x2): Likewise.
+       (vst1q_p64_x2): Likewise.
+       (vst1_s64_x3): Likewise.
+       (vst1_u64_x3): Likewise.
+       (vst1_f64_x3): Likewise.
+       (vst1_s8_x3): Likewise.
+       (vst1_p8_x3): Likewise.
+       (vst1_s16_x3): Likewise.
+       (vst1_p16_x3): Likewise.
+       (vst1_s32_x3): Likewise.
+       (vst1_u8_x3): Likewise.
+       (vst1_u16_x3): Likewise.
+       (vst1_u32_x3): Likewise.
+       (vst1_f16_x3): Likewise.
+       (vst1_f32_x3): Likewise.
+       (vst1_p64_x3): Likewise.
+       (vst1q_s8_x3): Likewise.
+       (vst1q_p8_x3): Likewise.
+       (vst1q_s16_x3): Likewise.
+       (vst1q_p16_x3): Likewise.
+       (vst1q_s32_x3): Likewise.
+       (vst1q_s64_x3): Likewise.
+       (vst1q_u8_x3): Likewise.
+       (vst1q_u16_x3): Likewise.
+       (vst1q_u32_x3): Likewise.
+       (vst1q_u64_x3): Likewise.
+       (vst1q_f16_x3): Likewise.
+       (vst1q_f32_x3): Likewise.
+       (vst1q_f64_x3): Likewise.
+       (vst1q_p64_x3): Likewise.
+       (vst1_s8_x4): Likewise.
+       (vst1q_s8_x4): Likewise.
+       (vst1_s16_x4): Likewise.
+       (vst1q_s16_x4): Likewise.
+       (vst1_s32_x4): Likewise.
+       (vst1q_s32_x4): Likewise.
+       (vst1_u8_x4): Likewise.
+       (vst1q_u8_x4): Likewise.
+       (vst1_u16_x4): Likewise.
+       (vst1q_u16_x4): Likewise.
+       (vst1_u32_x4): Likewise.
+       (vst1q_u32_x4): Likewise.
+       (vst1_f16_x4): Likewise.
+       (vst1q_f16_x4): Likewise.
+       (vst1_f32_x4): Likewise.
+       (vst1q_f32_x4): Likewise.
+       (vst1_p8_x4): Likewise.
+       (vst1q_p8_x4): Likewise.
+       (vst1_p16_x4): Likewise.
+       (vst1q_p16_x4): Likewise.
+       (vst1_s64_x4): Likewise.
+       (vst1_u64_x4): Likewise.
+       (vst1_p64_x4): Likewise.
+       (vst1q_s64_x4): Likewise.
+       (vst1q_u64_x4): Likewise.
+       (vst1q_p64_x4): Likewise.
+       (vst1_f64_x4): Likewise.
+       (vst1q_f64_x4): Likewise.
+       (vst2_s64): Likewise.
+       (vst2_u64): Likewise.
+       (vst2_f64): Likewise.
+       (vst2_s8): Likewise.
+       (vst2_p8): Likewise.
+       (vst2_s16): Likewise.
+       (vst2_p16): Likewise.
+       (vst2_s32): Likewise.
+       (vst2_u8): Likewise.
+       (vst2_u16): Likewise.
+       (vst2_u32): Likewise.
+       (vst2_f16): Likewise.
+       (vst2_f32): Likewise.
+       (vst2_p64): Likewise.
+       (vst2q_s8): Likewise.
+       (vst2q_p8): Likewise.
+       (vst2q_s16): Likewise.
+       (vst2q_p16): Likewise.
+       (vst2q_s32): Likewise.
+       (vst2q_s64): Likewise.
+       (vst2q_u8): Likewise.
+       (vst2q_u16): Likewise.
+       (vst2q_u32): Likewise.
+       (vst2q_u64): Likewise.
+       (vst2q_f16): Likewise.
+       (vst2q_f32): Likewise.
+       (vst2q_f64): Likewise.
+       (vst2q_p64): Likewise.
+       (vst3_s64): Likewise.
+       (vst3_u64): Likewise.
+       (vst3_f64): Likewise.
+       (vst3_s8): Likewise.
+       (vst3_p8): Likewise.
+       (vst3_s16): Likewise.
+       (vst3_p16): Likewise.
+       (vst3_s32): Likewise.
+       (vst3_u8): Likewise.
+       (vst3_u16): Likewise.
+       (vst3_u32): Likewise.
+       (vst3_f16): Likewise.
+       (vst3_f32): Likewise.
+       (vst3_p64): Likewise.
+       (vst3q_s8): Likewise.
+       (vst3q_p8): Likewise.
+       (vst3q_s16): Likewise.
+       (vst3q_p16): Likewise.
+       (vst3q_s32): Likewise.
+       (vst3q_s64): Likewise.
+       (vst3q_u8): Likewise.
+       (vst3q_u16): Likewise.
+       (vst3q_u32): Likewise.
+       (vst3q_u64): Likewise.
+       (vst3q_f16): Likewise.
+       (vst3q_f32): Likewise.
+       (vst3q_f64): Likewise.
+       (vst3q_p64): Likewise.
+       (vst4_s64): Likewise.
+       (vst4_u64): Likewise.
+       (vst4_f64): Likewise.
+       (vst4_s8): Likewise.
+       (vst4_p8): Likewise.
+       (vst4_s16): Likewise.
+       (vst4_p16): Likewise.
+       (vst4_s32): Likewise.
+       (vst4_u8): Likewise.
+       (vst4_u16): Likewise.
+       (vst4_u32): Likewise.
+       (vst4_f16): Likewise.
+       (vst4_f32): Likewise.
+       (vst4_p64): Likewise.
+       (vst4q_s8): Likewise.
+       (vst4q_p8): Likewise.
+       (vst4q_s16): Likewise.
+       (vst4q_p16): Likewise.
+       (vst4q_s32): Likewise.
+       (vst4q_s64): Likewise.
+       (vst4q_u8): Likewise.
+       (vst4q_u16): Likewise.
+       (vst4q_u32): Likewise.
+       (vst4q_u64): Likewise.
+       (vst4q_f16): Likewise.
+       (vst4q_f32): Likewise.
+       (vst4q_f64): Likewise.
+       (vst4q_p64): Likewise.
+       (vtbx4_s8): Likewise.
+       (vtbx4_u8): Likewise.
+       (vtbx4_p8): Likewise.
+       (vld1_bf16_x2): Likewise.
+       (vld1q_bf16_x2): Likewise.
+       (vld1_bf16_x3): Likewise.
+       (vld1q_bf16_x3): Likewise.
+       (vld1_bf16_x4): Likewise.
+       (vld1q_bf16_x4): Likewise.
+       (vld2_bf16): Likewise.
+       (vld2q_bf16): Likewise.
+       (vld2_dup_bf16): Likewise.
+       (vld2q_dup_bf16): Likewise.
+       (vld3_bf16): Likewise.
+       (vld3q_bf16): Likewise.
+       (vld3_dup_bf16): Likewise.
+       (vld3q_dup_bf16): Likewise.
+       (vld4_bf16): Likewise.
+       (vld4q_bf16): Likewise.
+       (vld4_dup_bf16): Likewise.
+       (vld4q_dup_bf16): Likewise.
+       (vst1_bf16_x2): Likewise.
+       (vst1q_bf16_x2): Likewise.
+       (vst1_bf16_x3): Likewise.
+       (vst1q_bf16_x3): Likewise.
+       (vst1_bf16_x4): Likewise.
+       (vst1q_bf16_x4): Likewise.
+       (vst2_bf16): Likewise.
+       (vst2q_bf16): Likewise.
+       (vst3_bf16): Likewise.
+       (vst3q_bf16): Likewise.
+       (vst4_bf16): Likewise.
+       (vst4q_bf16): Likewise.
+       (vld2_lane_bf16): Likewise.
+       (vld2q_lane_bf16): Likewise.
+       (vld3_lane_bf16): Likewise.
+       (vld3q_lane_bf16): Likewise.
+       (vld4_lane_bf16): Likewise.
+       (vld4q_lane_bf16): Likewise.
+       (vst2_lane_bf16): Likewise.
+       (vst2q_lane_bf16): Likewise.
+       (vst3_lane_bf16): Likewise.
+       (vst3q_lane_bf16): Likewise.
+       (vst4_lane_bf16): Likewise.
+       (vst4q_lane_bf16): Likewise.
+       * config/aarch64/geniterators.sh: Modify iterator regex to
+       match new vector-tuple modes.
+       * config/aarch64/iterators.md (insn_count): Extend mode
+       attribute with vector-tuple type information.
+       (nregs): Likewise.
+       (Vendreg): Likewise.
+       (Vetype): Likewise.
+       (Vtype): Likewise.
+       (VSTRUCT_2D): New mode iterator.
+       (VSTRUCT_2DNX): Likewise.
+       (VSTRUCT_2DX): Likewise.
+       (VSTRUCT_2Q): Likewise.
+       (VSTRUCT_2QD): Likewise.
+       (VSTRUCT_3D): Likewise.
+       (VSTRUCT_3DNX): Likewise.
+       (VSTRUCT_3DX): Likewise.
+       (VSTRUCT_3Q): Likewise.
+       (VSTRUCT_3QD): Likewise.
+       (VSTRUCT_4D): Likewise.
+       (VSTRUCT_4DNX): Likewise.
+       (VSTRUCT_4DX): Likewise.
+       (VSTRUCT_4Q): Likewise.
+       (VSTRUCT_4QD): Likewise.
+       (VSTRUCT_D): Likewise.
+       (VSTRUCT_Q): Likewise.
+       (VSTRUCT_QD): Likewise.
+       (VSTRUCT_ELT): New mode attribute.
+       (vstruct_elt): Likewise.
+       * genmodes.c (VECTOR_MODE): Add default prefix and order
+       parameters.
+       (VECTOR_MODE_WITH_PREFIX): Define.
+       (make_vector_mode): Add mode prefix and order parameters.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * expmed.c (extract_bit_field_1): Ensure modes are tieable.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * expr.c (emit_group_load_1): Remove historic workaround.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
+       Factor out main loop to...
+       (aarch64_init_simd_builtin_functions): This new function.
+       (register_tuple_type): Define.
+       (aarch64_scalar_builtin_type_p): Define.
+       (handle_arm_neon_h): Define.
+       * config/aarch64/aarch64-c.c (aarch64_pragma_aarch64): Handle
+       pragma for arm_neon.h.
+       * config/aarch64/aarch64-protos.h (aarch64_advsimd_struct_mode_p):
+       Declare.
+       (handle_arm_neon_h): Likewise.
+       * config/aarch64/aarch64.c (aarch64_advsimd_struct_mode_p):
+       Remove static modifier.
+       * config/aarch64/arm_neon.h (target): Remove Neon vector
+       structure type definitions.
+
+2021-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102943
+       * gimple-range-path.cc (path_range_query::range_on_path_entry):
+       Prefer range_of_expr unless there are no statements in the BB.
+
+2021-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102943
+       * tree-ssa-threadbackward.c (back_threader::find_paths_to_names):
+       Avoid duplicate calculation of paths.
+
+2021-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102943
+       * gimple-range-path.cc (path_range_query::compute_phi_relations):
+       Only compute relations for SSA names in the import list.
+       (path_range_query::compute_outgoing_relations): Same.
+       * gimple-range-path.h (path_range_query::import_p): New.
+
+2021-11-04  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/103075
+       * simplify-rtx.c (exact_int_to_float_conversion_p): Return
+       false for a VOIDmode operand.
+
+2021-11-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vector_costs): Make member
+       variables private and add "m_" to their names.  Remove is_loop.
+       (aarch64_record_potential_advsimd_unrolling): Replace with...
+       (aarch64_vector_costs::record_potential_advsimd_unrolling): ...this.
+       (aarch64_analyze_loop_vinfo): Replace with...
+       (aarch64_vector_costs::analyze_loop_vinfo): ...this.
+       Move initialization of (m_)vec_flags to add_stmt_cost.
+       (aarch64_analyze_bb_vinfo): Delete.
+       (aarch64_count_ops): Replace with...
+       (aarch64_vector_costs::count_ops): ...this.
+       (aarch64_vector_costs::add_stmt_cost): Set m_vec_flags,
+       using m_costing_for_scalar to test whether we're costing
+       scalar or vector code.
+       (aarch64_adjust_body_cost_sve): Replace with...
+       (aarch64_vector_costs::adjust_body_cost_sve): ...this.
+       (aarch64_adjust_body_cost): Replace with...
+       (aarch64_vector_costs::adjust_body_cost): ...this.
+       (aarch64_vector_costs::finish_cost): Use m_vinfo instead of is_loop.
+
+2021-11-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * target.def (targetm.vectorize.init_cost): Replace with...
+       (targetm.vectorize.create_costs): ...this.
+       (targetm.vectorize.add_stmt_cost): Delete.
+       (targetm.vectorize.finish_cost): Likewise.
+       (targetm.vectorize.destroy_cost_data): Likewise.
+       * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): Replace with...
+       (TARGET_VECTORIZE_CREATE_COSTS): ...this.
+       (TARGET_VECTORIZE_ADD_STMT_COST): Delete.
+       (TARGET_VECTORIZE_FINISH_COST): Likewise.
+       (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+       * doc/tm.texi: Regenerate.
+       * tree-vectorizer.h (vec_info::vec_info): Remove target_cost_data
+       parameter.
+       (vec_info::target_cost_data): Change from a void * to a vector_costs *.
+       (vector_costs): New class.
+       (init_cost): Take a vec_info and return a vector_costs.
+       (dump_stmt_cost): Remove data parameter.
+       (add_stmt_cost): Replace vinfo and data parameters with a vector_costs.
+       (add_stmt_costs): Likewise.
+       (finish_cost): Replace data parameter with a vector_costs.
+       (destroy_cost_data): Delete.
+       * tree-vectorizer.c (dump_stmt_cost): Remove data argument and
+       don't print it.
+       (vec_info::vec_info): Remove the target_cost_data parameter and
+       initialize the member variable to null instead.
+       (vec_info::~vec_info): Delete target_cost_data instead of calling
+       destroy_cost_data.
+       (vector_costs::add_stmt_cost): New function.
+       (vector_costs::finish_cost): Likewise.
+       (vector_costs::record_stmt_cost): Likewise.
+       (vector_costs::adjust_cost_for_freq): Likewise.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update
+       call to vec_info::vec_info.
+       (vect_compute_single_scalar_iteration_cost): Update after above
+       changes to costing interface.
+       (vect_analyze_loop_operations): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_analyze_loop_2): Initialize LOOP_VINFO_TARGET_COST_DATA
+       at the start_over point, where it needs to be recreated after
+       trying without slp.  Update retry code accordingly.
+       * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Update call
+       to vec_info::vec_info.
+       (vect_slp_analyze_operation): Update after above changes to costing
+       interface.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       * targhooks.h (default_init_cost): Replace with...
+       (default_vectorize_create_costs): ...this.
+       (default_add_stmt_cost): Delete.
+       (default_finish_cost, default_destroy_cost_data): Likewise.
+       * targhooks.c (default_init_cost): Replace with...
+       (default_vectorize_create_costs): ...this.
+       (default_add_stmt_cost): Delete, moving logic to vector_costs instead.
+       (default_finish_cost, default_destroy_cost_data): Delete.
+       * config/aarch64/aarch64.c (aarch64_vector_costs): Inherit from
+       vector_costs.  Add a constructor.
+       (aarch64_init_cost): Replace with...
+       (aarch64_vectorize_create_costs): ...this.
+       (aarch64_add_stmt_cost): Replace with...
+       (aarch64_vector_costs::add_stmt_cost): ...this.  Use record_stmt_cost
+       to adjust the cost for inner loops.
+       (aarch64_finish_cost): Replace with...
+       (aarch64_vector_costs::finish_cost): ...this.
+       (aarch64_destroy_cost_data): Delete.
+       (TARGET_VECTORIZE_INIT_COST): Replace with...
+       (TARGET_VECTORIZE_CREATE_COSTS): ...this.
+       (TARGET_VECTORIZE_ADD_STMT_COST): Delete.
+       (TARGET_VECTORIZE_FINISH_COST): Likewise.
+       (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+       * config/i386/i386.c (ix86_vector_costs): New structure.
+       (ix86_init_cost): Replace with...
+       (ix86_vectorize_create_costs): ...this.
+       (ix86_add_stmt_cost): Replace with...
+       (ix86_vector_costs::add_stmt_cost): ...this.  Use adjust_cost_for_freq
+       to adjust the cost for inner loops.
+       (ix86_finish_cost, ix86_destroy_cost_data): Delete.
+       (TARGET_VECTORIZE_INIT_COST): Replace with...
+       (TARGET_VECTORIZE_CREATE_COSTS): ...this.
+       (TARGET_VECTORIZE_ADD_STMT_COST): Delete.
+       (TARGET_VECTORIZE_FINISH_COST): Likewise.
+       (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+       * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): Replace with...
+       (TARGET_VECTORIZE_CREATE_COSTS): ...this.
+       (TARGET_VECTORIZE_ADD_STMT_COST): Delete.
+       (TARGET_VECTORIZE_FINISH_COST): Likewise.
+       (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+       (rs6000_cost_data): Inherit from vector_costs.
+       Add a constructor.  Drop loop_info, cost and costing_for_scalar
+       in favor of the corresponding vector_costs member variables.
+       Add "m_" to the names of the remaining member variables and
+       initialize them.
+       (rs6000_density_test): Replace with...
+       (rs6000_cost_data::density_test): ...this.
+       (rs6000_init_cost): Replace with...
+       (rs6000_vectorize_create_costs): ...this.
+       (rs6000_update_target_cost_per_stmt): Replace with...
+       (rs6000_cost_data::update_target_cost_per_stmt): ...this.
+       (rs6000_add_stmt_cost): Replace with...
+       (rs6000_cost_data::add_stmt_cost): ...this.  Use adjust_cost_for_freq
+       to adjust the cost for inner loops.
+       (rs6000_adjust_vect_cost_per_loop): Replace with...
+       (rs6000_cost_data::adjust_vect_cost_per_loop): ...this.
+       (rs6000_finish_cost): Replace with...
+       (rs6000_cost_data::finish_cost): ...this.  Group loop code
+       into a single if statement and pass the loop_vinfo down to
+       subroutines.
+       (rs6000_destroy_cost_data): Delete.
+
+2021-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103062
+       PR tree-optimization/103062
+       * value-pointer-equiv.cc (ssa_equiv_stack::ssa_equiv_stack):
+       Increase size of allocation by 1.
+       (ssa_equiv_stack::push_replacement): Grow as needed.
+       (ssa_equiv_stack::get_replacement): Same.
+       (pointer_equiv_analyzer::pointer_equiv_analyzer): Same.
+       (pointer_equiv_analyzer::~pointer_equiv_analyzer): Remove delete.
+       (pointer_equiv_analyzer::set_global_equiv): Grow as needed.
+       (pointer_equiv_analyzer::get_equiv): Same.
+       (pointer_equiv_analyzer::get_equiv_expr): Remove const.
+       * value-pointer-equiv.h (class pointer_equiv_analyzer): Remove
+       const markers.  Use auto_vec instead of tree *.
+
+2021-11-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_nary_op_insert_into): Remove always
+       true parameter and inline valueization.
+       (vn_nary_op_lookup_1): Inline valueization from ...
+       (vn_nary_op_compute_hash): ... here and remove it here.
+       * tree-ssa-pre.c (phi_translate_1): Do not valueize
+       before vn_nary_lookup_pieces.
+       (get_representative_for): Mark created SSA representatives
+       as visited.
+
+2021-11-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * simplify-rtx.c (simplify_context::simplify_gen_vec_select): Assert
+       that the operand has a vector mode.  Use subreg_lowpart_offset
+       to test whether an index corresponds to the low part.
+
+2021-11-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * read-rtl.c: Remove dead !GENERATOR_FILE block.
+       * read-rtl-function.c (function_reader::consolidate_singletons):
+       Generate canonical CONST_VECTORs.
+
+2021-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * config/i386/predicates.md (reg_or_notreg_operand): Rename to ..
+       (regmem_or_bitnot_regmem_operand): .. and extend to handle
+       memory_operand.
+       * config/i386/sse.md (*<avx512>_vpternlog<mode>_1): Force_reg
+       the operands which are required to be register_operand.
+       (*<avx512>_vpternlog<mode>_2): Ditto.
+       (*<avx512>_vpternlog<mode>_3): Ditto.
+       (*<avx512>_vternlog<mode>_all): Disallow embeded broadcast for
+       vector HFmodes since it's not a real AVX512FP16 instruction.
+
+2021-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * match.pd: simplify (trunc)copysign((extend)a, (extend)b) to
+       .COPYSIGN (a,b) when a and b are same type as the truncation
+       type and has less precision than extend type.
+
+2021-11-04  Richard Biener  <rguenther@suse.de>
+
+       * doc/generic.texi: Update TARGET_MEM_REF and MEM_REF
+       documentation.
+
+2021-11-04  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/sse.md (VI2_AVX512VNNIBW): New mode iterator.
+       (VI1_AVX512VNNI): Likewise.
+       (SDOT_VPDP_SUF): New mode_attr.
+       (VI1SI): Likewise.
+       (vi1si): Likewise.
+       (sdot_prod<mode>): Use VI2_AVX512F iterator, expand to
+       vpdpwssd when VNNI targets available.
+       (usdot_prod<mode>): New expander for vector QImode.
+
+2021-11-04  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/amxtileintrin.h (_tile_loadd_internal): Add
+       parentheses to base and stride.
+       (_tile_stream_loadd_internal): Likewise.
+       (_tile_stored_internal): Likewise.
+
+2021-11-03  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * config/riscv/riscv.c (riscv_class_max_nregs): Swap the
+       arguments to `reg_class_subset_p'.
+
+2021-11-03  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/103031
+       * fold-const.c (fold_init): New function.
+       * fold-const.h (fold_init): New prototype.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * params.opt (param_vrp2_mode): Make ranger the default for VRP2.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): Don't import
+       a range from edge if arg == phidef.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Test
+       for constant before any other processing.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * flag-types.h (RANGER_DEBUG_ALL): Fix values.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Initialize current_bb.
+       (gimple_ranger::range_of_expr): Pick up range_on_entry when there is
+       no explcit context and current_bb is set.
+       (gimple_ranger::fold_stmt): New.
+       * gimple-range.h (current_bb, fold_stmt): New.
+       * tree-vrp.c (rvrp_folder::fold_stmt): Call ranger's fold_stmt.
+
+2021-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102970
+       * tree-ssa-pre.c (phi_translate_1): Drop clique and base
+       when translating a MEM_REF over a backedge.
+
+2021-11-03  Philipp Tomsich  <philipp.tomsich@vrull.eu>
+
+       * config/aarch64/aarch64-cores.def (AARCH64_CORE): New Ampere-1 core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * config/aarch64/aarch64-cost-tables.h: Add extra costs for Ampere-1.
+       * config/aarch64/aarch64.c: Add tuning structures for Ampere-1.
+       * doc/invoke.texi: Add documentation for Ampere-1 core.
+
+2021-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.md (movsi): Add alternative for GOT accesses.
+       (movdi): Likewise.
+       (ldr_got_small_<mode>): Remove pattern.
+       (ldr_got_small_sidi): Likewise.
+       * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Keep
+       GOT accesses as moves.
+       (aarch64_print_operand): Correctly print got_lo12 in L specifier.
+       (aarch64_mov_operand_p): Make GOT accesses valid move operands.
+       * config/aarch64/constraints.md: Add new constraint Usw for GOT access.
+
+2021-11-03  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (read_line): Remove dead variable.
+
+2021-11-03  Martin Liska  <mliska@suse.cz>
+
+       PR bootstrap/102828
+       * ipa-fnsummary.c (edge_predicate_pool): Rename predicate class to ipa_predicate.
+       (ipa_fn_summary::account_size_time): Likewise.
+       (edge_set_predicate): Likewise.
+       (set_hint_predicate): Likewise.
+       (add_freqcounting_predicate): Likewise.
+       (evaluate_conditions_for_known_args): Likewise.
+       (evaluate_properties_for_edge): Likewise.
+       (remap_freqcounting_preds_after_dup): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (set_cond_stmt_execution_predicate): Likewise.
+       (set_switch_stmt_execution_predicate): Likewise.
+       (compute_bb_predicates): Likewise.
+       (will_be_nonconstant_expr_predicate): Likewise.
+       (will_be_nonconstant_predicate): Likewise.
+       (phi_result_unknown_predicate): Likewise.
+       (predicate_for_phi_result): Likewise.
+       (analyze_function_body): Likewise.
+       (compute_fn_summary): Likewise.
+       (summarize_calls_size_and_time): Likewise.
+       (estimate_calls_size_and_time): Likewise.
+       (ipa_call_context::estimate_size_and_time): Likewise.
+       (remap_edge_summaries): Likewise.
+       (remap_freqcounting_predicate): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       (ipa_update_overall_fn_summary): Likewise.
+       (read_ipa_call_summary): Likewise.
+       (inline_read_section): Likewise.
+       * ipa-fnsummary.h (struct ipa_freqcounting_predicate): Likewise.
+       * ipa-predicate.c (predicate::add_clause): Likewise.
+       (ipa_predicate::add_clause): Likewise.
+       (predicate::or_with): Likewise.
+       (ipa_predicate::or_with): Likewise.
+       (predicate::evaluate): Likewise.
+       (ipa_predicate::evaluate): Likewise.
+       (predicate::probability): Likewise.
+       (ipa_predicate::probability): Likewise.
+       (dump_condition): Likewise.
+       (dump_clause): Likewise.
+       (predicate::dump): Likewise.
+       (ipa_predicate::dump): Likewise.
+       (predicate::debug): Likewise.
+       (ipa_predicate::debug): Likewise.
+       (predicate::remap_after_duplication): Likewise.
+       (ipa_predicate::remap_after_duplication): Likewise.
+       (predicate::remap_after_inlining): Likewise.
+       (ipa_predicate::remap_after_inlining): Likewise.
+       (predicate::stream_in): Likewise.
+       (ipa_predicate::stream_in): Likewise.
+       (predicate::stream_out): Likewise.
+       (ipa_predicate::stream_out): Likewise.
+       (add_condition): Likewise.
+       * ipa-predicate.h (class predicate): Likewise.
+       (class ipa_predicate): Likewise.
+       (add_condition): Likewise.
+
+2021-11-03  Richard Biener  <rguenther@suse.de>
+
+       * bitmap.h (bitmap_bit_p): Change the return type to bool.
+       * bitmap.c (bitmap_bit_p): Likewise.
+       * sbitmap.h (bitmap_bit_p): Likewise.
+       (bitmap_set_bit): Return whether the bit changed.
+       (bitmap_clear_bit): Likewise.
+       * tree-ssa.c (verify_vssa): Make use of the changed state
+       from bitmap_set_bit.
+
+2021-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103033
+       * internal-fn.c (expand_DEFERRED_INIT): Elide the
+       native_interpret_expr path in favor of folding the
+       VIEW_CONVERT_EXPR generated when punning the RHS.
+
+2021-11-03  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.c (s390_loop_unroll_adjust): In case of early
+       exit free bbs.
+
+2021-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103040
+       * ipa-modref.c (callee_to_caller_flags): New function.
+       (modref_eaf_analysis::analyze_ssa_name): Use it.
+       (ipa_merge_modref_summary_after_inlining): Fix whitespace.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_eaf_analysis::analyze_ssa_name): Revert
+       accidental commit.
+
+2021-11-02  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (<any_rotate>ti3): Provide expansion for
+       rotations by non-constant amounts.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c: Fix anonymous namespace placement.
+       (class modref_eaf_analysis): New class.
+       (analyze_ssa_name_flags): Turn to ...
+       (modref_eaf_analysis::analyze_ssa_name): ... this one.
+       (merge_call_lhs_flags): Turn to ...
+       (modref_eaf_analysis::merge_call_lhs_flags): .. this one
+       (modref_eaf_analysis::merge_with_ssa_name): New member function.
+       (record_escape_points): Turn to ...
+       (modref_eaf_analysis::record_escape_points): ... this one.
+       (analyze_parms): Updat
+       (ipa_merge_modref_summary_after_inlining): Move to the end of file.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gimple.c (gimple_call_static_chain_flags): New function.
+       * gimple.h (gimple_call_static_chain_flags): Declare
+       * ipa-modref.c (modref_summary::modref_summary): Initialize
+       static_chain_flags.
+       (modref_summary_lto::modref_summary_lto): Likewise.
+       (modref_summary::useful_p): Test static_chain_flags.
+       (modref_summary_lto::useful_p): Likewise.
+       (struct modref_summary_lto): Add static_chain_flags.
+       (modref_summary::dump): Dump static_chain_flags.
+       (modref_summary_lto::dump): Likewise.
+       (struct escape_point): Add static_cahin_arg.
+       (analyze_ssa_name_flags): Use gimple_call_static_chain_flags.
+       (analyze_parms): Handle static chains.
+       (modref_summaries::duplicate): Duplicate static_chain_flags.
+       (modref_summaries_lto::duplicate): Likewise.
+       (modref_write): Stream static_chain_flags.
+       (read_section): Likewise.
+       (modref_merge_call_site_flags): Handle static_chain_flags.
+       * ipa-modref.h (struct modref_summary): Add static_chain_flags.
+       * tree-ssa-structalias.c (handle_rhs_call): Use
+       gimple_static_chain_flags.
+
+2021-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103029
+       * tree-vect-loop-manip.c (vect_loop_versioning): Ensure
+       the PHI nodes in the loop maintain their original operand
+       order.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-core.h (EAF_NOT_RETURNED_DIRECTLY): New flag.
+       (EAF_NOREAD): Renumber.
+       * ipa-modref.c (dump_eaf_flags): Dump EAF_NOT_RETURNED_DIRECTLY.
+       (remove_useless_eaf_flags): Handle EAF_NOT_RETURNED_DIRECTLY
+       (deref_flags): Likewise.
+       (modref_lattice::init): Likewise.
+       (modref_lattice::merge): Likewise.
+       (merge_call_lhs_flags): Likewise.
+       (analyze_ssa_name_flags): Likewise.
+       (modref_merge_call_site_flags): Likewise.
+       * tree-ssa-structalias.c (handle_call_arg): Likewise.
+
+2021-11-02  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * config/riscv/riscv.c (riscv_rtx_costs): Correct a CONST_INT_P
+       check and remove an unused local variable with shNadd/shNadd.uw
+       pattern handling.
+
+2021-11-02  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103007
+       * tree-vect-slp-patterns.c (complex_fms_pattern::matches): Add elem
+       check.
+
+2021-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103038
+       * fold-const.c (native_interpret_expr): Handle OFFSET_TYPE.
+       (can_native_interpret_type_p): Likewise.
+       * internal-fn.c (expand_DEFERRED_INIT): View-convert the
+       RHS if the LHS is an SSA name.
+
+2021-11-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * langhooks.h (lang_hooks_for_types::simulate_record_decl): New hook.
+       * langhooks-def.h (lhd_simulate_record_decl): Declare.
+       (LANG_HOOKS_SIMULATE_RECORD_DECL): Define.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Include it.
+       * langhooks.c (lhd_simulate_record_decl): New function.
+
+2021-11-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103020
+       * config/i386/i386.c (ix86_vector_mode_supported_p): Reject vector
+       modes with TImode inner mode if 32-bit.
+
+2021-11-02  liuhongt  <hongtao.liu@intel.com>
+
+       * doc/sourcebuild.texi (vect_slp_v4qi_store_unalign,
+       vect_slp_v2hi_store_unalign, vect_slp_v4hi_store_unalign,
+       vect_slp_v4si_store_unalign): Document efficient target.
+       (vect_slp_v4qi_store_unalign_1, vect_slp_v8qi_store_unalign_1,
+       vect_slp_v16qi_store_unalign_1): Ditto.
+       (vect_slp_v2hi_store_align,vect_slp_v2qi_store_align,
+       vect_slp_v2si_store_align, vect_slp_v4qi_store_align): Ditto.
+       (struct_4char_block_move, struct_8char_block_move,
+       struct_16char_block_move): Ditto.
+
+2021-11-02  Roger Sayle  <roger@nextmovesoftware.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102986
+       * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti,
+       ix86_expand_ti_to_v1ti): New helper functions.
+       (ix86_expand_v1ti_shift): Check if the amount operand is an
+       integer constant, and expand as a TImode shift if it isn't.
+       (ix86_expand_v1ti_rotate): Check if the amount operand is an
+       integer constant, and expand as a TImode rotate if it isn't.
+       (ix86_expand_v1ti_ashiftrt): New function to expand arithmetic
+       right shifts of V1TImode quantities.
+       * config/i386/i386-protos.h (ix86_expand_v1ti_ashift): Prototype.
+       * config/i386/sse.md (ashlv1ti3, lshrv1ti3): Change constraints
+       to QImode general_operand, and let the helper functions lower
+       shifts by non-constant operands, as TImode shifts.  Make
+       conditional on TARGET_64BIT.
+       (ashrv1ti3): New expander calling ix86_expand_v1ti_ashiftrt.
+       (rotlv1ti3, rotrv1ti3): Change shift operand to QImode.
+       Make conditional on TARGET_64BIT.
+
+2021-11-02  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.md ("*cc_to_int", "tabort", "*tabort_1",
+       "*tabort_1_plus"): Remove operands non-null check.
+
+2021-11-01  Martin Liska  <mliska@suse.cz>
+
+       * opt-functions.awk: Add new sanity checking.
+       * optc-gen.awk: Add new argument to integer_range_info.
+       * params.opt: Update 2 params which have negative IntegerRange.
+
+2021-11-01  qing zhao  <qing.zhao@oracle.com>
+
+       * gimplify.c (gimplify_decl_expr): Do not add call to
+       __builtin_clear_padding when a variable is a gimple register
+       or it might not have padding.
+       (gimplify_init_constructor): Likewise.
+
+2021-11-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/aarch-common-protos.h (struct vector_cost_table): Add
+       movi, dup and extract costing fields.
+       * config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs,
+       thunderx_extra_costs, thunderx2t99_extra_costs,
+       thunderx3t110_extra_costs, tsv110_extra_costs, a64fx_extra_costs): Use
+       them.
+       * config/arm/aarch-cost-tables.h (generic_extra_costs,
+       cortexa53_extra_costs, cortexa57_extra_costs, cortexa76_extra_costs,
+       exynosm1_extra_costs, xgene1_extra_costs): Likewise
+       * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>): Add r->w dup.
+       * config/aarch64/aarch64.c (aarch64_rtx_costs): Add extra costs.
+
+2021-11-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * cse.c (add_to_set): New.
+       (find_sets_in_insn): Register constants in sets.
+       (canonicalize_insn): Use auto_vec instead.
+       (cse_insn): Try materializing using vec_dup.
+       * rtl.h (simplify_context::simplify_gen_vec_select,
+       simplify_gen_vec_select): New.
+       * simplify-rtx.c (simplify_context::simplify_gen_vec_select): New.
+
+2021-11-01  David Malcolm  <dmalcolm@redhat.com>
+
+       * common.opt (fdiagnostics-escape-format=): New.
+       (diagnostics_escape_format): New enum.
+       (DIAGNOSTICS_ESCAPE_FORMAT_UNICODE): New enum value.
+       (DIAGNOSTICS_ESCAPE_FORMAT_BYTES): Likewise.
+       * diagnostic-format-json.cc (json_end_diagnostic): Add
+       "escape-source" attribute.
+       * diagnostic-show-locus.c
+       (exploc_with_display_col::exploc_with_display_col): Replace
+       "tabstop" param with a cpp_char_column_policy and add an "aspect"
+       param.  Use these to compute m_display_col accordingly.
+       (struct char_display_policy): New struct.
+       (layout::m_policy): New field.
+       (layout::m_escape_on_output): New field.
+       (def_policy): New function.
+       (make_range): Update for changes to exploc_with_display_col ctor.
+       (default_print_decoded_ch): New.
+       (width_per_escaped_byte): New.
+       (escape_as_bytes_width): New.
+       (escape_as_bytes_print): New.
+       (escape_as_unicode_width): New.
+       (escape_as_unicode_print): New.
+       (make_policy): New.
+       (layout::layout): Initialize new fields.  Update m_exploc ctor
+       call for above change to ctor.
+       (layout::maybe_add_location_range): Update for changes to
+       exploc_with_display_col ctor.
+       (layout::calculate_x_offset_display): Update for change to
+       cpp_display_width.
+       (layout::print_source_line): Pass policy
+       to cpp_display_width_computation. Capture cpp_decoded_char when
+       calling process_next_codepoint.  Move printing of source code to
+       m_policy.m_print_cb.
+       (line_label::line_label): Pass in policy rather than context.
+       (layout::print_any_labels): Update for change to line_label ctor.
+       (get_affected_range): Pass in policy rather than context, updating
+       calls to location_compute_display_column accordingly.
+       (get_printed_columns): Likewise, also for cpp_display_width.
+       (correction::correction): Pass in policy rather than tabstop.
+       (correction::compute_display_cols): Pass m_policy rather than
+       m_tabstop to cpp_display_width.
+       (correction::m_tabstop): Replace with...
+       (correction::m_policy): ...this.
+       (line_corrections::line_corrections): Pass in policy rather than
+       context.
+       (line_corrections::m_context): Replace with...
+       (line_corrections::m_policy): ...this.
+       (line_corrections::add_hint): Update to use m_policy rather than
+       m_context.
+       (line_corrections::add_hint): Likewise.
+       (layout::print_trailing_fixits): Likewise.
+       (selftest::test_display_widths): New.
+       (selftest::test_layout_x_offset_display_utf8): Update to use
+       policy rather than tabstop.
+       (selftest::test_one_liner_labels_utf8): Add test of escaping
+       source lines.
+       (selftest::test_diagnostic_show_locus_one_liner_utf8): Update to
+       use policy rather than tabstop.
+       (selftest::test_overlapped_fixit_printing): Likewise.
+       (selftest::test_overlapped_fixit_printing_utf8): Likewise.
+       (selftest::test_overlapped_fixit_printing_2): Likewise.
+       (selftest::test_tab_expansion): Likewise.
+       (selftest::test_escaping_bytes_1): New.
+       (selftest::test_escaping_bytes_2): New.
+       (selftest::diagnostic_show_locus_c_tests): Call the new tests.
+       * diagnostic.c (diagnostic_initialize): Initialize
+       context->escape_format.
+       (convert_column_unit): Update to use default character width policy.
+       (selftest::test_diagnostic_get_location_text): Likewise.
+       * diagnostic.h (enum diagnostics_escape_format): New enum.
+       (diagnostic_context::escape_format): New field.
+       * doc/invoke.texi (-fdiagnostics-escape-format=): New option.
+       (-fdiagnostics-format=): Add "escape-source" attribute to examples
+       of JSON output, and document it.
+       * input.c (location_compute_display_column): Pass in "policy"
+       rather than "tabstop", passing to
+       cpp_byte_column_to_display_column.
+       (selftest::test_cpp_utf8): Update to use cpp_char_column_policy.
+       * input.h (class cpp_char_column_policy): New forward decl.
+       (location_compute_display_column): Pass in "policy" rather than
+       "tabstop".
+       * opts.c (common_handle_option): Handle
+       OPT_fdiagnostics_escape_format_.
+       * selftest.c (temp_source_file::temp_source_file): New ctor
+       overload taking a size_t.
+       * selftest.h (temp_source_file::temp_source_file): Likewise.
+
+2021-11-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * dbgcnt.def: Add debug counter for back_thread[12] and
+       back_threadfull[12].
+       * passes.def: Pass "first" argument to each back threading pass.
+       * tree-ssa-threadbackward.c (back_threader::back_threader): Add
+       first argument.
+       (back_threader::debug_counter): New.
+       (back_threader::maybe_register_path): Call debug_counter.
+
+2021-11-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (BT_NONE): New.
+       (BT_SPEED): New.
+       (BT_RESOLVE): New.
+       (back_threader::back_threader): Add flags.
+       Move loop initialization here.
+       (back_threader::~back_threader): New.
+       (back_threader::find_taken_edge_switch): Change solver and ranger
+       to pointers.
+       (back_threader::find_taken_edge_cond): Same.
+       (back_threader::find_paths_to_names): Same.
+       (back_threader::find_paths): Same.
+       (back_threader::dump): Same.
+       (try_thread_blocks): Merge into thread_blocks.
+       (back_threader::thread_blocks): New.
+       (do_early_thread_jumps): Merge into thread_blocks.
+       (do_thread_jumps): Merge into thread_blocks.
+       (back_threader::thread_through_all_blocks): Remove.
+
+2021-11-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103003
+       * value-relation.cc (dom_oracle::register_relation): If the 2
+       ssa names are the same, don't register any relation.
+
+2021-11-01  Dan Li  <ashimida@linux.alibaba.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_epilogue): Remove
+       redundant check for calls_eh_return.
+       * config/aarch64/aarch64.md (*do_return): Likewise.
+
+2021-11-01  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Rename
+       duplicate_loop_to_header_edge to
+       duplicate_loop_body_to_header_edge.
+       (cfg_hook_duplicate_loop_body_to_header_edge): Likewise.
+       * cfghooks.h (struct cfg_hooks): Likewise.
+       (cfg_hook_duplicate_loop_body_to_header_edge): Likewise.
+       * cfgloopmanip.c (duplicate_loop_body_to_header_edge): Likewise.
+       (clone_loop_to_header_edge): Likewise.
+       * cfgloopmanip.h (duplicate_loop_body_to_header_edge): Likewise.
+       * cfgrtl.c (struct cfg_hooks): Likewise.
+       * doc/loop.texi: Likewise.
+       * loop-unroll.c (unroll_loop_constant_iterations): Likewise.
+       (unroll_loop_runtime_iterations): Likewise.
+       (unroll_loop_stupid): Likewise.
+       (apply_opt_in_copies): Likewise.
+       * tree-cfg.c (struct cfg_hooks): Likewise.
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
+       (try_peel_loop): Likewise.
+       * tree-ssa-loop-manip.c (copy_phi_node_args): Likewise.
+       (gimple_duplicate_loop_body_to_header_edge): Likewise.
+       (tree_transform_and_unroll_loop): Likewise.
+       * tree-ssa-loop-manip.h (gimple_duplicate_loop_body_to_header_edge):
+       Likewise.
+
+2021-11-01  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * cfgloopmanip.c (loop_version): Refactor loopify to
+       loop_version.  Move condition generation after loopify.
+       (loopify): Delete.
+       * cfgloopmanip.h (loopify): Delete.
+
+2021-10-31  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-fnsummary.c: Include tree-dfa.h.
+       (points_to_local_or_readonly_memory_p): Return true on return
+       slot writes.
+       * ipa-modref.c (analyze_ssa_name_flags): Fix handling of copy
+       statement.
+
+2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/102972
+       * omp-low.c (omp_runtime_api_call): Use DECL_ASSEMBLER_NAME to get
+       internal Fortran name; new permit_num_teams arg to permit
+       omp_get_num_teams and omp_get_team_num.
+       (scan_omp_1_stmt): Update call to it, add missing call for
+       reverse offload, and check for strictly nested API calls in teams.
+
+2021-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_for): Diagnose threadprivate iterators.
+
+2021-10-29  David Malcolm  <dmalcolm@redhat.com>
+
+       * selftest.c (assert_streq): Add newlines when emitting non-equal
+       non-NULL strings.
+
+2021-10-29  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in: Fix syntax for reference to LIBDEPS in
+       gengtype link rule.
+
+2021-10-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * doc/install.texi: Bump required minimum DejaGnu version.
+
+2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (path_oracle::killing_def): Add a
+       self-equivalence so we don't look to the root oracle.
+
+2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * passes.def: Replace the pass_thread_jumps before VRP* with
+       pass_thread_jumps_full.  Remove all pass_vrp_threader instances.
+       * tree-ssa-threadbackward.c (pass_data_thread_jumps_full):
+       Remove hyphen from "thread-full" name.
+
+2021-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102983
+       * gimple-range-cache.h (propagate_updated_value): Make public.
+       * gimple-range.cc (gimple_ranger::range_of_stmt): Propagate exports
+       when processing gcond stmts.
+
+2021-10-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gimple.c (gimple_call_retslot_flags): New function.
+       * gimple.h (gimple_call_retslot_flags): Declare.
+       * ipa-modref.c: Include tree-cfg.h.
+       (struct escape_entry): Turn parm_index to signed.
+       (modref_summary_lto::modref_summary_lto): Add retslot_flags.
+       (modref_summary::modref_summary): Initialize retslot_flags.
+       (struct modref_summary_lto): Likewise.
+       (modref_summary::useful_p): Check retslot_flags.
+       (modref_summary_lto::useful_p): Likewise.
+       (modref_summary::dump): Dump retslot_flags.
+       (modref_summary_lto::dump): Likewise.
+       (struct escape_point): Add hidden_args enum.
+       (analyze_ssa_name_flags): Ignore return slot return;
+       use gimple_call_retslot_flags.
+       (record_escape_points): Break out from ...
+       (analyze_parms): ... here; handle retslot_flags.
+       (modref_summaries::duplicate): Duplicate retslot_flags.
+       (modref_summaries_lto::duplicate): Likewise.
+       (modref_write_escape_summary): Stream parm_index as signed.
+       (modref_read_escape_summary): Likewise.
+       (modref_write): Stream retslot_flags.
+       (read_section): Likewise.
+       (struct escape_map): Fix typo in comment.
+       (update_escape_summary_1): Fix whitespace.
+       (ipa_merge_modref_summary_after_inlining): Drop retslot_flags.
+       (modref_merge_call_site_flags): Merge retslot_flags.
+       * ipa-modref.h (struct modref_summary): Add retslot_flags.
+       * tree-ssa-structalias.c (handle_rhs_call): Handle retslot_flags.
+
+2021-10-29  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/102977
+       * tree-vect-slp-patterns.c (vect_match_call_p): Remove.
+       (vect_detect_pair_op): Add crosslane check.
+       (vect_match_call_complex_mla): Remove.
+       (class complex_mul_pattern): Update comment.
+       (complex_mul_pattern::matches): Update detection.
+       (class complex_fma_pattern): Remove.
+       (complex_fma_pattern::matches): Remove.
+       (complex_fma_pattern::recognize): Remove.
+       (complex_fma_pattern::build): Remove.
+       (class complex_fms_pattern):  Update comment.
+       (complex_fms_pattern::matches): Remove.
+       (complex_operations_pattern::recognize): Remove complex_fma_pattern
+
+2021-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-fold.c (gimple_fold_builtin_memset): Copy over location from
+       call to store.
+
+2021-10-29  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/102868
+       * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Add
+       patterns match and emit for VSX xxpermdi.
+
+2021-10-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * config/i386/i386-builtin-types.def (V8HF_FTYPE_V8HF): New
+       function type.
+       (V16HF_FTYPE_V16HF): Ditto.
+       (V32HF_FTYPE_V32HF): Ditto.
+       (V8HF_FTYPE_V8HF_ROUND): Ditto.
+       (V16HF_FTYPE_V16HF_ROUND): Ditto.
+       (V32HF_FTYPE_V32HF_ROUND): Ditto.
+       * config/i386/i386-builtin.def ( IX86_BUILTIN_FLOORPH,
+       IX86_BUILTIN_CEILPH, IX86_BUILTIN_TRUNCPH,
+       IX86_BUILTIN_FLOORPH256, IX86_BUILTIN_CEILPH256,
+       IX86_BUILTIN_TRUNCPH256, IX86_BUILTIN_FLOORPH512,
+       IX86_BUILTIN_CEILPH512, IX86_BUILTIN_TRUNCPH512): New builtin.
+       * config/i386/i386-builtins.c
+       (ix86_builtin_vectorized_function): Enable vectorization for
+       HFmode FLOOR/CEIL/TRUNC operation.
+       * config/i386/i386-expand.c (ix86_expand_args_builtin): Handle
+       new builtins.
+       * config/i386/sse.md (rint<mode>2, nearbyint<mode>2): Extend
+       to vector HFmodes.
+
+2021-10-28  Aldy Hernandez  <aldyh@redhat.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (path_oracle::killing_def): Walk the
+       equivalency list and remove SSA from any equivalencies.
+
+2021-10-28  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/or1k.h (PROFILE_HOOK): Add return address argument
+       to _mcount.
+
+2021-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102951
+       * fold-const.h (address_compare): Declare.
+       * fold-const.c (address_compare): New function.
+       * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Use
+       address_compare helper.
+       (minmax cmp (convert1?@2 addr@0) (convert2?@3 addr@1)): New
+       simplification.
+
+2021-10-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::fold_cond): Change fold message.
+
+2021-10-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102940
+       * tree-vrp.c (execute_ranger_vrp): Reset scev.
+
+2021-10-28  Richard Purdie  <richard.purdie@linuxfoundation.org>
+
+       * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add musl linker
+
+2021-10-28  Richard Purdie  <richard.purdie@linuxfoundation.org>
+
+       * configure: Regenerate.
+       * configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC
+
+2021-10-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/invoke.texi (%X): Remove obsolete reference to -Wl.
+
+2021-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/84407
+       * fold-const.c (fold_convert_const): Avoid int to float
+       constant folding with -frounding-math and inexact result.
+       * simplify-rtx.c (simplify_const_unary_operation): Likewise
+       for both float and unsigned_float.
+
+2021-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader::find_taken_edge_switch): Use find_case_label_range
+       instead of find_taken_edge.
+
+2021-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (class back_threader_registry):
+       Inherit from back_jt_path_registry.
+       (back_threader_registry::thread_through_all_blocks): Remove.
+       (back_threader_registry::register_path): Remove
+       m_lowlevel_registry prefix.
+
+2021-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/57245
+       * fold-const.c (fold_convert_const_real_from_real): Honor
+       -frounding-math if the conversion is not exact.
+       * simplify-rtx.c (simplify_const_unary_operation): Do not
+       simplify FLOAT_TRUNCATE with sign dependent rounding.
+
+2021-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102949
+       * tree-vect-stmts.c (ensure_base_align): Look at the
+       dr_info of a group leader and assert we are looking at
+       one with analyzed alignment.
+
+2021-10-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/102767
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Consider
+       V1T1 mode for unaligned load and store.
+
+2021-10-28  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.md (zero_extendsidi2_internal): Allow ZBB
+       use this pattern.
+
+2021-10-28  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add `i` to
+       CANONICAL_ORDER.
+
+2021-10-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * common.opt (fharden-compares): New.
+       (fharden-conditional-branches): New.
+       * doc/invoke.texi: Document new options.
+       * gimple-harden-conditionals.cc: New.
+       * Makefile.in (OBJS): Build it.
+       * passes.def: Add new passes.
+       * tree-pass.h (make_pass_harden_compares): Declare.
+       (make_pass_harden_conditional_branches): Declare.
+
+2021-10-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/94613
+       * config/rs6000/altivec.md: Add vsx register constraints.
+       * config/rs6000/vsx.md (vsx_xxsel<mode>): Delete.
+       (vsx_xxsel<mode>2): Likewise.
+       (vsx_xxsel<mode>3): Likewise.
+       (vsx_xxsel<mode>4): Likewise.
+
+2021-10-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/94613
+       * config/rs6000/altivec.md (*altivec_vsel<mode>): Change to ...
+       (altivec_vsel<mode>): ... this and update define.
+       (*altivec_vsel<mode>_uns): Delete.
+       (altivec_vsel<mode>2): New define_insn.
+       (altivec_vsel<mode>3): Likewise.
+       (altivec_vsel<mode>4): Likewise.
+       * config/rs6000/rs6000-call.c (altivec_expand_vec_sel_builtin): New.
+       (altivec_expand_builtin): Call altivec_expand_vec_sel_builtin to expand
+       vel_sel.
+       * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use bit-wise
+       selection instead of per element.
+       * config/rs6000/vector.md:
+       * config/rs6000/vsx.md (*vsx_xxsel<mode>): Change to ...
+       (vsx_xxsel<mode>): ... this and update define.
+       (*vsx_xxsel<mode>_uns): Delete.
+       (vsx_xxsel<mode>2): New define_insn.
+       (vsx_xxsel<mode>3): Likewise.
+       (vsx_xxsel<mode>4): Likewise.
+
+2021-10-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386.c (use_rsqrt_p): Add mode parameter, enable
+         HFmode rsqrt without TARGET_SSE_MATH.
+       (ix86_optab_supported_p): Refactor rint, adjust floor, ceil,
+       btrunc condition to be restricted by -ftrapping-math, adjust
+       use_rsqrt_p function call.
+       * config/i386/i386.md (rcphf2): New define_insn.
+       (rsqrthf2): Likewise.
+       * config/i386/sse.md (div<mode>3): Change VF2H to VF2.
+       (div<mode>3): New expander for HF mode.
+       (rsqrt<mode>2): Likewise.
+       (*avx512fp16_vmrcpv8hf2): New define_insn for rpad pass.
+       (*avx512fp16_vmrsqrtv8hf2): Likewise.
+
+2021-10-27  Saagar Jha  <saagar@saagarjha.com>
+
+       * config.gcc: Adjust for Darwin21.
+       * config/darwin-c.c (macosx_version_as_macro): Likewise.
+       * config/darwin-driver.c (validate_macosx_version_min):
+       Likewise.
+       (darwin_find_version_from_kernel): Likewise.
+
+2021-10-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc
+       (path_range_query::range_defined_in_block): Call killing_def.
+
+2021-10-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_range_op): Dump
+       operands as well as relation.
+       * gimple-range-path.cc
+       (path_range_query::compute_ranges_in_block): Compute PHI relations
+       first.  Compute outgoing relations at the end.
+       (path_range_query::compute_ranges): Remove call to compute_relations.
+       (path_range_query::compute_relations): Remove.
+       (path_range_query::maybe_register_phi_relation): New.
+       (path_range_query::compute_phi_relations): Abstract out
+       registering one PHI relation to...
+       (path_range_query::compute_outgoing_relations): ...here.
+       * gimple-range-path.h (class path_range_query): Remove
+       compute_relations.
+       Add maybe_register_phi_relation.
+
+2021-10-27  Aldy Hernandez  <aldyh@redhat.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (path_oracle::killing_def): Kill second
+       order relations.
+
+2021-10-27  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (good_cloning_opportunity_p): Decide whether to use
+       profile feedback depending on their local availability.
+
+2021-10-27  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (param_ipa_cp_profile_count_base): New parameter.
+       * doc/invoke.texi (Optimize Options): Add entry for
+       ipa-cp-profile-count-base.
+       * ipa-cp.c (max_count): Replace with base_count, replace all
+       occurrences too, unless otherwise stated.
+       (ipcp_cloning_candidate_p): identify mostly-directly called
+       functions based on their counts, not max_count.
+       (compare_edge_profile_counts): New function.
+       (ipcp_propagate_stage): Instead of setting max_count, find the
+       appropriate edge count in a sorted vector of counts of eligible
+       edges and make it the base_count.
+
+2021-10-27  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (struct caller_statistics): New fields rec_count_sum,
+       n_nonrec_calls and itself, document all fields.
+       (init_caller_stats): Initialize the above new fields.
+       (gather_caller_stats): Gather self-recursive counts and calls number.
+       (get_info_about_necessary_edges): Gather counts of self-recursive and
+       other edges bringing in the requested value separately.
+       (dump_profile_updates): Rework to dump info about a single node only.
+       (lenient_count_portion_handling): New function.
+       (struct gather_other_count_struct): New type.
+       (gather_count_of_non_rec_edges): New function.
+       (struct desc_incoming_count_struct): New type.
+       (analyze_clone_icoming_counts): New function.
+       (adjust_clone_incoming_counts): Likewise.
+       (update_counts_for_self_gen_clones): Likewise.
+       (update_profiling_info): Rewritten.
+       (update_specialized_profile): Adjust call to dump_profile_updates.
+       (create_specialized_node): Do not update profiling info.
+       (decide_about_value): New parameter self_gen_clones, either push new
+       clones into it or updat their profile counts.  For self-recursively
+       generated values, use a portion of the node count instead of count
+       from self-recursive edges to estimate goodness.
+       (decide_whether_version_node): Gather clones for self-generated values
+       in a new vector, update their profiles at once at the end.
+
+2021-10-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.c (vect_transform_loops): New function,
+       split out from ...
+       (try_vectorize_loop_1): ... here.  Simplify as epilogues
+       are now fully handled in the split part.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular
+       iterators with pointer types.
+       (expand_omp_for_init_vars, extract_omp_for_update_vars): Likewise.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102238
+       PR tree-optimization/102919
+       * gimple-ssa-sprintf.c (get_string_length): Add an argument.
+       (array_elt_at_offset): Move to pointer-query.
+       (set_aggregate_size_and_offset): New function.
+       (field_at_offset):  Move to pointer-query.
+       (get_origin_and_offset): Rename...
+       (get_origin_and_offset_r): this.  Add an argument.  Make aggregate
+       handling more robust.
+       (get_origin_and_offset): New.
+       (alias_offset): Add an argument.
+       (format_string): Use subobject size determined by get_origin_and_offset.
+       * pointer-query.cc (field_at_offset): Move from gimple-ssa-sprintf.c.
+       Improve/correct handling of aggregates.
+       (array_elt_at_offset): Same.
+       * pointer-query.h (field_at_offset): Declare.
+       (array_elt_at_offset): Declare.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (check_strncat_sizes): Pass access_data ctor additional
+       arguments.
+       (expand_builtin_memcmp): Move code to gimple-ssa-warn-access.cc.
+       (expand_builtin_fork_or_exec): Same.
+       * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Pass
+       compute_objsize additional arguments.
+       (inbounds_memaccess_p): Same.
+       (array_bounds_checker::check_array_bounds): Add an assert.  Stash
+       statement in a member.
+       (check_array_bounds_dom_walker::before_dom_children): Same.
+       * gimple-array-bounds.h (array_bounds_checker::m_stmt): New member.
+       * gimple-ssa-sprintf.c (get_destination_size): Add an argument.
+       (handle_printf_call): Pass a new argument.
+       * gimple-ssa-warn-access.cc (get_size_range): Add an argument.
+       (check_access): Add an argument and pass it along to callees.
+       (check_read_access): Make a member function.
+       (pass_waccess::check_strcat): Pass access_data ctor additional
+       arguments.
+       (pass_waccess::check_strncat): Same.
+       (pass_waccess::check_stxcpy): Same.
+       (pass_waccess::check_stxncpy): Same.
+       (pass_waccess::check_strncmp): Same.
+       (pass_waccess::check_read_access): Same.
+       (pass_waccess::check_builtin): Same.
+       (pass_waccess::maybe_check_access_sizes): Same.
+       (pass_waccess::maybe_check_dealloc_call): Same.
+       * gimple-ssa-warn-access.h (check_read_access): Declare a new
+       member function.
+       * pointer-query.cc (compute_objsize_r): Add an argument.
+       (gimple_call_return_array): Same.
+       (gimple_call_alloc_size): Same.
+       (access_ref::access_ref): Same.
+       (access_ref::get_ref): Same.
+       (pointer_query::get_ref): Same.
+       (handle_min_max_size): Pass an arguments to callees.
+       (handle_array_ref): Add an argument.
+       (handle_mem_ref): Same.
+       (compute_objsize): Same.
+       * pointer-query.h (struct access_ref): Adjust signatures.
+       (struct access_data): Same.
+       (gimple_call_alloc_size): Add an argument.
+       (gimple_parm_array_size): Same.
+       (compute_objsize): Same.
+       * tree-ssa-strlen.c (strlen_pass::adjust_last_stmt): Pass an additional
+       argument to compute_objsize.
+       (strlen_pass::maybe_warn_overflow): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102453
+       * gimple-ssa-warn-access.cc (pass_waccess::check_atomic_builtin): New.
+       (pass_waccess::check_atomic_builtin): Call it.
+
+2021-10-26  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/102842
+       * lra-constraints.c (match_reload): Ignore out in checking values
+       of outs.
+       (curr_insn_transform): Collect outputs before doing reloads of operands.
+
+2021-10-26  Paul A. Clarke  <pc@us.ibm.com>
+
+       PR target/102719
+       * config/rs6000/x86intrin.h: Move some included headers to new
+       headers.  Include new immintrin.h instead of those headers.
+       * config/rs6000/immintrin.h: New.
+       * config/rs6000/x86gprintrin.h: New.
+       * config.gcc (powerpc*-*-*): Add new headers to extra_headers.
+
+2021-10-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_create_addr_base_for_vector_ref):
+       Remove byte_offset parameter.
+       (vect_create_data_ref_ptr): Likewise.
+       * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+       Likewise.
+       (vect_create_data_ref_ptr): Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Adjust.
+       (vectorizable_load): Likewise.
+
+2021-10-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96109
+       * tree-vectorizer.h (dr_misalignment): Add optional offset
+       parameter.
+       * tree-vect-data-refs.c (dr_misalignment): Likewise.  Remove
+       offset applied for negative stride accesses.
+       (vect_enhance_data_refs_alignment): Compute negative stride
+       access offset and pass it to dr_misalignment.
+       * tree-vect-stmts.c (get_negative_load_store_type): Pass
+       negative offset to dr_misalignment.
+       (get_group_load_store_type): Likewise.
+       (get_load_store_type): Likewise.
+       (vectorizable_store): Remove asserts about alignment.
+       (vectorizable_load): Likewise.
+
+2021-10-26  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/102897
+       * tree-ssa-forwprop.c (simplify_permutation): Remove a wrong assertion.
+
+2021-10-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+       Take offset in bytes.
+       (vect_create_data_ref_ptr): Likewise.
+       * tree-vect-loop-manip.c (get_misalign_in_elems): Multiply
+       offset by element size.
+       (vect_create_cond_for_align_checks): Likewise.
+       * tree-vect-stmts.c (get_negative_load_store_type): Likewise.
+       (vectorizable_load): Remove duplicate leftover from merge
+       conflict.
+
+2021-10-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386-expand.c (ix86_expand_v1ti_shift): New helper
+       function to expand V1TI mode logical shifts by integer constants.
+       (ix86_expand_v1ti_rotate): New helper function to expand V1TI
+       mode rotations by integer constants.
+       * config/i386/i386-protos.h (ix86_expand_v1ti_shift,
+       ix86_expand_v1ti_rotate): Prototype new functions here.
+       * config/i386/sse.md (ashlv1ti3, lshrv1ti3, rotlv1ti3, rotrv1ti3):
+       New TARGET_SSE2 expanders to implement V1TI shifts and rotations.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::maybe_register_path):
+       Avoid threading circular paths.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::resolve_phi):
+       Attempt to resolve all incoming paths to a PHI.
+       (back_threader::resolve_def): Always return true for PHIs.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::find_paths_to_names):
+       Always try to resolve path without looking back.
+       * tree-ssa-threadupdate.c (dump_jump_thread): Indidicate whether
+       edge is a back edge.
+
+2021-10-26  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/102789
+       * tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not
+       update inits of simd_lane_access.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-vrp.c (vrp_simplify_cond_using_ranges): Add return type and
+       move to vr-values.c.
+       (simplify_casted_conds): Move to vrp_folder class.
+       (execute_vrp): Call via vrp_folder now.
+       * vr-values.c (simplify_cond_using_ranges_1): Call simplify_casted_cond.
+       (simplify_using_ranges::simplify_casted_cond): Relocate from tree-vrp.c.
+       * vr-values.h (simplify_casted_cond): Add prototype.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-vrp.c (rvrp_folder::fold_stmt): If simplification fails, try
+       to fold anyway.
+
+2021-10-25  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_testz_si128): Add "extern" to
+       function signature.
+       (_mm_testc_si128): Likewise.
+       (_mm_testnzc_si128): Likewise.
+       (_mm_blend_ps): Likewise.
+       (_mm_blendv_ps): Likewise.
+       (_mm_blend_pd): Likewise.
+       (_mm_blendv_pd): Likewise.
+       (_mm_ceil_pd): Likewise.
+       (_mm_ceil_sd): Likewise.
+       (_mm_ceil_ps): Likewise.
+       (_mm_ceil_ss): Likewise.
+       (_mm_floor_pd): Likewise.
+       (_mm_floor_sd): Likewise.
+       (_mm_floor_ps): Likewise.
+       (_mm_floor_ss): Likewise.
+       (_mm_minpos_epu16): Likewise.
+       (_mm_mul_epi32): Likewise.
+       (_mm_cvtepi8_epi16): Likewise.
+       (_mm_packus_epi32): Likewise.
+       (_mm_cmpgt_epi64): Likewise.
+
+2021-10-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_binary_operation_1) [SS_ASHIFT]: Simplify
+       shifts of the mode's smin_value and smax_value when the bit count
+       operand doesn't have side-effects.
+       [US_ASHIFT]: Likewise, simplify shifts of the mode's umax_value
+       when the bit count operand doesn't have side-effects.
+       (simplify_const_binary_operation) [SS_ASHIFT, US_ASHIFT]: Perform
+       compile-time evaluation of saturating left shifts with constant
+       arguments.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::export_global_ranges): Remove check
+       for TDF_DETAILS.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * flag-types.h (enum ranger_debug): Adjust values.
+       * params.opt (ranger_debug): Ditto.
+
+2021-10-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/102886
+       * tree-sra.c (totally_scalarize_subtree): Fix the out of
+       access-condition.
+
+2021-10-25  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-dce.c (simple_dce_from_worklist):
+       Check stmt_unremovable_because_of_non_call_eh_p also
+       before removing the statement.
+
+2021-10-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102905
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+       Use vect_supportable_dr_alignment again to determine whether
+       an access is supported when not aligned.
+
+2021-10-25  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_rtx_costs): Handle cost model
+       for zbs extension.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+           Shi-Hua Liao  <shihua@iscas.ac.cn>
+
+       * config/riscv/bitmanip.md (shiftm1): New.
+       (*bset<mode>): Ditto.
+       (*bset<mode>_mask): Ditto.
+       (*bset<mode>_1): Ditto.
+       (*bset<mode>_1_mask): Ditto.
+       (*bseti<mode>): Ditto.
+       (*bclr<mode>): Ditto.
+       (*bclri<mode>): Ditto.
+       (*binv<mode>): Ditto.
+       (*binvi<mode>): Ditto.
+       (*bext<mode>): Ditto.
+       (*bexti): Ditto.
+       * config/riscv/predicates.md (splittable_const_int_operand):
+       Handle bseti.
+       (single_bit_mask_operand): New.
+       (not_single_bit_mask_operand): Ditto.
+       (const31_operand): Ditto.
+       (const63_operand): Ditto.
+       * config/riscv/riscv.c (riscv_build_integer_1): Handle bseti.
+       (riscv_output_move): Ditto.
+       (riscv_print_operand): Handle new operand type: T and S.
+       * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): New.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv.c (riscv_build_integer_1): Build integer
+       with rotate.
+
+2021-10-25  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_extend_cost): Handle cost model
+       for zbb extension.
+       (riscv_rtx_costs): Ditto.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+
+       * config/riscv/bitmanip.md (bitmanip_bitwise): New.
+       (bitmanip_minmax): New.
+       (clz_ctz_pcnt): New.
+       (bitmanip_optab): New.
+       (bitmanip_insn): New.
+       (*<optab>_not<mode>): New.
+       (*xor_not<mode>): New.
+       (<bitmanip_optab>si2): New.
+       (*<bitmanip_optab>disi2): New.
+       (<bitmanip_optab>di2): New.
+       (*zero_extendhi<GPR:mode>2_bitmanip): New.
+       (*extend<SHORT:mode><SUPERQI:mode>2_zbb): New.
+       (*zero_extendhi<GPR:mode>2_zbb): New.
+       (rotrsi3): New.
+       (rotrdi3): New.
+       (rotrsi3_sext): New.
+       (rotlsi3): New.
+       (rotldi3): New.
+       (rotlsi3_sext): New.
+       (bswap<mode>2): New.
+       (<bitmanip_optab><mode>3): New.
+       * config/riscv/riscv.md (type): Add rotate.
+       (zero_extendhi<GPR:mode>2): Change to define_expand pattern.
+       (*zero_extendhi<GPR:mode>2): New.
+       (extend<SHORT:mode><SUPERQI:mode>2): Change to define_expand pattern.
+       (*extend<SHORT:mode><SUPERQI:mode>2): New.
+
+2021-10-25  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_extend_cost): Handle cost model
+       for zba extension.
+       (riscv_rtx_costs): Ditto.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+
+       * config/riscv/bitmanip.md (*zero_extendsidi2_bitmanip): New.
+       (*shNadd): Ditto.
+       (*shNadduw): Ditto.
+       (*add.uw): Ditto.
+       (*slliuw): Ditto.
+       (riscv_rtx_costs): Ditto.
+       * config/riscv/riscv.md: Include bitmanip.md
+       (type): Add bitmanip bype.
+       (zero_extendsidi2): Change to define_expand pattern.
+       (*zero_extendsidi2_internal): New.
+       (zero_extendsidi2_shifted): Disable for ZBA.
+
+2021-10-25  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_ext_version_table):
+       Add zba, zbb, zbc and zbs.
+       (riscv_ext_flag_table): Ditto.
+       * config/riscv/riscv-opts.h (MASK_ZBA): New.
+       (MASK_ZBB): Ditto.
+       (MASK_ZBC): Ditto.
+       (MASK_ZBS): Ditto.
+       (TARGET_ZBA): Ditto.
+       (TARGET_ZBB): Ditto.
+       (TARGET_ZBC): Ditto.
+       (TARGET_ZBS): Ditto.
+       * config/riscv/riscv.opt (riscv_zb_subext): New.
+
+2021-10-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * match.pd: Simplify (_Float16) sqrtf((float) a) to .SQRT(a)
+       when direct_internal_fn_supported_p, similar for sqrt/sqrtl.
+
+2021-10-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102920
+       * tree-ssa-sccvn.h (expressions_equal_p): Add argument
+       controlling VN_TOP matching behavior.
+       * tree-ssa-sccvn.c (expressions_equal_p): Likewise.
+       (vn_phi_eq): Do not optimistically match VN_TOP.
+
+2021-10-25  konglin1  <lingling.kong@intel.com>
+
+       * config/i386/sse.md (fma_<mode>_fadd_fmul): Add new
+       define_insn_and_split.
+       (fma_<mode>_fadd_fcmul):Likewise
+       (fma_<complexopname>_<mode>_fma_zero):Likewise
+
+2021-10-24  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa-d.c (pa_d_handle_target_float_abi): Don't check
+       TARGET_DISABLE_FPREGS.
+       * config/pa/pa.c (fix_range): Use MASK_SOFT_FLOAT instead of
+       MASK_DISABLE_FPREGS.
+       (hppa_rtx_costs): Don't check TARGET_DISABLE_FPREGS.  Adjust
+       cost of hardware integer multiplication.
+       (pa_conditional_register_usage): Don't check TARGET_DISABLE_FPREGS.
+       * config/pa/pa.h (INT14_OK_STRICT): Likewise.
+       * config/pa/pa.md: Don't check TARGET_DISABLE_FPREGS. Check
+       TARGET_SOFT_FLOAT in patterns that use xmpyu instruction.
+       * config/pa/pa.opt (mdisable-fpregs): Change target mask to
+       SOFT_FLOAT.  Revise comment.
+       (msoft-float): New option.
+
+2021-10-24  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md: Don't use 'G' constraint in integer move patterns.
+
+2021-10-24  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Remove obsolete details
+       around GNU/Linux on Itanium.
+       (Specific): Remove reference to Windows for Itanium.
+
+2021-10-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * config/i386/x86-tune-sched-bd.c (dispatch_group): Commentary
+       typo fix.
+
+2021-10-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-structalias.c (compute_points_to_sets): Cleanup.
+
+2021-10-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/sse.md (<any_logic>v1ti3): New define_insn to
+       implement V1TImode AND, IOR and XOR on TARGET_SSE2 (and above).
+       (one_cmplv1ti2): New define expand.
+
+2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/102663
+       * Makefile.in: Handle dvidir and install-dvi target.
+       * configure: Regenerate.
+       * configure.ac: Add install-dvi to target_list.
+
+2021-10-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Binaries): Convert mingw-w64.org to https.
+       (Specific): Ditto.
+
+2021-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102893
+       * tree-ssa-dce.c (find_obviously_necessary_stmts): Fix the
+       test for an exit edge.
+
+2021-10-22  Aldy Hernandez  <aldyh@redhat.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::compute_phi_relations):
+       Kill any global relations we may know before registering a new
+       one.
+       * value-relation.cc (path_oracle::killing_def): New.
+       * value-relation.h (path_oracle::killing_def): New.
+
+2021-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/102681
+       * tree-ssa-sccvn.c (vn_phi_insert): For undefined SSA args
+       record VN_TOP.
+       (vn_phi_lookup): Likewise.
+
+2021-10-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98667
+       * doc/invoke.texi: Document -fcf-protection requires i686 or
+       new.
+
+2021-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/102764
+       * cfgexpand.c (expand_gimple_basic_block): Robustify latest change.
+
+2021-10-21  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__STRUCTN): Delete function
+       macro and all invocations.
+
+2021-10-21  Andrew MacLeod  <amacleod@redhat.com>
+
+       * doc/invoke.texi (ranger-debug): Document.
+       * flag-types.h (enum ranger_debug): New.
+       (enum evrp_mode): Remove debug values.
+       * gimple-range-cache.cc (DEBUG_RANGE_CACHE): Use new debug flag.
+       * gimple-range-gori.cc (gori_compute::gori_compute): Ditto.
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Ditto.
+       * gimple-ssa-evrp.c (hybrid_folder::choose_value): Ditto.
+       (execute_early_vrp): Use evrp-mode directly.
+       * params.opt (enum evrp_mode): Remove debug values.
+       (ranger-debug): New.
+       (ranger-logical-depth): Relocate to be in alphabetical order.
+
+2021-10-21  Andrew MacLeod  <amacleod@redhat.com>
+
+       * doc/invoke.texi: (vrp1-mode, vrp2-mode): Document.
+       * flag-types.h: (enum vrp_mode): New.
+       * params.opt: (vrp1-mode, vrp2-mode): New.
+       * tree-vrp.c (vrp_pass_num): New.
+       (pass_vrp::pass_vrp): Set pass number.
+       (pass_vrp::execute): Choose which VRP mode to execute.
+
+2021-10-21  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-ssa-evrp.c (class rvrp_folder): Move to tree-vrp.c.
+       (execute_early_vrp): For ranger only mode, invoke ranger_vrp.
+       * tree-vrp.c (class rvrp_folder): Relocate here.
+       (execute_ranger_vrp): New.
+       * tree-vrp.h (execute_ranger_vrp): Export.
+
+2021-10-21  Martin Liska  <mliska@suse.cz>
+
+       PR debug/102585
+       PR bootstrap/102766
+       * opts.c (finish_options): Process flag_var_tracking* options
+       here as they can be adjusted by optimize attribute.
+       Process also flag_syntax_only and flag_gtoggle.
+       * toplev.c (process_options): Remove it here.
+       * common.opt: Make debug_nonbind_markers_p as PerFunction
+       attribute as it depends on optimization level.
+
+2021-10-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/102505
+       * tree-sra.c (totally_scalarize_subtree): Check that the
+       encountered field fits within the acces we would like to put it
+       in.
+
+2021-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader::maybe_register_path): Remove circular paths check.
+
+2021-10-21  Richard Biener  <rguenther@suse.de>
+
+       * toplev.c (process_options): Move the initial debug_hooks
+       setting ...
+       (toplev::main): ... before the call of the post_options
+       langhook.
+
+2021-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102847
+       * tree-vect-stmts.c (vect_model_load_cost): Add the scalar
+       load cost in the prologue for VMAT_INVARIANT.
+
+2021-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102847
+       * tree-vect-stmts.c (vect_model_load_cost): Explicitely
+       handle VMAT_INVARIANT as a splat in the prologue.
+
+2021-10-21  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/102812
+       * config/i386/i386.c (ix86_get_ssemov): Adjust HFmode vector
+       move to use the same logic as HImode.
+
+2021-10-21  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Remove
+       superfluous gimple_call_nothrow_p check.
+
+2021-10-21  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-cfg.c (maybe_remove_writeonly_store): Add dce_ssa_names argument.
+       Mark the ssa-name of the rhs as one to be removed.
+       (execute_fixup_cfg): Update call to maybe_remove_writeonly_store.
+       Call simple_dce_from_worklist at the end to a simple dce.
+
+2021-10-21  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-cfg.c (maybe_remove_writeonly_store): New function
+       factored out from ...
+       (execute_fixup_cfg): Here. Call maybe_remove_writeonly_store.
+
+2021-10-21  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-cfg.c (execute_fixup_cfg): Remove comment
+       about standalone pass.
+
+2021-10-21  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-cfg.c (execute_fixup_cfg): Output when the statement
+       is removed when it is a write only var.
+
+2021-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::maybe_register_path):
+       Avoid threading circular paths.
+
+2021-10-20  Alex Coplan  <alex.coplan@arm.com>
+
+       * calls.c (initialize_argument_information): Remove some dead
+       code, remove handling for function_arg returning const_int.
+       * doc/tm.texi: Delete documentation for unused target hooks.
+       * doc/tm.texi.in: Likewise.
+       * target.def (load_bounds_for_arg): Delete.
+       (store_bounds_for_arg): Delete.
+       (load_returned_bounds): Delete.
+       (store_returned_bounds): Delete.
+       * targhooks.c (default_load_bounds_for_arg): Delete.
+       (default_store_bounds_for_arg): Delete.
+       (default_load_returned_bounds): Delete.
+       (default_store_returned_bounds): Delete.
+       * targhooks.h (default_load_bounds_for_arg): Delete.
+       (default_store_bounds_for_arg): Delete.
+       (default_load_returned_bounds): Delete.
+       (default_store_returned_bounds): Delete.
+
+2021-10-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/extend.texi (Basic Asm): Clarify that asm is not an
+       extension in C++.
+       * doc/invoke.texi (-fno-asm): Fix description for C++.
+
+2021-10-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/install.texi: Remove link to old.html
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_cmtst_same_<mode>): New.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_narrow_trunc<mode>): New.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_simd_ashr<mode>): Add case cmp
+       case.
+       * config/aarch64/constraints.md (D1): New.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md
+       (*aarch64_<srn_op>topbits_shuffle<mode>_le): New.
+       (*aarch64_topbits_shuffle<mode>_le): New.
+       (*aarch64_<srn_op>topbits_shuffle<mode>_be): New.
+       (*aarch64_topbits_shuffle<mode>_be): New.
+       * config/aarch64/predicates.md
+       (aarch64_simd_shift_imm_vec_exact_top): New.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_<srn_op>shrn<mode>_vect,
+       *aarch64_<srn_op>shrn<mode>2_vect_le,
+       *aarch64_<srn_op>shrn<mode>2_vect_be): New.
+       * config/aarch64/iterators.md (srn_op): New.
+
+2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * omp-low.c (omp_copy_decl_2): For !ctx, use record_vars to add new copy
+       as local variable.
+       (scan_sharing_clauses): Place copy of OMP_CLAUSE_IN_REDUCTION decl in
+       ctx->outer instead of ctx.
+
+2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102374
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): Strip whitespaces.
+       * system.h (strip_whilespaces): New function.
+
+2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102375
+       * config/aarch64/aarch64.c (aarch64_process_one_target_attr):
+       Strip whitespaces.
+
+2021-10-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_case_values_threshold):
+       Change to 8 with -Os, 11 otherwise.
+
+2021-10-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (neoversev1_tunings):
+       Enable AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
+       (neoversen2_tunings): Likewise.
+
+2021-10-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/100966
+       * config/aarch64/aarch64.md (frint_pattern): Update comment.
+       * config/aarch64/aarch64-simd-builtins.def: Change frintn to roundeven.
+       * config/aarch64/arm_fp16.h: Change frintn to roundeven.
+       * config/aarch64/arm_neon.h: Likewise.
+       * config/aarch64/iterators.md (frint_pattern): Use roundeven for FRINTN.
+
+2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       * config/arm/arm.c (arm_unwind_emit_sequence): Do not declare
+       already declared global variable.
+       (arm_unwind_emit_set): Use out_file as function argument.
+       (arm_unwind_emit): Likewise.
+       * config/darwin.c (machopic_output_data_section_indirection): Likewise.
+       (machopic_output_stub_indirection): Likewise.
+       (machopic_output_indirection): Likewise.
+       (machopic_finish): Likewise.
+       * config/i386/i386.c (ix86_asm_output_function_label): Likewise.
+       * config/i386/winnt.c (i386_pe_seh_unwind_emit): Likewise.
+       * config/ia64/ia64.c (process_epilogue): Likewise.
+       (process_cfa_adjust_cfa): Likewise.
+       (process_cfa_register): Likewise.
+       (process_cfa_offset): Likewise.
+       (ia64_asm_unwind_emit): Likewise.
+       * config/s390/s390.c (s390_asm_output_function_label): Likewise.
+
+2021-10-20  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_gimple_fold_builtin):
+       lower vld1 and vst1 variants of the neon builtins
+       * config/aarch64/aarch64-protos.h:
+       (aarch64_general_gimple_fold_builtin): Add gsi parameter.
+       * config/aarch64/aarch64.c (aarch64_general_gimple_fold_builtin):
+       Likwise.
+
+2021-10-20  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * match.pd: Generate IFN_TRUNC.
+
+2021-10-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102853
+       * tree-data-ref.c (split_constant_offset_1): Bail out
+       immediately if the expression traps on overflow.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::~back_threader): Remove.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadupdate.c (back_jt_path_registry::adjust_paths_after_duplication):
+       Remove superflous debugging message.
+       (back_jt_path_registry::duplicate_thread_path): Same.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader_registry::back_threader_registry):
+       Remove.
+       (back_threader_registry::register_path): Remove m_threaded_paths.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102814
+       * doc/invoke.texi: Document --param=max-fsm-thread-length.
+       * params.opt: Add --param=max-fsm-thread-length.
+       * tree-ssa-threadbackward.c
+       (back_threader_profitability::profitable_path_p): Fail on paths
+       longer than max-fsm-thread-length.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/102764
+       * cfgexpand.c (expand_gimple_basic_block): Disregard a final debug
+       statement to reset the current location for the outgoing edges.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-threadupdate.c (cancel_thread): Dump threading reason
+       on the same line as the threading cancellation.
+       (jt_path_registry::cancel_invalid_paths): Avoid rotating loops.
+       Avoid threading through loop headers where the path remains in the
+       loop.
+
+2021-10-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.c (unknown): Make into a function.  Adjust
+       all uses.
+       (unknown_object_size): Simplify implementation.
+
+2021-10-20  Hongtao Liu  <hongtao.liu@intel.com>
+           Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       vect_slp_v2qi_store, vect_slp_v4qi_store, vect_slp_v8qi_store,
+       vect_slp_v16qi_store, vect_slp_v2hi_store,
+       vect_slp_v4hi_store, vect_slp_v2si_store, vect_slp_v4si_store.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/extend.texi (Basic PowerPC Built-in Functions): Fix typo.
+
+2021-10-19  Paul A. Clarke  <pc@us.ibm.com>
+
+       PR target/101893
+       PR target/102719
+       * config/rs6000/emmintrin.h: Guard POWER8 intrinsics.
+       * config/rs6000/pmmintrin.h: Same.
+       * config/rs6000/smmintrin.h: Same.
+       * config/rs6000/tmmintrin.h: Same.
+
+2021-10-19  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config.gcc (extra_headers): Add nmmintrin.h.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_supportable_dr_alignment): Add
+       misalignment parameter.
+       * tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
+       Do not change DR_MISALIGNMENT in place, instead pass the
+       adjusted misalignment to vect_supportable_dr_alignment.
+       (vect_peeling_supportable): Likewise.
+       (vect_peeling_hash_get_lowest_cost): Adjust.
+       (vect_enhance_data_refs_alignment): Likewise.
+       (vect_vfa_access_size): Likewise.
+       (vect_supportable_dr_alignment): Add misalignment
+       parameter and simplify.
+       * tree-vect-stmts.c (get_negative_load_store_type): Adjust.
+       (get_group_load_store_type): Likewise.
+       (get_load_store_type): Likewise.
+
+2021-10-19  Clément Chigot  <clement.chigot@atos.net>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_file_end): Move
+       __tls_get_addr reference to .text csect.
+
+2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102375
+       * config/aarch64/aarch64.c (aarch64_process_one_target_attr):
+       Strip whitespaces.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_get_store_cost): Adjust signature.
+       (vect_get_load_cost): Likewise.
+       * tree-vect-data-refs.c (vect_get_data_access_cost): Get
+       alignment support scheme and misalignment as arguments
+       and pass them down.
+       (vect_get_peeling_costs_all_drs): Compute that info here
+       and note that we shouldn't need to.
+       * tree-vect-stmts.c (vect_model_store_cost): Get
+       alignment support scheme and misalignment as arguments.
+       (vect_get_store_cost): Likewise.
+       (vect_model_load_cost): Likewise.
+       (vect_get_load_cost): Likewise.
+       (vectorizable_store): Pass down alignment support scheme
+       and misalignment to costing.
+       (vectorizable_load): Likewise.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (get_negative_load_store_type): Add
+       offset output parameter and initialize it.
+       (get_group_load_store_type): Likewise.
+       (get_load_store_type): Likewise.
+       (vectorizable_store): Use offset as computed by
+       get_load_store_type.
+       (vectorizable_load): Likewise.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102827
+       * tree-if-conv.c (predicate_statements): Add pe parameter
+       and use that edge to insert invariant stmts on.
+       (combine_blocks): Pass through pe.
+       (tree_if_conversion): Compute the edge to insert invariant
+       stmts on and pass it along.
+
+2021-10-19  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/102785
+       * config/bfin/bfin.md (addsubv2hi3, subaddv2hi3, ssaddsubv2hi3,
+       sssubaddv2hi3):  Swap the order of operators in vec_concat.
+
+2021-10-19  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/altivec.md (*altivec_vmrghb_internal): Delete.
+       (altivec_vmrghb_direct): New.
+       (*altivec_vmrghh_internal): Delete.
+       (altivec_vmrghh_direct): New.
+       (*altivec_vmrghw_internal): Delete.
+       (altivec_vmrghw_direct_<mode>): New.
+       (altivec_vmrghw_direct): Delete.
+       (*altivec_vmrglb_internal): Delete.
+       (altivec_vmrglb_direct): New.
+       (*altivec_vmrglh_internal): Delete.
+       (altivec_vmrglh_direct): New.
+       (*altivec_vmrglw_internal): Delete.
+       (altivec_vmrglw_direct_<mode>): New.
+       (altivec_vmrglw_direct): Delete.
+       * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Adjust.
+       * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):
+       Adjust.
+       * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust.
+       (vsx_xxmrglw_<mode>): Adjust.
+
+2021-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * passes.def: Change threading comment before pass_ccp pass.
+
+2021-10-19  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * config/rs6000/rs6000-call.c (altivec_expand_lxvr_builtin):
+       Modify the expansion for sign extension. All extensions are done
+       within VSX registers.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (get_group_load_store_type): Add
+       misalignment output parameter and initialize it.
+       (get_group_load_store_type): Likewise.
+       (vectorizable_store): Remove now redundant queries.
+       (vectorizable_load): Likewise.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_supportable_dr_alignment): Remove
+       check_aligned argument.
+       * tree-vect-data-refs.c (vect_supportable_dr_alignment):
+       Likewise.
+       (vect_peeling_hash_insert): Add supportable_if_not_aligned
+       argument and do not call vect_supportable_dr_alignment here.
+       (vect_peeling_supportable): Adjust.
+       (vect_enhance_data_refs_alignment): Compute whether the
+       access is supported with different alignment here and
+       pass that down to vect_peeling_hash_insert.
+       (vect_vfa_access_size): Adjust.
+       * tree-vect-stmts.c (vect_get_store_cost): Likewise.
+       (vect_get_load_cost): Likewise.
+       (get_negative_load_store_type): Likewise.
+       (get_group_load_store_type): Likewise.
+       (get_load_store_type): Likewise.
+
+2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102374
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): Strip whitespaces.
+       * system.h (strip_whilespaces): New function.
+
+2021-10-19  dianhong xu  <dianhong.xu@intel.com>
+
+       * config/i386/avx512fp16intrin.h:
+       (_mm512_set1_pch): New intrinsic.
+       * config/i386/avx512fp16vlintrin.h:
+       (_mm256_set1_pch): New intrinsic.
+       (_mm_set1_pch): Ditto.
+
+2021-10-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102796
+       * gimple-range.cc (gimple_ranger::range_on_edge): Process EH edges
+       normally.  Return get_tree_range for non gimple_range_ssa_p names.
+       (gimple_ranger::range_of_stmt): Use get_tree_range for non
+       gimple_range_ssa_p names.
+
+2021-10-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102761
+       * config/i386/i386.c (ix86_print_operand_address):
+       Error out for non-address_operand asm operands.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_peeling_hash_insert): Do
+       not auto-convert dr_alignment_support to bool.
+       (vect_peeling_supportable): Likewise.
+       (vect_enhance_data_refs_alignment): Likewise.
+       (vect_supportable_dr_alignment): Commonize read/write case.
+       * tree-vect-stmts.c (vect_get_store_cost): Use
+       dr_alignment_support, not int, for the vect_supportable_dr_alignment
+       result.
+       (vect_get_load_cost): Likewise.
+
+2021-10-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.c (object_sizes_execute): Consolidate LHS
+       null check and do it early.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_store): Use the
+       computed alignment scheme instead of querying
+       aligned_access_p.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_store): Do not recompute
+       alignment scheme already determined by get_load_store_type.
+
+2021-10-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (class pass_thread_jumps_full):
+       Clone corresponding pass.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * combine.c (recog_for_combine): For an unrecognized move/set of
+       a constant, try force_const_mem to place it in the constant pool.
+       * cse.c (constant_pool_entries_cost, constant_pool_entries_regcost):
+       Delete global variables (that are no longer assigned a cost value).
+       (cse_insn): Simplify logic for deciding whether to place a folded
+       constant in the constant pool using force_const_mem.
+       (cse_main): Remove zero initialization of constant_pool_entries_cost
+       and constant_pool_entries_regcost.
+       * config/i386/i386.c (ix86_rtx_costs): Make memory accesses
+       fractionally more expensive, when optimizing for speed.
+
+2021-10-18  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/102746
+       PR gcov-profile/102747
+       * gcov.c (main): Return return_code.
+       (output_gcov_file): Mark return_code when error happens.
+       (generate_results): Likewise.
+       (read_graph_file): Likewise.
+       (read_count_file): Likewise.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/bfin/bfin.md (define_constants): Remove UNSPEC_ONES.
+       (define_insn "ones"): Replace UNSPEC_ONES with a truncate of
+       a popcount, allowing compile-time evaluation/simplification.
+       (popcountsi2, popcounthi2): New expanders using a "ones" insn.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102788
+       * tree-vect-patterns.c (vect_init_pattern_stmt): Allow
+       a NULL vectype.
+       (vect_pattern_recog_1): Likewise.
+       (vect_recog_bool_pattern): Continue matching the pattern
+       even if we do not have a vector type for a conversion
+       result.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_const_unary_operation) [SS_NEG, SS_ABS]:
+       Evalute SS_NEG and SS_ABS of a constant argument.
+
+2021-10-18  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/93183
+       * gimple-match-head.c (try_conditional_simplification): Add case for single operand.
+       * internal-fn.def: Add entry for COND_NEG internal function.
+       * internal-fn.c (FOR_EACH_CODE_MAPPING): Add entry for
+       NEGATE_EXPR, COND_NEG mapping.
+       * optabs.def: Add entry for cond_neg_optab.
+       * match.pd (UNCOND_UNARY, COND_UNARY): New operator lists.
+       (vec_cond COND (foo A) B) -> (IFN_COND_FOO COND A B): New pattern.
+       (vec_cond COND B (foo A)) -> (IFN_COND_FOO ~COND A B): Likewise.
+
+2021-10-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-strlen.c (class strlen_pass): Rename from
+       strlen_dom_walker.
+       (handle_builtin_stxncpy_strncat): Move to strlen_pass.
+       (handle_assign): Same.
+       (adjust_last_stmt): Same.
+       (maybe_warn_overflow): Same.
+       (handle_builtin_strlen): Same.
+       (handle_builtin_strchr): Same.
+       (handle_builtin_strcpy): Same.
+       (handle_builtin_strncat): Same.
+       (handle_builtin_stxncpy_strncat): Same.
+       (handle_builtin_memcpy): Same.
+       (handle_builtin_strcat): Same.
+       (handle_alloc_call): Same.
+       (handle_builtin_memset): Same.
+       (handle_builtin_memcmp): Same.
+       (get_len_or_size): Same.
+       (strxcmp_eqz_result): Same.
+       (handle_builtin_string_cmp): Same.
+       (handle_pointer_plus): Same.
+       (count_nonzero_bytes_addr): Same.
+       (count_nonzero_bytes): Same.
+       (handle_store): Same.
+       (strlen_check_and_optimize_call): Same.
+       (handle_integral_assign): Same.
+       (check_and_optimize_stmt): Same.
+       (printf_strlen_execute): Rename strlen_dom_walker to strlen_pass.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102798
+       * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+       Only copy points-to info to newly generated SSA names.
+
+2021-10-18  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.c (dbg_cnt_process_opt): Remove unused but set variable.
+       * gcov.c (get_cycles_count): Likewise.
+       * lto-compress.c (lto_compression_zlib): Likewise.
+       (lto_uncompression_zlib): Likewise.
+       * targhooks.c (default_pch_valid_p): Likewise.
+
+2021-10-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-pass.h (make_pass_thread_jumps_full): New.
+       * tree-ssa-threadbackward.c (pass_thread_jumps::gate): Inline.
+       (try_thread_blocks): Add resolve and speed arguments.
+       (pass_thread_jumps::execute): Inline.
+       (do_early_thread_jumps): New.
+       (do_thread_jumps): New.
+       (make_pass_thread_jumps): Move.
+       (pass_early_thread_jumps::gate): Inline.
+       (pass_early_thread_jumps::execute): Inline.
+       (class pass_thread_jumps_full): New.
+
+2021-10-16  Piotr Kubaj  <pkubaj@FreeBSD.org>
+
+       * configure.ac: Treat powerpc64*-*-freebsd* the same as
+       powerpc64-*-freebsd*.
+       * configure: Regenerate.
+
+2021-10-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       * value-query.cc (get_ssa_name_ptr_info_nonnull): Change
+       set_ptr_nonull to set_ptr_nonnull in comments.
+
+2021-10-16  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-optimization/102720
+       * tree-ssa-structalias.c (compute_points_to_sets): Fix producing
+       of call used and clobbered sets.
+
+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.
+       (back_threader::back_threader): Same.
+       (back_threader::resolve_phi): Try to solve without looking back if
+       possible.
+       (back_threader::find_paths_to_names): Same.
+       (try_thread_blocks): Pass resolve argument to back threader.
+       (pass_early_thread_jumps::execute): Same.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/invoke.texi: Remove max-fsm-thread-length,
+       max-fsm-thread-paths, and fsm-maximum-phi-arguments.
+       * params.opt: Same.
+       * tree-ssa-threadbackward.c (back_threader::back_threader): Remove
+       argument.
+       (back_threader_registry::back_threader_registry): Same.
+       (back_threader_profitability::profitable_path_p): Remove
+       param_max_fsm_thread-length.
+       (back_threader_registry::register_path): Remove
+       m_max_allowable_paths.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (class back_threader): Make m_imports
+       an auto_bitmap.
+       (back_threader::~back_threader): Do not release m_path.
+
+2021-10-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102738
+       * vr-values.c (simplify_using_ranges::simplify): Handle RSHIFT_EXPR.
+
+2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-general.c (omp_check_context_selector):  Move from c-omp.c.
+       (omp_mark_declare_variant): Move from c-omp.c.
+       (omp_context_name_list_prop): Update for Fortran strings.
+       * omp-general.h (omp_check_context_selector): New prototype.
+       (omp_mark_declare_variant): New prototype.
+
+2021-10-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/rs6000/rs6000.c (rs6000_density_test): Move early
+       exit test further up the function.
+
+2021-10-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm.c (arm_add_stmt_cost): Delete.
+       (TARGET_VECTORIZE_ADD_STMT_COST): Delete.
+
+2021-10-14  Martin Jambor  <mjambor@suse.cz>
+
+       * doc/invoke.texi (Optimize Options): Add entry for
+       ipa-cp-recursive-freq-factor.
+
+2021-10-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * match.pd: New rule.
+
+2021-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/102557
+       * ipa-modref-tree.h (modref_access_node::update2):
+       Also check that parm_offset is unchanged.
+       (modref_ref_node::insert_access): Fix updating of
+       parameter.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::resolve_phi): Add
+       FIXME note.
+
+2021-10-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102659
+       * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Also
+       rewrite pointer typed undefined overflow operations.
+       (predicate_statements): Likewise.  Make sure to emit invariant
+       conversions in the preheader.
+       * tree-vectorizer.c (vect_loop_vectorized_call): Look through
+       non-empty preheaders.
+       * tree-data-ref.c (dr_analyze_indices): Strip useless
+       conversions to the MEM_REF base type.
+
+2021-10-14  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Stop using AUTODETECT_VALUE
+       and use EnabledBy where possible.
+       * opts.c: Enable OPT_fvar_tracking with optimize >= 1.
+       * toplev.c (AUTODETECT_VALUE): Remove macro.
+       (process_options): Simplify by using EnabledBy and
+       OPT_fvar_tracking.  Use OPTION_SET_P macro instead of
+       AUTODETECT_VALUE.
+
+2021-10-14  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vld1_s8_x3): Use signed type for
+       pointer parameter.
+       (vld1_s32_x3): Likewise.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102736
+       PR tree-optimization/102736
+       * gimple-range-path.cc (path_range_query::range_on_path_entry):
+       Assert that the requested range is defined outside the path.
+       (path_range_query::ssa_range_in_phi): Do not call
+       range_on_path_entry for SSA names that are defined within the
+       path.
+
+2021-10-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-driver.c (darwin_find_version_from_kernel):
+       Quote internal identifiers and avoid contractions in
+       warnings.
+       (darwin_default_min_version): Likewise.
+       (darwin_driver_init): Likewise.
+
+2021-10-14  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (ipa-cp-recursive-freq-factor): New.
+       * ipa-cp.c (ipcp_value): Switch to inline initialization.  New members
+       scc_no, self_recursion_generated_level, same_scc and
+       self_recursion_generated_p.
+       (ipcp_lattice::add_value): Replaced parameter unlimited with
+       same_lat_gen_level, usit it determine limit of values and store it to
+       the value.
+       (ipcp_lattice<valtype>::print): Dump the new fileds.
+       (allocate_and_init_ipcp_value): Take same_lat_gen_level as a new
+       parameter and store it to the new value.
+       (self_recursively_generated_p): Removed.
+       (propagate_vals_across_arith_jfunc): Use self_recursion_generated_p
+       instead of self_recursively_generated_p, store self generation level
+       to such values.
+       (value_topo_info<valtype>::add_val): Set scc_no.
+       (value_topo_info<valtype>::propagate_effects): Multiply frequencies of
+       recursively feeding values and self generated values by appropriate
+       new factors.
+
+2021-10-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Remove
+       redundant test for flag_vect_cost_model.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * bitmap.c (debug): New overloaded function for auto_bitmaps.
+       * bitmap.h (debug): Same.
+
+2021-10-14  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_mask_fcmadd_pch):
+       Adjust builtin call.
+       (_mm512_mask3_fcmadd_pch): Likewise.
+       (_mm512_mask_fmadd_pch): Likewise
+       (_mm512_mask3_fmadd_pch): Likewise
+       (_mm512_mask_fcmadd_round_pch): Likewise
+       (_mm512_mask3_fcmadd_round_pch): Likewise
+       (_mm512_mask_fmadd_round_pch): Likewise
+       (_mm512_mask3_fmadd_round_pch): Likewise
+       (_mm_mask_fcmadd_sch): Likewise
+       (_mm_mask3_fcmadd_sch): Likewise
+       (_mm_mask_fmadd_sch): Likewise
+       (_mm_mask3_fmadd_sch): Likewise
+       (_mm_mask_fcmadd_round_sch): Likewise
+       (_mm_mask3_fcmadd_round_sch): Likewise
+       (_mm_mask_fmadd_round_sch): Likewise
+       (_mm_mask3_fmadd_round_sch): Likewise
+       (_mm_fcmadd_round_sch): Likewise
+       * config/i386/avx512fp16vlintrin.h (_mm_mask_fmadd_pch):
+       Adjust builtin call.
+       (_mm_mask3_fmadd_pch): Likewise
+       (_mm256_mask_fmadd_pch): Likewise
+       (_mm256_mask3_fmadd_pch): Likewise
+       (_mm_mask_fcmadd_pch): Likewise
+       (_mm_mask3_fcmadd_pch): Likewise
+       (_mm256_mask_fcmadd_pch): Likewise
+       (_mm256_mask3_fcmadd_pch): Likewise
+       * config/i386/i386-builtin.def: Add mask3 builtin for complex
+       fma, and adjust mask_builtin to corresponding expander.
+       * config/i386/i386-expand.c (ix86_expand_round_builtin):
+       Skip eraseing embedded rounding for expanders that emits
+       multiple insns.
+       * config/i386/sse.md (complexmove): New mode_attr.
+       (<avx512>_fmaddc_<mode>_mask1<round_expand_name>): New expander.
+       (<avx512>_fcmaddc_<mode>_mask1<round_expand_name>): Likewise.
+       (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name>): Likewise.
+       (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>): Likewise.
+       (avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>): Likewise.
+       (avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>): Likewise.
+       * config/i386/subst.md (round_embedded_complex): New subst.
+
+2021-10-14  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md (cbranchsf4): Disable if TARGET_SOFT_FLOAT.
+       (cbranchdf4): Likewise.
+       Add missing move patterns for TARGET_SOFT_FLOAT.
+
+2021-10-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386-expand.c (ix86_expand_vector_move):  Use a
+       pseudo intermediate when moving a SUBREG into a hard register,
+       by checking ix86_hardreg_mov_ok.
+       (ix86_expand_vector_extract): Store zero-extended SImode
+       intermediate in a pseudo, then set target using a SUBREG_PROMOTED
+       annotated subreg.
+       * config/i386/sse.md (mov<VMOVE>_internal): Prevent CSE creating
+       complex (SUBREG) sets of (vector) hard registers before reload, by
+       checking ix86_hardreg_mov_ok.
+
+2021-10-13  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * ctfc.h (enum ctf_dtu_d_union_enum): Remove redundant comma.
+
+2021-10-13  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * dwarf2ctf.c (gen_ctf_array_type): Fix typo in comment.
+
+2021-10-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102630
+       * pointer-query.cc (compute_objsize_r): Handle named address spaces.
+
+2021-10-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * collect2.c (is_lto_object_file): Release simple-object
+       resources, close files.
+
+2021-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (thumb2_legitimate_address_p): Use VALID_MVE_MODE
+       when checking mve addressing modes.
+       (mve_vector_mem_operand): Fix the way we handle pre, post and offset
+       addressing modes.
+       (arm_print_operand): Fix printing of POST_ and PRE_MODIFY.
+       * config/arm/mve.md: Use mve_memory_operand predicate everywhere where
+       there is a single Ux constraint.
+
+2021-10-13  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md (muldi3): Add support for inlining 64-bit
+       multiplication on 32-bit PA 1.1 and 2.0 targets.
+
+2021-10-13  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/90364
+       * coverage.c (build_info): Emit checksum to the global variable.
+       (build_info_type): Add new field for checksum.
+       (coverage_obj_finish): Pass object_checksum.
+       (coverage_init): Use 0 as checksum for .gcno files.
+       * gcov-dump.c (dump_gcov_file): Dump also new checksum field.
+       * gcov.c (read_graph_file): Read also checksum.
+       * doc/invoke.texi: Document the behaviour change.
+
+2021-10-13  Richard Biener  <rguenther@suse.de>
+
+       * gimple-iterator.h (gsi_iterator_update): Add GSI_LAST_NEW_STMT,
+       start at integer value 2.
+       * gimple-iterator.c (gsi_insert_seq_nodes_before): Update
+       the iterator for GSI_LAST_NEW_STMT.
+       (gsi_insert_seq_nodes_after): Likewise.
+       * tree-if-conv.c (predicate_statements): Use GSI_LAST_NEW_STMT.
+       * tree-ssa.c (execute_update_addresses_taken): Correct bogus
+       arguments to gsi_replace.
+
+2021-10-13  Martin Liska  <mliska@suse.cz>
+
+       PR target/102688
+       * common.opt: Use EnabledBy instead of detection in
+       finish_options and process_options.
+       * opts.c (finish_options): Remove handling of
+       x_flag_unroll_all_loops.
+       * toplev.c (process_options): Likewise for flag_web and
+       flag_rename_registers.
+
+2021-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102659
+       * tree-if-conv.c (need_to_rewrite_undefined): New flag.
+       (if_convertible_gimple_assign_stmt_p): Mark the loop for
+       rewrite when stmts with undefined behavior on integer
+       overflow appear.
+       (combine_blocks): Predicate also when we need to rewrite stmts.
+       (predicate_statements): Rewrite affected stmts to something
+       with well-defined behavior on overflow.
+       (tree_if_conversion): Initialize need_to_rewrite_undefined.
+
+2021-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/102714
+       * ipa-sra.c (ptr_parm_has_nonarg_uses): Fix volatileness
+       check.
+
+2021-10-13  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * dwarf2ctf.c: Fix typo in comment.
+
+2021-10-12  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101985
+       * config/rs6000/altivec.h (vec_cpsgn): Swap operand order.
+       * config/rs6000/rs6000-overload.def (VEC_COPYSIGN): Use SKIP to
+       avoid generating an automatic #define of vec_cpsgn.  Use the
+       correct built-in for V4SFmode that doesn't depend on VSX.
+
+2021-10-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/85730
+       PR target/82524
+       * config/i386/i386.md (*add<mode>_1_slp): Rewrite as
+       define_insn_and_split pattern.  Add alternative 1 and split it
+       post reload to insert operand 1 into the low part of operand 0.
+       (*sub<mode>_1_slp): Ditto.
+       (*and<mode>_1_slp): Ditto.
+       (*<any_or:code><mode>_1_slp): Ditto.
+       (*ashl<mode>3_1_slp): Ditto.
+       (*<any_shiftrt:insn><mode>3_1_slp): Ditto.
+       (*<any_rotate:insn><mode>3_1_slp): Ditto.
+       (*neg<mode>_1_slp): New insn_and_split pattern.
+       (*one_cmpl<mode>_1_slp): Ditto.
+
+2021-10-12  David Edelsohn  <dje.gcc@gmail.com>
+
+       * doc/install.texi: Update MinGW and mingw-64 Binaries
+       download links.
+
+2021-10-12  Daniel Le Duc Khoi Nguyen  <greenrecyclebin@gmail.com>
+
+       * doc/extend.texi (Common Variable Attributes): Fix typos in
+       alloc_size documentation.
+
+2021-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102696
+       * tree-vect-slp.c (vect_build_slp_tree_2): Properly mark
+       the tree fatally failed when we reject a BIT_FIELD_REF.
+
+2021-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102572
+       * tree-vect-stmts.c (vect_build_gather_load_calls): When
+       gathering the vectorized defs for the mask pass in the
+       desired mask vector type so invariants will be handled
+       correctly.
+
+2021-10-12  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-sve.md (*fcm<cmp_op><mode>_bic_combine,
+       *fcm<cmp_op><mode>_nor_combine, *fcmuo<mode>_bic_combine,
+       *fcmuo<mode>_nor_combine): New.
+
+2021-10-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/102588
+       * config/sparc/sparc-modes.def (OI): New integer mode.
+
+2021-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-fold.h (clear_padding_type_may_have_padding_p): Declare.
+       * gimple-fold.c (clear_padding_type_may_have_padding_p): No longer
+       static.
+
+2021-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-vectorizer.h (loop_cost_model): New function.
+       (unlimited_cost_model): Use it.
+       * tree-vect-loop.c (vect_analyze_loop_costing): Use loop_cost_model
+       call instead of flag_vect_cost_model.
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
+       (vect_prune_runtime_alias_test_list): Likewise.  Also use it instead
+       of flag_simd_cost_model.
+
+2021-10-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102483
+       * config/i386/i386-expand.c (emit_reduc_half): Handle
+       V4QImode.
+       * config/i386/mmx.md (reduc_<code>_scal_v4qi): New expander.
+       (reduc_plus_scal_v4qi): Ditto.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64,
+       _mm_mullo_epi32, _mm_mul_epi32, _mm_packus_epi32): New.
+       * config/rs6000/nmmintrin.h: Copy from i386, tweak to suit.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_cvtepi8_epi16, _mm_cvtepi8_epi32,
+       _mm_cvtepi8_epi64, _mm_cvtepi16_epi32, _mm_cvtepi16_epi64,
+       _mm_cvtepi32_epi64, _mm_cvtepu8_epi16, _mm_cvtepu8_epi32,
+       _mm_cvtepu8_epi64, _mm_cvtepu16_epi32, _mm_cvtepu16_epi64,
+       _mm_cvtepu32_epi64): New.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_test_all_zeros,
+       _mm_test_all_ones, _mm_test_mix_ones_zeros): Rewrite as macro.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_min_epi8, _mm_min_epu16,
+       _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16,
+       _mm_max_epi32, _mm_max_epu32): New.
+
+2021-10-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (struct modref_access_node): Revert
+       accidental change.
+       (struct modref_ref_node): Likewise.
+
+2021-10-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_tree::global_access_p): New member
+       function.
+       * ipa-modref.c:
+       (implicint_const_eaf_flags,implicit_pure_eaf_flags,
+       ignore_stores_eaf_flags): Move to ipa-modref.h
+       (remove_useless_eaf_flags): Remove early exit on NOCLOBBER.
+       (modref_summary::global_memory_read_p): New member function.
+       (modref_summary::global_memory_written_p): New member function.
+       * ipa-modref.h (modref_summary::global_memory_read_p,
+       modref_summary::global_memory_written_p): Declare.
+       (implicint_const_eaf_flags,implicit_pure_eaf_flags,
+       ignore_stores_eaf_flags): move here.
+       * tree-ssa-structalias.c: Include ipa-modref-tree.h, ipa-modref.h
+       and attr-fnspec.h.
+       (handle_rhs_call): Rewrite.
+       (handle_call_arg): New function.
+       (determine_global_memory_access): New function.
+       (handle_const_call): Remove
+       (handle_pure_call): Remove
+       (find_func_aliases_for_call): Update use of handle_rhs_call.
+       (compute_points_to_sets): Handle global memory acccesses
+       selectively
+
+2021-10-11  Diane Meirowitz  <diane.meirowitz@oracle.com>
+
+       * doc/invoke.texi: Add link to UndefinedBehaviorSanitizer
+       documentation, mention UBSAN_OPTIONS, similar to what is done
+       for AddressSanitizer.
+
+2021-10-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102683
+       * internal-fn.c (expand_DEFERRED_INIT): Check for mode
+       availability before building an integer type for storage
+       purposes.
+
+2021-10-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101480
+       * gimple.c (gimple_call_fnspec): Do not mark operator new/delete
+       as const.
+
+2021-10-11  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Remove Init(2) for some options.
+       * toplev.c (process_options): Do not use AUTODETECT_VALUE, but
+       use rather OPTION_SET_P.
+
+2021-10-11  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Remove usage of IRA_REGION_AUTODETECT.
+       * flag-types.h (enum ira_region): Likewise.
+       * toplev.c (process_options): Use OPTION_SET_P instead of
+       IRA_REGION_AUTODETECT.
+
+2021-10-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (omp_runtime_api_call): Handle omp_get_max_teams,
+       omp_[sg]et_teams_thread_limit and omp_set_num_teams.
+
+2021-10-11  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390-protos.h (s390_rawmemchr): Add prototype.
+       * config/s390/s390.c (s390_rawmemchr): New function.
+       * config/s390/s390.md (rawmemchr<SINT:mode>): New expander.
+       * config/s390/vector.md (@vec_vfees<mode>): Basically a copy of
+       the pattern vfees<mode> from vx-builtins.md.
+       * config/s390/vx-builtins.md (*vfees<mode>): Remove.
+
+2021-10-11  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * builtins.c (get_memory_rtx): Change to external linkage.
+       * builtins.h (get_memory_rtx): Add function prototype.
+       * doc/md.texi (rawmemchr<mode>): Document.
+       * internal-fn.c (expand_RAWMEMCHR): Define.
+       * internal-fn.def (RAWMEMCHR): Add.
+       * optabs.def (rawmemchr_optab): Add.
+       * tree-loop-distribution.c (find_single_drs): Change return code
+       behaviour by also returning true if no single store was found
+       but a single load.
+       (loop_distribution::classify_partition): Respect the new return
+       code behaviour of function find_single_drs.
+       (loop_distribution::execute): Call new function
+       transform_reduction_loop in order to replace rawmemchr or strlen
+       like loops by calls into builtins.
+       (generate_reduction_builtin_1): New function.
+       (generate_rawmemchr_builtin): New function.
+       (generate_strlen_builtin_1): New function.
+       (generate_strlen_builtin): New function.
+       (generate_strlen_builtin_using_rawmemchr): New function.
+       (reduction_var_overflows_first): New function.
+       (determine_reduction_stmt_1): New function.
+       (determine_reduction_stmt): New function.
+       (loop_distribution::transform_reduction_loop): New function.
+
+2021-10-11  Martin Liska  <mliska@suse.cz>
+
+       * tree.c (cl_option_hasher::hash): Use cl_optimization_hash
+       and remove legacy hashing code.
+
+2021-10-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/100316
+       * builtins.c (maybe_emit_call_builtin___clear_cache): Allow
+       CONST_INT for BEGIN and END, and use gcc_assert rather than
+       error.
+
+2021-10-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/102441
+       * var-tracking.c (add_stores): For cselib_sp_derived_value_p values
+       use MO_VAL_SET if loc is not sp.
+
+2021-10-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/102622
+       * match.pd: Swap the order of a?pow2cst:0 and a?-1:0 transformations.
+       Swap the order of a?0:pow2cst and a?0:-1 transformations.
+
+2021-10-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102639
+       * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Handle
+       HFmode.
+       (ix86_use_mask_cmp_p): Ditto.
+       (ix86_expand_sse_movcc): Ditto.
+       * config/i386/i386.md (setcc_hf_mask): New define_insn.
+       (movhf_mask): Ditto.
+       (UNSPEC_MOVCC_MASK): New unspec.
+       * config/i386/sse.md (UNSPEC_PCMP): Move to i386.md.
+
+2021-10-08  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/102627
+       * lra-constraints.c (split_reg): Use at least natural mode of hard reg.
+
+2021-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Grow
+       bitmap if needed.
+
+2021-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::debug): New.
+       * value-range.h (irange::debug): New.
+
+2021-10-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/102385
+       * predict.h (change_edge_frequency): Declare.
+       * predict.c (change_edge_frequency): New function.
+       * tree-ssa-loop-manip.h (tree_transform_and_unroll_loop): Remove
+       edge argument.
+       (tree_unroll_loop): Likewise.
+       * gimple-loop-jam.c (tree_loop_unroll_and_jam): Update accordingly.
+       * tree-predcom.c (pcom_worker::tree_predictive_commoning_loop):
+       Likewise.
+       * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Likewise.
+       * tree-ssa-loop-manip.c (tree_unroll_loop): Likewise.
+       (tree_transform_and_unroll_loop): Likewise.  Use single_dom_exit
+       to retrieve the exit edges.  Make all the old profile update code
+       conditional on !single_loop_p -- the case it was written for --
+       and use a different approach for the single-loop case.
+
+2021-10-08  Martin Liska  <mliska@suse.cz>
+
+       * config/alpha/alpha.c (alpha_option_override): Use new macro
+       OPTION_SET_P.
+       * config/arc/arc.c (arc_override_options): Likewise.
+       * config/arm/arm.c (arm_option_override): Likewise.
+       * config/bfin/bfin.c (bfin_load_pic_reg): Likewise.
+       * config/c6x/c6x.c (c6x_option_override): Likewise.
+       * config/csky/csky.c: Likewise.
+       * config/darwin.c (darwin_override_options): Likewise.
+       * config/frv/frv.c (frv_option_override): Likewise.
+       * config/i386/djgpp.h: Likewise.
+       * config/i386/i386.c (ix86_stack_protect_guard): Likewise.
+       (ix86_max_noce_ifcvt_seq_cost): Likewise.
+       * config/ia64/ia64.c (ia64_option_override): Likewise.
+       (ia64_override_options_after_change): Likewise.
+       * config/m32c/m32c.c (m32c_option_override): Likewise.
+       * config/m32r/m32r.c (m32r_init): Likewise.
+       * config/m68k/m68k.c (m68k_option_override): Likewise.
+       * config/microblaze/microblaze.c (microblaze_option_override): Likewise.
+       * config/mips/mips.c (mips_option_override): Likewise.
+       * config/nios2/nios2.c (nios2_option_override): Likewise.
+       * config/nvptx/nvptx.c (nvptx_option_override): Likewise.
+       * config/pa/pa.c (pa_option_override): Likewise.
+       * config/riscv/riscv.c (riscv_option_override): Likewise.
+       * config/rs6000/aix71.h: Likewise.
+       * config/rs6000/aix72.h: Likewise.
+       * config/rs6000/aix73.h: Likewise.
+       * config/rs6000/rs6000.c (darwin_rs6000_override_options): Likewise.
+       (rs6000_override_options_after_change): Likewise.
+       (rs6000_linux64_override_options): Likewise.
+       (glibc_supports_ieee_128bit): Likewise.
+       (rs6000_option_override_internal): Likewise.
+       (rs6000_file_start): Likewise.
+       (rs6000_darwin_file_start): Likewise.
+       * config/rs6000/rtems.h: Likewise.
+       * config/rs6000/sysv4.h: Likewise.
+       * config/rs6000/vxworks.h (SUB3TARGET_OVERRIDE_OPTIONS): Likewise.
+       * config/s390/s390.c (s390_option_override): Likewise.
+       * config/sh/linux.h: Likewise.
+       * config/sh/netbsd-elf.h (while): Likewise.
+       * config/sh/sh.c (sh_option_override): Likewise.
+       * config/sol2.c (solaris_override_options): Likewise.
+       * config/sparc/sparc.c (sparc_option_override): Likewise.
+       * config/tilegx/tilegx.c (tilegx_option_override): Likewise.
+       * config/visium/visium.c (visium_option_override): Likewise.
+       * config/vxworks.c (vxworks_override_options): Likewise.
+       * lto-opts.c (lto_write_options): Likewise.
+       * omp-expand.c (expand_omp_simd): Likewise.
+       * omp-general.c (omp_max_vf): Likewise.
+       * omp-offload.c (oacc_xform_loop): Likewise.
+       * opts.h (OPTION_SET_P): Likewise.
+       * targhooks.c (default_max_noce_ifcvt_seq_cost): Likewise.
+       * toplev.c (process_options): Likewise.
+       * tree-predcom.c: Likewise.
+       * tree-sra.c (analyze_all_variable_accesses): Likewise.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * config/i386/i386.c (ix86_optab_supported_p):
+       Return true for HFmode.
+       * match.pd: Simplify (_Float16) ceil ((double) x) to
+       __builtin_ceilf16 (a) when a is _Float16 type and
+       direct_internal_fn_supported_p.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102494
+       * config/i386/i386-expand.c (emit_reduc_half): Hanlde V4HImode.
+       * config/i386/mmx.md (reduc_plus_scal_v4hi): New.
+       (reduc_<code>_scal_v4hi): New.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       * common.opt (ftree-vectorize): Add Var(flag_tree_vectorize).
+       * doc/invoke.texi (Options That Control Optimization): Update
+       documents.
+       * opts.c (default_options_table): Enable auto-vectorization at
+       O2 with very-cheap cost model.
+       (finish_options): Use cheap cost model for
+       explicit -ftree{,-loop}-vectorize.
+
+2021-10-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * ctfc.c (ctfc_delete_container): Free hash table contents.
+
+2021-10-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * toplev.c (process_options): Do not warn for GNU GIMPLE.
+
+2021-10-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * tree-object-size.c (addr_object_size,
+       compute_builtin_object_size): Drop PDECL and POFF arguments.
+       (addr_object_size): Adjust calls.
+       * tree-object-size.h (compute_builtin_object_size): Drop PDECL
+       and POFF arguments.
+
+2021-10-07  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * rtl.def (SMUL_HIGHPART, UMUL_HIGHPART): New RTX codes for
+       representing signed and unsigned high-part multiplication resp.
+       * simplify-rtx.c (simplify_binary_operation_1) [SMUL_HIGHPART,
+       UMUL_HIGHPART]: Simplify high-part multiplications by zero.
+       [SS_PLUS, US_PLUS, SS_MINUS, US_MINUS, SS_MULT, US_MULT,
+       SS_DIV, US_DIV]: Similar simplifications for saturating
+       arithmetic.
+       (simplify_const_binary_operation) [SS_PLUS, US_PLUS, SS_MINUS,
+       US_MINUS, SS_MULT, US_MULT, SMUL_HIGHPART, UMUL_HIGHPART]:
+       Implement compile-time evaluation for constant operands.
+       * dwarf2out.c (mem_loc_descriptor): Skip SMUL_HIGHPART and
+       UMUL_HIGHPART.
+       * doc/rtl.texi (smul_highpart, umul_highpart): Document RTX codes.
+       * doc/md.texi (smul@var{m}3_highpart, umul@var{m3}_highpart):
+       Mention the new smul_highpart and umul_highpart RTX codes.
+       * doc/invoke.texi: Silence @xref "compilation" warnings.
+
+2021-10-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/102388
+       * ipa-prop.c (ipa_edge_args_sum_t::duplicate): Also handle the
+       case when the source reference description corresponds to a
+       referance taken in a function src->caller is inlined to.
+
+2021-10-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/102581
+       * ipa-modref-tree.h (modref_access_node::contains_p): Handle offsets
+       better.
+       (modref_access_node::try_merge_with): Add sanity check that there
+       are no redundant entries in the list.
+
+2021-10-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102608
+       * tree-ssa-sccvn.c (visit_stmt): Drop .DEFERRED_INIT to
+       varying.
+
+2021-10-07  Martin Liska  <mliska@suse.cz>
+
+       * toplev.c (toplev::main): Make
+       save_opt_decoded_options a pointer type
+       * toplev.h: Likewise.
+
+2021-10-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (gather<mode>_insn_2offsets<exec>): Apply
+       HAVE_GCN_ASM_GLOBAL_LOAD_FIXED.
+       (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
+
+2021-10-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (SRAMOPT): Include the whole option string.
+       Adjust for new -msram-ecc=any behaviour.
+       (ASM_SPEC): Adjust -mxnack and -msram-ecc usage.
+       * config/gcn/gcn.c (output_file_start): Implement -msram-ecc=any.
+       * config/gcn/mkoffload.c (EF_AMDGPU_XNACK): Rename to ...
+       (EF_AMDGPU_XNACK_V3): ... this.
+       (EF_AMDGPU_SRAM_ECC): Rename to ...
+       (EF_AMDGPU_SRAM_ECC_V3): ... this.
+       (EF_AMDGPU_FEATURE_XNACK_V4): New.
+       (EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4): New.
+       (EF_AMDGPU_FEATURE_XNACK_ANY_V4): New.
+       (EF_AMDGPU_FEATURE_XNACK_OFF_V4): New.
+       (EF_AMDGPU_FEATURE_XNACK_ON_V4): New.
+       (EF_AMDGPU_FEATURE_SRAMECC_V4): New.
+       (EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4): New.
+       (EF_AMDGPU_FEATURE_SRAMECC_ANY_V4): New.
+       (EF_AMDGPU_FEATURE_SRAMECC_OFF_V4): New.
+       (EF_AMDGPU_FEATURE_SRAMECC_ON_V4): New.
+       (SET_XNACK_ON): New.
+       (SET_XNACK_OFF): New.
+       (TEST_XNACK): New.
+       (SET_SRAM_ECC_ON): New.
+       (SET_SRAM_ECC_ANY): New.
+       (SET_SRAM_ECC_OFF): New.
+       (TEST_SRAM_ECC_ANY): New.
+       (TEST_SRAM_ECC_ON): New.
+       (main): Implement HSACOv4 and -msram-ecc=any.
+
+2021-10-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.in: Regenerate.
+       * config/gcn/gcn-hsa.h (X_FIJI): New macro.
+       (X_900): New macro.
+       (X_906): New macro.
+       (X_908): New macro.
+       (A_FIJI): Rename to ...
+       (S_FIJI): ... this.
+       (A_900): Rename to ...
+       (S_900): ... this.
+       (A_906): Rename to ...
+       (S_906): ... this.
+       (A_908): Rename to ...
+       (S_908): ... this.
+       (SRAMOPT): New macro.
+       (ASM_SPEC): Adjust xnack option usage.
+       * config/gcn/gcn.c (output_file_start): Adjust amdgcn_target usage.
+       * configure: Regenerate.
+       * configure.ac: Detect LLVM assembler dialect.
+
+2021-10-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Do not elide
+       printing '&' when dumping with -gimple.
+
+2021-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::adjust_range): Call new
+       intersect routine.
+       * gimple-range-fold.cc (adjust_pointer_diff_expr): Ditto.
+       (adjust_imagpart_expr): Ditto.
+       * value-range.cc (irange::irange_intersect): Call new routine if
+       RHS is a single pair.
+       (irange::intersect): New wide_int version.
+       * value-range.h (class irange): New prototype.
+
+2021-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range):
+       Add parameter to limit size when recognizing switches.
+       (gimple_outgoing_range::edge_range_p): Check size limit.
+       * gimple-range-edge.h (gimple_outgoing_range): Add size field.
+       * gimple-range-gori.cc (gori_map::calculate_gori): Ignore switches
+       that exceed the size limit.
+       (gori_compute::gori_compute): Add initializer.
+       * params.opt (evrp-switch-limit): New.
+       * doc/invoke.texi: Update docs.
+
+2021-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-range.h (irange::set_varying): Use TYPE_MIN_VALUE and
+       TYPE_MAX_VALUE instead of creating new trees when possible.
+
+2021-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::adjust_range): Check for
+       zero and non-zero more efficently.
+
+2021-10-06  Richard Biener  <rguenther@suse.de>
+
+       PR c/102605
+       * dumpfile.h (TDF_GIMPLE_VAL): New.
+       (dump_flag): Re-order and adjust TDF_* flags.  Make
+       the enum uint32_t.  Use std::underlying_type in the
+       operator overloads.
+       (optgroup_flag): Likewise for the operator overloads.
+       * tree-pretty-print.c (dump_generic_node): Wrap ADDR_EXPR
+       in _Literal if TDF_GIMPLE_VAL.
+       * gimple-pretty-print.c (dump_gimple_assign): Add
+       TDF_GIMPLE_VAL to flags when dumping operands where only
+       is_gimple_val are allowed.
+       (dump_gimple_cond): Likewise.
+
+2021-10-06  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove redundant if
+       condition.
+
+2021-10-05  qing zhao  <qing.zhao@oracle.com>
+
+       PR middle-end/102359
+       * gimplify.c (gimplify_decl_expr): Not add initialization for an
+       auto variable when it has been initialized by frontend.
+
+2021-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadupdate.c (jt_path_registry::cancel_invalid_paths):
+       Loosen restrictions
+
+2021-10-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * common/config/avr/avr-common.c (avr_handle_option): Mark
+       argument as ATTRIBUTE_UNUSED.
+
+2021-10-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * config/lm32/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC):
+       Undefine before redefinition.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       * toplev.c (no_backend): Remove global var.
+       (process_options): Pass in no_backend, move post_options
+       langhook call to toplev::main.
+       (do_compile): Pass in no_backend, move process_options call
+       to toplev::main.
+       (toplev::run_self_tests): Check no_backend at the caller.
+       (toplev::main): Call post_options and process_options
+       split out from do_compile, do self-tests only if
+       no_backend is initialized.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (dump_function_to_file): Dump the UID of the
+       function as part of the name when requested.
+       * tree-pretty-print.c (dump_function_name): Dump the UID when
+       requested and the langhook produced the actual name.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102587
+       PR middle-end/102285
+       * internal-fn.c (expand_DEFERRED_INIT): Fall back to
+       zero-initialization as last resort, use the constant
+       size as given by the DEFERRED_INIT argument to build
+       the initializer.
+
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * doc/invoke.texi: Document -Warray-compare.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * gimplify.c (is_var_need_auto_init): DECL_HARD_REGISTER
+       variables are not to be initialized.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * expr.h (non_mem_decl_p): Declare.
+       (mem_ref_refers_to_non_mem_p): Likewise.
+       * expr.c (non_mem_decl_p): Export.
+       (mem_ref_refers_to_non_mem_p): Likewise.
+       * internal-fn.c (expand_DEFERRED_INIT): Do not expand the LHS
+       but check the base with mem_ref_refers_to_non_mem_p
+       and non_mem_decl_p.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102570
+       * tree-ssa-sccvn.h (vn_reference_op_struct): Document
+       we are using clique for the internal function code.
+       * tree-ssa-sccvn.c (vn_reference_op_eq): Compare the
+       internal function code.
+       (print_vn_reference_ops): Print the internal function code.
+       (vn_reference_op_compute_hash): Hash it.
+       (copy_reference_ops_from_call): Record it.
+       (visit_stmt): Remove the restriction around internal function
+       calls.
+       (fully_constant_vn_reference_p): Use fold_const_call and handle
+       internal functions.
+       (vn_reference_eq): Compare call return types.
+       * tree-ssa-pre.c (create_expression_by_pieces): Handle
+       generating calls to internal functions.
+       (compute_avail): Remove the restriction around internal function
+       calls.
+
+2021-10-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102560
+       * gimple-ssa-warn-alloca.c (alloca_call_type): Remove static
+       marker for invalid_range.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102587
+       * internal-fn.c (expand_DEFERRED_INIT): Guard register
+       initialization path an avoid initializing VLA registers
+       with it.
+
+2021-10-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/rs6000/vxworks.h (TARGET_INIT_LIBFUNCS): Delete.
+
+2021-10-03  Martin Liska  <mliska@suse.cz>
+
+       * toplev.c (toplev::main): Check opt_index if it is a part
+       of cl_options.
+
+2021-10-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102563
+       * range-op.cc (operator_lshift::op1_range): Do not clobber
+       range.
+
+2021-10-02  Martin Liska  <mliska@suse.cz>
+
+       * toplev.c (toplev::main): save_decoded_options[0] is program
+       name and so it should be skipped.
+
+2021-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102546
+       * range-op.cc (operator_lshift::op1_range): Teach range-ops that
+       X << Y is non-zero implies X is also non-zero.
+
+2021-10-01  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def (AARCH64_CORE): New
+       Cortex-X2 core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2021-10-01  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def (AARCH64_CORE): New
+       Cortex-A710 core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2021-10-01  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def (AARCH64_CORE): New
+       Cortex-A510 core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2021-10-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c/102103
+       * doc/invoke.texi (-Waddress): Update.
+       * gengtype.c (write_types): Avoid -Waddress.
+       * poly-int.h (POLY_SET_COEFF): Avoid using null.
+
+2021-10-01  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR debug/102373
+       * config/pa/pa.c (pa_option_override): Default to dwarf version 4
+       on hppa64-hpux.
+
+2021-10-01  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64.h (AARCH64_FL_V9): Update value.
+
+2021-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::compute_ranges): Use
+       get_path_oracle.
+       * gimple-range-path.h (class path_range_query): Remove shadowed
+       m_oracle field.
+       (path_range_query::get_path_oracle): New.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR sanitizer/102515
+       * doc/invoke.texi (-fsanitize=integer-divide-by-zero): Remove
+       INT_MIN / -1 division detection from here ...
+       (-fsanitize=signed-integer-overflow): ... and add it here.
+
+2021-10-01  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added
+       armv9-a.
+       * config/aarch64/aarch64.h (AARCH64_FL_V9): New.
+       (AARCH64_FL_FOR_ARCH9): New flags for Armv9-A.
+       (AARCH64_ISA_V9): New ISA flag.
+       * doc/invoke.texi: Update docs.
+
+2021-10-01  Martin Liska  <mliska@suse.cz>
+
+       * toplev.c (toplev::main): Save decoded optimization options.
+       * toplev.h (save_opt_decoded_options): New.
+       * doc/extend.texi: Be more clear about optimize and target
+       attributes.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * explow.c: Include langhooks.h.
+       (set_stack_check_libfunc): Build a proper function type.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR c++/64697
+       * config/i386/i386.c (legitimate_pic_address_disp_p): For PE-COFF do
+       not return true for external weak function symbols in medium model.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_ORDER_REPRODUCIBLE): Define.
+       * tree-pretty-print.c (dump_omp_clause) <case OMP_CLAUSE_ORDER>: Print
+       reproducible: for OMP_CLAUSE_ORDER_REPRODUCIBLE.
+       * omp-general.c (omp_extract_for_data): If OMP_CLAUSE_ORDER is seen
+       without OMP_CLAUSE_ORDER_UNCONSTRAINED, overwrite sched_kind to
+       OMP_CLAUSE_SCHEDULE_STATIC.
+
+2021-10-01  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102518
+       * tree-inline.c (setup_one_parameter): Avoid substituting
+       an invariant into contexts where a GIMPLE register is not valid.
+
+2021-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-R52+ CPU.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2021-09-30  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89954
+       * config/i386/i386.md
+       (sign_extend:WIDE (any_logic:NARROW (memory, immediate)) splitters):
+       New splitters.
+
+2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-low.c (omp_runtime_api_call): Add omp_aligned_{,c}alloc and
+       omp_{c,re}alloc, fix omp_alloc/omp_free.
+
+2021-09-30  Martin Liska  <mliska@suse.cz>
+
+       * defaults.h (ASM_OUTPUT_ASCII): Do not hide global variable
+       asm_out_file and stream directly to MYFILE.
+
+2021-09-30  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+       Restore and fix condition under which we apply npeel to
+       the DRs misalignment value.
+
+2021-09-30  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+       Fix npeel check for variable amount of peeling.
+
+2021-09-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * lto-wrapper.c (run_gcc): Plug snprintf overflow.
+
+2021-09-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::debug): New.
+       * gimple-range.h (class gimple_ranger): Add debug.
+
+2021-09-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR middle-end/102519
+       * tree-vrp.c (hybrid_threader::~hybrid_threader): Free m_query.
+
+2021-09-29  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/102507
+       * btfout.c (GTY): Add GTY (()) albeit for cosmetic only purpose.
+       (btf_finalize): Empty the hash_map btf_var_ids.
+
+2021-09-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (thread_through_all_blocks): Return bool.
+       (execute_vrp_threader): Return TODO_* flags.
+       (pass_data_vrp_threader): Set todo_flags_finish to 0.
+
+2021-09-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * timevar.def (TV_TREE_VRP_THREADER): New.
+       * tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass.
+
+2021-09-29  David Faust  <david.faust@oracle.com>
+
+       * config.gcc (bpf-*-*): Do not overwrite extra_headers.
+
+2021-09-29  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (TYPES_BINOP_PPU): Define
+       new type qualifier enum.
+       (TYPES_TERNOP_SSSU): Likewise.
+       (TYPES_TERNOP_PPPU): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def: Define PPU, SSU,
+       PPPU and SSSU builtin generator macros for qtbl1 and qtbx1
+       Neon builtins.
+       * config/aarch64/arm_neon.h (vqtbl1_p8): Use type-qualified
+       builtin and remove casts.
+       (vqtbl1_s8): Likewise.
+       (vqtbl1q_p8): Likewise.
+       (vqtbl1q_s8): Likewise.
+       (vqtbx1_s8): Likewise.
+       (vqtbx1_p8): Likewise.
+       (vqtbx1q_s8): Likewise.
+       (vqtbx1q_p8): Likewise.
+       (vtbl1_p8): Likewise.
+       (vtbl2_p8): Likewise.
+       (vtbx2_p8): Likewise.
+
+2021-09-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_dr_misalign_for_aligned_access):
+       New helper.
+       (vect_update_misalignment_for_peel): Use it to update
+       misaligned to the value necessary for an aligned access.
+       (vect_get_peeling_costs_all_drs): Likewise.
+       (vect_enhance_data_refs_alignment): Likewise.
+
+2021-09-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_cpymem): Count number of
+       emitted operations and adjust heuristic for code size.
+
+2021-09-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_expand_setmem): Count number of
+       emitted operations and adjust heuristic for code size.
+
+2021-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102504
+       * gimplify.c (gimplify_scan_omp_clauses): Use omp_check_private even
+       in OMP_SCOPE clauses, not just on worksharing construct clauses.
+
+2021-09-28  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/riscv/riscv.md (mulv<mode>4): Call gen_smul<mode>3_highpart.
+       (<u>mulditi3): Call <su>muldi3_highpart.
+       (<u>muldi3_highpart): Rename to <su>muldi3_highpart.
+       (<u>mulsidi3): Call <su>mulsi3_highpart.
+       (<u>mulsi3_highpart): Rename to <su>mulsi3_highpart.
+
+2021-09-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (DSYMUTIL_SPEC): Recognize D sources.
+
+2021-09-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/rs6000/darwin.h (FIXED_R13): Add for PPC64.
+       (FIRST_SAVED_GP_REGNO): Save from R13 even when it is one
+       of the fixed regs.
+
+2021-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.h (AARCH64_FL_LS64): Define
+       (AARCH64_FL_V8_7): Likewise.
+       (AARCH64_FL_FOR_ARCH8_7): Likewise.
+       * config/aarch64/aarch64-arches.def (armv8.7-a): Define.
+       * config/aarch64/aarch64-option-extensions.def (ls64): Define.
+       * doc/invoke.texi: Document the above.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * dbgcnt.c (dbg_cnt_counter): New.
+       * dbgcnt.h (dbg_cnt_counter): New.
+       * dumpfile.c (dump_options): Add entry for TDF_THREADING.
+       * dumpfile.h (enum dump_flag): Add TDF_THREADING.
+       * gimple-range-path.cc (DEBUG_SOLVER): Use TDF_THREADING.
+       * tree-ssa-threadupdate.c (dump_jump_thread_path): Dump out
+       debug counter.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cfgcleanup.c (pass_jump::execute): Check
+       flag_expensive_optimizations.
+       (pass_jump_after_combine::gate): Same.
+       * doc/invoke.texi (-fthread-jumps): Enable for -O1.
+       * opts.c (default_options_table): Enable -fthread-jumps at -O1.
+       * tree-ssa-threadupdate.c
+       (fwd_jt_path_registry::remove_jump_threads_including): Bail unless
+       flag_thread_jumps.
+
+2021-09-28  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * tree-ssa-reassoc.c (biased_names): New global.
+       (propagate_bias_p): New function.
+       (loop_carried_phi): Remove.
+       (propagate_rank): Propagate bias along single uses.
+       (get_rank): Update biased_names when needed.
+
+2021-09-28  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * passes.def (pass_reassoc): Rename parameter to early_p.
+       * tree-ssa-reassoc.c (reassoc_bias_loop_carried_phi_ranks_p):
+       New variable.
+       (phi_rank): Don't bias loop-carried phi ranks
+       before vectorization pass.
+       (execute_reassoc): Add bias_loop_carried_phi_ranks_p parameter.
+       (pass_reassoc::pass_reassoc): Add bias_loop_carried_phi_ranks_p
+       initializer.
+       (pass_reassoc::set_param): Set bias_loop_carried_phi_ranks_p
+       value.
+       (pass_reassoc::execute): Pass bias_loop_carried_phi_ranks_p to
+       execute_reassoc.
+       (pass_reassoc::bias_loop_carried_phi_ranks_p): New member.
+
+2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102498
+       * config/i386/i386.c (standard_80387_constant_p): Don't recognize
+       special 80387 instruction XFmode constants if flag_rounding_math.
+
+2021-09-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100112
+       * tree-ssa-sccvn.c (visit_reference_op_load): Record the
+       referece into the hashtable twice in case last_vuse is
+       different from the original vuse on the stmt.
+
+2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102492
+       * gimplify.c (gimplify_adjust_omp_clauses_1): Don't call the
+       omp_finish_clause langhook on implicitly added OMP_CLAUSE_PRIVATE
+       clauses on SIMD constructs.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102511
+       * gimple-range-path.cc (path_range_query::range_on_path_entry):
+       Return VARYING when nothing found.
+
+2021-09-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/102230
+       * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Add
+       V2HF mode check.
+       (VALID_SSE2_REG_VHF_MODE): Add V4HFmode and V2HFmode.
+       (VALID_MMX_REG_MODE): Add V4HFmode.
+       (SSE_REG_MODE_P): Replace VALID_AVX512FP16_REG_MODE with
+       vector mode condition.
+       * config/i386/i386.c (classify_argument): Parse V4HF/V2HF
+       via sse regs.
+       (function_arg_32): Add V4HFmode.
+       (function_arg_advance_32): Likewise.
+       * config/i386/i386.md (mode): Add V4HF/V2HF.
+       (MODE_SIZE): Likewise.
+       * config/i386/mmx.md (MMXMODE): Add V4HF mode.
+       (V_32): Add V2HF mode.
+       (VHF_32_64): New mode iterator.
+       (*mov<mode>_internal): Adjust sse alternatives to support
+       V4HF mode move.
+       (*mov<mode>_internal): Adjust sse alternatives to support
+       V2HF mode move.
+       (<insn><mode>3): New define_insn for add/sub/mul/div.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (pass_thread_jumps::gate): Check
+       flag_thread_jumps.
+       (pass_early_thread_jumps::gate): Same.
+       * tree-ssa-threadedge.c (jump_threader::thread_outgoing_edges):
+       Return if !flag_thread_jumps.
+       * tree-ssa-threadupdate.c
+       (jt_path_registry::register_jump_thread): Assert that
+       flag_thread_jumps is true.
+
+2021-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * simplify-rtx.c
+       (simplify_context::simplify_binary_operation_1): Relax
+       condition of simplifying (vec_concat:M (vec_select op0
+       index0)(vec_select op1 index1)) to allow different modes
+       between op0 and M, but have same inner mode.
+
+2021-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-expand.c (emit_reduc_half): Handle
+       V8HF/V16HF/V32HFmode.
+       * config/i386/sse.md (REDUC_SSE_PLUS_MODE): Add V8HF.
+       (REDUC_SSE_SMINMAX_MODE): Ditto.
+       (REDUC_PLUS_MODE): Add V16HF and V32HF.
+       (REDUC_SMINMAX_MODE): Ditto.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc
+       (path_range_query::precompute_ranges_in_block): Rename to...
+       (path_range_query::compute_ranges_in_block): ...this.
+       (path_range_query::precompute_ranges): Rename to...
+       (path_range_query::compute_ranges): ...this.
+       (path_range_query::precompute_relations): Rename to...
+       (path_range_query::compute_relations): ...this.
+       (path_range_query::precompute_phi_relations): Rename to...
+       (path_range_query::compute_phi_relations): ...this.
+       * gimple-range-path.h: Rename precompute* to compute*.
+       * tree-ssa-threadbackward.c
+       (back_threader::find_taken_edge_switch): Same.
+       (back_threader::find_taken_edge_cond): Same.
+       * tree-ssa-threadedge.c
+       (hybrid_jt_simplifier::compute_ranges_from_state): Same.
+       (hybrid_jt_state::register_equivs_stmt): Inline...
+       * tree-ssa-threadedge.h: ...here.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (lhs_of_dominating_assert): Remove.
+       (class vrp_jt_state): Remove.
+       (class vrp_jt_simplifier): Remove.
+       (vrp_jt_simplifier::simplify): Remove.
+       (class vrp_jump_threader): Remove.
+       (vrp_jump_threader::vrp_jump_threader): Remove.
+       (vrp_jump_threader::~vrp_jump_threader): Remove.
+       (vrp_jump_threader::before_dom_children): Remove.
+       (vrp_jump_threader::after_dom_children): Remove.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * passes.def (pass_vrp_threader): New.
+       * tree-pass.h (make_pass_vrp_threader): Add make_pass_vrp_threader.
+       * tree-ssa-threadedge.c (hybrid_jt_state::register_equivs_stmt): New.
+       (hybrid_jt_simplifier::hybrid_jt_simplifier): New.
+       (hybrid_jt_simplifier::simplify): New.
+       (hybrid_jt_simplifier::compute_ranges_from_state): New.
+       * tree-ssa-threadedge.h (class hybrid_jt_state): New.
+       (class hybrid_jt_simplifier): New.
+       * tree-vrp.c (execute_vrp): Remove ASSERT_EXPR based jump
+       threader.
+       (class hybrid_threader): New.
+       (hybrid_threader::hybrid_threader): New.
+       (hybrid_threader::~hybrid_threader): New.
+       (hybrid_threader::before_dom_children): New.
+       (hybrid_threader::after_dom_children): New.
+       (execute_vrp_threader): New.
+       (class pass_vrp_threader): New.
+       (make_pass_vrp_threader): New.
+
+2021-09-27  Martin Liska  <mliska@suse.cz>
+
+       * output.h (enum section_flag): New.
+       (SECTION_FORGET): Remove.
+       (SECTION_ENTSIZE): Make it (1UL << 8) - 1.
+       (SECTION_STYLE_MASK): Define it based on other enum
+       values.
+       * varasm.c (switch_to_section): Remove unused handling of
+       SECTION_FORGET.
+
+2021-09-27  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Add new variable flag_default_complex_method.
+       * opts.c (finish_options): Handle flags related to
+         x_flag_complex_method.
+       * toplev.c (process_options): Remove option handling related
+       to flag_complex_method.
+
+2021-09-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102450
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid using
+       type_for_size, instead use int_mode_for_size.
+
+2021-09-27  Andrew Pinski  <apinski@marvell.com>
+
+       PR c/94726
+       * gimplify.c (gimplify_save_expr): Return early
+       if the type of val is error_mark_node.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssanames.c (ssa_name_has_boolean_range): Use
+       get_range_query.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Remove
+       vrp_visit_cond_stmt.
+       * tree-ssa-dom.c (cprop_operand): Convert to range_query API.
+       (cprop_into_stmt): Same.
+       (dom_opt_dom_walker::optimize_stmt): Same.
+
+2021-09-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97351
+       PR tree-optimization/97352
+       PR tree-optimization/82426
+       * tree-vectorizer.h (dr_misalignment): Add vector type
+       argument.
+       (aligned_access_p): Likewise.
+       (known_alignment_for_access_p): Likewise.
+       (vect_supportable_dr_alignment): Likewise.
+       (vect_known_alignment_in_bytes): Likewise.  Refactor.
+       (DR_MISALIGNMENT): Remove.
+       (vect_update_shared_vectype): Likewise.
+       * tree-vect-data-refs.c (dr_misalignment): Refactor, handle
+       a vector type with larger alignment requirement and apply
+       the negative step adjustment here.
+       (vect_calculate_target_alignment): Remove.
+       (vect_compute_data_ref_alignment): Get explicit vector type
+       argument, do not apply a negative step alignment adjustment
+       here.
+       (vect_slp_analyze_node_alignment): Re-analyze alignment
+       when we re-visit the DR with a bigger desired alignment but
+       keep more precise results from smaller alignments.
+       * tree-vect-slp.c (vect_update_shared_vectype): Remove.
+       (vect_slp_analyze_node_operations_1): Do not update the
+       shared vector type on stmts.
+       * tree-vect-stmts.c (vect_analyze_stmt): Push/pop the
+       vector type of an SLP node to the representative stmt-info.
+       (vect_transform_stmt): Likewise.
+
+2021-09-27  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101059
+       * config/i386/sse.md (reduc_plus_scal_<mode>): Split to ..
+       (reduc_plus_scal_v4sf): .. this, New define_expand.
+       (reduc_plus_scal_v2df): .. and this, New define_expand.
+
+2021-09-26  liuhongt  <hongtao.liu@intel.com>
+
+       * doc/extend.texi (Half-Precision): Remove storage only
+       description for _Float16 w/o avx512fp16.
+
+2021-09-25  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * config/pru/constraints.md (Rrio): New constraint.
+       * config/pru/predicates.md (regio_operand): New predicate.
+       * config/pru/pru-pragma.c (pru_register_pragmas): Register
+       the __regio_symbol address space.
+       * config/pru/pru-protos.h (pru_symref2ioregno): Declaration.
+       * config/pru/pru.c (pru_symref2ioregno): New helper function.
+       (pru_legitimate_address_p): Remove.
+       (pru_addr_space_legitimate_address_p): Use the address space
+       aware hook variant.
+       (pru_nongeneric_pointer_addrspace): New helper function.
+       (pru_insert_attributes): New function to validate __regio_symbol
+       usage.
+       (TARGET_INSERT_ATTRIBUTES): New macro.
+       (TARGET_LEGITIMATE_ADDRESS_P): Remove.
+       (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): New macro.
+       * config/pru/pru.h (enum reg_class): Add REGIO_REGS class.
+       * config/pru/pru.md (*regio_readsi): New pattern to read I/O
+       registers.
+       (*regio_nozext_writesi): New pattern to write to I/O registers.
+       (*regio_zext_write_r30<EQS0:mode>): Ditto.
+       * doc/extend.texi: Document the new PRU Named Address Space.
+
+2021-09-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98216
+       PR c++/91292
+       * real.c (encode_ieee_double): Avoid unwanted sign extension.
+       (encode_ieee_quad): Likewise.
+
+2021-09-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/102147
+       * ira-build.c (ira_conflict_vector_profitable_p): Make
+       profitability calculation independent of host compiler pointer and
+       IRA_INT_BITS sizes.
+
+2021-09-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::path_range_query):
+       Move debugging header...
+       (path_range_query::precompute_ranges): ...here.
+       (path_range_query::internal_range_of_expr): Do not call
+       range_on_path_entry if NAME is defined in the current block.
+
+2021-09-24  Richard Biener  <rguenther@suse.de>
+
+       * cfghooks.c (verify_flow_info): Verify unallocated BB and
+       edge flags are not set.
+
+2021-09-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadupdate.c (jt_path_registry::cancel_invalid_paths):
+       New.
+       (jt_path_registry::register_jump_thread): Call
+       cancel_invalid_paths.
+       * tree-ssa-threadupdate.h (class jt_path_registry): Add
+       cancel_invalid_paths.
+
+2021-09-24  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/102400
+       * tree-ssa-sccvn.c (vn_reference_insert_pieces): Initialize
+       result_vdef to zero value.
+
+2021-09-24  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/102451
+       * tree-ssa-dse.c (delete_dead_or_redundant_call): Record bb of stmt
+       before removal.
+
+2021-09-24  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/sse.md (cond_<insn><mode>): Extend to support
+       vector HFmodes.
+       (cond_mul<mode>): Likewise.
+       (cond_div<mode>): Likewise.
+       (cond_<code><mode>): Likewise.
+       (cond_fma<mode>): Likewise.
+       (cond_fms<mode>): Likewise.
+       (cond_fnma<mode>): Likewise.
+       (cond_fnms<mode>): Likewise.
+
+2021-09-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102463
+       * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): If
+       there is no range-ops handler, don't look for a relation.
+
+2021-09-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Take
+       non-executable_edge flag as parameter.
+       * gimple-range-cache.h (ranger_cache): Adjust prototype.
+       * gimple-range-gori.cc (gori_compute::gori_compute): Take
+       non-executable_edge flag as parameter.
+       (gori_compute::outgoing_edge_range_p): Check new flag.
+       * gimple-range-gori.h (gori_compute): Adjust prototype.
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Create new flag.
+       (gimple_ranger::range_on_edge): Check new flag.
+       * gimple-range.h (gimple_ranger::non_executable_edge_flag): New.
+       * gimple-ssa-evrp.c (rvrp_folder): Pass ranger flag to simplifer.
+       (hybrid_folder::hybrid_folder): Set ranger non-executable flag value.
+       (hybrid_folder::fold_stmt): Set flag value in the simplifer.
+       * vr-values.c (simplify_using_ranges::set_and_propagate_unexecutable):
+       Use not_executable flag if provided inmstead of EDGE_EXECUTABLE.
+       (simplify_using_ranges::simplify_switch_using_ranges): Clear
+       EDGE_EXECUTABLE like it originally did.
+       (simplify_using_ranges::cleanup_edges_and_switches): Clear any
+       NON_EXECUTABLE flags.
+       (simplify_using_ranges::simplify_using_ranges): Adjust.
+       * vr-values.h (class simplify_using_ranges): Adjust.
+       (simplify_using_ranges::set_range_query): Add non-executable flag param.
+
+2021-09-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/102024
+       * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Detect
+       zero-width bit fields and return indicator.
+       (rs6000_discover_homogeneous_aggregate): Diagnose when the
+       presence of a zero-width bit field changes parameter passing in
+       GCC 12.
+
+2021-09-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_phi):
+       Remove dominator check.
+
+2021-09-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::precompute_relations):
+       Hoist edge calculations before using EDGE_SUCC.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * configure.ac: Fix --with-multilib-list description.
+       * configure: Regenerate.
+
+2021-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102448
+       * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info):
+       Clear alignment info copied from DR_PTR_INFO.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386-expand.c (ix86_use_mask_cmp_p): Enable
+       HFmode mask_cmp.
+       * config/i386/sse.md (sseintvecmodelower): Add HF vector modes.
+       (<avx512>_store<mode>_mask): Extend to support HF vector modes.
+       (vec_cmp<mode><avx512fmaskmodelower>): Likewise.
+       (vcond_mask_<mode><avx512fmaskmodelower>): Likewise.
+       (vcond<mode><mode>): New expander.
+       (vcond<mode><sseintvecmodelower>): Likewise.
+       (vcond<sseintvecmodelower><mode>): Likewise.
+       (vcondu<mode><sseintvecmodelower>): Likewise.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/sse.md (extend<ssePHmodelower><mode>2):
+       New expander.
+       (extendv4hf<mode>2): Likewise.
+       (extendv2hfv2df2): Likewise.
+       (trunc<mode><ssePHmodelower>2): Likewise.
+       (avx512fp16_vcvt<castmode>2ph_<mode>): Rename to ...
+       (trunc<mode>v4hf2): ... this, and drop constraints.
+       (avx512fp16_vcvtpd2ph_v2df): Rename to ...
+       (truncv2dfv2hf2): ... this, and likewise.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/sse.md (float<floatunssuffix><mode><ssePHmodelower>2):
+       New expander.
+       (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>):
+       Rename to ...
+       (float<floatunssuffix><mode>v4hf2): ... this, and drop constraints.
+       (avx512fp16_vcvt<floatsuffix>qq2ph_v2di): Rename to ...
+       (float<floatunssuffix>v2div2hf2): ... this, and likewise.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386.md (fix<fixunssuffix>_trunchf<mode>2): New expander.
+       (fixuns_trunchfhi2): Likewise.
+       (*fixuns_trunchfsi2zext): New define_insn.
+       * config/i386/sse.md (ssePHmodelower): New mode_attr.
+       (fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
+       New expander for same element vector fix_truncate.
+       (fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
+       Likewise for V4HF to V4SI/V4DI fix_truncate.
+       (fix<fixunssuffix>_truncv2hfv2di2):
+       Likeise for V2HF to V2DI fix_truncate.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386.md (<code>hf3): New expander.
+
+2021-09-23  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (FMAMODEM): extend to handle FP16.
+       (VFH_SF_AVX512VL): Extend to handle HFmode.
+       (VF_SF_AVX512VL): Deleted.
+
+2021-09-23  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md (rinthf2): New expander.
+       (nearbyinthf2): New expander.
+
+2021-09-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c (class dom_jump_threader_simplifier): Rename...
+       (class dom_jt_state): ...this and provide virtual overrides.
+       (dom_jt_state::register_equiv): New.
+       (class dom_jt_simplifier): Rename from
+       dom_jump_threader_simplifier.
+       (dom_jump_threader_simplifier::simplify): Rename...
+       (dom_jt_simplifier::simplify): ...to this.
+       (pass_dominator::execute): Use dom_jt_simplifier and
+       dom_jt_state.
+       * tree-ssa-threadedge.c (jump_threader::jump_threader):
+       Clean-up.
+       (jt_state::register_equivs_stmt): Abstract out...
+       (jump_threader::record_temporary_equivalences_from_stmts_at_dest):
+       ...from here.
+       (jump_threader::thread_around_empty_blocks): Update state.
+       (jump_threader::thread_through_normal_block): Same.
+       (jt_state::jt_state): Remove.
+       (jt_state::push): Remove pass specific bits.  Keep block vector
+       updated.
+       (jt_state::append_path): New.
+       (jt_state::pop): Remove pass specific bits.
+       (jt_state::register_equiv): Same.
+       (jt_state::record_ranges_from_stmt): Same.
+       (jt_state::register_equivs_on_edge): Same.  Rename...
+       (jt_state::register_equivs_edge):  ...to this.
+       (jt_state::dump): New.
+       (jt_state::debug): New.
+       (jump_threader_simplifier::simplify): Remove.
+       (jt_state::get_path): New.
+       * tree-ssa-threadedge.h (class jt_simplifier): Make into a base
+       class.  Expose common functionality as virtual methods.
+       (class jump_threader_simplifier): Same.  Rename...
+       (class jt_simplifier): ...to this.
+       * tree-vrp.c (class vrp_jump_threader_simplifier): Rename...
+       (class vrp_jt_simplifier): ...to this. Provide pass specific
+       overrides.
+       (class vrp_jt_state): New.
+       (vrp_jump_threader_simplifier::simplify): Rename...
+       (vrp_jt_simplifier::simplify): ...to this.  Inline code from
+       what used to be the base class.
+       (vrp_jump_threader::vrp_jump_threader): Use vrp_jt_state and
+       vrp_jt_simplifier.
+
+2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * doc/invoke.texi (-Wno-missing-include-dirs.): Document Fortran
+       behavior.
+
+2021-09-22  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * match.pd (negation simplifications): Implement some negation
+       folding transformations from fold-const.c's fold_negate_expr.
+       * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Add a SIMPLIFY
+       argument, to control whether the op should be simplified prior
+       to looking up/assigning a value number.
+       (vn_nary_build_or_lookup): Update call to vn_nary_build_or_lookup_1.
+       (vn_nary_simplify): Likewise.
+       (visit_nary_op): Likewise, but when constructing a NEGATE_EXPR
+       now call vn_nary_build_or_lookup_1 disabling simplification.
+
+2021-09-22  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR tree-optimization/102087
+       * tree-ssa-loop-niter.c (number_of_iterations_until_wrap):
+       Update bound/cmp/control for niter.
+
+2021-09-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_range_op):
+       Move check for non-empty BB here.
+       (fur_source::register_outgoing_edges): ...from here.
+
+2021-09-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::internal_range_of_expr):
+       Remove call to improve_range_with_equivs.
+       (path_range_query::improve_range_with_equivs): Remove
+       * gimple-range-path.h: Remove improve_range_with_equivs.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * config/i386/avx512fp16intrin.h:
+       (_mm512_mask_blend_ph): New intrinsic.
+       (_mm512_permutex2var_ph): Ditto.
+       (_mm512_permutexvar_ph): Ditto.
+       * config/i386/avx512fp16vlintrin.h:
+       (_mm256_mask_blend_ph): New intrinsic.
+       (_mm256_permutex2var_ph): Ditto.
+       (_mm256_permutexvar_ph): Ditto.
+       (_mm_mask_blend_ph): Ditto.
+       (_mm_permutex2var_ph): Ditto.
+       (_mm_permutexvar_ph): Ditto.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: Add new intrinsics.
+       (_mm512_conj_pch): New intrinsic.
+       (_mm512_mask_conj_pch): Ditto.
+       (_mm512_maskz_conj_pch): Ditto.
+       * config/i386/avx512fp16vlintrin.h: Add new intrinsics.
+       (_mm256_conj_pch): New intrinsic.
+       (_mm256_mask_conj_pch): Ditto.
+       (_mm256_maskz_conj_pch): Ditto.
+       (_mm_conj_pch): Ditto.
+       (_mm_mask_conj_pch): Ditto.
+       (_mm_maskz_conj_pch): Ditto.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_MM512_REDUCE_OP): New macro
+       (_mm512_reduce_add_ph): New intrinsic.
+       (_mm512_reduce_mul_ph): Ditto.
+       (_mm512_reduce_min_ph): Ditto.
+       (_mm512_reduce_max_ph): Ditto.
+       * config/i386/avx512fp16vlintrin.h
+       (_MM256_REDUCE_OP/_MM_REDUCE_OP): New macro.
+       (_mm256_reduce_add_ph): New intrinsic.
+       (_mm256_reduce_mul_ph): Ditto.
+       (_mm256_reduce_min_ph): Ditto.
+       (_mm256_reduce_max_ph): Ditto.
+       (_mm_reduce_add_ph): Ditto.
+       (_mm_reduce_mul_ph): Ditto.
+       (_mm_reduce_min_ph): Ditto.
+       (_mm_reduce_max_ph): Ditto.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (__m512h_u, __m256h_u,
+       __m128h_u): New typedef.
+       (_mm512_load_ph): New intrinsic.
+       (_mm256_load_ph): Ditto.
+       (_mm_load_ph): Ditto.
+       (_mm512_loadu_ph): Ditto.
+       (_mm256_loadu_ph): Ditto.
+       (_mm_loadu_ph): Ditto.
+       (_mm512_store_ph): Ditto.
+       (_mm256_store_ph): Ditto.
+       (_mm_store_ph): Ditto.
+       (_mm512_storeu_ph): Ditto.
+       (_mm256_storeu_ph): Ditto.
+       (_mm_storeu_ph): Ditto.
+       (_mm512_abs_ph): Ditto.
+       * config/i386/avx512fp16vlintrin.h
+       (_mm_abs_ph): Ditto.
+       (_mm256_abs_ph): Ditto.
+
+2021-09-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/tpf.md (prologue_tpf, epilogue_tpf): Add cc clobber.
+
+2021-09-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/102222
+       * config/s390/s390.c (s390_expand_insv): Emit a normal move if it
+       is actually a full copy of the source operand into the target.
+       Don't emit a strict low part move if source and target mode match.
+
+2021-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102415
+       * omp-expand.c (expand_omp_single): If region->exit is NULL,
+       assert region->entry is GIMPLE_OMP_SCOPE region and return.
+
+2021-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_ALLOCATE_ALIGN): Define.
+       * tree.c (omp_clause_num_ops): Change number of OMP_CLAUSE_ALLOCATE
+       arguments from 2 to 3.
+       * tree-pretty-print.c (dump_omp_clause): Print allocator() around
+       allocate clause allocator and print align if present.
+       * omp-low.c (scan_sharing_clauses): Force allocate_map entry even
+       for omp_default_mem_alloc if align modifier is present.  If align
+       modifier is present, use TREE_LIST to encode both allocator and
+       align.
+       (lower_private_allocate, lower_rec_input_clauses, create_task_copyfn):
+       Handle align modifier on allocator clause if present.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md (define_attr "isa"): Add
+       fma_or_avx512vl.
+       (define_attr "enabled"): Correspond fma_or_avx512vl to
+       TARGET_FMA || TARGET_AVX512VL.
+       * config/i386/mmx.md (fmav2sf4): Extend to AVX512 fma.
+       (fmsv2sf4): Ditto.
+       (fnmav2sf4): Ditto.
+       (fnmsv2sf4): Ditto.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md (cstorehf3): New define_expand.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md (<rounding_insn>hf2): New expander.
+       (sse4_1_round<mode>2): Extend from MODEF to MODEFH.
+       * config/i386/sse.md (*sse4_1_round<ssescalarmodesuffix>):
+       Extend from VF_128 to VFH_128.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-features.c (i386-features.c): Handle
+       E_HFmode.
+       * config/i386/i386.md (sqrthf2): New expander.
+       (*sqrthf2): New define_insn.
+       * config/i386/sse.md
+       (*<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>):
+       Extend to VFH_128.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_mask_fcmadd_sch):
+       New intrinsic.
+       (_mm_mask3_fcmadd_sch): Likewise.
+       (_mm_maskz_fcmadd_sch): Likewise.
+       (_mm_fcmadd_sch): Likewise.
+       (_mm_mask_fmadd_sch): Likewise.
+       (_mm_mask3_fmadd_sch): Likewise.
+       (_mm_maskz_fmadd_sch): Likewise.
+       (_mm_fmadd_sch): Likewise.
+       (_mm_mask_fcmadd_round_sch): Likewise.
+       (_mm_mask3_fcmadd_round_sch): Likewise.
+       (_mm_maskz_fcmadd_round_sch): Likewise.
+       (_mm_fcmadd_round_sch): Likewise.
+       (_mm_mask_fmadd_round_sch): Likewise.
+       (_mm_mask3_fmadd_round_sch): Likewise.
+       (_mm_maskz_fmadd_round_sch): Likewise.
+       (_mm_fmadd_round_sch): Likewise.
+       (_mm_fcmul_sch): Likewise.
+       (_mm_mask_fcmul_sch): Likewise.
+       (_mm_maskz_fcmul_sch): Likewise.
+       (_mm_fmul_sch): Likewise.
+       (_mm_mask_fmul_sch): Likewise.
+       (_mm_maskz_fmul_sch): Likewise.
+       (_mm_fcmul_round_sch): Likewise.
+       (_mm_mask_fcmul_round_sch): Likewise.
+       (_mm_maskz_fcmul_round_sch): Likewise.
+       (_mm_fmul_round_sch): Likewise.
+       (_mm_mask_fmul_round_sch): Likewise.
+       (_mm_maskz_fmul_round_sch): Likewise.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/sse.md
+       (avx512fp16_fmaddcsh_v8hf_maskz<round_expand_name>): New expander.
+       (avx512fp16_fcmaddcsh_v8hf_maskz<round_expand_name>): Ditto.
+       (avx512fp16_fma_<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
+       New define insn.
+       (avx512fp16_<complexopname>sh_v8hf_mask<round_name>): Ditto.
+       (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
+       Ditto.
+       * config/i386/subst.md (mask_scalarcz_name): New.
+       (mask_scalarc_name): Ditto.
+       (mask_scalarc_operand3): Ditto.
+       (mask_scalarcz_operand4): Ditto.
+       (round_scalarcz_name): Ditto.
+       (round_scalarc_mask_operand3): Ditto.
+       (round_scalarcz_mask_operand4): Ditto.
+       (round_scalarc_mask_op3): Ditto.
+       (round_scalarcz_mask_op4): Ditto.
+       (round_scalarcz_constraint): Ditto.
+       (round_scalarcz_nimm_predicate): Ditto.
+       (mask_scalarcz): Ditto.
+       (mask_scalarc): Ditto.
+       (round_scalarcz): Ditto.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_fcmadd_pch):
+       New intrinsic.
+       (_mm512_mask_fcmadd_pch): Likewise.
+       (_mm512_mask3_fcmadd_pch): Likewise.
+       (_mm512_maskz_fcmadd_pch): Likewise.
+       (_mm512_fmadd_pch): Likewise.
+       (_mm512_mask_fmadd_pch): Likewise.
+       (_mm512_mask3_fmadd_pch): Likewise.
+       (_mm512_maskz_fmadd_pch): Likewise.
+       (_mm512_fcmadd_round_pch): Likewise.
+       (_mm512_mask_fcmadd_round_pch): Likewise.
+       (_mm512_mask3_fcmadd_round_pch): Likewise.
+       (_mm512_maskz_fcmadd_round_pch): Likewise.
+       (_mm512_fmadd_round_pch): Likewise.
+       (_mm512_mask_fmadd_round_pch): Likewise.
+       (_mm512_mask3_fmadd_round_pch): Likewise.
+       (_mm512_maskz_fmadd_round_pch): Likewise.
+       (_mm512_fcmul_pch): Likewise.
+       (_mm512_mask_fcmul_pch): Likewise.
+       (_mm512_maskz_fcmul_pch): Likewise.
+       (_mm512_fmul_pch): Likewise.
+       (_mm512_mask_fmul_pch): Likewise.
+       (_mm512_maskz_fmul_pch): Likewise.
+       (_mm512_fcmul_round_pch): Likewise.
+       (_mm512_mask_fcmul_round_pch): Likewise.
+       (_mm512_maskz_fcmul_round_pch): Likewise.
+       (_mm512_fmul_round_pch): Likewise.
+       (_mm512_mask_fmul_round_pch): Likewise.
+       (_mm512_maskz_fmul_round_pch): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_fmadd_pch):
+       New intrinsic.
+       (_mm_mask_fmadd_pch): Likewise.
+       (_mm_mask3_fmadd_pch): Likewise.
+       (_mm_maskz_fmadd_pch): Likewise.
+       (_mm256_fmadd_pch): Likewise.
+       (_mm256_mask_fmadd_pch): Likewise.
+       (_mm256_mask3_fmadd_pch): Likewise.
+       (_mm256_maskz_fmadd_pch): Likewise.
+       (_mm_fcmadd_pch): Likewise.
+       (_mm_mask_fcmadd_pch): Likewise.
+       (_mm_mask3_fcmadd_pch): Likewise.
+       (_mm_maskz_fcmadd_pch): Likewise.
+       (_mm256_fcmadd_pch): Likewise.
+       (_mm256_mask_fcmadd_pch): Likewise.
+       (_mm256_mask3_fcmadd_pch): Likewise.
+       (_mm256_maskz_fcmadd_pch): Likewise.
+       (_mm_fmul_pch): Likewise.
+       (_mm_mask_fmul_pch): Likewise.
+       (_mm_maskz_fmul_pch): Likewise.
+       (_mm256_fmul_pch): Likewise.
+       (_mm256_mask_fmul_pch): Likewise.
+       (_mm256_maskz_fmul_pch): Likewise.
+       (_mm_fcmul_pch): Likewise.
+       (_mm_mask_fcmul_pch): Likewise.
+       (_mm_maskz_fcmul_pch): Likewise.
+       (_mm256_fcmul_pch): Likewise.
+       (_mm256_mask_fcmul_pch): Likewise.
+       (_mm256_maskz_fcmul_pch): Likewise.
+       * config/i386/i386-builtin-types.def (V8HF_FTYPE_V8HF_V8HF_V8HF,
+       V8HF_FTYPE_V16HF_V16HF_V16HF, V16HF_FTYPE_V16HF_V16HF_V16HF_UQI,
+       V32HF_FTYPE_V32HF_V32HF_V32HF_INT,
+       V32HF_FTYPE_V32HF_V32HF_V32HF_UHI_INT): Add new builtin types.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-expand.c: Handle new builtin types.
+       * config/i386/subst.md (SUBST_CV): New.
+       (maskc_name): Ditto.
+       (maskc_operand3): Ditto.
+       (maskc): Ditto.
+       (sdc_maskz_name): Ditto.
+       (sdc_mask_op4): Ditto.
+       (sdc_mask_op5): Ditto.
+       (sdc_mask_mode512bit_condition): Ditto.
+       (sdc): Ditto.
+       (round_maskc_operand3): Ditto.
+       (round_sdc_mask_operand4): Ditto.
+       (round_maskc_op3): Ditto.
+       (round_sdc_mask_op4): Ditto.
+       (round_saeonly_sdc_mask_operand5): Ditto.
+       * config/i386/sse.md (unspec): Add complex fma unspecs.
+       (avx512fmaskcmode): New.
+       (UNSPEC_COMPLEX_F_C_MA): Ditto.
+       (UNSPEC_COMPLEX_F_C_MUL): Ditto.
+       (complexopname): Ditto.
+       (<avx512>_fmaddc_<mode>_maskz<round_expand_name>): New expander.
+       (<avx512>_fcmaddc_<mode>_maskz<round_expand_name>): Ditto.
+       (fma_<complexopname>_<mode><sdc_maskz_name><round_name>): New
+       define insn.
+       (<avx512>_<complexopname>_<mode>_mask<round_name>): Ditto.
+       (<avx512>_<complexopname>_<mode><maskc_name><round_name>): Ditto.
+
+2021-09-22  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.opt (rs6000-density-pct-threshold,
+       rs6000-density-size-threshold, rs6000-density-penalty,
+       rs6000-density-load-pct-threshold,
+       rs6000-density-load-num-threshold): New parameter.
+       * config/rs6000/rs6000.c (rs6000_density_test): Adjust with
+       corresponding parameters.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::defined_outside_path):
+       New.
+       (path_range_query::range_on_path_entry): New.
+       (path_range_query::internal_range_of_expr): Resolve unknowns
+       with ranger.
+       (path_range_query::improve_range_with_equivs): New.
+       (path_range_query::ssa_range_in_phi): Resolve unknowns with
+       ranger.
+       * gimple-range-path.h (class path_range_query): Add
+       defined_outside_path, range_on_path_entry, and
+       improve_range_with_equivs.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::add_to_imports): New.
+       (path_range_query::add_copies_to_imports): New.
+       (path_range_query::precompute_ranges): Call
+       add_copies_to_imports.
+       * gimple-range-path.h (class path_range_query): Add prototypes
+       for add_copies_to_imports and add_to_imports.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::range_defined_in_block):
+       Remove useless code.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.h (class fur_source): Make oracle protected.
+       * gimple-range-path.cc (path_range_query::path_range_query): Add
+       resolve argument.  Initialize oracle.
+       (path_range_query::~path_range_query): Delete oracle.
+       (path_range_query::range_of_stmt): Adapt to use relations.
+       (path_range_query::precompute_ranges): Pre-compute relations.
+       (class jt_fur_source): New
+       (jt_fur_source::jt_fur_source): New.
+       (jt_fur_source::register_relation): New.
+       (jt_fur_source::query_relation): New.
+       (path_range_query::precompute_relations): New.
+       (path_range_query::precompute_phi_relations): New.
+       * gimple-range-path.h (path_range_query): Add resolve argument.
+       Add oracle, precompute_relations, precompute_phi_relations.
+       * tree-ssa-threadbackward.c (back_threader::back_threader): Pass
+       resolve argument to solver.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_range_op):
+       Rename postfold_gcond_edges to register_outgoing_edges and
+       adapt.
+       (fold_using_range::postfold_gcond_edges): Rename...
+       (fur_source::register_outgoing_edges): ...to this.
+       * gimple-range-fold.h (postfold_gcond_edges): Rename to
+       register_outgoing_edges and move to fur_source.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): Check
+       dom_info_available_p.
+
+2021-09-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::non_null_ref): Use create
+       and quick_grow_cleared instead of safe_grow_cleared.
+
+2021-09-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR other/102408
+       * omp-oacc-neuter-broadcast.cc (oacc_do_neutering): Evaluate
+       'random ()' to '0'.
+
+2021-09-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       * configure.ac: Detect when the assembler supports new-style
+       architecture extensions.
+       * common/config/arm/arm-common.c (arm_rewrite_mcpu): Return
+       the full CPU string if the assembler can grok it.
+       (arm_rewrite_march): Likewise but for the architecture.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2021-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102421
+       * tree-vect-loop.c (vect_dissolve_slp_only_groups): Copy and
+       adjust alignment info.
+
+2021-09-21  Kewen Lin  <linkw@linux.ibm.com>
+
+       * ipa-fnsummary.c (ipa_fn_summary_write): Remove inconsistent
+       bitfield stream out.
+
+2021-09-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): Ignore
+       undefined edges, apply an equivalence if appropriate.
+       * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Return
+       UNDEFINED if EDGE_EXECUTABLE is not set.
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Set all edges
+       as EXECUTABLE upon startup.
+       (gimple_ranger::range_on_edge): Return UNDEFINED for edges without
+       EDGE_EXECUTABLE set.
+       * vr-values.c (set_and_propagate_unexecutable): New.
+       (simplify_using_ranges::fold_cond): Call set_and_propagate.
+       (simplify_using_ranges::simplify_switch_using_ranges): Ditto.
+       * vr-values.h: Add prototype.
+
+2021-09-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (equiv_oracle::register_initial_def): New.
+       (equiv_oracle::register_relation): Call register_initial_def.
+       (equiv_oracle::add_equiv_to_block): New.  Split register_relation.
+       (relation_oracle::register_stmt): Check def block of PHI arguments.
+       * value-relation.h (equiv_oracle): Add new prototypes.
+
+2021-09-20  Matthias Kretz  <m.kretz@gsi.de>
+
+       * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+       Define __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
+       __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
+       __ROUNDING_MATH__ according to their corresponding flags.
+       * doc/cpp.texi: Document __RECIPROCAL_MATH__,
+       __NO_SIGNED_ZEROS__, __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__,
+       and __ROUNDING_MATH__.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_load): Use the vectype
+       from the SLP node.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info):
+       Do not compute alignment of the vectorized access here.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+       Store -1 for runtime alias peeling iterations.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       * config.gcc: Obsolete hppa[12]*-*-hpux10* and hppa[12]*-*-hpux11*.
+
+2021-09-20  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * input.c (string_concat_db::record_string_concatenation)
+       (string_concat_db::get_string_concatenation): Skip for
+       'RESERVED_LOCATION_P'.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/65206
+       * tree-data-ref.h (struct data_reference): Add alt_indices,
+       order it last.
+       * tree-data-ref.c (free_data_ref): Release alt_indices.
+       (dr_analyze_indices): Work on struct indices and get DR_REF as tree.
+       (create_data_ref): Adjust.
+       (initialize_data_dependence_relation): Split into head
+       and tail.  When the base objects fail to match up try
+       again with pointer-based analysis of indices.
+       * tree-vectorizer.c (vec_info_shared::check_datarefs): Do
+       not compare the lazily computed alternate set of indices.
+
+2021-09-20  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.c: Test for execute OK when we find the
+       programs for assembler linker and dsymutil and those
+       were specified at configure-time.
+
+2021-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102403
+       * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
+       Correct a function pre/postcondition.
+
+2021-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102243
+       * tree-ssa-strlen.c (get_range): Handle null cfun.
+
+2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10
+       unwinder shim as a convenience library.
+
+2021-09-19  Andrew Pinski  <apinski@marvell.com>
+
+       * doc/install.texi: Add note about
+       binutils 2.35 is required for LTO usage.
+
+2021-09-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader_registry::register_path): Use push_edge.
+       * tree-ssa-threadedge.c
+       (jump_threader::thread_around_empty_blocks): Same.
+       (jump_threader::thread_through_normal_block): Same.
+       (jump_threader::thread_across_edge): Same.  Also, use auto_bitmap.
+       Tidy up code.
+       * tree-ssa-threadupdate.c
+       (jt_path_registry::allocate_thread_edge): Remove.
+       (jt_path_registry::push_edge): New.
+       (dump_jump_thread_path): Make static.
+       * tree-ssa-threadupdate.h (allocate_thread_edge): Remove.
+       (push_edge): New.
+
+2021-09-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::path_range_query): Add
+       header.
+       (path_range_query::dump): Remove extern declaration of dump_ranger.
+       * gimple-range-trace.cc (dump_ranger): Add DEBUG_FUNCTION marker.
+       * gimple-range-trace.h (dump_ranger): Add prototype.
+
+2021-09-19  John Ericson  <git@JohnEricson.me>
+
+       * gcc.c (find_a_program): New function, factored out of...
+       (find_a_file): Here.
+       (execute): Use find_a_program when looking for programs rather
+       than find_a_file.
+
+2021-09-19  Matwey V. Kornilov  <matwey.kornilov@gmail.com>
+
+       * config/avr/avr-mcus.def: Add atmega324pb.
+       * doc/avr-mmcu.texi: Corresponding changes.
+
+2021-09-19  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/88173
+       * match.pd (cmp @0 REAL_CST@1): When @0 is also REAL_CST, apply
+       the same transformations as to @1.  For comparisons against NaN,
+       don't check HONOR_SNANS but confirm that neither operand is a
+       signaling NaN.
+
+2021-09-19  Benjamin Peterson  <benjamin@locrian.net>
+
+       * attribs.c (make_unique_name): Delete.
+       * attribs.h (make_unique_name): Delete.
+
+2021-09-19  Andrew Pinski  <apinski@marvell.com>
+
+       * lra-constraints.c (check_and_process_move): Assert
+       that dclass and sclass are greater than or equal to NO_REGS.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_ORDER_UNCONSTRAINED): Define.
+       * tree-pretty-print.c (dump_omp_clause): Print unconstrained:
+       for OMP_CLAUSE_ORDER_UNCONSTRAINED.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-features.c (remove_partial_avx_dependency):
+       Restrict TARGET_USE_VECTOR_FP_CONVERTS and
+       TARGET_USE_VECTOR_CONVERTS to conversion instructions only.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (omp_default_clause): For C/C++ default({,first}private),
+       if file/namespace scope variable doesn't have predetermined sharing,
+       treat it as if there was default(none).
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_fmadd_sh):
+       New intrinsic.
+       (_mm_mask_fmadd_sh): Likewise.
+       (_mm_mask3_fmadd_sh): Likewise.
+       (_mm_maskz_fmadd_sh): Likewise.
+       (_mm_fmadd_round_sh): Likewise.
+       (_mm_mask_fmadd_round_sh): Likewise.
+       (_mm_mask3_fmadd_round_sh): Likewise.
+       (_mm_maskz_fmadd_round_sh): Likewise.
+       (_mm_fnmadd_sh): Likewise.
+       (_mm_mask_fnmadd_sh): Likewise.
+       (_mm_mask3_fnmadd_sh): Likewise.
+       (_mm_maskz_fnmadd_sh): Likewise.
+       (_mm_fnmadd_round_sh): Likewise.
+       (_mm_mask_fnmadd_round_sh): Likewise.
+       (_mm_mask3_fnmadd_round_sh): Likewise.
+       (_mm_maskz_fnmadd_round_sh): Likewise.
+       (_mm_fmsub_sh): Likewise.
+       (_mm_mask_fmsub_sh): Likewise.
+       (_mm_mask3_fmsub_sh): Likewise.
+       (_mm_maskz_fmsub_sh): Likewise.
+       (_mm_fmsub_round_sh): Likewise.
+       (_mm_mask_fmsub_round_sh): Likewise.
+       (_mm_mask3_fmsub_round_sh): Likewise.
+       (_mm_maskz_fmsub_round_sh): Likewise.
+       (_mm_fnmsub_sh): Likewise.
+       (_mm_mask_fnmsub_sh): Likewise.
+       (_mm_mask3_fnmsub_sh): Likewise.
+       (_mm_maskz_fnmsub_sh): Likewise.
+       (_mm_fnmsub_round_sh): Likewise.
+       (_mm_mask_fnmsub_round_sh): Likewise.
+       (_mm_mask3_fnmsub_round_sh): Likewise.
+       (_mm_maskz_fnmsub_round_sh): Likewise.
+       * config/i386/i386-builtin-types.def
+       (V8HF_FTYPE_V8HF_V8HF_V8HF_UQI_INT): New builtin type.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-expand.c: Handle new builtin type.
+       * config/i386/sse.md (fmai_vmfmadd_<mode><round_name>):
+       Ajdust to support FP16.
+       (fmai_vmfmsub_<mode><round_name>): Ditto.
+       (fmai_vmfnmadd_<mode><round_name>): Ditto.
+       (fmai_vmfnmsub_<mode><round_name>): Ditto.
+       (*fmai_fmadd_<mode>): Ditto.
+       (*fmai_fmsub_<mode>): Ditto.
+       (*fmai_fnmadd_<mode><round_name>): Ditto.
+       (*fmai_fnmsub_<mode><round_name>): Ditto.
+       (avx512f_vmfmadd_<mode>_mask<round_name>): Ditto.
+       (avx512f_vmfmadd_<mode>_mask3<round_name>): Ditto.
+       (avx512f_vmfmadd_<mode>_maskz<round_expand_name>): Ditto.
+       (avx512f_vmfmadd_<mode>_maskz_1<round_name>): Ditto.
+       (*avx512f_vmfmsub_<mode>_mask<round_name>): Ditto.
+       (avx512f_vmfmsub_<mode>_mask3<round_name>): Ditto.
+       (*avx512f_vmfmsub_<mode>_maskz_1<round_name>): Ditto.
+       (*avx512f_vmfnmsub_<mode>_mask<round_name>): Ditto.
+       (*avx512f_vmfnmsub_<mode>_mask3<round_name>): Ditto.
+       (*avx512f_vmfnmsub_<mode>_mask<round_name>): Ditto.
+       (*avx512f_vmfnmadd_<mode>_mask<round_name>): Renamed to ...
+       (avx512f_vmfnmadd_<mode>_mask<round_name>) ... this, and
+       adjust to support FP16.
+       (avx512f_vmfnmadd_<mode>_mask3<round_name>): Ditto.
+       (avx512f_vmfnmadd_<mode>_maskz_1<round_name>): Ditto.
+       (avx512f_vmfnmadd_<mode>_maskz<round_expand_name>): New
+       expander.
+
+2021-09-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/sse.md (avx512fmaskmodelower): Extend to support
+       HF modes.
+       (maskload<mode><avx512fmaskmodelower>): Ditto.
+       (maskstore<mode><avx512fmaskmodelower>): Ditto.
+
+2021-09-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
+       Handle HFmode.
+       (ix86_expand_copysign): Ditto.
+       (ix86_expand_xorsign): Ditto.
+       * config/i386/i386.c (ix86_build_const_vector): Handle HF vector
+       modes.
+       (ix86_build_signbit_mask): Ditto.
+       (ix86_can_change_mode_class): Ditto.
+       * config/i386/i386.md
+       (SSEMODEF): Add HFmode.
+       (ssevecmodef): Ditto.
+       (<code>hf2): New define_expand.
+       (*<code>hf2_1): New define_insn_and_split.
+       (copysign<mode>): Extend to support HFmode under AVX512FP16.
+       (xorsign<mode>): Ditto.
+       * config/i386/sse.md (VFB): New mode iterator.
+       (VFB_128_256): Ditto.
+       (VFB_512): Ditto.
+       (sseintvecmode2): Support HF vector mode.
+       (<code><mode>2): Use new mode iterator.
+       (*<code><mode>2): Ditto.
+       (copysign<mode>3): Ditto.
+       (xorsign<mode>3): Ditto.
+       (<code><mode>3<mask_name>): Ditto.
+       (<code><mode>3<mask_name>): Ditto.
+       (<sse>_andnot<mode>3<mask_name>): Adjust for HF vector mode.
+       (<sse>_andnot<mode>3<mask_name>): Ditto.
+       (*<code><mode>3<mask_name>): Ditto.
+       (*<code><mode>3<mask_name>): Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_mask_fmadd_ph):
+       New intrinsic.
+       (_mm512_mask3_fmadd_ph): Likewise.
+       (_mm512_maskz_fmadd_ph): Likewise.
+       (_mm512_fmadd_round_ph): Likewise.
+       (_mm512_mask_fmadd_round_ph): Likewise.
+       (_mm512_mask3_fmadd_round_ph): Likewise.
+       (_mm512_maskz_fmadd_round_ph): Likewise.
+       (_mm512_fnmadd_ph): Likewise.
+       (_mm512_mask_fnmadd_ph): Likewise.
+       (_mm512_mask3_fnmadd_ph): Likewise.
+       (_mm512_maskz_fnmadd_ph): Likewise.
+       (_mm512_fnmadd_round_ph): Likewise.
+       (_mm512_mask_fnmadd_round_ph): Likewise.
+       (_mm512_mask3_fnmadd_round_ph): Likewise.
+       (_mm512_maskz_fnmadd_round_ph): Likewise.
+       (_mm512_fmsub_ph): Likewise.
+       (_mm512_mask_fmsub_ph): Likewise.
+       (_mm512_mask3_fmsub_ph): Likewise.
+       (_mm512_maskz_fmsub_ph): Likewise.
+       (_mm512_fmsub_round_ph): Likewise.
+       (_mm512_mask_fmsub_round_ph): Likewise.
+       (_mm512_mask3_fmsub_round_ph): Likewise.
+       (_mm512_maskz_fmsub_round_ph): Likewise.
+       (_mm512_fnmsub_ph): Likewise.
+       (_mm512_mask_fnmsub_ph): Likewise.
+       (_mm512_mask3_fnmsub_ph): Likewise.
+       (_mm512_maskz_fnmsub_ph): Likewise.
+       (_mm512_fnmsub_round_ph): Likewise.
+       (_mm512_mask_fnmsub_round_ph): Likewise.
+       (_mm512_mask3_fnmsub_round_ph): Likewise.
+       (_mm512_maskz_fnmsub_round_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm256_fmadd_ph):
+       New intrinsic.
+       (_mm256_mask_fmadd_ph): Likewise.
+       (_mm256_mask3_fmadd_ph): Likewise.
+       (_mm256_maskz_fmadd_ph): Likewise.
+       (_mm_fmadd_ph): Likewise.
+       (_mm_mask_fmadd_ph): Likewise.
+       (_mm_mask3_fmadd_ph): Likewise.
+       (_mm_maskz_fmadd_ph): Likewise.
+       (_mm256_fnmadd_ph): Likewise.
+       (_mm256_mask_fnmadd_ph): Likewise.
+       (_mm256_mask3_fnmadd_ph): Likewise.
+       (_mm256_maskz_fnmadd_ph): Likewise.
+       (_mm_fnmadd_ph): Likewise.
+       (_mm_mask_fnmadd_ph): Likewise.
+       (_mm_mask3_fnmadd_ph): Likewise.
+       (_mm_maskz_fnmadd_ph): Likewise.
+       (_mm256_fmsub_ph): Likewise.
+       (_mm256_mask_fmsub_ph): Likewise.
+       (_mm256_mask3_fmsub_ph): Likewise.
+       (_mm256_maskz_fmsub_ph): Likewise.
+       (_mm_fmsub_ph): Likewise.
+       (_mm_mask_fmsub_ph): Likewise.
+       (_mm_mask3_fmsub_ph): Likewise.
+       (_mm_maskz_fmsub_ph): Likewise.
+       (_mm256_fnmsub_ph): Likewise.
+       (_mm256_mask_fnmsub_ph): Likewise.
+       (_mm256_mask3_fnmsub_ph): Likewise.
+       (_mm256_maskz_fnmsub_ph): Likewise.
+       (_mm_fnmsub_ph): Likewise.
+       (_mm_mask_fnmsub_ph): Likewise.
+       (_mm_mask3_fnmsub_ph): Likewise.
+       (_mm_maskz_fnmsub_ph): Likewise.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/sse.md
+       (<avx512>_fmadd_<mode>_maskz<round_expand_name>): Adjust to
+       support HF vector modes.
+       (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1): Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_2): Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_3): Ditto.
+       (<avx512>_fmadd_<mode>_mask<round_name>): Ditto.
+       (<avx512>_fmadd_<mode>_mask3<round_name>): Ditto.
+       (<avx512>_fmsub_<mode>_maskz<round_expand_name>): Ditto.
+       (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1): Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_2): Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_3): Ditto.
+       (<avx512>_fmsub_<mode>_mask<round_name>): Ditto.
+       (<avx512>_fmsub_<mode>_mask3<round_name>): Ditto.
+       (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1): Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_2): Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_3): Ditto.
+       (<avx512>_fnmadd_<mode>_mask<round_name>): Ditto.
+       (<avx512>_fnmadd_<mode>_mask3<round_name>): Ditto.
+       (<avx512>_fnmsub_<mode>_maskz<round_expand_name>): Ditto.
+       (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_2): Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_3): Ditto.
+       (<avx512>_fnmsub_<mode>_mask<round_name>): Ditto.
+       (<avx512>_fnmsub_<mode>_mask3<round_name>): Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_fmaddsub_ph):
+       New intrinsic.
+       (_mm512_mask_fmaddsub_ph): Likewise.
+       (_mm512_mask3_fmaddsub_ph): Likewise.
+       (_mm512_maskz_fmaddsub_ph): Likewise.
+       (_mm512_fmaddsub_round_ph): Likewise.
+       (_mm512_mask_fmaddsub_round_ph): Likewise.
+       (_mm512_mask3_fmaddsub_round_ph): Likewise.
+       (_mm512_maskz_fmaddsub_round_ph): Likewise.
+       (_mm512_mask_fmsubadd_ph): Likewise.
+       (_mm512_mask3_fmsubadd_ph): Likewise.
+       (_mm512_maskz_fmsubadd_ph): Likewise.
+       (_mm512_fmsubadd_round_ph): Likewise.
+       (_mm512_mask_fmsubadd_round_ph): Likewise.
+       (_mm512_mask3_fmsubadd_round_ph): Likewise.
+       (_mm512_maskz_fmsubadd_round_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm256_fmaddsub_ph):
+       New intrinsic.
+       (_mm256_mask_fmaddsub_ph): Likewise.
+       (_mm256_mask3_fmaddsub_ph): Likewise.
+       (_mm256_maskz_fmaddsub_ph): Likewise.
+       (_mm_fmaddsub_ph): Likewise.
+       (_mm_mask_fmaddsub_ph): Likewise.
+       (_mm_mask3_fmaddsub_ph): Likewise.
+       (_mm_maskz_fmaddsub_ph): Likewise.
+       (_mm256_fmsubadd_ph): Likewise.
+       (_mm256_mask_fmsubadd_ph): Likewise.
+       (_mm256_mask3_fmsubadd_ph): Likewise.
+       (_mm256_maskz_fmsubadd_ph): Likewise.
+       (_mm_fmsubadd_ph): Likewise.
+       (_mm_mask_fmsubadd_ph): Likewise.
+       (_mm_mask3_fmsubadd_ph): Likewise.
+       (_mm_maskz_fmsubadd_ph): Likewise.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/sse.md (VFH_SF_AVX512VL): New mode iterator.
+       * (<avx512>_fmsubadd_<mode>_maskz<round_expand_name>): New expander.
+       * (<avx512>_fmaddsub_<mode>_maskz<round_expand_name>): Use
+       VFH_SF_AVX512VL.
+       * (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       * (<avx512>_fmaddsub_<mode>_mask<round_name>): Ditto.
+       * (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto.
+       * (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       * (<avx512>_fmsubadd_<mode>_mask<round_name>): Ditto.
+       * (<avx512>_fmsubadd_<mode>_mask3<round_name>): Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * config/i386/i386.c (ix86_print_operand): Handle
+       V8HF/V16HF/V32HFmode.
+       * config/i386/i386.h (VALID_BCST_MODE_P): Add HFmode.
+       * config/i386/sse.md (avx512bcst): Remove.
+
+2021-09-17  Martin Sebor  <msebor@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-predicate-analysis.o.
+       * tree-ssa-uninit.c (max_phi_args): Move to gimple-predicate-analysis.
+       (MASK_SET_BIT, MASK_TEST_BIT, MASK_EMPTY): Same.
+       (check_defs): Add comment.
+       (can_skip_redundant_opnd): Update comment.
+       (compute_uninit_opnds_pos): Adjust to namespace change.
+       (find_pdom): Move to gimple-predicate-analysis.cc.
+       (find_dom): Same.
+       (struct uninit_undef_val_t): New.
+       (is_non_loop_exit_postdominating): Move to gimple-predicate-analysis.cc.
+       (find_control_equiv_block): Same.
+       (MAX_NUM_CHAINS, MAX_CHAIN_LEN, MAX_POSTDOM_CHECK): Same.
+       (MAX_SWITCH_CASES): Same.
+       (compute_control_dep_chain): Same.
+       (find_uninit_use): Use predicate analyzer.
+       (struct pred_info): Move to gimple-predicate-analysis.
+       (convert_control_dep_chain_into_preds): Same.
+       (find_predicates): Same.
+       (collect_phi_def_edges): Same.
+       (warn_uninitialized_phi): Use predicate analyzer.
+       (find_def_preds): Move to gimple-predicate-analysis.
+       (dump_pred_info): Same.
+       (dump_pred_chain): Same.
+       (dump_predicates): Same.
+       (destroy_predicate_vecs): Remove.
+       (execute_late_warn_uninitialized): New.
+       (get_cmp_code): Move to gimple-predicate-analysis.
+       (is_value_included_in): Same.
+       (value_sat_pred_p): Same.
+       (find_matching_predicate_in_rest_chains): Same.
+       (is_use_properly_guarded): Same.
+       (prune_uninit_phi_opnds): Same.
+       (find_var_cmp_const): Same.
+       (use_pred_not_overlap_with_undef_path_pred): Same.
+       (pred_equal_p): Same.
+       (is_neq_relop_p): Same.
+       (is_neq_zero_form_p): Same.
+       (pred_expr_equal_p): Same.
+       (is_pred_expr_subset_of): Same.
+       (is_pred_chain_subset_of): Same.
+       (is_included_in): Same.
+       (is_superset_of): Same.
+       (pred_neg_p): Same.
+       (simplify_pred): Same.
+       (simplify_preds_2): Same.
+       (simplify_preds_3): Same.
+       (simplify_preds_4): Same.
+       (simplify_preds): Same.
+       (push_pred): Same.
+       (push_to_worklist): Same.
+       (get_pred_info_from_cmp): Same.
+       (is_degenerated_phi): Same.
+       (normalize_one_pred_1): Same.
+       (normalize_one_pred): Same.
+       (normalize_one_pred_chain): Same.
+       (normalize_preds): Same.
+       (can_one_predicate_be_invalidated_p): Same.
+       (can_chain_union_be_invalidated_p): Same.
+       (uninit_uses_cannot_happen): Same.
+       (pass_late_warn_uninitialized::execute): Define.
+       * gimple-predicate-analysis.cc: New file.
+       * gimple-predicate-analysis.h: New file.
+
+2021-09-17  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.c (gimple.h): Include.
+       (gcn_fork_join): Emit barrier for worker-level joins.
+       * omp-oacc-neuter-broadcast.cc (find_local_vars_to_propagate): Add
+       writes_gang_private bitmap parameter. Set bit for blocks
+       containing gang-private variable writes.
+       (worker_single_simple): Don't emit barrier after predicated block.
+       (worker_single_copy): Don't emit barrier if we're not broadcasting
+       anything and the block contains no gang-private writes.
+       (neuter_worker_single): Don't predicate blocks that only contain
+       NOPs or internal marker functions.  Pass has_gang_private_write
+       argument to worker_single_copy.
+       (oacc_do_neutering): Add writes_gang_private bitmap handling.
+
+2021-09-17  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn-protos.h
+       (gcn_goacc_create_worker_broadcast_record): Update prototype.
+       * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Use
+       preallocated block of LDS memory.  Do not cache/share decls for
+       reduction temporaries between invocations.
+       (gcn_goacc_reduction_teardown): Unshare VAR on second use.
+       (gcn_goacc_create_worker_broadcast_record): Add OFFSET parameter
+       and return temporary LDS space at that offset.  Return pointer in
+       "sender" case.
+       * config/gcn/gcn.c (acc_lds_size, gang_private_hwm, lds_allocs):
+       New global vars.
+       (ACC_LDS_SIZE): Define as acc_lds_size.
+       (gcn_init_machine_status): Don't initialise lds_allocated,
+       lds_allocs, reduc_decls fields of machine function struct.
+       (gcn_option_override): Handle default size for gang-private
+       variables and -mgang-private-size option.
+       (gcn_expand_prologue): Use LDS_SIZE instead of LDS_SIZE-1 when
+       initialising M0_REG.
+       (gcn_shared_mem_layout): New function.
+       (gcn_print_lds_decl): Update comment. Use global lds_allocs map and
+       gang_private_hwm variable.
+       (TARGET_GOACC_SHARED_MEM_LAYOUT): Define target hook.
+       * config/gcn/gcn.h (machine_function): Remove lds_allocated,
+       lds_allocs, reduc_decls. Add reduction_base, reduction_limit.
+       * config/gcn/gcn.opt (gang_private_size_opt): New global.
+       (mgang-private-size=): New option.
+       * doc/tm.texi.in (TARGET_GOACC_SHARED_MEM_LAYOUT): Place
+       documentation hook.
+       * doc/tm.texi: Regenerate.
+       * omp-oacc-neuter-broadcast.cc (targhooks.h, diagnostic-core.h):
+       Add includes.
+       (build_sender_ref): Handle sender_decl being pointer.
+       (worker_single_copy): Add PLACEMENT and ISOLATE_BROADCASTS
+       parameters.  Pass placement argument to
+       create_worker_broadcast_record hook invocations.  Handle
+       sender_decl being pointer and isolate_broadcasts inserting extra
+       barriers.
+       (blk_offset_map_t): Add typedef.
+       (neuter_worker_single): Add BLK_OFFSET_MAP parameter.  Pass
+       preallocated range to worker_single_copy call.
+       (dfs_broadcast_reachable_1): New function.
+       (idx_decl_pair_t, used_range_vec_t): New typedefs.
+       (sort_size_descending): New function.
+       (addr_range): New class.
+       (splay_tree_compare_addr_range, splay_tree_free_key)
+       (first_fit_range, merge_ranges_1, merge_ranges): New functions.
+       (execute_omp_oacc_neuter_broadcast): Rename to...
+       (oacc_do_neutering): ... this.  Add BOUNDS_LO, BOUNDS_HI
+       parameters.  Arrange layout of shared memory for broadcast
+       operations.
+       (execute_omp_oacc_neuter_broadcast): New function.
+       (pass_omp_oacc_neuter_broadcast::gate): Remove num_workers==1
+       handling from here.  Enable pass for all OpenACC routines in order
+       to call shared memory-layout hook.
+       * target.def (create_worker_broadcast_record): Add OFFSET
+       parameter.
+       (shared_mem_layout): New hook.
+
+2021-09-17  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-neuter-broadcast.cc
+       (pass_omp_oacc_neuter_broadcast::gate): Disable if num_workers is
+       1.
+       (execute_omp_oacc_neuter_broadcast): Adjust.
+
+2021-09-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (class equiv_chain): Move to header file.
+       (path_oracle::path_oracle): New.
+       (path_oracle::~path_oracle): New.
+       (path_oracle::register_relation): New.
+       (path_oracle::query_relation): New.
+       (path_oracle::reset_path): New.
+       (path_oracle::dump): New.
+       * value-relation.h (class equiv_chain): Move to here.
+       (class path_oracle): New.
+
+2021-09-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Create a DOM
+       based oracle.
+       * gimple-range-fold.cc (fur_depend::register_relation): Use
+       register_stmt/edge routines.
+       * value-relation.cc (equiv_chain::find): Relocate from equiv_oracle.
+       (equiv_oracle::equiv_oracle): Create self equivalence cache.
+       (equiv_oracle::~equiv_oracle): Release same.
+       (equiv_oracle::equiv_set): Return entry from self equiv cache if there
+       are no equivalences.
+       (equiv_oracle::find_equiv_block): Move list find to equiv_chain.
+       (equiv_oracle::register_relation): Rename from register_equiv.
+       (relation_chain_head::find_relation): Relocate from dom_oracle.
+       (relation_oracle::register_stmt): New.
+       (relation_oracle::register_edge): New.
+       (dom_oracle::*): Rename from relation_oracle.
+       (dom_oracle::register_relation): Adjust to call equiv_oracle.
+       (dom_oracle::set_one_relation): Split from register_relation.
+       (dom_oracle::register_transitives): Consolidate 2 methods.
+       (dom_oracle::find_relation_block): Move core to relation_chain.
+       (dom_oracle::query_relation): Rename from find_relation_dom and adjust.
+       * value-relation.h (class relation_oracle): New pure virtual base.
+       (class equiv_oracle): Inherit from relation_oracle and adjust.
+       (class dom_oracle): Rename from old relation_oracle and adjust.
+
+2021-09-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102200
+       * pointer-query.cc (access_ref::inform_access): Handle MIN/MAX_EXPR.
+       (handle_min_max_size): Change argument.  Store original SSA_NAME for
+       operands to potentially distinct (sub)objects.
+       (compute_objsize_r): Adjust call to the above.
+
+2021-09-17  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000-builtins.h): New include.
+       (rs6000_new_builtin_vectorized_function): New function.
+       (rs6000_new_builtin_md_vectorized_function): Likewise.
+       (rs6000_builtin_vectorized_function): Call
+       rs6000_new_builtin_vectorized_function.
+       (rs6000_builtin_md_vectorized_function): Call
+       rs6000_new_builtin_md_vectorized_function.
+
+2021-09-17  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def (ASSEMBLE_ACC): Add mmaint flag.
+       (ASSEMBLE_PAIR): Likewise.
+       (BUILD_ACC): Likewise.
+       (DISASSEMBLE_ACC): Likewise.
+       (DISASSEMBLE_PAIR): Likewise.
+       (PMXVBF16GER2): Likewise.
+       (PMXVBF16GER2NN): Likewise.
+       (PMXVBF16GER2NP): Likewise.
+       (PMXVBF16GER2PN): Likewise.
+       (PMXVBF16GER2PP): Likewise.
+       (PMXVF16GER2): Likewise.
+       (PMXVF16GER2NN): Likewise.
+       (PMXVF16GER2NP): Likewise.
+       (PMXVF16GER2PN): Likewise.
+       (PMXVF16GER2PP): Likewise.
+       (PMXVF32GER): Likewise.
+       (PMXVF32GERNN): Likewise.
+       (PMXVF32GERNP): Likewise.
+       (PMXVF32GERPN): Likewise.
+       (PMXVF32GERPP): Likewise.
+       (PMXVF64GER): Likewise.
+       (PMXVF64GERNN): Likewise.
+       (PMXVF64GERNP): Likewise.
+       (PMXVF64GERPN): Likewise.
+       (PMXVF64GERPP): Likewise.
+       (PMXVI16GER2): Likewise.
+       (PMXVI16GER2PP): Likewise.
+       (PMXVI16GER2S): Likewise.
+       (PMXVI16GER2SPP): Likewise.
+       (PMXVI4GER8): Likewise.
+       (PMXVI4GER8PP): Likewise.
+       (PMXVI8GER4): Likewise.
+       (PMXVI8GER4PP): Likewise.
+       (PMXVI8GER4SPP): Likewise.
+       (XVBF16GER2): Likewise.
+       (XVBF16GER2NN): Likewise.
+       (XVBF16GER2NP): Likewise.
+       (XVBF16GER2PN): Likewise.
+       (XVBF16GER2PP): Likewise.
+       (XVF16GER2): Likewise.
+       (XVF16GER2NN): Likewise.
+       (XVF16GER2NP): Likewise.
+       (XVF16GER2PN): Likewise.
+       (XVF16GER2PP): Likewise.
+       (XVF32GER): Likewise.
+       (XVF32GERNN): Likewise.
+       (XVF32GERNP): Likewise.
+       (XVF32GERPN): Likewise.
+       (XVF32GERPP): Likewise.
+       (XVF64GER): Likewise.
+       (XVF64GERNN): Likewise.
+       (XVF64GERNP): Likewise.
+       (XVF64GERPN): Likewise.
+       (XVF64GERPP): Likewise.
+       (XVI16GER2): Likewise.
+       (XVI16GER2PP): Likewise.
+       (XVI16GER2S): Likewise.
+       (XVI16GER2SPP): Likewise.
+       (XVI4GER8): Likewise.
+       (XVI4GER8PP): Likewise.
+       (XVI8GER4): Likewise.
+       (XVI8GER4PP): Likewise.
+       (XVI8GER4SPP): Likewise.
+       (XXMFACC): Likewise.
+       (XXMTACC): Likewise.
+       (XXSETACCZ): Likewise.
+       (ASSEMBLE_PAIR_V): Likewise.
+       (BUILD_PAIR): Likewise.
+       (DISASSEMBLE_PAIR_V): Likewise.
+       (LXVP): New.
+       (STXVP): New.
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_mma_builtin):
+       Handle RS6000_BIF_LXVP and RS6000_BIF_STXVP.
+       * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add ismmaint.
+       (parse_bif_attrs): Handle ismmaint.
+       (write_decls): Add bif_mmaint_bit and bif_is_mmaint.
+       (write_bif_static_init): Handle ismmaint.
+
+2021-09-17  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): New
+       forward decl.
+       (rs6000_gimple_fold_builtin): Call rs6000_gimple_fold_new_builtin.
+       (rs6000_new_builtin_valid_without_lhs): New function.
+       (rs6000_gimple_fold_new_mma_builtin): Likewise.
+       (rs6000_gimple_fold_new_builtin): Likewise.
+
+2021-09-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * hash-table.h (hash_table<Descriptor, Lazy, Allocator>::expand):
+       Destruct stale Value objects.
+       * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor_expand):
+       Update.
+
+2021-09-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR c/102245
+       * match.pd (shift optimizations): Disable recent sign-changing
+       optimization for shifts by zero, these will be folded later.
+
+2021-09-17  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def (__builtin_mffsl): Move from
+       [power9] to [always].
+
+2021-09-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_load): Do not frob
+       stmt_info for SLP.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-features.c (remove_partial_avx_dependency):
+       Also check TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY and
+       and TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY before generating
+       vxorps.
+       * config/i386/i386.h (TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY):
+       New.
+       (TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise.
+       * config/i386/i386.md (SSE FP to FP splitters): Replace
+       TARGET_SSE_PARTIAL_REG_DEPENDENCY with
+       TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY.
+       (SSE INT to FP splitter): Replace TARGET_SSE_PARTIAL_REG_DEPENDENCY
+       with TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY.
+       * config/i386/x86-tune.def
+       (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): New.
+       (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101900
+       * config/i386/i386-features.c (remove_partial_avx_dependency):
+       Check TARGET_USE_VECTOR_FP_CONVERTS and TARGET_USE_VECTOR_CONVERTS
+       before generating vxorps.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-options.c (processor_cost_table): Use
+       tremont_cost for Tremont.
+       * config/i386/x86-tune-costs.h (tremont_memcpy): New.
+       (tremont_memset): Likewise.
+       (tremont_cost): Likewise.
+       * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
+       Enable for Tremont.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       * common/config/i386/i386-common.c: Use Haswell scheduling model
+       for Tremont.
+       * config/i386/i386.c (ix86_sched_init_global): Prepare for Tremont
+       scheduling pass.
+       * config/i386/x86-tune-sched.c (ix86_issue_rate): Change Tremont
+       issue rate to 4.
+       (ix86_adjust_cost): Handle Tremont.
+       * config/i386/x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY):
+       Enable for Tremont.
+       (X86_TUNE_USE_LEAVE): Likewise.
+       (X86_TUNE_PUSH_MEMORY): Likewise.
+       (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Likewise.
+       (X86_TUNE_USE_CLTD): Likewise.
+       (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Likewise.
+       (X86_TUNE_AVOID_MFENCE): Likewise.
+       (X86_TUNE_SSE_TYPELESS_STORES): Likewise.
+       (X86_TUNE_SSE_LOAD0_BY_PXOR): Likewise.
+       (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Disable for Tremont.
+       (X86_TUNE_FOUR_JUMP_LIMIT): Likewise.
+       (X86_TUNE_OPT_AGU): Likewise.
+       (X86_TUNE_AVOID_LEA_FOR_ADDR): Likewise.
+       (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Likewise.
+       (X86_TUNE_EXPAND_ABS): Likewise.
+       (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Likewise.
+       (X86_TUNE_SLOW_PSHUFB): Likewise.
+
+2021-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/102306
+       * combine.c (try_combine): Abort the combination if we are about to
+       duplicate volatile references.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_undefined_ph):
+       New intrinsic.
+       (_mm256_undefined_ph): Likewise.
+       (_mm512_undefined_ph): Likewise.
+       (_mm_cvtsh_h): Likewise.
+       (_mm256_cvtsh_h): Likewise.
+       (_mm512_cvtsh_h): Likewise.
+       (_mm512_castph_ps): Likewise.
+       (_mm512_castph_pd): Likewise.
+       (_mm512_castph_si512): Likewise.
+       (_mm512_castph512_ph128): Likewise.
+       (_mm512_castph512_ph256): Likewise.
+       (_mm512_castph128_ph512): Likewise.
+       (_mm512_castph256_ph512): Likewise.
+       (_mm512_zextph128_ph512): Likewise.
+       (_mm512_zextph256_ph512): Likewise.
+       (_mm512_castps_ph): Likewise.
+       (_mm512_castpd_ph): Likewise.
+       (_mm512_castsi512_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_castph_ps):
+       New intrinsic.
+       (_mm256_castph_ps): Likewise.
+       (_mm_castph_pd): Likewise.
+       (_mm256_castph_pd): Likewise.
+       (_mm_castph_si128): Likewise.
+       (_mm256_castph_si256): Likewise.
+       (_mm_castps_ph): Likewise.
+       (_mm256_castps_ph): Likewise.
+       (_mm_castpd_ph): Likewise.
+       (_mm256_castpd_ph): Likewise.
+       (_mm_castsi128_ph): Likewise.
+       (_mm256_castsi256_ph): Likewise.
+       (_mm256_castph256_ph128): Likewise.
+       (_mm256_castph128_ph256): Likewise.
+       (_mm256_zextph128_ph256): Likewise.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_cvtsh_ss):
+       New intrinsic.
+       (_mm_mask_cvtsh_ss): Likewise.
+       (_mm_maskz_cvtsh_ss): Likewise.
+       (_mm_cvtsh_sd): Likewise.
+       (_mm_mask_cvtsh_sd): Likewise.
+       (_mm_maskz_cvtsh_sd): Likewise.
+       (_mm_cvt_roundsh_ss): Likewise.
+       (_mm_mask_cvt_roundsh_ss): Likewise.
+       (_mm_maskz_cvt_roundsh_ss): Likewise.
+       (_mm_cvt_roundsh_sd): Likewise.
+       (_mm_mask_cvt_roundsh_sd): Likewise.
+       (_mm_maskz_cvt_roundsh_sd): Likewise.
+       (_mm_cvtss_sh): Likewise.
+       (_mm_mask_cvtss_sh): Likewise.
+       (_mm_maskz_cvtss_sh): Likewise.
+       (_mm_cvtsd_sh): Likewise.
+       (_mm_mask_cvtsd_sh): Likewise.
+       (_mm_maskz_cvtsd_sh): Likewise.
+       (_mm_cvt_roundss_sh): Likewise.
+       (_mm_mask_cvt_roundss_sh): Likewise.
+       (_mm_maskz_cvt_roundss_sh): Likewise.
+       (_mm_cvt_roundsd_sh): Likewise.
+       (_mm_mask_cvt_roundsd_sh): Likewise.
+       (_mm_maskz_cvt_roundsd_sh): Likewise.
+       * config/i386/i386-builtin-types.def
+       (V8HF_FTYPE_V2DF_V8HF_V8HF_UQI_INT,
+       V8HF_FTYPE_V4SF_V8HF_V8HF_UQI_INT,
+       V2DF_FTYPE_V8HF_V2DF_V2DF_UQI_INT,
+       V4SF_FTYPE_V8HF_V4SF_V4SF_UQI_INT): Add new builtin types.
+       * config/i386/i386-builtin.def: Add corrresponding new builtins.
+       * config/i386/i386-expand.c: Handle new builtin types.
+       * config/i386/sse.md (VF48_128): New mode iterator.
+       (avx512fp16_vcvtsh2<ssescalarmodesuffix><mask_scalar_name><round_saeonly_scalar_name>):
+       New.
+       (avx512fp16_vcvt<ssescalarmodesuffix>2sh<mask_scalar_name><round_scalar_name>):
+       Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_cvtph_pd):
+       New intrinsic.
+       (_mm512_mask_cvtph_pd): Likewise.
+       (_mm512_maskz_cvtph_pd): Likewise.
+       (_mm512_cvt_roundph_pd): Likewise.
+       (_mm512_mask_cvt_roundph_pd): Likewise.
+       (_mm512_maskz_cvt_roundph_pd): Likewise.
+       (_mm512_cvtxph_ps): Likewise.
+       (_mm512_mask_cvtxph_ps): Likewise.
+       (_mm512_maskz_cvtxph_ps): Likewise.
+       (_mm512_cvtx_roundph_ps): Likewise.
+       (_mm512_mask_cvtx_roundph_ps): Likewise.
+       (_mm512_maskz_cvtx_roundph_ps): Likewise.
+       (_mm512_cvtxps_ph): Likewise.
+       (_mm512_mask_cvtxps_ph): Likewise.
+       (_mm512_maskz_cvtxps_ph): Likewise.
+       (_mm512_cvtx_roundps_ph): Likewise.
+       (_mm512_mask_cvtx_roundps_ph): Likewise.
+       (_mm512_maskz_cvtx_roundps_ph): Likewise.
+       (_mm512_cvtpd_ph): Likewise.
+       (_mm512_mask_cvtpd_ph): Likewise.
+       (_mm512_maskz_cvtpd_ph): Likewise.
+       (_mm512_cvt_roundpd_ph): Likewise.
+       (_mm512_mask_cvt_roundpd_ph): Likewise.
+       (_mm512_maskz_cvt_roundpd_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_cvtph_pd):
+       New intrinsic.
+       (_mm_mask_cvtph_pd): Likewise.
+       (_mm_maskz_cvtph_pd): Likewise.
+       (_mm256_cvtph_pd): Likewise.
+       (_mm256_mask_cvtph_pd): Likewise.
+       (_mm256_maskz_cvtph_pd): Likewise.
+       (_mm_cvtxph_ps): Likewise.
+       (_mm_mask_cvtxph_ps): Likewise.
+       (_mm_maskz_cvtxph_ps): Likewise.
+       (_mm256_cvtxph_ps): Likewise.
+       (_mm256_mask_cvtxph_ps): Likewise.
+       (_mm256_maskz_cvtxph_ps): Likewise.
+       (_mm_cvtxps_ph): Likewise.
+       (_mm_mask_cvtxps_ph): Likewise.
+       (_mm_maskz_cvtxps_ph): Likewise.
+       (_mm256_cvtxps_ph): Likewise.
+       (_mm256_mask_cvtxps_ph): Likewise.
+       (_mm256_maskz_cvtxps_ph): Likewise.
+       (_mm_cvtpd_ph): Likewise.
+       (_mm_mask_cvtpd_ph): Likewise.
+       (_mm_maskz_cvtpd_ph): Likewise.
+       (_mm256_cvtpd_ph): Likewise.
+       (_mm256_mask_cvtpd_ph): Likewise.
+       (_mm256_maskz_cvtpd_ph): Likewise.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-expand.c: Handle new builtin types.
+       * config/i386/sse.md
+       (VF4_128_8_256): New.
+       (VF48H_AVX512VL): Ditto.
+       (ssePHmode): Add HF vector modes.
+       (castmode): Add new convertable modes.
+       (qq2phsuff): Ditto.
+       (ph2pssuffix): New.
+       (avx512fp16_vcvt<castmode>2ph_<mode><mask_name><round_name>): Ditto.
+       (avx512fp16_vcvt<castmode>2ph_<mode>): Ditto.
+       (*avx512fp16_vcvt<castmode>2ph_<mode>): Ditto.
+       (avx512fp16_vcvt<castmode>2ph_<mode>_mask): Ditto.
+       (*avx512fp16_vcvt<castmode>2ph_<mode>_mask): Ditto.
+       (*avx512fp16_vcvt<castmode>2ph_<mode>_mask_1): Ditto.
+       (avx512fp16_float_extend_ph<mode>2<mask_name><round_saeonly_name>):
+       Ditto.
+       (avx512fp16_float_extend_ph<mode>2<mask_name>): Ditto.
+       (*avx512fp16_float_extend_ph<mode>2_load<mask_name>): Ditto.
+       (avx512fp16_float_extend_phv2df2<mask_name>): Ditto.
+       (*avx512fp16_float_extend_phv2df2_load<mask_name>): Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_cvttsh_i32):
+       New intrinsic.
+       (_mm_cvttsh_u32): Likewise.
+       (_mm_cvtt_roundsh_i32): Likewise.
+       (_mm_cvtt_roundsh_u32): Likewise.
+       (_mm_cvttsh_i64): Likewise.
+       (_mm_cvttsh_u64): Likewise.
+       (_mm_cvtt_roundsh_i64): Likewise.
+       (_mm_cvtt_roundsh_u64): Likewise.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/sse.md
+       (avx512fp16_fix<fixunssuffix>_trunc<mode>2<round_saeonly_name>):
+       New.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_cvttph_epi32):
+       New intrinsic.
+       (_mm512_mask_cvttph_epi32): Likewise.
+       (_mm512_maskz_cvttph_epi32): Likewise.
+       (_mm512_cvtt_roundph_epi32): Likewise.
+       (_mm512_mask_cvtt_roundph_epi32): Likewise.
+       (_mm512_maskz_cvtt_roundph_epi32): Likewise.
+       (_mm512_cvttph_epu32): Likewise.
+       (_mm512_mask_cvttph_epu32): Likewise.
+       (_mm512_maskz_cvttph_epu32): Likewise.
+       (_mm512_cvtt_roundph_epu32): Likewise.
+       (_mm512_mask_cvtt_roundph_epu32): Likewise.
+       (_mm512_maskz_cvtt_roundph_epu32): Likewise.
+       (_mm512_cvttph_epi64): Likewise.
+       (_mm512_mask_cvttph_epi64): Likewise.
+       (_mm512_maskz_cvttph_epi64): Likewise.
+       (_mm512_cvtt_roundph_epi64): Likewise.
+       (_mm512_mask_cvtt_roundph_epi64): Likewise.
+       (_mm512_maskz_cvtt_roundph_epi64): Likewise.
+       (_mm512_cvttph_epu64): Likewise.
+       (_mm512_mask_cvttph_epu64): Likewise.
+       (_mm512_maskz_cvttph_epu64): Likewise.
+       (_mm512_cvtt_roundph_epu64): Likewise.
+       (_mm512_mask_cvtt_roundph_epu64): Likewise.
+       (_mm512_maskz_cvtt_roundph_epu64): Likewise.
+       (_mm512_cvttph_epi16): Likewise.
+       (_mm512_mask_cvttph_epi16): Likewise.
+       (_mm512_maskz_cvttph_epi16): Likewise.
+       (_mm512_cvtt_roundph_epi16): Likewise.
+       (_mm512_mask_cvtt_roundph_epi16): Likewise.
+       (_mm512_maskz_cvtt_roundph_epi16): Likewise.
+       (_mm512_cvttph_epu16): Likewise.
+       (_mm512_mask_cvttph_epu16): Likewise.
+       (_mm512_maskz_cvttph_epu16): Likewise.
+       (_mm512_cvtt_roundph_epu16): Likewise.
+       (_mm512_mask_cvtt_roundph_epu16): Likewise.
+       (_mm512_maskz_cvtt_roundph_epu16): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_cvttph_epi32):
+       New intirnsic.
+       (_mm_mask_cvttph_epi32): Likewise.
+       (_mm_maskz_cvttph_epi32): Likewise.
+       (_mm256_cvttph_epi32): Likewise.
+       (_mm256_mask_cvttph_epi32): Likewise.
+       (_mm256_maskz_cvttph_epi32): Likewise.
+       (_mm_cvttph_epu32): Likewise.
+       (_mm_mask_cvttph_epu32): Likewise.
+       (_mm_maskz_cvttph_epu32): Likewise.
+       (_mm256_cvttph_epu32): Likewise.
+       (_mm256_mask_cvttph_epu32): Likewise.
+       (_mm256_maskz_cvttph_epu32): Likewise.
+       (_mm_cvttph_epi64): Likewise.
+       (_mm_mask_cvttph_epi64): Likewise.
+       (_mm_maskz_cvttph_epi64): Likewise.
+       (_mm256_cvttph_epi64): Likewise.
+       (_mm256_mask_cvttph_epi64): Likewise.
+       (_mm256_maskz_cvttph_epi64): Likewise.
+       (_mm_cvttph_epu64): Likewise.
+       (_mm_mask_cvttph_epu64): Likewise.
+       (_mm_maskz_cvttph_epu64): Likewise.
+       (_mm256_cvttph_epu64): Likewise.
+       (_mm256_mask_cvttph_epu64): Likewise.
+       (_mm256_maskz_cvttph_epu64): Likewise.
+       (_mm_cvttph_epi16): Likewise.
+       (_mm_mask_cvttph_epi16): Likewise.
+       (_mm_maskz_cvttph_epi16): Likewise.
+       (_mm256_cvttph_epi16): Likewise.
+       (_mm256_mask_cvttph_epi16): Likewise.
+       (_mm256_maskz_cvttph_epi16): Likewise.
+       (_mm_cvttph_epu16): Likewise.
+       (_mm_mask_cvttph_epu16): Likewise.
+       (_mm_maskz_cvttph_epu16): Likewise.
+       (_mm256_cvttph_epu16): Likewise.
+       (_mm256_mask_cvttph_epu16): Likewise.
+       (_mm256_maskz_cvttph_epu16): Likewise.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/sse.md
+       (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name><round_saeonly_name>):
+       New.
+       (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name>): Ditto.
+       (*avx512fp16_fix<fixunssuffix>_trunc<mode>2_load<mask_name>): Ditto.
+       (avx512fp16_fix<fixunssuffix>_truncv2di2<mask_name>): Ditto.
+       (avx512fp16_fix<fixunssuffix>_truncv2di2_load<mask_name>): Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_cvtsh_i32): New intrinsic.
+       (_mm_cvtsh_u32): Likewise.
+       (_mm_cvt_roundsh_i32): Likewise.
+       (_mm_cvt_roundsh_u32): Likewise.
+       (_mm_cvtsh_i64): Likewise.
+       (_mm_cvtsh_u64): Likewise.
+       (_mm_cvt_roundsh_i64): Likewise.
+       (_mm_cvt_roundsh_u64): Likewise.
+       (_mm_cvti32_sh): Likewise.
+       (_mm_cvtu32_sh): Likewise.
+       (_mm_cvt_roundi32_sh): Likewise.
+       (_mm_cvt_roundu32_sh): Likewise.
+       (_mm_cvti64_sh): Likewise.
+       (_mm_cvtu64_sh): Likewise.
+       (_mm_cvt_roundi64_sh): Likewise.
+       (_mm_cvt_roundu64_sh): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c (ix86_expand_round_builtin):
+       Handle new builtin types.
+       * config/i386/sse.md
+       (avx512fp16_vcvtsh2<sseintconvertsignprefix>si<rex64namesuffix><round_name>):
+       New define_insn.
+       (avx512fp16_vcvtsh2<sseintconvertsignprefix>si<rex64namesuffix>_2): Likewise.
+       (avx512fp16_vcvt<floatsuffix>si2sh<rex64namesuffix><round_name>): Likewise.
+
+2021-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (rs6000-builtins.h): New include.
+       (altivec_resolve_new_overloaded_builtin): New forward decl.
+       (rs6000_new_builtin_type_compatible): New function.
+       (altivec_resolve_overloaded_builtin): Call
+       altivec_resolve_new_overloaded_builtin.
+       (altivec_build_new_resolved_builtin): New function.
+       (altivec_resolve_new_overloaded_builtin): Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_new_builtin_is_supported):
+       Likewise.
+       * config/rs6000/rs6000-gen-builtins.c (write_decls): Remove _p from
+       name of rs6000_new_builtin_is_supported.
+
+2021-09-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (ix86_decompose_address):
+       Change return type to bool.
+       * config/i386/i386.c (ix86_decompose_address): Ditto.
+
+2021-09-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR target/102353
+       * config/rs6000/t-rs6000 (build/rs6000-gen-builtins.o, build/rbtree.o):
+       Added 'build/' to target, use build/%.o rule.
+       (build/rs6000-gen-builtins$(build_exeext)): Add 'build/' and
+       '$(build_exeext)' to target and 'build/' for the *.o files.
+       (rs6000-builtins.c): Update for those changes; run rs6000-gen-builtins
+       with $(RUN_GEN).
+
+2021-09-16  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Do not check caller count sums if
+       the body has been removed.  Remove trailing whitespace.
+
+2021-09-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102360
+       * internal-fn.c (expand_DEFERRED_INIT): Make pattern-init
+       of non-memory more robust.
+
+2021-09-16  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc-opts.h (enum sparc_processor_type): Add LEON5
+       * config/sparc/sparc.c (struct processor_costs): Add LEON5 costs
+       (leon5_adjust_cost): Increase cost of store with data dependency
+       on ALU instruction and FPU anti-dependencies.
+       (sparc_option_override): Add LEON5 costs
+       (sparc_adjust_cost): Add LEON5 cost adjustments
+       * config/sparc/sparc.h: Add LEON5
+       * config/sparc/sparc.md: Include LEON5 scheduling information
+       * config/sparc/sparc.opt: Add LEON5
+       * doc/invoke.texi: Add LEON5
+       * config/sparc/leon5.md: New file.
+
+2021-09-16  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc.md (stack_protect_set32): Add NOP to prevent
+       sensitive sequence for B2BST errata workaround.
+
+2021-09-16  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc.c (sparc_do_work_around_errata): Do not begin
+       functions with atomic instruction in the UT700 errata workaround.
+
+2021-09-16  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc.c (next_active_non_empty_insn): New function
+       that returns next active non empty assembly instruction.
+       (sparc_do_work_around_errata): Use new function.
+
+2021-09-16  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc.c (store_insn_p): Add predicate for store
+       attributes.
+       (load_insn_p): Add predicate for load attributes.
+       (sparc_do_work_around_errata): Use new predicates.
+
+2021-09-16  Andreas Larsson  <andreas@gaisler.com>
+
+       * config/sparc/sparc.c (dump_target_flag_bits): Print bit names for
+       LEON and LEON3.
+
+2021-09-16  Martin Liska  <mliska@suse.cz>
+
+       * config/mips/netbsd.h: Fix typo in name of a macro.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/102080
+       * match.pd: Check mask type when doing cond_op related gimple
+       simplification.
+       * tree.c (is_truth_type_for): New function.
+       * tree.h (is_truth_type_for): New declaration.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_cvtepi32_ph): New
+       intrinsic.
+       (_mm512_mask_cvtepi32_ph): Likewise.
+       (_mm512_maskz_cvtepi32_ph): Likewise.
+       (_mm512_cvt_roundepi32_ph): Likewise.
+       (_mm512_mask_cvt_roundepi32_ph): Likewise.
+       (_mm512_maskz_cvt_roundepi32_ph): Likewise.
+       (_mm512_cvtepu32_ph): Likewise.
+       (_mm512_mask_cvtepu32_ph): Likewise.
+       (_mm512_maskz_cvtepu32_ph): Likewise.
+       (_mm512_cvt_roundepu32_ph): Likewise.
+       (_mm512_mask_cvt_roundepu32_ph): Likewise.
+       (_mm512_maskz_cvt_roundepu32_ph): Likewise.
+       (_mm512_cvtepi64_ph): Likewise.
+       (_mm512_mask_cvtepi64_ph): Likewise.
+       (_mm512_maskz_cvtepi64_ph): Likewise.
+       (_mm512_cvt_roundepi64_ph): Likewise.
+       (_mm512_mask_cvt_roundepi64_ph): Likewise.
+       (_mm512_maskz_cvt_roundepi64_ph): Likewise.
+       (_mm512_cvtepu64_ph): Likewise.
+       (_mm512_mask_cvtepu64_ph): Likewise.
+       (_mm512_maskz_cvtepu64_ph): Likewise.
+       (_mm512_cvt_roundepu64_ph): Likewise.
+       (_mm512_mask_cvt_roundepu64_ph): Likewise.
+       (_mm512_maskz_cvt_roundepu64_ph): Likewise.
+       (_mm512_cvtepi16_ph): Likewise.
+       (_mm512_mask_cvtepi16_ph): Likewise.
+       (_mm512_maskz_cvtepi16_ph): Likewise.
+       (_mm512_cvt_roundepi16_ph): Likewise.
+       (_mm512_mask_cvt_roundepi16_ph): Likewise.
+       (_mm512_maskz_cvt_roundepi16_ph): Likewise.
+       (_mm512_cvtepu16_ph): Likewise.
+       (_mm512_mask_cvtepu16_ph): Likewise.
+       (_mm512_maskz_cvtepu16_ph): Likewise.
+       (_mm512_cvt_roundepu16_ph): Likewise.
+       (_mm512_mask_cvt_roundepu16_ph): Likewise.
+       (_mm512_maskz_cvt_roundepu16_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_cvtepi32_ph): New
+       intrinsic.
+       (_mm_mask_cvtepi32_ph): Likewise.
+       (_mm_maskz_cvtepi32_ph): Likewise.
+       (_mm256_cvtepi32_ph): Likewise.
+       (_mm256_mask_cvtepi32_ph): Likewise.
+       (_mm256_maskz_cvtepi32_ph): Likewise.
+       (_mm_cvtepu32_ph): Likewise.
+       (_mm_mask_cvtepu32_ph): Likewise.
+       (_mm_maskz_cvtepu32_ph): Likewise.
+       (_mm256_cvtepu32_ph): Likewise.
+       (_mm256_mask_cvtepu32_ph): Likewise.
+       (_mm256_maskz_cvtepu32_ph): Likewise.
+       (_mm_cvtepi64_ph): Likewise.
+       (_mm_mask_cvtepi64_ph): Likewise.
+       (_mm_maskz_cvtepi64_ph): Likewise.
+       (_mm256_cvtepi64_ph): Likewise.
+       (_mm256_mask_cvtepi64_ph): Likewise.
+       (_mm256_maskz_cvtepi64_ph): Likewise.
+       (_mm_cvtepu64_ph): Likewise.
+       (_mm_mask_cvtepu64_ph): Likewise.
+       (_mm_maskz_cvtepu64_ph): Likewise.
+       (_mm256_cvtepu64_ph): Likewise.
+       (_mm256_mask_cvtepu64_ph): Likewise.
+       (_mm256_maskz_cvtepu64_ph): Likewise.
+       (_mm_cvtepi16_ph): Likewise.
+       (_mm_mask_cvtepi16_ph): Likewise.
+       (_mm_maskz_cvtepi16_ph): Likewise.
+       (_mm256_cvtepi16_ph): Likewise.
+       (_mm256_mask_cvtepi16_ph): Likewise.
+       (_mm256_maskz_cvtepi16_ph): Likewise.
+       (_mm_cvtepu16_ph): Likewise.
+       (_mm_mask_cvtepu16_ph): Likewise.
+       (_mm_maskz_cvtepu16_ph): Likewise.
+       (_mm256_cvtepu16_ph): Likewise.
+       (_mm256_mask_cvtepu16_ph): Likewise.
+       (_mm256_maskz_cvtepu16_ph): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/i386-modes.def: Declare V2HF and V6HF.
+       * config/i386/sse.md (VI2H_AVX512VL): New.
+       (qq2phsuff): Ditto.
+       (sseintvecmode): Add HF vector modes.
+       (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode><mask_name><round_name>):
+       New.
+       (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>): Ditto.
+       (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>): Ditto.
+       (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask): Ditto.
+       (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask): Ditto.
+       (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask_1): Ditto.
+       (avx512fp16_vcvt<floatsuffix>qq2ph_v2di): Ditto.
+       (*avx512fp16_vcvt<floatsuffix>qq2ph_v2di): Ditto.
+       (avx512fp16_vcvt<floatsuffix>qq2ph_v2di_mask): Ditto.
+       (*avx512fp16_vcvt<floatsuffix>qq2ph_v2di_mask): Ditto.
+       (*avx512fp16_vcvt<floatsuffix>qq2ph_v2di_mask_1): Ditto.
+       * config/i386/subst.md (round_qq2phsuff): New subst_attr.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_cvtph_epi32):
+       New intrinsic/
+       (_mm512_mask_cvtph_epi32): Likewise.
+       (_mm512_maskz_cvtph_epi32): Likewise.
+       (_mm512_cvt_roundph_epi32): Likewise.
+       (_mm512_mask_cvt_roundph_epi32): Likewise.
+       (_mm512_maskz_cvt_roundph_epi32): Likewise.
+       (_mm512_cvtph_epu32): Likewise.
+       (_mm512_mask_cvtph_epu32): Likewise.
+       (_mm512_maskz_cvtph_epu32): Likewise.
+       (_mm512_cvt_roundph_epu32): Likewise.
+       (_mm512_mask_cvt_roundph_epu32): Likewise.
+       (_mm512_maskz_cvt_roundph_epu32): Likewise.
+       (_mm512_cvtph_epi64): Likewise.
+       (_mm512_mask_cvtph_epi64): Likewise.
+       (_mm512_maskz_cvtph_epi64): Likewise.
+       (_mm512_cvt_roundph_epi64): Likewise.
+       (_mm512_mask_cvt_roundph_epi64): Likewise.
+       (_mm512_maskz_cvt_roundph_epi64): Likewise.
+       (_mm512_cvtph_epu64): Likewise.
+       (_mm512_mask_cvtph_epu64): Likewise.
+       (_mm512_maskz_cvtph_epu64): Likewise.
+       (_mm512_cvt_roundph_epu64): Likewise.
+       (_mm512_mask_cvt_roundph_epu64): Likewise.
+       (_mm512_maskz_cvt_roundph_epu64): Likewise.
+       (_mm512_cvtph_epi16): Likewise.
+       (_mm512_mask_cvtph_epi16): Likewise.
+       (_mm512_maskz_cvtph_epi16): Likewise.
+       (_mm512_cvt_roundph_epi16): Likewise.
+       (_mm512_mask_cvt_roundph_epi16): Likewise.
+       (_mm512_maskz_cvt_roundph_epi16): Likewise.
+       (_mm512_cvtph_epu16): Likewise.
+       (_mm512_mask_cvtph_epu16): Likewise.
+       (_mm512_maskz_cvtph_epu16): Likewise.
+       (_mm512_cvt_roundph_epu16): Likewise.
+       (_mm512_mask_cvt_roundph_epu16): Likewise.
+       (_mm512_maskz_cvt_roundph_epu16): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_cvtph_epi32):
+       New intrinsic.
+       (_mm_mask_cvtph_epi32): Likewise.
+       (_mm_maskz_cvtph_epi32): Likewise.
+       (_mm256_cvtph_epi32): Likewise.
+       (_mm256_mask_cvtph_epi32): Likewise.
+       (_mm256_maskz_cvtph_epi32): Likewise.
+       (_mm_cvtph_epu32): Likewise.
+       (_mm_mask_cvtph_epu32): Likewise.
+       (_mm_maskz_cvtph_epu32): Likewise.
+       (_mm256_cvtph_epu32): Likewise.
+       (_mm256_mask_cvtph_epu32): Likewise.
+       (_mm256_maskz_cvtph_epu32): Likewise.
+       (_mm_cvtph_epi64): Likewise.
+       (_mm_mask_cvtph_epi64): Likewise.
+       (_mm_maskz_cvtph_epi64): Likewise.
+       (_mm256_cvtph_epi64): Likewise.
+       (_mm256_mask_cvtph_epi64): Likewise.
+       (_mm256_maskz_cvtph_epi64): Likewise.
+       (_mm_cvtph_epu64): Likewise.
+       (_mm_mask_cvtph_epu64): Likewise.
+       (_mm_maskz_cvtph_epu64): Likewise.
+       (_mm256_cvtph_epu64): Likewise.
+       (_mm256_mask_cvtph_epu64): Likewise.
+       (_mm256_maskz_cvtph_epu64): Likewise.
+       (_mm_cvtph_epi16): Likewise.
+       (_mm_mask_cvtph_epi16): Likewise.
+       (_mm_maskz_cvtph_epi16): Likewise.
+       (_mm256_cvtph_epi16): Likewise.
+       (_mm256_mask_cvtph_epi16): Likewise.
+       (_mm256_maskz_cvtph_epi16): Likewise.
+       (_mm_cvtph_epu16): Likewise.
+       (_mm_mask_cvtph_epu16): Likewise.
+       (_mm_maskz_cvtph_epu16): Likewise.
+       (_mm256_cvtph_epu16): Likewise.
+       (_mm256_mask_cvtph_epu16): Likewise.
+       (_mm256_maskz_cvtph_epu16): Likewise.
+       * config/i386/i386-builtin-types.def: Add new builtin types.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/sse.md (sseintconvert): New.
+       (ssePHmode): Ditto.
+       (UNSPEC_US_FIX_NOTRUNC): Ditto.
+       (sseintconvertsignprefix): Ditto.
+       (avx512fp16_vcvtph2<sseintconvertsignprefix><sseintconvert>_<mode><mask_name><round_name>):
+       Ditto.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: (_mm_cvtsi16_si128):
+       New intrinsic.
+       (_mm_cvtsi128_si16): Likewise.
+       (_mm_mask_load_sh): Likewise.
+       (_mm_maskz_load_sh): Likewise.
+       (_mm_mask_store_sh): Likewise.
+       (_mm_move_sh): Likewise.
+       (_mm_mask_move_sh): Likewise.
+       (_mm_maskz_move_sh): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_special_args_builtin): Handle new builtin types.
+       (ix86_expand_vector_init_one_nonzero): Adjust for FP16 target.
+       * config/i386/sse.md (VI2F): New mode iterator.
+       (vec_set<mode>_0): Use new mode iterator.
+       (avx512f_mov<ssescalarmodelower>_mask): Adjust for HF vector mode.
+       (avx512f_store<mode>_mask): Ditto.
+
+2021-09-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.opt (-mtoc-fusion): Remove.
+
+2021-09-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info):
+       Proceed if no symbol summary or the symbol alias flag is false.
+
+2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/88578
+       PR c++/102295
+       * varasm.c (output_constructor_regular_field): Instead of assertion
+       that array_size_for_constructor result is equal to size of
+       TREE_TYPE (local->val) in bytes, assert that the type size is greater
+       or equal to array_size_for_constructor result and use type size as
+       fieldsize.
+
+2021-09-15  Martin Liska  <mliska@suse.cz>
+
+       PR target/102351
+       * config/i386/vxworks.h: Use new macro TARGET_CPU_P.
+
+2021-09-15  Martin Liska  <mliska@suse.cz>
+
+       PR target/102349
+       * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info):
+       Check that we have a symbol summary for a symbol.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       PR target/102348
+       * config/rs6000/lynx.h: Remove undef of PREFERRED_DEBUGGING_TYPE
+       to inherit from elfos.h
+
+2021-09-15  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102327
+       * config/i386/i386-expand.c
+       (ix86_expand_vector_init_interleave): Use puncklwd to pack 2
+       HFmodes.
+       (ix86_expand_vector_set): Use blendw instead of pinsrw.
+       * config/i386/i386.c (ix86_can_change_mode_class): Adjust for
+       AVX512FP16 which supports 16bit vector load.
+       * config/i386/sse.md (avx512bw_interleave_highv32hi<mask_name>):
+       Rename to ..
+       (avx512bw_interleave_high<mode><mask_name>): .. this, and
+       extend to V32HFmode.
+       (avx2_interleave_highv16hi<mask_name>): Rename to ..
+       (avx2_interleave_high<mode><mask_name>): .. this, and extend
+       to V16HFmode.
+       (vec_interleave_highv8hi<mask_name>): Rename to ..
+       (vec_interleave_high<mode><mask_name>): .. this, and extend to V8HFmode.
+       (<mask_codefor>avx512bw_interleave_lowv32hi<mask_name>):
+       Rename to ..
+       (<mask_codefor>avx512bw_interleave_low<mode><mask_name>):
+       this, and extend to V32HFmode.
+       (avx2_interleave_lowv16hi<mask_name>): Rename to ..
+       (avx2_interleave_low<mode><mask_name>): .. this, and extend to V16HFmode.
+       (vec_interleave_lowv8hi<mask_name>): Rename to ..
+       (vec_interleave_low<mode><mask_name>): .. this, and extend to V8HFmode.
+       (sse4_1_pblendw): Rename to ..
+       (sse4_1_pblend<blendsuf>): .. this, and extend to V8HFmode.
+       (avx2_pblendph): New define_expand.
+       (<sse2p4_1>_pinsr<ssemodesuffix>): Refactor, use
+       sseintmodesuffix instead of ssemodesuffix.
+       (blendsuf): New mode attr.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (dr_misalignment): Move out of line.
+       (dr_target_alignment): New.
+       (DR_TARGET_ALIGNMENT): Wrap dr_target_alignment.
+       (set_dr_target_alignment): New.
+       (SET_DR_TARGET_ALIGNMENT): Wrap set_dr_target_alignment.
+       * tree-vect-data-refs.c (dr_misalignment): Compute and
+       return the group members misalignment.
+       (vect_compute_data_ref_alignment): Use SET_DR_TARGET_ALIGNMENT.
+       (vect_analyze_data_refs_alignment): Compute alignment only
+       for the first element of a DR group.
+       (vect_slp_analyze_node_alignment): Likewise.
+
+2021-09-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/avx512fp16intrin.h: Adjust all builtin calls.
+       * config/i386/avx512fp16vlintrin.h: Likewise.
+       * config/i386/i386-builtin.def: Adjust builtin name and
+       enumeration to match AVX512F style.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102318
+       * tree-vect-loop.c (vect_transform_cycle_phi): Revert
+       previous change and do the mode conversion separately from
+       the sign conversion.
+
+2021-09-15  Hongtao Liu  <hongtao.liu@intel.com>
+           Peter Cordes  <peter@cordes.ca>
+
+       PR target/91103
+       * config/i386/sse.md (extract_suf): Add V8SF/V8SI/V4DF/V4DI.
+       (*vec_extract<mode><ssescalarmodelower>_valign): Output
+       vextract{i,f}{32x4,64x2} instruction when byte_offset % 16 ==
+       0.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       * config.gcc: Remove vax-*-openbsd* configuration.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       * config.gcc: Remove m68k-openbsd.
+
+2021-09-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       PR target/102336
+       * config/xtensa/t-xtensa (TM_H): Add include/xtensa-config.h.
+
+2021-09-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/mma.md (unspec): Delete UNSPEC_MMA_XXSETACCZ.
+       (unspecv): Add UNSPECV_MMA_XXSETACCZ.
+       (*mma_xxsetaccz): Delete.
+       (mma_xxsetaccz): Change to define_insn.  Remove operand 1.
+       Use UNSPECV_MMA_XXSETACCZ.  Update comment.
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Use UNSPECV_MMA_XXSETACCZ.
+
+2021-09-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * Makefile.in: Remove variables related to applying no-PIE
+       to the exes on $build.
+       * configure: Regenerate.
+       * configure.ac: Remove configuration related to applying
+       no-PIE to the exes on $build.
+
+2021-09-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (doloop_end): Add missing mode.
+       (loop_end): Likewise.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (goa_stabilize_expr): Add depth argument, propagate
+       it to recursive calls, for depth above 7 just gimplify or return.
+       Perform a test even for MODIFY_EXPR, ADDR_EXPR, COMPOUND_EXPR with
+       __builtin_clear_padding and TARGET_EXPR.
+       (gimplify_omp_atomic): Adjust goa_stabilize_expr callers.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_fpclass_sh_mask):
+       New intrinsic.
+       (_mm_mask_fpclass_sh_mask): Likewise.
+       (_mm512_mask_fpclass_ph_mask): Likewise.
+       (_mm512_fpclass_ph_mask): Likewise.
+       (_mm_getexp_sh): Likewise.
+       (_mm_mask_getexp_sh): Likewise.
+       (_mm_maskz_getexp_sh): Likewise.
+       (_mm512_getexp_ph): Likewise.
+       (_mm512_mask_getexp_ph): Likewise.
+       (_mm512_maskz_getexp_ph): Likewise.
+       (_mm_getexp_round_sh): Likewise.
+       (_mm_mask_getexp_round_sh): Likewise.
+       (_mm_maskz_getexp_round_sh): Likewise.
+       (_mm512_getexp_round_ph): Likewise.
+       (_mm512_mask_getexp_round_ph): Likewise.
+       (_mm512_maskz_getexp_round_ph): Likewise.
+       (_mm_getmant_sh): Likewise.
+       (_mm_mask_getmant_sh): Likewise.
+       (_mm_maskz_getmant_sh): Likewise.
+       (_mm512_getmant_ph): Likewise.
+       (_mm512_mask_getmant_ph): Likewise.
+       (_mm512_maskz_getmant_ph): Likewise.
+       (_mm_getmant_round_sh): Likewise.
+       (_mm_mask_getmant_round_sh): Likewise.
+       (_mm_maskz_getmant_round_sh): Likewise.
+       (_mm512_getmant_round_ph): Likewise.
+       (_mm512_mask_getmant_round_ph): Likewise.
+       (_mm512_maskz_getmant_round_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_mask_fpclass_ph_mask):
+       New intrinsic.
+       (_mm_fpclass_ph_mask): Likewise.
+       (_mm256_mask_fpclass_ph_mask): Likewise.
+       (_mm256_fpclass_ph_mask): Likewise.
+       (_mm256_getexp_ph): Likewise.
+       (_mm256_mask_getexp_ph): Likewise.
+       (_mm256_maskz_getexp_ph): Likewise.
+       (_mm_getexp_ph): Likewise.
+       (_mm_mask_getexp_ph): Likewise.
+       (_mm_maskz_getexp_ph): Likewise.
+       (_mm256_getmant_ph): Likewise.
+       (_mm256_mask_getmant_ph): Likewise.
+       (_mm256_maskz_getmant_ph): Likewise.
+       (_mm_getmant_ph): Likewise.
+       (_mm_mask_getmant_ph): Likewise.
+       (_mm_maskz_getmant_ph): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/sse.md (vecmemsuffix): Add HF vector modes.
+       (<avx512>_getexp<mode><mask_name><round_saeonly_name>): Adjust
+       to support HF vector modes.
+       (avx512f_sgetexp<mode><mask_scalar_name><round_saeonly_scalar_name):
+       Ditto.
+       (avx512dq_fpclass<mode><mask_scalar_merge_name>): Ditto.
+       (avx512dq_vmfpclass<mode><mask_scalar_merge_name>): Ditto.
+       (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Ditto.
+       (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
+       Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm512_reduce_ph):
+       New intrinsic.
+       (_mm512_mask_reduce_ph): Likewise.
+       (_mm512_maskz_reduce_ph): Likewise.
+       (_mm512_reduce_round_ph): Likewise.
+       (_mm512_mask_reduce_round_ph): Likewise.
+       (_mm512_maskz_reduce_round_ph): Likewise.
+       (_mm_reduce_sh): Likewise.
+       (_mm_mask_reduce_sh): Likewise.
+       (_mm_maskz_reduce_sh): Likewise.
+       (_mm_reduce_round_sh): Likewise.
+       (_mm_mask_reduce_round_sh): Likewise.
+       (_mm_maskz_reduce_round_sh): Likewise.
+       (_mm512_roundscale_ph): Likewise.
+       (_mm512_mask_roundscale_ph): Likewise.
+       (_mm512_maskz_roundscale_ph): Likewise.
+       (_mm512_roundscale_round_ph): Likewise.
+       (_mm512_mask_roundscale_round_ph): Likewise.
+       (_mm512_maskz_roundscale_round_ph): Likewise.
+       (_mm_roundscale_sh): Likewise.
+       (_mm_mask_roundscale_sh): Likewise.
+       (_mm_maskz_roundscale_sh): Likewise.
+       (_mm_roundscale_round_sh): Likewise.
+       (_mm_mask_roundscale_round_sh): Likewise.
+       (_mm_maskz_roundscale_round_sh): Likewise.
+       * config/i386/avx512fp16vlintrin.h: (_mm_reduce_ph):
+       New intrinsic.
+       (_mm_mask_reduce_ph): Likewise.
+       (_mm_maskz_reduce_ph): Likewise.
+       (_mm256_reduce_ph): Likewise.
+       (_mm256_mask_reduce_ph): Likewise.
+       (_mm256_maskz_reduce_ph): Likewise.
+       (_mm_roundscale_ph): Likewise.
+       (_mm_mask_roundscale_ph): Likewise.
+       (_mm_maskz_roundscale_ph): Likewise.
+       (_mm256_roundscale_ph): Likewise.
+       (_mm256_mask_roundscale_ph): Likewise.
+       (_mm256_maskz_roundscale_ph): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/sse.md (<mask_codefor>reducep<mode><mask_name>):
+       Renamed to ...
+       (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>):
+       ... this, and adjust for round operands.
+       (reduces<mode><mask_scalar_name>): Likewise, with ...
+       (reduces<mode><mask_scalar_name><round_saeonly_scalar_name):
+       ... this.
+       (<avx512>_rndscale<mode><mask_name><round_saeonly_name>):
+       Adjust for HF vector modes.
+       (avx512f_rndscale<mode><mask_scalar_name><round_saeonly_scalar_name>):
+       Ditto.
+       (*avx512f_rndscale<mode><round_saeonly_name>): Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: (_mm512_rcp_ph):
+       New intrinsic.
+       (_mm512_mask_rcp_ph): Likewise.
+       (_mm512_maskz_rcp_ph): Likewise.
+       (_mm_rcp_sh): Likewise.
+       (_mm_mask_rcp_sh): Likewise.
+       (_mm_maskz_rcp_sh): Likewise.
+       (_mm512_scalef_ph): Likewise.
+       (_mm512_mask_scalef_ph): Likewise.
+       (_mm512_maskz_scalef_ph): Likewise.
+       (_mm512_scalef_round_ph): Likewise.
+       (_mm512_mask_scalef_round_ph): Likewise.
+       (_mm512_maskz_scalef_round_ph): Likewise.
+       (_mm_scalef_sh): Likewise.
+       (_mm_mask_scalef_sh): Likewise.
+       (_mm_maskz_scalef_sh): Likewise.
+       (_mm_scalef_round_sh): Likewise.
+       (_mm_mask_scalef_round_sh): Likewise.
+       (_mm_maskz_scalef_round_sh): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_rcp_ph):
+       New intrinsic.
+       (_mm256_rcp_ph): Likewise.
+       (_mm_mask_rcp_ph): Likewise.
+       (_mm256_mask_rcp_ph): Likewise.
+       (_mm_maskz_rcp_ph): Likewise.
+       (_mm256_maskz_rcp_ph): Likewise.
+       (_mm_scalef_ph): Likewise.
+       (_mm256_scalef_ph): Likewise.
+       (_mm_mask_scalef_ph): Likewise.
+       (_mm256_mask_scalef_ph): Likewise.
+       (_mm_maskz_scalef_ph): Likewise.
+       (_mm256_maskz_scalef_ph): Likewise.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/sse.md (VFH_AVX512VL): New.
+       (avx512fp16_rcp<mode>2<mask_name>): Ditto.
+       (avx512fp16_vmrcpv8hf2<mask_scalar_name>): Ditto.
+       (avx512f_vmscalef<mode><mask_scalar_name><round_scalar_name>):
+       Adjust to support HF vector modes.
+       (<avx512>_scalef<mode><mask_name><round_name>): Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: (_mm512_sqrt_ph):
+       New intrinsic.
+       (_mm512_mask_sqrt_ph): Likewise.
+       (_mm512_maskz_sqrt_ph): Likewise.
+       (_mm512_sqrt_round_ph): Likewise.
+       (_mm512_mask_sqrt_round_ph): Likewise.
+       (_mm512_maskz_sqrt_round_ph): Likewise.
+       (_mm512_rsqrt_ph): Likewise.
+       (_mm512_mask_rsqrt_ph): Likewise.
+       (_mm512_maskz_rsqrt_ph): Likewise.
+       (_mm_rsqrt_sh): Likewise.
+       (_mm_mask_rsqrt_sh): Likewise.
+       (_mm_maskz_rsqrt_sh): Likewise.
+       (_mm_sqrt_sh): Likewise.
+       (_mm_mask_sqrt_sh): Likewise.
+       (_mm_maskz_sqrt_sh): Likewise.
+       (_mm_sqrt_round_sh): Likewise.
+       (_mm_mask_sqrt_round_sh): Likewise.
+       (_mm_maskz_sqrt_round_sh): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_sqrt_ph): New intrinsic.
+       (_mm256_sqrt_ph): Likewise.
+       (_mm_mask_sqrt_ph): Likewise.
+       (_mm256_mask_sqrt_ph): Likewise.
+       (_mm_maskz_sqrt_ph): Likewise.
+       (_mm256_maskz_sqrt_ph): Likewise.
+       (_mm_rsqrt_ph): Likewise.
+       (_mm256_rsqrt_ph): Likewise.
+       (_mm_mask_rsqrt_ph): Likewise.
+       (_mm256_mask_rsqrt_ph): Likewise.
+       (_mm_maskz_rsqrt_ph): Likewise.
+       (_mm256_maskz_rsqrt_ph): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtins.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/sse.md (VF_AVX512FP16VL): New.
+       (sqrt<mode>2): Adjust for HF vector modes.
+       (<sse>_sqrt<mode>2<mask_name><round_name>): Likewise.
+       (<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>):
+       Likewise.
+       (<sse>_rsqrt<mode>2<mask_name>): New.
+       (avx512fp16_vmrsqrtv8hf2<mask_scalar_name>): Likewise.
+
+2021-09-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR bootstrap/101574
+       * diagnostic-spec.c (warning_suppressed_at, copy_warning): Handle
+       'RESERVED_LOCATION_P' locations.
+       * warning-control.cc (get_nowarn_spec, suppress_warning)
+       (copy_warning): Likewise.
+
+2021-09-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * diagnostic-spec.h (typedef xint_hash_t): Use 'location_t' instead of...
+       (typedef key_type_t): ... this.  Remove.
+       (nowarn_map): Document.
+       * diagnostic-spec.c (nowarn_map): Likewise.
+       * warning-control.cc (convert_to_key): Evolve functions into...
+       (get_location): ... these.  Adjust all users.
+
+2021-09-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * warning-control.cc (copy_warning): Remove 'nowarn_map' setup.
+
+2021-09-13  Jason Merrill  <jason@redhat.com>
+
+       * params.opt: Add destructive-interference-size and
+       constructive-interference-size.
+       * doc/invoke.texi: Document them.
+       * config/aarch64/aarch64.c (aarch64_override_options_internal):
+       Set them.
+       * config/arm/arm.c (arm_option_override): Set them.
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Set them.
+
+2021-09-13  Martin Liska  <mliska@suse.cz>
+           H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101696
+       * common/config/i386/cpuinfo.h (cpu_indicator_init): Add support
+       for x86-64 micro levels for __builtin_cpu_supports.
+       * common/config/i386/i386-cpuinfo.h (enum feature_priority):
+       Add priorities for the micro-arch levels.
+       (enum processor_features): Add new features.
+       * common/config/i386/i386-isas.h: Add micro-arch features.
+       * config/i386/i386-builtins.c (get_builtin_code_for_version):
+       Support the micro-arch levels by callsing
+       __builtin_cpu_supports.
+       * doc/extend.texi: Document that the levels are support by
+         __builtin_cpu_supports.
+
+2021-09-13  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/95969
+       * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin_lane_check):
+       New function.
+       (aarch64_general_fold_builtin): Handle AARCH64_SIMD_BUILTIN_LANE_CHECK.
+       (aarch64_general_gimple_fold_builtin): Likewise.
+
+2021-09-13  Andrew Pinski  <apinski@marvell.com>
+
+       * config.gcc: Add m32r-*-linux* and m32rle-*-linux*
+       to the Unsupported targets list.
+       Remove support for m32r-*-linux* and m32rle-*-linux*.
+       * config/m32r/linux.h: Removed.
+       * config/m32r/t-linux: Removed.
+
+2021-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/102252
+       * config/aarch64/aarch64.c (aarch64_classify_address): Don't allow
+       register index for SVE predicate modes.
+
+2021-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c
+       (back_threader_profitability::profitable_path_p): Remove FSM
+       references.
+       (back_threader_registry::register_path): Same.
+       * tree-ssa-threadedge.c
+       (jump_threader::simplify_control_stmt_condition): Same.
+       * tree-ssa-threadupdate.c (jt_path_registry::jt_path_registry):
+       Add backedge_threads argument.
+       (fwd_jt_path_registry::fwd_jt_path_registry): Pass
+       backedge_threads argument.
+       (back_jt_path_registry::back_jt_path_registry):  Same.
+       (dump_jump_thread_path): Adjust for FSM removal.
+       (back_jt_path_registry::rewire_first_differing_edge): Same.
+       (back_jt_path_registry::adjust_paths_after_duplication): Same.
+       (back_jt_path_registry::update_cfg): Same.
+       (jt_path_registry::register_jump_thread): Same.
+       * tree-ssa-threadupdate.h (enum jump_thread_edge_type): Remove
+       EDGE_FSM_THREAD.
+       (class back_jt_path_registry): Add backedge_threads to
+       constructor.
+
+2021-09-13  Martin Liska  <mliska@suse.cz>
+
+       PR c++/101331
+       * asan.h (sanitize_coverage_p): Handle when fn == NULL.
+
+2021-09-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101935
+       * config/i386/i386.h (TARGET_AVX256_MOVE_BY_PIECES): New.
+       (TARGET_AVX256_STORE_BY_PIECES): Likewise.
+       (MOVE_MAX): Check TARGET_AVX256_MOVE_BY_PIECES and
+       TARGET_AVX256_STORE_BY_PIECES instead of
+       TARGET_AVX256_SPLIT_UNALIGNED_LOAD and
+       TARGET_AVX256_SPLIT_UNALIGNED_STORE.
+       (STORE_MAX_PIECES): Check TARGET_AVX256_STORE_BY_PIECES instead
+       of TARGET_AVX256_SPLIT_UNALIGNED_STORE.
+       * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES): New.
+       (X86_TUNE_AVX256_STORE_BY_PIECES): Likewise.
+
+2021-09-13  liuhongt  <hongtao.liu@intel.com>
+
+       PR bootstrap/102302
+       * expmed.c (extract_bit_field_using_extv): Use
+       gen_lowpart_if_possible instead of gen_lowpart to avoid ICE.
+
+2021-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (OBJS): Add value-pointer-equiv.o.
+       * gimple-ssa-evrp.c (class ssa_equiv_stack): Move to
+       value-pointer-equiv.*.
+       (ssa_equiv_stack::ssa_equiv_stack): Same.
+       (ssa_equiv_stack::enter): Same.
+       (ssa_equiv_stack::leave): Same.
+       (ssa_equiv_stack::push_replacement): Same.
+       (ssa_equiv_stack::get_replacement): Same.
+       (is_pointer_ssa): Same.
+       (class pointer_equiv_analyzer): Same.
+       (pointer_equiv_analyzer::pointer_equiv_analyzer): Same.
+       (pointer_equiv_analyzer::~pointer_equiv_analyzer): Same.
+       (pointer_equiv_analyzer::set_global_equiv): Same.
+       (pointer_equiv_analyzer::set_cond_equiv): Same.
+       (pointer_equiv_analyzer::get_equiv): Same.
+       (pointer_equiv_analyzer::enter): Same.
+       (pointer_equiv_analyzer::leave): Same.
+       (pointer_equiv_analyzer::get_equiv_expr): Same.
+       (pta_valueize): Same.
+       (pointer_equiv_analyzer::visit_stmt): Same.
+       (pointer_equiv_analyzer::visit_edge): Same.
+       (hybrid_folder::value_of_expr): Same.
+       (hybrid_folder::value_on_edge): Same.
+       * value-pointer-equiv.cc: New file.
+       * value-pointer-equiv.h: New file.
+
+2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102125
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
+       memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
+
+2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102125
+       * config/arm/arm.md (movmisaligndi): New define_expand.
+       * config/arm/vec-common.md (movmisalign<mode>): Iterate over VDQ mode.
+
+2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102125
+       * emit-rtl.c (gen_highpart): Use adjust_address to handle
+       MEM rather than calling simplify_gen_subreg.
+
+2021-09-13  Jan-Benedict Glaw  <jbglaw@ług-owl.de>
+
+       * config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment
+       define into a block.
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/darwin.h (DARWIN_PREFER_DWARF): Do not define.
+       * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Do not
+       change based on DARWIN_PREFER_DWARF not being defined.
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/lynx.h: Remove undef of PREFERRED_DEBUGGING_TYPE
+       to inherit from elfos.h
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config.gcc: Add cr16-*-* to the list of obsoleted targets.
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/avr/elf.h (PREFERRED_DEBUGGING_TYPE): Remove
+       override, pick up DWARF2_DEBUG define from elfos.h
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/rx/rx.h (PREFERRED_DEBUGGING_TYPE): Always define to
+       DWARF2_DEBUG.
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/alpha/vms.h (PREFERRED_DEBUGGING_TYPE): Define to
+       DWARF2_DEBUG.
+
+2021-09-13  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/cygming.h: Always default to DWARF2 debugging.
+       Do not define DBX_DEBUGGING_INFO, that's done via dbxcoff.h
+       already.
+       * doc/install.texi: Document binutils 2.16 as minimum
+       requirement for mingw.
+
+2021-09-13  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (struct rs6000_cost_data): New members
+       nstmts, nloads and extra_ctor_cost.
+       (rs6000_density_test): Add load density related heuristics.  Do
+       extra costing on vector construction statements if need.
+       (rs6000_init_cost): Init new members.
+       (rs6000_update_target_cost_per_stmt): New function.
+       (rs6000_add_stmt_cost): Factor vect_nonmem hunk out to function
+       rs6000_update_target_cost_per_stmt and call it.
+
+2021-09-13  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (struct rs6000_cost_data): Remove typedef.
+       (rs6000_init_cost): Adjust.
+
+2021-09-13  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.md: (UNSPEC_COPYSIGN): Remove.
+       (UNSPEC_XORSIGN): Ditto.
+
+2021-09-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * expr.c (convert_move): Preserve SUBREG_PROMOTED_VAR_P when
+       creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P
+       subreg.
+
+2021-09-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (class back_threader_registry): Use
+       back_jt_path_registry.
+       * tree-ssa-threadedge.c (jump_threader::jump_threader): Use
+       fwd_jt_path_registry.
+       * tree-ssa-threadedge.h (class jump_threader): Same..
+       * tree-ssa-threadupdate.c
+       (jump_thread_path_registry::jump_thread_path_registry): Rename...
+       (jt_path_registry::jt_path_registry): ...to this.
+       (jump_thread_path_registry::~jump_thread_path_registry): Rename...
+       (jt_path_registry::~jt_path_registry): ...this.
+       (fwd_jt_path_registry::fwd_jt_path_registry): New.
+       (fwd_jt_path_registry::~fwd_jt_path_registry): New.
+       (jump_thread_path_registry::allocate_thread_edge): Rename...
+       (jt_path_registry::allocate_thread_edge): ...to this.
+       (jump_thread_path_registry::allocate_thread_path): Rename...
+       (jt_path_registry::allocate_thread_path): ...to this.
+       (jump_thread_path_registry::lookup_redirection_data): Rename...
+       (fwd_jt_path_registry::lookup_redirection_data): ...to this.
+       (jump_thread_path_registry::thread_block_1): Rename...
+       (fwd_jt_path_registry::thread_block_1): ...to this.
+       (jump_thread_path_registry::thread_block): Rename...
+       (fwd_jt_path_registry::thread_block): ...to this.
+       (jt_path_registry::thread_through_loop_header): Rename...
+       (fwd_jt_path_registry::thread_through_loop_header): ...to this.
+       (jump_thread_path_registry::mark_threaded_blocks): Rename...
+       (fwd_jt_path_registry::mark_threaded_blocks): ...to this.
+       (jump_thread_path_registry::debug_path): Rename...
+       (jt_path_registry::debug_path): ...to this.
+       (jump_thread_path_registry::dump): Rename...
+       (jt_path_registry::debug): ...to this.
+       (jump_thread_path_registry::rewire_first_differing_edge): Rename...
+       (back_jt_path_registry::rewire_first_differing_edge): ...to this.
+       (jump_thread_path_registry::adjust_paths_after_duplication): Rename...
+       (back_jt_path_registry::adjust_paths_after_duplication): ...to this.
+       (jump_thread_path_registry::duplicate_thread_path): Rename...
+       (back_jt_path_registry::duplicate_thread_path): ...to this.  Also,
+       drop ill-formed candidates.
+       (jump_thread_path_registry::remove_jump_threads_including): Rename...
+       (fwd_jt_path_registry::remove_jump_threads_including): ...to this.
+       (jt_path_registry::thread_through_all_blocks): New.
+       (back_jt_path_registry::update_cfg): New.
+       (fwd_jt_path_registry::update_cfg): New.
+       (jump_thread_path_registry::register_jump_thread): Rename...
+       (jt_path_registry::register_jump_thread): ...to this.
+       * tree-ssa-threadupdate.h (class jump_thread_path_registry):
+       Abstract to...
+       (class jt_path_registry): ...here.
+       (class fwd_jt_path_registry): New.
+       (class back_jt_path_registry): New.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-09-01  liuhongt  <hongtao.liu@intel.com>
+
+       * emit-rtl.c (validate_subreg): Get rid of all float-int
+       special cases.
+
+2021-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-core.h (enum omp_memory_order): Add OMP_MEMORY_ORDER_MASK,
+       OMP_FAIL_MEMORY_ORDER_UNSPECIFIED, OMP_FAIL_MEMORY_ORDER_RELAXED,
+       OMP_FAIL_MEMORY_ORDER_ACQUIRE, OMP_FAIL_MEMORY_ORDER_RELEASE,
+       OMP_FAIL_MEMORY_ORDER_ACQ_REL, OMP_FAIL_MEMORY_ORDER_SEQ_CST and
+       OMP_FAIL_MEMORY_ORDER_MASK enumerators.
+       (OMP_FAIL_MEMORY_ORDER_SHIFT): Define.
+       * gimple-pretty-print.c (dump_gimple_omp_atomic_load,
+       dump_gimple_omp_atomic_store): Print [weak] for weak atomic
+       load/store.
+       * gimple.h (enum gf_mask): Change GF_OMP_ATOMIC_MEMORY_ORDER
+       to 6-bit mask, adjust GF_OMP_ATOMIC_NEED_VALUE value and add
+       GF_OMP_ATOMIC_WEAK.
+       (gimple_omp_atomic_weak_p, gimple_omp_atomic_set_weak): New inline
+       functions.
+       * tree.h (OMP_ATOMIC_WEAK): Define.
+       * tree-pretty-print.c (dump_omp_atomic_memory_order): Adjust for
+       fail memory order being encoded in the same enum and also print
+       fail clause if present.
+       (dump_generic_node): Print weak clause if OMP_ATOMIC_WEAK.
+       * gimplify.c (goa_stabilize_expr): Add target_expr and rhs arguments,
+       handle pre_p == NULL case as a test mode that only returns value
+       but doesn't change gimplify nor change anything otherwise, adjust
+       recursive calls, add MODIFY_EXPR, ADDR_EXPR, COND_EXPR, TARGET_EXPR
+       and CALL_EXPR handling, adjust COMPOUND_EXPR handling for
+       __builtin_clear_padding calls, for !rhs gimplify as lvalue rather
+       than rvalue.
+       (gimplify_omp_atomic): Adjust goa_stabilize_expr caller.  Handle
+       COND_EXPR rhs.  Set weak flag on gimple load/store for
+       OMP_ATOMIC_WEAK.
+       * omp-expand.c (omp_memory_order_to_fail_memmodel): New function.
+       (omp_memory_order_to_memmodel): Adjust for fail clause encoded
+       in the same enum.
+       (expand_omp_atomic_cas): New function.
+       (expand_omp_atomic_pipeline): Use omp_memory_order_to_fail_memmodel
+       function.
+       (expand_omp_atomic): Attempt to optimize atomic compare and exchange
+       using expand_omp_atomic_cas.
+
+2021-09-10  Aldy Hernandez  <aldyh@redhat.com>
+           Michael Matz  <matz@suse.de>
+
+       * tree-pass.h (PROP_loop_opts_done): New.
+       * gimple-range-path.cc (path_range_query::internal_range_of_expr):
+       Intersect with global range.
+       * tree-ssa-loop.c (tree_ssa_loop_done): Set PROP_loop_opts_done.
+       * tree-ssa-threadbackward.c
+       (back_threader_profitability::profitable_path_p): Disable
+       threading through latches until after loop optimizations have run.
+
+2021-09-10  David Faust  <david.faust@oracle.com>
+
+       * doc/invoke.texi: Document BPF -mcpu, -mjmpext, -mjmp32 and -malu32
+       options.
+
+2021-09-10  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf-opts.h (bpf_isa_version): New enum.
+       * config/bpf/bpf-protos.h (bpf_expand_cbranch): New.
+       * config/bpf/bpf.c (bpf_option_override): Handle -mcpu option.
+       (bpf_expand_cbranch): New function.
+       * config/bpf/bpf.md (AM mode iterator): Conditionalize support for SI
+       mode.
+       (zero_extendsidi2): Only use mov32 instruction if it is available.
+       (SIM mode iterator): Conditionalize support for SI mode.
+       (JM mode iterator): New.
+       (cbranchdi4): Update name, use new JM iterator. Use bpf_expand_cbranch.
+       (*branch_on_di): Update name, use new JM iterator.
+       * config/bpf/bpf.opt: (mjmpext): New option.
+       (malu32): Likewise.
+       (mjmp32): Likewise.
+       (mcpu): Likewise.
+       (bpf_isa): New enum.
+
+2021-09-10  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.md (zero_extendhidi2): Add new output template
+       for register-to-register extensions.
+       (zero_extendqidi2): Likewise.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102273
+       * internal-fn.c (expand_DEFERRED_INIT): Always expand non-SSA vars.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102269
+       * gimplify.c (is_var_need_auto_init): Empty types do not need
+       initialization.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       * configure.ac (--with-stabs): Remove.
+       * configure: Regenerate.
+       * doc/install.texi: Remove --with-stabs documentation.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: (_mm512_cmp_ph_mask):
+       New intrinsic.
+       (_mm512_mask_cmp_ph_mask): Likewise.
+       (_mm512_cmp_round_ph_mask): Likewise.
+       (_mm512_mask_cmp_round_ph_mask): Likewise.
+       (_mm_cmp_sh_mask): Likewise.
+       (_mm_mask_cmp_sh_mask): Likewise.
+       (_mm_cmp_round_sh_mask): Likewise.
+       (_mm_mask_cmp_round_sh_mask): Likewise.
+       (_mm_comieq_sh): Likewise.
+       (_mm_comilt_sh): Likewise.
+       (_mm_comile_sh): Likewise.
+       (_mm_comigt_sh): Likewise.
+       (_mm_comige_sh): Likewise.
+       (_mm_comineq_sh): Likewise.
+       (_mm_ucomieq_sh): Likewise.
+       (_mm_ucomilt_sh): Likewise.
+       (_mm_ucomile_sh): Likewise.
+       (_mm_ucomigt_sh): Likewise.
+       (_mm_ucomige_sh): Likewise.
+       (_mm_ucomineq_sh): Likewise.
+       (_mm_comi_round_sh): Likewise.
+       (_mm_comi_sh): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_cmp_ph_mask): New intrinsic.
+       (_mm_mask_cmp_ph_mask): Likewise.
+       (_mm256_cmp_ph_mask): Likewise.
+       (_mm256_mask_cmp_ph_mask): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Ditto.
+       * config/i386/i386.md (ssevecmode): Add HF mode.
+       (MODEFH): New mode iterator.
+       * config/i386/sse.md
+       (V48H_AVX512VL): New mode iterator to support HF vector modes.
+       Ajdust corresponding description.
+       (ssecmpintprefix): New.
+       (VI12_AVX512VL): Adjust to support HF vector modes.
+       (cmp_imm_predicate): Likewise.
+       (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
+       Likewise.
+       (avx512f_vmcmp<mode>3<round_saeonly_name>): Likewise.
+       (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Likewise.
+       (<sse>_<unord>comi<round_saeonly_name>): Likewise.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h: (_mm512_max_ph): New intrinsic.
+       (_mm512_mask_max_ph): Likewise.
+       (_mm512_maskz_max_ph): Likewise.
+       (_mm512_min_ph): Likewise.
+       (_mm512_mask_min_ph): Likewise.
+       (_mm512_maskz_min_ph): Likewise.
+       (_mm512_max_round_ph): Likewise.
+       (_mm512_mask_max_round_ph): Likewise.
+       (_mm512_maskz_max_round_ph): Likewise.
+       (_mm512_min_round_ph): Likewise.
+       (_mm512_mask_min_round_ph): Likewise.
+       (_mm512_maskz_min_round_ph): Likewise.
+       (_mm_max_sh): Likewise.
+       (_mm_mask_max_sh): Likewise.
+       (_mm_maskz_max_sh): Likewise.
+       (_mm_min_sh): Likewise.
+       (_mm_mask_min_sh): Likewise.
+       (_mm_maskz_min_sh): Likewise.
+       (_mm_max_round_sh): Likewise.
+       (_mm_mask_max_round_sh): Likewise.
+       (_mm_maskz_max_round_sh): Likewise.
+       (_mm_min_round_sh): Likewise.
+       (_mm_mask_min_round_sh): Likewise.
+       (_mm_maskz_min_round_sh): Likewise.
+       * config/i386/avx512fp16vlintrin.h (_mm_max_ph): New intrinsic.
+       (_mm256_max_ph): Likewise.
+       (_mm_mask_max_ph): Likewise.
+       (_mm256_mask_max_ph): Likewise.
+       (_mm_maskz_max_ph): Likewise.
+       (_mm256_maskz_max_ph): Likewise.
+       (_mm_min_ph): Likewise.
+       (_mm256_min_ph): Likewise.
+       (_mm_mask_min_ph): Likewise.
+       (_mm256_mask_min_ph): Likewise.
+       (_mm_maskz_min_ph): Likewise.
+       (_mm256_maskz_min_ph): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       * config/i386/sse.md
+       (<code><mode>3<mask_name><round_saeonly_name>): Adjust to
+       support HF vector modes.
+       (*<code><mode>3<mask_name><round_saeonly_name>): Likewise.
+       (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
+       Likewise.
+       (<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>):
+       Likewise.
+       * config/i386/subst.md (round_saeonly_mode512bit_condition):
+       Adjust for HF vector modes.
+
+2021-09-10  Liu, Hongtao  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_add_sh): New intrinsic.
+       (_mm_mask_add_sh): Likewise.
+       (_mm_maskz_add_sh): Likewise.
+       (_mm_sub_sh): Likewise.
+       (_mm_mask_sub_sh): Likewise.
+       (_mm_maskz_sub_sh): Likewise.
+       (_mm_mul_sh): Likewise.
+       (_mm_mask_mul_sh): Likewise.
+       (_mm_maskz_mul_sh): Likewise.
+       (_mm_div_sh): Likewise.
+       (_mm_mask_div_sh): Likewise.
+       (_mm_maskz_div_sh): Likewise.
+       (_mm_add_round_sh): Likewise.
+       (_mm_mask_add_round_sh): Likewise.
+       (_mm_maskz_add_round_sh): Likewise.
+       (_mm_sub_round_sh): Likewise.
+       (_mm_mask_sub_round_sh): Likewise.
+       (_mm_maskz_sub_round_sh): Likewise.
+       (_mm_mul_round_sh): Likewise.
+       (_mm_mask_mul_round_sh): Likewise.
+       (_mm_maskz_mul_round_sh): Likewise.
+       (_mm_div_round_sh): Likewise.
+       (_mm_mask_div_round_sh): Likewise.
+       (_mm_maskz_div_round_sh): Likewise.
+       * config/i386/i386-builtin-types.def: Add corresponding builtin types.
+       * config/i386/i386-builtin.def: Add corresponding new builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_round_builtin): Handle new builtins.
+       * config/i386/sse.md (VF_128): Change description.
+       (<sse>_vm<plusminus_insn><mode>3<mask_scalar_name><round_scalar_name>):
+       Adjust to support HF vector modes.
+       (<sse>_vm<multdiv_mnemonic><mode>3<mask_scalar_name><round_scalar_name>):
+       Likewise.
+
+2021-09-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-expand.c
+       (ix86_avx256_split_vector_move_misalign): Handle V16HF mode.
+       * config/i386/i386.c
+       (ix86_preferred_simd_mode): Handle HF mode.
+       * config/i386/sse.md (V_256H): New mode iterator.
+       (avx_vextractf128<mode>): Use it.
+       (VEC_INIT_MODE): Align vector HFmode condition to vector
+       HImodes since there're no real HF instruction used.
+       (VEC_INIT_HALF_MODE): Ditto.
+       (VIHF): Ditto.
+       (VIHF_AVX512BW): Ditto.
+       (*vec_extracthf): Ditto.
+       (VEC_EXTRACT_MODE): Ditto.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR target/102255
+       * config/dbx.h: Remove.
+       * config/dbxcoff.h: Do not define PREFERRED_DEBUGGING_TYPE.
+       * config/lynx.h: Likewise.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-expand.c (ix86_expand_copysign): Expand
+       right into ANDNOT + AND + IOR, using paradoxical subregs.
+       (ix86_split_copysign_const): Remove.
+       (ix86_split_copysign_var): Ditto.
+       * config/i386/i386-protos.h (ix86_split_copysign_const): Dotto.
+       (ix86_split_copysign_var): Ditto.
+       * config/i386/i386.md (@copysign<mode>3_const): Ditto.
+       (@copysign<mode>3_var): Ditto.
+
+2021-09-09  qing zhao  <qing.zhao@oracle.com>
+
+       * builtins.c (expand_builtin_memset): Make external visible.
+       * builtins.h (expand_builtin_memset): Declare extern.
+       * common.opt (ftrivial-auto-var-init=): New option.
+       * doc/extend.texi: Document the uninitialized attribute.
+       * doc/invoke.texi: Document -ftrivial-auto-var-init.
+       * flag-types.h (enum auto_init_type): New enumerated type
+       auto_init_type.
+       * gimple-fold.c (clear_padding_type): Add one new parameter.
+       (clear_padding_union): Likewise.
+       (clear_padding_emit_loop): Likewise.
+       (clear_type_padding_in_mask): Likewise.
+       (gimple_fold_builtin_clear_padding): Handle this new parameter.
+       * gimplify.c (gimple_add_init_for_auto_var): New function.
+       (gimple_add_padding_init_for_auto_var): New function.
+       (is_var_need_auto_init): New function.
+       (gimplify_decl_expr): Add initialization to automatic variables per
+       users' requests.
+       (gimplify_call_expr): Add one new parameter for call to
+       __builtin_clear_padding.
+       (gimplify_init_constructor): Add padding initialization in the end.
+       * internal-fn.c (INIT_PATTERN_VALUE): New macro.
+       (expand_DEFERRED_INIT): New function.
+       * internal-fn.def (DEFERRED_INIT): New internal function.
+       * tree-cfg.c (verify_gimple_call): Verify calls to .DEFERRED_INIT.
+       * tree-sra.c (generate_subtree_deferred_init): New function.
+       (scan_function): Avoid setting cannot_scalarize_away_bitmap for
+       calls to .DEFERRED_INIT.
+       (sra_modify_deferred_init): New function.
+       (sra_modify_function_body): Handle calls to DEFERRED_INIT specially.
+       * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise.
+       * tree-ssa-uninit.c (warn_uninit): Handle calls to DEFERRED_INIT
+       specially.
+       (check_defs): Likewise.
+       (warn_uninitialized_vars): Likewise.
+       * tree-ssa.c (ssa_undefined_value_p): Likewise.
+       * tree.c (build_common_builtin_nodes): Build tree node for
+       BUILT_IN_CLEAR_PADDING when needed.
+
+2021-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Walk
+       into all subloops.
+
+2021-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Integrate
+       DOM walk from get_loop_body_in_dom_order using a worklist
+       approach.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       * config.gcc: Add avx512fp16vlintrin.h.
+       * config/i386/avx512fp16intrin.h: (_mm512_add_ph): New intrinsic.
+       (_mm512_mask_add_ph): Likewise.
+       (_mm512_maskz_add_ph): Likewise.
+       (_mm512_sub_ph): Likewise.
+       (_mm512_mask_sub_ph): Likewise.
+       (_mm512_maskz_sub_ph): Likewise.
+       (_mm512_mul_ph): Likewise.
+       (_mm512_mask_mul_ph): Likewise.
+       (_mm512_maskz_mul_ph): Likewise.
+       (_mm512_div_ph): Likewise.
+       (_mm512_mask_div_ph): Likewise.
+       (_mm512_maskz_div_ph): Likewise.
+       (_mm512_add_round_ph): Likewise.
+       (_mm512_mask_add_round_ph): Likewise.
+       (_mm512_maskz_add_round_ph): Likewise.
+       (_mm512_sub_round_ph): Likewise.
+       (_mm512_mask_sub_round_ph): Likewise.
+       (_mm512_maskz_sub_round_ph): Likewise.
+       (_mm512_mul_round_ph): Likewise.
+       (_mm512_mask_mul_round_ph): Likewise.
+       (_mm512_maskz_mul_round_ph): Likewise.
+       (_mm512_div_round_ph): Likewise.
+       (_mm512_mask_div_round_ph): Likewise.
+       (_mm512_maskz_div_round_ph): Likewise.
+       * config/i386/avx512fp16vlintrin.h: New header.
+       * config/i386/i386-builtin-types.def (V16HF, V8HF, V32HF):
+       Add new builtin types.
+       * config/i386/i386-builtin.def: Add corresponding builtins.
+       * config/i386/i386-expand.c
+       (ix86_expand_args_builtin): Handle new builtin types.
+       (ix86_expand_round_builtin): Likewise.
+       * config/i386/immintrin.h: Include avx512fp16vlintrin.h
+       * config/i386/sse.md (VFH): New mode_iterator.
+       (VF2H): Likewise.
+       (avx512fmaskmode): Add HF vector modes.
+       (avx512fmaskhalfmode): Likewise.
+       (<plusminus_insn><mode>3<mask_name><round_name>): Adjust to for
+       HF vector modes.
+       (*<plusminus_insn><mode>3<mask_name><round_name>): Likewise.
+       (mul<mode>3<mask_name><round_name>): Likewise.
+       (*mul<mode>3<mask_name><round_name>): Likewise.
+       (div<mode>3): Likewise.
+       (<sse>_div<mode>3<mask_name><round_name>): Likewise.
+       * config/i386/subst.md (SUBST_V): Add HF vector modes.
+       (SUBST_A): Likewise.
+       (round_mode512bit_condition): Adjust for V32HFmode.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101059
+       * config/i386/sse.md (reduc_plus_scal_<mode>): Split to ..
+       (reduc_plus_scal_v4sf): .. this, New define_expand.
+       (reduc_plus_scal_v2df): .. and this, New define_expand.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/91103
+       * config/i386/sse.md (*vec_extract<mode><ssescalarmodelower>_valign):
+       New define_insn.
+
+2021-09-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/60318
+       * doc/trouble.texi (Copy Assignment): Fix description of
+       behaviour and fix code in example.
+
+2021-09-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/102107
+       * config/rs6000/rs6000-logue.c (rs6000_emit_epilogue): For ELFv2 use
+       r11 instead of r12 for restoring CR.
+
+2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+           liuhongt  <hongtao.liu@intel.com>
+
+       PR target/89984
+       * config/i386/i386.md (@xorsign<mode>3_1): Remove.
+       * config/i386/i386-expand.c (ix86_expand_xorsign): Expand right away
+       into AND with mask and XOR, using paradoxical subregs.
+       (ix86_split_xorsign): Remove.
+       * config/i386/i386-protos.h (ix86_split_xorsign): Remove.
+
+2021-09-08  Di Zhao  <dizhao@os.amperecomputing.com>
+
+       * tree-ssa-sccvn.c (vn_nary_op_insert_into): fix result compare
+
+2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102224
+       * config/i386/i386.md (xorsign<mode>3): If operands[1] is equal to
+       operands[2], emit abs<mode>2 instead.
+       (@xorsign<mode>3_1): Add early-clobbers for output operand, enable
+       first alternative even for avx, add another alternative with
+       =&Yv <- 0, Yv, Yvm constraints.
+       * config/i386/i386-expand.c (ix86_split_xorsign): If op0 is equal
+       to op1, emit vpandn instead.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/avx512fp16intrin.h (_mm_set_ph): New intrinsic.
+       (_mm256_set_ph): Likewise.
+       (_mm512_set_ph): Likewise.
+       (_mm_setr_ph): Likewise.
+       (_mm256_setr_ph): Likewise.
+       (_mm512_setr_ph): Likewise.
+       (_mm_set1_ph): Likewise.
+       (_mm256_set1_ph): Likewise.
+       (_mm512_set1_ph): Likewise.
+       (_mm_setzero_ph): Likewise.
+       (_mm256_setzero_ph): Likewise.
+       (_mm512_setzero_ph): Likewise.
+       (_mm_set_sh): Likewise.
+       (_mm_load_sh): Likewise.
+       (_mm_store_sh): Likewise.
+       * config/i386/i386-builtin-types.def (V8HF): New type.
+       (DEF_FUNCTION_TYPE (V8HF, V8HI)): New builtin function type
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
+       Support vector HFmodes.
+       (ix86_expand_vector_init_one_nonzero): Likewise.
+       (ix86_expand_vector_init_one_var): Likewise.
+       (ix86_expand_vector_init_interleave): Likewise.
+       (ix86_expand_vector_init_general): Likewise.
+       (ix86_expand_vector_set): Likewise.
+       (ix86_expand_vector_extract): Likewise.
+       (ix86_expand_vector_init_concat): Likewise.
+       (ix86_expand_sse_movcc): Handle vector HFmodes.
+       (ix86_expand_vector_set_var): Ditto.
+       * config/i386/i386-modes.def: Add HF vector modes in comment.
+       * config/i386/i386.c (classify_argument): Add HF vector modes.
+       (ix86_hard_regno_mode_ok): Allow HF vector modes for AVX512FP16.
+       (ix86_vector_mode_supported_p): Likewise.
+       (ix86_set_reg_reg_cost): Handle vector HFmode.
+       (ix86_get_ssemov): Handle vector HFmode.
+       (function_arg_advance_64): Pass unamed V16HFmode and V32HFmode
+       by stack.
+       (function_arg_advance_32): Pass V8HF/V16HF/V32HF by sse reg for 32bit
+       mode.
+       (function_arg_advance_32): Ditto.
+       * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): New.
+       (VALID_AVX256_REG_OR_OI_MODE): Rename to ..
+       (VALID_AVX256_REG_OR_OI_VHF_MODE): .. this, and add V16HF.
+       (VALID_SSE2_REG_VHF_MODE): New.
+       (VALID_AVX512VL_128_REG_MODE): Add V8HF and TImode.
+       (SSE_REG_MODE_P): Add vector HFmode.
+       * config/i386/i386.md (mode): Add HF vector modes.
+       (MODE_SIZE): Likewise.
+       (ssemodesuffix): Add ph suffix for HF vector modes.
+       * config/i386/sse.md (VFH_128): New mode iterator.
+       (VMOVE): Adjust for HF vector modes.
+       (V): Likewise.
+       (V_256_512): Likewise.
+       (avx512): Likewise.
+       (avx512fmaskmode): Likewise.
+       (shuffletype): Likewise.
+       (sseinsnmode): Likewise.
+       (ssedoublevecmode): Likewise.
+       (ssehalfvecmode): Likewise.
+       (ssehalfvecmodelower): Likewise.
+       (ssePScmode): Likewise.
+       (ssescalarmode): Likewise.
+       (ssescalarmodelower): Likewise.
+       (sseintprefix): Likewise.
+       (i128): Likewise.
+       (bcstscalarsuff): Likewise.
+       (xtg_mode): Likewise.
+       (VI12HF_AVX512VL): New mode_iterator.
+       (VF_AVX512FP16): Likewise.
+       (VIHF): Likewise.
+       (VIHF_256): Likewise.
+       (VIHF_AVX512BW): Likewise.
+       (V16_256): Likewise.
+       (V32_512): Likewise.
+       (sseintmodesuffix): New mode_attr.
+       (sse): Add scalar and vector HFmodes.
+       (ssescalarmode): Add vector HFmode mapping.
+       (ssescalarmodesuffix): Add sh suffix for HFmode.
+       (*<sse>_vm<insn><mode>3): Use VFH_128.
+       (*<sse>_vm<multdiv_mnemonic><mode>3): Likewise.
+       (*ieee_<ieee_maxmin><mode>3): Likewise.
+       (<avx512>_blendm<mode>): New define_insn.
+       (vec_setv8hf): New define_expand.
+       (vec_set<mode>_0): New define_insn for HF vector set.
+       (*avx512fp16_movsh): Likewise.
+       (avx512fp16_movsh): Likewise.
+       (vec_extract_lo_v32hi): Rename to ...
+       (vec_extract_lo_<mode>): ... this, and adjust to allow HF
+       vector modes.
+       (vec_extract_hi_v32hi): Likewise.
+       (vec_extract_hi_<mode>): Likewise.
+       (vec_extract_lo_v16hi): Likewise.
+       (vec_extract_lo_<mode>): Likewise.
+       (vec_extract_hi_v16hi): Likewise.
+       (vec_extract_hi_<mode>): Likewise.
+       (vec_set_hi_v16hi): Likewise.
+       (vec_set_hi_<mode>): Likewise.
+       (vec_set_lo_v16hi): Likewise.
+       (vec_set_lo_<mode>): Likewise.
+       (*vec_extract<mode>_0): New define_insn_and_split for HF
+       vector extract.
+       (*vec_extracthf): New define_insn.
+       (VEC_EXTRACT_MODE): Add HF vector modes.
+       (PINSR_MODE): Add V8HF.
+       (sse2p4_1): Likewise.
+       (pinsr_evex_isa): Likewise.
+       (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
+       insert for V8HFmode.
+       (pbroadcast_evex_isa): Add HF vector modes.
+       (AVX2_VEC_DUP_MODE): Likewise.
+       (VEC_INIT_MODE): Likewise.
+       (VEC_INIT_HALF_MODE): Likewise.
+       (avx2_pbroadcast<mode>): Adjust to support HF vector mode
+       broadcast.
+       (avx2_pbroadcast<mode>_1): Likewise.
+       (<avx512>_vec_dup<mode>_1): Likewise.
+       (<avx512>_vec_dup<mode><mask_name>): Likewise.
+       (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
+       Likewise.
+
+2021-09-08  Guo, Xuepeng  <xuepeng.guo@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+           Liu Hongtao  <hongtao.liu@intel.com>
+           Wang Hongyu  <hongyu.wang@intel.com>
+           Xu Dianhong  <dianhong.xu@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect FEATURE_AVX512FP16.
+       * common/config/i386/i386-common.c
+       (OPTION_MASK_ISA_AVX512FP16_SET,
+       OPTION_MASK_ISA_AVX512FP16_UNSET,
+       OPTION_MASK_ISA2_AVX512FP16_SET,
+       OPTION_MASK_ISA2_AVX512FP16_UNSET): New.
+       (OPTION_MASK_ISA2_AVX512BW_UNSET,
+       OPTION_MASK_ISA2_AVX512BF16_UNSET): Add AVX512FP16.
+       (ix86_handle_option): Handle -mavx512fp16.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_AVX512FP16.
+       * common/config/i386/i386-isas.h: Add entry for AVX512FP16.
+       * config.gcc: Add avx512fp16intrin.h.
+       * config/i386/avx512fp16intrin.h: New intrinsic header.
+       * config/i386/cpuid.h: Add bit_AVX512FP16.
+       * config/i386/i386-builtin-types.def: (FLOAT16): New primitive type.
+       * config/i386/i386-builtins.c: Support _Float16 type for i386
+       backend.
+       (ix86_register_float16_builtin_type): New function.
+       (ix86_float16_type_node): New.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __AVX512FP16__.
+       * config/i386/i386-expand.c (ix86_expand_branch): Support
+       HFmode.
+       (ix86_prepare_fp_compare_args): Adjust TARGET_SSE_MATH &&
+       SSE_FLOAT_MODE_P to SSE_FLOAT_MODE_SSEMATH_OR_HF_P.
+       (ix86_expand_fp_movcc): Ditto.
+       * config/i386/i386-isa.def: Add PTA define for AVX512FP16.
+       * config/i386/i386-options.c (isa2_opts): Add -mavx512fp16.
+       (ix86_valid_target_attribute_inner_p): Add avx512fp16 attribute.
+       * config/i386/i386.c (ix86_get_ssemov): Use
+       vmovdqu16/vmovw/vmovsh for HFmode/HImode scalar or vector.
+       (ix86_get_excess_precision): Use
+       FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 when TARGET_AVX512FP16
+       existed.
+       (sse_store_index): Use SFmode cost for HFmode cost.
+       (inline_memory_move_cost): Add HFmode, and perfer SSE cost over
+       GPR cost for HFmode.
+       (ix86_hard_regno_mode_ok): Allow HImode in sse register.
+       (ix86_mangle_type): Add manlging for _Float16 type.
+       (inline_secondary_memory_needed): No memory is needed for
+       16bit movement between gpr and sse reg under
+       TARGET_AVX512FP16.
+       (ix86_multiplication_cost): Adjust TARGET_SSE_MATH &&
+       SSE_FLOAT_MODE_P to SSE_FLOAT_MODE_SSEMATH_OR_HF_P.
+       (ix86_division_cost): Ditto.
+       (ix86_rtx_costs): Ditto.
+       (ix86_add_stmt_cost): Ditto.
+       (ix86_optab_supported_p): Ditto.
+       * config/i386/i386.h (VALID_AVX512F_SCALAR_MODE): Add HFmode.
+       (SSE_FLOAT_MODE_SSEMATH_OR_HF_P): Add HFmode.
+       (PTA_SAPPHIRERAPIDS): Add PTA_AVX512FP16.
+       * config/i386/i386.md (mode): Add HFmode.
+       (MODE_SIZE): Add HFmode.
+       (isa): Add avx512fp16.
+       (enabled): Handle avx512fp16.
+       (ssemodesuffix): Add sh suffix for HFmode.
+       (comm): Add mult, div.
+       (plusminusmultdiv): New code iterator.
+       (insn): Add mult, div.
+       (*movhf_internal): Adjust for avx512fp16 instruction.
+       (*movhi_internal): Ditto.
+       (*cmpi<unord>hf): New define_insn for HFmode.
+       (*ieee_s<ieee_maxmin>hf3): Likewise.
+       (extendhf<mode>2): Likewise.
+       (trunc<mode>hf2): Likewise.
+       (float<floatunssuffix><mode>hf2): Likewise.
+       (*<insn>hf): Likewise.
+       (cbranchhf4): New expander.
+       (movhfcc): Likewise.
+       (<insn>hf3): Likewise.
+       (mulhf3): Likewise.
+       (divhf3): Likewise.
+       * config/i386/i386.opt: Add mavx512fp16.
+       * config/i386/immintrin.h: Include avx512fp16intrin.h.
+       * doc/invoke.texi: Add mavx512fp16.
+       * doc/extend.texi: Add avx512fp16 Usage Notes.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * common.opt: Support -fexcess-precision=16.
+       * config/aarch64/aarch64.c (aarch64_excess_precision): Return
+       FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 when
+       EXCESS_PRECISION_TYPE_FLOAT16.
+       * config/arm/arm.c (arm_excess_precision): Ditto.
+       * config/i386/i386.c (ix86_get_excess_precision): Ditto.
+       * config/m68k/m68k.c (m68k_excess_precision): Issue an error
+       when EXCESS_PRECISION_TYPE_FLOAT16.
+       * config/s390/s390.c (s390_excess_precision): Ditto.
+       * coretypes.h (enum excess_precision_type): Add
+       EXCESS_PRECISION_TYPE_FLOAT16.
+       * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Update documents.
+       * doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): Ditto.
+       * doc/extend.texi (Half-Precision): Document
+       -fexcess-precision=16.
+       * flag-types.h (enum excess_precision): Add
+       EXCESS_PRECISION_FLOAT16.
+       * target.def (excess_precision): Update document.
+       * tree.c (excess_precision_type): Set excess_precision_type to
+       EXCESS_PRECISION_FLOAT16 when -fexcess-precision=16.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * doc/extend.texi: (@node Floating Types): Adjust the wording.
+       (@node Half-Precision): Ditto.
+
+2021-09-07  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       PR target/102115
+       * config/xtensa/xtensa.c (xtensa_emit_move_sequence): Add
+       'CONST_INT_P (src)' to the condition of the block that tries to
+       eliminate literal when loading integer contant.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * doc/extend.texi (BPF Type Attributes) New node.
+       Document new preserve_access_index attribute.
+       Document new preserve_access_index builtin.
+       * doc/invoke.texi: Document -mco-re and -mno-co-re options.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.c: Adjust includes.
+       (bpf_handle_preserve_access_index_attribute): New function.
+       (bpf_attribute_table): Use it here.
+       (bpf_builtins): Add BPF_BUILTIN_PRESERVE_ACCESS_INDEX.
+       (bpf_option_override): Handle "-mco-re" option.
+       (bpf_asm_init_sections): New.
+       (TARGET_ASM_INIT_SECTIONS): Redefine.
+       (bpf_file_end): New.
+       (TARGET_ASM_FILE_END): Redefine.
+       (bpf_init_builtins): Add "__builtin_preserve_access_index".
+       (bpf_core_compute, bpf_core_get_index): New.
+       (is_attr_preserve_access): New.
+       (bpf_expand_builtin): Handle new builtins.
+       (bpf_core_newdecl, bpf_core_is_maybe_aggregate_access): New.
+       (bpf_core_walk): New.
+       (bpf_resolve_overloaded_builtin): New.
+       (TARGET_RESOLVE_OVERLOADED_BUILTIN): Redefine.
+       (handle_attr): New.
+       (pass_bpf_core_attr): New RTL pass.
+       * config/bpf/bpf-passes.def: New file.
+       * config/bpf/bpf-protos.h (make_pass_bpf_core_attr): New.
+       * config/bpf/coreout.c: New file.
+       * config/bpf/coreout.h: Likewise.
+       * config/bpf/t-bpf (TM_H): Add $(srcdir)/config/bpf/coreout.h.
+       (coreout.o): New rule.
+       (PASSES_EXTRA): Add $(srcdir)/config/bpf/bpf-passes.def.
+       * config.gcc (bpf): Add coreout.h to extra_headers.
+       Add coreout.o to extra_objs.
+       Add $(srcdir)/config/bpf/coreout.c to target_gtfiles.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * btfout.c (get_btf_id): Function is no longer static.
+       * ctfc.h: Expose it here.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * ctfc.c (ctf_lookup_tree_type): New function.
+       * ctfc.h: Likewise.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * ctfc.c (ctf_dtd_lookup): Function is no longer static.
+       * ctfc.h: Analogous change.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * dwarf2out.c (lookup_type_die): Function is no longer static.
+       * dwarf2out.h: Expose it here.
+
+2021-09-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * dwarf2ctf.c (ctf_debug_finalize): Make it static.
+       (ctf_debug_early_finish): New definition.
+       (ctf_debug_finish): Likewise.
+       * dwarf2ctf.h (ctf_debug_finalize): Remove declaration.
+       (ctf_debug_early_finish): New declaration.
+       (ctf_debug_finish): Likewise.
+       * dwarf2out.c (dwarf2out_finish): Invoke ctf_debug_finish.
+       (dwarf2out_early_finish): Invoke ctf_debug_early_finish.
+
+2021-09-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * config/bpf/bpf.c (bpf_option_override): For BPF backend, disable LTO
+       support when compiling for CO-RE.
+       * config/bpf/bpf.opt: Add new command line option -mco-re.
+
+2021-09-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * flag-types.h (enum debug_info_type): Add new enum
+       DINFO_TYPE_BTF_WITH_CORE.
+       (BTF_WITH_CORE_DEBUG): New bitmask.
+       * flags.h (btf_with_core_debuginfo_p): New declaration.
+       * opts.c (btf_with_core_debuginfo_p): New definition.
+
+2021-09-07  Jason Merrill  <jason@redhat.com>
+
+       * tree.h (error_operand_p): Change to inline function.
+
+2021-09-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadedge.c (forwarder_block_p): Rename to...
+       (empty_block_with_phis_p): ...this.
+       (potentially_threadable_block): Same.
+       (jump_threader::thread_through_normal_block): Same.
+
+2021-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR debug/101947
+       * dwarf2out.c (mark_base_types): New overloaded function.
+       (dwarf2out_early_finish): Invoke it on the COMDAT type list as well
+       as the compilation unit, and call move_marked_base_types afterward.
+
+2021-09-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/85819
+       * config/i386/i386-expand.c (ix86_expand_convert_uns_sisf_sse):
+       Enable FMA.
+       (ix86_expand_vector_convert_uns_vsivsf): Likewise.
+
+2021-09-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102226
+       * tree-vect-loop.c (vect_transform_cycle_phi): Record
+       the converted value for the epilogue PHI use.
+
+2021-09-07  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/80223
+       * ipa-inline.c (can_inline_edge_p): Similarly to sanitizer
+       options, do not inline when no_profile_instrument_function
+       attributes are different in early inliner. It's fine to inline
+       it after PGO instrumentation.
+
+2021-09-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101555
+       * tree-ssa-pre.c (translate_vuse_through_block): Do not
+       perform an alias walk to determine the validity of the
+       mem at the start of the block which is already guaranteed
+       by means of prune_clobbered_mems.
+       (phi_translate_1): Pass edge to translate_vuse_through_block.
+
+2021-09-07  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/97142
+       * config/rs6000/rs6000.md (fmod<mode>3): New define_expand.
+       (remainder<mode>3): Likewise.
+
+2021-09-07  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.c (mips_file_start): add .module for
+         arch and ase.
+
+2021-09-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * wide-int.cc (wi::clz): Reorder tests to ensure the result
+       is zero for all negative values.
+
+2021-09-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (-foffload-options): Fix @opindex.
+
+2021-09-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/89984
+       * config/i386/i386-expand.c (ix86_split_xorsign): Use operands[2].
+       * config/i386/i386.md (@xorsign<mode>3_1): Add non-destructive
+       source alternative for AVX.
+
+2021-09-06  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/102182
+       * optabs.c (expand_fix): Add from1 to avoid from being
+       overwritten.
+
+2021-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (modified_type_die): Deal with all array types earlier
+       and use local variable consistently throughout the function.
+
+2021-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102207
+       * match.pd: Don't demote operands of IFN_{ADD,SUB,MUL}_OVERFLOW if they
+       were promoted from signed to wider unsigned type.
+
+2021-09-06  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/63184
+       * match.pd: Add simplification of pointer_diff of two pointer_plus
+       with addr_expr in the first operand of each pointer_plus.
+       Add simplificatoin of ne/eq of two pointer_plus with addr_expr
+       in the first operand of each pointer_plus.
+
+2021-09-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102176
+       * tree-vect-slp.c (vect_slp_gather_vectorized_scalar_stmts):
+       New function.
+       (vect_bb_slp_scalar_cost): Use the computed set of
+       vectorized scalar stmts instead of relying on the out-of-date
+       and not accurate PURE_SLP_STMT.
+       (vect_bb_vectorization_profitable_p): Compute the set
+       of vectorized scalar stmts.
+
+2021-09-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::range_of_stmt): Remove
+       GIMPLE_COND special casing.
+       (path_range_query::range_defined_in_block): Use range_of_stmt
+       instead of calling fold_range directly.
+
+2021-09-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::range_of_expr): Set
+       m_undefined_path when appropriate.
+       (path_range_query::internal_range_of_expr): Copy from range_of_expr.
+       (path_range_query::unreachable_path_p): New.
+       (path_range_query::precompute_ranges): Set m_undefined_path.
+       * gimple-range-path.h (path_range_query::unreachable_path_p): New.
+       (path_range_query::internal_range_of_expr): New.
+       * tree-ssa-threadbackward.c (back_threader::find_taken_edge_cond):
+       Use unreachable_path_p.
+
+2021-09-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::maybe_register_path):
+       Remove argument and call find_taken_edge.
+       (back_threader::resolve_phi): Do not calculate taken edge before
+       calling maybe_register_path.
+       (back_threader::find_paths_to_names): Same.
+
+2021-09-05  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/h8300.md (QHSI2 mode iterator): New mode iterator.
+       * config/h8300/testcompare.md (store_c): Update name, use new
+       QHSI2 iterator.
+       (store_neg_c, store_shifted_c): New patterns.
+
+2021-09-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/102107
+       * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): On ELFv2 use r11
+       instead of r12 for CR save, in all cases.
+
+2021-09-03  Andrew Pinski  <apinski@marvell.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (register_vector_type):
+       Handle error_mark_node as the type of the type_decl.
+
+2021-09-03  Andrew Pinski  <apinski@marvell.com>
+
+       * config/aarch64/aarch64-builtins.c (struct aarch64_simd_type_info):
+       Mark with GTY.
+       (aarch64_simd_types): Likewise.
+       (aarch64_simd_intOI_type_node): Likewise.
+       (aarch64_simd_intCI_type_node): Likewise.
+       (aarch64_simd_intXI_type_node): Likewise.
+       * config/aarch64/aarch64.h (aarch64_fp16_type_node): Likewise.
+       (aarch64_fp16_ptr_type_node): Likewise.
+       (aarch64_bf16_type_node): Likewise.
+       (aarch64_bf16_ptr_type_node): Likewise.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_minus::op1_op2_relation_effect): Abstract
+       out to...
+       (minus_op1_op2_relation_effect): ...here.
+       (class operator_pointer_diff): New.
+       (operator_pointer_diff::op1_op2_relation_effect): Call
+       minus_op1_op2_relation_effect.
+       (integral_table::integral_table): Add entry for POINTER_DIFF_EXPR.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::thread_through_all_blocks):
+       Add may_peel_loop_headers.
+       (back_threader_registry::thread_through_all_blocks): Same.
+       (try_thread_blocks): Pass may_peel_loop_headers argument.
+       (pass_early_thread_jumps::execute): Same.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadedge.c (has_phis_p): New.
+       (forwarder_block_p): New.
+       (potentially_threadable_block): Call forwarder_block_p.
+       (jump_threader::thread_around_empty_blocks): Call has_phis_p.
+       (jump_threader::thread_through_normal_block): Call
+       forwarder_block_p.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (back_threader::dump): New.
+       (back_threader::debug): New.
+       (back_threader_profitability::profitable_path_p): Dump blocks
+       even if we are bailing early.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadupdate.c (cancel_thread): New.
+       (jump_thread_path_registry::thread_block_1): Use cancel_thread.
+       (jump_thread_path_registry::mark_threaded_blocks): Same.
+       (jump_thread_path_registry::register_jump_thread): Same.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadedge.c (jt_state::push): Only call methods for
+       which objects are available.
+       (jt_state::pop): Same.
+       (jt_state::register_equiv): Same.
+       (jt_state::register_equivs_on_edge): Same.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadedge.c (jump_threader::thread_across_edge):
+       Move pop until after a thread is registered.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadupdate.c (debug): New.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-trace.cc (push_dump_file::push_dump_file): New.
+       (push_dump_file::~push_dump_file): New.
+       (dump_ranger): Change dump_file temporarily while dumping
+       ranger.
+       * gimple-range-trace.h (class push_dump_file): New.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-trace.cc (debug_seed_ranger): Remove static.
+       (dump_ranger): Dump function name.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::range_defined_in_block):
+       Adjust for non-null.
+       (path_range_query::adjust_for_non_null_uses): New.
+       (path_range_query::precompute_ranges): Call
+       adjust_for_non_null_uses.
+       * gimple-range-path.h: Add m_non_null and
+       adjust_for_non_null_uses.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.cc (path_range_query::dump): Dump path
+       length.
+       (path_range_query::precompute_ranges): Dump entire path.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-relation.cc (relation_oracle::debug): New.
+       * value-relation.h (relation_oracle::debug): New.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-loop-ch.c: Remove unnecessary include file.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::postfold_gcond_edges):
+       Skip statements with no defining BB.
+       * gimple-range-path.cc (path_range_query::range_defined_in_block):
+       Do not get confused by statements with no defining BB.
+
+2021-09-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-fold.cc (adjust_imagpart_expr): Move from
+       gimple_range_adjustment.  Add support for constants.
+       (adjust_realpart_expr): New.
+       (gimple_range_adjustment): Move IMAGPART_EXPR code to
+       adjust_imagpart_expr.
+       * range-op.cc (integral_table::integral_table): Add entry for
+       REALPART_CST.
+
+2021-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_atomic_pipeline): Use
+       IFN_ATOMIC_COMPARE_EXCHANGE instead of
+       BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_? so that memory order
+       can be provided.
+
+2021-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102024
+       * tree.h (DECL_FIELD_ABI_IGNORED): Changed into rvalue only macro
+       that is false if DECL_BIT_FIELD.
+       (SET_DECL_FIELD_ABI_IGNORED, DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD,
+       SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD): Define.
+       * tree-streamer-out.c (pack_ts_decl_common_value_fields): For
+       DECL_BIT_FIELD stream DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead
+       of DECL_FIELD_ABI_IGNORED.
+       * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
+       SET_DECL_FIELD_ABI_IGNORED instead of writing to
+       DECL_FIELD_ABI_IGNORED and for DECL_BIT_FIELD use
+       SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead.
+       * lto-streamer-out.c (hash_tree): For DECL_BIT_FIELD hash
+       DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead of DECL_FIELD_ABI_IGNORED.
+
+2021-09-03  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102166
+       * config/i386/amxbf16intrin.h : Remove macro check for __AMX_BF16__.
+       * config/i386/amxint8intrin.h : Remove macro check for __AMX_INT8__.
+       * config/i386/amxtileintrin.h : Remove macro check for __AMX_TILE__.
+
+2021-09-02  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/17506
+       PR testsuite/37182
+       * tree-ssa-uninit.c (warn_uninit): Remove conditional guarding note.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Refine
+       fix for PR78185 and continue processing when leaving
+       finite inner loops.
+
+2021-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99591
+       * match.pd: Demote operands of IFN_{ADD,SUB,MUL}_OVERFLOW if they
+       were promoted.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102155
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate
+       over a part of the RPO array and do not recurse here.
+       Dump blocks marked as always executed.
+       (fill_always_executed_in): Walk over the RPO array and
+       process loops whose header we run into.
+       (loop_invariant_motion_in_fun): Compute the first RPO
+       using rev_post_order_and_mark_dfs_back_seme in iteration
+       order and pass that to fill_always_executed_in.
+
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-modes.def (FLOAT_MODE): Define ieee HFmode.
+       * config/i386/i386.c (enum x86_64_reg_class): Add
+       X86_64_SSEHF_CLASS.
+       (merge_classes): Handle X86_64_SSEHF_CLASS.
+       (examine_argument): Ditto.
+       (construct_container): Ditto.
+       (classify_argument): Ditto, and set HFmode/HCmode to
+       X86_64_SSEHF_CLASS.
+       (function_value_32): Return _FLoat16/Complex Float16 by
+       %xmm0.
+       (function_value_64): Return _Float16/Complex Float16 by SSE
+       register.
+       (ix86_print_operand): Handle CONST_DOUBLE HFmode.
+       (ix86_secondary_reload): Require gpr as intermediate register
+       to store _Float16 from sse register when sse4 is not
+       available.
+       (ix86_libgcc_floating_mode_supported_p): Enable _FLoat16 under
+       sse2.
+       (ix86_scalar_mode_supported_p): Ditto.
+       (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Defined.
+       * config/i386/i386.h (VALID_SSE2_REG_MODE): Add HFmode.
+       (VALID_INT_MODE_P): Add HFmode and HCmode.
+       * config/i386/i386.md (*pushhf_rex64): New define_insn.
+       (*pushhf): Ditto.
+       (*movhf_internal): Ditto.
+       * doc/extend.texi (Half-Precision Floating Point): Documemt
+       _Float16 for x86.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102155
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate
+       over a part of the RPO array and do not recurse here.
+       Dump blocks marked as always executed.
+       (fill_always_executed_in): Walk over the RPO array and
+       process loops whose header we run into.
+       (loop_invariant_motion_in_fun): Compute the first RPO
+       using rev_post_order_and_mark_dfs_back_seme in iteration
+       order and pass that to fill_always_executed_in.
+
+2021-09-02  YunQiang Su  <syq@debian.org>
+
+       Revert:
+       2021-08-31  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.c (mips_module_isa_name): New.
+         mips_file_start: add .module mipsREV to all asm output
+
+2021-09-01  Jeff Law  <jlaw@localhost.localdomain>
+
+       PR tree-optimization/102152
+       * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Reduce a vector
+       comparison to a scalar comparison before calling
+       update_stmt_if_modified.
+
+2021-09-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101934
+       * config/aarch64/aarch64.c (aarch64_expand_setmem):
+       Check STRICT_ALIGNMENT before creating an overlapping
+       store.
+
+2021-09-01  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-ssa-warn-access.cc (get_size_range): Add argument.
+       (check_access): Pass additional argument.
+       (check_memop_access): Remove template and make a member function.
+       (maybe_check_dealloc_call): Make a pass_waccess member function.
+       (class pass_waccess): Add, rename, and remove members.
+       (pass_waccess::pass_waccess): Adjust to name change.
+       (pass_waccess::~pass_waccess): Same.
+       (check_alloca): Make a member function.
+       (check_alloc_size_call): Same.
+       (check_strcat): Same.
+       (check_strncat): Same.
+       (check_stxcpy): Same.
+       (check_stxncpy): Same.
+       (check_strncmp): Same.
+       (maybe_warn_rdwr_sizes): Rename...
+       (pass_waccess::maybe_check_access_sizes): ...to this.
+       (pass_waccess::check_call): Adjust to name changes.
+       (pass_waccess::maybe_check_dealloc_call): Make a pass_waccess member
+       function.
+       (pass_waccess::execute): Adjust to name changes.
+       * gimple-ssa-warn-access.h (check_memop_access): Remove.
+       * pointer-query.cc (access_ref::phi): Handle null pointer.
+       (access_ref::inform_access): Same.
+       (pointer_query::put_ref): Modify a cached value, not a copy of it.
+       (pointer_query::dump): New function.
+       (compute_objsize_r): Avoid overwriting access_ref::bndrng.  Cache
+       more results.
+       * pointer-query.h (pointer_query::dump): Declare.
+       * tree-ssa-strlen.c (get_range): Simplify.  Use function query.
+       (dump_strlen_info): Use function query.
+       (printf_strlen_execute): Factor code out into pointer_query::put_ref.
+
+2021-09-01  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * tree.c (walk_tree_1) <OMP_CLAUSE>: Simplify.
+
+2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * doc/extend.texi: Document unavailable attribute.
+       * print-tree.c (print_node): Handle unavailable attribute.
+       * tree-core.h (struct tree_base): Add a bit to carry unavailability.
+       * tree.c (error_unavailable_use): New.
+       * tree.h (TREE_UNAVAILABLE): New.
+       (error_unavailable_use): New.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102124
+       * tree-vect-patterns.c (vect_recog_widen_op_pattern): For ORIG_CODE
+       MINUS_EXPR, if itype is unsigned with smaller precision than type,
+       add an extra cast to signed variant of itype to ensure sign-extension.
+
+2021-09-01  Martin Liska  <mliska@suse.cz>
+
+       * graph.c (draw_cfg_node_succ_edges): Do not color fallthru
+         edges and rather use colors for TRUE and FALSE edges.
+
+2021-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93491
+       * tree-ssa-pre.c (compute_avail): Set BB_MAY_NOTRETURN
+       after processing the stmt itself.  Do not consider
+       pure functions possibly not returning.  Properly avoid
+       adding possibly trapping calls to EXP_GEN when there's
+       a preceeding possibly not returning call.
+       * tree-ssa-sccvn.c (vn_reference_may_trap): Conservatively
+       not handle calls.
+
+2021-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102139
+       * tree-vectorizer.h (vec_base_alignments): Adjust hash-map
+       type to record a std::pair of the stmt-info and the innermost
+       loop behavior.
+       (dr_vec_info::group): New member.
+       * tree-vect-data-refs.c (vect_record_base_alignment): Adjust.
+       (vect_compute_data_ref_alignment): Verify the recorded
+       base alignment can be used.
+       (data_ref_pair): Remove.
+       (dr_group_sort_cmp): Adjust.
+       (vect_analyze_data_ref_accesses): Store the group-ID in the
+       dr_vec_info and operate on a vector of dr_vec_infos.
+
+2021-09-01  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * read-md.c (md_reader::handle_enum): support value assignation.
+       * doc/md.texi: record define_c_enum value assignation support.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102141
+       * gimple-ssa-store-merging.c (bswap_view_convert): Add BEFORE
+       argument.  If false, emit stmts after gsi instead of before, and
+       with GSI_NEW_STMT.
+       (bswap_replace): Adjust callers.  When converting output of bswap,
+       emit VIEW_CONVERT prepratation stmts after a copy of gsi instead
+       of before it.
+
+2021-09-01  liuhongt  <hongtao.liu@intel.com>
+
+       * emit-rtl.c (validate_subreg): Get rid of all float-int
+       special cases.
+
+2021-09-01  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-08-30  liuhongt  <hongtao.liu@intel.com>
+
+       * expmed.c (extract_bit_field_1): Make sure we're playing with
+       integral modes before call extract_integral_bit_field.
+       (extract_integral_bit_field): Add a parameter of type
+       scalar_int_mode which corresponds to of tmode.
+       And call extract_and_convert_fixed_bit_field instead of
+       extract_fixed_bit_field and convert_extracted_bit_field.
+       (extract_and_convert_fixed_bit_field): New function, it's a
+       combination of extract_fixed_bit_field and
+       convert_extracted_bit_field.
+
+2021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * tree.c (walk_tree_1) <OMP_CLAUSE_TILE>: Handle three operands.
+
+2021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-general.h (omp_is_reference): Rename to...
+       (omp_privatize_by_reference): ... this.  Adjust all users...
+       * omp-general.c: ... here, ...
+       * gimplify.c: ... here, ...
+       * omp-expand.c: ... here, ...
+       * omp-low.c: ... here.
+
+2021-08-31  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-ssa-warn-access.cc (maybe_warn_alloc_args_overflow): Test
+       pointer element for equality to zero, not that of the cotaining
+       array.
+
+2021-08-31  Martin Sebor  <msebor@redhat.com>
+
+       * gcc-rich-location.h (gcc_rich_location): Make ctor explicit.
+
+2021-08-31  Martin Sebor  <msebor@redhat.com>
+
+       * function.h (function): Add comments.
+       (get_range_query): Same.  Add attribute returns nonnull.
+
+2021-08-31  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * expr.c (convert_modes): Don't use subreg_promoted_mode on a
+       SUBREG if it can't be guaranteed to a SUBREG_PROMOTED_VAR_P set.
+       Instead use the standard (safer) is_a <scalar_int_mode> idiom.
+
+2021-08-31  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config.gcc (cris-*-elf, cris-*-none): Remove dbxelf.h from
+       tm_file.
+       (m32r-*-elf, m32rle-*-elf, m32r-*-linux): Likewise.
+       (mn10300-*-*, am33_2.0-*-linux*): Likewise.
+       (xtensa*-*-elf, xtensa*-*-linux, xtensa*-*-uclinux): Likewise.
+       (m32c-*-elf*, m32c-*-rtems*): Likewise.
+       * config/cris/cris.h (DBX_NO_XREFS): Remove.
+       (DBX_CONTIN_LENGTH, DBX_CONTIN_CHAR): Likewise.
+       * config/m32r/m32r.h (DBXOUT_SOURCE_LINE): Likewise.
+       (DBX_DEBUGGING_INFO, DBX_CONTIN_LENGTH): Likewise.
+       * config/mn10300/mn10300.h (DEFAULT_GDB_EXTENSIONS): Likewise.
+       * config/mn10300/linux.h (DBX_REGISTER_NAMES): Likewise.
+
+2021-08-31  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Error handling. 'ancestor' only
+       allowed on target constructs and only with particular other clauses.
+       * omp-expand.c (expand_omp_target): Output of 'sorry, not supported' if
+       'ancestor' is used.
+       * omp-low.c (check_omp_nesting_restrictions): Error handling. No nested OpenMP
+       structs when 'ancestor' is used.
+       (scan_omp_1_stmt): No usage of OpenMP runtime routines in a target region when
+       'ancestor' is used.
+       * tree-pretty-print.c (dump_omp_clause): Append 'ancestor'.
+       * tree.h (OMP_CLAUSE_DEVICE_ANCESTOR): Define macro.
+
+2021-08-31  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * expr.c (convert_modes): Preserve SUBREG_PROMOTED_VAR_P when
+       creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P
+       subreg.
+       * simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]:
+       Likewise, preserve SUBREG_PROMOTED_VAR_P when creating a (wider)
+       partial subreg from a SUBREG_PROMOTED_VAR_P subreg.  Generate
+       SIGN_EXTEND of the SUBREG_REG when a subreg would be paradoxical.
+       [ZERO_EXTEND]: Likewise, preserve SUBREG_PROMOTED_VAR_P when
+       creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P
+       subreg.  Generate ZERO_EXTEND of the SUBREG_REG when a subreg
+       would be paradoxical.
+
+2021-08-31  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * combine.c (combine_simplify_rtx): Avoid converting an explicit
+       TRUNCATE into a lowpart SUBREG on !TRULY_NOOP_TRUNCATION targets.
+       * simplify-rtx.c (simplify_unary_operation_1): Likewise.
+
+2021-08-31  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102142
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Fix
+       condition under which to unset the visited flag.
+
+2021-08-31  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102129
+       * tree-ssa-ter.c (find_replaceable_in_bb): Do not move
+       possibly trapping expressions across calls.
+
+2021-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102134
+       * tree-ssa-ccp.c (bit_value_binop) <case RSHIFT_EXPR>: If sgn is
+       UNSIGNED and r1val | r1mask has MSB set, ensure lzcount doesn't
+       become negative.
+
+2021-08-31  Andrew Pinski  <apinski@marvell.com>
+
+       PR driver/79181
+       * collect-utils.c (setup_signals): New declaration.
+       * collect-utils.h (setup_signals): New function.
+       * collect2.c (handler): Delete.
+       (main): Instead of manually setting up the signals,
+       just call setup_signals.
+       * lto-wrapper.c (main): Likewise.
+
+2021-08-31  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/56337
+       * config/i386/i386-protos.h (x86_output_aligned_bss):
+       Change align argument to unsigned type.
+       (x86_elf_aligned_decl_common): Likewise.
+       * config/i386/i386.c (x86_elf_aligned_decl_common): Likewise.
+       (x86_output_aligned_bss): Likewise.
+
+2021-08-31  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.c (mips_module_isa_name): New.
+         mips_file_start: add .module mipsREV to all asm output
+
+2021-08-31  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.h (struct mips_cpu_info): define enum mips_isa;
+         use enum instead of int for 'isa' member.
+       * config.gcc, config/mips/mips.c, config/mips/mips-cpus.def,
+         config/mips/netbsd.h: replace hardcoded numbers with enum.
+
+2021-08-31  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (*<avx512>_ucmp<mode>3_1): Change from
+       define_split to define_insn_and_split.
+       (*avx2_eq<mode>3): Removed.
+       (<avx512>_eq<mode>3<mask_scalar_merge_name>): Adjust pattern
+       (<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Rename to ..
+       (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): .. this, and
+       adjust pattern.
+       (*avx2_gt<mode>3): Removed.
+       (<avx512>_gt<mode>3<mask_scalar_merge_name>): Change from
+       define_insn to define_expand, and adjust pattern.
+       (UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT): Removed.
+
+2021-08-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99260
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/call-info.o.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi: Document -Wmissing-requires.
+
+2021-08-30  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove
+       TARGET_EXTRA_BUILTINS guard.
+
+2021-08-30  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change
+       initialization of V2DI_type_node and unsigned_V2DI_type_node.
+
+2021-08-30  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new
+       decl when new_builtins_are_live.
+       * config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New
+       built-in.
+
+2021-08-30  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Add
+       OPTION_MASK_P10_FUSION_2STORE.
+       (POWERPC_MASKS): Likewise.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
+       store fusion for Power10.
+       (is_fusable_store): New.
+       (power10_sched_reorder): Likewise.
+       (rs6000_sched_reorder): Do Power10 specific reordering.
+       (rs6000_sched_reorder2): Likewise.
+       * config/rs6000/rs6000.opt: Add new option.
+
+2021-08-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102128
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p):
+       Move scanning for if-converted scalar code to the caller
+       and instead delay clearing the visited flag for profitable
+       subgraphs.
+       (vect_slp_region): Cost all subgraphs before scheduling.
+       For if-converted BB vectorization scan for scalar COND_EXPRs
+       and do not vectorize if any found and the cost model is
+       very-cheap.
+
+2021-08-30  Richard Biener  <rguenther@suse.de>
+
+       * common.opt (fexceptions): Mark
+       EnabledBy(fnon-call-exceptions).
+       * doc/invoke.texi (fnon-call-exceptions): Document this
+       enables -fexceptions.
+
+2021-08-30  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * tsystem.h (abort): Define abort() if inhibit_libc is defined and it
+       is not already defined.
+
+2021-08-30  liuhongt  <hongtao.liu@intel.com>
+
+       * expmed.c (extract_bit_field_1): Make sure we're playing with
+       integral modes before call extract_integral_bit_field.
+       (extract_integral_bit_field): Add a parameter of type
+       scalar_int_mode which corresponds to of tmode.
+       And call extract_and_convert_fixed_bit_field instead of
+       extract_fixed_bit_field and convert_extracted_bit_field.
+       (extract_and_convert_fixed_bit_field): New function, it's a
+       combination of extract_fixed_bit_field and
+       convert_extracted_bit_field.
+
+2021-08-29  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_libc_has_function): Do not run
+       the checks for x86 or modern Darwin.  Make sure that there
+       is a value set for darwin_macosx_version_min before testing.
+
+2021-08-29  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/i386/darwin.h (CLEAR_INSN_CACHE): New.
+
+2021-08-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_access_node::merge): Break out
+       logic combining offsets and logic merging ranges to ...
+       (modref_access_node::combined_offsets): ... here
+       (modref_access_node::update2): ... here
+       (modref_access_node::closer_pair_p): New member function.
+       (modref_access_node::forced_merge): New member function.
+       (modre_ref_node::insert): Do merging when table is full.
+
+2021-08-28  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       PR target/102089
+       * config.gcc: MIPS: use N64 ABI by default if the triple end
+         with -gnuabi64, which is used by Debian since 2013.
+
+2021-08-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * ipa-modref.c (analyze_function): Skip debug stmts.
+       * tree-inline.c (estimate_num_insn): Consider builtins even
+       without a cgraph_node.
+
+2021-08-27  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/bitfield.md (cstore<mode>4): Remove expander.
+       * config/h8300/h8300.c (h8300_expand_branch): Remove function.
+       * config/h8300/h8300-protos.h (h8300_expadn_branch): Remove prototype.
+       * config/h8300/h8300.md (eqne): New code iterator.
+       (geultu, geultu_to_c): Similarly.
+       * config/h8300/testcompare.md (cstore<mode>4): Dummy expander.
+       (store_c_<mode>, store_c_i_<mode>): New define_insn_and_splits
+       (cmp<mode>_c): New pattern
+
+2021-08-27  Jeff Law  <jlaw@localhost.localdomain>
+
+       * tree-ssa-dom.c (reduce_vector_comparison_to_scalar_comparison): New
+       function.
+       (dom_opt_dom_walker::optimize_stmt): Use it.
+
+2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (finalize_ctors): Add a section-start linker-
+       visible symbol.
+       (finalize_dtors): Likewise.
+       * config/darwin.h (MIN_LD64_INIT_TERM_START_LABELS): New.
+
+2021-08-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000-builtins.h): New #include.
+       (rs6000_init_builtins): Call rs6000_init_generated_builtins.  Skip the
+       old initialization logic when new builtins are enabled.
+       * config/rs6000/rs6000-gen-builtins.c (write_decls): Rename
+       rs6000_autoinit_builtins to rs6000_init_generated_builtins.
+       (write_init_file): Likewise.
+
+2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure.ac (darwin2[[0-9]]* | darwin19*): Alter use of
+       gcc_GAS_CHECK_FEATURE to remove an extraneous parameter.
+       (amdgcn-* | gcn-*) Likewise.
+
+2021-08-27  Anthony Sharp  <anthonysharp15@gmail.com>
+
+       * symbol-summary.h: Added missing template keyword.
+
+2021-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/45178
+       * tree-ssa-dce.c (find_obviously_necessary_stmts): For
+       infinite loops without exit do not mark control dependent
+       edges of the latch necessary.
+
+2021-08-27  konglin1  <lingling.kong@intel.com>
+
+       PR target/101472
+       * config/i386/sse.md: (<avx512>scattersi<mode>): Add mask operand to
+       UNSPEC_VSIBADDR.
+       (<avx512>scattersi<mode>): Likewise.
+       (*avx512f_scattersi<VI48F:mode>): Merge mask operand to set_dest.
+       (*avx512f_scatterdi<VI48F:mode>): Likewise
+
+2021-08-27  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_builtin_md_vectorized_function): Add
+       support for built-in functions MISC_BUILTIN_DIVWE, MISC_BUILTIN_DIVWEU,
+       MISC_BUILTIN_DIVDE, MISC_BUILTIN_DIVDEU, P10_BUILTIN_CFUGED,
+       P10_BUILTIN_CNTLZDM, P10_BUILTIN_CNTTZDM, P10_BUILTIN_PDEPD and
+       P10_BUILTIN_PEXTD on Power10.
+
+2021-08-27  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (builtin_function_type): Add unsigned
+       signedness for some Power10 bifs.
+
+2021-08-27  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/102068
+       * config/rs6000/rs6000.c (rs6000_adjust_field_align): Use
+       computed alignment if the entire struct has attribute packed.
+
+2021-08-27  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98167
+       PR target/43147
+       * config/i386/i386.c (ix86_gimple_fold_builtin): Fold
+       IX86_BUILTIN_SHUFPD512, IX86_BUILTIN_SHUFPS512,
+       IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS,
+       IX86_BUILTIN_SHUFPS256.
+       (ix86_masked_all_ones): New function.
+
+2021-08-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*btr<mode>_1): Call force_reg unconditionally.
+       (conditional moves with memory inputs splitters): Ditto.
+       * config/i386/sse.md (one_cmpl<mode>2): Simplify.
+
+2021-08-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_access_node::try_merge_with): Restart
+       search after merging.
+
+2021-08-26  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-overload.def: Add remaining overloads.
+
+2021-08-26  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add cell stanza.
+
+2021-08-26  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp,
+       crypto, and htm stanzas.
+
+2021-08-26  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add mma stanza.
+
+2021-08-26  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-uninit.c (warn_uninit): Refactor and simplify.
+       (warn_uninit_phi_uses): Remove argument from calls to warn_uninit.
+       (warn_uninitialized_vars): Same.  Reduce visibility of locals.
+       (warn_uninitialized_phi): Same.
+
+2021-08-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-ccp.c (get_individual_bits): Helper function to
+       extract the individual bits from a widest_int constant (mask).
+       (gray_code_bit_flips): New read-only table for effiently
+       enumerating permutations/combinations of bits.
+       (bit_value_binop) [LROTATE_EXPR, RROTATE_EXPR]: Handle rotates
+       by unknown counts that are guaranteed less than the target
+       precision and four or fewer unknown bits by enumeration.
+       [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise, also handle shifts by
+       enumeration under the same conditions.  Handle remaining
+       shifts as a mask based upon the minimum possible shift value.
+
+2021-08-26  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * match.pd (shift transformations): Remove a redundant
+       !POINTER_TYPE_P check.
+
+2021-08-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102057
+       * config/i386/i386.md (cmove reg-reg move elimination peephole2s):
+       Set all_regs to true in the call to replace_rtx.
+
+2021-08-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (test_insert_search_collapse): Update test.
+       * ipa-modref-tree.h (modref_base_node::insert): Be smarter when
+       hiting --param modref-max-refs limit.
+       (modref_tree:insert_base): Be smarter when hitting
+       --param modref-max-bases limit. Add new parameter REF.
+       (modref_tree:insert): Update.
+       (modref_tree:merge): Update.
+       * ipa-modref.c (read_modref_records): Update.
+
+2021-08-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * params.opt: (modref-max-adjustments): Add full stop.
+
+2021-08-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_ref_node::verify): New member
+       functoin.
+       (modref_ref_node::insert): Use it.
+       (modref_ref_node::try_mere_with): Fix off by one error.
+
+2021-08-26  Martin Liska  <mliska@suse.cz>
+           Stefan Kneifel  <stefan.kneifel@bluewin.ch>
+
+       * cgraph.h (create_version_clone_with_body): Add new parameter.
+       * cgraphclones.c: Likewise.
+       * multiple_target.c (create_dispatcher_calls): Do not use
+       numbered suffixes.
+       (create_target_clone): Likewise here.
+
+2021-08-26  Jonathan Yong  <10walls@gmail.com>
+
+       * doc/extend.texi: Add note about reserved priorities
+       to the constructor attribute.
+
+2021-08-25  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-range-cache.cc (ssa_global_cache::dump): Avoid printing
+       range table header alone.
+       * gimple-range.cc (gimple_ranger::export_global_ranges): Same.
+
+2021-08-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi: Document --param modref-max-adjustments.
+       * ipa-modref-tree.c (test_insert_search_collapse): Update.
+       (test_merge): Update.
+       * ipa-modref-tree.h (struct modref_access_node): Add adjustments;
+       (modref_access_node::operator==): Fix handling of access ranges.
+       (modref_access_node::contains): Constify parameter; handle also
+       mismatched parm offsets.
+       (modref_access_node::update): New function.
+       (modref_access_node::merge): New function.
+       (unspecified_modref_access_node): Update constructor.
+       (modref_ref_node::insert_access): Add record_adjustments parameter;
+       handle merging.
+       (modref_ref_node::try_merge_with): New private function.
+       (modref_tree::insert): New record_adjustments parameter.
+       (modref_tree::merge): New record_adjustments parameter.
+       (modref_tree::copy_from): Update.
+       * ipa-modref.c (dump_access): Dump adjustments field.
+       (get_access): Update constructor.
+       (record_access): Update call of insert.
+       (record_access_lto): Update call of insert.
+       (merge_call_side_effects): Add record_adjustments parameter.
+       (get_access_for_fnspec): Update.
+       (process_fnspec): Update.
+       (analyze_call): Update.
+       (analyze_function): Update.
+       (read_modref_records): Update.
+       (ipa_merge_modref_summary_after_inlining): Update.
+       (propagate_unknown_call): Update.
+       (modref_propagate_in_scc): Update.
+       * params.opt (param-max-modref-adjustments=): New.
+
+2021-08-25  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/vsx.md (UNSPEC_XXSPLTIDP): Rename from
+       UNSPEC_XXSPLTID.
+       (xxspltiw_v4si): Use vecperm type attribute.
+       (xxspltiw_v4si_inst): Use vecperm type attribute.
+       (xxspltiw_v4sf_inst): Likewise.
+       (xxspltidp_v2df): Use vecperm type attribute.  Use
+       UNSPEC_XXSPLTIDP instead of UNSPEC_XXSPLTID.
+       (xxspltidp_v2df_inst): Likewise.
+       (xxsplti32dx_v4si): Use vecperm type attribute.
+       (xxsplti32dx_v4si_inst): Likewise.
+       (xxsplti32dx_v4sf_inst): Likewise.
+       (xxblend_<mode>): Likewise.
+       (xxpermx): Likewise.
+       (xxpermx_inst): Likewise.
+       (xxeval): Likewise.
+
+2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR other/93067
+       * coretypes.h (typedef diagnostic_input_charset_callback): Declare.
+       * diagnostic.c (diagnostic_initialize_input_context): New function.
+       * diagnostic.h (diagnostic_initialize_input_context): Declare.
+       * input.c (default_charset_callback): New function.
+       (file_cache::initialize_input_context): New function.
+       (file_cache_slot::create): Added ability to convert the input
+       according to the input context.
+       (file_cache::file_cache): Initialize the new input context.
+       (class file_cache_slot): Added new m_alloc_offset member.
+       (file_cache_slot::file_cache_slot): Initialize the new member.
+       (file_cache_slot::~file_cache_slot): Handle potentially offset buffer.
+       (file_cache_slot::maybe_grow): Likewise.
+       (file_cache_slot::needs_read_p): Handle NULL fp, which is now possible.
+       (file_cache_slot::get_next_line): Likewise.
+       * input.h (class file_cache): Added input context member.
+
+2021-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102046
+       * tree-vect-slp.c (vect_build_slp_tree_2): Conservatively
+       update ->any_pattern when swapping operands.
+
+2021-08-25  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/101716
+       * config/i386/i386.c (ix86_live_on_entry): Adjust comment.
+       (ix86_decompose_address): Remove retval check for ASHIFT,
+       allow non-canonical zero extend if AND mask covers ASHIFT
+       count.
+       (ix86_legitimate_address_p): Adjust condition for decompose.
+       (ix86_rtx_costs): Adjust cost for lea with non-canonical
+       zero-extend.
+       Co-Authored by: Uros Bizjak <ubizjak@gmail.com>
+
+2021-08-25  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR tree-optimization/101145
+       * tree-ssa-loop-niter.c (number_of_iterations_until_wrap):
+       New function.
+       (number_of_iterations_lt): Invoke above function.
+       (adjust_cond_for_loop_until_wrap):
+       Merge to number_of_iterations_until_wrap.
+       (number_of_iterations_cond): Update invokes for
+       adjust_cond_for_loop_until_wrap and number_of_iterations_lt.
+
+2021-08-25  konglin1  <lingling.kong@intel.com>
+
+       PR target/101471
+       * config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix
+       macro define in O0.
+       (_mm512_mask_fpclass_ps_mask): Ditto.
+
+2021-08-25  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/altivec.md (vec_unpacku_hi_v16qi): Remove.
+       (vec_unpacku_hi_v8hi): Likewise.
+       (vec_unpacku_lo_v16qi): Likewise.
+       (vec_unpacku_lo_v8hi): Likewise.
+       (vec_unpacku_hi_<VP_small_lc>): New define_expand.
+       (vec_unpacku_lo_<VP_small_lc>): Likewise.
+
+2021-08-24  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix.h (SYSTEM_IMPLICIT_EXTERN_C): Delete.
+       * config/rs6000/aix71.h (SYSTEM_IMPLICIT_EXTERN_C): Define.
+       * config/rs6000/aix72.h (SYSTEM_IMPLICIT_EXTERN_C): Define.
+       * config/rs6000/aix73.h (TARGET_AIX_VERSION): Increase to 73.
+
+2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/102031
+       * simplify-rtx.c (simplify_truncation): When comparing precisions
+       use "subreg_prec" variable, not "subreg_mode".
+
+2021-08-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64
+       stanzas.
+
+2021-08-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize
+       various pointer type nodes.
+       * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum
+       values for various pointer types.
+       (ptr_V16QI_type_node): New macro.
+       (ptr_V1TI_type_node): New macro.
+       (ptr_V2DI_type_node): New macro.
+       (ptr_V2DF_type_node): New macro.
+       (ptr_V4SI_type_node): New macro.
+       (ptr_V4SF_type_node): New macro.
+       (ptr_V8HI_type_node): New macro.
+       (ptr_unsigned_V16QI_type_node): New macro.
+       (ptr_unsigned_V1TI_type_node): New macro.
+       (ptr_unsigned_V8HI_type_node): New macro.
+       (ptr_unsigned_V4SI_type_node): New macro.
+       (ptr_unsigned_V2DI_type_node): New macro.
+       (ptr_bool_V16QI_type_node): New macro.
+       (ptr_bool_V8HI_type_node): New macro.
+       (ptr_bool_V4SI_type_node): New macro.
+       (ptr_bool_V2DI_type_node): New macro.
+       (ptr_bool_V1TI_type_node): New macro.
+       (ptr_pixel_type_node): New macro.
+       (ptr_intQI_type_node): New macro.
+       (ptr_uintQI_type_node): New macro.
+       (ptr_intHI_type_node): New macro.
+       (ptr_uintHI_type_node): New macro.
+       (ptr_intSI_type_node): New macro.
+       (ptr_uintSI_type_node): New macro.
+       (ptr_intDI_type_node): New macro.
+       (ptr_uintDI_type_node): New macro.
+       (ptr_intTI_type_node): New macro.
+       (ptr_uintTI_type_node): New macro.
+       (ptr_long_integer_type_node): New macro.
+       (ptr_long_unsigned_type_node): New macro.
+       (ptr_float_type_node): New macro.
+       (ptr_double_type_node): New macro.
+       (ptr_long_double_type_node): New macro.
+       (ptr_dfloat64_type_node): New macro.
+       (ptr_dfloat128_type_node): New macro.
+       (ptr_ieee128_type_node): New macro.
+       (ptr_ibm128_type_node): New macro.
+       (ptr_vector_pair_type_node): New macro.
+       (ptr_vector_quad_type_node): New macro.
+       (ptr_long_long_integer_type_node): New macro.
+       (ptr_long_long_unsigned_type_node): New macro.
+
+2021-08-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9,
+       and power9-64 stanzas.
+
+2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * config.gcc (nvptx-*-*): Define {c,c++}_target_objs.
+       * config/nvptx/nvptx-protos.h (nvptx_cpu_cpp_builtins): Prototype.
+       * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Implement with
+       a call to the new nvptx_cpu_cpp_builtins function in nvptx-c.c.
+       * config/nvptx/t-nvptx (nvptx-c.o): New rule.
+       * config/nvptx/nvptx-c.c: New source file.
+       (nvptx_cpu_cpp_builtins): Move implementation here.
+
+2021-08-24  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101600
+       PR middle-end/101977
+       * gimple-ssa-warn-access.cc (maybe_warn_for_bound): Tighten up
+       the phrasing of a warning.
+       (check_access): Use the remaining size after subtracting any offset
+       rather than the whole object size.
+       * pointer-query.cc (access_ref::get_ref): Clear BASE0 flag if it's
+       clear for any nonnull PHI argument.
+       (compute_objsize): Clear argument.
+
+2021-08-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza.
+
+2021-08-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64
+       stanzas.
+
+2021-08-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (rr_transitive_table): New.
+       (relation_transitive): New.
+       (value_relation::swap): Remove.
+       (value_relation::apply_transitive): New.
+       (relation_oracle::relation_oracle): Allocate a new tmp bitmap.
+       (relation_oracle::register_relation): Call register_transitives.
+       (relation_oracle::register_transitives): New.
+       * value-relation.h (relation_oracle): Add new temporary bitmap and
+       methods.
+
+2021-08-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102021
+       * config/i386/i386-expand.c (ix86_expand_vector_move): Broadcast
+       from integer to a pseudo vector register.
+
+2021-08-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100089
+       * tree-vectorizer.h (vect_slp_bb): Rename to ...
+       (vect_slp_if_converted_bb): ... this and get the original
+       loop as new argument.
+       * tree-vectorizer.c (try_vectorize_loop_1): Revert previous fix,
+       pass original loop to vect_slp_if_converted_bb.
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p):
+       If orig_loop was passed scan the not vectorized stmts
+       for COND_EXPRs and force not profitable if found.
+       (vect_slp_region): Pass down all SLP instances to costing
+       if orig_loop was specified.
+       (vect_slp_bbs): Pass through orig_loop.
+       (vect_slp_bb): Rename to ...
+       (vect_slp_if_converted_bb): ... this and get the original
+       loop as new argument.
+       (vect_slp_function): Adjust.
+
+2021-08-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102035
+       * config/arm/arm.md (attribute arch): Add fix_vlldm.
+       (arch_enabled): Use it.
+       * config/arm/vfp.md (lazy_store_multiple_insn): Add alternative to
+       use when erratum mitigation is needed.
+
+2021-08-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102035
+       * config/arm/arm.opt (mfix-cmse-cve-2021-35465): New option.
+       * doc/invoke.texi (Arm Options): Document it.
+       * config/arm/arm-cpus.in (quirk_vlldm): New feature bit.
+       (ALL_QUIRKS): Add quirk_vlldm.
+       (cortex-m33): Add quirk_vlldm.
+       (cortex-m35p, cortex-m55): Likewise.
+       * config/arm/arm.c (arm_option_override): Enable fix_vlldm if
+       targetting an affected CPU and not explicitly controlled on
+       the command line.
+
+2021-08-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config/arm/vfp.md (lazy_store_multiple_insn): Rewrite as valid RTL.
+       (lazy_load_multiple_insn): Likewise.
+
+2021-08-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * config/i386/sse.md (<avx512>_vternlog<mode><sd_maskz_name>):
+       Enable avx512 embedded broadcast.
+       (*<avx512>_vternlog<mode>_all): Ditto.
+       (<avx512>_vternlog<mode>_mask): Ditto.
+
+2021-08-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * config/i386/i386.c (ix86_rtx_costs): Define cost for
+       UNSPEC_VTERNLOG.
+       * config/i386/i386.h (STRIP_UNARY): New macro.
+       * config/i386/predicates.md (reg_or_notreg_operand): New
+       predicate.
+       * config/i386/sse.md (*<avx512>_vternlog<mode>_all): New define_insn.
+       (*<avx512>_vternlog<mode>_1): New pre_reload
+       define_insn_and_split.
+       (*<avx512>_vternlog<mode>_2): Ditto.
+       (*<avx512>_vternlog<mode>_3): Ditto.
+       (any_logic1,any_logic2): New code iterator.
+       (logic_op): New code attribute.
+       (ternlogsuffix): Extend to VNxDF and VNxSF.
+
+2021-08-24  Richard Biener  <rguenther@suse.de>
+
+       * doc/invoke.texi (vect-inner-loop-cost-factor): Adjust.
+       * params.opt (--param vect-inner-loop-cost-factor): Adjust
+       maximum value.
+       * tree-vect-loop.c (vect_analyze_loop_form): Initialize
+       inner_loop_cost_factor to the minimum of the estimated number
+       of iterations of the inner loop and vect-inner-loop-cost-factor.
+
+2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * config/i386/i386-features.c (compute_convert_gain): Provide
+       more accurate values for CONST_INT, when optimizing for size.
+       * config/i386/i386.c (COSTS_N_BYTES): Move definition from here...
+       * config/i386/i386.h (COSTS_N_BYTES): to here.
+
+2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102029
+       * match.pd (shift transformations): Add an additional check for
+       !POINTER_TYPE_P in the recently added left shift transformation.
+
+2021-08-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/100089
+       * tree-vectorizer.c (try_vectorize_loop_1): Disable slp in
+       loop vectorizer when cost model is very-cheap.
+
+2021-08-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (parse_bif_entry): Don't call
+       asprintf, which is not available on AIX.
+
+2021-08-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config.gcc (target_gtfiles): Add ./rs6000-builtins.h.
+       * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set.
+
+2021-08-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config.gcc (powerpc*-*-*): Add rs6000-builtins.o to extra_objs.
+       * config/rs6000/rs6000-gen-builtins.c (main): Close init_file
+       last.
+       * config/rs6000/t-rs6000 (rs6000-gen-builtins.o): New target.
+       (rbtree.o): Likewise.
+       (rs6000-gen-builtins): Likewise.
+       (rs6000-builtins.c): Likewise.
+       (rs6000-builtins.h): Likewise.
+       (rs6000.o): Add dependency.
+       (EXTRA_HEADERS): Add rs6000-vecdefines.h.
+       (rs6000-vecdefines.h): New target.
+       (rs6000-builtins.o): Likewise.
+       (rs6000-call.o): Add rs6000-builtins.h as a dependency.
+       (rs6000-c.o): Likewise.
+
+2021-08-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101830
+       * config/rs6000/rs6000-gen-builtins.c (consume_whitespace):
+       Diagnose buffer overrun.
+       (safe_inc_pos): Fix overrun detection.
+       (match_identifier): Diagnose buffer overrun.
+       (match_integer): Likewise.
+       (match_to_right_bracket): Likewise.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_access_node::range_info_useful_p):
+       Improve range compare.
+       (modref_access_node::contains): New member function.
+       (modref_access_node::search): Remove.
+       (modref_access_node::insert): Be smarter about subaccesses.
+
+2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/i386/i386-options.c (ix86_omp_device_kind_arch_isa)
+       <omp_device_arch> [ACCEL_COMPILER]: Match "intel_mic".
+       * config/i386/t-omp-device (omp-device-properties-i386) <arch>:
+       Add "intel_mic".
+
+2021-08-23  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/h8300-protos.h (h8300_expand_epilogue): Add new
+       argument.
+       * config/h8300/jumpcall.md (call, call_value): Restrict to
+       !SIBLING_CALL_P cases.
+       (subcall, sibcall_value): New patterns & expanders.
+       * config/h8300/proepi.md (epilogue): Pass new argument to
+       h8300_expand_epilogue.
+       (sibcall_epilogue): New expander.
+       * config/h8300/h8300.c (h8300_expand_epilogue): Handle sibcall
+       epilogues too.
+       (h8300_ok_for_sibcall_p): New function.
+       (TARGET_FUNCTION_OK_FOR_SIBCALL): define.
+
+2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1): [TRUNCATE]:
+       Handle case where the operand is already the desired mode.
+
+2021-08-23  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/97565
+       * tree-ssa-structalias.c (ipa_pta_execute): Check in_other_partition
+       in addition to has_gimple_body.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR middle-end/101949
+       * ipa-modref.c (analyze_ssa_name_flags): Fix merging of
+       EAF_NOCLOBBER
+
+2021-08-23  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Put the option out of -mxl-mode-app-model
+       table.
+
+2021-08-23  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
+       Properly scale the inner loop cost only once.
+
+2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-ccp.c (bit_value_binop) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]:
+       Provide bounds for unsigned (and signed with non-negative operands)
+       division and modulus.
+
+2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_truncation): Generalize simplification
+       of (truncate:A (subreg:B X)).
+       (simplify_unary_operation_1) [FLOAT_TRUNCATE, FLOAT_EXTEND,
+       SIGN_EXTEND, ZERO_EXTEND]: Handle cases where the operand
+       already has the desired machine mode.
+       (test_scalar_int_ops): Add tests that useless extensions and
+       truncations are optimized away.
+       (test_scalar_int_ext_ops): New self-test function to confirm
+       that truncations of extensions are correctly simplified.
+       (test_scalar_int_ext_ops2): New self-test function to check
+       truncations of truncations, extensions of extensions, and
+       truncations of extensions.
+       (test_scalar_ops): Call the above two functions with a
+       representative sampling of integer machine modes.
+
+2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * match.pd (shift transformations): Change the sign of an
+       LSHIFT_EXPR if it reduces the number of explicit conversions.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/86723
+       * gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Add
+       cast64_to_32 argument, set *cast64_to_32 to false, unless n is
+       non-memory permutation of 64-bit src which only has bytes of
+       0 or [5..8] and n->range is 4.
+       (find_bswap_or_nop): Add cast64_to_32 and mask arguments, adjust
+       find_bswap_or_nop_finalize caller, support bswap with some bytes
+       zeroed, as long as at least two bytes are not zeroed.
+       (bswap_replace): Add mask argument and handle masking of bswap
+       result.
+       (maybe_optimize_vector_constructor): Adjust find_bswap_or_nop
+       caller, punt if cast64_to_32 or mask is not all ones.
+       (pass_optimize_bswap::execute): Adjust find_bswap_or_nop_finalize
+       caller, for now punt if cast64_to_32.
+
+2021-08-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/79334
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record
+       a type also for COMPONENT_REFs.
+       (vn_reference_may_trap): Check ARRAY_REF with constant index
+       against the array domain.
+
+2021-08-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102016
+       * config/i386/sse.md (*avx512f_pshufb_truncv8hiv8qi_1): Add
+       TARGET_AVX512BW to condition.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101905
+       * dwarf2out.c (gen_variable_die): Add DW_AT_location for global
+       register variables already during early_dwarf if possible.
+
+2021-08-23  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       * config/arm/arm_mve.h: Fix __arm_vctp16q return type.
+
+2021-08-23  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR target/100856
+       * config/arm/arm.opt: Fix typo.
+       * config/arm/t-rmprofile: Fix typo.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_GRAINSIZE_STRICT): Define.
+       (OMP_CLAUSE_NUM_TASKS_STRICT): Define.
+       * tree-pretty-print.c (dump_omp_clause) <case OMP_CLAUSE_GRAINSIZE,
+       case OMP_CLAUSE_NUM_TASKS>: Print strict: modifier.
+       * omp-expand.c (expand_task_call): Use GOMP_TASK_FLAG_STRICT in iflags
+       if either grainsize or num_tasks clause has the strict modifier.
+
+2021-08-23  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.def (DEBUG_COUNTER): New counter.
+       * gimple.c (gimple_call_arg_flags): Use it in IPA PTA.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_ssa_name_flags): Improve handling of return slot.
+
+2021-08-23  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/101922
+       * config/mips/mips-protos.h (mips_msa_output_shift_immediate):
+         Declare.
+       * config/mips/mips.c (mips_msa_output_shift_immediate): New
+         function.
+       * config/mips/mips-msa.md (vashl<mode>3, vashr<mode>3,
+         vlshr<mode>3): Call it.
+
+2021-08-22  Jan Hubicka  <hubicka@ucw.cz>
+           Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/101949
+       * ipa-modref.c (analyze_ssa_name_flags): Indirect call implies
+       ~EAF_NOCLOBBER.
+
+2021-08-21  Dragan Mladjenovic  <OT_Dragan.Mladjenovic@mediatek.com>
+
+       * config/mips/mips.c (mips_function_rodata_section,
+       TARGET_ASM_FUNCTION_RODATA_SECTION): Removed.
+
+2021-08-21  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.c (pa_asm_output_aligned_common): Remove warning.
+
+2021-08-20  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+       * configure.ac (thread-local storage support): Remove tls_first_major
+       and tls_first_minor.  Use "$conftest_s" to check support.
+       * configure: Regenerate.
+
+2021-08-20  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+       * configure.ac: Fixup formatting.
+
+2021-08-20  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+       * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Remove third argument and ...
+       * configure.ac: ... update all callers.
+
+2021-08-20  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+       PR target/91602
+       * acinclude.m4 (_gcc_COMPUTE_GAS_VERSION, _gcc_GAS_VERSION_GTE_IFELSE)
+       (gcc_GAS_VERSION_GTE_IFELSE): Remove.
+       (gcc_GAS_CHECK_FEATURE): Do not handle in-tree case specially.
+       * configure.ac: Remove gcc_cv_gas_major_version, gcc_cv_gas_minor_version.
+       Remove remaining checks for in-tree assembler.
+       * configure: Regenerate.
+
+2021-08-20  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/h8300.c (shift_alg_hi): Improve arithmetic shift right
+       by 15 bits for H8/300H and H8/S.  Improve logical shifts by 12
+       bits for H8/S.
+       (shift_alg_si): Improve arithmetic right shift by 28-30 bits for
+       H8/300H.  Improve arithmetic shift right by 15 bits for H8/S.
+       Improve logical shifts by 27 bits for H8/S.
+       (get_shift_alg): Corresponding changes.
+       (h8300_option_override): Revert to loops for -Os when profitable.
+
+2021-08-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (dr_group_sort_cmp): Do not compare
+       BBs.
+       (vect_analyze_data_ref_accesses): Likewise.  Assign the BB
+       index as group_id when dataref_groups were not computed.
+       * tree-vect-slp.c (vect_slp_bbs): Bump current_group when
+       we advace to the next BB.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-builtins.def (BUILT_IN_GOMP_WARNING, BUILT_IN_GOMP_ERROR): New
+       builtins.
+
+2021-08-20  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/89961
+       * gcov.c (make_gcov_file_name): Rewrite using std::string.
+       (mangle_name): Simplify, do not used the second argument.
+       (strip_extention): New function.
+       (get_md5sum): Likewise.
+       (get_gcov_intermediate_filename): Handle properly -p and -x
+       options.
+       (output_gcov_file): Use string type.
+       (generate_results): Likewise.
+       (md5sum_to_hex): Remove.
+
+2021-08-20  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/altivec.md (UNSPEC_XXEVAL): Move to vsx.md.
+       (UNSPEC_XXSPLTIW): Move to vsx.md.
+       (UNSPEC_XXSPLTID): Move to vsx.md.
+       (UNSPEC_XXSPLTI32DX): Move to vsx.md.
+       (UNSPEC_XXBLEND): Move to vsx.md.
+       (UNSPEC_XXPERMX): Move to vsx.md.
+       (VM3): Move to vsx.md.
+       (VM3_char): Move to vsx.md.
+       (xxspltiw_v4si): Move to vsx.md.
+       (xxspltiw_v4sf): Move to vsx.md.
+       (xxspltiw_v4sf_inst): Move to vsx.md.
+       (xxspltidp_v2df): Move to vsx.md.
+       (xxspltidp_v2df_inst): Move to vsx.md.
+       (xxsplti32dx_v4si_inst): Move to vsx.md.
+       (xxsplti32dx_v4sf): Move to vsx.md.
+       (xxsplti32dx_v4sf_inst): Move to vsx.md.
+       (xxblend_<mode>): Move to vsx.md.
+       (xxpermx): Move to vsx.md.
+       (xxpermx_inst): Move to vsx.md.
+       * config/rs6000/vsx.md (UNSPEC_XXEVAL): Move from altivec.md.
+       (UNSPEC_XXSPLTIW): Move from altivec.md.
+       (UNSPEC_XXSPLTID): Move from altivec.md.
+       (UNSPEC_XXSPLTI32DX): Move from altivec.md.
+       (UNSPEC_XXBLEND): Move from altivec.md.
+       (UNSPEC_XXPERMX): Move from altivec.md.
+       (VM3): Move from altivec.md.
+       (VM3_char): Move from altivec.md.
+       (xxspltiw_v4si): Move from altivec.md.
+       (xxspltiw_v4sf): Move from altivec.md.
+       (xxspltiw_v4sf_inst): Move from altivec.md.
+       (xxspltidp_v2df): Move from altivec.md.
+       (xxspltidp_v2df_inst): Move from altivec.md.
+       (xxsplti32dx_v4si_inst): Move from altivec.md.
+       (xxsplti32dx_v4sf): Move from altivec.md.
+       (xxsplti32dx_v4sf_inst): Move from altivec.md.
+       (xxblend_<mode>): Move from altivec.md.
+       (xxpermx): Move from altivec.md.
+       (xxpermx_inst): Move from altivec.md.
+
+2021-08-19  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-vect-generic.c (expand_vector_operations_1): Use either
+       gimplify_build1 or gimplify_build2 instead of gimple_build_assign
+       when constructing scalar splat expressions.
+
+2021-08-19  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/101849
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Cast
+       pointer to __vector_pair *.
+
+2021-08-19  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-range.cc: Add comments.
+       * gimple-range.h: Same.
+
+2021-08-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101984
+       * gimple-ssa-warn-access.cc (pass_waccess::execute): Also call
+       disable_ranger.
+
+2021-08-19  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config.gcc (h8300-*-elf*): Do not include dbxelf.h.
+       (h8300-*-linux*, v850-*-rtems*, v850*-elf*): Likewise.
+       * config/v850/v850.h (DEFAULT_GDB_EXTENSIONS): Remove.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101950
+       * optabs.c (expand_clrsb_using_clz): New function.
+       (expand_unop): Use it as another clrsb expansion fallback.
+
+2021-08-19  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-07-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99881
+       * config/i386/i386.h (processor_costs): Add new member
+       integer_to_sse.
+       * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost,
+       i486_cost, pentium_cost, lakemont_cost, pentiumpro_cost,
+       geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost,
+       bdver_cost, znver1_cost, znver2_cost, znver3_cost,
+       btver1_cost, btver2_cost, btver3_cost, pentium4_cost,
+       nocona_cost, atom_cost, atom_cost, slm_cost, intel_cost,
+       generic_cost, core_cost): Initialize integer_to_sse same value
+       as sse_op.
+       (skylake_cost): Initialize integer_to_sse twice as much as sse_op.
+       * config/i386/i386.c (ix86_builtin_vectorization_cost):
+       Use integer_to_sse instead of sse_op to calculate the cost of
+       vec_construct.
+
+2021-08-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config.gcc: Include rpath.opt for Darwin.
+       * config/darwin.h (DRIVER_SELF_SPECS): Handle -rpath.
+
+2021-08-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR bootstrap/101959
+       * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor_expand):
+       Use an 'int_hash'.
+
+2021-08-18  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vld3_lane_f64): Use float RTL
+       pattern and type cast.
+       (vld4_lane_f32): Use float RTL pattern.
+       (vld4q_lane_f64): Use float type cast.
+
+2021-08-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Check also
+       EAF_NOREAD.
+
+2021-08-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Extend.
+       (test_map_of_type_with_ctor_and_dtor_expand): Add function.
+       (hash_map_tests_c_tests): Call it.
+
+2021-08-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * ggc.h (enum ggc_collect): New.
+       (ggc_collect): Use it.
+       * ggc-page.c: Adjust.
+       * ggc-common.c: Likewise.
+       * ggc-tests.c: Likewise.
+       * read-rtl-function.c: Likewise.
+       * selftest-run-tests.c: Likewise.
+       * doc/gty.texi (Invoking the garbage collector): Likewise.
+
+2021-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97147
+       * config/i386/i386.h (TARGET_V2DF_REDUCTION_PREFER_HADDPD):
+       New macro.
+       * config/i386/sse.md (*sse3_haddv2df3_low): Add
+       TARGET_V2DF_REDUCTION_PREFER_HADDPD.
+       (*sse3_hsubv2df3_low): Ditto.
+       * config/i386/x86-tune.def
+       (X86_TUNE_V2DF_REDUCTION_PREFER_HADDPD): New tune.
+
+2021-08-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute::gori_compute): Enable tracing.
+       (gori_compute::compute_operand_range): Add tracing.
+       (gori_compute::logical_combine): Ditto.
+       (gori_compute::compute_logical_operands): Ditto.
+       (gori_compute::compute_operand1_range): Ditto.
+       (gori_compute::compute_operand2_range): Ditto.
+       (gori_compute::outgoing_edge_range_p): Ditto.
+       * gimple-range-gori.h (class gori_compute): Add range_tracer.
+
+2021-08-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * flag-types.h (enum evrp_mode): Adjust evrp-mode values.
+       * gimple-range-cache.cc (DEBUG_RANGE_CACHE): Relocate from.
+       * gimple-range-trace.h (DEBUG_RANGE_CACHE): Here.
+       * params.opt (--param=evrp-mode): Adjust options.
+
+2021-08-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-range-trace.o.
+       * gimple-range-cache.h (enable_new_values): Remove unused prototype.
+       * gimple-range-fold.cc: Adjust headers.
+       * gimple-range-trace.cc: New.
+       * gimple-range-trace.h: New.
+       * gimple-range.cc (gimple_ranger::gimple_ranger): Enable tracer.
+       (gimple_ranger::range_of_expr): Add tracing.
+       (gimple_ranger::range_on_entry): Ditto.
+       (gimple_ranger::range_on_exit): Ditto.
+       (gimple_ranger::range_on_edge): Ditto.
+       (gimple_ranger::fold_range_internal): Ditto.
+       (gimple_ranger::dump_bb): Do not calculate edge range twice.
+       (trace_ranger::*): Remove.
+       (enable_ranger): Never create a trace_ranger.
+       (debug_seed_ranger): Move to gimple-range-trace.cc.
+       (dump_ranger): Ditto.
+       (debug_ranger): Ditto.
+       * gimple-range.h: Include gimple-range-trace.h.
+       (range_on_entry, range_on_exit): No longer virtual.
+       (class trace_ranger): Remove.
+       (DEBUG_RANGE_CACHE): Move to gimple-range-trace.h.
+
+2021-08-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101854
+       * builtins.c (expand_builtin_alloca): Move warning code to check_alloca
+       in gimple-ssa-warn-access.cc.
+       * calls.c (alloc_max_size): Move code to check_alloca.
+       (get_size_range): Move to pointer-query.cc.
+       (maybe_warn_alloc_args_overflow): Move to gimple-ssa-warn-access.cc.
+       (get_attr_nonstring_decl): Move to tree.c.
+       (fntype_argno_type): Move to gimple-ssa-warn-access.cc.
+       (append_attrname): Same.
+       (maybe_warn_rdwr_sizes): Same.
+       (initialize_argument_information): Move code to
+       gimple-ssa-warn-access.cc.
+       * calls.h (maybe_warn_alloc_args_overflow): Move to
+       gimple-ssa-warn-access.h.
+       (get_attr_nonstring_decl): Move to tree.h.
+       (maybe_warn_nonstring_arg):  Move to gimple-ssa-warn-access.h.
+       (enum size_range_flags): Move to pointer-query.h.
+       (get_size_range): Same.
+       * gimple-ssa-warn-access.cc (has_location): Remove unused overload
+       to avoid Clang -Wunused-function.
+       (get_size_range): Declare static.
+       (maybe_emit_free_warning): Rename...
+       (maybe_check_dealloc_call): ...to this for consistency.
+       (class pass_waccess): Add members.
+       (pass_waccess::~pass_waccess): Defined.
+       (alloc_max_size): Move here from calls.c.
+       (maybe_warn_alloc_args_overflow): Same.
+       (check_alloca): New function.
+       (check_alloc_size_call): New function.
+       (check_strncat): Handle another warning flag.
+       (pass_waccess::check_builtin): Handle alloca.
+       (fntype_argno_type): Move here from calls.c.
+       (append_attrname): Same.
+       (maybe_warn_rdwr_sizes): Same.
+       (pass_waccess::check_call): Define.
+       (check_nonstring_args): New function.
+       (pass_waccess::check): Call new member functions.
+       (pass_waccess::execute): Enable ranger.
+       * gimple-ssa-warn-access.h (get_size_range): Move here from calls.h.
+       (maybe_warn_nonstring_arg): Same.
+       * gimple-ssa-warn-restrict.c: Remove #include.
+       * pointer-query.cc (get_size_range): Move here from calls.c.
+       * pointer-query.h (enum size_range_flags): Same.
+       (get_size_range): Same.
+       * tree.c (get_attr_nonstring_decl): Move here from calls.c.
+       * tree.h (get_attr_nonstring_decl): Move here from calls.h.
+
+2021-08-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * ggc.h (ggc_collect): Add 'force_collect' parameter.
+       * ggc-page.c (ggc_collect): Use that one instead of global
+       'ggc_force_collect'.  Adjust all users.
+       * doc/gty.texi (Invoking the garbage collector): Update.
+       * ggc-internal.h (ggc_force_collect): Remove.
+       * ggc-common.c (ggc_force_collect): Likewise.
+       * selftest.h (forcibly_ggc_collect): Remove.
+       * ggc-tests.c (selftest::forcibly_ggc_collect): Likewise.
+       * read-rtl-function.c (test_loading_labels): Adjust.
+       * selftest-run-tests.c (run_tests): Likewise.
+
+2021-08-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_file_end): Reset and reclaim the
+       section names table at the end of compile.
+
+2021-08-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/100340
+       * config.in: Regenerate.
+       * config/i386/darwin.h (EXTRA_ASM_OPTS): New
+       (ASM_SPEC): Pass options to disable branch shortening where
+       needed.
+       * configure: Regenerate.
+       * configure.ac: Detect versions of 'as' that support the
+       optimisation which has the bug.
+
+2021-08-17  Richard Biener  <rguenther@suse.de>
+
+       * optabs-query.c (supports_vec_gather_load_p): Also check
+       for masked optabs.
+       (supports_vec_scatter_store_p): Likewise.
+       * tree-vect-data-refs.c (vect_gather_scatter_fn_p): Fall
+       back to masked variants if non-masked are not supported.
+       * tree-vect-patterns.c (vect_recog_gather_scatter_pattern):
+       When we need to use masked gather/scatter but do not have
+       a mask set up a constant true one.
+       * tree-vect-stmts.c (vect_check_scalar_mask): Also allow
+       non-SSA_NAME masks.
+
+2021-08-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-ccp.c (bit_value_binop) [MINUS_EXPR]: Use same
+       algorithm as PLUS_EXPR to improve subtraction bit bounds.
+       [POINTER_DIFF_EXPR]: Treat as synonymous with MINUS_EXPR.
+
+2021-08-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-ccp.c (bit_value_mult_const): New helper function to
+       calculate the mask-value pair result of a multiplication by an
+       unsigned constant.
+       (bit_value_binop) [MULT_EXPR]:  Call it from here for
+       multiplications by (sparse) non-negative constants.
+
+2021-08-17  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR target/100896
+       * config.gcc (gcc_cv_initfini_array): Leave undefined for
+       uclinuxfdpiceabi targets.
+
+2021-08-17  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-inline.c (maybe_move_debug_stmts_to_successors): Don't
+       reverse debug stmts.
+
+2021-08-17  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-cfg.c (dump_function_to_file): Use fun, not cfun.
+
+2021-08-17  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__LD4_LANE_FUNC): Delete.
+       (__LD4Q_LANE_FUNC): Likewise.
+       (vld4_lane_u8): Define without macro.
+       (vld4_lane_u16): Likewise.
+       (vld4_lane_u32): Likewise.
+       (vld4_lane_u64): Likewise.
+       (vld4_lane_s8): Likewise.
+       (vld4_lane_s16): Likewise.
+       (vld4_lane_s32): Likewise.
+       (vld4_lane_s64): Likewise.
+       (vld4_lane_f16): Likewise.
+       (vld4_lane_f32): Likewise.
+       (vld4_lane_f64): Likewise.
+       (vld4_lane_p8): Likewise.
+       (vld4_lane_p16): Likewise.
+       (vld4_lane_p64): Likewise.
+       (vld4q_lane_u8): Likewise.
+       (vld4q_lane_u16): Likewise.
+       (vld4q_lane_u32): Likewise.
+       (vld4q_lane_u64): Likewise.
+       (vld4q_lane_s8): Likewise.
+       (vld4q_lane_s16): Likewise.
+       (vld4q_lane_s32): Likewise.
+       (vld4q_lane_s64): Likewise.
+       (vld4q_lane_f16): Likewise.
+       (vld4q_lane_f32): Likewise.
+       (vld4q_lane_f64): Likewise.
+       (vld4q_lane_p8): Likewise.
+       (vld4q_lane_p16): Likewise.
+       (vld4q_lane_p64): Likewise.
+       (vld4_lane_bf16): Likewise.
+       (vld4q_lane_bf16): Likewise.
+
+2021-08-17  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__LD3_LANE_FUNC): Delete.
+       (__LD3Q_LANE_FUNC): Delete.
+       (vld3_lane_u8): Define without macro.
+       (vld3_lane_u16): Likewise.
+       (vld3_lane_u32): Likewise.
+       (vld3_lane_u64): Likewise.
+       (vld3_lane_s8): Likewise.
+       (vld3_lane_s16): Likewise.
+       (vld3_lane_s32): Likewise.
+       (vld3_lane_s64): Likewise.
+       (vld3_lane_f16): Likewise.
+       (vld3_lane_f32): Likewise.
+       (vld3_lane_f64): Likewise.
+       (vld3_lane_p8): Likewise.
+       (vld3_lane_p16): Likewise.
+       (vld3_lane_p64): Likewise.
+       (vld3q_lane_u8): Likewise.
+       (vld3q_lane_u16): Likewise.
+       (vld3q_lane_u32): Likewise.
+       (vld3q_lane_u64): Likewise.
+       (vld3q_lane_s8): Likewise.
+       (vld3q_lane_s16): Likewise.
+       (vld3q_lane_s32): Likewise.
+       (vld3q_lane_s64): Likewise.
+       (vld3q_lane_f16): Likewise.
+       (vld3q_lane_f32): Likewise.
+       (vld3q_lane_f64): Likewise.
+       (vld3q_lane_p8): Likewise.
+       (vld3q_lane_p16): Likewise.
+       (vld3q_lane_p64): Likewise.
+       (vld3_lane_bf16): Likewise.
+       (vld3q_lane_bf16): Likewise.
+
+2021-08-17  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Delete.
+       (__LD2Q_LANE_FUNC): Likewise.
+       (vld2_lane_u8): Define without macro.
+       (vld2_lane_u16): Likewise.
+       (vld2_lane_u32): Likewise.
+       (vld2_lane_u64): Likewise.
+       (vld2_lane_s8): Likewise.
+       (vld2_lane_s16): Likewise.
+       (vld2_lane_s32): Likewise.
+       (vld2_lane_s64): Likewise.
+       (vld2_lane_f16): Likewise.
+       (vld2_lane_f32): Likewise.
+       (vld2_lane_f64): Likewise.
+       (vld2_lane_p8): Likewise.
+       (vld2_lane_p16): Likewise.
+       (vld2_lane_p64): Likewise.
+       (vld2q_lane_u8): Likewise.
+       (vld2q_lane_u16): Likewise.
+       (vld2q_lane_u32): Likewise.
+       (vld2q_lane_u64): Likewise.
+       (vld2q_lane_s8): Likewise.
+       (vld2q_lane_s16): Likewise.
+       (vld2q_lane_s32): Likewise.
+       (vld2q_lane_s64): Likewise.
+       (vld2q_lane_f16): Likewise.
+       (vld2q_lane_f32): Likewise.
+       (vld2q_lane_f64): Likewise.
+       (vld2q_lane_p8): Likewise.
+       (vld2q_lane_p16): Likewise.
+       (vld2q_lane_p64): Likewise.
+       (vld2_lane_bf16): Likewise.
+       (vld2q_lane_bf16): Likewise.
+
+2021-08-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       * haifa-sched.c (advance_one_cycle): Output more context-synchronization
+       lines for diff.
+
+2021-08-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       * haifa-sched.c (enum rfs_decision, rfs_str): Add RFS_AUTOPREF.
+       (rank_for_schedule): Use it.
+
+2021-08-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       PR rtl-optimization/91598
+       * haifa-sched.c (autopref_rank_for_schedule): Prioritize "irrelevant"
+       insns after memory reads and before memory writes.
+
+2021-08-17  Alistair_Lee  <alistair.lee@arm.com>
+
+       * rtl.h (CONST_VECTOR_P): New macro.
+       * config/aarch64/aarch64.c (aarch64_get_sve_pred_bits): Use RTL
+       code testing macros.
+       (aarch64_ptrue_all_mode): Likewise.
+       (aarch64_expand_mov_immediate): Likewise.
+       (aarch64_const_vec_all_in_range_p): Likewise.
+       (aarch64_rtx_costs): Likewise.
+       (aarch64_legitimate_constant_p): Likewise.
+       (aarch64_simd_valid_immediate): Likewise.
+       (aarch64_simd_make_constant): Likewise.
+       (aarch64_convert_mult_to_shift): Likewise.
+       (aarch64_expand_sve_vec_perm): Likewise.
+       (aarch64_vec_fpconst_pow_of_2): Likewise.
+
+2021-08-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101938
+       * range-op.cc (operator_abs::op1_range): Special case
+       -TYPE_MIN_VALUE for flag_wrapv.
+
+2021-08-17  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-slp.c (vectorizable_bb_reduc_epilogue): Add the cost for
+       value extraction.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.def (OMP_SCOPE): New tree code.
+       * tree.h (OMP_SCOPE_BODY, OMP_SCOPE_CLAUSES): Define.
+       * tree-nested.c (convert_nonlocal_reference_stmt,
+       convert_local_reference_stmt, convert_gimple_call): Handle
+       GIMPLE_OMP_SCOPE.
+       * tree-pretty-print.c (dump_generic_node): Handle OMP_SCOPE.
+       * gimple.def (GIMPLE_OMP_SCOPE): New gimple code.
+       * gimple.c (gimple_build_omp_scope): New function.
+       (gimple_copy): Handle GIMPLE_OMP_SCOPE.
+       * gimple.h (gimple_build_omp_scope): Declare.
+       (gimple_has_substatements): Handle GIMPLE_OMP_SCOPE.
+       (gimple_omp_scope_clauses, gimple_omp_scope_clauses_ptr,
+       gimple_omp_scope_set_clauses): New inline functions.
+       (CASE_GIMPLE_OMP): Add GIMPLE_OMP_SCOPE.
+       * gimple-pretty-print.c (dump_gimple_omp_scope): New function.
+       (pp_gimple_stmt_1): Handle GIMPLE_OMP_SCOPE.
+       * gimple-walk.c (walk_gimple_stmt): Likewise.
+       * gimple-low.c (lower_stmt): Likewise.
+       * gimplify.c (is_gimple_stmt): Handle OMP_MASTER.
+       (gimplify_scan_omp_clauses): For task reductions, handle OMP_SCOPE
+       like ORT_WORKSHARE constructs.  Adjust diagnostics for %<scope%>
+       allowing task reductions.  Reject inscan reductions on scope.
+       (omp_find_stores_stmt): Handle GIMPLE_OMP_SCOPE.
+       (gimplify_omp_workshare, gimplify_expr): Handle OMP_SCOPE.
+       * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_SCOPE.
+       (estimate_num_insns): Likewise.
+       * omp-low.c (build_outer_var_ref): Look through GIMPLE_OMP_SCOPE
+       contexts if var isn't privatized there.
+       (check_omp_nesting_restrictions): Handle GIMPLE_OMP_SCOPE.
+       (scan_omp_1_stmt): Likewise.
+       (maybe_add_implicit_barrier_cancel): Look through outer
+       scope constructs.
+       (lower_omp_scope): New function.
+       (lower_omp_task_reductions): Handle OMP_SCOPE.
+       (lower_omp_1): Handle GIMPLE_OMP_SCOPE.
+       (diagnose_sb_1, diagnose_sb_2): Likewise.
+       * omp-expand.c (expand_omp_single): Support also GIMPLE_OMP_SCOPE.
+       (expand_omp): Handle GIMPLE_OMP_SCOPE.
+       (omp_make_gimple_edges): Likewise.
+       * omp-builtins.def (BUILT_IN_GOMP_SCOPE_START): New built-in.
+
+2021-08-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101925
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Set
+       reverse on COMPONENT_REF and ARRAY_REF according to
+       what reverse_storage_order_for_component_p does.
+       (vn_reference_eq): Compare reversed on reference ops.
+       (reverse_storage_order_for_component_p): New overload.
+       (vn_reference_lookup_3): Check reverse_storage_order_for_component_p
+       on the reference looked up.
+
+2021-08-17  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/h8300.c (shift_alg_si): Avoid loops for most SImode
+       shifts on the H8/S.
+       (h8300_option_override): Use loops on H8/S more often when optimizing
+       for size.
+       (get_shift_alg): Handle new "special" cases on H8/S.  Simplify
+       accordingly.  Handle various arithmetic right shifts with special
+       sequences that we couldn't handle before.
+
+2021-08-16  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config.gcc (rl78-*-elf*): Do not include dbxelf.h.
+
+2021-08-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/sparc/rtemself.h (SPARC_GCOV_TYPE_SIZE): Define.
+       * config/sparc/sparc.c (sparc_gcov_type_size): New.
+       (TARGET_GCOV_TYPE_SIZE): Redefine if SPARC_GCOV_TYPE_SIZE is defined.
+       * coverage.c (get_gcov_type): Use targetm.gcov_type_size().
+       * doc/tm.texi (TARGET_GCOV_TYPE_SIZE): Add hook under "Misc".
+       * doc/tm.texi.in: Regenerate.
+       * target.def (gcov_type_size): New target hook.
+       * targhooks.c (default_gcov_type_size): New.
+       * targhooks.h (default_gcov_type_size): Declare.
+       * tree-profile.c (gimple_gen_edge_profiler): Use precision of
+       gcov_type_node.
+       (gimple_gen_time_profiler): Likewise.
+
+2021-08-16  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * dwarf2out.c (add_scalar_info): Deal with DW_AT_data_bit_offset.
+
+2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/101931
+       * omp-low.c (omp_runtime_api_call): Update for routines
+       added in the meanwhile.
+
+2021-08-16  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/100393
+       * tree-switch-conversion.c (group_cluster::dump): Use
+         get_comparison_count.
+       (jump_table_cluster::find_jump_tables): Pre-compute number of
+       comparisons and then decrement it. Cache also max_ratio.
+       (jump_table_cluster::can_be_handled): Change signature.
+       * tree-switch-conversion.h (get_comparison_count): New.
+
+2021-08-16  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * dwarf2out.c (add_data_member_location_attribute): Use GNAT
+       encodings only when -fgnat-encodings=all is specified.
+       (add_bound_info): Likewise.
+       (add_byte_size_attribute): Likewise.
+       (gen_member_die): Likewise.
+
+2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-neuter-broadcast.cc
+       (execute_omp_oacc_neuter_broadcast): Plug 'par' memory leak.
+
+2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-neuter-broadcast.cc
+       (execute_omp_oacc_neuter_broadcast): Clarify memory management for
+       'prop_set'.
+
+2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-oacc-neuter-broadcast.cc (field_map): Move variable into...
+       (execute_omp_oacc_neuter_broadcast): ... here.
+       (install_var_field, build_receiver_ref, build_sender_ref): Take
+       'field_map_t *' parameter.  Adjust all users.
+       (worker_single_copy, neuter_worker_single): Take a
+       'record_field_map_t *' parameter.  Adjust all users.
+
+2021-08-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101930
+       * config/i386/i386.md (ldexp<mode>3): Force operands[1] to
+       reg.
+
+2021-08-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/101726
+       * multiple_target.c (create_dispatcher_calls): Make default
+         function local only if it is a definition.
+
+2021-08-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/100600
+       * ipa-icf-gimple.c (func_checker::compare_ssa_name): Do not
+         consider equal SSA_NAMEs when one is a param.
+
+2021-08-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101846
+       * config/i386/i386-expand.c (ix86_expand_vec_perm_vpermt2):
+       Support vpermi2b for V32QI/V16QImode.
+       (ix86_extract_perm_from_pool_constant): New function.
+       (ix86_expand_vec_one_operand_perm_avx512): Support
+       vpermw/vpermb under TARGET_AVX512BW/TARGET_AVX512VBMI.
+       (expand_vec_perm_1): Adjust comments for upper.
+       * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant):
+       New declare.
+       * config/i386/predicates.md (permvar_truncate_operand): New predicate.
+       (pshufb_truncv4siv4hi_operand): Ditto.
+       (pshufb_truncv8hiv8qi_operand): Ditto.
+       * config/i386/sse.md (*avx512bw_permvar_truncv16siv16hi_1):
+       New pre_reload define_insn_and_split.
+       (*avx512f_permvar_truncv8siv8hi_1): Ditto.
+       (*avx512f_vpermvar_truncv8div8si_1): Ditto.
+       (*avx512f_permvar_truncv32hiv32qi_1): Ditto.
+       (*avx512f_permvar_truncv16hiv16qi_1): Ditto.
+       (*avx512f_permvar_truncv4div4si_1): Ditto.
+       (*avx512f_pshufb_truncv8hiv8qi_1): Ditto.
+       (*avx512f_pshufb_truncv4siv4hi_1): Ditto.
+       (*avx512f_pshufd_truncv2div2si_1): Ditto.
+
+2021-08-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator: Support code model option for
+       multi-lib.
+       * doc/install.texi: Add document of new option for
+       --with-multilib-generator.
+
+2021-08-15  Clément Chigot  <clement.chigot@atos.net>
+
+       * config/rs6000/rs6000.c (xcoff_tls_exec_model_detected): New.
+       (rs6000_legitimize_tls_address_aix): Use it.
+       (rs6000_xcoff_file_end): Add ".ref __tls_get_addr" when
+       xcoff_tls_exec_model_detected is true.
+
+2021-08-15  Jeff Law  <jlaw@localhost.localdomain>
+
+       * config/h8300/h8300.c (shift_alg_si): Retune H8/300H shifts
+       to allow a bit more code growth, saving many dozens of cycles.
+       (h8300_option_override): Adjus shift_alg_si if optimizing for
+       code size.
+       (get_shift_alg): Use special + inline shifts for residuals
+       in more cases.
+
+2021-08-14  Stafford Horne  <shorne@gmail.com>
+
+       PR target/99783
+       * config/or1k/or1k-opts.h: New file.
+       * config/or1k/or1k.c (or1k_legitimize_address_1, print_reloc):
+       Support generating gotha relocations if -mcmodel=large is
+       specified.
+       * config/or1k/or1k.h (TARGET_CMODEL_SMALL, TARGET_CMODEL_LARGE):
+       New macros.
+       * config/or1k/or1k.opt (mcmodel=): New option.
+       * doc/invoke.texi (OpenRISC Options): Document mcmodel.
+
+2021-08-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101791
+       * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Use new argument
+       to valid_new_delete_pair_p.
+       * tree.c (valid_new_delete_pair_p): Add argument.
+       * tree.h (valid_new_delete_pair_p): Same.
+
+2021-08-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101896
+       * config/i386/i386-expand.c (expand_vec_perm_broadcast_1)
+       <case E_V64QImode>: For this mode assert
+       !TARGET_AVX512BW || d->perm[0] rather than !TARGET_AVX2 || d->perm[0].
+
+2021-08-13  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/99921
+       * config/rs6000/altivec.md (xxeval): Use register_predicate
+       instead of altivec_register_predicate.
+
+2021-08-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101734
+       * tree-ssa-uninit.c (maybe_warn_read_write_only): New function.
+       (maybe_warn_operand): Call it.
+
+2021-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/101354
+       * attribs.c (decl_attributes): Make naked functions "noipa"
+         functions.
+
+2021-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/101261
+       * symtab.c (symtab_node::noninterposable_alias): Do not create
+         local aliases for target_clone functions as the clonning pass
+         rejects aliases.
+
+2021-08-13  Martin Liska  <mliska@suse.cz>
+
+       * opts.c (LIVE_PATCHING_OPTION): Define.
+       (control_options_for_live_patching): Use it in error messages.
+
+2021-08-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (dump_eaf_flags): Dump EAF_NOREAD.
+       (implicit_const_eaf_flags, implicit_pure_eaf_flags,
+        ignore_stores_eaf_flags): New constants.
+       (remove_useless_eaf_flags): New function.
+       (eaf_flags_useful_p): Use it.
+       (deref_flags): Add EAF_NOT_RETURNED if flag is unused;
+       handle EAF_NOREAD.
+       (modref_lattice::init): Add EAF_NOREAD.
+       (modref_lattice::add_escape_point): Do not reacord escape point if
+       result is unused.
+       (modref_lattice::merge): EAF_NOESCAPE implies EAF_NODIRECTESCAPE;
+       use remove_useless_eaf_flags.
+       (modref_lattice::merge_deref): Use ignore_stores_eaf_flags.
+       (modref_lattice::merge_direct_load): Add EAF_NOREAD
+       (analyze_ssa_name_flags): Fix handling EAF_NOT_RETURNED
+       (analyze_parms): Use remove_useless_eaf_flags.
+       (ipa_merge_modref_summary_after_inlining): Use ignore_stores_eaf_flags.
+       (modref_merge_call_site_flags): Add caller and ecf_flags parameter;
+       use remove_useless_eaf_flags.
+       (modref_propagate_flags_in_scc): Update.
+       * ipa-modref.h: Turn eaf_flags_t back to char.
+       * tree-core.h (EAF_NOT_RETURNED): Fix.
+       (EAF_NOREAD): New constant
+       * tree-ssa-alias.c: (ref_maybe_used_by_call_p_1): Check for
+       EAF_NOREAD.
+       * tree-ssa-structalias.c (handle_rhs_call): Handle new flags.
+       (handle_pure_call): Likewise.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.def (OMP_MASKED): New tree code.
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_FILTER.
+       * tree.h (OMP_MASKED_BODY, OMP_MASKED_CLAUSES, OMP_MASKED_COMBINED,
+       OMP_CLAUSE_FILTER_EXPR): Define.
+       * tree.c (omp_clause_num_ops): Add OMP_CLAUSE_FILTER entry.
+       (omp_clause_code_name): Likewise.
+       (walk_tree_1): Handle OMP_CLAUSE_FILTER.
+       * tree-nested.c (convert_nonlocal_omp_clauses,
+       convert_local_omp_clauses): Handle OMP_CLAUSE_FILTER.
+       (convert_nonlocal_reference_stmt, convert_local_reference_stmt,
+       convert_gimple_call): Handle GIMPLE_OMP_MASTER.
+       * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_FILTER.
+       (dump_generic_node): Handle OMP_MASTER.
+       * gimple.def (GIMPLE_OMP_MASKED): New gimple code.
+       * gimple.c (gimple_build_omp_masked): New function.
+       (gimple_copy): Handle GIMPLE_OMP_MASKED.
+       * gimple.h (gimple_build_omp_masked): Declare.
+       (gimple_has_substatements): Handle GIMPLE_OMP_MASKED.
+       (gimple_omp_masked_clauses, gimple_omp_masked_clauses_ptr,
+       gimple_omp_masked_set_clauses): New inline functions.
+       (CASE_GIMPLE_OMP): Add GIMPLE_OMP_MASKED.
+       * gimple-pretty-print.c (dump_gimple_omp_masked): New function.
+       (pp_gimple_stmt_1): Handle GIMPLE_OMP_MASKED.
+       * gimple-walk.c (walk_gimple_stmt): Likewise.
+       * gimple-low.c (lower_stmt): Likewise.
+       * gimplify.c (is_gimple_stmt): Handle OMP_MASTER.
+       (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_FILTER.  For clauses
+       that take one expression rather than decl or constant, force
+       gimplification of that into a SSA_NAME or temporary unless min
+       invariant.
+       (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_FILTER.
+       (gimplify_expr): Handle OMP_MASKED.
+       * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_MASKED.
+       (estimate_num_insns): Likewise.
+       * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_FILTER.
+       (check_omp_nesting_restrictions): Handle GIMPLE_OMP_MASKED.  Adjust
+       diagnostics for existence of masked construct.
+       (scan_omp_1_stmt, lower_omp_master, lower_omp_1, diagnose_sb_1,
+       diagnose_sb_2): Handle GIMPLE_OMP_MASKED.
+       * omp-expand.c (expand_omp_synch, expand_omp, omp_make_gimple_edges):
+       Likewise.
+
+2021-08-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98309
+       * config/i386/i386.md (avx512f_scalef<mode>2): New insn pattern.
+       (ldexp<mode>3): Use avx512f_scalef<mode>2.
+       (UNSPEC_SCALEF): Move from ...
+       * config/i386/sse.md (UNSPEC_SCALEF): ... here.
+
+2021-08-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-split.c (consider_split): Fix condition testing void functions.
+
+2021-08-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/invoke.texi: Remove docs for threader-mode param.
+       * flag-types.h (enum threader_mode): Remove.
+       * params.opt: Remove threader-mode param.
+       * tree-ssa-threadbackward.c (class back_threader): Remove
+       path_is_unreachable_p.
+       Make find_paths private.
+       Add maybe_thread and thread_through_all_blocks.
+       Remove reference marker for m_registry.
+       Remove reference marker for m_profit.
+       (back_threader::back_threader): Adjust for registry and profit not
+       being references.
+       (dump_path): Move down.
+       (debug): Move down.
+       (class thread_jumps): Remove.
+       (class back_threader_registry): Remove m_all_paths.
+       Remove destructor.
+       (thread_jumps::thread_through_all_blocks): Move to back_threader
+       class.
+       (fsm_find_thread_path): Remove
+       (back_threader::maybe_thread): New.
+       (back_threader::thread_through_all_blocks): Move from
+       thread_jumps.
+       (back_threader_registry::back_threader_registry): Remove
+       m_all_paths.
+       (back_threader_registry::~back_threader_registry): Remove.
+       (thread_jumps::find_taken_edge): Remove.
+       (thread_jumps::check_subpath_and_update_thread_path): Remove.
+       (thread_jumps::maybe_register_path): Remove.
+       (thread_jumps::handle_phi): Remove.
+       (handle_assignment_p): Remove.
+       (thread_jumps::handle_assignment): Remove.
+       (thread_jumps::fsm_find_control_statement_thread_paths): Remove.
+       (thread_jumps::find_jump_threads_backwards): Remove.
+       (thread_jumps::find_jump_threads_backwards_with_ranger): Remove.
+       (try_thread_blocks): Rename find_jump_threads_backwards to
+       maybe_thread.
+       (pass_early_thread_jumps::execute): Same.
+
+2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * tree-core.h (omp_clause_proc_bind_kind): Add
+       OMP_CLAUSE_PROC_BIND_PRIMARY.
+       * tree-pretty-print.c (dump_omp_clause): Add TODO comment to
+       change 'master' to 'primary' in proc_bind for OpenMP 5.1.
+
+2021-08-12  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * common/config/arc/arc-common.c (arc_option_init_struct): Remove
+       fno-common reference.
+       * config/arc/arc.c (arc_override_options): Remove overriding of
+       flag_no_common.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101860
+       * config/i386/i386-expand.c (ix86_expand_vec_one_operand_perm_avx512):
+       If d->testing_p, return true after performing checks instead of
+       actually expanding the insn.
+       (expand_vec_perm_broadcast_1): Handle V32HImode - assert
+       !TARGET_AVX512BW and return false.
+
+2021-08-12  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * configure.ac (PE linker --disable-dynamicbase support): New check.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * config/i386/mingw32.h (LINK_SPEC_DISABLE_DYNAMICBASE): New define.
+       (LINK_SPEC): Use it.
+       * config/i386/mingw-w64.h (LINK_SPEC_DISABLE_DYNAMICBASE): Likewise.
+       (LINK_SPEC): Likewise.
+
+2021-08-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101846
+       * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_2): New
+       post_reload define_insn_and_split.
+       (*avx512bw_zero_extendv32qiv32hi2_2): Ditto.
+       (*sse4_1_zero_extendv8qiv8hi2_4): Ditto.
+       (*avx512f_zero_extendv16hiv16si2_2): Ditto.
+       (*avx2_zero_extendv8hiv8si2_2): Ditto.
+       (*sse4_1_zero_extendv4hiv4si2_4): Ditto.
+       (*avx512f_zero_extendv8siv8di2_2): Ditto.
+       (*avx2_zero_extendv4siv4di2_2): Ditto.
+       (*sse4_1_zero_extendv2siv2di2_4): Ditto.
+       (VI248_256, VI248_512, VI148_512, VI148_256, VI148_128): New
+       mode iterator.
+
+2021-08-11  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add always, power5, and
+       power6 stanzas.
+
+2021-08-11  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Add vsx stanza.
+
+2021-08-11  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza.
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move
+       initialization of pcvoid_type_node here...
+       (altivec_init_builtins): ...from here.
+       * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add
+       RS6000_BTI_const_ptr_void.
+       (pcvoid_type_node): New macro.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       PR target/101877
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Do not decompose
+       hard-register accesses.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (operands_scanner::get_expr_operands):
+       Do not look at COMPONENT_REF FIELD_DECLs TREE_THIS_VOLATILE
+       to determine has_volatile_ops.
+
+2021-08-11  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * cfgexpand.c (expand_used_vars): Reuse attribs local variable.
+
+2021-08-11  Jan Hubicka  <hubicka@ucw.cz>
+           Alexandre Oliva  <oliva@adacore.com>
+
+       * ipa-modref.c (modref_lattice::dump): Fix escape_point's min_flags
+       dumping.
+       (modref_lattice::merge_deref): Fix handling of indirect scape points.
+       (update_escape_summary_1): Likewise.
+       (update_escape_summary): Likewise.
+       (ipa_merge_modref_summary_after_inlining): Likewise.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101858
+       * fold-const.c (fold_binary_loc): Guard simplification
+       of  X < (cast) (1 << Y) to integer types.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101861
+       * tree-vect-stmts.c (vectorizable_load): Fix error in
+       previous change with regard to gather vectorization.
+
+2021-08-11  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h (vdup_n_s8): Replace call to builtin
+       with constructor.
+       (vdup_n_s16): Likewise.
+       (vdup_n_s32): Likewise.
+       (vdup_n_s64): Likewise.
+       (vdup_n_u8): Likewise.
+       (vdup_n_u16): Likewise.
+       (vdup_n_u32): Likewise.
+       (vdup_n_u64): Likewise.
+       (vdup_n_p8): Likewise.
+       (vdup_n_p16): Likewise.
+       (vdup_n_p64): Likewise.
+       (vdup_n_f16): Likewise.
+       (vdup_n_f32): Likewise.
+       (vdupq_n_s8): Likewise.
+       (vdupq_n_s16): Likewise.
+       (vdupq_n_s32): Likewise.
+       (vdupq_n_s64): Likewise.
+       (vdupq_n_u8): Likewise.
+       (vdupq_n_u16): Likewise.
+       (vdupq_n_u32): Likewise.
+       (vdupq_n_u64): Likewise.
+       (vdupq_n_p8): Likewise.
+       (vdupq_n_p16): Likewise.
+       (vdupq_n_p64): Likewise.
+       (vdupq_n_f16): Likewise.
+       (vdupq_n_f32): Likewise.
+       (vmov_n_s8): Replace call to builtin with call to corresponding
+       vdup_n intrinsic.
+       (vmov_n_s16): Likewise.
+       (vmov_n_s32): Likewise.
+       (vmov_n_s64): Likewise.
+       (vmov_n_u8): Likewise.
+       (vmov_n_u16): Likewise.
+       (vmov_n_u32): Likewise.
+       (vmov_n_u64): Likewise.
+       (vmov_n_p8): Likewise.
+       (vmov_n_p16): Likewise.
+       (vmov_n_f16): Likewise.
+       (vmov_n_f32): Likewise.
+       (vmovq_n_s8): Likewise.
+       (vmovq_n_s16): Likewise.
+       (vmovq_n_s32): Likewise.
+       (vmovq_n_s64): Likewise.
+       (vmovq_n_u8): Likewise.
+       (vmovq_n_u16): Likewise.
+       (vmovq_n_u32): Likewise.
+       (vmovq_n_u64): Likewise.
+       (vmovq_n_p8): Likewise.
+       (vmovq_n_p16): Likewise.
+       (vmovq_n_f16): Likewise.
+       (vmovq_n_f32): Likewise.
+       * config/arm/arm_neon_builtins.def: Remove entries for vdup_n.
+
+2021-08-11  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98309
+       * config/i386/i386.md (ldexp<mode>3): Extend to vscalefs[sd]
+       when TARGET_AVX512F and TARGET_SSE_MATH.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/80355
+       * config/i386/i386-expand.c (expand_vec_perm_even_odd): Return false
+       for V32HImode if !TARGET_AVX512BW.
+       (ix86_vectorize_vec_perm_const) <case E_V32HImode, case E_V64QImode>:
+       If !TARGET_AVX512BW and TARGET_AVX512F and d.testing_p, don't fail
+       early, but actually check the permutation.
+
+2021-08-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101809
+       * tree-vect-stmts.c (get_load_store_type): Allow emulated
+       gathers with offset vector nunits being a constant multiple
+       of the data vector nunits.
+       (vect_get_gather_scatter_ops): Use the appropriate nunits
+       for the offset vector defs.
+       (vectorizable_store): Adjust call to
+       vect_get_gather_scatter_ops.
+       (vectorizable_load): Likewise.  Handle the case of less
+       offset vectors than data vectors.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/80355
+       * config/i386/sse.md (*avx512f_shuf_<shuffletype>64x2_1<mask_name>_1,
+       *avx512f_shuf_<shuffletype>32x4_1<mask_name>_1): New define_insn
+       patterns.
+
+2021-08-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101801
+       PR tree-optimization/101819
+       * tree-vectorizer.h (vect_emulated_vector_p): Declare.
+       * tree-vect-loop.c (vect_emulated_vector_p): New function.
+       (vectorizable_reduction): Re-instantiate a check for emulated
+       operations.
+       * tree-vect-stmts.c (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.  Cost emulated vector
+       operations according to the scalar sequence synthesized by
+       vector lowering.
+
+2021-08-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101824
+       * tree-nested.c (get_frame_field): Mark the COMPONENT_REF as
+       volatile in case the variable was.
+
+2021-08-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101804
+       * config/i386/constraints.md (BC): Document for integer SSE
+       constant all bits set operand.
+       (BF): New constraint for const floating-point all bits set
+       vectors.
+       * config/i386/i386.c (standard_sse_constant_p): Likewise.
+       (standard_sse_constant_opcode): Likewise.
+       * config/i386/sse.md (sseconstm1): New mode attribute.
+       (mov<mode>_internal): Replace BC with <sseconstm1>.
+
+2021-08-10  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<insn><mode>): New expander.
+       (VI248_AVX512VLBW): New mode iterator.
+       * config/i386/predicates.md
+       (nonimmediate_or_const_vec_dup_operand): New predicate.
+
+2021-08-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101741
+       * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Check
+       type of parameter for toupper/tolower.
+
+2021-08-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR testsuite/101654
+       * ipa-prop.c (propagate_controlled_uses): Removed a spurious space.
+
+2021-08-09  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (is_load_insn1): Verify destination is a
+       register.
+       (is_store_insn1): Verify source is a register.
+
+2021-08-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101812
+       * config/i386/mmx.md (<any_logic:code>v2sf3):
+       Rename from *mmx_<any_logic:code>v2sf3
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/nvptx/nvptx.c: Cross-reference parts adapted in
+       'gcc/omp-oacc-neuter-broadcast.cc'.
+       * omp-low.c: Likewise.
+       * omp-oacc-neuter-broadcast.cc: Cross-reference parts adapted from
+       the above files.
+
+2021-08-09  Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_init_builtins): Override decls for
+       BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START,
+       BUILT_IN_GOACC_SINGLE_COPY_END and BUILT_IN_GOACC_BARRIER.
+       (gcn_goacc_validate_dims): Turn on worker partitioning unconditionally.
+       (gcn_fork_join): Update comment.
+       * config/gcn/gcn.opt (flag_worker_partitioning): Remove.
+       (macc_experimental_workers): Remove unused option.
+
+2021-08-09  Julian Brown  <julian@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com> (via 'gcc/config/nvptx/nvptx.c' master)
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * Makefile.in (OBJS): Add omp-oacc-neuter-broadcast.o.
+       * doc/tm.texi.in (TARGET_GOACC_CREATE_WORKER_BROADCAST_RECORD):
+       Add documentation hook.
+       * doc/tm.texi: Regenerate.
+       * omp-oacc-neuter-broadcast.cc: New file.
+       * omp-builtins.def (BUILT_IN_GOACC_BARRIER)
+       (BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START)
+       (BUILT_IN_GOACC_SINGLE_COPY_END): New builtins.
+       * passes.def (pass_omp_oacc_neuter_broadcast): Add pass.
+       * target.def (goacc.create_worker_broadcast_record): Add target
+       hook.
+       * tree-pass.h (make_pass_omp_oacc_neuter_broadcast): Add
+       prototype.
+       * config/gcn/gcn-protos.h (gcn_goacc_adjust_propagation_record):
+       Rename prototype to...
+       (gcn_goacc_create_worker_broadcast_record): ... this.
+       * config/gcn/gcn-tree.c (gcn_goacc_adjust_propagation_record): Rename
+       function to...
+       (gcn_goacc_create_worker_broadcast_record): ... this.
+       * config/gcn/gcn.c (TARGET_GOACC_ADJUST_PROPAGATION_RECORD):
+       Rename to...
+       (TARGET_GOACC_CREATE_WORKER_BROADCAST_RECORD): ... this.
+
+2021-08-09  Tejas Belagod  <tejas.belagod@arm.com>
+
+       PR target/101609
+       * config/aarch64/aarch64-simd.md (vlshr<mode>3, vashr<mode>3): Use
+       the right iterator.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * Makefile.in (GTFILES): Remove '$(srcdir)/omp-offload.c'.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * builtins.def (DEF_GOACC_BUILTIN, DEF_GOMP_BUILTIN): Don't
+       consider '-foffload-abi'.
+       * common.opt (-foffload-abi): Remove 'Var', 'Init'.
+       * opts.c (common_handle_option) <-foffload-abi> [ACCEL_COMPILER]:
+       Ignore.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * optc-gen.awk: Sanity check that 'Init' doesn't appear without
+       'Var'.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE): Remove.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/gty.texi (Files): Update.
+
+2021-08-09  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/gty.texi (Files): Fix GTY header file example.
+
+2021-08-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-ccp.c (value_mask_to_min_max): Helper function to
+       determine the upper and lower bounds from a mask-value pair.
+       (bit_value_unop) [ABS_EXPR, ABSU_EXPR]: Add support for
+       absolute value and unsigned absolute value expressions.
+       (bit_value_binop):  Initialize *VAL's precision.
+       [LT_EXPR, LE_EXPR]: Use value_mask_to_min_max to determine
+       upper and lower bounds of operands.  Add LE_EXPR/GE_EXPR
+       support when the operands are unknown but potentially equal.
+       [MIN_EXPR, MAX_EXPR]: Support minimum/maximum expressions.
+
+2021-08-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * config/aarch64/aarch64.md
+       (*extend<SHORT:mode><GPI:mode>2_aarch64): Use %<GPI:w>0.
+
+2021-08-08  Sergei Trofimovich  <siarheit@google.com>
+
+       * lra-constraints.c: Fix s/otput/output/ typo.
+
+2021-08-06  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (expand_builtin_memchr): Move to gimple-ssa-warn-access.cc.
+       (expand_builtin_strcat): Same.
+       (expand_builtin_stpncpy): Same.
+       (expand_builtin_strncat): Same.
+       (check_read_access): Same.
+       (check_memop_access): Same.
+       (expand_builtin_strlen): Move checks to gimple-ssa-warn-access.cc.
+       (expand_builtin_strnlen): Same.
+       (expand_builtin_memcpy): Same.
+       (expand_builtin_memmove): Same.
+       (expand_builtin_mempcpy): Same.
+       (expand_builtin_strcpy): Same.
+       (expand_builtin_strcpy_args): Same.
+       (expand_builtin_stpcpy_1): Same.
+       (expand_builtin_strncpy): Same.
+       (expand_builtin_memset): Same.
+       (expand_builtin_bzero): Same.
+       (expand_builtin_strcmp): Same.
+       (expand_builtin_strncmp): Same.
+       (expand_builtin): Remove handlers.
+       (fold_builtin_strlen): Add a comment.
+       * builtins.h (check_access): Move to gimple-ssa-warn-access.cc.
+       * calls.c (maybe_warn_nonstring_arg): Same.
+       * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Add warning option.
+       * gimple-fold.c (gimple_fold_builtin_strcpy): Pass argument to callee.
+       (gimple_fold_builtin_stpcpy): Same.
+       * gimple-ssa-warn-access.cc (has_location): New function.
+       (get_location): Same.
+       (get_callee_fndecl): Same.
+       (call_nargs): Same.
+       (call_arg): Same.
+       (warn_string_no_nul): Define.
+       (unterminated_array): Same.
+       (check_nul_terminated_array): Same.
+       (maybe_warn_nonstring_arg): Same.
+       (maybe_warn_for_bound): Same.
+       (warn_for_access): Same.
+       (check_access): Same.
+       (check_memop_access): Same.
+       (check_read_access): Same.
+       (warn_dealloc_offset): Use helper functions.
+       (maybe_emit_free_warning): Same.
+       (class pass_waccess): Add members.
+       (check_strcat): New function.
+       (check_strncat): New function.
+       (check_stxcpy): New function.
+       (check_stxncpy): New function.
+       (check_strncmp): New function.
+       (pass_waccess::check_builtin): New function.
+       (pass_waccess::check): Call it.
+       * gimple-ssa-warn-access.h (warn_string_no_nul): Move here from
+       builtins.h.
+       (maybe_warn_for_bound): Same.
+       (check_access): Same.
+       (check_memop_access): Same.
+       (check_read_access): Same.
+       * pointer-query.h (struct access_data): Define a ctor overload.
+
+2021-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101801
+       * tree-vectorizer.h (vect_worthwhile_without_simd_p): Rename...
+       (vect_can_vectorize_without_simd_p): ... to this.
+       * tree-vect-loop.c (vect_worthwhile_without_simd_p): Rename...
+       (vect_can_vectorize_without_simd_p): ... to this and fold
+       in vect_min_worthwhile_factor.
+       (vect_min_worthwhile_factor): Remove.
+       (vectorizable_reduction): Adjust and remove the cost part.
+       * tree-vect-stmts.c (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.
+
+2021-08-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101797
+       * config/i386/i386.md (cmove reg-to-reg move elimination peephole2s):
+       Add general_gr_operand predicate to operand 3.
+
+2021-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-phiopt.c (cond_removal_in_builtin_zero_pattern): Use
+       CFN_BUILT_IN_CLRSB* instead of BUILT_IN_CLRSB* for consistency.
+
+2021-08-06  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (register_svpattern,
+       register_svprfop): Pass vec<> by pointer.
+       * langhooks-def.h (lhd_simulate_enum_decl): Likewise.
+       * langhooks.c (lhd_simulate_enum_decl): Likewise.
+       * langhooks.h (struct lang_hooks_for_types): Likewise.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst1_bf16_x2): Use
+       __builtin_memcpy instead of constructing an additional
+       __builtin_aarch64_simd_oi one vector at a time.
+       (vst1q_bf16_x2): Likewise.
+       (vst1_bf16_x3): Use __builtin_memcpy instead of constructing
+       an additional __builtin_aarch64_simd_ci one vector at a time.
+       (vst1q_bf16_x3): Likewise.
+       (vst1_bf16_x4): Use __builtin_memcpy instead of a union.
+       (vst1q_bf16_x4): Likewise.
+       (vst2_bf16): Use __builtin_memcpy instead of constructing an
+       additional __builtin_aarch64_simd_oi one vector at a time.
+       (vst2q_bf16): Likewise.
+       (vst3_bf16): Use __builtin_memcpy instead of constructing an
+       additional __builtin_aarch64_simd_ci mode one vector at a
+       time.
+       (vst3q_bf16): Likewise.
+       (vst4_bf16): Use __builtin_memcpy instead of constructing an
+       additional __builtin_aarch64_simd_xi one vector at a time.
+       (vst4q_bf16): Likewise.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__ST2_LANE_FUNC): Delete.
+       (__ST2Q_LANE_FUNC): Delete.
+       (vst2_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of constructing __builtin_aarch64_simd_oi
+       one vector at a time.
+       (vst2_lane_f32): Likewise.
+       (vst2_lane_f64): Likewise.
+       (vst2_lane_p8): Likewise.
+       (vst2_lane_p16): Likewise.
+       (vst2_lane_p64): Likewise.
+       (vst2_lane_s8): Likewise.
+       (vst2_lane_s16): Likewise.
+       (vst2_lane_s32): Likewise.
+       (vst2_lane_s64): Likewise.
+       (vst2_lane_u8): Likewise.
+       (vst2_lane_u16): Likewise.
+       (vst2_lane_u32): Likewise.
+       (vst2_lane_u64): Likewise.
+       (vst2_lane_bf16): Likewise.
+       (vst2q_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of using a union.
+       (vst2q_lane_f32): Likewise.
+       (vst2q_lane_f64): Likewise.
+       (vst2q_lane_p8): Likewise.
+       (vst2q_lane_p16): Likewise.
+       (vst2q_lane_p64): Likewise.
+       (vst2q_lane_s8): Likewise.
+       (vst2q_lane_s16): Likewise.
+       (vst2q_lane_s32): Likewise.
+       (vst2q_lane_s64): Likewise.
+       (vst2q_lane_u8): Likewise.
+       (vst2q_lane_u16): Likewise.
+       (vst2q_lane_u32): Likewise.
+       (vst2q_lane_u64): Likewise.
+       (vst2q_lane_bf16): Likewise.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__ST3_LANE_FUNC): Delete.
+       (__ST3Q_LANE_FUNC): Delete.
+       (vst3_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of constructing __builtin_aarch64_simd_ci
+       one vector at a time.
+       (vst3_lane_f32): Likewise.
+       (vst3_lane_f64): Likewise.
+       (vst3_lane_p8): Likewise.
+       (vst3_lane_p16): Likewise.
+       (vst3_lane_p64): Likewise.
+       (vst3_lane_s8): Likewise.
+       (vst3_lane_s16): Likewise.
+       (vst3_lane_s32): Likewise.
+       (vst3_lane_s64): Likewise.
+       (vst3_lane_u8): Likewise.
+       (vst3_lane_u16): Likewise.
+       (vst3_lane_u32): Likewise.
+       (vst3_lane_u64): Likewise.
+       (vst3_lane_bf16): Likewise.
+       (vst3q_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of using a union.
+       (vst3q_lane_f32): Likewise.
+       (vst3q_lane_f64): Likewise.
+       (vst3q_lane_p8): Likewise.
+       (vst3q_lane_p16): Likewise.
+       (vst3q_lane_p64): Likewise.
+       (vst3q_lane_s8): Likewise.
+       (vst3q_lane_s16): Likewise.
+       (vst3q_lane_s32): Likewise.
+       (vst3q_lane_s64): Likewise.
+       (vst3q_lane_u8): Likewise.
+       (vst3q_lane_u16): Likewise.
+       (vst3q_lane_u32): Likewise.
+       (vst3q_lane_u64): Likewise.
+       (vst3q_lane_bf16): Likewise.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (__ST4_LANE_FUNC): Delete.
+       (__ST4Q_LANE_FUNC): Delete.
+       (vst4_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of constructing __builtin_aarch64_simd_xi
+       one vector at a time.
+       (vst4_lane_f32): Likewise.
+       (vst4_lane_f64): Likewise.
+       (vst4_lane_p8): Likewise.
+       (vst4_lane_p16): Likewise.
+       (vst4_lane_p64): Likewise.
+       (vst4_lane_s8): Likewise.
+       (vst4_lane_s16): Likewise.
+       (vst4_lane_s32): Likewise.
+       (vst4_lane_s64): Likewise.
+       (vst4_lane_u8): Likewise.
+       (vst4_lane_u16): Likewise.
+       (vst4_lane_u32): Likewise.
+       (vst4_lane_u64): Likewise.
+       (vst4_lane_bf16): Likewise.
+       (vst4q_lane_f16): Use __builtin_memcpy to copy vector
+       structure instead of using a union.
+       (vst4q_lane_f32): Likewise.
+       (vst4q_lane_f64): Likewise.
+       (vst4q_lane_p8): Likewise.
+       (vst4q_lane_p16): Likewise.
+       (vst4q_lane_p64): Likewise.
+       (vst4q_lane_s8): Likewise.
+       (vst4q_lane_s16): Likewise.
+       (vst4q_lane_s32): Likewise.
+       (vst4q_lane_s64): Likewise.
+       (vst4q_lane_u8): Likewise.
+       (vst4q_lane_u16): Likewise.
+       (vst4q_lane_u32): Likewise.
+       (vst4q_lane_u64): Likewise.
+       (vst4q_lane_bf16): Likewise.
+
+2021-08-06  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): When
+       a target option is restored, it can have
+       rs6000_long_double_type_size set to FLOAT_PRECISION_TFmode
+       and error should not be emitted.
+
+2021-08-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.h (gcov_write): Declare.
+       * gcov-io.c (gcov_write): New.
+       (gcov_write_counter): Remove.
+       (gcov_write_tag_length): Likewise.
+       (gcov_write_summary): Replace gcov_write_tag_length() with calls to
+       gcov_write_unsigned().
+       * doc/invoke.texi (fprofile-info-section): Mention
+       __gcov_info_to_gdca().
+
+2021-08-06  Martin Sebor  <msebor@redhat.com>
+
+       * dominance.c (prune_bbs_to_update_dominators): Adjust by-value vec
+       arguments to by-reference.
+       (iterate_fix_dominators): Same.
+       * dominance.h (iterate_fix_dominators): Same.
+       * ipa-prop.h: Call auto_vec::to_vec_legacy.
+       * tree-data-ref.c (dump_data_dependence_relation): Adjust by-value vec
+       arguments to by-reference.
+       (debug_data_dependence_relation): Same.
+       (dump_data_dependence_relations): Same.
+       * tree-data-ref.h (debug_data_dependence_relation): Same.
+       (dump_data_dependence_relations): Same.
+       * tree-predcom.c (dump_chains): Same.
+       (initialize_root_vars_lm): Same.
+       (determine_unroll_factor): Same.
+       (replace_phis_by_defined_names): Same.
+       (insert_init_seqs): Same.
+       (pcom_worker::tree_predictive_commoning_loop): Call
+        auto_vec::to_vec_legacy.
+       * tree-ssa-pre.c (insert_into_preds_of_block): Adjust by-value vec
+       arguments to by-reference.
+       * tree-ssa-threadbackward.c (populate_worklist): Same.
+       (back_threader::resolve_def): Same.
+       * tree-vect-data-refs.c (vect_check_nonzero_value): Same.
+       (vect_enhance_data_refs_alignment): Same.
+       (vect_check_lower_bound): Same.
+       (vect_prune_runtime_alias_test_list): Same.
+       (vect_permute_store_chain): Same.
+       * tree-vect-slp-patterns.c (vect_normalize_conj_loc): Same.
+       * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Same.
+       * tree-vectorizer.h (vect_permute_store_chain): Same.
+       * vec.c (test_init): New function.
+       (vec_c_tests): Call new function.
+       * vec.h (vec): Declare ctors, dtor, and assignment.
+       (auto_vec::vec_to_legacy): New function.
+       (vec::copy): Adjust initialization.
+
+2021-08-05  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * config/i386/i386.c (ix86_can_inline_p): Ignore MASK_80387 if
+       callee only uses GPRs.
+       * config/i386/ia32intrin.h: Revert commit 5463cee2770.
+       * config/i386/serializeintrin.h: Revert commit 71958f740f1.
+       * config/i386/x86gprintrin.h: Add
+       #pragma GCC target("general-regs-only") and #pragma GCC pop_options
+       to disable non-GPR ISAs.
+
+2021-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/101787
+       * doc/md.texi (cond_ashl, cond_ashr, cond_lshr): Document.
+
+2021-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vect_is_store_elt_extraction, vect_is_reduction)
+       (vect_reduc_type, vect_embedded_comparison_type, vect_comparison_type)
+       (vect_is_extending_load, vect_is_integer_truncation): New functions,
+       moved from aarch64.c but given different names.
+       * config/aarch64/aarch64.c (aarch64_is_store_elt_extraction)
+       (aarch64_is_reduction, aarch64_reduc_type)
+       (aarch64_embedded_comparison_type, aarch64_comparison_type)
+       (aarch64_extending_load_p, aarch64_integer_truncation_p): Delete
+       in favor of the above.  Update callers accordingly.
+
+2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/101723
+       * config/arm/arm-cpus.in (generic-armv7-a): Add quirk to suppress
+       writing .cpu directive in asm output.
+       * config/arm/arm.c (arm_identify_fpu_from_isa): New variable.
+       (arm_last_printed_arch_string): Delete.
+       (arm_last-printed_fpu_string): Delete.
+       (arm_configure_build_target): If use of floating-point/SIMD is
+       disabled, remove all fp/simd related features from the target ISA.
+       (last_arm_targ_options): New variable.
+       (arm_print_asm_arch_directives): Add new parameters.  Change order
+       of emitted directives and handle all cases here.
+       (arm_file_start): Always call arm_print_asm_arch_directives, move
+       all generation of .arch/.arch_extension here.
+       (arm_file_end): Call arm_print_asm_arch.
+       (arm_declare_function_name): Call arm_print_asm_arch_directives
+       instead of printing .arch/.fpu directives directly.
+
+2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config/arm/arm.c (arm_configure_build_target): Don't call
+       arm_option_reconfigure_globals.
+       (arm_option_restore): Call arm_option_reconfigure_globals after
+       reconfiguring the target.
+       * config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
+
+2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config/arm/arm.c (arm_configure_build_target): Ensure the target's
+       arch_name is always set.
+
+2021-08-05  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64.c: Traverse RTL tree to prevent cost
+       of vec_select high-half from being added into Neon subtract
+       cost.
+
+2021-08-05  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64.c: Traverse RTL tree to prevent cost
+       of vec_select high-half from being added into Neon add cost.
+
+2021-08-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * cfgloop.h (loops_list::loops_list): Add one optional argument
+       root and adjust accordingly, update loop tree walking and factor
+       out to ...
+       * cfgloop.c (loops_list::walk_loop_tree): ... this.  New function.
+
+2021-08-05  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       PR tree-optimization/101626
+       * tree-sra.c (propagate_subaccesses_from_rhs): Do not set the
+       reverse scalar storage order on a pointer or vector component.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<code><mode>): New expander.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<code><mode>): New expander.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<code><mode>): New expander.
+
+2021-08-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101570
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/region-model-asm.o.
+
+2021-08-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101742
+       * config/i386/i386.h (STORE_MAX_PIECES): Allow 16/32/64 bytes
+       only if TARGET_INTER_UNIT_MOVES_TO_VEC is true.
+
+2021-08-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101772
+       * config/i386/i386-expand.c (ix86_expand_vector_move): Call
+       ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy
+       data with SSE register from one memory location to another.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (expand_perm_with_vpdi): New function.
+       (vectorize_vec_perm_const_1): Call expand_perm_with_vpdi.
+       * config/s390/vector.md (*vpdi1<mode>, @vpdi1<mode>): Enable a
+       parameterized expander.
+       (*vpdi4<mode>, @vpdi4<mode>): Likewise.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (MAX_VECT_LEN): Define macro.
+       (struct expand_vec_perm_d): Define struct.
+       (expand_perm_with_merge): New function.
+       (vectorize_vec_perm_const_1): New function.
+       (s390_vectorize_vec_perm_const): New function.
+       (TARGET_VECTORIZE_VEC_PERM_CONST): Define target macro.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/vector.md (V_HW_64): Remove mode iterator.
+       (*vec_load_pair<mode>): Use V_HW_2 instead of V_HW_64.
+       * config/s390/vx-builtins.md
+       (vec_scatter_element<V_HW_2:mode>_SI): Use V_HW_2 instead of
+       V_HW_64.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.md (UNSPEC_VEC_PERMI): Remove constant
+       definition.
+       * config/s390/vector.md (*vpdi1<mode>, *vpdi4<mode>): New pattern
+       definitions.
+       * config/s390/vx-builtins.md (*vec_permi<mode>): Emit generic rtx
+       instead of an unspec.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390-modes.def: Add more vector modes to support
+       concatenation of two vectors.
+       * config/s390/s390-protos.h (s390_expand_merge_perm_const): Add
+       prototype.
+       (s390_expand_merge): Likewise.
+       * config/s390/s390.c (s390_expand_merge_perm_const): New function.
+       (s390_expand_merge): New function.
+       * config/s390/s390.md (UNSPEC_VEC_MERGEH, UNSPEC_VEC_MERGEL):
+       Remove constant definitions.
+       * config/s390/vector.md (V_HW_2): Add mode iterators.
+       (VI_HW_4, V_HW_4): Rename VI_HW_4 to V_HW_4.
+       (vec_2x_nelts, vec_2x_wide): New mode attributes.
+       (*vmrhb, *vmrlb, *vmrhh, *vmrlh, *vmrhf, *vmrlf, *vmrhg, *vmrlg):
+       New pattern definitions.
+       (vec_widen_umult_lo_<mode>, vec_widen_umult_hi_<mode>)
+       (vec_widen_smult_lo_<mode>, vec_widen_smult_hi_<mode>)
+       (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf, vec_unpacks_lo_v2df)
+       (vec_unpacks_hi_v2df): Adjust expanders to emit non-unspec RTX for
+       vec merge.
+       * config/s390/vx-builtins.md (V_HW_4): Remove mode iterator. Now
+       in vector.md.
+       (vec_mergeh<mode>, vec_mergel<mode>): Use s390_expand_merge to
+       emit vec merge pattern.
+
+2021-08-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_strip_extend_vec_half):
+       Define.
+       (aarch64_rtx_mult_cost): Traverse RTL tree to prevent cost of
+       vec_select high-half from being added into Neon multiply
+       cost.
+       * rtlanal.c (vec_series_highpart_p): Define.
+       * rtlanal.h (vec_series_highpart_p): Declare.
+
+2021-08-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_strip_duplicate_vec_elt):
+       Define.
+       (aarch64_rtx_mult_cost): Traverse RTL tree to prevent
+       vec_select cost from being added into Neon multiply cost.
+
+2021-08-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_better_loop_vinfo_p): Detect cases in
+       which old_loop_vinfo is an epilogue loop that handles a constant
+       number of iterations.
+
+2021-08-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_analyze_loop): Print a dump message
+       when a reanalyzed loop fails to be cheaper than the current
+       main loop.
+
+2021-08-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c: Fix a typo.
+
+2021-08-04  Vincent Lefèvre  <vincent-gcc@vinc17.net>
+
+       PR gcov-profile/101773
+       * gcov-io.c (gcov_close): Check return code of a fclose.
+
+2021-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR ada/101575
+       * dwarf2out.c (dwarf2out_assembly_start): Emit a dummy
+       .file statement when needed.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_check_gather_scatter):
+       Include widening conversions only when the result is
+       still handed by native gather or the current offset
+       size not already matches the data size.
+       Also succeed analysis in case there's no native support,
+       noted by a IFN_LAST ifn and a NULL decl.
+       (vect_analyze_data_refs): Always consider gathers.
+       * tree-vect-patterns.c (vect_recog_gather_scatter_pattern):
+       Test for no IFN gather rather than decl gather.
+       * tree-vect-stmts.c (vect_model_load_cost): Pass in the
+       gather-scatter info and cost emulated gathers accordingly.
+       (vect_truncate_gather_scatter_offset): Properly test for
+       no IFN gather.
+       (vect_use_strided_gather_scatters_p): Likewise.
+       (get_load_store_type): Handle emulated gathers and its
+       restrictions.
+       (vectorizable_load): Likewise.  Emulate them by extracting
+       scalar offsets, doing scalar loads and a vector construct.
+
+2021-08-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101742
+       * expr.c (op_by_pieces_d::op_by_pieces_d): Add a max_pieces
+       argument to set m_max_size.
+       (move_by_pieces_d): Pass MOVE_MAX_PIECES to op_by_pieces_d.
+       (store_by_pieces_d): Pass STORE_MAX_PIECES to op_by_pieces_d.
+       (compare_by_pieces_d): Pass COMPARE_MAX_PIECES to op_by_pieces_d.
+
+2021-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       * match.pd (bit_ior, bit_xor): Canonicalize (X*C1)|(X*C2) and
+       (X*C1)^(X*C2) as X*(C1+C2), and related variants, using
+       tree_nonzero_bits to ensure that operands are bit-wise disjoint.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Split
+       out code to decompose vector loads ...
+       (optimize_vector_load): ... here.  Generalize it to
+       handle intermediate widening and TARGET_MEM_REF loads
+       and apply it to loads with a supported vector mode as well.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101756
+       * tree-vect-slp.c (vectorizable_bb_reduc_epilogue): Make sure
+       the result of the reduction epilogue is compatible to the original
+       scalar result.
+
+2021-08-04  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101743
+       * config/i386/i386.md (peephole2): Refine predicate from
+       register_operand to general_reg_operand.
+
+2021-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-path.h (path_range_query::dump): Mark override.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101769
+       * tree-tailcall.c (eliminate_tail_call): Add the created loop
+       for the first recursion and return it via the new output parameter.
+       (optimize_tail_call): Pass through new output param.
+       (tree_optimize_tail_calls_1): After creating all latches,
+       add the created loop to the loop tree.  Do not mark loops for fixup.
+
+2021-08-04  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document threader-mode param.
+
+2021-08-04  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_fma<mode>): New expander.
+       (cond_fms<mode>): Ditto.
+       (cond_fnma<mode>): Ditto.
+       (cond_fnms<mode>): Ditto.
+
+2021-08-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/vsx.md (*vsx_le_perm_store_<mode>): Use && instead of &.
+
+2021-08-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md: Remove "e" from the list of available
+       constraint characters.
+
+2021-08-03  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       PR gcov-profile/71672
+       * auto-profile.c (afdo_indirect_call): Fix setup of the historgram value for indirect calls.
+
+2021-08-03  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_minpos_epu16): New.
+
+2021-08-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386.c (ix86_gen_scratch_sse_rtx): In 64-bit mode,
+       try XMM31 to avoid vzeroupper.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi: Document -mtune=neoverse-512tvb and
+       -mcpu=neoverse-512tvb.
+       * config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * config/aarch64/aarch64.c (neoverse512tvb_sve_vector_cost)
+       (neoverse512tvb_sve_issue_info, neoverse512tvb_vec_issue_info)
+       (neoverse512tvb_vector_cost, neoverse512tvb_tunings): New structures.
+       (aarch64_adjust_body_cost_sve): Handle -mtune=neoverse-512tvb.
+       (aarch64_adjust_body_cost): Likewise.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Only
+       record issue information for operations that occur in the
+       innermost loop.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_multiply_add_p): Add a vec_flags
+       parameter.  Detect cases in which an Advanced SIMD MLA would almost
+       certainly require a MOV.
+       (aarch64_count_ops): Update accordingly.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_is_store_elt_extraction): New
+       function, split out from...
+       (aarch64_detect_vector_stmt_subtype): ...here.
+       (aarch64_add_stmt_cost): Treat extracting element 0 as free.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (sve_vec_cost):
+       Add gather_load_x32_cost and gather_load_x64_cost.
+       * config/aarch64/aarch64.c (generic_sve_vector_cost)
+       (a64fx_sve_vector_cost, neoversev1_sve_vector_cost): Update
+       accordingly, using the values given by the scalar_load * number
+       of elements calculation that we used previously.
+       (aarch64_detect_vector_stmt_subtype): Use the new fields.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_adjust_body_cost_sve): New
+       function, split out from...
+       (aarch64_adjust_body_cost): ...here.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/fractional-cost.h: New file.
+       * config/aarch64/aarch64.c: Include <algorithm> (indirectly)
+       and cost_fraction.h.
+       (vec_cost_fraction): New typedef.
+       (aarch64_detect_scalar_stmt_subtype): Use it for statement costs.
+       (aarch64_detect_vector_stmt_subtype): Likewise.
+       (aarch64_sve_adjust_stmt_cost, aarch64_adjust_stmt_cost): Likewise.
+       (aarch64_estimate_min_cycles_per_iter): Use vec_cost_fraction
+       for cycle counts.
+       (aarch64_adjust_body_cost): Likewise.
+       (aarch64_test_cost_fraction): New function.
+       (aarch64_run_selftests): Call it.
+
+2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (tune_params::sve_width): Turn
+       into a bitmask.
+       * config/aarch64/aarch64.c (aarch64_cmp_autovec_modes): Update
+       accordingly.
+       (aarch64_estimated_poly_value): Likewise.  Use the least significant
+       set bit for the minimum and likely values.  Use the most significant
+       set bit for the maximum value.
+
+2021-08-03  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<insn><mode>): New expander.
+       (cond_mul<mode>): Ditto.
+
+2021-08-03  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-cfg.c (move_sese_region_to_fn): Fix typos on dloop.
+
+2021-08-03  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (cond_<insn><mode>):New expander.
+       (cond_mul<mode>): Ditto.
+       (cond_div<mode>): Ditto.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386.c (ix86_finalize_stack_frame_flags): Also
+       check stack_realign_needed for stack realignment.
+       (ix86_legitimate_constant_p): Always allow CONST_WIDE_INT smaller
+       than the largest integer supported by vector register.
+       * config/i386/i386.h (MAX_MOVE_MAX): New.  Set to 64.
+       (MOVE_MAX): Set to bytes of the largest integer supported by
+       vector register.
+       (STORE_MAX_PIECES): New.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_vector_move): Call
+       ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy
+       data from one memory location to another.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * config/i386/i386.c (TARGET_GEN_MEMSET_SCRATCH_RTX): New.
+
+2021-08-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/101724
+       * params.opt: Remove --param=threader-iterative.
+       * tree-ssa-threadbackward.c (pass_thread_jumps::execute): Remove
+       iterative mode.
+
+2021-08-02  Tom de Vries  <tdevries@suse.de>
+
+       PR middle-end/101665
+       * doc/extend.texi (nonnull attribute): Improve documentation.
+
+2021-08-02  Andrew Pinski  <apinski@marvell.com>
+
+       PR rtl-optimization/101683
+       * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX.
+
+2021-08-02  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-ssa-phiopt.c (cond_removal_in_builtin_zero_pattern):
+       Renamed from cond_removal_in_popcount_clz_ctz_pattern.
+       Add support for BSWAP, FFS, PARITY and CLRSB builtins.
+       (tree_ssa_phiop_worker): Update call to function above.
+
+2021-08-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/78103
+       * config/i386/i386.md (bsr_rex64_1_zext): New.
+       (combine splitter for constant - clzll): Replace gen_bsr_rex64_1
+       with gen_bsr_rex64_1_zext.
+
+2021-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/78103
+       * config/i386/i386.md (bsr_rex64_1, bsr_1, bsr_zext_1): New
+       define_insn patterns.
+       (*bsr_rex64_2, *bsr_2): New define_insn_and_split patterns.
+       Add combine splitters for constant - clz.
+       (clz<mode>2): Use a temporary pseudo for bsr result.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_floor_pd, _mm_floor_ps,
+       _mm_floor_sd, _mm_floor_ss): New.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_ceil_pd, _mm_ceil_ps,
+       _mm_ceil_sd, _mm_ceil_ss): New.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_blend_pd, _mm_blendv_pd,
+       _mm_blend_ps, _mm_blendv_ps): New.
+
+2021-07-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*dec_cmov<mode>): New define_insn_and_split
+       to generate a conditional move using the carry flag after sub $1.
+       (peephole2): Eliminate a register-to-register move by inverting
+       the condition of a conditional move.
+
+2021-07-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md ("call", "call_value", "*call_real")
+       ("*call_value_real"): Don't generate rtx mentioning the generic
+       operands 1 and 2 to "call", and similarly for "call_value".
+       * config/mmix/mmix.c (mmix_print_operand_punct_valid_p)
+       (mmix_print_operand): Use '!' instead of 'p'.
+
+2021-07-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * doc/md.texi (call): Correct information about operand 2.
+       * config/mmix/mmix.md ("call", "call_value"): Remove fixed FIXMEs.
+
+2021-07-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_trunc_mod::wi_fold): Fold constants.
+
+2021-07-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_div::wi_fold): Return UNDEFINED for [0, 0] divisor.
+
+2021-07-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (*::set_bb_range): Change const basic_block to
+       const_basic_block..
+       (*::get_bb_range): Ditto.
+       (*::bb_range_p): Ditto.
+       * gimple-range-cache.h: Change prototypes.
+
+2021-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * builtins.c (builtin_memcpy_read_str): Change the mode argument
+       from scalar_int_mode to fixed_size_mode.
+       (builtin_strncpy_read_str): Likewise.
+       (gen_memset_value_from_prev): New function.
+       (builtin_memset_read_str): Change the mode argument from
+       scalar_int_mode to fixed_size_mode.  Use gen_memset_value_from_prev
+       and support CONST_VECTOR.
+       (builtin_memset_gen_str): Likewise.
+       (try_store_by_multiple_pieces): Use by_pieces_constfn to declare
+       constfun.
+       * builtins.h (builtin_strncpy_read_str): Replace scalar_int_mode
+       with fixed_size_mode.
+       (builtin_memset_read_str): Likewise.
+       * expr.c (widest_int_mode_for_size): Renamed to ...
+       (widest_fixed_size_mode_for_size): Add a bool argument to
+       indicate if QI vector mode can be used.
+       (by_pieces_ninsns): Call widest_fixed_size_mode_for_size
+       instead of widest_int_mode_for_size.
+       (pieces_addr::adjust): Change the mode argument from
+       scalar_int_mode to fixed_size_mode.
+       (op_by_pieces_d): Make m_len read-only.  Add a bool member,
+       m_qi_vector_mode, to indicate that QI vector mode can be used.
+       (op_by_pieces_d::op_by_pieces_d): Add a bool argument to
+       initialize m_qi_vector_mode.  Call widest_fixed_size_mode_for_size
+       instead of widest_int_mode_for_size.
+       (op_by_pieces_d::get_usable_mode): Change the mode argument from
+       scalar_int_mode to fixed_size_mode.  Call
+       widest_fixed_size_mode_for_size instead of
+       widest_int_mode_for_size.
+       (op_by_pieces_d::smallest_fixed_size_mode_for_size): New member
+       function to return the smallest integer or QI vector mode.
+       (op_by_pieces_d::run): Call widest_fixed_size_mode_for_size
+       instead of widest_int_mode_for_size.  Call
+       smallest_fixed_size_mode_for_size instead of
+       smallest_int_mode_for_size.
+       (store_by_pieces_d::store_by_pieces_d): Add a bool argument to
+       indicate that QI vector mode can be used and pass it to
+       op_by_pieces_d::op_by_pieces_d.
+       (can_store_by_pieces): Call widest_fixed_size_mode_for_size
+       instead of widest_int_mode_for_size.  Pass memsetp to
+       widest_fixed_size_mode_for_size to support QI vector mode.
+       Allow all CONST_VECTORs for memset if vec_duplicate is supported.
+       (store_by_pieces): Pass memsetp to
+       store_by_pieces_d::store_by_pieces_d.
+       (clear_by_pieces_1): Removed.
+       (clear_by_pieces): Replace clear_by_pieces_1 with
+       builtin_memset_read_str and pass true to store_by_pieces_d to
+       support vector mode broadcast.
+       (string_cst_read_str): Change the mode argument from
+       scalar_int_mode to fixed_size_mode.
+       * expr.h (by_pieces_constfn): Change scalar_int_mode to
+       fixed_size_mode.
+       (by_pieces_prev): Likewise.
+       * rtl.h (lowpart_subreg_regno): New.
+       * rtlanal.c (lowpart_subreg_regno): New.  A wrapper around
+       simplify_subreg_regno.
+       * target.def (gen_memset_scratch_rtx): New hook.
+       * doc/tm.texi.in: Add TARGET_GEN_MEMSET_SCRATCH_RTX.
+       * doc/tm.texi: Regenerated.
+
+2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/94780
+       * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use
+         TARGET_EXPR instead of MODIFY_EXPR.
+
+2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/101132
+       * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Declare.
+       * config/mips/mips.c (mips_expand_vec_cmp_expr): New function.
+       * config/mips/mips-msa.md (vec_cmp<MSA:mode><mode_i>): New
+         expander.
+         (vec_cmpu<IMSA:mode><mode_i>): New expander.
+
+2021-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101685
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Don't enable LZCNT/POPCNT if they have been disabled explicitly.
+
+2021-07-30  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h (vld1_p64): Replace call to builtin by
+       explicitly dereferencing __a.
+       (vld1_s64): Likewise.
+       (vld1_u64): Likewise.
+       * config/arm/arm_neon_builtins.def (vld1): Remove entry for di
+       and change to VAR13.
+
+2021-07-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (lv_dom_walker::lv_dom_walker): Remove
+       use of m_range_analyzer.
+       (loop_versioning::lv_dom_walker::before_dom_children): Same.
+       (loop_versioning::lv_dom_walker::after_dom_children): Remove.
+       (loop_versioning::prune_loop_conditions): Replace vr_values use
+       with range_query interface.
+       (pass_loop_versioning::execute): Use ranger.
+
+2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR ipa/101396
+       * ipa-devirt.c (ipa_odr_read_section): Compare the precision of
+         enum values, and emit a warning if they mismatch.
+
+2021-07-30  Kewen Lin  <linkw@linux.ibm.com>
+
+       * cfgloop.h (as_const): New function.
+       (class loop_iterator): Rename to ...
+       (class loops_list): ... this.
+       (loop_iterator::next): Rename to ...
+       (loops_list::Iter::fill_curr_loop): ... this and adjust.
+       (loop_iterator::loop_iterator): Rename to ...
+       (loops_list::loops_list): ... this and adjust.
+       (loops_list::Iter): New class.
+       (loops_list::iterator): New type.
+       (loops_list::const_iterator): New type.
+       (loops_list::begin): New function.
+       (loops_list::end): Likewise.
+       (loops_list::begin const): Likewise.
+       (loops_list::end const): Likewise.
+       (FOR_EACH_LOOP): Remove.
+       (FOR_EACH_LOOP_FN): Remove.
+       * cfgloop.c (flow_loops_dump): Adjust FOR_EACH_LOOP* with range-based
+       for loop with loops_list instance.
+       (sort_sibling_loops): Likewise.
+       (disambiguate_loops_with_multiple_latches): Likewise.
+       (verify_loop_structure): Likewise.
+       * cfgloopmanip.c (create_preheaders): Likewise.
+       (force_single_succ_latches): Likewise.
+       * config/aarch64/falkor-tag-collision-avoidance.c
+       (execute_tag_collision_avoidance): Likewise.
+       * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Likewise.
+       * config/s390/s390.c (s390_adjust_loops): Likewise.
+       * doc/loop.texi: Likewise.
+       * gimple-loop-interchange.cc (pass_linterchange::execute): Likewise.
+       * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise.
+       * gimple-loop-versioning.cc (loop_versioning::analyze_blocks): Likewise.
+       (loop_versioning::make_versioning_decisions): Likewise.
+       * gimple-ssa-split-paths.c (split_paths): Likewise.
+       * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): Likewise.
+       * graphite.c (canonicalize_loop_form): Likewise.
+       (graphite_transform_loops): Likewise.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * ipa-pure-const.c (analyze_function): Likewise.
+       * loop-doloop.c (doloop_optimize_loops): Likewise.
+       * loop-init.c (loop_optimizer_finalize): Likewise.
+       (fix_loop_structure): Likewise.
+       * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
+       (move_loop_invariants): Likewise.
+       * loop-unroll.c (decide_unrolling): Likewise.
+       (unroll_loops): Likewise.
+       * modulo-sched.c (sms_schedule): Likewise.
+       * predict.c (predict_loops): Likewise.
+       (pass_profile::execute): Likewise.
+       * profile.c (branch_prob): Likewise.
+       * sel-sched-ir.c (sel_finish_pipelining): Likewise.
+       (sel_find_rgns): Likewise.
+       * tree-cfg.c (replace_loop_annotate): Likewise.
+       (replace_uses_by): Likewise.
+       (move_sese_region_to_fn): Likewise.
+       * tree-if-conv.c (pass_if_conversion::execute): Likewise.
+       * tree-loop-distribution.c (loop_distribution::execute): Likewise.
+       * tree-parloops.c (parallelize_loops): Likewise.
+       * tree-predcom.c (tree_predictive_commoning): Likewise.
+       * tree-scalar-evolution.c (scev_initialize): Likewise.
+       (scev_reset): Likewise.
+       * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
+       * tree-ssa-live.c (remove_unused_locals): Likewise.
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise.
+       * tree-ssa-loop-im.c (analyze_memory_references): Likewise.
+       (tree_ssa_lim_initialize): Likewise.
+       * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
+       * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Likewise.
+       * tree-ssa-loop-manip.c (get_loops_exits): Likewise.
+       * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Likewise.
+       (free_numbers_of_iterations_estimates): Likewise.
+       * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
+       * tree-ssa-loop-split.c (tree_ssa_split_loops): Likewise.
+       * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Likewise.
+       * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
+       (pass_scev_cprop::execute): Likewise.
+       * tree-ssa-propagate.c (clean_up_loop_closed_phi): Likewise.
+       * tree-ssa-sccvn.c (do_rpo_vn): Likewise.
+       * tree-ssa-threadupdate.c
+       (jump_thread_path_registry::thread_through_all_blocks): Likewise.
+       * tree-vectorizer.c (vectorize_loops): Likewise.
+       * tree-vrp.c (vrp_asserts::find_assert_locations): Likewise.
+
+2021-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_function_arg_1): Avoid
+       generating a VOIDmode register for e.g the
+       function_arg_info::end_marker.
+
+2021-07-29  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300-modes.def: Add CCZ, CCV and CCC, drop CCZNV.
+       * config/h8300/h8300.md (H8cc mode iterator): Add CCZ.
+       (cc mode_attr): Similarly.
+       (ccz subst_attr): Similarly.
+       * config/h8300/jumpcall.md: Add new patterns for branch-on-bit.
+       * config/h8300/testcompare.md: Remove various cc0 based patterns
+       that had been commented out.  Add pattern to set CCZ from a bit
+       test.
+
+2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-offload.c (oacc_loop_xform_head_tail, oacc_loop_process):
+       'update_stmt' after modification.
+       (pass_oacc_loop_designation): New function, extracted out of...
+       (pass_oacc_device_lower): ... this.
+       (pass_data_oacc_loop_designation, pass_oacc_loop_designation)
+       (make_pass_oacc_loop_designation): New
+       * passes.def: Add it.
+       * tree-parloops.c (create_parallel_loop): Adjust.
+       * tree-pass.h (make_pass_oacc_loop_designation): New.
+
+2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * flag-types.h (enum threader_mode): New.
+       * params.opt: Add entry for --param=threader-mode.
+       * tree-ssa-threadbackward.c (THREADER_ITERATIVE_MODE): New.
+       (class back_threader): New.
+       (back_threader::back_threader): New.
+       (back_threader::~back_threader): New.
+       (back_threader::maybe_register_path): New.
+       (back_threader::find_taken_edge): New.
+       (back_threader::find_taken_edge_switch): New.
+       (back_threader::find_taken_edge_cond): New.
+       (back_threader::resolve_def): New.
+       (back_threader::resolve_phi): New.
+       (back_threader::find_paths_to_names): New.
+       (back_threader::find_paths): New.
+       (dump_path): New.
+       (debug): New.
+       (thread_jumps::find_jump_threads_backwards): Call ranger threader.
+       (thread_jumps::find_jump_threads_backwards_with_ranger): New.
+       (pass_thread_jumps::execute): Abstract out code...
+       (try_thread_blocks): ...here.
+       * tree-ssa-threadedge.c (jump_threader::thread_outgoing_edges):
+       Abstract out threading candidate code to...
+       (single_succ_to_potentially_threadable_block): ...here.
+       * tree-ssa-threadedge.h (single_succ_to_potentially_threadable_block):
+       New.
+       * tree-ssa-threadupdate.c (register_jump_thread): Return boolean.
+       * tree-ssa-threadupdate.h (class jump_thread_path_registry):
+       Return bool from register_jump_thread.
+
+2021-07-29  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * target.def: in0 and in1 do not need to be registers.
+       * doc/tm.texi: Regenerate.
+
+2021-07-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/39821
+       * config/i386/i386.c (ix86_widen_mult_cost): New function.
+       (ix86_add_stmt_cost): Use ix86_widen_mult_cost for
+       WIDEN_MULT_EXPR.
+
+2021-07-29  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/61837
+       * config/rs6000/rs6000.c (TARGET_PREFERRED_DOLOOP_MODE): New hook.
+       (rs6000_preferred_doloop_mode): New hook.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in: Add hook preferred_doloop_mode.
+       * target.def (preferred_doloop_mode): New hook.
+       * targhooks.c (default_preferred_doloop_mode): New hook.
+       * targhooks.h (default_preferred_doloop_mode): New hook.
+       * tree-ssa-loop-ivopts.c (compute_doloop_base_on_mode): New function.
+       (add_iv_candidate_for_doloop): Call targetm.preferred_doloop_mode
+       and compute_doloop_base_on_mode.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101494
+       * tree-ssa-uninit.c (maybe_warn_operand): Correct object offset
+       and size computation.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101601
+       * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Remove
+       a pointless test.
+       Handle pointers to functions.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-ssa-warn-access.o and pointer-query.o.
+       * attribs.h (fndecl_dealloc_argno): Move fndecl_dealloc_argno to tree.h.
+       * builtins.c (compute_objsize_r): Move to pointer-query.cc.
+       (access_ref::access_ref): Same.
+       (access_ref::phi): Same.
+       (access_ref::get_ref): Same.
+       (access_ref::size_remaining): Same.
+       (access_ref::offset_in_range): Same.
+       (access_ref::add_offset): Same.
+       (access_ref::inform_access): Same.
+       (ssa_name_limit_t::visit_phi): Same.
+       (ssa_name_limit_t::leave_phi): Same.
+       (ssa_name_limit_t::next): Same.
+       (ssa_name_limit_t::next_phi): Same.
+       (ssa_name_limit_t::~ssa_name_limit_t): Same.
+       (pointer_query::pointer_query): Same.
+       (pointer_query::get_ref): Same.
+       (pointer_query::put_ref): Same.
+       (pointer_query::flush_cache): Same.
+       (warn_string_no_nul): Move to gimple-ssa-warn-access.cc.
+       (check_nul_terminated_array): Same.
+       (unterminated_array): Same.
+       (maybe_warn_for_bound): Same.
+       (check_read_access): Same.
+       (warn_for_access): Same.
+       (get_size_range): Same.
+       (check_access): Same.
+       (gimple_call_alloc_size): Move to tree.c.
+       (gimple_parm_array_size): Move to pointer-query.cc.
+       (get_offset_range): Same.
+       (gimple_call_return_array): Same.
+       (handle_min_max_size): Same.
+       (handle_array_ref): Same.
+       (handle_mem_ref): Same.
+       (compute_objsize): Same.
+       (gimple_call_alloc_p): Move to gimple-ssa-warn-access.cc.
+       (call_dealloc_argno): Same.
+       (fndecl_dealloc_argno): Same.
+       (new_delete_mismatch_p): Same.
+       (matching_alloc_calls_p): Same.
+       (warn_dealloc_offset): Same.
+       (maybe_emit_free_warning): Same.
+       * builtins.h (check_nul_terminated_array): Move to
+       gimple-ssa-warn-access.h.
+       (check_nul_terminated_array): Same.
+       (warn_string_no_nul): Same.
+       (unterminated_array): Same.
+       (class ssa_name_limit_t): Same.
+       (class pointer_query): Same.
+       (struct access_ref): Same.
+       (class range_query): Same.
+       (struct access_data): Same.
+       (gimple_call_alloc_size): Same.
+       (gimple_parm_array_size): Same.
+       (compute_objsize): Same.
+       (class access_data): Same.
+       (maybe_emit_free_warning): Same.
+       * calls.c (initialize_argument_information): Remove call to
+       maybe_emit_free_warning.
+       * gimple-array-bounds.cc: Include new header..
+       * gimple-fold.c: Same.
+       * gimple-ssa-sprintf.c: Same.
+       * gimple-ssa-warn-restrict.c: Same.
+       * passes.def: Add pass_warn_access.
+       * tree-pass.h (make_pass_warn_access): Declare.
+       * tree-ssa-strlen.c: Include new headers.
+       * tree.c (fndecl_dealloc_argno): Move here from builtins.c.
+       * tree.h (fndecl_dealloc_argno): Move here from attribs.h.
+       * gimple-ssa-warn-access.cc: New file.
+       * gimple-ssa-warn-access.h: New file.
+       * pointer-query.cc: New file.
+       * pointer-query.h: New file.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101624
+       * ubsan.c (maybe_instrument_pointer_overflow,
+       instrument_object_size): Only test DECL_REGISTER on VAR_DECLs,
+       PARM_DECLs or RESULT_DECLs.
+       * sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101642
+       * match.pd (bswap16 (x) == bswap16 (y)): Cast both operands
+       to type of bswap16 for comparison.
+       (bswap16 (x) == cst): Cast bswap16 operand to type of cst.
+
+2021-07-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101615
+       * tree-vect-slp.c (vect_optimize_slp): Materialize permutes
+       at CTOR SLP graph entries.
+
+2021-07-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.md (*extend<SHORT:mode><GPI:mode>2_aarch64):
+       Add "r,w" alternative.
+
+2021-07-28  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101456
+       * config/i386/i386.c (ix86_avx_u128_mode_needed): Don't set
+       AVX_U128_DIRTY when all bits are zero.
+
+2021-07-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101615
+       * tree-vect-slp.c (vect_optimize_slp): Pre-existing vector
+       external nodes cannot be permuted so make them perm_out 0.
+
+2021-07-28  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR target/100208
+       * config.in: Regenerate.
+       * config/gcn/gcn-hsa.h (A_FIJI): New define.
+       (A_900): New define.
+       (A_906): New define.
+       (A_908): New define.
+       (ASM_SPEC): Use A_FIJI, A_900, A_906 and A_908.
+       * config/gcn/gcn.c (output_file_start): Adjust attributes according
+       to the assembler capabilities.
+       * config/gcn/mkoffload.c (main): Likewise.
+       * configure: Regenerate.
+       * configure.ac: Add tests for LLVM assembler attribute features.
+
+2021-07-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Check for
+       cond_false and cond_true on branches.
+
+2021-07-28  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): use
+       gcc_stablesort.
+
+2021-07-28  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       * alias.c (init_alias_analysis): Don't skip prologue/epilogue.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101611
+       * config/i386/sse.md (vashr<mode>3): Split into vashrv8di3 expander
+       and vashrv4di3 expander, where the latter requires just TARGET_AVX2
+       and has special !TARGET_AVX512VL expansion.
+       (vashrv2di3<mask_name>): Rename to ...
+       (vashrv2di3): ... this.  Change condition to TARGET_XOP || TARGET_AVX2
+       and add special !TARGET_XOP && !TARGET_AVX512VL expansion.
+
+2021-07-28  Martin Uecker  <muecker@gwdg.de>
+
+       * calls.c (maybe_warn_rdwr_sizes): Correct argument
+       numbers in warning that were switched.
+
+2021-07-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/101596
+       * tree-vect-patterns.c (vect_recog_mulhs_pattern): Fix wrong check
+       by using new_type's precision instead.
+
+2021-07-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99881
+       * config/i386/i386.h (processor_costs): Add new member
+       integer_to_sse.
+       * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost,
+       i486_cost, pentium_cost, lakemont_cost, pentiumpro_cost,
+       geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost,
+       bdver_cost, znver1_cost, znver2_cost, znver3_cost,
+       btver1_cost, btver2_cost, btver3_cost, pentium4_cost,
+       nocona_cost, atom_cost, atom_cost, slm_cost, intel_cost,
+       generic_cost, core_cost): Initialize integer_to_sse same value
+       as sse_op.
+       (skylake_cost): Initialize integer_to_sse twice as much as sse_op.
+       * config/i386/i386.c (ix86_builtin_vectorization_cost):
+       Use integer_to_sse instead of sse_op to calculate the cost of
+       vec_construct.
+
+2021-07-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (write_ovld_static_init): New
+       function.
+       (write_init_file): Call write_ovld_static_init.
+
+2021-07-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (write_bif_static_init): New
+       function.
+       (write_init_file): Call write_bif_static_init.
+
+2021-07-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (typemap): New struct.
+       (TYPE_MAP_SIZE): New macro.
+       (type_map): New initialized variable.
+       (typemap_cmp): New function.
+       (write_type_node): Likewise.
+       (write_fntype_init): Implement.
+
+2021-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/101584
+       * tree-ssa-uninit.c (builtin_call_nomodifying_p): New function.
+       (check_defs): Call it.
+
+2021-07-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c (dom_jump_threader_simplifier):
+       Put avail_exprs_stack in the class, instead of passing it to
+       jump_threader_simplifier.
+       (dom_jump_threader_simplifier::simplify): Add state argument.
+       (dom_opt_dom_walker): Add state.
+       (pass_dominator::execute): Pass state to threader.
+       (dom_opt_dom_walker::before_dom_children): Use state.
+       * tree-ssa-threadedge.c (jump_threader::jump_threader): Replace
+       arguments by state.
+       (jump_threader::record_temporary_equivalences_from_phis):
+       Register equivalences through the state variable.
+       (jump_threader::record_temporary_equivalences_from_stmts_at_dest):
+       Record ranges in a statement through the state variable.
+       (jump_threader::simplify_control_stmt_condition): Pass state to
+       simplify.
+       (jump_threader::simplify_control_stmt_condition_1): Same.
+       (jump_threader::thread_around_empty_blocks): Remove obsolete
+       comment.
+       (jump_threader::thread_through_normal_block): Record equivalences
+       on edge through the state variable.
+       (jump_threader::thread_across_edge): Abstract state pushing.
+       (jt_state::jt_state): New.
+       (jt_state::push): New.
+       (jt_state::pop): New.
+       (jt_state::register_equiv): New.
+       (jt_state::record_ranges_from_stmt): New.
+       (jt_state::register_equivs_on_edge): New.
+       (jump_threader_simplifier::jump_threader_simplifier): Move from
+       header.
+       (jump_threader_simplifier::simplify): Add state argument.
+       * tree-ssa-threadedge.h (class jt_state): New.
+       (class jump_threader): Add state to constructor.
+       (class jump_threader_simplifier): Add state to simplify.  Remove
+       avail_exprs_stack from class.
+       * tree-vrp.c (vrp_jump_threader_simplifier::simplify): Add state
+       argument.
+       (vrp_jump_threader::vrp_jump_threader): Add state.
+       (vrp_jump_threader::~vrp_jump_threader): Cleanup state.
+
+2021-07-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-range-path.o.
+       * gimple-range-path.cc: New file.
+       * gimple-range-path.h: New file.
+
+2021-07-27  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md: Push sign/zero-extension
+       inside vec_duplicate for all patterns.
+       * simplify-rtx.c (simplify_context::simplify_unary_operation_1):
+       Push sign/zero-extension inside vec_duplicate.
+
+2021-07-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101573
+       * tree-ssa-uninit.c (warn_uninit_phi_uses): New function
+       looking at uninitialized PHI arg defs in some constrained cases.
+       (warn_uninitialized_vars): Call it.
+       (execute_early_warn_uninitialized): Calculate dominators.
+
+2021-07-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/39821
+       * tree-vect-stmts.c (vect_model_promotion_demotion_cost): Use
+       vector_stmt for widening arithmetic.
+       (vectorizable_conversion): Adjust.
+
+2021-07-27  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.h (ipa_replace_map): New field force_load_ref.
+       * ipa-prop.h (ipa_param_descriptor): Reduce precision of move_cost,
+       aded new flag load_dereferenced, adjusted comments.
+       (ipa_get_param_dereferenced): New function.
+       (ipa_set_param_dereferenced): Likewise.
+       * cgraphclones.c (cgraph_node::create_virtual_clone): Follow it.
+       * ipa-cp.c: Include gimple.h.
+       (ipcp_discover_new_direct_edges): Take into account dereferenced flag.
+       (get_replacement_map): New parameter force_load_ref, set the
+       appropriate flag in ipa_replace_map if set.
+       (struct symbol_and_index_together): New type.
+       (adjust_refs_in_act_callers): New function.
+       (adjust_references_in_caller): Likewise.
+       (create_specialized_node): When appropriate, call
+       adjust_references_in_caller and force only load references.
+       * ipa-prop.c (load_from_dereferenced_name): New function.
+       (ipa_analyze_controlled_uses): Also detect loads from a
+       dereference, harden testing of call statements.
+       (ipa_write_node_info): Stream the dereferenced flag.
+       (ipa_read_node_info): Likewise.
+       (ipa_set_jf_constant): Also create refdesc when jump function
+       references a variable.
+       (cgraph_node_for_jfunc): Rename to symtab_node_for_jfunc, work
+       also on references of variables and return a symtab_node.  Adjust
+       all callers.
+       (propagate_controlled_uses): Also remove references to VAR_DECLs.
+
+2021-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101586
+       * gimple-fold.c (clear_padding_type): Ignore FIELD_DECLs with byte
+       positions above or equal to sz except for diagnostics of flexible
+       array members.
+
+2021-07-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/78888
+       * gimple-range-fold.cc (get_letter_range): New.
+       (fold_using_range::range_of_builtin_call): Call get_letter_range.
+
+2021-07-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/78888
+       * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Add cases
+       for CFN_BUILT_IN_TOUPPER and CFN_BUILT_IN_TOLOWER.
+
+2021-07-26  Roger Sayle  <roger@nextmovesoftware.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       * match.pd (rotate): Simplify equality/inequality of rotations.
+       (bswap): Simplify equality/inequality tests of byte swapping.
+
+2021-07-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_bitwise_xor::op1_op2_relation_effect):
+       New.
+
+2021-07-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_lshift::fold_range): Pass rel to
+       base class fold_range.
+       (operator_rshift::fold_range): Same.
+
+2021-07-26  Ashimida  <ashimida@linux.alibaba.com>
+
+       PR driver/101447
+       * toplev.h (min_align_loops_log): Remove declaration.
+       (min_align_jumps_log, min_align_labels_log): Likewise.
+       (min_align_functions_log): Likewise.
+
+2021-07-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (vrp_simplify_cond_using_ranges): Rename vr_values
+       with range_query.
+       (execute_vrp): Abstract out simplification of conditionals...
+       (simplify_casted_conds): ...here.
+
+2021-07-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-array-bounds.cc (array_bounds_checker::get_value_range):
+       Add gimple argument.
+       (array_bounds_checker::check_array_ref): Same.
+       (array_bounds_checker::check_addr_expr): Same.
+       (array_bounds_checker::check_array_bounds): Pass statement to
+       check_array_bounds and check_addr_expr.
+       * gimple-array-bounds.h (check_array_bounds): Add gimple argument.
+       (check_addr_expr): Same.
+       (get_value_range): Same.
+
+2021-07-26  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sdot, udot): Rename to..
+       (sdot_prod, udot_prod): ... This.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): Merged
+       into...
+       (<sur>dot_prod<vsi2qi>): ... this.
+       (aarch64_<sur>dot_lane<vsi2qi>, aarch64_<sur>dot_laneq<vsi2qi>):
+       Change operands order.
+       (<sur>sadv16qi): Use new operands order.
+       * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32,
+       vdotq_s32): Use new RTL ordering.
+
+2021-07-26  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (TYPES_TERNOP_SUSS,
+       aarch64_types_ternop_suss_qualifiers): New.
+       * config/aarch64/aarch64-simd-builtins.def (usdot_prod): Use it.
+       * config/aarch64/aarch64-simd.md (usdot_prod<vsi2qi>): Re-organize RTL.
+       * config/aarch64/arm_neon.h (vusdot_s32, vusdotq_s32): Use it.
+
+2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/101562
+       * expmed.c (store_integral_bit_field): Only use movstrict_optab
+       if the operand isn't paradoxical.
+
+2021-07-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-array-bounds.h (class array_bounds_checker): Change
+       ranges type to range_query.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst1_s64_x2): Use
+       __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_oi one vector at a time.
+       (vst1_u64_x2): Likewise.
+       (vst1_f64_x2): Likewise.
+       (vst1_s8_x2): Likewise.
+       (vst1_p8_x2): Likewise.
+       (vst1_s16_x2): Likewise.
+       (vst1_p16_x2): Likewise.
+       (vst1_s32_x2): Likewise.
+       (vst1_u8_x2): Likewise.
+       (vst1_u16_x2): Likewise.
+       (vst1_u32_x2): Likewise.
+       (vst1_f16_x2): Likewise.
+       (vst1_f32_x2): Likewise.
+       (vst1_p64_x2): Likewise.
+       (vst1q_s8_x2): Likewise.
+       (vst1q_p8_x2): Likewise.
+       (vst1q_s16_x2): Likewise.
+       (vst1q_p16_x2): Likewise.
+       (vst1q_s32_x2): Likewise.
+       (vst1q_s64_x2): Likewise.
+       (vst1q_u8_x2): Likewise.
+       (vst1q_u16_x2): Likewise.
+       (vst1q_u32_x2): Likewise.
+       (vst1q_u64_x2): Likewise.
+       (vst1q_f16_x2): Likewise.
+       (vst1q_f32_x2): Likewise.
+       (vst1q_f64_x2): Likewise.
+       (vst1q_p64_x2): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst1_s64_x3): Use
+       __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_ci one vector at a time.
+       (vst1_u64_x3): Likewise.
+       (vst1_f64_x3): Likewise.
+       (vst1_s8_x3): Likewise.
+       (vst1_p8_x3): Likewise.
+       (vst1_s16_x3): Likewise.
+       (vst1_p16_x3): Likewise.
+       (vst1_s32_x3): Likewise.
+       (vst1_u8_x3): Likewise.
+       (vst1_u16_x3): Likewise.
+       (vst1_u32_x3): Likewise.
+       (vst1_f16_x3): Likewise.
+       (vst1_f32_x3): Likewise.
+       (vst1_p64_x3): Likewise.
+       (vst1q_s8_x3): Likewise.
+       (vst1q_p8_x3): Likewise.
+       (vst1q_s16_x3): Likewise.
+       (vst1q_p16_x3): Likewise.
+       (vst1q_s32_x3): Likewise.
+       (vst1q_s64_x3): Likewise.
+       (vst1q_u8_x3): Likewise.
+       (vst1q_u16_x3): Likewise.
+       (vst1q_u32_x3): Likewise.
+       (vst1q_u64_x3): Likewise.
+       (vst1q_f16_x3): Likewise.
+       (vst1q_f32_x3): Likewise.
+       (vst1q_f64_x3): Likewise.
+       (vst1q_p64_x3): Likewise.
+
+2021-07-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101504
+       * config/i386/i386.c (ix86_gen_scratch_sse_rtx): Don't return
+       hard register when LRA is in progress.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst1_s8_x4): Use
+       __builtin_memcpy instead of using a union.
+       (vst1q_s8_x4): Likewise.
+       (vst1_s16_x4): Likewise.
+       (vst1q_s16_x4): Likewise.
+       (vst1_s32_x4): Likewise.
+       (vst1q_s32_x4): Likewise.
+       (vst1_u8_x4): Likewise.
+       (vst1q_u8_x4): Likewise.
+       (vst1_u16_x4): Likewise.
+       (vst1q_u16_x4): Likewise.
+       (vst1_u32_x4): Likewise.
+       (vst1q_u32_x4): Likewise.
+       (vst1_f16_x4): Likewise.
+       (vst1q_f16_x4): Likewise.
+       (vst1_f32_x4): Likewise.
+       (vst1q_f32_x4): Likewise.
+       (vst1_p8_x4): Likewise.
+       (vst1q_p8_x4): Likewise.
+       (vst1_p16_x4): Likewise.
+       (vst1q_p16_x4): Likewise.
+       (vst1_s64_x4): Likewise.
+       (vst1_u64_x4): Likewise.
+       (vst1_p64_x4): Likewise.
+       (vst1q_s64_x4): Likewise.
+       (vst1q_u64_x4): Likewise.
+       (vst1q_p64_x4): Likewise.
+       (vst1_f64_x4): Likewise.
+       (vst1q_f64_x4): Likewise.
+
+2021-07-23  Jonathan Wrightt  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst2_s64): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_oi one vector
+       at a time.
+       (vst2_u64): Likewise.
+       (vst2_f64): Likewise.
+       (vst2_s8): Likewise.
+       (vst2_p8): Likewise.
+       (vst2_s16): Likewise.
+       (vst2_p16): Likewise.
+       (vst2_s32): Likewise.
+       (vst2_u8): Likewise.
+       (vst2_u16): Likewise.
+       (vst2_u32): Likewise.
+       (vst2_f16): Likewise.
+       (vst2_f32): Likewise.
+       (vst2_p64): Likewise.
+       (vst2q_s8): Likewise.
+       (vst2q_p8): Likewise.
+       (vst2q_s16): Likewise.
+       (vst2q_p16): Likewise.
+       (vst2q_s32): Likewise.
+       (vst2q_s64): Likewise.
+       (vst2q_u8): Likewise.
+       (vst2q_u16): Likewise.
+       (vst2q_u32): Likewise.
+       (vst2q_u64): Likewise.
+       (vst2q_f16): Likewise.
+       (vst2q_f32): Likewise.
+       (vst2q_f64): Likewise.
+       (vst2q_p64): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst3_s64): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_ci one vector
+       at a time.
+       (vst3_u64): Likewise.
+       (vst3_f64): Likewise.
+       (vst3_s8): Likewise.
+       (vst3_p8): Likewise.
+       (vst3_s16): Likewise.
+       (vst3_p16): Likewise.
+       (vst3_s32): Likewise.
+       (vst3_u8): Likewise.
+       (vst3_u16): Likewise.
+       (vst3_u32): Likewise.
+       (vst3_f16): Likewise.
+       (vst3_f32): Likewise.
+       (vst3_p64): Likewise.
+       (vst3q_s8): Likewise.
+       (vst3q_p8): Likewise.
+       (vst3q_s16): Likewise.
+       (vst3q_p16): Likewise.
+       (vst3q_s32): Likewise.
+       (vst3q_s64): Likewise.
+       (vst3q_u8): Likewise.
+       (vst3q_u16): Likewise.
+       (vst3q_u32): Likewise.
+       (vst3q_u64): Likewise.
+       (vst3q_f16): Likewise.
+       (vst3q_f32): Likewise.
+       (vst3q_f64): Likewise.
+       (vst3q_p64): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vst4_s64): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_xi one vector
+       at a time.
+       (vst4_u64): Likewise.
+       (vst4_f64): Likewise.
+       (vst4_s8): Likewise.
+       (vst4_p8): Likewise.
+       (vst4_s16): Likewise.
+       (vst4_p16): Likewise.
+       (vst4_s32): Likewise.
+       (vst4_u8): Likewise.
+       (vst4_u16): Likewise.
+       (vst4_u32): Likewise.
+       (vst4_f16): Likewise.
+       (vst4_f32): Likewise.
+       (vst4_p64): Likewise.
+       (vst4q_s8): Likewise.
+       (vst4q_p8): Likewise.
+       (vst4q_s16): Likewise.
+       (vst4q_p16): Likewise.
+       (vst4q_s32): Likewise.
+       (vst4q_s64): Likewise.
+       (vst4q_u8): Likewise.
+       (vst4q_u16): Likewise.
+       (vst4q_u32): Likewise.
+       (vst4q_u64): Likewise.
+       (vst4q_f16): Likewise.
+       (vst4q_f32): Likewise.
+       (vst4q_f64): Likewise.
+       (vst4q_p64): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vtbx4_s8): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_oi one vector
+       at a time.
+       (vtbx4_u8): Likewise.
+       (vtbx4_p8): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vtbl3_s8): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_oi one vector
+       at a time.
+       (vtbl3_u8): Likewise.
+       (vtbl3_p8): Likewise.
+       (vtbl4_s8): Likewise.
+       (vtbl4_u8): Likewise.
+       (vtbl4_p8): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vqtbx2_s8): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_oi one vector
+       at a time.
+       (vqtbx2_u8): Likewise.
+       (vqtbx2_p8): Likewise.
+       (vqtbx2q_s8): Likewise.
+       (vqtbx2q_u8): Likewise.
+       (vqtbx2q_p8): Likewise.
+       (vqtbx3_s8): Use __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_ci one vector at a time.
+       (vqtbx3_u8): Likewise.
+       (vqtbx3_p8): Likewise.
+       (vqtbx3q_s8): Likewise.
+       (vqtbx3q_u8): Likewise.
+       (vqtbx3q_p8): Likewise.
+       (vqtbx4_s8): Use __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_xi one vector at a time.
+       (vqtbx4_u8): Likewise.
+       (vqtbx4_p8): Likewise.
+       (vqtbx4q_s8): Likewise.
+       (vqtbx4q_u8): Likewise.
+       (vqtbx4q_p8): Likewise.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_neon.h (vqtbl2_s8): Use __builtin_memcpy
+       instead of constructing __builtin_aarch64_simd_oi one vector
+       at a time.
+       (vqtbl2_u8): Likewise.
+       (vqtbl2_p8): Likewise.
+       (vqtbl2q_s8): Likewise.
+       (vqtbl2q_u8): Likewise.
+       (vqtbl2q_p8): Likewise.
+       (vqtbl3_s8): Use __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_ci one vector at a time.
+       (vqtbl3_u8): Likewise.
+       (vqtbl3_p8): Likewise.
+       (vqtbl3q_s8): Likewise.
+       (vqtbl3q_u8): Likewise.
+       (vqtbl3q_p8): Likewise.
+       (vqtbl4_s8): Use __builtin_memcpy instead of constructing
+       __builtin_aarch64_simd_xi one vector at a time.
+       (vqtbl4_u8): Likewise.
+       (vqtbl4_p8): Likewise.
+       (vqtbl4q_s8): Likewise.
+       (vqtbl4q_u8): Likewise.
+       (vqtbl4q_p8): Likewise.
+
+2021-07-23  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       PR target/100952
+       * config/rs6000/rs6000.md (cstore<mode>4): Fix wrong fall through.
+
+2021-07-22  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/10153
+       * tree-tailcall.c (create_tailcall_accumulator):
+       Don't call fold_convert as the type should be correct already.
+       (tree_optimize_tail_calls_1): Use build_{one,zero}_cst instead
+       of integer_{one,zero}_node for the call of create_tailcall_accumulator.
+
+2021-07-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::adjust_range): Replace
+       varying_p check for null/non-null check.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101511
+       * value-relation.cc (relation_oracle::query_relation): Check if ssa1
+       is in ssa2's equiv set, and don't trap if so.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101497
+       * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Check
+       for undefined.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101496
+       * vr-values.c (simplify_using_ranges::fold_cond): Call range_of_stmt
+       first, then vrp_visit_cond_Stmt.
+
+2021-07-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-expand.c
+       (ix86_broadcast_from_integer_constant): Rename to ..
+       (ix86_broadcast_from_constant): .. this, and extend it to
+       handle float mode.
+       (ix86_expand_vector_move): Extend to float mode.
+       * config/i386/i386-features.c
+       (replace_constant_pool_with_broadcast): Remove.
+       (remove_partial_avx_dependency_gate): Ditto.
+       (constant_pool_broadcast): Ditto.
+       (class pass_constant_pool_broadcast): Ditto.
+       (make_pass_constant_pool_broadcast): Ditto.
+       (remove_partial_avx_dependency): Adjust gate.
+       * config/i386/i386-passes.def: Remove pass_constant_pool_broadcast.
+       * config/i386/i386-protos.h
+       (make_pass_constant_pool_broadcast): Remove.
+
+2021-07-22  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/constraints.md (Wb): New constraint.
+       (Ww): Ditto.
+       * config/i386/i386.md (*ashlhi3_1): Extend to avx512 mask
+       shift.
+       (*ashlqi3_1): Ditto.
+       (*<insn><mode>3_1): Split to ..
+       (*ashr<mode>3_1): this, ...
+       (*lshr<mode>3_1): and this, also extend this pattern to avx512
+       mask registers.
+       (*<insn><mode>3_1): Split to ..
+       (*ashr<mode>3_1): this, ...
+       (*lshrqi3_1): and this, also extend this pattern to avx512
+       mask registers.
+       (*lshrhi3_1): And this, also extend this pattern to avx512
+       mask registers.
+       * config/i386/sse.md (k<code><mode>): New define_split after
+       it to convert generic shift pattern to mask shift ones.
+
+2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * tree-core.h (omp_clause_code): Add 'OMP_CLAUSE_NOHOST'.
+       * tree.c (omp_clause_num_ops, omp_clause_code_name, walk_tree_1):
+       Handle it.
+       * tree-pretty-print.c (dump_omp_clause): Likewise.
+       * omp-general.c (oacc_verify_routine_clauses): Likewise.
+       * gimplify.c (gimplify_scan_omp_clauses)
+       (gimplify_adjust_omp_clauses): Likewise.
+       * tree-nested.c (convert_nonlocal_omp_clauses)
+       (convert_local_omp_clauses): Likewise.
+       * omp-low.c (scan_sharing_clauses): Likewise.
+       * omp-offload.c (execute_oacc_device_lower): Update.
+
+2021-07-21  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-alias.c (walk_aliased_vdefs_1): Fix typos in a comment.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (write_init_bif_table):
+       Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (write_fntype): New
+       callback function.
+       (write_fntype_init): New stub function.
+       (write_init_bif_table): Likewise.
+       (write_init_ovld_table): New function.
+       (write_init_file): Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c
+       (write_autogenerated_header): New function.
+       (write_decls): Likewise.
+       (write_extern_fntype): New callback function.
+       (write_header_file): Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (write_defines_file):
+       Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (complete_vector_type): New
+       function.
+       (complete_base_type): Likewise.
+       (construct_fntype_id): Likewise.
+       (parse_bif_entry): Call contruct_fntype_id.
+       (parse_ovld_entry): Likewise.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (ovld_stanza): New struct.
+       (MAXOVLDSTANZAS): New macro.
+       (ovld_stanzas): New variable.
+       (curr_ovld_stanza): Likewise.
+       (MAXOVLDS): New macro.
+       (ovlddata): New struct.
+       (ovlds): New variable.
+       (curr_ovld): Likewise.
+       (max_ovld_args): Likewise.
+       (parse_ovld_entry): New function.
+       (parse_ovld_stanza): Likewise.
+       (parse_ovld): Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (parse_bif_attrs):
+       Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (parse_args): New function.
+       (parse_prototype): Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (bif_stanza): New enum.
+       (curr_bif_stanza): New variable.
+       (stanza_entry): New struct.
+       (stanza_map): New initialized variable.
+       (enable_string): Likewise.
+       (fnkinds): New enum.
+       (typelist): New struct.
+       (attrinfo): Likewise.
+       (MAXRESTROPNDS): New macro.
+       (prototype): New struct.
+       (MAXBIFS): New macro.
+       (bifdata): New struct.
+       (bifs): New variable.
+       (curr_bif): Likewise.
+       (bif_order): Likewise.
+       (bif_index): Likewise.
+       (fatal): New function.
+       (stanza_name_to_stanza): Likewise.
+       (parse_bif_attrs): New stub function.
+       (parse_prototype): Likewise.
+       (parse_bif_entry): New function.
+       (parse_bif_stanza): Likewise.
+       (parse_bif): Implement.
+       (set_bif_order): New function.
+       (create_bif_order): Implement.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (rbtree.h): New #include.
+       (num_bifs): New variable.
+       (num_ovld_stanzas): Likewise.
+       (num_ovlds): Likewise.
+       (parse_codes): New enum.
+       (bif_rbt): New variable.
+       (ovld_rbt): Likewise.
+       (fntype_rbt): Likewise.
+       (bifo_rbt): Likewise.
+       (parse_bif): New stub function.
+       (create_bif_order): Likewise.
+       (parse_ovld): Likewise.
+       (write_header_file): Likewise.
+       (write_init_file): Likewise.
+       (write_defines_file): Likewise.
+       (delete_output_files): New function.
+       (main): Likewise.
+
+2021-07-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101549
+       * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA_SSE4_2
+       from CRC32 _builtin functions.
+
+2021-07-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * coverage.c (build_gcov_info_var_registration): Mark the object placed
+       in the linker set as referenced so that it does not get optimized away.
+
+2021-07-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       Revert:
+       2021-07-20  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config.gcc (riscv*-*-*): Detect which python is available.
+
+2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101535
+       * gimplify.c (omp_check_private): Properly skip ORT_TARGET_DATA
+       contexts in which decl isn't privatized and for ORT_TARGET return
+       false if decl is mapped.
+
+2021-07-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gimple-loop-jam.c: Include tree-ssa-sccvn.h.
+       (tree_loop_unroll_and_jam): Run value-numbering on a loop that
+       has been successfully unrolled.
+
+2021-07-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-ssa-loop-manip.c (determine_exit_conditions): Return a null
+       exit condition if no tail loop is needed, and if the original exit
+       condition should therefore be kept as-is.
+       (tree_transform_and_unroll_loop): Handle that case here too.
+
+2021-07-21  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-data-ref.c (free_dependence_relations): Adjust to pass vec
+       by reference.
+       (free_data_refs): Likewise.
+       * tree-data-ref.h (free_dependence_relations): Likewise.
+       (free_data_refs): Likewise.
+       * tree-predcom.c (struct chain): Use auto_vec instead of vec for
+       members.
+       (struct component): Likewise.
+       (pcom_worker::pcom_worker): Adjust for auto_vec and renaming changes.
+       (pcom_worker::~pcom_worker): Likewise.
+       (pcom_worker::release_chain): Adjust as auto_vec changes.
+       (pcom_worker::loop): Rename to ...
+       (pcom_worker::m_loop): ... this.
+       (pcom_worker::datarefs): Rename to ...
+       (pcom_worker::m_datarefs): ... this.  Use auto_vec instead of vec.
+       (pcom_worker::dependences): Rename to ...
+       (pcom_worker::m_dependences): ... this.  Use auto_vec instead of vec.
+       (pcom_worker::chains): Rename to ...
+       (pcom_worker::m_chains): ... this.  Use auto_vec instead of vec.
+       (pcom_worker::looparound_phis): Rename to ...
+       (pcom_worker::m_looparound_phis): ... this.  Use auto_vec instead of
+       vec.
+       (pcom_worker::cache): Rename to ...
+       (pcom_worker::m_cache): ... this.  Use auto_vec instead of vec.
+       (pcom_worker::release_chain): Adjust for auto_vec changes.
+       (pcom_worker::release_chains): Adjust for auto_vec and renaming
+       changes.
+       (release_component): Remove.
+       (release_components): Adjust for release_component removal.
+       (component_of): Adjust to use vec.
+       (merge_comps): Likewise.
+       (pcom_worker::aff_combination_dr_offset): Adjust for renaming changes.
+       (pcom_worker::determine_offset): Likewise.
+       (class comp_ptrs): Remove.
+       (pcom_worker::split_data_refs_to_components): Adjust for renaming
+       changes, for comp_ptrs removal with auto_vec.
+       (pcom_worker::suitable_component_p): Adjust for renaming changes.
+       (pcom_worker::filter_suitable_components): Adjust for release_component
+       removal.
+       (pcom_worker::valid_initializer_p): Adjust for renaming changes.
+       (pcom_worker::find_looparound_phi): Likewise.
+       (pcom_worker::add_looparound_copies): Likewise.
+       (pcom_worker::determine_roots_comp): Likewise.
+       (pcom_worker::single_nonlooparound_use): Likewise.
+       (pcom_worker::execute_pred_commoning_chain): Likewise.
+       (pcom_worker::execute_pred_commoning): Likewise.
+       (pcom_worker::try_combine_chains): Likewise.
+       (pcom_worker::prepare_initializers_chain): Likewise.
+       (pcom_worker::prepare_initializers): Likewise.
+       (pcom_worker::prepare_finalizers_chain): Likewise.
+       (pcom_worker::prepare_finalizers): Likewise.
+       (pcom_worker::tree_predictive_commoning_loop): Likewise.
+
+2021-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101397
+       * builtins.c (gimple_call_return_array): Add argument.  Correct
+       offsets for memchr, mempcpy, stpcpy, and stpncpy.
+       (compute_objsize_r): Adjust offset computation for argument returning
+       built-ins.
+
+2021-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101300
+       * tree-ssa-uninit.c (check_defs): Handle UBSAN built-ins.
+
+2021-07-20  Jeff Law  <jlaw@localhost.localdomain>
+
+       * function.c (assign_parm_setup_block): Use adjust_address instead
+       of change_address to preserve MEM_EXPR and friends.
+
+2021-07-20  Martin Sebor  <msebor@redhat.com>
+
+       * cfgloop.h (single_likely_exit): Adjust by-value argument to
+       by-const-reference.
+       * cfgloopanal.c (single_likely_exit): Same.
+       * cgraph.h (struct cgraph_node): Same.
+       * cgraphclones.c (cgraph_node::create_virtual_clone): Same.
+       * genautomata.c (merge_states): Same.
+       * genextract.c (VEC_char_to_string): Same.
+       * genmatch.c (dt_node::gen_kids_1): Same.
+       (walk_captures): Adjust by-value argument to by-reference.
+       * gimple-ssa-store-merging.c (check_no_overlap): Adjust by-value argument
+       to by-const-reference.
+       * gimple.c (gimple_build_call_vec): Same.
+       (gimple_build_call_internal_vec): Same.
+       (gimple_build_switch): Same.
+       (sort_case_labels): Same.
+       (preprocess_case_label_vec_for_gimple): Adjust by-value argument to
+       by-reference.
+       * gimple.h (gimple_build_call_vec): Adjust by-value argument to
+       by-const-reference.
+       (gimple_build_call_internal_vec): Same.
+       (gimple_build_switch): Same.
+       (sort_case_labels): Same.
+       (preprocess_case_label_vec_for_gimple): Adjust by-value argument to
+       by-reference.
+       * haifa-sched.c (calc_priorities): Adjust by-value argument to
+       by-const-reference.
+       (sched_init_luids): Same.
+       (haifa_init_h_i_d): Same.
+       * ipa-cp.c (ipa_get_indirect_edge_target_1): Same.
+       (adjust_callers_for_value_intersection): Adjust by-value argument to
+       by-reference.
+       (find_more_scalar_values_for_callers_subset): Adjust by-value argument to
+       by-const-reference.
+       (find_more_contexts_for_caller_subset): Same.
+       (find_aggregate_values_for_callers_subset): Same.
+       (copy_useful_known_contexts): Same.
+       * ipa-fnsummary.c (remap_edge_summaries): Same.
+       (remap_freqcounting_predicate): Same.
+       * ipa-inline.c (add_new_edges_to_heap): Adjust by-value argument to
+       by-reference.
+       * ipa-predicate.c (predicate::remap_after_inlining): Adjust by-value argument
+       to by-const-reference.
+       * ipa-predicate.h (predicate::remap_after_inlining): Same.
+       * ipa-prop.c (ipa_find_agg_cst_for_param): Same.
+       * ipa-prop.h (ipa_find_agg_cst_for_param): Same.
+       * ira-build.c (ira_loop_tree_body_rev_postorder): Same.
+       * read-rtl.c (add_overload_instance): Same.
+       * rtl.h (native_decode_rtx): Same.
+       (native_decode_vector_rtx): Same.
+       * sched-int.h (sched_init_luids): Same.
+       (haifa_init_h_i_d): Same.
+       * simplify-rtx.c (native_decode_vector_rtx): Same.
+       (native_decode_rtx): Same.
+       * tree-call-cdce.c (gen_shrink_wrap_conditions): Same.
+       (shrink_wrap_one_built_in_call_with_conds): Same.
+       (shrink_wrap_conditional_dead_built_in_calls): Same.
+       * tree-data-ref.c (create_runtime_alias_checks): Same.
+       (compute_all_dependences): Same.
+       * tree-data-ref.h (compute_all_dependences): Same.
+       (create_runtime_alias_checks): Same.
+       (index_in_loop_nest): Same.
+       * tree-if-conv.c (mask_exists): Same.
+       * tree-loop-distribution.c (class loop_distribution): Same.
+       (loop_distribution::create_rdg_vertices): Same.
+       (dump_rdg_partitions): Same.
+       (debug_rdg_partitions): Same.
+       (partition_contains_all_rw): Same.
+       (loop_distribution::distribute_loop): Same.
+       * tree-parloops.c (oacc_entry_exit_ok_1): Same.
+       (oacc_entry_exit_single_gang): Same.
+       * tree-ssa-loop-im.c (hoist_memory_references): Same.
+       (loop_suitable_for_sm): Same.
+       * tree-ssa-loop-niter.c (bound_index): Same.
+       * tree-ssa-reassoc.c (update_ops): Same.
+       (swap_ops_for_binary_stmt): Same.
+       (rewrite_expr_tree): Same.
+       (rewrite_expr_tree_parallel): Same.
+       * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Same.
+       * tree-ssa-sccvn.h (ao_ref_init_from_vn_reference): Same.
+       * tree-ssa-structalias.c (process_all_all_constraints): Same.
+       (make_constraints_to): Same.
+       (handle_lhs_call): Same.
+       (find_func_aliases_for_builtin_call): Same.
+       (sort_fieldstack): Same.
+       (check_for_overlaps): Same.
+       * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Same.
+       (vect_create_cond_for_unequal_addrs): Same.
+       (vect_create_cond_for_lower_bounds): Same.
+       (vect_create_cond_for_alias_checks): Same.
+       * tree-vect-slp-patterns.c (vect_validate_multiplication): Same.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Same.
+       (vect_make_slp_decision): Same.
+       (vect_slp_bbs): Same.
+       (duplicate_and_interleave): Same.
+       (vect_transform_slp_perm_load): Same.
+       (vect_schedule_slp): Same.
+       * tree-vectorizer.h (vect_transform_slp_perm_load): Same.
+       (vect_schedule_slp): Same.
+       (duplicate_and_interleave): Same.
+       * tree.c (build_vector_from_ctor): Same.
+       (build_vector): Same.
+       (check_vector_cst): Same.
+       (check_vector_cst_duplicate): Same.
+       (check_vector_cst_fill): Same.
+       (check_vector_cst_stepped): Same.
+       * tree.h (build_vector_from_ctor): Same.
+
+2021-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101384
+       * config/rs6000/rs6000-protos.h (easy_altivec_constant): Change return
+       type from bool to int.
+       * config/rs6000/rs6000.c (vspltis_constant): Fix up handling the
+       EASY_VECTOR_MSB case if either step or copies is not 1.
+       (vspltis_shifted): Fix comment typo.
+       (easy_altivec_constant): Change return type from bool to int, instead
+       of returning true return byte size of the element mode that should be
+       used to synthetize the constant.
+       * config/rs6000/predicates.md (easy_vector_constant_msb): Require
+       that vspltis_shifted is 0, handle the case where easy_altivec_constant
+       assumes using different vector mode from CONST_VECTOR's mode.
+       * config/rs6000/altivec.md (easy_vector_constant_msb splitter): Use
+       easy_altivec_constant to determine mode in which -1 >> -1 should be
+       performed, use rs6000_expand_vector_init instead of gen_vec_initv4sisi.
+
+2021-07-20  Richard Biener  <rguenther@suse.de>
+
+       PR debug/101473
+       * dwarf2out.h (dwarf_file_data): Add key member.
+       * dwarf2out.c (dwarf_file_hasher::equal): Compare key.
+       (dwarf_file_hasher::hash): Hash key.
+       (lookup_filename): Remap the filename and store it in the
+       filename member of dwarf_file_data when creating a new
+       dwarf_file_data.
+       (file_name_acquire): Do not remap the filename again.
+       (maybe_emit_file): Likewise.
+
+2021-07-20  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use two variant
+       generators for all TBL/TBX intrinsics and rename to
+       consistent forms: qtbl[1234] or qtbx[1234].
+       * config/aarch64/aarch64-simd.md (aarch64_tbl1<mode>):
+       Rename to...
+       (aarch64_qtbl1<mode>): This.
+       (aarch64_tbx1<mode>): Rename to...
+       (aarch64_qtbx1<mode>): This.
+       (aarch64_tbl2v16qi): Delete.
+       (aarch64_tbl3<mode>): Rename to...
+       (aarch64_qtbl2<mode>): This.
+       (aarch64_tbx4<mode>): Rename to...
+       (aarch64_qtbx2<mode>): This.
+       * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Use
+       renamed qtbl1 and qtbl2 RTL patterns.
+       * config/aarch64/arm_neon.h (vqtbl1_p8): Use renamed qtbl1
+       RTL pattern.
+       (vqtbl1_s8): Likewise.
+       (vqtbl1_u8): Likewise.
+       (vqtbl1q_p8): Likewise.
+       (vqtbl1q_s8): Likewise.
+       (vqtbl1q_u8): Likewise.
+       (vqtbx1_s8): Use renamed qtbx1 RTL pattern.
+       (vqtbx1_u8): Likewise.
+       (vqtbx1_p8): Likewise.
+       (vqtbx1q_s8): Likewise.
+       (vqtbx1q_u8): Likewise.
+       (vqtbx1q_p8): Likewise.
+       (vtbl1_s8): Use renamed qtbl1 RTL pattern.
+       (vtbl1_u8): Likewise.
+       (vtbl1_p8): Likewise.
+       (vtbl2_s8): Likewise
+       (vtbl2_u8): Likewise.
+       (vtbl2_p8): Likewise.
+       (vtbl3_s8): Use renamed qtbl2 RTL pattern.
+       (vtbl3_u8): Likewise.
+       (vtbl3_p8): Likewise.
+       (vtbl4_s8): Likewise.
+       (vtbl4_u8): Likewise.
+       (vtbl4_p8): Likewise.
+       (vtbx2_s8): Use renamed qtbx2 RTL pattern.
+       (vtbx2_u8): Likewise.
+       (vtbx2_p8): Likewise.
+       (vqtbl2_s8): Use renamed qtbl2 RTL pattern.
+       (vqtbl2_u8): Likewise.
+       (vqtbl2_p8): Likewise.
+       (vqtbl2q_s8): Likewise.
+       (vqtbl2q_u8): Likewise.
+       (vqtbl2q_p8): Likewise.
+       (vqtbx2_s8): Use renamed qtbx2 RTL pattern.
+       (vqtbx2_u8): Likewise.
+       (vqtbx2_p8): Likewise.
+       (vqtbx2q_s8): Likewise.
+       (vqtbx2q_u8): Likewise.
+       (vqtbx2q_p8): Likewise.
+       (vtbx4_s8): Likewise.
+       (vtbx4_u8): Likewise.
+       (vtbx4_p8): Likewise.
+
+2021-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100182
+       * config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
+       Remove.
+       (define_peephole2 atomic_loaddi_fpu): Ditto.
+
+2021-07-20  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config.gcc (riscv*-*-*): Detect which python is available.
+
+2021-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/vsx.md (mulhs_<mode>): Rename to...
+       (smul<mode>3_highpart): ... this.
+       (mulhu_<mode>): Rename to...
+       (umul<mode>3_highpart): ... this.
+       * config/rs6000/rs6000-builtin.def (MULHS_V2DI, MULHS_V4SI,
+       MULHU_V2DI, MULHU_V4SI): Adjust.
+
+2021-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/100696
+       * internal-fn.c (first_commutative_argument): Add info for IFN_MULH.
+       * internal-fn.def (IFN_MULH): New internal function.
+       * tree-vect-patterns.c (vect_recog_mulhs_pattern): Add support to
+       recog normal multiply highpart as IFN_MULH.
+       * config/i386/i386.c (ix86_add_stmt_cost): Adjust for combined
+       function CFN_MULH.
+
+2021-07-19  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * config/elfos.h (CTF_DEBUGGING_INFO): New definition.
+       (BTF_DEBUGGING_INFO): Likewise.
+       * doc/tm.texi.in: Document the new macros.
+       * doc/tm.texi: Regenerated.
+       * toplev.c: Guard initialization of debug hooks.
+
+2021-07-19  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * flags.h (ctf_debuginfo_p): New function declaration.
+       * opts.c (ctf_debuginfo_p): New function definition.
+
+2021-07-19  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR target/100208
+       * config/gcn/gcn-hsa.h (DRIVER_SELF_SPECS): New.
+       (ASM_SPEC): Set -mattr for xnack and sram-ecc.
+       * config/gcn/gcn-opts.h (enum sram_ecc_type): New.
+       * config/gcn/gcn-valu.md: Add a warning comment.
+       * config/gcn/gcn.c (gcn_option_override): Add "sorry" for -mxnack.
+       (output_file_start): Add xnack and sram-ecc state to ".amdgcn_target".
+       * config/gcn/gcn.md: Add a warning comment.
+       * config/gcn/gcn.opt: Add -mxnack and -msram-ecc.
+       * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): Remove
+       SRAM-ECC flag.
+       (EF_AMDGPU_XNACK): New.
+       (EF_AMDGPU_SRAM_ECC): New.
+       (elf_flags): New.
+       (copy_early_debug_info): Use elf_flags.
+       (main): Handle -mxnack and -msram-ecc options.
+       * doc/invoke.texi: Document -mxnack and -msram-ecc.
+
+2021-07-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101205
+       * config/aarch64/aarch64.md (csneg3_uxtw_insn): Rename to ...
+       (*cs<neg_not_cs>3_uxtw_insn4): and extend to NEG_NOT.
+
+2021-07-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101505
+       * tree-vect-patterns.c (vect_determine_precisions): Walk
+       PHIs also for loop vectorization.
+
+2021-07-19  Richard Biener  <rguenther@suse.de>
+
+       * gimple.h (gimple_expr_type): Remove.
+       * doc/gimple.texi: Remove gimple_expr_type documentation.
+
+2021-07-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_reference_eq): Handle NULL vr->type.
+       (ao_ref_init_from_vn_reference): Likewise.
+       (fully_constant_reference): Likewise.
+       (vn_reference_lookup_call): Do not set vr->type to random
+       values.
+       * tree-ssa-pre.c (compute_avail): Do not try to PRE calls
+       without a value.
+       * tree-vect-generic.c (expand_vector_piecewise): Pass in
+       whether we expanded parallel.
+       (expand_vector_parallel): Adjust.
+       (expand_vector_addition): Likewise.
+       (expand_vector_comparison): Likewise.
+       (expand_vector_operation): Likewise.
+       (expand_vector_scalar_condition): Likewise.
+       (expand_vector_conversion): Likewise.
+
+2021-07-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vrp.c (register_edge_assert_for_2): Use the
+       type from the LHS.
+       (vrp_folder::fold_predicate_in): Likewise.
+       * vr-values.c (gimple_assign_nonzero_p): Likewise.
+       (vr_values::extract_range_from_comparison): Likewise.
+       (vr_values::extract_range_from_ubsan_builtin): Use the
+       type of the first operand.
+       (vr_values::extract_range_basic): Push down type
+       computation, use the appropriate LHS.
+       (vr_values::extract_range_from_assignment): Use the
+       type of the LHS.
+
+2021-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101492
+       * common/config/i386/i386-common.c (ix86_handle_option): For
+       -mgeneral-regs-only, enable the GPR only instructions which are
+       enabled implicitly by SSE ISAs unless they have been disabled
+       explicitly.
+
+2021-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101495
+       * config/i386/i386.c (ix86_check_avx_upper_stores): Moved before
+       ix86_avx_u128_mode_needed.
+       (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY if callee
+       returns AVX register.
+
+2021-07-17  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-structalias.c (handle_rhs_call): Support EAF_NOT_RETURNED.
+       (handle_const_call): Liekise
+       (handle_pure_call): Liekise
+
+2021-07-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/96542
+       * range-op.cc (range_operator::wi_fold_in_parts): New.
+       (range_operator::fold_range): Call wi_fold_in_parts.
+       (operator_lshift::wi_fold): Fix broken lshift by [0,0].
+       * range-op.h (wi_fold_in_parts): Add prototype.
+
+2021-07-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi: Add __analyzer_dump_state.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rbtree.c: New file.
+       * config/rs6000/rbtree.h: New file.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (restriction): New enum.
+       (typeinfo): Add restr field.
+       (match_bracketed_pair): New function.
+       (match_const_restriction): Implement.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (void_status): New enum.
+       (basetype): Likewise.
+       (typeinfo): Likewise.
+       (handle_pointer): New function.
+       (match_basetype): New stub function.
+       (match_const_restriction): Likewise.
+       (match_type): New function.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New
+       function.
+       (advance_line): Likewise.
+       (safe_inc_pos): Likewise.
+       (match_identifier): Likewise.
+       (match_integer): Likewise.
+       (match_to_right_bracket): Likewise.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable.
+       (ovld_file): Likewise.
+       (header_file): Likewise.
+       (init_file): Likewise.
+       (defines_file): Likewise.
+       (pgm_path): Likewise.
+       (bif_path): Likewise.
+       (ovld_path): Likewise.
+       (header_path): Likewise.
+       (init_path): Likewise.
+       (defines_path): Likewise.
+       (LINELEN): New macro.
+       (linebuf): New variable.
+       (line): Likewise.
+       (pos): Likewise.
+       (diag): Likewise.
+       (bif_diag): New function.
+       (ovld_diag): Likewise.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin-new.def: New.
+       * config/rs6000/rs6000-overload.def: New.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-gen-builtins.c: New.
+
+2021-07-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * Makefile.in (EXTRA_GTYPE_DEPS): New variable.
+       (s-gtype): Depend on EXTRA_GTYPE_DEPS.
+       * gengtype-state.c (state_writer::write_state_file_list): Add a
+       parameter to the fileslist expression for the number of build
+       headers to scan.
+       (read_state_files_list): Detect build headers and strip the
+       initial "./" or ".\" from their names.
+       * gengtype.c (build_headers): New global variable.
+       (num_build_headers): Likewise.
+       (open_base_files): Emit #include for each build header.
+       (main): Detect and count build headers.
+       * gengtype.h (build_headers): New extern variable.
+       (num_build_headers): Likewise.
+
+2021-07-16  Richard Biener   <rguenther@suse.de>
+
+       * gimple-ssa-store-merging.c (verify_symbolic_number_p): Use
+       the type of the LHS.
+       (find_bswap_or_nop_1): Likewise.
+       (find_bswap_or_nop): Likewise.
+       * tree-vectorizer.h (vect_get_smallest_scalar_type): Adjust
+       prototype.
+       * tree-vect-data-refs.c (vect_get_smallest_scalar_type):
+       Remove unused parameters, pass in the scalar type.  Fix
+       internal store function handling.
+       * tree-vect-stmts.c (vect_analyze_stmt): Remove assert.
+       (vect_get_vector_types_for_stmt): Move down check for
+       existing vector stmt after we've determined a scalar type.
+       Pass down the used scalar type to vect_get_smallest_scalar_type.
+       * tree-vect-generic.c (expand_vector_condition): Use
+       the type of the LHS.
+       (expand_vector_scalar_condition): Likewise.
+       (expand_vector_operations_1): Likewise.
+       * tree-vect-patterns.c (vect_widened_op_tree): Likewise.
+       (vect_recog_dot_prod_pattern): Likewise.
+       (vect_recog_sad_pattern): Likewise.
+       (vect_recog_widen_op_pattern): Likewise.
+       (vect_recog_widen_sum_pattern): Likewise.
+       (vect_recog_mixed_size_cond_pattern): Likewise.
+
+2021-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (struct escape_entry): Use eaf_fleags_t.
+       (dump_eaf_flags): Dump EAF_NOT_RETURNED
+       (eaf_flags_useful_p): Use eaf_fleags_t; handle const functions
+       and EAF_NOT_RETURNED.
+       (modref_summary::useful_p): Likewise.
+       (modref_summary_lto::useful_p): Likewise.
+       (struct) modref_summary_lto: Use eaf_fleags_t.
+       (deref_flags): Handle EAF_NOT_RETURNED.
+       (struct escape_point): Use min_flags.
+       (modref_lattice::init): Add EAF_NOT_RETURNED.
+       (merge_call_lhs_flags): Ignore EAF_NOT_RETURNED functions
+       (analyze_ssa_name_flags): Clear EAF_NOT_RETURNED on return;
+       handle call flags.
+       (analyze_parms): Also analyze const functions; update conition on
+       flags usefulness.
+       (modref_write): Update streaming.
+       (read_section): Update streaming.
+       (remap_arg_flags): Use eaf_flags_t.
+       (modref_merge_call_site_flags): Hanlde EAF_NOT_RETURNED.
+       * ipa-modref.h: (eaf_flags_t): New typedef.
+       (struct modref_summary): Use eaf_flags_t.
+       * tree-core.h (EAF_NOT_RETURNED): New constant.
+
+2021-07-16  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use
+       the type of the LHS.
+       (gimple_assign_nonnegative_warnv_p): Likewise.
+       (gimple_call_nonnegative_warnv_p): Likewise.  Return false
+       if the call has no LHS.
+       * gimple.c (gimple_could_trap_p_1): Use the type of the LHS.
+       * tree-eh.c (stmt_could_throw_1_p): Likewise.
+       * tree-inline.c (insert_init_stmt): Likewise.
+       * tree-ssa-loop-niter.c (get_val_for): Likewise.
+       * tree-outof-ssa.c (ssa_is_replaceable_p): Use the type of
+       the def.
+       * tree-ssa-sccvn.c (init_vn_nary_op_from_stmt): Take a
+       gassign *.  Use the type of the lhs.
+       (vn_nary_op_lookup_stmt): Adjust.
+       (vn_nary_op_insert_stmt): Likewise.
+
+2021-07-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/predicates.md (bras_sym_operand): Accept all
+       functions in 64-bit mode, use UNSPEC_PLT31.
+       (larl_operand): Use UNSPEC_PLT31.
+       * config/s390/s390.c (s390_loadrelative_operand_p): Likewise.
+       (legitimize_pic_address): Likewise.
+       (s390_emit_tls_call_insn): Mark __tls_get_offset as function,
+       use UNSPEC_PLT31.
+       (s390_delegitimize_address): Use UNSPEC_PLT31.
+       (s390_output_addr_const_extra): Likewise.
+       (print_operand): Add @PLT to TLS calls, handle %K.
+       (s390_function_profiler): Mark __fentry__/_mcount as function,
+       use %K, use UNSPEC_PLT31.
+       (s390_output_mi_thunk): Use only UNSPEC_GOT, use %K.
+       (s390_emit_call): Use UNSPEC_PLT31.
+       (s390_emit_tpf_eh_return): Mark __tpf_eh_return as function.
+       * config/s390/s390.md (UNSPEC_PLT31): Rename from UNSPEC_PLT.
+       (*movdi_64): Use %K.
+       (reload_base_64): Likewise.
+       (*sibcall_brc): Likewise.
+       (*sibcall_brcl): Likewise.
+       (*sibcall_value_brc): Likewise.
+       (*sibcall_value_brcl): Likewise.
+       (*bras): Likewise.
+       (*brasl): Likewise.
+       (*bras_r): Likewise.
+       (*brasl_r): Likewise.
+       (*bras_tls): Likewise.
+       (*brasl_tls): Likewise.
+       (main_base_64): Likewise.
+       (reload_base_64): Likewise.
+       (@split_stack_call<mode>): Likewise.
+
+2021-07-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101467
+       * tree-vect-stmts.c (vect_gen_while): Properly guard
+       make_temp_ssa_name usage.
+
+2021-07-16  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config.gcc: Don't use forked print-sysroot-suffix.sh and
+       t-sysroot-suffix for C-SKY.
+       * config/csky/print-sysroot-suffix.sh: Delete.
+       * config/csky/t-csky-linux: Delete.
+       * config/csky/t-sysroot-suffix: Define MULTILIB_DIRNAMES
+       instead of CSKY_MULTILIB_DIRNAMES.
+
+2021-07-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_transform_cycle_phi): Correct sign
+       conversion issues with the partial reduction of the reused
+       vector accumulator.
+
+2021-07-16  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/i386-options.c (ix86_option_override_internal): Set
+       param_vect_partial_vector_usage to zero if not set.
+
+2021-07-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101346
+       * config/i386/i386.h (VALID_SSE_REG_MODE): Add TDmode.
+       (VALID_INT_MODE_P): Add SDmode and DDmode.
+       Add TDmode for TARGET_64BIT.
+       (VALID_DFP_MODE_P): Remove.
+       * config/i386/i386.c (ix86_hard_regno_mode_ok):
+       Do not use VALID_DFP_MODE_P.
+
+2021-07-15  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (adjust_pointer_diff_expr): Use
+       gimple_range_type.
+       (fold_using_range::fold_stmt): Ditto.
+       (fold_using_range::range_of_range_op): Ditto.
+       (fold_using_range::range_of_phi): Ditto.
+       (fold_using_range::range_of_call): Ditto.
+       (fold_using_range::range_of_builtin_ubsan_call): Ditto.
+       (fold_using_range::range_of_builtin_call): Ditto.
+       (fold_using_range::range_of_cond_expr): Ditto.
+       * gimple-range-fold.h (gimple_range_type): New.
+
+2021-07-15  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97027
+       * tree-ssa-strlen.c (handle_assign): New function.
+       (maybe_warn_overflow): Add argument.
+       (nonzero_bytes_for_type): New function.
+       (count_nonzero_bytes): Handle more tree types.  Call
+       nonzero_bytes_for_tye.
+       (count_nonzero_bytes): Handle types.
+       (handle_store): Handle stores from function calls.
+       (strlen_check_and_optimize_call): Move code to handle_assign.  Call
+       it for assignments from function calls.
+
+2021-07-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/95006
+       PR analyzer/94713
+       PR analyzer/94714
+       * doc/invoke.texi: Add -Wanalyzer-use-of-uninitialized-value.
+
+2021-07-15  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdump-analyzer-exploded-paths): New.
+
+2021-07-15  Martin Sebor  <msebor@redhat.com>
+
+       PR c/101289
+       PR c/97548
+       * fold-const.c (operand_compare::operand_equal_p): Handle OEP_DECL_NAME.
+       (operand_compare::verify_hash_value): Same.
+       * tree-core.h (OEP_DECL_NAME): New.
+
+2021-07-15  Martin Jambor  <mjambor@suse.cz>
+
+       * profile-count.h (profile_count::value): Change the return type to
+       uint64_t.
+       * gimple-pretty-print.c (dump_gimple_bb_header): Adjust print
+       statement.
+       * tree-cfg.c (dump_function_to_file): Likewise.
+
+2021-07-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101129
+       * config/rs6000/rs6000-p8swap.c (has_part_mult): New.
+       (rs6000_analyze_swaps): Insns containing a subreg of a mult are
+       not swappable.
+
+2021-07-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_gen_while): Match up with
+       vect_gen_while_not.
+       * tree-vect-stmts.c (vect_gen_while): Adjust API to that
+       of vect_gen_while_not.
+       (vect_gen_while_not): Adjust.
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Likewise.
+
+2021-07-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::adjust_range): New.
+       (ranger_cache::range_of_def): Call adjust_range.
+       (ranger_cache::entry_range): Same.
+       * gimple-range-cache.h (non_null_ref::adjust_range): New.
+       * gimple-range.cc (gimple_ranger::range_of_expr): Call
+       adjust_range.
+       (gimple_ranger::range_on_entry): Same.
+
+2021-07-15  Tamar Christina  <tamar.christina@arm.com>
+
+       Revert:
+       2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/neon.md (<sup>dot_prod<vsi2qi>): Drop statements.
+
+2021-07-15  Tamar Christina  <tamar.christina@arm.com>
+
+       Revert:
+       2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (udot, sdot): Rename to...
+       (sdot_prod, udot_prod): ...These.
+       * config/aarch64/aarch64-simd.md (<sur>dot_prod<vsi2qi>): Remove.
+       (aarch64_<sur>dot<vsi2qi>): Rename to...
+       (<sur>dot_prod<vsi2qi>): ...This.
+       * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32):
+       Update builtins.
+
+2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101437
+       * gimplify.c (gimplify_expr): Throw away volatile reads from empty
+       types even if they have non-BLKmode TYPE_MODE.
+
+2021-07-15  Richard Biener  <rguenther@suse.de>
+
+       PR driver/101383
+       * gcc.c (process_command): Process -gtoggle like process_options
+       would after parsing options.
+
+2021-07-15  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * cfgexpand.c (expand_asm_loc): Adjust.
+       (expand_asm_stmt): Likewise.
+       * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Likewise.
+       * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise.
+       * config/arm/arm.c (thumb1_md_asm_adjust): Likewise.
+       * config/avr/avr.c (avr_md_asm_adjust): Likewise.
+       * config/cris/cris.c (cris_md_asm_adjust): Likewise.
+       * config/i386/i386.c (ix86_md_asm_adjust): Likewise.
+       * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise.
+       * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise.
+       * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise.
+       * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise.
+       * config/s390/s390.c (s390_md_asm_adjust): Likewise.
+       * config/vax/vax.c (vax_md_asm_adjust): Likewise.
+       * config/visium/visium.c (visium_md_asm_adjust): Likewise.
+       * doc/tm.texi: Regenerate.
+       * target.def: Add location argument to md_asm_adjust.
+
+2021-07-15  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * tree-diagnostic.c (diagnostic_report_current_function): Use the
+       diagnostic's location, not input_location.
+
+2021-07-15  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * cfgexpand.c (tree_conflicts_with_clobbers_p): Pass location to
+       diagnostics.
+       (expand_asm_stmt): Likewise.
+
+2021-07-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (adjacent_mem_locations): Return the lower
+       addressed memory rtx, if any.
+       (rs6000_split_multireg_move): Fix code formatting.
+       Handle MMA build built-ins with operands in adjacent memory locations.
+
+2021-07-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Move to later
+       in the file.
+
+2021-07-14  Jason Merrill  <jason@redhat.com>
+
+       * sel-sched-ir.h (get_all_loop_exits): Use auto_vec.
+
+2021-07-14  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi: -fdelete-dead-exceptions is on by default for
+       C++.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
+       Remove erroneous line.
+
+2021-07-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       * params.opt (param_evrp_mode): Change default.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (udot, sdot): Rename to...
+       (sdot_prod, udot_prod): ...These.
+       * config/aarch64/aarch64-simd.md (<sur>dot_prod<vsi2qi>): Remove.
+       (aarch64_<sur>dot<vsi2qi>): Rename to...
+       (<sur>dot_prod<vsi2qi>): ...This.
+       * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32):
+       Update builtins.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/neon.md (<sup>dot_prod<vsi2qi>): Drop statements.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * doc/sourcebuild.texi (arm_v8_2a_i8mm_neon_hw): Document.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/neon.md (usdot_prod<vsi2qi>): New.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_usdot<vsi2qi>): Rename to...
+       (usdot_prod<vsi2qi>): ... This.
+       * config/aarch64/aarch64-simd-builtins.def (usdot): Rename to...
+       (usdot_prod): ...This.
+       * config/aarch64/arm_neon.h (vusdot_s32, vusdotq_s32): Likewise.
+       * config/aarch64/aarch64-sve.md (@aarch64_<sur>dot_prod<vsi2qi>):
+       Rename to...
+       (@<sur>dot_prod<vsi2qi>): ...This.
+       * config/aarch64/aarch64-sve-builtins-base.cc
+       (svusdot_impl::expand): Use it.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * optabs.def (usdot_prod_optab): New.
+       * doc/md.texi: Document it and clarify other dot prod optabs.
+       * optabs-tree.h (enum optab_subtype): Add optab_vector_mixed_sign.
+       * optabs-tree.c (optab_for_tree_code): Support usdot_prod_optab.
+       * optabs.c (expand_widen_pattern_expr): Likewise.
+       * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Query dot-product kind.
+       * tree-vect-patterns.c (vect_supportable_direct_optab_p): Take optional
+       optab subtype.
+       (vect_widened_op_tree): Optionally ignore
+       mismatch types.
+       (vect_recog_dot_prod_pattern): Support usdot_prod_optab.
+
+2021-07-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101395
+       * config/i386/driver-i386.c (host_detect_local_cpu): Check
+       "arch [32|64]" and "tune [32|64]" for 32-bit and 64-bit codegen.
+       Enable UINTR only for 64-bit codegen.
+       * config/i386/i386-options.c
+       (ix86_option_override_internal::DEF_PTA): Skip PTA_UINTR if not
+       in 64-bit mode.
+       * config/i386/i386.h (ARCH_ARG): New.
+       (CC1_CPU_SPEC): Pass "[arch|tune] 32" for 32-bit codegen and
+       "[arch|tune] 64" for 64-bit codegen.
+
+2021-07-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101445
+       * tree-vect-stmts.c (vectorizable_load): Do the gap adjustment
+       of the IV in the correct direction for negative stride
+       accesses.
+
+2021-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR go/101407
+       * godump.c (godump_str_hash): New type.
+       (godump_container::pot_dummy_types): Use string_hash instead of
+       ptr_hash in the hash_set.
+
+2021-07-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_find_reusable_accumulator): Handle
+       vector types where the old vector type has a multiple of
+       the new vector type elements.
+       (vect_create_partial_epilog): New function, split out from...
+       (vect_create_epilog_for_reduction): ... here.
+       (vect_transform_cycle_phi): Reduce the re-used accumulator
+       to the new vector type.
+
+2021-07-14  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-ssa-alias.c (attr_fnspec::verify): Fix index in
+       non-'t'-sized arg check.
+
+2021-07-14  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-cfg.c (cleanup_dead_labels_eh): Update
+       post_landing_pad label upon change of landing pad block's
+       primary label.
+       (cleanup_dead_labels): Check that a removed label is not that
+       of a landing pad.
+
+2021-07-13  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * combine.c (combine_simplify_rtx): Add vec_select -> subreg
+       simplification.
+       * config/aarch64/aarch64.md (*zero_extend<SHORT:mode><GPI:mode>2_aarch64):
+       Add Neon to general purpose register case for zero-extend
+       pattern.
+       * config/arm/vfp.md (*arm_movsi_vfp): Remove "*" from *t -> r
+       case to prevent some cases opting to go through memory.
+       * cse.c (fold_rtx): Add vec_select -> subreg simplification.
+       * rtl.c (rtvec_series_p): Define predicate to determine
+       whether a vector contains a linear series of integers.
+       * rtl.h (rtvec_series_p): Define.
+       * rtlanal.c (vec_series_lowpart_p): Define predicate to
+       determine if a vector selection is equivalent to the low part
+       of the vector.
+       * rtlanal.h (vec_series_lowpart_p): Define.
+       * simplify-rtx.c (simplify_context::simplify_binary_operation_1):
+       Add vec_select -> subreg simplification.
+
+2021-07-13  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_testz_si128, _mm_testc_si128,
+       _mm_testnzc_si128, _mm_test_all_ones, _mm_test_all_zeros,
+       _mm_test_mix_ones_zeros): New.
+
+2021-07-13  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gimple.c (gimple_could_trap_p_1):  Make S argument a
+       "const gimple*".  Preserve constness in call to
+       gimple_asm_volatile_p.
+       (gimple_could_trap_p): Make S argument a "const gimple*".
+       * gimple.h (gimple_could_trap_p_1, gimple_could_trap_p):
+       Update function prototypes.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (vect_reusable_accumulator): New structure.
+       (_loop_vec_info::main_loop_edge): New field.
+       (_loop_vec_info::skip_main_loop_edge): Likewise.
+       (_loop_vec_info::skip_this_loop_edge): Likewise.
+       (_loop_vec_info::reusable_accumulators): Likewise.
+       (_stmt_vec_info::reduc_scalar_results): Likewise.
+       (_stmt_vec_info::reused_accumulator): Likewise.
+       (vect_get_main_loop_result): Declare.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
+       reduc_scalar_inputs.
+       (vec_info::free_stmt_vec_info): Free reduc_scalar_inputs.
+       * tree-vect-loop-manip.c (vect_get_main_loop_result): New function.
+       (vect_do_peeling): Fill an epilogue loop's main_loop_edge,
+       skip_main_loop_edge and skip_this_loop_edge fields.
+       * tree-vect-loop.c (INCLUDE_ALGORITHM): Define.
+       (vect_emit_reduction_init_stmts): New function.
+       (get_initial_def_for_reduction): Use it.
+       (get_initial_defs_for_reduction): Likewise.  Change the vinfo
+       parameter to a loop_vec_info.
+       (vect_create_epilog_for_reduction): Store the scalar results
+       in the reduc_info.  If an epilogue loop is reusing an accumulator
+       from the main loop, and if the epilogue loop can also be skipped,
+       try to place the reduction code in the join block.  Record
+       accumulators that could potentially be reused by epilogue loops.
+       (vect_transform_cycle_phi): When vectorizing epilogue loops,
+       try to reuse accumulators from the main loop.  Record the initial
+       value in reduc_info for non-SLP reductions too.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (get_initial_def_for_reduction): Remove
+       adjustment handling.  Take the neutral value as an argument,
+       in place of the code argument.
+       (vect_transform_cycle_phi): Update accordingly.  Handle the
+       initial values of cond reductions separately from code reductions.
+       Choose the adjustment here rather than in
+       get_initial_def_for_reduction.  Sink the splat of vec_initial_def.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (neutral_op_for_slp_reduction): Replace with...
+       (neutral_op_for_reduction): ...this, providing a more general
+       interface.
+       (vect_create_epilog_for_reduction): Update accordingly.
+       (vectorizable_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (get_initial_def_for_reduction): Take the
+       reduc_info instead of the original stmt_vec_info.
+       (vect_transform_cycle_phi): Update accordingly.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (get_initial_defs_for_reduction): Take the
+       reduc_info as an additional parameter.
+       (vect_transform_cycle_phi): Update accordingly.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h: Include tree-ssa-operands.h.
+       (vect_phi_initial_value): New function.
+       * tree-vect-loop.c (neutral_op_for_slp_reduction): Use it.
+       (get_initial_defs_for_reduction, info_for_reduction): Likewise.
+       (vect_create_epilog_for_reduction, vectorizable_reduction): Likewise.
+       (vect_transform_cycle_phi, vectorizable_induction): Likewise.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Convert
+       the phi results to vectype after creating them.  Remove later
+       conversion code that thus becomes redundant.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Replace
+       the new_phis vector with a reduc_inputs vector.  Combine handling
+       of reduction chains and ncopies > 1.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Truncate
+       scalar_results to group_size elements after reducing down from
+       N*group_size elements.  Construct an array_slice of the live-out
+       stmts and assert that there is one stmt per scalar result.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
+       nested_in_vect_loop and use double_reduc everywhere.  Remove dead
+       assignment to "loop".
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.c (vectorized_internal_fn_supported_p): Handle
+       vector types first.  For scalar types, consider both the preferred
+       vector mode and the alternative vector modes.
+       * optabs-query.c (can_vec_mask_load_store_p): Use the same
+       structure as above, in particular using related_vector_mode
+       for modes provided by autovectorize_vector_modes.
+
+2021-07-13  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101419
+       * tree-pass.h (PROP_objsz): Define.
+       (make_pass_early_object_sizes): Declare.
+       * passes.def (pass_all_early_optimizations): Rename pass_object_sizes
+       there to pass_early_object_sizes, drop parameter.
+       (pass_all_optimizations): Move pass_object_sizes right after pass_ccp,
+       drop parameter, move pass_post_ipa_warn right after that.
+       * tree-object-size.c (pass_object_sizes::execute): Rename to...
+       (object_sizes_execute): ... this.  Add insert_min_max_p argument.
+       (pass_data_object_sizes): Move after object_sizes_execute.
+       (pass_object_sizes): Likewise.  In execute method call
+       object_sizes_execute, drop set_pass_param method and insert_min_max_p
+       non-static data member and its initializer in the ctor.
+       (pass_data_early_object_sizes, pass_early_object_sizes,
+       make_pass_early_object_sizes): New.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use
+       (cfun->curr_properties & PROP_objsz) instead of cfun->after_inlining.
+
+2021-07-13  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/101275
+       * config/riscv/constraints.md ("S"): Update description and remove
+       @internal.
+       * doc/md.texi (Machine Constraints): Document the 'S' constraints
+       for RISC-V.
+
+2021-07-13  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_region): Show the number of
+       SLP graph entries in the optimization message.
+
+2021-07-13  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/altivec.md (xxspltiw_v4sf): Change local variable
+       value to to long.
+       * config/rs6000/rs6000-protos.h (rs6000_const_f32_to_i32): Change
+       return type to long.
+       * config/rs6000/rs6000.c (rs6000_const_f32_to_i32): Change return
+       type to long.
+
+2021-07-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_builtin_ubsan_call):
+       Query relation between the 2 operands and use it.
+
+2021-07-12  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/cfg.texi: Fix s/ei_safe_safe/ei_safe_edge/ typo.
+
+2021-07-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101424
+       * config/i386/predicates.md (vec_setm_sse41_operand):
+       Rename from vec_setm_operand.
+       (vec_setm_avx2_operand): New predicate.
+       * config/i386/sse.md (vec_set<V_128:mode>): Use V_128 mode iterator.
+       Use vec_setm_sse41_operand as operand 2 predicate.
+       (vec_set<V_256_512:mode): New expander.
+       * config/i386/mmx.md (vec_setv2hi): Use vec_setm_sse41_operand
+       as operand 2 predicate.
+
+2021-07-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101335
+       * range-op.cc (operator_cast::lhs_op1_relation): Delete.
+
+2021-07-12  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (match_simplify_replacement): Move
+       insert of the sequence before the movement of the
+       statement. Check if to see if the statement is used
+       outside of the original phi to see if we should move it.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       * dump-context.h (debug_dump_context::debug_dump_context):
+       Add FILE * parameter defaulted to stderr.
+       * dumpfile.c (debug_dump_context::debug_dump_context): Adjust.
+       * tree-vect-slp.c (dot_slp_tree): New functions.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101373
+       * tree-ssa-pre.c (prune_clobbered_mems): Also prune trapping
+       references when the BB may not return.
+       (compute_avail): Pass in the function we're working on and
+       replace cfun references with it.  Externally throwing
+       const calls also possibly terminate the function.
+       (pass_pre::execute): Pass down the function we're working on.
+       * gcse.c (compute_hash_table_work): Externally throwing
+       const/pure calls also need record_last_mem_set_info.
+       * postreload-gcse.c (record_opr_changes): Looping or externally
+       throwing const/pure calls also need record_last_mem_set_info.
+
+2021-07-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * recog.c (memory_address_addr_space_p): Change the type to bool.
+       Return true/false instead of 1/0.
+       (offsettable_memref_p): Ditto.
+       (offsettable_nonstrict_memref_p): Ditto.
+       (offsettable_address_addr_space_p): Ditto.
+       Change the type of addressp indirect function to bool.
+       * recog.h (memory_address_addr_space_p): Change the type to bool.
+       (strict_memory_address_addr_space_p): Ditto.
+       (offsettable_memref_p): Ditto.
+       (offsettable_nonstrict_memref_p): Ditto.
+       (offsettable_address_addr_space_p): Ditto.
+       * reload.c (maybe_memory_address_addr_space_p): Ditto.
+       (strict_memory_address_addr_space_p): Change the type to bool.
+       Return true/false instead of 1/0.
+       (maybe_memory_address_addr_space_p): Change the type to bool.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_region): Show the number of
+       SLP graph entries in the optimization message.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101394
+       * tree-ssa-pre.c (do_pre_regular_insertion): Avoid inserting
+       copies from abnormals for a full redundancy.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101423
+       * gimple.c (gimple_could_trap_p_1): Internal function calls
+       do not trap.
+       * tree-eh.c (tree_could_trap_p): Likewise.
+
+2021-07-12  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h (vmul_n_u32): Replace call to builtin with
+       __a * __b.
+       (vmulq_n_u32): Likewise.
+       (vmul_n_f32): Gate __a * __b on __FAST_MATH__.
+       (vmulq_n_f32): Likewise.
+       (vmul_n_f16): Likewise.
+       (vmulq_n_f16): Likewise.
+
+2021-07-12  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/101425
+       * gcc.c (check_offload_target_name): Call
+         candidates_list_and_hint only if we have a candidate.
+
+2021-07-12  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/98435
+       * config/arm/neon.md (vec_init): Move to ...
+       * config/arm/vec-common.md (vec_init): ... here.
+       Change the pattern's mode to VDQX and gate it on VALID_MVE_MODE.
+
+2021-07-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/101403
+       * match.pd ((T)bswap(X)>>C): Correctly handle cases where
+       signedness of the shift is not the same as the signedness of
+       the type extension.
+
+2021-07-09  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*divmodsi4_const): Optimize SImode
+       divmod of a constant numerator with new define_insn_and_split.
+
+2021-07-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/100152
+       * config/i386/i386-expand.c (ix86_expand_call): If a call is
+       to a non-local-binding, or local but to a public symbol, then
+       assume that it might be indirected via the lazy symbol binder.
+       Mark R10 and R10 as clobbered in that case.
+
+2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/101377
+       * gcc.c (ASM_DEBUG_DWARF_OPTION): Set again to --gdwarf2 in
+       the case where HAVE_AS_WORKING_DWARF_N_FLAG is not defined
+       and HAVE_LD_BROKEN_PE_DWARF5 is defined.
+
+2021-07-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*udivmodsi4_pow2_zext_1): Limit the
+       log2 range of operands[3] to [1,31].
+       (*udivmodsi4_pow2_zext_2): Ditto.  Correct insn RTX pattern.
+
+2021-07-09  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/md.texi: Don't split @smallexample in multiple @groups.
+
+2021-07-09  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/md.texi: Add missing 'see' word.
+
+2021-07-09  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (phiopt_early_allow): Change arguments
+       to take sequence and gimple_match_op.  Accept the case where
+       op is a SSA_NAME and one statement in the sequence.
+       Also allow constants.
+       (gimple_simplify_phiopt): Always pass a sequence to resimplify.
+       Update call to phiopt_early_allow.  Discard the sequence if not
+       used.
+
+2021-07-09  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/100760
+       PR target/100761
+       PR target/100762
+       * config/mips/mips.c (mips_const_insns): Use MSA_SUPPORTED_MODE_P
+       instead of ISA_HAS_MSA.
+       (mips_expand_vec_unpack): Likewise.
+       (mips_expand_vector_init): Likewise.
+
+2021-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/vsx.md (mods_<mode>): Rename to...
+       (mod<mode>3): ... this.
+       (modu_<mode>): Rename to...
+       (umod<mode>3): ... this.
+       * config/rs6000/rs6000-builtin.def (MODS_V2DI, MODS_V4SI, MODU_V2DI,
+       MODU_V4SI): Adjust.
+
+2021-07-08  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/shiftrotate.md (variable shifts): Expose condition
+       code handling for the test before the loop.
+
+2021-07-08  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/101066
+       * ipa-sra.c (class isra_call_summary): New member
+       m_before_any_store, initialize it in the constructor.
+       (isra_call_summary::dump): Dump the new field.
+       (ipa_sra_call_summaries::duplicate): Copy it.
+       (process_scan_results): Set it.
+       (isra_write_edge_summary): Stream it.
+       (isra_read_edge_summary): Likewise.
+       (param_splitting_across_edge): Only override
+       safe_to_import_accesses if m_before_any_store is set.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/101374
+       * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
+       Use Object Size Type 0 instead of 1.
+
+2021-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vectorizable_reduction): Remove always-true
+       if condition.
+
+2021-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * match.pd: Simplify an extend-operate-truncate sequence involving
+       a POLY_INT_CST.
+
+2021-07-08  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/40210
+       * match.pd (bswap optimizations): Simplify (bswap(x)>>C1)&C2 as
+       (x>>C3)&C2 when possible.  Simplify bswap(x)>>C1 as ((T)x)>>C2
+       when possible.  Simplify bswap(x)&C1 as (x>>C2)&C1 when 0<=C1<=255.
+
+2021-07-08  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_sse_unpack):
+       Handle V4QI mode.
+       * config/i386/mmx.md (V_32): New mode iterator.
+       (mov<V_32:mode>): Use V_32 mode iterator.
+       (*mov<V_32:mode>_internal): Ditto.
+       (*push<V_32:mode>2_rex64): Ditto.
+       (*push<V_32:mode>2): Ditto.
+       (movmisalign<V_32:mode>): Ditto.
+       (mmx_<any_shiftrt:insn>v1si3): New insn pattern.
+       (sse4_1_<any_extend:code>v2qiv2hi2): Ditto.
+       (vec_unpacks_lo_v4qi): New expander.
+       (vec_unpacks_hi_v4qi): Ditto.
+       (vec_unpacku_lo_v4qi): Ditto.
+       (vec_unpacku_hi_v4qi): Ditto.
+       * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V1SImode.
+       (VALID_INT_MODE_P): Ditto.
+
+2021-07-08  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/100809
+       * config/rs6000/rs6000.md (udivti3): New insn.
+       (divti3): New insn.
+       (umodti3): New insn.
+       (modti3): New insn.
+
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/100137
+       PR tree-optimization/99121
+       PR tree-optimization/97027
+       * builtins.c (access_ref::access_ref): Also set offmax.
+       (access_ref::offset_in_range): Define new function.
+       (access_ref::add_offset): Set offmax.
+       (access_ref::inform_access): Handle access_none.
+       (handle_mem_ref): Clear ostype.
+       (compute_objsize_r): Handle ASSERT_EXPR.
+       * builtins.h (struct access_ref): Add offmax member.
+       * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Use
+       compute_objsize() and simplify.
+
+2021-07-07  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (mma_init_builtins): Use VSX_BUILTIN_LXVP
+       and VSX_BUILTIN_STXVP.
+
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR target/101363
+       * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Remove
+       a stray %K from error_at() missed in r12-2088.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99728
+       * tree-ssa-loop-im.c (gather_mem_refs_stmt): Record
+       aggregate copies.
+       (mem_refs_may_alias_p): Add assert we handled aggregate
+       copies elsewhere.
+       (sm_seq_valid_bb): Give up when running into aggregate copies.
+       (ref_indep_loop_p): Handle aggregate copies as never
+       being invariant themselves but allow other refs to be
+       disambiguated against them.
+       (can_sm_ref_p): Do not try to apply store-motion to aggregate
+       copies.
+
+2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/101283
+       * dwarf2ctf.c (ctf_get_AT_data_member_location): Multiply by 8 to get
+       number of bits.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-pretty-print.c (percent_G_format): Remove.
+       * tree-diagnostic.c (default_tree_printer): Remove calls.
+       * tree-pretty-print.c (percent_K_format): Remove.
+       * tree-pretty-print.h (percent_K_format): Remove.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
+       Remove %K and use error_at.
+       (aarch64_expand_fcmla_builtin): Same.
+       (aarch64_expand_builtin_tme): Same.
+       (aarch64_expand_builtin_memtag): Same.
+       * config/arm/arm-builtins.c (arm_expand_acle_builtin): Same.
+       (arm_expand_builtin): Same.
+       * config/arm/arm.c (bounds_check): Same.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (warn_string_no_nul): Remove %G.
+       (maybe_warn_for_bound): Same.
+       (warn_for_access): Same.
+       (check_access): Same.
+       (check_strncat_sizes): Same.
+       (expand_builtin_strncat): Same.
+       (expand_builtin_strncmp): Same.
+       (expand_builtin): Same.
+       (expand_builtin_object_size): Same.
+       (warn_dealloc_offset): Same.
+       (maybe_emit_free_warning): Same.
+       * calls.c (maybe_warn_alloc_args_overflow): Same.
+       (maybe_warn_nonstring_arg): Same.
+       (maybe_warn_rdwr_sizes): Same.
+       * expr.c (expand_expr_real_1): Remove %K.
+       * gimple-fold.c (gimple_fold_builtin_strncpy): Remove %G.
+       (gimple_fold_builtin_strncat): Same.
+       * gimple-ssa-sprintf.c (format_directive): Same.
+       (handle_printf_call): Same.
+       * gimple-ssa-warn-alloca.c (pass_walloca::execute): Same.
+       * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Same.
+       (maybe_diag_access_bounds): Same.  Call gimple_location.
+       (check_bounds_or_overlap): Same.
+       * trans-mem.c (ipa_tm_scan_irr_block): Remove %K.  Simplify.
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Remove %G.
+       * tree-ssa-strlen.c (maybe_warn_overflow): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+       (handle_builtin_stxncpy_strncat): Same.
+       (maybe_warn_pointless_strcmp): Same.
+       * tree-ssa-uninit.c (maybe_warn_operand): Same.
+
+2021-07-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97194
+       * config/i386/predicates.md (vec_setm_operand): Enable
+       register_operand for TARGET_SSE4_1.
+       * config/i386/mmx.md (vec_setv2hi): Use vec_setm_operand
+       as operand 2 predicate.  Call ix86_expand_vector_set_var
+       for non-constant index operand.
+       (vec_setv4qi): Use vec_setm_mmx_operand as operand 2 predicate.
+       Call ix86_expand_vector_set_var for non-constant index operand.
+
+2021-07-06  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/jumpcall.md (*branch): When possible, generate
+       the comparison in CCZN mode.
+       * config/h8300/predicates.md (simple_memory_operand): Reject all
+       auto-increment addressing modes.
+
+2021-07-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR bootstrap/100246
+       * config/i386/i386.h (struct stringop_algs): Define a CTOR for
+       this type.
+
+2021-07-06  Richard Biener  <rguenther@suse.de>
+
+       * doc/md.texi (vec_fmaddsub<mode>4): Document.
+       (vec_fmsubadd<mode>4): Likewise.
+       * optabs.def (vec_fmaddsub$a4): Add.
+       (vec_fmsubadd$a4): Likewise.
+       * internal-fn.def (IFN_VEC_FMADDSUB): Add.
+       (IFN_VEC_FMSUBADD): Likewise.
+       * tree-vect-slp-patterns.c (addsub_pattern::recognize):
+       Refactor to handle IFN_VEC_FMADDSUB and IFN_VEC_FMSUBADD.
+       (addsub_pattern::build): Likewise.
+       * tree-vect-slp.c (vect_optimize_slp): CFN_VEC_FMADDSUB
+       and CFN_VEC_FMSUBADD are not transparent for permutes.
+       * config/i386/sse.md (vec_fmaddsub<mode>4): New expander.
+       (vec_fmsubadd<mode>4): Likewise.
+
+2021-07-06  Richard Biener  <rguenther@suse.de>
+
+       * doc/invoke.texi (fmove-loop-stores): Document.
+       * common.opt (fmove-loop-stores): New option.
+       * opts.c (default_options_table): Enable -fmove-loop-stores
+       at -O1 but not -Og.
+       * tree-ssa-loop-im.c (pass_lim::execute): Pass
+       flag_move_loop_stores instead of true to
+       loop_invariant_motion_in_fun.
+
+2021-07-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * doc/install.texi: Document --with-dsymutil.
+
+2021-07-06  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101256
+       * dbgcnt.def (phiopt_edge_range): New counter.
+       * tree-ssa-phiopt.c (replace_phi_edge_with_variable):
+       Check to make sure the new name is defined in the same
+       bb as the conditional before duplicating range info.
+       Also add debug counter.
+
+2021-07-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR rtl-optimization/100328
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Set param_ira_consider_dup_in_all_alts to 0.
+
+2021-07-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR rtl-optimization/100328
+       * doc/invoke.texi (ira-consider-dup-in-all-alts): Document new
+       parameter.
+       * ira.c (ira_get_dup_out_num): Adjust as parameter
+       param_ira_consider_dup_in_all_alts.
+       * params.opt (ira-consider-dup-in-all-alts): New.
+       * ira-conflicts.c (process_regs_for_copy): Add one parameter
+       single_input_op_has_cstr_p.
+       (get_freq_for_shuffle_copy): New function.
+       (add_insn_allocno_copies): Adjust as single_input_op_has_cstr_p.
+       * ira-int.h (ira_get_dup_out_num): Add one bool parameter.
+
+2021-07-05  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/shiftrotate.md (shift-by-variable patterns): Update to
+       generate condition code aware RTL directly.
+
+2021-07-05  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101039
+       * match.pd (A CMP 0 ? A : -A): New patterns.
+       * tree-ssa-phiopt.c (abs_replacement): Delete function.
+       (tree_ssa_phiopt_worker): Don't call abs_replacement.
+       Update comment about abs_replacement.
+
+2021-07-05  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (gimple_simplify_phiopt):
+       If "A ? B : C" fails to simplify, try "(!A) ? C : B".
+
+2021-07-05  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (match_simplify_replacement):
+       Add early_p argument. Call gimple_simplify_phiopt
+       instead of gimple_simplify.
+       (tree_ssa_phiopt_worker): Update call to
+       match_simplify_replacement and allow unconditionally.
+       (phiopt_early_allow): New function.
+       (gimple_simplify_phiopt): New function.
+
+2021-07-05  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/101237
+       * fold-const.c (negate_expr_p): Remove call to element_mode
+       and TREE_MODE/TREE_TYPE when calling HONOR_SIGNED_ZEROS,
+       HONOR_SIGN_DEPENDENT_ROUNDING, and HONOR_SNANS.
+       (fold_negate_expr_1): Likewise.
+       (const_unop): Likewise.
+       (fold_cond_expr_with_comparison): Likewise.
+       (fold_binary_loc): Likewise.
+       (fold_ternary_loc): Likewise.
+       (tree_call_nonnegative_warnv_p): Likewise.
+       * match.pd (-(A + B) -> (-B) - A): Likewise.
+
+2021-07-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * configure.ac: Handle --with-dsymutil in the same way as we
+       do for the assembler and linker.  (DEFAULT_DSYMUTIL): New.
+       Extract the type and version for the dsymutil configured or
+       found by the default searches.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+       * collect2.c (do_dsymutil): Handle locating dsymutil in the
+       same way as for the assembler and  linker.
+       * config/darwin.h (DSYMUTIL): Delete.
+       * gcc.c: Report a configured dsymutil correctly.
+       * exec-tool.in: Allow for dsymutil.
+
+2021-07-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_split_mmx_punpck):
+       Handle V4QI and V2HI modes.
+       (expand_vec_perm_blend): Allow 4-byte vector modes with TARGET_SSE4_1.
+       Handle V4QI mode. Emit mmx_pblendvb32 for 4-byte modes.
+       (expand_vec_perm_pshufb): Rewrite to use switch statemets.
+       Handle 4-byte dual operands with TARGET_XOP and single operands
+       with TARGET_SSSE3.  Emit mmx_ppermv32 for TARGET_XOP and
+       mmx_pshufbv4qi3 for TARGET_SSSE3.
+       (expand_vec_perm_pblendv): Allow 4-byte vector modes with TARGET_SSE4_1.
+       (expand_vec_perm_interleave2): Allow 4-byte vector modes.
+       (expand_vec_perm_pshufb2): Allow 4-byte vector modes with TARGET_SSSE3.
+       (expand_vec_perm_even_odd_1): Handle V4QI mode.
+       (expand_vec_perm_broadcast_1): Handle V4QI mode.
+       (ix86_vectorize_vec_perm_const): Handle V4QI mode.
+       * config/i386/mmx.md (mmx_ppermv32): New insn pattern.
+       (mmx_pshufbv4qi3): Ditto.
+       (*mmx_pblendw32): Ditto.
+       (*mmx_pblendw64): Rename from *mmx_pblendw.
+       (mmx_punpckhbw_low): New insn_and_split pattern.
+       (mmx_punpcklbw_low): Ditto.
+
+2021-07-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop-manip.c (vect_loop_versioning): Do not
+       set LOOP_C_INFINITE on the vectorized loop.
+
+2021-07-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101291
+       * cfgloopmanip.c (loop_version): Set the loop copy of the
+       versioned loop to the new loop.
+
+2021-07-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/100269
+       * config.gcc: Ensure that Darwin biarch definitions are
+       added before i386.h.
+       * config/i386/darwin.h (TARGET_64BIT): Remove.
+       (PR80556_WORKAROUND): New.
+       (REAL_LIBGCC_SPEC): Amend to use PR80556_WORKAROUND.
+       (DARWIN_SUBARCH_SPEC): New.
+       * config/i386/darwin32-biarch.h (TARGET_64BIT_DEFAULT,
+       TARGET_BI_ARCH, PR80556_WORKAROUND): New.
+       (REAL_LIBGCC_SPEC): Remove.
+       * config/i386/darwin64-biarch.h (TARGET_64BIT_DEFAULT,
+       TARGET_BI_ARCH, PR80556_WORKAROUND): New.
+       (REAL_LIBGCC_SPEC): Remove.
+
+2021-07-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/101294
+       * expr.c (store_constructor): Don't use vec_duplicate on vector.
+
+2021-07-02  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98871
+       PR middle-end/98512
+       * diagnostic.c (get_any_inlining_info): New.
+       (update_effective_level_from_pragmas): Handle inlining context.
+       (diagnostic_enabled): Same.
+       (diagnostic_report_diagnostic): Same.
+       * diagnostic.h (struct diagnostic_info): Add ctor.
+       (struct diagnostic_context): Add new member.
+       * tree-diagnostic.c (set_inlining_locations): New.
+       (tree_diagnostics_defaults): Set new callback pointer.
+
+2021-07-02  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_MMA_PAIR_LD, BU_MMA_PAIR_ST):
+       New macros.
+       (__builtin_vsx_lxvp, __builtin_vsx_stxvp): New built-ins.
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Expand
+       lxvp and stxvp built-ins.
+       (mma_init_builtins): Handle lxvp and stxvp built-ins.
+       (builtin_function_type): Likewise.
+       * doc/extend.texi (__builtin_vsx_lxvp, __builtin_mma_stxvp): Document.
+
+2021-07-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300-protos.h (compute_a_shift_cc): Accept
+       additional argument for the code.
+       * config/h8300/h8300.c (compute_a_shift_cc): Accept additional
+       argument for the code.  Just return if the ZN bits are useful or
+       not rather than the old style CC_* enums.
+       * config/h8300/shiftrotate.md (shiftqi_noscratch): Move before
+       more generic shiftqi patterns.
+       (shifthi_noscratch, shiftsi_noscratch): Similarly.
+       (shiftqi_noscratch_set_flags): New pattern.
+       (shifthi_noscratch_set_flags, shiftsi_noscratch_set_flags): Likewise.
+
+2021-07-02  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101223
+       * range-op.cc (build_lt): Add -1 for signed values.
+       (built_gt): Subtract -1 for signed values.
+
+2021-07-02  David Faust  <david.faust@oracle.com>
+
+       * btfout.c (get_btf_kind): Support BTF_KIND_FLOAT.
+       (btf_asm_type): Likewise.
+
+2021-07-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300-protos.h (output_a_shift): Make first argument
+       an array of rtx rather than a pointer to rtx.  Add code argument.
+       (compute_a_shift_length): Similarly.
+       * config/h8300/h8300.c (h8300_shift_costs): Adjust now that the
+       shift itself isn't an operand.  Create dummy operand[0] to carry
+       a mode and pass a suitable rtx code to compute_a_shift_length.
+       (get_shift_alg): Adjust operand number of clobber in output templates.
+       (output_a_shift): Make first argument an array of rtx rather than
+       a pointer to rtx.  Add code argument for the type of shift.
+       Adjust now that the shift itself is no longer an operand.
+       (compute_a_shift_length): Similarly.
+       * config/h8300/shiftrotate.md (shiftqi, shifthi, shiftsi): Use an
+       iterator rather than nshift_operator.
+       (shiftqi_noscratch, shifthi_noscratch, shiftsi_noscratch): Likewise.
+       (shiftqi_clobber_flags): Adjust to API changes in output_a_shift
+       and compute_a_shift_length.
+       (shiftqi_noscratch_clobber_flags): Likewise.
+       (shifthi_noscratch_clobber_flags): Likewise.
+       (shiftsi_noscratch_clobber_flags): Likewise.
+
+2021-07-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR debug/101283
+       * config/darwin.h (DSYMUTIL_SPEC): Do not try to run
+       dsymutil for BTF/CTF.
+
+2021-07-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR debug/101283
+       * config/darwin.h (CTF_INFO_SECTION_NAME): Update the
+       segment to include BTF.
+       (BTF_INFO_SECTION_NAME): New.
+
+2021-07-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/m32r/m32r-protos.h (call_operand): Adjust return type.
+       (small_data_operand, memreg_operand, small_insn_p): Likewise.
+       * config/m32r/m32r.c (call_operand): Adjust return type.
+       (small_data_operand, memreg_operand): Likewise.
+
+2021-07-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/frv/frv-protos.h  (integer_register_operand): Adjust return
+       type.
+       (frv_load_operand, gpr_or_fpr_operand, gpr_no_subreg_operand): Likewise.
+       (fpr_or_int6_operand, gpr_or_int_operand); Likewise.
+       (gpr_or_int12_operand, gpr_or_int10_operand); Likewise.
+       (move_source_operand, move_destination_operand): Likewise.
+       (condexec_source_operand, condexec_dest_operand): Likewise.
+       (lr_operand, gpr_or_memory_operand, fpr_or_memory_operand): Likewise.
+       (reg_or_0_operand, fcc_operand, icc_operand, cc_operand): Likewise.
+       (fcr_operand, icr_operand, cr_operand, call_operand): Likewise.
+       (fpr_operand, even_reg_operand, odd_reg_operand): Likewise.
+       (even_gpr_operand, odd_gpr_operand, quad_fpr_operand): Likewise.
+       (even_fpr_operand, odd_fpr_operand): Likewise.
+       (dbl_memory_one_insn_operand, dbl_memory_two_insn_operand): Likewise.
+       (int12_operand, int6_operand, int5_operand, uint5_operand): Likewise.
+       (uint4_operand, uint1_operand, int_2word_operand): Likewise
+       (upper_int16_operand, uint16_operand, symbolic_operand): Likewise.
+       (relational_operator, float_relational_operator): Likewise.
+       (ccr_eqne_operator, minmax_operator): Likewise.
+       (condexec_si_binary_operator, condexec_si_media_operator): Likewise.
+       (condexec_si_divide_operator, condexec_si_unary_operator): Likewise.
+       (condexec_sf_conv_operator, condexec_sf_add_operator): Likewise.
+       (intop_compare_operator, acc_operand, even_acc_operand): Likewise.
+       (quad_acc_operand, accg_operand): Likewise.
+
+2021-07-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/stormy16/stormy16-protos.h (xstormy16_below_100_symbol): Change
+       return type to a bool.
+       (nonimmediate_nonstack_operand): Likewise.
+       (xstormy16_splittable_below100_operand): Likewise.
+       * config/stormy16/stormy16.c (xstormy16_below_100_symbol): Fix
+       return type.
+       (xstormy16_splittable_below100_operand): Likewise.
+
+2021-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101293
+       * tree-ssa-loop-im.c (mem_ref_hasher::equal): Compare MEM_REF bases
+       with combined offsets.
+       (gather_mem_refs_stmt): Hash MEM_REFs as if their offset were
+       combined with the rest of the offset.
+
+2021-07-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (asm_preferred_eh_data_format): Always use the
+       PIC encodings for PE-COFF targets.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101286
+       * config/i386/i386-expand.c (ix86_broadcast_from_integer_constant):
+       Return nullptr for TImode inner mode.
+
+2021-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101280
+       PR tree-optimization/101173
+       * gimple-loop-interchange.cc
+       (tree_loop_interchange::valid_data_dependences): Properly
+       guard all dependence checks with DDR_REVERSED_P or its
+       inverse.
+
+2021-07-02  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/i386-expand.c (ix86_expand_builtin):
+       Add branch to clear odata when ZF is set for asedecenc_expand
+       and wideaesdecenc_expand.
+
+2021-07-02  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * config/i386/gcc-auto-profile: regenerate
+
+2021-07-02  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (trunc<mode><pmov_dst_4>2): Refined to ..
+       (trunc<mode><pmov_dst_4_lower>2): this.
+
+2021-07-01  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic.h (diagnostic_context::m_file_cache): New field.
+       * input.c (class fcache): Rename to...
+       (class file_cache_slot): ...this, making most members private and
+       prefixing fields with "m_".
+       (file_cache_slot::get_file_path): New accessor.
+       (file_cache_slot::get_use_count): New accessor.
+       (file_cache_slot::missing_trailing_newline_p): New accessor.
+       (file_cache_slot::inc_use_count): New.
+       (fcache_buffer_size): Move to...
+       (file_cache_slot::buffer_size): ...here.
+       (fcache_line_record_size): Move to...
+       (file_cache_slot::line_record_size): ...here.
+       (fcache_tab): Delete, in favor of global_dc->m_file_cache.
+       (fcache_tab_size): Move to file_cache::num_file_slots.
+       (diagnostic_file_cache_init): Update for move of fcache_tab
+       to global_dc->m_file_cache.
+       (diagnostic_file_cache_fini): Likewise.
+       (lookup_file_in_cache_tab): Convert to...
+       (file_cache::lookup_file): ...this.
+       (diagnostics_file_cache_forcibly_evict_file): Update for move of
+       fcache_tab to global_dc->m_file_cache, moving most of
+       implementation to...
+       (file_cache::forcibly_evict_file): ...this new function and...
+       (file_cache_slot::evict): ...this new function.
+       (evicted_cache_tab_entry): Convert to...
+       (file_cache::evicted_cache_tab_entry): ...this.
+       (add_file_to_cache_tab): Convert to...
+       (file_cache::add_file): ...this, moving bulk of implementation
+       to...
+       (file_cache_slot::create): ..this new function.
+       (file_cache::file_cache): New.
+       (file_cache::~file_cache): New.
+       (lookup_or_add_file_to_cache_tab): Convert to...
+       (file_cache::lookup_or_add_file): ..this new function.
+       (fcache::fcache): Rename to...
+       (file_cache_slot::file_cache_slot): ...this, adding "m_" prefixes
+       to fields.
+       (fcache::~fcache): Rename to...
+       (file_cache_slot::~file_cache_slot): ...this, adding "m_" prefixes
+       to fields.
+       (needs_read): Convert to...
+       (file_cache_slot::needs_read_p): ...this.
+       (needs_grow): Convert to...
+       (file_cache_slot::needs_grow_p): ...this.
+       (maybe_grow): Convert to...
+       (file_cache_slot::maybe_grow): ...this.
+       (read_data): Convert to...
+       (file_cache_slot::read_data): ...this.
+       (maybe_read_data): Convert to...
+       (file_cache_slot::maybe_read_data): ...this.
+       (get_next_line): Convert to...
+       (file_cache_slot::get_next_line): ...this.
+       (goto_next_line): Convert to...
+       (file_cache_slot::goto_next_line): ...this.
+       (read_line_num): Convert to...
+       (file_cache_slot::read_line_num): ...this.
+       (location_get_source_line): Update for moving of globals to
+       global_dc->m_file_cache.
+       (location_missing_trailing_newline): Likewise.
+       * input.h (class file_cache_slot): New forward decl.
+       (class file_cache): New.
+
+2021-07-01  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_maybe_emit_fp_cmove): Add IEEE
+       128-bit floating point conditional move support.
+       (have_compare_and_set_mask): Add IEEE 128-bit floating point
+       types.
+       * config/rs6000/rs6000.md (mov<mode>cc, IEEE128 iterator): New insn.
+       (mov<mode>cc_p10, IEEE128 iterator): New insn.
+       (mov<mode>cc_invert_p10, IEEE128 iterator): New insn.
+       (fpmask<mode>, IEEE128 iterator): New insn.
+       (xxsel<mode>, IEEE128 iterator): New insn.
+
+2021-07-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR debug/101283
+       * config/darwin.h (CTF_INFO_SECTION_NAME): New.
+
+2021-07-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
+       Make it global.
+       * config/i386/i386-protos.h (ix86_expand_vector_init_duplicate):
+       New prototype.
+       * config/i386/sse.md (INT_BROADCAST_MODE): New mode iterator.
+       (vec_duplicate<mode>): New expander.
+
+2021-07-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100865
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
+       New prototype.
+       (ix86_byte_broadcast): New function.
+       (ix86_convert_const_wide_int_to_broadcast): Likewise.
+       (ix86_expand_move): Convert CONST_WIDE_INT to broadcast if mode
+       size is 16 bytes or bigger.
+       (ix86_broadcast_from_integer_constant): New function.
+       (ix86_expand_vector_move): Convert CONST_WIDE_INT and CONST_VECTOR
+       to broadcast if mode size is 16 bytes or bigger.
+       * config/i386/i386-protos.h (ix86_gen_scratch_sse_rtx): New
+       prototype.
+       * config/i386/i386.c (ix86_gen_scratch_sse_rtx): New function.
+
+2021-07-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (ix86_endbr_immediate_operand):
+       Return true/false instead of 1/0.
+       (movq_parallel): Ditto.
+
+2021-07-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * recog.c (general_operand): Return true/false instead of 1/0.
+       (register_operand): Ditto.
+       (immediate_operand): Ditto.
+       (const_int_operand): Ditto.
+       (const_scalar_int_operand): Ditto.
+       (const_double_operand): Ditto.
+       (push_operand): Ditto.
+       (pop_operand): Ditto.
+       (memory_operand): Ditto.
+       (indirect_operand): Ditto.
+
+2021-07-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * genpreds.c (write_predicate_subfunction):
+       Change the type of written subfunction to bool.
+       (write_one_predicate_function):
+       Change the type of written function to bool.
+       (write_tm_preds_h): Ditto.
+       * recog.h (*insn_operand_predicate_fn): Change the type to bool.
+       * recog.c (general_operand): Change the type to bool.
+       (address_operand): Ditto.
+       (register_operand): Ditto.
+       (pmode_register_operand): Ditto.
+       (scratch_operand): Ditto.
+       (immediate_operand): Ditto.
+       (const_int_operand): Ditto.
+       (const_scalar_int_operand): Ditto.
+       (const_double_operand): Ditto.
+       (nonimmediate_operand): Ditto.
+       (nonmemory_operand): Ditto.
+       (push_operand): Ditto.
+       (pop_operand): Ditto.
+       (memory_operand): Ditto.
+       (indirect_operand): Ditto.
+       (ordered_comparison_operator): Ditto.
+       (comparison_operator): Ditto.
+       * config/i386/i386-expand.c (ix86_expand_sse_cmp):
+       Change the type of indirect predicate function to bool.
+       * config/rs6000/rs6000.c (easy_vector_constant):
+       Change the type to bool.
+       * config/mips/mips-protos.h (m16_based_address_p):
+       Change the type of operand 3 to bool.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101280
+       PR tree-optimization/101173
+       * gimple-loop-interchange.cc
+       (tree_loop_interchange::valid_data_dependences): Revert
+       previous change and instead correctly handle DDR_REVERSED_P
+       dependence.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101278
+       * tree-ssa-dse.c (dse_classify_store): First check for
+       uses, then ignore stmt for chaining purposes.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100778
+       * tree-vect-slp.c (vect_schedule_slp_node): Do not place trapping
+       vectorized ops ahead of their scalar BB.
+
+2021-07-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101044
+       * config/i386/i386.md (*nabs<dwi>2_doubleword):
+       New insn_and_split pattern.
+       (*nabs<dwi>2_1): Ditto.
+       * config/i386/i386-features.c
+       (general_scalar_chain::compute_convert_gain):
+       Handle (NEG (ABS (...))) RTX.  Rewrite src code
+       scanner as switch statement.
+       (general_scalar_chain::convert_insn):
+       Handle (NEG (ABS (...))) RTX.
+       (general_scalar_to_vector_candidate_p):
+       Detect  (NEG (ABS (...))) RTX.  Reorder case statements
+       for (AND (NOT (...) ...)) fallthrough.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101178
+       * tree-vect-slp.c (slpg_vertex::materialize): Remove.
+       (slpg::perm_in): Add.
+       (slpg::get_perm_in): Remove.
+       (slpg::get_perm_materialized): Add.
+       (vect_optimize_slp): Handle VEC_PERM nodes more optimally
+       during permute propagation and materialization.
+
+2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101266
+       * dwarf2out.c (loc_list_from_tree_1): Handle COMPOUND_LITERAL_EXPR.
+
+2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/94366
+       * omp-low.c (lower_rec_input_clauses): Rename is_fp_and_or to
+       is_truth_op, set it for TRUTH_*IF_EXPR regardless of new_var's type,
+       use boolean_type_node instead of integer_type_node as NE_EXPR type.
+       (lower_reduction_clauses): Likewise.
+
+2021-06-30  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       * config/gcn/gcn.c: Include dwarf2.h.
+       (gcn_addr_space_debug): New function.
+       (TARGET_ADDR_SPACE_DEBUG): New hook.
+
+2021-06-30  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       * common/config/gcn/gcn-common.c
+       (gcn_option_optimization_table): Change OPT_fomit_frame_pointer to -O3.
+       * config/gcn/gcn.c (gcn_expand_prologue): Prefer the frame pointer
+       when emitting CFI.
+       (gcn_expand_prologue): Prefer the frame pointer when emitting CFI.
+       (gcn_frame_pointer_rqd): New function.
+       (TARGET_FRAME_POINTER_REQUIRED): New hook.
+
+2021-06-30  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       * config/gcn/gcn.c (move_callee_saved_registers): Emit CFI notes for
+       prologue register saves.
+       (gcn_debug_unwind_info): Use UI_DWARF2.
+       (gcn_dwarf_register_number): Map DWARF_LINK_REGISTER to DWARF PC.
+       (gcn_dwarf_register_span): DWARF_LINK_REGISTER doesn't span.
+       * config/gcn/gcn.h: (DWARF_FRAME_RETURN_COLUMN): New define.
+       (DWARF_LINK_REGISTER): New define.
+       (FIRST_PSEUDO_REGISTER): Increment.
+       (FIXED_REGISTERS): Add entry for DWARF_LINK_REGISTER.
+       (CALL_USED_REGISTERS): Likewise.
+       (REGISTER_NAMES): Likewise.
+
+2021-06-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101267
+       * tree-vect-stmts.c (vect_check_scalar_mask): Adjust
+       API and use SLP compatible interface of vect_is_simple_use.
+       Reject not vectorized SLP defs for callers that do not support
+       that.
+       (vect_check_store_rhs): Handle masked stores and pass down
+       the appropriate operator index.
+       (vectorizable_call): Adjust.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.  Handle SLP pecularity of
+       masked loads.
+       (vect_is_simple_use): Remove special-casing of masked stores.
+
+2021-06-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * common.opt (foffload): Remove help as Driver only.
+       * gcc.c (display_help): Add -foffload.
+
+2021-06-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gcc.c (close_at_file, execute): Replace alloca by XALLOCAVEC.
+       (check_offload_target_name): Fix splitting OFFLOAD_TARGETS into
+       a candidate list; better inform no offload target is configured
+       and fix hint extraction when passed target is not '\0' at [len].
+       * common.opt (foffload): Add tailing '.'.
+       (foffload-options): Likewise; fix flag name in the help string.
+
+2021-06-30  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Move vabs intrinsics before vcage_f32.
+       (vcage_f32): Gate comparison on __FAST_MATH__.
+       (vcageq_f32): Likewise.
+       (vcale_f32): Likewise.
+       (vcaleq_f32): Likewise.
+       (vcagt_f32): Likewise.
+       (vcagtq_f32): Likewise.
+       (vcalt_f32): Likewise.
+       (vcaltq_f32): Likewise.
+       (vcage_f16): Likewise.
+       (vcageq_f16): Likewise.
+       (vcale_f16): Likewise.
+       (vcaleq_f16): Likewise.
+       (vcagt_f16): Likewise.
+       (vcagtq_f16): Likewise.
+       (vcalt_f16): Likewise.
+       (vcaltq_f16): Likewise.
+
+2021-06-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101264
+       * tree-vect-slp.c (vect_optimize_slp): Propagate the
+       computed perm_in to all "any" permute successors
+       we cannot de-duplicate immediately.
+
+2021-06-30  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101248
+       * config/i386/sse.md
+       (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>):
+       Refined to ..
+       (avx512f_sfixupimm<mode><maskz_scalar_name><round_saeonly_name>):
+       this.
+       (avx512f_sfixupimm<mode>_mask<round_saeonly_name>"): Refined.
+       * config/i386/subst.md (maskz_scalar): New define_subst.
+       (maskz_scalar_name): New subst_attr.
+       (maskz_scalar_op5): Ditto.
+       (round_saeonly_maskz_scalar_op5): Ditto.
+       (round_saeonly_maskz_scalar_operand5): Ditto.
+
+2021-06-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
+       Increase code CSECT alignment to at least 32 bytes.
+       * config/rs6000/xcoff.h (TEXT_SECTION_ASM_OP): Add 32 byte
+       alignment designation.
+
+2021-06-29  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/generic.texi: Fix s/net yet/not yet/ typo.
+
+2021-06-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101254
+       * range-op.cc (operator_minus::op1_op2_relation_effect): Check for
+       wrapping/non-wrapping when setting the result range.
+
+2021-06-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-query.cc (gimple_range_global): Allow phis.
+
+2021-06-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * vr-values.c (vr_values::vrp_stmt_computes_nonzero): Use stmt.
+       (simplify_using_ranges::op_with_boolean_value_range_p): Add a
+       statement for location context.
+       (check_for_binary_op_overflow): Ditto.
+       (simplify_using_ranges::get_vr_for_comparison): Ditto.
+       (simplify_using_ranges::compare_name_with_value): Ditto.
+       (simplify_using_ranges::compare_names): Ditto.
+       (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Ditto.
+       (simplify_using_ranges::simplify_truth_ops_using_ranges): Ditto.
+       (simplify_using_ranges::simplify_min_or_max_using_ranges): Ditto.
+       (simplify_using_ranges::simplify_internal_call_using_ranges): Ditto.
+       (simplify_using_ranges::two_valued_val_range_p): Ditto.
+       (simplify_using_ranges::simplify): Ditto.
+       * vr-values.h: Adjust prototypes.
+
+2021-06-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/mmx.md (vec_addsubv2sf3): New insn pattern.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_init_libfuncs): New function.
+       (TARGET_INIT_LIBFUNCS): Define target hook using above function.
+       * config/gcn/gcn.h (UNITS_PER_WORD): Define to 8 for IN_LIBGCC2, 4
+       otherwise.
+       (LIBGCC2_UNITS_PER_WORD, BITS_PER_WORD): Remove definitions.
+       (MAX_FIXED_MODE_SIZE): Change to 128.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.md (UNSPEC_FLBIT_INT): New unspec constant.
+       (s_mnemonic): Add clrsb.
+       (gcn_flbit<mode>_int): Add insn pattern for SImode/DImode.
+       (clrsb<mode>2): Add expander for SImode/DImode.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.md (<su>mulsidi3, <su>mulsidi3_reg, <su>mulsidi3_imm,
+       muldi3): Add patterns.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.md (<su>mulsi3_highpart): Change to expander.
+       (<su>mulsi3_highpart_reg, <su>mulsi3_highpart_imm): New patterns.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.md (mulsi3): Make s_mulk_i32 variant clobber SCC.
+
+2021-06-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * btfout.c, ctfout.c: Include "memmodel.h".
+
+2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gcc.c (check_offload_target_name): Cast len argument to
+       %q.*s to 'int'; avoid -Wstringop-truncation warning.
+
+2021-06-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_optimize_slp): Forward propagate
+       to "any" permute nodes and relax "any" permute proapgation
+       during iterative backward propagation.
+
+2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR other/67300
+       * common.opt (-foffload=): Update description.
+       (-foffload-options=): New.
+       * doc/invoke.texi (C Language Options): Document
+       -foffload and -foffload-options.
+       * gcc.c (check_offload_target_name): New, split off from
+       handle_foffload_option.
+       (check_foffload_target_names): New.
+       (handle_foffload_option): Handle -foffload=default.
+       (driver_handle_option): Update for -foffload-options.
+       * lto-opts.c (lto_write_options): Use -foffload-options
+       instead of -foffload.
+       * lto-wrapper.c (merge_and_complain, append_offload_options):
+       Likewise.
+       * opts.c (common_handle_option): Likewise.
+
+2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (C Language Options): Sort options
+       alphabetically in optlist and also the description itself.
+       Remove leftover -fallow-single-precision from and add missing
+       -fgnu-tm to the optlist.
+
+2021-06-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (slpg_vertex::visited): Remove.
+       (vect_slp_perms_eq): Handle -1 permutes.
+       (vect_optimize_slp): Rewrite permute propagation.
+
+2021-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101210
+       * match.pd ((intptr_t)x eq/ne CST to x eq/ne (typeof x) CST): Don't
+       perform the optimization in GENERIC when sanitizing and x has a
+       reference type.
+
+2021-06-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101242
+       * tree-vect-slp.c (vect_slp_build_vertices): Force-add
+       PHIs with not represented initial values as leafs.
+
+2021-06-29  Jan-Benedict Glaw  <jbglaw@getslash.de>
+
+       * config/pdp11/pdp11.h (ASM_OUTPUT_SKIP): Fix signedness warning.
+       * config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Remove
+       "register" keyword.
+       (pdp11_initial_elimination_offset) Remove unused variable.
+       (pdp11_cmp_length) Ditto.
+       (pdp11_insn_cost): Ditto, and fix signedness warning.
+
+2021-06-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       * btfout.c: Include tm_p.h.
+       * ctfout.c: Same.
+
+2021-06-28  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * config/bpf/bpf.c (bpf_expand_prologue): Do not mark insns as
+       frame related.
+       (bpf_expand_epilogue): Likewise.
+       * config/bpf/bpf.h (DWARF2_FRAME_INFO): Define to 0.
+       Do not define DBX_DEBUGGING_INFO.
+
+2021-06-28  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * doc/invoke.texi: Document the CTF and BTF debug info options.
+
+2021-06-28  Indu Bhagat  <indu.bhagat@oracle.com>
+           David Faust  <david.faust@oracle.com>
+           Jose E. Marchesi  <jose.marchesi@oracle.com>
+           Weimin Pan  <weimin.pan@oracle.com>
+
+       * Makefile.in: Add ctfc.*, ctfout.c and btfout.c files to
+       GTFILES.  Add new object files.
+       * common.opt: Add CTF and BTF debug info options.
+       * btfout.c: New file.
+       * ctfc.c: Likewise.
+       * ctfc.h: Likewise.
+       * ctfout.c: Likewise.
+       * dwarf2ctf.c: Likewise.
+       * dwarf2ctf.h: Likewise.
+       * dwarf2cfi.c (dwarf2out_do_frame): Acknowledge CTF_DEBUG and
+       BTF_DEBUG.
+       * dwarf2out.c (dwarf2out_source_line): Likewise.
+       (dwarf2out_finish): Skip emitting DWARF if CTF or BTF are to
+       be generated.
+       (debug_format_do_cu): New function.
+       (dwarf2out_early_finish): Traverse DIEs and emit CTF/BTF for
+       them if requested.
+       Include dwarf2ctf.c.
+       * final.c (dwarf2_debug_info_emitted_p): Acknowledge DWARF-based debug
+       formats.
+       * flag-types.h (enum debug_info_type): Add CTF_DEBUG and BTF_DEBUG.
+       (CTF_DEBUG): New bitmask.
+       (BTF_DEBUG): Likewise.
+       (enum ctf_debug_info_levels): New enum.
+       * gengtype.c (open_base_files): Handle ctfc.h.
+       (main): Handle uint32_t type.
+       * flags.h (btf_debuginfo_p): New definition.
+       (dwarf_based_debuginfo_p): Likewise.
+       * opts.c (debug_type_names): Add entries for CTF and BTF.
+       (btf_debuginfo_p): New function.
+       (dwarf_based_debuginfo_p): Likewise.
+       (common_handle_option): Handle -gctfN and -gbtf options.
+       (set_debug_level): Set CTF_DEBUG, BTF_DEBUG whenever appropriate.
+       * toplev.c (process_options): Inform the user and ignore -gctfLEVEL if
+       frontend is not C.
+
+2021-06-28  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * dwarf2out.c (AT_class): Function is no longer static.
+       (AT_int): Likewise.
+       (AT_unsigned): Likewise.
+       (AT_loc): Likewise.
+       (get_AT): Likewise.
+       (get_AT_string): Likewise.
+       (get_AT_flag): Likewise.
+       (get_AT_unsigned): Likewise.
+       (get_AT_ref): Likewise.
+       (new_die_raw): Likewise.
+       (lookup_decl_die): Likewise.
+       (base_type_die): Likewise.
+       (add_name_attribute): Likewise.
+       (add_AT_int): Likewise.
+       (add_AT_unsigned): Likewise.
+       (add_AT_loc): Likewise.
+       (dw_get_die_tag): New function.
+       (dw_get_die_child): Likewise.
+       (dw_get_die_sib): Likewise.
+       (struct dwarf_file_data): Move from here to dwarf2out.h
+       (struct dw_attr_struct): Likewise.
+       * dwarf2out.h: Analogous changes.
+
+2021-06-28  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * ipa-param-manipulation.h (class ipa_param_body_adjustments): New
+       members m_dead_stmts and m_dead_ssas.
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::mark_dead_statements): New function.
+       (ipa_param_body_adjustments::common_initialization): Call it on
+       all removed but not split parameters.
+       (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize
+       new mwmbers.
+       (ipa_param_body_adjustments::modify_call_stmt): Remove arguments that
+       are dead.
+       * tree-inline.c (remap_gimple_stmt): Do not copy dead statements, reset
+       dead debug statements.
+       (copy_phis_for_bb): Do not copy dead PHI nodes.
+
+2021-06-28  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * symtab-clones.h (clone_info): Removed member param_adjustments.
+       * ipa-param-manipulation.h: Adjust initial comment to reflect how we
+       deal with pass-through splits now.
+       (ipa_param_performed_split): Removed.
+       (ipa_param_adjustments::modify_call): Adjusted parameters.
+       (class ipa_param_body_adjustments): Adjusted parameters of
+       register_replacement, modify_gimple_stmt and modify_call_stmt.
+       (ipa_verify_edge_has_no_modifications): Declare.
+       (ipa_edge_modifications_finalize): Declare.
+       * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Remove
+       performed_splits processing, pas only edge to padjs->modify_call,
+       check that call arguments were not modified if they should not have
+       been.
+       * cgraphclones.c (cgraph_node::create_clone): Do not copy performed
+       splits.
+       * ipa-param-manipulation.c (struct pass_through_split_map): New type.
+       (ipa_edge_modification_info): Likewise.
+       (ipa_edge_modification_sum): Likewise.
+       (ipa_edge_modifications): New edge summary.
+       (ipa_verify_edge_has_no_modifications): New function.
+       (transitive_split_p): Removed.
+       (transitive_split_map): Likewise.
+       (init_transitive_splits): Likewise.
+       (ipa_param_adjustments::modify_call): Adjusted to use the new edge
+       summary instead of performed_splits.
+       (ipa_param_body_adjustments::register_replacement): Drop dummy
+       parameter, set base_index of the created ipa_param_body_replacement.
+       (phi_arg_will_live_p): New function.
+       (ipa_param_body_adjustments::common_initialization): Do not create
+       IPA_SRA dummy decls.
+       (simple_tree_swap_info): Removed.
+       (remap_split_decl_to_dummy): Likewise.
+       (record_argument_state_1): New function.
+       (record_argument_state): Likewise.
+       (ipa_param_body_adjustments::modify_call_stmt): New parameter
+       orig_stmt.  Do not work with dummy decls, save necessary info about
+       changes to ipa_edge_modifications.
+       (ipa_param_body_adjustments::modify_gimple_stmt): New parameter
+       orig_stmt, pass it to modify_call_stmt.
+       (ipa_param_body_adjustments::modify_cfun_body): Adjust call to
+       modify_gimple_stmt.
+       (ipa_edge_modifications_finalize): New function.
+       * tree-inline.c (remap_gimple_stmt): Pass original statement to
+       modify_gimple_stmt.
+       (copy_phis_for_bb): Do not copy dead PHI nodes.
+       (expand_call_inline): Do not remap performed_splits.
+       (update_clone_info): Likewise.
+       * toplev.c: Include ipa-param-manipulation.h.
+       (toplev::finalize): Call ipa_edge_modifications_finalize.
+
+2021-06-28  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Duplicate range
+       info if we're the only things setting the target PHI.
+       (value_replacement): Don't duplicate range here.
+       (minmax_replacement): Likewise.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101229
+       * gimple-walk.c (gimple_walk_op): Handle PHIs.
+
+2021-06-28  Martin Liska  <mliska@suse.cz>
+
+       * config/v850/v850.c (construct_dispose_instruction): Allocate
+       a bigger buffer.
+       (construct_prepare_instruction): Likewise.
+
+2021-06-28  Martin Liska  <mliska@suse.cz>
+
+       * config/v850/v850.c (v850_option_override): Build default
+       target node.
+       (v850_can_inline_p): New.  Allow MASK_PROLOG_FUNCTION to be
+       ignored for inlining.
+       (TARGET_CAN_INLINE_P): New.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101207
+       * tree-vect-slp.c (vect_optimize_slp): Do BB reduction
+       permute eliding for load permutations properly.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101173
+       * gimple-loop-interchange.cc
+       (tree_loop_interchange::valid_data_dependences): Disallow outer
+       loop dependence distance of zero.
+
+2021-06-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100648
+       * config/i386/sse.md (*avx_cmp<mode>3_lt): New
+       define_insn_and_split.
+       (*avx_cmp<mode>3_ltint): Ditto.
+       (*avx2_pcmp<mode>3_3): Ditto.
+       (*avx2_pcmp<mode>3_4): Ditto.
+       (*avx2_pcmp<mode>3_5): Ditto.
+
+2021-06-28  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-builtin.def (IX86_BUILTIN_BLENDVPD256,
+       IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_PBLENDVB256,
+       IX86_BUILTIN_BLENDVPD, IX86_BUILTIN_BLENDVPS,
+       IX86_BUILTIN_PBLENDVB128): Replace icode with
+       CODE_FOR_nothing.
+       * config/i386/i386.c (ix86_gimple_fold_builtin): Fold blendv
+       builtins.
+       * config/i386/sse.md (*<sse4_1_avx2>_pblendvb_lt_subreg_not):
+       New pre_reload splitter.
+
+2021-06-27  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/101230
+       * fold-const.c (fold_ternary_loc): Check
+       the return value of invert_tree_comparison.
+
+2021-06-27  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config.gcc: Add SPDX License Identifier.
+       (powerpc-ibm-aix789): Default to aix73.h.
+       (powerpc-ibm-aix7.2.*.*): New stanza.
+       * config/rs6000/aix72.h: Add SPDX License Identifier.
+       * config/rs6000/aix73.h: New file.
+
+2021-06-26  Jason Merrill  <jason@redhat.com>
+
+       * except.c: #include "dwarf2.h" instead of "dwarf2out.h".
+
+2021-06-26  Andrew Pinski  <apinski@marvell.com>
+
+       * genmatch.c (lower_cond): Copy for_subst_vec
+       for the simplify also.
+       (lower): Swap the order for lower_for and lower_cond.
+
+2021-06-26  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (match_simplify_replacement): Reset
+       flow senatitive info on the moved ssa set.
+
+2021-06-26  Andrew Pinski  <apinski@marvell.com>
+
+       * fold-const.c (fold_cond_expr_with_comparison):
+       Exand arg0 into comp_code, arg00, and arg01.
+       (fold_ternary_loc): Use invert_tree_comparison
+       instead of fold_invert_truthvalue for the case
+       where we have A CMP B ? C : A.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101216
+       * calls.c (maybe_warn_rdwr_sizes): Use the no_warning constant.
+
+2021-06-25  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300.c (select_cc_mode): Handle ASHIFTRT and LSHIFTRT.
+
+2021-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101202
+       * tree-vect-slp.c (vect_optimize_slp): Explicitely handle
+       failed nodes.
+
+2021-06-25  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp-patterns.c (addsub_pattern::build): Copy
+       STMT_VINFO_REDUC_DEF from the original representative.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (warn_string_no_nul): Replace uses of TREE_NO_WARNING,
+       gimple_no_warning_p and gimple_set_no_warning with
+       warning_suppressed_p, and suppress_warning.
+       (c_strlen): Same.
+       (maybe_warn_for_bound): Same.
+       (warn_for_access): Same.
+       (check_access): Same.
+       (expand_builtin_strncmp): Same.
+       (fold_builtin_varargs): Same.
+       * calls.c (maybe_warn_nonstring_arg): Same.
+       (maybe_warn_rdwr_sizes): Same.
+       * cfgexpand.c (expand_call_stmt): Same.
+       * cgraphunit.c (check_global_declaration): Same.
+       * fold-const.c (fold_undefer_overflow_warnings): Same.
+       (fold_truth_not_expr): Same.
+       (fold_unary_loc): Same.
+       (fold_checksum_tree): Same.
+       * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Same.
+       (array_bounds_checker::check_mem_ref): Same.
+       (array_bounds_checker::check_addr_expr): Same.
+       (array_bounds_checker::check_array_bounds): Same.
+       * gimple-expr.c (copy_var_decl): Same.
+       * gimple-fold.c (gimple_fold_builtin_strcpy): Same.
+       (gimple_fold_builtin_strncat): Same.
+       (gimple_fold_builtin_stxcpy_chk): Same.
+       (gimple_fold_builtin_stpcpy): Same.
+       (gimple_fold_builtin_sprintf): Same.
+       (fold_stmt_1): Same.
+       * gimple-ssa-isolate-paths.c (diag_returned_locals): Same.
+       * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same.
+       * gimple-ssa-sprintf.c (handle_printf_call): Same.
+       * gimple-ssa-store-merging.c (imm_store_chain_info::output_merged_store): Same.
+       * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Same.
+       * gimple-ssa-warn-restrict.h: Adjust declarations.
+       (maybe_diag_access_bounds): Replace uses of TREE_NO_WARNING,
+       gimple_no_warning_p and gimple_set_no_warning with
+       warning_suppressed_p, and suppress_warning.
+       (check_call): Same.
+       (check_bounds_or_overlap): Same.
+       * gimple.c (gimple_build_call_from_tree): Same.
+       * gimplify.c (gimplify_return_expr): Same.
+       (gimplify_cond_expr): Same.
+       (gimplify_modify_expr_complex_part): Same.
+       (gimplify_modify_expr): Same.
+       (gimple_push_cleanup): Same.
+       (gimplify_expr): Same.
+       * omp-expand.c (expand_omp_for_generic): Same.
+       (expand_omp_taskloop_for_outer): Same.
+       * omp-low.c (lower_rec_input_clauses): Same.
+       (lower_lastprivate_clauses): Same.
+       (lower_send_clauses): Same.
+       (lower_omp_target): Same.
+       * tree-cfg.c (pass_warn_function_return::execute): Same.
+       * tree-complex.c (create_one_component_var): Same.
+       * tree-inline.c (remap_gimple_op_r): Same.
+       (copy_tree_body_r): Same.
+       (declare_return_variable): Same.
+       (expand_call_inline): Same.
+       * tree-nested.c (lookup_field_for_decl): Same.
+       * tree-sra.c (create_access_replacement): Same.
+       (generate_subtree_copies): Same.
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Same.
+       * tree-ssa-forwprop.c (combine_cond_expr_cond): Same.
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Same.
+       * tree-ssa-loop-im.c (execute_sm): Same.
+       * tree-ssa-phiopt.c (cond_store_replacement): Same.
+       * tree-ssa-strlen.c (maybe_warn_overflow): Same.
+       (handle_builtin_strcpy): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+       (handle_builtin_stxncpy_strncat): Same.
+       (handle_builtin_strcat): Same.
+       * tree-ssa-uninit.c (get_no_uninit_warning): Same.
+       (set_no_uninit_warning): Same.
+       (uninit_undefined_value_p): Same.
+       (warn_uninit): Same.
+       (maybe_warn_operand): Same.
+       * tree-vrp.c (compare_values_warnv): Same.
+       * vr-values.c (vr_values::extract_range_for_var_from_comparison_expr): Same.
+       (test_for_singularity): Same.
+       * gimple.h (warning_suppressed_p): New function.
+       (suppress_warning): Same.
+       (copy_no_warning): Same.
+       (gimple_set_block): Call gimple_set_location.
+       (gimple_set_location): Call copy_warning.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       * tree.h (warning_suppressed_at, copy_warning,
+       warning_suppressed_p, suppress_warning): New functions.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       * Makefile.in (OBJS-libcommon): Add diagnostic-spec.o.
+       * gengtype.c (open_base_files): Add diagnostic-spec.h.
+       * diagnostic-spec.c: New file.
+       * diagnostic-spec.h: New file.
+       * tree.h (no_warning, all_warnings, suppress_warning_at): New
+       declarations.
+       * warning-control.cc: New file.
+
+2021-06-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101185
+       * config/i386/i386.c (x86_order_regs_for_local_alloc):
+       Revert r12-1669.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101189
+       * gimple-range-fold.cc (fold_using_range::range_of_range_op): Pass
+       LHS range of condition to postfold routine.
+       (fold_using_range::postfold_gcond_edges): Only process the TRUE or
+       FALSE edge if the LHS range supports it being taken.
+       * gimple-range-fold.h (postfold_gcond_edges): Add range parameter.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (equiv_oracle::dump): Do not dump NULL blocks.
+       (relation_oracle::find_relation_block): Check correct bitmap.
+       (relation_oracle::dump): Do not dump NULL blocks.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::propagate_cache): Call
+       range_on_edge instead of manually calculating.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc: Fix comment.
+
+2021-06-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89021
+       * config/i386/i386-expand.c (ix86_expand_sse_unpack):
+       Handle V8QI and V4HI modes.
+       * config/i386/mmx.md (sse4_1_<any_extend:code>v4qiv4hi2):
+       New insn pattern.
+       (sse4_1_<any_extend:code>v4qiv4hi2): Ditto.
+       (mmxpackmode): New mode attribute.
+       (vec_pack_trunc_<mmxpackmode:mode>): New expander.
+       (mmxunpackmode): New mode attribute.
+       (vec_unpacks_lo_<mmxunpackmode:mode>): New expander.
+       (vec_unpacks_hi_<mmxunpackmode:mode>): Ditto.
+       (vec_unpacku_lo_<mmxunpackmode:mode>): Ditto.
+       (vec_unpacku_hi_<mmxunpackmode:mode>): Ditto.
+       * config/i386/i386.md (extsuffix): Move from ...
+       * config/i386/sse.md: ... here.
+
+2021-06-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (dwarf2out_assembly_start): Emit .file 0 marker here..
+       (dwarf2out_finish): ...instead of here.
+
+2021-06-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * configure.ac (--gdwarf-5 option): Use objdump instead of readelf.
+       (working --gdwarf-4/--gdwarf-5 for all sources): Likewise.
+       (--gdwarf-4 not refusing generated .debug_line): Adjust for Windows.
+       * configure: Regenerate.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/sse.md (vec_addsubv4df3, vec_addsubv2df3,
+       vec_addsubv8sf3, vec_addsubv4sf3): Merge into ...
+       (vec_addsub<mode>3): ... using a new addsub_cst mode attribute.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/sse.md (avx_addsubv4df3): Rename to
+       vec_addsubv4df3.
+       (avx_addsubv8sf3): Rename to vec_addsubv8sf3.
+       (sse3_addsubv2df3): Rename to vec_addsubv2df3.
+       (sse3_addsubv4sf3): Rename to vec_addsubv4sf3.
+       * config/i386/i386-builtin.def: Adjust.
+       * internal-fn.def (VEC_ADDSUB): New internal optab fn.
+       * optabs.def (vec_addsub_optab): New optab.
+       * tree-vect-slp-patterns.c (class addsub_pattern): New.
+       (slp_patterns): Add addsub_pattern.
+       * tree-vect-slp.c (vect_optimize_slp): Disable propagation
+       across CFN_VEC_ADDSUB.
+       * tree-vectorizer.h (vect_pattern::vect_pattern): Make
+       m_ops optional.
+       * doc/md.texi (vec_addsub<mode>3): Document.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101170
+       * df-scan.c (df_ref_record): For paradoxical big-endian SUBREGs
+       where regno + subreg_regno_offset wraps around use 0 as starting
+       regno.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101172
+       * stor-layout.c (finish_bitfield_representative): If nextf has
+       error_mark_node type, set repr type to error_mark_node too.
+
+2021-06-24  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.c (s390_function_profiler): Ignore labelno
+       parameter.
+       * config/s390/s390.h (NO_PROFILE_COUNTERS): Define.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_optimize_slp): Do not propagate
+       across operations that have different semantics on different
+       lanes.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): Document meaning for OpenMP.
+       * gimplify.c (gimplify_scan_omp_clauses): For OpenMP map clauses
+       with OMP_CLAUSE_MAP_IN_REDUCTION flag partially defer gimplification
+       of non-decl OMP_CLAUSE_DECL.  For OMP_CLAUSE_IN_REDUCTION on
+       OMP_TARGET user outer_ctx instead of ctx for placeholders and
+       initializer/combiner gimplification.
+       * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_MAP_IN_REDUCTION
+       on target constructs.
+       (lower_rec_input_clauses): Likewise.
+       (lower_omp_target): Likewise.
+       * omp-expand.c (expand_omp_target): Temporarily ignore nowait clause
+       on target if in_reduction is present.
+
+2021-06-24  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-predcom.c (class pcom_worker): New class.
+       (release_chain): Renamed to...
+       (pcom_worker::release_chain): ...this.
+       (release_chains): Renamed to...
+       (pcom_worker::release_chains): ...this.
+       (aff_combination_dr_offset): Renamed to...
+       (pcom_worker::aff_combination_dr_offset): ...this.
+       (determine_offset): Renamed to...
+       (pcom_worker::determine_offset): ...this.
+       (class comp_ptrs): New class.
+       (split_data_refs_to_components): Renamed to...
+       (pcom_worker::split_data_refs_to_components): ...this,
+       and update with class comp_ptrs.
+       (suitable_component_p): Renamed to...
+       (pcom_worker::suitable_component_p): ...this.
+       (filter_suitable_components): Renamed to...
+       (pcom_worker::filter_suitable_components): ...this.
+       (valid_initializer_p): Renamed to...
+       (pcom_worker::valid_initializer_p): ...this.
+       (find_looparound_phi): Renamed to...
+       (pcom_worker::find_looparound_phi): ...this.
+       (add_looparound_copies): Renamed to...
+       (pcom_worker::add_looparound_copies): ...this.
+       (determine_roots_comp): Renamed to...
+       (pcom_worker::determine_roots_comp): ...this.
+       (determine_roots): Renamed to...
+       (pcom_worker::determine_roots): ...this.
+       (single_nonlooparound_use): Renamed to...
+       (pcom_worker::single_nonlooparound_use): ...this.
+       (remove_stmt): Renamed to...
+       (pcom_worker::remove_stmt): ...this.
+       (execute_pred_commoning_chain): Renamed to...
+       (pcom_worker::execute_pred_commoning_chain): ...this.
+       (execute_pred_commoning): Renamed to...
+       (pcom_worker::execute_pred_commoning): ...this.
+       (struct epcc_data): New member worker.
+       (execute_pred_commoning_cbck): Call execute_pred_commoning
+       with pcom_worker pointer.
+       (find_use_stmt): Renamed to...
+       (pcom_worker::find_use_stmt): ...this.
+       (find_associative_operation_root): Renamed to...
+       (pcom_worker::find_associative_operation_root): ...this.
+       (find_common_use_stmt): Renamed to...
+       (pcom_worker::find_common_use_stmt): ...this.
+       (combinable_refs_p): Renamed to...
+       (pcom_worker::combinable_refs_p): ...this.
+       (reassociate_to_the_same_stmt): Renamed to...
+       (pcom_worker::reassociate_to_the_same_stmt): ...this.
+       (stmt_combining_refs): Renamed to...
+       (pcom_worker::stmt_combining_refs): ...this.
+       (combine_chains): Renamed to...
+       (pcom_worker::combine_chains): ...this.
+       (try_combine_chains): Renamed to...
+       (pcom_worker::try_combine_chains): ...this.
+       (prepare_initializers_chain): Renamed to...
+       (pcom_worker::prepare_initializers_chain): ...this.
+       (prepare_initializers): Renamed to...
+       (pcom_worker::prepare_initializers): ...this.
+       (prepare_finalizers_chain): Renamed to...
+       (pcom_worker::prepare_finalizers_chain): ...this.
+       (prepare_finalizers): Renamed to...
+       (pcom_worker::prepare_finalizers): ...this.
+       (tree_predictive_commoning_loop): Renamed to...
+       (pcom_worker::tree_predictive_commoning_loop): ...this, adjust
+       some calls and remove some cleanup code.
+       (tree_predictive_commoning): Adjusted to use pcom_worker instance.
+       (static variable looparound_phis): Remove.
+       (static variable name_expansions): Remove.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (slpg_vertex): New struct.
+       (vect_slp_build_vertices): Adjust.
+       (vect_optimize_slp): Likewise.  Maintain an outgoing permute
+       and a materialized one.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101105
+       * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
+       Only ignore steps when they are equal or scalar order is preserved.
+
+2021-06-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98434
+       * config/i386/i386-expand.c (ix86_expand_vec_interleave):
+       Adjust comments for ix86_expand_vecop_qihi2.
+       (ix86_expand_vecmul_qihi): Renamed to ..
+       (ix86_expand_vecop_qihi2): Adjust function prototype to
+       support shift operation, add static to definition.
+       (ix86_expand_vec_shift_qihi_constant): Add static to definition.
+       (ix86_expand_vecop_qihi): Call ix86_expand_vecop_qihi2 and
+       ix86_expand_vec_shift_qihi_constant.
+       * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Deleted.
+       (ix86_expand_vec_shift_qihi_constant): Deleted.
+       * config/i386/sse.md (VI12_256_512_AVX512VL): New mode
+       iterator.
+       (mulv8qi3): Call ix86_expand_vecop_qihi directly, add
+       condition TARGET_64BIT.
+       (mul<mode>3): Ditto.
+       (<insn><mode>3): Ditto.
+       (vlshr<mode>3): Extend to support avx512 vlshr.
+       (v<insn><mode>3): New expander for
+       vashr/vlshr/vashl.
+       (v<insn>v8qi3): Ditto.
+       (vashrv8hi3<mask_name>): Renamed to ..
+       (vashr<mode>3): And extend to support V16QImode for avx512.
+       (vashrv16qi3): Deleted.
+       (vashrv2di3<mask_name>): Extend expander to support avx512
+       instruction.
+
+2021-06-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * doc/lto.texi (Design Overview): Update that slim objects are
+       the default.
+
+2021-06-23  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000-cpus.def: Take OPTION_MASK_PCREL_OPT out
+       of OTHER_POWER10_MASKS so it will not be enabled by default.
+
+2021-06-23  Richard Biener  <rguenther@suse.de>
+           Martin Jambor  <mjambor@suse.cz>
+
+       * tree-inline.c (setup_one_parameter): Set TREE_READONLY of the
+       param replacement unconditionally.  Adjust comment.
+
+2021-06-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-range-fold.o
+       * gimple-range-fold.cc: New.
+       * gimple-range-fold.h: New.
+       * gimple-range-gori.cc (gimple_range_calc_op1): Move to here.
+       (gimple_range_calc_op2): Ditto.
+       * gimple-range-gori.h: Move prototypes to here.
+       * gimple-range.cc: Adjust include files.
+       (fur_source:fur_source): Relocate to gimple-range-fold.cc.
+       (fur_source::get_operand): Ditto.
+       (fur_source::get_phi_operand): Ditto.
+       (fur_source::query_relation): Ditto.
+       (fur_source::register_relation): Ditto.
+       (class fur_edge): Ditto.
+       (fur_edge::fur_edge): Ditto.
+       (fur_edge::get_operand): Ditto.
+       (fur_edge::get_phi_operand): Ditto.
+       (fur_stmt::fur_stmt): Ditto.
+       (fur_stmt::get_operand): Ditto.
+       (fur_stmt::get_phi_operand): Ditto.
+       (fur_stmt::query_relation): Ditto.
+       (class fur_depend): Relocate to gimple-range-fold.h.
+       (fur_depend::fur_depend): Relocate to gimple-range-fold.cc.
+       (fur_depend::register_relation): Ditto.
+       (fur_depend::register_relation): Ditto.
+       (class fur_list): Ditto.
+       (fur_list::fur_list): Ditto.
+       (fur_list::get_operand): Ditto.
+       (fur_list::get_phi_operand): Ditto.
+       (fold_range): Ditto.
+       (adjust_pointer_diff_expr): Ditto.
+       (gimple_range_adjustment): Ditto.
+       (gimple_range_base_of_assignment): Ditto.
+       (gimple_range_operand1): Ditto.
+       (gimple_range_operand2): Ditto.
+       (gimple_range_calc_op1): Relocate to gimple-range-gori.cc.
+       (gimple_range_calc_op2): Ditto.
+       (fold_using_range::fold_stmt): Relocate to gimple-range-fold.cc.
+       (fold_using_range::range_of_range_op): Ditto.
+       (fold_using_range::range_of_address): Ditto.
+       (fold_using_range::range_of_phi): Ditto.
+       (fold_using_range::range_of_call): Ditto.
+       (fold_using_range::range_of_builtin_ubsan_call): Ditto.
+       (fold_using_range::range_of_builtin_call): Ditto.
+       (fold_using_range::range_of_cond_expr): Ditto.
+       (fold_using_range::range_of_ssa_name_with_loop_info): Ditto.
+       (fold_using_range::relation_fold_and_or): Ditto.
+       (fold_using_range::postfold_gcond_edges): Ditto.
+       * gimple-range.h: Add gimple-range-fold.h to include files. Change
+       GIMPLE_RANGE_STMT_H to GIMPLE_RANGE_H.
+       (gimple_range_handler): Relocate to gimple-range-fold.h.
+       (gimple_range_ssa_p): Ditto.
+       (range_compatible_p): Ditto.
+       (class fur_source): Ditto.
+       (class fur_stmt): Ditto.
+       (class fold_using_range): Ditto.
+       (gimple_range_calc_op1): Relocate to gimple-range-gori.h
+       (gimple_range_calc_op2): Ditto.
+
+2021-06-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101148
+       PR tree-optimization/101014
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust.
+       (ranger_cache::~ranger_cache): Adjust.
+       (ranger_cache::block_range): Check if propagation disallowed.
+       (ranger_cache::propagate_cache): Disallow propagation if new value
+       can't be stored properly.
+       * gimple-range-cache.h (ranger_cache::m_propfail): New member.
+
+2021-06-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (class ssa_block_ranges): Adjust prototype.
+       (sbr_vector::set_bb_range): Return true.
+       (class sbr_sparse_bitmap): Adjust.
+       (sbr_sparse_bitmap::set_bb_range): Return value.
+       (block_range_cache::set_bb_range): Return value.
+       (ranger_cache::propagate_cache): Use return value to print msg.
+       * gimple-range-cache.h (class block_range_cache): Adjust.
+
+2021-06-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (dump_bb): Use range_on_edge from the cache.
+
+2021-06-23  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/logical.md (<code><mode>3<ccnz>): Use <cczn>
+       so this pattern can be used for test/compare removal.  Pass
+       current insn to compute_logical_op_length and output_logical_op.
+       * config/h8300/h8300.c (compute_logical_op_cc): Remove.
+       (h8300_and_costs): Add argument to compute_logical_op_length.
+       (output_logical_op): Add new argument.  Use it to determine if the
+       condition codes are used and adjust the output accordingly.
+       (compute_logical_op_length): Add new argument and update length
+       computations when condition codes are used.
+       * config/h8300/h8300-protos.h (compute_logical_op_length): Update
+       prototype.
+       (output_logical_op): Likewise.
+
+2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89021
+       * config/i386/i386-expand.c (expand_vec_perm_pshufb):
+       Handle 64bit modes for TARGET_XOP.  Use indirect gen_* functions.
+       * config/i386/mmx.md (mmx_ppermv64): New insn pattern.
+       * config/i386/i386.md (unspec): Move UNSPEC_XOP_PERMUTE from ...
+       * config/i386/sse.md (unspec): ... here.
+
+2021-06-23  Martin Liska  <mliska@suse.cz>
+
+       PR target/98636
+       * optc-save-gen.awk: Put back arm_fp16_format to
+       checked_options.
+
+2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101175
+       * config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX.
+       (bsr): Ditto.
+       (*bsrhi): Remove.
+       (clz<mode>2): Update RTX pattern for additions.
+
+2021-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101167
+       * omp-low.c (lower_omp_regimplify_p): Regimplify also PARM_DECLs
+       and RESULT_DECLs that have DECL_HAS_VALUE_EXPR_P set.
+
+2021-06-22  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/rtl.texi: drop unbalanced parenthesis.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101156
+       * gimplify.c (gimplify_expr): Remove premature incorrect
+       optimization.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/101159
+       * tree-vect-patterns.c (vect_recog_popcount_pattern): Fix some
+       comment typos.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101160
+       * function.c (assign_parms): For decl_result with TYPE_EMPTY_P type
+       clear crtl->return_rtx instead of keeping it referencing a pseudo.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+           Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101162
+       * fold-const.c (range_check_type): Handle OFFSET_TYPE like pointer
+       types.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (range_relational_tests): New.
+       (range_op_tests): Call range_relational_tests.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_cast::lhs_op1_relation): New.
+       (operator_identity::lhs_op1_relation): Mew.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_minus::op1_op2_relation_effect): New.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_plus::lhs_op1_relation): New.
+       (operator_plus::lhs_op2_relation): New.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Create a
+       relation_oracle if dominators exist.
+       (ranger_cache::~ranger_cache): Dispose of oracle.
+       (ranger_cache::dump_bb): Dump oracle.
+       * gimple-range.cc (fur_source::fur_source): New.
+       (fur_source::get_operand): Use mmeber query.
+       (fur_source::get_phi_operand): Use member_query.
+       (fur_source::query_relation): New.
+       (fur_source::register_dependency): Delete.
+       (fur_source::register_relation): New.
+       (fur_edge::fur_edge): Adjust.
+       (fur_edge::get_phi_operand): Fix comment.
+       (fur_edge::query): Delete.
+       (fur_stmt::fur_stmt): Adjust.
+       (fur_stmt::query): Delete.
+       (fur_depend::fur_depend): Adjust.
+       (fur_depend::register_relation): New.
+       (fur_depend::register_relation): New.
+       (fur_list::fur_list): Adjust.
+       (fur_list::get_operand): Use member query.
+       (fold_using_range::range_of_range_op): Process and query relations.
+       (fold_using_range::range_of_address): Adjust dependency call.
+       (fold_using_range::range_of_phi): Ditto.
+       (gimple_ranger::gimple_ranger): New.  Use ranger_ache oracle.
+       (fold_using_range::relation_fold_and_or): New.
+       (fold_using_range::postfold_gcond_edges): New.
+       * gimple-range.h (class gimple_ranger): Adjust.
+       (class fur_source): Adjust members.
+       (class fur_stmt): Ditto.
+       (class fold_using_range): Ditto.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (range_operator::wi_fold): Apply relation effect.
+       (range_operator::fold_range): Adjust and apply relation effect.
+       (*::fold_range): Add relation parameters.
+       (*::op1_range): Ditto.
+       (*::op2_range): Ditto.
+       (range_operator::lhs_op1_relation): New.
+       (range_operator::lhs_op2_relation): New.
+       (range_operator::op1_op2_relation): New.
+       (range_operator::op1_op2_relation_effect): New.
+       (relop_early_resolve): New.
+       (operator_equal::op1_op2_relation): New.
+       (operator_equal::fold_range): Call relop_early_resolve.
+       (operator_not_equal::op1_op2_relation): New.
+       (operator_not_equal::fold_range): Call relop_early_resolve.
+       (operator_lt::op1_op2_relation): New.
+       (operator_lt::fold_range): Call relop_early_resolve.
+       (operator_le::op1_op2_relation): New.
+       (operator_le::fold_range): Call relop_early_resolve.
+       (operator_gt::op1_op2_relation): New.
+       (operator_gt::fold_range): Call relop_early_resolve.
+       (operator_ge::op1_op2_relation): New.
+       (operator_ge::fold_range): Call relop_early_resolve.
+       * range-op.h (class range_operator): Adjust parameters and methods.
+
+2021-06-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in (OBJS): Add value-relation.o.
+       * gimple-range.h: Adjust include files.
+       * tree-data-ref.c: Adjust include file order.
+       * value-query.cc (range_query::get_value_range): Default to no oracle.
+       (range_query::query_relation): New.
+       (range_query::query_relation): New.
+       * value-query.h (class range_query): Adjust.
+       * value-relation.cc: New.
+       * value-relation.h: New.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101151
+       * tree-ssa-sink.c (statement_sink_location): Expand irreducible
+       region check.
+
+2021-06-22  Jojo R  <rjiejie@linux.alibaba.com>
+
+       * config/riscv/riscv.c (thead_c906_tune_info): New.
+       (riscv_tune_info_table): Use new tune.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101158
+       * tree-vect-slp.c (vect_build_slp_tree_1): Move same operand
+       checking after checking for matching operation.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101159
+       * tree-vect-patterns.c (vect_recog_popcount_pattern): Add
+       missing NULL vectype check.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101154
+       * tree-vect-slp.c (vect_build_slp_tree_2): Fix out-of-bound access.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/11877
+       * config/i386/i386-protos.h (ix86_last_zero_store_uid): Declare.
+       * config/i386/i386-expand.c (ix86_last_zero_store_uid): New variable.
+       * config/i386/i386.c (ix86_expand_prologue): Clear it.
+       * config/i386/i386.md (peephole2s for 1/2/4 stores of const0_rtx):
+       Remove "" from match_operand.  Emit new insns using emit_move_insn and
+       set ix86_last_zero_store_uid to INSN_UID of the last store.
+       Add peephole2s for 1/2/4 stores of const0_rtx following previous
+       successful peep2s.
+
+2021-06-22  Martin Liska  <mliska@suse.cz>
+
+       * auto-profile.c (AUTO_PROFILE_VERSION): Bump as string format
+       was changed.
+
+2021-06-22  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h: Remove padding entries.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/97770
+       * tree-vect-patterns.c (vect_recog_popcount_pattern):
+       New.
+       (vect_recog_func vect_vect_recog_func_ptrs): Add new pattern.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100267
+       * config/i386/i386-builtin.def (BDESC): Adjust builtin name.
+       * config/i386/sse.md (<avx512>_expand<mode>_mask): Rename to ..
+       (expand<mode>_mask): this ..
+       (*expand<mode>_mask): New pre_reload splitter to transform
+       v{,p}expand* to vmov* when mask is zero, all ones, or has all
+       ones in it's lower part, otherwise still generate
+       v{,p}expand*.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100310
+       * config/i386/i386-expand.c
+       (ix86_expand_special_args_builtin): Keep constm1_operand only
+       if it satisfies insn's operand predicate.
+
+2021-06-21  Jason Merrill  <jason@redhat.com>
+
+       PR target/88529
+       * df-scan.c (df_ref_record): Check that regno < endregno.
+       * function.c (assign_parms, expand_function_end): Do nothing with a
+       TYPE_EMPTY_P result.
+
+2021-06-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101120
+       * tree-vect-data-refs.c (bump_vector_ptr): Fold the
+       built increment.
+       * tree-vect-slp.c (vect_transform_slp_perm_load): Add
+       DR chain DCE capability.
+       * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust.
+       * tree-vect-stmts.c (vectorizable_load): Remove unused
+       loads in the DR chain for SLP.
+
+2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/100785
+       * gimplify.c (gimplify_asm_expr): Don't diagnose errors if
+       output or input operands were already error_mark_node.
+       * cfgexpand.c (expand_asm_stmt): If errors are emitted,
+       remove all inputs, outputs and clobbers from the asm and
+       set template to "".
+
+2021-06-21  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * config/arm/arm_neon.h (vceq_s8): Replace builtin with __a == __b.
+       (vceq_s16): Likewise.
+       (vceq_s32): Likewise.
+       (vceq_u8): Likewise.
+       (vceq_u16): Likewise.
+       (vceq_u32): Likewise.
+       (vceq_p8): Likewise.
+       (vceqq_s8): Likewise.
+       (vceqq_s16): Likewise.
+       (vceqq_s32): Likewise.
+       (vceqq_u8): Likewise.
+       (vceqq_u16): Likewise.
+       (vceqq_u32): Likewise.
+       (vceqq_p8): Likewise.
+       (vceq_f32): Gate __a == __b on __FAST_MATH__.
+       (vceqq_f32): Likewise.
+       (vceq_f16): Likewise.
+       (vceqq_f16): Likewise.
+
+2021-06-21  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/97906
+       * config/arm/iterators.md (NEON_VACMP): Remove.
+       * config/arm/neon.md (neon_vca<cmp_op><mode>): Use GLTE instead of GTGE
+       iterator.
+       (neon_vca<cmp_op><mode>_insn): Likewise.
+       (neon_vca<cmp_op_unsp><mode>_insn_unspec): Use NEON_VAGLTE instead of
+       NEON_VACMP.
+
+2021-06-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101121
+       * tree-vect-slp.c (vect_build_slp_tree_2): To not fail fatally
+       when we just lack a stmt with the desired op when doing permutation.
+       (vect_build_slp_tree): When caching a failed SLP build attempt
+       assert that at least one lane is marked as not matching.
+
+2021-06-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101142
+       * config/i386/i386.md: (*anddi_1): Disparage slightly the mask
+       register alternative.
+       (*and<mode>_1): Ditto.
+       (*andqi_1): Ditto.
+       (*andn<mode>_1): Ditto.
+       (*<code><mode>_1): Ditto.
+       (*<code>qi_1): Ditto.
+       (*one_cmpl<mode>2_1): Ditto.
+       (*one_cmplsi2_1_zext): Ditto.
+       (*one_cmplqi2_1): Ditto.
+       * config/i386/i386.c (x86_order_regs_for_local_alloc): Change
+       the order of mask registers to be before general registers.
+
+2021-06-21  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/11877
+       * config/i386/i386.md: New define_peephole2s to shrink writing
+       1, 2 or 4 consecutive zeros to memory when optimizing for size.
+
+2021-06-18  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300.c (h8300_select_cc_mode): Handle SYMBOL_REF.
+       * config/h8300/logical.md (<code><mode>3 logcial expander): Generate
+       more efficient code when the source can be trivially simplified.
+
+2021-06-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::range_of_def):  Calculate
+       a range if global is not available.
+       (ranger_cache::entry_range): Fallback to range_of_def.
+       * gimple-range-cache.h (range_of_def): Adjust prototype.
+
+2021-06-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101014
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Remove poor
+       value list.
+       (ranger_cache::~ranger_cache): Ditto.
+       (ranger_cache::enable_new_values): Delete.
+       (ranger_cache::push_poor_value): Delete.
+       (ranger_cache::range_of_def): Remove poor value processing.
+       (ranger_cache::entry_range): Ditto.
+       (ranger_cache::fill_block_cache): Ditto.
+       * gimple-range-cache.h (class ranger_cache): Remove poor value members.
+       * gimple-range.cc (gimple_ranger::range_of_expr): Remove call.
+       * gimple-range.h (class gimple_ranger): Adjust.
+
+2021-06-18  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/100856
+       * common/config/arm/arm-common.c (arm_canon_arch_option_1): New function
+       derived from arm_canon_arch.
+       (arm_canon_arch_option): Call it.
+       (arm_canon_arch_multilib_option): New function.
+       * config/arm/arm-cpus.in (IGNORE_FOR_MULTILIB): New fgroup.
+       * config/arm/arm.h (arm_canon_arch_multilib_option): New prototype.
+       (CANON_ARCH_MULTILIB_SPEC_FUNCTION): New macro.
+       (MULTILIB_ARCH_CANONICAL_SPECS): New macro.
+       (DRIVER_SELF_SPECS): Add MULTILIB_ARCH_CANONICAL_SPECS.
+       * config/arm/arm.opt (mlibarch): New option.
+       * config/arm/t-rmprofile (MULTILIB_MATCHES): For armv8*-m, replace use
+       of march on RHS with mlibarch.
+
+2021-06-18  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * config.in: Regenerate.
+       * config/gcn/gcn.c (print_operand_address): Fix for global_load assembler
+       functions.
+       * configure: Regenerate.
+       * configure.ac: Fix for global_load assembler functions.
+
+2021-06-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101112
+       * tree-vect-slp.c (vect_slp_linearize_chain): Fix condition
+       to lookup a pattern stmt def.
+
+2021-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101062
+       * stor-layout.c (finish_bitfield_layout): Don't add bitfield
+       representatives in QUAL_UNION_TYPE.
+
+2021-06-18  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-ssa-phiopt.c (replace_phi_edge_with_variable):
+       Add counting of how many times it is done.
+       (factor_out_conditional_conversion): Likewise.
+       (match_simplify_replacement): Likewise.
+       (value_replacement): Likewise.
+       (spaceship_replacement): Likewise.
+       (cond_store_replacement): Likewise.
+       (cond_if_else_store_replacement_1): Likewise.
+       (hoist_adjacent_loads): Likewise.
+
+2021-06-18  Andrew Pinski  <apinski@marvell.com>
+
+       * tree-cfg.c (verify_gimple_assign_unary): Reject point and offset
+       types on NEGATE_EXPR, ABS_EXPR, BIT_NOT_EXPR, PAREN_EXPR and CNONJ_EXPR.
+       (verify_gimple_assign_binary): Reject point and offset types on
+       MULT_EXPR, MULT_HIGHPART_EXPR, TRUNC_DIV_EXPR, CEIL_DIV_EXPR,
+       FLOOR_DIV_EXPR, ROUND_DIV_EXPR, TRUNC_MOD_EXPR, CEIL_MOD_EXPR,
+       FLOOR_MOD_EXPR, ROUND_MOD_EXPR, RDIV_EXPR, and EXACT_DIV_EXPR.
+
+2021-06-18  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support for ISA
+       3.1 IEEE 128-bit floating point xsmaxcqp/xsmincqp instructions.
+       * config/rs6000/rs6000.md (s<minmax><mode>3, IEEE128 iterator):
+       New insns.
+
+2021-06-17  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_logical_addsubf): Add
+       earlyclobber to alts 0/1.
+       (gen_addadd): Add earlyclobber to alts 0/1.
+       * config/rs6000/fusion.md: Regenerate file.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * cfgloopanal.c (get_loop_hot_path): Make path an auto_vec.
+
+2021-06-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc: Comment cleanups.
+       * gimple-range-gori.cc: Comment cleanups.
+       * gimple-range.cc: Comment/spacing cleanups
+       * value-range.h: Comment cleanups.
+
+2021-06-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100704
+       * calls.c (expand_call): Replace PUSH_ARGS with
+       targetm.calls.push_argument (0).
+       (emit_library_call_value_1): Likewise.
+       * defaults.h (PUSH_ARGS): Removed.
+       (PUSH_ARGS_REVERSED): Replace PUSH_ARGS with
+       targetm.calls.push_argument (0).
+       * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
+       (emit_push_insn): Pass the number bytes to push to
+       targetm.calls.push_argument and pass 0 if ARGS_ADDR is 0.
+       * hooks.c (hook_bool_uint_true): New.
+       * hooks.h (hook_bool_uint_true): Likewise.
+       * rtlanal.c (nonzero_bits1): Replace PUSH_ARGS with
+       targetm.calls.push_argument (0).
+       * target.def (push_argument): Add a targetm.calls hook.
+       * targhooks.c (default_push_argument): New.
+       * targhooks.h (default_push_argument): Likewise.
+       * config/bpf/bpf.h (PUSH_ARGS): Removed.
+       * config/cr16/cr16.c (TARGET_PUSH_ARGUMENT): New.
+       * config/cr16/cr16.h (PUSH_ARGS): Removed.
+       * config/i386/i386.c (ix86_push_argument): New.
+       (TARGET_PUSH_ARGUMENT): Likewise.
+       * config/i386/i386.h (PUSH_ARGS): Removed.
+       * config/m32c/m32c.c (TARGET_PUSH_ARGUMENT): New.
+       * config/m32c/m32c.h (PUSH_ARGS): Removed.
+       * config/nios2/nios2.h (PUSH_ARGS): Likewise.
+       * config/pru/pru.h (PUSH_ARGS): Likewise.
+       * doc/tm.texi.in: Remove PUSH_ARGS documentation.  Add
+       TARGET_PUSH_ARGUMENT hook.
+       * doc/tm.texi: Regenerated.
+
+2021-06-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97194
+       * config/i386/i386-expand.c (expand_vector_set_var):
+       Handle V2FS mode remapping.  Pass TARGET_MMX_WITH_SSE to
+       ix86_expand_vector_init_duplicate.
+       (ix86_expand_vector_init_duplicate): Emit insv_1 for
+       QImode for !TARGET_PARTIAL_REG_STALL.
+       * config/i386/predicates.md (vec_setm_mmx_operand): New predicate.
+       * config/i386/mmx.md (vec_setv2sf): Use vec_setm_mmx_operand
+       as operand 2 predicate.  Call ix86_expand_vector_set_var
+       for non-constant index operand.
+       (vec_setv2si): Ditto.
+       (vec_setv4hi): Ditto.
+       (vec_setv8qi): ditto.
+
+2021-06-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/100790
+       * gimple-range.cc (range_of_builtin_call): Cleanup clz and ctz
+       code.
+
+2021-06-17  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Use consistently -O1 instead of -O.
+
+2021-06-17  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h: Update documentation entry about string format.
+
+2021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       PR target/100871
+       * config/s390/vecintrin.h (vec_doublee): Fix to use
+         __builtin_s390_vflls.
+       (vec_floate): Fix to use __builtin_s390_vflrd.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * dominance.c (get_dominated_to_depth): Return auto_vec<basic_block>.
+       * dominance.h (get_dominated_to_depth): Likewise.
+       (get_all_dominated_blocks): Likewise.
+       * cfgcleanup.c (delete_unreachable_blocks): Adjust.
+       * gcse.c (hoist_code): Likewise.
+       * tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
+       * tree-parloops.c (oacc_entry_exit_ok): Likewise.
+       * tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-phiprop.c (pass_phiprop::execute): Likewise.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * dominance.c (get_dominated_by_region): Return auto_vec<basic_block>.
+       * dominance.h (get_dominated_by_region): Likewise.
+       * tree-cfg.c (gimple_duplicate_sese_region): Adjust.
+       (gimple_duplicate_sese_tail): Likewise.
+       (move_sese_region_to_fn): Likewise.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * dominance.c (get_dominated_by): Return auto_vec<basic_block>.
+       * dominance.h (get_dominated_by): Likewise.
+       * auto-profile.c (afdo_find_equiv_class): Adjust.
+       * cfgloopmanip.c (duplicate_loop_to_header_edge): Likewise.
+       * loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
+       * tree-cfg.c (test_linear_chain): Likewise.
+       (test_diamond): Likewise.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * cfgloop.h (get_loop_hot_path): Return auto_vec<basic_block>.
+       * cfgloopanal.c (get_loop_hot_path): Likewise.
+       * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * cgraph.c (cgraph_node::collect_callers): Return
+       auto_vec<cgraph_edge *>.
+       * cgraph.h (cgraph_node::collect_callers): Likewise.
+       * ipa-cp.c (create_specialized_node): Adjust.
+       (decide_about_value): Likewise.
+       (decide_whether_version_node): Likewise.
+       * ipa-sra.c (process_isra_node_results): Likewise.
+
+2021-06-17  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * vec.h (vl_ptr>::using_auto_storage): Handle null m_vec.
+       (auto_vec<T, 0>::auto_vec): Define move constructor, and delete copy
+       constructor.
+       (auto_vec<T, 0>::operator=): Define move assignment and delete copy
+       assignment.
+
+2021-06-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (debug_seed_ranger): New.
+       (dump_ranger): New.
+       (debug_ranger): New.
+
+2021-06-17  Richard Biener   <rguenther@suse.de>
+
+       PR tree-optimization/54400
+       * tree-vectorizer.h (enum slp_instance_kind): Add
+       slp_inst_kind_bb_reduc.
+       (reduction_fn_for_scalar_code): Declare.
+       * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence):
+       Check SLP_INSTANCE_KIND instead of looking at the
+       representative.
+       (vect_slp_analyze_instance_alignment): Likewise.
+       * tree-vect-loop.c (reduction_fn_for_scalar_code): Export.
+       * tree-vect-slp.c (vect_slp_linearize_chain): Split out
+       chain linearization from vect_build_slp_tree_2 and generalize
+       for the use of BB reduction vectorization.
+       (vect_build_slp_tree_2): Adjust accordingly.
+       (vect_optimize_slp): Elide permutes at the root of BB reduction
+       instances.
+       (vectorizable_bb_reduc_epilogue): New function.
+       (vect_slp_prune_covered_roots): Likewise.
+       (vect_slp_analyze_operations): Use them.
+       (vect_slp_check_for_constructors): Recognize associatable
+       chains for BB reduction vectorization.
+       (vectorize_slp_instance_root_stmt): Generate code for the
+       BB reduction epilogue.
+
+2021-06-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute::has_edge_range_p): Check with
+       may_recompute_p.
+       (gori_compute::may_recompute_p): New.
+       (gori_compute::outgoing_edge_range_p): Perform recomputations.
+       * gimple-range-gori.h (class gori_compute): Add prototype.
+
+2021-06-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::range_on_edge): Always return
+       true when a range can be calculated.
+       * gimple-range.cc (gimple_ranger::dump_bb): Check has_edge_range_p.
+
+2021-06-16  Martin Sebor  <msebor@redhat.com>
+
+       * doc/invoke.texi (-Wmismatched-dealloc, -Wmismatched-new-delete):
+       Correct documented defaults.
+
+2021-06-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Initialize
+       m_new_value_p directly.
+
+2021-06-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89021
+       * config/i386/i386-expand.c (expand_vec_perm_2perm_pblendv):
+       Handle 64bit modes for TARGET_SSE4_1.
+       (expand_vec_perm_pshufb2): Handle 64bit modes for TARGET_SSSE3.
+       (expand_vec_perm_even_odd_pack): Handle V4HI mode.
+       (expand_vec_perm_even_odd_1) <case E_V4HImode>: Expand via
+       expand_vec_perm_pshufb2 for TARGET_SSSE3 and via
+       expand_vec_perm_even_odd_pack for TARGET_SSE4_1.
+       * config/i386/mmx.md (mmx_packusdw): New insn pattern.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<sur><addsub>hn<mode>):
+       Change to an expander that emits the correct instruction
+       depending on endianness.
+       (aarch64_<sur><addsub>hn<mode>_insn_le): Define.
+       (aarch64_<sur><addsub>hn<mode>_insn_be): Define.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Split generator
+       for aarch64_<su>qmovn builtins into scalar and vector
+       variants.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>qmovn<mode>_insn_le):
+       Define.
+       (aarch64_<su>qmovn<mode>_insn_be): Define.
+       (aarch64_<su>qmovn<mode>): Split into scalar and vector
+       variants. Change vector variant to an expander that emits the
+       correct instruction depending on endianness.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Split generator
+       for aarch64_sqmovun builtins into scalar and vector variants.
+       * config/aarch64/aarch64-simd.md (aarch64_sqmovun<mode>):
+       Split into scalar and vector variants. Change vector variant
+       to an expander that emits the correct instruction depending
+       on endianness.
+       (aarch64_sqmovun<mode>_insn_le): Define.
+       (aarch64_sqmovun<mode>_insn_be): Define.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_xtn<mode>_insn_le):
+       Define - modeling zero-high-half semantics.
+       (aarch64_xtn<mode>): Change to an expander that emits the
+       appropriate instruction depending on endianness.
+       (aarch64_xtn<mode>_insn_be): Define - modeling zero-high-half
+       semantics.
+       (aarch64_xtn2<mode>_le): Rename to...
+       (aarch64_xtn2<mode>_insn_le): This.
+       (aarch64_xtn2<mode>_be): Rename to...
+       (aarch64_xtn2<mode>_insn_be): This.
+       (vec_pack_trunc_<mode>): Emit truncation instruction instead
+       of aarch64_xtn.
+       * config/aarch64/iterators.md (Vnarrowd): Add Vnarrowd mode
+       attribute iterator.
+
+2021-06-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * tree-sra.c (create_access): Disqualify any const candidates
+       which are written to.
+       (sra_modify_expr): Do not store sub-replacements back to a const base.
+       (handle_unscalarized_data_in_subtree): Likewise.
+       (sra_modify_assign): Likewise.  Earlier, use TREE_READONLy test
+       instead of constant_decl_p.
+
+2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101062
+       * stor-layout.c (finish_bitfield_representative): For fields in unions
+       assume nextf is always NULL.
+       (finish_bitfield_layout): Compute bit field representatives also in
+       unions, but handle it as if each bitfield was the only field in the
+       aggregate.
+
+2021-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101088
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Only look for
+       supported refs on edges.  Do not assert same ref but
+       different kind stores are unsuported but mark them so.
+       (hoist_memory_references): Only look for supported refs
+       on exits.
+
+2021-06-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/46235
+       * config/i386/i386.md: New define_split for bt followed by cmov.
+       (*bt<mode>_setcqi): New define_insn_and_split for bt followed by setc.
+       (*bt<mode>_setncqi): New define_insn_and_split for bt then setnc.
+       (*bt<mode>_setnc<mode>): New define_insn_and_split for bt followed
+       by setnc with zero extension.
+
+2021-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101083
+       * tree-vect-slp.c (vect_slp_build_two_operator_nodes): Get
+       vectype as argument.
+       (vect_build_slp_tree_2): Adjust.
+
+2021-06-15  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100876
+       * builtins.c: (gimple_call_return_array): Account for size_t
+       mangling as either unsigned int or unsigned long
+
+2021-06-15  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * compare-elim.c (try_eliminate_compare): Run DCE to clean things
+       up before eliminating comparisons.
+
+2021-06-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_bitwise_or::wi_fold): Make sure
+       nonzero|X is nonzero.
+       (range_op_bitwise_and_tests): Add tests for above.
+
+2021-06-15  Carl Love  <cel@us.ibm.com>
+
+       PR target/101022
+       * config/rs6000/rs6000-builtin.def (VCMPEQUT): Fix the ICODE for the
+       enum definition.
+       (VRLQ, VSLQ, VSRQ, VSRAQ): Remove unused BU_P10_OVERLOAD_2
+       definitions.
+
+2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92568
+       * gimplify.c (enum gimplify_defaultmap_kind): Add GDMK_SCALAR_TARGET.
+       (struct gimplify_omp_ctx): Extend defaultmap array by one.
+       (new_omp_context): Init defaultmap[GDMK_SCALAR_TARGET].
+       (omp_notice_variable): Update type classification for Fortran.
+       (gimplify_scan_omp_clauses): Update calls for new argument; handle
+       GDMK_SCALAR_TARGET; for Fortran, GDMK_POINTER avoid GOVD_MAP_0LEN_ARRAY.
+       * langhooks-def.h (lhd_omp_scalar_p): Add 'ptr_ok' argument.
+       * langhooks.c (lhd_omp_scalar_p): Likewise.
+       (LANG_HOOKS_OMP_ALLOCATABLE_P, LANG_HOOKS_OMP_SCALAR_TARGET_P): New.
+       (LANG_HOOKS_DECLS): Add them.
+       * langhooks.h (struct lang_hooks_for_decls): Add new hooks, update
+       omp_scalar_p pointer type to include the new bool argument.
+
+2021-06-15  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi
+       (Special Functions for Debugging the Analyzer): Add
+       __analyzer_dump_capacity.
+
+2021-06-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101046
+       * expr.c (expand_expr_real_2) <case VEC_PACK_FIX_TRUNC_EXPR,
+       case VEC_PACK_TRUNC_EXPR>: Clear subtarget when changing mode.
+
+2021-06-15  Richard Biener  <rguenther@suse.de>
+
+       * cfgloopanal.c (mark_irreducible_loops): Use a dominance
+       check to identify loop latches.
+       * cfgloop.c (verify_loop_structure): Likewise.
+       * loop-init.c (apply_loop_flags): Allow marked irreducible
+       regions even with multiple latches.
+       * predict.c (rebuild_frequencies): Simplify.
+
+2021-06-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-threadupdate.c
+       (jump_thread_path_registry::mark_threaded_blocks): Assert we
+       have marked irreducible regions.
+
+2021-06-14  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/100876
+       * builtins.c (gimple_call_return_array): Check for attribute fn spec.
+       Handle calls to placement new.
+       (ndecl_dealloc_argno): Avoid placement delete.
+
+2021-06-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/100777
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Use
+       create_tmp_reg_or_ssa_name().
+
+2021-06-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust.
+       (ranger_cache::enable_new_values): Set to specified value and
+       return the old value.
+       (ranger_cache::disable_new_values): Delete.
+       (ranger_cache::fill_block_cache): Disable non 1st order derived
+       poor values.
+       * gimple-range-cache.h (ranger_cache): Adjust prototypes.
+       * gimple-range.cc (gimple_ranger::range_of_expr): Adjust.
+
+2021-06-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101058
+       * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const):
+       Return true early when testing with V2HImode.
+       * config/i386/mmx.md (*punpckwd): Split to sse2_pshuflw_1.
+
+2021-06-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): New pattern.
+       (mve_vec_unpack<US>_hi_<mode>): New pattern.
+       (@mve_vec_pack_trunc_lo_<mode>): New pattern.
+       (mve_vmovntq_<supf><mode>): Prefix with '@'.
+       * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move to
+       vec-common.md.
+       (vec_unpack<US>_lo_<mode>): Likewise.
+       (vec_pack_trunc_<mode>): Rename to
+       neon_quad_vec_pack_trunc_<mode>.
+       * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): New
+       pattern.
+       (vec_unpack<US>_lo_<mode>): New.
+       (vec_pack_trunc_<mode>): New.
+
+2021-06-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100934
+       * tree-ssa-dom.c (pass_dominator::execute): Properly
+       mark irreducible regions.
+
+2021-06-14  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Put r{...} on the same line as @item.
+
+2021-06-14  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Add missing newline.
+
+2021-06-14  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Remove '+' charasters.
+
+2021-06-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config.gcc (arc): Add support for with_cpu option.
+       * config/arc/arc.h (OPTION_DEFAULT_SPECS): Add fpu.
+
+2021-06-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101031
+       * tree-ssa-strlen.c (maybe_invalidate): Increment max_size
+       instead of size when accounting for a possibly string
+       terminating nul.
+
+2021-06-14  Martin Liska  <mliska@suse.cz>
+
+       * gimple-ssa-evrp.c (pointer_equiv_analyzer::~pointer_equiv_analyzer): Use delete[].
+
+2021-06-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-query.cc (gimple_range_global): Call get_range_global
+       if called after inlining.
+
+2021-06-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101021
+       * config/i386/i386-expand.c (expand_vec_perm_pshufb):
+       Emit constant permutation insn directly from here.
+
+2021-06-13  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * attribs.c (find_attribute_namespace): Iterate over vec<> with
+       range based for.
+       * auto-profile.c (afdo_find_equiv_class): Likewise.
+       * gcc.c (do_specs_vec): Likewise.
+       (do_spec_1): Likewise.
+       (driver::set_up_specs): Likewise.
+       * gimple-loop-jam.c (any_access_function_variant_p): Likewise.
+       * gimple-ssa-store-merging.c (compatible_load_p): Likewise.
+       (imm_store_chain_info::try_coalesce_bswap): Likewise.
+       (imm_store_chain_info::coalesce_immediate_stores): Likewise.
+       (get_location_for_stmts): Likewise.
+       * graphite-poly.c (print_iteration_domains): Likewise.
+       (free_poly_bb): Likewise.
+       (remove_gbbs_in_scop): Likewise.
+       (free_scop): Likewise.
+       (dump_gbb_cases): Likewise.
+       (dump_gbb_conditions): Likewise.
+       (print_pdrs): Likewise.
+       (print_scop): Likewise.
+       * ifcvt.c (cond_move_process_if_block): Likewise.
+       * lower-subreg.c (decompose_multiword_subregs): Likewise.
+       * regcprop.c (pass_cprop_hardreg::execute): Likewise.
+       * sanopt.c (sanitize_rewrite_addressable_params): Likewise.
+       * sel-sched-dump.c (dump_insn_vector): Likewise.
+       * store-motion.c (store_ops_ok): Likewise.
+       (store_killed_in_insn): Likewise.
+       * timevar.c (timer::named_items::print): Likewise.
+       * tree-cfgcleanup.c (cleanup_control_flow_pre): Likewise.
+       (cleanup_tree_cfg_noloop): Likewise.
+       * tree-data-ref.c (dump_data_references): Likewise.
+       (print_dir_vectors): Likewise.
+       (print_dist_vectors): Likewise.
+       (dump_data_dependence_relations): Likewise.
+       (dump_dist_dir_vectors): Likewise.
+       (dump_ddrs): Likewise.
+       (create_runtime_alias_checks): Likewise.
+       (free_subscripts): Likewise.
+       (save_dist_v): Likewise.
+       (save_dir_v): Likewise.
+       (invariant_access_functions): Likewise.
+       (same_access_functions): Likewise.
+       (access_functions_are_affine_or_constant_p): Likewise.
+       (find_data_references_in_stmt): Likewise.
+       (graphite_find_data_references_in_stmt): Likewise.
+       (free_dependence_relations): Likewise.
+       (free_data_refs): Likewise.
+       * tree-inline.c (copy_debug_stmts): Likewise.
+       * tree-into-ssa.c (dump_currdefs): Likewise.
+       (rewrite_update_phi_arguments): Likewise.
+       * tree-ssa-propagate.c (clean_up_loop_closed_phi): Likewise.
+       * tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
+       Likewise.
+       (vect_slp_analyze_node_dependences): Likewise.
+       (vect_slp_analyze_instance_dependence): Likewise.
+       (vect_record_base_alignments): Likewise.
+       (vect_get_peeling_costs_all_drs): Likewise.
+       (vect_peeling_supportable): Likewise.
+       * tree-vectorizer.c (vec_info::~vec_info): Likewise.
+       (vec_info::free_stmt_vec_infos): Likewise.
+
+2021-06-13  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/logical.md (<code>qi3_1<cczn>): New pattern.
+       (andqi3_1<cczn>): Removed.
+       (<ors>qi3_1): Do not split for IOR/XOR a single bit.
+       (H8/SX bit logicals): Split out from other patterns.
+       * config/h8300/multiply.md (mulqihi3_const<cczn>): Renamed from
+       mulqihi3_const_clobber_flags.
+       (mulqihi3<cczn>, mulhisi3_const<cczn>, mulhisi3<cczn>): Similarly
+
+2021-06-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101023
+       * config/i386/i386.c (ix86_expand_prologue): Set red_zone_used
+       to true if red zone is used.
+       (ix86_output_indirect_jmp): Replace ix86_red_zone_size with
+       ix86_red_zone_used.
+       * config/i386/i386.h (machine_function): Add red_zone_used.
+       (ix86_red_zone_size): Removed.
+       (ix86_red_zone_used): New.
+       * config/i386/i386.md (peephole2 patterns): Replace
+       ix86_red_zone_size with ix86_red_zone_used.
+
+2021-06-12  Jason Merrill  <jason@redhat.com>
+
+       * doc/extend.texi (unused variable attribute): Applies to
+       structure fields as well.
+
+2021-06-12  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * auto-profile.c (read_profile): fix a typo in an error string
+
+2021-06-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * tree-pretty-print.h (dump_omp_clauses): Add 'bool = true'
+       default argument.
+       * tree-pretty-print.c (dump_omp_clauses): Update.
+       (dump_generic_node) <OMP_CLAUSE>: Use it.
+
+2021-06-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/101016
+       * config/arm/arm_mve.h (__arm_vld1q): Change __ARM_mve_coerce(p0,
+       int8_t const *) to __ARM_mve_coerce1(p0, int8_t *) in the argument for
+       the polymorphic variants matching code.
+       (__arm_vld1q_z): Likewise.
+       (__arm_vld2q): Likewise.
+       (__arm_vld4q): Likewise.
+       (__arm_vldrbq_gather_offset): Likewise.
+       (__arm_vldrbq_gather_offset_z): Likewise.
+
+2021-06-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/96392
+       * fold-const.h (tree_expr_maybe_real_minus_zero_p): Fix prototype.
+
+2021-06-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/96392
+       * fold-const.c (fold_real_zero_addition_p): Take both arguments
+       of the addition or subtraction, not just the zero.  Use this
+       other argument in tests for signaling NaNs and signed zeros.
+       (tree_expr_maybe_real_minus_zero_p): New predicate.
+       * fold-const.h (fold_real_zero_addition_p): Update prototype.
+       (tree_expr_maybe_real_minus_zero_p): New function prototype.
+       * match.pd: Update calls to fold_real_zero_addition_p.
+       Replace HONOR_NANS with tree_expr_maybe_nan_p.
+       Replace HONOR_SIGNED_ZEROS with tree_expr_maybe_real_minus_zero_p.
+       Replace HONOR_SNANS with tree_expr_maybe_signaling_nan_p.
+       * tree-ssa-reassoc.c (eliminate_using_constants): Update
+       call to fold_real_zero_addition_p.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101025
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Make sure to process
+       all refs that require dependence checking.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101028
+       * tree-vect-slp.c (vect_build_slp_tree_2): When SLP
+       reassoc discovery fails fatally, mark appropriate lanes
+       in matches[] so.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101026
+       * tree-vect-slp.c (vect_build_slp_tree_2): Make sure we
+       have a representative for the associated chain nodes.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/101008
+       * simplify-rtx.c (relational_result): New function.
+       (simplify_logical_relational_operation,
+       simplify_relational_operation): Use it.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101007
+       * config/i386/sse.md (*vec_concat<mode>_0_1): Require TARGET_SSE2.
+
+2021-06-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101021
+       * config/i386/i386-expand.c (expand_vec_perm_pshufb): Return
+       false if the permutation can be implemented with constant
+       permutation instruction in wider mode.
+       (canonicalize_vector_int_perm): Move above expand_vec_perm_pshufb.
+       Handle V8QImode and V4HImode.
+
+2021-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100788
+       * common.opt: Add new option.
+       * coverage.c (coverage_begin_function): Emit warning instead on
+       the internal compiler error.
+       * doc/invoke.texi: Document the option.
+       * toplev.c (process_options): Enable it by default.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101009
+       * tree-data-ref.c (build_classic_dist_vector_1): Make sure
+       to set *init_b to true when we encounter a constant equal
+       index pair.
+       (compute_affine_dependence): Also dump the actual DR_REF.
+
+2021-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/100984
+       * gimple-ssa-evrp.c  (ssa_equiv_stack): Use auto_vec for
+       replacements table.
+       (ssa_equiv_stack::~ssa_equiv_stack): Remove.
+
+2021-06-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.md
+       (floatsi<SFDF:mode>2_lfiwax_<QHI:mode>_mem_zext): New
+       define_insn_and_split.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_2): Use stablesort
+       to sort operands of the associative chain.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       * system.h (gcc_stablesort_r): Declare.
+       * sort.cc (gcc_sort_r): Support stable sort.
+       (gcc_stablesort_r): Define.
+       * vec.h (vec<>::stablesort): Add.
+
+2021-06-10  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89021
+       * config/i386/i386-expand.c (ix86_split_mmx_punpck):
+       Handle V2SF mode.  Emit SHUFPS to fixup unpack-high for V2SF mode.
+       (expand_vec_perm_blend): Handle 64bit modes for TARGET_SSE4_1.
+       (expand_vec_perm_pshufb): Handle 64bit modes for TARGET_SSSE3.
+       (expand_vec_perm_pblendv): Handle 64bit modes for TARGET_SSE4_1.
+       (expand_vec_perm_interleave2): Handle 64bit modes.
+       (expand_vec_perm_even_odd_pack): Handle V8QI mode.
+       (expand_vec_perm_even_odd_1): Ditto.
+       (ix86_vectorize_vec_perm_const): Ditto.
+       * config/i386/i386.md (UNSPEC_PSHUFB): Move from ...
+       * config/i386/sse.md: ... here.
+       * config/i386/mmx.md (*vec_interleave_lowv2sf):
+       New insn_and_split pattern.
+       (*vec_interleave_highv2sf): Ditto.
+       (mmx_pshufbv8qi3): New insn pattern.
+       (*mmx_pblendw): Ditto.
+
+2021-06-10  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (build_pair): New built-in.
+       (build_acc): Likewise.
+       * config/rs6000/rs6000-call.c (mma_expand_builtin): Swap assemble
+       source operands in little-endian mode.
+       (rs6000_gimple_fold_mma_builtin): Handle VSX_BUILTIN_BUILD_PAIR.
+       (mma_init_builtins): Likewise.
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Handle endianness
+       ordering for the MMA assemble and build source operands.
+       * doc/extend.texi (__builtin_vsx_build_acc, __builtin_mma_build_pair):
+       Document.
+       (__builtin_mma_assemble_acc, __builtin_mma_assemble_pair): Remove
+       documentation.
+
+2021-06-10  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300.c (select_cc_mode): Handle MEM.  Use
+       REG_P.
+       * config/h8300/extensions.md: Replace _clobber_flags patterns
+       with <cczn>.
+
+2021-06-10  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * config/s390/vector.md (vcond_mask_<mode><mode>): Change to
+       (vcond_mask_<mode><tointvec>): this.
+
+2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * omp-builtins.def (BUILT_IN_GOACC_ENTER_EXIT_DATA): Split into...
+       (BUILT_IN_GOACC_ENTER_DATA, BUILT_IN_GOACC_EXIT_DATA): ... these.
+       * gimple.h (enum gf_mask): Split
+       'GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA' into
+       'GF_OMP_TARGET_KIND_OACC_ENTER_DATA' and
+       'GF_OMP_TARGET_KIND_OACC_EXIT_DATA'.
+       (is_gimple_omp_oacc): Update.
+       * gimple-pretty-print.c (dump_gimple_omp_target): Likewise.
+       * gimplify.c (gimplify_omp_target_update): Likewise.
+       * omp-expand.c (expand_omp_target, build_omp_regions_1)
+       (omp_make_gimple_edges): Likewise.
+       * omp-low.c (check_omp_nesting_restrictions, lower_omp_target):
+       Likewise.
+
+2021-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-query.cc (value_query::value_on_edge): Rename name to
+       expr.
+       (range_query::range_on_edge): Same.
+       (range_query::value_of_expr): Same.
+       (range_query::value_on_edge): Same.
+       * value-query.h (class value_query): Same.
+       (class range_query): Same.
+
+2021-06-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101003
+       * tree-vect-slp.c (vect_build_slp_tree_2): Appropriately
+       use the pattern stmt defs when linearizing a chain.
+
+2021-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/100852
+       * ifcvt.c (noce_get_alt_condition, noce_try_abs): Use
+       prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
+
+2021-06-10  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/rs6000/aix71.h (ASM_CPU_SPEC): Add Power10 directive.
+       * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise.
+
+2021-06-09  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/100925
+       * match.pd (a ? CST1 : CST2): Limit transformations
+       that would produce a negative to integeral types only.
+       Change !POINTER_TYPE_P to INTEGRAL_TYPE_P also.
+
+2021-06-09  Jeff Law  <jeffreyalaw@gmail.com>
+
+       Revert:
+       2021-06-09  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * doc/tm.texi: Correctly update.
+
+2021-06-09  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * doc/tm.texi: Correctly update.
+
+2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR other/100735
+       * doc/tm.texi.in (Trampolines): Add a missing blank line.
+
+2021-06-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       PR other/100735
+       * doc/invoke.texi (Code Gen Options); Document that -fno-trampolines
+       and -ftrampolines work only with Ada.
+       * doc/tm.texi.in (Trampolines): Likewise.
+       * doc/tm.texi: Regenerated.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_signextll, vec_signexti, vec_signextq):
+       Add define for new builtins.
+       * config/rs6000/altivec.md(altivec_vreveti2): Add define_expand.
+       * config/rs6000/rs6000-builtin.def (VSIGNEXTI, VSIGNEXTLL):  Add
+       overloaded builtin definitions.
+       (VSIGNEXTSB2W, VSIGNEXTSH2W, VSIGNEXTSB2D, VSIGNEXTSH2D,VSIGNEXTSW2D,
+       VSIGNEXTSD2Q):  Add builtin expansions.
+       (SIGNEXT): Add P10 overload definition.
+       * config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_VSIGNEXTI, P9V_BUILTIN_VEC_VSIGNEXTLL,
+       P10_BUILTIN_VEC_SIGNEXT): Add overloaded argument definitions.
+       * config/rs6000/vsx.md (vsx_sign_extend_v2di_v1ti): Add define_insn.
+       (vsignextend_v2di_v1ti, vsignextend_qi_<mode>, vsignextend_hi_<mode>,
+       vsignextend_si_v2di)[VIlong]: Add define_expand.
+       Make define_insn vsx_sign_extend_si_v2di visible.
+       * doc/extend.texi:  Add documentation for the vec_signexti,
+       vec_signextll builtins and vec_signextq.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000.c (__fixkfti, __fixunskfti, __floattikf,
+       __floatuntikf): Names changed to __fixkfti_sw, __fixunskfti_sw,
+       __floattikf_sw, __floatuntikf_sw respectively.
+       * config/rs6000/rs6000.md (floatti<mode>2, floatunsti<mode>2,
+       fix_trunc<mode>ti2, fixuns_trunc<mode>ti2): Add
+       define_insn for mode IEEE 128.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.md (altivec_vslq, altivec_vsrq):
+       Rename to altivec_vslq_<mode>, altivec_vsrq_<mode>, mode VEC_TI.
+       * config/rs6000/vector.md (VEC_TI): Was named VSX_TI in vsx.md.
+       (vashlv1ti3): Change to vashl<mode>3, mode VEC_TI.
+       (vlshrv1ti3): Change to vlshr<mode>3, mode VEC_TI.
+       * config/rs6000/vsx.md (VSX_TI): Remove define_mode_iterator. Update
+       uses of VSX_TI to VEC_TI.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/dfp.md (floattitd2, fixtdti2): New define_insns.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_dive, vec_mod): Add define for new
+       builtins.
+       * config/rs6000/altivec.md (UNSPEC_VMULEUD, UNSPEC_VMULESD,
+       UNSPEC_VMULOUD, UNSPEC_VMULOSD): New unspecs.
+       (altivec_eqv1ti, altivec_gtv1ti, altivec_gtuv1ti, altivec_vmuleud,
+       altivec_vmuloud, altivec_vmulesd, altivec_vmulosd, altivec_vrlq,
+       altivec_vrlqmi, altivec_vrlqmi_inst, altivec_vrlqnm,
+       altivec_vrlqnm_inst, altivec_vslq, altivec_vsrq, altivec_vsraq,
+       altivec_vcmpequt_p, altivec_vcmpgtst_p, altivec_vcmpgtut_p): New
+       define_insn.
+       (vec_widen_umult_even_v2di, vec_widen_smult_even_v2di,
+       vec_widen_umult_odd_v2di, vec_widen_smult_odd_v2di, altivec_vrlqmi,
+       altivec_vrlqnm): New define_expands.
+       * config/rs6000/rs6000-builtin.def (VCMPEQUT_P, VCMPGTST_P,
+       VCMPGTUT_P): Add macro expansions.
+       (BU_P10V_AV_P): Add builtin predicate definition.
+       (VCMPGTUT, VCMPGTST, VCMPEQUT, CMPNET, CMPGE_1TI,
+       CMPGE_U1TI, CMPLE_1TI, CMPLE_U1TI, VNOR_V1TI_UNS, VNOR_V1TI, VCMPNET_P,
+       VCMPAET_P, VMULEUD, VMULESD, VMULOUD, VMULOSD, VRLQ,
+       VSLQ, VSRQ, VSRAQ, VRLQNM, DIV_V1TI, UDIV_V1TI, DIVES_V1TI, DIVEU_V1TI,
+       MODS_V1TI, MODU_V1TI, VRLQMI): New macro expansions.
+       (VRLQ, VSLQ, VSRQ, VSRAQ, DIVE, MOD): New overload expansions.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VCMPEQUT,
+       P10V_BUILTIN_CMPGE_1TI, P10V_BUILTIN_CMPGE_U1TI,
+       P10V_BUILTIN_VCMPGTUT, P10V_BUILTIN_VCMPGTST,
+       P10V_BUILTIN_CMPLE_1TI, P10V_BUILTIN_VCMPLE_U1TI,
+       P10V_BUILTIN_DIV_V1TI, P10V_BUILTIN_UDIV_V1TI,
+       P10V_BUILTIN_VMULESD, P10V_BUILTIN_VMULEUD,
+       P10V_BUILTIN_VMULOSD, P10V_BUILTIN_VMULOUD,
+       P10V_BUILTIN_VNOR_V1TI, P10V_BUILTIN_VNOR_V1TI_UNS,
+       P10V_BUILTIN_VRLQ, P10V_BUILTIN_VRLQMI,
+       P10V_BUILTIN_VRLQNM, P10V_BUILTIN_VSLQ,
+       P10V_BUILTIN_VSRQ, P10V_BUILTIN_VSRAQ,
+       P10V_BUILTIN_VCMPGTUT_P, P10V_BUILTIN_VCMPGTST_P,
+       P10V_BUILTIN_VCMPEQUT_P, P10V_BUILTIN_VCMPGTUT_P,
+       P10V_BUILTIN_VCMPGTST_P, P10V_BUILTIN_CMPNET,
+       P10V_BUILTIN_VCMPNET_P, P10V_BUILTIN_VCMPAET_P,
+       P10V_BUILTIN_DIVES_V1TI, P10V_BUILTIN_MODS_V1TI,
+       P10V_BUILTIN_MODU_V1TI):
+       New overloaded definitions.
+       (rs6000_gimple_fold_builtin) [P10V_BUILTIN_VCMPEQUT,
+       P10V_BUILTIN_CMPNET, P10V_BUILTIN_CMPGE_1TI,
+       P10V_BUILTIN_CMPGE_U1TI, P10V_BUILTIN_VCMPGTUT,
+       P10V_BUILTIN_VCMPGTST, P10V_BUILTIN_CMPLE_1TI,
+       P10V_BUILTIN_CMPLE_U1TI]: New case statements.
+       (rs6000_init_builtins) [bool_V1TI_type_node, int_ftype_int_v1ti_v1ti]:
+       New assignments.
+       (altivec_init_builtins): New E_V1TImode case statement.
+       (builtin_function_type)[P10_BUILTIN_128BIT_VMULEUD,
+       P10_BUILTIN_128BIT_VMULOUD, P10_BUILTIN_128BIT_DIVEU_V1TI,
+       P10_BUILTIN_128BIT_MODU_V1TI, P10_BUILTIN_CMPGE_U1TI,
+       P10_BUILTIN_VCMPGTUT, P10_BUILTIN_VCMPEQUT]: New case statements.
+       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute) [E_TImode,
+       E_V1TImode]: New case statements.
+       * config/rs6000/rs6000.h (rs6000_builtin_type_index): New enum
+       value RS6000_BTI_bool_V1TI.
+       * config/rs6000/vector.md (vector_gtv1ti,vector_nltv1ti,
+       vector_gtuv1ti, vector_nltuv1ti, vector_ngtv1ti, vector_ngtuv1ti,
+       vector_eq_v1ti_p, vector_ne_v1ti_p, vector_ae_v1ti_p,
+       vector_gt_v1ti_p, vector_gtu_v1ti_p, vrotlv1ti3, vashlv1ti3,
+       vlshrv1ti3, vashrv1ti3): New define_expands.
+       * config/rs6000/vsx.md (UNSPEC_VSX_DIVSQ, UNSPEC_VSX_DIVUQ,
+       UNSPEC_VSX_DIVESQ, UNSPEC_VSX_DIVEUQ, UNSPEC_VSX_MODSQ,
+       UNSPEC_VSX_MODUQ): New unspecs.
+       (mulv2di3, vsx_div_v1ti, vsx_udiv_v1ti, vsx_dives_v1ti,
+       vsx_diveu_v1ti, vsx_mods_v1ti, vsx_modu_v1ti, xxswapd_v1ti): New
+       define_insns.
+       (vcmpnet): New define_expand.
+       * doc/extend.texi: Add documentation for the new builtins vec_rl,
+       vec_rlmi, vec_rlnm, vec_sl, vec_sr, vec_sra, vec_mule, vec_mulo,
+       vec_div, vec_dive, vec_mod, vec_cmpeq, vec_cmpne, vec_cmpgt, vec_cmplt,
+       vec_cmpge, vec_cmple, vec_all_eq, vec_all_ne, vec_all_gt, vec_all_lt,
+       vec_all_ge, vec_all_le, vec_any_eq, vec_any_ne, vec_any_gt, vec_any_lt,
+       vec_any_ge, vec_any_le.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.md (altivec_vrl<VI_char>mi): Fix
+       bug in argument generation.
+
+2021-06-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (<supf>): Remove VCLZQ_U, VCLZQ_S.
+       (VCLZQ): Remove.
+       * config/arm/mve.md (mve_vclzq_<supf><mode>): Add '@' prefix,
+       remove <supf> iterator.
+       (mve_vclzq_u<mode>): New.
+       * config/arm/neon.md (clz<mode>2): Rename to neon_vclz<mode>.
+       (neon_vclz<mode): Move to ...
+       * config/arm/unspecs.md (VCLZQ_U, VCLZQ_S): Remove.
+       * config/arm/vec-common.md: ... here. Add support for MVE.
+
+2021-06-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vhaddq_<supf><mode>): Prefix with '@'.
+       (@mve_vrhaddq_<supf><mode): Likewise.
+       * config/arm/neon.md (neon_v<r>hadd<sup><mode>): Likewise.
+       * config/arm/vec-common.md (avg<mode>3_floor, uavg<mode>3_floor)
+       (avg<mode>3_ceil", uavg<mode>3_ceil): New patterns.
+
+2021-06-09  imba-tjd  <109224573@qq.com>
+
+       * doc/invoke.texi: Fix typo.
+
+2021-06-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/53267
+       * fold-const-call.c (fold_const_call_sss) [CASE_CFN_FMOD]:
+       Support evaluation of fmod/fmodf/fmodl at compile-time.
+
+2021-06-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100981
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use
+       gimple_get_lhs to also handle calls.
+       * tree-vect-slp-patterns.c (complex_pattern::build): Transfer
+       reduction info.
+
+2021-06-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97832
+       * tree-vectorizer.h (_slp_tree::failed): New.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize
+       failed member.
+       (_slp_tree::~_slp_tree): Free failed.
+       (vect_build_slp_tree): Retain failed nodes and record
+       matches in them, copying that back out when running
+       into a cached fail.  Dump start and end of discovery.
+       (dt_sort_cmp): New.
+       (vect_build_slp_tree_2): Handle associatable chains
+       together doing more aggressive operand swapping.
+
+2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100896
+       * config.gcc (gcc_cv_initfini_array): Set to yes for Linux and
+       GNU targets.
+       * doc/install.texi: Require glibc 2.1 and binutils 2.12 for
+       Linux and GNU targets.
+
+2021-06-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vect_is_simple_use): Always get dt
+       from the stmt.
+
+2021-06-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (loop_end): Change it to
+       define_insn_and_split.
+
+2021-06-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (maddhisi4): Use VMAC2H instruction.
+       (machi): New pattern.
+       (umaddhisi4): Use VMAC2HU instruction.
+       (umachi): New pattern.
+
+2021-06-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_split_move_p): New prototype.
+       * config/arc/arc.c (arc_split_move_p): New function.
+       (arc_split_move): Clean up.
+       * config/arc/arc.md (movdi_insn): Clean up, use arc_split_move_p.
+       (movdf_insn): Likewise.
+       * config/arc/simdext.md (mov<VWH>_insn): Likewise.
+
+2021-06-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100936
+       * config/i386/i386.c (print_operand_address_as): Rename "no_rip"
+       argument to "raw".  Do not emit segment overrides when "raw" is true.
+
+2021-06-09  Martin Liska  <mliska@suse.cz>
+
+       * doc/gcov.texi: Create a proper JSON files.
+       * doc/invoke.texi: Remove dots in order to make it a valid
+       JSON object.
+
+2021-06-09  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000-p8swap.c (pattern_is_rotate64): New.
+       (insn_is_load_p): Use pattern_is_rotate64.
+       (insn_is_swap_p): Likewise.
+       (quad_aligned_load_p): Likewise.
+       (const_load_sequence_p): Likewise.
+       (replace_swapped_aligned_load): Likewise.
+       (recombine_lvx_pattern): Likewise.
+       (recombine_stvx_pattern): Likewise.
+
+2021-06-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Use a
+       fur_stmt source record.
+       * gimple-range.cc (fur_source::get_operand): Generic range query.
+       (fur_source::get_phi_operand): New.
+       (fur_source::register_dependency): New.
+       (fur_source::query): New.
+       (class fur_edge): New.  Edge source for operands.
+       (fur_edge::fur_edge): New.
+       (fur_edge::get_operand): New.
+       (fur_edge::get_phi_operand): New.
+       (fur_edge::query): New.
+       (fur_stmt::fur_stmt): New.
+       (fur_stmt::get_operand): New.
+       (fur_stmt::get_phi_operand): New.
+       (fur_stmt::query): New.
+       (class fur_depend): New.  Statement source and process dependencies.
+       (fur_depend::fur_depend): New.
+       (fur_depend::register_dependency): New.
+       (class fur_list): New.  List source for operands.
+       (fur_list::fur_list): New.
+       (fur_list::get_operand): New.
+       (fur_list::get_phi_operand): New.
+       (fold_range): New.  Instantiate appropriate fur_source class and fold.
+       (fold_using_range::range_of_range_op): Use new API.
+       (fold_using_range::range_of_address): Ditto.
+       (fold_using_range::range_of_phi): Ditto.
+       (imple_ranger::fold_range_internal): Use fur_depend class.
+       (fold_using_range::range_of_ssa_name_with_loop_info): Use new API.
+       * gimple-range.h (class fur_source): Now a base class.
+       (class fur_stmt): New.
+       (fold_range): New prototypes.
+       (fur_source::fur_source): Delete.
+
+2021-06-08  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/25290
+       * tree-ssa-phiopt.c (xor_replacement): Delete.
+       (tree_ssa_phiopt_worker): Delete use of xor_replacement.
+       (match_simplify_replacement): Allow one cheap preparation
+       statement that can be moved to before the if.
+
+2021-06-08  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/power10.md (power10-fused-load, power10-fused-store,
+       power10-fused_alu, power10-fused-vec, power10-fused-branch): New.
+
+2021-06-08  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/logical.md (andqi3_1): Move BCLR case into define_insn_and_split.
+       Create length attribute on define_insn_and_split.  Only split for cases which we
+       know will use AND.
+       (andqi3_1<cczn>): Renamed from andqi3_1_clobber_flags.  Only handle AND here and
+       fix length computation.
+       (b<code><mode>msx): Combine QImode and HImode H8/SX patterns using iterator.
+
+2021-06-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100923
+       * tree-ssa-sccvn.c (valueize_refs_1): Take a pointer to
+       the operand vector to be valueized.
+       (valueize_refs): Likewise.
+       (valueize_shared_reference_ops_from_ref): Adjust.
+       (valueize_shared_reference_ops_from_call): Likewise.
+       (vn_reference_lookup_3): Likewise.
+       (vn_reference_lookup_pieces): Likewise.  Re-valueize
+       with honoring availability when we are about to create
+       the ao_ref and valueized before.
+       (vn_reference_lookup): Likewise.
+       (vn_reference_insert_pieces): Adjust.
+
+2021-06-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_instance::root_stmt): Change to...
+       (_slp_instance::root_stmts): ... a vector.
+       (SLP_INSTANCE_ROOT_STMT): Rename to ...
+       (SLP_INSTANCE_ROOT_STMTS): ... this.
+       (slp_root::root): Change to...
+       (slp_root::roots): ... a vector.
+       (slp_root::slp_root): Adjust.
+       * tree-vect-slp.c (_slp_instance::location): Adjust.
+       (vect_free_slp_instance): Release the root stmt vector.
+       (vect_build_slp_instance): Adjust.
+       (vect_analyze_slp): Likewise.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vect_slp_analyze_operations): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.  Adjust
+       costs for the root stmt.
+       (vect_slp_check_for_constructors): Gather all BIT_INSERT_EXPRs
+       as root stmts.
+       (vect_slp_analyze_bb_1): Simplify by marking all root stmts
+       as pure_slp.
+       (vectorize_slp_instance_root_stmt): Adjust.
+       (vect_schedule_slp): Likewise.
+
+2021-06-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp.c (class ssa_equiv_stack): New.
+       (ssa_equiv_stack::ssa_equiv_stack): New.
+       (ssa_equiv_stack::~ssa_equiv_stack): New.
+       (ssa_equiv_stack::enter): New.
+       (ssa_equiv_stack::leave): New.
+       (ssa_equiv_stack::push_replacement): New.
+       (ssa_equiv_stack::get_replacement): New.
+       (is_pointer_ssa): New.
+       (class pointer_equiv_analyzer): New.
+       (pointer_equiv_analyzer::pointer_equiv_analyzer): New.
+       (pointer_equiv_analyzer::~pointer_equiv_analyzer): New.
+       (pointer_equiv_analyzer::set_global_equiv): New.
+       (pointer_equiv_analyzer::set_cond_equiv): New.
+       (pointer_equiv_analyzer::get_equiv): New.
+       (pointer_equiv_analyzer::enter): New.
+       (pointer_equiv_analyzer::leave): New.
+       (pointer_equiv_analyzer::get_equiv_expr): New.
+       (pta_valueize): New.
+       (pointer_equiv_analyzer::visit_stmt): New.
+       (pointer_equiv_analyzer::visit_edge): New.
+       (hybrid_folder::value_of_expr): Call PTA.
+       (hybrid_folder::value_on_edge): Same.
+       (hybrid_folder::pre_fold_bb): New.
+       (hybrid_folder::post_fold_bb): New.
+       (hybrid_folder::pre_fold_stmt): New.
+       (rvrp_folder::pre_fold_bb): New.
+       (rvrp_folder::post_fold_bb): New.
+       (rvrp_folder::pre_fold_stmt): New.
+       (rvrp_folder::value_of_expr): Call PTA.
+       (rvrp_folder::value_on_edge): Same.
+
+2021-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100957
+       * tree-inline.c (copy_tree_body_r): For OMP_CLAUSE_DEPEND don't
+       check TREE_CODE if OMP_CLAUSE_DECL is NULL.
+
+2021-06-08  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100951
+       * tree-vect-generic.c (expand_vector_piecewise): Build a
+       VECTOR_CST if all elements are constant.
+       (expand_vector_condition): Likewise.
+       (lower_vec_perm): Likewise.
+       (expand_vector_conversion): Likewise.
+
+2021-06-08  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document new param evrp-sparse-threshold.
+
+2021-06-08  Martin Liska  <mliska@suse.cz>
+
+       * genautomata.c (create_automata): Fix typo.
+
+2021-06-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/100794
+       * tree-predcom.c (tree_predictive_commoning_loop): Add parameter
+       allow_unroll_p and only allow unrolling when it's true.
+       (tree_predictive_commoning): Add parameter allow_unroll_p and
+       adjust for it.
+       (run_tree_predictive_commoning): Likewise.
+       (pass_predcom::gate): Check flag_tree_loop_vectorize and
+       global_options_set.x_flag_predictive_commoning.
+       (pass_predcom::execute): Adjust for allow_unroll_p.
+
+2021-06-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-predcom.c (execute_pred_commoning): Remove update_ssa call.
+       (tree_predictive_commoning_loop): Factor some cleanup stuffs into
+       lambda function cleanup, remove scev_reset call, and adjust return
+       value.
+       (tree_predictive_commoning): Adjust for different changed values,
+       only set flag TODO_update_ssa_only_virtuals if changed.
+       (pass_data pass_data_predcom): Remove TODO_update_ssa_only_virtuals
+       from todo_flags_finish.
+
+2021-06-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (class sbr_sparse_bitmap): New.
+       (sbr_sparse_bitmap::sbr_sparse_bitmap): New.
+       (sbr_sparse_bitmap::bitmap_set_quad): New.
+       (sbr_sparse_bitmap::bitmap_get_quad): New.
+       (sbr_sparse_bitmap::set_bb_range): New.
+       (sbr_sparse_bitmap::get_bb_range): New.
+       (sbr_sparse_bitmap::bb_range_p): New.
+       (block_range_cache::block_range_cache): initialize bitmap obstack.
+       (block_range_cache::~block_range_cache): Destruct obstack.
+       (block_range_cache::set_bb_range): Decide when to utilze the
+       sparse on entry cache.
+       * gimple-range-cache.h (block_range_cache): Add bitmap obstack.
+       * params.opt (-param=evrp-sparse-threshold): New.
+
+2021-06-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * bitmap.c (bitmap_set_aligned_chunk): New.
+       (bitmap_get_aligned_chunk): New.
+       (test_aligned_chunk): New.
+       (bitmap_c_tests): Call test_aligned_chunk.
+       * bitmap.h (bitmap_set_aligned_chunk, bitmap_get_aligned_chunk): New.
+
+2021-06-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
+       Handle V4QI mode.
+       (ix86_expand_vector_init_one_nonzero): Ditto.
+       (ix86_expand_vector_init_one_var): Ditto.
+       (ix86_expand_vector_init_general): Ditto.
+       * config/i386/mmx.md (vec_initv4qiqi): New expander.
+
+2021-06-07  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/movepush.md: Change most _clobber_flags
+       patterns to instead use <cczn> subst.
+       (movsi_cczn): New pattern with usable CC cases split out.
+       (movsi_h8sx_cczn): Likewise.
+
+2021-06-07  Martin Liska  <mliska@suse.cz>
+
+       * common/common-target.def: Split long lines and replace them
+       with '\n\'.
+       * target.def: Likewise.
+       * doc/tm.texi: Re-generated.
+
+2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100887
+       * fold-const.c (fold_read_from_vector): Return NULL if trying to
+       read from a CONSTRUCTOR with vector type elements.
+
+2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100898
+       * tree-inline.c (copy_bb): Only use gimple_call_arg_ptr if memcpy
+       should copy any arguments.  Don't call gimple_call_num_args
+       on id->call_stmt or call_stmt more than once.
+
+2021-06-07  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100885
+       * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): Refine
+       constraints.
+       (<insn>v4siv4di2): Delete constraints for define_expand.
+
+2021-06-07  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/82735
+       * config/i386/i386-expand.c (ix86_expand_builtin): Remove
+       assignment of cfun->machine->has_explicit_vzeroupper.
+       * config/i386/i386-features.c
+       (ix86_add_reg_usage_to_vzerouppers): Delete.
+       (ix86_add_reg_usage_to_vzeroupper): Ditto.
+       (rest_of_handle_insert_vzeroupper): Remove
+       ix86_add_reg_usage_to_vzerouppers, add df_analyze at the end
+       of the function.
+       (gate): Remove cfun->machine->has_explicit_vzeroupper.
+       * config/i386/i386-protos.h (ix86_expand_avx_vzeroupper):
+       Declared.
+       * config/i386/i386.c (ix86_insn_callee_abi): New function.
+       (ix86_initialize_callee_abi): Ditto.
+       (ix86_expand_avx_vzeroupper): Ditto.
+       (ix86_hard_regno_call_part_clobbered): Adjust for vzeroupper
+       ABI.
+       (TARGET_INSN_CALLEE_ABI): Define as ix86_insn_callee_abi.
+       (ix86_emit_mode_set): Call ix86_expand_avx_vzeroupper
+       directly.
+       * config/i386/i386.h (struct GTY(()) machine_function): Delete
+       has_explicit_vzeroupper.
+       * config/i386/i386.md (enum unspec): New member
+       UNSPEC_CALLEE_ABI.
+       (ABI_DEFAULT,ABI_VZEROUPPER,ABI_UNKNOWN): New
+       define_constants for insn callee abi index.
+       * config/i386/predicates.md (vzeroupper_pattern): Adjust.
+       * config/i386/sse.md (UNSPECV_VZEROUPPER): Deleted.
+       (avx_vzeroupper): Call ix86_expand_avx_vzeroupper.
+       (*avx_vzeroupper): Rename to ..
+       (avx_vzeroupper_callee_abi): .. this, and adjust pattern as
+       call_insn which has a special vzeroupper ABI.
+       (*avx_vzeroupper_1): Deleted.
+
+2021-06-07  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/82735
+       * df-scan.c (df_get_call_refs): When call_insn is a fake call,
+       it won't use stack pointer reg.
+       * final.c (leaf_function_p): When call_insn is a fake call, it
+       won't affect caller as a leaf function.
+       * reg-stack.c (callee_clobbers_any_stack_reg): New.
+       (subst_stack_regs): When call_insn doesn't clobber any stack
+       reg, don't clear the arguments.
+       * rtl.c (shallow_copy_rtx): Don't clear flag used when orig is
+       a insn.
+       * shrink-wrap.c (requires_stack_frame_p): No need for stack
+       frame for a fake call.
+       * rtl.h (FAKE_CALL_P): New macro.
+
+2021-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc-protos.h (order_regs_for_local_alloc): Rename
+       to...
+       (sparc_order_regs_for_local_alloc): ...this.
+       (sparc_leaf_reg_remap): Declare.
+       * config/sparc/sparc.h (ADJUST_REG_ALLOC_ORDER): Adjust.
+       (LEAF_REG_REMAP): Reimplement as call to sparc_leaf_reg_remap.
+       * config/sparc/sparc.c (leaf_reg_remap): Delete.
+       (order_regs_for_local_alloc): Rename to...
+       (sparc_order_regs_for_local_alloc): ...this.
+       (sparc_leaf_reg_remap): New function.
+       (sparc_conditional_register_usage): Do not modify leaf_reg_remap.
+
+2021-06-06  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_aligned_decl_common):
+       Use assemble_name to output BSS section name.
+
+2021-06-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/constraints.md (Bs):
+       Remove boolean operators from match_test RTX.
+       (Bw): Ditto.
+       (L): Ditto.
+       (M): Use "mode" variable instead of GET_MODE (op) in match_test RTX.
+       (Wz): Ditto.
+
+2021-06-06  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Add missing @headitem.
+       * doc/invoke.texi: Likewise.
+       * doc/objc.texi: Likewise.
+
+2021-06-06  Martin Liska  <mliska@suse.cz>
+
+       * genhooks.c (emit_findices): Remove unused function.
+       (emit_documentation): Do not call emit_findices
+       and do not search for @Fcode directives.
+
+2021-06-06  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Remove extra character.
+
+2021-06-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/sh/sh.md (doloop_end_split): Fix empty split condition.
+
+2021-06-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/sparc/sparc.md (*snedi<W:mode>_zero_vis3,
+       *neg_snedi<W:mode>_zero_subxc, *plus_snedi<W:mode>_zero,
+       *plus_plus_snedi<W:mode>_zero, *minus_snedi<W:mode>_zero,
+       *minus_minus_snedi<W:mode>_zero): Fix empty split condition.
+
+2021-06-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/or1k/or1k.md (*movdi): Fix empty split condition.
+
+2021-06-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/mips/mips.md (<anonymous>, bswapsi2, bswapdi2): Fix empty
+       split condition.
+
+2021-06-05  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/m68k/m68k.md (*zero_extend_inc, *zero_extend_dec,
+       *zero_extendsidi2): Fix empty split condition.
+
+2021-06-05  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/addsub.md: Fix split condition in define_insn_and_split
+       patterns.
+       * config/h8300/bitfield.md: Likewise.
+       * config/h8300/combiner.md: Likewise.
+       * config/h8300/divmod.md: Likewise.
+       * config/h8300/extensions.md: Likewise.
+       * config/h8300/jumpcall.md: Likewise.
+       * config/h8300/movepush.md: Likewise.
+       * config/h8300/multiply.md: Likewise.
+       * config/h8300/other.md: Likewise.
+       * config/h8300/shiftrotate.md: Likewise.
+       * config/h8300/logical.md: Likewise.  Fix split pattern to use
+       code iterator that somehow slipped through.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/100905
+       * tree-nested.c (convert_nonlocal_omp_clauses,
+       convert_local_omp_clauses): Handle OMP_CLAUSE_BIND.
+
+2021-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100732
+       * gimple-fold.c (gimple_fold_builtin_sprintf): Avoid folding calls
+       with either source or destination argument of invalid type.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid checking
+       calls with arguments of invalid type.
+
+2021-06-04  Martin Sebor  <msebor@redhat.com>
+
+       * attribs.c (init_attr_rdwr_indices): Use VLA bounds in the expected
+       order.
+       (attr_access::vla_bounds): Also handle VLA bounds.
+
+2021-06-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (GOT_memory_operand):
+       Implement using match_code RTXes.
+       (GOT32_symbol_operand): Ditto.
+
+2021-06-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
+       Handle V2HI mode.
+       (ix86_expand_vector_init_general): Ditto.
+       Use SImode instead of word_mode for logic operations
+       when GET_MODE_SIZE (mode) < UNITS_PER_WORD.
+       (expand_vec_perm_even_odd_1): Assert that V2HI mode should be
+       implemented by expand_vec_perm_1.
+       (expand_vec_perm_broadcast_1): Assert that V2HI and V4HI modes
+       should be implemented using standard shuffle patterns.
+       (ix86_vectorize_vec_perm_const): Handle V2HImode.  Add V4HI and
+       V2HI modes to modes, implementable with shuffle for one operand.
+       * config/i386/mmx.md (*punpckwd): New insn_and_split pattern.
+       (*pshufw_1): New insn pattern.
+       (*vec_dupv2hi): Ditto.
+       (vec_initv2hihi): New expander.
+
+2021-06-04  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/arm/vfp.md (no_literal_pool_df_immediate,
+       no_literal_pool_sf_immediate): Fix empty split condition.
+
+2021-06-04  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/i386/i386.md (*load_tp_x32_zext, *add_tp_x32_zext,
+       *tls_dynamic_gnu2_combine_32): Fix empty split condition.
+       * config/i386/sse.md (*<sse2_avx2>_pmovmskb_lt,
+       *<sse2_avx2>_pmovmskb_zext_lt, *sse2_pmovmskb_ext_lt,
+       *<sse4_1_avx2>_pblendvb_lt): Likewise.
+
+2021-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100887
+       * config/i386/i386-expand.c (ix86_expand_vector_init): Handle
+       concatenation from half-sized modes with TImode elements.
+
+2021-06-04  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_override_options): Disable millicode
+       thunks when RF16 is on.
+
+2021-06-04  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * config/rs6000/rs6000.h (PROMOTE_MODE): Remove.
+
+2021-06-04  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * config/rs6000/rs6000-call.c (rs6000_promote_function_mode):
+       Replace PROMOTE_MODE marco with its content.
+
+2021-06-03  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/cris/cris.md (*addi_reload): Fix empty split condition.
+
+2021-06-03  Jim Wilson  <jimw@sifive.com>
+
+       * config.gcc (riscv*-*-*): If --with-riscv-attribute not used,
+       turn it on for all riscv targets.
+
+2021-06-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_vector_set):
+       Handle V2HI and V4QI modes.
+       (ix86_expand_vector_extract): Ditto.
+       * config/i386/mmx.md (*pinsrw): New insn pattern.
+       (*pinsrb): Ditto.
+       (*pextrw): Ditto.
+       (*pextrw_zext): Ditto.
+       (*pextrb): Ditto.
+       (*pextrb_zext): Ditto.
+       (vec_setv2hi): New expander.
+       (vec_extractv2hihi): Ditto.
+       (vec_setv4qi): Ditto.
+       (vec_extractv4qiqi): Ditto.
+       (vec_setv8qi): Enable only for TARGET_SSE4_1.
+       (vec_extractv8qiqi): Ditto.
+
+2021-06-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_logical_addsubf): Fix input
+       order to subf instruction.
+       * config/rs6000/fusion.md: Regenerate.
+
+2021-06-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * calls.c (get_size_range): Use range_of_expr instead of
+       determine_value_range.
+       * tree-affine.c (expr_to_aff_combination): Same.
+       * tree-data-ref.c (split_constant_offset): Same.
+       * tree-vrp.c (determine_value_range_1): Remove.
+       (determine_value_range): Remove.
+       * tree-vrp.h (determine_value_range): Remove.
+
+2021-06-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function-tests.c (test_ranges): Call gimple_range_tests.
+       * gimple-range-cache.cc (ranger_cache::range_of_expr): Pass stmt
+       to get_tree_range.
+       * gimple-range.cc (fur_source::get_operand): Do not call
+       get_tree_range or gimple_range_global.
+       get_tree_range.
+       (get_tree_range): Move to value-query.cc.
+       Call get_arith_expr_range.
+       (gimple_ranger::range_of_expr): Add argument to get_tree_range.
+       Include gimple-range-tests.cc.
+       * gimple-range.h (fold_range): Add argument.
+       (get_tree_range): Remove.
+       * selftest.h (gimple_range_tests): New.
+       * value-query.cc (global_range_query::range_of_expr): Add
+       stmt argument.
+       (range_query::get_tree_range): Move from gimple-range.cc.
+       * value-query.h (class range_query): Add get_tree_range and
+       get_arith_expr_range.  Make fur_source a friend.
+       * vr-values.c (vr_values::range_of_expr): Pass stmt to
+       get_tree_range.
+       * gimple-range-tests.cc: New file.
+
+2021-06-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::export_global_ranges): Call
+         update_global_range.
+       * value-query.cc (update_global_range): New.
+       * value-query.h (update_global_range): New.
+
+2021-06-03  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-show-locus.c (diagnostic_show_locus): Don't reject
+       printing the same location twice if there are fix-it hints,
+       multiple locations, or a label.
+
+2021-06-03  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * tree-vect-loop.c (vect_transform_loop): Use main loop's various'
+       thresholds to narrow the upper bound on epilogue iterations.
+
+2021-06-03  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vabsq_f<mode>): Use 'abs' instead of unspec.
+       (mve_vabsq_s<mode>): Likewise.
+       * config/arm/neon.md (abs<mode>2): Rename to neon_abs<mode>2.
+       * config/arm/unspecs.md (VABSQ_F, VABSQ_S): Delete.
+       * config/arm/vec-common.md (neg<mode>2): Rename to
+       <absneg_str><mode>2.
+
+2021-06-03  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * common/config/arc/arc-common.c (arc_option_optimization_table):
+       Remove malign-call.
+       * config/arc/arc.c (arc_unalign_branch_p): Remove unused function.
+       * config/arc/arc.h (TARGET_MIXED_CODE): Remove macro.
+       (INDEX_REG_CLASS): Only refer to GENERAL_REGS.
+       * config/arc/arc.md (abssi2_mixed): Remove pattern.
+       * config/arc/arc.opt (munalign-prob-threshold): Mark it obsolete.
+       (malign-call): Likewise.
+       (mmixed-code): Likewise.
+       * doc/invoke.texi (ARC): Update doc.
+
+2021-06-03  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Use proper Enum values.
+       * opts.c (COVERAGE_SANITIZER_OPT): Remove.
+       (parse_sanitizer_options): Handle only sanitizer_opts.
+       (common_handle_option): Just assign value.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ipa/99122
+       * tree-inline.c (inline_forbidden_p): Remove test on return type.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (loc_list_from_tree_1) <FUNCTION_DECL>: Also generate
+       DW_OP_GNU_variable_value referencing an existing DIE at file scope.
+       (type_byte_size): Inline into...
+       (add_byte_size_attribute): ...this and call add_scalar_info.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (mem_loc_descriptor) <UDIV>: Fix typo.
+       (typed_binop_from_tree): New function.
+       (loc_list_from_tree_1) <EXACT_DIV_EXPR>: For an unsigned type,
+       turn a divide by a power of 2 into a shift.
+       <CEIL_DIV_EXPR>: For an unsigned type, use a signed divide if the
+       size of the mode is lower than DWARF2_ADDR_SIZE; otherwise, do a
+       typed divide by calling typed_binop_from_tree.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (scompare_loc_descriptor): Fix head comment.
+       (is_handled_procedure_type): Likewise.
+       (struct loc_descr_context): Add strict_signedness field.
+       (resolve_args_picking_1): Deal with DW_OP_[GNU_]deref_type,
+       DW_OP_[GNU_]convert and DW_OP_[GNU_]reinterpret.
+       (resolve_args_picking): Minor tweak.
+       (function_to_dwarf_procedure): Initialize strict_signedness field.
+       (type_byte_size): Likewise.
+       (field_byte_offset): Likewise.
+       (gen_descr_array_type_die): Likewise.
+       (gen_variant_part): Likewise.
+       (loc_list_from_tree_1) <CALL_EXPR>: Tidy up and set strict_signedness
+       to true when a context is present before evaluating the arguments.
+       <COND_EXPR>: Do not generate a useless comparison with zero.
+       When dereferencing an address, if strict_signedness is true and the
+       type is small and signed, use DW_OP_deref_type to do the dereference
+       and then DW_OP_convert to convert back to the generic type.
+
+2021-06-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100859
+       * tree-inline.c (copy_tree_body_r): Handle iterators on
+       OMP_CLAUSE_AFFINITY or OMP_CLAUSE_DEPEND.
+
+2021-06-03  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/arc/arc.md (*bbit_di): Remove.
+
+2021-06-02  Christoph Muellner  <cmuellner@gcc.gnu.org>
+
+       PR rtl-optimization/100264
+       * ree.c (get_sub_rtx): Ignore SET expressions without register
+       destinations and remove assertion, as it is not valid anymore
+       with this new behaviour.
+       (merge_def_and_ext): Eliminate destination check for register
+       as such SET expressions can't occur anymore.
+       (combine_reaching_defs): Likewise.
+
+2021-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100841
+       * config/xtensa/xtensa.h (LEAF_REG_REMAP): Cast REGNO to int to avoid
+       -Wtype-limits warnings.
+       (DWARF_FRAME_REGISTER): Rewrite into ternary operator with addition
+       in operands to avoid -Wsign-compare warnings.
+
+2021-06-02  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): Use
+       gen_frame_store.
+
+2021-06-02  Vineet Gupta  <vgupta@synopsys.com>
+
+       * config/arc/arc.h (TARGET_CPU_DEFAULT): Change to hs38_linux.
+
+2021-06-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.md(*ashrdi3_31<setcc><cconly>): Use a single
+       constraint.
+       * config/s390/subst.md(cconly_subst): Use a single constraint
+       in (match_scratch).
+
+2021-06-02  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.h: Use auto_vec for memory_access_types.
+
+2021-06-02  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/h8300/h8300-protos.h (compute_a_shift_length): Drop unused
+       argument from prototype.
+       (output_logical_op): Add rtx_code argument.
+       (compute_logical_op_length): Likewise.
+       * config/h8300/h8300.c (h8300_and_costs): Pass additional argument
+       to compute_a_shift_length.
+       (output_logical_op); New argument with the rtx code rather than
+       extracting it from an operand.  Handle QImode too.
+       (compute_logical_op_length): Similary.
+       (compute_a_shift_length): Drop unused argument.
+       * config/h8300/h8300.md (logicals): New code iterator.
+       * config/h8300/logical.md (<code><mode>3 expander): Combine
+       the "and" expander with the "ior"/"xor" expander.
+       (bclr<mode>msx): Combine the QI/HI mode patterns.
+       (<logical><mode>3 insns): Use code iterator rather than match_operator.
+       Handle QImode as well.   Update call to output_logical_op and
+       compute_logical_op_length to pass in rtx_code
+       Fix split condition on all define_insn_and_split patterns.
+       (one_cmpl<mode>2<cczn>): Use <cczn> to support both clobbering
+       the flags and setting ZN via existing define_subst.
+       * config/h8300/shiftrotate.md: Drop unused argument from
+       calls to compute_a_shift_length.
+       Signed-off-by: Jeff Law <jeffreyalaw@gmail.com>
+
+2021-06-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/25290
+       * tree-ssa-phiopt.c (match_simplify_replacement):
+       New function.
+       (tree_ssa_phiopt_worker): Use match_simplify_replacement.
+       (two_value_replacement): Change the comment about
+       conditional_replacement.
+       (conditional_replacement): Delete.
+
+2021-06-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/95481
+       * tree-tailcall.c (find_tail_calls): Handle empty typed
+       return decls.
+
+2021-06-01  Andrew Pinski  <apinski@marvell.com>
+
+       * gimplify.c (zero_sized_field_decl): Delete
+       (zero_sized_type): Delete
+       (gimplify_init_ctor_eval): Use is_empty_type instead
+       of zero_sized_field_decl.
+       (gimplify_modify_expr): Use is_empty_type instead of
+       zero_sized_type.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91859
+       * tree.h (CALL_FROM_NEW_OR_DELETE_P): Adjust comment.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94492
+       * diagnostic.h (warning_enabled_at): Declare.
+       * diagnostic.c (diagnostic_enabled): Factor out from...
+       (diagnostic_report_diagnostic): ...here.
+       (warning_enabled_at): New.
+
+2021-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp.c: Enable exporting of global ranges.
+
+2021-06-01  Martin Liska  <mliska@suse.cz>
+
+       PR other/100826
+       * doc/invoke.texi: Mention that -fgcse-after-reload
+       is enabled with -O3.
+
+2021-06-01  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/98365
+       * tree-if-conv.c (strip_nop_cond_scalar_reduction): New function.
+       (is_cond_scalar_reduction): Handle nop_expr in cond scalar reduction.
+       (convert_scalar_cond_reduction): Ditto.
+       (predicate_scalar_phi): Ditto.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100781
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Enable new
+       value calculation by default.
+       (ranger_cache::enable_new_values): New.
+       (ranger_cache::disable_new_values): New.
+       (ranger_cache::push_poor_value): Check if new values are allowed.
+       * gimple-range-cache.h (class ranger_cache): New member/methods.
+       * gimple-range.cc (gimple_ranger::range_of_expr): Check for debug
+       statement, and disable/renable new value calculation.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ssa_range_in_bb): Delete.
+       (ranger_cache::range_of_def): New.
+       (ranger_cache::entry_range): New.
+       (ranger_cache::exit_range): New.
+       (ranger_cache::range_of_expr): Adjust.
+       (ranger_cache::range_on_edge): Adjust.
+       (ranger_cache::propagate_cache): Call exit_range directly.
+       * gimple-range-cache.h (class ranger_cache): Adjust.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust for
+       gori_compute being a member rather than base class.
+       dervied call to member call.
+       (ranger_cache::dump): No longer dump gori_map.
+       (ranger_cache::dump_bb): New.
+       (ranger_cache::get_non_stale_global_range): Adjust for gori_compute
+       being a member rather than base class.
+       (ranger_cache::set_global_range): Ditto.
+       (ranger_cache::ssa_range_in_bb): Ditto.
+       (ranger_cache::range_of_expr): New.
+       (ranger_cache::range_on_edge): New.
+       (ranger_cache::block_range): Adjust for gori_computes.  Debug changes.
+       (ranger_cache::propagate_cache):  Adjust debugging output.
+       (ranger_cache::fill_block_cache): Adjust for gori_computes.  Debug
+       output changes.
+       * gimple-range-cache.h (class ranger_cache): Make gori_compute a
+       member, and inherit from range_query instead.
+       (ranger_cache::dump_bb): New. split from dump.
+       * gimple-range-gori.cc (gori_compute::ssa_range_in_bb): Delete.
+       (gori_compute::expr_range_at_stmt): Delete.
+       (gori_compute::compute_name_range_op): Delete.
+       (gori_compute::compute_operand_range_switch): Add fur_source.
+       (gori_compute::compute_operand_range): Add fur_source param, inline
+       old compute_name_range_op and optimize_logical_operands.
+       (struct tf_range): Delete.
+       (gori_compute::logical_combine): Adjust
+       (gori_compute::optimize_logical_operands): Delete.
+       (gori_compute::compute_logical_operands_in_chain): Delete.
+       (gori_compute::compute_logical_operands): Adjust.
+       (gori_compute::compute_operand1_range): Adjust to fur_source.
+       (gori_compute::compute_operand2_range): Ditto.
+       (gori_compute::compute_operand1_and_operand2_range): Ditto.
+       (gori_compute::outgoing_edge_range_p): Add range_query parameter,
+       and adjust to fur_source.
+       * gimple-range-gori.h (class gori_compute): Simplify and adjust to
+       range_query and fur_source.
+       * gimple-range.cc (gimple_ranger::range_on_edge): Query range_on_edge
+       from the ranger_cache..
+       (gimple_ranger::fold_range_internal): Adjust to base class change of
+       ranger_cache.
+       (gimple_ranger::dump_bb): Adjust dump.
+       * gimple-range.h (gimple_ranger):export gori computes object.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100774
+       * gimple-range-cache.cc (ranger_cache::get_non_stale_global_range):
+       Constant values are also not stale.
+       (ranger_cache::set_global_range): Range invariant values should also
+       have the correct timestamp.
+
+2021-05-31  Martin Liska  <mliska@suse.cz>
+
+       * tree-streamer-in.c (unpack_ts_function_decl_value_fields):
+       Unpack FUNCTION_DECL_DECL_TYPE.
+       * tree-streamer-out.c (pack_ts_function_decl_value_fields):
+       Stream FUNCTION_DECL_DECL_TYPE instead of
+       DECL_IS_OPERATOR_NEW_P.
+       * tree.h (set_function_decl_type): Use FUNCTION_DECL_DECL_TYPE
+       macro.
+       (DECL_IS_OPERATOR_NEW_P): Likewise.
+       (DECL_IS_OPERATOR_DELETE_P): Likewise.
+       (DECL_LAMBDA_FUNCTION_P): Likewise.
+
+2021-05-31  Richard Biener  <rguenther@suse.de>
+
+       PR c++/88601
+       * internal-fn.c (expand_SHUFFLEVECTOR): Define.
+       * internal-fn.def (SHUFFLEVECTOR): New.
+       * internal-fn.h (expand_SHUFFLEVECTOR): Declare.
+       * doc/extend.texi: Document __builtin_shufflevector.
+
+2021-05-31  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/99842
+       * config/rs6000/predicates.md(mma_assemble_input_operand): Allow
+       indexed form addresses.
+
+2021-05-29  Jeff Law  <jlaw@tachyum.com>
+
+       * config/h8300/h8300.c (h8300_emit_stack_adjustment): Drop unused
+       parameter.  Call callers fixed.
+       (push): Likewise.
+       (output_plussi): Add FALLTHRU markers.
+       (h8300_shift_needs_scratch_p): Add gcc_unreachable marker.
+
+2021-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * gimplify.c (gimplify_scan_omp_clauses): For taskloop simd
+       combined with parallel, make sure to add shared clause to
+       parallel for explicit linear clause.
+
+2021-05-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/100787
+       * gimple-ssa-evrp.c: Disable exporting of global ranges.
+
+2021-05-28  Jason Merrill  <jason@redhat.com>
+
+       * tree-iterator.h (struct tree_stmt_iterator): Add operator++,
+       operator--, operator*, operator==, and operator!=.
+       (class tsi_range): New.
+
+2021-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100778
+       * tree-vect-slp.c (vect_build_slp_tree_1): Prevent possibly
+       trapping ops in different BBs.
+
+2021-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100791
+       * tree-inline.c (copy_bb): When processing __builtin_va_arg_pack
+       copy fntype from original call.
+
+2021-05-28  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100751
+       * doc/gcov.texi: Revert partially a hunk that was wrong.
+
+2021-05-28  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/csky/csky-linux-elf.h (HAVE_sync_compare_and_swapqi):
+       Defined.
+       (HAVE_sync_compare_and_swaphi): Likewise.
+       (HAVE_sync_compare_and_swapsi): Likewise.
+
+2021-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * tree.h (OMP_CLAUSE_MAP_IMPLICIT): Define.
+
+2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimplify.c (gimplify_omp_affinity): New.
+       (gimplify_scan_omp_clauses): Call it; remove affinity clause afterwards.
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_AFFINITY.
+       * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_AFFINITY.
+       * tree.c (omp_clause_num_ops, omp_clause_code_name): Add clause.
+       (walk_tree_1): Handle OMP_CLAUSE_AFFINITY.
+
+2021-05-28  Joern Rennecke  <joern.rennecke@riscy-ip.com>
+           Richard Biener   <rguenther@suse.de>
+
+       * match.pd <popcount & / + pattern matching>:
+       When generating popcount directly fails, try doing it in two halves.
+
+2021-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * Makefile.in (generated_files): Add gimple-match.c and
+       generic-match.c
+
+2021-05-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * gensupport.c (alter_predicate_for_insn): Handle MATCH_DUP.
+
+2021-05-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * gensupport.c (alter_constraints): Add MATCH_SCRATCH case.
+
+2021-05-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/99398
+       * tree-ssa-forwprop.c (simplify_permutation): Optimize some cases
+       where the fed operands are CTOR/CST and propagated through
+       VIEW_CONVERT_EXPR.  Call vec_perm_indices::new_shrunk_vector.
+       * vec-perm-indices.c (vec_perm_indices::new_shrunk_vector): New
+       function.
+       * vec-perm-indices.h (vec_perm_indices::new_shrunk_vector): New
+       declare.
+
+2021-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md (addv2sf3): Do not call
+       ix86_fixup_binary_operands_no_copy.
+       (subv2sf3): Ditto.
+       (mulv2sf3): Ditto.
+       (<smaxmin:code>v2sf3): Ditto.
+       (<plusminus:insn><MMXMODEI:mode>3): Ditto.
+       (<plusminus:insn><VI_32:mode>3): Remove expander.
+       (<plusminus:insn><VI_32:mode>3): Rename from
+       "*<plusminus:insn><VI_32:mode>3".
+       (mulv4hi): Do not call ix86_fixup_binary_operands_no_copy.
+       (mulv2hi3): Remove expander.
+       (mulv2hi3): Rename from *mulv2hi3.
+       (<s>mulv2hi3_highpart): Remove expander.
+       (<s>mulv2hi3_highpart): Rename from *<s>mulv2hi3_highpart.
+       (<smaxmin:code><MMXMODE14:mode>3): Rename from
+       "*mmx_<smaxmin:code><MMXMODE14:mode>3".
+       (<smaxmin:code><SMAXMIN_MMXMODEI:mode>3): Remove expander.
+       (SMAXMIN_MMXMODEI): Remove mode iterator.
+       (<smaxmin:code>v4hi3): New expander.
+       (<smaxmin:code>v4qi3): Rename from *<smaxmin:code>v4qi3.
+       (<smaxmin:code>v2hi3): Rename from *<smaxmin:code>v2hi3.
+       (<smaxmin:code><SMAXMIN_VI_32:mode>3): Remove expander.
+       (SMAXMIN_VI_32): Remove mode iterator.
+       (<umaxmin:code><MMXMODE24:mode>3): Rename from
+       "*mmx_<umaxmin:code><MMXMODE24:mode>3".
+       (<umaxmin:code><UMAXMIN_MMXMODEI:mode>3): Remove expander.
+       (UMAXMIN_MMXMODEI): Remove mode iterator.
+       (<umaxmin:code>v8qi3): New expander.
+       (<umaxmin:code>v4qi3): Rename from *<umaxmin:code>v4qi3.
+       (<umaxmin:code>v2hi3): Rename from *<umaxmin:code>v2hi3.
+       (<umaxmin:code><SMAXMIN_VI_32:mode>3): Remove expander.
+       (UMAXMIN_VI_32): Remove mode iterator.
+       (<any_shift:insn>v2hi3): Remove expander.
+       (<any_shift:insn>v2hi3): Rename from *<any_shift:insn>v2hi3.
+       (<any_logic:code><MMXMODEI:mode>3): Do not call
+       ix86_fixup_binary_operands_no_copy.
+       (<any_logic:code><VI_32:mode>3): Remove expander.
+       (<any_logic:code><VI_32:mode>3): Rename from
+       "*<any_logic:code><VI_32:mode>3".
+       (uavg<mode>3_ceil): Do not call ix86_fixup_binary_operands_no_copy.
+       * config/i386/sse.md (div<VF2:mode>3): Do not call
+       ix86_fixup_binary_operands_no_copy.
+       (div<VF1:mode>3): Ditto.
+       (<maxmin:code><VI8_AVX2_AVX512F:mode>3): Ditto.
+       (smulhrsv4hi3): Ditto.
+       (smulhrsv2hi3): Ditto.
+
+2021-05-27  Martin Sebor  <msebor@redhat.com>
+
+       * ggc.h (gt_ggc_mx): Add overloads for all integers.
+       (gt_pch_nx):  Same.
+       * hash-map.h (class hash_map): Add pch_nx_helper overloads for all
+       integers.
+       (hash_map::operator==): New function.
+
+2021-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
+       For TARGET_XOP bypass SSE comparisons for all supported vector modes.
+       * config/i386/mmx.md (*xop_maskcmp<MMXMODEI:mode>3): New insn pattern.
+       (*xop_maskcmp<VI_32:mode>3): Ditto.
+       (*xop_maskcmp_uns<MMXMODEI:mode>3): Ditto.
+       (*xop_maskcmp_uns<VI_32:mode>3): Ditto.
+
+2021-05-27  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100767
+       * config/arm/arm.c (arm_configure_build_target): Remove parameter
+       opts_set, directly check opts parameters for being non-null.
+       (arm_option_restore): Update call to arm_configure_build_target.
+       (arm_option_override): Likewise.
+       (arm_can_inline_p): Likewise.
+       (arm_valid_target_attribute_tree): Likewise.
+       * config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
+       * config/arm/arm-protos.h (arm_configure_build_target): Adjust
+       prototype.
+
+2021-05-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_conversion_using_ranges): Use
+       get_range_query instead of get_global_range_query.
+
+2021-05-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (get_range_global): Move to value-query.cc.
+       (gimple_range_global): Same.
+       (get_global_range_query): Same.
+       (global_range_query::range_of_expr): Same.
+       * gimple-range.h (class global_range_query): Move to
+       value-query.h.
+       (gimple_range_global): Same.
+       * tree-ssanames.c (get_range_info): Move to value-query.cc.
+       (get_ptr_nonnull): Same.
+       * tree-ssanames.h (get_range_info): Remove.
+       (get_ptr_nonnull): Remove.
+       * value-query.cc (get_ssa_name_range_info): Move from
+       tree-ssanames.c.
+       (get_ssa_name_ptr_info_nonnull): Same.
+       (get_range_global): Move from gimple-range.cc.
+       (gimple_range_global): Same.
+       (get_global_range_query): Same.
+       (global_range_query::range_of_expr): Same.
+       * value-query.h (class global_range_query): Move from
+       gimple-range.h.
+       (gimple_range_global): Same.
+
+2021-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/mmx.md (uavgv4qi3_ceil): New insn pattern.
+       (uavgv2hi3_ceil): Ditto.
+
+2021-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR c/100653
+       * doc/extend.texi (scalar_storage_order): Rephrase slightly.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssanames.c (get_range_info): Merge both copies of
+       get_range_info into one that works with irange.
+       * tree-ssanames.h (get_range_info): Remove version that works on
+       wide_ints.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * builtins.c (check_nul_terminated_array): Convert to get_range_query.
+       (expand_builtin_strnlen): Same.
+       (determine_block_size): Same.
+       * fold-const.c (expr_not_equal_to): Same.
+       * gimple-fold.c (size_must_be_zero_p): Same.
+       * gimple-match-head.c: Include gimple-range.h.
+       * gimple-pretty-print.c (dump_ssaname_info): Convert to get_range_query.
+       * gimple-ssa-warn-restrict.c
+       (builtin_memref::extend_offset_range): Same.
+       * graphite-sese-to-poly.c (add_param_constraints): Same.
+       * internal-fn.c (get_min_precision): Same.
+       * ipa-fnsummary.c (set_switch_stmt_execution_predicate): Same.
+       * ipa-prop.c (ipa_compute_jump_functions_for_edge): Same.
+       * match.pd: Same.
+       * tree-data-ref.c (split_constant_offset): Same.
+       (dr_step_indicator): Same.
+       * tree-dfa.c (get_ref_base_and_extent): Same.
+       * tree-scalar-evolution.c (iv_can_overflow_p): Same.
+       * tree-ssa-loop-niter.c (refine_value_range_using_guard): Same.
+       (determine_value_range): Same.
+       (record_nonwrapping_iv): Same.
+       (infer_loop_bounds_from_signedness): Same.
+       (scev_var_range_cant_overflow): Same.
+       * tree-ssa-phiopt.c (two_value_replacement): Same.
+       * tree-ssa-pre.c (insert_into_preds_of_block): Same.
+       * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Same.
+       * tree-ssa-strlen.c (handle_builtin_stxncpy_strncat): Same.
+       (get_range): Same.
+       (dump_strlen_info): Same.
+       (set_strlen_range): Same.
+       (maybe_diag_stxncpy_trunc): Same.
+       (get_len_or_size): Same.
+       (handle_integral_assign): Same.
+       * tree-ssa-structalias.c (find_what_p_points_to): Same.
+       * tree-ssa-uninit.c (find_var_cmp_const): Same.
+       * tree-switch-conversion.c (bit_test_cluster::emit): Same.
+       * tree-vect-patterns.c (vect_get_range_info): Same.
+       (vect_recog_divmod_pattern): Same.
+       * tree-vrp.c (intersect_range_with_nonzero_bits): Same.
+       (register_edge_assert_for_2): Same.
+       (determine_value_range_1): Same.
+       * tree.c (get_range_pos_neg): Same.
+       * vr-values.c (vr_values::get_lattice_entry): Same.
+       (vr_values::update_value_range): Same.
+       (simplify_conversion_using_ranges): Same.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-warn-alloca.c (alloca_call_type): Use
+         get_range_query instead of query argument.
+       (pass_walloca::execute): Enable and disable global ranger.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp.c (rvrp_folder::rvrp_folder): Call
+       enable_ranger.
+       (rvrp_folder::~rvrp_folder): Call disable_ranger.
+       (hybrid_folder::hybrid_folder): Call enable_ranger.
+       (hybrid_folder::~hybrid_folder): Call disable_ranger.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function.c (allocate_struct_function): Set cfun->x_range_query.
+       * function.h (struct function): Declare x_range_query.
+       (get_range_query): New.
+       (get_global_range_query): New.
+       * gimple-range-cache.cc (ssa_global_cache::ssa_global_cache):
+       Remove call to safe_grow_cleared.
+       * gimple-range.cc (get_range_global): New.
+       (gimple_range_global): Move from gimple-range.h.
+       (get_global_range_query): New.
+       (global_range_query::range_of_expr): New.
+       (enable_ranger): New.
+       (disable_ranger): New.
+       * gimple-range.h (gimple_range_global): Move to gimple-range.cc.
+       (class global_range_query): New.
+       (enable_ranger): New.
+       (disable_ranger): New.
+       * gimple-ssa-evrp.c (evrp_folder::~evrp_folder): Rename
+       dump_all_value_ranges to dump.
+       * tree-vrp.c (vrp_prop::finalize): Same.
+       * value-query.cc (range_query::dump): New.
+       * value-query.h (range_query::dump): New.
+       * vr-values.c (vr_values::dump_all_value_ranges): Rename to...
+       (vr_values::dump): ...this.
+       * vr-values.h (class vr_values): Rename dump_all_value_ranges to
+       dump and make virtual.
+
+2021-05-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_autovectorize_vector_modes):
+       Add V4QImode and V16QImode for TARGET_SSE2.
+       * doc/sourcebuild.texi (Vector-specific attributes):
+       Add vect64 and vect32 description.
+
+2021-05-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * gimple-range-gori.cc (range_def_chain::register_dependency):
+       Resize m_def_chain when needed.
+
+2021-05-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vaddvq_<supf><mode>): Prefix with '@'.
+       * config/arm/neon.md (reduc_plus_scal_<mode>): Move to ..
+       * config/arm/vec-common.md: .. here. Add support for MVE.
+
+2021-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/epiphany/epiphany.c (epiphany_print_operand_address): Remove
+       register keywords.
+       * config/microblaze/microblaze.c (microblaze_legitimize_address,
+       call_internal1,
+       microblaze_option_override, print_operand): Likewise.
+       * config/microblaze/microblaze.md (call_internal_plt,
+       call_value_intern_plt, call_value_intern): Likewise.
+       * config/arm/aout.h (ASM_OUTPUT_ALIGN): Likewise.
+       * config/iq2000/iq2000.md (call_internal1, call_value_internal1,
+       call_value_multiple_internal1): Likewise.
+       * config/bfin/bfin.c (symbolic_reference_mentioned_p): Likewise.
+
+2021-05-26  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * config/arc/arc.c (arc_address_cost, arc_print_operand_address,
+       arc_ccfsm_advance, symbolic_reference_mentioned_p,
+       arc_raw_symbolic_reference_mentioned_p): Remove register
+       keyword.
+
+2021-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/100573
+       * omp-low.c: Include omp-offload.h.
+       (create_omp_child_function): If current_function_decl has
+       "omp declare target" attribute and is_gimple_omp_offloaded,
+       remove that attribute from the copy of attribute list and
+       add "omp target entrypoint" attribute instead.
+       (lower_omp_target): Mark .omp_data_sizes.* and .omp_data_kinds.*
+       variables for offloading if in omp_maybe_offloaded_ctx.
+       * omp-offload.c (pass_omp_target_link::execute): Nullify second
+       argument to GOMP_target_data_ext in offloaded code.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.c (csky_can_change_mode_class): Delete.
+       For csky, HF/SF mode use the low bits of VREGS.
+
+2021-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_decl_expr): Do not clear TREE_READONLY on a
+       DECL which is a reference for OMP.
+
+2021-05-26  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100751
+       * doc/gcov.texi: Document that __gcov_dump can be called just
+       once and that __gcov_reset resets run-time counters.
+
+2021-05-26  Martin Liska  <mliska@suse.cz>
+
+       * doc/install.texi: Port relevant part from install-old.texi
+       and re-generate list of CPUs and systems.
+
+2021-05-26  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Remove it.
+       * doc/include/fdl.texi: Update next/previous chapters.
+       * doc/install.texi: Likewise.
+       * doc/install-old.texi: Removed.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.c (ck810_legitimate_index_p): Support
+       "base + index" with DF mode.
+       * config/csky/constraints.md ("Y"): New constraint for memory operands
+       without index register.
+       * config/csky/csky_insn_fpuv2.md (fpuv3_movdf): Use "Y" instead of "m"
+       when mov between memory and general registers, and lower their priority.
+       * config/csky/csky_insn_fpuv3.md (fpuv2_movdf): Likewise.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.c (TARGET_PROMOTE_PROTOTYPES): Delete.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.md (untyped_call): Emit clobber for return
+       registers to mark them used.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.md (cskyv2_sextend_ldbs): New.
+
+2021-05-26  Andrew Pinski  <apinski@marvell.com>
+
+       * match.pd (x < 0 ? ~y : y): New patterns.
+
+2021-05-26  Andrew Pinski  <apinski@marvell.com>
+
+       * match.pd (A?CST1:CST2): Add simplifcations for A?0:+-1, A?+-1:0,
+       A?POW2:0 and A?0:POW2.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (class logical_stmt_cache): Delete
+       (logical_stmt_cache::logical_stmt_cache ): Delete.
+       (logical_stmt_cache::~logical_stmt_cache): Delete.
+       (logical_stmt_cache::cache_entry::dump): Delete.
+       (logical_stmt_cache::get_range): Delete.
+       (logical_stmt_cache::cached_name ): Delete.
+       (logical_stmt_cache::same_cached_name): Delete.
+       (logical_stmt_cache::cacheable_p): Delete.
+       (logical_stmt_cache::slot_diagnostics ): Delete.
+       (logical_stmt_cache::dump): Delete.
+       (gori_compute_cache::gori_compute_cache): Delete.
+       (gori_compute_cache::~gori_compute_cache): Delete.
+       (gori_compute_cache::compute_operand_range): Delete.
+       (gori_compute_cache::cache_stmt): Delete.
+       * gimple-range-gori.h (gori_compute::compute_operand_range): Remove
+       virtual.
+       (class gori_compute_cache): Delete.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (fold_using_range::range_of_range_op): Use m_gori
+       intead of m_cache.
+       (fold_using_range::range_of_address): Adjust.
+       (fold_using_range::range_of_phi): Adjust.
+       * gimple-range.h (class fur_source): Adjust.
+       (fur_source::fur_source): Adjust.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (gori_compute::expr_range_at_stmt): Rename
+       from expr_range_in_bb and adjust.
+       (gori_compute::compute_name_range_op): Adjust.
+       (gori_compute::optimize_logical_operands): Adjust.
+       (gori_compute::compute_logical_operands_in_chain): Adjust.
+       (gori_compute::compute_operand1_range): Adjust.
+       (gori_compute::compute_operand2_range): Adjust.
+       (ori_compute_cache::cache_stmt): Adjust.
+       * gimple-range-gori.h (gori_compute): Rename prototype.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_of_expr): Non-null should be
+       checked only after range_of_stmt, not range_on_entry.
+       (gimple_ranger::range_on_entry): Check for non-null in any
+       predecessor block, if it is not already non-null.
+       (gimple_ranger::range_on_exit): DOnt check for non-null after
+       range on entry call.
+       (gimple_ranger::dump_bb): New.  Split from dump.
+       (gimple_ranger::dump): Adjust.
+       * gimple-range.h (class gimple_ranger): Adjust.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (struct range_timestamp): Delete.
+       (class temporal_cache): Adjust.
+       (temporal_cache::get_timestamp): Delete.
+       (temporal_cache::set_dependency): Delete.
+       (temporal_cache::temporal_value): Adjust.
+       (temporal_cache::current_p): Take dependencies as params.
+       (temporal_cache::set_timestamp): Adjust.
+       (temporal_cache::set_always_current): Adjust.
+       (ranger_cache::get_non_stale_global_range): Adjust.
+       (ranger_cache::register_dependency): Delete.
+       * gimple-range-cache.h (class range_cache): Adjust.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (range_def_chain::range_def_chain): init
+       bitmap obstack.
+       (range_def_chain::~range_def_chain): Dispose of obstack rather than
+       each individual bitmap.
+       (range_def_chain::set_import): New.
+       (range_def_chain::get_imports): New.
+       (range_def_chain::chain_import_p): New.
+       (range_def_chain::register_dependency): Rename from build_def_chain
+       and set imports.
+       (range_def_chain::def_chain_in_bitmap_p): New.
+       (range_def_chain::add_def_chain_to_bitmap): New.
+       (range_def_chain::has_def_chain): Just check first depenedence.
+       (range_def_chain::get_def_chain): Process imports, use generic
+       register_dependency routine.
+       (range_def_chain::dump): New.
+       (gori_map::gori_map): Allocate import list.
+       (gori_map::~gori_map): Release imports.
+       (gori_map::exports): Check for past allocated block size.
+       (gori_map::imports): New.
+       (gori_map::def_chain_in_export_p): Delete.
+       (gori_map::is_import_p): New.
+       (gori_map::maybe_add_gori): Handle imports.
+       (gori_map::dump): Adjust output, add imports.
+       (gori_compute::has_edge_range_p): Remove def_chain_in_export call.
+       (gori_export_iterator::gori_export_iterator): New.
+       (gori_export_iterator::next): New.
+       (gori_export_iterator::get_name): New.
+       * gimple-range-gori.h (range_def_chain): Add imports and direct
+       dependecies via struct rdc.
+       (range_def_chain::depend1): New.
+       (range_def_chain::depend2): New.
+       (class gori_map): Adjust.
+       (FOR_EACH_GORI_IMPORT_NAME): New.
+       (FOR_EACH_GORI_EXPORT_NAME): New.
+       (class gori_export_iterator): New.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache):  Move initial
+       export cache filling to here.
+       * gimple-range-gori.cc (gori_compute::gori_compute) : From Here.
+
+2021-05-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (range_def_chain): Move to gimple-range-gori.h.
+       (gori_map): Move to gimple-range-gori.h.
+       (gori_compute::gori_compute): Adjust.
+       (gori_compute::~gori_compute): Delete.
+       (gori_compute::compute_operand_range_switch): Adjust.
+       (gori_compute::compute_operand_range): Adjust.
+       (gori_compute::compute_logical_operands): Adjust.
+       (gori_compute::has_edge_range_p ): Adjust.
+       (gori_compute::set_range_invariant): Delete.
+       (gori_compute::dump): Adjust.
+       (gori_compute::outgoing_edge_range_p): Adjust.
+       * gimple-range-gori.h (class range_def_chain): Relocate here.
+       (class gori_map): Relocate here.
+       (class gori_compute): Inherit from gori_map, and adjust.
+
+2021-05-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (range_tests_legacy): Use
+       build_nonstandard_integer_type instead of int and short.
+
+2021-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_decl_expr): Clear TREE_READONLY on the DECL
+       when really creating an initialization statement for it.
+
+2021-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-inline.c (setup_one_parameter): Fix thinko in new condition.
+
+2021-05-25  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.h (ASM_SPEC): Pass -mno-relax.
+
+2021-05-25  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       PR target/99592
+       * optc-save-gen.awk: Remove exceptions.
+
+2021-05-25  Martin Liska  <mliska@suse.cz>
+
+       * asan.h (sanitize_coverage_p): New function.
+       * doc/extend.texi: Document it.
+       * fold-const.c (fold_range_test): Use sanitize_flags_p
+       instead of flag_sanitize_coverage.
+       (fold_truth_andor): Likewise.
+       * sancov.c: Likewise.
+       * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
+       * ipa-inline.c (sanitize_attrs_match_for_inline_p): Handle
+       -fsanitize-coverage when inlining.
+
+2021-05-25  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/csky/csky-modes.def : Fix copyright.
+
+2021-05-25  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/csky/csky-modes.def : Amend copyright.
+       * config/csky/csky_insn_fpuv2.md : Likewise.
+       * config/csky/csky_insn_fpuv3.md : Likewise.
+
+2021-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100727
+       * calls.c (initialize_argument_information): Explicitely test
+       for WITH_SIZE_EXPR.
+       * gimple-expr.c (mark_addressable): Skip outer WITH_SIZE_EXPR.
+
+2021-05-25  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.h (FRAME_POINTER_REGNUM): Use
+       HARD_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM instead of
+       the signle definition. The signle definition may not work well
+       at simplify_subreg_regno().
+       (HARD_FRAME_POINTER_REGNUM): New.
+       (ELIMINABLE_REGS): Add for HARD_FRAME_POINTER_REGNUM.
+       * config/csky/csky.c (get_csky_live_regs, csky_can_eliminate,
+       csky_initial_elimination_offset, csky_expand_prologue,
+       csky_expand_epilogue): Add for HARD_FRAME_POINTER_REGNUM.
+
+2021-05-25  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/csky.c (csky_option_override):
+       Init csky_arch_isa_features[] in advance, so TARGET_DSP
+       and TARGET_DIV can be set well.
+
+2021-05-25  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/constraints.md ("l", "h"): Delete.
+       * config/csky/csky.h (reg_class, REG_CLASS_NAMES,
+       REG_CLASS_CONTENTS):  Delete LO_REGS and HI_REGS.
+       * config/csky/csky.c (regno_reg_classm,
+       csky_secondary_reload, csky_register_move_cost):
+       Use HILO_REGS instead of LO_REGS and HI_REGS.
+
+2021-05-25  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/csky/constraints.md ("W"): New constriant for mem operand
+       with base reg, index register.
+       ("Q"): Renamed and modified "csky_valid_fpuv2_mem_operand" to
+       "csky_valid_mem_constraint_operand" to deal with both "Q" and "W"
+       constraint.
+       ("Dv"): New constraint for const double value that can be used at
+       fmovi instruction.
+       * config/csky/csky-modes.def (HFmode): New mode.
+       * config/csky/csky-protos.h (csky_valid_fpuv2_mem_operand): Rename
+       to "csky_valid_mem_constraint_operand" and support new constraint
+       "W".
+       (csky_get_movedouble_length): New.
+       (fpuv3_output_move): New.
+       (fpuv3_const_double): New.
+       * config/csky/csky.c (csky_option_override): New arch CK860 with fpv3.
+       (decompose_csky_address): Refine.
+       (csky_print_operand): New "CONST_DOUBLE" operand.
+       (csky_output_move): Support fpv3 instructions.
+       (csky_get_movedouble_length): New.
+       (fpuv3_output_move): New.
+       (fpuv3_const_double): New.
+       (csky_emit_compare): Cover float comparsion.
+       (csky_emit_compare_float): Refine.
+       (csky_vaild_fpuv2_mem_operand): Rename to
+       "csky_valid_mem_constraint_operand" and support new constraint "W".
+       (ck860_rtx_costs): New.
+       (csky_rtx_costs): Add the cost calculation of CK860.
+       (regno_reg_class): New vregs for fpuv3.
+       (csky_dbx_regno): Likewise.
+       (csky_cpu_cpp_builtins): New builtin macro for fpuv3.
+       (csky_conditional_register_usage): Suporrot fpuv3.
+       (csky_dwarf_register_span): Suporrot fpuv3.
+       (csky_init_builtins, csky_mangle_type): Support "__fp16" type.
+       (ck810_legitimate_index_p): Support fp16.
+       * config/csky/csky.h (TARGET_TLS): ADD CK860.
+       (CSKY_VREG_P, CSKY_VREG_LO_P, CSKY_VREG_HI_P): Support fpuv3.
+       (TARGET_SINGLE_FPU): Support fpuv3.
+       (TARGET_SUPPORT_FPV3): New.
+       (FIRST_PSEUDO_REGISTER): Change to 202 to hold the new fpuv3 registers.
+       (FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS, REGISTER_NAMES,
+        REG_CLASS_CONTENTS): Support fpuv3.
+       * config/csky/csky.md (movsf): Move to cksy_insn_fpu.md and refine.
+       (csky_movsf_fpv2): Likewise.
+       (ck801_movsf): Likewise.
+       (csky_movsf): Likewise.
+       (movdf): Likewise.
+       (csky_movdf_fpv2): Likewise.
+       (ck801_movdf): Likewise.
+       (csky_movdf): Likewise.
+       (movsicc): Refine. Use "comparison_operatior" instead of
+       "ordered_comparison_operatior".
+       (addsicc): Likewise.
+       (CSKY_FIRST_VFP3_REGNUM, CSKY_LAST_VFP3_REGNUM): New constant.
+       (call_value_internal_vh): New.
+       * config/csky/csky_cores.def (CK860): New arch and cpu.
+       (fpv3_hf): New.
+       (fpv3_hsf): New.
+       (fpv3_sdf): New.
+       (fpv3): New.
+       * config/csky/csky_insn_fpu.md: Refactor. Separate all float patterns
+       into emit-patterns and match-patterns, remain the emit-patterns here,
+       and move the match-patterns to csky_insn_fpuv2.md or
+       csky_insn_fpuv3.md.
+       * config/csky/csky_insn_fpuv2.md: New file for fpuv2 instructions.
+       * config/csky/csky_insn_fpuv3.md: New file and new patterns for fpuv3
+       isntructions.
+       * config/csky/csky_isa.def (fcr): New.
+       (fpv3_hi): New.
+       (fpv3_hf): New.
+       (fpv3_sf): New.
+       (fpv3_df): New.
+       (CK860): New definition for ck860.
+       * config/csky/csky_tables.opt (ck860): New processors ck860,
+       ck860f. And new arch ck860.
+       (fpv3_hf): New.
+       (fpv3_hsf): New.
+       (fpv3_hdf): New.
+       (fpv3): New.
+       * config/csky/predicates.md (csky_float_comparsion_operator): Delete
+       "geu", "gtu", "leu", "ltu", which will never appear at float comparison.
+       * config/csky/t-csky-elf: Support 860.
+       * config/csky/t-csky-linux: Likewise.
+       * doc/md.texi: Add "Q" and "W" constraints for C-SKY.
+
+2021-05-24  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_logical_addsubf): Refactor to
+       add generation of logical-add and add-logical fusion pairs.
+       * config/rs6000/rs6000-cpus.def: Add new fusion to ISA 3.1 mask
+       and powerpc mask.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Turn on
+       logical-add and add-logical fusion by default.
+       * config/rs6000/rs6000.opt: Add -mpower10-fusion-logical-add and
+       -mpower10-fusion-add-logical options.
+       * config/rs6000/fusion.md: Regenerate file.
+
+2021-05-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::legacy_equal_p): Check type when
+       comparing VR_VARYING types.
+       (range_tests_legacy): Test comparing VARYING ranges of different
+       sizes.
+
+2021-05-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (neoversen1_tunings):
+       Enable AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
+
+2021-05-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_classify_symbol): Use GOT for
+       extern weak symbols.  Limit symbol offsets for non-GOT symbols with
+       PIC/PIE.
+
+2021-05-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/neon.md (vec_load_lanesxi<mode>)
+       (vec_store_lanexoi<mode>): Move ...
+       * config/arm/vec-common.md: here.
+
+2021-05-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/neon.md (vec_load_lanesoi<mode>)
+       (vec_store_lanesoi<mode>): Move ...
+       * config/arm/vec-common.md: here.
+
+2021-05-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100660
+       * config/i386/i386.c (ix86_gimple_fold_builtin): Replacing
+       stmt with GIMPLE_NOP when lhs doesn't exist.
+
+2021-05-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100722
+       * config/i386/mmx.md (*push<VI_32:mode>2_rex64):
+       New instruction pattern.
+       (*push<VI_32:mode>2): Ditto.
+       (push splitter for SSE registers): New splitter.
+
+2021-05-23  Andrew Pinski  <apinski@marvell.com>
+
+       * match.pd ((A & C) != 0 ? D : 0): Limit to non pointer types.
+
+2021-05-22  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_addadd): Fix incorrect attr types.
+       * config/rs6000/fusion.md: Regenerate file.
+
+2021-05-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_addadd): New function.
+       * config/rs6000/fusion.md: Regenerate file.
+       * config/rs6000/rs6000-cpus.def: Add
+       OPTION_MASK_P10_FUSION_2ADD to masks.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Handle default value of OPTION_MASK_P10_FUSION_2ADD.
+       * config/rs6000/rs6000.opt: Add -mpower10-fusion-2add.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET): Define.
+       * gimplify.c (enum gimplify_omp_var_data): Fix up
+       GOVD_MAP_HAS_ATTACHMENTS value, add GOVD_FIRSTPRIVATE_IMPLICIT.
+       (omp_lastprivate_for_combined_outer_constructs): If combined target
+       has GOVD_FIRSTPRIVATE_IMPLICIT set for the decl, change it to
+       GOVD_MAP | GOVD_SEEN.
+       (gimplify_scan_omp_clauses): Set GOVD_FIRSTPRIVATE_IMPLICIT for
+       firstprivate clauses with OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT.
+       (gimplify_adjust_omp_clauses): For firstprivate clauses with
+       OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT either clear that bit and
+       OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET too, or remove it and
+       let it be replaced by implicit map clause.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * gimplify.c (omp_lastprivate_for_combined_outer_constructs): New
+       function.
+       (gimplify_scan_omp_clauses) <case OMP_CLAUSE_LASTPRIVATE>: Use it.
+       (gimplify_omp_for): Likewise.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-low.c (oacc_privatization_candidate_p): Reject 'static',
+       'external' in blocks.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * flag-types.h (enum openacc_privatization): New.
+       * params.opt (-param=openacc-privatization): New.
+       * doc/invoke.texi (openacc-privatization): Document it.
+       * omp-general.h (get_openacc_privatization_dump_flags): New
+       function.
+       * omp-low.c (oacc_privatization_candidate_p): Add diagnostics.
+       * omp-offload.c (execute_oacc_device_lower)
+       <IFN_UNIQUE_OACC_PRIVATE>: Re-work diagnostics.
+       * target.def (goacc.adjust_private_decl): Add 'location_t'
+       parameter.
+       * doc/tm.texi: Regenerate.
+       * config/gcn/gcn-protos.h (gcn_goacc_adjust_private_decl): Adjust.
+       * config/gcn/gcn-tree.c (gcn_goacc_adjust_private_decl): Likewise.
+       * config/nvptx/nvptx.c (nvptx_goacc_adjust_private_decl):
+       Likewise.  Preserve it for...
+       (nvptx_goacc_expand_var_decl): ... use here.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/sourcebuild.texi (Other attributes): Document '__OPTIMIZE__'
+       DejaGnu selector.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-low.c (oacc_privatization_candidate_p): New function.
+       (oacc_privatization_scan_clause_chain)
+       (oacc_privatization_scan_decl_chain): Use it.  Also
+       'gcc_checking_assert' that we're not seeing duplicates.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-offload.c (execute_oacc_device_lower): Skip processing if no
+       work to be done.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-offload.c (execute_oacc_device_lower): Explain.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-offload.c (execute_oacc_device_lower)
+       <IFN_UNIQUE_OACC_PRIVATE>: Diagnose and handle for 'level == -1'
+       case, too.
+       * internal-fn.c (expand_UNIQUE): Don't expect
+       'IFN_UNIQUE_OACC_PRIVATE'.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * omp-low.c (lower_omp_for): Don't evaluate OpenMP 'for' clauses.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * config/nvptx/nvptx.c (nvptx_goacc_adjust_private_decl)
+       (nvptx_goacc_expand_var_decl): Tighten.
+
+2021-05-21  Julian Brown  <julian@codesourcery.com>
+           Chung-Lin Tang  <cltang@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * doc/tm.texi.in (TARGET_GOACC_EXPAND_VAR_DECL)
+       (TARGET_GOACC_ADJUST_PRIVATE_DECL): Add documentation hooks.
+       * doc/tm.texi: Regenerate.
+       * expr.c (expand_expr_real_1): Expand decls using the
+       expand_var_decl OpenACC hook if defined.
+       * internal-fn.c (expand_UNIQUE): Handle IFN_UNIQUE_OACC_PRIVATE.
+       * internal-fn.h (IFN_UNIQUE_CODES): Add OACC_PRIVATE.
+       * omp-low.c (omp_context): Add oacc_privatization_candidates
+       field.
+       (lower_oacc_reductions): Add PRIVATE_MARKER parameter.  Insert
+       before fork.
+       (lower_oacc_head_tail): Add PRIVATE_MARKER parameter.  Modify
+       private marker's gimple call arguments, and pass it to
+       lower_oacc_reductions.
+       (oacc_privatization_scan_clause_chain)
+       (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
+       New functions.
+       (lower_omp_for, lower_omp_target, lower_omp_1): Use these.
+       * omp-offload.c (convert.h): Include.
+       (oacc_loop_xform_head_tail): Treat private-variable markers like
+       fork/join when transforming head/tail sequences.
+       (struct var_decl_rewrite_info): Add struct.
+       (oacc_rewrite_var_decl, is_sync_builtin_call): New functions.
+       (execute_oacc_device_lower): Support rewriting gang-private
+       variables using target hook, and fix up addr_expr and var_decl
+       nodes afterwards.
+       * target.def (adjust_private_decl, expand_var_decl): New hooks.
+       * config/gcn/gcn-protos.h (gcn_goacc_adjust_gangprivate_decl):
+       Rename to...
+       (gcn_goacc_adjust_private_decl): ...this.
+       * config/gcn/gcn-tree.c (gcn_goacc_adjust_gangprivate_decl):
+       Rename to...
+       (gcn_goacc_adjust_private_decl): ...this. Add LEVEL parameter.
+       * config/gcn/gcn.c (TARGET_GOACC_ADJUST_GANGPRIVATE_DECL): Rename
+       definition using gcn_goacc_adjust_gangprivate_decl...
+       (TARGET_GOACC_ADJUST_PRIVATE_DECL): ...to this, using
+       gcn_goacc_adjust_private_decl.
+       * config/nvptx/nvptx.c (tree-pretty-print.h): Include.
+       (gang_private_shared_size): New global variable.
+       (gang_private_shared_align): Likewise.
+       (gang_private_shared_sym): Likewise.
+       (gang_private_shared_hmap): Likewise.
+       (nvptx_option_override): Initialize these.
+       (nvptx_file_end): Output gang_private_shared_sym.
+       (nvptx_goacc_adjust_private_decl, nvptx_goacc_expand_var_decl):
+       New functions.
+       (nvptx_set_current_function): Clear gang_private_shared_hmap.
+       (TARGET_GOACC_ADJUST_PRIVATE_DECL): Define hook.
+       (TARGET_GOACC_EXPAND_VAR_DECL): Likewise.
+
+2021-05-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-modes.def (MAX_BITSIZE_MODE_ANY_INT): Removed.
+
+2021-05-21  Richard Biener  <rguenther@suse.de>
+           H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * expr.c (expand_constructor): Elide expand_constructor if
+       move by pieces is preferred.
+
+2021-05-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_call_properties):
+       Take a flag and mode value as arguments.
+       (aarch64_modifies_global_state_p): Likewise.
+       (aarch64_reads_global_state_p): Likewise.
+       (aarch64_could_trap_p): Likewise.
+       (aarch64_get_attributes): Likewise.
+       (aarch64_init_simd_builtins): Adjust callsite of above.
+       (aarch64_init_fcmla_laneq_builtins): Use aarch64_get_attributes to get
+       function attributes to apply to builtins.
+       (aarch64_init_crc32_builtins): Likewise.
+       (aarch64_init_builtin_rsqrt): Likewise.
+
+2021-05-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (define_attr "type"): Add types for fusion.
+       * config/rs6000/genfusion.pl (gen_ld_cmpi_p10): Use new fusion types.
+       (gen_2logical): Use new fusion types.
+       * config/rs6000/fusion.md: Regenerate.
+
+2021-05-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc):
+       Handle V4QI and V2HI modes.
+       (ix86_expand_sse_movcc): Ditto.
+       * config/i386/mmx.md (*<sat_plusminus:insn><VI_32:mode>3):
+       New instruction pattern.
+       (*eq<VI_32:mode>3): Ditto.
+       (*gt<VI_32:mode>3): Ditto.
+       (*xop_pcmov_<VI_32:mode>): Ditto.
+       (mmx_pblendvb32): Ditto.
+       (mmx_pblendvb64): Rename from mmx_pblendvb.
+       (vec_cmp<VI_32:mode><VI_32:mode>): New expander.
+       (vec_cmpu<VI_32:mode><VI_32:mode>): Ditto.
+       (vcond<VI_32:mode><VI_32:mode>): Ditto.
+       (vcondu<VI_32:mode><VI_32:mode>): Ditto.
+       (vcond_mask_<VI_32:mode><VI_32:mode>): Ditto.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * tree-ssa-phiopt.c (spaceship_replacement): For integral rhs1 and
+       rhs2, treat x <= 4 equivalently to x < 5 etc.  In cmp1 and cmp2 (if
+       not the same as cmp3) treat <= the same as < and >= the same as >.
+       Don't require that cond2_phi_edge is true edge, instead take
+       false/true edges into account based on cmp1/cmp2 comparison kinds.
+
+2021-05-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/mmx.md (SMAXMIN_MMXMODEI): New mode iterator.
+       (<smaxmin:code><SMAXMIN_MMXMODEI:mode>3): Macroize expander
+       from <smaxmin:code>v4hi3> and <smaxmin:code><MMXMODE14:mode>3
+       using SMAXMIN_MMXMODEI mode iterator.
+       (*<smaxmin:code>v4qi3): New insn pattern.
+       (*<smaxmin:code>v2hi3): Ditto.
+       (SMAXMIN_VI_32): New mode iterator.
+       (<smaxmin:code><SMAXMIN_VI_32>mode3): New expander.
+       (UMAXMIN_MMXMODEI): New mode iterator.
+       (<umaxmin:code><UMAXMIN_MMXMODEI:mode>3): Macroize expander
+       from <umaxmin:code>v8qi3> and <umaxmin:code><MMXMODE24:mode>3
+       using UMAXMIN_MMXMODEI mode iterator.
+       (*<umaxmin:code>v4qi3): New insn pattern.
+       (*<umaxmin:code>v2hi3): Ditto.
+       (UMAXMIN_VI_32): New mode iterator.
+       (<umaxmin:code><UMAXMIN_VI_32>mode3): New expander.
+       (abs<VI_32:mode>2): New insn pattern.
+       (ssse3_abs<MMXMODEI:mode>2, abs<MMXMODEI:mode>2): Move from ...
+       * config/i386/sse.md: ... here.
+
+2021-05-20  Clement Chigot  <clement.chigot@atos.net>
+           David Edelsohn  <dje.gcc@gmail.com>
+
+       * collect2.c (scan_prog_file): Issue non-fatal warning for
+       non-COFF files.
+
+2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (-Wno-c++11-extensions)
+       (-Wno-c++14-extensions, -Wno-c++17-extensions)
+       (-Wno-c++20-extensions, -Wno-c++23-extensions): Document
+       new options.
+
+2021-05-20  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * config/c6x/c6x.c (c6x_output_file_unwind): Use dwarf_debuginfo_p.
+       * config/darwin.c (darwin_override_options): Likewise.
+       * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
+       * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
+       (DWARF2_FRAME_REG_OUT): Likewise.
+       * config/mips/mips.c (mips_output_filename): Likewise.
+       * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name):
+       Likewise.
+       (rs6000_dbx_register_number): Likewise.
+       * dbxout.c: Include flags.h.
+       * dwarf2cfi.c (cfi_label_required_p): Likewise.
+       (dwarf2out_do_frame): Likewise.
+       * except.c: Include flags.h.
+       * final.c (dwarf2_debug_info_emitted_p): Likewise.
+       (final_scan_insn_1): Likewise.
+       * flags.h (dwarf_debuginfo_p): New function declaration.
+       * opts.c (dwarf_debuginfo_p): New function definition.
+       * targhooks.c (default_debug_unwind_info): Use dwarf_debuginfo_p.
+       * toplev.c (process_options): Likewise.
+
+2021-05-20  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * common.opt: Change type to support bitmasks.
+       * flag-types.h (enum debug_info_type): Rename enumerator constants.
+       (NO_DEBUG): New bitmask.
+       (DBX_DEBUG): Likewise.
+       (DWARF2_DEBUG): Likewise.
+       (XCOFF_DEBUG): Likewise.
+       (VMS_DEBUG): Likewise.
+       (VMS_AND_DWARF2_DEBUG): Likewise.
+       * flags.h (debug_set_to_format): New function declaration.
+       (debug_set_count): Likewise.
+       (debug_set_names): Likewise.
+       * opts.c (debug_type_masks): Array of bitmasks for debug formats.
+       (debug_set_to_format): New function definition.
+       (debug_set_count): Likewise.
+       (debug_set_names): Likewise.
+       (set_debug_level): Update access to debug_type_names.
+       * toplev.c: Likewise.
+
+2021-05-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100684
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Handle C++ lambda.
+
+2021-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100701
+       * config/i386/i386.md (isa): Remove x64_bmi.
+       (enabled): Remove x64_bmi.
+       * config/i386/mmx.md (mmx_andnot<MMXMODEI:mode>3):
+       Remove general register alternative.
+       (*andnot<VI_32:mode>3): Ditto.
+       (*mmx_<any_logic:code><MMXMODEI:mode>3): Ditto.
+       (*<any_logic:code><VI_32:mode>3): Ditto.
+
+2021-05-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/arm/arm.c: Include head files tree-vectorizer.h and
+       cfgloop.h.
+
+2021-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/mmx.md (Yv_Yw): Revert adding V4QI and V2HI modes.
+       (*<plusminus:insn><VI_32:mode>3): Use Yw instad of <Yv_Yw> constrint.
+       (<s>mulv4hi3_highpart): New expander.
+       (*<s>mulv2hi3_highpart): New insn pattern.
+       (<s>mulv2hi3_higpart): New expander.
+       (*<any_shift:insn>v2hi3): New insn pattern.
+       (<any_shift:insn>v2hi3): New expander.
+       * config/i386/sse.md (smulhrsv2hi3): New expander.
+       (*smulhrsv2hi3): New insn pattern.
+
+2021-05-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/invoke.texi (vect-inner-loop-cost-factor): Document new
+       parameter.
+       * params.opt (vect-inner-loop-cost-factor): New.
+       * targhooks.c (default_add_stmt_cost): Replace hardcoded factor
+       50 with LOOP_VINFO_INNER_LOOP_COST_FACTOR, include head file
+       tree-vectorizer.h and its required ones.
+       * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Replace
+       hardcoded factor 50 with LOOP_VINFO_INNER_LOOP_COST_FACTOR.
+       * config/arm/arm.c (arm_add_stmt_cost): Likewise.
+       * config/i386/i386.c (ix86_add_stmt_cost): Likewise.
+       * config/rs6000/rs6000.c (rs6000_add_stmt_cost): Likewise.
+       * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
+       Likewise.
+       (_loop_vec_info::_loop_vec_info): Init inner_loop_cost_factor.
+       * tree-vectorizer.h (_loop_vec_info): Add inner_loop_cost_factor.
+       (LOOP_VINFO_INNER_LOOP_COST_FACTOR): New macro.
+
+2021-05-20  Christophe Lyon  <christophe.lyon@linaro.org>
+           Torbjörn Svensson  <torbjorn.svensson@st.com>
+
+       PR c/42579
+       * doc/cpp.texi (Common Predefined Macros): Document __FILE_NAME__.
+
+2021-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_LINEAR>: For
+       explicit linear clause when combined with target, make it map(tofrom:)
+       instead of no clause or firstprivate.
+
+2021-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * match.pd ((X & Y) == X -> (X & ~Y) == 0): Simplify even in presence
+       of integral conversions.
+
+2021-05-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (fur_source::get_operand): New.
+       (gimple_range_fold): Delete.
+       (fold_using_range::fold_stmt): Move from gimple_ranger::calc_stmt.
+       (fold_using_range::range_of_range_op): Move from gimple_ranger.
+       (fold_using_range::range_of_address): Ditto.
+       (fold_using_range::range_of_phi): Ditto.
+       (fold_using_range::range_of_call): Ditto.
+       (fold_using_range::range_of_builtin_ubsan_call): Move from
+       range_of_builtin_ubsan_call.
+       (fold_using_range::range_of_builtin_call): Move from
+       range_of_builtin_call.
+       (gimple_ranger::range_of_builtin_call): Delete.
+       (fold_using_range::range_of_cond_expr): Move from gimple_ranger.
+       (gimple_ranger::fold_range_internal): New.
+       (gimple_ranger::range_of_stmt): Use new fold_using_range API.
+       (fold_using_range::range_of_ssa_name_with_loop_info): Move from
+       gimple_ranger.  Improve ranges of SSA_NAMES when possible.
+       * gimple-range.h (gimple_ranger): Remove various range_of routines.
+       (class fur_source): New.
+       (class fold_using_range): New.
+       (fur_source::fur_source): New.
+       (fold_range): New.
+       * vr-values.c (vr_values::extract_range_basic): Use fold_using_range
+       instead of range_of_builtin_call.
+
+2021-05-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/cpp.texi (Common Predefined Macros): Update documentation
+       for the __GXX_EXPERIMENTAL_CXX0X__ macro.
+
+2021-05-19  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/100333
+       * config/arm/arm.md (nonsecure_call_internal): Always ensure
+       callee's address is in a register.
+
+2021-05-19  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * common/config/riscv/riscv-common.c
+       (riscv_subset_list::parsing_subset_version): Properly parse the letter
+       'p' in '-march'.
+       (riscv_subset_list::parse_std_ext,
+        riscv_subset_list::parse_multiletter_ext): To handle errors generated
+       in riscv_subset_list::parsing_subset_version.
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md: Use "neon_move_narrow_q"
+       type attribute in patterns generating XTN(2).
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_simd_vec_pack_trunc_<mode>):
+       Remove as duplicate of...
+       (aarch64_xtn<mode>): This.
+       (aarch64_xtn2<mode>_le): Move position in file.
+       (aarch64_xtn2<mode>_be): Move position in file.
+       (aarch64_xtn2<mode>): Move position in file.
+       (vec_pack_trunc_<mode>): Define as an expander.
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Split builtin
+       generation for aarch64_<sur>q<r>shr<u>n_n<mode> pattern into
+       separate scalar and vector generators.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<sur>q<r>shr<u>n_n<mode>): Define as an expander and
+       split into...
+       (aarch64_<sur>q<r>shr<u>n_n<mode>_insn_le): This and...
+       (aarch64_<sur>q<r>shr<u>n_n<mode>_insn_be): This.
+       * config/aarch64/iterators.md: Define SD_HSDI iterator.
+
+2021-05-19  Jonathn Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md: Use UNSPEC_SQXTUN instead
+       of UNSPEC_SQXTUN2.
+       * config/aarch64/iterators.md: Remove UNSPEC_SQXTUN2.
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>q<r>shr<u>n2_n<mode>):
+       Implement as an expand emitting a big/little endian
+       instruction pattern.
+       (aarch64_<sur>q<r>shr<u>n2_n<mode>_insn_le): Define.
+       (aarch64_<sur>q<r>shr<u>n2_n<mode>_insn_be): Define.
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<sur><addsub>hn2<mode>):
+       Implement as an expand emitting a big/little endian
+       instruction pattern.
+       (aarch64_<sur><addsub>hn2<mode>_insn_le): Define.
+       (aarch64_<sur><addsub>hn2<mode>_insn_be): Define.
+       * config/aarch64/iterators.md: Remove UNSPEC_[R]ADDHN2 and
+       UNSPEC_[R]SUBHN2 unspecs and ADDSUBHN2 iterator.
+
+2021-05-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100672
+       * fold-const.c (fold_negate_expr_1): Use element_precision.
+       (negate_expr_p): Likewise.
+
+2021-05-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/iterators.md (SVE_PRED_LOAD): New iterator.
+       (pred_load): New int attribute.
+       * config/aarch64/aarch64-sve.md
+       (aarch64_load_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): Use
+       SVE_PRED_LOAD enum iterator and corresponding pred_load attribute.
+       * config/aarch64/aarch64-sve-builtins-base.cc (expand): Update call to
+       code_for_aarch64_load.
+
+2021-05-19  Richard Biener  <rguenther@suse.de>
+
+       * cfgexpand.c (discover_nonconstant_array_refs_r): Make
+       sure TARGET_MEM_REF bases are expanded as memory.
+       * tree-ssa-operands.c (operands_scanner::get_tmr_operands):
+       Do not mark TARGET_MEM_REF bases addressable.
+       * tree-ssa.c (non_rewritable_mem_ref_base): Handle
+       TARGET_MEM_REF bases as never rewritable.
+       * gimple-walk.c (walk_stmt_load_store_addr_ops): Do not
+       walk TARGET_MEM_REF bases as address-takens.
+       * tree-ssa-dce.c (ref_may_be_aliased): Handle TARGET_MEM_REF.
+
+2021-05-19  Richard Biener  <rguenther@suse.de>
+
+       * builtins.c (get_object_alignment_1): Strip outer
+       WITH_SIZE_EXPR.
+       * tree-dfa.c (get_ref_base_and_extent): Handle outer
+       WITH_SIZE_EXPR for size processing and process the
+       containing ref.
+       * tree-ssa-alias.c (ao_ref_base_alias_set): Strip
+       outer WITH_SIZE_EXPR.
+       (ao_ref_base_alias_ptr_type): Likewise.
+       (refs_may_alias_p_2): Allow WITH_SIZE_EXPR in ref->ref
+       and handle that accordingly, stripping it for the
+       core alias workers.
+       * tree.c (get_base_address): Handle WITH_SIZE_EXPR by
+       looking through it instead of returning NULL.
+
+2021-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100576
+       * builtins.c (check_read_access): Convert bound to size_type_node if
+       non-NULL.
+
+2021-05-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_types_in_gimple_min_lval): Inline...
+       (verify_types_in_gimple_reference): ... here.  Sanitize.
+       (verify_gimple_call): Verify references in LHS and arguments.
+       (verify_gimple_assign_single): Reject WITH_SIZE_EXPR.
+
+2021-05-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (VALID_INT_MODE_P):
+       Add V8QI, V4HI and V2SI modes for TARGET_64BIT.
+       * config/i386/i386.md (isa): Add x64_bmi.
+       (enabled): Handle x64_bmi.
+       * config/i386/mmx.md (mmx_andnot<MMXMODEI:mode>3):
+       Add alternative using 64bit general registers.
+       (*mmx_<any_logic:code><MMXMODEI:mode>3): Ditto.
+
+2021-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * tree.h (OMP_MASTER_COMBINED): Define.
+       * gimplify.c (gimplify_scan_omp_clauses): Rewrite lastprivate
+       handling for outer combined/composite constructs to a loop.
+       Handle lastprivate on combined target.
+       (gimplify_expr): Formatting fix.
+
+2021-05-19  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * passes.def: Add sink_code pass before store_merging.
+       * tree-ssa-sink.c (pass_sink_code:clone): New.
+
+2021-05-18  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Remove call to
+       rs6000_special_adjust_field_align_p.
+       * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
+       * config/rs6000/rs6000-call.c (rs6000_function_arg_boundary):
+       Remove ABI warning.
+       (rs6000_function_arg): Likewise.
+       * config/rs6000/rs6000-protos.h
+       (rs6000_special_adjust_field_align_p): Remove prototype.
+       * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
+       Remove.
+       * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove call to
+       rs6000_special_adjust_field_align_p.
+
+2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * config/i386/i386.h (VALID_SSE2_REG_MODE):
+       Add V4QI and V2HI modes.
+       (VALID_INT_MODE_P): Ditto.
+       * config/i386/mmx.md (VI_32): New mode iterator.
+       (mmxvecsize): Handle V4QI and V2HI.
+       (Yv_Yw): Ditto.
+       (mov<VI_32:mode>): New expander.
+       (*mov<mode>_internal): New insn pattern.
+       (movmisalign<VI_32:mode>): New expander.
+       (neg<VI_32:mode>): New expander.
+       (<plusminus:insn><VI_32:mode>3): New expander.
+       (*<plusminus:insn><VI_32:mode>3): New insn pattern.
+       (mulv2hi3): New expander.
+       (*mulv2hi3): New insn pattern.
+       (one_cmpl<VI_32:mode>2): New expander.
+       (*andnot<VI_32:mode>3): New insn pattern.
+       (<any_logic:code><VI_32:mode>3): New expander.
+       (*<any_logic:code><VI_32:mode>3): New insn pattern.
+
+2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (<any_extend:insn>v4qiv4di2):
+       Fix a mode mismatch with operand 1.
+
+2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100626
+       * config/i386/i386-expand.c (split_double_mode): Return
+       temporary register when simplify_gen_subreg fails with
+       the high half od the paradoxical subreg.
+
+2021-05-18  Richard Biener  <rguenther@suse.de>
+
+       * cfgexpand.c (expand_one_var): Pass in forced_stack_var
+       and honor it when expanding.
+       (expand_used_vars_for_block): Pass through forced_stack_var.
+       (expand_used_vars): Likewise.
+       (discover_nonconstant_array_refs_r): Set bits in
+       forced_stack_vars instead of marking vars TREE_ADDRESSABLE.
+       (avoid_type_punning_on_regs): Likewise.
+       (discover_nonconstant_array_refs): Likewise.
+       (pass_expand::execute): Create and pass down forced_stack_var
+       bitmap.  For parameters and returns temporarily set
+       TREE_ADDRESSABLE when expand_function_start.
+
+2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/sourcebuild.texi: Document 'dg-note'.
+
+2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR other/100598
+       * configure: Regenerate.
+       * configure.ac (BUILD_CFLAG, BUILD_CXXFLAGS): Add $(CFLAGS-$@).
+
+2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimple.h (is_gimple_omp_oacc): Tighten.
+       * omp-low.c (check_omp_nesting_restrictions): Adjust.
+
+2021-05-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (mark_address_taken): Simplify.
+
+2021-05-18  Martin Liska  <mliska@suse.cz>
+
+       * config/gcn/mkoffload.c (STR): Redefine.
+       * config/i386/intelmic-mkoffload.c (STR): Likewise.
+       * config/nvptx/mkoffload.c (STR): Likewise.
+
+2021-05-18  Martin Liska  <mliska@suse.cz>
+
+       * common/config/aarch64/aarch64-common.c (aarch64_parse_extension):
+       Use startswith function instead of strncmp.
+       * common/config/bfin/bfin-common.c (bfin_handle_option): Likewise.
+       * common/config/riscv/riscv-common.c (riscv_subset_list::parse): Likewise.
+       * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_type): Likewise.
+       * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Likewise.
+       * config/alpha/alpha.c (alpha_elf_section_type_flags): Likewise.
+       * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise.
+       * config/arm/arm.c (arm_file_start): Likewise.
+       (arm_valid_target_attribute_rec): Likewise.
+       (thumb1_md_asm_adjust): Likewise.
+       * config/arm/driver-arm.c (host_detect_local_cpu): Likewise.
+       * config/avr/avr.c (STR_PREFIX_P): Likewise.
+       (avr_set_current_function): Likewise.
+       (avr_handle_addr_attribute): Likewise.
+       (avr_asm_output_aligned_decl_common): Likewise.
+       (avr_asm_named_section): Likewise.
+       (avr_section_type_flags): Likewise.
+       (avr_asm_select_section): Likewise.
+       * config/c6x/c6x.c (c6x_in_small_data_p): Likewise.
+       (c6x_section_type_flags): Likewise.
+       * config/darwin-c.c (darwin_cfstring_ref_p): Likewise.
+       (darwin_objc_declare_unresolved_class_reference): Likewise.
+       (darwin_objc_declare_class_definition): Likewise.
+       * config/darwin.c (indirect_data): Likewise.
+       (darwin_encode_section_info): Likewise.
+       (darwin_objc2_section): Likewise.
+       (darwin_objc1_section): Likewise.
+       (machopic_select_section): Likewise.
+       (darwin_globalize_label): Likewise.
+       (darwin_label_is_anonymous_local_objc_name): Likewise.
+       (darwin_asm_named_section): Likewise.
+       (darwin_asm_output_dwarf_offset): Likewise.
+       * config/frv/frv.c (frv_string_begins_with): Likewise.
+       (frv_in_small_data_p): Likewise.
+       * config/gcn/mkoffload.c (STR): Likewise.
+       (main): Likewise.
+       * config/i386/i386-builtins.c (get_builtin_code_for_version): Likewise.
+       * config/i386/i386-options.c (ix86_option_override_internal): Likewise.
+       * config/i386/i386.c (x86_64_elf_section_type_flags): Likewise.
+       (ix86_md_asm_adjust): Likewise.
+       * config/i386/intelmic-mkoffload.c (STR): Likewise.
+       * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
+       (i386_pe_file_end): Likewise.
+       * config/ia64/ia64.c (ia64_in_small_data_p): Likewise.
+       (ia64_section_type_flags): Likewise.
+       * config/mips/driver-native.c (host_detect_local_cpu): Likewise.
+       * config/mips/mips.c (mips_handle_interrupt_attr): Likewise.
+       (mips16_stub_function_p): Likewise.
+       (mips_function_rodata_section): Likewise.
+       * config/msp430/msp430.c (msp430_mcu_name): Likewise.
+       (msp430_function_section): Likewise.
+       (msp430_section_type_flags): Likewise.
+       (msp430_expand_helper): Likewise.
+       * config/nios2/nios2.c (nios2_small_section_name_p): Likewise.
+       (nios2_valid_target_attribute_rec): Likewise.
+       * config/nvptx/mkoffload.c (process): Likewise.
+       (STR): Likewise.
+       * config/pa/som.h: Likewise.
+       * config/pdp11/pdp11.c (pdp11_output_ident): Likewise.
+       * config/riscv/riscv.c (riscv_elf_select_rtx_section): Likewise.
+       * config/rs6000/rs6000.c (VTABLE_NAME_P): Likewise.
+       (rs6000_inner_target_options): Likewise.
+       * config/s390/driver-native.c (s390_host_detect_local_cpu): Likewise.
+       * config/sparc/driver-sparc.c (host_detect_local_cpu): Likewise.
+       * config/vax/vax.c (vax_output_int_move): Likewise.
+       * config/vms/vms-ld.c (startswith): Likewise.
+       (process_args): Likewise.
+       (main): Likewise.
+       * config/vms/vms.c: Likewise.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100590
+       * regcprop.c (copyprop_hardreg_forward_1): Only DCE dead sets if
+       they are NONJUMP_INSN_P.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100580
+       * function.c (push_dummy_function): Set DECL_ARTIFICIAL and
+       DECL_ASSEMBLER_NAME on the fn_decl.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * tree-ssa-phiopt.c (spaceship_replacement): Pattern match
+       phi result used in (res & ~1) == 0 comparison as res >= 0 as
+       res == 2 would be UB with -ffinite-math-only.
+
+2021-05-18  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: genversion.o should depend on DATESTAMP.
+
+2021-05-18  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/simdext.md (negv2si2): Remove round bracket.
+
+2021-05-18  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
+       _Bool as macro expanding to _Bool.
+
+2021-05-18  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR c++/100281
+       * tree.c (build_reference_type_for_mode)
+       (build_pointer_type_for_mode): Pick pointer mode if MODE argument
+       is VOIDmode.
+       (build_reference_type, build_pointer_type): Invoke
+       build_*_type_for_mode with VOIDmode.
+
+2021-05-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100512
+       * gimple-range-cache.cc (ranger_cache::set_global_range): Mark const
+       and non-zero pointer ranges as invariant.
+       * gimple-range.cc (gimple_ranger::range_of_stmt): Remove pointer
+       processing from here.
+
+2021-05-17  Tom de Vries  <tdevries@suse.de>
+
+       PR target/100497
+       * config/nvptx/nvptx-protos.h (nvptx_output_atomic_insn): Declare
+       * config/nvptx/nvptx.c (nvptx_output_barrier)
+       (nvptx_output_atomic_insn): New function.
+       (nvptx_print_operand): Add support for 'B'.
+       * config/nvptx/nvptx.md: Use nvptx_output_atomic_insn for atomic
+       insns.
+
+2021-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/100349
+       * vr-values.c (bounds_of_var_in_loop): Bail if scev returns
+         NULL.
+
+2021-05-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (DEFAULT_ARCH): New.
+       (host_detect_local_cpu): Use it.
+
+2021-05-17  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Add 2 missing dots.
+
+2021-05-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       PR bootstrap/100552
+       * configure.ac: Replace pattern substitution with call to sed.
+       * configure: Regenerate.
+
+2021-05-17  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100582
+       * tree.c (array_at_struct_end_p): Get to the base of the
+       reference before looking for the underlying decl.
+
+2021-05-17  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * genoutput.c (validate_insn_alternatives) Make "wrong number of
+       alternatives" message more specific, and remove assumption on where
+       the problem is.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (V16): New iterator.
+       (VH_cvtto): New iterator.
+       (v_cmp_result): Added V4HF and V8HF support.
+       * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>): Use VDQWH.
+       (vcond<mode><mode>): Likewise.
+       (vcond_mask_<mode><v_cmp_result>): Likewise.
+       (vcond<VH_cvtto><mode>): New expander.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm-protos.h (arm_expand_vector_compare): Update
+       prototype.
+       * config/arm/arm.c (arm_expand_vector_compare): Add support for
+       MVE.
+       (arm_expand_vcond): Likewise.
+       * config/arm/iterators.md (supf): Remove VCMPNEQ_S, VCMPEQQ_S,
+       VCMPEQQ_N_S, VCMPNEQ_N_S.
+       (VCMPNEQ, VCMPEQQ, VCMPEQQ_N, VCMPNEQ_N): Remove.
+       * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Add '@' prefix.
+       (@mve_vcmp<mve_cmp_op>q_f<mode>): Likewise.
+       (@mve_vcmp<mve_cmp_op>q_n_f<mode>): Likewise.
+       (@mve_vpselq_<supf><mode>): Likewise.
+       (@mve_vpselq_f<mode>"): Likewise.
+       * config/arm/neon.md (vec_cmp<mode><v_cmp_result): Enable for MVE
+       and move to vec-common.md.
+       (vec_cmpu<mode><mode>): Likewise.
+       (vcond<mode><mode>): Likewise.
+       (vcond<V_cvtto><mode>): Likewise.
+       (vcondu<mode><v_cmp_result>): Likewise.
+       (vcond_mask_<mode><v_cmp_result>): Likewise.
+       * config/arm/unspecs.md (VCMPNEQ_U, VCMPNEQ_S, VCMPEQQ_S)
+       (VCMPEQQ_N_S, VCMPNEQ_N_S, VCMPEQQ_U, CMPEQQ_N_U, VCMPNEQ_N_U)
+       (VCMPGEQ_N_S, VCMPGEQ_S, VCMPGTQ_N_S, VCMPGTQ_S, VCMPLEQ_N_S)
+       (VCMPLEQ_S, VCMPLTQ_N_S, VCMPLTQ_S, VCMPCSQ_N_U, VCMPCSQ_U)
+       (VCMPHIQ_N_U, VCMPHIQ_U): Remove.
+       * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result): Moved
+       from neon.md.
+       (vec_cmpu<mode><mode>): Likewise.
+       (vcond<mode><mode>): Likewise.
+       (vcond<V_cvtto><mode>): Likewise.
+       (vcondu<mode><v_cmp_result>): Likewise.
+       (vcond_mask_<mode><v_cmp_result>): Likewise. Added unsafe math
+       condition.
+
+2021-05-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100549
+       * config/i386/i386.c (ix86_gimple_fold_builtin): Use
+       gsi_insert_seq_before instead.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * doc/sourcebuild.texi (arm_qbit_ok): Rename into...
+       (arm_sat_ok): ...this.
+
+2021-05-17  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (merge_flto_options): Factor out a new function.
+       (merge_and_complain): Use it.
+       (run_gcc): Merge also linker command line -flto=foo argument
+       with IL files.
+
+2021-05-16  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.h (CPP_SPEC): Remove error message about
+       -mlittle-endian/-mbig-endian conflict.
+
+2021-05-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       __ROP_PROTECT__ if -mrop-protect is selected.
+
+2021-05-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-internal.h (rs6000_stack): Add
+       rop_hash_save_offset and rop_hash_size.
+       * config/rs6000/rs6000-logue.c (rs6000_stack_info): Compute
+       rop_hash_size and rop_hash_save_offset.
+       (debug_stack_info): Dump rop_hash_save_offset and rop_hash_size.
+       (rs6000_emit_prologue): Emit hashst[p] in prologue.
+       (rs6000_emit_epilogue): Emit hashchk[p] in epilogue.
+       * config/rs6000/rs6000.md (unspec): Add UNSPEC_HASHST and
+       UNSPEC_HASHCHK.
+       (hashst): New define_insn.
+       (hashchk): Likewise.
+
+2021-05-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Disable shrink wrap when inserting ROP-protect instructions.
+       * config/rs6000/rs6000.opt (mrop-protect): New option.
+       (mprivileged): Likewise.
+       * doc/invoke.texi: Document mrop-protect and mprivileged.
+
+2021-05-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reorg.c (fill_slots_from_thread): Reinstate code typoed out in
+       "Remove CC0".
+
+2021-05-15  Martin Jambor  <mjambor@suse.cz>
+
+       Revert:
+       2021-05-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * tree-sra.c (sra_modify_assign): All const base accesses do not
+       need refreshing, not just those from decl_pool.
+       (sra_modify_assign): Do not refresh into a const base decl.
+
+2021-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100342
+       * regcprop.c (copy_value): When copying a source reg in a wider
+       mode than it has recorded for the value, adjust recorded destination
+       mode too or punt if !REG_CAN_CHANGE_MODE_P.
+
+2021-05-14  Jason Merrill  <jason@redhat.com>
+
+       * intl.h: Add comments.
+
+2021-05-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md
+       (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Split into...
+       (aarch64_sqdmlsl2_lane<mode>_internal): ... This...
+       (aarch64_sqdmlal2_lane<mode>_internal): ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Split into ...
+       (aarch64_sqdmlsl2_laneq<mode>_internal): ... This...
+       (aarch64_sqdmlal2_laneq<mode>_internal): ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Split into...
+       (aarch64_sqdmlsl2_n<mode>_internal): ... This...
+       (aarch64_sqdmlal2_n<mode>_internal): ... And this.
+
+2021-05-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h (vtst_s8): Replace call to vtst builtin with it's
+       boolean logic equivalent.
+       (vtst_s16): Likewise.
+       (vtst_s32): Likewise.
+       (vtst_u8): Likewise.
+       (vtst_u16): Likewise.
+       (vtst_u32): Likewise.
+       (vtst_p8): Likewise.
+       (vtst_p16): Likewise.
+       (vtstq_s8): Likewise.
+       (vtstq_s16): Likewise.
+       (vtstq_s32): Likewise.
+       (vtstq_u8): Likewise.
+       (vtstq_u16): Likewise.
+       (vtstq_u32): Likewise.
+       (vtstq_p8): Likewise.
+       (vtstq_p16): Likewise.
+       * config/arm/arm_neon_builtins.def: Remove entry for vtst.
+       * config/arm/neon.md (neon_vtst<mode>): Remove pattern.
+
+2021-05-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_sqdmlal2<mode>): Merge into...
+       (aarch64_sqdml<SBINQOPS:as>l2<mode>): ... This.
+       (aarch64_sqdmlsl2<mode>): Delete.
+       (aarch64_sqdmlal2_lane<mode>): Merge this...
+       (aarch64_sqdmlsl2_lane<mode>): ... And this...
+       (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>): ... Into this.
+       (aarch64_sqdmlal2_laneq<mode>): Merge this...
+       (aarch64_sqdmlsl2_laneq<mode>): ... And this...
+       (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>): ... Into this.
+       (aarch64_sqdmlal2_n<mode>): Merge this...
+       (aarch64_sqdmlsl2_n<mode>): ... And this...
+       (aarch64_sqdml<SBINQOPS:as>l2_n<mode>): ... Into this.
+
+2021-05-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100574
+       * builtins.c (access_ref::get_ref): Improve detection of PHIs with
+       all null arguments.
+
+2021-05-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93100
+       PR middle-end/98583
+       * tree-ssa-uninit.c (check_defs): Exclude intrinsic functions that
+       don't modify referenced objects.
+
+2021-05-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * tree-sra.c (sra_modify_assign): All const base accesses do not
+       need refreshing, not just those from decl_pool.
+       (sra_modify_assign): Do not refresh into a const base decl.
+
+2021-05-13  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-dom.c: Remove m_simplifier.
+
+2021-05-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100563
+       * config/arm/arm.c (arm_canonicalize_comparison): Correctly
+       canonicalize DImode inequality comparisons against the
+       maximum integral value.
+
+2021-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98856
+       * config/i386/i386.c (ix86_shift_rotate_cost): Add CODE argument.
+       Expect V2DI and V4DI arithmetic right shifts to be emulated.
+       (ix86_rtx_costs, ix86_add_stmt_cost): Adjust ix86_shift_rotate_cost
+       caller.
+       * config/i386/i386-expand.c (expand_vec_perm_2perm_interleave,
+       expand_vec_perm_2perm_pblendv): New functions.
+       (ix86_expand_vec_perm_const_1): Use them.
+       * config/i386/sse.md (ashr<mode>3<mask_name>): Rename to ...
+       (<mask_codefor>ashr<mode>3<mask_name>): ... this.
+       (ashr<mode>3): New define_expand with VI248_AVX512BW iterator.
+       (ashrv4di3): New define_expand.
+       (ashrv2di3): Change condition to TARGET_SSE2, handle !TARGET_XOP
+       and !TARGET_AVX512VL expansion.
+
+2021-05-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100581
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc): Force mode
+       sizes < 16 to a register when constructing vpcmov pattern.
+       * config/i386/mmx.md (*xop_pcmov_<mode>): Use MMXMODE124 mode.
+
+2021-05-13  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.c (gcov_write_block): Remove.
+       (gcov_write_words): Likewise.
+       (gcov_read_words): Re-implement using gcov_read_bytes.
+       (gcov_allocate): Remove.
+       (GCOV_BLOCK_SIZE): Likewise.
+       (struct gcov_var): Remove most of the fields.
+       (gcov_position): Implement with ftell.
+       (gcov_rewrite): Remove setting of start and offset fields.
+       (from_file): Re-format.
+       (gcov_open): Remove setbuf call. It should not be needed.
+       (gcov_close): Remove internal buffer handling.
+       (gcov_magic): Use __builtin_bswap32.
+       (gcov_write_counter): Use directly gcov_write_unsigned.
+       (gcov_write_string): Use direct fwrite and do not round
+       to 4 bytes.
+       (gcov_seek): Use directly fseek.
+       (gcov_write_tag): Use gcov_write_unsigned directly.
+       (gcov_write_length): Likewise.
+       (gcov_write_tag_length): Likewise.
+       (gcov_read_bytes): Use directly fread.
+       (gcov_read_unsigned): Use gcov_read_words.
+       (gcov_read_counter): Likewise.
+       (gcov_read_string): Use gcov_read_bytes.
+       * gcov-io.h (GCOV_WORD_SIZE): Adjust to reflect
+       that size is not in bytes, but words (4B).
+       (GCOV_TAG_FUNCTION_LENGTH): Likewise.
+       (GCOV_TAG_ARCS_LENGTH): Likewise.
+       (GCOV_TAG_ARCS_NUM): Likewise.
+       (GCOV_TAG_COUNTER_LENGTH): Likewise.
+       (GCOV_TAG_COUNTER_NUM): Likewise.
+       (GCOV_TAG_SUMMARY_LENGTH): Likewise.
+
+2021-05-13  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/94680
+       * config/i386/sse.md (ssedoublevecmode): Add attribute for
+       V64QI/V32HI/V16SI/V4DI.
+       (ssehalfvecmode): Add attribute for V2DI/V2DF.
+       (*vec_concatv4si_0): Extend to VI124_128.
+       (*vec_concat<mode>_0): New pre-reload splitter.
+       * config/i386/predicates.md (movq_parallel): New predicate.
+
+2021-05-13  Alexandre Oliva  <oliva@adacore.com>
+
+       * targhooks.c (default_zero_call_used_regs): Retry using
+       successfully-zeroed registers as sources.
+
+2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-low.c (finish_taskreg_scan): Use the proper detach decl.
+
+2021-05-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR c/100521
+       * gimple-range.cc (range_of_builtin_call): Skip out on
+         processing __builtin_clz when varying.
+
+2021-05-12  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96005
+       * config/nvptx/nvptx-opts.h (enum ptx_version): New enum.
+       * config/nvptx/nvptx.c (nvptx_file_start): Print .version according
+       to ptx_version_option.
+       * config/nvptx/nvptx.h (TARGET_PTX_6_3): Define.
+       * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
+       (define_insn "nvptx_vote_ballot"): Use sync variant for
+       TARGET_PTX_6_3.
+       * config/nvptx/nvptx.opt (ptx_version): Add enum.
+       (mptx): Add option.
+       * doc/invoke.texi (Nvidia PTX Options): Add mptx item.
+
+2021-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100566
+       * tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle
+       allow_back for all edge queries.
+
+2021-05-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99908
+       * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Add
+       splitters for pblendvb of NOT mask register.
+
+2021-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100519
+       * tree-ssa-reassoc.c (can_associate_p): Split into...
+       (can_associate_op_p): ... this
+       (can_associate_type_p): ... and this.
+       (is_reassociable_op): Call can_associate_op_p.
+       (break_up_subtract_bb): Call the appropriate predicates.
+       (reassociate_bb): Likewise.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (merge_and_complain): Merge -flto=arg options.
+       (run_gcc): Use -flto argument detection for merged
+       fdecoded_options.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (print_lto_docs_link): New function.
+       (run_gcc): Print warning about missing job server detection
+       after we know NR of partitions. Do the same for -flto{,=1}.
+       * opts.c (get_option_html_page): Support -flto option.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (get_options_from_collect_gcc_options): Change
+       return type.
+       (append_option): Remove.
+       (find_option): Rework to use the vector type.
+       (remove_option): Remove.
+       (merge_and_complain): Use vectors for cl_decoded_option data
+       type arguments.
+       (append_compiler_options): Likewise.
+       (append_diag_options): Likewise.
+       (append_linker_options): Likewise.
+       (append_offload_options): Likewise.
+       (compile_offload_image): Likewise.
+       (compile_images_for_offload_targets): Likewise.
+       (find_and_merge_options): Likewise.
+       (run_gcc): Likewise.
+
+2021-05-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR debug/100515
+       * dwarf2out.c (dwarf2out_finish): Set
+       have_multiple_function_sections with multi-range text_section.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       PR bootstrap/100560
+       * Makefile.in: Remove version.h from linker command line.
+
+2021-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100547
+       * rtl.h (rtvec_alloc): Make argument size_t.
+       * rtl.c (rtvec_alloc): Verify the count is less than INT_MAX.
+
+2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100508
+       * cfgexpand.c (expand_debug_expr): For DEBUG_EXPR_DECL with vector
+       type, don't reuse DECL_RTL if it has different mode, instead force
+       creation of a new DEBUG_EXPR.
+
+2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/94589
+       * match.pd ((X & Y) == X -> (X & ~Y) == 0,
+       (X | Y) == Y -> (X & ~Y) == 0): New GIMPLE simplifications.
+
+2021-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98218
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc): Handle V2SF mode.
+       * config/i386/mmx.md (MMXMODE124): New mode iterator.
+       (V2FI): Ditto.
+       (mmxintvecmode): New mode attribute.
+       (mmxintvecmodelower): Ditto.
+       (*mmx_maskcmpv2sf3_comm): New insn pattern.
+       (*mmx_maskcmpv2sf3): Ditto.
+       (vec_cmpv2sfv2si): New expander.
+       (vcond<V2FI:mode>v2si): Ditto.
+       (mmx_vlendvps): New insn pattern.
+       (vcond<MMXMODE124:mode><MMXMODEI:mode>): Also handle V2SFmode.
+       (vcondu<MMXMODE124:mode><MMXMODEI:mode>): Ditto.
+       (vcond_mask_<mode><mmxintvecmodelower>): Ditto.
+
+2021-05-11  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/21433
+       * expr.c (expand_expr_real_1): Replace unreachable code with an assert.
+
+2021-05-11  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (gimple_fold_call): Do not call
+       maybe_fold_reference on call arguments or the static chain.
+       (fold_stmt_1): Do not call maybe_fold_reference on GIMPLE_ASM
+       inputs.
+
+2021-05-11  Martin Liska  <mliska@suse.cz>
+
+       * builtins.def (DEF_HSAIL_BUILTIN): Remove.
+       (DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
+       (DEF_HSAIL_SAT_BUILTIN): Likewise.
+       (DEF_HSAIL_INTR_BUILTIN): Likewise.
+       (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
+       * doc/frontends.texi: Remove BRIG.
+       * doc/install.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/standards.texi: Likewise.
+       * brig-builtins.def: Removed.
+       * brig/ChangeLog: Removed.
+       * brig/Make-lang.in: Removed.
+       * brig/brig-builtins.h: Removed.
+       * brig/brig-c.h: Removed.
+       * brig/brig-lang.c: Removed.
+       * brig/brigfrontend/brig-arg-block-handler.cc: Removed.
+       * brig/brigfrontend/brig-atomic-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-basic-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-branch-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-cmp-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-code-entry-handler.cc: Removed.
+       * brig/brigfrontend/brig-code-entry-handler.h: Removed.
+       * brig/brigfrontend/brig-comment-handler.cc: Removed.
+       * brig/brigfrontend/brig-control-handler.cc: Removed.
+       * brig/brigfrontend/brig-copy-move-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-cvt-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-fbarrier-handler.cc: Removed.
+       * brig/brigfrontend/brig-function-handler.cc: Removed.
+       * brig/brigfrontend/brig-function.cc: Removed.
+       * brig/brigfrontend/brig-function.h: Removed.
+       * brig/brigfrontend/brig-inst-mod-handler.cc: Removed.
+       * brig/brigfrontend/brig-label-handler.cc: Removed.
+       * brig/brigfrontend/brig-lane-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-machine.c: Removed.
+       * brig/brigfrontend/brig-machine.h: Removed.
+       * brig/brigfrontend/brig-mem-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-module-handler.cc: Removed.
+       * brig/brigfrontend/brig-queue-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-seg-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-signal-inst-handler.cc: Removed.
+       * brig/brigfrontend/brig-to-generic.cc: Removed.
+       * brig/brigfrontend/brig-to-generic.h: Removed.
+       * brig/brigfrontend/brig-util.cc: Removed.
+       * brig/brigfrontend/brig-util.h: Removed.
+       * brig/brigfrontend/brig-variable-handler.cc: Removed.
+       * brig/brigfrontend/hsa-brig-format.h: Removed.
+       * brig/brigfrontend/phsa.h: Removed.
+       * brig/brigspec.c: Removed.
+       * brig/config-lang.in: Removed.
+       * brig/gccbrig.texi: Removed.
+       * brig/lang-specs.h: Removed.
+       * brig/lang.opt: Removed.
+
+2021-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100513
+       * ipa-param-manipulation.c
+       (ipa_param_body_adjustments::modify_call_stmt): Avoid
+       altering SSA_NAME_DEF_STMT by adjusting the calls LHS
+       via gimple_call_lhs_ptr.
+
+2021-05-11  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99725
+       * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear):
+       Avoid emitting CFA adjusts on the sp if we have the fp.
+
+2021-05-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (VMUL_CHANGE_NLANES): Delete.
+       (VMULD): New iterator.
+       (VCOND): Handle V4HF and V8HF.
+       (VCONQ): Fix entry for V2SF.
+       * config/aarch64/aarch64-simd.md (mul_lane<mode>3): Use VMULD
+       instead of VMUL.  Use a 64-bit vector mode for the indexed operand.
+       (*aarch64_mul3_elt_<vswap_width_name><mode>): Merge with...
+       (mul_laneq<mode>3): ...this define_insn.  Use VMUL instead of VDQSF.
+       Use a 128-bit vector mode for the indexed operand.  Use stype for
+       the scheduling type.
+
+2021-05-11  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (maybe_fold_reference): Only return
+       is_gimple_min_invariant values.
+
+2021-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100509
+       * gimple-fold.c (fold_gimple_assign): Only call
+       get_symbol_constant_value on register type symbols.
+
+2021-05-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+           Joe Ramsay   <joe.ramsay@arm.com>
+
+       PR target/100419
+       * config/arm/arm_mve.h (__arm_vstrwq_scatter_offset): Fix wrong arguments.
+       (__arm_vcmpneq): Remove duplicate definition.
+       (__arm_vstrwq_scatter_offset_p): Likewise.
+       (__arm_vmaxq_x): Likewise.
+       (__arm_vmlsdavaq): Likewise.
+       (__arm_vmlsdavaxq): Likewise.
+       (__arm_vmlsdavq_p): Likewise.
+       (__arm_vmlsdavxq_p): Likewise.
+       (__arm_vrmlaldavhaq): Likewise.
+       (__arm_vstrbq_p): Likewise.
+       (__arm_vstrbq_scatter_offset): Likewise.
+       (__arm_vstrbq_scatter_offset_p): Likewise.
+       (__arm_vstrdq_scatter_offset): Likewise.
+       (__arm_vstrdq_scatter_offset_p): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset): Likewise.
+       (__arm_vstrdq_scatter_shifted_offset_p): Likewise.
+
+2021-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100471
+       * omp-low.c (lower_omp_task_reductions): For OMP_TASKLOOP, if data
+       is 0, bypass the reduction loop including
+       GOMP_taskgroup_reduction_unregister call.
+
+2021-05-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (struct rs6000_cost_data): New member
+       costing_for_scalar.
+       (rs6000_density_test): Early return if costing_for_scalar is true.
+       (rs6000_init_cost): Init costing_for_scalar of rs6000_cost_data.
+
+2021-05-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/tm.texi: Regenerated.
+       * target.def (init_cost): Add new parameter costing_for_scalar.
+       * targhooks.c (default_init_cost): Adjust for new parameter.
+       * targhooks.h (default_init_cost): Likewise.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Likewise.
+       (vect_compute_single_scalar_iteration_cost): Likewise.
+       (vect_analyze_loop_2): Likewise.
+       * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       * tree-vectorizer.h (init_cost): Likewise.
+       * config/aarch64/aarch64.c (aarch64_init_cost): Likewise.
+       * config/i386/i386.c (ix86_init_cost): Likewise.
+       * config/rs6000/rs6000.c (rs6000_init_cost): Likewise.
+
+2021-05-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_vect_nonmem): Renamed to
+       vect_nonmem and moved into...
+       (struct rs6000_cost_data): ...here.
+       (rs6000_init_cost): Use vect_nonmem of cost_data instead.
+       (rs6000_add_stmt_cost): Likewise.
+       (rs6000_finish_cost): Likewise.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * range-op.cc (get_bool_state): Adjust head comment.
+       (operator_not_equal::op1_range): Fix comment.
+       (operator_bitwise_xor::op1_range): Remove call to gcc_unreachable.
+
+2021-05-10  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100425
+       PR middle-end/100510
+       * gimple-ssa-warn-alloca.c (pass_walloca::firast_time_p): Rename...
+       (pass_walloca::xlimit_certain_p): ...to this.
+       (pass_walloca::gate): Execute for any kind of handled warning.
+       (pass_walloca::execute): Avoid issuing "maybe" and "unbounded"
+       warnings when xlimit_certain_p is set.
+
+2021-05-10  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_ira_change_pseudo_allocno_class):
+       Return ALTIVEC_REGS if that is best_class.
+       (rs6000_compute_pressure_classes): Add ALTIVEC_REGS.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.h (CPP_SPEC): Remove error message about
+       -mfloat-abi.
+
+2021-05-10  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (IPA_NODE_REF): Removed.
+       (IPA_NODE_REF_GET_CREATE): Likewise.
+       (IPA_EDGE_REF): Likewise.
+       (IPA_EDGE_REF_GET_CREATE): Likewise.
+       (IS_VALID_JUMP_FUNC_INDEX): Likewise.
+       * ipa-cp.c (print_all_lattices): Replaced IPA_NODE_REF with a direct
+       use of ipa_node_params_sum.
+       (ipcp_versionable_function_p): Likewise.
+       (push_node_to_stack): Likewise.
+       (pop_node_from_stack): Likewise.
+       (set_single_call_flag): Replaced two IPA_NODE_REF with one single
+       direct use of ipa_node_params_sum.
+       (initialize_node_lattices): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum.
+       (ipa_context_from_jfunc): Replaced IPA_EDGE_REF with a direct use of
+       ipa_edge_args_sum.
+       (ipcp_verify_propagated_values): Replaced IPA_NODE_REF with a direct
+       use of ipa_node_params_sum.
+       (self_recursively_generated_p): Likewise.
+       (propagate_scalar_across_jump_function): Likewise.
+       (propagate_context_across_jump_function): Replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum, moved the lookup after the early
+       exit.  Replaced IPA_NODE_REF with a direct use of ipa_node_params_sum.
+       (propagate_bits_across_jump_function): Replaced IPA_NODE_REF with
+       direct uses of ipa_node_params_sum.
+       (propagate_vr_across_jump_function): Likewise.
+       (propagate_aggregate_lattice): Likewise.
+       (propagate_aggs_across_jump_function): Likewise.
+       (propagate_constants_across_call): Likewise, also replaced
+       IPA_EDGE_REF with a direct use of ipa_edge_args_sum.
+       (good_cloning_opportunity_p): Replaced IPA_NODE_REF with a direct use
+       of ipa_node_params_sum.
+       (estimate_local_effects): Likewise.
+       (add_all_node_vals_to_toposort): Likewise.
+       (propagate_constants_topo): Likewise.
+       (ipcp_propagate_stage): Likewise.
+       (ipcp_discover_new_direct_edges): Likewise.
+       (calls_same_node_or_its_all_contexts_clone_p): Likewise.
+       (cgraph_edge_brings_value_p): Likewise (in both overloaded functions).
+       (get_info_about_necessary_edges): Likewise.
+       (want_remove_some_param_p): Likewise.
+       (create_specialized_node): Likewise.
+       (self_recursive_pass_through_p): Likewise.
+       (self_recursive_agg_pass_through_p): Likewise.
+       (find_more_scalar_values_for_callers_subset): Likewise and also
+       replaced IPA_EDGE_REF with direct uses of ipa_edge_args_sum, in one
+       case replacing two of those with a single query.
+       (find_more_contexts_for_caller_subset): Likewise for the
+       ipa_polymorphic_call_context overload.
+       (intersect_aggregates_with_edge): Replaced IPA_EDGE_REF with a direct
+       use of ipa_edge_args_sum.  Replaced IPA_NODE_REF with direct uses of
+       ipa_node_params_sum.
+       (find_aggregate_values_for_callers_subset): Likewise, also reusing
+       results of ipa_edge_args_sum->get.
+       (cgraph_edge_brings_all_scalars_for_node): Replaced IPA_NODE_REF with
+       direct uses of ipa_node_params_sum, replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum.
+       (cgraph_edge_brings_all_agg_vals_for_node): Likewise, moved node
+       summary query after the early exit and reused the result later.
+       (decide_about_value): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum.
+       (decide_whether_version_node): Likewise.  Removed re-querying for
+       summaries after cloning.
+       (spread_undeadness): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum.
+       (has_undead_caller_from_outside_scc_p): Likewise, reusing results of
+       some queries.
+       (identify_dead_nodes): Likewise.
+       (ipcp_store_bits_results): Replaced IPA_NODE_REF with direct uses of
+       ipa_node_params_sum.
+       (ipcp_store_vr_results): Likewise.
+       * ipa-fnsummary.c (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (analyze_function_body): Likewise.
+       (estimate_calls_size_and_time): Likewise.
+       (ipa_cached_call_context::duplicate_from): Likewise.
+       (ipa_call_context::equal_to): Likewise.
+       (remap_edge_params): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       (inline_read_section): Likewise.
+       * ipa-icf.c (sem_function::param_used_p): Likewise.
+       * ipa-modref.c (compute_parm_map): Likewise.
+       (compute_parm_map): Replaced IPA_EDGE_REF with a direct use of
+       ipa_edge_args_sum.
+       (get_access_for_fnspec): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum and replaced IPA_EDGE_REF with a direct use of
+       ipa_edge_args_sum.
+       * ipa-profile.c (check_argument_count): Likewise.
+       * ipa-prop.c (ipa_alloc_node_params): Replaced IPA_NODE_REF_GET_CREATE
+       with a direct use of ipa_node_params_sum.
+       (ipa_initialize_node_params): Likewise.
+       (ipa_print_node_jump_functions_for_edge): Replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum and reused the query result.
+       (ipa_compute_jump_functions_for_edge): Replaced IPA_NODE_REF with a
+       direct use of ipa_node_params_sum and replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum.
+       (ipa_note_param_call): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum and reused the result of the query.
+       (ipa_analyze_node): Likewise.
+       (ipa_analyze_controlled_uses): Replaced IPA_NODE_REF with a direct use
+       of ipa_node_params_sum.
+       (update_jump_functions_after_inlining): Replaced IPA_EDGE_REF with
+       direct uses of ipa_edge_args_sum.
+       (update_indirect_edges_after_inlining): Replaced IPA_NODE_REF with
+       direct uses of ipa_node_params_sum and replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum.  Removed superficial re-querying the
+       top edge summary.
+       (propagate_controlled_uses): Replaced IPA_NODE_REF with direct uses of
+       ipa_node_params_sum and replaced IPA_EDGE_REF with a direct use of
+       ipa_edge_args_sum.
+       (ipa_propagate_indirect_call_infos): Replaced IPA_EDGE_REF with a
+       direct use of ipa_edge_args_sum.
+       (ipa_edge_args_sum_t::duplicate): Replaced IPA_NODE_REF with a direct
+       use of ipa_node_params_sum.
+       (ipa_print_node_params): Likewise.
+       (ipa_write_node_info): Likewise and also replaced IPA_EDGE_REF with
+       direct uses of ipa_edge_args_sum.
+       (ipa_read_edge_info): Replaced IPA_EDGE_REF with a direct use of
+       ipa_edge_args_sum.
+       (ipa_read_node_info): Replaced IPA_NODE_REF with a direct use of
+       ipa_node_params_sum.
+       (ipa_prop_write_jump_functions): Likewise.  Move variable node to the
+       scopes where it is used.
+
+2021-05-10  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc)
+       <case E_V2SImode>: Force op_true to register.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (MVE_FP_COMPARISONS): New.
+       * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_f<mode>)
+       (mve_vcmp<mve_cmp_op>q_n_f<mode>): New, merge all vcmp_*f*
+       patterns.
+       (mve_vcmpeqq_f<mode>, mve_vcmpeqq_n_f<mode>, mve_vcmpgeq_f<mode>)
+       (mve_vcmpgeq_n_f<mode>, mve_vcmpgtq_f<mode>)
+       (mve_vcmpgtq_n_f<mode>, mve_vcmpleq_f<mode>)
+       (mve_vcmpleq_n_f<mode>, mve_vcmpltq_f<mode>)
+       (mve_vcmpltq_n_f<mode>, mve_vcmpneq_f<mode>)
+       (mve_vcmpneq_n_f<mode>): Remove.
+       * config/arm/unspecs.md (VCMPEQQ_F, VCMPEQQ_N_F, VCMPGEQ_F)
+       (VCMPGEQ_N_F, VCMPGTQ_F, VCMPGTQ_N_F, VCMPLEQ_F, VCMPLEQ_N_F)
+       (VCMPLTQ_F, VCMPLTQ_N_F, VCMPNEQ_F, VCMPNEQ_N_F): Remove.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (MVE_COMPARISONS): New.
+       (mve_cmp_op): New.
+       (mve_cmp_type): New.
+       * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_<mode>): New, merge all
+       mve_vcmp patterns.
+       (mve_vcmpneq_<mode>, mve_vcmpcsq_n_<mode>, mve_vcmpcsq_<mode>)
+       (mve_vcmpeqq_n_<mode>, mve_vcmpeqq_<mode>, mve_vcmpgeq_n_<mode>)
+       (mve_vcmpgeq_<mode>, mve_vcmpgtq_n_<mode>, mve_vcmpgtq_<mode>)
+       (mve_vcmphiq_n_<mode>, mve_vcmphiq_<mode>, mve_vcmpleq_n_<mode>)
+       (mve_vcmpleq_<mode>, mve_vcmpltq_n_<mode>, mve_vcmpltq_<mode>)
+       (mve_vcmpneq_n_<mode>, mve_vcmpltq_n_<mode>, mve_vcmpltq_<mode>)
+       (mve_vcmpneq_n_<mode>): Remove.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm_mve.h (__arm_vcmp*): Remove 's' suffix.
+       * config/arm/arm_mve_builtins.def (vcmp*): Remove 's' suffix.
+       * config/arm/mve.md (mve_vcmp*): Remove 's' suffix in pattern
+       names.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm_mve_builtins.def (vcmpneq_u): Remove.
+       (vcmpneq_n_u): Likewise.
+       (vcmpeqq_u,): Likewise.
+       (vcmpeqq_n_u): Likewise.
+       * config/arm/iterators.md (supf): Remove VCMPNEQ_U, VCMPEQQ_U,
+       VCMPEQQ_N_U and VCMPNEQ_N_U.
+       * config/arm/mve.md (mve_vcmpneq): Remove <supf> iteration.
+       (mve_vcmpeqq_n): Likewise.
+       (mve_vcmpeqq): Likewise.
+       (mve_vcmpneq_n): Likewise.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm_mve.h (__arm_vcmpeq*u*, __arm_vcmpne*u*): Call
+       the 's' version of the builtin.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100492
+       * tree-loop-distribution.c (find_seed_stmts_for_distribution):
+       Find nothing when the loop contains an irreducible region.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100464
+       PR c++/100468
+       * gimple-fold.c (canonicalize_constructor_val): Do not set
+       TREE_ADDRESSABLE.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100434
+       * tree-ssa-dse.c (initialize_ao_ref_for_dse): Handle
+       call LHS.
+       (dse_optimize_stmt): Handle call LHS by dropping the
+       LHS or the whole call if it doesn't have other
+       side-effects.
+       (pass_dse::execute): Adjust.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Add missing genversion rule.
+
+2021-05-10  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99960
+       * config/arm/mve.md (*mve_mov<mode>): Simplify output code. Use
+       vldrw.u32 and vstrw.32 for V2D[IF]mode loads and stores.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * builtins.c (is_builtin_name): Use startswith
+       function instead of strncmp.
+       * collect2.c (main): Likewise.
+       (has_lto_section): Likewise.
+       (scan_libraries): Likewise.
+       * coverage.c (coverage_checksum_string): Likewise.
+       (coverage_init): Likewise.
+       * dwarf2out.c (is_cxx): Likewise.
+       (gen_compile_unit_die): Likewise.
+       * gcc-ar.c (main): Likewise.
+       * gcc.c (init_spec): Likewise.
+       (read_specs): Likewise.
+       (execute): Likewise.
+       (check_live_switch): Likewise.
+       * genattrtab.c (write_attr_case): Likewise.
+       (IS_ATTR_GROUP): Likewise.
+       * gencfn-macros.c (main): Likewise.
+       * gengtype.c (type_for_name): Likewise.
+       (gen_rtx_next): Likewise.
+       (get_file_langdir): Likewise.
+       (write_local): Likewise.
+       * genmatch.c (get_operator): Likewise.
+       (get_operand_type): Likewise.
+       (expr::gen_transform): Likewise.
+       * genoutput.c (validate_optab_operands): Likewise.
+       * incpath.c (add_sysroot_to_chain): Likewise.
+       * langhooks.c (lang_GNU_C): Likewise.
+       (lang_GNU_CXX): Likewise.
+       (lang_GNU_Fortran): Likewise.
+       (lang_GNU_OBJC): Likewise.
+       * lto-wrapper.c (run_gcc): Likewise.
+       * omp-general.c (omp_max_simt_vf): Likewise.
+       * omp-low.c (omp_runtime_api_call): Likewise.
+       * opts-common.c (parse_options_from_collect_gcc_options): Likewise.
+       * read-rtl-function.c (function_reader::read_rtx_operand_r): Likewise.
+       * real.c (real_from_string): Likewise.
+       * selftest.c (assert_str_startswith): Likewise.
+       * timevar.c (timer::validate_phases): Likewise.
+       * tree.c (get_file_function_name): Likewise.
+       * ubsan.c (ubsan_use_new_style_p): Likewise.
+       * varasm.c (default_function_rodata_section): Likewise.
+       (incorporeal_function_p): Likewise.
+       (default_section_type_flags): Likewise.
+       * system.h (startswith): Define startswith.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * bitmap.h (class auto_bitmap): Remove
+       __cplusplus >= 201103.
+       * config/aarch64/aarch64.c: Likewise.
+       * gimple-ssa-store-merging.c (store_immediate_info::store_immediate_info):
+       Likewise.
+       * sbitmap.h: Likewise.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Rename gcov-iov to genversion and depend
+       on version.h (instead of gcov-iov.h).
+       * gcov-io.h: Include version.h instread of gcov-iov.h.
+       * gengtype-state.c (read_state_version): Likewise.
+       * gcov-iov.c: Moved to...
+       * genversion.c: ...here.
+       * lto-streamer.h (LTO_major_version): Define it with
+       GCC_major_version.
+       * version.c: Removed.
+       * version.h: Removed.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (UNSPEC_ARC_DMPYWH): Define.
+       * config/arc/simdext.md (VCT): Add predicates for iterator
+       elements.
+       (EMUVEC): Define.
+       (voptab): Likewise.
+       (vec_widen_<V_US>mult_hi_v4hi): Change pattern predicate.
+       (<voptab>v2si3): New patterns.
+       (neg): Likewise.
+       (reduc_plus_scal_v4hi): Likewise.
+       (reduc_plus_scal_v2si): Likewise.
+       (vec_duplicatev2si): Likewise.
+       (vec_duplicatev4hi): Likewise.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/simdext.md: Format and cleanup file.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/simdext.md (movmisalignv2hi): Allow misaligned access
+       only when munaligned-access option is on.
+       (movmisalign<mode>): Likewise.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * common/config/arc/arc-common.c (arc_handle_option): Remove dot
+       from string.
+       * config/arc/arc.c (arc_reorg): Remove underscore from string.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
+       (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+       * config/arc/arc.md (clrsbsi2): Cleanup pattern.
+       (norm_f): Likewise.
+       (ffs): Likewise.
+       (ffs_f): Likewise.
+       (clzsi2): Use fls instruction when available.
+       (arc_clzsi2): Likewise.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Add r26 and r27.
+
+2021-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * doc/extend.texi (__builtin_arc_sr): Swap arguments.
+
+2021-05-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR middle-end/100467
+       * toplev.c (compile_file): Call insn_locations_init before
+       targetm.asm_out.code_end.
+
+2021-05-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       Revert:
+       2021-05-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode.
+
+2021-05-07  Jakub Jelinek  <jakub@redhat.com>
+           Andrew Stubbs  <amd@codesourcery.com>
+
+       PR target/100418
+       * builtins.c (try_store_by_multiple_pieces): Use force_operand for
+       emit_move_insn operands.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgexpand.c (expand_gimple_basic_block): Do not inherit a current
+       location for the outgoing edges of an empty block.
+       * dwarf2out.c (add_subscript_info): Retrieve the bounds and index
+       type by means of the get_array_descr_info langhook, if it is set and
+       returns true.  Remove obsolete code dealing with unnamed subtypes.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ssa_block_ranges): Virtualize.
+       (sbr_vector): Renamed from ssa_block_cache.
+       (sbr_vector::sbr_vector): Allocate from obstack abd initialize.
+       (ssa_block_ranges::~ssa_block_ranges): Remove.
+       (sbr_vector::set_bb_range): Use varying and undefined cached values.
+       (ssa_block_ranges::set_bb_varying): Remove.
+       (sbr_vector::get_bb_range): Adjust assert.
+       (sbr_vector::bb_range_p): Adjust assert.
+       (~block_range_cache): No freeing loop required.
+       (block_range_cache::get_block_ranges): Remove.
+       (block_range_cache::set_bb_range): Inline get_block_ranges.
+       (block_range_cache::set_bb_varying): Remove.
+       * gimple-range-cache.h (set_bb_varying): Remove prototype.
+       * value-range.h (irange_allocator::get_memory): New.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Search
+       dominator tree is available and requested.
+       (ranger_cache::ssa_range_in_bb): Don't search dom tree here.
+       (ranger_cache::fill_block_cache): Don't search dom tree here either.
+       * gimple-range-cache.h (non_null_deref_p): Add dom_search param.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_on_exit): Handle block with
+       only PHI nodes better.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-edge.h (gimple_outgoing_range): Rename from
+       outgoing_range.
+       (gcond_edge_range): Export prototype.
+       * gimple-range-edge.cc (gcond_edge_range): New.
+       (gimple_outgoing_range::edge_range_p): Use gcond_edge_range.
+       * gimple-range-gori.h (gori_compute): Use gimple_outgoing_range.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Compute
+       default range into a temp and allocate only what is needed.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (operator_trunc_mod::wi_fold): x % 0 is UNDEFINED.
+
+2021-05-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.h (gimple_range_global): Pick up parameter initial
+       values, and use-before defined locals are UNDEFINED.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/extend.texi (scalar_storage_order): Mention effect on pointer
+       and vector fields.
+       * tree.h (reverse_storage_order_for_component_p): Return false if
+       the type is a pointer.
+
+2021-05-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode.
+
+2021-05-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98218
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc):
+       Handle V8QI, V4HI and V2SI modes.
+       * config/i386/mmx.md (mmx_pblendvb): New insn pattern.
+       * config/i386/sse.md (unspec): Move UNSPEC_BLENDV ...
+       * config/i386/i386.md (unspec): ... here.
+
+2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * omp-low.c (lower_rec_simd_input_clauses): Set max_vf = 1 if
+       a truth_value_p reduction variable is nonintegral.
+
+2021-05-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100445
+       * config/i386/i386-expand.c (ix86_use_mask_cmp_p):
+       Return false for mode sizes < 16.
+
+2021-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100445
+       * config/i386/mmx.md (*xop_pcmov_<mode>): New define_insn.
+
+2021-05-06  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-sra.c (ipa_sra_dump_all_summaries): Dump edge summaries even
+       when there is no function summary.
+       (ipa_sra_summarize_function): produce edge summaries even when
+       bailing out early.
+
+2021-05-06  Tom Tromey  <tom@tromey.com>
+
+       * godump.c (string_hash_eq): Remove.
+       (go_finish): Use htab_eq_string.
+
+2021-05-06  Tom Tromey  <tom@tromey.com>
+
+       * gengtype-state.c (read_state): Use htab_eq_string.
+       (string_eq): Remove.
+
+2021-05-06  Tom Tromey  <tom@tromey.com>
+
+       * gensupport.c (htab_eq_string): Remove.
+
+2021-05-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR ipa/97937
+       * debug.h (gcc_debug_hooks): Add set_ignored_loc function pointer.
+       * dwarf2out.h (dw_fde_node::ignored_debug): New data item.
+       * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Add dummy
+       set_ignored_loc callbacks.
+       * debug.c (do_nothing_debug_hooks): Likewise.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+       * dwarf2out.c (text_section_used, cold_text_section_used): Remove.
+       (in_text_section_p, last_text_label, last_cold_label,
+       switch_text_ranges, switch_cold_ranges): New data items.
+       (dwarf2out_note_section_used): Remove.
+       (dwarf2out_begin_prologue): Set fde->ignored_debug and
+       in_text_section_p.
+       (mark_ignored_debug_section): New helper function.
+       (dwarf2out_end_epilogue, dwarf2out_switch_text_section): Call
+       mark_ignored_debug_section.
+       (dwarf2_debug_hooks): Use dwarf2out_set_ignored_loc.
+       (dwarf2_lineno_debug_hooks): Use dummy for set_ignored_loc.
+       (size_of_aranges): Adjust formula for multi-part text ranges size.
+       (output_aranges): Output multi-part text ranges.
+       (dwarf2out_set_ignored_loc): New callback function.
+       (dwarf2out_finish): Output multi-part text ranges.
+       (dwarf2out_c_finalize): Clear new data items.
+       * final.c (final_start_function_1): Call set_ignored_loc callback.
+       (final_scan_insn_1): Likewise.
+       * ggc-page.c (gt_ggc_mx): New helper function.
+       * stringpool.c (gt_pch_nx): Likewise.
+
+2021-05-06  Richard Biener  <rguenther@suse.de>
+
+       * timevar.def (TV_TREE_INSERT_PHI_NODES): Remove.
+       (TV_TREE_SSA_REWRITE_BLOCKS): Likewise.
+       (TV_TREE_INTO_SSA): New.
+       * tree-into-ssa.c (insert_phi_nodes): Do not account separately.
+       (rewrite_blocks): Likewise.
+       (pass_data_build_ssa): Account to TV_TREE_INTO_SSA.
+
+2021-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-phiopt.c (value_replacement, minmax_replacement,
+       abs_replacement, xor_replacement,
+       cond_removal_in_popcount_clz_ctz_pattern,
+       replace_phi_edge_with_variable): Change type of phi argument from
+       gimple * to gphi *.
+
+2021-05-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-split.c (split_loop): Delay updating SSA form.
+       Output an opt-info message.
+       (do_split_loop_on_cond): Likewise.
+       (tree_ssa_split_loops): Update SSA form here.
+
+2021-05-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-inline.c (tree_function_versioning): Fix DECL_BY_REFERENCE
+       return variable removal.
+
+2021-05-06  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * config/s390/s390-builtins.def (O_M5, O1_M5, ...): Remove unused macros.
+       (s390_vec_permi_s64, s390_vec_permi_b64, s390_vec_permi_u64)
+       (s390_vec_permi_dbl, s390_vpdi): Use the O3_U2 type for the immediate
+       operand.
+       * config/s390/s390.c (s390_const_operand_ok): Remove unused
+       values.
+
+2021-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
+       spaceship_replacement.
+       (cond_only_block_p, spaceship_replacement): New functions.
+
+2021-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100373
+       * tree-emutls.c (gen_emutls_addr): Pass in whether we're
+       dealing with a debug use and only query existing addresses
+       if so.
+       (lower_emutls_1): Avoid splitting out addresses for debug
+       stmts, reset the debug stmt when we fail to find existing
+       lowered addresses.
+       (lower_emutls_phi_arg): Set wi.stmt.
+
+2021-05-06  Christoph Muellner  <cmuellner@gcc.gnu.org>
+
+       PR target/100266
+       * config/riscv/riscv.c (riscv_block_move_loop): Use cbranch helper.
+       * config/riscv/riscv.md (cbranch<mode>4): Generate helpers.
+       (stack_protect_test): Use cbranch helper.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/100402
+       * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
+       always return the establisher frame for __builtin_frame_address (0).
+
+2021-05-05  Ivan Sorokin  <vanyacpp@gmail.com>
+
+       PR target/91400
+       * config/i386/i386-builtins.c (ix86_cpu_model_type_node): New.
+       (ix86_cpu_model_var): Likewise.
+       (ix86_cpu_features2_type_node): Likewise.
+       (ix86_cpu_features2_var): Likewise.
+       (fold_builtin_cpu): Cache __cpu_model and __cpu_features2 with
+       their types.
+
+2021-05-05  Martin Sebor  <msebor@redhat.com>
+
+       * passes.def (pass_warn_printf): Run after SSA.
+
+2021-05-05  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * config/arm/neon.md (neon_vtst_combine<mode>): New pattern.
+       * config/arm/predicates.md (minus_one_operand): New predicate.
+
+2021-05-05  Jeff Law  <jlaw@tachyum.com>
+
+       * config/avr/avr.md: Remove references to CC_STATUS_INIT.
+
+2021-05-05  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       PR rtl-optimization/100263
+       * postreload.c (move2add_valid_value_p): Ensure register can
+       change mode.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/100411
+       * cfgcleanup.c (try_crossjump_to_edge): Also skip end of prologue
+       and beginning of function markers.
+
+2021-05-05  Jeff Law  <jlaw@tachyum.com>
+
+       * config/cr16/cr16.h (NOTICE_UPDATE_CC): Remove.
+       * config/cr16/cr16.c (notice_update_cc): Remove.
+       * config/cr16/cr16-protos.h (notice_update_cc): Remove.
+
+2021-05-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98218
+       * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
+       Handle V8QI, V4HI and V2SI modes.
+       * config/i386/i386.c (ix86_build_const_vector): Handle V2SImode.
+       (ix86_build_signbit_mask): Ditto.
+       * config/i386/mmx.md (MMXMODE14): New mode iterator.
+       (<smaxmin:code><MMXMODE14:mode>3): New expander.
+       (*mmx_<smaxmin:code><MMXMODE14:mode>3): New insn pattern.
+       (<umaxmin:code><MMXMODE24:mode>3): New expander.
+       (*mmx_<umaxmin:code><MMXMODE24:mode>3): New insn pattern.
+       (vec_cmp<MMXMODEI:mode><MMXMODEI:mode>): New expander.
+       (vec_cmpu<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
+       (vcond<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
+       (vcondu<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
+       (vcond_mask_<MMXMODEI:mode><MMXMODEI:mode>): Ditto.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (loc_list_from_tree_1) <DECL>: During early DWARF, do
+       not expand the VALUE_EXPR of variables put in the non-local frame.
+       * gimplify.c (gimplify_type_sizes) <RECORD_TYPE>: If the type is not
+       to be ignored for debug info, ensure its variable offsets are not.
+
+2021-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/79333
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+       Fold stmt following SSA edges.
+
+2021-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100394
+       * calls.c (expand_call): Preserve possibly throwing calls.
+       * cfgexpand.c (expand_call_stmt): When a call can throw signal
+       RTL expansion there are side-effects.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Simplify,
+       mark all possibly throwing stmts necessary unless we can elide
+       dead EH.
+       * tree-ssa-dse.c (pass_dse::execute): Preserve exceptions unless
+       -fdelete-dead-exceptions.
+       * tree.h (DECL_PURE_P): Add note about exceptions.
+
+2021-05-05  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Make it
+       unconditional.
+
+2021-05-04  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_output_mi_thunk): Use
+       get_fnname_from_decl for name of thunk.
+       * config/rs6000/rs6000.c (rs6000_declare_alias): Use assemble_name
+       and ASM_OUTPUT_LABEL.
+       (rs6000_xcoff_declare_function_name): Use assemble_name and
+       ASM_OUTPUT_LABEL.
+       (rs6000_xcoff_declare_object_name): Use ASM_OUTPUT_LABEL.
+       (rs6000_xcoff_encode_section_info): Don't add mapping class
+       for aliases.  Always add [DS] mapping class to primary
+       FUNCTION_DECL.
+       (rs6000_asm_weaken_decl): Don't explicitly add [DS].
+
+2021-05-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100307
+       * builtins.c (compute_objsize_r): Clear base0 for pointers.
+
+2021-05-04  Jeff Law  <jlaw@tachyum.com>
+
+       * config/bfin/bfin.h (NOTICE_UPDATE_CC): Remove.
+
+2021-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * caller-save.c: Remove CC0.
+       * cfgcleanup.c: Remove CC0.
+       * cfgrtl.c: Remove CC0.
+       * combine.c: Remove CC0.
+       * compare-elim.c: Remove CC0.
+       * conditions.h: Remove CC0.
+       * config/h8300/h8300.h: Remove CC0.
+       * config/h8300/h8300-protos.h: Remove CC0.
+       * config/h8300/peepholes.md: Remove CC0.
+       * config/i386/x86-tune-sched.c: Remove CC0.
+       * config/m68k/m68k.c: Remove CC0.
+       * config/rl78/rl78.c: Remove CC0.
+       * config/sparc/sparc.c: Remove CC0.
+       * config/xtensa/xtensa.c: Remove CC0.
+       (gen_conditional_move):  Use pc_rtx instead of cc0_rtx in a piece of
+       RTL where that is used as a placeholder only.
+       * cprop.c: Remove CC0.
+       * cse.c: Remove CC0.
+       * cselib.c: Remove CC0.
+       * df-problems.c: Remove CC0.
+       * df-scan.c: Remove CC0.
+       * doc/md.texi: Remove CC0.  Adjust an example.
+       * doc/rtl.texi: Remove CC0.  Adjust an example.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in: Remove CC0.
+       * emit-rtl.c: Remove CC0.
+       * final.c: Remove CC0.
+       * fwprop.c: Remove CC0.
+       * gcse-common.c: Remove CC0.
+       * gcse.c: Remove CC0.
+       * genattrtab.c: Remove CC0.
+       * genconfig.c: Remove CC0.
+       * genemit.c: Remove CC0.
+       * genextract.c: Remove CC0.
+       * gengenrtl.c: Remove CC0.
+       * genrecog.c: Remove CC0.
+       * haifa-sched.c: Remove CC0.
+       * ifcvt.c: Remove CC0.
+       * ira-costs.c: Remove CC0.
+       * ira.c: Remove CC0.
+       * jump.c: Remove CC0.
+       * loop-invariant.c: Remove CC0.
+       * lra-constraints.c: Remove CC0.
+       * lra-eliminations.c: Remove CC0.
+       * optabs.c: Remove CC0.
+       * postreload-gcse.c: Remove CC0.
+       * postreload.c: Remove CC0.
+       * print-rtl.c: Remove CC0.
+       * read-rtl-function.c: Remove CC0.
+       * reg-notes.def: Remove CC0.
+       * reg-stack.c: Remove CC0.
+       * reginfo.c: Remove CC0.
+       * regrename.c: Remove CC0.
+       * reload.c: Remove CC0.
+       * reload1.c: Remove CC0.
+       * reorg.c: Remove CC0.
+       * resource.c: Remove CC0.
+       * rtl.c: Remove CC0.
+       * rtl.def: Remove CC0.
+       * rtl.h: Remove CC0.
+       * rtlanal.c: Remove CC0.
+       * sched-deps.c: Remove CC0.
+       * sched-rgn.c: Remove CC0.
+       * shrink-wrap.c: Remove CC0.
+       * simplify-rtx.c: Remove CC0.
+       * system.h: Remove CC0.  Poison NOTICE_UPDATE_CC, CC_STATUS_MDEP_INIT,
+       CC_STATUS_MDEP, and CC_STATUS.
+       * target.def: Remove CC0.
+       * valtrack.c: Remove CC0.
+       * var-tracking.c: Remove CC0.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100414
+       * tree-ssa-phiopt.c (get_non_trapping): Do not compute dominance
+       info here.
+       (tree_ssa_phiopt_worker): But unconditionally here.
+
+2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-low.c (lower_rec_input_clauses, lower_reduction_clauses): Handle
+       && and || with floating-point and complex arguments.
+
+2021-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-inline.c (insert_debug_decl_map): Delete.
+       (copy_debug_stmt): Minor tweak.
+       (setup_one_parameter): Do not use a variable if the value is either
+       a read-only DECL or a non-addressable local variable in the caller.
+       In this case, insert the debug-only variable in the map manually.
+       (expand_call_inline): Do not generate a CLOBBER for these values.
+       * tree-inline.h (debug_map): Minor tweak.
+
+2021-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * builtins.c (builtin_with_linkage_p): Return true for stp[n]cpy.
+       * symtab.c (symtab_node::output_to_lto_symbol_table_p): Tidy up.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100329
+       * tree-ssa-reassoc.c (can_reassociate_p): Do not reassociate
+       asm goto defs.
+       (insert_stmt_after): Assert we're not running into asm goto.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100398
+       * tree-ssa-dse.c (pass_dse::execute): Preserve control
+       altering stmts.
+
+2021-05-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * builtins.c (try_store_by_multiple_pieces): Fix constfun's prototype.
+
+2021-05-04  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (try_store_by_multiple_pieces): New.
+       (expand_builtin_memset_args): Use it.  If target_char_cast
+       fails, proceed as for non-constant val.  Pass len's ctz to...
+       * expr.c (clear_storage_hints): ... this.  Try store by
+       multiple pieces after setmem.
+       (clear_storage): Adjust.
+       * expr.h (clear_storage_hints): Likewise.
+       (try_store_by_multiple_pieces): Declare.
+       * passes.def: Replace the last copy_prop with ccp.
+
+2021-05-03  Tom de Vries  <tdevries@suse.de>
+
+       PR target/100321
+       * omp-low.c (lower_rec_input_clauses): Disable SIMT for user-defined
+       reduction.
+
+2021-05-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-dse.c (dse_classify_store): Track two PHI defs.
+
+2021-05-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-dse.c: Do not include domwalk.h but cfganal.h.
+       (dse_dom_walker): Remove.
+       (dse_dom_walker::dse_optimize_stmt): Rename...
+       (dse_optimize_stmt): ... to this, pass in live_bytes sbitmap.
+       (dse_dom_walker::before_dom_children): Inline ...
+       (pass_dse::execute): ... here.  Perform a reverse program
+       order walk.
+
+2021-05-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/99703
+       * configure: Regenerated.
+
+2021-05-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR target/100217
+       * config/s390/s390.c (s390_hard_fp_reg_p): New function.
+       (s390_md_asm_adjust): Handle hard registers.
+
+2021-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/100382
+       * tree-ssa-dse.c: Include tree-eh.h.
+       (dse_dom_walker::before_dom_children): Don't remove stmts if
+       stmt_unremovable_because_of_non_call_eh_p is true.
+
+2021-05-02  David Edelsohn  <dje.gcc@gmail.com>
+
+       * varasm.c (compute_reloc_for_var): Split out from...
+       (get_variable_section): Use it.
+       * output.h (compute_reloc_for_var): Declare.
+       * config/rs6000/rs6000-protos.h
+       (rs6000_xcoff_asm_output_aligned_decl_common): Change alignment to
+       unsigned int.
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address_aix):
+       Don't append storage mapping class to symbol.
+       (rs6000_xcoff_asm_named_section): Add BS and UL mapping classes.
+       Don't convert TLS BSS to common.
+       (rs6000_xcoff_unique_section): Don't fall back to select_secton.
+       (rs6000_xcoff_section_type_flags): Add SECTION_BSS if DECL is
+       bss_initializer.
+       (rs6000_xcoff_asm_globalize_decl_name): Don't strip storage
+       mapping class.
+       (rs6000_xcoff_asm_output_aligned_decl_common): Align is unsigned int.
+       If align is 0 from TLS class, use the same rules as varasm.c
+       If not common, switch to BSS section manually.
+       If common, emit appropriate comm or lcomm directive.
+       (rs6000_xcoff_encode_section_info): Add logic to append all
+       storage mapping classes.
+       (rs6000_asm_weaken_decl): Adjust for qualname symbols.
+       * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
+       rs6000_xcoff_asm_output_aligned_decl_common.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
+       rs6000_xcoff_asm_output_aligned_decl_common.
+       (ASM_OUTPUT_TLS_COMMON): Use
+       rs6000_xcoff_asm_output_aligned_decl_common.
+
+2021-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100375
+       * config/nvptx/nvptx.c (nvptx_sese_pseudo): Use nullptr instead of 0
+       as first argument of pseudo_node_t constructors.
+
+2021-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100336
+       * config/i386/t-i386 (TM_H): Add $(srcdir)/config/i386/i386-isa.def.
+
+2021-05-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (DEFINE_INT_RANGE_GC_STUBS): Remove.
+       (gt_pch_nx (int_range<1> *&)): New.
+       (gt_ggc_mx (int_range<1> *&)): New.
+       * value-range.h (class irange): Add GTY support for
+       the base class.
+
+2021-05-01  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * doc/options.texi (Negative): Change either or to both and.
+
+2021-04-30  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       float_ml[as][q]_laneq builtin generator macros.
+       * config/aarch64/aarch64-simd.md (mul_laneq<mode>3): Define.
+       (aarch64_float_mla_laneq<mode>): Define.
+       (aarch64_float_mls_laneq<mode>): Define.
+       * config/aarch64/arm_neon.h (vmla_laneq_f32): Use RTL builtin
+       instead of GCC vector extensions.
+       (vmlaq_laneq_f32): Likewise.
+       (vmls_laneq_f32): Likewise.
+       (vmlsq_laneq_f32): Likewise.
+
+2021-04-30  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       float_ml[as]_lane builtin generator macros.
+       * config/aarch64/aarch64-simd.md (*aarch64_mul3_elt<mode>):
+       Rename to...
+       (mul_lane<mode>3): This, and re-order arguments.
+       (aarch64_float_mla_lane<mode>): Define.
+       (aarch64_float_mls_lane<mode>): Define.
+       * config/aarch64/arm_neon.h (vmla_lane_f32): Use RTL builtin
+       instead of GCC vector extensions.
+       (vmlaq_lane_f32): Likewise.
+       (vmls_lane_f32): Likewise.
+       (vmlsq_lane_f32): Likewise.
+
+2021-04-30  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add float_ml[as]
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_float_mla<mode>):
+       Define.
+       (aarch64_float_mls<mode>): Define.
+       * config/aarch64/arm_neon.h (vmla_f32): Use RTL builtin
+       instead of relying on GCC vector extensions.
+       (vmla_f64): Likewise.
+       (vmlaq_f32): Likewise.
+       (vmlaq_f64): Likewise.
+       (vmls_f32): Likewise.
+       (vmls_f64): Likewise.
+       (vmlsq_f32): Likewise.
+       (vmlsq_f64): Likewise.
+       * config/aarch64/iterators.md: Define VDQF_DF mode iterator.
+
+2021-04-30  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       float_ml[as]_n_builtin generator macros.
+       * config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_from_dup<mode>):
+       Rename to...
+       (mul_n<mode>3): This, and re-order arguments.
+       (aarch64_float_mla_n<mode>): Define.
+       (aarch64_float_mls_n<mode>): Define.
+       * config/aarch64/arm_neon.h (vmla_n_f32): Use RTL builtin
+       instead of inline asm.
+       (vmlaq_n_f32): Likewise.
+       (vmls_n_f32): Likewise.
+       (vmlsq_n_f32): Likewise.
+
+2021-04-30  Jonathan Wright  <joanthan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add pmull[2]
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_pmullv8qi): Define.
+       (aarch64_pmull_hiv16qi_insn): Define.
+       (aarch64_pmull_hiv16qi): Define.
+       * config/aarch64/arm_neon.h (vmull_high_p8): Use RTL builtin
+       instead of inline asm.
+       (vmull_p8): Likewise.
+
+2021-04-30  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+       * config/avr/avr.md: Adjust peepholes to match and
+       generate parallels with clobber of REG_CC.
+       (mov<mode>_insn): Rename to mov<mode>_insn_split.
+       (*mov<mode>_insn): Rename to mov<mode>_insn.
+
+2021-04-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * varasm.c (use_blocks_for_decl_p): Don't use section anchors
+       for VAR_DECLs if -fdata-sections enabled.
+
+2021-04-30  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR bootstrap/100327
+       * config/rs6000/rs6000.c
+       (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
+       (rs6000_libgcc_floating_mode_supported_p): New target hook.
+
+2021-04-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.c (class thread_jumps): Split out code
+       from here...
+       (class back_threader_registry): ...to here...
+       (class back_threader_profitability): ...and here...
+       (thread_jumps::thread_through_all_blocks): Remove argument.
+       (back_threader_registry::back_threader_registry): New.
+       (back_threader_registry::~back_threader_registry): New.
+       (back_threader_registry::thread_through_all_blocks): New.
+       (thread_jumps::profitable_jump_thread_path): Move from here...
+       (back_threader_profitability::profitable_path_p): ...to here.
+       (thread_jumps::find_taken_edge): New.
+       (thread_jumps::convert_and_register_current_path): Move...
+       (back_threader_registry::register_path): ...to here.
+       (thread_jumps::register_jump_thread_path_if_profitable): Move...
+       (thread_jumps::maybe_register_path): ...to here.
+       (thread_jumps::handle_phi): Call find_taken_edge and
+       maybe_register_path.
+       (thread_jumps::handle_assignment): Same.
+       (thread_jumps::fsm_find_control_statement_thread_paths): Remove
+       tree argument to handle_phi and handle_assignment.
+       (thread_jumps::find_jump_threads_backwards): Set m_name.  Remove
+       set of m_speed_p and m_max_threaded_paths.
+       (pass_thread_jumps::execute): Remove second argument from
+       find_jump_threads_backwards.
+       (pass_early_thread_jumps::execute): Same.
+
+2021-04-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c (class dom_jump_threader_simplifier): New.
+       (class dom_opt_dom_walker): Initialize some class variables.
+       (pass_dominator::execute): Pass evrp_range_analyzer and
+       dom_jump_threader_simplifier to dom_opt_dom_walker.
+       Adjust for some functions moving into classes.
+       (simplify_stmt_for_jump_threading): Adjust and move to...
+       (jump_threader_simplifier::simplify): ...here.
+       (dom_opt_dom_walker::before_dom_children): Adjust for
+       m_evrp_range_analyzer.
+       (dom_opt_dom_walker::after_dom_children): Remove x_vr_values hack.
+       (test_for_singularity): Place in dom_opt_dom_walker class.
+       (dom_opt_dom_walker::optimize_stmt): The argument
+       evrp_range_analyzer is now a class field.
+       * tree-ssa-threadbackward.c (class thread_jumps): Add m_registry.
+       (thread_jumps::thread_through_all_blocks): New.
+       (thread_jumps::convert_and_register_current_path): Use m_registry.
+       (pass_thread_jumps::execute): Adjust for thread_through_all_blocks
+       being in the threader class.
+       (pass_early_thread_jumps::execute): Same.
+       * tree-ssa-threadedge.c (threadedge_initialize_values): Move...
+       (jump_threader::jump_threader): ...here.
+       (threadedge_finalize_values): Move...
+       (jump_threader::~jump_threader): ...here.
+       (jump_threader::remove_jump_threads_including): New.
+       (jump_threader::thread_through_all_blocks): New.
+       (record_temporary_equivalences_from_phis): Move...
+       (jump_threader::record_temporary_equivalences_from_phis): ...here.
+       (record_temporary_equivalences_from_stmts_at_dest): Move...
+       (jump_threader::record_temporary_equivalences_from_stmts_at_dest):
+       Here...
+       (simplify_control_stmt_condition_1): Move to jump_threader class.
+       (simplify_control_stmt_condition): Move...
+       (jump_threader::simplify_control_stmt_condition): ...here.
+       (thread_around_empty_blocks): Move...
+       (jump_threader::thread_around_empty_blocks): ...here.
+       (thread_through_normal_block): Move...
+       (jump_threader::thread_through_normal_block): ...here.
+       (thread_across_edge): Move...
+       (jump_threader::thread_across_edge): ...here.
+       (thread_outgoing_edges): Move...
+       (jump_threader::thread_outgoing_edges): ...here.
+       * tree-ssa-threadedge.h: Move externally facing functings...
+       (class jump_threader): ...here...
+       (class jump_threader_simplifier): ...and here.
+       * tree-ssa-threadupdate.c (struct redirection_data): Remove comment.
+       (jump_thread_path_allocator::jump_thread_path_allocator): New.
+       (jump_thread_path_allocator::~jump_thread_path_allocator): New.
+       (jump_thread_path_allocator::allocate_thread_edge): New.
+       (jump_thread_path_allocator::allocate_thread_path): New.
+       (jump_thread_path_registry::jump_thread_path_registry): New.
+       (jump_thread_path_registry::~jump_thread_path_registry): New.
+       (jump_thread_path_registry::allocate_thread_edge): New.
+       (jump_thread_path_registry::allocate_thread_path): New.
+       (dump_jump_thread_path): Make extern.
+       (debug (const vec<jump_thread_edge *> &path)): New.
+       (struct removed_edges): Move to tree-ssa-threadupdate.h.
+       (struct thread_stats_d): Remove.
+       (remove_ctrl_stmt_and_useless_edges): Make static.
+       (lookup_redirection_data): Move...
+       (jump_thread_path_registry::lookup_redirection_data): ...here.
+       (ssa_redirect_edges): Make static.
+       (thread_block_1): Move...
+       (jump_thread_path_registry::thread_block_1): ...here.
+       (thread_block): Move...
+       (jump_thread_path_registry::thread_block): ...here.
+       (thread_through_loop_header):  Move...
+       (jump_thread_path_registry::thread_through_loop_header): ...here.
+       (mark_threaded_blocks): Move...
+       (jump_thread_path_registry::mark_threaded_blocks): ...here.
+       (debug_path): Move...
+       (jump_thread_path_registry::debug_path): ...here.
+       (debug_all_paths): Move...
+       (jump_thread_path_registry::dump): ..here.
+       (rewire_first_differing_edge): Move...
+       (jump_thread_path_registry::rewire_first_differing_edge): ...here.
+       (adjust_paths_after_duplication): Move...
+       (jump_thread_path_registry::adjust_paths_after_duplication): ...here.
+       (duplicate_thread_path): Move...
+       (jump_thread_path_registry::duplicate_thread_path): ..here.
+       (remove_jump_threads_including): Move...
+       (jump_thread_path_registry::remove_jump_threads_including): ...here.
+       (thread_through_all_blocks): Move to...
+       (jump_thread_path_registry::thread_through_all_blocks): ...here.
+       (delete_jump_thread_path): Remove.
+       (register_jump_thread): Move...
+       (jump_thread_path_registry::register_jump_thread): ...here.
+       * tree-ssa-threadupdate.h: Move externally facing functions...
+       (class jump_thread_path_allocator): ...here...
+       (class jump_thread_path_registry): ...and here.
+       (thread_through_all_blocks): Remove.
+       (struct removed_edges): New.
+       (register_jump_thread): Remove.
+       (remove_jump_threads_including): Remove.
+       (delete_jump_thread_path): Remove.
+       (remove_ctrl_stmt_and_useless_edges): Remove.
+       (free_dom_edge_info): New prototype.
+       * tree-vrp.c: Remove x_vr_values hack.
+       (class vrp_jump_threader_simplifier): New.
+       (vrp_jump_threader_simplifier::simplify): New.
+       (vrp_jump_threader::vrp_jump_threader): Adjust method signature.
+       Remove m_dummy_cond.
+       Instantiate m_simplifier and m_threader.
+       (vrp_jump_threader::thread_through_all_blocks): New.
+       (vrp_jump_threader::simplify_stmt): Remove.
+       (vrp_jump_threader::after_dom_children): Do not set m_dummy_cond.
+       Remove x_vr_values hack.
+       (execute_vrp): Adjust for thread_through_all_blocks being in a
+       class.
+
+2021-04-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * genflags.c (gen_insn): Print failed expansion string.
+
+2021-04-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       * expr.c (alignment_for_piecewise_move): Call mode_for_size
+       without limit to MAX_FIXED_MODE_SIZE.
+
+2021-04-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * builtins.c (builtin_memset_gen_str): Don't use return from
+       simplify_gen_subreg.
+
+2021-04-30  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98060
+       * config/i386/i386.md (*add<mode>3_carry_0r): New insn pattern.
+       (*addsi3_carry_zext_0r): Ditto.
+       (*sub<mode>3_carry_0): Ditto.
+       (*subsi3_carry_zext_0r): Ditto.
+       * config/i386/predicates.md (ix86_carry_flag_unset_operator):
+       New predicate.
+       * config/i386/i386.c (ix86_rtx_costs) <case PLUS, case MINUS>:
+       Also consider ix86_carry_flag_unset_operator to calculate
+       the cost of adc/sbb insn.
+
+2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/100225
+       PR rtl-optimization/84878
+       * modulo-sched.c (sms_schedule): Use note_stores to skip loops
+       where we have an instruction which touches (writes) any hard
+       register from df->regular_block_artificial_uses set.
+       Allow not-single-set instruction only right before basic block
+       tail.
+
+2021-04-30  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/riscv/riscv.opt (march=,mabi=): Negative itself.
+
+2021-04-30  LevyHsu  <admin@levyhsu.com>
+
+       * config/riscv/riscv.c (riscv_min_arithmetic_precision): New.
+       * config/riscv/riscv.h (TARGET_MIN_ARITHMETIC_PRECISION): New.
+       * config/riscv/riscv.md (addv<mode>4, uaddv<mode>4): New.
+       (subv<mode>4, usubv<mode>4, mulv<mode>4, umulv<mode>4): New.
+
+2021-04-29  Alexandre Oliva  <oliva@adacore.com>
+
+       * config.gcc: Merged x86 and x86_64 cpu_type-setting cases.
+
+2021-04-29  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Rename to...
+       (ASM_OUTPUT_MAX_SKIP_ALIGN): ... this.  Enclose in do/while(0).
+       * config/i386/i386.c: Adjust.
+       * config/i386/i386.md: Adjust.
+       * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Drop.
+       * config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/gnu-user.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/iamcu.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/openbsdelf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
+
+2021-04-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_int_compare):
+       Swap operands of GTU and LEU comparison to emit carry flag comparison.
+       * config/i386/i386.md (*add<mode>3_carry_0): Change insn
+       predicate to allow more combine opportunities with memory operands.
+       (*sub<mode>3_carry_0): Ditto.
+
+2021-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/100303
+       * rtl-ssa/accesses.cc (function_info::make_use_available): Take a
+       boolean that indicates whether the use will only be used in
+       debug instructions.  Treat it in the same way that existing
+       cross-EBB debug references would be handled if so.
+       (function_info::make_uses_available): Likewise.
+       * rtl-ssa/functions.h (function_info::make_uses_available): Update
+       prototype accordingly.
+       (function_info::make_uses_available): Likewise.
+       * fwprop.c (try_fwprop_subst): Update call accordingly.
+
+2021-04-29  Jeff Law  <jlaw@tachyum.com>
+
+       * config/nios2/nios2-protos.h (nios2_fpu_insn_enabled): Move outside
+       of RTX_CODE guard.
+
+2021-04-29  Uroš Bizjak  <ubizjak@gmail.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR target/100312
+       * config/i386/i386-builtin.def (IX86_BUILTIN_MASKLOADPD)
+       (IX86_BUILTIN_MASKLOADPS, IX86_BUILTIN_MASKLOADPD256)
+       (IX86_BUILTIN_MASKLOADPS256, IX86_BUILTIN_MASKLOADD)
+       (IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256)
+       (IX86_BUILTIN_MASKLOADQ256): Move from SPECIAL_ARGS
+       to PURE_ARGS category.
+       * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins):
+       Handle PURE_ARGS category.
+       * config/i386/i386-expand.c (ix86_expand_builtin): Ditto.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * configure.ac: Check for the presence of sys/locking.h header and
+       for whether _LK_LOCK is supported by _locking.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * gcov-io.h: Define GCOV_LOCKED_WITH_LOCKING if HOST_HAS_LK_LOCK.
+       * gcov-io.c (gcov_open): Add support for GCOV_LOCKED_WITH_LOCKING.
+       * system.h: Include <sys/locking.h> if HAVE_SYS_LOCKING_H.
+
+2021-04-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (fcmov_comparison_operator):
+       Do not check for trivial FP comparison operator.
+       <case GEU, case LTU>: Allow CCGZmode.
+       <case GTU, case LEU>: Do not allow CCCmode.
+       (ix86_comparison_operator) <case GTU, case LEU>: Allow only CCmode.
+       (ix86_carry_flag_operator): Match only LTU and UNLT code.
+       Do not check for trivial FP comparison operator.  Allow CCGZmode.
+
+2021-04-29  Tom de Vries  <tdevries@suse.de>
+
+       * omp-expand.c (expand_omp_simd): Add step_orig, and replace uses of
+       fd->loop.step by either step or orig_step.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (gen_load_pcrel_sym): Delete.
+       (load_got_register): Do the PIC dance here.
+       (sparc_legitimize_tls_address): Simplify.
+       (sparc_emit_probe_stack_range): Likewise.
+       (sparc32_initialize_trampoline): Likewise.
+       (sparc64_initialize_trampoline): Likewise.
+       * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Add @ marker.
+       (probe_stack_range<P:mode>): Likewise.
+       (flush<P:mode>): Likewise.
+       (tgd_hi22<P:mode>): Likewise.
+       (tgd_lo10<P:mode>): Likewise.
+       (tgd_add<P:mode>): Likewise.
+       (tgd_call<P:mode>): Likewise.
+       (tldm_hi22<P:mode>): Likewise.
+       (tldm_lo10<P:mode>): Likewise.
+       (tldm_add<P:mode>): Likewise.
+       (tldm_call<P:mode>): Likewise.
+       (tldo_hix22<P:mode>): Likewise.
+       (tldo_lox10<P:mode>): Likewise.
+       (tldo_add<P:mode>): Likewise.
+       (tie_hi22<P:mode>): Likewise.
+       (tie_lo10<P:mode>): Likewise.
+       (tie_add<P:mode>): Likewise.
+       (tle_hix22<P:mode>): Likewise.
+       (tle_lox10<P:mode>): Likewise.
+       (stack_protect_setsi): Rename to...
+       (stack_protect_set32): ...this.
+       (stack_protect_setdi): Rename to...
+       (stack_protect_set64): ...this.
+       (stack_protect_set): Adjust calls to above.
+       (stack_protect_testsi): Rename to...
+       (stack_protect_test32): ...this.
+       (stack_protect_testdi): Rename to...
+       (stack_protect_test64): ...this.
+       (stack_protect_test): Adjust calls to above.
+
+2021-04-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * builtins.c (builtin_memcpy_read_str): Add a dummy argument.
+       (builtin_strncpy_read_str): Likewise.
+       (builtin_memset_read_str): Add an argument for the previous RTL
+       information and generate the new RTL from the previous RTL info.
+       (builtin_memset_gen_str): Likewise.
+       * builtins.h (builtin_strncpy_read_str): Update the prototype.
+       (builtin_memset_read_str): Likewise.
+       * expr.c (by_pieces_ninsns): If targetm.overlap_op_by_pieces_p()
+       returns true, round up size and alignment to the widest integer
+       mode for maximum size.
+       (pieces_addr::adjust): Add a pointer to by_pieces_prev argument
+       and pass it to m_constfn.
+       (op_by_pieces_d): Add m_push and m_overlap_op_by_pieces.
+       (op_by_pieces_d::op_by_pieces_d): Add a bool argument to
+       initialize m_push.  Initialize m_overlap_op_by_pieces with
+       targetm.overlap_op_by_pieces_p ().
+       (op_by_pieces_d::run): Pass the previous RTL information to
+       pieces_addr::adjust and generate overlapping operations if
+       m_overlap_op_by_pieces is true.
+       (PUSHG_P): New.
+       (move_by_pieces_d::move_by_pieces_d): Updated for op_by_pieces_d
+       change.
+       (store_by_pieces_d::store_by_pieces_d): Updated for op_by_pieces_d
+       change.
+       (can_store_by_pieces): Use by_pieces_constfn on constfun.
+       (store_by_pieces): Use by_pieces_constfn on constfun.  Updated
+       for op_by_pieces_d change.
+       (clear_by_pieces_1): Add a dummy argument.
+       (clear_by_pieces): Updated for op_by_pieces_d change.
+       (compare_by_pieces_d::compare_by_pieces_d): Likewise.
+       (string_cst_read_str): Add a dummy argument.
+       * expr.h (by_pieces_constfn): Add a dummy argument.
+       (by_pieces_prev): New.
+       * target.def (overlap_op_by_pieces_p): New target hook.
+       * config/i386/i386.c (TARGET_OVERLAP_OP_BY_PIECES_P): New.
+       * doc/tm.texi.in: Add TARGET_OVERLAP_OP_BY_PIECES_P.
+       * doc/tm.texi: Regenerated.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100253
+       * tree-vect-stmts.c (vectorizable_load): Do not assume
+       element alignment when DR_MISALIGNMENT is -1.
+       (vectorizable_store): Likewise.
+
+2021-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100302
+       * config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use
+       absu_hwi instead of abs_hwi.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/38474
+       * tree-ssa-structalias.c (add_graph_edge): Avoid direct
+       forwarding when indirect forwarding through ESCAPED
+       alread happens.
+
+2021-04-29  Tom de Vries  <tdevries@suse.de>
+
+       PR target/100232
+       * internal-fn.c (expand_GOMP_SIMT_ENTER_ALLOC)
+       (expand_GOMP_SIMT_LAST_LANE, expand_GOMP_SIMT_ORDERED_PRED)
+       (expand_GOMP_SIMT_VOTE_ANY, expand_GOMP_SIMT_XCHG_BFLY)
+       (expand_GOMP_SIMT_XCHG_IDX): Ensure target is assigned to.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99912
+       * tree-ssa-dse.c (dse_dom_walker::m_need_cfg_cleanup): New.
+       (dse_dom_walker::todo): Likewise.
+       (dse_dom_walker::dse_optimize_stmt): Move VDEF check to the
+       caller.
+       (dse_dom_walker::before_dom_children): Remove trivially
+       dead SSA defs and schedule CFG cleanup if we removed all
+       PHIs in a block.
+       (pass_dse::execute): Get TODO as computed by the DOM walker
+       and return it.  Wipe dominator info earlier.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100308
+       * ipa-prop.c (ipcp_modif_dom_walker::before_dom_children):
+       Track blocks to cleanup EH in new m_need_eh_cleanup.
+       (ipcp_modif_dom_walker::cleanup_eh): New.
+       (ipcp_transform_function): Release dominator info before
+       doing EH cleanup.
+
+2021-04-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100250
+       * attribs.c (attr_access::array_as_string): Avoid dereferencing
+       a pointer when it's null.
+
+2021-04-29  Martin Sebor  <msebor@redhat.com>
+
+       * Makefile.in (OBJS): Add ipa-free-lang-data.o.
+       * ipa-free-lang-data.cc: New file.
+       * tree.c: Move pass free_lang_data to file above.
+        (build_array_type_1): Declare extern.
+       * tree.h (build_array_type_1): Declare.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Modify comment to
+       make consistent with updated RTL pattern.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>qmovn<mode>):
+       Implement using ss_truncate and us_truncate rather than
+       unspecs.
+       * config/aarch64/iterators.md: Remove redundant unspecs and
+       iterator: UNSPEC_[SU]QXTN and SUQMOVN respectively.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_acle.h (__attribute__): Make intrinsic
+       attributes consistent with those defined in arm_neon.h.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/arm_fp16.h (__attribute__): Make intrinsic
+       attributes consistent with those defined in arm_neon.h.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       float_trunc_rodd builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_float_trunc_rodd_df):
+       Define.
+       (aarch64_float_trunc_rodd_lo_v2sf): Define.
+       (aarch64_float_trunc_rodd_hi_v4sf_le): Define.
+       (aarch64_float_trunc_rodd_hi_v4sf_be): Define.
+       (aarch64_float_trunc_rodd_hi_v4sf): Define.
+       * config/aarch64/arm_neon.h (vcvtx_f32_f64): Use RTL builtin
+       instead of inline asm.
+       (vcvtx_high_f32_f64): Likewise.
+       (vcvtxd_f32_f64): Likewise.
+       * config/aarch64/iterators.md: Add FCVTXN unspec.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add tbx1 builtin
+       generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_tbx1<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vqtbx1_s8): USE RTL builtin
+       instead of inline asm.
+       (vqtbx1_u8): Likewise.
+       (vqtbx1_p8): Likewise.
+       (vqtbx1q_s8): Likewise.
+       (vqtbx1q_u8): Likewise.
+       (vqtbx1q_p8): Likewise.
+       (vtbx2_s8): Likewise.
+       (vtbx2_u8): Likewise.
+       (vtbx2_p8): Likewise.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add tbl1 builtin
+       generator macros.
+       * config/aarch64/arm_neon.h (vqtbl1_p8): Use RTL builtin
+       instead of inline asm.
+       (vqtbl1_s8): Likewise.
+       (vqtbl1_u8): Likewise.
+       (vqtbl1q_p8): Likewise.
+       (vqtbl1q_s8): Likewise.
+       (vqtbl1q_u8): Likewise.
+       (vtbl1_s8): Likewise.
+       (vtbl1_u8): Likewise.
+       (vtbl1_p8): Likewise.
+       (vtbl2_s8): Likewise.
+       (vtbl2_u8): Likewise.
+       (vtbl2_p8): Likewise.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add polynomial
+       ssri_n buitin generator macro.
+       * config/aarch64/arm_neon.h (vsri_n_p8): Use RTL builtin
+       instead of inline asm.
+       (vsri_n_p16): Likewise.
+       (vsri_n_p64): Likewise.
+       (vsriq_n_p8): Likewise.
+       (vsriq_n_p16): Likewise.
+       (vsriq_n_p64): Likewise.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use VALLP mode
+       iterator for polynomial ssli_n builtin generator macro.
+       * config/aarch64/arm_neon.h (vsli_n_p8): Use RTL builtin
+       instead of inline asm.
+       (vsli_n_p16): Likewise.
+       (vsliq_n_p8): Likewise.
+       (vsliq_n_p16): Likewise.
+       * config/aarch64/iterators.md: Define VALLP mode iterator.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use VDQV_L
+       iterator to generate [su]adalp RTL builtins.
+       * config/aarch64/aarch64-simd.md: Use VDQV_L iterator in
+       [su]adalp RTL pattern.
+       * config/aarch64/arm_neon.h (vpadal_s32): Use RTL builtin
+       instead of inline asm.
+       (vpadal_u32): Likewise.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]addlp
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>addlp<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vpaddl_s8): Use RTL builtin
+       instead of inline asm.
+       (vpaddl_s16): Likewise.
+       (vpaddl_s32): Likewise.
+       (vpaddl_u8): Likewise.
+       (vpaddl_u16): Likewise.
+       (vpaddl_u32): Likewise.
+       (vpaddlq_s8): Likewise.
+       (vpaddlq_s16): Likewise.
+       (vpaddlq_s32): Likewise.
+       (vpaddlq_u8): Likewise.
+       (vpaddlq_u16): Likewise.
+       (vpaddlq_u32): Liwewise.
+       * config/aarch64/iterators.md: Define [SU]ADDLP unspecs with
+       appropriate attributes.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Use VDQ_I iterator
+       for aarch64_addp<mode> builtin macro generator.
+       * config/aarch64/aarch64-simd.md: Use VDQ_I iterator in
+       aarch64_addp<mode> RTL pattern.
+       * config/aarch64/arm_neon.h (vpaddq_s8): Use RTL builtin
+       instead of inline asm.
+       (vpaddq_s16): Likewise.
+       (vpaddq_s32): Likewise.
+       (vpaddq_s64): Likewise.
+       (vpaddq_u8): Likewise.
+       (vpaddq_u16): Likewise.
+       (vpaddq_u32): Likewise.
+       (vpaddq_u64): Likewise.
+
+2021-04-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add sq[r]dmulh_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_n<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vqdmulh_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vqdmulh_n_s32): Likewise.
+       (vqdmulhq_n_s16): Likewise.
+       (vqdmulhq_n_s32): Likewise.
+       (vqrdmulh_n_s16): Likewise.
+       (vqrdmulh_n_s32): Likewise.
+       (vqrdmulhq_n_s16): Likewise.
+       (vqrdmulhq_n_s32): Likewise.
+
+2021-04-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/install.texi (--enable-offload-defaulted): Document.
+
+2021-04-28  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+       * config/avr/avr-dimode.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add new patterns to match output of
+       the splitters.
+       * config/avr/avr-fixed.md: Likewise.
+       * config/avr/avr.c (cc_reg_rtx): New.
+       (avr_parallel_insn_from_insns): Adjust insn count
+       for removal of set of cc0.
+       (avr_is_casesi_sequence): Likewise.
+       (avr_casei_sequence_check_operands): Likewise.
+       (avr_optimize_casesi): Likewise. Also insert
+       new insns after jump_insn.
+       (avr_pass_casesi::avr_rest_of_handle_casesi): Adjust
+       for removal of set of cc0.
+       (avr_init_expanders): Initialize cc_reg_rtx.
+       (avr_regno_reg_class): Handle REG_CC.
+       (cond_string): Remove usage of CC_OVERFLOW_UNUSABLE.
+       (avr_notice_update_cc): Remove function.
+       (ret_cond_branch): Remove usage of CC_OVERFLOW_UNUSABLE.
+       (compare_condition): Adjust for PARALLEL with
+       REG_CC clobber.
+       (out_shift_with_cnt): Likewise.
+       (ashlhi3_out): Likewise.
+       (ashrhi3_out): Likewise.
+       (lshrhi3_out): Likewise.
+       (avr_class_max_nregs): Return single reg for REG_CC.
+       (avr_compare_pattern): Check for REG_CC instead
+       of cc0_rtx.
+       (avr_reorg_remove_redundant_compare): Likewise.
+       (avr_reorg):Adjust for PARALLEL with REG_CC clobber.
+       (avr_hard_regno_nregs): Return single reg for REG_CC.
+       (avr_hard_regno_mode_ok): Allow only CCmode for REG_CC.
+       (avr_md_asm_adjust): Clobber REG_CC.
+       (TARGET_HARD_REGNO_NREGS): Define.
+       (TARGET_CLASS_MAX_NREGS): Define.
+       (TARGET_MD_ASM_ADJUST): Define.
+       * config/avr/avr.h (FIRST_PSEUDO_REGISTER): Adjust
+       for REG_CC.
+       (enum reg_class): Add CC_REG class.
+       (NOTICE_UPDATE_CC): Remove.
+       (CC_OVERFLOW_UNUSABLE): Remove.
+       (CC_NO_CARRY): Remove.
+       * config/avr/avr.md: Turn existing patterns into
+       define_insn_and_split style patterns where the splitter
+       adds a clobber of the condition code register.  Drop "cc"
+       attribute.  Add new patterns to match output of
+       the splitters.
+       (sez): Remove unused pattern.
+
+2021-04-28  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100311
+       * config/arm/arm.c (arm_hard_regno_mode_ok): Only allow VPR to be
+       used in HImode.
+
+2021-04-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/100305
+       * config/aarch64/constraints.md (Utq): Require the address to
+       be valid for both the element mode and for V2DImode.
+
+2021-04-28  Jakub Jelinek  <jakub@redhat.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
+       * gcc.c (process_command): New variable.
+       (driver::maybe_putenv_OFFLOAD_TARGETS): If OFFLOAD_DEFAULTED,
+       set it if -foffload is defaulted.
+       * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
+       (compile_offload_image): If OFFLOAD_DEFAULTED and
+       OFFLOAD_TARGET_DEFAULT is in the environment, don't fail
+       if corresponding mkoffload can't be found.
+       (compile_images_for_offload_targets): Likewise.  Free and clear
+       offload_names if no valid offload is found.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2021-04-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100292
+       * tree-vect-generic.c (expand_vector_condition): Do not fold
+       the comparisons.
+
+2021-04-27  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix.h (SUBTARGET_DRIVER_SELF_SPECS): New.
+       * config/rs6000/aix64.opt (m64): New.
+       (m32): New.
+
+2021-04-27  Maciej W. Rozycki  <macro@orcam.me.uk>
+
+       * config/vax/vax.c (print_operand_address, vax_address_cost_1)
+       (index_term_p): Handle ASHIFT too.
+
+2021-04-27  Maciej W. Rozycki  <macro@orcam.me.uk>
+
+       * config/vax/builtins.md (jbb<ccss>i<mode>): Remove operand #3.
+       (sync_lock_test_and_set<mode>): Adjust accordingly.
+       (sync_lock_release<mode>): Likewise.
+
+2021-04-27  Maciej W. Rozycki  <macro@orcam.me.uk>
+
+       * config/vax/vax-protos.h (adjacent_operands_p): Remove
+       prototype.
+       * config/vax/vax.c (adjacent_operands_p): Remove.
+
+2021-04-27  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Fall
+       through to the non-conditional execution case if getting the
+       condition for conditional execution has failed.
+
+2021-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/100284
+       * gimple.c (gimple_could_trap_p_1): Remove VEC_COND_EXPR test.
+       * tree-eh.c (operation_could_trap_p): Handle VEC_COND_EXPR rather
+       than asserting on it.
+
+2021-04-27  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_aix_precompute_tls_p): Protect
+       with TARGET_AIX_OS.
+
+2021-04-27  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/94177
+       * calls.c (precompute_register_parameters): Additionally test
+       targetm.precompute_tls_p to pre-compute argument.
+       * config/rs6000/aix.h (TARGET_PRECOMPUTE_TLS_P): Define.
+       * config/rs6000/rs6000.c (rs6000_aix_precompute_tls_p): New.
+       * target.def (precompute_tls_p): New.
+       * doc/tm.texi.in (TARGET_PRECOMPUTE_TLS_P): Add hook documentation.
+       * doc/tm.texi: Regenerated.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100200
+       * config/aarch64/aarch64.c (aarch64_print_operand): Cast -UINTVAL
+       back to HOST_WIDE_INT.
+
+2021-04-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR target/100106
+       * simplify-rtx.c (simplify_context::simplify_subreg): Check the
+       memory alignment for the outer mode.
+
+2021-04-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * expr.c (op_by_pieces_d::get_usable_mode): New member function.
+       (op_by_pieces_d::run): Cange a while loop to a do-while loop.
+
+2021-04-27  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99977
+       * config/arm/arm.c (arm_split_compare_and_swap): Fix up codegen
+       with negative immediates: ensure we expand cbranchsi4_scratch
+       correctly and ensure we satisfy its constraints.
+       * config/arm/sync.md
+       (@atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): Don't
+       attempt to tie two output operands together with constraints;
+       collapse two alternatives.
+       (@atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): Likewise.
+       * config/arm/thumb1.md (cbranchsi4_neg_late): New.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100200
+       * config/aarch64/predicates.md (aarch64_sub_immediate,
+       aarch64_plus_immediate): Use -UINTVAL instead of -INTVAL.
+       * config/aarch64/aarch64.md (casesi, rotl<mode>3): Likewise.
+       * config/aarch64/aarch64.c (aarch64_print_operand,
+       aarch64_split_atomic_op, aarch64_expand_subvti): Likewise.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/100239
+       * tree-vect-generic.c (lower_vec_perm): Don't accept constant
+       permutations with all indices from the first zero element as vec_shl.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100254
+       * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on
+       last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2) insns.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99912
+       * passes.def: Add comment about new TODO_remove_unused_locals.
+       * tree-stdarg.c (pass_data_stdarg): Run TODO_remove_unused_locals
+       at start.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99912
+       * passes.def (pass_all_optimizations): Add pass_dse before
+       the first pass_dce, move the first pass_dse before the
+       pass_dce following pass_pre.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95527
+       * generic-match-head.c: Include tm.h.
+       * gimple-match-head.c: Include tm.h.
+       * match.pd (CLZ == INTEGER_CST): Don't use
+       #ifdef CLZ_DEFINED_VALUE_AT_ZERO, only test CLZ_DEFINED_VALUE_AT_ZERO
+       if clz == CFN_CLZ.  Add missing val declaration.
+       (CTZ cmp CST): New simplifications.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96696
+       * expr.c (expand_expr_divmod): New function.
+       (expand_expr_real_2) <case TRUNC_DIV_EXPR>: Use it for truncations and
+       divisions.  Formatting fixes.
+       <case MULT_EXPR>: Optimize x / y * y as x - x % y if the latter is
+       cheaper.
+
+2021-04-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/99951
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call):
+       If removing a call statement LHS SSA name, release it.
+
+2021-04-27  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100236
+       * config/arm/arm.c (THUMB2_WORK_REGS): Check PIC_OFFSET_TABLE_REGNUM
+       is valid before including it in the mask.
+
+2021-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/100270
+       * config/aarch64/aarch64.c (aarch64_comp_type_attributes): Handle
+       SVE attributes.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100051
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Add
+       disambiguator based on access size vs. decl size.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100278
+       * tree-ssa-pre.c (compute_avail): Give up when we cannot
+       adjust TBAA beacuse of mismatching bases.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99405
+       * config/i386/i386.md (*<insn><mode>3_mask, *<insn><mode>3_mask_1):
+       For any_rotate define_insn_split and following splitters, use
+       SWI iterator instead of SWI48.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99776
+       * match.pd (bit_field_ref (ctor)): Relax element extract
+       type compatibility checks.
+
+2021-04-27  Cui,Lili  <lili.cui@intel.com>
+
+       * common/config/i386/i386-common.c (processor_names):
+       Sync processor_names with processor_type.
+       * config/i386/i386-options.c (processor_cost_table):
+       Sync processor_cost_table with processor_type.
+
+2021-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::irange_set_1bit_anti_range): Add assert.
+       (irange::set): Call irange_set_1bit_anti_range for handling all
+       1-bit ranges.  Fall through on ~[MIN,MAX].
+
+2021-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::legacy_num_pairs): Remove.
+       (irange::invert): Change gcc_assert to gcc_checking_assert.
+       * value-range.h (irange::num_pairs): Adjust for a cached
+       num_pairs().  Also, rename all gcc_assert's to
+       gcc_checking_assert's.
+
+2021-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::operator=): Set m_kind.
+       (irange::copy_to_legacy): Handle varying and undefined sources
+       as a legacy copy since they can be easily copied.
+       (irange::irange_set): Set m_kind.
+       (irange::irange_set_anti_range): Same.
+       (irange::set): Rename normalize_min_max to normalize_kind.
+       (irange::verify_range): Adjust for multi-ranges having the
+       m_kind field set.
+       (irange::irange_union): Set m_kind.
+       (irange::irange_intersect): Same.
+       (irange::invert): Same.
+       * value-range.h (irange::kind): Always return m_kind.
+       (irange::varying_p): Rename to...
+       (irange::varying_comptaible_p): ...this.
+       (irange::undefined_p): Only look at m_kind.
+       (irange::irange): Always set VR_UNDEFINED if applicable.
+       (irange::set_undefined): Always set VR_UNDEFINED.
+       (irange::set_varying): Always set m_kind to VR_VARYING.
+       (irange::normalize_min_max): Rename to...
+       (irange::normalize_kind): ...this.
+
+2021-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info):
+       Adjust for constant_p including varying_p.
+       * tree-vrp.c (vrp_prop::finalize): Same.
+       (determine_value_range): Same.
+       * vr-values.c (vr_values::range_of_expr): Same.
+       * value-range.cc (irange::symbolic_p): Do not check varying_p.
+       (irange::constant_p): Same.
+
+2021-04-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::legacy_lower_bound): Replace
+         !undefined_p check with num_ranges > 0.
+       (irange::legacy_upper_bound): Same.
+       * value-range.h (irange::type): Same.
+       (irange::lower_bound): Same.
+       (irange::upper_bound): Same.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99956
+       * gimple-loop-interchange.cc (compute_access_stride):
+       Try instantiating the access in a shallower loop nest
+       if instantiating failed.
+       (compute_access_strides): Pass adjustable loop_nest
+       to compute_access_stride.
+
+2021-04-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * doc/sourcebuild.texi (arm_cmse_hw): Document.
+
+2021-04-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/iterators.md (vwcore): Handle V4BF, V8BF.
+
+2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+           Tom de Vries  <vries@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-offload.c (oacc_validate_dims): Implement
+       '-Wopenacc-parallelism'.
+       * doc/invoke.texi (-Wopenacc-parallelism): Document.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.h (gimplify_build1): Remove.
+       (gimplify_build2): Likewise.
+       (gimplify_build3): Likewise.
+       * tree-cfg.c (gimplify_build1): Move to tree-vect-generic.c.
+       (gimplify_build2): Likewise.
+       (gimplify_build3): Likewise.
+       * tree-vect-generic.c (gimplify_build1): Move from tree-cfg.c.
+       Modernize.
+       (gimplify_build2): Likewise.
+       (gimplify_build3): Likewise.
+       (tree_vec_extract): Use resimplify with following SSA edges.
+       (expand_vector_parallel): Avoid passing NULL size/bitpos
+       to tree_vec_extract.
+       * expr.c (store_constructor): Deal with zero-element CTORs.
+       * match.pd (bit_field_ref <vector CTOR>): Make sure to
+       produce vector constants when possible.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-complex.c: Include gimple-fold.h.
+       (expand_complex_addition): Use gimple_build.
+       (expand_complex_multiplication_components): Likewise.
+       (expand_complex_multiplication): Likewise.
+       (expand_complex_div_straight): Likewise.
+       (expand_complex_div_wide): Likewise.
+       (expand_complex_division): Likewise.
+       (expand_complex_conjugate): Likewise.
+       (expand_complex_comparison): Likewise.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-phiopt.c (two_value_replacement): Remove use
+       of legacy gimplify_buildN API.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99473
+       * tree-ssa-phiopt.c (cond_store_replacement): Handle all
+       stores.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin):
+       Use replace_call_with_value.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-propagate.h (valid_gimple_rhs_p): Remove.
+       (update_gimple_call): Likewise.
+       (update_call_from_tree): Likewise.
+       * tree-ssa-propagate.c (valid_gimple_rhs_p): Remove.
+       (valid_gimple_call_p): Likewise.
+       (move_ssa_defining_stmt_for_defs): Likewise.
+       (finish_update_gimple_call): Likewise.
+       (update_gimple_call): Likewise.
+       (update_call_from_tree): Likewise.
+       (propagate_tree_value_into_stmt): Use replace_call_with_value.
+       * gimple-fold.h (update_gimple_call): Declare.
+       * gimple-fold.c (valid_gimple_rhs_p): Move here from
+       tree-ssa-propagate.c.
+       (update_gimple_call): Likewise.
+       (valid_gimple_call_p): Likewise.
+       (finish_update_gimple_call): Likewise, and simplify.
+       (gimplify_and_update_call_from_tree): Implement
+       update_call_from_tree functionality, avoid excessive
+       push/pop_gimplify_context.
+       (gimple_fold_builtin): Use only gimplify_and_update_call_from_tree.
+       (gimple_fold_call): Likewise.
+       * gimple-ssa-sprintf.c (try_substitute_return_value): Likewise.
+       * tree-ssa-ccp.c (ccp_folder::fold_stmt): Likewise.
+       (pass_fold_builtins::execute): Likewise.
+       (optimize_stack_restore): Use replace_call_with_value.
+       * tree-cfg.c (fold_loop_internal_call): Likewise.
+       * tree-ssa-dce.c (maybe_optimize_arith_overflow): Use
+       only gimplify_and_update_call_from_tree.
+       * tree-ssa-strlen.c (handle_builtin_strlen): Likewise.
+       (handle_builtin_strchr): Likewise.
+       * tsan.c: Include gimple-fold.h instead of tree-ssa-propagate.h.
+
+2021-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/100255
+       * vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block,
+       vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove
+       register keywords.
+
+2021-04-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98911
+       * config/i386/i386-builtin.def (BDESC): Change the icode of
+       the following builtins to CODE_FOR_nothing.
+       * config/i386/i386.c (ix86_gimple_fold_builtin): Fold
+       IX86_BUILTIN_PCMPEQB128, IX86_BUILTIN_PCMPEQW128,
+       IX86_BUILTIN_PCMPEQD128, IX86_BUILTIN_PCMPEQQ,
+       IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
+       IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
+       IX86_BUILTIN_PCMPGTB128, IX86_BUILTIN_PCMPGTW128,
+       IX86_BUILTIN_PCMPGTD128, IX86_BUILTIN_PCMPGTQ,
+       IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
+       IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256.
+       * config/i386/sse.md (avx2_eq<mode>3): Deleted.
+       (sse2_eq<mode>3): Ditto.
+       (sse4_1_eqv2di3): Ditto.
+       (sse2_gt<mode>3): Rename to ..
+       (*sse2_gt<mode>3): .. this.
+
+2021-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Revert:
+       2021-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/100152
+       * config/darwin.c (darwin_binds_local_p): Assume that any
+       public symbol might be interposed for PIC code. Update function
+       header comment to reflect current Darwin capability.
+
+2021-04-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/100152
+       * config/darwin.c (darwin_binds_local_p): Assume that any
+       public symbol might be interposed for PIC code. Update function
+       header comment to reflect current Darwin capability.
+
+2021-04-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi: Document no-opts and any-opts target
+       selectors.
+
+2021-04-23  YiFei Zhu  <zhuyifei1999@gmail.com>
+
+       * config/bpf/bpf.h (ASM_OUTPUT_ALIGNED_BSS): Use .type and .lcomm.
+
+2021-04-23  YiFei Zhu  <zhuyifei1999@gmail.com>
+
+       * config/bpf/bpf.h (FUNCTION_BOUNDARY): Set to 64.
+
+2021-04-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100041
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Error out when -m96bit-long-double is used with 64bit targets.
+       * config/i386/i386.md (*pushxf_rounded): Remove pattern.
+
+2021-04-23  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c: Remove FIXME about usage of
+       hardware_concurrency. The function is not on par with
+       what we have now.
+
+2021-04-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100182
+       * config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
+       Copy operand 3 to operand 4.  Use sse_reg_operand
+       as operand 3 predicate.
+       (FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto.
+       (LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
+       (LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
+       (FILD_ATOMIC/FIST_ATOMIC FP store peephole2):
+       Copy operand 1 to operand 0.
+       (FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto.
+       (LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
+       (LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto.
+
+2021-04-23  Alex Coplan  <alex.coplan@arm.com>
+
+       PR rtl-optimization/100230
+       * early-remat.c (early_remat::sort_candidates): Use delete[]
+       instead of delete for array allocated with new[].
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (lower_cond): Remove VEC_COND_EXPR special-casing.
+       (capture_info::capture_info): Likewise.
+       (capture_info::walk_match): Likewise.
+       (expr::gen_transform): Likewise.
+       (dt_simplify::gen_1): Likewise.
+       * gimple-match-head.c (maybe_resimplify_conditional_op):
+       Remove VEC_COND_EXPR special-casing.
+       (gimple_simplify): Likewise.
+       * gimple.c (gimple_could_trap_p_1): Adjust.
+       * tree-ssa-pre.c (compute_avail): Allow VEC_COND_EXPR
+       to participate in PRE.
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.c (connect_infinite_loops_to_exit): First call
+       add_noreturn_fake_exit_edges.
+       * ipa-sra.c (process_scan_results): Do not call the now redundant
+       add_noreturn_fake_exit_edges.
+       * predict.c (tree_estimate_probability): Likewise.
+       (rebuild_frequencies): Likewise.
+       * store-motion.c (one_store_motion_pass): Likewise.
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100222
+       * predict.c (pass_profile::execute): Remove redundant call to
+       mark_irreducible_loops.
+       (report_predictor_hitrates): Likewise.
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
+       valid_gimple_rhs_p by instead gimplifying to one.
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99971
+       * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
+       Always use TBAA for loads.
+
+2021-04-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100093
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Clear MASK_AVX256_SPLIT_UNALIGNED_LOAD/STORE in x_target_flags
+       when X86_TUNE_AVX256_UNALIGNED_LOAD/STORE_OPTIMAL is enabled
+       by target attribute.
+
+2021-04-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix71.h (PREFERRED_DEBUGGING_TYPE): Change to
+       DWARF2_DEBUG.
+       * config/rs6000/aix72.h (PREFERRED_DEBUGGING_TYPE): Same.
+
+2021-04-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config.gcc (powerpc-ibm-aix6.*): Remove.
+       * config/rs6000/aix61.h: Delete.
+
+2021-04-22  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100159
+       PR testsuite/100192
+       * builtins.c (expand_builtin): Fix typos and missing comments.
+       * dwarf2out.c (gen_subprogram_die): Likewise.
+       (gen_struct_or_union_type_die): Likewise.
+
+2021-04-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100119
+       * config/i386/i386-expand.c (ix86_expand_convert_uns_sidf_sse):
+       Remove the sign with FE_DOWNWARD, where x - x = -0.0.
+
+2021-04-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/i386/darwin.h (TARGET_64BIT): Remove definition
+       based on TARGET_ISA_64BIT.
+       (TARGET_64BIT_P): Remove definition based on
+       TARGET_ISA_64BIT_P().
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (cpuset_popcount): Remove.
+       (init_num_threads): Remove and use hardware_concurrency.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       PR jit/98615
+       * main.c (main): Call toplev::finalize in CHECKING_P mode.
+       * ipa-modref.c (ipa_modref_c_finalize): summaries are NULL
+       when incremental LTO linking happens.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (run_gcc): When -flto=jobserver is used, but the
+       makeserver cannot be detected, then use -flto=N fallback.
+
+2021-04-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * acinclude.m4 (gcc_AC_INITFINI_ARRAY): When cross-compiling,
+       default to yes for aarch64-linux-gnu.
+       * configure: Regenerate.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * lto-wrapper.c (cpuset_popcount): Remove.
+       (init_num_threads): Remove and use hardware_concurrency.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386.c: Remove superfluous || TARGET_MACHO
+       which remains to be '(... || 0)' and clang complains about it.
+       * dwarf2out.c (AT_vms_delta): Declare conditionally.
+       (add_AT_vms_delta): Likewise.
+       * tree.c (fld_simplified_type): Use rather more common pattern
+       for disabling of something (#if 0).
+       (get_tree_code_name): Likewise.
+       (verify_type_variant): Likewise.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386-expand.c (decide_alignment): Use newly named
+       macro TARGET_CPU_P.
+       * config/i386/i386.c (ix86_decompose_address): Likewise.
+       (ix86_address_cost): Likewise.
+       (ix86_lea_outperforms): Likewise.
+       (ix86_avoid_lea_for_addr): Likewise.
+       (ix86_add_stmt_cost): Likewise.
+       * config/i386/i386.h (TARGET_*): Remove.
+       (TARGET_CPU_P): New macro.
+       * config/i386/i386.md: Use newly named macro TARGET_CPU_P.
+       * config/i386/x86-tune-sched-atom.c (do_reorder_for_imul): Likewise.
+       (swap_top_of_ready_list): Likewise.
+       (ix86_atom_sched_reorder): Likewise.
+       * config/i386/x86-tune-sched-bd.c (ix86_bd_has_dispatch): Likewise.
+       * config/i386/x86-tune-sched.c (ix86_adjust_cost): Likewise.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386-options.c (TARGET_EXPLICIT_NO_SAHF_P):
+       Define.
+       (SET_TARGET_NO_SAHF): Likewise.
+       (TARGET_EXPLICIT_PREFETCH_SSE_P): Likewise.
+       (SET_TARGET_PREFETCH_SSE): Likewise.
+       (TARGET_EXPLICIT_NO_TUNE_P): Likewise.
+       (SET_TARGET_NO_TUNE): Likewise.
+       (TARGET_EXPLICIT_NO_80387_P): Likewise.
+       (SET_TARGET_NO_80387): Likewise.
+       (DEF_PTA): New.
+       * config/i386/i386.h (TARGET_*): Remove.
+       * opth-gen.awk: Generate new used macros.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386.h (PTA_*): Remove.
+       (enum pta_flag): New.
+       (DEF_PTA): Generate PTA_* values from i386-isa.def.
+       * config/i386/i386-isa.def: New file.
+
+2021-04-21  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99988
+       * config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New.
+       (rest_of_insert_bti): Avoid inserting duplicate bti j insns for
+       jump table targets.
+
+2021-04-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config.gcc: Install mwaitintrin.h for i[34567]86-*-* and
+       x86_64-*-* targets.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_MWAIT_SET):
+       New.
+       (OPTION_MASK_ISA2_MWAIT_UNSET): Likewise.
+       (ix86_handle_option): Handle -mmwait.
+       * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins):
+       Replace OPTION_MASK_ISA_SSE3 with OPTION_MASK_ISA2_MWAIT on
+       __builtin_ia32_monitor and __builtin_ia32_mwait.
+       * config/i386/i386-options.c (isa2_opts): Add -mmwait.
+       (ix86_valid_target_attribute_inner_p): Likewise.
+       (ix86_option_override_internal): Enable mwait/monitor
+       instructions for -msse3.
+       * config/i386/i386.h (TARGET_MWAIT): New.
+       (TARGET_MWAIT_P): Likewise.
+       * config/i386/i386.opt: Add -mmwait.
+       * config/i386/mwaitintrin.h: New file.
+       * config/i386/pmmintrin.h: Include <mwaitintrin.h>.
+       * config/i386/sse.md (sse3_mwait): Replace TARGET_SSE3 with
+       TARGET_MWAIT.
+       (@sse3_monitor_<mode>): Likewise.
+       * config/i386/x86gprintrin.h: Include <mwaitintrin.h>.
+       * doc/extend.texi: Document mwait target attribute.
+       * doc/invoke.texi: Document -mmwait.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386-options.c (DEF_ENUM): Remove it.
+       * config/i386/i386-opts.h (DEF_ENUM): Likewise.
+       * config/i386/stringop.def (DEF_ENUM): Likewise.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * tree-cfg.c (gimple_verify_flow_info): Use qD instead
+       of print_generic_expr.
+
+2021-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100148
+       * cprop.c (constprop_register): Use next_nondebug_insn instead of
+       NEXT_INSN.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98815
+       * cgraphunit.c (cgraph_node::analyze): Remove duplicate
+       free_dominance_info calls.
+
+2021-04-21  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (maybe_fold_reference): Remove is_lhs
+       parameter (and assume it to be false).
+       (fold_gimple_assign): Adjust, remove all callers of
+       maybe_fold_reference calling it with is_lhs true.
+       (gimple_fold_call): Likewise.
+       (fold_stmt_1): Likewise.
+
+2021-04-21  Richard Biener  <rguenther@suse.de>
+
+       * fold-const.c (pedantic_non_lvalue_loc): Remove.
+       (fold_binary_loc): Adjust.
+       (fold_ternary_loc): Likewise.
+
+2021-04-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/100130
+       * varasm.c (get_block_for_decl): Make sure that any use of the
+       retain attribute matches the section's retain flag.
+       (switch_to_section): Check for retain mismatches even when
+       changing sections, but do not warn if the given decl is the
+       section's named.decl.
+       (output_object_block): Pass the first decl in the block (if any)
+       to switch_to_section.
+
+2021-04-20  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __CRC32__ for -mcrc32.
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Enable crc32 instruction for -msse4.2.
+       * config/i386/i386.md (sse4_2_crc32<mode>): Remove TARGET_SSE4_2
+       check.
+       (sse4_2_crc32di): Likewise.
+       * config/i386/ia32intrin.h: Use crc32 target option for CRC32
+       intrinsics.
+
+2021-04-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/100108
+       * config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not consider
+       OPTION_MASK_ISEL.
+
+2021-04-20  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Fix typo.
+       * params.opt: Likewise.
+
+2021-04-20  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document new param.
+
+2021-04-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100081
+       * gimple-range-cache.h (ranger_cache): Inherit from gori_compute
+       rather than gori_compute_cache.
+       * gimple-range-gori.cc (is_gimple_logical_p): Move to top of file.
+       (range_def_chain::m_logical_depth): New member.
+       (range_def_chain::range_def_chain): Initialize m_logical_depth.
+       (range_def_chain::get_def_chain): Don't build defchains through more
+       than LOGICAL_LIMIT logical expressions.
+       * params.opt (param_ranger_logical_depth): New.
+
+2021-04-19  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100067
+       * config/arm/arm.c (arm_configure_build_target): Do not strip
+       extended FPU/SIMD feature bits from the target ISA when -mfpu
+       is specified (partial revert of r11-8168).
+
+2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * params.opt (-param=openacc-kernels=): Add.
+       * omp-oacc-kernels-decompose.cc
+       (pass_omp_oacc_kernels_decompose::gate): Use it.
+       * doc/invoke.texi (-fopenacc-kernels=@var{mode}): Move...
+       (--param): ... here, 'openacc-kernels'.
+
+2021-04-19  Martin Liska  <mliska@suse.cz>
+
+       PR c/100143
+       * gengtype.c (finish_root_table): Align function arguments
+       in between declaration and definition.
+
+2021-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with
+       frames larger than the SEH maximum frame size.
+
+2021-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/99927
+       * combine.c (distribute_notes) [REG_UNUSED]: If the register already
+       is dead, just drop it.
+
+2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99914
+       * config/i386/winnt-d.c (TARGET_D_TEMPLATES_ALWAYS_COMDAT): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (D language and ABI): Add @hook for
+       TARGET_D_TEMPLATES_ALWAYS_COMDAT.
+
+2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/darwin-d.c (darwin_d_handle_target_object_format): New
+       function.
+       (darwin_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/dragonfly-d.c (dragonfly_d_handle_target_object_format): New
+       function.
+       (dragonfly_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/freebsd-d.c (freebsd_d_handle_target_object_format): New
+       function.
+       (freebsd_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/glibc-d.c (glibc_d_handle_target_object_format): New
+       function.
+       (glibc_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/i386/i386-d.c (ix86_d_handle_target_object_format): New
+       function.
+       (ix86_d_register_target_info): Add ix86_d_handle_target_object_format
+       as handler for objectFormat key.
+       * config/i386/winnt-d.c (winnt_d_handle_target_object_format): New
+       function.
+       (winnt_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/netbsd-d.c (netbsd_d_handle_target_object_format): New
+       function.
+       (netbsd_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/openbsd-d.c (openbsd_d_handle_target_object_format): New
+       function.
+       (openbsd_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+       * config/pa/pa-d.c (pa_d_handle_target_object_format): New function.
+       (pa_d_register_target_info): Add pa_d_handle_target_object_format as
+       handler for objectFormat key.
+       * config/rs6000/rs6000-d.c (rs6000_d_handle_target_object_format): New
+       function.
+       (rs6000_d_register_target_info): Add
+       rs6000_d_handle_target_object_format as handler for objectFormat key.
+       * config/sol2-d.c (solaris_d_handle_target_object_format): New
+       function.
+       (solaris_d_register_target_info): New function.
+       (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91710
+       * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Change
+       abi_break argument from bool * to unsigned *, store there the pre-GCC 9
+       alignment.
+       (aarch64_layout_arg, aarch64_gimplify_va_arg_expr): Adjust callers.
+       (aarch64_function_arg_regno_p): Likewise.  Only emit -Wpsabi note if
+       the old and new alignment after applying MIN/MAX to it is different.
+
+2021-04-16  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/100048
+       * config/aarch64/aarch64-sve.md (@aarch64_sve_trn1_conv<mode>): New.
+       * config/aarch64/aarch64.c (aarch64_expand_sve_const_pred_trn): Use new
+       TRN optab.
+       * config/aarch64/iterators.md (UNSPEC_TRN1_CONV): New.
+
+2021-04-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): Revise
+       this section and its subsections.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100075
+       * config/aarch64/aarch64.md (*neg_asr_si2_extr, *extrsi5_insn_di): New
+       define_insn patterns.
+
+2021-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98689
+       * reg-notes.def (UNTYPED_CALL): New note.
+       * combine.c (distribute_notes): Handle it.
+       * emit-rtl.c (try_split): Likewise.
+       * rtlanal.c (rtx_properties::try_to_add_insn): Likewise.  Assume
+       that calls with the note implicitly set all return value registers.
+       * builtins.c (expand_builtin_apply): Add a REG_UNTYPED_CALL
+       to untyped_calls.
+
+2021-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/99596
+       * rtlanal.c (rtx_properties::try_to_add_insn): Don't add global
+       register accesses for const calls.  Assume that pure functions
+       can only read from global registers.  Ignore cases in which
+       the stack pointer has been marked global.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99767
+       * tree-vect-loop.c (vect_transform_loop): Don't remove just
+       dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace
+       them by their last argument.
+
+2021-04-15  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Other params don't use it, remove it.
+
+2021-04-15  Richard Biener  <rguenther@suse.de>
+
+       * gimple-builder.h: Add deprecation note.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/98852
+       * attribs.h (restrict_type_identity_attributes_to): Declare.
+       * attribs.c (restrict_type_identity_attributes_to): New function.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c/98852
+       * attribs.h (affects_type_identity_attributes): Declare.
+       * attribs.c (remove_attributes_matching): New function.
+       (affects_type_identity_attributes): Likewise.
+
+2021-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100056
+       * config/aarch64/aarch64.md (*<LOGICAL:optab>_<SHIFT:optab><mode>3):
+       Add combine splitters for *<LOGICAL:optab>_ashl<mode>3 with
+       ZERO_EXTEND, SIGN_EXTEND or AND.
+
+2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/99929
+       * rtl.h (same_vector_encodings_p): New function.
+       * cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding.
+       * cselib.c (rtx_equal_for_cselib_1): Likewise.
+       * jump.c (rtx_renumbered_equal_p): Likewise.
+       * lra-constraints.c (operands_match_p): Likewise.
+       * reload.c (operands_match_p): Likewise.
+       * rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise.
+
+2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Print
+       more information about variable-length CONST_VECTORs.
+
+2021-04-14  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/100066
+       * lra-constraints.c (split_reg): Check paradoxical_subreg_p for
+       ordered modes when choosing splitting mode for hard reg.
+
+2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/99246
+       * config/aarch64/aarch64.c (aarch64_expand_sve_const_vector_sel):
+       New function.
+       (aarch64_expand_sve_const_vector): Use it for nelts_per_pattern==2.
+
+2021-04-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390-builtins.def (O_M5, O_M12, ...): Add new macros
+       for mask operand types.
+       (s390_vec_permi_s64, s390_vec_permi_b64, s390_vec_permi_u64)
+       (s390_vec_permi_dbl, s390_vpdi): Use the M5 type for the immediate
+       operand.
+       (s390_vec_msum_u128, s390_vmslg): Use the M12 type for the
+       immediate operand.
+       * config/s390/s390.c (s390_const_operand_ok): Check the new
+       operand types and generate a list of valid values.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (D language and ABI): Add @hook for
+       TARGET_D_REGISTER_OS_TARGET_INFO.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/aarch64/aarch64-d.c (aarch64_d_handle_target_float_abi): New
+       function.
+       (aarch64_d_register_target_info): New function.
+       * config/aarch64/aarch64-protos.h (aarch64_d_register_target_info):
+       Declare.
+       * config/aarch64/aarch64.h (TARGET_D_REGISTER_CPU_TARGET_INFO):
+       Define.
+       * config/arm/arm-d.c (arm_d_handle_target_float_abi): New function.
+       (arm_d_register_target_info): New function.
+       * config/arm/arm-protos.h (arm_d_register_target_info): Declare.
+       * config/arm/arm.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/i386/i386-d.c (ix86_d_handle_target_float_abi): New function.
+       (ix86_d_register_target_info): New function.
+       * config/i386/i386-protos.h (ix86_d_register_target_info): Declare.
+       * config/i386/i386.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/mips/mips-d.c (mips_d_handle_target_float_abi): New function.
+       (mips_d_register_target_info): New function.
+       * config/mips/mips-protos.h (mips_d_register_target_info): Declare.
+       * config/mips/mips.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/pa/pa-d.c (pa_d_handle_target_float_abi): New function.
+       (pa_d_register_target_info): New function.
+       * config/pa/pa-protos.h (pa_d_register_target_info): Declare.
+       * config/pa/pa.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/riscv/riscv-d.c (riscv_d_handle_target_float_abi): New
+       function.
+       (riscv_d_register_target_info): New function.
+       * config/riscv/riscv-protos.h (riscv_d_register_target_info): Declare.
+       * config/riscv/riscv.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/rs6000/rs6000-d.c (rs6000_d_handle_target_float_abi): New
+       function.
+       (rs6000_d_register_target_info): New function.
+       * config/rs6000/rs6000-protos.h (rs6000_d_register_target_info):
+       Declare.
+       * config/rs6000/rs6000.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/s390/s390-d.c (s390_d_handle_target_float_abi): New function.
+       (s390_d_register_target_info): New function.
+       * config/s390/s390-protos.h (s390_d_register_target_info): Declare.
+       * config/s390/s390.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * config/sparc/sparc-d.c (sparc_d_handle_target_float_abi): New
+       function.
+       (sparc_d_register_target_info): New function.
+       * config/sparc/sparc-protos.h (sparc_d_register_target_info): Declare.
+       * config/sparc/sparc.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (D language and ABI): Add @hook for
+       TARGET_D_REGISTER_CPU_TARGET_INFO.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/i386/i386-d.c (ix86_d_has_stdcall_convention): New function.
+       * config/i386/i386-protos.h (ix86_d_has_stdcall_convention): Declare.
+       * config/i386/i386.h (TARGET_D_HAS_STDCALL_CONVENTION): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (D language and ABI): Add @hook for
+       TARGET_D_HAS_STDCALL_CONVENTION.
+
+2021-04-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_assign_ternary): Verify that
+       VEC_COND_EXPRs have a gimple_val condition.
+       * tree-ssa-propagate.c (valid_gimple_rhs_p): VEC_COND_EXPR
+       can no longer have a GENERIC condition.
+
+2021-04-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100067
+       * config/arm/arm.c (arm_configure_build_target): Strip isa_all_fpbits
+       from the isa_delta when -mfpu has been used.
+       (arm_options_perform_arch_sanity_checks): It's the architecture that
+       lacks an FPU not the processor.
+
+2021-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100053
+       * tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
+       not use optimistic dominance queries for backedges to validate
+       predicated values.
+       (dominated_by_p_w_unex): Add parameter to ignore executable
+       state on backedges.
+       (rpo_elim::eliminate_avail): Adjust.
+
+2021-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100028
+       * config/aarch64/aarch64.md (*aarch64_bfxil<mode>_extr,
+       *aarch64_bfxilsi_extrdi): New define_insn patterns.
+
+2021-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99648
+       * simplify-rtx.c (simplify_immed_subreg): For MODE_COMPOSITE_P
+       outermode, return NULL if the result doesn't encode back to the
+       original byte sequence.
+       (simplify_gen_subreg): Don't create SUBREGs from constants to
+       MODE_COMPOSITE_P outermode.
+
+2021-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/99905
+       * combine.c (expand_compound_operation): If pos + len > modewidth,
+       perform the right shift by pos in inner_mode and then convert to mode,
+       instead of trying to simplify a shift of rtx with inner_mode by pos
+       as if it was a shift in mode.
+
+2021-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99830
+       * combine.c (simplify_and_const_int_1): Don't optimize varop
+       away if it has side-effects.
+
+2021-04-12  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Escape @smallexample content.
+
+2021-04-12  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.md ("*movdi_31", "*movdi_64"): Add
+         alternative in order to load a DFP zero.
+
+2021-04-12  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Be more precise in documentation
+       of symver attribute.
+
+2021-04-12  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/99877
+       * gimplify.c (gimplify_expr): Right now, we unpoison all
+       variables before a goto <dest>. We should not do it if we are
+       in a omp context.
+
+2021-04-12  Cui,Lili  <lili.cui@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Handle
+       rocketlake.
+       * common/config/i386/i386-common.c (processor_names): Add
+       rocketlake.
+       (processor_alias_table): Add rocketlake.
+       * common/config/i386/i386-cpuinfo.h (processor_subtypes): Add
+       INTEL_COREI7_ROCKETLAKE.
+       * config.gcc: Add -march=rocketlake.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Handle
+       rocketlake.
+       * config/i386/i386-options.c (m_ROCKETLAKE)  : Define.
+       (processor_cost_table): Add rocketlake cost.
+       * config/i386/i386.h (ix86_size_cost) : Define
+       TARGET_ROCKETLAKE.
+       (processor_type) : Add PROCESSOR_ROCKETLAKE.
+       (PTA_ROCKETLAKE): Ditto.
+       * doc/extend.texi: Add rocketlake.
+       * doc/invoke.texi: Add rocketlake.
+
+2021-04-12  Cui,Lili  <lili.cui@intel.com>
+
+       * config/i386/i386.h (PTA_ALDERLAKE): Change alderlake ISA list.
+       * config/i386/i386-options.c (m_CORE_AVX2): Add m_ALDERLAKE.
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Add AlderLake model.
+       * doc/invoke.texi: Change alderlake ISA list.
+
+2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       PR middle-end/98088
+       * omp-expand.c (expand_oacc_collapse_init): Update condition in
+       a gcc_assert.
+
+2021-04-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * config/i386/serializeintrin.h (_serialize): Defined as macro.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/99849
+       * expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
+       just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99989
+       * gimple-ssa-warn-alloca.c
+       (alloca_type_and_limit::alloca_type_and_limit): Initialize limit to
+       0 with integer precision unconditionally.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98601
+       * rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
+       not just for BLKmode, but also for VOIDmode.  For STRICT_ALIGNMENT
+       unaligned_mems handle VOIDmode like BLKmode.
+
+2021-04-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/99857
+       * tree.c (free_lang_data_in_decl): Do not release body of
+       declare_variant_alt.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_option_restore): If the
+       architecture was specified explicitly and the tuning wasn't,
+       tune for the architecture rather than the configured default CPU.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (tlsdesc_small_sve_<mode>): Use X30
+       as the temporary register.
+
+2021-04-09  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Move non-target attributes on the top level.
+
+2021-04-09  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document minimum and maximum value of the
+       argument for both supported compression algorithms.
+
+2021-04-08  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Select
+       TLS BSS before TLS data.
+       * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .comm.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/sourcebuild.texi (stdint_types_mbig_endian): Document.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * match.pd: Extend vec_cond folds to handle shifts.
+
+2021-04-08  Maciej W. Rozycki  <macro@orcam.me.uk>
+
+       * config/vax/vax.md: Fix comment for `*bit<mode>' pattern's
+       peephole.
+
+2021-04-08  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99647
+       * config/arm/iterators.md (MVE_vecs): New.
+       (V_elem): Also handle V2DF.
+       * config/arm/mve.md (*mve_mov<mode>): Rename to ...
+       (*mve_vdup<mode>): ... this. Remove second alternative since
+       vec_duplicate of const_int is not canonical RTL, and we don't
+       want to match symbol_refs.
+       (*mve_vec_duplicate<mode>): Delete (pattern is redundant).
+
+2021-04-08  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * fold-const.c (fold_single_bit_test): Fix typo.
+       * print-rtl.c (print_rtx_insn_vec): Call print_rtl_single
+       instead.
+
+2021-04-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/97513
+       * tree-vect-slp.c (vect_add_slp_permutation): New function,
+       split out from...
+       (vectorizable_slp_permutation): ...here.  Detect cases in which
+       all VEC_PERM_EXPRs are guaranteed to have the same stepped
+       permute vector and only generate one permute vector for that case.
+       Extend that case to handle variable-length vectors.
+
+2021-04-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/99873
+       * tree-vect-slp.c (vect_slp_prefer_store_lanes_p): New function.
+       (vect_build_slp_instance): Don't split store groups that could
+       use IFN_STORE_LANES.
+
+2021-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99872
+       * varasm.c (output_constant_pool_contents): Don't strip name encoding
+       from XSTR (desc->sym, 0) or from label before passing those to
+       ASM_OUTPUT_DEF.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99954
+       * tree-loop-distribution.c: Include tree-affine.h.
+       (generate_memcpy_builtin): Try using tree-affine to prove
+       non-overlap.
+       (loop_distribution::classify_builtin_ldst): Always classify
+       as PKIND_MEMMOVE.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99947
+       * tree-vect-loop.c (vectorizable_induction): Pre-allocate
+       steps vector to avoid pushing elements from the reallocated
+       vector.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.h (print_vn_reference_ops): Declare.
+       * tree-ssa-pre.c (print_pre_expr): Factor out VN reference operand
+       printing...
+       * tree-ssa-sccvn.c (print_vn_reference_ops): ... into this new
+       function.
+       (debug_vn_reference_ops): New.
+
+2021-04-07  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/98736
+       * tree-loop-distribution.c
+       * (loop_distribution::bb_top_order_init):
+       Compute RPO with programing order preserved by calling function
+       rev_post_order_and_mark_dfs_back_seme.
+
+2021-04-06  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99781
+       * lra-constraints.c (split_reg): Don't check paradoxical_subreg_p.
+       * lra-lives.c (clear_sparseset_regnos, regnos_in_sparseset_p): New
+       functions.
+       (process_bb_lives): Don't update biggest mode of hard reg for
+       implicit in multi-register group.  Use the new functions for
+       updating dead_set and unused_set by register notes.
+
+2021-04-06  Xianmiao Qu  <xianmiao_qu@c-sky.com>
+
+       * config/csky/csky_pipeline_ck802.md : Use insn reservation name
+       instead of *.
+
+2021-04-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/x86-tune-costs.h (skylake_memcpy): Updated.
+       (skylake_memset): Likewise.
+       (skylake_cost): Change CLEAR_RATIO to 17.
+       * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
+       Replace m_CANNONLAKE, m_ICELAKE_CLIENT, m_ICELAKE_SERVER,
+       m_TIGERLAKE and m_SAPPHIRERAPIDS with m_SKYLAKE and m_CORE_AVX512.
+
+2021-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99880
+       * tree-vect-loop.c (maybe_set_vectorized_backedge_value): Only
+       set vectorized defs of relevant PHIs.
+
+2021-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99924
+       * tree-vect-slp.c (vect_bb_partition_graph_r): Do not mark
+       nodes w/o scalar stmts as visited.
+
+2021-04-06  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99748
+       * config/arm/arm.c (arm_libcall_uses_aapcs_base): Also use base
+       PCS for [su]fix_optab.
+
+2021-04-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (machopic_legitimize_pic_address): Check
+       that the current pic register is one of the hard reg set
+       before setting liveness.
+
+2021-04-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (machopic_legitimize_pic_address): Fix
+       whitespace, remove unused code.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99882
+       * gimple-ssa-store-merging.c (bswap_view_convert): Handle val with
+       pointer type.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/99863
+       * dse.c (replace_read): Drop regs_live argument.  Instead of
+       regs_live, use store_insn->fixed_regs_live if non-NULL,
+       otherwise punt if insns sequence clobbers or sets any hard
+       registers.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98125
+       * targhooks.h (default_print_patchable_function_entry_1): Declare.
+       * targhooks.c (default_print_patchable_function_entry_1): New function,
+       copied from default_print_patchable_function_entry with an added flags
+       argument.
+       (default_print_patchable_function_entry): Rewritten into a small
+       wrapper around default_print_patchable_function_entry_1.
+       * config/rs6000/rs6000.c (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY):
+       Redefine.
+       (rs6000_print_patchable_function_entry): New function.
+
+2021-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/invoke.texi (fdelete-dead-exceptions): Minor tweak.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98481
+       * common.opt: Document v15 and v16.
+
+2021-04-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99863
+       * gimplify.c (gimplify_init_constructor): Recompute vector
+       constructor flags.
+
+2021-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/extend.texi (symver attribute): Fix up syntax errors
+       in the examples.
+
+2021-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96573
+       * gimple-ssa-store-merging.c (init_symbolic_number): Handle
+       also pointer types.
+
+2021-04-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99856
+       * tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote
+       precision to vector element precision.
+
+2021-04-01  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/97009
+       * tree-sra.c (access_or_its_child_written): New function.
+       (propagate_subaccesses_from_rhs): Use it instead of a simple grp_write
+       test.
+
+2021-03-31  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/98265
+       * cif-code.def (USES_COMDAT_LOCAL): Make CIF_FINAL_NORMAL.
+
+2021-03-31  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       PR target/99133
+       * config/rs6000/altivec.md (xxspltiw_v4si, xxspltiw_v4sf_inst,
+       xxspltidp_v2df_inst, xxsplti32dx_v4si_inst, xxsplti32dx_v4sf_inst,
+       xxblend_<mode>, xxpermx_inst, xxeval): Mark prefixed.
+       * config/rs6000/mma.md (mma_<vvi4i4i8>, mma_<avvi4i4i8>,
+       mma_<vvi4i4i2>, mma_<avvi4i4i2>, mma_<vvi4i4>, mma_<avvi4i4>,
+       mma_<pvi4i2>, mma_<apvi4i2>, mma_<vvi4i4i4>, mma_<avvi4i4i4>):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Adjust test.
+       * config/rs6000/rs6000.md (define_attr "maybe_prefixed"): New.
+       (define_attr "prefixed"): Update initializer.
+
+2021-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99490
+       * dwarf2out.c (debug_ranges_dwo_section): New variable.
+       (DW_RANGES_IDX_SKELETON): Define.
+       (struct dw_ranges): Add begin_entry and end_entry members.
+       (DEBUG_DWO_RNGLISTS_SECTION): Define.
+       (add_ranges_num): Adjust r initializer for addition of *_entry
+       members.
+       (add_ranges_by_labels): For -gsplit-dwarf and force_direct,
+       set idx to DW_RANGES_IDX_SKELETON.
+       (use_distinct_base_address_for_range): New function.
+       (index_rnglists): Don't set r->idx if it is equal to
+       DW_RANGES_IDX_SKELETON.  Initialize r->begin_entry and
+       r->end_entry for -gsplit-dwarf if those will be needed by
+       output_rnglists.
+       (output_rnglists): Add DWO argument.  If true, switch to
+       debug_ranges_dwo_section rather than debug_ranges_section.
+       Adjust l1/l2 label indexes.  Only output the offset table when
+       dwo is true and don't include in there the skeleton range
+       entry if present.  For -gsplit-dwarf, skip ranges that belong
+       to the other rnglists section.  Change return type from void
+       to bool and return true if there are any range entries for
+       the other section.  For dwarf_split_debug_info use
+       DW_RLE_startx_endx, DW_RLE_startx_length and DW_RLE_base_addressx
+       entries instead of DW_RLE_start_end, DW_RLE_start_length and
+       DW_RLE_base_address.  Use use_distinct_base_address_for_range.
+       (init_sections_and_labels): Initialize debug_ranges_dwo_section
+       if -gsplit-dwarf and DWARF >= 5.  Adjust ranges_section_label
+       and range_base_label indexes.
+       (dwarf2out_finish): Call index_rnglists earlier before finalizing
+       .debug_addr.  Never emit DW_AT_rnglists_base attribute.  For
+       -gsplit-dwarf and DWARF >= 5 call output_rnglists up to twice
+       with different dwo arguments.
+       (dwarf2out_c_finalize): Clear debug_ranges_dwo_section.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98268
+       * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Call
+       recompute_tree_invariant_for_addr_expr after successfully
+       folding a TARGET_MEM_REF that occurs inside an ADDR_EXPR.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/99726
+       * tree-data-ref.c (create_intersect_range_checks_index): Bail
+       out if there is more than one access function SCEV for the loop
+       being versioned.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/97141
+       PR rtl-optimization/98726
+       * emit-rtl.c (valid_for_const_vector_p): Return true for
+       CONST_POLY_INT_P.
+       * rtx-vector-builder.h (rtx_vector_builder::step): Return a
+       poly_wide_int instead of a wide_int.
+       (rtx_vector_builder::apply_set): Take a poly_wide_int instead
+       of a wide_int.
+       * rtx-vector-builder.c (rtx_vector_builder::apply_set): Likewise.
+       * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Return
+       false for CONST_VECTORs that cannot be forced to memory.
+       * config/aarch64/aarch64-simd.md (mov<mode>): If a CONST_VECTOR
+       is too complex to force to memory, build it up from individual
+       elements instead.
+
+2021-03-31  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/99447
+       * cgraph.c (cgraph_node::release_body): Fix overactive check.
+
+2021-03-31  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99786
+       * config/arm/vec-common.md (mul<mode>3): Disable on iwMMXT, expect
+       for V4HI and V2SI.
+
+2021-03-31  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/i386/i386-expand.c (expand_set_or_cpymem_via_rep):
+       For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, don't convert QImode
+       to SImode.
+       (decide_alg): For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, use
+       "rep movsb/stosb" only for known sizes.
+       * config/i386/i386-options.c (processor_cost_table): Use Ice
+       Lake cost for Cannon Lake, Ice Lake, Tiger Lake, Sapphire
+       Rapids and Alder Lake.
+       * config/i386/i386.h (TARGET_PREFER_KNOWN_REP_MOVSB_STOSB): New.
+       * config/i386/x86-tune-costs.h (icelake_memcpy): New.
+       (icelake_memset): Likewise.
+       (icelake_cost): Likewise.
+       * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
+       New.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/98119
+       * config/aarch64/aarch64.c
+       (aarch64_vectorize_preferred_vector_alignment): Query the size
+       of the provided SVE vector; do not assume that all SVE vectors
+       have the same size.
+
+2021-03-31  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/99447
+       * cgraph.c (cgraph_node::release_body): Remove all callers and
+       references.
+       * cgraphclones.c (cgraph_node::materialize_clone): Do not do it here.
+       * cgraphunit.c (cgraph_node::expand): And here.
+
+2021-03-31  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (analyze_ssa_name_flags): Fix coding style
+       and one negated condition.
+
+2021-03-31  Jakub Jelinek  <jakub@redhat.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/99813
+       * config/aarch64/aarch64.md (*add<mode>3_poly_1): Swap Uai and Uav
+       constraints on operands[2] and similarly 0 and rk constraints
+       on operands[1] corresponding to that.
+
+2021-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/98860
+       * configure.ac (HAVE_LD_BROKEN_PE_DWARF5): New AC_DEFINE if PECOFF
+       linker doesn't support DWARF sections new in DWARF5.
+       * config/i386/i386-options.c (ix86_option_override_internal): Default
+       to dwarf_version 4 if HAVE_LD_BROKEN_PE_DWARF5 for TARGET_PECOFF
+       targets.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2021-03-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99820
+       * config/aarch64/aarch64.c (aarch64_analyze_loop_vinfo): Check for
+       available issue_info before using it.
+
+2021-03-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99822
+       * config/aarch64/aarch64.md (sub<mode>3_compare1_imm): Do not allow zero
+       in operand 1.
+
+2021-03-30  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/99718
+       * config/rs6000/altivec.md (altivec_lvsl_reg): Change to ...
+       (altivec_lvsl_reg_<mode>): ... this.
+       (altivec_lvsr_reg): Change to ...
+       (altivec_lvsr_reg_<mode>): ... this.
+       * config/rs6000/predicates.md (vec_set_index_operand): New.
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Enable 32bit variable vec_insert for all TARGET_VSX.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9):
+       Enable 32bit variable vec_insert for p9 and above.
+       (rs6000_expand_vector_set_var_p8): Rename to ...
+       (rs6000_expand_vector_set_var_p7): ... this.
+       (rs6000_expand_vector_set): Use TARGET_VSX and adjust assert
+       position.
+       * config/rs6000/vector.md (vec_set<mode>): Use vec_set_index_operand.
+       * config/rs6000/vsx.md (xl_len_r): Use gen_altivec_lvsl_reg_di and
+       gen_altivec_lvsr_reg_di.
+
+2021-03-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * config/i386/ia32intrin.h (__rdtsc): Defined as macro.
+       (__rdtscp): Likewise.
+
+2021-03-30  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99825
+       * tree-vect-slp-patterns.c (vect_check_evenodd_blend):
+       Reject non-mult 2 lanes.
+
+2021-03-30  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/99773
+       * config/arm/arm.c (arm_file_start): Fix emission of
+       Tag_ABI_VFP_args attribute.
+
+2021-03-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99824
+       * stor-layout.c (set_min_and_max_values_for_integral_type):
+       Assert the precision is within the bounds of
+       WIDE_INT_MAX_PRECISION.
+       * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use
+       the outermost component ref only to lower the access size
+       and initialize that from the access type.
+
+2021-03-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/98136
+       * config/aarch64/aarch64.md (mov<mode>): Pass multi-instruction
+       CONST_INTs to aarch64_expand_mov_immediate when called after RA.
+
+2021-03-30  Mihailo Stojanovic  <mihailo.stojanovic@typhoon-hil.com>
+
+       * config/aarch64/aarch64.md
+       (<optab>_trunc<fcvt_target><GPI:mode>2): Set the "arch"
+       attribute to disambiguate between SIMD and FP variants of the
+       instruction.
+
+2021-03-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (merge_call_lhs_flags): Correct handling of deref.
+       (analyze_ssa_name_flags): Fix typo in comment.
+
+2021-03-29  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99216
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_builder::add_function): Add placeholder_p argument, use
+       placeholder decls if this is set.
+       (function_builder::add_unique_function): Instead of conditionally adding
+       direct overloads, unconditionally add either a direct overload or a
+       placeholder.
+       (function_builder::add_overloaded_function): Set placeholder_p if we're
+       using C++ overloads. Use the obstack for string storage instead
+       of relying on the tree nodes.
+       (function_builder::add_overloaded_functions): Don't return early for
+       m_direct_overloads: we need to add placeholders.
+       * config/aarch64/aarch64-sve-builtins.h
+       (function_builder::add_function): Add placeholder_p argument.
+
+2021-03-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99807
+       * tree-vect-slp.c (vect_slp_analyze_node_operations_1): Move
+       assert below VEC_PERM handling.
+
+2021-03-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99037
+       * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Use
+       aarch64_simd_or_scalar_imm_zero to match zeroes.  Remove pattern
+       matching const_int 0.
+       (move_lo_quad_internal_be_<mode>): Likewise.
+       (move_lo_quad_<mode>): Update for the above.
+       * config/aarch64/iterators.md (VQ_2E): Delete.
+
+2021-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99777
+       * fold-const.c (extract_muldiv_1): For conversions, punt on casts from
+       types other than scalar integral types.
+
+2021-03-28  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Do not add
+       XCOFF TLS reloc decorations.
+
+2021-03-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/analyzer.texi (Analyzer Internals): Update link to
+       "A Memory Model for Static Analysis of C Programs".
+
+2021-03-26  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Call function.
+       * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align):
+       Declare.
+       * config/rs6000/rs6000.c (rs6000_special_adjust_field_align): New.
+       (rs6000_special_round_type_align): Recursively check innermost first
+       field.
+
+2021-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99334
+       * dwarf2out.h (struct dw_fde_node): Add rule18 member.
+       * dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp)
+       assignment with drap_reg active, queue reg save for hfp with offset 0
+       and flush queued reg saves.  When handling a push with rule18,
+       defer queueing reg save for hfp and just assert the offset is 0.
+       (scan_trace): Assert that fde->rule18 is false.
+
+2021-03-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/99766
+       * ira-costs.c (record_reg_classes): Put case with
+       CT_RELAXED_MEMORY adjacent to one with CT_MEMORY.
+       * ira.c (ira_setup_alts): Ditto.
+       * lra-constraints.c (process_alt_operands): Ditto.
+       * recog.c (asm_operand_ok): Ditto.
+       * reload.c (find_reloads): Ditto.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       (cpu_addrcost_table::post_modify_ld3_st3): New member variable.
+       (cpu_addrcost_table::post_modify_ld4_st4): Likewise.
+       * config/aarch64/aarch64.c (generic_addrcost_table): Update
+       accordingly, using the same costs as for post_modify.
+       (exynosm1_addrcost_table, xgene1_addrcost_table): Likewise.
+       (thunderx2t99_addrcost_table, thunderx3t110_addrcost_table):
+       (tsv110_addrcost_table, qdf24xx_addrcost_table): Likewise.
+       (a64fx_addrcost_table): Likewise.
+       (neoversev1_addrcost_table): New.
+       (neoversev1_tunings): Use neoversev1_addrcost_table.
+       (aarch64_address_cost): Use the new post_modify costs for CImode
+       and XImode.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.opt
+       (-param=aarch64-loop-vect-issue-rate-niters=): New parameter.
+       * doc/invoke.texi: Document it.
+       * config/aarch64/aarch64-protos.h (aarch64_base_vec_issue_info)
+       (aarch64_scalar_vec_issue_info, aarch64_simd_vec_issue_info)
+       (aarch64_advsimd_vec_issue_info, aarch64_sve_vec_issue_info)
+       (aarch64_vec_issue_info): New structures.
+       (cpu_vector_cost): Write comments above the variables rather
+       than to the side.
+       (cpu_vector_cost::issue_info): New member variable.
+       * config/aarch64/aarch64.c: Include gimple-pretty-print.h
+       and tree-ssa-loop-niter.h.
+       (generic_vector_cost, a64fx_vector_cost, qdf24xx_vector_cost)
+       (thunderx_vector_cost, tsv110_vector_cost, cortexa57_vector_cost)
+       (exynosm1_vector_cost, xgene1_vector_cost, thunderx2t99_vector_cost)
+       (thunderx3t110_vector_cost): Initialize issue_info to null.
+       (neoversev1_scalar_issue_info, neoversev1_advsimd_issue_info)
+       (neoversev1_sve_issue_info, neoversev1_vec_issue_info): New structures.
+       (neoversev1_vector_cost): Use them.
+       (aarch64_vec_op_count, aarch64_sve_op_count): New structures.
+       (aarch64_vector_costs::saw_sve_only_op): New member variable.
+       (aarch64_vector_costs::num_vector_iterations): Likewise.
+       (aarch64_vector_costs::scalar_ops): Likewise.
+       (aarch64_vector_costs::advsimd_ops): Likewise.
+       (aarch64_vector_costs::sve_ops): Likewise.
+       (aarch64_vector_costs::seen_loads): Likewise.
+       (aarch64_simd_vec_costs_for_flags): New function.
+       (aarch64_analyze_loop_vinfo): Initialize num_vector_iterations.
+       Count the number of predicate operations required by SVE WHILE
+       instructions.
+       (aarch64_comparison_type, aarch64_multiply_add_p): New functions.
+       (aarch64_sve_only_stmt_p, aarch64_in_loop_reduction_latency): Likewise.
+       (aarch64_count_ops): Likewise.
+       (aarch64_add_stmt_cost): Record whether see an SVE operation
+       that cannot currently be implementing using Advanced SIMD.
+       Record issue information about the scalar, Advanced SIMD
+       and (where relevant) SVE versions of a loop.
+       (aarch64_vec_op_count::dump): New function.
+       (aarch64_sve_op_count::dump): Likewise.
+       (aarch64_estimate_min_cycles_per_iter): Likewise.
+       (aarch64_adjust_body_cost): If issue information is available,
+       try to compare the issue rates of the various loop implementations
+       and increase or decrease the vector body cost accordingly.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_detect_vector_stmt_subtype):
+       Assume a zero cost for induction phis.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_embedded_comparison_type): New
+       function.
+       (aarch64_adjust_stmt_cost): Add the costs of embedded scalar and
+       vector comparisons.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_detect_scalar_stmt_subtype):
+       New function.
+       (aarch64_add_stmt_cost): Call it.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-tuning-flags.def (matched_vector_throughput):
+       New tuning parameter.
+       * config/aarch64/aarch64.c (neoversev1_tunings): Use it.
+       (aarch64_estimated_sve_vq): New function.
+       (aarch64_vector_costs::analyzed_vinfo): New member variable.
+       (aarch64_vector_costs::is_loop): Likewise.
+       (aarch64_vector_costs::unrolled_advsimd_niters): Likewise.
+       (aarch64_vector_costs::unrolled_advsimd_stmts): Likewise.
+       (aarch64_record_potential_advsimd_unrolling): New function.
+       (aarch64_analyze_loop_vinfo, aarch64_analyze_bb_vinfo): Likewise.
+       (aarch64_add_stmt_cost): Call aarch64_analyze_loop_vinfo or
+       aarch64_analyze_bb_vinfo on the first use of a costs structure.
+       Detect whether we're vectorizing a loop for SVE that might be
+       completely unrolled if it used Advanced SIMD instead.
+       (aarch64_adjust_body_cost_for_latency): New function.
+       (aarch64_finish_cost): Call it.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vector_costs): New structure.
+       (aarch64_init_cost): New function.
+       (aarch64_add_stmt_cost): Use aarch64_vector_costs instead of
+       the default unsigned[3].
+       (aarch64_finish_cost, aarch64_destroy_cost_data): New functions.
+       (TARGET_VECTORIZE_INIT_COST): Override.
+       (TARGET_VECTORIZE_FINISH_COST): Likewise.
+       (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (neoversev1_advsimd_vector_cost)
+       (neoversev1_sve_vector_cost): New cost structures.
+       (neoversev1_vector_cost): Likewise.
+       (neoversev1_tunings): Use them.  Enable use_new_vector_costs.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       (sve_vec_cost::scatter_store_elt_cost): New member variable.
+       * config/aarch64/aarch64.c (generic_sve_vector_cost): Update
+       accordingly, taking the cost from the cost of a scalar_store.
+       (a64fx_sve_vector_cost): Likewise.
+       (aarch64_detect_vector_stmt_subtype): Detect scatter stores.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       (simd_vec_cost::store_elt_extra_cost): New member variable.
+       * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
+       accordingly, using the vec_to_scalar cost for the new field.
+       (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
+       (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
+       (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
+       (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
+       (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
+       (thunderx3t110_advsimd_vector_cost): Likewise.
+       (aarch64_detect_vector_stmt_subtype): Detect single-element stores.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (simd_vec_cost::ld2_st2_permute_cost)
+       (simd_vec_cost::ld3_st3_permute_cost): New member variables.
+       (simd_vec_cost::ld4_st4_permute_cost): Likewise.
+       * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
+       accordingly, using zero for the new costs.
+       (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
+       (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
+       (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
+       (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
+       (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
+       (thunderx3t110_advsimd_vector_cost): Likewise.
+       (aarch64_ld234_st234_vectors): New function.
+       (aarch64_adjust_stmt_cost): Likewise.
+       (aarch64_add_stmt_cost): Call aarch64_adjust_stmt_cost if using
+       the new vector costs.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (sve_vec_cost): Turn into a
+       derived class of simd_vec_cost.  Add information about CLAST[AB]
+       and FADDA instructions.
+       * config/aarch64/aarch64.c (generic_sve_vector_cost): Update
+       accordingly, using the vec_to_scalar costs for the new fields.
+       (a64fx_sve_vector_cost): Likewise.
+       (aarch64_reduc_type): New function.
+       (aarch64_sve_in_loop_reduction_latency): Likewise.
+       (aarch64_detect_vector_stmt_subtype): Take a vinfo parameter.
+       Use aarch64_sve_in_loop_reduction_latency to handle SVE reductions
+       that occur in the loop body.
+       (aarch64_add_stmt_cost): Update call accordingly.
+
+2021-03-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-tuning-flags.def (use_new_vector_costs):
+       New tuning flag.
+       * config/aarch64/aarch64-protos.h (simd_vec_cost): Put comments
+       above the fields rather than to the right.
+       (simd_vec_cost::reduc_i8_cost): New member variable.
+       (simd_vec_cost::reduc_i16_cost): Likewise.
+       (simd_vec_cost::reduc_i32_cost): Likewise.
+       (simd_vec_cost::reduc_i64_cost): Likewise.
+       (simd_vec_cost::reduc_f16_cost): Likewise.
+       (simd_vec_cost::reduc_f32_cost): Likewise.
+       (simd_vec_cost::reduc_f64_cost): Likewise.
+       * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
+       accordingly, using the vec_to_scalar_cost for the new fields.
+       (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
+       (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
+       (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
+       (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
+       (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
+       (thunderx3t110_advsimd_vector_cost): Likewise.
+       (aarch64_use_new_vector_costs_p): New function.
+       (aarch64_simd_vec_costs): New function, split out from...
+       (aarch64_builtin_vectorization_cost): ...here.
+       (aarch64_is_reduction): New function.
+       (aarch64_detect_vector_stmt_subtype): Likewise.
+       (aarch64_add_stmt_cost): Call aarch64_detect_vector_stmt_subtype if
+       using the new vector costs.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR ipa/99466
+       * tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak
+       TLS declarations as public.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/aarch64/aarch64-d.c (IN_TARGET_CODE): Define.
+       * config/arm/arm-d.c (IN_TARGET_CODE): Likewise.
+       * config/i386/i386-d.c (IN_TARGET_CODE): Likewise.
+       * config/mips/mips-d.c (IN_TARGET_CODE): Likewise.
+       * config/pa/pa-d.c (IN_TARGET_CODE): Likewise.
+       * config/riscv/riscv-d.c (IN_TARGET_CODE): Likewise.
+       * config/rs6000/rs6000-d.c (IN_TARGET_CODE): Likewise.
+       * config/s390/s390-d.c (IN_TARGET_CODE): Likewise.
+       * config/sparc/sparc-d.c (IN_TARGET_CODE): Likewise.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/91595
+       * config.gcc (*-*-cygwin*): Add winnt-d.o
+       (*-*-mingw*): Likewise.
+       * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): New macro.
+       * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Likewise.
+       * config/i386/t-cygming: Add winnt-d.o.
+       * config/i386/winnt-d.c: New file.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/freebsd-d.c: Include memmodel.h.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99691
+       * config.gcc (*-*-openbsd*): Add openbsd-d.o.
+       * config/t-openbsd: Add openbsd-d.o.
+       * config/openbsd-d.c: New file.
+
+2021-03-25  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR tree-optimization/96974
+       * tree-vect-stmts.c (vect_get_vector_types_for_stmt): Replace assert
+       with graceful exit.
+
+2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       Revert:
+       2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98209
+       PR target/99744
+       * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for
+       always_inline in system headers.
+
+2021-03-25  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_model_reduction_cost): Init inside_cost.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99565
+       * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF_SAME_FIELD.
+       * fold-const.c (operand_compare::operand_equal_p): Don't compare
+       field offsets if OEP_ADDRESS_OF_SAME_FIELD.
+
+2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98209
+       PR target/99744
+       * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for
+       always_inline in system headers.
+
+2021-03-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99746
+       * tree-vect-slp-patterns.c (complex_pattern::build): Do not mark
+       the scalar stmt as patterned.  Instead set up required things
+       manually.
+
+2021-03-25  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (power8_costs): Change l2 cache
+       from 256 to 512.
+
+2021-03-24  Martin Liska  <mliska@suse.cz>
+
+       PR target/99753
+       * common/config/i386/i386-common.c (ARRAY_SIZE): Fix off-by-one
+       error.
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Add run-time assert.
+
+2021-03-24  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/99122
+       * ipa-cp.c (initialize_node_lattices): Mark as bottom all
+       parameters with unknown type.
+       (ipacp_value_safe_for_type): New function.
+       (propagate_vals_across_arith_jfunc): Verify that the constant type
+       can be used for a type of the formal parameter.
+       (propagate_vals_across_ancestor): Likewise.
+       (propagate_scalar_across_jump_function): Likewise.  Pass the type
+       also to propagate_vals_across_ancestor.
+
+2021-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99727
+       * config/arm/mve.md (movmisalign<mode>_mve_store): Use Ux
+       constraint.
+       (movmisalign<mode>_mve_load): Likewise.
+
+2021-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99724
+       * config/arm/vec-common.md (one_cmpl<mode>2, neg<mode>2,
+       movmisalign<mode>): Disable expanders for TARGET_REALLY_IWMMXT.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * doc/sourcebuild.texi (sysconf): New effective target.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/predicates.md (reg_or_const_vec_operand): New.
+       * config/i386/sse.md (ssse3_pshufbv8qi3): Add an expander for
+       the now *-prefixed insn_and_split, turn the splitter const vec
+       into an input for the insn, making it an ignored immediate for
+       non-split cases, and loaded into the scratch register
+       otherwise.
+
+2021-03-23  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99581
+       * config/aarch64/constraints.md (Utq, UOb, UOh, UOw, UOd, UOty):
+       Use define_relaxed_memory_constraint for them.
+
+2021-03-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/99733
+       * config/host-darwin.c (darwin_gt_pch_use_address): Add a
+       colon to the diagnostic message.
+
+2021-03-23  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * fwprop.c (fwprop_propagation::fwprop_propagation): Look at
+       set_info's uses.
+       (try_fwprop_subst_note): Use set_info instead of insn_info.
+       (try_fwprop_subst_pattern): Likewise.
+       (try_fwprop_subst_notes): Likewise.
+       (try_fwprop_subst): Likewise.
+       (forward_propagate_subreg): Likewise.
+       (forward_propagate_and_simplify): Likewise.
+       (forward_propagate_into): Likewise.
+       * rtl-ssa/accesses.h (set_info::single_nondebug_use) New
+       method.
+       (set_info::single_nondebug_insn_use): Likewise.
+       (set_info::single_phi_use): Likewise.
+       * rtl-ssa/member-fns.inl (set_info::single_nondebug_use) New
+       method.
+       (set_info::single_nondebug_insn_use): Likewise.
+       (set_info::single_phi_use): Likewise.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * doc/sourcebuild.texi (arm_dsp_ok, arm_dsp): Document.
+
+2021-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99540
+       * config/aarch64/aarch64.c (aarch64_add_offset): Tell
+       expand_mult to perform an unsigned rather than a signed
+       multiplication.
+
+2021-03-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99704
+       * config/i386/cpuid.h (__cpuid): Add __volatile__.
+       (__cpuid_count): Likewise.
+
+2021-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99721
+       * tree-vect-slp.c (vect_slp_analyze_node_operations):
+       Make sure we can schedule the node.
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * config/riscv/riscv.c (riscv_subword): Take endianness into
+       account when calculating the byte offset.
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * config/riscv/predicates.md (subreg_lowpart_operator): New predicate
+       * config/riscv/riscv.md (*addsi3_extended2, *subsi3_extended2)
+       (*negsi2_extended2, *mulsi3_extended2, *<optab>si3_mask)
+       (*<optab>si3_mask_1, *<optab>di3_mask, *<optab>di3_mask_1)
+       (*<optab>si3_extend_mask, *<optab>si3_extend_mask_1): Use
+       new predicate "subreg_lowpart_operator"
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * config/riscv/riscv.c (riscv_swap_instruction): New function
+       to byteswap an SImode rtx containing an instruction.
+       (riscv_trampoline_init): Byteswap the generated instructions
+       when needed.
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * common/config/riscv/riscv-common.c
+       (TARGET_DEFAULT_TARGET_FLAGS): Set default endianness.
+       * config.gcc (riscv32be-*, riscv64be-*): Set
+       TARGET_BIG_ENDIAN_DEFAULT to 1.
+       * config/riscv/elf.h (LINK_SPEC): Change -melf* value
+       depending on default endianness.
+       * config/riscv/freebsd.h (LINK_SPEC): Likewise.
+       * config/riscv/linux.h (LINK_SPEC): Likewise.
+       * config/riscv/riscv.c (TARGET_DEFAULT_TARGET_FLAGS): Set
+       default endianness.
+       * config/riscv/riscv.h (DEFAULT_ENDIAN_SPEC): New macro.
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * config/riscv/elf.h (LINK_SPEC): Pass linker endianness flag.
+       * config/riscv/freebsd.h (LINK_SPEC): Likewise.
+       * config/riscv/linux.h (LINK_SPEC): Likewise.
+       * config/riscv/riscv.h (ASM_SPEC): Pass -mbig-endian and
+       -mlittle-endian.
+       (BYTES_BIG_ENDIAN): Handle big endian.
+       (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
+       * config/riscv/riscv.opt (-mbig-endian, -mlittle-endian): New
+       options.
+       * doc/invoke.texi (-mbig-endian, -mlittle-endian): Document.
+
+2021-03-23  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * regcprop.c (find_oldest_value_reg): Ask target whether
+         different mode is fine for replacement register.
+
+2021-03-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/99296
+       * value-range.cc (irange::irange_set_1bit_anti_range): New.
+       (irange::irange_set_anti_range): Call irange_set_1bit_anti_range
+       * value-range.h (irange::irange_set_1bit_anti_range): New.
+
+2021-03-22  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99581
+       * config/aarch64/constraints.md (UtQ): Use
+       define_relaxed_memory_constraint for it.
+       * doc/md.texi (define_relaxed_memory_constraint): Describe it.
+       * genoutput.c (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
+       * genpreds.c (constraint_data): Add bitfield is_relaxed_memory.
+       (have_relaxed_memory_constraints): New static var.
+       (relaxed_memory_start, relaxed_memory_end): Ditto.
+       (add_constraint): Add arg is_relaxed_memory.  Check name for
+       relaxed memory.  Set up is_relaxed_memory in constraint_data and
+       have_relaxed_memory_constraints.  Adjust calls.
+       (choose_enum_order): Process relaxed memory.
+       (write_tm_preds_h): Ditto.
+       (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
+       * gensupport.c (process_rtx): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
+       * ira-costs.c (record_reg_classes): Process CT_RELAXED_MEMORY.
+       * ira-lives.c (single_reg_class): Use
+       insn_extra_relaxed_memory_constraint.
+       * ira.c (ira_setup_alts): CT_RELAXED_MEMORY.
+       * lra-constraints.c (valid_address_p): Use
+       insn_extra_relaxed_memory_constraint instead of other memory
+       constraints.
+       (process_alt_operands): Process CT_RELAXED_MEMORY.
+       (curr_insn_transform): Use insn_extra_relaxed_memory_constraint.
+       * recog.c (asm_operand_ok, preprocess_constraints): Process
+       CT_RELAXED_MEMORY.
+       * reload.c (find_reloads): Ditto.
+       * rtl.def (DEFINE_RELAXED_MEMORY_CONSTRAINT): New.
+       * stmt.c (parse_input_constraint): Use
+       insn_extra_relaxed_memory_constraint.
+
+2021-03-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/97926
+       * ubsan.c (ubsan_instrument_float_cast): Don't test for unordered if
+       there are no NaNs.
+
+2021-03-22  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/97252
+       * config/arm/arm-protos.h (neon_make_constant): Add generate
+       argument to guard emitting insns, default to true.
+       * config/arm/arm.c (arm_legitimate_constant_p_1): Reject
+       CONST_VECTORs which neon_make_constant can't handle.
+       (neon_vdup_constant): Add generate argument, avoid emitting
+       insns if it's not set.
+       (neon_make_constant): Plumb new generate argument through.
+       * config/arm/constraints.md (Ui): New. Use it...
+       * config/arm/mve.md (*mve_mov<mode>): ... here.
+       * config/arm/vec-common.md (movv8hf): Use neon_make_constant to
+       synthesize constants.
+
+2021-03-22  Richard Biener  <rguenther@suse.de>
+
+       * debug.h: Add deprecation warning.
+
+2021-03-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99694
+       * tree-ssa-sccvn.c (visit_phi): Ignore edges with the
+       PHI result.
+
+2021-03-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/99702
+       * config/riscv/riscv.c (riscv_expand_block_move): Get RTL value
+       after type checking.
+
+2021-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99562
+       PR debug/66728
+       * dwarf2out.c (get_full_len): Use get_precision rather than
+       min_precision.
+       (add_const_value_attribute): Make sure add_AT_wide argument has
+       precision prec rather than some very wide one.
+
+2021-03-22  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (*rotldi3_insert_sf,
+       *mov<SFDF:mode><SFDF2:mode>cc_p9, floatsi<mode>2_lfiwax,
+       floatsi<mode>2_lfiwax_mem, floatunssi<mode>2_lfiwzx,
+       floatunssi<mode>2_lfiwzx_mem, *floatsidf2_internal,
+       *floatunssidf2_internal, fix_trunc<mode>si2_stfiwx,
+       fix_trunc<mode>si2_internal, fixuns_trunc<mode>si2_stfiwx,
+       *round32<mode>2_fprs, *roundu32<mode>2_fprs,
+       *fix_trunc<mode>si2_internal): Fix empty split condition.
+       * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
+       vsx_reduc_<VEC_reduc_name>_v2df, vsx_reduc_<VEC_reduc_name>_v4sf,
+       *vsx_reduc_<VEC_reduc_name>_v2df_scalar,
+       *vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Likewise.
+
+2021-03-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/98914
+       * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9):
+       Convert idx to DImode.
+       (rs6000_expand_vector_set_var_p8): Likewise.
+
+2021-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99388
+       * dwarf2out.c (insert_float): Change return type from void to
+       unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size.
+       (mem_loc_descriptor, loc_descriptor, add_const_value_attribute):
+       Adjust callers.
+
+2021-03-20  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99679
+       * config/i386/i386.c (construct_container): Check cfun != NULL
+       before accessing silent_p.
+
+2021-03-20  Ahamed Husni  <ahamedhusni73@gmail.com>
+
+       * asan.c: Fix typos in comments.
+
+2021-03-20  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/99680
+       * lra-constraints.c (skip_contraint_modifiers): Rename to skip_constraint_modifiers.
+       (process_address_1): Check empty constraint before using
+       CONSTRAINT_LEN.
+
+2021-03-19  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (power10_cost): New.
+       (rs6000_option_override_internal): Set Power10 costs.
+       (rs6000_issue_rate): Set Power10 issue rate.
+       * config/rs6000/power10.md: Rewrite for Power10.
+
+2021-03-19  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99663
+       * lra-constraints.c (process_address_1): Don't use unknown
+       constraint for address constraint.
+
+2021-03-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/99661
+       * config.gcc (powerpc-*-darwin8): Delete the reference to
+       the now removed darwin8.h.
+
+2021-03-19  Olivier Hainque  <hainque@adacore.com>
+
+       PR target/99660
+       * config/vxworksae.h (VX_CPU_PREFIX): Define.
+
+2021-03-19  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.c (import_milli): Use memcpy instead of strncpy.
+
+2021-03-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99656
+       * tree-vect-slp-patterns.c (linear_loads_p,
+       complex_add_pattern::matches, is_eq_or_top,
+       vect_validate_multiplication, complex_mul_pattern::matches,
+       complex_fms_pattern::matches): Remove complex_perm_kinds_t.
+       * tree-vectorizer.h: (complex_load_perm_t): Removed.
+       (slp_tree_to_load_perm_map_t): Use complex_perm_kinds_t instead of
+       complex_load_perm_t.
+
+2021-03-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99652
+       * config/i386/i386-options.c (ix86_init_machine_status): Set
+       silent_p to true.
+       * config/i386/i386.c (init_cumulative_args): Set silent_p to
+       false.
+       (construct_container): Return early for return and argument
+       errors if silent_p is true.
+       * config/i386/i386.h (machine_function): Add silent_p.
+
+2021-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99593
+       * config/arm/constraints.md (Ds): New constraint.
+       * config/arm/vec-common.md (mve_vshlq_<supf><mode>): Use w,Ds
+       constraint instead of w,Dm.
+
+2021-03-19  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Fix quotes
+       in error message.
+
+2021-03-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/99641
+       * fold-const.c (native_encode_initializer) <CONSTRUCTOR>: For an
+       array type, do the computation of the current position in sizetype.
+
+2021-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99422
+       * lra-constraints.c (process_address_1): Use lookup_constraint
+       only for a single constraint.
+
+2021-03-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/99502
+       * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): Rename...
+       (inbounds_memaccess_p): ...to this.  Check the ending offset of
+       the accessed member.
+
+2021-03-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Add %< and
+         %> quote markers to error messages.
+       (gcn_goacc_validate_dims): Likewise.
+       (gcn_conditional_register_usage): Remove exclaimation mark from error
+       message.
+       (gcn_vectorize_vec_perm_const): Ensure perm is fully uninitialized.
+
+2021-03-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * config/i386/x86-tune-costs.h (struct processor_costs): Fix costs of
+       integer divides1.
+
+2021-03-18  Sinan Lin  <sinan@isrc.iscas.ac.cn>
+           Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_block_move_straight): Change type
+       to unsigned HOST_WIDE_INT for parameter and local variable with
+       HOST_WIDE_INT type.
+       (riscv_adjust_block_mem): Ditto.
+       (riscv_block_move_loop): Ditto.
+       (riscv_expand_block_move): Ditto.
+
+2021-03-18  Nick Clifton  <nickc@redhat.com>
+
+       * config/v850/v850.c (construct_restore_jr): Increase static
+        buffer size.
+       (construct_save_jarl): Likewise.
+       * config/v850/v850.h (DWARF2_DEBUGGING_INFO): Define.
+
+2021-03-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_adjust_generic_arch_tuning): Define.
+       (aarch64_override_options_internal): Use it.
+       (generic_tunings): Add AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS to
+       tune_flags.
+
+2021-03-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/nios2/nios2.c (nios2_custom_check_insns): Clean up
+       error message format issues.
+       (nios2_option_override): Likewise.
+       (nios2_expand_fpu_builtin): Likewise.
+       (nios2_init_custom_builtins): Adjust to avoid bogus strncpy
+       truncation warning.
+       (nios2_expand_custom_builtin): More error message format fixes.
+       (nios2_expand_rdwrctl_builtin): Likewise.
+       (nios2_expand_rdprs_builtin): Likewise.
+       (nios2_expand_eni_builtin): Likewise.
+       (nios2_expand_builtin): Likewise.
+       (nios2_register_custom_code): Likewise.
+       (nios2_valid_target_attribute_rec): Likewise.
+       (nios2_add_insn_asm): Fix uninitialized variable warning.
+
+2021-03-17  Jan Hubicka  <jh@suse.cz>
+
+       * config/i386/x86-tune-costs.h (struct processor_costs): Update costs
+       of gather to match reality.
+       * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Enable for znver3.
+
+2021-03-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ
+       to compare against CC_REG rather than NE.
+
+2021-03-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99504
+       * config/i386/i386.c (ix86_force_load_from_GOT_p): Support
+       inline assembly statements.
+       (ix86_print_operand): Update 'P' handling for -fno-plt.
+
+2021-03-17  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/99542
+       * config/aarch64/aarch64.c
+       (aarch64_simd_clone_compute_vecsize_and_simdlen): Remove unused var.
+
+2021-03-16  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/98092
+       * config/rs6000/predicates.md (branch_comparison_operator): Allow
+       ordered and unordered for CCFPmode, if flag_finite_math_only.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99600
+       * config/i386/i386-expand.c (ix86_split_lea_for_addr): Emit a MULT
+       rather than ASHIFT.
+       * config/i386/i386.md (mult by 1248 into ashift): New splitter.
+
+2021-03-16  Martin Liska  <mliska@suse.cz>
+
+       PR target/99592
+       * optc-save-gen.awk: Add flag_ipa_ra to exceptions for
+       cl_optimization_compare function.
+
+2021-03-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.c (f_constraint_p): Treat "fv" constraints
+       as "v".
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99563
+       * config/i386/i386.h (struct machine_function): Add
+       has_explicit_vzeroupper bitfield.
+       * config/i386/i386-expand.c (ix86_expand_builtin): Set
+       cfun->machine->has_explicit_vzeroupper when expanding
+       IX86_BUILTIN_VZEROUPPER.
+       * config/i386/i386-features.c (rest_of_handle_insert_vzeroupper):
+       Do the mode switching only when TARGET_VZEROUPPER, expensive
+       optimizations turned on and not optimizing for size.
+       (pass_insert_vzeroupper::gate): Enable even when
+       cfun->machine->has_explicit_vzeroupper is set.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99542
+       * config/aarch64/aarch64.c
+       (aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function
+       definition, walk TYPE_ARG_TYPES list if non-NULL for argument types
+       instead of DECL_ARGUMENTS.  Ignore types for uniform arguments.
+
+2021-03-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98834
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle missing
+       subsetting by truncating the access size.
+
+2021-03-15  Jan Hubicka  <hubicka@ucw.cz>
+
+       * config/i386/i386-options.c (processor_cost_table): Add znver3_cost.
+       * config/i386/x86-tune-costs.h (znver3_cost): New gobal variable; copy
+       of znver2_cost.
+
+2021-03-15  Martin Liska  <mliska@suse.cz>
+
+       * spellcheck.c: Add missing comma in initialization.
+
+2021-03-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (*vec_extract<mode>): Merge alternative 0 with
+       alternative 2 and alternative 1 with alternative 3 using
+       YW register constraint.
+       (*vec_extract<PEXTR_MODE12:mode>_zext): Merge alternatives
+       using YW register constraint.
+       (*vec_extractv16qi_zext): Ditto.
+       (*vec_extractv4si): Merge alternatives 4 and 5
+       using Yw register constraint.
+       (*ssse3_palignr<mode>_perm): Use Yw instead of v for alternative 3.
+
+2021-03-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/99489
+       * builtins.c (gimple_call_alloc_size): Fail gracefully when argument
+       is not a call statement.
+
+2021-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99544
+       * match.pd (X + (X << C) -> X * (1 + (1 << C))): Don't simplify
+       if for vector types multiplication can't be done in type's mode.
+
+2021-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/99422
+       * config/sparc/constraints.md (w): Rename to...
+       (W): ... this and ditch previous implementation.
+       * config/sparc/sparc.md (*movdi_insn_sp64): Replace W with m.
+       (*movdf_insn_sp64): Likewise.
+       (*mov<VM64:mode>_insn_sp64): Likewise.
+       * config/sparc/sync.md (*atomic_compare_and_swap<mode>_1): Replace
+       w with W.
+       (atomic_compare_and_swap_leon3_1): Likewise.
+       (*atomic_compare_and_swapdi_v8plus): Likewise.
+       * config/sparc/sparc.c (memory_ok_for_ldd): Remove useless test on
+       architecture and add missing address validity check during LRA.
+
+2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98858
+       * gimplify.c (omp_add_variable): Handle NULL_TREE as size
+       occuring for assumed-size arrays in use_device_{ptr,addr}.
+
+2021-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * config/i386/constraints.md (YW): New internal constraint.
+       * config/i386/sse.md (v_Yw): Add V4TI, V2TI, V1TI and TI cases.
+       (*<sse2_avx2>_<insn><mode>3<mask_name>,
+       *<sse2_avx2>_uavg<mode>3<mask_name>, *abs<mode>2,
+       *<s>mul<mode>3_highpart<mask_name>): Use <v_Yw> instead of v in
+       constraints.
+       (<sse2_avx2>_psadbw): Use YW instead of v in constraints.
+       (*avx2_pmaddwd, *sse2_pmaddwd, *<code>v8hi3, *<code>v16qi3,
+       avx2_pmaddubsw256, ssse3_pmaddubsw128): Merge last two alternatives
+       into one, use Yw instead of former x,v.
+       (ashr<mode>3, <insn><mode>3): Use <v_Yw> instead of x in constraints of
+       the last alternative.
+       (<sse2_avx2>_packsswb<mask_name>, <sse2_avx2>_packssdw<mask_name>,
+       <sse2_avx2>_packuswb<mask_name>, <sse4_1_avx2>_packusdw<mask_name>,
+       *<ssse3_avx2>_pmulhrsw<mode>3<mask_name>, <ssse3_avx2>_palignr<mode>,
+       <ssse3_avx2>_pshufb<mode>3<mask_name>): Merge last two alternatives
+       into one, use <v_Yw> instead of former x,v.
+       (avx2_interleave_highv32qi<mask_name>,
+       vec_interleave_highv16qi<mask_name>): Use Yw instead of v in
+       constraints.  Add && <mask_avx512bw_condition> to condition.
+       (avx2_interleave_lowv32qi<mask_name>,
+       vec_interleave_lowv16qi<mask_name>,
+       avx2_interleave_highv16hi<mask_name>,
+       vec_interleave_highv8hi<mask_name>,
+       avx2_interleave_lowv16hi<mask_name>, vec_interleave_lowv8hi<mask_name>,
+       avx2_pshuflw_1<mask_name>, sse2_pshuflw_1<mask_name>,
+       avx2_pshufhw_1<mask_name>, sse2_pshufhw_1<mask_name>,
+       avx2_<code>v16qiv16hi2<mask_name>, sse4_1_<code>v8qiv8hi2<mask_name>,
+       *sse4_1_<code>v8qiv8hi2<mask_name>_1, <sse2_avx2>_<insn><mode>3): Use
+       Yw instead of v in constraints.
+       * config/i386/mmx.md (Yv_Yw): New define_mode_attr.
+       (*mmx_<insn><mode>3, mmx_ashr<mode>3, mmx_<insn><mode>3): Use <Yv_Yw>
+       instead of Yv in constraints.
+       (*mmx_<insn><mode>3, *mmx_mulv4hi3, *mmx_smulv4hi3_highpart,
+       *mmx_umulv4hi3_highpart, *mmx_pmaddwd, *mmx_<code>v4hi3,
+       *mmx_<code>v8qi3, mmx_pack<s_trunsuffix>swb, mmx_packssdw,
+       mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
+       *mmx_uavgv8qi3, *mmx_uavgv4hi3, mmx_psadbw): Use Yw instead of Yv in
+       constraints.
+       (*mmx_pinsrw, *mmx_pinsrb, *mmx_pextrw, *mmx_pextrw_zext, *mmx_pextrb,
+       *mmx_pextrb_zext): Use YW instead of Yv in constraints.
+       (*mmx_eq<mode>3, mmx_gt<mode>3): Use x instead of Yv in constraints.
+       (mmx_andnot<mode>3, *mmx_<code><mode>3): Split last alternative into
+       two, one with just x, another isa avx512vl with v.
+
+2021-03-12  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Add missing param documentation.
+
+2021-03-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96374
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/feasible-graph.o and
+       analyzer/trimmed-graph.o.
+       * doc/analyzer.texi (Analyzer Paths): Rewrite description of
+       feasibility checking to reflect new implementation.
+       * doc/invoke.texi (-fdump-analyzer-feasibility): Document new
+       option.
+       * shortest-paths.h (shortest_paths::get_shortest_distance): New.
+
+2021-03-11  David Malcolm  <dmalcolm@redhat.com>
+
+       * digraph.cc (selftest::test_shortest_paths): Update
+       shortest_paths init for new param.  Add test of
+       SPS_TO_GIVEN_TARGET.
+       * shortest-paths.h (enum shortest_path_sense): New.
+       (shortest_paths::shortest_paths): Add "sense" param.
+       Update for renamings.  Generalize to use "sense" param.
+       (shortest_paths::get_shortest_path): Rename param.
+       (shortest_paths::m_sense): New field.
+       (shortest_paths::m_prev): Rename...
+       (shortest_paths::m_best_edge): ...to this.
+       (shortest_paths::get_shortest_path): Update for renamings.
+       Conditionalize flipping of path on sense of traversal.
+
+2021-03-11  David Malcolm  <dmalcolm@redhat.com>
+
+       * digraph.cc (selftest::test_shortest_paths): Add test coverage
+       for paths from B and C.
+       * shortest-paths.h (shortest_paths::shortest_paths): Handle
+       unreachable nodes, rather than asserting.
+
+2021-03-11  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/99094
+       * config/rs6000/rs6000.c (rs6000_xcoff_file_start): Don't create
+       xcoff_tbss_section_name.
+       * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .lcomm.
+       * xcoffout.c (xcoff_tbss_section_name): Delete.
+       * xcoffout.h (xcoff_tbss_section_name): Delete.
+
+2021-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99523
+       * tree-cfg.c (dump_function_to_file): Dump SSA names
+       w/o identifier to the decls section as well, not only those
+       without a VAR_DECL.
+
+2021-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/99517
+       * ipa-icf-gimple.c (func_checker::compare_gimple_call): For internal
+       function calls with lhs fail if the lhs don't have compatible types.
+
+2021-03-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (HARD_FRAME_POINTER_REGNUM): Define.
+       Change FRAME_POINTER_REGNUM to correspond to a new faked
+       register faked_fp, part of GENNONACR_REGS like faked_ap.
+       (CRIS_FAKED_REGS_CONTENTS): New helper macro.
+       (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS):
+       (REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGNO_OK_FOR_BASE_P)
+       (ELIMINABLE_REGS, REGISTER_NAMES): Adjust accordingly.
+       * config/cris/cris.md (CRIS_FP_REGNUM): Renumber to new faked
+       register.
+       (CRIS_REAL_FP_REGNUM): New constant.
+       * config/cris/cris.c (cris_reg_saved_in_regsave_area): Check
+       for HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
+       (cris_initial_elimination_offset): Handle elimination changes
+       to HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM
+       and add one from FRAME_POINTER_REGNUM to
+       HARD_FRAME_POINTER_REGNUM.
+       (cris_expand_prologue, cris_expand_epilogue): Emit code for
+       hard_frame_pointer_rtx instead of frame_pointer_rtx.
+
+2021-03-10  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/99492
+       * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Add check for DCmode.
+       * config/rs6000/rs6000.c (rs6000_special_round_type_align): Same.
+
+2021-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99422
+       * lra-constraints.c (process_address_1): Don't check unknown
+       constraint, use X for empty constraint.
+
+2021-03-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate):
+       Fix typo in comment describing "is_ha" argument.
+
+2021-03-10  John David Anglin  <danglin@gcc.gnu.org>
+
+       * doc/sourcebuild.texi: Document LRA target selector.
+
+2021-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/ux.texi: Add subsection contrasting interactive versus
+       batch usage of GCC.
+
+2021-03-10  Joel Hutton  <joel.hutton@arm.com>
+
+       PR target/99102
+       * tree-vect-stmts.c (vectorizable_store): Fix scatter store mask
+       check condition.
+       (vectorizable_load): Fix gather load mask check condition.
+
+2021-03-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99510
+       * tree.c (check_aligned_type): Check that the candidate
+       has TYPE_USER_ALIGN set instead of matching with the
+       original type.
+
+2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (sparc_regmode_natural_size): Return 4 for
+       float and vector integer modes only if the mode is not larger.
+
+2021-03-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (DWARF_FRAME_REGISTERS): Define.
+
+2021-03-09  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       * ira.c (ira_setup_alts, ira_get_dup_out_num): Process digital
+       constraints > 9.
+       * ira-lives.c (single_reg_class): Ditto.
+
+2021-03-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config.gcc (aarch64-*-rtems*): Include general rtems.h after
+       the architecture-specific rtems.h.
+       (aarch64-*-rtems*): Likewise.
+       (arm*-*-rtems*): Likewise.
+       (epiphany-*-rtems*): Likewise.
+       (riscv*-*-rtems*): Likewise.
+
+2021-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99305
+       * tree-ssa-phiopt.c (conditional_replacement): Test integer_pow2p
+       before integer_all_onesp instead of vice versa.
+
+2021-03-09  Richard Earnshaw  <rearnsha@arm.com>
+
+       * common/config/arm/arm-common.c (arm_config_default): Change type
+       of 'i' to unsigned.
+
+2021-03-09  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99454
+       * lra-constraints.c (process_address_1): Process constraint 'g'
+       separately and digital constraints containing more one digit.
+
+2021-03-09  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.h (DBX_DEBUGGING_INFO): Define.
+       (DWARF"_DEBUGGING_INFO): Define.
+
+2021-03-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR c++/90448
+       * calls.c (initialize_argument_information): When the argument
+       is passed by reference, do not make a copy in a thunk only if
+       the argument is already in memory.  Remove redundant test for
+       the case of callee copy.
+
+2021-03-09  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99454
+       * lra-constraints.c (process_address_1): Process 0..9 constraints
+       in process_address_1.
+
+2021-03-09  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (struct s390_processor processor_table):
+       Binutils name string must not be empty.
+
+2021-03-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_attr_type): Remove function.
+
+2021-03-09  Martin Liska  <mliska@suse.cz>
+
+       PR target/99464
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Set isa_flags for OPTS argument and not for the global
+       global_options.
+
+2021-03-09  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/predicates.md (ds_form_mem_operand): Check
+       in correct code.
+
+2021-03-09  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/99070
+       * config/rs6000/predicates.md (ds_form_mem_operand) New
+       predicate.
+       * config/rs6000/genfusion.pl (gen_ld_cmpi_p10) Use
+       ds_form_mem_operand in ld/lwa patterns.
+       * config/rs6000/fusion.md: Regenerate file.
+
+2021-03-08  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98266
+       * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): New function.
+       (array_bounds_checker::check_array_bounds): Call it.
+
+2021-03-08  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97631
+       * tree-ssa-strlen.c (maybe_warn_overflow): Test rawmem.
+       (handle_builtin_stxncpy_strncat): Rename locals.  Determine
+       destination size from allocation calls.  Issue a more appropriate
+       kind of warning.
+       (handle_builtin_memcpy): Pass true as rawmem to maybe_warn_overflow.
+       (handle_builtin_memset): Same.
+
+2021-03-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/98959
+       * config/rs6000/rs6000.c (rs6000_emit_le_vsx_permute): Add an assert
+       to ensure we do not have an Altivec style address.
+       * config/rs6000/vsx.md (*vsx_le_perm_load_<mode>): Disable if passed
+       an Altivec style address.
+       (*vsx_le_perm_store_<mode>): Likewise.
+       (splitters after *vsx_le_perm_store_<mode>): Likewise.
+       (vsx_load_<mode>): Disable special expander if passed an Altivec
+       style address.
+       (vsx_store_<mode>): Likewise.
+
+2021-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99437
+       * config/aarch64/predicates.md (aarch64_simd_shift_imm_vec_qi): Define.
+       (aarch64_simd_shift_imm_vec_hi): Likewise.
+       (aarch64_simd_shift_imm_vec_si): Likewise.
+       (aarch64_simd_shift_imm_vec_di): Likewise.
+       * config/aarch64/aarch64-simd.md (aarch64_shrn<mode>_insn_le): Use
+       predicate from above.
+       (aarch64_shrn<mode>_insn_be): Likewise.
+       (aarch64_rshrn<mode>_insn_le): Likewise.
+       (aarch64_rshrn<mode>_insn_be): Likewise.
+       (aarch64_shrn2<mode>_insn_le): Likewise.
+       (aarch64_shrn2<mode>_insn_be): Likewise.
+       (aarch64_rshrn2<mode>_insn_le): Likewise.
+       (aarch64_rshrn2<mode>_insn_be): Likewise.
+
+2021-03-08  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99422
+       * lra-constraints.c (skip_contraint_modifiers): New function.
+       (process_address_1): Use it before lookup_constraint call.
+
+2021-03-08  Martin Liska  <mliska@suse.cz>
+
+       PR target/99463
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Enable UINTR and HRESET for -march that supports it.
+
+2021-03-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.c (f_constraint_p): New function.
+       (s390_md_asm_adjust): Implement TARGET_MD_ASM_ADJUST.
+       (TARGET_MD_ASM_ADJUST): Likewise.
+
+2021-03-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97927
+       * tree-nested.c (convert_local_reference_stmt): Avoid calling
+       lookup_field_for_decl for Fortran module (= namespace context).
+
+2021-03-08  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_expand_vec_compare): Implement <0
+       comparison with arithmetic right shift.
+       (s390_expand_vcond): No need for a force_reg anymore.
+       s390_vec_compare will do it.
+       * config/s390/vector.md ("vec_cmp<mode><tointvec>"): Accept also
+       immediate operands.
+
+2021-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * config/i386/constraints.md (Yw): Use SSE_REGS if TARGET_SSE
+       but TARGET_AVX512BW or TARGET_AVX512VL is not set.  Adjust description
+       and comment.
+       * config/i386/sse.md (v_Yw): New define_mode_attr.
+       (*<insn><mode>3, *mul<mode>3<mask_name>, *avx2_<code><mode>3,
+       *sse4_1_<code><mode>3<mask_name>): Use <v_Yw> instead of v
+       in constraints.
+       * config/i386/mmx.md (mmx_pshufw_1, *vec_dupv4hi): Use Yw instead of
+       xYw in constraints.
+
+2021-03-06  Julian Brown  <julian@codesourcery.com>
+
+       * tree-pretty-print.c (dump_generic_node): Emit non-generic
+       address space info for aggregates.
+
+2021-03-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (MAX_FIXED_MODE_SIZE): Don't define.
+
+2021-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99322
+       * tree-cfg.c (bb_to_omp_idx): New variable.
+       (execute_build_cfg): Release the bb_to_omp_idx vector after
+       cleanup_tree_cfg returns.
+       (handle_abnormal_edges): Remove bb_to_omp_idx argument, adjust
+       for bb_to_omp_idx being a vec<int> instead of pointer to array
+       of ints.
+       (make_edges): Remove bb_to_omp_idx local variable, don't pass
+       it to handle_abnormal_edges, adjust for bb_to_omp_idx being a
+       vec<int> instead of pointer to array of ints and don't free/release
+       it at the end.
+       (remove_bb): When removing a bb and placing forced label somewhere
+       else, ensure it is put into the same OpenMP region during cfg
+       pass if possible or to entry successor as fallback.  Unregister
+       bb from bb_to_omp_idx.
+
+2021-03-05  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99378
+       * lra-constraints.c (process_address_1): Skip decomposing address
+       for asm insn operand with unknown constraint.
+
+2021-03-05  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/98078
+       * cgraph.c (cgraph_edge::set_call_stmt): Do not update all
+       corresponding speculative edges if we are about to resolve
+       sepculation.  Make edge direct (and so resolve speculations) before
+       removing it from call_site_hash.
+       (cgraph_edge::make_direct): Relax the initial assert to allow calling
+       the function on speculative direct edges.
+
+2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/99376
+       * rtlanal.c (nonzero_bits1) <arithmetic operators>: If the number
+       of low-order zero bits is too large, set the result to 0 directly.
+
+2021-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93235
+       * expmed.c (store_bit_field_using_insv): Return false of xop0 is a
+       SUBREG and a SUBREG to op_mode can't be created.
+
+2021-03-04  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99381
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_resolver::require_vector_type): Handle error_mark_node.
+
+2021-03-04  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * cfgexpand.c (expand_asm_loc): Pass new parameter.
+       (expand_asm_stmt): Likewise.
+       * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Add new
+       parameter.
+       * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise.
+       * config/arm/arm.c (thumb1_md_asm_adjust): Likewise.
+       * config/cris/cris.c (cris_md_asm_adjust): Likewise.
+       * config/i386/i386.c (ix86_md_asm_adjust): Likewise.
+       * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise.
+       * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise.
+       * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise.
+       * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise.
+       * config/vax/vax.c (vax_md_asm_adjust): Likewise.
+       * config/visium/visium.c (visium_md_asm_adjust): Likewise.
+       * doc/tm.texi (md_asm_adjust): Likewise.
+       * target.def (md_asm_adjust): Likewise.
+
+2021-03-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97855
+       * tree-pretty-print.c: Poison pp_printf.
+       (dump_decl_name): Avoid use of pp_printf.
+       (dump_block_node): Likewise.
+       (dump_generic_node): Likewise.
+
+2021-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96963
+       PR middle-end/94655
+       * builtins.c (handle_array_ref): New helper.
+       (handle_mem_ref): New helper.
+       (compute_objsize_r): Factor out ARRAY_REF and MEM_REF handling
+       into new helper functions.  Correct a workaround for vectorized
+       assignments.
+
+2021-03-03  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/dfp.md (extendddtd2, trunctddd2, *cmp<mode>_internal1,
+       floatditd2, ftrunc<mode>2, fix<mode>di2, dfp_ddedpd_<mode>,
+       dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>,
+       *dfp_sgnfcnc_<mode>, dfp_dscli_<mode>, dfp_dscri_<mode>): Update size
+       attribute for Power10.
+       * config/rs6000/mma.md (*movoo): Likewise.
+       * config/rs6000/rs6000.md (define_attr "size"): Add 256.
+       (define_mode_attr bits): Add DD/TD modes.
+       * config/rs6000/sync.md (load_quadpti, store_quadpti, load_lockedpti,
+       store_conditionalpti): Update size attribute for Power10.
+
+2021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/92002
+       * config/sparc/t-sparc (tree-ssanames.o-warn): Don't error for
+       -Wuninitialized, -Wmaybe-uninitialized.
+       (wide-int.o-warn): Likewise.
+
+2021-03-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       * common/config/arm/arm-common.c: Include configargs.h.
+       (arm_config_default): New function.
+       (arm_target_mode): Renamed from arm_target_thumb_only.  Handle
+       processors that do not support Thumb.  Take into account the
+       --with-mode configuration setting for selecting the default.
+       * config/arm/arm.h (OPTION_DEFAULT_SPECS): Remove entry for 'mode'.
+       (TARGET_MODE_SPEC_FUNCTIONS): Update for function name change.
+
+2021-03-03  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97461
+       * gcov-io.h (GCOV_PREALLOCATED_KVP): Remove.
+
+2021-03-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/99234
+       * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
+       point back the hard frame pointer to its default location when the
+       frame is larger than SEH_MAX_FRAME_SIZE.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * config/i386/predicates.md (logic_operator): New define_predicate.
+       * config/i386/i386.md (mov + mem using comm arith peephole2):
+       Punt if operands[1] is EXT_REX_SSE_REGNO_P, AVX512BW is not enabled
+       and the inner mode is [QH]Imode.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99090
+       * dwarf2out.c (dw_loc_list_struct): Add end_entry member.
+       (new_loc_list): Clear end_entry.
+       (output_loc_list): Only use DW_LLE_startx_length for -gsplit-dwarf
+       if HAVE_AS_LEB128, otherwise use DW_LLE_startx_endx.  Fix comment
+       typo.
+       (index_location_lists): For dwarf_version >= 5 without HAVE_AS_LEB128,
+       initialize also end_entry.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99085
+       * cfgrtl.c (fixup_partitions): When changing some bbs from hot to cold
+       partitions, if in non-layout mode after reorder_blocks also move
+       affected blocks to ensure a single partition transition.
+
+2021-03-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96078
+       * cgraphunit.c (process_function_and_variable_attributes): Don't
+       warn about flatten on an alias if the target also has it.
+       * cgraph.h (symtab_node::get_alias_target_tree): New.
+
+2021-03-02  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.md (tls_get_tpointer_internal): Prepend
+       period to symbol name.
+       (tls_get_addr_internal<mode>): Same.
+
+2021-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/99323
+       * diagnostic-show-locus.c
+       (selftest::test_one_liner_many_fixits_2): Fix accidental usage of
+       column 0.
+
+2021-03-02  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/99276
+       * builtins.c (warn_for_access): Remove stray warning text.
+
+2021-03-02  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/99295
+       * doc/extend.texi (attribute malloc): Reword and clarify nonaliasing
+       property.
+
+2021-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99319
+       * dwarf2out.c (output_macinfo_op): Use DW_MACRO_*_str* even with
+       -gdwarf-5 -gstrict-dwarf.  For -gsplit-dwarf -gdwarf-5 use
+       DW_MACRO_*_strx instead of DW_MACRO_*_strp.  Handle
+       DW_MACRO_define_strx and DW_MACRO_undef_strx.
+       (save_macinfo_strings): Use DW_MACRO_*_str* even with
+       -gdwarf-5 -gstrict-dwarf.  Handle DW_MACRO_define_strx and
+       DW_MACRO_undef_strx.
+
+2021-03-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390-builtin-types.def (BT_FN_V4SF_V8HI_UINT): New
+       builtin signature.
+       (BT_FN_V8HI_V8HI_UINT): Likewise.
+       (BT_FN_V8HI_V4SF_V4SF_UINT): Likewise.
+       * config/s390/s390-builtins.def (B_NNPA): New macro definition.
+       (s390_vclfnhs, s390_vclfnls, s390_vcrnfs, s390_vcfn, s390_vcnf):
+       New builtin definitions.
+       * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Bump
+       vector extension version.
+       * config/s390/s390.c (s390_expand_builtin): Check if builtins are
+       available with current -march level.
+       * config/s390/s390.md (UNSPEC_NNPA_VCLFNHS_V8HI)
+       (UNSPEC_NNPA_VCLFNLS_V8HI, UNSPEC_NNPA_VCRNFS_V8HI)
+       (UNSPEC_NNPA_VCFN_V8HI, UNSPEC_NNPA_VCNF_V8HI): New constants.
+       * config/s390/vecintrin.h (vec_extend_to_fp32_hi): New macro.
+       (vec_extend_to_fp32_lo): Likewise.
+       (vec_round_from_fp32): Likewise.
+       (vec_convert_to_fp16): Likewise.
+       (vec_convert_from_fp16): Likewise.
+       * config/s390/vx-builtins.md (vclfnhs_v8hi): New insn pattern.
+       (vclfnls_v8hi): Likewise.
+       (vcrnfs_v8hi): Likewise.
+       (vcfn_v8hi): Likewise.
+       (vcnf_v8hi): Likewise.
+
+2021-03-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * common/config/s390/s390-common.c (processor_flags_table): New entry.
+       * config.gcc: Enable arch14 for --with-arch and --with-tune.
+       * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick
+       arch14 for unknown CPU models.
+       * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH14.
+       * config/s390/s390.c (s390_issue_rate): Add case for PROCESSOR_ARCH14.
+       (s390_get_sched_attrmask): Likewise.
+       (s390_get_unit_mask): Likewise.
+       * config/s390/s390.h (enum processor_flags): Add PF_NNPA and PF_ARCH14.
+       (TARGET_CPU_ARCH14, TARGET_CPU_ARCH14_P, TARGET_CPU_NNPA)
+       (TARGET_CPU_NNPA_P, TARGET_ARCH14, TARGET_ARCH14_P, TARGET_NNPA)
+       (TARGET_NNPA_P): New macro definitions.
+       * config/s390/s390.md ("cpu_facility", "enabled"): Add arch14 and nnpa.
+       * config/s390/s390.opt: Add PROCESSOR_ARCH14.
+
+2021-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95757
+       * tree-vrp.c (register_edge_assert_for): Remove superfluous ()s around
+       condition.  Call register_edge_assert_for_1 for == 0, != 0, == 1 and
+       != 1 comparisons if name is lhs of a comparison.
+
+2021-03-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/44107
+       PR target/48097
+       * config/darwin-protos.h (darwin_should_restore_cfa_state): New.
+       * config/darwin.c (darwin_should_restore_cfa_state): New.
+       * config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New.
+       * doc/tm.texi: Regenerated.
+       * doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE.
+       * dwarf2cfi.c (connect_traces): If the target requests, restore
+       the CFA expression after a DW_CFA_restore.
+       * target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook.
+
+2021-03-01  Martin Liska  <mliska@suse.cz>
+
+       PR target/99313
+       * optc-save-gen.awk: Add 4 more exceptions.
+
+2021-03-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99294
+       * tree.h (TYPE_ALIGN_RAW): New accessor.
+       (TYPE_ALIGN): Use it.
+
+2021-03-01  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/98338
+       * ipa-fnsummary.c (compute_fn_summary): Fix sanity check.
+
+2021-03-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/99234
+       * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
+       point the hard frame pointer to the SSE register save area instead
+       of the general register save area.  Perform only minimal adjustment
+       for small frames if it is initially not correctly aligned.
+       (ix86_expand_prologue): Remove early saves for a SEH target.
+       * config/i386/winnt.c (struct seh_frame_state): Document constraint.
+
+2021-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99304
+       * ipa.c (symbol_table::remove_unreachable_nodes): Fix a comment
+       typo - referneced -> referenced.
+       * tree.c (component_ref_size): Fix comment typo -
+       refernce -> reference.
+       * tree-ssa-alias.c (access_path_may_continue_p): Fix comment typo -
+       traling -> trailing.
+       (aliasing_component_refs_p): Fix comment typos -
+       refernce -> reference and refernece -> reference and
+       traling -> trailing.
+       (nonoverlapping_refs_since_match_p): Fix comment typo -
+       referneces -> references.
+       * doc/invoke.texi (--param modref-max-bases): Fix a typo -
+       referneces -> references.
+
+2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/host-darwin.c (darwin_gt_pch_use_address): Modify
+       diagnostic message to avoid use of a contraction and format
+       warning.
+
+2021-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/99288
+       * gcse.c (gcse_or_cprop_is_too_expensive): Use %wu instead of
+       HOST_WIDE_INT_PRINT_UNSIGNED in warning format string.
+       * ipa-devirt.c (ipa_odr_read_section): Use %wd instead of
+       HOST_WIDE_INT_PRINT_DEC in inform format string.  Fix comment
+       typos.
+
+2021-02-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99281
+       * expr.c (store_field): For calls with return-slot optimization
+       and addressable return type expand the store directly.
+
+2021-02-26  Richard Biener  <rguenther@suse.de>
+
+       PR c/99275
+       * builtins.c (warn_string_no_nul): Fix diagnostic formatting.
+
+2021-02-26  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/99279
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Replace assert
+       with an "if" test.
+
+2021-02-26  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config.gcc: Add rs6000-pcrel-opt.o.
+       * config/rs6000/rs6000-pcrel-opt.c: New file.
+       * config/rs6000/pcrel-opt.md: New file.
+       * config/rs6000/predicates.md: Add d_form_memory predicate.
+       * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_PCREL_OPT.
+       * config/rs6000/rs6000-passes.def: Add pass_pcrel_opt.
+       * config/rs6000/rs6000-protos.h: Add reg_to_non_prefixed(),
+       pcrel_opt_valid_mem_p(), output_pcrel_opt_reloc(),
+       and make_pass_pcrel_opt().
+       * config/rs6000/rs6000.c (reg_to_non_prefixed): Make global.
+       (rs6000_option_override_internal): Add pcrel-opt.
+       (rs6000_delegitimize_address): Support pcrel-opt.
+       (rs6000_opt_masks): Add pcrel-opt.
+       (pcrel_opt_valid_mem_p): New function.
+       (reg_to_non_prefixed): Make global.
+       (rs6000_asm_output_opcode): Reset prepend_p_to_next_insn.
+       (output_pcrel_opt_reloc): New function.
+       * config/rs6000/rs6000.md (loads_extern_addr): New attr.
+       (pcrel_extern_addr): Set loads_extern_addr.
+       Add include for pcrel-opt.md.
+       * config/rs6000/rs6000.opt: Add -mpcrel-opt.
+       * config/rs6000/t-rs6000: Add rules for pcrel-opt.c and
+       pcrel-opt.md.
+
+2021-02-26  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       PR target/98996
+       * config/mips/mips.c (mips_expand_ext_as_unaligned_load):
+       If TARGET_64BIT and dest is SUBREG, we check the width, if it
+       equal to SImode, we use SImode operation, just like what we are
+       doing for REG one.
+
+2021-02-26  Marek Polacek  <polacek@redhat.com>
+
+       * builtins.c (warn_for_access): Fix typos.
+
+2021-02-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/aarch64/aarch64.md (<optab>_rol<mode>3): Add a '#'
+       mark in front of the immediate quantity.
+       (<optab>_rolsi3_uxtw): Likewise.
+
+2021-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/99271
+       * config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt): New pattern.
+       (nonsecure_call_value_reg_thumb2_fpcxt): Likewise.
+       (nonsecure_call_reg_thumb2): Restrict to using r4 for the callee
+       address and disable when the FPCXT is not available.
+       (nonsecure_call_value_reg_thumb2): Likewise.
+
+2021-02-25  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99166
+       * doc/invoke.texi (flang-info-module-cmi): Renamed option.
+
+2021-02-25  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp.c (optimize_load_redistribution_1): Abort on NULL nodes.
+
+2021-02-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99253
+       * tree-vect-loop.c (check_reduction_path): First compute
+       code, then verify out-of-loop uses.
+
+2021-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95798
+       * match.pd ((T)(A) + CST -> (T)(A + CST)): Add :s to convert.
+
+2021-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/80635
+       * tree-vrp.c (vrp_simplify_cond_using_ranges): Also handle
+       VIEW_CONVERT_EXPR if modes are the same, innerop is integral and
+       has mode precision.
+
+2021-02-25  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (optimize_load_redistribution_1): Delay
+       load_map population.
+       (vect_match_slp_patterns_2): Revert part of last change.
+       (vect_analyze_slp): Do not interleave optimize_load_redistribution
+       with pattern detection but do it afterwards.  Dump the
+       whole SLP graph after pattern recognition and load
+       redistribution optimization finished.
+
+2021-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/99226
+       * omp-low.c (struct omp_context): Add teams_nested_p and
+       nonteams_nested_p members.
+       (scan_omp_target): Diagnose teams nested inside of target with other
+       directives strictly nested inside of the same target.
+       (check_omp_nesting_restrictions): Set ctx->teams_nested_p or
+       ctx->nonteams_nested_p as needed.
+
+2021-02-24  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/99123
+       * lra-constraints.c (uses_hard_regs_p): Don't use decompose_mem_address.
+
+2021-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_expand_prologue): Set
+       current_function_static_stack_size, if flag_stack_usage_info.
+
+2021-02-24  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename.
+       (rs6000_final_prescan_insn): Adjust.
+       (rs6000_asm_output_opcode): Likewise.
+
+2021-02-24  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97172
+       * attribs.c (attr_access::free_lang_data): Clear attribute arg spec
+       from function arguments.
+
+2021-02-24  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99220
+       * tree-vect-slp.c (optimize_load_redistribution_1): Remove
+       node from cache when it's about to be deleted.
+
+2021-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99225
+       * fold-const.c (fold_binary_loc) <case NE_EXPR>: In (x & (1 << y)) != 0
+       to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of
+       build_int_cst (..., 1).  Formatting fixes.
+
+2021-02-24  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99149
+       * tree-vect-slp-patterns.c (vect_detect_pair_op): Don't recreate the
+       buffer.
+       (vect_slp_reset_pattern): Remove.
+       (complex_fma_pattern::matches): Remove call to vect_slp_reset_pattern.
+       (complex_mul_pattern::build, complex_fma_pattern::build,
+       complex_fms_pattern::build): Fix ref counts.
+       * tree-vect-slp.c (vect_free_slp_tree): Undo SLP only pattern relevancy
+       when node is being deleted.
+       (vect_match_slp_patterns_2): Correct result of cache hit on patterns.
+       (vect_schedule_slp): Invalidate SLP_TREE_REPRESENTATIVE of removed
+       stores.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize value.
+
+2021-02-24  Matthias Klose  <doko@ubuntu.com>
+
+       Revert:
+       2020-12-07  Matthias Klose  <doko@ubuntu.com>
+
+       * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING
+       and ENABLE_RTL_FLAG_CHECKING.
+
+2021-02-24  Richard Biener  <rguenther@suse.de>
+
+       PR c/99224
+       * builtins.c (fold_builtin_next_arg): Avoid NULL arg.
+
+2021-02-23  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/mma.md (mma_assemble_pair): Rename from this...
+       (vsx_assemble_pair): ...to this.
+       (*mma_assemble_pair): Rename from this...
+       (*vsx_assemble_pair): ...to this.
+       (mma_disassemble_pair): Rename from this...
+       (vsx_disassemble_pair): ...to this.
+       (*mma_disassemble_pair): Rename from this...
+       (*vsx_disassemble_pair): ...to this.
+       * config/rs6000/rs6000-builtin.def (BU_MMA_V2, BU_MMA_V3,
+       BU_COMPAT): New macros.
+       (mma_assemble_pair): Rename from this...
+       (vsx_assemble_pair): ...to this.
+       (mma_disassemble_pair): Rename from this...
+       (vsx_disassemble_pair): ...to this.
+       (mma_assemble_pair): New compatibility built-in.
+       (mma_disassemble_pair): Likewise.
+       * config/rs6000/rs6000-call.c (struct builtin_compatibility): New.
+       (RS6000_BUILTIN_COMPAT): Define.
+       (bdesc_compat): New.
+       (mma_expand_builtin): Use VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL.
+       (rs6000_gimple_fold_mma_builtin): Use MMA_BUILTIN_DISASSEMBLE_PAIR
+       and VSX_BUILTIN_ASSEMBLE_PAIR.
+       (rs6000_init_builtins): Register compatibility built-ins.
+       (mma_init_builtins): Use VSX_BUILTIN_ASSEMBLE_PAIR,
+       VSX_BUILTIN_ASSEMBLE_PAIR_INTERNAL, VSX_BUILTIN_DISASSEMBLE_PAIR and
+       VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL.
+       * doc/extend.texi (__builtin_mma_assemble_pair): Rename from this...
+       (__builtin_vsx_assemble_pair): ...to this.
+       (__builtin_mma_disassemble_pair): Rename from this...
+       (__builtin_vsx_disassemble_pair): ...to this.
+
+2021-02-23  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/99168
+       * ipa-icf.c (sem_variable::merge): Do not merge 2 variables
+       with different alignment. That leads to an invalid red zone
+       size allocated in runtime.
+
+2021-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99204
+       * fold-const.c (fold_read_from_constant_string): Check that
+       tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST.
+
+2021-02-23  Segher Boessenkool  <segher@kernel.crashing.org>
+           Kewen Lin  <linkw@gcc.gnu.org>
+
+       * config/rs6000/rs6000.md (*rotl<mode>3_insert_3): Renamed to...
+       (rotl<mode>3_insert_3): ...this.
+       (plus_ior_xor): New code_iterator.
+       (define_split for GPR rl*imi): New splitter.
+       * config/rs6000/vsx.md (vsx_init_v4si): Use gen_rotldi3_insert_3
+       for integer merging.
+
+2021-02-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-tuning-flags.def (cse_sve_vl_constants):
+       Define.
+       * config/aarch64/aarch64.md (add<mode>3): Force CONST_POLY_INT immediates
+       into a register when the above is enabled.
+       * config/aarch64/aarch64.c (neoversev1_tunings):
+       AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS.
+       (aarch64_rtx_costs): Use AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS.
+
+2021-02-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_print_operand) <'T'>: Change
+       valid operand from is now an addi mult-value to shift-value.
+       * config/cris/cris.md (*addi): Change expression of scaled
+       operand from mult to ashift.
+       * config/cris/cris.md (*addi_reload): New insn_and_split.
+
+2021-02-22  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR target/85074
+       * config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
+       hook_bool_const_tree_hwi_hwi_const_tree_true.
+       (pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.
+
+2021-02-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR rtl-optimization/98791
+       * ira-conflicts.c (process_regs_for_copy): Don't create allocno copies
+       for unordered modes.
+
+2021-02-22  Martin Liska  <mliska@suse.cz>
+
+       * tree-inline.c (inline_forbidden_p): Set
+       inline_forbidden_reason.
+
+2021-02-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Dump
+       costed subgraph.
+
+2021-02-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99165
+       * gimple-ssa-store-merging.c (pass_store_merging::process_store):
+       Accumulate changed to ret.
+
+2021-02-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       Revert:
+       2020-12-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (REG_ALLOC_ORDER): Remove
+
+2021-02-20  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR target/99134
+       * config/s390/vector.md (trunctf<DFP_ALL:mode>2_vr): New
+       pattern.
+       (trunctf<DFP_ALL:mode>2): Likewise.
+       (trunctdtf2_vr): Likewise.
+       (trunctdtf2): Likewise.
+       (extend<DFP_ALL:mode>tf2_vr): Likewise.
+       (extend<DFP_ALL:mode>tf2): Likewise.
+       (extendtftd2_vr): Likewise.
+       (extendtftd2): Likewise.
+
+2021-02-20  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/vector.md (*fprx2_to_tf): Rename to fprx2_to_tf,
+       add memory alternative.
+       (tf_to_fprx2): New pattern.
+
+2021-02-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97172
+       * attribs.c (init_attr_rdwr_indices): Guard vblist use.
+       (attr_access::free_lang_data): Remove a spurious test.
+
+2021-02-19  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/invoke.texi (flang-info-module-read): Document.
+
+2021-02-19  Martin Liska  <mliska@suse.cz>
+
+       PR translation/99167
+       * params.opt: Fix typo.
+
+2021-02-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99122
+       * tree-inline.c (inline_forbidden_p): Do not inline functions
+       with VLA arguments or return value.
+
+2021-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98998
+       * config/arm/arm.md (*stack_protect_combined_set_insn,
+       *stack_protect_combined_test_insn): If force_const_mem result
+       is not valid general operand, force its address into the destination
+       register first.
+
+2021-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/99034
+       * tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing
+       pad or non-local label, put FORCED_LABELs from bb b after that label
+       rather than before it.
+
+2021-02-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/98657
+       * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3): Use
+       expand_vector_broadcast' to emit the vec_duplicate operand.
+
+2021-02-18  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/96264
+       * lra-remat.c (reg_overlap_for_remat_p): Check also output insn
+       hard regs.
+
+2021-02-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99113
+       * varasm.c (get_section): Replace SUPPORTS_SHF_GNU_RETAIN with
+       looking up the retain attribute.
+       (resolve_unique_section): Likewise.
+       (get_variable_section): Likewise.
+       (switch_to_section): Likewise.  Warn when a symbol without the
+       retain attribute and a symbol with the retain attribute are
+       placed in the section with the same name, instead of the used
+       attribute.
+       * doc/extend.texi: Document the "retain" attribute.
+
+2021-02-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * doc/invoke.texi (flang-info-include-translate): Document header
+       lookup behaviour.
+
+2021-02-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99122
+       * ipa-fnsummary.c (analyze_function_body): Set
+       CIF_FUNCTION_NOT_INLINABLE for VLA parameter calls.
+       * tree-inline.c (insert_init_debug_bind): Pass NULL for
+       error_mark_node values.
+       (force_value_to_type): Do not build V_C_Es for WITH_SIZE_EXPR
+       values.
+       (setup_one_parameter): Delay force_value_to_type until when
+       it's needed.
+
+2021-02-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR tree-optimization/99142
+       * match.pd (clz cmp 0): Gate replacement on single_use of clz result.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * wide-int-bitmask.h (wide_int_bitmask::wide_int_bitmask (),
+       wide_int_bitmask::wide_int_bitmask (uint64_t),
+       wide_int_bitmask::wide_int_bitmask (uint64_t, uint64_t),
+       wide_int_bitmask::operator ~ () const,
+       wide_int_bitmask::operator | (wide_int_bitmask) const,
+       wide_int_bitmask::operator & (wide_int_bitmask) const): Use constexpr
+       instead of inline.
+       * config/i386/i386.h (PTA_3DNOW, PTA_3DNOW_A, PTA_64BIT, PTA_ABM,
+       PTA_AES, PTA_AVX, PTA_BMI, PTA_CX16, PTA_F16C, PTA_FMA, PTA_FMA4,
+       PTA_FSGSBASE, PTA_LWP, PTA_LZCNT, PTA_MMX, PTA_MOVBE, PTA_NO_SAHF,
+       PTA_PCLMUL, PTA_POPCNT, PTA_PREFETCH_SSE, PTA_RDRND, PTA_SSE, PTA_SSE2,
+       PTA_SSE3, PTA_SSE4_1, PTA_SSE4_2, PTA_SSE4A, PTA_SSSE3, PTA_TBM,
+       PTA_XOP, PTA_AVX2, PTA_BMI2, PTA_RTM, PTA_HLE, PTA_PRFCHW, PTA_RDSEED,
+       PTA_ADX, PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT, PTA_AVX512F, PTA_AVX512ER,
+       PTA_AVX512PF, PTA_AVX512CD, PTA_NO_TUNE, PTA_SHA, PTA_PREFETCHWT1,
+       PTA_CLFLUSHOPT, PTA_XSAVEC, PTA_XSAVES, PTA_AVX512DQ, PTA_AVX512BW,
+       PTA_AVX512VL, PTA_AVX512IFMA, PTA_AVX512VBMI, PTA_CLWB, PTA_MWAITX,
+       PTA_CLZERO, PTA_NO_80387, PTA_PKU, PTA_AVX5124VNNIW, PTA_AVX5124FMAPS,
+       PTA_AVX512VPOPCNTDQ, PTA_SGX, PTA_AVX512VNNI, PTA_GFNI, PTA_VAES,
+       PTA_AVX512VBMI2, PTA_VPCLMULQDQ, PTA_AVX512BITALG, PTA_RDPID,
+       PTA_PCONFIG, PTA_WBNOINVD, PTA_AVX512VP2INTERSECT, PTA_PTWRITE,
+       PTA_AVX512BF16, PTA_WAITPKG, PTA_MOVDIRI, PTA_MOVDIR64B, PTA_ENQCMD,
+       PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK, PTA_AMX_TILE, PTA_AMX_INT8,
+       PTA_AMX_BF16, PTA_UINTR, PTA_HRESET, PTA_KL, PTA_WIDEKL, PTA_AVXVNNI,
+       PTA_X86_64_BASELINE, PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4,
+       PTA_CORE2, PTA_NEHALEM, PTA_WESTMERE, PTA_SANDYBRIDGE, PTA_IVYBRIDGE,
+       PTA_HASWELL, PTA_BROADWELL, PTA_SKYLAKE, PTA_SKYLAKE_AVX512,
+       PTA_CASCADELAKE, PTA_COOPERLAKE, PTA_CANNONLAKE, PTA_ICELAKE_CLIENT,
+       PTA_ICELAKE_SERVER, PTA_TIGERLAKE, PTA_SAPPHIRERAPIDS, PTA_ALDERLAKE,
+       PTA_KNL, PTA_BONNELL, PTA_SILVERMONT, PTA_GOLDMONT, PTA_GOLDMONT_PLUS,
+       PTA_TREMONT, PTA_KNM): Use constexpr instead of const.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99109
+       * gimple-array-bounds.cc (build_zero_elt_array_type): Rename to ...
+       (build_printable_array_type): ... this.  Add nelts argument.  For
+       overaligned eltype, use TYPE_MAIN_VARIANT (eltype) instead.  If
+       nelts, call build_array_type_nelts.
+       (array_bounds_checker::check_mem_ref): Use build_printable_array_type
+       instead of build_zero_elt_array_type and build_array_type_nelts.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99104
+       * config/i386/i386.c (distance_non_agu_define): Don't call
+       extract_insn_cached here.
+       (ix86_lea_outperforms): Save and restore recog_data around call
+       to distance_non_agu_define and distance_agu_use.
+       (ix86_ok_to_clobber_flags): Remove.
+       (ix86_avoid_lea_for_add): Don't call ix86_ok_to_clobber_flags.
+       (ix86_avoid_lea_for_addr): Likewise.  Adjust function comment.
+       * config/i386/i386.md (*lea<mode>): Change from define_insn_and_split
+       into define_insn.  Move the splitting to define_peephole2 and
+       check there using peep2_regno_dead_p if FLAGS_REG is dead.
+
+2021-02-17  Julian Brown  <julian@codesourcery.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Handle ATTACH_DETACH
+       for non-decls.
+
+2021-02-17  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/98491
+       * config/mips/mips.c (mips_symbol_insns): Do not use
+       MSA_SUPPORTED_MODE_P if mode is MAX_MACHINE_MODE.
+
+2021-02-16  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/98096
+       * stmt.c (resolve_operand_name_1): Take inout operands into account
+       for access to labels by names.
+       * doc/extend.texi: Describe counting operands for accessing labels.
+
+2021-02-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/38474
+       * tree-ssa-structalias.c (variable_info::address_taken): New.
+       (new_var_info): Initialize address_taken.
+       (process_constraint): Set address_taken.
+       (solve_constraints): Use the new address_taken flag rather
+       than is_reg_var for sorting variables.
+       (dump_constraint): Dump the variable number if the name
+       is just NULL.
+
+2021-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99100
+       * tree-vect-stmts.c (vectorizable_simd_clone_call): For num_calls != 1
+       multiply by 4096 and for inbranch by 8192.
+       * config/i386/i386.c (ix86_simd_clone_usable): For TARGET_AVX512F,
+       return 3, 2 or 1 for mangle letters 'b', 'c' or 'd'.
+
+2021-02-15  Maya Rashish  <coypu@sdf.org>
+
+       * config/aarch64/aarch64.c (aarch64_init_builtins):
+       Call SUBTARGET_INIT_BUILTINS.
+
+2021-02-15  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/98872
+       * init-regs.c (initialize_uninitialized_regs): Skip initialization
+       if CONST0_RTX is NULL.
+
+2021-02-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98863
+       * rtl-ssa/functions.h (function_info::bb_live_out_info): Delete.
+       (function_info::build_info): Turn into a declaration, moving the
+       definition to internals.h.
+       (function_info::bb_walker): Declare.
+       (function_info::create_reg_use): Likewise.
+       (function_info::calculate_potential_phi_regs): Take a build_info
+       parameter.
+       (function_info::place_phis, function_info::create_ebbs): Declare.
+       (function_info::calculate_ebb_live_in_for_debug): Likewise.
+       (function_info::populate_backedge_phis): Delete.
+       (function_info::start_block, function_info::end_block): Declare.
+       (function_info::populate_phi_inputs): Delete.
+       (function_info::m_potential_phi_regs): Move information to build_info.
+       * rtl-ssa/internals.h: New file.
+       (function_info::bb_phi_info): New class.
+       (function_info::build_info): Moved from functions.h.
+       Add a constructor and destructor.
+       (function_info::build_info::ebb_use): Delete.
+       (function_info::build_info::ebb_def): Likewise.
+       (function_info::build_info::bb_live_out): Likewise.
+       (function_info::build_info::tmp_ebb_live_in_for_debug): New variable.
+       (function_info::build_info::potential_phi_regs): Likewise.
+       (function_info::build_info::potential_phi_regs_for_debug): Likewise.
+       (function_info::build_info::ebb_def_regs): Likewise.
+       (function_info::build_info::bb_phis): Likewise.
+       (function_info::build_info::bb_mem_live_out): Likewise.
+       (function_info::build_info::bb_to_rpo): Likewise.
+       (function_info::build_info::def_stack): Likewise.
+       (function_info::build_info::old_def_stack_limit): Likewise.
+       * rtl-ssa/internals.inl (function_info::build_info::record_reg_def):
+       Remove the regno argument.  Push the previous definition onto the
+       definition stack where necessary.
+       * rtl-ssa/accesses.cc: Include internals.h.
+       * rtl-ssa/changes.cc: Likewise.
+       * rtl-ssa/blocks.cc: Likewise.
+       (function_info::build_info::build_info): Define.
+       (function_info::build_info::~build_info): Likewise.
+       (function_info::bb_walker): New class.
+       (function_info::bb_walker::bb_walker): Define.
+       (function_info::add_live_out_use): Convert a logarithmic-complexity
+       test into a linear one.  Allow the same definition to be passed
+       multiple times.
+       (function_info::calculate_potential_phi_regs): Moved from
+       functions.cc.  Take a build_info parameter and store the
+       information there instead.
+       (function_info::place_phis): New function.
+       (function_info::add_entry_block_defs): Update call to record_reg_def.
+       (function_info::calculate_ebb_live_in_for_debug): New function.
+       (function_info::add_phi_nodes): Use bb_phis to decide which
+       registers need phi nodes and initialize ebb_def_regs accordingly.
+       Do not add degenerate phis here.
+       (function_info::add_artificial_accesses): Use create_reg_use.
+       Assert that all definitions are listed in the DF LR sets.
+       Update call to record_reg_def.
+       (function_info::record_block_live_out): Record live-out register
+       values in the phis of successor blocks.  Use the live-out set
+       when processing the last block in an EBB, instead of always
+       using the live-in sets of successor blocks.  AND the live sets
+       with the set of registers that have been defined in the EBB,
+       rather than with all potential phi registers.  Cope correctly
+       with branches back to the start of the current EBB.
+       (function_info::start_block): New function.
+       (function_info::end_block): Likewise.
+       (function_info::populate_phi_inputs): Likewise.
+       (function_info::create_ebbs): Likewise.
+       (function_info::process_all_blocks): Rewrite into a multi-phase
+       process.
+       * rtl-ssa/functions.cc: Include internals.h.
+       (function_info::calculate_potential_phi_regs): Move to blocks.cc.
+       (function_info::init_function_data): Remove caller.
+       * rtl-ssa/insns.cc: Include internals.h
+       (function_info::create_reg_use): New function.  Lazily any
+       degenerate phis needed by the linear RPO view.
+       (function_info::record_use): Use create_reg_use.  When processing
+       debug uses, use potential_phi_regs and test it before checking
+       whether the register is live on entry to the current EBB.  Lazily
+       calculate ebb_live_in_for_debug.
+       (function_info::record_call_clobbers): Update call to record_reg_def.
+       (function_info::record_def): Likewise.
+
+2021-02-15  Martin Liska  <mliska@suse.cz>
+
+       * toplev.c (init_asm_output): Free output of
+       gen_command_line_string function.
+       (process_options): Likewise.
+
+2021-02-15  Martin Liska  <mliska@suse.cz>
+
+       * params.opt: Add 2 missing Param keywords.
+
+2021-02-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * df-core.c (df_worklist_dataflow_doublequeue): Use proper cast.
+
+2021-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99079
+       * match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove
+       useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check.  Instead
+       require both type and TREE_TYPE (@1) to be integral types and either
+       type having smaller or equal precision, or TREE_TYPE (@1) being
+       unsigned type, or type being signed type.  If TREE_TYPE (@1)
+       doesn't have wrapping overflow, perform the subtraction of one in
+       unsigned type.
+
+2021-02-14  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguether@suse.de>
+
+       PR ipa/97346
+       * ipa-reference.c (ipa_init): Only conditinally initialize
+       reference_vars_to_consider.
+       (propagate): Conditionally deninitialize reference_vars_to_consider.
+       (ipa_reference_write_optimization_summary): Sanity check that
+       reference_vars_to_consider is not allocated.
+
+2021-02-13  Levy Hsu  <admin@levyhsu.com>
+
+       PR target/97417
+       * config/riscv/riscv-shorten-memrefs.c (pass_shorten_memrefs): Add
+       extend parameter to get_si_mem_base_reg declaration.
+       (get_si_mem_base_reg): Add extend parameter.  Set it.
+       (analyze): Pass extend arg to get_si_mem_base_reg.
+       (transform): Likewise.  Use it when rewriting mems.
+       * config/riscv/riscv.c (riscv_legitimize_move): Check for subword
+       loads and emit sign/zero extending load followed by subreg move.
+
+2021-02-13  Jim Wilson  <jimw@sifive.com>
+
+       PR target/97417
+       * config/riscv/riscv.c (riscv_compressed_lw_address_p): Drop early
+       exit when !reload_completed.  Only perform check for compressed reg
+       if reload_completed.
+       (riscv_rtx_costs): In MEM case, when optimizing for size and
+       shorten memrefs, if not compressible, then increase cost.
+
+2021-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98439
+       * recog.c (pass_split_before_regstack::gate): Enable even when
+       pass_split_before_sched2 is enabled if -fselective-scheduling2 is
+       on.
+
+2021-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96166
+       * config/i386/mmx.md (*mmx_pshufd_1): Add a combine splitter for
+       swap of V2SImode elements in memory into DImode memory rotate by 32.
+
+2021-02-12  Martin Sebor  <msebor@redhat.com>
+
+       * tree-pretty-print.c (print_generic_expr_to_str): Update comment.
+
+2021-02-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl-ssa/accesses.cc (function_info::make_use_available): Use
+       m_temp_obstack rather than m_obstack to allocate the temporary use.
+
+2021-02-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * df-problems.c (df_lr_bb_local_compute): Treat partial definitions
+       as read-modify operations.
+
+2021-02-12  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/38474
+       * ipa-fnsummary.c (unmodified_parm_1): Only walk when
+       fbi->aa_walk_budget is bigger than zero.  Update
+       fbi->aa_walk_budget.
+       (param_change_prob): Likewise.
+       * ipa-prop.c (detect_type_change_from_memory_writes):
+       Properly account walk_aliased_vdefs.
+       (parm_preserved_before_stmt_p): Canonicalize updates.
+       (parm_ref_data_preserved_p): Likewise.
+       (parm_ref_data_pass_through_p): Likewise.
+       (determine_known_aggregate_parts): Account own alias queries.
+
+2021-02-12  Martin Liska  <mliska@suse.cz>
+
+       * opts-common.c (decode_cmdline_option): Release werror_arg.
+       * opts.c (gen_producer_string): Release output of
+       gen_command_line_string.
+
+2021-02-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/38474
+       * params.opt (-param=max-store-chains-to-track=): New param.
+       (-param=max-stores-to-track=): Likewise.
+       * doc/invoke.texi (max-store-chains-to-track): Document.
+       (max-stores-to-track): Likewise.
+       * gimple-ssa-store-merging.c (pass_store_merging::m_n_chains):
+       New.
+       (pass_store_merging::m_n_stores): Likewise.
+       (pass_store_merging::terminate_and_process_chain): Update
+       m_n_stores and m_n_chains.
+       (pass_store_merging::process_store): Likewise.   Terminate
+       oldest chains if the number of stores or chains get too large.
+       (imm_store_chain_info::terminate_and_process_chain): Dump
+       chain length.
+
+2021-02-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
+       the cold section, emit a nop before the directive if the previous
+       active instruction can throw.
+
+2021-02-11  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/99041
+       * config/rs6000/predicates.md (mma_assemble_input_operand): Restrict
+       memory addresses that are legal for quad word accesses.
+
+2021-02-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/98931
+       * config/arm/thumb2.md (*doloop_end_internal): Generate
+       alternative sequence to handle long range branches.
+
+2021-02-11  Joel Hutton  <joel.hutton@arm.com>
+
+       PR tree-optimization/98772
+       * optabs-tree.c (supportable_half_widening_operation): New function
+       to check for supportable V8QI->V8HI widening patterns.
+       * optabs-tree.h (supportable_half_widening_operation): New function.
+       * tree-vect-stmts.c (vect_create_half_widening_stmts): New function
+       to create promotion stmts for V8QI->V8HI widening patterns.
+       (vectorizable_conversion): Add case for V8QI->V8HI.
+
+2021-02-11  Richard Biener  <rguenther@suse.de>
+
+       * sparseset.h (SPARSESET_ELT_BITS): Remove.
+       (SPARSESET_ELT_TYPE): Use unsigned int.
+       * fwprop.c: Do not include sparseset.h.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99035
+       * varasm.c (declare_weak): For -fsyntax-only, allow even
+       TREE_ASM_WRITTEN function decls.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99025
+       * config/i386/sse.md (fix<fixunssuffix>_truncv2sfv2di2,
+       <insn>v8qiv8hi2, <insn>v8qiv8si2, <insn>v4qiv4si2, <insn>v4hiv4si2,
+       <insn>v8qiv8di2, <insn>v4qiv4di2, <insn>v2qiv2di2, <insn>v4hiv4di2,
+       <insn>v2hiv2di2, <insn>v2siv2di2): Force operands[1] into REG before
+       calling simplify_gen_subreg on it.
+
+2021-02-10  Martin Liska  <mliska@suse.cz>
+
+       * config/nvptx/nvptx.c (nvptx_option_override): Use
+       flag_patchable_function_entry instead of the removed
+       function_entry_patch_area_size.
+
+2021-02-10  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/99002
+       PR tree-optimization/99026
+       * gimple-if-to-switch.cc (if_chain::is_beneficial): Fix memory
+       leak when adjacent cases are merged.
+       * tree-switch-conversion.c (switch_decision_tree::analyze_switch_statement): Use
+       release_clusters.
+       (make_pass_lower_switch): Remove trailing whitespace.
+       * tree-switch-conversion.h (release_clusters): New.
+
+2021-02-10  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/99054
+       * cfgrtl.c (rtl-optimization/99054): Return an auto_vec.
+       (fixup_partitions): Adjust.
+       (rtl_verify_edges): Likewise.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99007
+       * gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions,
+       temporarily disable gimplify_ctxp->into_ssa around gimplify_expr
+       calls.
+
+2021-02-10  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/99029
+       * ipa-pure-const.c (propagate_malloc): Use an auto_vec<>
+       for callees.
+
+2021-02-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99024
+       * tree-vect-loop.c (_loop_vec_info::~_loop_vec_info): Only
+       clear loop->aux if it is associated with the destroyed loop_vinfo.
+
+2021-02-10  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/99002
+       * gimple-if-to-switch.cc (find_conditions): Fix memory leak
+       in the function.
+
+2021-02-10  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/99003
+       * ipa-icf.c (sem_item::add_reference): Fix memory leak when
+       a reference exists.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98755
+       * dwarf2out.c (prune_unused_types_walk): Mark DW_TAG_variable DIEs
+       at class scope for DWARF5+.
+
+2021-02-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/96015
+       * reorg.c (skip_consecutive_labels): Minor comment tweaks.
+       (relax_delay_slots): When deleting a jump to the next active
+       instruction over a barrier, first delete the barrier if the
+       jump is the only way to reach the target label.
+
+2021-02-09  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-cost-tables.h: Add entries for vect.mul.
+       * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Use vect.mul for
+       vector multiplies and vect.alu for SSRA.
+       * config/arm/aarch-common-protos.h (struct vector_cost_table): Define
+       vect.mul cost field.
+       * config/arm/aarch-cost-tables.h: Add entries for vect.mul.
+       * config/arm/arm.c: Likewise.
+
+2021-02-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98863
+       * tree-ssa-sccvn.h (vn_avail::next_undo): Add.
+       * tree-ssa-sccvn.c (last_pushed_avail): New global.
+       (rpo_elim::eliminate_push_avail): Chain pushed avails.
+       (unwind_state::avail_top): Add.
+       (do_unwind): Rewrite unwinding of avail entries.
+       (do_rpo_vn): Initialize last_pushed_avail and
+       avail_top of the undo state.
+
+2021-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99004
+       * calls.c (maybe_warn_rdwr_sizes): Change s0 and s1 type from
+       const char * to char * and free those pointers after use.
+
+2021-02-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99017
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Allow
+       zero vector cost entries.
+
+2021-02-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR middle-end/98974
+       * tree-vect-stmts.c (vectorizable_condition): Remove shadow vec_num
+       parameter in vectorizable_condition.
+
+2021-02-08  Richard Biener  <rguenther@suse.de>
+
+       PR lto/96591
+       * tree.c (walk_tree_1): Walk VECTOR_CST elements.
+
+2021-02-08  Martin Liska  <mliska@suse.cz>
+
+       PR lto/98971
+       * cfgexpand.c (pass_expand::execute): Parse per-function option
+       flag_patchable_function_entry and use it.
+       * common.opt: Remove function_entry_patch_area_size and
+       function_entry_patch_area_start global variables.
+       * opts.c (parse_and_check_patch_area): New function.
+       (common_handle_option): Use it.
+       * opts.h (parse_and_check_patch_area): New function.
+       * toplev.c (process_options): Parse and use
+       function_entry_patch_area_size.
+
+2021-02-08  Martin Sebor  <msebor@redhat.com>
+
+       * doc/extend.texi (attribute malloc): Correct typos.
+
+2021-02-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR driver/98943
+       * gcc.c (driver::maybe_run_linker): Check for input file
+       accessibility if not linking.
+
+2021-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98855
+       * tree-vectorizer.h (add_stmt_cost): New overload.
+       * tree-vect-slp.c (li_cost_vec_cmp): New.
+       (vect_bb_slp_scalar_cost): Cost individual loop regions
+       separately.  Account for the scalar instance root stmt.
+
+2021-02-05  Tom de Vries  <tdevries@suse.de>
+
+       PR debug/98656
+       * tree-switch-conversion.c (jump_table_cluster::emit): Add loc
+       argument.
+       (bit_test_cluster::emit): Reuse location_t for newly created
+       gswitch statement.
+       (switch_decision_tree::try_switch_expansion): Preserve
+       location_t.
+       * tree-switch-conversion.h: Change function signatures.
+
+2021-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98957
+       * config/i386/i386-options.c (m_NONE, m_ALL): Define.
+       * config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS,
+       X86_TUNE_PROMOTE_QI_REGS): Use m_NONE instead of 0U.
+       (X86_TUNE_QIMODE_MATH): Use m_ALL instead of ~0U.
+
+2021-02-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (get_high): Define builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_get_high<mode>): Define.
+       * config/aarch64/arm_neon.h (__GET_HIGH): Delete.
+       (vget_high_f16): Reimplement using new builtin.
+       (vget_high_f32): Likewise.
+       (vget_high_f64): Likewise.
+       (vget_high_p8): Likewise.
+       (vget_high_p16): Likewise.
+       (vget_high_p64): Likewise.
+       (vget_high_s8): Likewise.
+       (vget_high_s16): Likewise.
+       (vget_high_s32): Likewise.
+       (vget_high_s64): Likewise.
+       (vget_high_u8): Likewise.
+       (vget_high_u16): Likewise.
+       (vget_high_u32): Likewise.
+       (vget_high_u64): Likewise.
+
+2021-02-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (get_low): Define builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Define.
+       * config/aarch64/arm_neon.h (__GET_LOW): Delete.
+       (vget_low_f16): Reimplement using new builtin.
+       (vget_low_f32): Likewise.
+       (vget_low_f64): Likewise.
+       (vget_low_p8): Likewise.
+       (vget_low_p16): Likewise.
+       (vget_low_p64): Likewise.
+       (vget_low_s8): Likewise.
+       (vget_low_s16): Likewise.
+       (vget_low_s32): Likewise.
+       (vget_low_s64): Likewise.
+       (vget_low_u8): Likewise.
+       (vget_low_u16): Likewise.
+       (vget_low_u32): Likewise.
+       (vget_low_u64): Likewise.
+
+2021-02-05  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.c (print_multilib_info): Check all required argument is provided
+       by default arg.
+
+2021-02-05  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98537
+       * config/i386/i386-expand.c (ix86_expand_sse_cmp): Don't
+       generate integer mask comparison for 128/256-bits vector when
+       op_true/op_false is NULL_RTX or CONSTM1_RTX/CONST0_RTX. Also
+       delete redundant !maskcmp condition.
+       (ix86_expand_int_vec_cmp): Ditto but no redundant deletion
+       here.
+       (ix86_expand_sse_movcc): Delete definition of maskcmp, add the
+       condition directly to if (maskcmp), add extra check for
+       cmpmode, it should be MODE_INT.
+       (ix86_expand_fp_vec_cmp): Pass NULL to ix86_expand_sse_cmp's
+       parameters op_true/op_false.
+       (ix86_use_mask_cmp_p): New.
+
+2021-02-05  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98172
+       * config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL):
+       Remove m_GENERIC from ~list.
+       (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Ditto.
+
+2021-02-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/97932
+       * diagnostic-show-locus.c (compatible_locations_p): Require
+       locations in the same macro map to be either both from the
+       macro definition, or both from the macro arguments.
+
+2021-02-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       [su]mull_hi_lane[q] builtin generator macros.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<su>mull_hi_lane<mode>_insn): Define.
+       (aarch64_<su>mull_hi_lane<mode>): Define.
+       (aarch64_<su>mull_hi_laneq<mode>_insn): Define.
+       (aarch64_<su>mull_hi_laneq<mode>): Define.
+       * config/aarch64/arm_neon.h (vmull_high_lane_s16): Use RTL
+       builtin instead of inline asm.
+       (vmull_high_lane_s32): Likewise.
+       (vmull_high_lane_u16): Likewise.
+       (vmull_high_lane_u32): Likewise.
+       (vmull_high_laneq_s16): Likewise.
+       (vmull_high_laneq_s32): Likewise.
+       (vmull_high_laneq_u16): Likewise.
+       (vmull_high_laneq_u32): Liekwise.
+
+2021-02-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_hi_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<su>mull_hi_n<mode>_insn): Define.
+       (aarch64_<su>mull_hi_n<mode>): Define.
+       * config/aarch64/arm_neon.h (vmull_high_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmull_high_n_s32): Likewise.
+       (vmull_high_n_u16): Likewise.
+       (vmull_high_n_u32): Likewise.
+
+2021-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98855
+       * tree-vect-loop.c (vectorizable_phi): Do not cost
+       single-argument PHIs.
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Likewise.
+       * tree-vect-stmts.c (vectorizable_bswap): Also perform
+       costing for SLP operation.
+
+2021-02-04  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Mention -mprefer-vector-width in target
+       attributes.
+
+2021-02-03  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/98937
+       * tree-ssa-strlen.c (strlen_dom_walker::~strlen_dom_walker): Define.
+       Flush pointer_query cache.
+
+2021-02-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_2logical): Add missing
+       fixes based on patch review.
+       * config/rs6000/fusion.md: Regenerate file.
+
+2021-02-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/t-rs6000: Comment out auto generation of
+       fusion.md for now.
+
+2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX908.
+       * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Add gfx908.
+       (output_file_start): Add gfx908.
+       * config/gcn/gcn.opt (gpu_type): Add gfx908.
+       * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add march=gfx908.
+       (MULTILIB_DIRNAMES): Add gfx908.
+       * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): New define.
+       (main): Recognize gfx908.
+       * config/gcn/t-omp-device: Add gfx908.
+
+2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       [su]mlsl_hi_lane[q] builtin macro generators.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<su>mlsl_hi_lane<mode>_insn): Define.
+       (aarch64_<su>mlsl_hi_lane<mode>): Define.
+       (aarch64_<su>mlsl_hi_laneq<mode>_insn): Define.
+       (aarch64_<su>mlsl_hi_laneq<mode>): Define.
+       * config/aarch64/arm_neon.h (vmlsl_high_lane_s16): Use RTL
+       builtin instead of inline asm.
+       (vmlsl_high_lane_s32): Likewise.
+       (vmlsl_high_lane_u16): Likewise.
+       (vmlsl_high_lane_u32): Likewise.
+       (vmlsl_high_laneq_s16): Likewise.
+       (vmlsl_high_laneq_s32): Likewise.
+       (vmlsl_high_laneq_u16): Likewise.
+       (vmlsl_high_laneq_u32): Likewise.
+       (vmlal_high_laneq_u32): Likewise.
+
+2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add
+       [su]mlal_hi_lane[q] builtin generator macros.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_<su>mlal_hi_lane<mode>_insn): Define.
+       (aarch64_<su>mlal_hi_lane<mode>): Define.
+       (aarch64_<su>mlal_hi_laneq<mode>_insn): Define.
+       (aarch64_<su>mlal_hi_laneq<mode>): Define.
+       * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Use RTL
+       builtin instead of inline asm.
+       (vmlal_high_lane_s32): Likewise.
+       (vmlal_high_lane_u16): Likewise.
+       (vmlal_high_lane_u32): Likewise.
+       (vmlal_high_laneq_s16): Likewise.
+       (vmlal_high_laneq_s32): Likewise.
+       (vmlal_high_laneq_u16): Likewise.
+       (vmlal_high_laneq_u32): Likewise.
+
+2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_hi_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mlsl_hi_n<mode>_insn):
+       Define.
+       (aarch64_<su>mlsl_hi_n<mode>): Define.
+       * config/aarch64/arm_neon.h (vmlsl_high_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmlsl_high_n_s32): Likewise.
+       (vmlsl_high_n_u16): Likewise.
+       (vmlsl_high_n_u32): Likewise.
+
+2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_hi_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_hi_n<mode>_insn):
+       Define.
+       (aarch64_<su>mlal_hi_n<mode>): Define.
+       * config/aarch64/arm_neon.h (vmlal_high_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmlal_high_n_s32): Likewise.
+       (vmlal_high_n_u16): Likewise.
+       (vmlal_high_n_u32): Likewise.
+
+2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add RTL builtin
+       generator macros.
+       * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal_hi<mode>):
+       Rename to...
+       (aarch64_<su>mlal_hi<mode>_insn): This.
+       (aarch64_<su>mlal_hi<mode>): Define.
+       * config/aarch64/arm_neon.h (vmlal_high_s8): Use RTL builtin
+       instead of inline asm.
+       (vmlal_high_s16): Likewise.
+       (vmlal_high_s32): Likewise.
+       (vmlal_high_u8): Likewise.
+       (vmlal_high_u16): Likewise.
+       (vmlal_high_u32): Likewise.
+
+2021-02-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * lra-spills.c (remove_pseudos): Call lra_update_insn_recog_data()
+       after calling alter_subreg() on a (mem).
+
+2021-02-03  Martin Liska  <mliska@suse.cz>
+
+       PR lto/98912
+       * lto-streamer-out.c (produce_lto_section): Fill up missing
+       padding.
+       * lto-streamer.h (struct lto_section): Add _padding field.
+
+2021-02-03  Richard Biener  <rguenther@suse.de>
+
+       * lto-streamer.c (lto_get_section_name): Free temporary
+       buffer.
+       * tree-loop-distribution.c
+       (loop_distribution::merge_dep_scc_partitions): Free edge data.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97487
+       * ifcvt.c (noce_can_force_operand): New function.
+       (noce_emit_move_insn): Use it.
+       (noce_try_sign_mask): Likewise.  Formatting fix.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97971
+       * lra-constraints.c (process_alt_operands): For inline asm, don't call
+       fatal_insn, but instead return false.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98287
+       * config/i386/mmx.md (<insn><mode>3): For shifts don't enable expander
+       for V1DImode.
+
+2021-02-03  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/98928
+       * tree-vect-loop.c (vect_analyze_loop_2): Change
+       STMT_VINFO_SLP_VECT_ONLY to STMT_VINFO_SLP_VECT_ONLY_PATTERN.
+       * tree-vect-slp-patterns.c (complex_pattern::build): Likewise.
+       * tree-vectorizer.h (STMT_VINFO_SLP_VECT_ONLY_PATTERN): New.
+       (class _stmt_vec_info): Add slp_vect_pattern_only_p.
+
+2021-02-02  Richard Biener  <rguenther@suse.de>
+
+       * gimple-loop-interchange.cc (prepare_data_references):
+       Release vectors.
+       * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise.
+       * tree-ssa-loop-im.c (hoist_memory_references): Likewise.
+       * tree-vect-stmts.c (vectorizable_condition): Do not
+       allocate vectors.
+       (vectorizable_comparison): Likewise.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (ursqrte): Define builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_ursqrte<mode>): New pattern.
+       * config/aarch64/arm_neon.h (vrsqrte_u32): Reimplement using builtin.
+       (vrsqrteq_u32): Likewise.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sqxtun2): Define builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_sqxtun2<mode>_le): Define.
+       (aarch64_sqxtun2<mode>_be): Likewise.
+       (aarch64_sqxtun2<mode>): Likewise.
+       * config/aarch64/arm_neon.h (vqmovun_high_s16): Reimplement using builtin.
+       (vqmovun_high_s32): Likewise.
+       (vqmovun_high_s64): Likewise.
+       * config/aarch64/iterators.md (UNSPEC_SQXTUN2): Define.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (bfdot_lane, bfdot_laneq): Use
+       AUTO_FP flags.
+       (bfmlalb_lane, bfmlalt_lane, bfmlalb_lane_q, bfmlalt_lane_q): Use FP flags.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (fcmla_lane0, fcmla_lane90,
+       fcmla_lane180, fcmla_lane270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180,
+       fcmlaq_lane270, scvtf, ucvtf, fcvtzs, fcvtzu, scvtfsi, scvtfdi, ucvtfsi,
+       ucvtfdi, fcvtzshf, fcvtzuhf, fmlal_lane_low, fmlsl_lane_low,
+       fmlal_laneq_low, fmlsl_laneq_low, fmlalq_lane_low, fmlslq_lane_low,
+       fmlalq_laneq_low, fmlslq_laneq_low, fmlal_lane_high, fmlsl_lane_high,
+       fmlal_laneq_high, fmlsl_laneq_high, fmlalq_lane_high, fmlslq_lane_high,
+       fmlalq_laneq_high, fmlslq_laneq_high): Use FP flags.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (FLAG_LOAD): Define.
+       * config/aarch64/aarch64-simd-builtins.def (ld1x2, ld2, ld3, ld4, ld2r,
+       ld3r, ld4r, ld1, ld1x3, ld1x4): Use LOAD flags.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (combine, zip1, zip2,
+       uzp1, uzp2, trn1, trn2, simd_bsl): Use AUTO_FP flags.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (clrsb, clz, ctz, popcount,
+       vec_smult_lane_, vec_smlal_lane_, vec_smult_laneq_, vec_smlal_laneq_,
+       vec_umult_lane_, vec_umlal_lane_, vec_umult_laneq_, vec_umlal_laneq_,
+       ashl, sshl, ushl, srshl, urshl, sdot_lane, udot_lane, sdot_laneq,
+       udot_laneq, usdot_lane, usdot_laneq, sudot_lane, sudot_laneq, ashr,
+       ashr_simd, lshr, lshr_simd, srshr_n, urshr_n, ssra_n, usra_n, srsra_n,
+       ursra_n, sshll_n, ushll_n, sshll2_n, ushll2_n, ssri_n, usri_n, ssli_n,
+       ssli_n, usli_n, bswap, rbit, simd_bsl, eor3q, rax1q, xarq, bcaxq): Use
+       NONE builtin flags.
+
+2021-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98848
+       * tree-vect-patterns.c (vect_recog_over_widening_pattern): Punt if
+       STMT_VINFO_DEF_TYPE (last_stmt_info) is vect_reduction_def.
+
+2021-02-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/98743
+       * expr.c: Check mode before calling store_expr.
+
+2021-02-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/iterators.md (supf): Remove VORNQ_S and VORNQ_U.
+       (VORNQ): Remove.
+       * config/arm/mve.md (mve_vornq_s<mode>): New entry for vorn
+       instruction using expression ior.
+       (mve_vornq_u<mode>): New expander.
+       (mve_vornq_f<mode>): Use ior code instead of unspec.
+       * config/arm/unspecs.md (VORNQ_S, VORNQ_U, VORNQ_F): Remove.
+
+2021-02-02  Alexandre Oliva  <oliva@adacore.com>
+
+       * tree-nested.c (convert_nonlocal_reference_op): Move
+       current_function_decl restore after re-gimplification.
+       (convert_local_reference_op): Likewise.
+
+2021-02-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (rshrn, rshrn2):
+       Define builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_rshrn<mode>_insn_le):
+       Define.
+       (aarch64_rshrn<mode>_insn_be): Likewise.
+       (aarch64_rshrn<mode>): Likewise.
+       (aarch64_rshrn2<mode>_insn_le): Likewise.
+       (aarch64_rshrn2<mode>_insn_be): Likewise.
+       (aarch64_rshrn2<mode>): Likewise.
+       * config/aarch64/aarch64.md (unspec): Add UNSPEC_RSHRN.
+       * config/aarch64/arm_neon.h (vrshrn_high_n_s16): Reimplement
+       using builtin.
+       (vrshrn_high_n_s32): Likewise.
+       (vrshrn_high_n_s64): Likewise.
+       (vrshrn_high_n_u16): Likewise.
+       (vrshrn_high_n_u32): Likewise.
+       (vrshrn_high_n_u64): Likewise.
+       (vrshrn_n_s16): Likewise.
+       (vrshrn_n_s32): Likewise.
+       (vrshrn_n_s64): Likewise.
+       (vrshrn_n_u16): Likewise.
+       (vrshrn_n_u32): Likewise.
+       (vrshrn_n_u64): Likewise.
+
+2021-02-01  Sergei Trofimovich  <siarheit@google.com>
+
+       PR tree-optimization/98499
+       * ipa-modref.c (analyze_ssa_name_flags): treat RVO
+       conservatively and assume all possible side-effects.
+
+2021-02-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi,
+       vec_unpacku_hi_): Define builtins.
+       * config/aarch64/arm_neon.h (vmovl_high_s8): Reimplement using
+       builtin.
+       (vmovl_high_s16): Likewise.
+       (vmovl_high_s32): Likewise.
+       (vmovl_high_u8): Likewise.
+       (vmovl_high_u16): Likewise.
+       (vmovl_high_u32): Likewise.
+
+2021-02-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sabdl, uabdl):
+       Define builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>abdl<mode>): New
+       pattern.
+       * config/aarch64/aarch64.md (unspec): Define UNSPEC_SABDL,
+       UNSPEC_UABDL.
+       * config/aarch64/arm_neon.h (vabdl_s8): Reimplemet using
+       builtin.
+       (vabdl_s16): Likewise.
+       (vabdl_s32): Likewise.
+       (vabdl_u8): Likewise.
+       (vabdl_u16): Likewise.
+       (vabdl_u32): Likewise.
+       * config/aarch64/iterators.md (ABDL): New int iterator.
+       (sur): Handle UNSPEC_SABDL, UNSPEC_UABDL.
+
+2021-02-01  Martin Sebor  <msebor@redhat.com>
+
+       * tree.h (BLOCK_VARS): Add comment.
+       (BLOCK_SUBBLOCKS): Same.
+       (BLOCK_SUPERCONTEXT): Same.
+       (BLOCK_ABSTRACT_ORIGIN): Same.
+       (inlined_function_outer_scope_p): Same.
+
+2021-02-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97172
+       * attribs.c (attr_access::free_lang_data): Define new function.
+       * attribs.h (attr_access::free_lang_data): Declare new function.
+
+2021-02-01  Richard Biener  <rguenther@suse.de>
+
+       * vec.h (auto_vec::auto_vec): Add memory stat parameters
+       and pass them on.
+       * bitmap.h (auto_bitmap::auto_bitmap): Likewise.
+
+2021-02-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_n<mode>,
+       aarch64_<su>mlsl<mode>, aarch64_<su>mlsl_n<mode>): Flip mult operands.
+
+2021-02-01  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/98863
+       * config/i386/i386-features.c (convert_scalars_to_vector):
+       Set DF_RD_PRUNE_DEAD_DEFS.
+
+2021-01-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * system.h (SIZE_MAX): Define if not already defined.
+
+2021-01-30  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl (gen_2logical): New function to
+       generate patterns for logical-logical fusion.
+       * config/rs6000/fusion.md: Regenerated patterns.
+       * config/rs6000/rs6000-cpus.def: Add
+       OPTION_MASK_P10_FUSION_2LOGICAL.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Enable logical-logical fusion for p10.
+       * config/rs6000/rs6000.opt: Add -mpower10-fusion-2logical.
+
+2021-01-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.opt: Add periods to new AIX options.
+
+2021-01-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.opt (mabi=vec-extabi): New.
+       (mabi=vec-default): New.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       __EXTABI__ for AIX Vector extended ABI.
+       * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print AIX Vector
+       extabi info.
+       (conditional_register_usage): If AIX vec_extabi enabled, vs20-vs31
+       are non-volatile.
+       * doc/invoke.texi (PowerPC mabi): Add AIX vec-extabi and vec-default.
+
+2021-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386-features.c (remove_partial_avx_dependency): Clear
+       DF_DEFER_INSN_RESCAN after calling df_process_deferred_rescans.
+
+2021-01-29  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97701
+       * lra-constraints.c (in_class_p): Don't narrow class only for REG
+       or MEM.
+
+2021-01-29  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_expand_binup_builtin): Add
+       clauses for CODE_FOR_vsx_xvcvuxddp_scale and
+       CODE_FOR_vsx_xvcvsxddp_scale to the parameter checking code.
+
+2021-01-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/98866
+       * gimple-range-gori.h (gori_compute:set_range_invariant): New.
+       * gimple-range-gori.cc (gori_map::set_range_invariant): New.
+       (gori_map::m_maybe_invariant): Rename from all_outgoing.
+       (gori_map::gori_map): Rename all_outgoing to m_maybe_invariant.
+       (gori_map::is_export_p): Ditto.
+       (gori_map::calculate_gori): Ditto.
+       (gori_compute::set_range_invariant): New.
+       * gimple-range.cc (gimple_ranger::range_of_stmt): Set range
+       invariant for pointers evaluating to [1, +INF].
+
+2021-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/98863
+       * config/i386/i386-features.c (remove_partial_avx_dependency):
+       Do not perform DF analysis.
+       (pass_data_remove_partial_avx_dependency): Remove
+       TODO_df_finish.
+
+2021-01-29  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mull_n<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vmull_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmull_n_s32): Likewise.
+       (vmull_n_u16): Likewise.
+       (vmull_n_u32): Likewise.
+
+2021-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sabdl2, uabdl2):
+       Define builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>abdl2<mode>_3):
+       Rename to...
+       (aarch64_<sur>abdl2<mode>): ... This.
+       (<sur>sadv16qi): Adjust use of above.
+       * config/aarch64/arm_neon.h (vabdl_high_s8): Reimplement using
+       builtin.
+       (vabdl_high_s16): Likewise.
+       (vabdl_high_s32): Likewise.
+       (vabdl_high_u8): Likewise.
+       (vabdl_high_u16): Likewise.
+       (vabdl_high_u32): Likewise.
+
+2021-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sabal2): Define
+       builtin.
+       (uabal2): Likewise.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>abal2<mode>): New
+       pattern.
+       * config/aarch64/aarch64.md (unspec): Add UNSPEC_SABAL2 and
+       UNSPEC_UABAL2.
+       * config/aarch64/arm_neon.h (vabal_high_s8): Reimplement using
+       builtin.
+       (vabal_high_s16): Likewise.
+       (vabal_high_s32): Likewise.
+       (vabal_high_u8): Likewise.
+       (vabal_high_u16): Likewise.
+       (vabal_high_u32): Likewise.
+       * config/aarch64/iterators.md (ABAL2): New mode iterator.
+       (sur): Handle UNSPEC_SABAL2, UNSPEC_UABAL2.
+
+2021-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sabal): Define
+       builtin.
+       (uabal): Likewise.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>abal<mode>_4):
+       Rename to...
+       (aarch64_<sur>abal<mode>): ... This
+       (<sur>sadv16qi): Adust use of the above.
+       * config/aarch64/arm_neon.h (vabal_s8): Reimplement using
+       builtin.
+       (vabal_s16): Likewise.
+       (vabal_s32): Likewise.
+       (vabal_u8): Likewise.
+       (vabal_u16): Likewise.
+       (vabal_u32): Likewise.
+
+2021-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (saddlv, uaddlv):
+       Define builtins.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>addlv<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vaddlv_s8): Reimplement using
+       builtin.
+       (vaddlv_s16): Likewise.
+       (vaddlv_u8): Likewise.
+       (vaddlv_u16): Likewise.
+       (vaddlvq_s8): Likewise.
+       (vaddlvq_s16): Likewise.
+       (vaddlvq_s32): Likewise.
+       (vaddlvq_u8): Likewise.
+       (vaddlvq_u16): Likewise.
+       (vaddlvq_u32): Likewise.
+       (vaddlv_s32): Likewise.
+       (vaddlv_u32): Likewise.
+       * config/aarch64/iterators.md (VDQV_L): New mode iterator.
+       (unspec): Add UNSPEC_SADDLV, UNSPEC_UADDLV.
+       (Vwstype): New mode attribute.
+       (Vwsuf): Likewise.
+       (VWIDE_S): Likewise.
+       (USADDLV): New int iterator.
+       (su): Handle UNSPEC_SADDLV, UNSPEC_UADDLV.
+
+2021-01-29  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_lane[q]
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_vec_<su>mlsl_lane<Qlane>):
+       Define.
+       * config/aarch64/arm_neon.h (vmlsl_lane_s16): Use RTL builtin
+       instead of inline asm.
+       (vmlsl_lane_s32): Likewise.
+       (vmlsl_lane_u16): Likewise.
+       (vmlsl_lane_u32): Likewise.
+       (vmlsl_laneq_s16): Likewise.
+       (vmlsl_laneq_s32): Likewise.
+       (vmlsl_laneq_u16): Likewise.
+       (vmlsl_laneq_u32): Likewise.
+
+2021-01-29  Richard Biener  <rguenther@suse.de>
+
+       * doc/invoke.texi (--param max-gcse-memory): Document unit
+       of size.
+       * gcse.c (gcse_or_cprop_is_too_expensive): Adjust.
+       * params.opt (--param max-gcse-memory): Adjust default and
+       document unit of size.
+
+2021-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/98863
+       * gcse.c (gcse_or_cprop_is_too_expensive): Use unsigned
+       HOST_WIDE_INT for the memory estimate.
+
+2021-01-29  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97627
+       * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
+       Do not analyze fake edges.
+
+2021-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/98144
+       * df.h (df_mir_bb_info): Add con_visited member.
+       * df-problems.c (df_mir_alloc): Initialize con_visited,
+       do not fully populate IN and OUT.
+       (df_mir_reset): Likewise.
+       (df_mir_confluence_0): Set con_visited.
+       (df_mir_confluence_n): Properly handle implicitely
+       fully populated IN and OUT as designated by con_visited
+       and update con_visited accordingly.
+
+2021-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98849
+       * config/arm/vec-common.md (mve_vshlq_<supf><mode>,
+       vashl<mode>3, vashr<mode>3, vlshr<mode>3): Add
+       && !TARGET_REALLY_IWMMXT to conditions.
+
+2021-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98331
+       * cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing
+       a BARRIER.
+
+2021-01-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94775
+       * stor-layout.c (finalize_type_size): If we reset TYPE_USER_ALIGN in
+       the main variant, maybe reset it in its variants too.
+       * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match.
+       (check_aligned_type): Check if TYPE_USER_ALIGN match.
+
+2021-01-28  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/98730
+       * config/arm/arm.c (arm_rtx_costs_internal): Adjust cost of vector
+       of constant zero for comparisons.
+
+2021-01-28  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Add
+       support for mapping built-in function names for long double
+       built-in functions if long double is IEEE 128-bit.
+
+2021-01-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mlsl_n<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vmlsl_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmlsl_n_s32): Likewise.
+       (vmlsl_n_u16): Likewise.
+       (vmlsl_n_u32): Likewise.
+
+2021-01-28  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_n
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_n<mode>):
+       Define.
+       * config/aarch64/arm_neon.h (vmlal_n_s16): Use RTL builtin
+       instead of inline asm.
+       (vmlal_n_s32): Likewise.
+       (vmlal_n_u16): Likewise.
+       (vmlal_n_u32): Likewise.
+
+2021-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (shrn2): Define
+       builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_shrn2<mode>_insn_le):
+       Define.
+       (aarch64_shrn2<mode>_insn_be): Likewise.
+       (aarch64_shrn2<mode>): Likewise.
+       * config/aarch64/arm_neon.h (vshrn_high_n_s16): Reimlplement
+       using builtins.
+       (vshrn_high_n_s32): Likewise.
+       (vshrn_high_n_s64): Likewise.
+       (vshrn_high_n_u16): Likewise.
+       (vshrn_high_n_u32): Likewise.
+       (vshrn_high_n_u64): Likewise.
+
+2021-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (shrn): Define
+       builtin.
+       * config/aarch64/aarch64-simd.md (aarch64_shrn<mode>_insn_le):
+       Define.
+       (aarch64_shrn<mode>_insn_be): Likewise.
+       (aarch64_shrn<mode>): Likewise.
+       * config/aarch64/arm_neon.h (vshrn_n_s16): Reimplement using
+       builtins.
+       (vshrn_n_s32): Likewise.
+       (vshrn_n_s64): Likewise.
+       (vshrn_n_u16): Likewise.
+       (vshrn_n_u32): Likewise.
+       (vshrn_n_u64): Likewise.
+       * config/aarch64/iterators.md (vn_mode): New mode attribute.
+
+2021-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/80960
+       * dse.c (check_mem_read_rtx): Call get_addr on the
+       offsetted address.
+
+2021-01-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+           David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/98799
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Don't generate VIEW_CONVERT_EXPR for fcode ALTIVEC_BUILTIN_VEC_INSERT
+       when -m32.
+       * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var):
+       Delete.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_set): Remove the
+       wrapper call rs6000_expand_vector_set_var for cleanup.  Call
+       rs6000_expand_vector_set_var_p9 and rs6000_expand_vector_set_var_p8
+       directly.
+       (rs6000_expand_vector_set_var): Delete.
+       (rs6000_expand_vector_set_var_p9): Make static.
+       (rs6000_expand_vector_set_var_p8): Make static.
+
+2021-01-28  Xing GUO  <higuoxing@gmail.com>
+
+       * common/config/riscv/riscv-common.c
+       (riscv_subset_list::parsing_subset_version): Fix -march option parsing
+       when `p` extension exists.
+
+2021-01-27  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97684
+       * ira.c (ira): Call ira_set_pseudo_classes before
+       update_equiv_regs when it is necessary.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98853
+       * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
+       %w0, %w1 and %2 instead of %0, %1 and %2.
+
+2021-01-27  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/genfusion.pl: New script to generate
+       define_insn_and_split patterns so combine can arrange fused
+       instructions next to each other.
+       * config/rs6000/fusion.md: New file, generated fused instruction
+       patterns for combine.
+       * config/rs6000/predicates.md (const_m1_to_1_operand): New predicate.
+       (non_update_memory_operand): New predicate.
+       * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_P10_FUSION and
+       OPTION_MASK_P10_FUSION_LD_CMPI to ISA_3_1_MASKS_SERVER and
+       POWERPC_MASKS.
+       * config/rs6000/rs6000-protos.h (address_is_non_pfx_d_or_x): Add
+       prototype.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Automatically set OPTION_MASK_P10_FUSION and
+       OPTION_MASK_P10_FUSION_LD_CMPI if target is power10.
+       (rs600_opt_masks): Allow -mpower10-fusion
+       in function attributes.
+       (address_is_non_pfx_d_or_x): New function.
+       * config/rs6000/rs6000.h: Add MASK_P10_FUSION.
+       * config/rs6000/rs6000.md: Include fusion.md.
+       * config/rs6000/rs6000.opt: Add -mpower10-fusion
+       and -mpower10-fusion-ld-cmpi.
+       * config/rs6000/t-rs6000: Add dependencies involving fusion.md.
+
+2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal
+       builtin generator macros.
+       * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal<mode>):
+       Rename to...
+       (aarch64_<su>mlal<mode>): This.
+       * config/aarch64/arm_neon.h (vmlal_s8): Use RTL builtin
+       instead of inline asm.
+       (vmlal_s16): Likewise.
+       (vmlal_s32): Likewise.
+       (vmlal_u8): Likewise.
+       (vmlal_u16): Likewise.
+       (vmlal_u32): Likewise.
+
+2021-01-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98854
+       * tree-vect-slp.c (vect_build_slp_tree_2): Also build
+       PHIs from scalars when the number of CTORs matches the
+       number of children.
+
+2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add mls_n builtin
+       generator macro.
+       * config/aarch64/aarch64-simd.md (*aarch64_mls_elt_merge<mode>):
+       Rename to...
+       (aarch64_mls_n<mode>): This.
+       * config/aarch64/arm_neon.h (vmls_n_s16): Use RTL builtin
+       instead of asm.
+       (vmls_n_s32): Likewise.
+       (vmls_n_u16): Likewise.
+       (vmls_n_u32): Likewise.
+       (vmlsq_n_s16): Likewise.
+       (vmlsq_n_s32): Likewise.
+       (vmlsq_n_u16): Likewise.
+       (vmlsq_n_u32): Likewise.
+
+2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add mls builtin
+       generator macro.
+       * config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather
+       than asm.
+       (vmls_s16): Likewise.
+       (vmls_s32): Likewise.
+       (vmls_u8): Likewise.
+       (vmls_u16): Likewise.
+       (vmls_u32): Likewise.
+       (vmlsq_s8): Likewise.
+       (vmlsq_s16): Likewise.
+       (vmlsq_s32): Likewise.
+       (vmlsq_u8): Likewise.
+       (vmlsq_u16): Likewise.
+       (vmlsq_u32): Likewise.
+
+2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add mla_n builtin
+       generator macro.
+       * config/aarch64/aarch64-simd.md (*aarch64_mla_elt_merge<mode>):
+       Rename to...
+       (aarch64_mla_n<mode>): This.
+       * config/aarch64/arm_neon.h (vmla_n_s16): Use RTL builtin
+       instead of asm.
+       (vmla_n_s32): Likewise.
+       (vmla_n_u16): Likewise.
+       (vmla_n_u32): Likewise.
+       (vmlaq_n_s16): Likewise.
+       (vmlaq_n_s32): Likewise.
+       (vmlaq_n_u16): Likewise.
+       (vmlaq_n_u32): Likewise.
+
+2021-01-27  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98833
+       * config/i386/sse.md (sse2_gt<mode>3): Drop !TARGET_XOP in condition.
+       (*sse2_eq<mode>3): Ditto.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-pass.h (PROP_trees): Rename to ...
+       (PROP_gimple): ... this.
+       * cfgexpand.c (pass_data_expand): Replace PROP_trees with PROP_gimple.
+       * passes.c (execute_function_dump, execute_function_todo,
+       execute_one_ipa_transform_pass, execute_one_pass): Likewise.
+       * varpool.c (ctor_for_folding): Likewise.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97260
+       * varpool.c: Include tree-pass.h.
+       (ctor_for_folding): In GENERIC return DECL_INITIAL for TREE_READONLY
+       non-TREE_SIDE_EFFECTS automatic variables.
+
+2021-01-26  Paul Fee  <paul.f.fee@gmail.com>
+
+       * doc/cpp.texi (__cplusplus): Document value for -std=c++23
+       or -std=gnu++23.
+       * doc/invoke.texi: Document -std=c++23 and -std=gnu++23.
+       * dwarf2out.c (highest_c_language): Recognise C++20 and C++23.
+       (gen_compile_unit_die): Recognise C++23.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/98839
+       * dwarf2asm.c (dw2_assemble_integer): Cast DWARF2_ADDR_SIZE to int
+       in comparison.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98681
+       * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
+       Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt)
+       and INTVAL (mask).  Add && INTVAL (mask) > 0 condition.
+
+2021-01-26  Richard Biener  <rguenther@suse.de>
+
+       * gimple-pretty-print.c (dump_binary_rhs): Handle
+       VEC_WIDEN_{PLUS,MINUS}_{LO,HI}_EXPR.
+
+2021-01-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98726
+       * tree.h (vector_cst_int_elt): Remove.
+       * tree.c (vector_cst_int_elt): Use poly_wide_int for computations,
+       make static.
+
+2021-01-26  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_expand_reduc_scalar): Use move instructions
+       for V64DFmode min/max reductions.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2asm.c (dw2_assemble_integer): Handle size twice as large
+       as DWARF2_ADDR_SIZE if x is not a scalar int by emitting it as
+       two halves, one with x and the other with const0_rtx, ordered
+       depending on endianity.
+
+2021-01-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gimplify.c (gimplify_decl_expr): Skip asan marking calls for
+       temporaries not seen in binding block, and not about to be
+       added as gimple variables.
+
+2021-01-25  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98646
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Adjust warning text.
+
+2021-01-25  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (get_nth_most_common_value): Use %s instead
+       of %qs string.
+
+2021-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98811
+       * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG): Only define if
+       readelf -wi is able to read the emitted .debug_info back.
+       * configure: Regenerated.
+
+2021-01-25  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/98739
+       * common.opt: Add missing sign symbol.
+       * value-prof.c (get_nth_most_common_value): Restore handling
+       of PROFILE_REPRODUCIBILITY_PARALLEL_RUNS and
+       PROFILE_REPRODUCIBILITY_MULTITHREADED.
+
+2021-01-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98807
+       * tree.c (vector_element_bits): Always use precision of
+       the element type for boolean vectors.
+
+2021-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rtems.h (STARTFILE_SPEC): Remove qnolinkcmds.
+       (ENDFILE_SPEC): Evaluate qnolinkcmds.
+
+2021-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rtems.h (STARTFILE_SPEC): Remove nostdlib and
+       nostartfiles handling since this is already done by
+       LINK_COMMAND_SPEC.  Evaluate qnolinkcmds.
+       (ENDFILE_SPEC): Remove nostdlib and nostartfiles handling since this
+       is already done by LINK_COMMAND_SPEC.
+       (LIB_SPECS): Remove nostdlib and nodefaultlibs handling since
+       this is already done by LINK_COMMAND_SPEC.  Remove qnolinkcmds
+       evaluation.
+
+2021-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98771
+       * fold-const-call.c (host_size_t_cst_p): Renamed to ...
+       (size_t_cst_p): ... this.  Check and store unsigned HOST_WIDE_INT
+       value rather than host size_t.
+       (fold_const_call): Change type of s2 from size_t to
+       unsigned HOST_WIDE_INT.  Use size_t_cst_p instead of
+       host_size_t_cst_p.  For strncmp calls, pass MIN (s2, SIZE_MAX)
+       instead of s2 as last argument.
+
+2021-01-25  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/iterators.md (rotsplit1, rotsplit2, conj_op, fcmac1,
+       VCMLA_OP, VCMUL_OP): New.
+       * config/arm/mve.md (mve_vcmlaq<mve_rot><mode>): Support vec_dup 0.
+       * config/arm/neon.md (cmul<conj_op><mode>3): New.
+       * config/arm/unspecs.md (UNSPEC_VCMLA_CONJ, UNSPEC_VCMLA180_CONJ,
+       UNSPEC_VCMUL_CONJ): New.
+       * config/arm/vec-common.md (cmul<conj_op><mode>3, arm_vcmla<rot><mode>,
+       cml<fcmac1><conj_op><mode>4): New.
+
+2021-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/97301
+       * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
+
+2021-01-22  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add mla builtin
+       generator macro.
+       * config/aarch64/arm_neon.h (vmla_s8): Use RTL builtin rather
+       than asm.
+       (vmla_s16): Likewise.
+       (vmla_s32): Likewise.
+       (vmla_u8): Likewise.
+       (vmla_u16): Likewise.
+       (vmla_u32): Likewise.
+       (vmlaq_s8): Likewise.
+       (vmlaq_s16): Likewise.
+       (vmlaq_s32): Likewise.
+       (vmlaq_u8): Likewise.
+       (vmlaq_u16): Likewise.
+       (vmlaq_u32): Likewise.
+
+2021-01-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (GCC_EXTRA_DIAGNOSTIC_OUTPUT): Add @findex
+       directive.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98796
+       * dwarf2out.c (output_file_names): For -gdwarf-5, if there are no
+       filenames to emit, still emit the required 0 index directory and
+       filename entries that match DW_AT_comp_dir and DW_AT_name of the
+       compilation unit.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98545
+       * doc/invoke.texi: Update C++ ABI Version 15 description.
+
+2021-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/98766
+       * tree-ssa-math-opts.c (convert_mult_to_fma): Use maybe_le when
+       comparing against type size with param_avoid_fma_max_bits.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98793
+       * tree.c (vector_element_bits): Key single-bit bool vector on
+       integer mode rather than not vector mode.
+
+2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/98093
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Generate ARRAY_REF(VIEW_CONVERT_EXPR) for P8 and later
+       platforms.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): Update
+       to call different path for P8 and P9.
+       (rs6000_expand_vector_set_var_p9): New function.
+       (rs6000_expand_vector_set_var_p8): New function.
+
+2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/79251
+       PR target/98065
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Ajdust variable index vec_insert from address dereference to
+       ARRAY_REF(VIEW_CONVERT_EXPR) tree expression.
+       * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var):
+       New declaration.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): New function.
+
+2021-01-22  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/98739
+       * profile.c (compute_value_histograms): Drop time profile for
+       -fprofile-reproducible=multithreaded.
+
+2021-01-22  Nathan Sidwell  <nathan@acm.org>
+
+       * gcc.c (process_command): Don't check OPT_SPECIAL_input_file
+       existence here.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98773
+       * tree-data-ref.c (initalize_matrix_A): Revert previous
+       change, retaining failing on HOST_WIDE_INT_MIN CHREC_RIGHT.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/90248
+       * match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X),
+       X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove
+       simplifications.
+       (X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X),
+       X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98255
+       * tree-dfa.c (get_ref_base_and_extent): For ARRAY_REFs, sign
+       extend index - low_bound from sizetype's precision rather than index
+       precision.
+       (get_addr_base_and_unit_offset_1): Likewise.
+       * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Likewise.
+       * gimple-fold.c (fold_const_aggregate_ref_1): Likewise.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98786
+       * tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid
+       adding new uses of abnormals.  Verify we deal with a conditional
+       conversion.
+
+2021-01-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/98636
+       * optc-save-gen.awk: Add arm_fp16_format to checked_options.
+
+2021-01-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96891
+       PR target/98348
+       * config/i386/sse.md (VI_128_256): New mode iterator.
+       (*avx_cmp<mode>3_1, *avx_cmp<mode>3_2, *avx_cmp<mode>3_3,
+        *avx_cmp<mode>3_4, *avx2_eq<mode>3, *avx2_pcmp<mode>3_1,
+        *avx2_pcmp<mode>3_2, *avx2_gt<mode>3): New
+       define_insn_and_split to lower avx512 vector comparison to avx
+       version when dest is vector.
+       (*<avx512>_cmp<mode>3,*<avx512>_cmp<mode>3,*<avx512>_ucmp<mode>3):
+       define_insn_and_split for negating the comparison result.
+       * config/i386/predicates.md (float_vector_all_ones_operand):
+       New predicate.
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
+       general NOT operator without UNSPEC_MASKOP.
+
+2021-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/98777
+       * lra-int.h (lra_pmode_pseudo): New extern.
+       * lra.c (lra_pmode_pseudo): New global.
+       (lra): Set it up.
+       * lra-eliminations.c (eliminate_regs_in_insn): Use it.
+
+2021-01-21  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * fwprop.c (fwprop_propagation::classify_result): Allow
+       (subreg (mem)) simplifications.
+
+2021-01-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_sqdml<SBINQOPS:as>l<mode>):
+       Split into...
+       (aarch64_sqdmlal<mode>): ... This...
+       (aarch64_sqdmlsl<mode>): ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l_lane<mode>): Split into...
+       (aarch64_sqdmlal_lane<mode>): ... This...
+       (aarch64_sqdmlsl_lane<mode>): ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): Split into...
+       (aarch64_sqdmlsl_laneq<mode>): ... This...
+       (aarch64_sqdmlal_laneq<mode>):  ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l_n<mode>): Split into...
+       (aarch64_sqdmlsl_n<mode>): ... This...
+       (aarch64_sqdmlal_n<mode>): ... And this.
+       (aarch64_sqdml<SBINQOPS:as>l2<mode>_internal): Split into...
+       (aarch64_sqdmlal2<mode>_internal): ... This...
+       (aarch64_sqdmlsl2<mode>_internal): ... And this.
+
+2021-01-21  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm_mve.h (__arm_vcmpneq_s8): Fix return type.
+
+2021-01-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96372
+       * doc/sourcebuild.texi (arm_thumb2_no_arm_v8_1_lob): Document.
+
+2021-01-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR rtl-optimization/98694
+       * regcprop.c (copy_value): If SRC had been assigned a mode
+       narrower than the copy, we can't link DEST into the chain even
+       they have same hard_regno_nregs(i.e. HImode/SImode in i386
+       backend).
+
+2021-01-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_get_lane<mode>):
+       Convert to define_insn_and_split.  Split into simple move when moving
+       bottom element.
+
+2021-01-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Change assert.
+       Adjust comment.  Simplify code.
+
+2021-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98765
+       * dwarf2out.c (reset_indirect_string): Also reset indirect strings
+       with DW_FORM_line_strp form.
+       (prune_unused_types_update_strings): Don't add into debug_str_hash
+       indirect strings with DW_FORM_line_strp form.
+       (adjust_name_comp_dir): New function.
+       (dwarf2out_finish): Call it on CU DIEs after resetting
+       debug_line_str_hash.
+
+2021-01-20  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/98722
+       * lra-eliminations.c (eliminate_regs_in_insn): Check that target
+       has no 3-op add insn to transform insns containing two pluses.
+
+2021-01-20  Richard Biener  <rguenther@suse.de>
+
+       * hwint.h (add_hwi): New function.
+       (mul_hwi): Likewise.
+       * tree-data-ref.c (initialize_matrix_A): Properly translate
+       tree constants and avoid HOST_WIDE_INT_MIN.
+       (lambda_matrix_row_add): Avoid undefined integer overflow
+       and return true on such overflow.
+       (lambda_matrix_right_hermite): Handle overflow from
+       lambda_matrix_row_add gracefully.  Simplify previous fix.
+       (analyze_subscript_affine_affine): Likewise.
+
+2021-01-20  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       PR tree-optimization/96674
+       * match.pd: New patterns: x < y || y == XXX_MIN --> x <= y - 1
+       x >= y && y != XXX_MIN --> x > y - 1
+
+2021-01-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98535
+       * tree-vect-slp.c (duplicate_and_interleave): Use quick_grow_cleared.
+       If the high and low permutes are the same, remove the high permutes
+       from the working set and only continue with the low ones.
+
+2021-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98721
+       * builtins.c (access_ref::inform_access): Don't assume
+       SSA_NAME_IDENTIFIER must be non-NULL.  Print messages about
+       object whenever allocfn is NULL, rather than only when DECL_P
+       is true.  Use %qE instead of %qD for that.  Formatting fixes.
+
+2021-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98758
+       * tree-data-ref.c (int_divides_p): Use lambda_int arguments.
+       (lambda_matrix_right_hermite): Avoid undefinedness with
+       signed integer abs and multiplication.
+       (analyze_subscript_affine_affine): Use lambda_int.
+
+2021-01-20  David Malcolm  <dmalcolm@redhat.com>
+
+       PR debug/98751
+       * dwarf2out.c (output_line_info): Rename static variable
+       "generation", moving it out of the function to...
+       (output_line_info_generation): New.
+       (init_sections_and_labels): Likewise, renaming the variable to...
+       (init_sections_and_labels_generation): New.
+       (dwarf2out_c_finalize): Reset the new variables.
+
+2021-01-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98664
+       * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for
+       all functions, even if they're not declared artificial or inline.
+       * tree.c (tree_inlined_location): Use macro expansion location
+       only if scope traversal fails to expose one.
+
+2021-01-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/92294
+       * alias.c (compare_base_symbol_refs): Take an extra parameter
+       and add the distance between two symbols to it.  Enshrine in
+       comments that -1 means "either 0 or 1, but we can't tell
+       which at compile time".
+       (memrefs_conflict_p): Update call accordingly.
+       (rtx_equal_for_memref_p): Likewise.  Take the distance between symbols
+       into account.
+
+2021-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl,
+       sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn,
+       uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane,
+       sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n,
+       sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq,
+       sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane,
+       sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq,
+       sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq,
+       sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n,
+       uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah,
+       sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq,
+       sqmovun): Use NONE flags.
+
+2021-01-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/98330
+       * ipa-modref.c (analyze_stmt): Only record a summary for a
+       direct call.
+
+2021-01-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98638
+       * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT.
+
+2021-01-19  Daniel Hellstrom  <daniel@gaisler.com>
+
+       * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
+       built-in define __FIX_LEON3FT_TN0018.
+
+2021-01-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/97673
+       * tree-inline.c (tree_function_versioning): Set input_location
+       to UNKNOWN_LOCATION throughout the function.
+
+2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98476
+       * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr.
+
+2021-01-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/98690
+       * ipa-sra.c (ssa_name_only_returned_p): New parameter fun.  Check
+       whether non-call exceptions allow removal of a statement.
+       (isra_analyze_call): Pass the appropriate function to
+       ssa_name_only_returned_p.
+
+2021-01-19  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * config/riscv/arch-canonicalize (longext_sort): New function for
+        sorting 'multi-letter'.
+       * config/riscv/multilib-generator: Adjusting the loop of 'alt' in
+       'alts'. The 'arch' may not be the first of 'alts'.
+       (_expand_combination): Add underline for the 'ext' without '*'.
+       This is because, a single-letter extension can always be treated well
+       with a '_' prefix, but it cannot be separated out if it is appended
+       to a multi-letter.
+
+2021-01-18  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97847
+       * ira.c (ira): Skip abnormal critical edge splitting.
+
+2021-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98727
+       * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
+       second .MUL_OVERFLOW operand for signed multiplication with overflow
+       checking if the second operand of multiplication is not constant.
+
+2021-01-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
+       defaults to version 4.
+
+2021-01-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * attribs.h (fndecl_dealloc_argno): New decl.
+       * builtins.c (call_dealloc_argno): Split out second half of
+       function into...
+       (fndecl_dealloc_argno): New.
+       * doc/extend.texi (Common Function Attributes): Document the
+       interaction between the analyzer and the malloc attribute.
+       * doc/invoke.texi (Static Analyzer Options): Likewise.
+
+2021-01-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
+       dwarf_version to 4.
+       * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+
+2021-01-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/98222
+       * cgraph.c (clone_of_p): Check also former_clone_of as we climb
+       the clone tree.
+
+2021-01-17  Mark Wielaard  <mark@klomp.org>
+
+       * common.opt (gdwarf-): Init(5).
+       * doc/invoke.texi (-gdwarf): Document default to 5.
+
+2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * builtin-types.def
+       (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
+       to...
+       (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
+       ...this.  Add extra argument.
+       * gimplify.c (omp_default_clause): Ensure that event handle is
+       firstprivate in a task region.
+       (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
+       (gimplify_adjust_omp_clauses): Likewise.
+       * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
+       BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
+       * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
+       if detach clause specified.  Add detach argument when generating
+       call to GOMP_task.
+       * omp-low.c (scan_sharing_clauses): Setup data environment for detach
+       clause.
+       (finish_taskreg_scan): Move field for variable containing the event
+       handle to the front of the struct.
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH.  Fix
+       ordering.
+       * tree-nested.c (convert_nonlocal_omp_clauses): Handle
+       OMP_CLAUSE_DETACH clause.
+       (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+       * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
+       * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
+       Fix ordering.
+       (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH.  Fix
+       ordering.
+       (walk_tree_1): Handle OMP_CLAUSE_DETACH.
+
+2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/nios2/t-rtems: Reset all MULTILIB_* variables.  Shorten
+       multilib directory names.  Use MULTILIB_REQUIRED instead of
+       MULTILIB_EXCEPTIONS.  Add -mhw-mul -mhw-mulx -mhw-div
+       -mcustom-fpu-cfg=fph2 multilib.
+
+2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
+       (nios2_init_fpu_configs): Provide register values for new
+       -mcustom-fpu-cfg=fph2 option variant.
+       * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
+       variant.
+
+2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/nios2/nios2.c (nios2_custom_check_insns): Remove
+       custom instruction warnings.
+
+2021-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96669
+       * match.pd ((CST << x) & 1 -> x == 0): New simplification.
+
+2021-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96271
+       * passes.def: Pass false argument to first two pass_cd_dce
+       instances and true to last instance.  Add comment that
+       last instance rewrites no longer addressed locals.
+       * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
+       initialize it.
+       (pass_cd_dce::set_pass_param): New method.
+       (pass_cd_dce::execute): Return TODO_update_address_taken from
+       last cd_dce instance.
+
+2021-01-15  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
+       New defines.
+       * config/rs6000/altivec.md (VIlong): Move define to file vsx.md.
+       * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI,
+       DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI,
+       DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI,
+       MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI):
+       Add builtin define.
+       (MULH, DIVE, MOD):  Add new BU_P10_OVERLOAD_2 definitions.
+       * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV,
+       VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH):
+       New overloaded definitions.
+       (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI,
+       P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI,
+       P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI,
+       P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI,
+       P10V_BUILTIN_MULHU_V4SI]: Add case
+       statement for builtins.
+       * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI.
+       * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md.
+       (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions.
+       (vsx_mul_v2di): Add if TARGET_POWER10 statement.
+       (vsx_udiv_v2di): Add if TARGET_POWER10 statement.
+       (dives_<mode>, diveu_<mode>, div<mode>3, uvdiv<mode>3,
+       mods_<mode>, modu_<mode>, mulhs_<mode>, mulhu_<mode>, mulv2di3):
+       Add define_insn, mode is VIlong.
+       * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod):
+       Add builtin descriptions.
+
+2021-01-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * final.c (final_start_function_1): Reset force_source_line.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96669
+       * match.pd (((1 << A) & 1) != 0 -> A == 0,
+       ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by
+       possibly different power of two constants and to right shift too.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96681
+       * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification.
+       ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise.
+       ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise.
+       ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise.
+
+2021-01-15  Alexandre Oliva  <oliva@adacore.com>
+
+       * opts.c (gen_command_line_string): Exclude -dumpbase-ext.
+
+2021-01-15  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4,
+       cmul<conj_op><mode>3): New.
+       * config/aarch64/iterators.md (UNSPEC_FCMUL,
+       UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ,
+       UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180,
+       FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1,
+       sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New.
+       (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180.
+       (rot_op): Renamed to conj_op.
+       * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4,
+       cmul<conj_op><mode>3): New.
+       * config/aarch64/aarch64-sve2.md (cml<fcmac1><conj_op><mode>4,
+       cmul<conj_op><mode>3): New.
+
+2021-01-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR bootstrap/98696
+       * diagnostic.c
+       (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
+       Escape the tempfile name when constructing the expected output.
+
+2021-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
+       Rename to...
+       (aarch64_<su>mlsl_hi<mode>): ... This.
+       (aarch64_<su>mlsl_hi<mode>): Define.
+       (*aarch64_<su>mlsl<mode): Rename to...
+       (aarch64_<su>mlsl<mode): ... This.
+       * config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
+       smlsl_hi, umlsl_hi): Define builtins.
+       * config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
+       vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
+       vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
+       vmlsl_u16, vmlsl_u32): Reimplement with builtins.
+
+2021-01-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-c.c (ix86_target_macros):
+       Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition.
+
+2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/88836
+       * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs.
+       * Makefile.in (RTL_SSA_H): New variable.
+       * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule.
+       * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare.
+       * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after
+       pass_combine.
+       * config/aarch64/aarch64-cc-fusion.cc: New file.
+
+2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_change_watermark::~insn_change_watermark): Avoid
+       calling cancel_changes for changes that no longer exist.
+
+2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl-ssa/functions.h (function_info::ref_defs): Rename to...
+       (function_info::reg_defs): ...this.
+       * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to...
+       (function_info::reg_defs): ...this.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       Revert:
+       2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96376
+       * tree-vect-stmts.c (get_load_store_type): Disregard alignment
+       for VMAT_INVARIANT.
+
+2021-01-15  Martin Liska  <mliska@suse.cz>
+
+       * doc/install.texi: Document that some tests need pytest module.
+       * doc/sourcebuild.texi: Likewise.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry.
+       (mve_vshrq_n_u<mode>_imm): Likewise.
+       * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ...
+       * config/arm/vec-common.md: ... here.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vshlq_<supf><mode>): Move to
+       vec-commond.md.
+       * config/arm/neon.md (vashl<mode>3): Delete.
+       * config/arm/vec-common.md (mve_vshlq_<supf><mode>): New.
+       (vasl<mode>3): New expander.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98685
+       * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling
+       of vector extern defs.
+
+2021-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/98586
+       * diagnostic.c (diagnostic_kind_text): Break out this array
+       from...
+       (diagnostic_build_prefix): ...here.
+       (fancy_abort): Detect when diagnostic_initialize has not yet been
+       called and fall back to a minimal implementation of printing the
+       ICE, rather than segfaulting in internal_error.
+
+2021-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic.c (diagnostic_initialize): Eliminate
+       parseable_fixits_p in favor of initializing extra_output_kind from
+       GCC_EXTRA_DIAGNOSTIC_OUTPUT.
+       (convert_column_unit): New function, split out from...
+       (diagnostic_converted_column): ...this.
+       (print_parseable_fixits): Add "column_unit" and "tabstop" params.
+       Use them to call convert_column_unit on the column values.
+       (diagnostic_report_diagnostic): Eliminate conditional on
+       parseable_fixits_p in favor of a switch statement on
+       extra_output_kind, passing the appropriate values to the new
+       params of print_parseable_fixits.
+       (selftest::test_print_parseable_fixits_none): Update for new
+       params of print_parseable_fixits.
+       (selftest::test_print_parseable_fixits_insert): Likewise.
+       (selftest::test_print_parseable_fixits_remove): Likewise.
+       (selftest::test_print_parseable_fixits_replace): Likewise.
+       (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
+       New.
+       (selftest::diagnostic_c_tests): Call it.
+       * diagnostic.h (enum diagnostics_extra_output_kind): New.
+       (diagnostic_context::parseable_fixits_p): Delete field in favor
+       of...
+       (diagnostic_context::extra_output_kind): ...this new field.
+       * doc/invoke.texi (Environment Variables): Add
+       GCC_EXTRA_DIAGNOSTIC_OUTPUT.
+       * opts.c (common_handle_option): Update handling of
+       OPT_fdiagnostics_parseable_fixits for change to diagnostic_context
+       fields.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (class complex_operations_pattern,
+       complex_operations_pattern::matches,
+       complex_operations_pattern::recognize,
+       complex_operations_pattern::build): New.
+       (slp_patterns): Use it.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New.
+       * optabs.def (cmls_optab, cmls_conj_optab): New.
+       * doc/md.texi: Document them.
+       * tree-vect-slp-patterns.c (class complex_fms_pattern,
+       complex_fms_pattern::matches, complex_fms_pattern::recognize,
+       complex_fms_pattern::build): New.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New.
+       * optabs.def (cmla_optab, cmla_conj_optab): New.
+       * doc/md.texi: Document them.
+       * tree-vect-slp-patterns.c (vect_match_call_p,
+       class complex_fma_pattern, vect_slp_reset_pattern,
+       complex_fma_pattern::matches, complex_fma_pattern::recognize,
+       complex_fma_pattern::build): New.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New.
+       * optabs.def (cmul_optab, cmul_conj_optab): New.
+       * doc/md.texi: Document them.
+       * tree-vect-slp-patterns.c (vect_match_call_complex_mla,
+       vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication,
+       vect_build_combine_node, class complex_mul_pattern,
+       complex_mul_pattern::matches, complex_mul_pattern::recognize,
+       complex_mul_pattern::build): New.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp.c (optimize_load_redistribution_1): New.
+       (optimize_load_redistribution, vect_is_slp_load_node): New.
+       (vect_match_slp_patterns): Use it.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (complex_add_pattern::build):
+       Elide nodes.
+
+2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/gcn/mkoffload.c (main): Create an offload image only in
+       64-bit configurations.
+
+2021-01-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98667
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Issue an error for -fcf-protection with CF_BRANCH when compiling
+       for 32-bit non-TARGET_CMOV targets.
+
+2021-01-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98671
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+       Remove declaration and initialization of shadow variable "ret".
+       (ix86_option_override_internal): Remove delcaration of
+       shadow variable "i".  Redeclare shadowed variable to unsigned.
+       * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned.
+       * config/i386/i386-builtins.c (get_builtin_code_for_version):
+       Update for redeclaration.
+       * config/i386/i386.h (pta_size): Ditto.
+
+2021-01-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98674
+       * tree-data-ref.c (base_supports_access_fn_components_p): New.
+       (initialize_data_dependence_relation): For two bases without
+       possible access fns resort to type size equality when determining
+       shape compatibility.
+
+2021-01-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by
+       <=, >= operators in vcle and vcge intrinsics respectively.
+       * config/arm/arm_neon_builtins.def: Remove entry for
+       vcge and vcgeu.
+
+2021-01-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98671
+       * config/i386/i386-options.c (ix86_function_specific_save):
+       Remove redundant assignment to opts->x_ix86_branch_cost.
+       * config/i386/i386.c (ix86_prefetch_sse):
+       Rename from x86_prefetch_sse.  Update all uses.
+       * config/i386/i386.h: Update for rename.
+       * config/i386/i386-options.h: Ditto.
+
+2021-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98670
+       * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
+       *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
+       Use Bm instead of m for non-avx.  Add isa attribute.
+
+2021-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96688
+       * match.pd (~(X >> Y) -> ~X >> Y): New simplification if
+       ~X can be simplified.
+
+2021-01-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-stmts.c (vect_model_load_cost): Account for unused
+       IFN_LOAD_LANES results.
+
+2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<su>xtl<mode>):
+       Define.
+       (aarch64_xtn<mode>): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn):
+       Define
+       builtins.
+       * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
+       builtin.
+       (vmovl_s16): Likewise.
+       (vmovl_s32): Likewise.
+       (vmovl_u8): Likewise.
+       (vmovl_u16): Likewise.
+       (vmovl_u32): Likewise.
+       (vmovn_s16): Likewise.
+       (vmovn_s32): Likewise.
+       (vmovn_s64): Likewise.
+       (vmovn_u16): Likewise.
+       (vmovn_u32): Likewise.
+       (vmovn_u64): Likewise.
+
+2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<su>qxtn2<mode>_le):
+       Define.
+       (aarch64_<su>qxtn2<mode>_be): Likewise.
+       (aarch64_<su>qxtn2<mode>): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2):
+       Define builtins.
+       * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator.
+       (su): Handle ss_truncate and us_truncate.
+       * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using
+       builtin.
+       (vqmovn_high_s32): Likewise.
+       (vqmovn_high_s64): Likewise.
+       (vqmovn_high_u16): Likewise.
+       (vqmovn_high_u32): Likewise.
+       (vqmovn_high_u64): Likewise.
+
+2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_xtn2<mode>_le):
+       Define.
+       (aarch64_xtn2<mode>_be): Likewise.
+       (aarch64_xtn2<mode>): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def (xtn2): Define
+       builtins.
+       * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using
+       builtins.
+       (vmovn_high_s32): Likewise.
+       (vmovn_high_s64): Likewise.
+       (vmovn_high_u16): Likewise.
+       (vmovn_high_u32): Likewise.
+       (vmovn_high_u64): Likewise.
+
+2021-01-13  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro.
+
+2021-01-13  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro.
+
+2021-01-13  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin
+         define for __or1k_hard_float__.
+
+2021-01-13  Stafford Horne  <shorne@gmail.com>
+
+       * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1.
+       (PROFILE_HOOK): Define to call _mcount.
+       (FUNCTION_PROFILER): Change from abort to no-op.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96691
+       * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C),
+       (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if
+       (~D ^ C) or (D ^ C) can be simplified.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92645
+       * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization
+       until after vector lowering.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (fnma<mode>4): Extend from SVE_FULL_I
+       to SVE_I.
+       (@aarch64_pred_fnma<mode>, cond_fnma<mode>, *cond_fnma<mode>_2)
+       (*cond_fnma<mode>_4, *cond_fnma<mode>_any): Likewise.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (fma<mode>4): Extend from SVE_FULL_I
+       to SVE_I.
+       (@aarch64_pred_fma<mode>, cond_fma<mode>, *cond_fma<mode>_2)
+       (*cond_fma<mode>_4, *cond_fma<mode>_any): Likewise.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92645
+       * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported
+       BIT_FIELD_REF argument.
+       (vect_build_slp_tree_2): Record the desired vector type
+       on the external vector def.
+       (vectorizable_slp_permutation): Handle required punning
+       of existing vector defs.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/sh/sh.md (movsf_ie): Remove operands[2] test.
+
+2021-01-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * config.gcc [$target == *-*-gnu*]: Enable
+       'default_gnu_indirect_function'.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95905
+       * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into
+       registers before calling targetm.vectorize.vec_perm_const, only after
+       that.
+       * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle
+       two argument permutation when one operand is zero vector and only
+       after that force operands into registers.
+       * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New
+       define_insn_and_split pattern.
+       (*avx512bw_zero_extendv32qiv32hi2_1): Likewise.
+       (*avx512f_zero_extendv16hiv16si2_1): Likewise.
+       (*avx2_zero_extendv8hiv8si2_1): Likewise.
+       (*avx512f_zero_extendv8siv8di2_1): Likewise.
+       (*avx2_zero_extendv4siv4di2_1): Likewise.
+       * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands
+       into registers.
+       * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise.
+       * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise.
+       * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise.
+       * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise.
+       * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise.
+       * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise.  Use std::swap.
+
+2021-01-13  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98455
+       * gimple-if-to-switch.cc (condition_info::record_phi_mapping):
+       Record also virtual PHIs.
+       (pass_if_to_switch::execute): Return TODO_cleanup_cfg only
+       conditionally.
+
+2021-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (C++ Modules): Fix typos.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98640
+       * tree-ssa-sccvn.c (visit_nary_op): Do not try to
+       handle plus or minus from a truncated operand to be
+       sign-extended.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96938
+       * config/i386/i386.md (*btr<mode>_1, *btr<mode>_2): New
+       define_insn_and_split patterns.
+       (splitter after *btr<mode>_2): New splitter.
+
+2021-01-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/98652
+       * cgraphunit.c (analyze_functions): Remove dead code.
+
+2021-01-13  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
+       * config/aarch64/aarch64.c (a64fx_addrcost_table): New.
+       (a64fx_regmove_cost, a64fx_vector_cost): New.
+       (a64fx_tunings): Use the new added cost tables.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95905
+       * config/i386/predicates.md (pmovzx_parallel): New predicate.
+       * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
+       define_insn_and_split pattern.
+       (*sse4_1_zero_extendv4hiv4si2_3): Likewise.
+       (*sse4_1_zero_extendv2siv2di2_3): Likewise.
+
+2021-01-13  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code
+       to fix v0 register.
+
+2021-01-13  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live
+       on entry to a BB.
+
+2021-01-13  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (recip<mode>2<exec>, recip<mode>2): Use unspec
+       for reciprocal-approximation instructions.
+       (div<mode>3): Use fused multiply-accumulate operations for reciprocal
+       refinement and division result.
+       * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant.
+
+2021-01-13  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (subdf): Rename to...
+       (subdf3): This.
+
+2021-01-12  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (source_info::debug): Fix printf format for 32-bit hosts.
+
+2021-01-12  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * function-abi.h: Fix typo.
+
+2021-01-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/97875
+       PR target/97875
+       * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro.
+       (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise.
+       (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise.
+       (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise.
+       (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise.
+       (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise.
+       (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise.
+       (ARM_HAVE_NEON_V2DI_LDST): Likewise.
+       (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise.
+       (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise.
+       (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise.
+       (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise.
+       (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise.
+       (ARM_HAVE_V2DI_LDST): Likewise.
+       * config/arm/mve.md (*movmisalign<mode>_mve_store): New pattern.
+       (*movmisalign<mode>_mve_load): New pattern.
+       * config/arm/neon.md (movmisalign<mode>): Move to ...
+       * config/arm/vec-common.md: ... here.
+
+2021-01-12  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97969
+       * lra-eliminations.c (eliminate_regs_in_insn): Add transformation
+       of pattern 'plus (plus (hard reg, const), pseudo)'.
+
+2021-01-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98550
+       * tree-vect-slp.c (vect_record_max_nunits): Check whether
+       the group size is a multiple of the vector element count.
+       (vect_build_slp_tree_1): When we need to fail because
+       the vector type choosen causes unrolling do so lazily
+       without affecting matches only at the end to guide group splitting.
+
+2021-01-12  Martin Liska  <mliska@suse.cz>
+
+       PR c++/97284
+       * optc-save-gen.awk: Compare also n_target_save vars with
+       strcmp.
+
+2021-01-12  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (source_info::debug): New.
+       (print_usage): Add --debug (-D) option.
+       (process_args): Likewise.
+       (generate_results): Call src->debug after
+       accumulate_line_counts.
+       (read_graph_file): Properly assign id for EXIT_BLOCK.
+       * profile.c (branch_prob): Dump function body before it is
+       instrumented.
+
+2021-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98629
+       * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt
+       unless returning non-zero.
+
+2021-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95731
+       * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
+       x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z.
+       (optimize_range_tests): Call optimize_range_tests_cmp_bitwise
+       only after optimize_range_tests_var_bound.
+
+2021-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@.
+       * configure: Regenerated.
+
+2021-01-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98612
+       * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
+       Deleted.
+       * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
+       dead code.
+
+2021-01-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * ssa-iterators.h (end_imm_use_stmt_traverse): Forward
+       declare.
+       (auto_end_imm_use_stmt_traverse): New struct.
+       (FOR_EACH_IMM_USE_STMT): Use it.
+       (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove,
+       along with uses...
+       * gimple-ssa-strength-reduction.c: ... here, ...
+       * graphite-scop-detection.c: ... here, ...
+       * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ...
+       * tree-predcom.c, tree-ssa-ccp.c: ... here, ...
+       * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ...
+       * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ...
+       * tree-ssa-phiprop.c, tree-ssa.c: ... here, ...
+       * tree-vect-slp.c: ... and here, ...
+       * doc/tree-ssa.texi: ... and the example here.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3): Extend from
+       SVE_FULL_I to SVE_I.  Generate an UNSPEC_PRED_X.
+       (*sdiv_pow2<mode>3): New pattern.
+       (@cond_<sve_int_op><mode>): Extend from SVE_FULL_I to SVE_I.
+       Wrap the ASRD in an UNSPEC_PRED_X.
+       (*cond_<sve_int_op><mode>_2): Likewise.  Replace the UNSPEC_PRED_X
+       predicate with a constant PTRUE, if it isn't already.
+       (*cond_<sve_int_op><mode>_z): Replace with...
+       (*cond_<sve_int_op><mode>_any): ...this new pattern.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (*cond_bic<mode>_2): Extend from
+       SVE_FULL_I to SVE_I.
+       (*cond_bic<mode>_any): Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart)
+       (@aarch64_pred_<MUL_HIGHPART:optab><mode>): Extend from SVE_FULL_I
+       to SVE_I.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): Extend from
+       SVE_FULL_I to SVE_I.
+       (*aarch64_cond_<su>abd<mode>_2): Likewise.
+       (*aarch64_cond_<su>abd<mode>_any): Likewise.
+       (@aarch64_pred_<su>abd<mode>): Likewise.  Use UNSPEC_PRED_X
+       for the max and min but not for the minus.
+       (*aarch64_cond_<su>abd<mode>_3): New pattern.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/iterators.md (SVE_24I): New iterator.
+       * config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
+       SVE_FULL_SDI to SVE_24I.  Use containers rather than elements.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_BINARY:optab><mode>)
+       (*cond_<SVE_INT_BINARY:optab><mode>_2): Extend from SVE_FULL_I
+       to SVE_I.
+       (*cond_<SVE_INT_BINARY:optab><mode>_3): Likewise.
+       (*cond_<SVE_INT_BINARY:optab><mode>_any): Likewise.
+       (*cond_<SVE_INT_BINARY:optab><mode>_2_const): Likewise.
+       (*cond_<SVE_INT_BINARY:optab><mode>_any_const): Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<SVE_INT_BINARY_IMM:optab><mode>3)
+       (@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>)
+       (*post_ra_<SVE_INT_BINARY_IMM:optab><mode>3): Extend from SVE_FULL_I
+       to SVE_I.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3)
+       (v<ASHIFT:optab><mode>3, @aarch64_pred_<optab><mode>)
+       (*post_ra_v<ASHIFT:optab><mode>3): Extend from SVE_FULL_I to SVE_I.
+
+2021-01-11  Martin Liska  <mliska@suse.cz>
+
+       PR jit/98615
+       * symtab-clones.h (clone_info::release): Release
+       symtab::m_clones with ggc_delete as it's a GGC memory.
+
+2021-01-11  Matthias Klose  <doko@ubuntu.com>
+
+       * Makefile.in (LINK_PROGRESS): Show the link target.
+
+2021-01-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/91403
+       * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap
+       single-element interleaving group size at 4096 elements.
+
+2021-01-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98526
+       * tree-vect-loop.c (vect_model_reduction_cost): Remove costing
+       of the actual reduction op for the regular case.
+       (vectorizable_reduction): Cost the stmts
+       vect_transform_reduction produces here.
+
+2021-01-11  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * tree-ssa-forwprop.c (simplify_vector_constructor): For
+       big-endian, use UNPACK[_FLOAT]_HI.
+
+2021-01-11  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (class complex_pattern,
+       class complex_add_pattern): Add parameters to matches.
+       (complex_add_pattern::build): Free memory.
+       (complex_add_pattern::matches): Move validation end of match.
+       (complex_add_pattern::recognize): Likewise.
+
+2021-01-11  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
+
+2021-01-11  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95867
+       * tree-ssa-math-opts.h: New header.
+       * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h.
+       (powi_as_mults): No longer static.  Use build_one_cst instead of
+       build_real.  Formatting fix.
+       * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h.
+       (attempt_builtin_powi): Handle multiplication reassociation without
+       powi_fndecl using powi_as_mults.
+       (reassociate_bb): For integral types don't require
+       -funsafe-math-optimizations to call attempt_builtin_powi.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95852
+       * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change
+       mul_stmts parameter type to vec<gimple *> &.  Before cond_stmt
+       allow in the bb any of the stmts in that vector, div_stmt and
+       up to 3 cast stmts.
+       (arith_cast_equal_p): New function.
+       (arith_overflow_check_p): Add cast_stmt argument, handle signed
+       multiply overflow checks.
+       (match_arith_overflow): Adjust caller.  Handle signed multiply
+       overflow checks.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95852
+       * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function.
+       (uaddsub_overflow_check_p): Renamed to ...
+       (arith_overflow_check_p): ... this.  Handle also multiplication
+       with overflow check.
+       (match_uaddsub_overflow): Renamed to ...
+       (match_arith_overflow): ... this.  Add cfg_changed argument.  Handle
+       also multiplication with overflow check.  Adjust function comment.
+       (math_opts_dom_walker::after_dom_children): Adjust callers.  Call
+       match_arith_overflow also for MULT_EXPR.
+
+2021-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
+       __builtin_convertvector.
+       (vmovl_s16): Likewise.
+       (vmovl_s32): Likewise.
+       (vmovl_u8): Likewise.
+       (vmovl_u16): Likewise.
+       (vmovl_u32): Likewise.
+       (vmovn_s16): Likewise.
+       (vmovn_s32): Likewise.
+       (vmovn_s64): Likewise.
+       (vmovn_u16): Likewise.
+       (vmovn_u32): Likewise.
+       (vmovn_u64): Likewise.
+
+2021-01-11  Martin Liska  <mliska@suse.cz>
+
+       * gimple-if-to-switch.cc (struct condition_info): Use auto_var.
+       (if_chain::is_beneficial): Delete clusters
+       (find_conditions): Make second argument of conditions_in_bbs a
+       pointer so that we control over it's lifetime.
+       (pass_if_to_switch::execute): Delete them.
+
+2021-01-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * ira.c (move_unallocated_pseudos): Check other_reg and skip if
+       it isn't set.
+
+2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (cc): Remove mode attribute.
+       (subst_<cc>, subst_f<cc>): Rename to...
+       (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
+       (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
+       (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
+       (*branch_<mode>, *branch_<mode>_reversed): Likewise.
+
+2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/vax/vax.md (subst_f<cc>): Add mode to operands and
+       `const_double_zero'.
+
+2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/pdp11/pdp11.md (PDPfp): New mode iterator.
+       (fcc_cc, fcc_ccnz): Use it.  Add mode to `const_double_zero' and
+       operands.
+
+2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * genemit.c (gen_exp) <CONST_DOUBLE>: Handle `const_double_zero'
+       rtx.
+       * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode
+       with `const_double_zero'.
+       * doc/rtl.texi (Constant Expression Types): Document it.
+
+2021-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98556
+       * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
+       POINTER_DIFF_EXPR to be any integral type.
+
+2021-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98603
+       * function.c (instantiate_virtual_regs_in_insn): For asm goto
+       with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL
+       if any, set ASM_OPERANDS mode to VOIDmode and change
+       ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX.
+
+2021-01-09  Alexandre Oliva  <oliva@gnu.org>
+
+       PR debug/97714
+       * final.c (notice_source_line): Narrow down the condition to
+       skip a line-0 marker.
+
+2021-01-08  Sergei Trofimovich  <siarheit@google.com>
+
+       * ipa-modref.c (merge_call_side_effects): Fix
+       linebreak split by reordering two print calls.
+
+2021-01-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/vector.md (*tf_to_fprx2_0): Rename from
+       "*mov_tf_to_fprx2_0" for consistency, fix constraint.
+       (*tf_to_fprx2_1): Rename from "*mov_tf_to_fprx2_1" for
+       consistency, fix constraint.
+
+2021-01-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-c.c (s390_def_or_undef_macro): Accept
+       callables instead of mask values.
+       (struct target_flag_set_p): New predicate.
+       (s390_cpu_cpp_builtins_internal): Define or undefine
+       __LONG_DOUBLE_VX__ macro.
+
+2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98482
+       * config/i386/i386.c (x86_function_profiler): Use R10 and R11
+       to call mcount in large model with PIC for NO_PROFILE_COUNTERS
+       targets.
+
+2021-01-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (pass_fre::execute): Reset the SCEV hash table.
+
+2021-01-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (scalar_stmts_to_slp_tree_map_t): Fix.
+       (vect_build_slp_tree): On cache hit release the matched
+       scalar stmts vector.
+       * tree-vect-stmts.c (vectorizable_store): Properly free
+       vec_oprnds before possibly gathering them again.
+
+2021-01-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98544
+       * tree-vect-slp.c (vect_optimize_slp): Always materialize
+       permutes at a permute node.
+
+2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98482
+       * config/i386/i386.c (x86_function_profiler): Use R10 to call
+       mcount in large model.  Sorry for large model with PIC.
+
+2021-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98585
+       * config/i386/i386.opt (ix86_cmodel, ix86_incoming_stack_boundary_arg,
+       ix86_pmode, ix86_preferred_stack_boundary_arg, ix86_regparm,
+       ix86_veclibabi_type): Remove x_ prefix, use TargetVariable instead of
+       TargetSave and initialize for variables with enum types.
+       (mfentry, mstack-protector-guard-reg=, mstack-protector-guard-offset=,
+       mstack-protector-guard-symbol=): Add Save.
+       * config/i386/i386-options.c (ix86_function_specific_save,
+       ix86_function_specific_restore): Don't save or restore x_ix86_cmodel,
+       x_ix86_incoming_stack_boundary_arg, x_ix86_pmode,
+       x_ix86_preferred_stack_boundary_arg, x_ix86_regparm,
+       x_ix86_veclibabi_type.
+
+2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (*cnot<mode>): Extend from
+       SVE_FULL_I to SVE_I.
+       (*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise.
+
+2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (*cond_uxt<mode>_2): Extend from
+       SVE_FULL_I to SVE_I.
+       (*cond_uxt<mode>_any): Likewise.
+
+2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/iterators.md (Vwhalf): New iterator.
+       * config/aarch64/aarch64-simd.md (aarch64_<sur>adalp<mode>_3):
+       Rename to...
+       (aarch64_<sur>adalp<mode>): ... This.  Make more
+       builtin-friendly.
+       (<sur>sadv16qi): Adjust callsite of the above.
+       * config/aarch64/aarch64-simd-builtins.def (sadalp, uadalp): New
+       builtins.
+       * config/aarch64/arm_neon.h (vpadal_s8): Reimplement using
+       builtins.
+       (vpadal_s16): Likewise.
+       (vpadal_u8): Likewise.
+       (vpadal_u16): Likewise.
+       (vpadalq_s8): Likewise.
+       (vpadalq_s16): Likewise.
+       (vpadalq_s32): Likewise.
+       (vpadalq_u8): Likewise.
+       (vpadalq_u16): Likewise.
+       (vpadalq_u32): Likewise.
+
+2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_<su>abd<mode>_3):
+       Rename to...
+       (aarch64_<su>abd<mode>): ... This.
+       (<sur>sadv16qi): Adjust callsite of the above.
+       * config/aarch64/aarch64-simd-builtins.def (sabd, uabd): Define
+       builtins.
+       * config/aarch64/arm_neon.h (vabd_s8): Reimplement using
+       builtin.
+       (vabd_s16): Likewise.
+       (vabd_s32): Likewise.
+       (vabd_u8): Likewise.
+       (vabd_u16): Likewise.
+       (vabd_u32): Likewise.
+       (vabdq_s8): Likewise.
+       (vabdq_s16): Likewise.
+       (vabdq_s32): Likewise.
+       (vabdq_u8): Likewise.
+       (vabdq_u16): Likewise.
+       (vabdq_u32): Likewise.
+
+2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd-builtins.def (saba, uaba): Define
+       builtins.
+       * config/aarch64/arm_neon.h (vaba_s8): Implement using builtin.
+       (vaba_s16): Likewise.
+       (vaba_s32): Likewise.
+       (vaba_u8): Likewise.
+       (vaba_u16): Likewise.
+       (vaba_u32): Likewise.
+       (vabaq_s8): Likewise.
+       (vabaq_s16): Likewise.
+       (vabaq_s32): Likewise.
+       (vabaq_u8): Likewise.
+       (vabaq_u16): Likewise.
+       (vabaq_u32): Likewise.
+
+2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aba<mode>_3): Rename to...
+       (aarch64_<su>aba<mode>): ... This.  Handle uaba as well.
+       Change RTL pattern to match.
+
+2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_current_subset_list): New.
+       * config/riscv/riscv-c.c (riscv-subset.h): New.
+       (INCLUDE_STRING): Define.
+       (riscv_cpu_cpp_builtins): Add new style architecture extension
+       test macros.
+       * config/riscv/riscv-subset.h (riscv_subset_list::begin): New.
+       (riscv_subset_list::end): New.
+       (riscv_current_subset_list): New.
+
+2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (RISCV_DONT_CARE_VERSION):
+       Move to riscv-subset.h.
+       (struct riscv_subset_t): Ditto.
+       (class riscv_subset_list): Ditto.
+       * config/riscv/riscv-subset.h (RISCV_DONT_CARE_VERSION): Move
+       from riscv-common.c.
+       (struct riscv_subset_t): Ditto.
+       (class riscv_subset_list): Ditto.
+       * config/riscv/t-riscv ($(common_out_file)): Add file
+       dependency.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98567
+       * config/i386/i386.md (*bmi_blsi_<mode>_cmp, *bmi_blsi_<mode>_ccno):
+       New define_insn patterns.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_UNARY:optab><mode>)
+       (*cond_<SVE_INT_UNARY:optab><mode>_2): Extend from SVE_FULL_I to SVE_I.
+       (*cond_<SVE_INT_UNARY:optab><mode>_any): Likewise.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98560
+       * internal-fn.def (IFN_VCONDU, IFN_VCONDEQ): Use type vec_cond.
+       * internal-fn.c (vec_cond_mask_direct): Get the data mode from
+       argument 1.
+       (vec_cond_direct): Likewise argument 2.
+       (vec_condu_direct, vec_condeq_direct): Delete.
+       (expand_vect_cond_optab_fn): Rename to...
+       (expand_vec_cond_optab_fn): ...this, replacing old macro.
+       (expand_vec_condu_optab_fn, expand_vec_condeq_optab_fn): Delete.
+       (expand_vect_cond_mask_optab_fn): Rename to...
+       (expand_vec_cond_mask_optab_fn): ...this, replacing old macro.
+       (direct_vec_cond_mask_optab_supported_p): Treat the optab as a
+       convert optab.
+       (direct_vec_cond_optab_supported_p): Likewise.
+       (direct_vec_condu_optab_supported_p): Delete.
+       (direct_vec_condeq_optab_supported_p): Delete.
+       * gimple-isel.cc: Include internal-fn.h.
+       (gimple_expand_vec_cond_expr): Check that IFN_VCONDEQ is supported
+       before using it.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98560
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): If we fail to use
+       IFN_VCOND{,U,EQ}, fall back on IFN_VCOND_MASK.
+
+2021-01-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (insn): Merge from plusminus_insn, shift_insn,
+       rotate_insn and optab code attributes.
+       Update all uses to merged code attribute.
+       * config/i386/sse.md: Update all uses to merged code attribute.
+       * config/i386/mmx.md: Update all uses to merged code attribute.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98568
+       * gimple-ssa-store-merging.c (bswap_view_convert): New function.
+       (bswap_replace): Use it.
+
+2021-01-06  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97978
+       * lra-int.h (lra_hard_reg_split_p): New external.
+       * lra.c (lra_hard_reg_split_p): New global.
+       (lra): Set up lra_hard_reg_split_p after splitting a hard reg.
+       * lra-assigns.c (lra_assign): Don't check allocation correctness
+       after hard reg splitting.
+
+2021-01-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98305
+       * builtins.c (new_delete_mismatch_p): New overload.
+       (new_delete_mismatch_p (tree, tree)): Call it.
+
+2021-01-06  Alexandre Oliva  <oliva@adacore.com>
+
+       * Makefile.in (T_GLIMITS_H): New.
+       (stmp-int-hdrs): Depend on it, use it.
+       * config/t-vxworks (T_GLIMITS_H): Override it.
+       (vxw-glimits.h): New.
+
+2021-01-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98513
+       * value-range.cc (intersect_ranges): Compare the upper bounds
+       for the expected relation.
+
+2021-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       Revert:
+       2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/standards.texi (HSAIL): Remove section.
+
+2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * configure: Re-generate.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/invoke.texi (-std=c++20): Adjust for the publication of
+       ISO 14882:2020 standard.
+       * doc/standards.texi: Likewise.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94802
+       * expr.h (maybe_optimize_sub_cmp_0): Declare.
+       * expr.c: Include tree-pretty-print.h and flags.h.
+       (maybe_optimize_sub_cmp_0): New function.
+       (do_store_flag): Use it.
+       * cfgexpand.c (expand_gimple_cond): Likewise.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * mux-utils.h (pointer_mux::m_ptr): Tweak description of contents.
+       * rtlanal.c (simple_regno_set): Tweak description to clarify the
+       RMW condition.
+
+2021-01-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98516
+       * tree-vect-slp.c (vect_optimize_slp): Permute the incoming
+       lanes when materializing on a VEC_PERM node.
+       (vectorizable_slp_permutation): Dump the permute properly.
+
+2021-01-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_region): Move debug counter
+       to cover individual subgraphs.
+
+2021-01-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98428
+       * tree-vect-slp.c (vect_build_slp_tree_1): Properly reject
+       vector lane extracts for loop vectorization.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98514
+       * tree-ssa-reassoc.c (bb_rank): Change type from long * to
+       int64_t *.
+       (operand_rank): Change type from hash_map<tree, long> to
+       hash_map<tree, int64_t>.
+       (phi_rank): Change return type from long to int64_t.
+       (loop_carried_phi): Change block_rank variable type from long to
+       int64_t.
+       (propagate_rank): Change return type, rank parameter type and
+       op_rank variable type from long to int64_t.
+       (find_operand_rank): Change return type from long to int64_t
+       and change slot variable type from long * to int64_t *.
+       (insert_operand_rank): Change rank parameter type from long to
+       int64_t.
+       (get_rank): Change return type and rank variable type from long to
+       int64_t.  Use PRId64 instead of ld to print the rank.
+       (init_reassoc): Change rank variable type from long to int64_t
+       and adjust correspondingly bb_rank and operand_rank initialization.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96928
+       * tree-ssa-phiopt.c (xor_replacement): New function.
+       (tree_ssa_phiopt_worker): Call it.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96930
+       * match.pd ((A / (1 << B)) -> (A >> B)): If A is extended
+       from narrower value which has the same type as 1 << B, perform
+       the right shift on the narrower value followed by extension.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96239
+       * gimple-ssa-store-merging.c (maybe_optimize_vector_constructor): New
+       function.
+       (get_status_for_store_merging): Don't return BB_INVALID for blocks
+       with potential bswap optimizable CONSTRUCTORs.
+       (pass_store_merging::execute): Optimize vector CONSTRUCTORs with bswap
+       if possible.
+
+2021-01-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98381
+       * tree.c (vector_element_bits): Properly compute bool vector
+       element size.
+       * tree-vect-loop.c (vectorizable_live_operation): Properly
+       compute the last lane bit offset.
+
+2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98522
+       * config/i386/sse.md (sse_cvtps2pi): Redefine as define_insn_and_split.
+       Clear the top 64 bytes of the input XMM register.
+       (sse_cvttps2pi): Ditto.
+
+2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98521
+       * config/i386/xopintrin.h (_mm256_cmov_si256): New.
+
+2021-01-05  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98495
+       * config/i386/xmmintrin.h (_mm_extract_pi16): Cast to unsigned
+       short first.
+
+2021-01-05  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST.
+       (umaddsidi4_split): Likewise.
+
+2021-01-05  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98461
+       * config/i386/sse.md (*sse2_pmovskb_zexthisi): New
+       define_insn_and_split for zero_extend of subreg HI of pmovskb
+       result.
+       (*sse2_pmovskb_zexthisi): Add new combine splitters for
+       zero_extend of not of subreg HI of pmovskb result.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/97269
+       * explow.c (convert_memory_address_addr_space_1): Handle UNSPECs
+       nested in CONSTs.
+       * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use
+       convert_memory_address to convert symbolic immediates to ptr_mode
+       before forcing them to memory.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/97144
+       * recog.c (constrain_operands): Initialize matching_operand
+       for each alternative, rather than only doing it once.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98403
+       * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Explain
+       why we don't remove call clobbers.
+       (function_info::apply_changes_to_insn): Don't attempt to add
+       call clobbers here.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98371
+       * tree-vect-loop.c (vect_reanalyze_as_main_loop): New function.
+       (vect_analyze_loop): If an epilogue loop appears to be cheaper
+       than the main loop, re-analyze it as a main loop before adopting
+       it as a main loop.
+
+2021-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR c++/98316
+       * configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL.
+       * aclocal.m4, configure: Regenerate.
+       * Makefile.in (NETLIBS): Define.
+       (BACKEND): Remove $(CODYLIB).
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98334
+       * simplify-rtx.c (simplify_context::simplify_binary_operation_1):
+       Optimize (X - 1) * Y + Y to X * Y or (X + 1) * Y - Y to X * Y.
+
+2021-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tree-inline.c (expand_call_inline): Restore input_location.
+       Return result from recursive call.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/95401
+       * config/aarch64/aarch64-sve-builtins.cc
+       (gimple_folder::load_store_cookie): Use bits rather than bytes
+       for the alignment argument to IFN_MASK_LOAD and IFN_MASK_STORE.
+       * gimple-fold.c (gimple_fold_mask_load_store_mem_ref): Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98308
+       * tree-vect-stmts.c (vectorizable_load): Set invariant mask
+       SLP vectype.
+
+2021-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95771
+       * tree-ssa-loop-niter.c (number_of_iterations_popcount): Handle types
+       with precision smaller than int's precision and types with precision
+       twice as large as long long.  Formatting fixes.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98464
+       * tree-ssa-sccvn.c (vn_valueize_for_srt): Rename from ...
+       (vn_valueize_wrapper): ... this.  Temporarily adjust vn_context_bb.
+       (process_bb): Adjust.
+
+2021-01-04  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       PR other/98437
+       * doc/invoke.texi (-fsanitize=address): Fix wording describing
+       clash with -fsanitize=hwaddress.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98282
+       * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
+       invariants as VN_NARY.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/89057
+       * config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Accept
+       aarch64_simd_reg_or_zero for operand 2.  Use the combinez patterns
+       to handle zero operands.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (offset_6bit_signed_scaled_p): New function.
+       (offset_6bit_unsigned_scaled_p): Fix typo in comment.
+       (aarch64_sve_prefetch_operand_p): Accept MUL VLs in the range
+       [-32, 31].
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98393
+       * tree-vect-slp.c (vect_build_slp_tree): Properly zero matches
+       when hitting the limit.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98291
+       * tree-vect-loop.c (vectorizable_reduction): Bypass
+       associativity check for SLP reductions with VF 1.
+
+2021-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96782
+       * match.pd (x == ~x -> false, x != ~x -> true): New simplifications.
+
+2021-01-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * collect-utils.c (collect_execute): Check dumppfx.
+       * collect2.c (maybe_run_lto_and_relink, do_link): Pass atsuffix
+       to collect_execute.
+       (do_link): Add new parameter atsuffix.
+       (main): Handle -dumpdir option.  Skip one argument for
+       -o, -isystem and -B options.
+       * gcc.c (make_at_file): New helper function.
+       (close_at_file): Use it.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
+       Amend handling for LD64_VERSION fallback defaults.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config.gcc: Compute default version information
+       from the configured target.  Likewise defaults for
+       ld64.
+       * config/darwin10.h: Removed.
+       * config/darwin12.h: Removed.
+       * config/darwin9.h: Removed.
+       * config/rs6000/darwin8.h: Removed.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Move from here..
+       * config/darwin.h (STACK_CHECK_STATIC_BUILTIN): .. to here.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move from
+       here...
+       * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): ... to here.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move the spec
+       for the Darwin10 unwinder stub from here ...
+       * config/darwin.h (LINK_COMMAND_SPEC_A): ... to here.
+
+2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (DSYMUTIL_SPEC): Default to DWARF
+       (ASM_DEBUG_SPEC):Only define if the assembler supports
+       stabs.
+       (PREFERRED_DEBUGGING_TYPE): Default to DWARF.
+       (DARWIN_PREFER_DWARF): Define.
+       * config/darwin9.h (PREFERRED_DEBUGGING_TYPE): Remove.
+       (DARWIN_PREFER_DWARF): Likewise
+       (DSYMUTIL_SPEC): Likewise.
+       (COLLECT_RUN_DSYMUTIL): Likewise.
+       (ASM_DEBUG_SPEC): Likewise.
+       (ASM_DEBUG_OPTION_SPEC): Likewise.
+
+2021-01-02  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (free_block): ggc_free bb.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (process_command): Update copyright notice dates.
+       * gcov-dump.c (print_version): Ditto.
+       * gcov.c (print_version): Ditto.
+       * gcov-tool.c (print_version): Ditto.
+       * gengtype.c (create_file): Ditto.
+       * doc/cpp.texi: Bump @copying's copyright year.
+       * doc/cppinternals.texi: Ditto.
+       * doc/gcc.texi: Ditto.
+       * doc/gccint.texi: Ditto.
+       * doc/gcov.texi: Ditto.
+       * doc/install.texi: Ditto.
+       * doc/invoke.texi: Ditto.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/gcc/ada/ChangeLog-2021 b/gcc/ada/ChangeLog-2021
new file mode 100644 (file)
index 0000000..451d7b2
--- /dev/null
@@ -0,0 +1,12135 @@
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       * doc/share/gnu_free_documentation_license.rst: Replace http:// with https.
+       * gnat-style.texi: Likewise.
+       * gnat_rm.texi: Likewise.
+       * gnat_ugn.texi: Likewise.
+
+2021-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * gcc-interface/decl.c (gt_pch_nx): Pass NULL as new middle argument
+       to op.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Add warning.
+
+2021-12-02  Marc Poulhiès  <poulhies@adacore.com>
+
+       * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: Remove.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not back-annotate a
+       maximum size for the Esize of limited record and concurrent types.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (aggregate_type_contains_array_p): Delete.
+       (type_has_variable_size): Declare.
+       * gcc-interface/decl.c (adjust_packed): Return 0 only if the field
+       type is an array with variable size.
+       * gcc-interface/utils.c (aggregate_type_contains_array_p): Make
+       static and remove SELF_REFERENTIAL parameter.
+       (type_has_variable_size): Make public.
+       (create_field_decl): Adjust call to aggregate_type_contains_array_p.
+
+2021-12-02  Justin Squirek  <squirek@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Skip normal
+       processing for Itypes that are E_Class_Wide_Subtype with
+       Equivalent_Type set.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Call_to_gnu): Rename GNAT_NAME variable
+       into GNAT_SUBPROG to avoid later shadowing.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-arit32.adb: Add ghost instances and lemmas.
+       (Scaled_Divide32): Add ghost code to prove. Minor code
+       modification to return early in error when divisor is zero.
+       * libgnat/s-arit32.ads: Add ghost instances and utilities.
+       (Scaled_Divide32): Add contract.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sprint.adb (Source_Dump): Set both Print_Generated_Code and
+       Debug_Generated_Code to False at the end.
+
+2021-12-02  Marc Poulhiès  <poulhies@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Filter out nodes not
+       coming from source before emitting the warning.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-aridou.adb (Log_Single_Size, Big_0): New ghost
+       constants.
+       (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive,
+       Lemma_Not_In_Range_Big2xx64): New lemmas on big integers.
+       (Double_Divide): Remove justifications. Amend for that local
+       lemma Prove_Overflow_Case.
+       (Scaled_Divide): Remove justifications. Insert for that local
+       lemmas Prove_Negative_Dividend, Prove_Positive_Dividend and
+       Prove_Q_Too_Big, and amend local lemma Prove_Overflow.  To prove
+       the loop invariant on (Shift mod 2 = 0), introduce local ghost
+       variable Iter to count loop iterations, and relate its value to
+       the value of Shift through Log_Single_Size, with the help of
+       local lemma Prove_Power. Deal with proof regression by adding
+       new local lemma Prove_First_Iteration and local ghost variable
+       D123.
+       * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Remove
+       unnecessary Pure_Function on function as package is Pure.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-widthi.adb: Add pragma Annotate.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-widint.ads: Mark in SPARK.
+       * libgnat/s-widlli.ads: Likewise.
+       * libgnat/s-widllli.ads: Likewise.
+       * libgnat/s-widlllu.ads: Likewise.
+       * libgnat/s-widllu.ads: Disable ghost/contract.
+       * libgnat/s-widthi.adb: Replicate and adapt the proof from
+       s-widthu.adb.
+       * libgnat/s-widthi.ads: Add minimal postcondition.
+       * libgnat/s-widthu.adb: Fix comments in the modular case.
+       * libgnat/s-widthu.ads: Add minimal postcondition.
+       * libgnat/s-widuns.ads: Disable ghost/contract.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Suspension_Object.
+       * sem_util.adb (Is_Descendant_Of_Suspension_Object): Use Is_RTE.
+       (Is_Suspension_Object): Remove body.
+       * sem_util.ads (Is_Suspension_Object): Remove spec.
+       * snames.ads-tmpl (Name_Suspension_Object): Remove, now
+       unreferenced.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Append_Freeze_Action): Tune whitespace to make
+       the code look similar to Append_Freeze_Actions, which takes a
+       List_Id.
+       * sem_ch6.adb (Analyze_Return_Type): Cleanup with
+       Append_Freeze_Action.
+       * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Likewise.
+       * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
+       * contracts.adb (Add_Indirect_Call_Wrapper): Remove extra call
+       to Ensure_Freeze_Node.
+       (Add_Call_Helper): Likewise.
+       * freeze.adb (Check_Inherited_Conditions): Likewise.
+       (Attribute_Renaming): Likewise.
+       * sem_ch8.adb: Likewise.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
+       (No_Dispatching_Calls): Fix whitespace in example code.
+       * gnat_rm.texi: Regenerate.
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Replace low-level
+       membership test with a high-level wrapper.
+       * exp_ch3.adb (Expand_Freeze_Record_Type): Remove unnecessary
+       initialization of list of wrapper declarations and unnecessary
+       guard for list of their bodies (if no bodies are created then
+       Append_Freeze_Actions is a no-op).
+
+2021-12-02  Marc Poulhiès  <poulhies@adacore.com>
+
+       * exp_imgv.adb (Append_Table_To): Add new parameter to
+       Make_Aggregate call.
+       * gen_il-fields.ads (Opt_Field_Enum):
+       Add Is_Parenthesis_Aggregate and Is_Enum_Array_Aggregate.
+       * gen_il-gen-gen_nodes.adb (Union): Add Is_Enum_Array_Aggregate
+       and Is_Parenthesis_Aggregate field to N_Aggregate.
+       * libgnarl/s-interr.adb (User_Handler, User_Entry, Blocked)
+       (Ignored, Last_Unblocker, Server_ID): Likewise.
+       * libgnarl/s-intman.ads (Keep_Unmasked, Reserve): Likewise.
+       * libgnarl/s-intman__posix.adb (Exception_Interrupts)
+       (Initialize): Likewise.
+       * libgnarl/s-mudido__affinity.adb (Create): Likewise.
+       * libgnarl/s-osinte__linux.ads (Unmasked, Reserved): Likewise.
+       * libgnarl/s-taprop__linux.adb (Create_Task, Set_Task_Affinity)
+       * libgnarl/s-tasdeb.adb (Trace_On): Likewise.
+       * libgnarl/s-tasdeb.ads (Known_Tasks): Likewise.
+       * libgnarl/s-tasinf__linux.ads (Any_CPU, No_CPU): Likewise.
+       * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
+       * libgnarl/s-taskin.ads (Ada_Task_Control_Block): Likewise.
+       * libgnarl/s-tasren.adb (Default_Treatment)
+       (New_State): Likewise.
+       * libgnarl/s-tassta.adb (Trace_Unhandled_Exception_In_Task):
+       Likewise.
+       * libgnarl/s-tataat.adb (Index_Array): Likewise.
+       * libgnarl/s-tpobop.adb (New_State): Likewise.
+       * libgnat/a-calend.adb (Cumulative_Days_Before_Month)
+       (Leap_Second_Times): Likewise.
+       * libgnat/a-calend.ads (Days_In_Month): Likewise.
+       * libgnat/a-cfinve.adb (Insert): Likewise.
+       * libgnat/a-chahan.adb (Char_Map): Likewise.
+       * libgnat/a-chtgbo.adb (Clear): Likewise.
+       * libgnat/a-cobove.adb ("&", Insert, To_Vector): Likewise.
+       * libgnat/a-cofove.adb (Insert, To_Vector): Likewise.
+       * libgnat/a-cohata.ads (Hash_Table_Type): Likewise.
+       * libgnat/a-coinve.adb (Merge, Insert, Insert_Space): Likewise.
+       * libgnat/a-convec.adb (Insert, To_Vector): Likewise.
+       * libgnat/a-coprnu.ads (Primes): Likewise.
+       * libgnat/a-direct.adb (Empty_String): Use regular "" instead
+       of aggregate.
+       (Start_Search_Internal, Name_Case_Equivalence, Search)
+       (Start_Search, Start_Search_Internal): Use bracket for
+       aggregate.
+       * libgnat/a-direct.ads (Start_Search,Search): Likewise.
+       * libgnat/a-direio.adb (Zeroes): Likewise.
+       * libgnat/a-nbnbre.adb (Leading_Padding, Trailing_Padding)
+       (Numerator_Image): Likewise.
+       * libgnat/a-ngrear.adb (Jacobi): Likewise.
+       * libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
+       * libgnat/a-stbufo.adb (Put): Likewise.
+       * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
+       * libgnat/a-stbuut.adb (Put_7bit, Put_Character)
+       (Put_Wide_Character, Put_Wide_Wide_Character): Likewise.
+       * libgnat/a-stmaco.ads (Control_Set,Graphic_Set,Letter_Set)
+       (Lower_Set, Upper_Set, Basic_Set, Decimal_Digit_Set)
+       (Hexadecimal_Digit_Set, Alphanumeric_Set, Special_Set)
+       (ISO_646_Set): Likewise.
+       * libgnat/a-strbou.ads (Insert, Tail, "*", Replicate)
+       (Null_Bounded_String): Likewise.
+       * libgnat/a-strfix.ads (Head, Tail): Likewise.
+       * libgnat/a-strmap.adb (To_Domain, Lemma_Is_Sorted): Likewise.
+       * libgnat/a-strmap.ads (Null_Set): Likewise.
+       * libgnat/a-strsup.adb (Super_Head, Super_Replicate)
+       (Super_Tail): Likewise.
+       * libgnat/a-strsup.ads (Super_Head, Super_Tail, Times)
+       (Super_Replicate): Likewise.
+       * libgnat/a-sttebu.adb (Put_UTF8, Wide_Put_UTF_16): Likewise.
+       * libgnat/a-stuten.ads (BOM_16): Likewise.
+       * libgnat/a-stwibo.ads (Null_Bounded_Wide_String): Likewise.
+       * libgnat/a-stwima.ads (Null_Range): Likewise.
+       * libgnat/a-stwisu.adb (Super_Head, Super_Replicate)
+       (Super_Tail): Likewise.
+       * libgnat/a-stzbou.ads
+       (Null_Bounded_Wide_Wide_String): Likewise.
+       * libgnat/a-stzmap.ads (Null_Range): Likewise.
+       * libgnat/a-stzsup.adb (Super_Head, Super_Replicate)
+       (Super_Tail, Super_Trim): Likewise.
+       * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
+       (Letter_Ranges, Lower_Ranges, Upeer_Ranges, Basic_Ranges)
+       (Decimal_Digit_Ranges, Hexadecimal_Digit_Ranges)
+       (Alphanumeric_Ranges, Special_Graphic_Ranges, ISO_646_Ranges)
+       (Character_Ranges, Lower_Case_Mapping, Upper_Case_Mapping)
+       (Basic_Mapping): Likewise.
+       * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
+       (Letter_Ranges, Lower_Ranges, Upeer_Ranges, Basic_Ranges)
+       (Decimal_Digit_Ranges, Hexadecimal_Digit_Ranges)
+       (Alphanumeric_Ranges, Special_Graphic_Ranges, ISO_646_Ranges)
+       (Character_Ranges, Lower_Case_Mapping, Upper_Case_Mapping)
+       (Basic_Mapping): Likewise.
+       * libgnat/a-teioed.adb (Format_Number): Likewise.
+       * libgnat/a-wtedit.adb (Format_Number): Likewise.
+       * libgnat/a-ztedit.adb (Format_Number): Likewise.
+       * libgnat/g-arrspl.adb (Separators): Likewise.
+       * libgnat/g-catiio.adb (Month_Name_To_Number): Likewise.
+       * libgnat/g-cgideb.adb (NL, Title): Likewise.
+       * libgnat/g-comlin.adb (Internal_Initialize_Option_Scan)
+       (Display_Section_Help): Likewise.
+       * libgnat/g-comlin.ads (Opt_Parser_Data): Likewise.
+       * libgnat/g-debpoo.adb (Set_Dead_Beef, Dump): Likewise.
+       * libgnat/g-expect.adb (Expect, Has_Process, Send): Likewise.
+       * libgnat/g-forstr.adb ("+", Get_Formatted): Likewise.
+       * libgnat/g-memdum.adb (Dump): Likewise.
+       * libgnat/g-rannum.adb (Image): Likewise.
+       * libgnat/g-sechas.adb (Final, HMAC_Initial_Context): Likewise.
+       * libgnat/g-sehamd.ads (Initial_State): Likewise.
+       * libgnat/g-sehash.ads (Initial_State): Likewise.
+       * libgnat/g-sercom.ads (Data_Rate_Value): Likewise.
+       * libgnat/g-sercom__linux.adb (C_Data_Rate, C_Bits, C_Stop_Bits)
+       (C_Parity): Likewise.
+       * libgnat/g-shsh32.ads (K, Transform): Likewise.
+       * libgnat/g-shsh64.ads (K, Transform): Likewise.
+       * libgnat/g-socket.adb (Levels, Modes, Shutmodes, Requests)
+       (Options, Flags, Get_Name_Info, Image): Likewise.
+       * libgnat/g-socket.ads (Inet_Addr_Bytes_Length, Inet_Addr_Type)
+       (IPv4_To_IPv6_Prefix, Any_Inet_Addr, Any_Inet6_Addr)
+       (No_Inet_Addr, Broadcast_Inet_Addr, Loopback_Inet_Addr)
+       (Loopback_Inet6_Addr, Unspecified_Group_Inet_Addr)
+       (All_Hosts_Group_Inet_Addr, All_Routers_Group_Inet_Addr)
+       (Unspecified_Group_Inet6_Addr, All_Hosts_Group_Inet6_Addr)
+       (All_Routers_Group_Inet6_Addr): Likewise.
+       * libgnat/g-socpol.adb (To_C, Status, Get_Events): Likewise.
+       * libgnat/g-socpol.ads (Input_Event, Output_Event, Both_Event)
+       (Error_Event): Likewise.
+       * libgnat/g-sothco.ads (Families, Lengths, Sockaddr): Likewise.
+       * libgnat/g-spipat.adb (OK_For_Simple_Arbno): Likewise.
+       * libgnat/i-cobol.ads (Ada_To_COBOL, COBOL_To_Ada): Likewise.
+       * libgnat/i-pacdec.adb (Packed_Byte): Likewise.
+       * libgnat/i-pacdec.ads (Packed_Size): Likewise.
+       * libgnat/s-bitops.adb (Masks): Likewise.
+       * libgnat/s-crc32.adb (Table): Likewise.
+       * libgnat/s-gearop.adb (Unit_Matrix, Unit_Vector): Likewise.
+       * libgnat/s-genbig.adb (Out_data, Zero_Data, Big_Exp, Big_Mul)
+       (To_Bignum, To_String, Image, Leading_Padding): Likewise.
+       * libgnat/s-htable.adb (Reset): Likewise.
+       * libgnat/s-imgcha.adb (C0, C1): Likewise.
+       * libgnat/s-powflt.ads (Powten): Likewise.
+       * libgnat/s-powlfl.ads (Powten): Likewise.
+       * libgnat/s-powllf.ads (Powten): Likewise.
+       * libgnat/s-rannum.adb (Matrix_A, Random_Float_Template, Image):
+       Likewise.
+       * libgnat/s-rannum.ads (Generator): Likewise.
+       * libgnat/s-regexp.adb (Compile,Create_Primary_Table)
+       (Create_Primary_Table_Glob, Create_Secondary_Table, Compile):
+       Likewise.
+       * libgnat/s-regpat.adb (Bit_Conversion, Set, Dump_Until)
+       (Dump_Current, Dump_Error, Try, Reset_Class): Likewise.
+       * libgnat/s-regpat.ads (Pattern_Matcher, Never_Match): Likewise.
+       * libgnat/s-scaval__128.adb (Initialize): Likewise.
+       * libgnat/s-statxd.adb (Fields, W_F, W_LF)
+       (W_LLF, W_SF): Likewise.
+       * libgnat/s-stausa.adb (Initialize, Initialize_Analyzer)
+       (Output_Results): Likewise.
+       * libgnat/s-strops.adb (Str_Concat_SC): Likewise.
+       * libgnat/s-valrea.adb (Maxexp32, Maxexp64, Maxexp80): Likewise.
+       * libgnat/s-wchcon.ads (WC_Encoding_Letters)
+       (WC_Longest_Sequences): Likewise.
+       * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set
+       Is_Parenthesis_Aggregate when creating a N_Aggregate using
+       parenthesis.
+       * scng.adb (Scan): Lower version needed for bracket syntax from
+       Extensions to Ada2022.
+       * sem_aggr.adb (Resolve_Aggregate): Raise error for container
+       aggregate using parenthesis instead of bracket.
+       (Resolve_Array_Aggregate): Raise warning for aggregate using
+       parenthesis in Ada2022 with obsolescent warning enabled and not
+       in GNAT mode.
+       * sem_util.ads (Check_Ambiguous_Aggregate): Typo fix in comment.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnarl/a-taside.ads (Activation_Is_Complete): Add pragma
+       Inline.
+
+2021-12-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Package_Instance): Consistently consider
+       the freeze node of the parent and use large inequality for
+       Slocs.
+       (Freeze_Subprogram_Instance): Likewise.
+       (Insert_Freeze_Node_For_Instance): For an instance in a package
+       spec with no source body that immediately follows, consider the
+       body of the package for the placement of the freeze node and go
+       to the outer level if there is no such body.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch13.ads (Expand_N_Freeze_Entity): Add note about a SPARK
+       twin.
+       * exp_ch3.ads (Freeze_Type): Likewise.
+       * exp_spark.adb (Expand_SPARK_N_Freeze_Entity): Mimic what is
+       done in Freeze_Entity.
+       (SPARK_Freeze_Type): Mimic what is done in Freeze_Type; add call
+       to Make_Predefined_Primitive_Eq_Spec.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Make_Predefined_Primitive_Specs): Move code for
+       spec of dispatching equality.
+       (Predefined_Primitive_Bodies): Move code for body if dispatching
+       equality.
+       (Make_Predefined_Primitive_Eq_Spec): Separated code for spec of
+       dispatching equality.
+       (Predefined_Primitive_Eq_Body): Separated code for body of
+       dispatching equality.
+       * exp_ch3.ads: Update.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/s-valuti.ads (Scan_Natural_Ghost): Split body from
+       spec and put it into private part, so that GNATprove can pick it
+       both when analysing the unit and its clients.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb, exp_ch6.adb, par-ch4.adb, sem_ch13.adb: Remove
+       extra space after ":=" symbol.
+       * gen_il-gen.adb: Likewise; add missing headerbox.
+
+2021-12-02  Richard Kenner  <kenner@adacore.com>
+
+       * rtsfind.adb (Maybe_Add_With): Ensure that the added "with" is
+       never marked as ignored ghost code.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Replace First_Entity/Next_Entity
+       with First_Component/Next_Component; remove condition with Ekind
+       equal to E_Component.
+       * sem_ch13.adb (Check_Record_Representation_Clause): Likewise
+       for component-or-discriminant.
+       * sem_util.adb (Is_Fully_Initialized_Type): Likewise; rename Ent
+       to a more specific Comp.
+       * sem_warn.adb (Check_References): Likewise.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Unassigned_Out_Parameter): Move inner
+       loop at the beginning of subprogram, so it is executed only
+       once; fix order in the "add an ad hoc" phrase.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Check_References): Remove redundant condition.
+
+2021-12-02  Doug Rupp  <rupp@adacore.com>
+
+       * vxworks7-cert-rtp-link__ppcXX.spec: New file.
+       * Makefile.rtl: Use it.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/i-c.adb: Add ghost code.
+       (C_Length_Ghost): New ghost functions to query the C length of a
+       string.
+       (To_Ada): Insert constant Count_Cst where needed to comply with
+       SPARK.  Homogeneize code between variants for char, wchar_t,
+       char16_t and char32_t. Use char16_nul and char32_nul
+       systematically instead of their value. Fix the type of index To
+       to be Integer instead of Positive, to avoid a possible range
+       check failure on an empty Target. Insert an exit statement to
+       avoid a possible overflow failure when the last index in Target
+       is Natural'Last (possibly on a small string as well).
+       * libgnat/i-c.ads: Add contracts.
+       (C_Length_Ghost): New ghost functions to query the C length of a
+       string.
+       * libgnat/s-os_lib.adb: Remove pragma Compiler_Unit_Warning
+       causing a spurious error during compilation of GNAT, as this
+       pragma is not needed anymore now that we bootstrap (stage1) with
+       the base compiler runtime.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnarl/a-taside.ads (Activation_Is_Complete): Add
+       precondition.
+
+2021-12-02  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Check_Derived_Type): Rename local variables; fix
+       style in comment.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-valboo.adb (First_Non_Space_Ghost): Move to
+       utilities.
+       (Value_Boolean): Prefix call to First_Non_Space_Ghost.
+       * libgnat/s-valboo.ads (First_Non_Space_Ghost): Move to
+       utilities.
+       (Is_Boolean_Image_Ghost, Value_Boolean): Prefix call to
+       First_Non_Space_Ghost.
+       * libgnat/s-valuer.adb (Scan_Raw_Real): Adapt to change of
+       function Scan_Exponent to procedure.
+       * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Adapt to change of
+       function Scan_Exponent to procedure.
+       * libgnat/s-valuti.adb (First_Non_Space_Ghost): Function moved
+       here.
+       (Last_Number_Ghost): New ghost query function.
+       (Scan_Exponent): Change function with side-effects into
+       procedure, to mark in SPARK. Prove procedure wrt contract.
+       Change type of local P to avoid possible range check failure (it
+       is not known whether this can be activated by callers).
+       (Scan_Plus_Sign, Scan_Sign): Change type of local P to avoid
+       possible range check failure. Add loop invariants and assertions
+       for proof.
+       (Scan_Trailing_Blanks): Add loop invariant.
+       (Scan_Underscore): Remove SPARK_Mode Off.
+       * libgnat/s-valuti.ads (First_Non_Space_Ghost): Function moved
+       here.
+       (Last_Number_Ghost, Only_Number_Ghost, Is_Natural_Format_Ghost,
+       Scan_Natural_Ghost): New ghost query functions.
+       (Scan_Plus_Sign, Scan_Sign, Scan_Exponent, Scan_Trailing_Blanks,
+       Scan_Underscore): Add functional contracts.
+
+2021-12-02  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-imgboo.adb: Mark in SPARK.
+       * libgnat/s-imgboo.ads: Mark in SPARK. Change from Pure to
+       Preelaborate unit in order to be able to depend on
+       System.Val_Bool.
+       (Image_Boolean): Functionally specify the result of the
+       procedure by calling System.Val_Bool.Value_Boolean on the
+       result.
+       * libgnat/s-valboo.adb: Mark in SPARK.
+       (First_Non_Space_Ghost): New ghost function.
+       (Value_Boolean): Change type of L and F to avoid possible range
+       check failure on empty Str.
+       * libgnat/s-valboo.ads: Mark in SPARK. Duplicate with-clause
+       from body in the spec to be able to call
+       System.Val_Util.Only_Space_Ghost in the contract.
+       (First_Non_Space_Ghost): New ghost function computing the first
+       non-space character in a string.
+       (Is_Boolean_Image_Ghost): New ghost function computing whether a
+       string is the image of a boolean value.
+       (Value_Boolean): Add in precondition the conditions to avoid
+       raising Constraint_Error. This precondition is never executed,
+       and only used in proof, thanks to the use of pragma
+       Assertion_Policy. Given that precondition, the postcondition can
+       simply check the first non-space character to decide whether
+       True or False is read.
+       * libgnat/s-valuti.adb: Mark in SPARK, but use SPARK_Mode Off on
+       all subprograms not yet proved.
+       (Bad_Value): Annotate expected exception.
+       (Normalize_String): Rewrite to avoid possible overflow when
+       incrementing F in the first loop. Add loop invariants.
+       * libgnat/s-valuti.ads: Mark in SPARK.
+       (Bad_Value): Add Depends contract to avoid warning on unused S.
+       (Only_Space_Ghost): New ghost function to query if string has
+       only space in the specified range.
+       (Normalize_String): Add functional contract.
+       (Scan_Exponent): Mark spec as not in SPARK as this function has
+       side-effects.
+
+2021-12-02  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-socket.ads (Max_Name_Length): Initialize with
+       NI_MAXHOST.
+
+2021-12-02  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-socket.ads: Minor style fix.
+
+2021-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (E_Decimal_Fixed_Point_Subtype): Fix pasto.
+       * freeze.adb (Freeze_Fixed_Point_Type): Retrieve the underlying type
+       of the first subtype and do not use a stale value of Small_Value.
+       * sem_res.adb (Resolve_Real_Literal): In the case of a fixed-point
+       type, make sure that the base type is frozen and use its Small_Value
+       to compute the corresponding integer value of the literal.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-cbdlli.ads (List): Remove extra space in Aggregate
+       aspect.
+
+2021-12-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Add
+       documentation of the new form of formal subprogram default in
+       the section on language extensions (pragma Extensions_Allowed).
+       * gnat_rm.texi: Regenerate.
+       * gen_il-gen-gen_nodes.adb: Add Expression as a syntactic field
+       of N_Formal_(Abstract|Concrete)_Subprogram_Declaration nodes.
+       * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing
+       support for the new default of a parenthesized expression for
+       formal functions. Issue an error when extensions are not
+       allowed, suggesting use of -gnatX. Update comment with extended
+       syntax for SUBPROGRAM_DEFAULT.
+       * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): Issue an
+       error when an expression default is given for an abstract formal
+       function. When a default expression is present for a formal
+       function, install the function's formals and preanalyze the
+       expression.
+       (Instantiate_Formal_Subprogram): Fix typo in RM paragraph in a
+       comment.  When a formal function has a default expression,
+       create a body for the function that will evaluate the expression
+       and will be called when the default applies in an instantiation.
+       The implicit function is marked as inlined and as having
+       convention Intrinsic.
+
+2021-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_elab.adb (Previous_Suitable_Construct): New function declared
+       in the Early_Call_Region_Processor package.
+       (Find_ECR): Call it to get the previous node at the start.
+       (Include): Call it to get the previous node during the traversal.
+
+2021-12-01  Bob Duff  <duff@adacore.com>
+
+       * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not
+       follow the Corresponding_Spec pointer if Acts_As_Spec is True,
+       because Corresponding_Spec is Empty in that case, so we would
+       exit the loop prematurely, and incorrectly think we are not
+       inside a generic unit when we are.
+
+2021-12-01  Bob Duff  <duff@adacore.com>
+
+       * par-ch3.adb (P_Access_Type_Definition): If Not_Null_Subtype is
+       True, give an error in the access-to-subprogram cases.
+
+2021-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Package_Instance): Move up.
+
+2021-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Subprogram_Body): Rename into...
+       (Freeze_Subprogram_Instance): ...this and change the name of the
+       first parameter and local variables for the sake of consistency.
+       (Insert_Freeze_Node_For_Instance): Use local variable Par_Inst.
+       (Install_Body): Rename into...
+       (Freeze_Package_Instance): ...this, remove first parameter and
+       change the name of local variables for the sake of consistency.
+       Do not deal with the special case of incomplete actual types here
+       and do not insert the body.
+       (Instantiate_Package_Body): Deal with the special case of incomplete
+       actual types here and insert the body.  Call Freeze_Package_Instance
+       only if expansion is done.
+       (Instantiate_Subprogram_Body): Minor consistency tweak.
+
+2021-12-01  Etienne Servais  <servais@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate): Fix typo in comment.
+
+2021-12-01  Steve Baird  <baird@adacore.com>
+
+       * sem_case.adb (Check_Bindings): Provide a second strategy for
+       implementing bindings and choose which strategy to use for a
+       given binding. The previous approach was to introduce a new
+       object and assign the bound value to the object.  The new
+       approach is to introduce a renaming of a dereference of an
+       access value that references the appropriate subcomponent, so no
+       copies are made.  The original strategy is still used if the
+       type of the object is elementary.  When the renaming approach is
+       used, the initialization of the access value is not generated
+       until expansion. Until this missing initialization is added, the
+       tree looks like a known-at-compile-time dereference of a null
+       access value: Temp : Some_Access_Type; Obj : Designated_Type
+       renames Temp.all; This leads to problems, so a bogus initial
+       value is provided here and then later deleted during expansion.
+       (Check_Composite_Case_Selector): Disallow a case selector
+       expression that requires finalization. Note that it is ok if the
+       selector's type requires finalization, as long as the expression
+       itself doesn't have any "newly constructed" parts.
+       * exp_ch5.adb (Pattern_Match): Detect the case where analysis of
+       a general (i.e., composite selector type) case statement chose
+       to implement a binding as a renaming rather than by making a
+       copy. In that case, generate the assignments to initialize the
+       access-valued object whose designated value is later renamed
+       (and remove the bogus initial value for that object that was
+       added during analysis).
+       * sem_util.ads, sem_util.adb: Add new function
+       Is_Newly_Constructed corresponding to RM 4.4 term.
+
+2021-12-01  Richard Kenner  <kenner@adacore.com>
+
+       * frontend.adb (Frontend): Do unnesting after ignored ghost code
+       has been removed.
+       * inline.adb (Analyze_Inlined_Bodies): Don't put ignored ghost
+       entities on inlined subprogram list.
+
+2021-12-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * libgnarl/s-tasren.adb (Timed_Task_Entry_Call): Replace
+       Defer_Abort and Undefer_Abort with Defer_Abort_Nestable and
+       Undefer_Abort_Nestable.
+
+2021-12-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch7.adb (Cleanup_Record): Don't process parent.
+
+2021-12-01  Justin Squirek  <squirek@adacore.com>
+
+       * sem_attr.adb (Type_Key): Avoid premature use warnings when the
+       prefix is a generic actual.
+
+2021-12-01  Richard Kenner  <kenner@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Force generation of object file if
+       compilation unit is an ignored ghost.
+
+2021-12-01  Patrick Bernardi  <bernardi@adacore.com>
+
+       * tracebak.c: Add AArch64 RTEMS support.
+
+2021-12-01  Patrick Bernardi  <bernardi@adacore.com>
+
+       * init.c: Add __gnat_error_handler and __gnat_install_handler
+       for RTEMS.
+
+2021-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sprint.ads (Source_Dump): Fix typo in comment.
+       * sprint.adb (Source_Dump): Set Dump_Freeze_Null for both -gnatG
+       and -gnatD.
+       * switch-c.adb (Scan_Front_End_Switches) <'D'>: Remove obsolete
+       kludge.
+
+2021-12-01  Yannick Moy  <moy@adacore.com>
+
+       * einfo.ads (Direct_Primitive_Operations): Update the doc to
+       indicate that this field is used for all types now.
+       * sem_ch4.adb (Try_Object_Operation): Add parameter
+       Allow_Extensions set to True to pretend that extensions are
+       allowed.
+       * sem_ch4.ads: Same.
+       * sem_ch6.adb: Do not require Extensions_Allowed.
+       * sem_ch8.adb (Find_Selected_Component): Remove duplicate
+       "where" in comment.  Improve the error messages regarding use of
+       prefixed calls.
+
+2021-12-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Is_Extended_Precision_Floating_Point_Type): New
+       function.
+       * sem_util.ads (Is_Extended_Precision_Floating_Point_Type): New
+       function.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
+       sem_elim.adb, sem_util.adb: Replace uses of Subprogram_Kind with
+       Is_Subprogram.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-coinho.ads: Sync whitespace with
+       a-coinho__shared.ads.
+       * libgnat/a-coinho__shared.ads: Sync whitespace with
+       a-coinho.ads.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * Makefile.rtl (GNATRTL_TASKING_OBJS): Sort.
+       (GNATRTL_NONTASKING_OBJS): Sort.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * Makefile.rtl: Remove extra whitespace in special compilation
+       rules.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/the_gnat_library.rst (System.Atomic_Counters):
+       Sync description with comment in s-atocou.ads.
+       * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2021-12-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch10.adb (Is_Private_Library_Unit): Move query to
+       Sem_Util for sharing.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Add continuation
+       message.
+       * sem_prag.adb (Analyze_Part_Of): Call new function
+       Is_Private_Library_Unit.
+       (Check_Valid_Library_Unit_Pragma): Specialize error messages on
+       misplaced pragmas.
+       (Analyze_Refined_State_In_Decl_Part): Recognize missing Part_Of
+       on object in private part.
+       * sem_util.adb (Check_State_Refinements): Add continuation
+       message.
+       (Find_Placement_In_State_Space): Fix detection of placement,
+       which relied wrongly on queries In_Package_Body/In_Private_Part
+       which do not provide the right information here for all cases.
+       (Is_Private_Library_Unit): Move query here for sharing.
+       * sem_util.ads (Is_Private_Library_Unit): Move query here for
+       sharing.
+
+2021-12-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): If the full type
+       has a primitives list but its base type doesn't, set the base
+       type's list to the full type's list (covers certain constrained
+       cases, such as for arrays).
+       (Analyze_Incomplete_Type_Decl): Unconditionally initialize an
+       incomplete type's primitives list.
+       (Analyze_Subtype_Declaration): Unconditionally set a subtype's
+       primitives list to the base type's list, so the lists are
+       shared.
+       (Build_Derived_Private_Type): Unconditionally initialize a
+       derived private type's list to a new empty list.
+       (Build_Derived_Record_Type): Unconditionally initialize a
+       derived record type's list to a new empty list (now a single
+       call for tagged and untagged cases).
+       (Derived_Type_Declaration): Unconditionally initialize a derived
+       type's list to a new empty list in error cases (when Parent_Type
+       is undefined or illegal).
+       (Process_Full_View): Unconditionally copy the primitive
+       operations from the private view to the full view (rather than
+       conditioning it on whether extensions are enabled).
+       * sem_ch7.adb (New_Private_Type): Unconditionally initialize an
+       untagged private type's primitives list to a new empty list.
+
+2021-12-01  Etienne Servais  <servais@adacore.com>
+
+       * libgnat/a-cbhase.adb, libgnat/a-cborse.adb,
+       libgnat/a-cihase.adb, libgnat/a-ciorse.adb,
+       libgnat/a-cohase.adb, libgnat/a-coorse.adb
+       (Constant_Reference,Reference_Preserving_Key): Refactor using
+       the equivalence stated in the RM.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Make_Eq_Body): Refactor to avoid appending to an
+       empty list; also, when exiting early we will not create any
+       list; fix style in comment.
+
+2021-12-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * repinfo.adb (List_Entities): Simplify detection of entries;
+       refactor potentially redundant comparison.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/103021
+       * gcc-interface/Make-lang.in: Use ETAGS variable in
+       TAGS target.
+
+2021-11-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc-interface/Makefile.in: Use DSYMUTIL_FOR_TARGET in
+       libgnat/libgnarl recipies.
+
+2021-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_STUBBED_P): Delete.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set it.
+       * gcc-interface/trans.c (Call_to_gnu): Use GNAT_NAME local variable
+       and adjust accordingly.  Replace test on DECL_STUBBED_P with direct
+       test on Convention and move it down in the processing.
+
+2021-11-10  Bob Duff  <duff@adacore.com>
+
+       * scng.adb (Check_Bidi): New procedure to give warning. Note
+       that this is called only for non-ASCII characters, so should not
+       be an efficiency issue.
+       (Slit): Call Check_Bidi for wide characters in string_literals.
+       (Minus_Case): Call Check_Bidi for wide characters in comments.
+       (Char_Literal_Case): Call Check_Bidi for wide characters in
+       character_literals.  Move Accumulate_Checksum down, because
+       otherwise, if Err is True, the Code is uninitialized.
+       * errout.ads: Make the obsolete nature of "Insertion character
+       ?" more prominent; one should not have to read several
+       paragraphs before finding out that it's obsolete.
+
+2021-11-10  Bob Duff  <duff@adacore.com>
+
+       * repinfo.adb (List_Component_Layout): Initialize Sbit.
+
+2021-11-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_Array_Equality): Fix inconsistent casing
+       in comment about the template for expansion of array equality;
+       now we use lower case for true/false/boolean.
+       (Handle_One_Dimension): Fix comment about the template for
+       expansion of array equality.
+
+2021-11-10  Bob Duff  <duff@adacore.com>
+
+       * repinfo.adb (List_Common_Type_Info, List_Object_Info): Add
+       check for In_Generic_Scope.
+       (List_Component_Layout): Check for known static values.
+       * sem_ch13.adb (Check_Record_Representation_Clause): Add check
+       for In_Generic_Scope.
+
+2021-11-10  Etienne Servais  <servais@adacore.com>
+
+       * aspects.adb, aspects.ads (Is_Aspect_Id): New function.
+       * namet-sp.ads, namet-sp.adb (Aspect_Spell_Check,
+       Attribute_Spell_Check): New Functions.
+       * par-ch13.adb (Possible_Misspelled_Aspect): Removed.
+       (With_Present): Use Aspect_Spell_Check, use Is_Aspect_Id.
+       (Get_Aspect_Specifications): Use Aspect_Spell_Check,
+       Is_Aspect_Id, Bad_Aspect.
+       * par-sync.adb (Resync_Past_Malformed_Aspect): Use Is_Aspect_Id.
+       * sem_ch13.adb (Check_One_Attr): Use Is_Aspect_Id.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Introduce the Process_No_Specification_Of_Aspect, emit a warning
+       instead of an error on unknown aspect, hint for typos.
+       Introduce Process_No_Use_Of_Attribute to add spell check for
+       attributes too.
+       (Set_Error_Msg_To_Profile_Name): Use Is_Aspect_Id.
+       * sem_util.adb (Bad_Attribute): Use Attribute_Spell_Check.
+       (Bad_Aspect): New function.
+       * sem_util.ads (Bad_Aspect): New function.
+
+2021-11-10  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnarl/s-taskin.adb (Initialize_ATCB): Initialize
+       T.Common.Current_Priority to Priority'First.
+       * libgnarl/s-taskin.ads (Unspecified_Priority): Redefined as -1.
+       * libgnat/system-rtems.ads: Start priority range from 1, as 0 is
+       reserved by the operating system.
+
+2021-11-10  Pierre-Alexandre Bazin  <bazin@adacore.com>
+
+       * libgnat/a-nbnbig.ads: Mark the unit as Pure.
+       * libgnat/s-aridou.adb: Add contracts and ghost code for proof.
+       (Scaled_Divide): Reorder operations and use of temporaries in
+       two places to facilitate proof.
+       * libgnat/s-aridou.ads: Add full functional contracts.
+       * libgnat/s-arit64.adb: Mark in SPARK.
+       * libgnat/s-arit64.ads: Add contracts similar to those from
+       s-aridou.ads.
+       * rtsfind.ads: Document the limitation that runtime units
+       loading does not work for private with-clauses.
+
+2021-11-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Make_Eq_Body): Adapt call to
+       Expand_Record_Equality.
+       * exp_ch4.ads, exp_ch4.adb (Expand_Composite_Equality): Remove
+       Bodies parameter; adapt comment; fix style in body; adapt calls
+       to Expand_Record_Equality.
+       (Expand_Array_Equality): Adapt calls to
+       Expand_Composite_Equality.
+       (Expand_Record_Equality): Remove Bodies parameter; adapt
+       comment; adapt call to Expand_Composite_Equality.
+       * exp_ch8.adb (Build_Body_For_Renaming): Adapt call to
+       Expand_Record_Equality.
+
+2021-11-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_Composite_Equality): Handle arrays inside
+       records just like scalars; only records inside records need
+       dedicated handling.
+
+2021-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_type.ads (Has_Compatible_Type): Add For_Comparison parameter.
+       * sem_type.adb (Has_Compatible_Type): Put back the reversed calls
+       to Covers guarded with For_Comparison.
+       * sem_ch4.adb (Analyze_Membership_Op) <Try_One_Interp>: Remove new
+       reversed call to Covers and set For_Comparison to true instead.
+       (Find_Comparison_Types) <Try_One_Interp>: Likewise
+       (Find_Equality_Types) <Try_One_Interp>: Likewise.
+
+2021-11-10  Yannick Moy  <moy@adacore.com>
+
+       * Makefile.rtl: Add unit.
+       * libgnat/a-nbnbin__ghost.adb: Move...
+       * libgnat/a-nbnbig.adb: ... here. Mark ghost as ignored.
+       * libgnat/a-nbnbin__ghost.ads: Move...
+       * libgnat/a-nbnbig.ads: ... here.  Add comment for purpose of
+       this unit. Mark ghost as ignored.
+       * libgnat/s-widthu.adb: Use new unit.
+       * sem_aux.adb (First_Subtype): Adapt to the case of a ghost type
+       whose freeze node is rewritten to a null statement.
+
+2021-11-10  Etienne Servais  <servais@adacore.com>
+
+       * libgnat/s-regexp.adb (Check_Well_Formed_Pattern): Fix
+       Constraint_Error on missing close bracket.
+
+2021-11-10  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_Array_Equality): Remove check of the array
+       bound being an N_Range node; use Type_High_Bound/Type_Low_Bound,
+       which handle all kinds of array bounds.
+
+2021-11-10  Etienne Servais  <servais@adacore.com>
+
+       * sem_ch3.adb (Derived_Type_Declaration): Introduce a subprogram
+       for tree transformation. If a tree transformation is performed,
+       then warn that it would be better to reorder the interfaces.
+
+2021-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Find_Non_Universal_Interpretations): Add guard.
+
+2021-11-10  Yannick Moy  <moy@adacore.com>
+
+       * par-ch4.adb (P_Primary): Adapt test for getting error message
+       on missing parentheses.
+
+2021-11-09  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * freeze.adb (Check_Inherited_Conditions): Initialize
+       Ifaces_List.
+
+2021-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Analyze_Membership_Op) <Find_Interpretation>: Handle
+       both overloaded and non-overloaded cases.
+       <Try_One_Interp>: Do a reversed call to Covers if the outcome of the
+       call to Has_Compatible_Type is false.
+       Simplify implementation after change to Find_Interpretation.
+       (Analyze_User_Defined_Binary_Op): Be prepared for previous errors.
+       (Find_Comparison_Types) <Try_One_Interp>: Do a reversed call to
+       Covers if the outcome of the call to Has_Compatible_Type is false.
+       (Find_Equality_Types) <Try_One_Interp>: Likewise.
+       * sem_type.adb (Has_Compatible_Type): Remove the reversed calls to
+       Covers.  Add explicit return on all paths.
+
+2021-11-09  Justin Squirek  <squirek@adacore.com>
+
+       * gnatls.adb (Initialize_Default_Project_Path): Remove early
+       abort on invalid path.
+
+2021-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sprint.adb (Sprint_Node_Actual) <N_Allocator>: Also print the
+       Procedure_To_Call field if it is present.
+       <N_Extended_Return_Statement>: Also print the Storage_Pool and
+       Procedure_To_Call fields if they are present.
+       <N_Free_Statement>: Likewise.
+       <N_Simple_Return_Statement>: Likewise.
+
+2021-11-09  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnarl/s-tasini.adb (Check_Abort_Status): Don't return 1 if
+       the task is aborting.
+       * libgnarl/s-tasini.ads (Check_Abort_Status): Update comment.
+
+2021-11-09  Patrick Bernardi  <bernardi@adacore.com>
+
+       * Makefile.rtl: Add ATOMICS_TARGET_PAIRS and
+       ATOMICS_BUILTINS_TARGET_PAIRS to LIBGNAT_TARGET_PAIRS for
+       aarch64-rtems.
+
+2021-11-09  Justin Squirek  <squirek@adacore.com>
+
+       * exp_util.adb (Ancestor_Primitive): Prevent return of an
+       subprogram alias when the ancestor primitive of the alias is the
+       same as Subp.
+
+2021-11-09  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch4.adb (Tagged_Membership): Use corresponding record type
+       when expanding a tagged membership test on protected types.
+
+2021-11-09  Alexandre Oliva  <oliva@adacore.com>
+
+       * strub.adb, strub.ads: New files.
+       * exp_attr.adb (Access_Cases): Copy strub mode to subprogram type.
+       * exp_disp.adb (Expand_Dispatching_Call): Likewise.
+       * freeze.adb (Check_Inherited_Conditions): Check that strub modes
+       match overridden subprograms and interfaces.
+       (Freeze_All): Renaming declarations too.
+       * sem_attr.adb (Resolve_Attribute): Reject 'Access to
+       strub-annotated data object.
+       * sem_ch3.adb (Derive_Subprogram): Copy strub mode to
+       inherited subprogram.
+       * sem_prag.adb (Analyze_Pragma): Propagate Strub Machine_Attribute
+       from access-to-subprogram to subprogram type when required,
+       but not from access-to-data to data type.  Mark the entity that
+       got the pragma as having a gigi rep item.
+       * sem_res.adb (Resolve): Reject implicit conversions that
+       would change strub modes.
+       (Resolve_Type_Conversions): Reject checked conversions
+       between incompatible strub modes.
+       * doc/gnat_rm/security_hardening_features.rst: Update.
+       * gnat_rm.texi: Regenerate.
+       * libgnat/a-except.ads (Raise_Exception): Revert strub-callable
+       annotation in public subprogram.
+       * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): Likewise.
+       * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Likewise.
+       * libgnat/s-secsta.ads (SS_Allocate): Likewise.
+       (SS_Mark, SS_Release): Likewise.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add ada/strub.o.
+
+2021-11-09  Etienne Servais  <servais@adacore.com>
+
+       * sinput.ads: Initialize Current_Source_Unit to No_Unit.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * Makefile.rtl (ARM and Aarch64 VxWorks): Use atomic variants of
+       runtime units.
+       * libgnat/a-strunb__shared.ads: Mention AARCH64 and ARM as
+       supported.
+       * libgnat/s-atocou.ads: Likewise.
+
+2021-11-09  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Use init_proc_level_formal
+       instead of computing a new accessibility level from Scope_Depth
+       (E).
+
+2021-11-09  Johannes Kliemann  <kliemann@adacore.com>
+
+       * vxworks7-cert-rtp-link.spec: Replace the definition of
+       __wrs_rtp_base with the base_link spec.
+       * vxworks7-cert-rtp-base-link.spec: Add base_link spec with
+       __wrs_rtp_base definition for all architectures.
+       * vxworks7-cert-rtp-base-link__ppc64.spec: Add base_link spec
+       with __wrs_rtp_base definition for ppc64.
+       * vxworks7-cert-rtp-base-link__x86.spec: Add base_link spec with
+       __wrs_rtp_base definition for x86.
+       * vxworks7-cert-rtp-base-link__x86_64.spec: Add base_link spec
+       with __wrs_rtp_base definition for x86_64.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Copy_Parameter_List): Refactor to remove
+       repeated calls to First_Formal.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch8.adb (Build_Body_For_Renaming): Remove unnecessary
+       calls to Sloc; set Handled_Statement_Sequence when building
+       subprogram body; whitespace cleanup.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Handle_One_Dimension): Parameter N must be always
+       positive, because it is translated into expression of 'First and
+       'Last.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * tbuild.adb (New_Occurrence_Of): Simplify by reusing
+       Make_Identifier.
+
+2021-11-09  Etienne Servais  <servais@adacore.com>
+
+       * scng.adb (Set_Start_Column): Return Column_Number'Last when
+       handling Constraint_Error. Plus reformat a strangely 7 level if
+       loop.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Test_Empty_Arrays): Simplify with Evolve_Or_Else;
+       remove unnecessary call to Relocate_Node.
+       (Test_Lengths_Correspond): Likewise.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-strunb.adb (Deallocate): Rename Reference_Copy to
+       Old, to make the code similar to other routines in this package.
+       (Realloc_For_Chunk): Use a temporary, deallocate the previous
+       string using a null-allowing copy of the string reference.
+
+2021-11-09  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Fix typos.
+
+2021-11-09  Tom Tromey  <tromey@adacore.com>
+
+       * doc/gnat_ugn/platform_specific_information.rst: Document the
+       SuSE kernel bug.
+       * gnat_ugn.texi: Regenerate.
+
+2021-11-09  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch13.adb (Freeze_Entity_Checks): Analyze the expression of
+       a pragma Predicate associated with an aspect at the freeze point
+       of the type, to ensure that references to globals get saved when
+       the aspect occurs within a generic body. Also, add
+       Aspect_Static_Predicate to the choices of the membership test of
+       the enclosing guard.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Arr_Attr): Refine type of the parameter from Int
+       to Pos; refine name of the parameter from Num to Dim; fix
+       reference to "Expr" in comment.
+
+2021-11-09  Steve Baird  <baird@adacore.com>
+
+       * libgnat/s-regexp.adb (Compile.Check_Well_Formed_Patern): When
+       a "|" operator is encountered in a pattern, check that it is not
+       the last character of the pattern.
+
+2021-11-09  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration,
+       Derived_Type_Declaration): Initialize list of primitive
+       operations when Extensions_Allowed.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Constraint_Check): Guard against calling
+       Choices when the first association in an array aggregate is a
+       N_Iterated_Component_Association node.
+
+2021-11-09  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Analyze_Incomplete_Type_Decl): Add the missing
+       initialization.
+
+2021-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_Usage): Guard against calling Usage_Error
+       with illegal Item_Id. The intention to do this was already
+       described in the comment but not implemented.
+
+2021-11-09  Etienne Servais  <servais@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): Add a condition to check for the
+       possibility of task.
+
+2021-11-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc-interface/Make-lang.in: Use iOS signal trampoline code
+       for hosted Ada tools.
+       * sigtramp-ios.c: Wrap the declarations in extern "C" when
+       the code is built by a C++ compiler.
+
+2021-10-30  Alexandre Oliva  <oliva@adacore.com>
+
+       * doc/gnat_rm/security_hardening_features.rst: Mention
+       optimization to operations with implied compares.
+
+2021-10-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * doc/gnat_rm/security_hardening_features.rst
+       (Hardened Conditionals): New.
+
+2021-10-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Remove
+       gnatfind and gnatxref.
+
+2021-10-25  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Has_Possible_Literal_Aspects): If analysis of an
+       operator node fails to find  a possible interpretation, and one
+       of its operands is a literal or a named number, assign to the
+       node the corresponding class type (Any_Integer, Any_String,
+       etc).
+       (Operator_Check): Call it before emitting a type error.
+       * sem_res.adb (Has_Applicable_User_Defined_Literal): Given a
+       literal and a type, determine whether the type has a
+       user_defined aspect that can apply to the literal, and rewrite
+       the node as call to the corresponding function. Most of the code
+       was previously in procedure Resolve.
+       (Try_User_Defined_Literal): Check operands of a predefined
+       operator that fails to resolve, and apply
+       Has_Applicable_User_Defined_Literal to literal operands if any,
+       to find if a conversion will allow the operator to resolve
+       properly.
+       (Resolve): Call the above when a literal or an operator with a
+       literal operand fails to resolve.
+
+2021-10-25  Bob Duff  <duff@adacore.com>
+
+       * freeze.adb (Freeze_Fixed_Point_Type): Remove
+       previously-inserted test for Uint_0; no longer needed.
+       * gen_il-gen.ads: Improve comments.
+       * repinfo.adb (Rep_Value): Use Ubool type for B.
+       * repinfo.ads (Node_Ref): Use Unegative type.
+       (Node_Ref_Or_Val): Document that values of this type can be
+       No_Uint.
+       * exp_disp.adb (Make_Disp_Requeue_Body): Minor comment fix.
+       * sem_ch3.adb: Likewise.
+       * sem_ch8.adb: Likewise.
+       * sinfo-utils.adb (End_Location): End_Span can never be No_Uint,
+       so remove the "if No (L)" test.
+       * uintp.adb (Image_String): Use "for ... of" loop.
+       * uintp.ads (Unegative): New type for negative integers.  We
+       give it a long name (unlike Unat and Upos) because it is rarely
+       used.
+
+2021-10-25  Etienne Servais  <servais@adacore.com>
+
+       * errout.adb (Skip_Msg_Insertion_Warning): Adapt and format as
+       Erroutc.Prescan_Message.Parse_Message_Class.
+       (Warn_Insertion): Adapt to new format.
+       * errout.ads: Update documentation.
+       * erroutc.adb (Get_Warning_Tag): Adapt to new format.
+       (Prescan_Message): Introduce Parse_Message_Class function.
+       (Validate_Specific_Warnings): Update ?W? to ?.w?.
+       * erroutc.ads: Update type and documentation.
+       * checks.adb (Validity_Check_Range): Update ?X? to ?.x?.
+       * exp_ch11.adb (Possible_Local_Raise): Update ?X? to ?.x?.
+       (Warn_If_No_Local_Raise): Likewise.
+       (Warn_If_No_Propagation): Likewise.
+       (Warn_No_Exception_Propagation_Active): Likewise.
+       * exp_ch4.adb (Expand_N_Allocator): Attach warning message to
+       -gnatw_a.
+       * exp_prag.adb (Expand_Pragma_Check): Update ?A? to ?.a?.
+       * exp_util.adb (Activate_Atomic_Synchronization): Update ?N? to
+       ?.n?.
+       (Add_Invariant_Check): Update ?L? to ?.l?.
+       * freeze.adb (Check_Suspicious_Modulus): Update ?M? to ?.m?.
+       (Freeze_Entity): Update ?T? to ?.t?, ?Z? to ?.z?.
+       * par-util.adb (Warn_If_Standard_Redefinition): Update ?K? to
+       ?.k?.
+       * sem_attr.adb (Min_Max): Update ?U? to ?.u?.
+       * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Update ?V?
+       to ?.v?.
+       (Adjust_Record_For_Reverse_Bit_Order_Ada_95): Update ?V? to ?.v?.
+       (Component_Size_Case): Update ?S? to ?.s?.
+       (Analyze_Record_Representation_Clause): Update ?S? to ?.s? and
+       ?C? to ?.c?.
+       (Add_Call): Update ?L? to ?.l?.
+       (Component_Order_Check): Attach warning message to -gnatw_r.
+       (Check_Component_List): Update ?H? to ?.h?.
+       (Set_Biased): Update ?B? to ?.b?.
+       * sem_ch3.adb (Modular_Type_Declaration): Update ?M? to ?.m?.
+       * sem_ch4.adb (Analyze_Mod): Update ?M? to ?.m?.
+       (Analyze_Quantified_Expression): Update ?T? to ?.t?.
+       * sem_ch6.adb (Check_Conformance): Attach warning message to
+       -gnatw_p.
+       (List_Inherited_Pre_Post_Aspects): Update ?L? to ?.l?.
+       * sem_ch7.adb (Unit_Requires_Body_Info): Update ?Y? to ?.y?.
+       * sem_ch8.adb (Analyze_Object_Renaming): Update ?R? to ?.r?.
+       * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Attach
+       warning message to -gnatw_c.
+       * sem_res.adb (Check_Argument_Order): Update ?P? to ?.p?.
+       (Resolve_Comparison_Op): Update ?U? to ?.u?.
+       (Resolve_Range): Update ?U? to ?.u?.
+       (Resolve_Short_Circuit): Update ?A? to ?.a?.
+       (Resolve_Unary_Op): Update ?M? to ?.m?.
+       * sem_util.adb (Check_Result_And_Post_State): Update ?T? to ?.t?.
+       * sem_warn.adb (Output_Unused_Warnings_Off_Warnings): Update ?W?
+       to ?.w?.
+       * warnsw.ads: Update documentation for -gnatw_c.
+
+2021-10-25  Bob Duff  <duff@adacore.com>
+
+       * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Fix
+       comment.
+
+2021-10-25  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb (Put_Seinfo): Generate type
+       Seinfo.Type_Only_Enum based on type
+       Gen_IL.Internals.Type_Only_Enum. Automatically generating a copy
+       of the type will help keep them in sync.  (Note that there are
+       no Ada compiler packages imported into Gen_IL.)  Add a Type_Only
+       field to Field_Descriptor, so this information is available in
+       the Ada compiler (as opposed to just in the Gen_IL "compiler").
+       (One_Comp): Add initialization of the Type_Only field of
+       Field_Descriptor.
+       * gen_il-internals.ads (Image): Image function for
+       Type_Only_Enum.
+       * atree.ads (Node_To_Fetch_From): New function to compute which
+       node to fetch from, based on the Type_Only aspect.
+       * atree.adb (Get_Field_Value): Call Node_To_Fetch_From.
+       * treepr.adb (Print_Entity_Field): Call Node_To_Fetch_From.
+       (Print_Node_Field): Assert.
+       * sinfo-utils.adb (Walk_Sinfo_Fields,
+       Walk_Sinfo_Fields_Pairwise): Asserts.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_Composite_Equality): Fix style.
+       (Element_To_Compare): Simplify loop.
+       (Expand_Record_Equality): Adapt calls to Element_To_Compare.
+
+2021-10-25  Steve Baird  <baird@adacore.com>
+
+       * sem_case.adb (Composite_Case_Ops.Box_Value_Required): A new
+       function which takes a component type and returns a Boolean.
+       Returns True for the cases which were formerly forbidden as
+       components (these checks were formerly performed in the
+       now-deleted procedure
+       Check_Composite_Case_Selector.Check_Component_Subtype).
+       (Composite_Case_Ops.Normalized_Case_Expr_Type): Hoist this
+       function out of the Array_Case_Ops package because it has been
+       generalized to also do the analogous thing in the case of a
+       discriminated type.
+       (Composite_Case_Ops.Scalar_Part_Count): Return 0 if
+       Box_Value_Required returns True for the given type/subtype.
+       (Composite_Case_Ops.Choice_Analysis.Choice_Analysis.Component_Bounds_Info.
+       Traverse_Discrete_Parts): Return without doing anything if
+       Box_Value_Required returns True for the given type/subtype.
+       (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
+       If Box_Value_Required yields True for a given component type,
+       then check that the value of that component in a choice
+       expression is indeed a box (in which case the component is
+       ignored).
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Update
+       documentation.
+       * gnat_rm.texi: Regenerate.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-nbnbin__gmp.adb (From_String): Fix predicate
+       mismatch between subprogram declaration and body.
+
+2021-10-25  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.adb (Declaration_Node): Avoid returning the
+       following node kinds: N_Assignment_Statement, N_Integer_Literal,
+       N_Procedure_Call_Statement, N_Subtype_Indication, and
+       N_Type_Conversion.  Assert that the result is in N_Is_Decl or
+       empty.
+       * gen_il-gen-gen_nodes.adb (N_Is_Decl): Modify to match the
+       things that Declaration_Node can return.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-strsup.ads (Super_Length, Super_Element,
+       Super_Slice): Add Global contracts.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Predefined_Primitive_Bodies): Simplify detection
+       of existing equality operator.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Predefined_Primitive_Bodies): Remove redundant
+       conditions related to interface types.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * adaint.c (__gnat_portable_spawn): Do not expect execv to
+       return 0.
+       (__gnat_portable_no_block_spawn): Likewise.
+
+2021-10-25  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Set New_S to Empty.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-strunb.ads (Unbounded_String): Reference is never
+       null.
+       * libgnat/a-strunb.adb (Finalize): Copy reference while it needs
+       to be deallocated.
+
+2021-10-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-xref.adb (Get_Through_Renamings): Exit loop when an
+       enumeration literal is found.
+
+2021-10-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-widthu.adb: Add pragma Annotate.
+
+2021-10-25  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch8.adb (Build_Class_Wide_Wrapper): Previous version split
+       in two subprograms to factorize its functionality:
+       Find_Suitable_Candidate, and Build_Class_Wide_Wrapper. These
+       routines are also placed in the new subprogram
+       Handle_Instance_With_Class_Wide_Type.
+       (Handle_Instance_With_Class_Wide_Type): New subprogram that
+       encapsulates all the code that handles instantiations with
+       class-wide types.
+       (Analyze_Subprogram_Renaming): Adjust code to invoke the new
+       nested subprogram Handle_Instance_With_Class_Wide_Type; adjust
+       documentation.
+
+2021-10-25  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.ads, einfo-utils.adb (Alias, Set_Alias,
+       Renamed_Entity, Set_Renamed_Entity, Renamed_Object,
+       Set_Renamed_Object): Add assertions that reflect how these are
+       supposed to be used and what they are supposed to return.
+       (Renamed_Entity_Or_Object): New getter.
+       (Set_Renamed_Object_Of_Possibly_Void): Setter that allows N to
+       be E_Void.
+       * checks.adb (Ensure_Valid): Use Renamed_Entity_Or_Object
+       because this is called for both cases.
+       * exp_dbug.adb (Debug_Renaming_Declaration): Use
+       Renamed_Entity_Or_Object because this is called for both cases.
+       Add assertions.
+       * exp_util.adb (Possible_Bit_Aligned_Component): Likewise.
+       * freeze.adb (Freeze_All_Ent): Likewise.
+       * sem_ch5.adb (Within_Function): Likewise.
+       * exp_attr.adb (Calculate_Header_Size): Call Renamed_Entity
+       instead of Renamed_Object.
+       * exp_ch11.adb (Expand_N_Raise_Statement): Likewise.
+       * repinfo.adb (Find_Declaration): Likewise.
+       * sem_ch10.adb (Same_Unit, Process_Spec_Clauses,
+       Analyze_With_Clause, Install_Parents): Likewise.
+       * sem_ch12.adb (Build_Local_Package, Needs_Body_Instantiated,
+       Build_Subprogram_Renaming, Check_Formal_Package_Instance,
+       Check_Generic_Actuals, In_Enclosing_Instance,
+       Denotes_Formal_Package, Process_Nested_Formal,
+       Check_Initialized_Types, Map_Formal_Package_Entities,
+       Restore_Nested_Formal): Likewise.
+       * sem_ch6.adb (Report_Conflict): Likewise.
+       * sem_ch8.adb (Analyze_Exception_Renaming,
+       Analyze_Generic_Renaming, Analyze_Package_Renaming,
+       Is_Primitive_Operator_In_Use, Declared_In_Actual,
+       Note_Redundant_Use): Likewise.
+       * sem_warn.adb (Find_Package_Renaming): Likewise.
+       * sem_elab.adb (Ultimate_Variable): Call Renamed_Object instead
+       of Renamed_Entity.
+       * exp_ch6.adb (Get_Function_Id): Call
+       Set_Renamed_Object_Of_Possibly_Void, because the defining
+       identifer is still E_Void at this point.
+       * sem_util.adb (Function_Call_Or_Allocator_Level): Likewise.
+       Remove redundant (unreachable) code.
+       (Is_Object_Renaming, Is_Valid_Renaming): Call Renamed_Object
+       instead of Renamed_Entity.
+       (Get_Fullest_View): Call Renamed_Entity instead of
+       Renamed_Object.
+       (Copy_Node_With_Replacement): Call
+       Set_Renamed_Object_Of_Possibly_Void because the defining entity
+       is sometimes E_Void.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Protect a call to
+       Renamed_Object with Is_Object to avoid assertion failure.
+       * einfo.ads: Minor comment fixes.
+       * inline.adb: Minor comment fixes.
+       * tbuild.ads: Minor comment fixes.
+
+2021-10-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Build_Discrete_Static_Predicate): Remove use of
+       exception propagation since this code is exercised during the
+       bootstrap.
+
+2021-10-25  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Freeze_Entity_Checks): Perform same check on
+       predicate expression inside pragma as inside aspect.
+       * sem_util.adb (Is_Current_Instance): Recognize possible
+       occurrence of subtype as current instance inside the pragma
+       Predicate.
+
+2021-10-25  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * erroutc.adb (Count_Compile_Time_Pragma_Warnings): Don't count
+       deleted warnings.
+
+2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/102663
+       * gcc-interface/Make-lang.in: Allow dvi-formatted
+       documentation to be installed.
+
+2021-10-20  Bob Duff  <duff@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Remove unnecessary
+       call to No_Uint_To_0.
+
+2021-10-20  Richard Kenner  <kenner@adacore.com>
+
+       * exp_unst.adb (Visit_Node, when N_Subprogram_Call): Never treat
+       instrinsic subprograms as nested.
+
+2021-10-20  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/s-widlllu.ads: Mark in SPARK.
+       * libgnat/s-widllu.ads: Likewise.
+       * libgnat/s-widuns.ads: Likewise.
+       * libgnat/s-widthu.adb: Add ghost code and a
+       pseudo-postcondition.
+
+2021-10-20  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-nbnbin__ghost.adb (Signed_Conversions,
+       Unsigned_Conversions): Mark subprograms as not imported.
+       * libgnat/a-nbnbin__ghost.ads: Provide a dummy body.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_eval.adb (Eval_Type_Conversion): If the target subtype is
+       a static floating-point subtype and the result is a real literal,
+       consider its machine-rounded value to raise Constraint_Error.
+       (Test_In_Range): Turn local variables into constants.
+
+2021-10-20  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/g-io-put__vxworks.adb: Remove (unused)
+       * libgnat/s-parame__ae653.ads: Likewise.
+       * libgnat/s-thread.ads: Likewise.
+       * libgnat/s-thread__ae653.adb: Likewise.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_eval.ads (Machine_Number): New inline function.
+       * sem_eval.adb (Machine_Number): New function body implementing
+       the machine rounding operation specified by RM 4.9(38/2).
+       (Check_Non_Static_Context): Call Machine_Number and set the
+       Is_Machine_Number flag consistently on the resulting node.
+       * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Likewise.
+       * checks.adb (Apply_Float_Conversion_Check): Call Machine_Number.
+       (Round_Machine): Likewise.
+
+2021-10-20  Johannes Kliemann  <kliemann@adacore.com>
+
+       * vxworks7-cert-rtp-link.spec: Add the definition of
+       __wrs_rtp_base.
+
+2021-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject boxes in
+       record delta aggregates.
+
+2021-10-20  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
+       generation of accessibility checks to be more consolidated and
+       get triggered properly in required cases.
+       * sem_util.adb (Accessibility_Level): Add extra check within
+       condition to handle aliased formals properly in more cases.
+
+2021-10-20  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call): Detect expanded protected types
+       and use original protected type in order to calculate
+       appropriate finalization routine.
+
+2021-10-20  Johannes Kliemann  <kliemann@adacore.com>
+
+       * libgnat/a-nbnbin__ghost.ads: Add ghost package.
+
+2021-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Variant_Depth): Refine type from Integer to
+       Natural.
+
+2021-10-20  Bob Duff  <duff@adacore.com>
+
+       * atree.ads: Comment improvements. How is a "completely new
+       node" different from a "new node"? Document default values
+       corresponding to field types.
+       * exp_ch7.adb (Process_Tagged_Type_Declaration): Use
+       higher-level Scope_Depth instead of Scope_Depth_Value.  Remove
+       confusing comment: not clear what a "true" library level package
+       is.
+       * uintp.adb (Image_Out): Print No_Uint in a more readable way.
+       * gen_il-gen.adb, gen_il-gen-gen_entities.adb,
+       gen_il-gen-gen_nodes.adb, gen_il-types.ads: Tighten up the
+       subtypes of fields whose type is Uint, where possible; use
+       more-constrained subtypes such as Unat.
+       * einfo-utils.adb, einfo-utils.ads, exp_attr.adb,
+       exp_ch3.adb, exp_intr.adb, exp_unst.adb, exp_util.adb,
+       freeze.adb, repinfo.adb, sem.adb, sem_ch12.adb, sem_ch13.adb,
+       sem_ch3.adb, sem_ch8.adb, sem_util.adb, sprint.adb, treepr.adb:
+       No longer use Uint_0 to indicate "unknown" or "not yet known"
+       for various fields whose type is Uint. Use No_Uint for that,
+       except in a small number of legacy cases that cause test
+       failures. Protect many queries of such fields with calls to
+       Known_... functions. Improve comments.
+       * exp_aggr.adb: Likewise.
+       (Is_OK_Aggregate): Check whether Csiz is present.
+       (Aggr_Assignment_OK_For_Backend): Ensure we do not access an
+       uninitialized size.
+       * exp_strm.adb (Build_Elementary_Input_Call,
+       Build_Elementary_Write_Call): Check whether P_Size is present.
+       * cstand.adb: Leave Component_Size of Any_Composite unknown.
+       Similar for RM_Size of Standard_Exception_Type.  These should
+       not be used.
+       * einfo.ads: Comment improvements.
+       * exp_disp.ads: Minor.
+       * gen_il-internals.ads, gen_il-internals.adb: Minor.
+       * sinfo-utils.adb: Take advantage of full-coverage rules.
+       * types.h: Minor.
+
+2021-10-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.adb: Add with and use of Warnsw.
+       (Check_Conformance): Report a warning when subtypes or
+       designated subtypes of formal parameters or result subtypes
+       denote different declarations between the spec and body of the
+       (Subprogram_Subtypes_Have_Same_Declaration): New function nested
+       within Check_Conformance that determines whether two subtype
+       entities referenced in a subprogram come from the same
+       declaration. Returns True immediately if the subprogram is in a
+       generic instantiation, or the subprogram is marked Is_Internal
+       or is declared in an internal (GNAT library) unit, or GNAT_Mode
+       is enabled, otherwise compares the nonlimited views of the
+       entities (or their designated subtypes' nonlimited views in the
+       anonymous access cases).
+       (Nonlimited_View_Of_Subtype): New function nested within
+       function Subprogram_Subtypes_Have_Same_Declaration that returns
+       Non_Limited_View of a type or subtype that is an incomplete or
+       class-wide type that comes from a limited of a
+       package (From_Limited_With is True for the entity), or returns
+       Full_View when the nonlimited view is an incomplete type.
+       Otherwise returns the entity passed in.
+       * warnsw.ads (Warn_On_Pedantic_Checks): New warning flag.
+       (type Warning_Record): New component Warn_On_Pedantic_Checks.
+       * warnsw.adb (All_Warnings): Set Warn_On_Pedantic_Checks from
+       parameter Setting.
+       (Restore_Warnings): Restore the value of the
+       Warn_On_Pedantic_Checks flag.
+       (Save_Warnings): Save the value of the Warn_On_Pedantic_Checks
+       flag.
+       (Set_Underscore_Warning_Switch): Add settings of the
+       Warn_On_Pedantic flag according to the switch ("-gnatw_p" vs.
+       "-gnatw_P").
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
+       documentation of new switches -gnatw_p and -gnatw_P (warnings
+       for pedantic checks).
+       * gnat_ugn.texi: Regenerate.
+       * usage.adb: Add Warn_On_Pedantic_Checks.
+
+2021-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Guard
+       against equality of an uninitialized RM_Size field.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Also propagate an
+       interface name on an intrinsic subprogram.  Remove obsolete comment.
+       * libgnat/s-atopri.ads (Atomic_Load): New generic intrinsic function
+       (Atomic_Load_8): Rewrite into instantiation.
+       (Atomic_Load_16): Likewise.
+       (Atomic_Load_32): Likewise.
+       (Atomic_Load_64): Likewise.
+       (Sync_Compare_And_Swap): New generic intrinsic function.
+       (Sync_Compare_And_Swap_8): Rewrite into instantiation.
+       (Sync_Compare_And_Swap_16): Likewise.
+       (Sync_Compare_And_Swap_32): Likewise.
+       (Sync_Compare_And_Swap_64): Likewise.
+       (Lock_Free_Read): New generic inline function.
+       (Lock_Free_Read_8): Rewrite into instantiation.
+       (Lock_Free_Read_16): Likewise.
+       (Lock_Free_Read_32): Likewise.
+       (Lock_Free_Read_64): Likewise.
+       (Lock_Free_Try_Write): New generic inline function.
+       (Lock_Free_Try_Write_8): Rewrite into instantiation.
+       (Lock_Free_Try_Write_16): Likewise.
+       (Lock_Free_Try_Write_32): Likewise.
+       (Lock_Free_Try_Write_64): Likewise.
+       * libgnat/s-atopri.adb (Lock_Free_Read): New function body.
+       (Lock_Free_Read_8): Delete.
+       (Lock_Free_Read_16): Likewise.
+       (Lock_Free_Read_32): Likewise.
+       (Lock_Free_Read_64): Likewise.
+       (Lock_Free_Try_Write): New function body.
+       (Lock_Free_Try_Write_8): Delete.
+       (Lock_Free_Try_Write_16): Likewise.
+       (Lock_Free_Try_Write_32): Likewise.
+       (Lock_Free_Try_Write_64): Likewise.
+       * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add): Use type-generic GCC
+       atomic builtin and tidy up implementation.
+       (Atomic_Fetch_And_Subtract): Likewise.
+       * libgnat/s-aomoar.adb (Atomic_Fetch_And_Add): Likewise.
+       (Atomic_Fetch_And_Subtract): Likewise.
+       * libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
+       (Atomic_Compare_And_Exchange): Likewise.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
+       Replace test on Convention_Intrinsic with Is_Intrinsic_Subprogram.
+       (gnat_to_gnu_param): Likewise.
+       (gnat_to_gnu_subprog_type): Likewise.
+       * gcc-interface/trans.c (elaborate_all_entities_for_package): Ditto.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_eval.ads (Check_Non_Static_Context): Update documentation.
+       * sem_eval.adb (In_Any_Integer_Context): Change parameter type,
+       adjust accordingly and remove unreachable case.
+       (Eval_Integer_Literal): Consider the node kind throughout and
+       trim down verbose condition.
+
+2021-10-20  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl: Remove references to system-vxworks-ppc.ads
+       and system-vxworks-x86.ads.
+       * libgnat/system-vxworks-ppc.ads: Remove.
+       * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
+       * libgnat/system-vxworks-x86.ads: Likewise.
+
+2021-10-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch4.adb (Analyze_QUantified_Expression): Issue warning on
+       conjunct/disjunct sub-expression of the full expression inside a
+       quantified expression, when it does not reference the quantified
+       variable.
+
+2021-10-20  Marc Poulhiès  <poulhies@adacore.com>
+
+       * checks.adb (Insert_Valid_Check): in case of checked type
+       conversion, update Typ to match Exp's type and add call to
+       Analyze_And_Resolve.
+
+2021-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/100486
+       * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Do not raise an
+       exception as part of the bootstrap.
+
+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
+       unit renaming test and error.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (resolve_atomic_size): Declare.
+       (list_third): New inline function.
+       * gcc-interface/decl.c (type_for_atomic_builtin_p): New function.
+       (resolve_atomic_builtin): Likewise.
+       (gnat_to_gnu_subprog_type): Perform type resolution for most of
+       type-generic GCC atomic builtins and give an error for the rest.
+       * gcc-interface/utils2.c (resolve_atomic_size): Make public.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Pop_Constraint_Error_Label>:
+       Given the warning only if No_Exception_Propagation is active.
+       <N_Pop_Storage_Error_Label>: Likewise.
+       <N_Pop_Program_Error_Label>: Likewise.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (promote_object_alignment): Add GNU_SIZE
+       parameter and use it for the size of the object if not null.
+       (gnat_to_gnu_entity) <E_Variable>: Perform the automatic alignment
+       promotion for objects whose nominal subtype is of variable size.
+       (gnat_to_gnu_field): Adjust call to promote_object_alignment.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_param): Strip padding types
+       only if the size does not change in the process.  Rename local
+       variable and add bypass for initialization procedures.
+
+2021-10-11  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-thread.ads: Fix comments.  Remove unused package
+       imports.
+       (Thread_Body_Exception_Exit): Remove Exception_Occurrence
+       parameter.
+       (ATSD): Declare type locally.
+       * libgnat/s-thread__ae653.adb: Fix comments.  Remove unused
+       package imports.  Remove package references to Stack_Limit
+       checking.
+       (Install_Handler): Remove.
+       (Set_Sec_Stack): Likewise.
+       (Thread_Body_Enter): Remove calls to Install_Handler and
+       Stack_Limit checking.
+       (Thread_Body_Exception_Exit): Remove Exception_Occurrence
+       parameter.
+       (Init_RTS): Call local Get_Sec_Stack.  Remove call to
+       Install_Handler.  Remove references to accessors for
+       Get_Sec_Stack and Set_Sec_Stack.  Remove OS check.
+       (Set_Sec_Stack): Remove.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Make_Predefined_Primitive_Specs,
+       Predefined_Primitive_Bodies): Remove guard with restriction
+       No_Dispatching_Calls.
+
+2021-10-11  Steve Baird  <baird@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Permit an
+       attribute reference inside a compiler-generated _Postconditions
+       procedure. In this case, Subp_Decl is assigned the declaration
+       of the enclosing subprogram.
+       * exp_util.adb (Insert_Actions): When climbing up the tree
+       looking for an insertion point, do not climb past an
+       N_Iterated_Component/Element_Association, since this could
+       result in inserting a reference to a loop parameter at a
+       location outside of the scope of that loop parameter. On the
+       other hand, be careful to preserve existing behavior in the case
+       of an N_Component_Association node.
+
+2021-10-11  Steve Baird  <baird@adacore.com>
+
+       * exp_ch6.adb (Can_Fold_Predicate_Call): Do not attempt folding
+       if there is more than one predicate involved. Recall that
+       predicate aspect specification are additive, not overriding, and
+       that there are three different predicate
+       aspects (Dynamic_Predicate, Static_Predicate, and the
+       GNAT-defined Predicate aspect). These various ways of
+       introducing multiple predicates are all checked for.  A new
+       nested function, Augments_Other_Dynamic_Predicate, is
+       introduced.
+       * sem_ch4.adb
+       (Analyze_Indexed_Component_Form.Process_Function_Call): When
+       determining whether a name like "X (Some_Discrete_Type)" might
+       be interpreted as a slice, the answer should be "no" if the
+       type/subtype name denotes the current instance of type/subtype.
+
+2021-10-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnarl/s-osinte__rtems.ads: Change sigset_t to an unsigned
+       long.
+
+2021-10-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnat/s-parame__rtems.adb: use
+       _POSIX_Threads_Minimum_stack_size instead of
+       ada_pthread_minimum_stack_size.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h (No_Exception_Propagation_Active): Declare.
+       * restrict.ads (No_Exception_Propagation_Active): Add WARNING line.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Validate_Unchecked_Conversion): Simplify code
+       for detecting conversions with Ada.Calendar.Time type and extend
+       it to similar types in the Ada.Real_Time package.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch10.adb, sem_prag.adb, sem_util.adb: Use
+       N_Generic_Declaration in membership tests.
+
+2021-10-11  Etienne Servais  <servais@adacore.com>
+
+       * ali.adb (Get_Name): Ignore_Spaces is always False.
+       * bindo-graphs.adb (Set_Is_Existing_Source_Target_Relation): Val
+       is always True.
+       * cstand.adb (New_Standard_Entity): New_Node_Kind is always
+       N_Defininig_Identifier.
+       * exp_ch3.adb (Predef_Stream_Attr_Spec): For_Body is always
+       False.
+       * exp_dist.adb (Add_Parameter_To_NVList): RACW_Ctrl is always
+       False.
+       * gnatls.adb (Add_Directories): Prepend is always False.
+       * sem_ch10.adb, sem_ch10.ads (Load_Needed_Body): Do_Analyze is
+       always True.
+       * sem_ch3.adb, sem_ch3.ads (Process_Range_Expr_In_Decl):
+       R_Check_Off is always False.
+       * sem_elab.adb: (Info_Variable_Reference): Info_Msg is always
+       False, In_SPARK is always True.
+       (Set_Is_Traversed_Body, Set_Is_Saved_Construct,
+       Set_Is_Saved_Relation): Val is always True.
+       * treepr.adb (Visit_Descendant): No_Indent is always False.
+       (Print_Node): Fmt does not need such a big scope.
+
+2021-10-11  Etienne Servais  <servais@adacore.com>
+
+       * sem_ch4.adb (Analyze_Membership_Op): Finds interpretation for
+       the case of a membership test with a singleton value in case of
+       overloading.
+
+2021-10-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * Makefile.rtl (VxWorks): Rename s-inmaop__vxworks.adb to
+       s-inmaop__hwint.adb.
+       (RTEMS): Use s-inmaop__hwint.adb, s-intman__rtems.adb/s,
+       s-taprop__rtems.adb.
+       * libgnarl/a-intnam__rtems.ads: Remove signals definitions and
+       replace with Hardware_Interrupts.
+       * libgnarl/s-inmaop__vxworks.adb: Rename as...
+       * libgnarl/s-inmaop__hwint.adb: ... this.
+       * libgnarl/s-interr__hwint.adb: Remove unnecessary comments.
+       * libgnarl/s-intman__rtems.ads, libgnarl/s-intman__rtems.adb:
+       New files.
+       * libgnarl/s-osinte__rtems.adb: Add RTEMS API bindings.
+       (Binary_Semaphore_Create, Binary_Semaphore_Delete,
+       Binary_Semaphore_Obtain, Binary_Semaphore_Release,
+       Binary_Semaphore_Flush, Interrupt_Connect,
+       Interrupt_Number_To_Vector): New functions.
+       * libgnarl/s-osinte__rtems.ads (Num_HW_Interrupts, Signal):
+       Removed.
+       (NSIG, Interrupt_Range): New.
+       (Binary_Semaphore_Create, Binary_Semaphore_Delete,
+       Binary_Semaphore_Obtain, Binary_Semaphore_Release,
+       Binary_Semaphore_Flush, Interrupt_Connect,
+       Interrupt_Number_To_Vector): Remove Import pragma.
+       * libgnarl/s-taprop__rtems.adb: New file.
+
+2021-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_fixd.adb (Get_Size_For_Value): New function returning a size
+       suitable for a non-negative integer value.
+       (Get_Type_For_Size): New function returning a standard type suitable
+       for a size.
+       (Build_Divide): Call both functions to compute the result type, but
+       make sure to pass a non-negative value to the first.
+       (Build_Multiply): Likewise.
+       (Do_Multiply_Fixed_Universal): Minor consistency tweak.
+       (Integer_Literal): Call both functions to compute the type.
+
+2021-10-11  Etienne Servais  <servais@adacore.com>
+
+       * sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec
+       and bodies in alphabetical order.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Build_Class_Wide_Expression): Replace entities
+       of both simple and extended names.
+
+2021-10-11  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * libgnarl/s-intman__android.adb, libgnarl/s-intman__lynxos.adb,
+       libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb,
+       libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb,
+       libgnarl/s-taprob.adb, libgnarl/s-taprop__hpux-dce.adb,
+       libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
+       libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
+       libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
+       libgnarl/s-taskin.adb, libgnarl/s-tasque.adb,
+       libgnarl/s-tpoben.adb, libgnat/a-calend.adb,
+       libgnat/a-excach.adb, libgnat/a-except.adb, libgnat/a-tags.adb,
+       libgnat/a-textio.adb, libgnat/a-witeio.adb,
+       libgnat/a-ztexio.adb, libgnat/g-binenv.adb,
+       libgnat/s-parame.adb, libgnat/s-parame__vxworks.adb,
+       libgnat/s-stratt.adb, libgnat/s-trasym__dwarf.adb: Mark imported
+       binder globals as constant.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Initialize_Record_Component): Add assertion
+       about one of the parameters, so that illegal attempts to
+       initialize record components with Empty node are detected early
+       on.
+       (Build_Record_Aggr_Code): Handle boxes in aggregate component
+       associations just the components with no initialization in
+       Build_Record_Init_Proc.
+       * sem_aggr.adb (Resolve_Record_Aggregate): For components that
+       require simple initialization carry boxes from resolution to
+       expansion.
+       * sem_util.adb (Needs_Simple_Initialization): Remove redundant
+       paren.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Statements): Simplify detection of
+       concurrent record types.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Is_Delayed_Aggregate): Simplify.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Has_Default_Init_Comps): Simplify.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Component_OK_For_Backend): Remove redundant
+       guard.
+
+2021-10-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * Makefile.rtl (RTEMS): Add s-stchop.o to
+       EXTRA_GNATRTL_NONTASKING_OBJS, remove s-stchop__rtems.adb.
+       * libgnat/s-stchop__rtems.adb: Removed.
+
+2021-10-11  Marc Poulhiès  <poulhies@adacore.com>
+
+       * expander.adb (Expand): Skip clearing of Analyzed flag if
+       already set for N_Real_Literal.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Compile_Time_Constraint_Error): Simplify getting
+       the type of the first formal parameter.
+
+2021-10-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Inside_Init_Proc): Simplify.
+       * sem_aggr.adb (Resolve_Record_Aggregate): Fix style.
+       * sem_util.adb (Compile_Time_Constraint_Error): Guard against
+       calling Corresponding_Concurrent_Type with an array type entity.
+
+2021-10-11  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-parame__ae653.ads (time_t_bits): Change to
+       Long_Long_Integer'Size.  Add some comments to explain.
+
+2021-10-08  Martin Liska  <mliska@suse.cz>
+
+       * gcc-interface/misc.c (gnat_post_options): Use new macro
+       OPTION_SET_P.
+       (gnat_init_gcc_eh): Likewise.
+       (gnat_init_gcc_fp): Likewise.
+
+2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values
+       referenced in pragmas.
+
+2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Do not set the
+       DECL_DISREGARD_INLINE_LIMITS flag if -gnatd.8 is specified.
+
+2021-10-05  Bob Duff  <duff@adacore.com>
+
+       * gcc-interface/trans.c (set_end_locus_from_node): Check that
+       Handled_Statement_Sequence is not Empty before calling
+       End_Label, because the Empty node has no End_Label, and
+       depending on the exact node layout chosen by gen_il, calling
+       End_Label might crash, or might work OK by accident.
+
+2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/cuintp.c: Adjust placement of include directive.
+       * gcc-interface/targtyps.c: Likewise.
+
+2021-10-05  Alexandre Oliva  <oliva@adacore.com>
+
+       * doc/gnat_rm.rst: Add...
+       * doc/gnat_rm/security_hardening_features.rst: New.
+       * doc/gnat_rm/about_this_guide.rst: Link to new chapter.
+       * gnat_rm.texi: Regenerate.
+       * gcc-interface/utils.c (handle_strub_attribute): New.
+       (gnat_internal_attribute_table): Add strub.
+       * libgnat/a-except.adb: Make Rcheck_CE_* strub-callable.
+       * libgnat/a-except.ads (Raise_Exception): Likewise.
+       (Raise_Exception_Always): Likewise.
+       * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128):
+       Likewise.
+       * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64):
+       Likewise.
+       * libgnat/s-secsta.ads (SS_Allocate, SS_Mark, SS_Release):
+       Likewise.
+
+2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch9.adb (Install_Private_Data_Declarations): Copy the Sloc of
+       components for the local renamings as well as the Comes_From_Source
+       flag, and also set Warnings_Off on them.  Use Nam local variable.
+
+2021-10-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/a-tasini.ads (Set_Initialization_Handler): Update
+       comments.
+
+2021-10-05  Corentin Gay  <gay@adacore.com>
+
+       * init.c (QNX): Add #include errno.h.
+
+2021-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_Fpt_Attribute): Likewise.
+       * snames.ads-tmpl (Name_Unaligned_Valid): Delete.
+
+2021-10-05  Etienne Servais  <servais@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Forbid use of
+       Compile_Time_(Error|Warning) as configuration pragma.
+       * doc/gnat_ugn/the_gnat_compilation_model.rst:
+       Compile_Time_(Error|Warning) and Compiler_Unit(_Warning) are not
+       configuration pragmas and shall not be listed as such.  The
+       following pragmas are either obsolete or undocumented:
+       No_Run_Time, Propagate_Exceptions, Rational, Ravenscar,
+       Restricted_Run_Time, Short_Descriptors, Universal_Data.  Fix
+       some typos (notably on Restriction_Warnings).
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Move
+       Rename_Pragma documentation to alphabetical order.
+       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2021-10-05  Corentin Gay  <gay@adacore.com>
+
+       * adaint.c (QNX): Add #include for sys/time.h.
+
+2021-10-05  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-forstr.adb (Next_Format): When there is no more
+       format specifier found issue a proper error message instead of
+       raising a contraint error.
+
+2021-10-05  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-forstr.adb (Get_Formatted): Fix computation of the
+       number of zero to use in the formatted string. This was a wrong
+       copy/paste.
+
+2021-10-05  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/g-forstr.adb (Get_Formatted): Minor code clean-up.
+
+2021-10-05  Etienne Servais  <servais@adacore.com>
+
+       * libgnat/a-zchhan.ads, libgnat/a-zchhan.adb
+       (Character_Set_Version, Is_Basic, To_Basic): New.
+       * libgnat/a-zchuni.ads, libgnat/a-zchuni.adb (Is_Basic,
+       To_Basic): New.
+
+2021-10-05  Yannick Moy  <moy@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.
+
+2021-10-05  Gary Dismukes  <dismukes@adacore.com>
+
+       * aspects.ads (type Aspect_Id): Add
+       Aspect_Designated_Storage_Model and Aspect_Storage_Model_Type.
+       (Aspect_Argument): Add associations for the above new aspects.
+       (Is_Representation_Aspect): Likewise.
+       (Aspect_Names, Aspect_Delay): Likewise.
+       * exp_ch4.adb (Expand_N_Allocator): Call Find_Storage_Op rather
+       than Find_Prim_Op.
+       * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
+       * exp_util.ads (Find_Storage_Op): New function that locates
+       either a primitive operation of a storage pool or an operation
+       of a storage-model type specified in its Storage_Model_Type
+       aspect.
+       * exp_util.adb (Find_Storage_Op): New function that calls either
+       Find_Prim_Op or Get_Storage_Model_Type_Entity to locate a
+       storage-related operation that is associated with a type.
+       * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Analyzes,
+       resolves, and validates the arguments of aspect
+       Designated_Storage_Model_Type.
+       (Analyze_Aspect_Specifications): Sets delay-related flags on
+       storage-model aspects when Delay_Required. Checks that aspect
+       Designated_Storage_Model is only specified for an access type
+       and that aspect Storage_Model_Type is only specified on an
+       immutably limited type. Also records such aspects for their
+       associated types.
+       (Check_Aspect_At_Freeze_Point): Resolve each of the argument
+       associations given for a Storage_Model_Type aspect.
+       (Resolve_Storage_Model_Type_Argument): New procedure that
+       resolves an argument given in the association for a given entity
+       name associated with a type with aspect Storage_Model_Type,
+       ensuring that it has the proper kind or profile.
+       (Validate_Storage_Model_Type_Aspect): New procedure that checks
+       the legality and completeness of the entity associations given
+       in a Storage_Model_Type aspect.
+       * sem_util.ads (package Storage_Model_Support): New nested
+       package that encapsulates a set of convenient utility functions
+       for retrieving entities, etc. associated with
+       storage-model-related types and objects.
+       (Get_Storage_Model_Type_Entity): New function to return a
+       specified entity associated with a type that has aspect
+       Storage_Model_Type.
+       (Has_Designated_Storage_Model_Aspect): New function that returns
+       whether a type has aspect Designated_Storage_Model.
+       (Has_Storage_Model_Type_Aspect): New function that returns
+       whether a type has aspect Storage_Model_Type.
+       (Storage_Model_Object): New function that returns the object
+       Entity_Id associated with a type's Designated_Storage_Model
+       aspect.
+       (Storage_Model_Type): New function that returns the type
+       associated with a storage-model object (when the object's type
+       specifies Storage_Model_Type).
+       (Storage_Model_Address_Type): New function that returns the
+       Address_Type associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Null_Address): New function that returns the
+       Null_Address constant associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Allocate): New function that returns the Allocate
+       procedure associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Deallocate): New function that returns the
+       Deallocate procedure associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Copy_From): New function that returns the
+       Copy_From procedure associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Copy_To): New function that returns the Copy_To
+       procedure associated with a type that has aspect
+       Storage_Model_Type.
+       (Storage_Model_Storage_Size): New function that returns the
+       Storage_Size function associated with a type that has aspect
+       Storage_Model_Type.
+       * sem_util.adb (package Storage_Model_Support): Body of new
+       nested package that contains the implementations the utility
+       functions declared in the spec of this package.
+       * snames.ads-tmpl: Add new names Name_Designated_Storage_Pool,
+       Name_Storage_Model, Name_Storage_Model_Type, Name_Address_Type,
+       Name_Copy_From, Name_Copy_To, and Name_Null_Address for the new
+       aspects and associated aspect arguments.
+
+2021-10-05  Richard Kenner  <kenner@adacore.com>
+
+       * debug.adb: Add documentation for -gnatd_t.
+
+2021-10-05  Corentin Gay  <gay@adacore.com>
+
+       * sysdep.c (__gnat_is_file_not_found_error): Add else if case.
+
+2021-10-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Build_Class_Wide_Expression): Replace entities
+       of both identifiers and operator symbols.
+
+2021-10-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Derive_Subprogram): Copy ghost status from parent
+       to derived subprogram.
+
+2021-10-05  Joffrey Huguet  <huguet@adacore.com>
+
+       * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Add
+       Default_Initial_Condition to Unbounded_String.
+
+2021-10-05  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
+       contract cases at execution.
+       * libgnat/a-cfinve.ads: Idem.
+       * libgnat/a-cofove.ads: Idem.
+       * libgnat/a-cfhase.ads: Idem.
+       * libgnat/a-cfhama.ads: Idem.
+       * libgnat/a-cforse.ads: Idem.
+       * libgnat/a-cforma.ads: Idem.
+
+2021-10-05  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Iterated_Component_Association): Parse these
+       features the same way in all language versions.  Move the call
+       to Error_Msg_Ada_2022_Feature into semantic analysis.
+       * sem_aggr.adb (Resolve_Iterated_Component_Association,
+       Resolve_Iterated_Association): Move the call to
+       Error_Msg_Ada_2022_Feature here from par-ch4.adb.
+
+2021-10-05  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Resolve): Recognize specially that case.
+
+2021-10-05  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-strmap.adb: Add ghost code for proof.
+       (To_Range): This is the most involved proof, as it requires
+       creating the result of the call to To_Domain as a ghost
+       variable, and show the unicity of this result in order to prove
+       the postcondition.
+       * libgnat/a-strmap.ads: (SPARK_Proof_Sorted_Character_Sequence):
+       New ghost function.
+       (To_Domain): Add postcondition regarding sorting of result.
+       (To_Range): Fix postcondition that should compare Length instead
+       of Last for the results of To_Domain and To_Range, as the value
+       of Last for an empty result is not specified in the Ada RM.
+
+2021-10-05  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-chahan.adb: Add loop invariants as needed to prove
+       subprograms.  Also use extended return statements where
+       appropriate and not done already.  Mark data with
+       Relaxed_Initialization where needed for initialization by parts.
+       Convert regular functions to expression functions where needed
+       for proof.
+       * libgnat/a-chahan.ads: Add postconditions.
+       * libgnat/a-strmap.ads (Model): New ghost function to create a
+       publicly visible model of the private data Character_Mapping,
+       needed in order to prove subprograms in Ada.Characters.Handling.
+
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+       Add new entry for No_Dynamic_Accessibility_Checks documenting
+       behavior.
+       * gnat_rm.texi: Regenerate.
+       * exp_ch4.adb (Expand_N_In): Perform special expansion for
+       membership tests when No_Dynamic_Accessibility_Checks is active.
+       * sem_attr.adb (Resolve_Attribute): Skip static accessibility
+       check on actuals for anonymous access type formal parameters,
+       and add constants for readability.
+       * sem_util.adb (Function_Call_Or_Allocator_Level): Use the
+       innermost master for determining the level for function calls
+       within the alternative accessibility model.
+       (Type_Access_Level): Properly get the level for anonymous access
+       function result types.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+       (gnateA): This switch no longer looks at the formal parameter
+       type being composite (as originally mandated by SPARK), but in
+       the parameter passing mechanism being not specified (as
+       currently mandated by Ada).
+       * gnat_ugn.texi: Regenerate.
+
+2021-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as
+       operator names when they are the value of one of the Ada2022
+       aspects for User_Defined_Literals.
+       * sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value
+       given by an Operator_Name.
+       (Validate_Literal_Aspect): Call Analyze_Operator_Symbol when
+       needed.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in
+       the middle of a string, because the Put routine won't indent it
+       properly.
+
+2021-10-04  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * gnat_cuda.adb (Remove_CUDA_Device_Entities): New function.
+       (Expand_CUDA_Package): Call Remove_CUDA_Device_Entities.
+       * gnat_cuda.ads (Expand_CUDA_Package): Expand documentation.
+       * sem_prag.adb (Analyze_Pragma): Remove warning about
+       CUDA_Device not being implemented.
+
+2021-10-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch7.adb (Analyze_Package_Specification): For types marked
+       as Must_Have_Preelab_Init, we now check for the presence of a
+       Preelaborable_Initialization aspect on the type, and pass the
+       aspect's expression (if any) on the call to
+       Has_Preelaborable_Initialization (or pass Empty if the type has
+       no such aspect or the aspect has no associated expression).
+       * sem_util.ads (Has_Preelaborable_Initialization): Change
+       Boolean formal parameter Formal_Types_Have_Preelab_Init to
+       instead be a formal of type Node_Id (named Preelab_Init_Expr),
+       to allow passing an expression that may be a conjunction of
+       Preelaborable_Initialization aspects. Revise spec comment
+       accordingly (and remove ??? comment).
+       * sem_util.adb (Type_Named_In_Preelab_Init_Expression): New
+       nested function with a result indicating whether a given type is
+       named as the prefix of a Preelaborable_Initialization attribute
+       in the expression of a corresponding P_I aspect.
+       (Has_Preelaborable_Initialization): For generic formal derived
+       and private types, test whether the type is named in the
+       expression Preelab_Init_Expr (by calling
+       Type_Named_In_Preelab_Init_Expression), and if so, treat the
+       formal type as having preelaborable initialization (returning
+       True).
+       * libgnat/a-cobove.ads (Vector): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cbdlli.ads (List): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cbhama.ads (Map): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as (Element_Type'Preelaborable_Initialization and
+       Key_Type'Preelaborable_Initialization).
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cborma.ads (Map): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as (Element_Type'Preelaborable_Initialization and
+       Key_Type'Preelaborable_Initialization).
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cbhase.ads (Set): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cborse.ads (Set): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-cbmutr.ads (Tree): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+       * libgnat/a-coboho.ads (Holder): Replace pragma
+       Preelaborable_Initialization with the aspect, specifying its
+       value as Element_Type'Preelaborable_Initialization.
+       (Cursor): Replace pragma P_I with the aspect (defaulting to
+       True).
+
+2021-10-04  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-textio.adb: Mark body out of SPARK.
+       * libgnat/a-textio.ads: Mark spec in SPARK and private part out
+       of SPARK.
+       * sem.adb (Semantics.Do_Analyze): Similar to ghost code
+       attributes, save and restore value of
+       Ignore_SPARK_Mode_Pragmas_In_Instance.
+
+2021-10-04  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-regpat.ads: Change Data_First to Data'First. Change
+       "still" to "always".  Similar changes for Data_Last.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sprint.adb (Sprint_Node_Actual): Refactor code for generic
+       package and subprogram declarations.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename
+       the local constant Name to Pref; remove repeated calls to
+       Prefix.
+
+2021-10-04  Matthieu Eyraud  <eyraud@adacore.com>
+
+       * scos.ads: Extend the documentation.
+       * par_sco.adb (Process_Decisions): Emit specific SCOs for
+       quantified expressions.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Selected_Range_Checks): Fix style.
+       * exp_ch4.adb (Expand_N_Slice): Fix style and comment.
+       * sem_res.adb (Resolve_Indexed_Component): Fix style.
+
+2021-10-04  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-strbou.ads: Add comments.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Evaluation of attribute
+       Leading_Part with illegal second parameter is now similar to
+       evaluation of Remainder with its second parameter being zero.
+
+2021-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Declare_Expression): Use tree traversals
+       to perform name capture of local entities in the expression of
+       the construct.
+       * exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to
+       the prefix of an attribute reference Reduce when that prefix is
+       an aggregate, because it will be expanded into a loop, and has
+       no identifiable type.
+
+2021-10-04  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of
+       class-wide subtypes; required to handle chains of
+       instantiations. Adding also code to identify these wrappers and
+       properly resolve instantiations where the wrapper and a tagged
+       type primitive are visible.
+       * einfo.ads (Is_Class_Wide_Wrapper): Adding documentation.
+       * gen_il-fields.ads (Opt_Field_Enum): Adding
+       Is_Class_Wide_Wrapper.
+       * gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding
+       semantic flag Is_Class_Wide_Wrapper.
+
+2021-10-04  Bob Duff  <duff@adacore.com>
+
+       * einfo.ads (Declaration_Node): Document that Declaration_Node
+       for Itypes.
+       * einfo-utils.adb (Declaration_Node): Make it return Empty for
+       Itypes, or a proper type or subtype declaration.
+       * gen_il-gen.adb: Minor comment improvement.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Slice): Fix application of range checks
+       to slice range given as a subtype name.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Slice): Handle range given as a subtype
+       indication.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Slice): Add custom handling of attribute
+       Image and similar in CodePeer mode. This complements the
+       existing custom handling of these attributes in
+       Expand_N_Attribute_Reference.
+
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Is_Variable): Add check for implicitly
+       dereferenced access types
+       (Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when
+       not specified.
+
+2021-10-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation):
+       Document specific behavior for /include/-ending paths and update.
+       * gnat_ugn.texi: Regenerate.
+
+2021-10-04  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/102073
+       * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing
+       return statements.
+
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Function_Or_Allocator_Level): Properly handle
+       direct function calls in the default alternative accessibility
+       checking mode.
+
+2021-10-04  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Is_Library_Level_Entity): Return False for
+       entities defined in E_Loop scopes. This change is not required
+       by the frontend; it is required by tools that depend on the
+       frontend sources.
+       * einfo-utils.adb (Is_Dynamic_Scope): Code cleanup.
+
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Add a case to handle
+       renamed subprograms in addition to renamed objects.
+
+2021-10-04  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int.
+       * libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from
+       System.VxWorks.Ext.ERROR.
+       (Initialize): Declare IERR. Assert it.
+       * libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from
+       System.VxWorks.Ext.ERROR.
+       (Is_Valid_Task): Declare IERR. Test return.
+       * libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS.
+
+2021-10-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the
+       type onto the TSD object.
+
+2021-10-04  Steve Baird  <baird@adacore.com>
+
+       * sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an
+       Old attribute reference that occurs within what was originally a
+       quantified expression but which expansion has transformed into
+       an Expression_With_Actions.
+
+2021-10-04  Steve Baird  <baird@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements
+       described above.
+
+2021-10-01  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Do not call
+       Check_Subprogram_Variant if the subprogram is an ignored ghost
+       entity. Otherwise the compiler crashes (in debug builds) or
+       gives strange error messages (in production builds).
+
+2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure.
+       (Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms.
+
+2021-10-01  Steve Baird  <baird@adacore.com>
+
+       * checks.ads: Define a type Dimension_Set. Add an out-mode
+       parameter of this new type to Generate_Index_Checks so that
+       callers can know for which dimensions a check was generated. Add
+       an in-mode parameter of this new type to
+       Apply_Subscript_Validity_Checks so that callers can indicate
+       that no check is needed for certain dimensions.
+       * checks.adb (Generate_Index_Checks): Implement new
+       Checks_Generated parameter.
+       (Apply_Subscript_Validity_Checks): Implement new No_Check_Needed
+       parameter.
+       * exp_ch4.adb (Expand_N_Indexed_Component): Call
+       Apply_Subscript_Validity_Checks in more cases than before. This
+       includes declaring two new local functions,
+       (Is_Renamed_Variable_Name,
+       Type_Requires_Subscript_Validity_Checks_For_Reads): To help in
+       deciding whether to call Apply_Subscript_Validity_Checks.
+       Adjust to parameter profile changes in Generate_Index_Checks and
+       Apply_Subscript_Validity_Checks.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Document
+       the rounding mode assumed for dynamic computations as per 3.5.7(16).
+       * gnat_rm.texi: Regenerate.
+
+2021-10-01  Bob Duff  <duff@adacore.com>
+
+       * table.ads (Table_Type): Remove "aliased"; no longer needed by
+       Atree.  Besides it contradicted the comment a few lines above,
+       "--  Note: We do not make the table components aliased...".
+       * types.ads: Move type Slot to Atree.
+       * atree.ads: Move type Slot fromt Types to here.  Move type
+       Node_Header from Seinfo to here.
+       * atree.adb: Avoid the need for aliased components of the Slots
+       table.  Instead of 'Access, use a getter and setter.  Misc
+       cleanups.
+       (Print_Statistics): Print statistics about node and entity kind
+       frequencies. Give 3 digit fractions instead of percentages.
+       * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics
+       for calls to Original_Node and Set_Original_Node.
+       (Original_Node, Set_Original_Node): Gather statistics by calling
+       the above.
+       (Print_Field_Statistics): Print Original_Node statistics.
+       (Update_Kind_Statistics): Remove, and put all statistics
+       gathering under "if Atree_Statistics_Enabled", which is a flag
+       generated in Seinfo by Gen_IL.
+       * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of
+       Nkind, Ekind, and Homonym first. This causes a slight efficiency
+       improvement.  Misc cleanups.  Do not generate Node_Header; it is
+       now hand-written in Atree.  When choosing the order in which to
+       assign offsets, weight by the frequency of the node type, so the
+       more common nodes get their field offsets assigned earlier.  Add
+       more special cases.
+       (Compute_Type_Sizes): Remove this and related things.
+       There was a comment: "At some point we can instrument Atree to
+       print out accurate size statistics, and remove this code." We
+       have Atree statistics, so we now remove this code.
+       (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal
+       to Statistics_Enabled. This allows Atree to say "if
+       Atree_Statistics_Enabled then <gather statistics>" for
+       efficiency. When Atree_Statistics_Enabled is False, the "if ..."
+       will be optimized away.
+       * gen_il-internals.ads (Type_Frequency): New table of kind
+       frequencies.
+       * gen_il-internals.adb: Minor comment improvement.
+       * gen_il-fields.ads: Remove unused subtypes.  Suppress style
+       checks in the Type_Frequency table.  If we regenerate this
+       table (see -gnatd.A) we don't want to have to fiddle with
+       casing.
+       * impunit.adb: Minor.
+       * sinfo-utils.adb: Minor.
+       * debug.adb: Minor comment improvement.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_type.adb (Specific_Type): Check that the type is tagged
+       before calling Interface_Present_In_Ancestor on it.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * debug.adb (d.8): Document usage.
+       * fe.h (Debug_Flag_Dot_8): Declare.
+
+2021-10-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_util.adb (Enter_Name): Suppress hiding warning when in an
+       instance.
+
+2021-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can
+       be applied to a formal type.
+       * sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is
+       not enabled, verify that the type of the expression is discrete.
+
+2021-10-01  Justin Squirek  <squirek@adacore.com>
+
+       * exp_dbug.adb (Debug_Renaming_Declaration): Add check for
+       Entity present for Ren to prevent looking at unanalyzed nodes
+
+2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * atree.adb (Print_Statistics): Help CodePeer see Total as
+       greater than zero.
+       * gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified.
+
+2021-10-01  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_entities.adb (Evaluable_Kind,
+       Global_Name_Kind): Add.
+       * gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise.
+
+2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * aspects.ads: Add CUDA_Device aspect.
+       * gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram.
+       * gnat_cuda.adb:
+       (Add_CUDA_Device_Entity): New subprogram.
+       (CUDA_Device_Entities_Table): New hashmap for CUDA_Device
+       entities.
+       (Get_CUDA_Device_Entities): New internal subprogram.
+       (Set_CUDA_Device_Entities): New internal subprogram.
+       * par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device.
+       * sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as
+       being both aspect and pragma.
+       * sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to
+       list of CUDA_Entities belonging to package N.
+       (Sig_Flags): Signal CUDA_Device entities as referenced.
+       * snames.ads-tmpl: Create CUDA_Device names and pragmas.
+
+2021-10-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate
+       Assert pragma.  Remove unneeded and dead code related to derived
+       private types.
+
+2021-10-01  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice):
+       Add.
+       (N_Is_Exception_Choice, N_Is_Range): Likewise.
+       * gen_il-types.ads: Add above names.
+       * gen_il-gen.adb (Put_Union_Membership): Write both declarations
+       and definitions of union functions.
+
+2021-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_Array_Aggregate,
+       Two_Pass_Aggregate_Expansion): Increment index for element
+       insertion within the loop, only if upper bound has not been
+       reached.
+
+2021-10-01  Javier Miranda  <miranda@adacore.com>
+
+       * contracts.ads (Make_Class_Precondition_Subps): New subprogram.
+       (Merge_Class_Conditions): New subprogram.
+       (Process_Class_Conditions_At_Freeze_Point): New subprogram.
+       * contracts.adb (Check_Class_Condition): New subprogram.
+       (Set_Class_Condition): New subprogram.
+       (Analyze_Contracts): Remove code analyzing class-wide-clone
+       subprogram since it is no longer built.
+       (Process_Spec_Postconditions): Avoid processing twice seen
+       subprograms.
+       (Process_Preconditions): Simplify its functionality to
+       non-class-wide preconditions.
+       (Process_Preconditions_For): No action needed for wrappers and
+       helpers.
+       (Make_Class_Precondition_Subps): New subprogram.
+       (Process_Class_Conditions_At_Freeze_Point): New subprogram.
+       (Merge_Class_Conditions): New subprogram.
+       * exp_ch6.ads (Install_Class_Preconditions_Check): New
+       subprogram.
+       * exp_ch6.adb (Expand_Call_Helper): Install class-wide
+       preconditions check on dispatching primitives that have or
+       inherit class-wide preconditions.
+       (Freeze_Subprogram): Remove code for null procedures with
+       preconditions.
+       (Install_Class_Preconditions_Check): New subprogram.
+       * exp_util.ads (Build_Class_Wide_Expression): Lower the
+       complexity of this subprogram; out-mode formal Needs_Wrapper
+       since this functionality is now provided by a new subprogram.
+       (Get_Mapped_Entity): New subprogram.
+       (Map_Formals): New subprogram.
+       * exp_util.adb (Build_Class_Wide_Expression): Lower the
+       complexity of this subprogram. Its previous functionality is now
+       provided by subprograms Needs_Wrapper and Check_Class_Condition.
+       (Add_Parent_DICs): Map the overridden primitive to the
+       overriding one.
+       (Get_Mapped_Entity): New subprogram.
+       (Map_Formals): New subprogram.
+       (Update_Primitives_Mapping): Adding assertion.
+       * freeze.ads (Check_Inherited_Conditions): Subprogram made
+       public with added formal to support late overriding.
+       * freeze.adb (Check_Inherited_Conditions): New implementation;
+       builds the dispatch table wrapper required for class-wide
+       pre/postconditions; added support for late overriding.
+       (Needs_Wrapper): New subprogram.
+       * sem.ads (Inside_Class_Condition_Preanalysis): New global
+       variable.
+       * sem_disp.ads (Covered_Interface_Primitives): New subprogram.
+       * sem_disp.adb (Covered_Interface_Primitives): New subprogram.
+       (Check_Dispatching_Context): Skip checking context of
+       dispatching calls during preanalysis of class-wide conditions
+       since at that stage the expression is not installed yet on its
+       definite context.
+       (Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by
+       AI12-0412 on helpers and wrappers internally built for
+       supporting class-wide conditions; for late-overriding
+       subprograms call Check_Inherited_Conditions to build the
+       dispatch-table wrapper (if required).
+       (Propagate_Tag): Adding call to
+       Install_Class_Preconditions_Check.
+       * sem_util.ads (Build_Class_Wide_Clone_Body): Removed.
+       (Build_Class_Wide_Clone_Call): Removed.
+       (Build_Class_Wide_Clone_Decl): Removed.
+       (Class_Condition): New subprogram.
+       (Nearest_Class_Condition_Subprogram): New subprogram.
+       * sem_util.adb (Build_Class_Wide_Clone_Body): Removed.
+       (Build_Class_Wide_Clone_Call): Removed.
+       (Build_Class_Wide_Clone_Decl): Removed.
+       (Class_Condition): New subprogram.
+       (Nearest_Class_Condition_Subprogram): New subprogram.
+       (Eligible_For_Conditional_Evaluation): No need to evaluate
+       class-wide conditions during preanalysis since the expression is
+       not installed on its definite context.
+       * einfo.ads (Class_Wide_Clone): Removed.
+       (Class_Postconditions): New attribute.
+       (Class_Preconditions): New attribute.
+       (Class_Preconditions_Subprogram): New attribute.
+       (Dynamic_Call_Helper): New attribute.
+       (Ignored_Class_Postconditions): New attribute.
+       (Ignored_Class_Preconditions): New attribute.
+       (Indirect_Call_Wrapper): New attribute.
+       (Is_Dispatch_Table_Wrapper): New attribute.
+       (Static_Call_Helper): New attribute.
+       * exp_attr.adb (Expand_N_Attribute_Reference): When the prefix
+       is of an access-to-subprogram type that has class-wide
+       preconditions and an indirect-call wrapper of such subprogram is
+       available, replace the prefix by the wrapper.
+       * exp_ch3.adb (Build_Class_Condition_Subprograms): New
+       subprogram.
+       (Register_Dispatch_Table_Wrappers): New subprogram.
+       * exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide
+       precondition checks now rely on internally built helpers.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Set initial
+       value of attributes Class_Preconditions, Class_Postconditions,
+       Ignored_Class_Preconditions and Ignored_Class_Postconditions.
+       These values are later updated with the full pre/postcondition
+       by Merge_Class_Conditions.
+       (Freeze_Entity_Checks): Call
+       Process_Class_Conditions_At_Freeze_Point.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code
+       building the body of the class-wide clone subprogram since it is
+       no longer required.
+       (Install_Entity): Adding assertion.
+       * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
+       code building and analyzing the class-wide clone subprogram; no
+       longer required.
+       (Build_Pragma_Check_Equivalent): Adjust call to
+       Build_Class_Wide_Expression since the formal named Needs_Wrapper
+       has been removed.
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing
+       these attributes during preanalysis of class-wide conditions
+       since at that stage the expression is not installed yet on its
+       definite context.
+       * sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and
+       SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers
+       built to support class-wide preconditions.
+       * sem_ch5.adb (Process_Bounds): Do not generate a constant
+       declaration for the bounds when we are preanalyzing a class-wide
+       condition.
+       (Analyze_Loop_Parameter_Specification): Handle preanalysis of
+       quantified expression placed in the outermost expression of a
+       class-wide condition.
+       * ghost.adb (Check_Ghost_Context): No check required during
+       preanalysis of class-wide conditions.
+       * gen_il-fields.ads (Opt_Field_Enum): Adding
+       Class_Postconditions, Class_Preconditions,
+       Class_Preconditions_Subprogram, Dynamic_Call_Helper,
+       Ignored_Class_Postconditions, Ignored_Class_Preconditions,
+       Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper,
+       Static_Call_Helper.
+       * gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper):
+       Adding semantic flag Is_Dispatch_Table_Wrapper; removing
+       semantic field Class_Wide_Clone; adding semantic fields for
+       Class_Postconditions, Class_Preconditions,
+       Class_Preconditions_Subprogram, Dynamic_Call_Helper,
+       Ignored_Class_Postconditions, Indirect_Call_Wrapper,
+       Ignored_Class_Preconditions, and Static_Call_Helper.
+
+2021-10-01  Piotr Trojanek  <trojanek@adacore.com>
+
+       * comperr.adb (Delete_SCIL_Files): Handle generic subprogram
+       declarations and renaming just like generic package declarations
+       and renamings, respectively; handle
+       N_Subprogram_Renaming_Declaration.
+
+2021-10-01  Steve Baird  <baird@adacore.com>
+
+       * bcheck.adb (Check_Versions): Add support for the case where
+       the .ali file contains both a primary and a secondary version
+       number, as in "GNAT Lib v22.20210809".
+
+2021-10-01  Steve Baird  <baird@adacore.com>
+
+       * sem_res.adb (Resolve): Two separate fixes. In the case where
+       Find_Aspect for a literal aspect returns the aspect for a
+       different (ancestor) type, call Corresponding_Primitive_Op to
+       get the right callee. In the case where a downward tagged type
+       conversion appears to be needed, generate a null extension
+       aggregate instead, as per Ada RM 3.4(27).
+       * sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op
+       function. It maps a primitive op of a tagged type and a
+       descendant type of that tagged type to the corresponding
+       primitive op of the descendant type. The body of this function
+       was written by Javier Miranda.
+
+2021-10-01  Bob Duff  <duff@adacore.com>
+
+       * atree.adb: Gather and print statistics about frequency of
+       getter and setter calls.
+       * atree.ads (Print_Statistics): New procedure for printing
+       statistics.
+       * debug.adb: Document -gnatd.A switch.
+       * gen_il-gen.adb: Generate code for statistics gathering.
+       Choose the offset of Homonym early.  Misc cleanup.  Put more
+       comments in the generated code.
+       * gen_il-internals.ads (Unknown_Offset): New value to indicate
+       that the offset has not yet been chosen.
+       * gnat1drv.adb: Call Print_Statistics.
+       * libgnat/s-imglli.ads: Minor comment fix.
+       * output.ads (Write_Int_64): New procedure to write a 64-bit
+       value.  Needed for new statistics, and could come in handy
+       elsewhere.
+       * output.adb (Write_Int_64): Likewise.
+       * sinfo.ads: Remove obsolete comment. The xtreeprs program no
+       longer exists.
+       * types.ads: New 64-bit types needed for new statistics.
+
+2021-10-01  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/memtrack.adb (Putc): New routine wrapped around fputc
+       with error check.
+       (Write): New routine wrapped around fwrite with error check.
+       Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit.
+       Use the similar routines from System.CRTL and System.OS_Lib.
+
+2021-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Must_Slide): If the aggregate only contains an
+       others_clause no sliding id involved. Otherwise sliding is
+       required if any bound of the aggregate or the context subtype is
+       non-static.
+
+2021-10-01  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_nodes.adb (N_Is_Decl): Add.
+       * gen_il-types.ads (N_Is_Decl): Likewise.
+
+2021-10-01  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_nodes.adb (N_Entity_Name): Add.
+       * gen_il-types.ads (N_Entity_Name): Likewise.
+
+2021-10-01  Steve Baird  <baird@adacore.com>
+
+       * bcheck.adb (Check_Versions): In the case of an ali file
+       version mismatch, if distinct integer values can be extracted
+       from the two version strings then include those values in the
+       generated error message.
+
+2021-10-01  Steve Baird  <baird@adacore.com>
+
+       * sem_elab.adb (Is_Safe_Call): Return True in the case of a
+       (possibly rewritten) call to an expression function.
+
+2021-10-01  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association):
+       Initialize Id_Typ to Any_Type by default.
+
+2021-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document
+       that it works only with fixed-position executables.
+
+2021-10-01  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-parame__vxworks.ads (time_t_bits): Change to
+       Long_Long_Integer'Size.
+
+2021-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.
+
+2021-09-23  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add.
+       * gen_il-types.ads (Subprogram_Body_Or_Type): Likewise.
+
+2021-09-23  Richard Kenner  <kenner@adacore.com>
+
+       * einfo-utils.adb (Next_Index): Verify input and output are
+       N_Is_Index.
+       * gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add.
+       * gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise.
+       * sem_ch3.adb (Array_Type_Declaration): Use Next, not
+       Next_Index.
+       * sem_ch12.adb (Formal_Dimensions): Likewise.
+       * sem_util.adb (Is_Valid_Renaming): Likewise.
+
+2021-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize):
+       Document new --load option and -g1 as minimal compilation
+       requirement.
+
+2021-09-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds
+       for internally generated attributes; otherwise, compute them
+               anew.
+
+2021-09-23  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the
+       wrapper with attribute Is_Wrapper, and move its declaration to
+       the freezing actions of its type declaration; done to facilitate
+       identifying it at later stages to avoid handling it as a
+       primitive operation of a tagged type; otherwise it may be
+       handled as a dispatching operation and erroneously registered in
+       a dispatch table.
+       (Make_Index): Add missing decoration of field Parent.
+       * sem_disp.adb (Check_Dispatching_Operation): Complete
+       decoration of late-overriding dispatching primitives.
+       (Is_Access_To_Subprogram_Wrapper): New subprogram.
+       (Inherited_Subprograms): Prevent cascaded errors; adding missing
+       support for private types.
+       * sem_type.adb (Add_One_Interp): Add missing support for the
+       first interpretation of a primitive of an inmediate ancestor
+       interface.
+       * sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not
+       report missing reference in postcondition placed in internally
+       built wrappers.
+       * exp_disp.adb (Expand_Dispatching_Call): Adding assertion.
+
+2021-09-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of
+       an array aggregate all of whose components are iterated
+       component associations.
+       * exp_aggr.adb (Expand_Array_Aggregate,
+       Two_Pass_Aggregate_Expansion): implement two-pass algorithm and
+       replace original aggregate with resulting temporary, to ensure
+       that a proper length check is performed if context is
+       constrained. Use attributes Pos and Val to handle index types of
+       any discrete type.
+
+2021-09-23  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb: Set the number of concrete nodes that have the
+       Homonym field to a higher number than any other field. This
+       isn't true, but it forces Homonym's offset to be chosen first,
+       so it will be at offset zero and hence slot zero.
+
+2021-09-23  Richard Kenner  <kenner@adacore.com>
+
+       * atree.adb (Relocate_Node): If relocating a subprgram call and
+       we're doing unnesting, make a new Parameter_Associations, if
+       any.
+
+2021-09-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit
+       Initializes contract.
+
+2021-09-23  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb: Generate getters and setters with much of the
+       code inlined. Generate code for storing a few fields in the node
+       header, to avoid the extra level of indirection for those
+       fields. We generate the header type, so we don't have to
+       duplicate hand-written Ada and C code to depend on the number of
+       header fields.  Declare constants for slot size. Use short names
+       because these are used all over.  Remove
+       Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter,
+       which are no longer needed.  Rename
+       Put_High_Level_C_Getter-->Put_C_Getter.
+       * atree.ads, atree.adb: Take into account the header slots.
+       Take into account the single Node_Or_Entity_Field type.  Remove
+       "pragma Assertion_Policy (Ignore);", because the routines in
+       this package are no longer efficiency critical.
+       * atree.h: Remove low-level getters, which are no longer used by
+       sinfo.h and einfo.h.
+       * einfo-utils.adb: Avoid crash in Known_Alignment.
+       * live.adb, sem_eval.adb: Remove code that prevents Node_Id from
+       having a predicate.  We don't actually add a predicate to
+       Node_Id, but we want to be able to for temporary debugging.
+       * sinfo-utils.adb: Remove code that prevents Node_Id from having
+       a predicate.  Take into account the single Node_Or_Entity_Field
+       type.
+       * sinfo-utils.ads: Minor.
+       * table.ads (Table_Type): Make the components aliased, because
+       low-level setters in Atree need to take 'Access.
+       * treepr.adb: Take into account the single Node_Or_Entity_Field
+       type.  Make some code more robust, so we can print out
+       half-baked nodes.
+       * types.ads: Move types here for visibility purposes.
+       * gcc-interface/gigi.h, gcc-interface/trans.c: Take into account
+       the Node_Header change in the GNAT front end.
+       * gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because
+       gigi.h now refers to type Node_Header, which is in sinfo.h.
+
+2021-09-23  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-strfix.adb (Delete, Insert, Overwrite,
+       Replace_Slice): Remove SPARK_Mode Off.
+       * libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice):
+       Strengthen precondition.
+
+2021-09-23  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null
+       Global contracts.
+
+2021-09-23  Steve Baird  <baird@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst: Update
+       this section to reflect the current version of Ada RM M.2.
+       * gnat_rm.texi: Regenerate.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-strfix.ads (Trim): Simplify contracts.
+       * libgnat/a-strfix.adb (Trim): Remove white space.
+
+2021-09-22  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
+       * exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Do not insert a
+       predicate check after a deferred constant declaration.
+
+2021-09-22  Bob Duff  <duff@adacore.com>
+
+       * contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb,
+       exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb,
+       exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb,
+       sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix
+       conformance errors.
+       * errout.adb, erroutc.adb: Remove pragmas Suppress.
+       * err_vars.ads: Initialize variables that were previously being
+       read uninitialized.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-strunb.ads: Mark package in SPARK with private part
+       not in SPARK.
+       (Free): Mark not in SPARK.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * snames.ads-tmpl: Update status of some attributes.
+
+2021-09-22  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as
+       unused.
+       (System.VxWorks.Ext): Import.
+       (System.VxWorks.Ext.STATUS): use type.
+       (STATUS): New subtype.
+       (OK): New constant.
+       (Interrupt_Connector): Return STATUS type vice int.
+       (Interrupt_Connect, Notify_Interrupt, Unbind_Handler,
+       Interrupt_Server_Task): Rename Status to Result. Assert Result =
+       OK.
+       * libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant
+       IERR, and return it vice ERROR.
+       (Binary_Semaphore_Delete): Return STATUS type vice int.
+       (Binary_Semaphore_Obtain): Likewise.
+       (Binary_Semaphore_Release): Likewise.
+       (Binary_Semaphore_Flush): Likewise.
+       * libgnarl/s-osinte__vxworks.ads (SVE): Renaming of
+       System.VxWorks.Ext.
+       (STATUS): Use SVE in declaration of subtype.
+       (BOOL): Likewise.
+       (vx_freq_t): Likewise.
+       (t_id): Likewise.
+       (gitpid): Use SVE in renaming of subprogram
+       (Task_Stop): Likewise.
+       (Task_Cont): Likewise.
+       (Int_Lock): Likewise.
+       (Int_Unlock): Likewise.
+       (Set_Time_Slice): Likewise.
+       (semDelete): Likewise.
+       (taskCpuAffinitySet): Likewise.
+       (taskMaskAffinitySet): Likewise.
+       (sigset_t): Use SVE in declaration of type.
+       (OK): Remove as unused.
+       (ERROR): Likewise.
+       (taskOptionsGet): return STATUS vice int.
+       (taskSuspend): Likewise.
+       (taskResume): Likewise.
+       (taskDelay): Likewise.
+       (taskVarAdd): Likewise.
+       (taskVarDelete): Likewise.
+       (taskVarSet): Likewise.
+       (tlkKeyCreate): Likewise.
+       (taskPrioritySet): Likewise.
+       (semGive): Likewise.
+       (semTake): Likewise.
+       (Binary_Semaphore_Delete): Likewise.
+       (Binary_Semaphore_Obtain): Likewise.
+       (Binary_Semaphore_Release): Likewise.
+       (Binary_Semaphore_Flush): Likewise.
+       (Interrupt_Connect): Likewise.
+       * libgnarl/s-taprop__vxworks.adb
+       (System.VxWorks.Ext.STATUS): use type.
+       (int): Syntactically align subtype.
+       (STATUS): New subtype.
+       (OK): New constant.
+       (Finalize_Lock): Check STATUS vice int. Assert OK.
+       (Finalize_Lock): Likewise.
+       (Write_Lock): Likewise.
+       (Write_Lock): Likewise.
+       (Write_Lock): Likewise.
+       (Unlock): Likewise.
+       (Unlock): Likewise.
+       (Unlock): Likewise.
+       (Unlock): Likewise.
+       (Sleep): Likewise.
+       (Sleep): Likewise.
+       (Sleep): Likewise.
+       (Timed_Sleep): Likewise and test Result.
+       (Timed_Delay): Likewise and test Result.
+       (Wakeup): Likewise.
+       (Yield): Likewise.
+       (Finalize_TCB): Likewise.
+       (Suspend_Until_True): Check OK.
+       (Stop_All_Tasks): Declare Dummy STATUS vice in.  Check OK.
+       (Is_Task_Context): Use OSI renaming.
+       (Initialize): Use STATUS vice int.
+       * libgnarl/s-vxwext.adb
+       (IERR): Renamed from ERROR.
+       (taskCpuAffinitySet): Return IERR (int).
+       (taskMaskAffinitySet): Likewise.
+       * libgnarl/s-vxwext.ads
+       (STATUS): New subtype.
+       (OK): New STATUS constant.
+       (ERROR): Likewise.
+       * libgnarl/s-vxwext__kernel-smp.adb
+       (IERR): Renamed from ERROR.
+       (Int_Lock): Return IERR.
+       (semDelete): Return STATUS.
+       (Task_Cont): Likewise.
+       (Task_Stop): Likewise.
+       * libgnarl/s-vxwext__kernel.adb
+       (IERR): Renamed from ERROR.
+       (semDelete): Return STATUS.
+       (Task_Cont): Likewise.
+       (Task_Stop): Likewise.
+       (taskCpuAffinitySet): Return IERR (int)
+       (taskMaskAffinitySet): Likewise.
+       * libgnarl/s-vxwext__kernel.ads
+       (STATUS): New subtype.
+       (OK): New STATUS constant.
+       (ERROR): Likewise.
+       (Interrupt_Connect): Return STATUS
+       (semDelete): Likewise.
+       (Task_Cont): Likewise.
+       (Task_Stop): Likewise.
+       (Set_Time_Slice): Likewise.
+       * libgnarl/s-vxwext__rtp-smp.adb
+       (IERR): Renamed from ERROR.
+       (Int_Lock): return IERR constant vice ERROR.
+       (Interrupt_Connect): Return STATUS.
+       (semDelete): Likewise.
+       (Set_Time_Slice): Likewise.
+       * libgnarl/s-vxwext__rtp.adb
+       (IERR): Renamed from ERROR.
+       (Int_Lock): return IERR constant vice ERROR.
+       (Int_Unlock): Return STATUS.
+       (semDelete): Likewise.
+       (Set_Time_Slice): Likewise.
+       (taskCpuAffinitySet): Return IERR (int)
+       (taskMaskAffinitySet): Likewise.
+       * libgnarl/s-vxwext__rtp.ads
+       (STATUS): New subtype.
+       (OK): New STATUS constant.
+       (ERROR): Likewise.
+       (Interrupt_Connect): Return STATUS
+       (semDelete): Likewise.
+       (Task_Cont): Likewise.
+       (Task_Stop): Likewise.
+       (Set_Time_Slice): Likewise.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * prep.adb (Preprocess): Allow for more flexibility when
+       Relaxed_RM_Semantics is set.
+
+2021-09-22  Pierre-Alexandre Bazin  <bazin@adacore.com>
+
+       * libgnat/a-strbou.adb: Turn SPARK_Mode on.
+       * libgnat/a-strbou.ads: Write contracts.
+       * libgnat/a-strfix.ads (Index): Fix grammar error in a comment.
+       * libgnat/a-strsea.ads (Index): Likewise.
+       * libgnat/a-strsup.adb: Rewrite the body to take into account
+       the new definition of Super_String using Relaxed_Initialization
+       and a predicate.
+       (Super_Replicate, Super_Translate, Times): Added loop
+       invariants, and ghost lemmas for Super_Replicate and Times.
+       (Super_Trim): Rewrite the body using search functions to
+       determine the cutting points.
+       (Super_Element, Super_Length, Super_Slice, Super_To_String):
+       Remove (now written as expression functions in a-strsup.ads).
+       * libgnat/a-strsup.ads: Added contracts.
+       (Super_Element, Super_Length, Super_Slice, Super_To_String):
+       Rewrite as expression functions.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): Add guard.
+
+2021-09-22  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-vxwext.ads (BOOL): New int type.
+       (Interrupt_Context): Change return type to BOOL.
+       * libgnarl/s-vxwext__kernel.ads: Likewise.
+       * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.ads: Likewise.
+       * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change
+       return type to BOOL.
+       * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype.
+       (taskIsSuspended): Change return type to BOOL.
+       (Interrupt_Context): Change return type to BOOL. Adjust comments
+       accordingly.
+       * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL):
+       use type.
+       (Is_Task_Context): Test Interrupt_Context against 0.
+       * libgnat/i-vxwork.ads (BOOL): New int.
+       (intContext): Change return type to BOOL. Adjust comments.
+       * libgnat/i-vxwork__x86.ads: Likewise.
+
+2021-09-22  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove.
+       * sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_ugn/platform_specific_information.rst: Improve doc
+       on permission and containers.
+       * gnat_ugn.texi: Regenerate.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * atree.adb (Rewrite): Fix parent node of shared aspects.
+       * atree.ads (Rewrite): Add ??? comment on incorrect
+       documentation.
+       * einfo-utils.adb (Known_Esize): Fix logic.
+       * sem_ch13.adb (Alignment_Check_For_Size_Change,
+       Analyze_Attribute_Definition_Clause): Protect against unset
+       Size.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * freeze.adb (Build_Renamed_Body): Special case for GNATprove.
+       * sem_ch6.adb (Analyze_Expression_Function): Remove useless test
+       for a node to come from source, which becomes harmful otherwise.
+
+2021-09-22  Justin Squirek  <squirek@adacore.com>
+
+       * ali.adb, ali.ads (Scan_ALI): Remove use of deprecated
+       parameter Ignore_ED, and all specification for Lower in call to
+       Get_File_Name.
+       * ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI.
+       * clean.adb (Clean_Executables): Likewise.
+       * gnatbind.adb (Add_Artificial_ALI_File, Executable section):
+       Likewise.
+       * gnatlink.adb (Executable section): Likewise.
+       * gnatls.adb (Executable section): Likewise.
+       * make.adb (Check, Wait_For_Available_Slot): Likewise.
+       * aspects.ads: Add Aspect_No_Controlled_Parts to
+       Nonoverridable_Aspect_Id
+       * opt.ads: Remove function pointers used as a workaround for
+       ASIS.
+       * osint-c.adb (Executable section): Remove setting of function
+       pointer workarounds needed for ASIS.
+       * osint.adb (Read_Default_Search_Dirs): Correct behavior to
+       detect EOL characters.
+       * par_sco.adb (Output_Header): Remove comment regarding use of
+       First_Sloc.
+       (Traverse_Sync_Definition): Renamed to
+       Traverse_Protected_Or_Task_Definition.
+       * pprint.adb (Interal_List_Name): Add description about purpose,
+       and refactor conditional statement.
+       (Prepend): Removed.
+       * repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of
+       subprogram pointer.
+       * scng.adb (Scan): Remove CODEFIX question, and minor comment
+       change.
+       * sem_attr.adb (Analyze_Image_Attribute): Remove special
+       processing for 'Img.
+       * sem_ch6.adb (Check_Untagged_Equality): Add RM reference.
+       (FCE): Add comment describing behavior.
+       (Is_Non_Overriding_Operation): Minor comment formatting change.
+       * sem_type.adb (Is_Actual_Subprogram): Add comment about
+       Comes_From_Source test.
+       (Matching_Types): Describe non-matching cases.
+       * sem_util.adb (Is_Confirming): Add stub case for
+       No_Controlled_Parts.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): Access
+       Predicated_Parent only on subtypes.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Process_Import_Or_Interface): Relax error when
+       Relaxed_RM_Semantics.
+
+2021-09-22  Steve Baird  <baird@adacore.com>
+
+       * libgnat/s-regpat.adb (Match): Handle the case where Self.First
+       is not NUL (so we know the first character we are looking for),
+       but case-insensitive matching has
+       been specified.
+       (Optimize): In the case of an EXACTF Op, set Self.First as is
+       done in the EXACT case, except with the addition of a call to
+       Lower_Case.
+
+2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
+       (GNATBIND_OBJS): Likewise.
+
+2021-09-22  Yannick Moy  <moy@adacore.com>
+
+       * einfo.ads: Fix comments.
+       * exp_aggr.adb: Fix variable name.
+       * exp_util.adb: Fix comments.
+       * sem_ch13.adb: Fix comments.
+       * sem_ch3.adb: Fix comments and variable name.
+
+2021-09-22  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-osinte__vxworks.ads: Make procedure vice function.
+       * libgnarl/s-vxwext.ads: Likewise.
+       * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.ads: Likewise.
+       * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.ads: Likewise.
+       * libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call
+       Int_Unlock as a procedure.
+
+2021-09-22  Doug Rupp  <rupp@adacore.com>
+
+       * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
+       (vx_freq_t): New subtype.
+       (sysClkRateGet): Return vx_freq_t.
+       * libgnarl/s-vxwext.ads (vx_freq_t): New type.
+       * libgnarl/s-vxwext__kernel.ads: Likewise.
+       * libgnarl/s-vxwext__rtp.ads: Likewise.
+
+2021-09-22  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_case.adb (Composite_Case_Ops): Replace 'Image with
+       Error_Msg_Uint.
+
+2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate
+       temporary when the expression is a condition in an outer decision
+       and control-flow optimizations are suppressed.
+
+2021-09-22  Steve Baird  <baird@adacore.com>
+
+       * exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add
+       new function Indexed_Element to handle array element
+       comparisons. Handle case choices that are array aggregates,
+       string literals, or names denoting constants.
+       * sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package
+       providing utilities needed for casing on arrays.
+       (Composite_Case_Ops.Choice_Analysis): If necessary, include
+       array length as a "component" (like a discriminant) when
+       traversing components. We do not (yet) partition choice analysis
+       to deal with unequal length choices separately. Instead, we
+       embed everything in the minimum-dimensionality Cartesian product
+       space needed to handle all choices properly; this is determined
+       by the length of the longest choice pattern.
+       (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
+       Include length as a "component" in the traversal if necessary.
+       (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
+       Add support for case choices that are string literals or names
+       denoting constants.
+       (Composite_Case_Ops.Choice_Analysis): Include length as a
+       "component" in the analysis if necessary.
+       (Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count):
+       Improve error message when capacity exceeded.
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Update
+       documentation to reflect current implementation status.
+       * gnat_rm.texi: Regenerate.
+
+2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Check_Component_Storage_Order): Give a specific error
+       message for non-byte-aligned component in the packed case.  Replace
+       "composite" with "record" in both cases.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible
+       with No_Elaboration_Code_All.
+       * libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust
+       accordingly.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Check_Returns): Change message on missing return.
+
+2021-09-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatfind.adb, gnatxref.adb: Mark these tools as obsolete
+       before removing them completely.
+
+2021-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments.
+
+2021-09-21  Doug Rupp  <rupp@adacore.com>
+
+       * init.c (__gnat_error_handler) [LynxOS]: Add a comment about
+       missing optional args.
+
+2021-09-21  Yannick Moy  <moy@adacore.com>
+
+       * gen_il-gen.adb (Put_Opt_Subtype): Add suffix.
+
+2021-09-21  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Remove spurious special
+       case for protected type components.
+       * exp_ch4.adb (Generate_Accessibility_Check): Use general
+       Accessibility_Level instead of the low-level function
+       Type_Access_Level.
+
+2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat_ugn.texi: Regenerate.
+
+2021-09-21  Matthieu Eyraud  <eyraud@adacore.com>
+
+       * par_sco.adb (Traverse_One): Add support for pragma Invariant /
+       Type_Invariant.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the
+       form:
+       subtype Opt_N_Declaration is
+       Node_Id with Predicate =>
+       Opt_N_Declaration = Empty or else
+       Opt_N_Declaration in N_Declaration_Id;
+       One for each node or entity type, with the predicate allowing
+       Empty.
+       * atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.".
+
+2021-09-21  Patrick Bernardi  <bernardi@adacore.com>
+
+       * bindgen.adb (Gen_Adainit): For targets that suppress the
+       standard library: set the default stack size global variable if
+       a value is provided via the -d switch, and generate a call to
+       __gnat_initialize_stack_limit if stack checking using stack
+       limits is enabled.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Stream_Size): Print message about allowed stream
+       sizes even if other error were already found. This avoids
+       falling into the 'else', which prints "Stream_Size cannot be
+       given for...", which is misleading -- the Size COULD be given if
+       it were correct.
+
+2021-09-21  Daniel Mercier  <mercier@adacore.com>
+
+       * exp_util.adb (Build_Temporary): In case of an external DISCR
+       symbol, set the related expression for CodePeer so that a more
+       comprehensible message can be emitted to the user.
+
+2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.adb (Parse_Header): Tweak comments.
+       (Read_Entry_Format_Array): Tweak exception message.
+       (Symbolic_Address.Set_Result): Likewise.
+
+2021-09-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch7.adb (Make_Init_Call): Add guard to protect against a
+       missing initialization procedure for a type.
+
+2021-09-21  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl: Remove unused VxWorks sections.
+       * libgnarl/s-vxwext__noints.adb: Remove.
+       * libgnarl/s-vxwext__vthreads.ads: Remove.
+       * libgnat/a-elchha__vxworks-ppc-full.adb: Remove.
+       * libgnat/s-osprim__vxworks.adb: Remove.
+       * libgnat/s-osvers__vxworks-653.ads: Remove.
+       * libgnat/system-vxworks-e500-vthread.ads: Remove.
+       * libgnat/system-vxworks-ppc-vthread.ads: Remove.
+       * libgnat/system-vxworks-x86-vthread.ads: Remove.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of
+       the formal parameter to Valid_Uint. Remove code that preserved
+       the previous behavior, and replace it with an assertion. The
+       previous behavior is no longer needed given the recent change to
+       gigi.
+       (No, Present): Add comment.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * sem_eval.adb (Fold_Shift): Replace an if_expression with an
+       if_statement.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * uintp.ads, uintp.adb: Add assertions.
+       (Ubool, Opt_Ubool): New "boolean" subtypes.
+       (UI_Is_In_Int_Range): The parameter should probably be
+       Valid_Uint, but we don't change that for now, because it causes
+       failures in gigi.
+       * sem_util.ads, sem_util.adb (Is_True, Is_False,
+       Static_Boolean): Use Opt_Ubool subtype.  Document the fact that
+       Is_True (No_Uint) = True.  Implement Is_False in terms of
+       Is_True.  We considered changing Static_Boolean to return Uint_1
+       in case of error, but that doesn't fit in well with
+       Static_Integer.
+       (Has_Compatible_Alignment_Internal): Deal with cases where Offs
+       is No_Uint. Change one "and" to "and then" to ensure we don't
+       pass No_Uint to ">", which would violate the new assertions.
+       * exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new
+       assertions in Uintp.
+
+2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string
+       from the .debug_line_str section.
+       (Symbolic_Address.Set_Result): Likewise.
+
+2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
+       and DW_FORM_implicit_const.  Replace Constraint_Error with
+       Dwarf_Error.
+
+2021-09-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Not): Replace expression with
+       statement.
+
+2021-09-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_eval.adb (Is_Static_Subtype): Take predicates created
+       through "predicate" pragma into account.
+
+2021-09-21  Frederic Konrad  <konrad@adacore.com>
+
+       * Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to
+       the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
+       the EXTRA_GNATRTL_NONTASKING_OBJS list.
+
+2021-09-21  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Add condition to
+       test for an E_Operator as part of criteria for setting
+       Abstract_Op on interpretations involving predefined operators.
+
+2021-09-21  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): For explicit
+       dereference of type conversion, enable code that ensures that
+       the tag of the result is that of the result type.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.adb: Add support (currently disabled) for using
+       "initial zero" instead of "Uint_0" to represent "unknown".  Call
+       Known_ functions, instead of evilly duplicating their code
+       inline.
+       * fe.h (No_Uint_To_0): New function to convert No_Uint to
+       Uint_0, in order to preserve existing behavior.
+       (Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils.
+       * cstand.adb: Set size fields of Standard_Debug_Renaming_Type
+       and Standard_Exception_Type.
+       * checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb,
+       exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb,
+       layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb,
+       sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb,
+       sem_util.adb: Protect calls with Known_..., use Copy_...  Remove
+       assumption that Uint_0 represents "unknown".
+       * types.ads (Nonzero_Int): New subtype.
+       * gcc-interface/decl.c, gcc-interface/trans.c: Protect calls
+       with Known_... and use Copy_...  as appropriate, to avoid
+       blowing up in unknown cases. Similarly, call No_Uint_To_0 to
+       preserve existing behavior.
+
+2021-09-21  Steve Baird  <baird@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested
+       function, Directly_Specified, and then use it in the
+       implementation of the required check.
+
+2021-09-21  Steve Baird  <baird@adacore.com>
+
+       * libgnat/a-costso.ads, libgnat/a-costso.adb: A new library
+       unit, Ada.Containers.Stable_Sorting, which exports a pair of
+       generics (one within the other) which are instantiated by each
+       of the 5 doubly-linked list container generics to implement
+       their respective Sort procedures. We use a pair of generics,
+       rather than a single generic, in order to further reduce code
+       duplication. The outer generic takes a formal private Node_Ref
+       type representing a reference to a linked list element. For some
+       instances, the corresponding actual parameter will be an access
+       type; for others, it will be the index type for an array.
+       * Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit.
+       * libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb,
+       libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb
+       (Sort): Replace existing Sort implementation with a call to an
+       instance of
+       Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare
+       the (trivial) actual parameters needed to declare that instance.
+       * libgnat/a-cfdlli.ads: Fix a bug encountered during testing in
+       the postcondition for M_Elements_Sorted. With a partial
+       ordering, it is possible for all three of (X < Y), (Y < X),
+       and (X = Y) to be simultaneously false, so that case needs to
+       handled correctly.
+
+2021-09-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (Error_Msg_Internal): Fix references to Sptr and
+       Optr in comment; fix grammar of "low-level" where it is used as
+       an adjective.
+
+2021-09-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (Write_Source_Code_Lines): Use Cur_Loc before
+       incrementing it, so that we don't need to decrement it.
+
+2021-09-21  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb (Get_Line_End): Do not allow the result to go past
+       the end of the buffer.
+
+2021-09-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Process_Discriminant_Expressions): If the
+       constraint is for a Component_Definition that appears in a
+       Component_Declaration, the entity to be used to create the
+       potentially global symbol is the Defining_Identifier of the
+       Component_Declaration.
+
+2021-09-21  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all
+       occurrences of GNAT.OS_Lib to System.OS_Lib.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Has_Excluded_Declaration): Remove redundant guard;
+       the guarded code will call First on a No_List, which is
+       well-defined and gives Empty.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Has_Excluded_Declaration): Rename and reduce scope
+       of a local variable.
+
+2021-09-20  Bob Duff  <duff@adacore.com>
+
+       * uintp.ads, uintp.adb (Present, No): New functions for
+       comparing with No_Uint.
+       * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb,
+       exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb,
+       exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb,
+       sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb,
+       sinfo-utils.adb, treepr.adb: Use Present (...) instead of "...
+       /= No_Uint", and No (...) instead of "... = No_Uint".
+
+2021-09-20  Claire Dross  <dross@adacore.com>
+
+       * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode =>
+       Off aspect.
+
+2021-09-20  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/a-calend.adb: Remove time_t, replace with OS_Time.
+       * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion
+       functions to reflect the use of To_Ada in in Ada.Calendar
+       package body.
+       * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of
+       time_t.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Actual): Remove
+
+2021-09-20  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads,
+       gen_il-fields.ads: Remove unused and no-longer-used routines.
+       Move related routines together.  Rewrite incorrect
+       documentation, and documentation that will be incorrect when
+       e.g. Esize-related routines are fixed.  Remove unused field
+       Normalized_Position_Max.
+       * cstand.adb, exp_pakd.adb, freeze.adb,
+       gen_il-gen-gen_entities.adb, itypes.adb, layout.adb,
+       sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
+       sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
+       sem_util.adb, ttypes.ads: Update calls to routines removed from
+       or renamed in Einfo.Utils.
+       * uintp.ads (Upos): Fix this subtype, which was unintentionally
+       declared to include Uint_0.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in
+       comment.
+       * exp_disp.adb (Mark_DT): Remove unnecessary initialization of
+       I_Depth.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb (Add_Contract_Item): Accept volatile-related
+       properties on constants.
+       (Analyze_Object_Contract): Check external properties on
+       constants; accept volatile constants.
+       (Check_Type_Or_Object_External_Properties): Replace "variable"
+       with "object" in error messages; replace Decl_Kind with a local
+       constant.
+       * sem_prag.adb (Analyze_Pragma): Accept volatile-related
+       properties on constants.
+
+2021-09-20  Pierre-Alexandre Bazin  <bazin@adacore.com>
+
+       * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas
+       for proof.
+       (Delete): Added assertions for proof, and conditions to avoid
+       overflow.
+       (Head): Added loop invariant.
+       (Insert): Same as Delete.
+       (Move): Declared with SPARK_Mode Off.
+       (Overwrite): Added assertions for proof, and conditions to avoid
+       overflow.
+       (Replace_Slice): Added assertions for proof, and conditions to
+       avoid overflow.
+       (Tail): Added loop invariant and avoided overflows.
+       (Translate): Added loop invariants.
+       (Trim): Ensured empty strings returned start at 1.
+       * libgnat/a-strfix.ads (Index): Rewrote contract cases for
+       easier proof.
+       (Index_Non_Blank): Separated the null string case.
+       (Count): Specified Mapping shouldn't be null.
+       (Find_Token): Specified Source'First should be Positive when no
+       From is given.
+       (Translate): Specified Mapping shouldn't be null.
+       ("*"): Rewrote postcondition for easier proof.
+       * libgnat/a-strsea.adb (Belongs): Added postcondition.
+       (Count): Rewrote loops and added loop invariants to avoid
+       overflows.
+       (Find_Token): Added loop invariants.
+       (Index): Rewrote loops to avoid overflows and added loop
+       invariants for proof.
+       (Index_Non_Blank): Added loop invariants.
+       (Is_Identity): New function isolated without SPARK_Mode.
+       * libgnat/a-strsea.ads: Fix starting comment as package is no
+       longer private.
+       (Match): Declared ghost expression function Match.
+       (Is_Identity): Described identity in the postcondition.
+       (Index, Index_Non_Blank, Count, Find_Token): Added contract from
+       a-strfix.ads.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after
+       specs; fix typo in header box; cleanup whitespace.
+
+2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF.
+
+2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * adaint.c (__gnat_get_executable_load_address): Add Win32 support.
+       * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment.
+       (Object_File): Minor reformatting.
+       (ELF_Object_File): Uncomment predicate.
+       (PECOFF_Object_File): Likewise.
+       (XCOFF32_Object_File): Likewise.
+       * libgnat/s-objrea.adb: Minor reformatting throughout.
+       (Get_Load_Address): Implement for PE-COFF.
+       * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements
+       and use consistent wording in comments.
+       (Dwarf_Context): Set type of Low, High and Load_Address to Address.
+       * libgnat/s-dwalin.adb (Get_Load_Displacement): New function.
+       (Is_Inside): Call Get_Load_Displacement.
+       (Low_Address): Likewise.
+       (Open): Adjust to type change.
+       (Aranges_Lookup): Change type of Addr to Address.
+       (Read_Aranges_Entry): Likewise for Start and adjust.
+       (Enable_Cach): Adjust to type change.
+       (Symbolic_Address): Change type of Addr to Address.
+       (Symbolic_Traceback): Call Get_Load_Displacement.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
+       so it is executed regardless of the Generate_SCIL mode.
+
+2021-09-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.ads (Force_Evaluation): Add formal parameter
+       Discr_Number, to indicate discriminant expression for which an
+       external name must be created.
+       (Remove_Side_Effects): Ditto.
+       * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
+       added parameter.
+       (Remove_Side_Effects, Build_Temporary): If Discr_Number is
+       positive, create an external name with suffix DISCR and the
+       given discriminant number, analogous to what is done for
+       temporaries for array type bounds.
+       * sem_ch3.adb (Process_Discriminant_Expressions): If the
+       constraint is for an object or component declaration and the
+       corresponding entity may be visible in another unit, invoke
+       Force_Evaluation with the new parameter.
+
+2021-09-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gen_il-internals.ads (Invalid_Val): Remove, unused and
+       generates warnings.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine
+       types of local constants.
+
+2021-09-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Fold
+       Preelaborable_Initialization attribute in cases where it hasn't
+       been folded by the analyzer.
+       * exp_disp.adb (Original_View_In_Visible_Part): This function is
+       removed and moved to sem_util.adb.
+       * sem_attr.adb (Attribute_22): Add
+       Attribute_Preelaborable_Initialization as an Ada 2022 attribute.
+       (Analyze_Attribute, Attribute_Preelaborable_Initialization):
+       Check that the prefix of the attribute is either a formal
+       private or derived type, or a composite type declared within the
+       visible part of a package or generic package.
+       (Eval_Attribute): Perform folding of
+       Preelaborable_Initialization attribute based on
+       Has_Preelaborable_Initialization applied to the prefix type.
+       * sem_ch3.adb (Resolve_Aspects): Add specialized code for
+       Preelaborable_Initialization used at the end of a package
+       visible part for setting Known_To_Have_Preelab_Init on types
+       that are specified with True or that have a conjunction of one
+       or more P_I attributes applied to formal types.
+       * sem_ch7.adb (Analyze_Package_Specification): On call to
+       Has_Preelaborable_Initialization, pass True for new formal
+       Formal_Types_Have_Preelab_Init, so that error checking treats
+       subcomponents that are declared within types in generics as
+       having preelaborable initialization when the subcomponents are
+       of formal types.
+       * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for
+       P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since
+       this aspect is handled specially and the
+       Known_To_Have_Preelab_Init flag will get set on types that have
+       the aspect by other means.
+       (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for
+       Aspect_Preelaborable_Initialization for allowing the aspect to
+       be specified on formal type declarations.
+       (Is_Operational_Item): Treat Attribute_Put_Image as an
+       operational attribute.  The need for this was encountered while
+       working on these changes.
+       * sem_util.ads (Has_Preelaborable_Initialization): Add
+       Formal_Types_Have_Preelab_Init as a new formal parameter that
+       defaults to False.
+       (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New
+       function.
+       (Original_View_In_Visible_Part): Moved here from exp_disp.adb,
+       so it can be called by Analyze_Attribute.
+       * sem_util.adb (Has_Preelaborable_Initialization): Return True
+       for formal private and derived types when new formal
+       Formal_Types_Have_Preelab_Init is True, and pass along the
+       Formal_Types_Have_Preelab_Init flag in the array component case.
+       (Check_Components): Pass along Formal_Types_Have_Preelab_Init
+       flag on call to Has_Preelaborable_Initialization.
+       (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function
+       that returns True when passed an expression that includes one or
+       more attributes for Preelaborable_Initialization applied to
+       prefixes that denote formal types.
+       (Is_Formal_Preelab_Init_Attribute): New utility function nested
+       within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that
+       determines whether a node is a P_I attribute applied to a
+       generic formal type.
+       (Original_View_In_Visible_Part): Moved here from exp_util.adb,
+       so it can be called by Analyze_Attribute.
+       * snames.ads-tmpl: Add note near the start of spec giving
+       details about what needs to be done when adding a name that
+       corresponds to both an attribute and a pragma.  Delete existing
+       occurrence of Name_Preelaborable_Initialization, and add a note
+       comment in the list of Name_* constants at that place,
+       indicating that it's included in type Pragma_Id, etc., echoing
+       other such comments for names that are both an attribute and a
+       pragma.  Insert Name_Preelaborable_Initialization in the
+       alphabetized set of Name_* constants corresponding to
+       attributes (between First_Attribute_Name and
+       Last_Attribute_Name).
+       (type Attribute_Id): Add new literal
+       Attribute_Preelaborable_Initialization.
+       (type Pragma_Id): Move Pragma_Preelaborable_Initialization from
+       its current position to the end of the type, in the special set
+       of pragma literals that have corresponding atttributes. Add to
+       accompanying comment, indicating that functions Get_Pragma_Id
+       and Is_Pragma_Name need to be updated when adding a pragma
+       literal to the special set.
+       * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for
+       Pragma_Preelaborable_Initialization.
+       (Is_Pragma_Name): Add test for
+       Name_Preelaborable_Initialization.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check.
+
+2021-09-20  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a
+       first discriminant is found and the Discrim_Present flag is set.
+
+2021-09-20  Bob Duff  <duff@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in
+       Generate_SCIL and GNATprove_Mode.
+       * repinfo.adb (List_Common_Type_Info): Fix comment.
+
+2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback,
+       add clause for System.Traceback_Entries and alphabetize.
+       (AET): Delete.
+       (STE): New package renaming.
+       (Symbolic_Traceback): Adjust.
+       * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback
+       and System.Traceback_Entries.
+       (Symbolic_Traceback): Adjust.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if
+       types are compatible before adding interpretation.
+
+2021-09-20  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect
+       against calculating accessibility levels against internal
+       compiler-generated types.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning
+       logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
+       * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning
+       logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
+       * backend_utils.adb: New file.
+       * backend_utils.ads: New file.
+       * gcc-interface/Make-lang.in: Add ada/backend_utils.o.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * atree.adb (Get_32_Bit_Field): Declare result before returning.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch7.adb (Expand_N_Package_Body): Replace
+       Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package.
+       * gnat_cuda.adb (Expand_CUDA_Package): New procedure.
+       (Build_And_Insert_Cuda_Initialization): Make internal.
+       * gnat_cuda.ads (Expand_CUDA_Package): New procedure.
+       (Build_And_Insert_Cuda_Initialization): Remove from spec.
+
+2021-09-20  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * usage.adb (Usage): Update -gnatw.c messages.
+
+2021-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted.
+
+2021-09-15  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc-interface/utils.c: Include opts.h.
+       (handle_zero_call_used_regs_attribute): New.
+       (gnat_internal_attribute_table): Add zero_call_used_regs.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/101970
+       * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>:
+       Use an unchecked conversion instead of a regular conversion in the
+       enumeration case and remove Conversion_OK flag in the integer case.
+       <Attribute_Pos>: Remove superfluous test.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (validate_size): Do not issue an error if the
+       old size has overflowed.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
+       the representative array the debug type.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable
+       into constant.  Capitalize GCC in warning message.
+       (intrin_arglists_compatible_p): Change parameter to pointer-to-const
+       Adjust warning messages.  Turn warning into error for vector types.
+       (intrin_return_compatible_p): Likewise.
+       (intrin_profiles_compatible_p): Change parameter to pointer-to-const
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-atopri.ads (bool): Delete.
+       (Atomic_Test_And_Set): Replace bool with Boolean.
+       (Atomic_Always_Lock_Free): Likewise.
+       * libgnat/s-aoinar.adb (Is_Lock_Free): Adjust.
+       * libgnat/s-aomoar.adb (Is_Lock_Free): Likewise.
+       * libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise.
+       * libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise.
+       * gcc-interface/decl.c: Include gimple-expr.h.
+       (intrin_types_incompatible_p): Delete.
+       (intrin_arglists_compatible_p): Call types_compatible_p.
+       (intrin_return_compatible_p): Likewise.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
+       pointer and reference types.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/101385
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+       (-Wall): Minor fixes.
+       (-w): Likewise.
+       (-Werror): Document that it also sets -gnatwe by default.
+       * gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
+       passed and move expansion of -gnatw switches to before -gnatez.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (can_materialize_object_renaming_p): Do not
+       call UI_Is_In_Int_Range on the result of Normalized_First_Bit.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <is_type>: Declare new
+       constant.  Adjust error message issued by validate_size in the case
+       of by-reference types.
+       (validate_size): Always use the error strings passed by the caller.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc-interface/misc.c (gnat_post_options): Issue an error for
+       -fexcess-precision=16.
+
+2021-08-19  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/101924
+       * gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux.
+
+2021-08-18  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Fix
+       thinko in latest change.
+
+2021-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR debug/101598
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
+       DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
+       UNKNOWN_LOCATION.
+
+2021-07-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-osprim__x32.adb: Add missing with clause.
+
+2021-07-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if
+       defined".
+
+2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
+       parallel type only when -fgnat-encodings=all is specified.
+       <E_Array_Type>: Use the PAT name and special suffixes only when
+       -fgnat-encodings=all is specified.
+       <E_Array_Subtype>: Build a special type for debugging purposes only
+       when -fgnat-encodings=all is specified.  Add a parallel type or use
+       the PAT name only when -fgnat-encodings=all is specified.
+       <E_Record_Type>: Generate debug info for the inner record types only
+       when -fgnat-encodings=all is specified.
+       <E_Record_Subtype>: Use a debug type for an artificial subtype only
+       except when -fgnat-encodings=all is specified.
+       (elaborate_expression_1): Reset need_for_debug when possible only
+       except when -fgnat-encodings=all is specified.
+       (components_to_record): Use XV encodings for variable size only
+       when -fgnat-encodings=all is specified.
+       (associate_original_type_to_packed_array): Add a parallel type only
+       when -fgnat-encodings=all is specified.
+       * gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
+       full information only when -fgnat-encodings=all is specified.
+       * gcc-interface/utils.c (make_packable_type): Add a parallel type
+       only when -fgnat-encodings=all is specified.
+       (maybe_pad_type): Make the inner type a debug type only except when
+       -fgnat-encodings=all is specified.  Create an XVS type for variable
+       size only when -fgnat-encodings=all is specified.
+       (rest_of_record_type_compilation): Add a parallel type only when
+       -fgnat-encodings=all is specified.
+
+2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Use a
+       fixed lower bound if the index subtype is marked so, as well as a
+       more efficient formula for the upper bound if the array cannot be
+       superflat.
+       (flb_cannot_be_superflat): New predicate.
+       (cannot_be_superflat): Rename into...
+       (range_cannot_be_superfla): ...this.  Minor tweak.
+
+2021-07-12  Bob Duff  <duff@adacore.com>
+
+       * uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat,
+       Upos, Nonzero_Uint with predicates. These correspond to new
+       field types in Gen_IL.
+       * gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New
+       field types.
+       * einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment,
+       Init_Alignment): Use the initial zero value to represent
+       "unknown". This will ensure that if Alignment is called before
+       Set_Alignment, the compiler will blow up (if assertions are
+       enabled).
+       * atree.ads, atree.adb, atree.h, gen_il-gen.adb
+       (Get_Valid_32_Bit_Field): New generic low-level getter for
+       subtypes of Uint.
+       (Copy_Alignment): New procedure to copy Alignment field even
+       when Unknown.
+       (Init_Object_Size_Align, Init_Size_Align): Do not bypass the
+       Init_ procedures.
+       * exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb,
+       sem_util.adb: Protect calls to Alignment with Known_Alignment.
+       Use Copy_Alignment when it might be unknown.
+       * gen_il-gen-gen_entities.adb (Alignment,
+       String_Literal_Length): Use type Unat instead of Uint, to ensure
+       that the field is always Set_ before we get it, and that it is
+       set to a nonnegative value.
+       (Enumeration_Pos): Unat.
+       (Enumeration_Rep): Valid_Uint. Can be negative, but must be
+       valid before fetching.
+       (Discriminant_Number): Upos.
+       (Renaming_Map): Remove.
+       * gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat.
+       (Intval, Corresponding_Integer_Value): Valid_Uint.
+       * gen_il-internals.ads: New functions for dealing with special
+       defaults and new subtypes of Uint.
+       * scans.ads: Correct comments.
+       * scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no
+       longer allowed.
+       * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do
+       not set Enumeration_Rep to No_Uint; that is no longer allowed.
+       (Offset_Value): Protect calls to Alignment with Known_Alignment.
+       * sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean
+       "unknown"; call Init_Alignment instead.
+       * sinfo.ads: Minor comment fix.
+       * treepr.adb: Deal with printing of new field types.
+       * einfo.ads, gen_il-fields.ads (Renaming_Map): Remove.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment
+       before calling Alignment. This preserve some probably buggy
+       behavior: if the alignment is not set, it previously defaulted
+       to Uint_0; we now make that explicit.  Use Copy_Alignment,
+       because "Set_Alignment (Y, Alignment (X));" no longer works when
+       the Alignment of X has not yet been set.
+       * gcc-interface/trans.c (process_freeze_entity): Use
+       Copy_Alignment.
+
+2021-07-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dwalin.ads: Adjust a few comments left and right.
+       (Line_Info_Register): Comment out unused components.
+       (Line_Info_Header): Add DWARF 5 support.
+       (Dwarf_Context): Likewise.  Rename "prologue" into "header".
+       * libgnat/s-dwalin.adb: Alphabetize "with" clauses.
+       (DWARF constants): Add DWARF 5 support and reorder.
+       (For_Each_Row): Adjust.
+       (Initialize_Pass): Likewise.
+       (Initialize_State_Machine): Likewise and fix typo.
+       (Open): Add DWARF 5 support.
+       (Parse_Prologue): Rename into...
+       (Parse_Header): ...this and add DWARF 5 support.
+       (Read_And_Execute_Isn): Rename into...
+       (Read_And_Execute_Insn): ...this and adjust.
+       (To_File_Name): Change parameter name and add DWARF 5 support.
+       (Read_Entry_Format_Array): New procedure.
+       (Skip_Form): Add DWARF 5 support and reorder.
+       (Seek_Abbrev): Do not count entries and add DWARF 5 support.
+       (Debug_Info_Lookup): Add DWARF 5 support.
+       (Symbolic_Address.Set_Result): Likewise.
+       (Symbolic_Address): Adjust.
+
+2021-07-12  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Duplicate_Clause): Add a helper routine
+       Check_One_Attr, with a parameter for the attribute_designator we
+       are looking for, and one for the attribute_designator of the
+       current node (which are usually the same). For Size and
+       Value_Size, call it twice, once for each.
+       * errout.ads: Fix a typo.
+
+2021-07-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_imgv.adb (Expand_Image_Attribute): Move rewriting to
+       attribute Put_Image to the beginning of expansion of attribute
+       Image.
+
+2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_put_image.adb (Make_Put_Image_Name): Fix style.
+       (Image_Should_Call_Put_Image): Likewise.
+       (Build_Image_Call): Likewise.
+
+2021-07-09  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * par-ch6.adb (Contains_Import_Aspect): New function.
+       (P_Subprogram): Acknowledge `Import` aspects.
+
+2021-07-09  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.adb (Make_Component_Attributes): Use
+       Implementation_Base_Type to get the parent type. Otherwise,
+       Parent_Type_Decl is actually an internally generated subtype
+       declaration, so we blow up on
+       Type_Definition (Parent_Type_Decl).
+
+2021-07-09  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * gsocket.h: Include net/if.h to get IF_NAMESIZE constant.
+       * s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux.
+
+2021-07-09  Steve Baird  <baird@adacore.com>
+
+       * libgnat/a-cdlili.adb: Reimplement
+       Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using
+       Mergesort instead of the previous Quicksort variant.
+
+2021-07-09  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to
+       verify the Selector_Name of Exp_Node has been analyzed before
+       obtaining its entity.
+
+2021-07-09  Gary Dismukes  <dismukes@adacore.com>
+
+       * libgnarl/s-osinte__vxworks.ads: Fix typo ("release" =>
+       "releases") plus comment reformatting.
+       * libgnat/s-os_lib.ads: In a comment, fix typo ("indended" =>
+       "intended"), add a hyphen and semicolon, plus reformatting. In
+       comment for subtype time_t, fix typo ("effect" => "affect"), add
+       hyphens, plus reformatting.
+       * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
+       libgnat/s-parame__hpux.ads: Remove period from one-line comment.
+
+2021-07-09  Steve Baird  <baird@adacore.com>
+
+       * exp_ch5.adb (Expand_General_Case_Statement): Add new function
+       Else_Statements to handle the case of invalid data analogously
+       to how it is handled when casing on a discrete value.
+       * sem_case.adb (Has_Static_Discriminant_Constraint): A new
+       Boolean-valued function.
+       (Composite_Case_Ops.Scalar_Part_Count): Include discriminants
+       when traversing components.
+       (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
+       Include discriminants when traversing components; the component
+       range for a constrained discriminant is a single value.
+       (Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate
+       Done variable and modify how Next_Part is computed so that it is
+       always correct (as opposed to being incorrect when Done is
+       True).  This includes changes in Update_Result (a local
+       procedure).  Add new local procedure
+       Update_Result_For_Box_Component and call it not just for box
+       components but also for "missing" components (components
+       associated with an inactive variant).
+       (Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype):
+       Instead of disallowing all discriminated component types, allow
+       those that are unconstrained or statically constrained. Check
+       discriminant subtypes along with other component subtypes.
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Update
+       documentation to reflect current implementation status.
+       * gnat_rm.texi: Regenerate.
+
+2021-07-09  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Pragma_Inline): Correctly use
+       Corresponding_Spec_Of_Stub when dealing subprogram body stubs.
+
+2021-07-09  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl: Add translations for s-parame__posix2008.ads
+       * libgnarl/s-linux.ads: Import System.Parameters.
+       (time_t): Declare using System.Parameters.time_t_bits.
+       * libgnarl/s-linux__alpha.ads: Likewise.
+       * libgnarl/s-linux__android.ads: Likewise.
+       * libgnarl/s-linux__hppa.ads: Likewise.
+       * libgnarl/s-linux__mips.ads: Likewise.
+       * libgnarl/s-linux__riscv.ads: Likewise.
+       * libgnarl/s-linux__sparc.ads: Likewise.
+       * libgnarl/s-linux__x32.ads: Likewise.
+       * libgnarl/s-qnx.ads: Likewise.
+       * libgnarl/s-osinte__aix.ads: Likewise.
+       * libgnarl/s-osinte__android.ads: Likewise.
+       * libgnarl/s-osinte__darwin.ads: Likewise.
+       * libgnarl/s-osinte__dragonfly.ads: Likewise.
+       * libgnarl/s-osinte__freebsd.ads: Likewise.
+       * libgnarl/s-osinte__gnu.ads: Likewise.
+       * libgnarl/s-osinte__hpux-dce.ads: Likewise.
+       * libgnarl/s-osinte__hpux.ads: Likewise.
+       * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+       * libgnarl/s-osinte__lynxos178e.ads: Likewise.
+       * libgnarl/s-osinte__qnx.ads: Likewise.
+       * libgnarl/s-osinte__rtems.ads: Likewise.
+       * libgnarl/s-osinte__solaris.ads: Likewise.
+       * libgnarl/s-osinte__vxworks.ads: Likewise.
+       * libgnat/g-sothco.ads: Likewise.
+       * libgnat/s-osprim__darwin.adb: Likewise.
+       * libgnat/s-osprim__posix.adb: Likewise.
+       * libgnat/s-osprim__posix2008.adb: Likewise.
+       * libgnat/s-osprim__rtems.adb: Likewise.
+       * libgnat/s-osprim__x32.adb: Likewise.
+       * libgnarl/s-osinte__linux.ads: use type System.Linux.time_t.
+       * libgnat/s-os_lib.ads (time_t): Declare as subtype of
+       Long_Long_Integer.
+       * libgnat/s-parame.ads (time_t_bits): New constant.
+       * libgnat/s-parame__ae653.ads (time_t_bits): Likewise.
+       * libgnat/s-parame__hpux.ads (time_t_bits): Likewise.
+       * libgnat/s-parame__vxworks.ads (time_t_bits): Likewise.
+       * libgnat/s-parame__posix2008.ads: New file for 64 bit time_t.
+
+2021-07-09  Bob Duff  <duff@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Print source file name.
+
+2021-07-09  Joffrey Huguet  <huguet@adacore.com>
+
+       * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout
+       in contracts.
+
+2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * repinfo.ads (JSON output format): Document adjusted key name.
+       * repinfo.adb (List_Record_Layout): Use Original_Record_Component
+       if the normalized position of the component is not known.
+       (List_Structural_Record_Layout): Rename Outer_Ent parameter into
+       Ext_End and add Ext_Level parameter. In an extension, if the parent
+       subtype has static discriminants, call List_Record_Layout on it.
+       Output "parent_" prefixes before "variant" according to Ext_Level.
+       Adjust recursive calls throughout the procedure.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.ads (Map_Types): Fix typo.
+
+2021-07-09  Fedor Rybin  <frybin@adacore.com>
+
+       * krunch.adb: Add safeguards against index range violations.
+
+2021-07-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-strfix.adb: Take advantage of extended returns.
+
+2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst
+       (Scalar_Storage_Order): Add paragraph about representation
+       changes.
+       * gnat_rm.texi: Regenerate.
+
+2021-07-09  Frederic Konrad  <konrad@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <aarch64*-*-rtems*>: Use
+       the wraplf variant of Aux_Long_Long_Float.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N
+       and Typ variables.
+
+2021-07-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Resolve_Aspect_Expressions): Use the same
+       processing for Predicate, Static_Predicate and
+       Dynamic_Predicate. Do not build the predicate function spec.
+       Update comments.
+       (Resolve_Name): Only reset Entity when necessary to avoid
+       spurious visibility errors.
+       (Check_Aspect_At_End_Of_Declarations): Handle consistently all
+       Predicate aspects.
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of
+       private types with predicates.
+
+2021-07-09  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.ads (Type_Access_Level): Add new optional parameter
+       Assoc_Ent.
+       * sem_util.adb (Accessibility_Level): Treat access discriminants
+       the same as components when the restriction
+       No_Dynamic_Accessibility_Checks is enabled.
+       (Deepest_Type_Access_Level): Remove exception for
+       Debug_Flag_Underscore_B when returning the result of
+       Type_Access_Level in the case where
+       No_Dynamic_Accessibility_Checks is active.
+       (Function_Call_Or_Allocator_Level): Correctly calculate the
+       level of Expr based on its containing subprogram instead of
+       using Current_Subprogram.
+       * sem_res.adb (Valid_Conversion): Add actual for new parameter
+       Assoc_Ent in call to Type_Access_Level, and add test of
+       No_Dynamic_Accessibility_Checks_Enabled to ensure that static
+       accessibility checks are performed for all anonymous access type
+       conversions.
+
+2021-07-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_dbug.ads: Update documentation of various items.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Add variable to
+       avoid repeated calls to Etype.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Fix comment.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable
+       instead of repeated calls to Original_Node.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Change types local
+       variables from Entity_Id to Node_Id.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): A local Expr
+       constant was shadowing a global constant with the same name and
+       the same value.
+
+2021-07-09  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Preanalyze_And_Resolve): Only call
+       Set_Must_Not_Freeze when it is necessary to restore the previous
+       value.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at
+       exit.
+       (Analyze_Target_Name): Prevent AST climbing from going too far.
+
+2021-07-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Target_Name): Properly reject a
+       Target_Name when it appears outside of an assignment statement,
+       or within the left-hand side of one.
+
+2021-07-08  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.ads, einfo-utils.adb (Unknown_Alignment,
+       Unknown_Component_Bit_Offset, Unknown_Component_Size,
+       Unknown_Esize, Unknown_Normalized_First_Bit,
+       Unknown_Normalized_Position, Unknown_Normalized_Position_Max,
+       Unknown_RM_Size): Remove these functions.
+       * exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb,
+       repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove
+       calls to these functions; do "not Known_..." instead.
+       * gcc-interface/decl.c, gcc-interface/trans.c
+       (Unknown_Alignment, Unknown_Component_Size, Unknown_Esize,
+       Unknown_RM_Size): Remove calls to these functions; do
+       "!Known_..." instead.
+
+2021-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete
+       types with custom bounds, except with -fgnat-encodings=all.
+       * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment.
+
+2021-07-08  Bob Duff  <duff@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if
+       this is called late, then Source_Dump would crash otherwise.
+       * debug.adb: Correct documentation of the -gnatd.9 switch.
+       * exp_ch4.adb (Expand_Allocator_Expression): Add a comment.
+       * exp_ch6.adb: Minor comment fixes.  Add assertion.
+       * exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment.
+       * exp_ch7.adb, checks.ads: Minor comment fixes.
+
+2021-07-08  Doug Rupp  <rupp@adacore.com>
+
+       * sigtramp-vxworks-target.inc: Rename to...
+       * sigtramp-vxworks-target.h: ... this.
+       * sigtramp-vxworks.c, Makefile.rtl: Likewise.
+
+2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * lib-writ.ads: Mention SCOs dependency as reason for duplicates.
+       * lib.ads (Units): Update documentation to mention duplicated
+       units.
+
+2021-07-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * style.adb (Missing_Overriding): Do not emit message when
+       parent of subprogram is a full type declaration.
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * par-ch5.adb (P_Iterator_Specification): Add support for access
+       definition in loop parameter.
+       * sem_ch5.adb (Check_Subtype_Indication): Renamed...
+       (Check_Subtype_Definition): ... into this and check for conformance
+       on access definitions, and improve error messages.
+       (Analyze_Iterator_Specification): Add support for access definition
+       in loop parameter.
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads, sem_util.adb
+       (Apply_Compile_Time_Constraint_Error): New parameter
+       Emit_Message.
+       * sem_ch4.adb (Analyze_Selected_Component): Disable warning
+       within an instance.
+
+2021-07-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_imgv.adb: Add with and use clause for Restrict and Rident.
+       (Build_Enumeration_Image_Tables): Do not generate the hash function
+       if the No_Implicit_Loops restriction is active.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify
+       checks for non-empty lists.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-ch10.adb (Unit_Display): Remove redundant condition; fix
+       whitespace.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-load.adb (Load): Replace early return with goto to properly
+       restore context on failure.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb (Ensure_System_Dependency): Simplify condition.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-load.adb (Load_Unit): Fix style in comment.
+       * par-load.adb (Load): Likewise.
+       * scng.adb (Initialize_Scanner): Fix whitespace.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-load.adb (Load): Don't remove unit, but flag it as
+       erroneous and return.
+
+2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error
+       message.
+
+2021-07-08  Yannick Moy  <moy@adacore.com>
+
+       * layout.adb (Layout_Type): Do not call Number_Dimensions if the
+       type does not have First_Index set.
+
+2021-07-08  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion
+       of the Inspection_Point pragma, check if referenced entities
+       that have a freeze node are already frozen. If they aren't, emit
+       a warning and turn the pragma into a no-op.
+
+2021-07-08  Yannick Moy  <moy@adacore.com>
+
+       * layout.adb (Layout_Type): Add guard before calling Expr_Value.
+
+2021-07-08  Yannick Moy  <moy@adacore.com>
+
+       * layout.adb (Layout_Type): Special case when RM_Size and Esize
+       can be computed for packed arrays.
+
+2021-07-08  Steve Baird  <baird@adacore.com>
+
+       * rtsfind.ads, rtsfind.adb: Add support for finding the packages
+       System.Atomic_Operations and
+       System.Atomic_Operations.Test_And_Set and the declarations
+       within that latter package of the type Test_And_Set_Flag and the
+       function Atomic_Test_And_Set.
+       * exp_ch11.adb (Expand_N_Exception_Declaration): If an exception
+       is declared other than at library level, then we need to call
+       Register_Exception the first time (and only the first time) the
+       declaration is elaborated.  In order to decide whether to
+       perform this call for a given elaboration of the declaration, we
+       used to unconditionally use a (library-level) Boolean variable.
+       Now we instead use a variable of type
+       System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless
+       either that type is unavailable or a No_Tasking restriction is
+       in effect (in which case we use a Boolean variable as before).
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/system.ads: Add No_Tasking restriction.
+
+2021-07-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * libgnat/a-cohama.ads: Introduce an equality operator over
+       cursors.
+       * libgnat/a-cohase.ads: Ditto.
+       * libgnat/a-cohama.adb: Add body for "=" over cursors.
+       (Insert): Do not set the Position component of the cursor that
+       denotes the inserted element.
+       * libgnat/a-cohase.adb: Ditto.
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
+       libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
+       libgnat/a-cborma.adb, libgnat/a-cborse.adb,
+       libgnat/a-cobove.adb, libgnat/a-textio.adb,
+       libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible
+       with No_Dynamic_Accessibility_Checks restriction.
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * debug.adb, sem_util.adb: Revert meaning of -gnatd_b.
+       * sem_res.adb: Minor reformatting.
+
+2021-07-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * make.adb, osint.adb: Make code compatible with
+       No_Dynamic_Accessibility_Checks restriction.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb (Ensure_System_Dependency): Replace search in
+       Lib.Units with a search in Lib.Unit_Names.
+
+2021-07-08  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sinput-l.adb (Load_File): Simplify foreword manipulation with
+       concatenation; similar for filename with preprocessed output.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
+       __MINWGW32__.
+
+2021-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo-utils.adb (Primitive_Operations): Default to returning
+       Direct_Primitive_Operations in the case of concurrent types
+       (when Corresponding_Record_Type not present).
+       * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
+       Direct_Primitive_Operations to an empty element list.
+       (Analyze_Task_Type_Declaration): Initialize
+       Direct_Primitive_Operations to an empty element list.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Set_Checking_Potentially_Static_Expression):
+       Stronger assertion.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
+       intrinsic before calling Analyze_Instance_And_Renamings because
+       this flag may be propagated to other nodes.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
+       Hardcode on Windows if undefined.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * checks.adb (Install_Primitive_Elaboration_Check): Do not
+       generate elaboration checks for primitives if pragma Pure or
+       Preelaborate is present.  Misc comment fixes, including
+       referring to the correct kind of check (elaboration, not
+       accessibility).
+       * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
+       reformatting and comment fixes.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
+       CPP_Constructor.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
+       Initialize.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
+       cleanups.
+
+2021-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
+       LSP_Subprogram, and Is_Wrapper needs to happen for null
+       procedures as well as other wrapper cases, so the code is moved
+       from the else part in front of the if statement.  (Fixes a
+       latent bug encountered while working on this set of changes.)
+       * sem_attr.adb (Resolve_Attribute): Report an error for the case
+       of an Access attribute applied to a primitive of an abstract
+       type when the primitive has any nonstatic Pre'Class or
+       Post'Class expressions.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
+       the case of a actual subprogram associated with a nonabstract
+       formal subprogram when the actual is a primitive of an abstract
+       type and the primitive has any nonstatic Pre'Class or Post'Class
+       expressions.
+       * sem_disp.adb (Check_Dispatching_Context): Remove special
+       testing for null procedures, and replace it with a relaxed test
+       that avoids getting an error about illegal calls to abstract
+       subprograms in cases where RM 6.1.1(7/5) applies in
+       Pre/Post'Class aspects. Also, remove special test for
+       Postcondition, which seems to be unnecessary, update associated
+       comments, and fix a typo in one comment.
+       (Check_Dispatching_Call): Remove an unneeded return statement,
+       and report an error for the case of a nondispatching call to a
+       nonabstract subprogram of an abstract type where the subprogram
+       has nonstatic Pre/Post'Class aspects.
+       * sem_util.ads
+       (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
+       (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
+       defaulted to False, for indicating whether the function should
+       only test for the node being within class-wide pre- and
+       postconditions.
+       * sem_util.adb
+       (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
+       to determine whether a subprogram is a primitive of an abstract
+       type where the primitive has class-wide Pre/Post'Class aspects
+       specified with nonstatic expressions.
+       (In_Pre_Post_Condition): Extend testing to account for the new
+       formal Class_Wide_Only.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
+       emitted via Check_Volatility_Compatibility are now emitted at
+       Actual, just like other errors emitted by
+       Check_Shared_Variable_Control_Aspects.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * uname.adb (Get_Unit_Name): Simplify with a bounded string
+       buffer; also, this addresses a ??? comment about the max length
+       being exceeded.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * uname.adb (Get_Body_Name, Get_Parent_Body_Name,
+       Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
+       Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
+       instead of the global buffer.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
+       processing of Size and Value_Size clauses. Ensure that
+       Value_Size is treated the same as Size, in the cases where both
+       are allowed (i.e. the prefix denotes a first subtype).  Misc
+       cleanup.
+       * einfo-utils.adb (Init_Size): Add assertions.
+       (Size_Clause): Return a Value_Size clause if present, instead of
+       just looking for a Size clause.
+       * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
+       to include Value_Size.
+       * sem_ch13.ads, layout.ads, layout.adb: Comment modifications.
+
+2021-07-07  Steve Baird  <baird@adacore.com>
+
+       * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
+       TSS_Put_Image to list of predefined primitives that need special
+       treatment.
+       (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
+       Remove previous hack for dealing with TSS_Put_Image procedures.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
+       Minus_500ms_Windows_Timeout is True.
+       (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
+       convert to milliseconds.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
+       node to the Parent of the old node.
+       * tbuild.ads (Unchecked_Convert_To): Document differences
+       between Convert_To and Unchecked_Convert_To. The previous
+       documentation claimed they are identical except for the
+       uncheckedness of the conversion.
+
+2021-07-07  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb (Apply_Scalar_Range_Check): Remove special case for
+       GNATprove mode.
+       * sem_res.adb (Resolve_Arithmetic_Op): Same.
+       * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Check_For_Primitive_Subprogram): Move
+       declarations of local variables after nested subprogram bodies.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb (CPP_Num_Prims): Reuse List_Length.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
+       membership test in Private_Kind with a call to Is_Private_Type.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
+       field from Record_Field_Kind.  Minor comment improvement.
+
+2021-07-07  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-ngelfu.ads (Cot): Fix precondition.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par.adb (Par): A local Name variable is now a renaming of a
+       constant slice.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
+       corresponding spec as requiring code generation; now the flags
+       are set much earlier.
+       * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
+       main unit source.
+       (Make_Instance_Unit): Copy Generate_Code flag from the main unit
+       to instance units.
+       * lib-writ.adb (Write_ALI): Remove redundant condition;
+       Generate_Code flag is always set for the main unit.
+       * par-load.adb (Load): Set Generate_Code flag on the main unit's
+       corresponding spec, if any.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
+       Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
+       (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
+       Keep_Alive_Interval alternatives to the case of discriminated
+       record.
+       * libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
+       Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
+       OS constant converter.
+       (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
+       and Keep_Alive_Interval socket options.
+       (Get_Socket_Option): Idem.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb (Write_ALI): Exit from loop after seeing first
+       unit that violates No_Elaboration_Code restriction.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Instantiate_Bodies): Fix white in declaration.
+       (Remove_Dead_Instance): Change iteration from WHILE to FOR.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
+       exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
+       sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
+       to call Unchecked_Convert_To instead. This involves removing
+       New_Occurrence_Of on the first parameter, because
+       Unchecked_Convert_To expects a type entity, rather than the name
+       of one. Also, removed calls to Relocate_Node, because
+       Unchecked_Convert_To takes care of that.
+       * sinfo.ads: Change comment to be worded more firmly.
+
+2021-07-07  Steve Baird  <baird@adacore.com>
+
+       * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
+       before, rather than after, querying the task's Terminated flag.
+       Add a corresponding Task_Unlock call.
+
+2021-07-06  Bob Duff  <duff@adacore.com>
+
+       * atree.ads (Current_Error_Node): Initialize to Empty.
+
+2021-07-06  Steve Baird  <baird@adacore.com>
+
+       * exp_put_image.adb: Eliminate references to
+       Debug_Flag_Underscore_Z.  Change the meaning of the function
+       Enable_Put_Image. Previously, a result of False for a tagged
+       type would mean that the type does not get a Put_Image (PI)
+       routine at all. Now, it means that the type gets a PI routine
+       with very abbreviated functionality (just a call to
+       Unknown_Put_Image). This resolves problems in mixing code
+       compiled with and without the -gnat2022 switch.
+       * exp_ch3.adb: Enable_Put_Image no longer participates in
+       determining whether a tagged type gets a Put_Image procedure.  A
+       tagged type does not get a Put_Image procedure if the type
+       Root_Buffer_Type is unavailable. This is needed to support cross
+       targets where tagged types are supported but the type
+       Root_Buffer_Type is not available.
+       * exp_dist.adb: Add workarounds for some problems that arise
+       when using the (obsolete?) Garlic implementation of the
+       distributed systems annex with Ada 2022 constructs.
+       * libgnat/a-sttebu.ads: Workaround a bootstrapping problem.
+       Older compilers do not support raise expressions, so revise the
+       the Pre'Class condition to meet this requirement without
+       changing the condition's behavior at run time.
+
+2021-07-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix
+       typo in comment.
+
+2021-07-06  Steve Baird  <baird@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Add new nested function,
+       Omit_Range_Check_For_Streaming, and make call to
+       Apply_Scalar_Range_Check conditional on the result of this new
+       function.
+       * exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check
+       parameter, update callers.  The new
+       Omit_Range_Check_For_Streaming parameter takes the place of the
+       old use of calling Insert_Action with Suppress => All_Checks,
+       which was insufficiently precise (it did not allow suppressing
+       checks for one component but not for another).
+       (Expand_N_Attribute_Reference): Eliminate another "Suppress =>
+       All_Checks" from an Insert_Action call, this one in generating
+       the expansion of a T'Read attribute reference for a composite
+       type T.
+
+2021-07-06  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for
+       empty loops caused by constraints.
+
+2021-07-06  Nicolas Roche  <roche@adacore.com>
+
+       * rtinit.c (skip_quoted_string): Handle malformed command line
+       with no closing double quote.
+       (skip_argument): Handle case in which a null character is
+       encountered by skip_quote_string.
+
+2021-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * uname.adb (Add_Node_Name): Replace local constant whose
+       initial expression was evaluated even when unnecessary with just
+       that expression that is evaluated at most once and only when
+       needed.
+
+2021-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib.adb (Remove_Unit): Replace defensive code with an
+       assertion.
+       * par-load.adb (Load): Address a question mark in the comment.
+
+2021-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits
+       the Current_Node is either an N_Compilation_Unit node or Empty,
+       so simply return it without redundant checks.
+
+2021-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-load.adb (Load_Unit): Remove excessive whitespace.
+       * lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
+       * par-ch10.adb (P_Compilation_Unit): Simplify with membership
+       test.
+       * par-load.adb (Load): Likewise.
+       * uname.adb (Get_Unit_Name): Likewise.
+
+2021-07-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a
+       constant name.
+
+2021-07-06  Steve Baird  <baird@adacore.com>
+
+       * exp_ch5.adb
+       (Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match):
+       When generating an equality test for a statically known discrete
+       value, only generate the numeric value if the discrete type is
+       not an enumeration type.  If it is an enumeration type, then
+       call Get_Enum_Lit_From_Pos instead.
+
+2021-07-06  Justin Squirek  <squirek@adacore.com>
+
+       * par-ch6.adb (Get_Return_Kind): Removed.
+       (Is_Extended): Created to identify simple and "when" return
+       statements from extended return statements.
+       (P_Return_Statement): Merged simple and "when" return statement
+       processing.
+
+2021-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of
+       "not Extensions_Allowed" with test for absence of Obj_Type's
+       primitive operations Elist, as an additional condition for early
+       return from this procedure.
+
+2021-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch4.adb (Process_Transient_In_Expression): In one comment,
+       fix two typos and reorder wording of one sentence, plus minor
+       reformatting.
+
+2021-07-06  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove
+       legacy expansion of element iterators, and use expansion form
+       used by unconstrained element types in the general case.
+
+2021-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Process_Transient_In_Expression): Ensure that
+       Fin_Context, used to insert finalization code for the
+       expression, is a list member: the value returned by
+       Find_Hook_Context may be an expression node when the transient
+       is part of a larger expression and it has a non-boolean type.
+
+2021-07-06  Yannick Moy  <moy@adacore.com>
+
+       * sem_case.adb: Fix error message.
+
+2021-07-06  Bob Duff  <duff@adacore.com>
+
+       * tbuild.adb (Convert_To): Add assert, along with a comment.
+       (Make_DT_Access): Remove this function, which is not used.  It
+       was incorrect anyway (the call to New_Occurrence_Of should not
+       be there).
+       (Unchecked_Convert_To): Add assert.  The previous version's test
+       for unchecked conversion to the same type was redundant and
+       could never be true, because the previous 'if' already checked
+       for ANY expression of the same type. Remove that, and replace
+       with a test for unchecked conversion to a related type.
+       Otherwise, we somethings get things like
+       "finalize(some_type!(some_type!(x)))" in the generated code,
+       where x is already of type some_type, but we're converting it to
+       the private type and then to the full type or vice versa (so the
+       types aren't equal, so the previous 'if' doesn't catch it).
+       Avoid updating the Parent. This is not necessary; the Parent
+       will be updated if/when the node is attached to the tree.
+       * tbuild.ads: Fix comments. No need to say "this is safe" when
+       we just explained that a few lines earlier.  Remove
+       Make_DT_Access.
+       * sinfo.ads: Add comments.
+       * exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix.
+       * gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb,
+       gen_il-internals.ads: Implement a feature where you can put:
+       Nmake_Assert => "expr" where expr is a boolean expression in a
+       call to Create_Concrete_Node_Type. It is added in a pragma
+       Assert in the Nmake.Make_... function for that type.
+
+2021-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * checks.adb: Remove calls of Set_Do_Tag_Check (N, False).
+       * einfo.ads: Remove hanging unneeded ??? comment ("this real description
+       was clobbered").
+       * exp_util.ads (Insert_Actions_After): Remove ??? from spec comment.
+       * gen_il-fields.ads (Opt_Field_Enum): Remove literals
+       Do_Accessibility_Check and Do_Tag_Check.
+       * gen_il-gen-gen_nodes.adb: Remove all calls to Sm for
+       Do_Accessibility_Check and Do_Tag_Check.
+       * sem_type.ads (Is_Subtype_Of): Remove obsolete ???
+       comment (function is not limited to scalar subtypes).
+       * sem_util.ads (Is_Local_Variable_Reference): Revise comment to
+       mention out-mode parameters as well, and remove ???.
+       (Propagate_Concurrent_Flags): Minor reformatting.
+       (Propagate_Invariant_Attributes): Typo fix.
+       (Propagate_Predicate_Attributes): Indicate what is propagated
+       and remove ??? comment.
+       * sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded
+       test of Do_Tag_Check.
+       (Is_Local_Variable_Reference): Extend function to testing for
+       formals of mode out as well.
+       * sinfo.ads: Remove ??? comment about flag
+       Convert_To_Return_False indicating that the flag is obsolete (in
+       fact it's used). Remove references to Do_Accessibility_Check and
+       Do_Tag_Check (and the two associated ??? comments), as these
+       flags are unneeded.
+       * sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of
+       Set_Do_Tag_Check (N, False).
+       * targparm.ads (Support_Atomic_Primitives_On_Target): Remove ???
+       comment, plus minor reformatting.
+
+2021-07-06  Justin Squirek  <squirek@adacore.com>
+
+       * par-ch6.adb (Get_Return_Kind): Properly handle the case of a
+       "return when" statement in the procedure case.
+
+2021-07-06  Bob Duff  <duff@adacore.com>
+
+       * sem.ads (Node_To_Be_Wrapped): Minor comment fix.
+       * exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and
+       comment improvements.
+       (Set_Node_To_Be_Wrapped): Remove -- not worth putting this code
+       in a separate procedure, called only once.
+       * sem_util.adb (Requires_Transient_Scope): Assert that our
+       parameter has the right Kind. It probably shouldn't be E_Void,
+       but that is passed in in some cases.
+       (Ensure_Minimum_Decoration): Move the call later, so we know Typ
+       is Present, and remove "if Present (Typ)" from this procedure.
+       * exp_aggr.adb (Convert_To_Assignments): Use membership test,
+       and avoid the "if False" idiom.
+       (Expand_Array_Aggregate): Remove a ??? comment.
+       * sem_ch8.adb (Push_Scope): Take advantage of the full coverage
+       rules for aggregates.
+       * sem_res.adb (Resolve_Declare_Expression): Remove test for
+       Is_Type -- that's all it can be.  Use named notation in call to
+       Establish_Transient_Scope.
+       * libgnat/a-cdlili.adb (Adjust): Remove redundant code.
+       (Clear): Remove "pragma Warnings (Off);", which wasn't actually
+       suppressing any warnings.
+
+2021-07-06  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen-gen_nodes.adb: Change the parent of
+       N_Exception_Declaration to be N_Declaration.  Minor comment fix.
+
+2021-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is
+       the name of an assignment operation do not apply predicate check
+       to it prior to the assignment.
+
+2021-07-06  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-conhel.adb: Assert that tampering counts remain
+       between 0 and 2**31-1.  This makes debugging of
+       finalization-related bugs easier.
+
+2021-07-06  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb
+       vice s-osprim__vxworks.adb for all vxworks7r2 targets.
+
+2021-07-06  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-types.ads (Void_Or_Type_Kind,
+       Exception_Or_Object_Kind): Declare.
+       * gen_il-gen-gen_entities.adb: Likewise.
+
+2021-07-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Add a
+       description of the feature of prefixed-view calls for untagged
+       types to the section on pragma Extensions_Allowed.
+       * gnat_rm.texi: Regenerate.
+       * einfo.ads: Update specification for
+       Direct_Primitive_Operations to reflect its use for untagged
+       types when Extensions_Allowed is True.
+       * gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations
+       as a field of untagged classes of types by removing the "Pre"
+       test of "Is_Tagged_Type (N)", and making that field generally
+       available for all types and subtypes by defining it for
+       Type_Kind and removing its specification for individual classes
+       of types.
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the
+       Direct_Primitive_Operations list when not already set for the
+       new (sub)type and its base type (except when Ekind of the type
+       is E_Void, which can happen due to errors in cases where
+       Derived_Type_Declaration is called and perhaps in other
+       situations).
+       (Analyze_Subtype_Declaration): Inherit
+       Direct_Primitive_Operations list from the base type, for record
+       and private cases.
+       (Build_Derived_Record_Type): Initialize the
+       Direct_Primitive_Operations list for derived record and private
+       types.
+       (Build_Derived_Type): Initialize the Direct_Primitive_Operations
+       list for derived types (and also for their associated base types
+       when needed).
+       (Process_Full_View): For full types that are untagged record and
+       private types, copy the primitive operations of the partial view
+       to the primitives list of the full view.
+       * sem_ch4.adb (Analyze_Selected_Component): Allow prefixed
+       notation for subprogram calls in the case of untagged
+       types (when Extensions_Allowed is True). In the case where
+       Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation
+       when a discriminant selector wasn't found. Also call
+       Try_Object_Operation in other type kind cases (when
+       Extensions_Allowed is True).
+       (Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent
+       early return in the untagged case (when Extensions_Allowed is
+       True). Condition main call to Try_Primitive_Operation on the
+       type having primitives, and after that, if Prim_Result is False,
+       test for case where the prefix type is a named access type with
+       primitive operations and in that case call
+       Try_Primitive_Operation after temporarily resetting Obj_Type to
+       denote the access type (and restore it to the designated type
+       after the call)
+       (Try_Object_Operation.Valid_First_Argument_Of): Do matching type
+       comparison by testing Base_Type (Obj_Type) against
+       Base_Type (Typ), rather than against just Typ, to properly
+       handle cases where the object prefix has a constrained
+       subtype.  (Fixes a bug discovered while working on this
+       feature.)
+       * sem_ch6.adb
+       (New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a
+       primitive of an untagged type to the type's list of primitive
+       operations, for both explicit and implicit (derived, so
+       Comes_From_Source is False) subprogram declarations. In the case
+       where the new primitive overrides an inherited subprogram,
+       locate the primitives Elist that references the overridden
+       subprogram, and replace that element of the list with the new
+       subprogram (done by calling the new procedure
+       Add_Or_Replace_Untagged_Primitive on the result type and each
+       formal atype).
+       (Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive):
+       New nested procedure to either add or replace an untagged
+       primitive subprogram in a given type's list of primitive
+       operations (replacement happens in case where the new subprogram
+       overrides a primitive of the type).
+       * sem_ch7.adb (New_Private_Type): When Extensions_Allowed is
+       True, initialize the Direct_Primitive_Operations list of a
+       private type to New_Elmt_List in the case of untagged types.
+       * sem_ch8.adb (Find_Selected_Component): In the case where the
+       prefix is an entity name, relax condition that tests
+       Has_Components so that Analyze_Selected_Component will also be
+       called when Extensions_Allowed is True and the prefix type is
+       any type.
+
+2021-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
+       conformance check when the subprogram body has been created for
+       an expression function that is not a completion of a previous
+       specification, because the profile of the constructed body is
+       copied from the expression function itself.
+
+2021-07-06  Steve Baird  <baird@adacore.com>
+
+       * doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a
+       warning indicating that the details of the default (i.e.,
+       selected by the compiler) implementation of T'Put_Image for a
+       nonscalar type T are subject to change.
+       * gnat_rm.texi: Regenerate.
+
+2021-07-05  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2021-07-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays
+       in Depends and Refined_Depends contracts.
+       (Analyze_Global_In_Decl_Part): Likewise for Global and
+       Refined_Global.
+       (Analyze_Initializes_In_Decl_Part): Likewise for Initializes
+       (when appearing both as a single item and as a initialization
+       clause).
+       * sem_util.ads (Ultimate_Overlaid_Entity): New routine.
+       * sem_util.adb (Report_Unused_Body_States): Ignore overlays.
+       (Ultimate_Overlaid_Entity): New routine.
+
+2021-07-05  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb
+       libgnat/a-cfinve.ads, libgnat/a-cfinve.adb,
+       libgnat/a-cofove.ads, libgnat/a-cofove.adb,
+       libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference):
+       Get a read-only access to an element of the container.
+       (At_End): Ghost functions used to express pledges in the
+       postcondition of Reference.
+       (Reference): Get a read-write access to an element of the
+       container.
+       * libgnat/a-cfhama.ads, libgnat/a-cfhama.adb,
+       libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the
+       Map type is no longer a tagged type, but a wrapper over this
+       tagged type. This is to avoid issues with dispatching result in
+       At_End functions.
+       (Constant_Reference): Get a read-only access to an element of
+       the container.
+       (At_End): Ghost functions used to express pledges in the
+       postcondition of Reference.
+       (Reference): Get a read-write access to an element of the
+       container.
+       * libgnat/a-cfhase.ads, libgnat/a-cfhase.adb,
+       libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the
+       Map type is no longer a tagged type, but a wrapper over this
+       tagged type.
+       (Constant_Reference): Get a read-only access to an element of
+       the container.
+       * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element):
+       Expression function used to cause SPARK to make sure
+       Element_Type is copiable.
+       * libgnat/a-cofuma.ads (Copy_Key): Expression function used to
+       cause SPARK to make sure Key_Type is copiable.
+       (Copy_Element): Expression function used to cause SPARK to make
+       sure Element_Type is copiable.
+
+2021-07-05  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM
+       rule.
+
+2021-07-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-generated.in: Add -f switch to ensure cp will never fail.
+
+2021-07-05  Steve Baird  <baird@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When
+       building the assignment statement corresponding to the default
+       expression for a component, we make a copy of the expression.
+       When making that copy (and if we have seen a component that
+       requires late initialization), pass a Map parameter into the
+       call to New_Copy_Tree to redirect references to the type to
+       instead refer to the _Init formal parameter of the init proc.
+       This includes hoisting the declaration of Has_Late_Init_Comp out
+       one level so that it becomes available to Build_Assignment.
+       (Find_Current_Instance): Return True for other kinds of current
+       instance references, instead of just access-valued attribute
+       references such as T'Access.
+       * sem_util.adb (Is_Aliased_View): Return True for the _Init
+       formal parameter of an init procedure. The changes in
+       exp_ch3.adb can have the effect of replacing a "T'Access"
+       attribute reference in an init procedure with an "_Init'Access"
+       attribute reference. We want such an attribute reference to be
+       legal. However, we do not simply mark the formal parameter as
+       being aliased because that might impact callers.
+       (Is_Object_Image): Return True if Is_Current_Instance returns
+       True for the prefix of an Image (or related attribute) attribute
+       reference.
+
+2021-07-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Stream_Operation_OK): Reuse
+       Is_Concurrent_Interface.
+       * sem_ch3.adb (Analyze_Interface_Declaration,
+       Build_Derived_Record_Type): Likewise.
+       * sem_ch6.adb (Check_Limited_Return): Likewise.
+       * sem_util.adb (Is_Concurrent_Interface): Don't call
+       Is_Interface because each of the Is_Protected_Interface,
+       Is_Synchronized_Interface and Is_Task_Interface calls it anyway.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source
+       with Comes_From_Extended_Return_Statement.
+
+2021-07-05  Steve Baird  <baird@adacore.com>
+
+       * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
+       libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
+       libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
+       libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
+       libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
+       libgnat/a-stouut.adb, libgnat/a-stouut.ads,
+       libgnat/a-stteou.ads: Delete files.
+       * Makefile.rtl, impunit.adb: Remove references to deleted files.
+
+2021-07-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Has_Compatible_Alignment_Internal): If the
+       prefix of the Address expression is an entire object with a
+       known alignment, then skip checks related to its size.
+
+2021-07-05  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-os_lib.ads: Import OS_Time comparison ops as
+       intrinsic.
+       * libgnat/s-os_lib.adb: Remove OS_TIme comparison ops
+       implementation.
+
+2021-07-05  Doug Rupp  <rupp@adacore.com>
+
+       * libgnat/s-os_lib.ads: Add some comments about time_t.
+       * libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to
+       P_OS_Time.
+       (GM_Time_Of/To_OS_Time): Likewise.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_res.adb (Resolve): Insert minus sign if needed.
+
+2021-07-05  Steve Baird  <baird@adacore.com>
+
+       * exp_put_image.adb:
+       (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
+       the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022.
+
+2021-07-05  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Accessibility_Checks_Suppressed): Add check
+       against restriction No_Dynamic_Accessibility_Checks.
+       (Apply_Accessibility_Check): Add assertion to check restriction
+       No_Dynamic_Accessibility_Checks is not active.
+       * debug.adb: Add documentation for new debugging switch to
+       control which accessibility model gets employed under
+       restriction No_Dynamic_Accessibility_Checks.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic
+       accessibility check generation when
+       No_Dynamic_Accessibility_Checks is active.
+       * exp_ch4.adb (Apply_Accessibility_Check): Skip check generation
+       when restriction No_Dynamic_Accessibility_Checks is active.
+       (Expand_N_Allocator): Disable dynamic accessibility checks when
+       No_Dynamic_Accessibility_Checks is active.
+       (Expand_N_In): Disable dynamic accessibility checks when
+       No_Dynamic_Accessibility_Checks is active.
+       (Expand_N_Type_Conversion): Disable dynamic accessibility checks
+       when No_Dynamic_Accessibility_Checks is active.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Disable
+       alternative accessibility model calculations when computing a
+       dynamic level for a SAOAAT.
+       * exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic
+       accessibility check generation when
+       No_Dynamic_Accessibility_Checks is active.
+       (Expand_Branch): Disable alternative accessibility model
+       calculations.
+       (Expand_Call_Helper): Disable alternative accessibility model
+       calculations.
+       * restrict.adb, restrict.ads: Add new restriction
+       No_Dynamic_Accessibility_Checks.
+       (No_Dynamic_Accessibility_Checks_Enabled): Created to test when
+       experimental features (which are generally incompatible with
+       standard Ada) can be enabled.
+       * sem_attr.adb (Safe_Value_Conversions): Add handling of new
+       accessibility model under the restriction
+       No_Dynamic_Accessibility_Checks.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Disallow new restriction No_Dynamic_Accessibility_Checks from
+       being exclusively specified within a body or subunit without
+       being present in a specification.
+       * sem_res.adb (Check_Fully_Declared_Prefix): Minor comment
+       fixup.
+       (Valid_Conversion): Omit implicit conversion checks on anonymous
+       access types and perform static checking instead when
+       No_Dynamic_Accessibility_Checks is active.
+       * sem_util.adb, sem_util.ads (Accessibility_Level): Add special
+       handling of anonymous access objects, formal parameters,
+       anonymous access components, and function return objects.
+       (Deepest_Type_Access_Level): When
+       No_Dynamic_Accessibility_Checks is active employ an alternative
+       model. Add paramter Allow_Alt_Model to override the new behavior
+       in certain cases.
+       (Type_Access_Level): When No_Dynamic_Accessibility_Checks is
+       active employ an alternative model. Add parameter
+       Allow_Alt_Model to override the new behavior in certain cases.
+       (Typ_Access_Level): Created within Accessibility_Level for
+       convenience.
+       * libgnat/s-rident.ads, snames.ads-tmpl: Add handing for
+       No_Dynamic_Accessibility_Checks.
+
+2021-07-05  Doug Rupp  <rupp@adacore.com>
+
+       * adaint.h (__gnat_set_file_time_name): Use OS_Time.
+       * adaint.c (__gnat_set_file_time_name): Likewise.
+
+2021-07-05  Doug Rupp  <rupp@adacore.com>
+
+       * adaint.h (OS_Time): typedef as long long.
+       * osint.adb (Underlying_OS_Time): Declare as 64-bit signed type.
+       * libgnat/s-os_lib.adb ("<"): Compare OS_Time as
+       Long_Long_Integer.
+       ("<="): Likewise.
+       (">"): Likewise.
+       (">="): Likewise.
+       * libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch3.adb (Check_Abstract_Overriding): Post error message on
+       renaming node.
+
+2021-07-05  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-uncdea.ads: Add Depends/Post to
+       Ada.Unchecked_Deallocation.
+       * sem_ch4.adb (Analyze_Allocator): Remove checking of allocator
+       placement.
+       * sem_res.adb (Flag_Object): Same.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * aspects.ads: Add GNAT_Annotate aspect.
+       * gnat1drv.adb (Adjust_Global_Switches): Stop defining
+       Name_Gnat_Annotate as an alias of Name_Annotate.
+       * snames.ads-tmpl: Define Gnat_Annotate.
+       * par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list
+       of pragmas.
+       * lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate
+       like Aspect_Annotate.
+
+2021-07-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * ttypes.ads (Target_Strict_Alignment): Fix comment.
+
+2021-07-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Has_Compatible_Alignment_Internal): Fix
+       indentation of ELSIF comments; remove explicit calls to
+       UI_To_Int; remove extra parens around the MOD operand.
+
+2021-07-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check
+       for the need to use an extension aggregate for a given component
+       when within an instance and the type of the component hss a
+       private ancestor: the instantiation is legal if the generic
+       compiles, and spurious errors may be generated otherwise.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * errout.adb (Output_JSON_Message): Recursively call
+       Output_JSON_Message for continuation messages instead of
+       appending their content to the initial message.
+
+2021-07-05  Steve Baird  <baird@adacore.com>
+
+       * debug.adb: Remove comments about -gnatd_z switch.
+       * exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix
+       for a subtle bug that took some effort to debug. Append a new
+       Put_Image procedure for a type extension even if it seems to
+       already have one, just as is done for (for example) the
+       streaming-related Read procedure.
+       * exp_put_image.adb:
+       (Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do
+       not treat _Parent component like just another component, for two
+       reasons.  1. If the _parent component's type has a
+       user-specified Put_Image procedure, then we want to generate a
+       call to that procedure and then generate extension aggregate
+       syntax.  2. Otherwise, we still don't want to see any mention of
+       "_parent" in the generated image text.
+       (Build_Record_Put_Image_Procedure.Make_Component_Name): Add
+       assertion that we are not generating a reference to an "_parent"
+       component.
+       (Build_Record_Put_Image_Procedure): Add special treatment for
+       null records.  Add call to Duplicate_Subexpr for image attribute
+       prefix in order to help with expansion needed in the class-wide
+       case (where the prefix is also referenced in the call to
+       Wide_Wide_Expanded_Name) if evaluation of the prefix has side
+       effects. Add new local helper function, Put_String_Exp.  Add
+       support for case where prefix type is class-wide.
+       (Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version
+       > Ada_2022 instead of (indirectly) querying -gnatd_z switch.
+       * freeze.adb (In_Expanded_Body): A one-line change to add
+       TSS_Put_Image to the list of subprograms that have
+       expander-created bodies.
+       * rtsfind.ads: Add support for accessing
+       Ada.Tags.Wide_Wide_Expanded_Name.
+       * sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function,
+       as part of moving it to Sem_Util.
+       * sem_ch13.adb
+       (Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve
+       diagnostic messages in cases where the result is going to be
+       False and the Report parameter is True. Relax overly-restrictive
+       checks in order to implement mode conformance.
+       (Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar
+       relaxation of parameter subtype checking for the Stream
+       parameter of user-defined streaming subprograms.
+       * sem_disp.adb (Check_Dispatching_Operation): A one-line
+       change (and an accompanying comment change) to add TSS_Put_Image
+       to the list of compiler-generated dispatching primitive
+       operations.
+       * sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean
+       parameter to Is_Null_Record_Type function (typically the
+       parameter will be False when the function is being used in the
+       implementation of static semantics and True for dynamic
+       semantics; the parameter might make a difference in the case of,
+       for example, a private type that is implemented as a null record
+       type).  Add related new routines Is_Null_Extension (formerly
+       declared in Sem_Ch3), Is_Null_Extension_Of, and
+       Is_Null_Record_Definition.
+
+2021-07-05  Justin Squirek  <squirek@adacore.com>
+
+       * freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars.
+
+2021-07-05  Bob Duff  <duff@adacore.com>
+
+       * checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb,
+       sem_util.adb, sem_util.ads: Change L and H to be First and Last,
+       to match the attributes in the RM. Change calls from procedure
+       to function where appropriate.
+
+2021-07-05  Bob Duff  <duff@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New
+       procedure to compute Returns_By_Ref, to avoid some code
+       duplication. This will likely change soon, so it's good to have
+       the code in one place.
+       (CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because
+       it's called by Compute_Returns_By_Ref, and this is a better
+       place for it anyway.
+       (Needs_Finalization): Fix comment to be vague instead of wrong.
+       * exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram):
+       Call Compute_Returns_By_Ref.
+       * sem_ch6.adb (Check_Delayed_Subprogram): Call
+       Compute_Returns_By_Ref.
+       * exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to
+       Sem_Util.
+       (Has_New_Controlled_Component): Remove unused function.
+
+2021-07-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_ch3.adb (Check_Abstract_Overriding): Check for renamings.
+
+2021-07-05  Boris Yakobowski  <yakobowski@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1
+       in CodePeer_Mode.
+
+2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/101094
+       * exp_attr.adb (Get_Integer_Type): Return an integer type with the
+       same signedness as the input type.
+
+2021-06-29  Richard Kenner  <kenner@adacore.com>
+
+       * sem_util.adb (Visit_Node): Add handling for N_Block_Statement
+       with declarations.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo-utils.adb
+       (Unknown_Alignment): Simply negate the Known_ counterpart.
+       (Unknown_Component_Bit_Offset): Likewise.
+       (Unknown_Esize): Likewise.
+       (Unknown_Normalized_First_Bit): Likewise.
+       (Unknown_Normalized_Position): Likewise.
+       (Unknown_Normalized_Position_Max): Likewise.
+       (Unknown_RM_Size): Likewise.
+
+2021-06-29  Boris Yakobowski  <yakobowski@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
+       in CodePeer_Mode.
+
+2021-06-29  Aleksandra Pasek  <pasek@adacore.com>
+
+       * libgnat/s-objrea.adb (EM_AARCH64): New Constant.
+       (Initialize): Handle EM_AARCH64 case.
+       (Read_Address): Handle AARCH64 case.
+       * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
+       component.
+
+2021-06-29  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_Record_Representation_Clause): Call
+       Set_Entity_With_Checks instead of Set_Entity, so we perform the
+       check for correct casing.
+       * style.adb (Check_Identifier): Minor comment improvement.
+       Cleanup overly complicated code.
+
+2021-06-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
+       the aggregate, the expression can be removed from the
+       declaration, except if the object is class-wide, in which case
+       the aggregate provides the actual type. In other cases the
+       presence of the expression may lead to spurious freezing issue.
+       * exp_ch3.adb (Expand_N_Object_Declaration): If the expression
+       in the declaration is an aggregate with delayed expansion (as is
+       the case for objects of a limited type, or a subsequent address
+       specification) the aggregate must be resolved at this point.
+       This resolution must not include expansion, because the
+       expansion of the enclosing declaration will construct the
+       necessary aggregate expansion.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.ads (Adjust_Name_Case): Remove obsolete and now unused
+       variant.
+       * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
+       a custom buffer to also use it for names in Standard_Location.
+
+2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
+       (Install_Body): Likewise.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * adaint.c (__gnat_portable_spawn): Revert change that
+       introduced setting of __gnat_in_child_after_fork.
+
+2021-06-29  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
+       aspect.
+
+2021-06-29  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
+       i-vxinco.o out of RTP runtime.
+
+2021-06-29  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
+       pre and postconditions.
+       * libgnat/a-cfhama.ads: Likewise.
+       * libgnat/a-cfhase.ads: Likewise.
+       * libgnat/a-cfinve.ads: Likewise.
+       * libgnat/a-cforma.ads: Likewise.
+       * libgnat/a-cforse.ads: Likewise.
+       * libgnat/a-cofove.ads: Likewise.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads (Get_Fullest_View): Refill comment; remove extra
+       extra after period.
+       * sem_util.adb (Get_Fullest_View): Fix style.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations): Remove explicit check for
+       missing, because a subsequent call to Is_Empty_List will detect
+       them anyway.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * freeze.adb (Freeze_All): Simplify by reusing
+       Is_Subprogram_Or_Entry.
+       * sem_ch11.adb (Analyze_Handled_Statement): Likewise.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
+       errors once for the subprogram call, not for every pair of
+       actual parameters.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.
+
+2021-06-29  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.ads (Can_Override_Operator): Function declaration
+       moved from package body to package spec.
+       * sem_ch6.adb (Check_Overriding_Indicator): Now use test of
+       whether the subprogram's Chars is an operator name, to handle
+       cases of function instances whose entity is
+       N_Defining_Identifier rather than N_Defining_Operator_Symbol.
+       (Can_Override_Operator): Function declaration moved to package
+       spec.  Now use test of whether the subprogram's Chars is an
+       operator name, to handle cases of function instances whose
+       entity is N_Defining_Identifier rather than
+       N_Defining_Operator_Symbol.
+       * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
+       possibility of an overridden predefined operator, and suppress
+       the "not overriding" message in that case.
+
+2021-06-29  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Build_Array_VS_Func): Restore uses of
+       Validated_View.
+       (Build_Record_VS_Func): Likewise.
+       (Expand_N_Attribute_Reference): Likewise.
+       * sem_util.adb (Validated_View): Behave as an identity function
+       for arrays and scalars.
+
+2021-06-29  Bob Duff  <duff@adacore.com>
+
+       * atree.adb, atree.ads (Parent, Set_Parent): Assert node is
+       Present.
+       (Copy_Parent, Parent_Kind): New helper routines.
+       * gen_il-gen.adb: Add with clause.
+       * nlists.adb (Parent): Assert Parent of list is Present.
+       * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
+       exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
+       sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
+       sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
+       treepr.adb: Do not call Parent and Set_Parent on the Empty node.
+       * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
+       Minor: Fix typos in comments.
+       * einfo.ads: Minor comment update.
+       * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
+       New functions.
+
+2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * repinfo-input.adb (Read_JSON_Stream): Fix typo.
+
+2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
+       RE_Valid_Value_Enumeration_NN.
+       (RE_Unit_Table): Adjust to above renaming.
+       * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
+       * libgnat/s-valuen.ads (Invalid): Remove.
+       (Value_Enumeration_Pos): Move to...
+       * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
+       Return -1 instead of Invalid.
+       (Value_Enumeration): Compare against 0 instead of Invalid.
+       (Valid_Enumeration_Value): Likewise.  Rename to...
+       (Valid_Value_Enumeration): ...this.
+       * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
+       (Valid_Value_Enumeration_8): ...this.
+       * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
+       (Valid_Value_Enumeration_16): ...this.
+       * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
+       (Valid_Value_Enumeration_32): ...this.
+
+2021-06-29  Bob Duff  <duff@adacore.com>
+
+       * einfo.ads (Component_Bit_Offset, Component_Size): Update
+       documentation: Repinfo is the package where these negative
+       values are documented.
+       * einfo-utils.adb (Known_Component_Size,
+       Known_Static_Component_Size, Unknown_Component_Size): Remove
+       calls to Implementation_Base_Type, because Component_Size is an
+       Impl_Base_Type_Only field (see Gen_Entities).
+       * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
+       RM_Size. This is unnecessary in the case of Size. For
+       Component_Size, it is wrong, because we would be setting the
+       Esize and RM_Size of the component type.
+
+2021-06-29  Pascal Obry  <obry@adacore.com>
+
+       * s-oscons-tmplt.c: Add some OS constants.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads (Validated_View): Fix style in comment.
+       * sem_util.adb (Validated_View): Rewrite in recursive style.
+
+2021-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Make-generated.in (ada/stamp-gen_il): Ignore errors from
+       running gen_il-main.
+
+2021-06-29  Richard Kenner  <kenner@adacore.com>
+
+       * gen_il-gen-gen_entities.adb (Record_Field_Kind,
+       Allocatable_Kind): Add new abstract kinds.
+       (Constant_Or_Variable_Kind): Likewise.
+       (E_Constant, E_Variable, E_Loop_Parameter): Use them.
+       (E_Discriminant, E_Component): Likewise.
+       * gen_il-types.ads (type Opt_Type_Enum): Add them.
+
+2021-06-29  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
+       numbers.
+       * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
+       function. It was assuming that the order of the enumeration
+       literals in Type_Enum is the same as the order of the generated
+       types Node_Kind and Entity_Kind, which is not true.
+
+2021-06-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
+       Validated_View for record objects.
+
+2021-06-28  Martin Sebor  <msebor@redhat.com>
+
+       * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
+       Replace TREE_NO_WARNING with suppress_warning.
+       (gnat_gimplify_expr): Same.
+       * gcc-interface/utils.c (gnat_pushdecl): Same.
+
+2021-06-21  Gary Dismukes  <dismukes@adacore.com>
+
+       * checks.adb (Selected_Range_Checks): In the case of a
+       qualified_expression where the qualifying subtype is an
+       unconstrained array subtype with fixed lower bounds for some of
+       its indexes, generate tests to check that those bounds are equal
+       to the corresponding lower bounds of the qualified array object.
+
+2021-06-21  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-valuen.ads (Value_Enumeration,
+       Valid_Enumeration_Value): Inline.
+       (Value_Enumeration_Pos): Add Pure_Function.
+
+2021-06-21  Justin Squirek  <squirek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
+       feature under pragma Extensions_Allowed.
+       * gnat_rm.texi: Regenerate.
+       * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
+       issue errors when parsing extension only constructs.
+       * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
+       Created to expand raise ... when constucts.
+       * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
+       Created to expand goto ... when constructs.
+       * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
+       Created to expand return ... when constructs.
+       * expander.adb (Expand): Add case entries for "when" constructs.
+       * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
+       "when" constructs.
+       * par-ch11.adb (P_Raise_Statement): Add processing for raise ...
+       when.
+       * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
+       Missing_Semicolon_On_When and moved to par-util.adb.
+       * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
+       processing added for "return ... when" return kind.
+       (Is_Simple): Renamed to Get_Return_Kind.
+       (P_Return_Statement): Add case for return ... when variant of
+       return statement.
+       * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
+       centeralize parsing of "when" keywords in the context of "when"
+       constructs.
+       * sem.adb (Analyze): Add case for "when" constructs.
+       * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
+       Created to analyze raise ... when constructs.
+       * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
+       Created to analyze goto ... when constructs.
+       * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
+       Created to analyze return ... when constructs.
+       * sprint.adb (Sprint_Node_Actual): Add entries for new "when"
+       nodes.
+
+2021-06-21  Steve Baird  <baird@adacore.com>
+
+       * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
+       (ada/stamp-gen_il): Remove dependencies on libgnat/ sources.  Do not
+       copy libgnat/ sources locally and tidy up.
+       * Makefile.rtl: Include object files for new Text_Buffer units
+       in the GNATRTL_NONTASKING_OBJS list.
+       * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
+       match new specs. For example, calls to RE_Sink are replaced with
+       calls to RE_Root_Buffer_Type. Update comments and change
+       subprogram names accordingly (e.g., Preload_Sink is changed to
+       Preload_Root_Buffer_Type).
+       * impunit.adb: Add 6 new predefined units (Text_Buffers and 5
+       child units thereof).
+       * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
+       Ada.Strings.Text_Buffers package and declarations
+       therein (including the Unbounded child unit). Do not (yet)
+       delete interfaces for accessing the old Text_Output package.
+       * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
+       with RE_Root_Buffer_Type and update comments accordingly.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Update call to
+       reflect name change of callee (that is, the former Preload_Sink
+       is now Preload_Root_Buffer_Type).
+       * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
+       RE_Root_Buffer_Type.
+       (Build_Spec): Update comment describing a parameter type.
+       * gen_il.ads: Remove clauses for the old Text_Output package and
+       add them for Ada.Streams.Stream_IO.
+       (Sink): Declare.
+       (Create_File): Likewise.
+       (Increase_Indent): Likewise.
+       (Decrease_Indent): Likewise.
+       (Put): Likewise.
+       (LF): Likewise.
+       * gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
+       (Create_File): New procedure.
+       (Increase_Indent): Likewise.
+       (Decrease_Indent): Likewise.
+       (Put): New procedures.
+       * gen_il-gen.adb: Add clauses for Ada.Text_IO.  Replace
+       Sink'Class with Sink throughout.  Use string concatenation and
+       LF marker instead of formatted strings and "\n" marker.  Update
+       Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
+       names.
+       (Put_Membership_Query_Decl): Remove.
+       * gen_il-internals.ads: Replace Sink'Class with Sink throughout.
+       (Ptypes): Remove.
+       (Pfields): Likewise.
+       * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
+       Ada.Strings.Text_Buffers.Files.  Replace Sink'Class with Sink
+       throughout.  Use string concatenation and LF marker instead of
+       formatted strings and "\n" marker.
+       (Stdout): Remove.
+       (Ptypes): Likewise.
+       (Pfields): Likewise.
+       * libgnarl/s-putaim.ads: Modify context clause, update
+       declaration of subtype Sink to refer to
+       Text_Buffers.Root_Buffer_Type instead of the old
+       Text_Output.Sink type.
+       * libgnarl/s-putaim.adb: Modify context clause and add use
+       clause to refer to Text_Buffers package.
+       * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
+       libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
+       libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
+       libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
+       libgnat/a-cborma.ads, libgnat/a-cborma.adb,
+       libgnat/a-cborse.ads, libgnat/a-cborse.adb,
+       libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
+       libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
+       libgnat/a-cihama.ads, libgnat/a-cihama.adb,
+       libgnat/a-cihase.ads, libgnat/a-cihase.adb,
+       libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
+       libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
+       libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
+       libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
+       libgnat/a-coboho.ads, libgnat/a-coboho.adb,
+       libgnat/a-cobove.ads, libgnat/a-cobove.adb,
+       libgnat/a-cohama.ads, libgnat/a-cohama.adb,
+       libgnat/a-cohase.ads, libgnat/a-cohase.adb,
+       libgnat/a-coinho.ads, libgnat/a-coinho.adb,
+       libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
+       libgnat/a-coinve.ads, libgnat/a-coinve.adb,
+       libgnat/a-comutr.ads, libgnat/a-comutr.adb,
+       libgnat/a-convec.ads, libgnat/a-convec.adb,
+       libgnat/a-coorma.ads, libgnat/a-coorma.adb,
+       libgnat/a-coormu.ads, libgnat/a-coormu.adb,
+       libgnat/a-coorse.ads, libgnat/a-coorse.adb,
+       libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
+       libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
+       libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
+       libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
+       libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
+       libgnat/s-rannum.adb: Modify Put_Image procedure used in
+       Put_Image aspect specification to conform to Ada profile
+       rules (in particular, the first parameter shall be of type
+       Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
+       * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
+       libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
+       libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
+       libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
+       libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
+       libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
+       unit, Ada.Strings.Text_Buffers, and five child units.  Two of
+       the five are RM-defined: Bounded and Unbounded. The remaining
+       three are GNAT-defined: Files, Utils, and Formatting. The buffer
+       type corresponding to an output file, type Files.File_Buffer, is
+       simpler (and perhaps therefore slower) than its predecessor.
+       Caching similar to what was being done before could be added
+       later if that seems appropriate.
+       * libgnat/s-putima.ads: Modify context clause, update
+       declaration of subtype Sink to refer to
+       Text_Buffers.Root_Buffer_Type instead of the old
+       Text_Output.Sink type.
+       * libgnat/s-putima.adb: Modify context clause.  Update
+       Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
+       names; ditto for "Put_String => Put" name change.
+       * libgnat/a-stteou__bootstrap.ads: Delete.
+
+2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
+       ordering is in effect for the operands and they are small,
+       adjust the unchecked conversions done around them.
+
+2021-06-21  Richard Kenner  <kenner@adacore.com>
+
+       * einfo.ads (Return_Statement): Add documentation.
+       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
+       * gen_il-fields.ads: Add it.
+       * gen_il-gen-gen_entities.adb: Add it.
+
+2021-06-21  Bob Duff  <duff@adacore.com>
+
+       * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
+       libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
+       function to copy bit fields faster than Copy_Bitfield. Cannot be
+       called with zero-size bit fields.  Remove obsolete ??? comments
+       from s-bituti.adb; we already do "avoid calling this if
+       Forwards_OK is False".
+       * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
+       Expand_Assign_Array_Bitfield_Fast): Generate calls to
+       Fast_Copy_Bitfield when appropriate.
+       * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
+       functions for getting the index bounds. These are more
+       convenient than the procedure of the same name, because they can
+       be used to initialize constants.
+
+2021-06-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
+       type for fields.
+       * gen_il-gen-gen_nodes.adb: Add call to create new field for
+       Formal_Type_Declaration node.
+       * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
+       recognize new syntax for default: "or use subtype_mark".
+       (P_Formal_Type_Definition): Ditto for the case of a formal
+       incomplete type.
+       * sinfo.ads: Add field Default_Subtype_Mark to
+       N_Formal_Type_Declaration.
+       * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
+       apply legality rules to default subtypes in formal type
+       declarations. Some legality rules apply to all defaults, such as
+       the requirement that the default for a formal type that depends
+       on previous formal entities must itself be a previously declared
+       formal of the same unit. Other checks are kind- specific.
+       (Analyze_Associations): Use specified default if there is no
+       actual provided for a formal type in an instance.
+       (Analyze_Formal_Type_Declaration): Call
+       Validate_Formal_Type_Default when default subtype is present.
+
+2021-06-21  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-valuen.ads, libgnat/s-valuen.adb
+       (Value_Enumeration_Pos): New function to compute the 'Pos of the
+       enumeration literal for a given String.  Return a special value
+       instead of raising an exception on invalid input. Called by both
+       Valid_Enumeration_Image and Value_Enumeration.
+       (Valid_Enumeration_Image): Return a Boolean indicating whether
+       the String is a valid Image for the given enumeration type.
+       (Value_Enumeration): Implement in terms of
+       Value_Enumeration_Pos.
+       * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
+       libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
+       instances.
+       * libgnat/s-valuti.ads: Correct documentation (it was not true
+       for the null string).
+       * libgnat/s-valuti.adb (Normalize_String): Do not raise
+       Constraint_Error for the null string, nor strings containing
+       nothing but blanks, so that Valid_Enumeration_Image can return
+       False in these cases, rather than raising an exception.
+       * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
+       RE_Value_Enumeration_32): New functions.
+       (RTE_Available): Improve comment (E doesn't have to be a
+       subprogram, although that's the usual case).
+       * sem_attr.adb (nalid_Value): Semantic analysis for new
+       attribute.
+       * exp_attr.adb: Call Expand_Valid_Value_Attribute for new
+       attribute.
+       * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
+       procedure to expand Valid_Value into a call to
+       Valid_Enumeration_Image_NN.
+       (Expand_Value_Attribute): Misc code cleanups.  Remove two ???
+       mark comments. RTE_Available won't work here.  For one thing,
+       RTE_Available (X) shouldn't be called until the compiler has
+       decided to make use of X (see comments on RTE_Available), and in
+       this case we're trying to AVOID calling something.
+       * snames.ads-tmpl: New attribute name.
+       * doc/gnat_rm/implementation_defined_attributes.rst: Document
+       new attribute.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h (Assume_No_Invalid_Values): Declare.
+       * opt.ads (Assume_No_Invalid_Values): Add warning comment.
+
+2021-06-21  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
+       type.
+       * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
+       bitfields.
+
+2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
+       * libgnat/s-rannum.adb (Random): Update comment.
+       * libgnat/s-rannum.ads (Generator): Update comment.
+
+2021-06-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
+       Clauses): Fix unbalanced parens.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * errout.adb (Handle_Serious_Error): Capitalize comment.
+       * exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
+       * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
+       typo.
+       * sem_ch3.adb (Modular_Type_Declaration): Add space after comma.
+
+2021-06-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * debug.adb: Document -gnatd_U as taken.
+       * err_vars.ads (Warning_Doc_Switch): Set to True.
+       * errout.ads (Errout): Update documentation.
+       * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
+       * hostparm.ads (Tag_Errors): Set to True.
+       * opt.ads (Unique_Error_Tag): Document -gnatd_U.
+
+2021-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * urealp.ads (UR_Write_To_JSON): Declare.
+       * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
+       specially and rewrite handling of numbers in other bases.
+       (Decimal_Exponent_Lo): Likewise.
+       (Normalize): Minor tweak.
+       (UR_Write_To_JSON): New wrapper procedure around UR_Write.
+       * repinfo.adb (List_Type_Info): When the output is to JSON, call
+       UR_Write_To_JSON instead of UR_Write.
+
+2021-06-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
+       offset for components within multidimensional arrays; remove
+       redundant parens.
+
+2021-06-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Find_Overlaid_Entity): Ignore references to
+       components and discriminants.
+
+2021-06-21  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
+       $(TRASYM_DWARF_UNIX_PAIRS).
+       [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)
+
+2021-06-21  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Expand_Sliding_Conversion): Only perform
+       expansion when Expander_Active is True. Add a comment about this
+       and refine existing comment regarding string literals.
+
+2021-06-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Denotes_Same_Object): Simplify handling of
+       slices.
+
+2021-06-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
+       simplify; adapt callers.
+
+2021-06-21  Frederic Konrad  <konrad@adacore.com>
+
+       * Makefile.rtl: Compiles both static and dynamic libgnat for
+       powerpc64-wrs-vxworks7r2.
+
+2021-06-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Constrain_Array): Add error checking for
+       fixed-lower-bound and constrained index ranges applied
+       inappropriately on subtypes of unconstrained and
+       fixed-lower-bound array types.
+       (Constrain_Index): Correct and refine comment related to
+       fixed-lower-bound index ranges.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb: Improve comments.
+       * snames.ads-tmpl (Convention_Id): Remove "--  Plenty of space
+       for expansion", because that's irrelevant now that we are no
+       longer laying out node fields by hand.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Denotes_Same_Object): Handle character literals
+       just like integer literals.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Denotes_Same_Object): Explicitly test for node
+       kinds being the same; deal with renamings one-by-one; adjust
+       numbers in references to the Ada RM.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * sprint.adb (Write_Source_Line): Check for EOF in
+       Line_Terminator loop.  Note that when a source file is read in,
+       an EOF character is added to the end.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aux.adb (Package_Specification): Add assertions to confirm
+       the kind of the of parameter and returned node.
+       * sem_ch12.adb (Remove_Parent): Reorder conditions; this change
+       appears to be semantically neutral, but is enough to avoid the
+       problematic call to Package_Specification.
+       * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
+       with a call to Package_Specification.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
+       Enum_Type'Object_Size.
+
+2021-06-18  Olivier Hainque  <hainque@adacore.com>
+
+       * sigtramp-vxworks-target.inc (__aarch64__): Sync
+       REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
+       In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
+
+2021-06-18  Javier Miranda  <miranda@adacore.com>
+
+       * contracts.adb (Process_Spec_Postconditions): Add missing
+       support for aliased subprograms and handle wrappers of
+       class-wide pre/post conditions.
+       (Process_Inherited_Preconditions): Add missing support for
+       aliased subprograms and handle wrappers of class-wide pre/post
+       conditions.
+       * einfo.ads (Class_Wide_Clone): Fix typo.
+       (Is_Class_Wide_Clone): Removed since it is not referenced.
+       (Is_Wrapper): Documenting new flag.
+       (LSP_Subprogram): Documenting new attribute.
+       * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
+       wrapper as Is_Wrapper and adjust call to
+       Override_Dispatching_Operation.
+       * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
+       documentation.
+       (Check_Inherited_Conditions): Handle LSP wrappers; ensure
+       correct decoration of LSP wrappers.
+       * gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
+       (Is_Wrapper): Added.
+       (LSP_Subprogram): Added.
+       * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
+       (Is_Wrapper): Added.
+       (LSP_Subprogram): Added.
+       * gen_il-internals.adb (Image): Adding uppercase image of
+       LSP_Subprogram.
+       * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
+       wrappers.
+       * sem_disp.ads (Override_Dispatching_Operation): Remove
+       parameter Is_Wrapper; no longer needed.
+       * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
+       (Override_Dispatching_Operation): Remove parameter Is_Wrapper;
+       no longer needed.
+       * treepr.adb (Image): Adding uppercase image of LSP_Subprogram.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
+       of the name of a "for of" loop is frozen.
+       * exp_disp.adb (Check_Premature_Freezing): Complete condition to
+       take into account a private type completed by another private
+       type now that the freezing rule are better implemented.
+       * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
+       early freeze on types if not in the proper scope. Special case
+       expression functions that requires access to the dispatch table.
+       (Should_Freeze_Type): New.
+       * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
+       failure in case of an invalid tree (previous errors detected).
+       * sem_res.adb (Resolve): Remove kludge related to entities
+       causing incorrect premature freezing.
+       * sem_util.adb (Ensure_Minimum_Decoration): Add protection
+       against non base types.
+
+2021-06-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Constrain_Index): Set the High_Bound of a
+       fixed-lower-bound subtype's range to T (the subtype of the FLB
+       index being constrained) rather than Base_Type (T).
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
+       einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
+       libgnat/a-textio.ads, libgnat/g-memdum.ads,
+       libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
+       osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
+       sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
+       targparm.ads, types.ads: Remove AAMP-specific code.
+       * switch.ads: Minor reformatting.
+       * gen_il-fields.ads, gen_il-gen.adb,
+       gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
+       einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
+       is (IEEE_Binary);", which used to also have an enumeral AAMP.
+       Gen_IL can't handle fields of this type, which would be zero
+       sized. Therefore, we move the Float_Rep field into Einfo.Utils
+       as a synthesized attribute. (We do not delete the field
+       altogether, in case we want new floating-point representations
+       in the future.)
+       * doc/gnat_rm/implementation_defined_pragmas.rst,
+       doc/gnat_rm/implementation_defined_aspects.rst,
+       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
+       AAMP-specific documentation.
+       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2021-06-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Expand_Sliding_Conversion): Move test of
+       Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
+       literals from sliding expansion.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
+       related to Ada_Version.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Address_Value): Simplify.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
+       instead of Intval, because the latter only exists in literals.
+       Remove Set_Etype on E1; setting the type is done elsewhere.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
+       both formal parameters; refactor a complex detection of
+       by-reference types.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatcmd.adb: Fix handling of check and test commands.
+
+2021-06-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Add
+       documentation for the array fixed-lower-bound feature.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * debug.adb: Document switch.
+       * exp_aggr.adb: If -gnatd_g was given, then do not bump the
+       limit to 500_000.
+
+2021-06-18  Bob Duff  <duff@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Has_Access_Values): Remove
+       Include_Internal parameter that was added in previous change.
+       * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
+       Formal_Kind change made previously. Check Is_Private_Type to
+       avoid warnings on private types. Misc cleanup.
+       * sem_attr.adb (Attribute_Has_Access_Values): Remove
+       Include_Internal parameter.
+
+2021-06-18  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
+       for overlapping actuals in prefix notation.
+
+2021-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_prag.adb (Process_Import_Or_Interface): Do not
+       artificially record a possible modification for a constant.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Code cleanups.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
+       sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
+       sem_util.adb, sem_util.ads, sinfo.ads: Update comments.
+
+2021-06-18  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
+       True if -fdiagnostics-format=json option is found.
+       * back_end.ads (Scan_Compiler_Arguments): Mention
+       Opt.JSON_Output.
+       * errout.adb (Output_JSON_Message): New procedure.
+       (Output_Messages): If Opt.JSON_Output is True, print messages
+       with new Output_JSON_Message procedure.
+       * opt.ads: Declare JSON_Output variable.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Mention new -fdiagnostics-format option.
+       * gnat_ugn.texi: Regenerate.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
+       mismatch check when Relaxed_RM_Semantics is set.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
+       switch-c.adb (Extensions_Allowed): Replace by a function.
+       (Ada_Version_Type): Add new value Ada_With_Extensions, to
+       replace setting of Extensions_Allowed.  Update setting of
+       Extensions_Allowed.
+
+2021-06-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * bindgen.adb (Gen_Output_File_Ada): Generate a new constant
+       GNAT_Version_Address.
+       * libgnat/g-comver.adb (GNAT_Version_Address): New;
+       (GNAT_Version): Use GNAT_Version_Address to disable LTO warning.
+
+2021-06-18  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads (Is_Ada_2022_Only): Adding documentation.
+       * gen_il-fields.ads (Is_Ada_2022_Only): New flag.
+       * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
+       * itypes.adb (Create_Null_Excluding_Itype): Inherit
+       Is_Ada_2022_Only.
+       * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
+       on Ada 2022 only subprograms that require overriding if we are
+       not in Ada 2022 mode.
+       (Derive_Subprogram): Inherit Is_Ada_2022_Only.
+       * sem_ch6.adb (Check_Overriding_Indicator): Inherit
+       Is_Ada_2022_Only.
+       (New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
+       * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
+       Is_Ada_2022_Only.
+       (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
+       * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
+       Is_Ada_2022_Only.
+       (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
+       * sem_prag.adb (Analyze_Pragma): Allow form with argument for
+       Ada 2022.
+       * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
+       * lib-xref.adb (Generate_Reference): Error on static and
+       dispatching calls to Ada 2022 subprograms that require
+       overriding if we are not in Ada 2022 mode; warn on other
+       references to Ada 2022 entities when not in Ada 2022 mode.
+       * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
+       Ada_2020_Only.
+       * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
+       * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
+       * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
+       * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
+       * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
+       (New_Vector): Adding pragma Ada_2022.
+       (Insert_Vector): Adding pragma Ada_2022.
+       (Prepend_Vector): Adding pragma Ada_2022.
+       (Append_Vector): Adding pragma Ada_2022.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
+       no Primitive_Operations.
+
+2021-06-17  Vadim Godunko  <godunko@adacore.com>
+
+       * libgnat/a-strunb__shared.ads (Allocate): Additional parameter
+       to provide additional amount of space to be allocated.
+       * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
+       length to Natural'Last when requested length is larger than it.
+       (Allocate): Merge two slightly different implementations into
+       one.
+
+2021-06-17  Gary Dismukes  <dismukes@adacore.com>
+
+       * checks.adb (Discrete_Range_Cond): For an index subtype that
+       has a fixed lower bound, require that the range's lower bound
+       match that of the subtype.
+       (Selected_Range_Checks): Warn about the case where a static
+       lower bound does not equal an index subtype's fixed lower bound.
+       * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
+       Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
+       * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
+       an unconstrained array subtype with fixed lower bound, then
+       Expand_Sliding_Conversion is applied to the operand.
+       * exp_ch6.adb (Expand_Simple_Function_Return): If the result
+       subtype is an unconstrained array subtype with fixed lower
+       bound, then Expand_Sliding_Conversion is applied to the return
+       object.
+       * exp_util.ads (Expand_Sliding_Conversion): New procedure for
+       applying a sliding subtype conversion to an array object of a
+       fixed-lower-bound subtype when needed.
+       * exp_util.adb: Add with_clause for Freeze.
+       (Expand_Sliding_Conversion): New procedure for applying a
+       sliding subtype conversion to an array object of a
+       fixed-lower-bound subtype when needed.  It traverses the indexes
+       of the unconstrained array type/subtype to create a target
+       constrained subtype and rewrites the array object to be a
+       conversion to that subtype, when there's at least one index
+       whose lower bound does not statically match the fixed-lower
+       bound of the target subtype.
+       * gen_il-fields.ads (type Opt_Field_Enum): Add literals
+       Is_Fixed_Lower_Bound_Array_Subtype and
+       Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
+       entities.
+       * gen_il-gen-gen_entities.adb: Add calls to
+       Create_Semantic_Field for the new fixed-lower-bound flags on
+       type entities.
+       * par-ch3.adb (P_Array_Type_Definition): Add handling for
+       parsing of fixed-lower-bound index ranges in unconstrained array
+       types. Report an error if such an index is encountered and GNAT
+       language extensions are not enabled.
+       (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
+       for parsing unconstrained index ranges.
+       (P_Index_Or_Discriminant_Constraint): Add handling for parsing
+       of index constraints that specify ranges with fixed lower
+       bounds. Report an error if such an index is encountered and GNAT
+       language extensions are not enabled.
+       * sem_ch3.adb (Analyze_Object_Declaration): If the object's
+       nominal subtype is an array subtype with fixed lower bound, then
+       Expand_Sliding_Conversion is applied to the object.
+       (Array_Type_Declaration): Mark the array type and the subtypes
+       of any indexes that specify a fixed lower bound as being
+       fixed-lower-bound subtypes, and set the High_bound of the range
+       of such an index to the upper bound of the named subtype.
+       (Constrain_Array): For an array subtype with one or more index
+       ranges specifying a fixed lower bound, set Is_Constrained to
+       False and set the array subtype's
+       Is_Fixed_Lower_Bound_Array_Subtype flag to True.
+       (Constrain_Index): Mark the subtypes of an index that specifies
+       a fixed lower bound as being a fixed-lower-bound index subtype,
+       and set the High_bound of the range of such an index to the
+       upper bound of the base type of the array type's corresponding
+       index.
+       * sem_res.adb (Resolve_Actuals): If a formal is of an
+       unconstrained array subtype with fixed lower bound, then
+       Expand_Sliding_Conversion is applied to the actual.
+       * sem_util.adb (Build_Actual_Subtype): If the actual subtype
+       corresponds to an unconstrained array subtype having any indexes
+       with fixed lower bounds, then set the lower bounds of any such
+       indexes of the actual subtype to the appropriate fixed lower
+       bound of the formal subtype (rather than taking it from the
+       formal itself).
+       * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
+       Etype has a fixed lower bound, then print "<>" rather than the
+       High_Bound of the range.
+
+2021-06-17  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb, sem_util.ads (Has_Access_Values): New formal
+       Include_Internal to indicate whether internal types should be
+       included.
+       * sem_warn.adb (Check_References): Change E_Out_Parameter to
+       Formal_Kind, to match the comment about Spec_Entity.  Pass
+       Include_Internal => False to Has_Access_Values, so that we warn
+       on types with access values that happen to be in internal types,
+       such as Unbounded_String.
+       * sem_attr.adb (Attribute_Has_Access_Values): Pass
+       Include_Internal => True to Has_Access_Values, to preserve
+       existing behavior.
+       * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
+       'in', to avoid warning enabled by the change to sem_warn.adb.
+       * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
+       out' to 'in', to avoid warning enabled by the change to
+       sem_warn.adb.
+
+2021-06-17  Steve Baird  <baird@adacore.com>
+
+       * exp_ch5.adb
+       (Expand_N_Case_Statement.Expand_General_Case_Statement): New
+       subprogram.
+       (Expand_N_Case_Statement): If extensions are allowed and the
+       case selector is not of a discrete type, then call
+       Expand_General_Case_Statement to generate expansion instead of
+       flagging the non-discrete selector as an error.
+       * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
+       function for testing whether a given expression occurs as part
+       of a case choice pattern.
+       * sem_case.adb (Composite_Case_Ops): New package providing
+       support routines for the new form of case statements. This
+       includes a nested package, Composite_Case_Ops.Value_Sets, which
+       encapsulates the "representative values" implementation of
+       composite value sets.
+       (Check_Choices.Check_Case_Pattern_Choices): New procedure for
+       semantic checking of non-discrete case choices. This includes
+       the checks pertaining to coverage and overlapping.
+       (Check_Choices.Check_Composite_Case_Selector): New procedure for
+       semantic checking of non-discrete case selectors.
+       (Check_Choices): If extensions are allowed then a non-discrete
+       selector type no longer implies that an error must have been
+       flagged earlier.  Instead of simply returning, call
+       Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
+       (Is_Case_Choice_Pattern): Body of new function declared in
+       sem_case.ads .
+       * sem_ch5.adb (Analyze_Case_Statement): If extensions are
+       allowed, then we can't use RM 5.4's "The selecting_expression is
+       expected to be of any discrete type" name resolution rule.
+       Handle the case where the type of the selecting expression is
+       not discrete, as well as the new ambiguous-name-resolution error
+       cases made possible by this change.
+       * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
+       of a type or subtype as an expression if it is part of a case
+       choice pattern, as in "(Field1 => Positive, Field2 => <>)".
+       * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
+       choice aggregates.
+       * gen_il-fields.ads: Define two new node attributes,
+       Binding_Chars and Multidefined_Bindings.
+       * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
+       attribute is Boolean-valued and may be set on
+       N_Case_Statement_Alternative nodes. The new Binding_Chars
+       attribute is Name_Id-valued and may be set on
+       N_Component_Association nodes.
+       * par-ch4.adb (P_Record_Or_Array_Component_Association): When
+       parsing a component association, check for both new syntax forms
+       used to specify a bound value in a case-choice aggregate.  In
+       the case of a box value, an identifier may occur within the box,
+       as in "Foo => <Abc>" instead of "Foo => <>". In the more general
+       case, an expression (or a box) may be followed by "is
+       <identifier>", as in
+       "Foo => Bar is Abc" instead of just "Foo => Bar".
+       * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
+       component values in a case-choice aggregate.
+       * sinfo.ads: Provide comments for the new attributes added in
+       gen_il-fields.ads.
+       * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
+       new feature in documentation for pragma Extensions_Allowed.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
+       Do not abandon processing on a nested N_Expression_With_Actions
+       or N_Loop_Statement, otherwise we may miss some transient
+       declarations.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
+       node.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Valid_Renaming): Check not only indexed
+       components, but slices too.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
+       No_Wide_Characters restriction after rejecting illegal parent
+       types.
+       (Derived_Type_Declaration): Likewise.
+       (Find_Type_Of_Subtype_Indic): Remove check for
+       No_Wide_Characters restriction, which was done too early.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Valid_Renaming): Body moved from its nested
+       routine.
+
+2021-06-17  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Type): If the actual type for an
+       incomplete formal type is also incomplete, but has a Full_View,
+       use the Full_View of the actual type rather than the incomplete
+       view.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+       (-gnatw.I): Remove double period at the end of sentence.
+       * gnat_ugn.texi: Regenerate.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
+       the range of a slice object, not its type.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
+       refactor repeated calls to Nkind; remove early RETURN.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
+       generic types, but keep examining other parameters.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
+       code.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Overlap_Check): Replace Set_Casing with
+       Adjust_Name_Case and adapt surrounding code as needed.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
+       * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Get_Overflow_Mode): Reword error message.
+       * switch-c.adb (Get_Overflow_Mode): Likewise.
+
+2021-06-17  Richard Kenner  <kenner@adacore.com>
+
+       * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
+       Others_Discrete_Choices in N_Others_Choice.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * atree.adb: Remove redundant comment with spec.
+       * sem_warn.adb: Fix typo in comment.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * atree.adb: Do not suppress checks.
+
+2021-06-17  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch3.adb (Check_Missing_Others): Add comment.
+       (Build_Initialization_Call): Remove inaccurate accessibility
+       comment.
+       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
+       test for Ada2012.
+       (Analyze_Package_Instantiation): Remove speculative comment.
+       (Inline_Instance_Body): Add comments for loops.
+       (Build_Subprogram_Renaming): Remove comment about fix being
+       partial and "ugly."
+       (Instantiate_Subprogram_Body): Remove comment referencing DEC
+       related internal issue.
+       (Subtypes_Match): Add comment and simplify anonymous access
+       test.
+       (Is_Global): Add test for when E is an expanded name, and
+       calculate the scope accordingly.
+       * sem_ch6.adb (Analyze_Function_Return): Update comment
+       regarding accessibility, and add check for
+       Warn_On_Ada_2012_Compatibility.
+       (Mask_Type_Refs): Add comments.
+       (Analyze_Subprogram_Declaration): Remove mysterious suppression
+       of elaboration checks.
+       * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
+       value.
+       * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
+       (Note_Redundant_Use): Fix calls to Find_First_Use to be
+       Find_Most_Prev.
+       (Get_Object_Name): Modify error message to be more descriptive.
+       (Known_But_Visible): Remove mysterious special case for
+       GNAT_Mode.
+       (Find_First_Use): Removed.
+       (Find_Most_Prev): Renamed from Find_First_Use.
+       * sem_prag.adb (Check_Static_Constraint): Add comments to
+       routine.
+
+2021-06-17  Bob Duff  <duff@adacore.com>
+
+       * treepr.adb (Print_Node): Display the Entity or Associated_Node
+       fields if appropriate.
+       * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
+       are no longer needed.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
+       Is_Object_Reference with calls to Is_Name_Reference; remove
+       asymmetric condition that only detected an aggregate as the
+       first actual (aggregate objects were just a special case of an
+       object reference that was not a name).
+
+2021-06-17  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb, gen_il-internals.ads: Generate field
+       enumeration literals with "F_" prefix.  Update all generated
+       references accordingly.
+       * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
+       sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
+       sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
+       field enumeration literals.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/i-c.ads, libgnat/i-cexten.ads,
+       libgnat/i-cexten__128.ads: bool renamed C_bool.
+
+2021-06-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb (Analyze_Allocator): Reject allocators in
+       restricted contexts.
+
+2021-06-17  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
+       be found.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_Volatile_Function): Follow the exact wording
+       of SPARK (regarding volatile functions) and Ada (regarding
+       protected functions).
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.adb (Is_OK_Volatile_Context): All references to
+       volatile objects are legal in preanalysis.
+       (Within_Volatile_Function): Previously it was wrongly called on
+       Empty entities; now it is only called on E_Return_Statement,
+       which allow the body to be greatly simplified.
+
+2021-06-16  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Set_Slice_Subtype): Revert special-case
+       introduced previously, which is not needed as Itypes created for
+       slices are precisely always used.
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * urealp.adb (Scale): Change first paramter to Uint and adjust.
+       (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
+       * libgnat/s-exponr.adb (Negative): Rename to...
+       (Safe_Negative): ...this and change its lower bound.
+       (Exponr): Adjust to above renaming and deal with Integer'First.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
+       allocators within restricted contexts and not just entity names.
+       (Resolve_Actuals): Remove duplicated code for detecting
+       restricted contexts; it is now exclusively done in
+       Is_OK_Volatile_Context.
+       (Resolve_Entity_Name): Adapt to new parameter of
+       Is_OK_Volatile_Context.
+       * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
+       handle contexts both inside and outside of subprogram call
+       actual parameters.
+       (Within_Subprogram_Call): Remove; now handled by
+       Is_OK_Volatile_Context itself and its parameter.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sinput.adb (Sloc_Range): Refactor several repeated calls to
+       Sloc and two comparisons with No_Location.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
+       on the parameter passing mechanism.  Grammar adjustment ("has"
+       => "have").
+       (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Build_Slice_Assignment): Remove unused
+       initialization.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * restrict.adb, sem_attr.adb, types.ads: Fix typos in
+       "occuring"; refill comment as necessary.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads (Is_Actual_Parameter): Update comment.
+       * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.
+
+2021-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
+       exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
+       entities to the expander directly.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
+       cleanup.
+       (Is_Attribute_Expression): Prevent AST climbing from going to
+       the root of the compilation unit.
+
+2021-06-16  Steve Baird  <baird@adacore.com>
+
+       * doc/gnat_rm/implementation_advice.rst: Add a section for RM
+       A.18 .
+       * gnat_rm.texi: Regenerate.
+
+2021-06-16  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
+       check for the mixing of entries.
+
+2021-06-16  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
+       in Priority aspect arguments for restriction Static_Priorities.
+
+2021-06-16  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Take into account
+       renamings of loop parameters.
+
+2021-06-16  Matthieu Eyraud  <eyraud@adacore.com>
+
+       * par_sco.adb (Set_Statement_Entry): Change sloc for dominance
+       marker.
+       (Traverse_One): Fix typo.
+       (Output_Header): Fix comment.
+
+2021-06-16  Richard Kenner  <kenner@adacore.com>
+
+       * exp_unst.adb (Register_Subprogram): Don't look for aliases for
+       subprograms that are generic.  Reorder tests for efficiency.
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
+       the parameter and use it to find its incomplete view, if any.
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Check_No_Parts_Violations): Return earlier if the
+       type is elementary or does not come from source.
+
+2021-06-16  Bob Duff  <duff@adacore.com>
+
+       * ghost.adb: Add another special case where full analysis is
+       needed. This bug is due to quirks in the way
+       Mark_And_Set_Ghost_Assignment works (it happens very early,
+       before name resolution is done).
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.adb (Current_Entity_In_Scope): Reimplement.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch8.adb (End_Scope): Remove extra parens.
+
+2021-06-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
+       of actuals is side effects free (since the check duplicates
+       actuals).
+
+2021-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
+       concerning the need for parentheses around Raise_Expressions in
+       various contexts.
+
+2021-06-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
+       of generic types before switching to their private views; fix
+       style in using AND THEN.
+
+2021-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch3.adb (Analyze_Component_Declaration): Do not special
+       case raise expressions.
+
+2021-06-16  Sergey Rybin  <rybin@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Instead of referring to the formatting of the Ada examples in
+       Ada RM add use the list of checks that are actually performed.
+       * gnat_ugn.texi: Regenerate.
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * initialize.c: Do not include vxWorks.h and fcntl.h from here.
+       (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
+       (__gnat_initialize) [init_float]: Delete.
+       (__gnat_initialize) [VxWorks]: Likewise.
+       (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
+       * runtime.h: Add comment about vxWorks.h include.
+
+2021-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-except.ads (ZCX_By_Default): Delete.
+       (Require_Body): Likewise.
+       * libgnat/s-except.adb: Replace body with pragma No_Body.
+
+2021-06-15  Steve Baird  <baird@adacore.com>
+
+       * exp_util.adb (Kill_Dead_Code): Generalize the existing
+       handling of if statements to handle case statements similarly.
+
+2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * raise.h (_gnat_builtin_longjmp): Delete.
+       (set_gnat_exit_status): Likewise.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
+       declaration just like full type and subtype declarations.
+
+2021-06-15  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb (First_And_Last_Node): Also apply to arbitrary late
+       declarations, not only subprogram specs.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
+       Reinit_Field_To_Zero are for the correct Ekinds.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * aspects.ads (No_Task_Parts): New aspect.
+       * snames.ads-tmpl: Add the aspect name.
+       * exp_ch6.adb (Might_Have_Tasks): Return False if this is a
+       class-wide type whose specific type has No_Task_Parts.
+       * freeze.adb (Check_No_Parts_Violations): This is an adaptation
+       of the procedure formerly known as
+       Check_No_Controlled_Parts_Violations, which now supports both
+       No_Controlled_Parts and No_Task_Parts.  It takes a parameter
+       indicating which aspect is being checked.
+       (Freeze_Entity): Call Check_No_Parts_Violations for both
+       aspects.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): The code for
+       Aspect_No_Controlled_Parts already works as is with
+       Aspect_No_Task_Parts.
+       * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
+       iterator iterfaces.
+       * doc/gnat_rm/implementation_defined_aspects.rst: Add
+       documentation for the No_Task_Parts aspect.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
+       handling of scopes for subprogram calls.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb: Fix typos in comments related to access types.
+       * sem_util.adb (Is_Access_Variable): Stronger condition.
+
+2021-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-generated.in: Add rule to copy runtime files needed
+       during stage1.
+       * raise.c: Remove obsolete symbols used during bootstrap.
+       * gcc-interface/Make-lang.in: Do not use libgnat sources during
+       stage1.
+       (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
+       part and the part only used outside of stage1.
+       (ADA_GENERATED_FILES): Add runtime files needed during bootstrap
+       when recent APIs are needed.
+       (ada/b_gnatb.adb): Remove prerequisite.
+       * gcc-interface/system.ads: Remove obsolete entries.
+
+2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.
+
+2021-06-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Is_Confirming): Separate the handling of
+       Implicit_Dereference, for which no pragma is generated but which
+       is already checked for legality in Sem_Ch13, including renamed
+       discriminants in a derived type.
+       (Is_Confirming, Same_Name): For expanded names, only check
+       matching of selector, because prefix may correspond to original
+       and derived types with different names and/or scopes. Semantic
+       checks on aspect expression have already verified its legality.
+       Add comments regarding possible gaps in RM description of the
+       feature.
+
+2021-06-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb (Freeze_Subprogram): Don't propagate conventions
+       Intrinsic or Entry to anonymous access-to-subprogram types
+       associated with subprograms having those conventions. Update
+       related comment.
+       * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
+       special-case warning code for cases where a called subprogram
+       has convention Intrinsic as well as its formal's type (the
+       expected type for the Access attribute), since this case can no
+       longer occur.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
+       typos.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * einfo-utils.adb (Known_Component_Size,
+       Known_Static_Component_Size, Unknown_Component_Size): Use
+       Implementation_Base_Type instead of Base_Type.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
+       Interface_Name field.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
+       expression in predefined unit with pragma Preelaborate.
+
+2021-06-15  Yannick Moy  <moy@adacore.com>
+
+       * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
+       operations for signed types. Also add the missing Import and
+       Convention on the example.
+       * gnat_rm.texi: Regenerate.
+
+2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
+       Include <stdbool.h> and unconditionally <stdlib.h> in C.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads (Find_Overlaid_Entity): Simplify comment for
+       spec.
+       * sem_util.adb (Find_Overlaid_Entity): Remove defensive code
+       from body.
+
+2021-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * argv.c: Add include of <stdlib.h> for the runtime.
+       (gnat_argv): Change type to char ** and initialize to NULL.
+       (gnat_envp): Likewise.
+       * argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
+       (gnat_argv): Change type to char ** and initialize to NULL.
+       (gnat_envp): Likewise.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb (Setter_Needs_Parent): Add missing
+       Then_Actions.  Fix self-contradictory comment.
+       * exp_util.adb (Insert_Actions): Minor comment improvments.
+
+2021-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
+       Add support for folding more "and"/"or" expressions.
+       * exp_util.adb (Side_Effect_Free): Fix handling of membership
+       tests.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Actual): Replace repeated calls to
+       "Etype (F)" with references to "F_Typ", which keeps the results
+       of exactly that call.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
+       computations in Last_Bit when Offset = 'Last.
+       (Choose_Offset): Give a better error message when we run out of
+       fields.  In particular, point out that
+       Gen_IL.Internals.Bit_Offset'Last needs to be increased.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
+       gen_il.ads, gen_il-gen-gen_entities.adb,
+       gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
+       sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
+       ??? comments and other comments.
+       * atree.adb: Clean up ??? comments and other comments.
+       (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
+       should be "Off_0 (N) <= Off_L (N)".
+       * gen_il-gen.adb, gen_il-gen.ads: Clean up ???
+       comments and other comments.  Add support for getter-specific
+       and setter-specific preconditions.  Detect the error of putting
+       a field in the wrong subrange.  Misc cleanup.
+       (Node_Field vs. Entity_Field): Clean up Nmake.  Improve
+       comments.
+       * gen_il-utils.ads: Misc cleanup. Move...
+       * gen_il-internals.ads: ... here.
+       * gen_il-utils.adb: Misc cleanup. Move...
+       * gen_il-internals.adb: ... here.
+       * gen_il-fields.ads: Move Was_Default_Init_Box_Association,
+       which was in the wrong subrange.  Add comments.  Misc cleanup.
+       * gen_il-types.ads: Add Named_Access_Kind.
+       * sinfo-cn.adb: Clean up ??? comments and other comments.
+       Remove redundant assertions.
+       * einfo.ads, sinfo.ads: Clean up ??? comments and other
+       comments.  Remove all the comments indicating field offsets.
+       These are obsolete now that Gen_IL computes the offsets
+       automatically.
+
+2021-06-15  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
+       exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
+       exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
+       libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
+       par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+       par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
+       sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
+       sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
+       sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
+       sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
+       sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
+       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_rm/implementation_defined_aspects.rst,
+       gcc-interface/trans.c: Update all references to Ada 2020 to Ada
+       2022. Rename pragma Ada_2020 to Ada_2022.  Update documentation
+       accordingly.
+       * gnat_ugn.texi, gnat_rm.texi: Regenerate.
+
+2021-06-15  Steve Baird  <baird@adacore.com>
+
+       * sem_util.adb (Gather_Components): Factor the test that was
+       already being used to govern emitting a pre-Ada_2020 error
+       message into an expression function,
+       OK_Scope_For_Discrim_Value_Error_Messages. Call that new
+       function in two places: the point where the same test was being
+       performed previously, and in governing emission of a newer
+       Ada_2020 error message. In both cases, the out-mode parameter
+       Gather_Components.Report_Errors is set to True even if no error
+       messages are generated within Gather_Components.
+       * sem_util.ads: Correct a comment.
+
+2021-06-15  Richard Kenner  <kenner@adacore.com>
+
+       * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
+       Reinitialize Stored_Constraint when needed.
+       (Set_Modular_Size): Likewise.
+       * atree.adb: (Check_Vanishing_Fields): Add node id to debugging
+       information.
+
+2021-06-15  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Propagate_Invariant_Attributes): Call
+       Set_Has_Own_Invariants on the base type, because these are
+       Base_Type_Only. The problem is that the base type of a type is
+       indeed a base type when Set_Base_Type is called, but then the
+       type is mutated into a subtype in rare cases.
+       * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
+       parameter in body.
+       * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
+       to the value of the field. Put Warnings (Off) on some with
+       clauses that are not currently used, but might be used by such
+       Pre's.
+
+2021-06-15  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Access_Type_Declaration): Add comments to explain
+       the ordering of Mutate_Kind and Set_Directly_Designated_Type;
+       remove temporary setting of Ekind to E_Access_Type for building
+       _master objects, since now the Ekind is already set to its final
+       value. Move repeated code into Setup_Access_Type routine and use
+       it so that Process_Subtype is executed before mutating the kind
+       of the type entity.
+       * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
+       Directly_Designated_Type from E_Void, E_Private_Record,
+       E_Limited_Private_Type and Incomplete_Kind; now it only belongs
+       to Access_Kind entities.
+       * sem_util.adb: Minor reformatting.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
+       local constant and use it throughout.  If it is set, use a ref-all
+       pointer type for the pointer-to-array field of the fat pointer type.
+       <E_Array_Subtype>: Add PAT local constant and use it throughout.
+
+2021-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * init.c (__gnat_error_handler): Remove register keyword.
+
+2021-05-25  Martin Liska  <mliska@suse.cz>
+
+       * doc/share/conf.py: Fix Sphinx 4.0.x error.
+
+2021-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+       * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
+       * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
+       if the offset of the field has overflowed.
+       (build_component_ref): Add gigi checking assertion that the reference
+       has been built and replace the discriminant check by a Program_Error.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
+       not pass default value in call to create_var_decl.
+       <E_Variable>: Likewise.
+       <E_Record_Subtype>: Both pass true for const_flag and false for
+       const_decl_allowed_p in call to create_var_decl.
+       Small tweaks in the generic record type case.
+       (elaborate_expression): Rename need_debug into need_for_debug and
+       adjust throughout.
+       (elaborate_expression_1): Likewise.  Pass Needs_Debug_Info instead
+       of need_for_debug in call to create_var_decl.
+       (elaborate_expression_2): Likewise.
+       * gcc-interface/utils.c (maybe_pad_type): Pass false for
+       const_decl_allowed_p in call to create_var_decl.
+
+2021-05-21  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
+       (gnat_to_gnu_param): Likewise.
+       (gnat_to_gnu_subprog_type): Likewise.
+       (warn_on_field_placement): Likewise.
+       (intrin_arglists_compatible_p): Likewise.
+       * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
+       (gnat_to_gnu): Likewise.
+       (validate_unchecked_conversion): Likewise.
+       * gcc-interface/utils.c (maybe_pad_type): Likewise.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
+       the implementation type of a packed type implemented specially.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
+       the Is_Pure flag into the "pure" attribute of GNU C.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Call_to_gnu): Restrict previous change
+       to bitfields whose size is not equal to the type size.
+       (gnat_to_gnu): Likewise.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
+       (gnat_to_gnu_external): Likewise.
+       (Raise_Error_to_gnu): Return an empty statement list if there is a
+       condition and it is always false.
+       (gnat_to_gnu): Do not check for elaboration code a priori during the
+       translation but a posteriori instead.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
+       Put a SLOC on the assignment from the return value to the return
+       object in the copy-in/copy-out case.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
+       CEIL_DIV_EXPR with EXACT_DIV_EXPR.
+       * gcc-interface/misc.c (gnat_type_max_size): Likewise.
+       * gcc-interface/utils.c (maybe_pad_type): Likewise.
+       (finish_record_type): Likewise.  And always compute the unit size.
+
+2021-05-14  Martin Liska  <mliska@suse.cz>
+
+       * doc/Makefile: Add gnat-style target.
+       * doc/share/conf.py: Likewise.
+       * doc/gnat-style.rst: New file.
+
+2021-05-12  Bob Duff  <duff@adacore.com>
+
+       PR ada/100564
+       * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
+       when the Nkind has not yet been set; call the other Zero_Slots
+       that takes a range of slot offsets.  Call the new Mutate_Kind
+       that takes an Old_Size, for the same reason -- the size cannot
+       be computed without the Nkind.
+       (Mutate_Nkind): New function that allows specifying the Old_Size.
+       (Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
+       * atree.ads: Minor reformatting.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       * doc/share/conf.py: Do not use binary mode.
+       Do not use u' literals as Python3 uses unicode by default.
+
+2021-05-11  Martin Liska  <mliska@suse.cz>
+
+       * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
+       from COROUTINES.
+       (BUILT_IN_UNLIKELY): Likewise.
+
+2021-05-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatvsn.adb (Version_String): Rename to...
+       (C_Version_String): ...this.
+       (Gnat_Version_String): Adjust to above renaming.
+       * version.c : Fix formatting glitches.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       PR bootstrap/100506
+       * Make-generated.in: Replace version.c with ada/version.c.
+       * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
+       GNATBIND_OBJS.
+       * gcc-interface/Makefile.in: Replace version.c with ada/version.c.
+       Add version.o to TOOLS_LIBS.
+       * gnatvsn.adb: Replace version_string with gnat_version_string.
+       * version.c: New file.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo-utils.ads (Classification Attributes): Add pragma Inline.
+       (Synthesized Attribute Functions): Move pragma Inline around.
+       (Type Representation Attribute Predicates): Likewise.
+       (Field Initialization Routines): Likewise.
+       (Miscellaneous Subprogram): Likewise.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.ads (Slot): Remove pragma Provide_Shift_Operators.
+       (Shift_Left): New intrinsic function.
+       (Shift_Right): Likewise.
+       * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
+       (Get_2_Bit_Val): Likewise.
+       (Get_4_Bit_Val): Likewise.
+       (Get_8_Bit_Val): Likewise.
+       (Set_1_Bit_Val): Likewise.
+       (Set_2_Bit_Val): Likewise.
+       (Set_4_Bit_Val): Likewise.
+       (Set_8_Bit_Val): Likewise.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.adb (Zero_Slots): Remove obsolete comment and add header.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.h (Get_32_Bit_Field): Tidy up.
+       (Get_32_Bit_Field_With_Default): Likewise.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Make-generated.in (do_gen_il): Replace with...
+       (ada/stamp-gen_il): ...this.  Do not copy files into generated/.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * gcc-interface/utils.c (def_builtin_1): Use startswith
+       function instead of strncmp.
+
+2021-05-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo-utils.adb (Is_Access_Object_Type): Use
+       Directly_Designated_Type.
+       (Is_Access_Subprogram_Type): Use Directly_Designated_Type.
+       (Set_Convention): Use plain Ekind.
+       * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
+       * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
+       completion with an access type don't attempt to decorate the
+       completion entity; previously the entity had its Ekind set to
+       E_General_Access_Type or E_Access_Type, but its Designated_Type
+       was empty, which caused a crash in freezing. (Actually, the
+       error recovery in the surrounding context is still incomplete,
+       e.g. we will crash when the illegal completion is an access to
+       an unknown identifier).
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * par_sco.adb: Align with/use clauses.
+       (Traverse_Declarations_Or_Statements): Minor comment fix.
+       * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
+       contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
+       errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
+       exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
+       exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb,
+       exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb,
+       exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb,
+       exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
+       exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
+       exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
+       exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
+       frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
+       impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
+       lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
+       lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
+       par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
+       repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
+       sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
+       sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
+       sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
+       sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+       sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb,
+       sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
+       sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb,
+       sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
+       sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
+       sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
+       treepr.adb, uname.adb: Align with/use clauses.
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
+       up ???  marks.  Rename Set_Ekind to be Mutate_Ekind.
+       * einfo.ads, sinfo.ads: Likewise.  Change "definitive
+       definition" to "official definition", because the former sounds
+       redundant.  Rename Set_Ekind to be Mutate_Ekind.
+       * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
+       exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
+       exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
+       exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
+       exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
+       lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
+       sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
+       sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+       sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
+       sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * atree.adb: Move nnd-related code from here, and leave a
+       comment pointing to sinfo-utils.adb.
+       * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
+       here.
+
+2021-05-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.ads: Move Corresponding_Protected_Entry...
+       * sinfo.ads: ... here.
+       * exp_ch9.adb (Build_Entry_Body): Link procedure and entry
+       bodies.
+       * gen_il-fields.ads (Opt_Field_Enum): Add
+       Corresponding_Entry_Body field to nodes; remove
+       Corresponding_Protected_Entry field from entities.
+       * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
+       Corresponding_Protected_Entry field from E_Void and
+       E_Subprogram_Body.
+       * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
+       Corresponding_Entry_Body field to N_Subprogram_Body.
+       * sem_ch6.adb (Analyze_Subprogram_Specification): Remove
+       manipulation of Ekind and Corresponding_Protected_Entry added as
+       part of the support for varsize-nodes.
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * sem_ch3.adb (Process_Incomplete_Dependents): Reset
+       Private_Dependents field to zero before calling Set_Ekind.  Also
+       move Set_Etype to after Set_Ekind, because it's always best to
+       set the Ekind as early as possible.
+       * atree.adb: Improve debugging facilities for vanishing fields.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.ads (Slot): Change to modular type.
+       (Slot_1_Bit): Delete.
+       (Slot_2_Bit): Likewise.
+       (Slot_4_Bit): Likewise.
+       (Slot_8_Bit): Likewise.
+       (Slot_32_Bit): Likewise.
+       * atree.adb (Get_1_Bit_Val): Adjust to above change.
+       (Get_2_Bit_Val): Likewise.
+       (Get_4_Bit_Val): Likewise.
+       (Get_8_Bit_Val): Likewise.
+       (Get_32_Bit_Val): Likewise.
+       (Set_1_Bit_Val): Likewise.
+       (Set_2_Bit_Val): Likewise.
+       (Set_4_Bit_Val): Likewise.
+       (Set_8_Bit_Val): Likewise.
+       (Set_32_Bit_Val): Likewise.
+       (Print_Atree_Info): Likewise.
+       (Zero): Likewise.
+       * atree.h (Get_1_Bit_Field): Likewise.
+       (Get_2_Bit_Field): Likewise.
+       (Get_4_Bit_Field): Likewise.
+       (Get_8_Bit_Field): Likewise.
+       (Get_32_Bit_Field): Likewise.
+       (Get_32_Bit_Field_With_Default): Likewise.
+       * types.h (slot_1_bit): Delete.
+       (slot_2_bit): Likewise.
+       (slot_4_bit): Likewise.
+       (slot_8_bit): Likewise.
+       (slot_32_bit): Likewise.
+       (any_slot): Change to unsigned int.
+       (Slot_Size): New macro.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (enum standard_datatype): Remove
+       ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
+       (exception_data_name_id): Delete.
+       (not_handled_by_others_name_id): New macro.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
+       kludge for exceptions.
+       <E_Record_Type>: Likewise.
+       (gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
+       * gcc-interface/misc.c (gnat_argv): Change type to char **.
+       (gnat_init_options): Adjust accordingly.
+       * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
+       and use it to set not_handled_by_others_decl.
+       (Exception_Handler_to_gnu_fe_sjlj): Fix indentation.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * raise-gcc.c (__gnat_others_value): Remove const qualifier.
+       (__gnat_all_others_value): Likewise.
+       (__gnat_unhandled_others_value): Likewise.
+       (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
+       (GNAT_ALL_OTHERS): Likewise.
+       (GNAT_UNHANDLED_OTHERS): Likewise.
+       (Is_Handled_By_Others): Change parameter type to Exception_Id.
+       (Language_For): Likewise.
+       (Foreign_Data_For): Likewise.
+       (is_handled_by): Likewise.  Adjust throughout, remove redundant
+       line and fix indentation.
+       * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
+       useless qualification from parameter type.
+       (Foreign_Data_For): Likewise.
+       (Language_For): Likewise.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
+       * stand.ads (Standard_Entity_Type): Enhance comments.
+       * cstand.adb (Make_Component): Rename into...
+       (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
+       flags on the component.
+       (Create_Standard): Adjust the types of the component of the record
+       Standard_Exception_Type and mark them as aliased.
+       * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
+       conversion to Standard_Address for Full_Name component, except
+       in CodePeer_Mode (set it to 0).
+       * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
+       * raise.h (struct Exception_Data): Change the type of Full_Name,
+       HTable_Ptr and Foreign_Data.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.h (Slots_Ptr): Change pointed-to type to any_slot.
+       * fe.h (Get_RT_Exception_Name): Change type of parameter.
+       * namet.ads (Name_Entry): Mark non-boolean components as aliased,
+       reorder the boolean components and add an explicit Spare component.
+       * namet.adb (Name_Enter): Adjust aggregate accordingly.
+       (Name_Find): Likewise.
+       (Reinitialize): Likewise.
+       * namet.h (struct Name_Entry): Adjust accordingly.
+       (Names_Ptr): Use correct type.
+       (Name_Chars_Ptr): Likewise.
+       (Get_Name_String): Fix declaration and adjust to above changes.
+       * types.ads (RT_Exception_Code): Add pragma Convention C.
+       * types.h (Column_Number_Type): Fix original type.
+       (slot): Rename union type to...
+       (any_slot): ...this and adjust assertion accordingly.
+       (RT_Exception_Code): New enumeration type.
+       * uintp.ads (Uint_Entry): Mark components as aliased.
+       * uintp.h (Uints_Ptr):  Use correct type.
+       (Udigits_Ptr): Likewise.
+       * gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
+       * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
+       and Udigits_Ptr.
+       * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
+       (gigi): Adjust type of parameter.
+       (build_raise_check): Add cast in call to Get_RT_Exception_Name.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * init.c (__gnat_raise_program_error): Fix parameter type.
+       (Raise_From_Signal_Handler): Likewise and mark as no-return.
+       * raise-gcc.c (__gnat_others_value): Fix type.
+       (__gnat_all_others_value): Likewise.
+       (__gnat_unhandled_others_value): Likewise.
+       * seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
+       * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
+       and new symbol name, move declaration to...
+       (Raise_From_Controlled_Operation): Minor tweak.
+       * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
+       * libgnat/a-exexpr.adb (bool): New C compatible boolean type.
+       (Is_Handled_By_Others): Use it as return type for the function.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * errout.ads (Set_Identifier_Casing): Add pragma Convention C.
+       * eval_fat.ads (Rounding_Mode): Likewise.
+       (Machine): Add WARNING comment line.
+       * exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
+       * fe.h (Compiler_Abort): Fix return type.
+       (Set_Identifier_Casing): Change type of parameters.
+       (Clobber_Get_Next): Change return type.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * atree.h (Parent): Remove duplicate declaration.
+       (Get_1_Bit_Field): Also use INLINE specifier in the declaration,
+       fix formatting and use gcc_unreachable for the default case.
+       (Get_2_Bit_Field): Likewise.
+       (Get_4_Bit_Field): Likewise.
+       (Get_8_Bit_Field): Likewise.
+       (Get_32_Bit_Field): Likewise.
+       (Get_32_Bit_Field_With_Default): Likewise.
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * atree.ads, atree.adb: Major rewrite to support variable-sized
+       node types. Add pragmas Suppress and Assertion_Policy.  We now
+       have an extra level of indirection: Node_Offsets is a table
+       mapping Node_Ids to the offset of the start of each node in
+       Slots. Slots is a table containing one or more contiguous slots
+       for each node. Each slot is a 32-bit unchecked union that can
+       contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
+       The old low-level getters and setters (e.g.  Flag123) are
+       removed.
+       * gen_il-fields.ads, gen_il-gen-gen_entities.adb,
+       gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
+       gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
+       gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
+       that generates various Ada and C++ files. In particular, the
+       following files are generated by gen_il: einfo-entities.adb
+       einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
+       seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
+       sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
+       * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
+       einfo-utils.ads: New files containing code that needs to refer
+       to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
+       here from Sinfo and Einfo to break cycles.
+       * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
+       instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
+       no longer exist. (Note that gigi never used the Flags table.)
+       * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
+       Change_Character_Literal_To_Defining_Character_Literal,
+       Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
+       an IN formal.
+       * sinfo-cn.adb: Update.  Add assertions, which can be removed at
+       some point.  Rewrite to use higher-level facilities.  Make sure
+       vanishing fields are zeroed out.  Add with/use for new packages.
+       * sem_util.adb: Remove "Assert(False)" immediately followed by
+       "raise Program_Error".  Use higher-level facilities such as
+       Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
+       routines that no longer exist. Use Get_Comes_From_Source_Default
+       instead of Default_Node.Comes_From_Source (Default_Node no
+       longer exists).  Use Set_Basic_Convention instead of
+       Basic_Set_Convention.  Add with/use for new packages.
+       * sem_util.ads: The Convention field had getter Convention and
+       setter Basic_Set_Convention. Make that more uniform: there is
+       now a field called Basic_Convention, with Basic_Convention and
+       Set_Basic_Convention as getter/setter, and write Convention and
+       Set_Convention here.
+       * nlists.adb: Rewrite to use abstractions, rather then depending
+       on low-level implementation details of Atree. Necessary because
+       those details have changed. Add with/use for new packages.
+       * sem_ch12.adb: Use higher-level facilities such as
+       Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
+       routines that no longer exist. Add with/use for new packages.
+       * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
+       sem_prag.adb, sem_warn.adb: Change expanded names to refer to
+       the new packages for things that moved. Add with/use for new
+       packages.
+       * sem_ch3.adb: Likewise. Reinitialize vanishing fields.
+       * exp_disp.adb: Likewise. Remove failing assertion.
+       * sinfo.ads, einfo.ads: Remove code that is now generated into
+       Sinfo.Nodes and Einfo.Entities.
+       * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
+       We should delete these at some point, but No_Body makes make
+       files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
+       Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
+       * treepr.adb: Rewrite to use new tables. We no longer need
+       treeprs.ads.
+       * treepr.ads: Add comment.
+       * types.ads: Move types Component_Alignment_Kind and
+       Float_Rep_Kind here.
+       * atree.h: Major update to match atree.ads changes.  Add slot
+       types, for use by getters/setters.
+       * types.h: Move types Component_Alignment_Kind and
+       Float_Rep_Kind here.
+       * fe.h: Rewrite to deal with code that has changed or moved from
+       Atree, Sinfo, Einfo.
+       * nlists.h: Move some code to fe.h.
+       * alloc.ads: Split Nodes_* constants into Node_Offsets and
+       Slots, because Atree has two separate tables.  Increase values.
+       Remove Nodes_Release_Threshold. Improve comment.
+       * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
+       switches.  Add with/use for new packages.
+       * opt.ads: Minor comment fix.
+       * aspects.adb, checks.adb, comperr.adb, contracts.adb,
+       cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
+       exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
+       exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
+       exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
+       exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
+       exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
+       exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
+       exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
+       exp_util.ads, expander.adb, freeze.adb, frontend.adb,
+       get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
+       itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
+       lib-writ.adb, lib-xref.adb, lib-xref.ads,
+       lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
+       pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
+       scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
+       sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
+       sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb,
+       sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb,
+       sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb,
+       sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
+       sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
+       sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
+       tbuild.ads, uname.adb: Add with/use for new packages.
+       * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
+       bootstrap.
+       * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
+       Create_New_File): Create file in binary format, to avoid
+       introducing unwanted text conversions on Windows. Simplify to
+       ease bootstrap.
+       * libgnat/a-stteou__bootstrap.ads: New.
+       * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
+       xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
+       * Make-generated.in: Build and run the gen_il program to
+       generate files. The files are generated in the ada/gen_il
+       subdirectory, and then moved up to ada.  We rely on gnatmake (as
+       opposed to make) to build the gen_il program efficiently (i.e.
+       don't do anything if the sources didn't change).
+       * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
+       (GNATMAKE_OBJS): Add new object files.
+       (GENERATED_FILES_FOR_TOOLS): New variable.
+       (../stamp-tools): Create a link for all
+       GENERATED_FILES_FOR_TOOLS.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
+       files.  Remove ada/treeprs.o.
+       (GNATBIND_OBJS): Add new object files.
+       (ada.mostlyclean): Remove ada/sdefault.adb and add
+       ada/stamp-gen_il.
+       (ada.maintainer-clean): Remove ada/treeprs.ads.
+       (update-sources): Remove obsolete target.
+       (ada_generated_files): Rename to...
+       (ADA_GENERATED_FILES): ... this.  Add new source files.  Add
+       comment.
+       * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
+       Flags_ptr.  Add Node_Offsets_Ptr and Slots_Ptr, which point to
+       the corresponding tables in Atree.
+       * gcc-interface/gigi.h (gigi): New parameters for initializing
+       Node_Offsets_Ptr and Slots_Ptr.
+       * gcc-interface/decl.c: Numeric_Kind,
+       Discrete_Or_Fixed_Point_Kind, and Record_Kind were
+       nonhierarchical, and were therefore removed for simplicity.
+       Replace uses with calls to Is_In_... functions.
+
+2021-05-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
+       component declaration whose subtype indication is an entity name
+       without an explicit constraint is an Unchecked_Union type only
+       if the entity has an unconstrained nominal subtype (record type
+       or private type) whose parent type is an Unchecked_Union.
+
+2021-05-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Flag_Object): Ignore prefixes of attribute
+       Address.
+
+2021-05-07  Yannick Moy  <moy@adacore.com>
+
+       * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
+       * sem_res.adb (Resolve_Unary_Op): Generate warning.
+       * usage.adb: Refine doc for -gnatw.m/M switch.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+       Update doc on -gnatw.m switch.
+       * gnat_ugn.texi: Regenerate.
+
+2021-05-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Flag_Object): Replace chained IF with a CASE;
+       remove repeated calls to Entity; do not traverse into
+       N_Identifier and N_Expanded_Name, because only need to examine
+       their Entity field anyway.
+
+2021-05-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
+       (Process_Overloaded_Indexed_Component): Remove call to
+       End_Interp_List.
+       * sem_util.adb (Insert_Explicit_Dereference): Remove call to
+       End_Interp_List.
+       * sem_type.ads (End_Interp_List): Remove.
+       * sem_type.adb (Add_Entry): The guard against duplicate entries
+       is now checked before other conditions, so that EXIT statements
+       do not bypass this guard.
+       (End_Interp_List): Remove.
+
+2021-05-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Remove_Init_Call): If a simple initialization
+       call is present, and the next statement is an initialization
+       block (that contains a call to a Deep_ Initialize routine),
+       remove the block as well, and insert the first initialization
+       call in it, in case it is needed for later relocation.
+
+2021-05-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * errout.ads (Size_Too_Small_Message): Remove low-value ???
+       comment.
+       * exp_util.ads: Remove ??? in part of overall package comments
+       and restructure comment to clarify.
+       (Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
+       * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
+       ??? comments and add more description of the procedure's
+       actions.
+       (Get_Discriminant_Value): Remove ??? comment requesting more
+       documentation, expanding description of the function's actions.
+       * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
+       semantic description of the procedure and remove ??? comment
+       requesting such.
+       (Propagate_Tag): Refine comment to indicate meaning of formal
+       parameters and generally improve the spec comment (and remove
+       ??? comment asking about the parameters).
+
+2021-05-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
+       resulting in negative signed values.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
+       (Defining_Entity_Or_Empty): New function.
+       * sem_util.adb (Defining_Entity): Move bulk of implementation to...
+       (Defining_Entity_Or_Empty): ...here.  Do not raise Program_Error.
+       (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.
+
+2021-05-07  Justin Squirek  <squirek@adacore.com>
+
+       * aspects.ads: Add entries to register
+       Aspect_No_Controlled_Parts.
+       * freeze.adb (Check_No_Controlled_Parts_Violations): Added to
+       check requirements of aspect No_Controlled_Parts after a type
+       has been frozen.
+       (Freeze_Entity): Add call to
+       Check_No_Controlled_Parts_Violations.
+       (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
+       specification for No_Controlled_Parts on a given type when
+       present.
+       (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
+       value.
+       (Has_Aspect_No_Controlled_Parts): Created as a prediate function
+       to check if No_Controlled_Parts has been specified on a type for
+       Get_Anacestor_Types_With_Specification.
+       (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
+       value of the aspect No_Controlled_Parts when specified on a
+       given type.
+       (Get_Generic_Formal_Types_In_Hierarchy): Created to collect
+       formal types in a given type's hierarchy.
+       (Get_Types_With_Aspect_In_Hierarchy): Created to collect types
+       in a given type's hierarchy with No_Controlled_Parts specified.
+       * sem_ch13.adb (Analyze_One_Aspect): Add processing for
+       No_Controlled_Parts, and fix error in check for allowed pragmas
+       for formal types.
+       (Check_Expr_Is_OK_Static_Expression): Created to enforce
+       checking of static expressions in the same vein as
+       Analyze_Pragma.Check_Expr_OK_Static_Expression.
+       * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
+       types in a given type's hierarchy that match a given predicate
+       function.
+       * sem_util.ads: Fix typo.
+       * snames.ads-tmpl: Add entry for No_Controlled_Parts.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
+       overflow case when T'Machine_Overflows is True.
+
+2021-05-07  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-conhel.adb (TC_Check): Move the Assert into the
+       'if'.
+
+2021-05-07  Frederic Konrad  <konrad@adacore.com>
+
+       * sigtramp-vxworks-target.inc: Use a local label for the TOC.
+
+2021-05-07  Claire Dross  <dross@adacore.com>
+
+       * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
+       * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
+       Moved from Exp_Ch4.
+
+2021-05-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
+       Add guard to verify that the enclosing pragma is a precondition.
+
+2021-05-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Build_Class_Wide_Check): Extending the
+       functionality of this routine to climb to the ancestors
+       searching for the enclosing overridden dispatching primitive
+       that has a class-wide precondition to generate the check.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Constraint_Index): Remove redundant problematic
+       analysis.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_unst.adb (Note_Uplevel_Bound): Exclude
+       E_Enumeration_Literal.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb (Expand_N_If_Expression):
+       Apply_Arithmetic_Overflow_Check will not deal with
+       Then/Else_Actions so skip minimizing overflow checks if any
+       actions are present.
+
+2021-05-06  Boris Yakobowski  <yakobowski@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Simplify logic.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/i-c.ads (bool): New type.
+       * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
+       a subtype of Interfaces.C.bool.
+       * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
+       False.
+       * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
+       libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
+       libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
+       libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
+       Assert (False) by Assert (Standard.False).
+
+2021-05-06  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * make.adb (Compute_Executable): Document parameter.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb (Scaling): Use single handling of
+       underflow.  Add pragma Annotate.
+
+2021-05-06  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
+       remove redundant checks.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (First_Last_Ref): Simplify "if [condition] then
+       return True" in "return [condition]".
+       (Resolve_Range): Remove calls appearing in IF condition from the
+       THEN statements.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_case.adb (Missing_Choice): Fix typo in comment.
+       (Lit_Of): Simplify with Make_Character_Literal.
+       (Check_Choices): Remove extra spaces in parameter
+       specifications.
+       * sem_case.ads: Same reformatting.
+
+2021-05-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
+       Others_Clause has not been analyzed because previous analysis of
+       the enclosing aggregate showed the clause to be ineffective i.e.
+       cover a null range, analyze it now to detect a possible type
+       illegality.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
+       list member in both branches.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
+       Warnings.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
+       to Set_Raises_Constraint_Error on statically missing component.
+       * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
+       divisions by integer and real zeros.
+       * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
+       Set_Raises_Constraint_Error before exiting early in GNATprove
+       mode.
+
+2021-05-06  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Make_Discriminant_Constraint_Check): Add check for
+       null when the type being converted is an access type.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * osint.adb (Read_Library_Info_From_Full): Cleanup unused
+       initial value.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
+       Mention the IEEE standard explicitly.  Use current format names.
+       Document assumed rounding mode and new features of I/O support.
+       * gnat_rm.texi: Regenerate.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * init.c (__gnat_init_float): Use full version on Linux too.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
+       when denormalized numbers are not supported.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Check_Enum_Image): Reword comment; add
+       Check_Enumeration_Maps parameter.  Now this routine combines
+       both referencing enumeration literals and checking restriction
+       No_Enumeration_Maps, if required.
+       (Analyze_Attribute): Remove duplicated code and instead call
+       Check_Enum_Image.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Image_Attribute): Remove redundant
+       condition; add a missing header box.
+
+2021-05-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
+       mention of underscore and fix grammar error in doc for -gnatd.
+       * gnat_ugn.texi: Regenerate.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
+       and s-exnlfl.
+       * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
+       * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
+       (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
+       (RE_Unit_Table): Likewise.
+       * libgnat/s-exnflt.ads: New file.
+       * libgnat/s-exnlfl.ads: Likewise.
+       * libgnat/s-exnllf.ads: Change to mere instantiation.
+       * libgnat/s-exnllf.adb: Move implementation to...
+       * libgnat/s-exponr.ads: New generic unit.
+       * libgnat/s-exponr.adb: ...here and also make it generic.
+       (Expon): Do the computation in double precision internally.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb, osint.adb, osint.ads: Cleanup.
+
+2021-05-06  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
+       condition.
+       (Expand_N_Object_Declaration): Likewise.
+       (Build_Equivalent_Aggregate): Likewise.
+       (Initialization_Warning): Likewise; change another excessive
+       condition into assertion.
+       * freeze.adb (Freeze_Entity): Remove excessive condition.
+
+2021-05-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_If_Expression): If the context of the
+       expression is an indexed_component, resolve the expression and
+       its dependent_expressions with the base type of the index, to
+       ensure that an index check is generated when resolving the
+       enclosing indexxed_component, and avoid an improper use of
+       discriminants out of scope, when the index type is
+       discriminant-dependent.
+
+2021-05-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
+       attributes Input and Output for unchecked unions.
+       * sem_case.ads: Fix typo "disriminant" and refill comment.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
+       Has_Defaulted_Discriminants.
+       * sem_ch4.adb (Analyze_Allocator): Reuse
+       Has_Defaulted_Discriminants (after reordering conjuncts); remove
+       redundant IF statement, whose condition is implied by
+       Has_Defaulted_Discriminants.
+       * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
+       implies that the First_Discriminant is present.
+       (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.
+
+2021-05-05  Justin Squirek  <squirek@adacore.com>
+
+       * exp_ch6.adb (Expand_Call_Helper): Add condition to check for
+       expanded actuals and remove dead code.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
+       follow the Ada RM grammar.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
+       of a local variable.
+       * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
+       to Entity_Id; rename parameters to match those of the
+       Scope_Within routine (which is similar but not the same); also,
+       simplify an OR ELSE into a membership test.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
+       qualified and unqualified names of unchecked union components.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
+       check for empty list.
+       * exp_disp.adb (Find_Entry_Index): Simplify by removing
+       redundant check and counting from zero; fix type of a local
+       variable.
+       * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
+       special-case for empty lists.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
+       true condition in expanded raise statement.
+
+2021-05-05  Bob Duff  <duff@adacore.com>
+
+       * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.
+
+2021-05-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
+       a previous value of the target object is useless if the
+       right-hand side of the assignment includes target names.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_imgv.adb: Add with/use clauses for Targparm.
+       (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
+       initialize it to Nat'Last if the type is local and the target does
+       not support descriptors.  Adjust Threshold_For_Size similarly.
+       (Expand_Value_Attribute): Minor tweaks.
+
+2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
+       call.
+
+2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * par-ch5.adb (P_Condition): Check if expression is declare
+       expression.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
+       custom imported procedure.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
+       (Expand_Image_Attribute): Move inline expansion into normal flow of
+       control, move down declarations and remove superfluous processing.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
+       * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
+       * libgnat/s-dwalin.adb (Callback): Likewise.
+
+2021-05-05  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
+       code.
+
+2021-05-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Find_Type_Of_Object):  When In_Spec_Expression is
+       set and the object declaration generates a subtype indication,
+       build the corresponding subtype declaration and place it in tree
+       without the use of Insert_Actions, which is disabled in this
+       context.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * debug.adb (d_x): Document extended usage.
+       * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
+       (Expand_Image_Attribute): Call it to expand in line the attribute
+       for standard boolean by default.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * debug.adb (d_x): Document new usage.
+       * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
+       parameter and use it throughout the processing.
+       (Expand_Image_Attribute): Retrieve the underlying type of the
+       prefix and use the inline expansion for user-defined enumeration
+       types with a literal string by default.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
+       Add pragma Annotate.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
+       redundant calls to UI_From_Int.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
+       * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
+       declaration nodes of the 4 tables to the declaration list of the
+       function body.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
+       s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
+       s-vaenu8.  Remove s-imenne, s-imgenu and s-valenu.
+       * debug.adb (d_h): Document new usage.
+       * einfo.ads (Lit_Hash): New attribute for enumeration types.
+       (Set_Lit_Hash): Declare.
+       * einfo.adb (Lit_Hash): New function.
+       (Set_Lit_Hash): New procedure.
+       (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
+       * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
+       and document the hash function and its tables.
+       * exp_imgv.adb: Add with/use clauses for Debug.  Add with clause
+       for System.Perfect_Hash_Generators.
+       (Append_Table_To): New helper routine.
+       (Build_Enumeration_Image_Tables): Call it to build the tables.
+       In the main unit, register the literals with the hash generator.
+       If they are sufficiently many and -gnatd_h is not passed, generate
+       a perfect hash function and its tables; otherwise, generate a dummy
+       hash function.  For the other units, generate only the declaration.
+       In all cases, set Lit_Hash to the entity of the function, if any.
+       (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
+       if any, as third argument to the Value_Enumeration_NN function.
+       * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
+       of 'Value in CodePeer_Mode.
+       * lib.ads (Synchronize_Serial_Number): Add SN parameter.
+       * lib.adb (Synchronize_Serial_Number): Assert that it is larger than
+       the serial number of the current unit and set the latter to it only
+       in this case.
+       * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
+       System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
+       System_Val_Enum_32.  Remove System_Img_Enum, System_Img_Enum_New
+       and System_Val_Enum.
+       * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
+       generated Unrestricted_Access attribute as illegal in a declare
+       expression.
+       (RE_Unit_Table): Adjust to above changes.
+       * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
+       * libgnat/g-table.ads: Likewise.
+       * libgnat/g-pehage.ads: Add with clause and local renaming for
+       System.Perfect_Hash_Generators.
+       (Optimization): Turn into derived type.
+       (Verbose): Turn into renaming.
+       (Too_Many_Tries): Likewise.
+       (Table_Name): Move to System.Perfect_Hash_Generators.
+       (Define): Likewise.
+       (Value): Likewise.
+       * libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
+       GNAT.Heap_Sort_G and GNAT.Table.  Move bulk of implementation
+       to System.Perfect_Hash_Generators, only keep the output part.
+       * libgnat/s-imagen.ads: New generic unit.
+       * libgnat/s-imagen.adb: New body.
+       * libgnat/s-imen16.ads: New unit.
+       * libgnat/s-imen32.ads: Likewise.
+       * libgnat/s-imenu8.ads: Likewise.
+       * libgnat/s-imenne.ads: Adjust description.
+       * libgnat/s-imgenu.ads: Delete.
+       * libgnat/s-imgenu.adb: Likewise.
+       * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
+       * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
+       * libgnat/s-valuen.ads: New generic unit.
+       * libgnat/s-valuen.adb: New body.
+       * libgnat/s-vaen16.ads: New unit.
+       * libgnat/s-vaen32.ads: Likewise.
+       * libgnat/s-vaenu8.ads: Likewise.
+       * libgnat/s-valenu.ads: Delete.
+       * libgnat/s-valenu.adb: Likewise.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
+       (GNATBIND_OBJS): Remove s-imgenu.o.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
+       parameter Rep from the function spec and "and if the flag Rep is
+       set" from the comment.
+       * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
+       parameter Rep.
+
+2021-05-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
+       aggregates with component associations verify that if there is
+       more than one component association then all the choices are
+       static, that the set of choices define a continuous sequence of
+       values, and that if loop specfications appear, they do not
+       include iterator filters or key expressions.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
+       s-imgflt, s-imglfl and s-imgllf.
+       (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
+       (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
+       (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
+       * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
+       Fixed suffix and Long_Float type.
+       * exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
+       use the routine of the corresponding root type.  For ordinary fixed
+       point types, use Fixed suffix and Long_Float type.
+       (Expand_Value_Attribute): Revert latest change for Long_Long_Float.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
+       g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
+       (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
+       * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
+       System_Img_LLF.  Remove System_Img_Real.
+       (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed.  Add RE_Image_Float,
+       RE_Image_Long_Float and RE_Image_Long_Long_Float.  Rename
+       RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
+       (RE_Unit_Table): Adjust to above changes.
+       * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
+       of Long_Long_Float.
+       * libgnat/a-textio.ads (Field): Remove obsolete comment.
+       * libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
+       * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
+       (Puts): Call Aux.Set_Image instead of Set_Image_Real.
+       * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Scalar_Float): Add third actual parameter.
+       (Scalar_Long_Float): Likewise.
+       (Scalar_Long_Long_Float): Likewise.
+       * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
+       and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
+       Long_Long_Float with Long_Float throughout.
+       * libgnat/a-tifiio__128.adb: Likewise.
+       * libgnat/a-tiflau.ads: Add Set_Image formal parameter.
+       * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
+       remove the one for System.Img_Real.
+       (Put): Call Set_Image instead of Set_Image_Real.
+       (Puts): Likewise.
+       * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Aux_Float): Add third actual parameter.
+       (Aux_Long_Float): Likewise.
+       (Aux_Long_Long_Float): Likewise.
+       * libgnat/a-witeio.ads (Field): Remove obsolete comment.
+       * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
+       * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
+       (Puts): Call Aux.Set_Image instead of Set_Image_Real.
+       * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Scalar_Float): Add third actual parameter.
+       (Scalar_Long_Float): Likewise.
+       (Scalar_Long_Long_Float): Likewise.
+       * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
+       and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
+       Long_Long_Float with Long_Float throughout.
+       * libgnat/a-wtfiio__128.adb: Likewise.
+       * libgnat/a-wtflau.ads: Add Set_Image formal parameter.
+       * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
+       remove the one for System.Img_Real.
+       (Put): Call Set_Image instead of Set_Image_Real.
+       (Puts): Likewise.
+       * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Aux_Float): Add third actual parameter.
+       (Aux_Long_Float): Likewise.
+       (Aux_Long_Long_Float): Likewise.
+       * libgnat/a-ztexio.ads (Field): Remove obsolete comment.
+       * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
+       * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
+       (Puts): Call Aux.Set_Image instead of Set_Image_Real.
+       * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Scalar_Float): Add third actual parameter.
+       (Scalar_Long_Float): Likewise.
+       (Scalar_Long_Long_Float): Likewise.
+       * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
+       and System.Val_LFlt.  Remove the one for System.Val_LLF.  Replace
+       Long_Long_Float with Long_Float throughout.
+       * libgnat/a-ztfiio__128.adb: Likewise.
+       * libgnat/a-ztflau.ads: Add Set_Image formal parameter.
+       * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
+       remove the one for System.Img_Real.
+       (Put): Call Set_Image instead of Set_Image_Real.
+       (Puts): Likewise.
+       * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
+       System.Img_LFlt and System.Img_LLF.
+       (Aux_Float): Add third actual parameter.
+       (Aux_Long_Float): Likewise.
+       (Aux_Long_Long_Float): Likewise.
+       * libgnat/s-dorepr.adb: New file.
+       * libgnat/s-dorepr__fma.adb: Likewise.
+       * libgnat/s-dourea.ads: Likewise.
+       * libgnat/s-dourea.adb: Likewise.
+       * libgnat/s-forrea.ads (Fore_Real): Rename into...
+       (Fore_Fixed): ...this and take Long_Float parameters.
+       * libgnat/s-forrea.adb (Fore_Real): Likewise.
+       (Fore_Fixed): Likewise.
+       * libgnat/s-imgrea.ads: Move to...
+       (Set_Image_Real): Turn into mere renaming.
+       * libgnat/s-imager.ads: ...here.
+       (Image_Ordinary_Fixed_Point): Turn into...
+       (Image_Fixed_Point): ...this.
+       * libgnat/s-imgrea.adb: Add pragma No_Body.  Move to...
+       * libgnat/s-imager.adb: ...here.
+       (Image_Ordinary_Fixed_Point): Turn into...
+       (Image_Fixed_Point): ...this.
+       (Is_Negative): Replace Long_Long_Float with Num.
+       (Set_Image_Real): Likewise.  Use Double_T instead of single Num
+       throughout the algorithm.
+       * libgnat/s-imgflt.ads: New file.
+       * libgnat/s-imglfl.ads: Likewise.
+       * libgnat/s-imgllf.ads: Likewise.
+       * libgnat/s-imagef.ads: Adjust comment.
+       * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
+       * libgnat/s-powflt.ads (Maxpow): Adjust.
+       (Powten): Turn into an exact table of double Float.
+       * libgnat/s-powlfl.ads (Maxpow): Adjust.
+       (Powten): Turn into an exact table of double Long_Float.
+       * libgnat/s-powllf.ads (Maxpow): Adjust.
+       (Powten): Turn into an exact table of double Long_Long_Float.
+       * libgnat/s-valrea.ads: Change order of formal parameters.
+       * libgnat/s-valrea.adb: Add with clause for System.Double_Real.
+       (Double_Real): New instantiation.
+       (Fast2Sum): Delete.
+       (Large_Powten): New function.
+       (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum.  Convert
+       the value to Double_T.  Do the scaling in Double_T for base 10.
+       * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
+       add it for System.Unsigned_Types.  Use Unsigned.
+       * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
+       add it for System.Unsigned_Types.  Use Long_Unsigned.
+       * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
+       add it for System.Unsigned_Types.  Use Long_Long_Unsigned.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Eval_Arithmetic_Op): Call
+       Set_Raises_Constraint_Error on real division by zero just like
+       it is called for integer division by zero earlier in this
+       routine.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
+       statements with the same condition.
+
+2021-05-05  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (Expr_Name): Introduce local constants to make the
+       code more readable and avoid repeated calls to Next to reach the
+       ELSE part of an if-expression.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb: Remove qualification of arbitrary calls to
+       Sinfo.Expressions and Sinfo.Parameter_Associations.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (Expr_Name): Simplify with functional variant of
+       UI_Image.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (To_Mixed): Removed.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * pprint.adb (List_Name_Count): Change type from Integer to
+       Natural.
+
+2021-05-04  Yannick Moy  <moy@adacore.com>
+
+       * pprint.adb (Expression_Image): Special case for
+       expression-with-actions.
+
+2021-05-04  Bob Duff  <duff@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
+       branch for generic subprograms (they are now handled together
+       with non-generic subprograms in the ELSE branch); replace a
+       low-level Ekind membership test with a high-level call to
+       Is_Access_Subprogram_Type.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
+       with Next_Formal.
+       * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Collect_Global_Item): Iterate directly over
+       formals.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
+       comment; this routine is no longer used by GNATprove.
+       * sem_prag.adb (Find_Role): The IN parameter is on output only
+       when it belongs to non-function; also, the otherwise constant
+       object can only be written by a non-function.
+       (Collect_Global_Item): The IN parameter can only be written when
+       it belongs to non-function; also, unnest this check to make it
+       easier to read.
+
+2021-05-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-assert.ads (Assert_Failure): Now a renaming of
+       Assertion_Error.
+       * libgnat/a-assert.ads (Assertion_Error): Now a first class
+       citizen.  Remove dependency on System.Assertions.
+       * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
+       a-assert.o from gcc-interface.
+
+2021-05-04  Yannick Moy  <moy@adacore.com>
+
+       * erroutc.adb (Matches): Move spec...
+       * erroutc.ads (Matches): ...here.
+
+2021-05-04  Yannick Moy  <moy@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Force error marker in
+       GNATprove mode.
+
+2021-05-04  Bob Duff  <duff@adacore.com>
+
+       * binde.adb: No need for ??? marks in Binde, because it is
+       superseded by Bindo.
+       * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
+       works.
+       * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
+       conversions passed to gigi are documented in sinfo.ads.
+       (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
+       one in sinfo.ads.
+       (Expand_N_In): Robert already added sufficient comments years
+       after the ??? comment was inserted.
+       (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
+       reason why Stand should export Long_Long_Integer'Base -- it
+       doesn't export any other base types.
+       (Size_In_Storage_Elements): We are doing an allocator, so we
+       don't care about sizes in bits.
+       (Expand_N_Allocator): PolyORB isn't going to be significantly
+       improved, so we're not going to mess with remote access to
+       class-wide types.
+       (Optimize_Return_Stmt): It's not important to optimize return
+       statements in predicate functions -- there are many
+       more-important optimizations we could do. Keep part of the
+       comment without "???", to clarify why the "and then ...".
+       (User_Defined_Primitive_Equality_Op): The optimization doesn't
+       seem important enough.
+       (Expand_N_Unchecked_Type_Conversion): Refactor to use
+       Expand_N_Unchecked_Expression.
+       (Make_Array_Comparison_Op): This seems like a case of "it it's
+       not broken, don't fix it". Too much risk of causing bugs.
+       * debug_a.adb: Remove ??? comments asking why Current_Error_Node
+       is maintained unconditionally, and add a comment explaining why.
+       * errout.adb: These kinds of minor bugs do indeed exist, but
+       we're never going to get around to fixing them "properly", so we
+       need this code for robustness.
+       * gnatchop.adb (Read_File): Document when read can fail.
+       * gnatdll.adb (Parse_Command_Line): Nobody is complaining about
+       these arbitrary limits, so no need to use Table. Increase the
+       limits just in case.  It is clear from the names what they are
+       limits on.
+       * gnatlink.adb: Add needed comments.
+       (Delete): An existing comment makes clear it's intentional, and
+       it's been like that since 1996.
+       (Process_Args): Improve comments.
+       (Search_Library_Path): Refactoring to avoid deep nesting.
+       * inline.adb (Build_Body_To_Inline): Probably won't get around
+       to doing that optimization.
+       (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
+       because it is too specialized to this context.
+       (Do_Reset): No comment is needed here; it's clear from the
+       comment on Reset_Dispatching_Calls. Do_Reset is an artificial
+       subprogram; if we had proper iterators, it would just be an if
+       statement in the loop.
+       (Rewrite_Function_Call): Probably won't get around to doing that
+       optimization.
+       * layout.adb (Layout_Type): The gigi comment doesn't need to be
+       a ??? comment, and it's been that way since 2000.  The
+       limitation to scalars will likely never be investigated, and
+       it's been that way since 2009.
+       * lib.adb (Check_Same_Extended_Unit): This doesn't look like
+       something that needs fixing; it looks like a permanent
+       workaround.
+       * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
+       practice.
+       (Load_Unit): Nobody will ever get around to investigating the
+       obscure PMES oddity, and the optimization is not worth the
+       trouble.
+       * live.adb: It's not worth documenting this. It is used only
+       with a debug switch. Nobody who has done significant work on it
+       is still around, so it would require substantial investigation.
+       * mdll.ads: I see no reason for USE.
+       * namet.ads: Routines are obsolete, but they're not going
+       anywhere anytime soon (too much work, and surprisingly delicate
+       because of dependences on global variables).
+       * osint.ads: Minor.
+       * osint.adb: Improve comments.
+       (Full_Lib_File_Name): Use Smart_Find_File.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
+       tests with a high-level call to Is_Formal_Object.
+
+2021-05-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
+       xr_tabls.adb, xref_lib.adb: Address ??? comments.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
+       account when accepting or rejecting a constant of an
+       access-to-variable type as a global Output/In_Out; do this check
+       inside an ELSIF branch to avoid unnecessary evaluation of the
+       subsequent condition.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Role_Error, Usage_Error): Replace calls to
+       Name_Find and Get_Name_String with a call to To_String.
+
+2021-05-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
+       Expand_Container_Aggregate, to create an expression to be used
+       in the dynamic allocation of a container with a single container
+       element association.
+       (Add_Range): Handle static bounds of ranges over enumerations.
+       (Expand_Container_Aggregate): Add declaration for size
+       expression when needed, and use it in container object
+       declaration for container.
+
+2021-05-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
+       Unnest so that it can be reused.
+       (Build_Finalizer_Helper.Process_Declarations): Call the
+       xxx__finalize_body procedure of a package instantiation in case
+       it contains finalization statements.  Code clean ups.
+       (Build_Finalizer_Helper.Create_Finalizer): Export and set an
+       Interface_Name for library level finalizers since these may be
+       imported now.
+       (Build_Finalizer_Helper): Need to process library level package
+       body instantiations which may contain objects requiring
+       finalization.
+       * libgnat/s-finmas.ads: Fix typo.
+
+2021-05-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
+       Determine_Range, Insert_Range_Checks,
+       Install_Null_Excluding_Check, Selected_Length_Checks,
+       Selected_Range_Checks): Address ??? comments and code cleanups.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
+       Apply the rule even with no explicit Global contract (and remove
+       a dead condition for Refined_Global).
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
+       Extend check to protected entries.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
+       Fix reference to SPARK RM rule number.
+
+2021-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_intr.adb: Remove with/use clauses for Urealp.
+       (Expand_Is_Negative): Delete.
+       (Expand_Intrinsic_Call): Do not call it.
+       * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
+       (RE_Unit_Table): Remove entry for RE_Float_Unsigned.
+       * snames.ads-tmpl (Name_Is_Negative): Delete.
+       * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
+       * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
+       (LLU): New subtype.
+       (Maxdigs): Use it.
+       (Is_Negative): Reimplement.
+       (Image_Floating_Point): Simplify.
+       (Set_Image_Real): Fix mode of S parameter.  Remove the low-level
+       processing on characters.  Flip the sign of the Scale variable.
+       Compute the maximum number of digits for the straight notation.
+       Call Set_Decimal_Digits at the end to do the final formatting.
+       * libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
+       (Set_Floating_Invalid_Value): New procedure.
+       * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
+       based on existing code from Set_Image_Real.
+       * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * csets.adb (Initialize): Refactor into CASE statement; raise
+       exception on unsupported code of character set (it will be
+       gently rejected earlier when scanning command line switches).
+       * switch-b.adb (Scan_Binder_Switches): Refactor into a
+       membership expression; add missing '9' choice; reorder as
+       described by GNAT UG, section 4.3.11.
+       * switch-c.adb (Scan_Front_End_Switches): Refactor into a
+       membership expression and reorder as above.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+       (gnatic): Mention '5' as an allowed value for "c".
+       * gnat_ugn.texi: Regenerate.
+
+2021-05-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * errout.adb (Error_Msg_Internal): Add assertion to prevent
+       style mistakes reappearing in the future.
+
+2021-05-04  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Tagged_Membership): Remove wrong condition that
+       is not consistent with the documentation of this subprogram.
+
+2021-05-04  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): Make message a continuation.
+
+2021-05-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * styleg.adb: Address ??? comments.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-stunau.ads, libgnat/a-stunau.adb,
+       libgnat/a-stunau__shared.adb (Set_String): Remove old version,
+       replace by a new version taking a callback to set the string.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-coorma.ads (Map): Add missing
+       Preelaborate_Initialization.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
+       Simplify with Is_Universal_Numeric_Type.
+       * sem_attr.adb (Resolve_Attribute): Likewise.
+       * sem_ch3.adb: Likewise.
+       * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
+       Likewise.
+       * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
+       * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
+       Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
+       Set_Operand_Type): Likewise.
+       * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
+       * sem_util.adb (Universal_Interpretation): Likewise.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
+       routines; move a local constant after nested subprogram bodies;
+       refill comment.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
+       type when analysing attribute Priority.
+       * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
+       in analysis of case statements.
+       (Analyze_Iterator_Specification): Likewise for non-overloaded
+       domain of iteration.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb (Write_Entity_Info): Simplify an Ekind membership
+       test.
+       * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch7.adb (Build_Finalize_Statements): Refine type of a
+       local counter variable.
+       * exp_dist.adb (Append_Record_Traversal): Refine type of Counter
+       parameter.
+       (Add_Process_Element): Likewise.
+       (Build_From_Any_Call): Refine type of a local counter variable.
+       (Build_From_Any_Function): Likewise.
+       (Build_To_Any_Function): Likewise.
+       (FA_Rec_Add_Process_Element): Likewise.
+       (TA_Append_Record_Traversal): Likewise.
+       (TA_Rec_Add_Process_Element): Likewise.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: Update copyright notice.
+       * ada_get_targ.adb: Likewise.
+       * adabkend.adb: Likewise.
+       * adabkend.ads: Likewise.
+       * adadecode.c: Likewise.
+       * adadecode.h: Likewise.
+       * adaint.c: Likewise.
+       * adaint.h: Likewise.
+       * affinity.c: Likewise.
+       * ali-util.adb: Likewise.
+       * ali-util.ads: Likewise.
+       * ali.adb: Likewise.
+       * ali.ads: Likewise.
+       * alloc.ads: Likewise.
+       * argv-lynxos178-raven-cert.c: Likewise.
+       * argv.c: Likewise.
+       * aspects.adb: Likewise.
+       * aspects.ads: Likewise.
+       * atree.adb: Likewise.
+       * atree.ads: Likewise.
+       * atree.h: Likewise.
+       * aux-io.c: Likewise.
+       * back_end.adb: Likewise.
+       * back_end.ads: Likewise.
+       * bcheck.adb: Likewise.
+       * bcheck.ads: Likewise.
+       * binde.adb: Likewise.
+       * binde.ads: Likewise.
+       * binderr.adb: Likewise.
+       * binderr.ads: Likewise.
+       * bindgen.adb: Likewise.
+       * bindgen.ads: Likewise.
+       * bindo-augmentors.adb: Likewise.
+       * bindo-augmentors.ads: Likewise.
+       * bindo-builders.adb: Likewise.
+       * bindo-builders.ads: Likewise.
+       * bindo-diagnostics.adb: Likewise.
+       * bindo-diagnostics.ads: Likewise.
+       * bindo-elaborators.adb: Likewise.
+       * bindo-elaborators.ads: Likewise.
+       * bindo-graphs.adb: Likewise.
+       * bindo-graphs.ads: Likewise.
+       * bindo-units.adb: Likewise.
+       * bindo-units.ads: Likewise.
+       * bindo-validators.adb: Likewise.
+       * bindo-validators.ads: Likewise.
+       * bindo-writers.adb: Likewise.
+       * bindo-writers.ads: Likewise.
+       * bindo.adb: Likewise.
+       * bindo.ads: Likewise.
+       * bindusg.adb: Likewise.
+       * bindusg.ads: Likewise.
+       * butil.adb: Likewise.
+       * butil.ads: Likewise.
+       * cal.c: Likewise.
+       * casing.adb: Likewise.
+       * casing.ads: Likewise.
+       * ceinfo.adb: Likewise.
+       * checks.adb: Likewise.
+       * checks.ads: Likewise.
+       * cio.c: Likewise.
+       * clean.adb: Likewise.
+       * clean.ads: Likewise.
+       * comperr.adb: Likewise.
+       * comperr.ads: Likewise.
+       * contracts.adb: Likewise.
+       * contracts.ads: Likewise.
+       * csets.adb: Likewise.
+       * csets.ads: Likewise.
+       * csinfo.adb: Likewise.
+       * cstand.adb: Likewise.
+       * cstand.ads: Likewise.
+       * cstreams.c: Likewise.
+       * ctrl_c.c: Likewise.
+       * debug.adb: Likewise.
+       * debug.ads: Likewise.
+       * debug_a.adb: Likewise.
+       * debug_a.ads: Likewise.
+       * einfo.adb: Likewise.
+       * einfo.ads: Likewise.
+       * elists.adb: Likewise.
+       * elists.ads: Likewise.
+       * elists.h: Likewise.
+       * env.c: Likewise.
+       * env.h: Likewise.
+       * err_vars.ads: Likewise.
+       * errno.c: Likewise.
+       * errout.adb: Likewise.
+       * errout.ads: Likewise.
+       * erroutc.adb: Likewise.
+       * erroutc.ads: Likewise.
+       * errutil.adb: Likewise.
+       * errutil.ads: Likewise.
+       * eval_fat.adb: Likewise.
+       * eval_fat.ads: Likewise.
+       * exit.c: Likewise.
+       * exp_aggr.adb: Likewise.
+       * exp_aggr.ads: Likewise.
+       * exp_atag.adb: Likewise.
+       * exp_atag.ads: Likewise.
+       * exp_attr.adb: Likewise.
+       * exp_attr.ads: Likewise.
+       * exp_cg.adb: Likewise.
+       * exp_cg.ads: Likewise.
+       * exp_ch10.ads: Likewise.
+       * exp_ch11.adb: Likewise.
+       * exp_ch11.ads: Likewise.
+       * exp_ch12.adb: Likewise.
+       * exp_ch12.ads: Likewise.
+       * exp_ch13.adb: Likewise.
+       * exp_ch13.ads: Likewise.
+       * exp_ch2.adb: Likewise.
+       * exp_ch2.ads: Likewise.
+       * exp_ch3.adb: Likewise.
+       * exp_ch3.ads: Likewise.
+       * exp_ch4.adb: Likewise.
+       * exp_ch4.ads: Likewise.
+       * exp_ch5.adb: Likewise.
+       * exp_ch5.ads: Likewise.
+       * exp_ch6.adb: Likewise.
+       * exp_ch6.ads: Likewise.
+       * exp_ch7.adb: Likewise.
+       * exp_ch7.ads: Likewise.
+       * exp_ch8.adb: Likewise.
+       * exp_ch8.ads: Likewise.
+       * exp_ch9.adb: Likewise.
+       * exp_ch9.ads: Likewise.
+       * exp_code.adb: Likewise.
+       * exp_code.ads: Likewise.
+       * exp_dbug.adb: Likewise.
+       * exp_dbug.ads: Likewise.
+       * exp_disp.adb: Likewise.
+       * exp_disp.ads: Likewise.
+       * exp_dist.adb: Likewise.
+       * exp_dist.ads: Likewise.
+       * exp_fixd.adb: Likewise.
+       * exp_fixd.ads: Likewise.
+       * exp_imgv.adb: Likewise.
+       * exp_imgv.ads: Likewise.
+       * exp_intr.adb: Likewise.
+       * exp_intr.ads: Likewise.
+       * exp_pakd.adb: Likewise.
+       * exp_pakd.ads: Likewise.
+       * exp_prag.adb: Likewise.
+       * exp_prag.ads: Likewise.
+       * exp_put_image.adb: Likewise.
+       * exp_put_image.ads: Likewise.
+       * exp_sel.adb: Likewise.
+       * exp_sel.ads: Likewise.
+       * exp_smem.adb: Likewise.
+       * exp_smem.ads: Likewise.
+       * exp_spark.adb: Likewise.
+       * exp_spark.ads: Likewise.
+       * exp_strm.adb: Likewise.
+       * exp_strm.ads: Likewise.
+       * exp_tss.adb: Likewise.
+       * exp_tss.ads: Likewise.
+       * exp_unst.adb: Likewise.
+       * exp_unst.ads: Likewise.
+       * exp_util.adb: Likewise.
+       * exp_util.ads: Likewise.
+       * expander.adb: Likewise.
+       * expander.ads: Likewise.
+       * expect.c: Likewise.
+       * fe.h: Likewise.
+       * final.c: Likewise.
+       * fmap.adb: Likewise.
+       * fmap.ads: Likewise.
+       * fname-sf.adb: Likewise.
+       * fname-sf.ads: Likewise.
+       * fname-uf.adb: Likewise.
+       * fname-uf.ads: Likewise.
+       * fname.adb: Likewise.
+       * fname.ads: Likewise.
+       * freeze.adb: Likewise.
+       * freeze.ads: Likewise.
+       * frontend.adb: Likewise.
+       * frontend.ads: Likewise.
+       * gcc-interface/ada-tree.h: Likewise.
+       * gcc-interface/ada.h: Likewise.
+       * gcc-interface/cuintp.c: Likewise.
+       * gcc-interface/decl.c: Likewise.
+       * gcc-interface/gadaint.h: Likewise.
+       * gcc-interface/gigi.h: Likewise.
+       * gcc-interface/lang-specs.h: Likewise.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/system.ads: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       * gcc-interface/utils2.c: Likewise.
+       * get_scos.adb: Likewise.
+       * get_scos.ads: Likewise.
+       * get_targ.adb: Likewise.
+       * get_targ.ads: Likewise.
+       * ghost.adb: Likewise.
+       * ghost.ads: Likewise.
+       * gnat1drv.adb: Likewise.
+       * gnat1drv.ads: Likewise.
+       * gnat_cuda.adb: Likewise.
+       * gnat_cuda.ads: Likewise.
+       * gnatbind.adb: Likewise.
+       * gnatbind.ads: Likewise.
+       * gnatchop.adb: Likewise.
+       * gnatclean.adb: Likewise.
+       * gnatcmd.adb: Likewise.
+       * gnatcmd.ads: Likewise.
+       * gnatdll.adb: Likewise.
+       * gnatfind.adb: Likewise.
+       * gnatkr.adb: Likewise.
+       * gnatkr.ads: Likewise.
+       * gnatlink.adb: Likewise.
+       * gnatlink.ads: Likewise.
+       * gnatls.adb: Likewise.
+       * gnatls.ads: Likewise.
+       * gnatmake.adb: Likewise.
+       * gnatmake.ads: Likewise.
+       * gnatname.adb: Likewise.
+       * gnatname.ads: Likewise.
+       * gnatprep.adb: Likewise.
+       * gnatprep.ads: Likewise.
+       * gnatvsn.adb: Likewise.
+       * gnatvsn.ads: Likewise.
+       * gnatxref.adb: Likewise.
+       * gprep.adb: Likewise.
+       * gprep.ads: Likewise.
+       * gsocket.h: Likewise.
+       * hostparm.ads: Likewise.
+       * impunit.adb: Likewise.
+       * impunit.ads: Likewise.
+       * indepsw-aix.adb: Likewise.
+       * indepsw-darwin.adb: Likewise.
+       * indepsw-gnu.adb: Likewise.
+       * indepsw.adb: Likewise.
+       * indepsw.ads: Likewise.
+       * init.c: Likewise.
+       * initialize.c: Likewise.
+       * inline.adb: Likewise.
+       * inline.ads: Likewise.
+       * itypes.adb: Likewise.
+       * itypes.ads: Likewise.
+       * krunch.adb: Likewise.
+       * krunch.ads: Likewise.
+       * layout.adb: Likewise.
+       * layout.ads: Likewise.
+       * lib-list.adb: Likewise.
+       * lib-load.adb: Likewise.
+       * lib-load.ads: Likewise.
+       * lib-sort.adb: Likewise.
+       * lib-util.adb: Likewise.
+       * lib-util.ads: Likewise.
+       * lib-writ.adb: Likewise.
+       * lib-writ.ads: Likewise.
+       * lib-xref-spark_specific.adb: Likewise.
+       * lib-xref.adb: Likewise.
+       * lib-xref.ads: Likewise.
+       * lib.adb: Likewise.
+       * lib.ads: Likewise.
+       * libgnarl/a-astaco.adb: Likewise.
+       * libgnarl/a-dispat.adb: Likewise.
+       * libgnarl/a-dynpri.adb: Likewise.
+       * libgnarl/a-etgrbu.ads: Likewise.
+       * libgnarl/a-exetim__darwin.adb: Likewise.
+       * libgnarl/a-exetim__default.ads: Likewise.
+       * libgnarl/a-exetim__mingw.adb: Likewise.
+       * libgnarl/a-exetim__mingw.ads: Likewise.
+       * libgnarl/a-exetim__posix.adb: Likewise.
+       * libgnarl/a-interr.adb: Likewise.
+       * libgnarl/a-interr.ads: Likewise.
+       * libgnarl/a-intnam.ads: Likewise.
+       * libgnarl/a-intnam__aix.ads: Likewise.
+       * libgnarl/a-intnam__darwin.ads: Likewise.
+       * libgnarl/a-intnam__dragonfly.ads: Likewise.
+       * libgnarl/a-intnam__dummy.ads: Likewise.
+       * libgnarl/a-intnam__freebsd.ads: Likewise.
+       * libgnarl/a-intnam__hpux.ads: Likewise.
+       * libgnarl/a-intnam__linux.ads: Likewise.
+       * libgnarl/a-intnam__lynxos.ads: Likewise.
+       * libgnarl/a-intnam__mingw.ads: Likewise.
+       * libgnarl/a-intnam__qnx.ads: Likewise.
+       * libgnarl/a-intnam__rtems.ads: Likewise.
+       * libgnarl/a-intnam__solaris.ads: Likewise.
+       * libgnarl/a-intnam__vxworks.ads: Likewise.
+       * libgnarl/a-reatim.adb: Likewise.
+       * libgnarl/a-reatim.ads: Likewise.
+       * libgnarl/a-retide.adb: Likewise.
+       * libgnarl/a-retide.ads: Likewise.
+       * libgnarl/a-rttiev.adb: Likewise.
+       * libgnarl/a-rttiev.ads: Likewise.
+       * libgnarl/a-synbar.adb: Likewise.
+       * libgnarl/a-synbar.ads: Likewise.
+       * libgnarl/a-synbar__posix.adb: Likewise.
+       * libgnarl/a-synbar__posix.ads: Likewise.
+       * libgnarl/a-sytaco.adb: Likewise.
+       * libgnarl/a-sytaco.ads: Likewise.
+       * libgnarl/a-tasatt.adb: Likewise.
+       * libgnarl/a-tasatt.ads: Likewise.
+       * libgnarl/a-taside.adb: Likewise.
+       * libgnarl/a-taside.ads: Likewise.
+       * libgnarl/a-tasini.adb: Likewise.
+       * libgnarl/a-tasini.ads: Likewise.
+       * libgnarl/a-taster.adb: Likewise.
+       * libgnarl/g-boubuf.adb: Likewise.
+       * libgnarl/g-boubuf.ads: Likewise.
+       * libgnarl/g-boumai.ads: Likewise.
+       * libgnarl/g-semaph.adb: Likewise.
+       * libgnarl/g-semaph.ads: Likewise.
+       * libgnarl/g-signal.adb: Likewise.
+       * libgnarl/g-signal.ads: Likewise.
+       * libgnarl/g-tastus.ads: Likewise.
+       * libgnarl/g-thread.adb: Likewise.
+       * libgnarl/g-thread.ads: Likewise.
+       * libgnarl/i-vxinco.adb: Likewise.
+       * libgnarl/i-vxinco.ads: Likewise.
+       * libgnarl/s-inmaop.ads: Likewise.
+       * libgnarl/s-inmaop__dummy.adb: Likewise.
+       * libgnarl/s-inmaop__posix.adb: Likewise.
+       * libgnarl/s-inmaop__vxworks.adb: Likewise.
+       * libgnarl/s-interr.adb: Likewise.
+       * libgnarl/s-interr.ads: Likewise.
+       * libgnarl/s-interr__dummy.adb: Likewise.
+       * libgnarl/s-interr__hwint.adb: Likewise.
+       * libgnarl/s-interr__sigaction.adb: Likewise.
+       * libgnarl/s-interr__vxworks.adb: Likewise.
+       * libgnarl/s-intman.ads: Likewise.
+       * libgnarl/s-intman__android.adb: Likewise.
+       * libgnarl/s-intman__dummy.adb: Likewise.
+       * libgnarl/s-intman__lynxos.adb: Likewise.
+       * libgnarl/s-intman__mingw.adb: Likewise.
+       * libgnarl/s-intman__posix.adb: Likewise.
+       * libgnarl/s-intman__qnx.adb: Likewise.
+       * libgnarl/s-intman__solaris.adb: Likewise.
+       * libgnarl/s-intman__susv3.adb: Likewise.
+       * libgnarl/s-intman__vxworks.adb: Likewise.
+       * libgnarl/s-intman__vxworks.ads: Likewise.
+       * libgnarl/s-linux.ads: Likewise.
+       * libgnarl/s-linux__alpha.ads: Likewise.
+       * libgnarl/s-linux__android.ads: Likewise.
+       * libgnarl/s-linux__hppa.ads: Likewise.
+       * libgnarl/s-linux__mips.ads: Likewise.
+       * libgnarl/s-linux__riscv.ads: Likewise.
+       * libgnarl/s-linux__sparc.ads: Likewise.
+       * libgnarl/s-linux__x32.ads: Likewise.
+       * libgnarl/s-mudido.adb: Likewise.
+       * libgnarl/s-mudido__affinity.adb: Likewise.
+       * libgnarl/s-osinte__aix.adb: Likewise.
+       * libgnarl/s-osinte__aix.ads: Likewise.
+       * libgnarl/s-osinte__android.adb: Likewise.
+       * libgnarl/s-osinte__android.ads: Likewise.
+       * libgnarl/s-osinte__darwin.adb: Likewise.
+       * libgnarl/s-osinte__darwin.ads: Likewise.
+       * libgnarl/s-osinte__dragonfly.adb: Likewise.
+       * libgnarl/s-osinte__dragonfly.ads: Likewise.
+       * libgnarl/s-osinte__dummy.ads: Likewise.
+       * libgnarl/s-osinte__freebsd.adb: Likewise.
+       * libgnarl/s-osinte__freebsd.ads: Likewise.
+       * libgnarl/s-osinte__gnu.adb: Likewise.
+       * libgnarl/s-osinte__gnu.ads: Likewise.
+       * libgnarl/s-osinte__hpux-dce.adb: Likewise.
+       * libgnarl/s-osinte__hpux-dce.ads: Likewise.
+       * libgnarl/s-osinte__hpux.ads: Likewise.
+       * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+       * libgnarl/s-osinte__linux.ads: Likewise.
+       * libgnarl/s-osinte__lynxos178.adb: Likewise.
+       * libgnarl/s-osinte__lynxos178e.ads: Likewise.
+       * libgnarl/s-osinte__mingw.ads: Likewise.
+       * libgnarl/s-osinte__posix.adb: Likewise.
+       * libgnarl/s-osinte__qnx.adb: Likewise.
+       * libgnarl/s-osinte__qnx.ads: Likewise.
+       * libgnarl/s-osinte__rtems.adb: Likewise.
+       * libgnarl/s-osinte__rtems.ads: Likewise.
+       * libgnarl/s-osinte__solaris.adb: Likewise.
+       * libgnarl/s-osinte__solaris.ads: Likewise.
+       * libgnarl/s-osinte__vxworks.adb: Likewise.
+       * libgnarl/s-osinte__vxworks.ads: Likewise.
+       * libgnarl/s-osinte__x32.adb: Likewise.
+       * libgnarl/s-proinf.adb: Likewise.
+       * libgnarl/s-proinf.ads: Likewise.
+       * libgnarl/s-qnx.ads: Likewise.
+       * libgnarl/s-solita.adb: Likewise.
+       * libgnarl/s-solita.ads: Likewise.
+       * libgnarl/s-stusta.adb: Likewise.
+       * libgnarl/s-stusta.ads: Likewise.
+       * libgnarl/s-taasde.adb: Likewise.
+       * libgnarl/s-taasde.ads: Likewise.
+       * libgnarl/s-tadeca.adb: Likewise.
+       * libgnarl/s-tadeca.ads: Likewise.
+       * libgnarl/s-tadert.adb: Likewise.
+       * libgnarl/s-tadert.ads: Likewise.
+       * libgnarl/s-taenca.adb: Likewise.
+       * libgnarl/s-taenca.ads: Likewise.
+       * libgnarl/s-taprob.adb: Likewise.
+       * libgnarl/s-taprob.ads: Likewise.
+       * libgnarl/s-taprop.ads: Likewise.
+       * libgnarl/s-taprop__dummy.adb: Likewise.
+       * libgnarl/s-taprop__hpux-dce.adb: Likewise.
+       * libgnarl/s-taprop__linux.adb: Likewise.
+       * libgnarl/s-taprop__mingw.adb: Likewise.
+       * libgnarl/s-taprop__posix.adb: Likewise.
+       * libgnarl/s-taprop__qnx.adb: Likewise.
+       * libgnarl/s-taprop__solaris.adb: Likewise.
+       * libgnarl/s-taprop__vxworks.adb: Likewise.
+       * libgnarl/s-tarest.adb: Likewise.
+       * libgnarl/s-tarest.ads: Likewise.
+       * libgnarl/s-tasdeb.adb: Likewise.
+       * libgnarl/s-tasdeb.ads: Likewise.
+       * libgnarl/s-tasinf.adb: Likewise.
+       * libgnarl/s-tasinf.ads: Likewise.
+       * libgnarl/s-tasinf__linux.adb: Likewise.
+       * libgnarl/s-tasinf__linux.ads: Likewise.
+       * libgnarl/s-tasinf__mingw.adb: Likewise.
+       * libgnarl/s-tasinf__mingw.ads: Likewise.
+       * libgnarl/s-tasinf__solaris.adb: Likewise.
+       * libgnarl/s-tasinf__solaris.ads: Likewise.
+       * libgnarl/s-tasinf__vxworks.ads: Likewise.
+       * libgnarl/s-tasini.adb: Likewise.
+       * libgnarl/s-tasini.ads: Likewise.
+       * libgnarl/s-taskin.adb: Likewise.
+       * libgnarl/s-taskin.ads: Likewise.
+       * libgnarl/s-taspri__dummy.ads: Likewise.
+       * libgnarl/s-taspri__hpux-dce.ads: Likewise.
+       * libgnarl/s-taspri__lynxos.ads: Likewise.
+       * libgnarl/s-taspri__mingw.ads: Likewise.
+       * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
+       * libgnarl/s-taspri__posix.ads: Likewise.
+       * libgnarl/s-taspri__solaris.ads: Likewise.
+       * libgnarl/s-taspri__vxworks.ads: Likewise.
+       * libgnarl/s-tasque.adb: Likewise.
+       * libgnarl/s-tasque.ads: Likewise.
+       * libgnarl/s-tasren.adb: Likewise.
+       * libgnarl/s-tasren.ads: Likewise.
+       * libgnarl/s-tasres.ads: Likewise.
+       * libgnarl/s-tassta.adb: Likewise.
+       * libgnarl/s-tassta.ads: Likewise.
+       * libgnarl/s-tasuti.adb: Likewise.
+       * libgnarl/s-tasuti.ads: Likewise.
+       * libgnarl/s-tataat.adb: Likewise.
+       * libgnarl/s-tataat.ads: Likewise.
+       * libgnarl/s-tpinop.adb: Likewise.
+       * libgnarl/s-tpinop.ads: Likewise.
+       * libgnarl/s-tpoaal.adb: Likewise.
+       * libgnarl/s-tpoben.adb: Likewise.
+       * libgnarl/s-tpoben.ads: Likewise.
+       * libgnarl/s-tpobmu.adb: Likewise.
+       * libgnarl/s-tpobmu.ads: Likewise.
+       * libgnarl/s-tpobop.adb: Likewise.
+       * libgnarl/s-tpobop.ads: Likewise.
+       * libgnarl/s-tpopmo.adb: Likewise.
+       * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
+       * libgnarl/s-tpopsp__posix.adb: Likewise.
+       * libgnarl/s-tpopsp__solaris.adb: Likewise.
+       * libgnarl/s-tpopsp__tls.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
+       * libgnarl/s-tpopsp__vxworks.adb: Likewise.
+       * libgnarl/s-tporft.adb: Likewise.
+       * libgnarl/s-tposen.adb: Likewise.
+       * libgnarl/s-tposen.ads: Likewise.
+       * libgnarl/s-vxwext.adb: Likewise.
+       * libgnarl/s-vxwext.ads: Likewise.
+       * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.adb: Likewise.
+       * libgnarl/s-vxwext__kernel.ads: Likewise.
+       * libgnarl/s-vxwext__noints.adb: Likewise.
+       * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.adb: Likewise.
+       * libgnarl/s-vxwext__rtp.ads: Likewise.
+       * libgnarl/s-vxwext__vthreads.ads: Likewise.
+       * libgnarl/s-vxwork__aarch64.ads: Likewise.
+       * libgnarl/s-vxwork__arm.ads: Likewise.
+       * libgnarl/s-vxwork__ppc.ads: Likewise.
+       * libgnarl/s-vxwork__x86.ads: Likewise.
+       * libgnarl/thread.c: Likewise.
+       * libgnat/a-assert.adb: Likewise.
+       * libgnat/a-assert.ads: Likewise.
+       * libgnat/a-btgbso.adb: Likewise.
+       * libgnat/a-btgbso.ads: Likewise.
+       * libgnat/a-calari.adb: Likewise.
+       * libgnat/a-calari.ads: Likewise.
+       * libgnat/a-calcon.adb: Likewise.
+       * libgnat/a-calcon.ads: Likewise.
+       * libgnat/a-caldel.adb: Likewise.
+       * libgnat/a-caldel.ads: Likewise.
+       * libgnat/a-calend.adb: Likewise.
+       * libgnat/a-calend.ads: Likewise.
+       * libgnat/a-calfor.adb: Likewise.
+       * libgnat/a-calfor.ads: Likewise.
+       * libgnat/a-catizo.adb: Likewise.
+       * libgnat/a-cbdlli.adb: Likewise.
+       * libgnat/a-cbdlli.ads: Likewise.
+       * libgnat/a-cbhama.adb: Likewise.
+       * libgnat/a-cbhama.ads: Likewise.
+       * libgnat/a-cbhase.adb: Likewise.
+       * libgnat/a-cbhase.ads: Likewise.
+       * libgnat/a-cbmutr.adb: Likewise.
+       * libgnat/a-cbmutr.ads: Likewise.
+       * libgnat/a-cborma.adb: Likewise.
+       * libgnat/a-cborma.ads: Likewise.
+       * libgnat/a-cborse.adb: Likewise.
+       * libgnat/a-cborse.ads: Likewise.
+       * libgnat/a-cbprqu.adb: Likewise.
+       * libgnat/a-cbprqu.ads: Likewise.
+       * libgnat/a-cbsyqu.adb: Likewise.
+       * libgnat/a-cbsyqu.ads: Likewise.
+       * libgnat/a-cdlili.adb: Likewise.
+       * libgnat/a-cdlili.ads: Likewise.
+       * libgnat/a-cfdlli.adb: Likewise.
+       * libgnat/a-cfdlli.ads: Likewise.
+       * libgnat/a-cfhama.adb: Likewise.
+       * libgnat/a-cfhama.ads: Likewise.
+       * libgnat/a-cfhase.adb: Likewise.
+       * libgnat/a-cfhase.ads: Likewise.
+       * libgnat/a-cfinve.adb: Likewise.
+       * libgnat/a-cfinve.ads: Likewise.
+       * libgnat/a-cforma.adb: Likewise.
+       * libgnat/a-cforma.ads: Likewise.
+       * libgnat/a-cforse.adb: Likewise.
+       * libgnat/a-cforse.ads: Likewise.
+       * libgnat/a-cgaaso.adb: Likewise.
+       * libgnat/a-cgaaso.ads: Likewise.
+       * libgnat/a-cgarso.adb: Likewise.
+       * libgnat/a-cgcaso.adb: Likewise.
+       * libgnat/a-chacon.adb: Likewise.
+       * libgnat/a-chacon.ads: Likewise.
+       * libgnat/a-chahan.adb: Likewise.
+       * libgnat/a-chahan.ads: Likewise.
+       * libgnat/a-chlat9.ads: Likewise.
+       * libgnat/a-chtgbk.adb: Likewise.
+       * libgnat/a-chtgbk.ads: Likewise.
+       * libgnat/a-chtgbo.adb: Likewise.
+       * libgnat/a-chtgbo.ads: Likewise.
+       * libgnat/a-chtgke.adb: Likewise.
+       * libgnat/a-chtgke.ads: Likewise.
+       * libgnat/a-chtgop.adb: Likewise.
+       * libgnat/a-chtgop.ads: Likewise.
+       * libgnat/a-chzla1.ads: Likewise.
+       * libgnat/a-chzla9.ads: Likewise.
+       * libgnat/a-cidlli.adb: Likewise.
+       * libgnat/a-cidlli.ads: Likewise.
+       * libgnat/a-cihama.adb: Likewise.
+       * libgnat/a-cihama.ads: Likewise.
+       * libgnat/a-cihase.adb: Likewise.
+       * libgnat/a-cihase.ads: Likewise.
+       * libgnat/a-cimutr.adb: Likewise.
+       * libgnat/a-cimutr.ads: Likewise.
+       * libgnat/a-ciorma.adb: Likewise.
+       * libgnat/a-ciorma.ads: Likewise.
+       * libgnat/a-ciormu.adb: Likewise.
+       * libgnat/a-ciormu.ads: Likewise.
+       * libgnat/a-ciorse.adb: Likewise.
+       * libgnat/a-ciorse.ads: Likewise.
+       * libgnat/a-clrefi.adb: Likewise.
+       * libgnat/a-clrefi.ads: Likewise.
+       * libgnat/a-coboho.adb: Likewise.
+       * libgnat/a-coboho.ads: Likewise.
+       * libgnat/a-cobove.adb: Likewise.
+       * libgnat/a-cobove.ads: Likewise.
+       * libgnat/a-cofove.adb: Likewise.
+       * libgnat/a-cofove.ads: Likewise.
+       * libgnat/a-cofuba.adb: Likewise.
+       * libgnat/a-cofuba.ads: Likewise.
+       * libgnat/a-cofuma.adb: Likewise.
+       * libgnat/a-cofuma.ads: Likewise.
+       * libgnat/a-cofuse.adb: Likewise.
+       * libgnat/a-cofuse.ads: Likewise.
+       * libgnat/a-cofuve.adb: Likewise.
+       * libgnat/a-cofuve.ads: Likewise.
+       * libgnat/a-cogeso.adb: Likewise.
+       * libgnat/a-cogeso.ads: Likewise.
+       * libgnat/a-cohama.adb: Likewise.
+       * libgnat/a-cohama.ads: Likewise.
+       * libgnat/a-cohase.adb: Likewise.
+       * libgnat/a-cohase.ads: Likewise.
+       * libgnat/a-cohata.ads: Likewise.
+       * libgnat/a-coinho.adb: Likewise.
+       * libgnat/a-coinho.ads: Likewise.
+       * libgnat/a-coinho__shared.adb: Likewise.
+       * libgnat/a-coinho__shared.ads: Likewise.
+       * libgnat/a-coinve.adb: Likewise.
+       * libgnat/a-coinve.ads: Likewise.
+       * libgnat/a-colien.adb: Likewise.
+       * libgnat/a-colien.ads: Likewise.
+       * libgnat/a-colire.adb: Likewise.
+       * libgnat/a-colire.ads: Likewise.
+       * libgnat/a-comlin.adb: Likewise.
+       * libgnat/a-comlin.ads: Likewise.
+       * libgnat/a-comutr.adb: Likewise.
+       * libgnat/a-comutr.ads: Likewise.
+       * libgnat/a-conhel.adb: Likewise.
+       * libgnat/a-conhel.ads: Likewise.
+       * libgnat/a-convec.adb: Likewise.
+       * libgnat/a-convec.ads: Likewise.
+       * libgnat/a-coorma.adb: Likewise.
+       * libgnat/a-coorma.ads: Likewise.
+       * libgnat/a-coormu.adb: Likewise.
+       * libgnat/a-coormu.ads: Likewise.
+       * libgnat/a-coorse.adb: Likewise.
+       * libgnat/a-coorse.ads: Likewise.
+       * libgnat/a-coprnu.adb: Likewise.
+       * libgnat/a-coprnu.ads: Likewise.
+       * libgnat/a-crbltr.ads: Likewise.
+       * libgnat/a-crbtgk.adb: Likewise.
+       * libgnat/a-crbtgk.ads: Likewise.
+       * libgnat/a-crbtgo.adb: Likewise.
+       * libgnat/a-crbtgo.ads: Likewise.
+       * libgnat/a-crdlli.adb: Likewise.
+       * libgnat/a-crdlli.ads: Likewise.
+       * libgnat/a-csquin.ads: Likewise.
+       * libgnat/a-cuprqu.adb: Likewise.
+       * libgnat/a-cuprqu.ads: Likewise.
+       * libgnat/a-cusyqu.adb: Likewise.
+       * libgnat/a-cusyqu.ads: Likewise.
+       * libgnat/a-cwila1.ads: Likewise.
+       * libgnat/a-cwila9.ads: Likewise.
+       * libgnat/a-decima.adb: Likewise.
+       * libgnat/a-decima.ads: Likewise.
+       * libgnat/a-decima__128.ads: Likewise.
+       * libgnat/a-dhfina.adb: Likewise.
+       * libgnat/a-dhfina.ads: Likewise.
+       * libgnat/a-diocst.adb: Likewise.
+       * libgnat/a-diocst.ads: Likewise.
+       * libgnat/a-direct.adb: Likewise.
+       * libgnat/a-direct.ads: Likewise.
+       * libgnat/a-direio.adb: Likewise.
+       * libgnat/a-direio.ads: Likewise.
+       * libgnat/a-dirval.adb: Likewise.
+       * libgnat/a-dirval.ads: Likewise.
+       * libgnat/a-dirval__mingw.adb: Likewise.
+       * libgnat/a-einuoc.adb: Likewise.
+       * libgnat/a-einuoc.ads: Likewise.
+       * libgnat/a-elchha.adb: Likewise.
+       * libgnat/a-elchha.ads: Likewise.
+       * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
+       * libgnat/a-envvar.adb: Likewise.
+       * libgnat/a-excach.adb: Likewise.
+       * libgnat/a-except.adb: Likewise.
+       * libgnat/a-except.ads: Likewise.
+       * libgnat/a-exctra.adb: Likewise.
+       * libgnat/a-exctra.ads: Likewise.
+       * libgnat/a-exexda.adb: Likewise.
+       * libgnat/a-exexpr.adb: Likewise.
+       * libgnat/a-exextr.adb: Likewise.
+       * libgnat/a-exstat.adb: Likewise.
+       * libgnat/a-finali.adb: Likewise.
+       * libgnat/a-finali.ads: Likewise.
+       * libgnat/a-locale.adb: Likewise.
+       * libgnat/a-locale.ads: Likewise.
+       * libgnat/a-nagefl.ads: Likewise.
+       * libgnat/a-naliop.ads: Likewise.
+       * libgnat/a-naliop__nolibm.ads: Likewise.
+       * libgnat/a-nallfl.ads: Likewise.
+       * libgnat/a-nallfl__wraplf.ads: Likewise.
+       * libgnat/a-nalofl.ads: Likewise.
+       * libgnat/a-nashfl.ads: Likewise.
+       * libgnat/a-nashfl__wraplf.ads: Likewise.
+       * libgnat/a-nbnbin.adb: Likewise.
+       * libgnat/a-nbnbin__gmp.adb: Likewise.
+       * libgnat/a-nbnbre.adb: Likewise.
+       * libgnat/a-ngcefu.adb: Likewise.
+       * libgnat/a-ngcoar.adb: Likewise.
+       * libgnat/a-ngcoty.adb: Likewise.
+       * libgnat/a-ngcoty.ads: Likewise.
+       * libgnat/a-ngelfu.adb: Likewise.
+       * libgnat/a-ngelfu.ads: Likewise.
+       * libgnat/a-ngrear.adb: Likewise.
+       * libgnat/a-ngrear.ads: Likewise.
+       * libgnat/a-nuauco.ads: Likewise.
+       * libgnat/a-nuauco__x86.ads: Likewise.
+       * libgnat/a-nuaufl.ads: Likewise.
+       * libgnat/a-nuaufl__wraplf.ads: Likewise.
+       * libgnat/a-nudira.adb: Likewise.
+       * libgnat/a-nudira.ads: Likewise.
+       * libgnat/a-nuflra.adb: Likewise.
+       * libgnat/a-nuflra.ads: Likewise.
+       * libgnat/a-numaux.ads: Likewise.
+       * libgnat/a-rbtgbk.adb: Likewise.
+       * libgnat/a-rbtgbk.ads: Likewise.
+       * libgnat/a-rbtgbo.adb: Likewise.
+       * libgnat/a-rbtgbo.ads: Likewise.
+       * libgnat/a-rbtgso.adb: Likewise.
+       * libgnat/a-rbtgso.ads: Likewise.
+       * libgnat/a-sbecin.adb: Likewise.
+       * libgnat/a-sbecin.ads: Likewise.
+       * libgnat/a-sbhcin.adb: Likewise.
+       * libgnat/a-sbhcin.ads: Likewise.
+       * libgnat/a-sblcin.adb: Likewise.
+       * libgnat/a-sblcin.ads: Likewise.
+       * libgnat/a-secain.adb: Likewise.
+       * libgnat/a-secain.ads: Likewise.
+       * libgnat/a-sequio.adb: Likewise.
+       * libgnat/a-sequio.ads: Likewise.
+       * libgnat/a-sfecin.ads: Likewise.
+       * libgnat/a-sfhcin.ads: Likewise.
+       * libgnat/a-sflcin.ads: Likewise.
+       * libgnat/a-shcain.adb: Likewise.
+       * libgnat/a-shcain.ads: Likewise.
+       * libgnat/a-siocst.adb: Likewise.
+       * libgnat/a-siocst.ads: Likewise.
+       * libgnat/a-slcain.adb: Likewise.
+       * libgnat/a-slcain.ads: Likewise.
+       * libgnat/a-ssicst.adb: Likewise.
+       * libgnat/a-ssicst.ads: Likewise.
+       * libgnat/a-stboha.adb: Likewise.
+       * libgnat/a-stmaco.ads: Likewise.
+       * libgnat/a-stobbu.adb: Likewise.
+       * libgnat/a-stobbu.ads: Likewise.
+       * libgnat/a-stobfi.adb: Likewise.
+       * libgnat/a-stobfi.ads: Likewise.
+       * libgnat/a-storio.adb: Likewise.
+       * libgnat/a-stoubu.adb: Likewise.
+       * libgnat/a-stoubu.ads: Likewise.
+       * libgnat/a-stoufi.adb: Likewise.
+       * libgnat/a-stoufi.ads: Likewise.
+       * libgnat/a-stoufo.adb: Likewise.
+       * libgnat/a-stoufo.ads: Likewise.
+       * libgnat/a-stouut.adb: Likewise.
+       * libgnat/a-stouut.ads: Likewise.
+       * libgnat/a-strbou.adb: Likewise.
+       * libgnat/a-strbou.ads: Likewise.
+       * libgnat/a-stream.adb: Likewise.
+       * libgnat/a-stream.ads: Likewise.
+       * libgnat/a-strfix.adb: Likewise.
+       * libgnat/a-strhas.adb: Likewise.
+       * libgnat/a-strmap.adb: Likewise.
+       * libgnat/a-strmap.ads: Likewise.
+       * libgnat/a-strsea.adb: Likewise.
+       * libgnat/a-strsea.ads: Likewise.
+       * libgnat/a-strsto.ads: Likewise.
+       * libgnat/a-strsup.adb: Likewise.
+       * libgnat/a-strsup.ads: Likewise.
+       * libgnat/a-strunb.adb: Likewise.
+       * libgnat/a-strunb.ads: Likewise.
+       * libgnat/a-strunb__shared.adb: Likewise.
+       * libgnat/a-strunb__shared.ads: Likewise.
+       * libgnat/a-ststbo.adb: Likewise.
+       * libgnat/a-ststbo.ads: Likewise.
+       * libgnat/a-ststio.adb: Likewise.
+       * libgnat/a-ststio.ads: Likewise.
+       * libgnat/a-ststun.adb: Likewise.
+       * libgnat/a-ststun.ads: Likewise.
+       * libgnat/a-stteou.ads: Likewise.
+       * libgnat/a-stunau.adb: Likewise.
+       * libgnat/a-stunau.ads: Likewise.
+       * libgnat/a-stunau__shared.adb: Likewise.
+       * libgnat/a-stunha.adb: Likewise.
+       * libgnat/a-stuten.adb: Likewise.
+       * libgnat/a-stwibo.adb: Likewise.
+       * libgnat/a-stwibo.ads: Likewise.
+       * libgnat/a-stwifi.adb: Likewise.
+       * libgnat/a-stwiha.adb: Likewise.
+       * libgnat/a-stwima.adb: Likewise.
+       * libgnat/a-stwima.ads: Likewise.
+       * libgnat/a-stwise.adb: Likewise.
+       * libgnat/a-stwise.ads: Likewise.
+       * libgnat/a-stwisu.adb: Likewise.
+       * libgnat/a-stwisu.ads: Likewise.
+       * libgnat/a-stwiun.adb: Likewise.
+       * libgnat/a-stwiun.ads: Likewise.
+       * libgnat/a-stwiun__shared.adb: Likewise.
+       * libgnat/a-stwiun__shared.ads: Likewise.
+       * libgnat/a-stzbou.adb: Likewise.
+       * libgnat/a-stzbou.ads: Likewise.
+       * libgnat/a-stzfix.adb: Likewise.
+       * libgnat/a-stzhas.adb: Likewise.
+       * libgnat/a-stzmap.adb: Likewise.
+       * libgnat/a-stzmap.ads: Likewise.
+       * libgnat/a-stzsea.adb: Likewise.
+       * libgnat/a-stzsea.ads: Likewise.
+       * libgnat/a-stzsup.adb: Likewise.
+       * libgnat/a-stzsup.ads: Likewise.
+       * libgnat/a-stzunb.adb: Likewise.
+       * libgnat/a-stzunb.ads: Likewise.
+       * libgnat/a-stzunb__shared.adb: Likewise.
+       * libgnat/a-stzunb__shared.ads: Likewise.
+       * libgnat/a-suecin.adb: Likewise.
+       * libgnat/a-suecin.ads: Likewise.
+       * libgnat/a-suenco.adb: Likewise.
+       * libgnat/a-suenst.adb: Likewise.
+       * libgnat/a-suewst.adb: Likewise.
+       * libgnat/a-suezst.adb: Likewise.
+       * libgnat/a-suhcin.adb: Likewise.
+       * libgnat/a-suhcin.ads: Likewise.
+       * libgnat/a-sulcin.adb: Likewise.
+       * libgnat/a-sulcin.ads: Likewise.
+       * libgnat/a-suteio.adb: Likewise.
+       * libgnat/a-suteio.ads: Likewise.
+       * libgnat/a-suteio__shared.adb: Likewise.
+       * libgnat/a-swbwha.adb: Likewise.
+       * libgnat/a-swmwco.ads: Likewise.
+       * libgnat/a-swunau.adb: Likewise.
+       * libgnat/a-swunau.ads: Likewise.
+       * libgnat/a-swunau__shared.adb: Likewise.
+       * libgnat/a-swuwha.adb: Likewise.
+       * libgnat/a-swuwti.adb: Likewise.
+       * libgnat/a-swuwti.ads: Likewise.
+       * libgnat/a-swuwti__shared.adb: Likewise.
+       * libgnat/a-szbzha.adb: Likewise.
+       * libgnat/a-szmzco.ads: Likewise.
+       * libgnat/a-szunau.adb: Likewise.
+       * libgnat/a-szunau.ads: Likewise.
+       * libgnat/a-szunau__shared.adb: Likewise.
+       * libgnat/a-szuzha.adb: Likewise.
+       * libgnat/a-szuzti.adb: Likewise.
+       * libgnat/a-szuzti.ads: Likewise.
+       * libgnat/a-szuzti__shared.adb: Likewise.
+       * libgnat/a-tags.adb: Likewise.
+       * libgnat/a-tags.ads: Likewise.
+       * libgnat/a-teioed.adb: Likewise.
+       * libgnat/a-teioed.ads: Likewise.
+       * libgnat/a-textio.adb: Likewise.
+       * libgnat/a-textio.ads: Likewise.
+       * libgnat/a-tiboio.adb: Likewise.
+       * libgnat/a-ticoau.adb: Likewise.
+       * libgnat/a-ticoau.ads: Likewise.
+       * libgnat/a-ticoio.adb: Likewise.
+       * libgnat/a-ticoio.ads: Likewise.
+       * libgnat/a-tideau.adb: Likewise.
+       * libgnat/a-tideau.ads: Likewise.
+       * libgnat/a-tideio.adb: Likewise.
+       * libgnat/a-tideio.ads: Likewise.
+       * libgnat/a-tideio__128.adb: Likewise.
+       * libgnat/a-tienau.adb: Likewise.
+       * libgnat/a-tienau.ads: Likewise.
+       * libgnat/a-tienio.adb: Likewise.
+       * libgnat/a-tifiau.adb: Likewise.
+       * libgnat/a-tifiau.ads: Likewise.
+       * libgnat/a-tifiio.adb: Likewise.
+       * libgnat/a-tifiio__128.adb: Likewise.
+       * libgnat/a-tiflau.adb: Likewise.
+       * libgnat/a-tiflau.ads: Likewise.
+       * libgnat/a-tiflio.adb: Likewise.
+       * libgnat/a-tiflio.ads: Likewise.
+       * libgnat/a-tigeau.adb: Likewise.
+       * libgnat/a-tigeau.ads: Likewise.
+       * libgnat/a-tigeli.adb: Likewise.
+       * libgnat/a-tiinau.adb: Likewise.
+       * libgnat/a-tiinau.ads: Likewise.
+       * libgnat/a-tiinio.adb: Likewise.
+       * libgnat/a-tiinio.ads: Likewise.
+       * libgnat/a-tiinio__128.adb: Likewise.
+       * libgnat/a-timoio.adb: Likewise.
+       * libgnat/a-timoio.ads: Likewise.
+       * libgnat/a-timoio__128.adb: Likewise.
+       * libgnat/a-tiocst.adb: Likewise.
+       * libgnat/a-tiocst.ads: Likewise.
+       * libgnat/a-tirsfi.adb: Likewise.
+       * libgnat/a-tirsfi.ads: Likewise.
+       * libgnat/a-titest.adb: Likewise.
+       * libgnat/a-undesu.adb: Likewise.
+       * libgnat/a-wichha.adb: Likewise.
+       * libgnat/a-wichun.adb: Likewise.
+       * libgnat/a-wichun.ads: Likewise.
+       * libgnat/a-witeio.adb: Likewise.
+       * libgnat/a-witeio.ads: Likewise.
+       * libgnat/a-wrstfi.adb: Likewise.
+       * libgnat/a-wrstfi.ads: Likewise.
+       * libgnat/a-wtcoau.adb: Likewise.
+       * libgnat/a-wtcoau.ads: Likewise.
+       * libgnat/a-wtcoio.adb: Likewise.
+       * libgnat/a-wtcstr.adb: Likewise.
+       * libgnat/a-wtcstr.ads: Likewise.
+       * libgnat/a-wtdeau.adb: Likewise.
+       * libgnat/a-wtdeau.ads: Likewise.
+       * libgnat/a-wtdeio.adb: Likewise.
+       * libgnat/a-wtdeio__128.adb: Likewise.
+       * libgnat/a-wtedit.adb: Likewise.
+       * libgnat/a-wtedit.ads: Likewise.
+       * libgnat/a-wtenau.adb: Likewise.
+       * libgnat/a-wtenau.ads: Likewise.
+       * libgnat/a-wtenio.adb: Likewise.
+       * libgnat/a-wtfiau.adb: Likewise.
+       * libgnat/a-wtfiau.ads: Likewise.
+       * libgnat/a-wtfiio.adb: Likewise.
+       * libgnat/a-wtfiio__128.adb: Likewise.
+       * libgnat/a-wtflau.adb: Likewise.
+       * libgnat/a-wtflau.ads: Likewise.
+       * libgnat/a-wtflio.adb: Likewise.
+       * libgnat/a-wtgeau.adb: Likewise.
+       * libgnat/a-wtgeau.ads: Likewise.
+       * libgnat/a-wtinau.adb: Likewise.
+       * libgnat/a-wtinau.ads: Likewise.
+       * libgnat/a-wtinio.adb: Likewise.
+       * libgnat/a-wtinio__128.adb: Likewise.
+       * libgnat/a-wtmoio.adb: Likewise.
+       * libgnat/a-wtmoio.ads: Likewise.
+       * libgnat/a-wtmoio__128.adb: Likewise.
+       * libgnat/a-wttest.adb: Likewise.
+       * libgnat/a-wwboio.adb: Likewise.
+       * libgnat/a-zchhan.adb: Likewise.
+       * libgnat/a-zchuni.adb: Likewise.
+       * libgnat/a-zchuni.ads: Likewise.
+       * libgnat/a-zrstfi.adb: Likewise.
+       * libgnat/a-zrstfi.ads: Likewise.
+       * libgnat/a-ztcoau.adb: Likewise.
+       * libgnat/a-ztcoio.adb: Likewise.
+       * libgnat/a-ztcstr.adb: Likewise.
+       * libgnat/a-ztcstr.ads: Likewise.
+       * libgnat/a-ztdeau.adb: Likewise.
+       * libgnat/a-ztdeau.ads: Likewise.
+       * libgnat/a-ztdeio.adb: Likewise.
+       * libgnat/a-ztdeio__128.adb: Likewise.
+       * libgnat/a-ztedit.adb: Likewise.
+       * libgnat/a-ztedit.ads: Likewise.
+       * libgnat/a-ztenau.adb: Likewise.
+       * libgnat/a-ztenau.ads: Likewise.
+       * libgnat/a-ztenio.adb: Likewise.
+       * libgnat/a-ztexio.adb: Likewise.
+       * libgnat/a-ztexio.ads: Likewise.
+       * libgnat/a-ztfiau.adb: Likewise.
+       * libgnat/a-ztfiau.ads: Likewise.
+       * libgnat/a-ztfiio.adb: Likewise.
+       * libgnat/a-ztfiio__128.adb: Likewise.
+       * libgnat/a-ztflau.adb: Likewise.
+       * libgnat/a-ztflau.ads: Likewise.
+       * libgnat/a-ztflio.adb: Likewise.
+       * libgnat/a-ztgeau.adb: Likewise.
+       * libgnat/a-ztgeau.ads: Likewise.
+       * libgnat/a-ztinau.adb: Likewise.
+       * libgnat/a-ztinau.ads: Likewise.
+       * libgnat/a-ztinio.adb: Likewise.
+       * libgnat/a-ztinio__128.adb: Likewise.
+       * libgnat/a-ztmoio.adb: Likewise.
+       * libgnat/a-ztmoio__128.adb: Likewise.
+       * libgnat/a-zttest.adb: Likewise.
+       * libgnat/a-zzboio.adb: Likewise.
+       * libgnat/g-allein.ads: Likewise.
+       * libgnat/g-alleve.adb: Likewise.
+       * libgnat/g-alleve.ads: Likewise.
+       * libgnat/g-alleve__hard.adb: Likewise.
+       * libgnat/g-alleve__hard.ads: Likewise.
+       * libgnat/g-altcon.adb: Likewise.
+       * libgnat/g-altcon.ads: Likewise.
+       * libgnat/g-altive.ads: Likewise.
+       * libgnat/g-alveop.adb: Likewise.
+       * libgnat/g-alveop.ads: Likewise.
+       * libgnat/g-alvety.ads: Likewise.
+       * libgnat/g-alvevi.ads: Likewise.
+       * libgnat/g-arrspl.adb: Likewise.
+       * libgnat/g-arrspl.ads: Likewise.
+       * libgnat/g-awk.adb: Likewise.
+       * libgnat/g-awk.ads: Likewise.
+       * libgnat/g-binenv.adb: Likewise.
+       * libgnat/g-binenv.ads: Likewise.
+       * libgnat/g-brapre.ads: Likewise.
+       * libgnat/g-bubsor.adb: Likewise.
+       * libgnat/g-bubsor.ads: Likewise.
+       * libgnat/g-busora.adb: Likewise.
+       * libgnat/g-busora.ads: Likewise.
+       * libgnat/g-busorg.adb: Likewise.
+       * libgnat/g-busorg.ads: Likewise.
+       * libgnat/g-byorma.adb: Likewise.
+       * libgnat/g-byorma.ads: Likewise.
+       * libgnat/g-bytswa.adb: Likewise.
+       * libgnat/g-bytswa.ads: Likewise.
+       * libgnat/g-calend.adb: Likewise.
+       * libgnat/g-calend.ads: Likewise.
+       * libgnat/g-casuti.adb: Likewise.
+       * libgnat/g-casuti.ads: Likewise.
+       * libgnat/g-catiio.adb: Likewise.
+       * libgnat/g-catiio.ads: Likewise.
+       * libgnat/g-cgi.adb: Likewise.
+       * libgnat/g-cgi.ads: Likewise.
+       * libgnat/g-cgicoo.adb: Likewise.
+       * libgnat/g-cgicoo.ads: Likewise.
+       * libgnat/g-cgideb.adb: Likewise.
+       * libgnat/g-cgideb.ads: Likewise.
+       * libgnat/g-comlin.adb: Likewise.
+       * libgnat/g-comlin.ads: Likewise.
+       * libgnat/g-comver.adb: Likewise.
+       * libgnat/g-comver.ads: Likewise.
+       * libgnat/g-cppexc.adb: Likewise.
+       * libgnat/g-cppexc.ads: Likewise.
+       * libgnat/g-crc32.adb: Likewise.
+       * libgnat/g-crc32.ads: Likewise.
+       * libgnat/g-ctrl_c.adb: Likewise.
+       * libgnat/g-ctrl_c.ads: Likewise.
+       * libgnat/g-curexc.ads: Likewise.
+       * libgnat/g-debpoo.adb: Likewise.
+       * libgnat/g-debpoo.ads: Likewise.
+       * libgnat/g-debuti.adb: Likewise.
+       * libgnat/g-debuti.ads: Likewise.
+       * libgnat/g-decstr.adb: Likewise.
+       * libgnat/g-decstr.ads: Likewise.
+       * libgnat/g-deutst.ads: Likewise.
+       * libgnat/g-diopit.adb: Likewise.
+       * libgnat/g-diopit.ads: Likewise.
+       * libgnat/g-dirope.adb: Likewise.
+       * libgnat/g-dirope.ads: Likewise.
+       * libgnat/g-dynhta.adb: Likewise.
+       * libgnat/g-dynhta.ads: Likewise.
+       * libgnat/g-dyntab.adb: Likewise.
+       * libgnat/g-dyntab.ads: Likewise.
+       * libgnat/g-eacodu.adb: Likewise.
+       * libgnat/g-encstr.adb: Likewise.
+       * libgnat/g-encstr.ads: Likewise.
+       * libgnat/g-enutst.ads: Likewise.
+       * libgnat/g-excact.adb: Likewise.
+       * libgnat/g-excact.ads: Likewise.
+       * libgnat/g-except.ads: Likewise.
+       * libgnat/g-exctra.adb: Likewise.
+       * libgnat/g-exctra.ads: Likewise.
+       * libgnat/g-expect.adb: Likewise.
+       * libgnat/g-expect.ads: Likewise.
+       * libgnat/g-exptty.adb: Likewise.
+       * libgnat/g-exptty.ads: Likewise.
+       * libgnat/g-flocon.ads: Likewise.
+       * libgnat/g-forstr.adb: Likewise.
+       * libgnat/g-forstr.ads: Likewise.
+       * libgnat/g-graphs.adb: Likewise.
+       * libgnat/g-graphs.ads: Likewise.
+       * libgnat/g-heasor.adb: Likewise.
+       * libgnat/g-heasor.ads: Likewise.
+       * libgnat/g-hesora.adb: Likewise.
+       * libgnat/g-hesora.ads: Likewise.
+       * libgnat/g-hesorg.adb: Likewise.
+       * libgnat/g-hesorg.ads: Likewise.
+       * libgnat/g-htable.adb: Likewise.
+       * libgnat/g-htable.ads: Likewise.
+       * libgnat/g-io-put__vxworks.adb: Likewise.
+       * libgnat/g-io.adb: Likewise.
+       * libgnat/g-io.ads: Likewise.
+       * libgnat/g-io_aux.adb: Likewise.
+       * libgnat/g-io_aux.ads: Likewise.
+       * libgnat/g-lists.adb: Likewise.
+       * libgnat/g-lists.ads: Likewise.
+       * libgnat/g-locfil.adb: Likewise.
+       * libgnat/g-locfil.ads: Likewise.
+       * libgnat/g-mbdira.adb: Likewise.
+       * libgnat/g-mbdira.ads: Likewise.
+       * libgnat/g-mbflra.adb: Likewise.
+       * libgnat/g-mbflra.ads: Likewise.
+       * libgnat/g-md5.adb: Likewise.
+       * libgnat/g-md5.ads: Likewise.
+       * libgnat/g-memdum.adb: Likewise.
+       * libgnat/g-memdum.ads: Likewise.
+       * libgnat/g-moreex.adb: Likewise.
+       * libgnat/g-moreex.ads: Likewise.
+       * libgnat/g-os_lib.adb: Likewise.
+       * libgnat/g-os_lib.ads: Likewise.
+       * libgnat/g-pehage.adb: Likewise.
+       * libgnat/g-pehage.ads: Likewise.
+       * libgnat/g-rannum.adb: Likewise.
+       * libgnat/g-rannum.ads: Likewise.
+       * libgnat/g-regexp.adb: Likewise.
+       * libgnat/g-regexp.ads: Likewise.
+       * libgnat/g-regist.adb: Likewise.
+       * libgnat/g-regist.ads: Likewise.
+       * libgnat/g-regpat.adb: Likewise.
+       * libgnat/g-regpat.ads: Likewise.
+       * libgnat/g-rewdat.adb: Likewise.
+       * libgnat/g-rewdat.ads: Likewise.
+       * libgnat/g-sechas.adb: Likewise.
+       * libgnat/g-sechas.ads: Likewise.
+       * libgnat/g-sehamd.adb: Likewise.
+       * libgnat/g-sehamd.ads: Likewise.
+       * libgnat/g-sehash.adb: Likewise.
+       * libgnat/g-sehash.ads: Likewise.
+       * libgnat/g-sercom.adb: Likewise.
+       * libgnat/g-sercom.ads: Likewise.
+       * libgnat/g-sercom__linux.adb: Likewise.
+       * libgnat/g-sercom__mingw.adb: Likewise.
+       * libgnat/g-sestin.ads: Likewise.
+       * libgnat/g-sets.adb: Likewise.
+       * libgnat/g-sets.ads: Likewise.
+       * libgnat/g-sha1.adb: Likewise.
+       * libgnat/g-sha1.ads: Likewise.
+       * libgnat/g-sha224.ads: Likewise.
+       * libgnat/g-sha256.ads: Likewise.
+       * libgnat/g-sha384.ads: Likewise.
+       * libgnat/g-sha512.ads: Likewise.
+       * libgnat/g-shsh32.adb: Likewise.
+       * libgnat/g-shsh32.ads: Likewise.
+       * libgnat/g-shsh64.adb: Likewise.
+       * libgnat/g-shsh64.ads: Likewise.
+       * libgnat/g-shshco.adb: Likewise.
+       * libgnat/g-shshco.ads: Likewise.
+       * libgnat/g-soccon.ads: Likewise.
+       * libgnat/g-socket.adb: Likewise.
+       * libgnat/g-socket.ads: Likewise.
+       * libgnat/g-socket__dummy.adb: Likewise.
+       * libgnat/g-socket__dummy.ads: Likewise.
+       * libgnat/g-socpol.adb: Likewise.
+       * libgnat/g-socpol.ads: Likewise.
+       * libgnat/g-socpol__dummy.adb: Likewise.
+       * libgnat/g-socpol__dummy.ads: Likewise.
+       * libgnat/g-socthi.adb: Likewise.
+       * libgnat/g-socthi.ads: Likewise.
+       * libgnat/g-socthi__dummy.adb: Likewise.
+       * libgnat/g-socthi__dummy.ads: Likewise.
+       * libgnat/g-socthi__mingw.adb: Likewise.
+       * libgnat/g-socthi__mingw.ads: Likewise.
+       * libgnat/g-socthi__vxworks.adb: Likewise.
+       * libgnat/g-socthi__vxworks.ads: Likewise.
+       * libgnat/g-soliop.ads: Likewise.
+       * libgnat/g-soliop__lynxos.ads: Likewise.
+       * libgnat/g-soliop__mingw.ads: Likewise.
+       * libgnat/g-soliop__qnx.ads: Likewise.
+       * libgnat/g-soliop__solaris.ads: Likewise.
+       * libgnat/g-sopowa.adb: Likewise.
+       * libgnat/g-sopowa__mingw.adb: Likewise.
+       * libgnat/g-sopowa__posix.adb: Likewise.
+       * libgnat/g-sothco.adb: Likewise.
+       * libgnat/g-sothco.ads: Likewise.
+       * libgnat/g-sothco__dummy.adb: Likewise.
+       * libgnat/g-sothco__dummy.ads: Likewise.
+       * libgnat/g-souinf.ads: Likewise.
+       * libgnat/g-spchge.adb: Likewise.
+       * libgnat/g-spchge.ads: Likewise.
+       * libgnat/g-speche.adb: Likewise.
+       * libgnat/g-speche.ads: Likewise.
+       * libgnat/g-spipat.adb: Likewise.
+       * libgnat/g-spipat.ads: Likewise.
+       * libgnat/g-spitbo.adb: Likewise.
+       * libgnat/g-spitbo.ads: Likewise.
+       * libgnat/g-spogwa.adb: Likewise.
+       * libgnat/g-spogwa.ads: Likewise.
+       * libgnat/g-sptabo.ads: Likewise.
+       * libgnat/g-sptain.ads: Likewise.
+       * libgnat/g-sptavs.ads: Likewise.
+       * libgnat/g-sse.ads: Likewise.
+       * libgnat/g-ssvety.ads: Likewise.
+       * libgnat/g-sthcso.adb: Likewise.
+       * libgnat/g-stheme.adb: Likewise.
+       * libgnat/g-strhas.ads: Likewise.
+       * libgnat/g-string.adb: Likewise.
+       * libgnat/g-string.ads: Likewise.
+       * libgnat/g-strspl.ads: Likewise.
+       * libgnat/g-stseme.adb: Likewise.
+       * libgnat/g-stsifd__sockets.adb: Likewise.
+       * libgnat/g-table.adb: Likewise.
+       * libgnat/g-table.ads: Likewise.
+       * libgnat/g-tasloc.adb: Likewise.
+       * libgnat/g-tasloc.ads: Likewise.
+       * libgnat/g-timsta.adb: Likewise.
+       * libgnat/g-timsta.ads: Likewise.
+       * libgnat/g-traceb.adb: Likewise.
+       * libgnat/g-traceb.ads: Likewise.
+       * libgnat/g-trasym.adb: Likewise.
+       * libgnat/g-trasym.ads: Likewise.
+       * libgnat/g-tty.adb: Likewise.
+       * libgnat/g-tty.ads: Likewise.
+       * libgnat/g-u3spch.adb: Likewise.
+       * libgnat/g-u3spch.ads: Likewise.
+       * libgnat/g-utf_32.adb: Likewise.
+       * libgnat/g-utf_32.ads: Likewise.
+       * libgnat/g-wispch.adb: Likewise.
+       * libgnat/g-wispch.ads: Likewise.
+       * libgnat/g-wistsp.ads: Likewise.
+       * libgnat/g-zspche.adb: Likewise.
+       * libgnat/g-zspche.ads: Likewise.
+       * libgnat/g-zstspl.ads: Likewise.
+       * libgnat/gnat.ads: Likewise.
+       * libgnat/i-c.adb: Likewise.
+       * libgnat/i-cexten.ads: Likewise.
+       * libgnat/i-cexten__128.ads: Likewise.
+       * libgnat/i-cobol.adb: Likewise.
+       * libgnat/i-cobol.ads: Likewise.
+       * libgnat/i-cpoint.adb: Likewise.
+       * libgnat/i-cpoint.ads: Likewise.
+       * libgnat/i-cstrea.adb: Likewise.
+       * libgnat/i-cstrea.ads: Likewise.
+       * libgnat/i-cstrin.adb: Likewise.
+       * libgnat/i-cstrin.ads: Likewise.
+       * libgnat/i-fortra.adb: Likewise.
+       * libgnat/i-pacdec.adb: Likewise.
+       * libgnat/i-pacdec.ads: Likewise.
+       * libgnat/i-vxwoio.adb: Likewise.
+       * libgnat/i-vxwoio.ads: Likewise.
+       * libgnat/i-vxwork.ads: Likewise.
+       * libgnat/i-vxwork__x86.ads: Likewise.
+       * libgnat/interfac.ads: Likewise.
+       * libgnat/interfac__2020.ads: Likewise.
+       * libgnat/memtrack.adb: Likewise.
+       * libgnat/s-addima.adb: Likewise.
+       * libgnat/s-addima.ads: Likewise.
+       * libgnat/s-addope.adb: Likewise.
+       * libgnat/s-addope.ads: Likewise.
+       * libgnat/s-aoinar.adb: Likewise.
+       * libgnat/s-aoinar.ads: Likewise.
+       * libgnat/s-aomoar.adb: Likewise.
+       * libgnat/s-aomoar.ads: Likewise.
+       * libgnat/s-aotase.adb: Likewise.
+       * libgnat/s-aotase.ads: Likewise.
+       * libgnat/s-aridou.adb: Likewise.
+       * libgnat/s-aridou.ads: Likewise.
+       * libgnat/s-arit128.adb: Likewise.
+       * libgnat/s-arit128.ads: Likewise.
+       * libgnat/s-arit32.adb: Likewise.
+       * libgnat/s-arit32.ads: Likewise.
+       * libgnat/s-arit64.adb: Likewise.
+       * libgnat/s-arit64.ads: Likewise.
+       * libgnat/s-assert.adb: Likewise.
+       * libgnat/s-assert.ads: Likewise.
+       * libgnat/s-atacco.adb: Likewise.
+       * libgnat/s-atacco.ads: Likewise.
+       * libgnat/s-atocou.adb: Likewise.
+       * libgnat/s-atocou.ads: Likewise.
+       * libgnat/s-atocou__builtin.adb: Likewise.
+       * libgnat/s-atocou__x86.adb: Likewise.
+       * libgnat/s-atoope.ads: Likewise.
+       * libgnat/s-atopex.adb: Likewise.
+       * libgnat/s-atopex.ads: Likewise.
+       * libgnat/s-atopri.adb: Likewise.
+       * libgnat/s-atopri.ads: Likewise.
+       * libgnat/s-auxdec.adb: Likewise.
+       * libgnat/s-auxdec.ads: Likewise.
+       * libgnat/s-bignum.adb: Likewise.
+       * libgnat/s-bignum.ads: Likewise.
+       * libgnat/s-bitfie.ads: Likewise.
+       * libgnat/s-bitops.adb: Likewise.
+       * libgnat/s-bitops.ads: Likewise.
+       * libgnat/s-bituti.adb: Likewise.
+       * libgnat/s-bituti.ads: Likewise.
+       * libgnat/s-boarop.ads: Likewise.
+       * libgnat/s-boustr.adb: Likewise.
+       * libgnat/s-boustr.ads: Likewise.
+       * libgnat/s-bytswa.ads: Likewise.
+       * libgnat/s-carsi8.adb: Likewise.
+       * libgnat/s-carsi8.ads: Likewise.
+       * libgnat/s-carun8.adb: Likewise.
+       * libgnat/s-carun8.ads: Likewise.
+       * libgnat/s-casi128.adb: Likewise.
+       * libgnat/s-casi128.ads: Likewise.
+       * libgnat/s-casi16.adb: Likewise.
+       * libgnat/s-casi16.ads: Likewise.
+       * libgnat/s-casi32.adb: Likewise.
+       * libgnat/s-casi32.ads: Likewise.
+       * libgnat/s-casi64.adb: Likewise.
+       * libgnat/s-casi64.ads: Likewise.
+       * libgnat/s-casuti.adb: Likewise.
+       * libgnat/s-casuti.ads: Likewise.
+       * libgnat/s-caun128.adb: Likewise.
+       * libgnat/s-caun128.ads: Likewise.
+       * libgnat/s-caun16.adb: Likewise.
+       * libgnat/s-caun16.ads: Likewise.
+       * libgnat/s-caun32.adb: Likewise.
+       * libgnat/s-caun32.ads: Likewise.
+       * libgnat/s-caun64.adb: Likewise.
+       * libgnat/s-caun64.ads: Likewise.
+       * libgnat/s-chepoo.ads: Likewise.
+       * libgnat/s-commun.adb: Likewise.
+       * libgnat/s-commun.ads: Likewise.
+       * libgnat/s-conca2.adb: Likewise.
+       * libgnat/s-conca2.ads: Likewise.
+       * libgnat/s-conca3.adb: Likewise.
+       * libgnat/s-conca3.ads: Likewise.
+       * libgnat/s-conca4.adb: Likewise.
+       * libgnat/s-conca4.ads: Likewise.
+       * libgnat/s-conca5.adb: Likewise.
+       * libgnat/s-conca5.ads: Likewise.
+       * libgnat/s-conca6.adb: Likewise.
+       * libgnat/s-conca6.ads: Likewise.
+       * libgnat/s-conca7.adb: Likewise.
+       * libgnat/s-conca7.ads: Likewise.
+       * libgnat/s-conca8.adb: Likewise.
+       * libgnat/s-conca8.ads: Likewise.
+       * libgnat/s-conca9.adb: Likewise.
+       * libgnat/s-conca9.ads: Likewise.
+       * libgnat/s-crc32.adb: Likewise.
+       * libgnat/s-crc32.ads: Likewise.
+       * libgnat/s-crtl.ads: Likewise.
+       * libgnat/s-dfmkio.ads: Likewise.
+       * libgnat/s-dfmopr.ads: Likewise.
+       * libgnat/s-dgmgop.ads: Likewise.
+       * libgnat/s-diflio.adb: Likewise.
+       * libgnat/s-diflio.ads: Likewise.
+       * libgnat/s-diflmk.ads: Likewise.
+       * libgnat/s-digemk.ads: Likewise.
+       * libgnat/s-diinio.adb: Likewise.
+       * libgnat/s-diinio.ads: Likewise.
+       * libgnat/s-dilomk.ads: Likewise.
+       * libgnat/s-dim.ads: Likewise.
+       * libgnat/s-dimkio.ads: Likewise.
+       * libgnat/s-dimmks.ads: Likewise.
+       * libgnat/s-direio.adb: Likewise.
+       * libgnat/s-direio.ads: Likewise.
+       * libgnat/s-dlmkio.ads: Likewise.
+       * libgnat/s-dlmopr.ads: Likewise.
+       * libgnat/s-dmotpr.ads: Likewise.
+       * libgnat/s-dsaser.ads: Likewise.
+       * libgnat/s-dwalin.adb: Likewise.
+       * libgnat/s-dwalin.ads: Likewise.
+       * libgnat/s-elaall.adb: Likewise.
+       * libgnat/s-elaall.ads: Likewise.
+       * libgnat/s-excdeb.adb: Likewise.
+       * libgnat/s-excdeb.ads: Likewise.
+       * libgnat/s-except.adb: Likewise.
+       * libgnat/s-except.ads: Likewise.
+       * libgnat/s-excmac__arm.adb: Likewise.
+       * libgnat/s-excmac__arm.ads: Likewise.
+       * libgnat/s-excmac__gcc.adb: Likewise.
+       * libgnat/s-excmac__gcc.ads: Likewise.
+       * libgnat/s-exctab.adb: Likewise.
+       * libgnat/s-exctab.ads: Likewise.
+       * libgnat/s-exctra.adb: Likewise.
+       * libgnat/s-exctra.ads: Likewise.
+       * libgnat/s-exnint.adb: Likewise.
+       * libgnat/s-exnint.ads: Likewise.
+       * libgnat/s-exnllf.adb: Likewise.
+       * libgnat/s-exnllf.ads: Likewise.
+       * libgnat/s-exnlli.adb: Likewise.
+       * libgnat/s-exnlli.ads: Likewise.
+       * libgnat/s-exnllli.ads: Likewise.
+       * libgnat/s-expint.adb: Likewise.
+       * libgnat/s-expint.ads: Likewise.
+       * libgnat/s-explli.adb: Likewise.
+       * libgnat/s-explli.ads: Likewise.
+       * libgnat/s-expllli.ads: Likewise.
+       * libgnat/s-explllu.ads: Likewise.
+       * libgnat/s-expllu.adb: Likewise.
+       * libgnat/s-expllu.ads: Likewise.
+       * libgnat/s-expmod.adb: Likewise.
+       * libgnat/s-expmod.ads: Likewise.
+       * libgnat/s-exponn.adb: Likewise.
+       * libgnat/s-exponn.ads: Likewise.
+       * libgnat/s-expont.adb: Likewise.
+       * libgnat/s-expont.ads: Likewise.
+       * libgnat/s-exponu.adb: Likewise.
+       * libgnat/s-exponu.ads: Likewise.
+       * libgnat/s-expuns.adb: Likewise.
+       * libgnat/s-expuns.ads: Likewise.
+       * libgnat/s-fatflt.ads: Likewise.
+       * libgnat/s-fatgen.adb: Likewise.
+       * libgnat/s-fatgen.ads: Likewise.
+       * libgnat/s-fatlfl.ads: Likewise.
+       * libgnat/s-fatllf.ads: Likewise.
+       * libgnat/s-ficobl.ads: Likewise.
+       * libgnat/s-filatt.ads: Likewise.
+       * libgnat/s-fileio.adb: Likewise.
+       * libgnat/s-fileio.ads: Likewise.
+       * libgnat/s-finmas.adb: Likewise.
+       * libgnat/s-finmas.ads: Likewise.
+       * libgnat/s-finroo.adb: Likewise.
+       * libgnat/s-finroo.ads: Likewise.
+       * libgnat/s-flocon.adb: Likewise.
+       * libgnat/s-flocon.ads: Likewise.
+       * libgnat/s-flocon__none.adb: Likewise.
+       * libgnat/s-fode128.ads: Likewise.
+       * libgnat/s-fode32.ads: Likewise.
+       * libgnat/s-fode64.ads: Likewise.
+       * libgnat/s-fofi128.ads: Likewise.
+       * libgnat/s-fofi32.ads: Likewise.
+       * libgnat/s-fofi64.ads: Likewise.
+       * libgnat/s-fore_d.adb: Likewise.
+       * libgnat/s-fore_d.ads: Likewise.
+       * libgnat/s-fore_f.adb: Likewise.
+       * libgnat/s-fore_f.ads: Likewise.
+       * libgnat/s-forrea.adb: Likewise.
+       * libgnat/s-forrea.ads: Likewise.
+       * libgnat/s-gearop.adb: Likewise.
+       * libgnat/s-gearop.ads: Likewise.
+       * libgnat/s-genbig.adb: Likewise.
+       * libgnat/s-genbig.ads: Likewise.
+       * libgnat/s-geveop.adb: Likewise.
+       * libgnat/s-geveop.ads: Likewise.
+       * libgnat/s-gloloc.adb: Likewise.
+       * libgnat/s-gloloc.ads: Likewise.
+       * libgnat/s-gloloc__mingw.adb: Likewise.
+       * libgnat/s-htable.adb: Likewise.
+       * libgnat/s-htable.ads: Likewise.
+       * libgnat/s-imageb.adb: Likewise.
+       * libgnat/s-imageb.ads: Likewise.
+       * libgnat/s-imaged.adb: Likewise.
+       * libgnat/s-imaged.ads: Likewise.
+       * libgnat/s-imagef.adb: Likewise.
+       * libgnat/s-imagef.ads: Likewise.
+       * libgnat/s-imagei.adb: Likewise.
+       * libgnat/s-imagei.ads: Likewise.
+       * libgnat/s-imageu.adb: Likewise.
+       * libgnat/s-imageu.ads: Likewise.
+       * libgnat/s-imagew.adb: Likewise.
+       * libgnat/s-imagew.ads: Likewise.
+       * libgnat/s-imde128.ads: Likewise.
+       * libgnat/s-imde32.ads: Likewise.
+       * libgnat/s-imde64.ads: Likewise.
+       * libgnat/s-imenne.adb: Likewise.
+       * libgnat/s-imenne.ads: Likewise.
+       * libgnat/s-imfi128.ads: Likewise.
+       * libgnat/s-imfi32.ads: Likewise.
+       * libgnat/s-imfi64.ads: Likewise.
+       * libgnat/s-imgbiu.adb: Likewise.
+       * libgnat/s-imgbiu.ads: Likewise.
+       * libgnat/s-imgboo.adb: Likewise.
+       * libgnat/s-imgboo.ads: Likewise.
+       * libgnat/s-imgcha.adb: Likewise.
+       * libgnat/s-imgcha.ads: Likewise.
+       * libgnat/s-imgenu.adb: Likewise.
+       * libgnat/s-imgenu.ads: Likewise.
+       * libgnat/s-imgint.adb: Likewise.
+       * libgnat/s-imgint.ads: Likewise.
+       * libgnat/s-imgllb.adb: Likewise.
+       * libgnat/s-imgllb.ads: Likewise.
+       * libgnat/s-imglli.adb: Likewise.
+       * libgnat/s-imglli.ads: Likewise.
+       * libgnat/s-imglllb.ads: Likewise.
+       * libgnat/s-imgllli.ads: Likewise.
+       * libgnat/s-imglllu.ads: Likewise.
+       * libgnat/s-imglllw.ads: Likewise.
+       * libgnat/s-imgllu.adb: Likewise.
+       * libgnat/s-imgllu.ads: Likewise.
+       * libgnat/s-imgllw.adb: Likewise.
+       * libgnat/s-imgllw.ads: Likewise.
+       * libgnat/s-imgrea.adb: Likewise.
+       * libgnat/s-imgrea.ads: Likewise.
+       * libgnat/s-imguns.adb: Likewise.
+       * libgnat/s-imguns.ads: Likewise.
+       * libgnat/s-imguti.adb: Likewise.
+       * libgnat/s-imguti.ads: Likewise.
+       * libgnat/s-imgwch.adb: Likewise.
+       * libgnat/s-imgwch.ads: Likewise.
+       * libgnat/s-imgwiu.adb: Likewise.
+       * libgnat/s-imgwiu.ads: Likewise.
+       * libgnat/s-io.adb: Likewise.
+       * libgnat/s-io.ads: Likewise.
+       * libgnat/s-llflex.ads: Likewise.
+       * libgnat/s-maccod.ads: Likewise.
+       * libgnat/s-mantis.adb: Likewise.
+       * libgnat/s-mantis.ads: Likewise.
+       * libgnat/s-mastop.adb: Likewise.
+       * libgnat/s-mastop.ads: Likewise.
+       * libgnat/s-memcop.ads: Likewise.
+       * libgnat/s-memory.adb: Likewise.
+       * libgnat/s-memory.ads: Likewise.
+       * libgnat/s-mmap.adb: Likewise.
+       * libgnat/s-mmap.ads: Likewise.
+       * libgnat/s-mmauni__long.ads: Likewise.
+       * libgnat/s-mmosin__mingw.adb: Likewise.
+       * libgnat/s-mmosin__mingw.ads: Likewise.
+       * libgnat/s-mmosin__unix.adb: Likewise.
+       * libgnat/s-mmosin__unix.ads: Likewise.
+       * libgnat/s-multip.adb: Likewise.
+       * libgnat/s-objrea.adb: Likewise.
+       * libgnat/s-objrea.ads: Likewise.
+       * libgnat/s-optide.adb: Likewise.
+       * libgnat/s-os_lib.adb: Likewise.
+       * libgnat/s-os_lib.ads: Likewise.
+       * libgnat/s-osprim.ads: Likewise.
+       * libgnat/s-osprim__darwin.adb: Likewise.
+       * libgnat/s-osprim__lynxos.ads: Likewise.
+       * libgnat/s-osprim__mingw.adb: Likewise.
+       * libgnat/s-osprim__posix.adb: Likewise.
+       * libgnat/s-osprim__posix2008.adb: Likewise.
+       * libgnat/s-osprim__rtems.adb: Likewise.
+       * libgnat/s-osprim__solaris.adb: Likewise.
+       * libgnat/s-osprim__unix.adb: Likewise.
+       * libgnat/s-osprim__vxworks.adb: Likewise.
+       * libgnat/s-osprim__x32.adb: Likewise.
+       * libgnat/s-osvers__vxworks-653.ads: Likewise.
+       * libgnat/s-pack03.adb: Likewise.
+       * libgnat/s-pack03.ads: Likewise.
+       * libgnat/s-pack05.adb: Likewise.
+       * libgnat/s-pack05.ads: Likewise.
+       * libgnat/s-pack06.adb: Likewise.
+       * libgnat/s-pack06.ads: Likewise.
+       * libgnat/s-pack07.adb: Likewise.
+       * libgnat/s-pack07.ads: Likewise.
+       * libgnat/s-pack09.adb: Likewise.
+       * libgnat/s-pack09.ads: Likewise.
+       * libgnat/s-pack10.adb: Likewise.
+       * libgnat/s-pack10.ads: Likewise.
+       * libgnat/s-pack100.adb: Likewise.
+       * libgnat/s-pack100.ads: Likewise.
+       * libgnat/s-pack101.adb: Likewise.
+       * libgnat/s-pack101.ads: Likewise.
+       * libgnat/s-pack102.adb: Likewise.
+       * libgnat/s-pack102.ads: Likewise.
+       * libgnat/s-pack103.adb: Likewise.
+       * libgnat/s-pack103.ads: Likewise.
+       * libgnat/s-pack104.adb: Likewise.
+       * libgnat/s-pack104.ads: Likewise.
+       * libgnat/s-pack105.adb: Likewise.
+       * libgnat/s-pack105.ads: Likewise.
+       * libgnat/s-pack106.adb: Likewise.
+       * libgnat/s-pack106.ads: Likewise.
+       * libgnat/s-pack107.adb: Likewise.
+       * libgnat/s-pack107.ads: Likewise.
+       * libgnat/s-pack108.adb: Likewise.
+       * libgnat/s-pack108.ads: Likewise.
+       * libgnat/s-pack109.adb: Likewise.
+       * libgnat/s-pack109.ads: Likewise.
+       * libgnat/s-pack11.adb: Likewise.
+       * libgnat/s-pack11.ads: Likewise.
+       * libgnat/s-pack110.adb: Likewise.
+       * libgnat/s-pack110.ads: Likewise.
+       * libgnat/s-pack111.adb: Likewise.
+       * libgnat/s-pack111.ads: Likewise.
+       * libgnat/s-pack112.adb: Likewise.
+       * libgnat/s-pack112.ads: Likewise.
+       * libgnat/s-pack113.adb: Likewise.
+       * libgnat/s-pack113.ads: Likewise.
+       * libgnat/s-pack114.adb: Likewise.
+       * libgnat/s-pack114.ads: Likewise.
+       * libgnat/s-pack115.adb: Likewise.
+       * libgnat/s-pack115.ads: Likewise.
+       * libgnat/s-pack116.adb: Likewise.
+       * libgnat/s-pack116.ads: Likewise.
+       * libgnat/s-pack117.adb: Likewise.
+       * libgnat/s-pack117.ads: Likewise.
+       * libgnat/s-pack118.adb: Likewise.
+       * libgnat/s-pack118.ads: Likewise.
+       * libgnat/s-pack119.adb: Likewise.
+       * libgnat/s-pack119.ads: Likewise.
+       * libgnat/s-pack12.adb: Likewise.
+       * libgnat/s-pack12.ads: Likewise.
+       * libgnat/s-pack120.adb: Likewise.
+       * libgnat/s-pack120.ads: Likewise.
+       * libgnat/s-pack121.adb: Likewise.
+       * libgnat/s-pack121.ads: Likewise.
+       * libgnat/s-pack122.adb: Likewise.
+       * libgnat/s-pack122.ads: Likewise.
+       * libgnat/s-pack123.adb: Likewise.
+       * libgnat/s-pack123.ads: Likewise.
+       * libgnat/s-pack124.adb: Likewise.
+       * libgnat/s-pack124.ads: Likewise.
+       * libgnat/s-pack125.adb: Likewise.
+       * libgnat/s-pack125.ads: Likewise.
+       * libgnat/s-pack126.adb: Likewise.
+       * libgnat/s-pack126.ads: Likewise.
+       * libgnat/s-pack127.adb: Likewise.
+       * libgnat/s-pack127.ads: Likewise.
+       * libgnat/s-pack13.adb: Likewise.
+       * libgnat/s-pack13.ads: Likewise.
+       * libgnat/s-pack14.adb: Likewise.
+       * libgnat/s-pack14.ads: Likewise.
+       * libgnat/s-pack15.adb: Likewise.
+       * libgnat/s-pack15.ads: Likewise.
+       * libgnat/s-pack17.adb: Likewise.
+       * libgnat/s-pack17.ads: Likewise.
+       * libgnat/s-pack18.adb: Likewise.
+       * libgnat/s-pack18.ads: Likewise.
+       * libgnat/s-pack19.adb: Likewise.
+       * libgnat/s-pack19.ads: Likewise.
+       * libgnat/s-pack20.adb: Likewise.
+       * libgnat/s-pack20.ads: Likewise.
+       * libgnat/s-pack21.adb: Likewise.
+       * libgnat/s-pack21.ads: Likewise.
+       * libgnat/s-pack22.adb: Likewise.
+       * libgnat/s-pack22.ads: Likewise.
+       * libgnat/s-pack23.adb: Likewise.
+       * libgnat/s-pack23.ads: Likewise.
+       * libgnat/s-pack24.adb: Likewise.
+       * libgnat/s-pack24.ads: Likewise.
+       * libgnat/s-pack25.adb: Likewise.
+       * libgnat/s-pack25.ads: Likewise.
+       * libgnat/s-pack26.adb: Likewise.
+       * libgnat/s-pack26.ads: Likewise.
+       * libgnat/s-pack27.adb: Likewise.
+       * libgnat/s-pack27.ads: Likewise.
+       * libgnat/s-pack28.adb: Likewise.
+       * libgnat/s-pack28.ads: Likewise.
+       * libgnat/s-pack29.adb: Likewise.
+       * libgnat/s-pack29.ads: Likewise.
+       * libgnat/s-pack30.adb: Likewise.
+       * libgnat/s-pack30.ads: Likewise.
+       * libgnat/s-pack31.adb: Likewise.
+       * libgnat/s-pack31.ads: Likewise.
+       * libgnat/s-pack33.adb: Likewise.
+       * libgnat/s-pack33.ads: Likewise.
+       * libgnat/s-pack34.adb: Likewise.
+       * libgnat/s-pack34.ads: Likewise.
+       * libgnat/s-pack35.adb: Likewise.
+       * libgnat/s-pack35.ads: Likewise.
+       * libgnat/s-pack36.adb: Likewise.
+       * libgnat/s-pack36.ads: Likewise.
+       * libgnat/s-pack37.adb: Likewise.
+       * libgnat/s-pack37.ads: Likewise.
+       * libgnat/s-pack38.adb: Likewise.
+       * libgnat/s-pack38.ads: Likewise.
+       * libgnat/s-pack39.adb: Likewise.
+       * libgnat/s-pack39.ads: Likewise.
+       * libgnat/s-pack40.adb: Likewise.
+       * libgnat/s-pack40.ads: Likewise.
+       * libgnat/s-pack41.adb: Likewise.
+       * libgnat/s-pack41.ads: Likewise.
+       * libgnat/s-pack42.adb: Likewise.
+       * libgnat/s-pack42.ads: Likewise.
+       * libgnat/s-pack43.adb: Likewise.
+       * libgnat/s-pack43.ads: Likewise.
+       * libgnat/s-pack44.adb: Likewise.
+       * libgnat/s-pack44.ads: Likewise.
+       * libgnat/s-pack45.adb: Likewise.
+       * libgnat/s-pack45.ads: Likewise.
+       * libgnat/s-pack46.adb: Likewise.
+       * libgnat/s-pack46.ads: Likewise.
+       * libgnat/s-pack47.adb: Likewise.
+       * libgnat/s-pack47.ads: Likewise.
+       * libgnat/s-pack48.adb: Likewise.
+       * libgnat/s-pack48.ads: Likewise.
+       * libgnat/s-pack49.adb: Likewise.
+       * libgnat/s-pack49.ads: Likewise.
+       * libgnat/s-pack50.adb: Likewise.
+       * libgnat/s-pack50.ads: Likewise.
+       * libgnat/s-pack51.adb: Likewise.
+       * libgnat/s-pack51.ads: Likewise.
+       * libgnat/s-pack52.adb: Likewise.
+       * libgnat/s-pack52.ads: Likewise.
+       * libgnat/s-pack53.adb: Likewise.
+       * libgnat/s-pack53.ads: Likewise.
+       * libgnat/s-pack54.adb: Likewise.
+       * libgnat/s-pack54.ads: Likewise.
+       * libgnat/s-pack55.adb: Likewise.
+       * libgnat/s-pack55.ads: Likewise.
+       * libgnat/s-pack56.adb: Likewise.
+       * libgnat/s-pack56.ads: Likewise.
+       * libgnat/s-pack57.adb: Likewise.
+       * libgnat/s-pack57.ads: Likewise.
+       * libgnat/s-pack58.adb: Likewise.
+       * libgnat/s-pack58.ads: Likewise.
+       * libgnat/s-pack59.adb: Likewise.
+       * libgnat/s-pack59.ads: Likewise.
+       * libgnat/s-pack60.adb: Likewise.
+       * libgnat/s-pack60.ads: Likewise.
+       * libgnat/s-pack61.adb: Likewise.
+       * libgnat/s-pack61.ads: Likewise.
+       * libgnat/s-pack62.adb: Likewise.
+       * libgnat/s-pack62.ads: Likewise.
+       * libgnat/s-pack63.adb: Likewise.
+       * libgnat/s-pack63.ads: Likewise.
+       * libgnat/s-pack65.adb: Likewise.
+       * libgnat/s-pack65.ads: Likewise.
+       * libgnat/s-pack66.adb: Likewise.
+       * libgnat/s-pack66.ads: Likewise.
+       * libgnat/s-pack67.adb: Likewise.
+       * libgnat/s-pack67.ads: Likewise.
+       * libgnat/s-pack68.adb: Likewise.
+       * libgnat/s-pack68.ads: Likewise.
+       * libgnat/s-pack69.adb: Likewise.
+       * libgnat/s-pack69.ads: Likewise.
+       * libgnat/s-pack70.adb: Likewise.
+       * libgnat/s-pack70.ads: Likewise.
+       * libgnat/s-pack71.adb: Likewise.
+       * libgnat/s-pack71.ads: Likewise.
+       * libgnat/s-pack72.adb: Likewise.
+       * libgnat/s-pack72.ads: Likewise.
+       * libgnat/s-pack73.adb: Likewise.
+       * libgnat/s-pack73.ads: Likewise.
+       * libgnat/s-pack74.adb: Likewise.
+       * libgnat/s-pack74.ads: Likewise.
+       * libgnat/s-pack75.adb: Likewise.
+       * libgnat/s-pack75.ads: Likewise.
+       * libgnat/s-pack76.adb: Likewise.
+       * libgnat/s-pack76.ads: Likewise.
+       * libgnat/s-pack77.adb: Likewise.
+       * libgnat/s-pack77.ads: Likewise.
+       * libgnat/s-pack78.adb: Likewise.
+       * libgnat/s-pack78.ads: Likewise.
+       * libgnat/s-pack79.adb: Likewise.
+       * libgnat/s-pack79.ads: Likewise.
+       * libgnat/s-pack80.adb: Likewise.
+       * libgnat/s-pack80.ads: Likewise.
+       * libgnat/s-pack81.adb: Likewise.
+       * libgnat/s-pack81.ads: Likewise.
+       * libgnat/s-pack82.adb: Likewise.
+       * libgnat/s-pack82.ads: Likewise.
+       * libgnat/s-pack83.adb: Likewise.
+       * libgnat/s-pack83.ads: Likewise.
+       * libgnat/s-pack84.adb: Likewise.
+       * libgnat/s-pack84.ads: Likewise.
+       * libgnat/s-pack85.adb: Likewise.
+       * libgnat/s-pack85.ads: Likewise.
+       * libgnat/s-pack86.adb: Likewise.
+       * libgnat/s-pack86.ads: Likewise.
+       * libgnat/s-pack87.adb: Likewise.
+       * libgnat/s-pack87.ads: Likewise.
+       * libgnat/s-pack88.adb: Likewise.
+       * libgnat/s-pack88.ads: Likewise.
+       * libgnat/s-pack89.adb: Likewise.
+       * libgnat/s-pack89.ads: Likewise.
+       * libgnat/s-pack90.adb: Likewise.
+       * libgnat/s-pack90.ads: Likewise.
+       * libgnat/s-pack91.adb: Likewise.
+       * libgnat/s-pack91.ads: Likewise.
+       * libgnat/s-pack92.adb: Likewise.
+       * libgnat/s-pack92.ads: Likewise.
+       * libgnat/s-pack93.adb: Likewise.
+       * libgnat/s-pack93.ads: Likewise.
+       * libgnat/s-pack94.adb: Likewise.
+       * libgnat/s-pack94.ads: Likewise.
+       * libgnat/s-pack95.adb: Likewise.
+       * libgnat/s-pack95.ads: Likewise.
+       * libgnat/s-pack96.adb: Likewise.
+       * libgnat/s-pack96.ads: Likewise.
+       * libgnat/s-pack97.adb: Likewise.
+       * libgnat/s-pack97.ads: Likewise.
+       * libgnat/s-pack98.adb: Likewise.
+       * libgnat/s-pack98.ads: Likewise.
+       * libgnat/s-pack99.adb: Likewise.
+       * libgnat/s-pack99.ads: Likewise.
+       * libgnat/s-parame.adb: Likewise.
+       * libgnat/s-parame.ads: Likewise.
+       * libgnat/s-parame__ae653.ads: Likewise.
+       * libgnat/s-parame__hpux.ads: Likewise.
+       * libgnat/s-parame__rtems.adb: Likewise.
+       * libgnat/s-parame__vxworks.adb: Likewise.
+       * libgnat/s-parame__vxworks.ads: Likewise.
+       * libgnat/s-parint.adb: Likewise.
+       * libgnat/s-parint.ads: Likewise.
+       * libgnat/s-pooglo.adb: Likewise.
+       * libgnat/s-pooglo.ads: Likewise.
+       * libgnat/s-pooloc.adb: Likewise.
+       * libgnat/s-pooloc.ads: Likewise.
+       * libgnat/s-poosiz.adb: Likewise.
+       * libgnat/s-poosiz.ads: Likewise.
+       * libgnat/s-powflt.ads: Likewise.
+       * libgnat/s-powlfl.ads: Likewise.
+       * libgnat/s-powllf.ads: Likewise.
+       * libgnat/s-purexc.ads: Likewise.
+       * libgnat/s-putaim.adb: Likewise.
+       * libgnat/s-putaim.ads: Likewise.
+       * libgnat/s-putima.adb: Likewise.
+       * libgnat/s-putima.ads: Likewise.
+       * libgnat/s-rannum.adb: Likewise.
+       * libgnat/s-rannum.ads: Likewise.
+       * libgnat/s-ransee.adb: Likewise.
+       * libgnat/s-ransee.ads: Likewise.
+       * libgnat/s-regexp.adb: Likewise.
+       * libgnat/s-regexp.ads: Likewise.
+       * libgnat/s-regpat.adb: Likewise.
+       * libgnat/s-regpat.ads: Likewise.
+       * libgnat/s-resfil.adb: Likewise.
+       * libgnat/s-resfil.ads: Likewise.
+       * libgnat/s-restri.adb: Likewise.
+       * libgnat/s-restri.ads: Likewise.
+       * libgnat/s-rident.ads: Likewise.
+       * libgnat/s-rpc.adb: Likewise.
+       * libgnat/s-rpc.ads: Likewise.
+       * libgnat/s-scaval.adb: Likewise.
+       * libgnat/s-scaval.ads: Likewise.
+       * libgnat/s-scaval__128.adb: Likewise.
+       * libgnat/s-scaval__128.ads: Likewise.
+       * libgnat/s-secsta.adb: Likewise.
+       * libgnat/s-secsta.ads: Likewise.
+       * libgnat/s-sequio.adb: Likewise.
+       * libgnat/s-sequio.ads: Likewise.
+       * libgnat/s-shabig.ads: Likewise.
+       * libgnat/s-shasto.adb: Likewise.
+       * libgnat/s-shasto.ads: Likewise.
+       * libgnat/s-soflin.adb: Likewise.
+       * libgnat/s-soflin.ads: Likewise.
+       * libgnat/s-soliin.adb: Likewise.
+       * libgnat/s-soliin.ads: Likewise.
+       * libgnat/s-sopco3.adb: Likewise.
+       * libgnat/s-sopco3.ads: Likewise.
+       * libgnat/s-sopco4.adb: Likewise.
+       * libgnat/s-sopco4.ads: Likewise.
+       * libgnat/s-sopco5.adb: Likewise.
+       * libgnat/s-sopco5.ads: Likewise.
+       * libgnat/s-spsufi.adb: Likewise.
+       * libgnat/s-spsufi.ads: Likewise.
+       * libgnat/s-stache.adb: Likewise.
+       * libgnat/s-stache.ads: Likewise.
+       * libgnat/s-stalib.adb: Likewise.
+       * libgnat/s-stalib.ads: Likewise.
+       * libgnat/s-statxd.adb: Likewise.
+       * libgnat/s-statxd.ads: Likewise.
+       * libgnat/s-stausa.adb: Likewise.
+       * libgnat/s-stausa.ads: Likewise.
+       * libgnat/s-stchop.adb: Likewise.
+       * libgnat/s-stchop.ads: Likewise.
+       * libgnat/s-stchop__limit.ads: Likewise.
+       * libgnat/s-stchop__rtems.adb: Likewise.
+       * libgnat/s-stchop__vxworks.adb: Likewise.
+       * libgnat/s-stoele.adb: Likewise.
+       * libgnat/s-stoele.ads: Likewise.
+       * libgnat/s-stopoo.adb: Likewise.
+       * libgnat/s-stopoo.ads: Likewise.
+       * libgnat/s-stposu.adb: Likewise.
+       * libgnat/s-stposu.ads: Likewise.
+       * libgnat/s-stratt.adb: Likewise.
+       * libgnat/s-stratt.ads: Likewise.
+       * libgnat/s-strcom.adb: Likewise.
+       * libgnat/s-strcom.ads: Likewise.
+       * libgnat/s-strhas.adb: Likewise.
+       * libgnat/s-strhas.ads: Likewise.
+       * libgnat/s-string.adb: Likewise.
+       * libgnat/s-string.ads: Likewise.
+       * libgnat/s-strops.adb: Likewise.
+       * libgnat/s-strops.ads: Likewise.
+       * libgnat/s-ststop.adb: Likewise.
+       * libgnat/s-ststop.ads: Likewise.
+       * libgnat/s-tasloc.adb: Likewise.
+       * libgnat/s-tasloc.ads: Likewise.
+       * libgnat/s-thread.ads: Likewise.
+       * libgnat/s-thread__ae653.adb: Likewise.
+       * libgnat/s-traceb.adb: Likewise.
+       * libgnat/s-traceb.ads: Likewise.
+       * libgnat/s-traceb__hpux.adb: Likewise.
+       * libgnat/s-traceb__mastop.adb: Likewise.
+       * libgnat/s-traent.adb: Likewise.
+       * libgnat/s-traent.ads: Likewise.
+       * libgnat/s-trasym.adb: Likewise.
+       * libgnat/s-trasym.ads: Likewise.
+       * libgnat/s-trasym__dwarf.adb: Likewise.
+       * libgnat/s-tsmona.adb: Likewise.
+       * libgnat/s-tsmona__linux.adb: Likewise.
+       * libgnat/s-tsmona__mingw.adb: Likewise.
+       * libgnat/s-unstyp.ads: Likewise.
+       * libgnat/s-utf_32.adb: Likewise.
+       * libgnat/s-utf_32.ads: Likewise.
+       * libgnat/s-vade128.ads: Likewise.
+       * libgnat/s-vade32.ads: Likewise.
+       * libgnat/s-vade64.ads: Likewise.
+       * libgnat/s-vafi128.ads: Likewise.
+       * libgnat/s-vafi32.ads: Likewise.
+       * libgnat/s-vafi64.ads: Likewise.
+       * libgnat/s-valboo.adb: Likewise.
+       * libgnat/s-valboo.ads: Likewise.
+       * libgnat/s-valcha.adb: Likewise.
+       * libgnat/s-valcha.ads: Likewise.
+       * libgnat/s-valenu.adb: Likewise.
+       * libgnat/s-valenu.ads: Likewise.
+       * libgnat/s-valflt.ads: Likewise.
+       * libgnat/s-valint.adb: Likewise.
+       * libgnat/s-valint.ads: Likewise.
+       * libgnat/s-vallfl.ads: Likewise.
+       * libgnat/s-valllf.ads: Likewise.
+       * libgnat/s-vallli.adb: Likewise.
+       * libgnat/s-vallli.ads: Likewise.
+       * libgnat/s-valllli.ads: Likewise.
+       * libgnat/s-vallllu.ads: Likewise.
+       * libgnat/s-valllu.adb: Likewise.
+       * libgnat/s-valllu.ads: Likewise.
+       * libgnat/s-valrea.adb: Likewise.
+       * libgnat/s-valrea.ads: Likewise.
+       * libgnat/s-valued.adb: Likewise.
+       * libgnat/s-valued.ads: Likewise.
+       * libgnat/s-valuef.adb: Likewise.
+       * libgnat/s-valuef.ads: Likewise.
+       * libgnat/s-valuei.adb: Likewise.
+       * libgnat/s-valuei.ads: Likewise.
+       * libgnat/s-valuer.adb: Likewise.
+       * libgnat/s-valuer.ads: Likewise.
+       * libgnat/s-valueu.adb: Likewise.
+       * libgnat/s-valueu.ads: Likewise.
+       * libgnat/s-valuns.adb: Likewise.
+       * libgnat/s-valuns.ads: Likewise.
+       * libgnat/s-valuti.adb: Likewise.
+       * libgnat/s-valuti.ads: Likewise.
+       * libgnat/s-valwch.adb: Likewise.
+       * libgnat/s-valwch.ads: Likewise.
+       * libgnat/s-veboop.adb: Likewise.
+       * libgnat/s-veboop.ads: Likewise.
+       * libgnat/s-vector.ads: Likewise.
+       * libgnat/s-vercon.adb: Likewise.
+       * libgnat/s-vercon.ads: Likewise.
+       * libgnat/s-wchcnv.adb: Likewise.
+       * libgnat/s-wchcnv.ads: Likewise.
+       * libgnat/s-wchcon.adb: Likewise.
+       * libgnat/s-wchcon.ads: Likewise.
+       * libgnat/s-wchjis.adb: Likewise.
+       * libgnat/s-wchjis.ads: Likewise.
+       * libgnat/s-wchstw.adb: Likewise.
+       * libgnat/s-wchstw.ads: Likewise.
+       * libgnat/s-wchwts.adb: Likewise.
+       * libgnat/s-wchwts.ads: Likewise.
+       * libgnat/s-widboo.adb: Likewise.
+       * libgnat/s-widboo.ads: Likewise.
+       * libgnat/s-widcha.adb: Likewise.
+       * libgnat/s-widcha.ads: Likewise.
+       * libgnat/s-widenu.adb: Likewise.
+       * libgnat/s-widenu.ads: Likewise.
+       * libgnat/s-widint.ads: Likewise.
+       * libgnat/s-widlli.adb: Likewise.
+       * libgnat/s-widlli.ads: Likewise.
+       * libgnat/s-widllli.ads: Likewise.
+       * libgnat/s-widlllu.ads: Likewise.
+       * libgnat/s-widllu.adb: Likewise.
+       * libgnat/s-widllu.ads: Likewise.
+       * libgnat/s-widthi.adb: Likewise.
+       * libgnat/s-widthi.ads: Likewise.
+       * libgnat/s-widthu.adb: Likewise.
+       * libgnat/s-widthu.ads: Likewise.
+       * libgnat/s-widuns.ads: Likewise.
+       * libgnat/s-widwch.adb: Likewise.
+       * libgnat/s-widwch.ads: Likewise.
+       * libgnat/s-win32.ads: Likewise.
+       * libgnat/s-winext.ads: Likewise.
+       * libgnat/s-wwdcha.adb: Likewise.
+       * libgnat/s-wwdcha.ads: Likewise.
+       * libgnat/s-wwdenu.adb: Likewise.
+       * libgnat/s-wwdenu.ads: Likewise.
+       * libgnat/s-wwdwch.adb: Likewise.
+       * libgnat/s-wwdwch.ads: Likewise.
+       * libgnat/system-aix.ads: Likewise.
+       * libgnat/system-darwin-arm.ads: Likewise.
+       * libgnat/system-darwin-ppc.ads: Likewise.
+       * libgnat/system-darwin-x86.ads: Likewise.
+       * libgnat/system-djgpp.ads: Likewise.
+       * libgnat/system-dragonfly-x86_64.ads: Likewise.
+       * libgnat/system-freebsd.ads: Likewise.
+       * libgnat/system-hpux-ia64.ads: Likewise.
+       * libgnat/system-hpux.ads: Likewise.
+       * libgnat/system-linux-alpha.ads: Likewise.
+       * libgnat/system-linux-arm.ads: Likewise.
+       * libgnat/system-linux-hppa.ads: Likewise.
+       * libgnat/system-linux-ia64.ads: Likewise.
+       * libgnat/system-linux-m68k.ads: Likewise.
+       * libgnat/system-linux-mips.ads: Likewise.
+       * libgnat/system-linux-ppc.ads: Likewise.
+       * libgnat/system-linux-riscv.ads: Likewise.
+       * libgnat/system-linux-s390.ads: Likewise.
+       * libgnat/system-linux-sh4.ads: Likewise.
+       * libgnat/system-linux-sparc.ads: Likewise.
+       * libgnat/system-linux-x86.ads: Likewise.
+       * libgnat/system-lynxos178-ppc.ads: Likewise.
+       * libgnat/system-lynxos178-x86.ads: Likewise.
+       * libgnat/system-mingw.ads: Likewise.
+       * libgnat/system-qnx-aarch64.ads: Likewise.
+       * libgnat/system-rtems.ads: Likewise.
+       * libgnat/system-solaris-sparc.ads: Likewise.
+       * libgnat/system-solaris-x86.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-arm-rtp.ads: Likewise.
+       * libgnat/system-vxworks-arm.ads: Likewise.
+       * libgnat/system-vxworks-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks-e500-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
+       * libgnat/system-vxworks-ppc.ads: Likewise.
+       * libgnat/system-vxworks-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks-x86-vthread.ads: Likewise.
+       * libgnat/system-vxworks-x86.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-aarch64.ads: Likewise.
+       * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-arm.ads: Likewise.
+       * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+       * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+       * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+       * link.c: Likewise.
+       * live.adb: Likewise.
+       * live.ads: Likewise.
+       * locales.c: Likewise.
+       * make.adb: Likewise.
+       * make.ads: Likewise.
+       * make_util.adb: Likewise.
+       * make_util.ads: Likewise.
+       * makeusg.adb: Likewise.
+       * makeusg.ads: Likewise.
+       * mdll-fil.adb: Likewise.
+       * mdll-fil.ads: Likewise.
+       * mdll-utl.adb: Likewise.
+       * mdll-utl.ads: Likewise.
+       * mdll.adb: Likewise.
+       * mdll.ads: Likewise.
+       * mingw32.h: Likewise.
+       * mkdir.c: Likewise.
+       * namet-sp.adb: Likewise.
+       * namet-sp.ads: Likewise.
+       * namet.adb: Likewise.
+       * namet.ads: Likewise.
+       * namet.h: Likewise.
+       * nlists.adb: Likewise.
+       * nlists.ads: Likewise.
+       * nlists.h: Likewise.
+       * opt.adb: Likewise.
+       * opt.ads: Likewise.
+       * osint-b.adb: Likewise.
+       * osint-b.ads: Likewise.
+       * osint-c.adb: Likewise.
+       * osint-c.ads: Likewise.
+       * osint-l.adb: Likewise.
+       * osint-l.ads: Likewise.
+       * osint-m.adb: Likewise.
+       * osint-m.ads: Likewise.
+       * osint.adb: Likewise.
+       * osint.ads: Likewise.
+       * output.adb: Likewise.
+       * output.ads: Likewise.
+       * par-ch10.adb: Likewise.
+       * par-ch11.adb: Likewise.
+       * par-ch12.adb: Likewise.
+       * par-ch13.adb: Likewise.
+       * par-ch2.adb: Likewise.
+       * par-ch3.adb: Likewise.
+       * par-ch4.adb: Likewise.
+       * par-ch5.adb: Likewise.
+       * par-ch6.adb: Likewise.
+       * par-ch7.adb: Likewise.
+       * par-ch8.adb: Likewise.
+       * par-ch9.adb: Likewise.
+       * par-endh.adb: Likewise.
+       * par-labl.adb: Likewise.
+       * par-load.adb: Likewise.
+       * par-prag.adb: Likewise.
+       * par-sync.adb: Likewise.
+       * par-tchk.adb: Likewise.
+       * par-util.adb: Likewise.
+       * par.adb: Likewise.
+       * par.ads: Likewise.
+       * par_sco.adb: Likewise.
+       * par_sco.ads: Likewise.
+       * pprint.adb: Likewise.
+       * pprint.ads: Likewise.
+       * prep.adb: Likewise.
+       * prep.ads: Likewise.
+       * prepcomp.adb: Likewise.
+       * prepcomp.ads: Likewise.
+       * put_scos.adb: Likewise.
+       * put_scos.ads: Likewise.
+       * raise-gcc.c: Likewise.
+       * raise.c: Likewise.
+       * raise.h: Likewise.
+       * repinfo-input.adb: Likewise.
+       * repinfo-input.ads: Likewise.
+       * repinfo.adb: Likewise.
+       * repinfo.ads: Likewise.
+       * repinfo.h: Likewise.
+       * restrict.adb: Likewise.
+       * restrict.ads: Likewise.
+       * rident.ads: Likewise.
+       * rtfinal.c: Likewise.
+       * rtinit.c: Likewise.
+       * rtsfind.adb: Likewise.
+       * rtsfind.ads: Likewise.
+       * runtime.h: Likewise.
+       * s-oscons-tmplt.c: Likewise.
+       * sa_messages.adb: Likewise.
+       * sa_messages.ads: Likewise.
+       * scans.adb: Likewise.
+       * scans.ads: Likewise.
+       * scil_ll.adb: Likewise.
+       * scil_ll.ads: Likewise.
+       * scn.adb: Likewise.
+       * scn.ads: Likewise.
+       * scng.adb: Likewise.
+       * scng.ads: Likewise.
+       * scos.adb: Likewise.
+       * scos.ads: Likewise.
+       * scos.h: Likewise.
+       * sdefault.ads: Likewise.
+       * seh_init.c: Likewise.
+       * sem.adb: Likewise.
+       * sem.ads: Likewise.
+       * sem_aggr.adb: Likewise.
+       * sem_aggr.ads: Likewise.
+       * sem_attr.adb: Likewise.
+       * sem_attr.ads: Likewise.
+       * sem_aux.adb: Likewise.
+       * sem_aux.ads: Likewise.
+       * sem_case.adb: Likewise.
+       * sem_case.ads: Likewise.
+       * sem_cat.adb: Likewise.
+       * sem_cat.ads: Likewise.
+       * sem_ch10.adb: Likewise.
+       * sem_ch10.ads: Likewise.
+       * sem_ch11.adb: Likewise.
+       * sem_ch11.ads: Likewise.
+       * sem_ch12.adb: Likewise.
+       * sem_ch12.ads: Likewise.
+       * sem_ch13.adb: Likewise.
+       * sem_ch13.ads: Likewise.
+       * sem_ch2.adb: Likewise.
+       * sem_ch2.ads: Likewise.
+       * sem_ch3.adb: Likewise.
+       * sem_ch3.ads: Likewise.
+       * sem_ch4.adb: Likewise.
+       * sem_ch4.ads: Likewise.
+       * sem_ch5.adb: Likewise.
+       * sem_ch5.ads: Likewise.
+       * sem_ch6.adb: Likewise.
+       * sem_ch6.ads: Likewise.
+       * sem_ch7.adb: Likewise.
+       * sem_ch7.ads: Likewise.
+       * sem_ch8.adb: Likewise.
+       * sem_ch8.ads: Likewise.
+       * sem_ch9.adb: Likewise.
+       * sem_ch9.ads: Likewise.
+       * sem_dim.adb: Likewise.
+       * sem_dim.ads: Likewise.
+       * sem_disp.adb: Likewise.
+       * sem_disp.ads: Likewise.
+       * sem_dist.adb: Likewise.
+       * sem_dist.ads: Likewise.
+       * sem_elab.adb: Likewise.
+       * sem_elab.ads: Likewise.
+       * sem_elim.adb: Likewise.
+       * sem_elim.ads: Likewise.
+       * sem_eval.adb: Likewise.
+       * sem_eval.ads: Likewise.
+       * sem_intr.adb: Likewise.
+       * sem_intr.ads: Likewise.
+       * sem_mech.adb: Likewise.
+       * sem_mech.ads: Likewise.
+       * sem_prag.adb: Likewise.
+       * sem_prag.ads: Likewise.
+       * sem_res.adb: Likewise.
+       * sem_res.ads: Likewise.
+       * sem_scil.adb: Likewise.
+       * sem_scil.ads: Likewise.
+       * sem_smem.adb: Likewise.
+       * sem_smem.ads: Likewise.
+       * sem_type.adb: Likewise.
+       * sem_type.ads: Likewise.
+       * sem_util.adb: Likewise.
+       * sem_util.ads: Likewise.
+       * sem_warn.adb: Likewise.
+       * sem_warn.ads: Likewise.
+       * set_targ.adb: Likewise.
+       * set_targ.ads: Likewise.
+       * sfn_scan.adb: Likewise.
+       * sfn_scan.ads: Likewise.
+       * sigtramp-armdroid.c: Likewise.
+       * sigtramp-ios.c: Likewise.
+       * sigtramp-qnx.c: Likewise.
+       * sigtramp-vxworks.c: Likewise.
+       * sigtramp.h: Likewise.
+       * sinfo-cn.adb: Likewise.
+       * sinfo-cn.ads: Likewise.
+       * sinfo.adb: Likewise.
+       * sinfo.ads: Likewise.
+       * sinput-c.adb: Likewise.
+       * sinput-c.ads: Likewise.
+       * sinput-d.adb: Likewise.
+       * sinput-d.ads: Likewise.
+       * sinput-l.adb: Likewise.
+       * sinput-l.ads: Likewise.
+       * sinput.adb: Likewise.
+       * sinput.ads: Likewise.
+       * snames.adb-tmpl: Likewise.
+       * snames.ads-tmpl: Likewise.
+       * socket.c: Likewise.
+       * spark_xrefs.adb: Likewise.
+       * spark_xrefs.ads: Likewise.
+       * sprint.adb: Likewise.
+       * sprint.ads: Likewise.
+       * stand.ads: Likewise.
+       * stringt.adb: Likewise.
+       * stringt.ads: Likewise.
+       * stringt.h: Likewise.
+       * style.adb: Likewise.
+       * style.ads: Likewise.
+       * styleg.adb: Likewise.
+       * styleg.ads: Likewise.
+       * stylesw.adb: Likewise.
+       * stylesw.ads: Likewise.
+       * switch-b.adb: Likewise.
+       * switch-b.ads: Likewise.
+       * switch-c.adb: Likewise.
+       * switch-c.ads: Likewise.
+       * switch-m.adb: Likewise.
+       * switch-m.ads: Likewise.
+       * switch.adb: Likewise.
+       * switch.ads: Likewise.
+       * sysdep.c: Likewise.
+       * table.adb: Likewise.
+       * table.ads: Likewise.
+       * targext.c: Likewise.
+       * targparm.adb: Likewise.
+       * targparm.ads: Likewise.
+       * tbuild.adb: Likewise.
+       * tbuild.ads: Likewise.
+       * tempdir.adb: Likewise.
+       * tempdir.ads: Likewise.
+       * terminals.c: Likewise.
+       * tracebak.c: Likewise.
+       * treepr.adb: Likewise.
+       * treepr.ads: Likewise.
+       * ttypes.ads: Likewise.
+       * types.adb: Likewise.
+       * types.ads: Likewise.
+       * types.h: Likewise.
+       * uintp.adb: Likewise.
+       * uintp.ads: Likewise.
+       * uintp.h: Likewise.
+       * uname.adb: Likewise.
+       * uname.ads: Likewise.
+       * urealp.adb: Likewise.
+       * urealp.ads: Likewise.
+       * urealp.h: Likewise.
+       * usage.adb: Likewise.
+       * usage.ads: Likewise.
+       * validsw.adb: Likewise.
+       * validsw.ads: Likewise.
+       * vast.adb: Likewise.
+       * vast.ads: Likewise.
+       * warnsw.adb: Likewise.
+       * warnsw.ads: Likewise.
+       * widechar.adb: Likewise.
+       * widechar.ads: Likewise.
+       * xeinfo.adb: Likewise.
+       * xnmake.adb: Likewise.
+       * xoscons.adb: Likewise.
+       * xr_tabls.adb: Likewise.
+       * xr_tabls.ads: Likewise.
+       * xref_lib.adb: Likewise.
+       * xref_lib.ads: Likewise.
+       * xsinfo.adb: Likewise.
+       * xsnamest.adb: Likewise.
+       * xtreeprs.adb: Likewise.
+       * xutil.adb: Likewise.
+       * xutil.ads: Likewise.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_dist.adb (Build_From_Any_Call): Remove initial value for
+       Fnam; fix style.
+       (Build_To_Any_Call): Remove initial value for Fnam.
+       (Build_TypeCode_Call): Likewise.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
+       exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
+       sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
+       sem_util.adb: Replace calls to RTE with Is_RTE.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch4.adb (Try_Object_Operation): Reuse local constant.
+
+2021-05-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Object_Operation): When a prefixed call is
+       overloaded and illegal, and the All_Errors flag is off, generate
+       an error message if the re-analysis of some candidate
+       interpretation fails to produce one.
+
+2021-05-03  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-casuti.adb: Replace with "pragma No_Body".
+       * libgnat/g-casuti.ads: Replace with a package renaming.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Check_Program_Unit): Fix references to
+       Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
+       Entity.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
+       and Protected_Kind with a collective test for Concurrent_Kind;
+       likewise, replace calls to Is_Task_Type and Is_Protected_Type
+       with a collective call to Is_Concurrent_Type; simplify into a
+       single membership test; add missing Entry_Kind alternative.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
+       message.
+       * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
+       parens.
+       * sem_elim.adb (Eliminate_Error_Msg): Add insertion character.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
+       Error_Msg_N; change to continuation message.
+       * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
+       calls to Error_Msg_NE with calls to Error_Msg_N.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
+       sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+       sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
+       sem_res.adb: Remove extra leading and trailing space in error
+       messages.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_prag.adb (Set_Exported): Do not warn on exporting a type.
+
+2021-05-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Check_References): Do not emit warning on a
+       selected component when enclosing type has no discriminant and
+       type of component has partial initialization.
+
+2021-05-03  Justin Squirek  <squirek@adacore.com>
+
+       * contracts.adb (Build_Postconditions_Procedure): Remove
+       internally generated if statement used to control finalization
+       actions.
+       * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
+       Expand_Simple_Function_Return): Add if statement around
+       _postconditions to control finalization.
+       * exp_ch7.adb (Build_Finalizer): Likewise.
+       * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
+       handle Context itself being a handled sequence of statements.
+
+2021-05-03  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (In_Return_Value): Modified to detect when
+       implicit dereference is specified on the return type of a
+       function call within the expression being checked.
+
+2021-05-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
+       the aggregate is a subprogram call there is no target in which
+       to build the aggregate, and it has to be expanded into component
+       assignments.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
+       remove periods after single-line comments; use procedural
+       variant of Next_Entity.
+       * gnat_cuda.adb: Refill comments; remove periods after
+       single-line comments; replace calls to UI_From_Int with
+       constants; change iteration bounds so they match the comments.
+       * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
+       CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
+       with Check_Arg_Count; sync comment with code for CUDA_Global.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
+       checking on dead paths.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.adb (Check_Result_And_Post_State): Replace custom
+       Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
+       flag which corresponds exactly to what we need.
+
+2021-05-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-ztcoio.adb: Remove unused with clause.
+
+2021-05-03  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
+       (Resolve_Aspect_Expressions): Fix typo in comment; remove
+       redundant check for no aspects; simplify with Discard_Node.
+
+2021-05-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Build_Constrained_Itype): Remove prior patch,
+       issue is better handled in Sem_Ch13.Build_Predicate_Functions.
+       * sem_ch13.adb (Build_Predicate_Functions): Do not build
+       predicate function for an Itype with a defined
+       Predicated_Parent, even if that designated parent does not yet
+       have a Predicate_Function. This can happen in instance bodies
+       nested within a generic unit.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference)
+       <Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
+       universal integer contexts only in the default case.
+       * exp_ch4.adb (Get_Size_For_Range): Move to library level.
+       (Expand_N_Type_Conversion): If the operand has Universal_Integer
+       type and the conversion requires an overflow check, try to do an
+       intermediate conversion to a narrower type.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
+       core processing of Check_Anonymous_Access_Components.
+       (Check_Anonymous_Access_Components): Call
+       Check_Anonymous_Access_Component.
+       (Process_Discriminants): Call Check_Anonymous_Access_Component.
+       * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
+       checking to handle changes in sem_ch3.adb.
+       * sem_ch8.adb (Find_Type): Remove special case for access
+       discriminant in task types, these are now supported.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
+       entry condition.
+       (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
+       operand before doing the special overflow expansion.
+       (Expand_N_Op_Eq): Likewise.
+       (Expand_N_Op_Ge): Likewise.
+       (Expand_N_Op_Gt): Likewise.
+       (Expand_N_Op_Le): Likewise.
+       (Expand_N_Op_Lt): Likewise.
+       (Expand_N_Op_Ne): Likewise.
+       (Minimized_Eliminated_Overflow_Check): Return False for Minimized
+       if the size of the type is greater than that of Long_Long_Integer.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch5.adb (Expand_N_If_Statement): Only perform the
+       simplification on return True/False for internal nodes when
+       -fpreserve-control-flow is not set.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
+       Round_Even instead of Round in the call to the Machine routine.
+
+2021-04-29  Bob Duff  <duff@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Change "$" to "&".
+       Otherwise, Errout will trip over an uninitialized (invalid)
+       variable (Error_Msg_Unit_1).
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
+       when the precision limit is reached by means of trailing zeros
+       and prevent it from being overwritten later.
+
+2021-04-29  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb (Output_Messages): Insert SGR strings where needed.
+       * erroutc.adb (Output_Message_Txt): Insert SGR strings where
+       needed in the text of the message itself.
+       (Output_Msg_Text): Allow for style message not to start
+       with (style).
+       * erroutc.ads: Add new constants and functions to control colors
+       in messages output to the terminal. Add variable Use_SGR_Control
+       that should be set to True for using SGR color control strings.
+
+2021-04-29  Yannick Moy  <moy@adacore.com>
+
+       * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
+       compile-time checking for overflows in non-static contexts
+       including inlined code.
+       (Eval_Arithmetic_Op): Use the new procedure.
+       (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.
+
+2021-04-29  Justin Squirek  <squirek@adacore.com>
+
+       * checks.adb (Apply_Type_Conversion_Checks): Move out constraint
+       check generation, and add case for general access types with
+       constraints.
+       (Make_Discriminant_Constraint_Check): Created to centralize
+       generation of constraint checks for stored discriminants.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
+       type if the maximum integer size is lower than 64 bits.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
+       (ADA_INCLUDE_SRCS): Remove libgnat/system.ads
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb (Collect_Initialization_Statements): Removed.
+       (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
+       creation and insertion of Initialization_Statements.  Do not set
+       Initialization_Statements when a transient scope is involved.
+       Move processing of Array_Slice here.  Ensure that an object with
+       an Array_Slice call gets its array component initialized.  Add
+       comments.
+       * exp_ch7.adb: Update comments.
+       (Store_Actions_In_Scope): Deal properly with an empty list which
+       might now be generated by Convert_Aggr_In_Object_Decl.
+       * exp_ch3.adb: Update comments.
+       (Expand_N_Object_Declaration): Remove processing of Array_Slice.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Update check for
+       AI12-0401.
+
+2021-04-29  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.
+
+2021-04-29  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
+       DIC Check pragma that's done for abstract types by still doing
+       it in the case where GNATprove_Mode is set.
+
+2021-04-29  Joel Brobecker  <brobecker@adacore.com>
+
+       * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
+       s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.
+
+2021-04-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * layout.adb (Layout_Type): Refine type of a local variable with
+       the required size of object from Int to Pos (it is initialized
+       with 8 and only multiplied by 2); fix unbalanced parens in
+       comment.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
+
+2021-04-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Build_Constrained_Itype): Inhibit the generation
+       of predicate functions for this Itype, which is created for an
+       aggregate of a discriminated type. The object to which the
+       aggregate is assigned, e.g a writable actual parameter, will
+       apply the predicates if any are inherited from the base type.
+
+2021-04-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
+       case for generic child units; remove optimization for empty list
+       of pragmas; properly restore visibility.
+
+2021-04-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
+       comment.
+       * sem_prag.adb (Find_Related_Context): Add missing reference to
+       No_Caching in the comment; handle pragmas on compilation units.
+
+2021-04-29  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst: Change all
+       occurrences of "permissible prefix" to "allowed prefix", for
+       consistency.
+       * gnat_rm.texi: Regenerate.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * eval_fat.adb (Succ): Add a special case for zero if the type does
+       not support denormalized numbers.  Always use the canonical formula
+       in other cases and add commentary throughout the function.
+
+2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb: Remove with clause for Interfaces and
+       use type clauses for Interfaces.Unsigned_{16,32,64}.
+       (Small16): Remove.
+       (Small32): Likewise
+       (Small64): Likewise.
+       (Small80): Likewise.
+       (Tiny16): Likewise.
+       (Tiny32): Likewise.
+       (Tiny64): Likewise.
+       (Tiny80): Likewise.
+       (Siz): Always use 16.
+       (NR): New constant.
+       (Rep_Last): Use it in the computation.
+       (Exp_Factor): Remove special case for 80-bit.
+       (Sign_Mask): Likewise.
+       (Finite_Succ): New function implementing the Succ attribute for
+       finite numbers.
+       (Pred): Rewrite in terms of Finite_Succ.
+       (Succ): Likewise.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * debug_a.adb (Debug_Output_Astring): Remove obsolete comment.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_attr.adb (Check_Image_Type): Protect against empty
+       Image_Type.
+
+2021-04-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-nbnbin.ads (From_Universal_Image): New.
+       (Big_Integer): Update definition.
+       * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
+       (From_Universal_Image): New.
+       (From_String): Remove alternate body, replaced by
+       From_Universal_Image.
+       (Big_Real): Update definition.
+
+2021-04-29  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
+       restriction for 'Class applied to an untagged incomplete
+       type (when Ada_Version >= Ada_2005).  Remove disabling of the
+       warning message for such usage, along with the ??? comment,
+       which no longer applies (because the -gnatg switch no longer
+       sets Warn_On_Obsolescent_Feature).
+
+2021-04-29  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb (Error_Msg_NEL): Extract span from node.
+       (First_And_Last_Nodes): Use spans for subtype indications and
+       attribute definition clauses.
+       (Write_Source_Code_Lines): Fix for tabulation characters. Change
+       output for large spans to skip intermediate lines.
+       * sem_case.adb (Check_Choice_Set): Report duplicate choice on
+       the Original_Node for the case.
+       (Generic_Check_Choices): Set the Original_Node for the rewritten
+       case, so that the subtree used in spans has the correct
+       locations.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb, sem_util.adb: Fix style.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * nlists.ads (List_Length): Adapt comment to match the
+       behaviour.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_eval.adb (Eval_Selected_Component): Only consider compile
+       time known aggregates.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
+       and Interfaces.Unsigned_32.
+       (Small16): New constant.
+       (Small32): Likewise.
+       (Small64): Likewise.
+       (Small80): Likewise.
+       (Pred): Declare a local overlay for Small and return it negated
+       for zero if the type does not support denormalized numbers.
+       (Succ): Likewise, but return it directly.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Formal_Is_Used_Once): Refine type of the counter
+       variable; remove redundant assignment.
+
+2021-04-28  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
+       Prio parameter to type Interrupt_Priority.
+       * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
+       * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
+       Likewise.
+       * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
+       Likewise.
+       * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
+       Likewise.
+       * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
+       Likewise.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
+       * sem_type.adb (Headers): Removed; now the hash table is
+       directly in the Interp_Map alone.
+       (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
+       (Last_Overloaded): New variable to emulate Interp_Map.Last.
+       (Add_One_Interp): Adapt to new data structure.
+       (Get_First_Interp): Likewise.
+       (Hash): Likewise.
+       (Init_Interp_Tables): Likewise.
+       (New_Interps): Likewise.
+       (Save_Interps): Likewise; handle O_N variable like in
+       Get_First_Interp.
+       (Write_Interp_Ref): Removed; no longer needed.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Static): Reuse
+       Error_Msg_Ada_2020_Feature for aspect Static.
+       (Analyze_One_Aspect): Likewise for aspect Full_Access.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
+       single check for the expression being present; adapt comments.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
+       error message.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Eval_Selected_Component): Simplify with
+       Unqualify.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valrea.adb (Fast2Sum): New function.
+       (Integer_to_Real): Use it in an iterated addition with exact
+       error handling for the case where an extra digit is needed.
+       Move local variable now only used in the exponentiation case.
+
+2021-04-28  Yannick Moy  <moy@adacore.com>
+
+       * errout.adb: (Error_Msg_Internal): Use span instead of
+       location.
+       (Error_Msg, Error_Msg_NEL): Add versions with span parameter.
+       (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
+       Error_Msg_NW): Retrieve span from node.
+       (First_Node): Use the new First_And_Last_Nodes.
+       (First_And_Last_Nodes): Expand on previous First_Node. Apply to
+       other nodes than expressions.
+       (First_Sloc): Protect against inconsistent locations.
+       (Last_Node): New function based on First_And_Last_Nodes.
+       (Last_Sloc): New function similar to First_Sloc.
+       (Output_Messages): Update output when -gnatdF is used. Use
+       character ~ for making the span visible, similar to what is done
+       in GCC and Clang.
+       * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
+       parameter.
+       (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
+       * erroutc.adb: Adapt to Sptr field being a span.
+       * erroutc.ads (Error_Msg_Object): Change field Sptr from
+       location to span.
+       * errutil.adb: Adapt to Sptr field being a span.
+       * freeze.adb: Use Errout reporting procedures for nodes to get
+       spans.
+       * par-ch3.adb: Likewise.
+       * par-prag.adb: Likewise.
+       * par-util.adb: Likewise.
+       * sem_case.adb: Likewise.
+       * sem_ch13.adb: Likewise.
+       * sem_ch3.adb: Likewise.
+       * sem_prag.adb: Likewise.
+       * types.ads: (Source_Span): New type for spans.
+       (To_Span): Basic constructors for spans.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.adb (Discriminant_Constraint): Refine assertion.
+
+2021-04-28  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
+       when the pragma occurs for an abstract type, since that could
+       lead to a call to an abstract function, and such DIC checks can
+       never be performed for abstract types in any case.
+       * sem_disp.adb (Check_Dispatching_Context): Suppress the check
+       for illegal calls to abstract subprograms when the call occurs
+       within a Default_Initial_Condition aspect and the call is passed
+       the current instance as an actual.
+       (Has_Controlling_Current_Instance_Actual): New function to test
+       a call to see if it has any actuals given by direct references
+       to a current instance of a type
+       * sem_res.adb (Resolve_Actuals): Issue an error for a call
+       within a DIC aspect to a nonprimitive subprogram with an actual
+       given by the name of the DIC type's current instance (which will
+       show up as a reference to the formal parameter of a DIC
+       procedure).
+
+2021-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
+       the type extension when within a generic unit, even though
+       expansion is disabled, to allow for proper resolution of
+       selected components inherited from an ancestor.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
+       before assuming Ent is a typo.
+       * sem_ch4.adb (Analyze_Expression_With_Actions): Update
+       comments, minor reformatting.
+       * sem_res.adb (Resolve_Declare_Expression): Add protection
+       against no type.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb: Fix typo in comment.
+       * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
+       to Create_Extra_Formals. Remove obsolete bootstrap check.
+       * sem_eval.adb (Eval_Selected_Component): Simplify a
+       selected_component on an aggregate.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * fmap.ads (Reset_Tables): Remove outdated references to
+       GNSA/ASIS.
+       * sem_eval.ads (Initialize): Likewise.
+       * sem_type.adb (Headers): Remove initialization at elaboration.
+       * sem_type.ads (Init_Interp_Tables): Remove outdated reference
+       to gnatf.
+       * stringt.ads (Initialize): Fix style in comment.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.ads: Update reference in comment.
+       * sem_type.ads: Fix casing in a name of a unit.
+
+2021-04-28  Yannick Moy  <moy@adacore.com>
+
+       * ghost.adb (Check_Ghost_Context): Add continuation message when
+       in predicate.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
+       for the component type of the table of powers of ten.
+       * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
+       all objects; fix typo in comment.
+
+2021-04-28  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch9.adb (Build_Barrier_Function): Refine type of a
+       protected type entity.
+       (Is_Pure_Barrier): Fix style.
+
+2021-04-28  Bob Duff  <duff@adacore.com>
+
+       * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
+       and always use OK_Convert_To, rather than Unchecked_Convert_To
+       and Convert_To.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
+       * ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
+       Remove unused code related to Xref lines.
+       (Get_Typeref): Removed, no longer used.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
+       Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
+       Validated_View.
+       (Build_Record_VS_Func): Adjust to keep using Validated_View.
+       (Expand_N_Attribute_Reference) [Valid]: Use
+       Small_Integer_Type_For to allow for more compile time
+       evaluations.
+       * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
+       support for N_Indexed_Component and fix support for
+       N_Selected_Component which wasn't completely safe.
+       (List_Cannot_Raise_CE): New.
+       * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
+       new GNAT warning.
+
+2021-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * .gitignore: New.
+       * doc/share/conf.py: Add Python 3 compatibility.
+       * doc/share/gnat.sty: Add missing file.
+
+2021-04-28  Richard Wai  <richard@annexi-strayline.com>
+
+       * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
+       type definition to be consistent with identical definitions in other
+       container packages. Add additional comments regarding the importance of
+       maintaining the "Position" component for predefined equality.
+       * libgnat/a-cohama.ads (Cursor): Likewise.
+       * libgnat/a-cihama.ads (Cursor): Likewise.
+       * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
+       always have their "Position" component set to ensure predefined
+       equality works as required.
+       * libgnat/a-cohama.adb (Find, Insert): Likewise.
+       * libgnat/a-cihama.adb (Find, Insert): Likewise.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
+       const or pure function because of a parameter whose type is pointer
+       to function.
+       * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
+       between an actual and a formal that are unconstrained array types.
+       (gnat_gimplify_expr) <CALL_EXPR>: New case.
+       * gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
+       (gnat_stabilize_reference_1): Likewise.
+       (gnat_rewrite_reference): Likewise.
+       (build_unary_op): Do not clear existing TREE_CONSTANT on the result.
+       (gnat_build_constructor): Also accept the address of a constant
+       CONSTRUCTOR as constant element.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
+       (find_decls_r): New function.
+       (return_slot_opt_for_pure_call_p): New predicate.
+       (Call_to_gnu): Do not create a temporary for the return value if the
+       parent node is an aggregate.  If there is a target, try to apply the
+       return slot optimization to regular calls to pure functions returning
+       an array of scalar type.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (language_function): Add comment.
+       (loop_info_d): Add fndecl and invariants fields.
+       (find_loop_for): Test fndecl instead of the context of var.
+       (find_loop): New function.
+       (Regular_Loop_to_gnu): Fold back into...
+       (Loop_Statement_to_gnu): ...this.  Emit invariants on entry, if any.
+       (gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
+       offset computations in loops when optimization is enabled.
+       * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.
+
+2021-04-20  Martin Liska  <mliska@suse.cz>
+
+       * gnatvsn.ads: Bump Library_Version to 12.
+
+2021-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_init): Set default range bits to 0.
+       * gcc-interface/trans.c (extract_encoding): Delete.
+       (decode_name): Likewise.
+       (File_Name_to_gnu): New function.
+       (gigi): Call it to translate file names.  Replace assertion on
+       1-1 mapping between files and line maps with conditional error.
+
+2021-04-11  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * gnat_ugn.texi (Top): Avoid invalid "up" link.
+
+2021-03-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/99802
+       * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
+       on the name of an N_Assignment_Statement to spot full access.
+
+2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
+       for the main variant of an enumeration type declared as volatile.
+
+2021-03-09  Mikael Pettersson  <mikpelinux@gmail.com>
+
+       * raise-gcc.c: On Cygwin include mingw32.h to prevent
+       windows.h from including x86intrin.h or emmintrin.h.
+
+2021-03-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/99264
+       * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
+       MINSIGSTKSZ and bump size to 32KB.
+       * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
+
+2021-03-02  Mikael Pettersson  <mikpelinux@gmail.com>
+
+       PR bootstrap/98590
+       * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.
+
+2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/99095
+       * sem_ch8.adb (Check_Constrained_Object): Restrict again the special
+       optimization for limited types to non-array types except in the case
+       of an extended return statement.
+
+2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/99020
+       * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
+       only if the type is not private.
+
+2021-02-26  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       PR ada/98996
+       * Makefile.rtl: <mips*-*-linux*>
+       add 128Bit operation file for MIPS N64 and N32 to
+       LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
+
+2021-02-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * repinfo.ads, repinfo.adb (*SO_Ref*): Restore.
+
+2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (components_to_record): If the first component
+       with rep clause is the _Parent field with variable size, temporarily
+       set it aside when computing the internal layout of the REP part again.
+       * gcc-interface/utils.c (finish_record_type): Revert to taking the
+       maximum when merging sizes for all record types with rep clause.
+       (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
+
+2021-02-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
+       two fields of the fat pointer type addressable, and do not make the
+       template type read-only.
+       <E_Record_Type>: If the type has discriminants mark it as may_alias.
+       * gcc-interface/utils.c (make_dummy_type): Likewise.
+       (build_dummy_unc_pointer_types): Likewise.
+
+2021-01-26  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       PR ada/98228
+       * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
+       packable type instead of its alignment for addressability's sake.
+
+2021-01-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
+       of the parameters and do not set TREE_PUBLIC on the thunk.
+       (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
+       * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
+       of the parameters here...
+       (begin_subprog_body): ...instead of here.
+
+2021-01-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/98740
+       * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
+
+2021-01-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       PR ada/98595
+       * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
+       wraplf version of Aux_Long_Long_Float.
+
+2021-01-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatvsn.ads: Bump copyright year.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gnat_ugn.texi: Bump @copying's copyright year.
+       * gnat_rm.texi: Likewise.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/gcc/cp/ChangeLog-2021 b/gcc/cp/ChangeLog-2021
new file mode 100644 (file)
index 0000000..c577b82
--- /dev/null
@@ -0,0 +1,5512 @@
+2021-12-20  Patrick Palka  <ppalka@redhat.com>
+
+       * call.c (build_new_method_call): Set
+       BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P on the pruned baselink.
+       * cp-tree.h (BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P): Define.
+       * pt.c (filter_memfn_lookup): New subroutine of tsubst_baselink.
+       (tsubst_baselink): Use filter_memfn_lookup on the new lookup
+       result when BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P is set on the
+       old baselink.  Remove redundant BASELINK_P check.
+       * search.c (build_baselink): Set
+       BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P appropriately.
+
+2021-12-20  Patrick Palka  <ppalka@redhat.com>
+
+       * call.c (build_new_method_call): For a non-dependent call
+       expression inside a template, returning a templated tree
+       whose overload set contains just the selected function.
+       * semantics.c (finish_call_expr): Likewise.
+
+2021-12-19  Matthias Kretz  <m.kretz@gsi.de>
+
+       * module.cc (trees_out::get_merge_kind): NAMESPACE_DECLs also
+       cannot have a DECL_TEMPLATE_INFO.
+
+2021-12-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94376
+       * lambda.c (lambda_capture_field_type): Strip location wrappers
+       before checking for a capture proxy.
+       (is_capture_proxy): Assert that we don't see a location wrapper.
+       (mark_const_cap_r): Don't call is_constant_capture_proxy on a
+       location wrapper.
+
+2021-12-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103714
+       * constraint.cc (satisfy_declaration_constraints): Do
+       push_to_top_level and pop_from_top_level around the call to
+       satisfy_normalized_constraints.
+
+2021-12-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c/103649
+       * parser.c (cp_parser_declaration): Don't warn for attribute_ignored_p.
+       (cp_parser_std_attribute): Skip parsing of the attribute
+       arguments when the attribute is ignored.
+
+2021-12-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103749
+       * decl.c (lookup_and_check_tag): Give an error when a class was
+       declared as template but no template header has been provided.
+       * pt.c (do_class_deduction): Don't deduce CLASSTYPE_ERRONEOUS
+       types.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/100127
+       * coroutines.cc (coro_rewrite_function_body): Handle initial
+       await expressions that try to produce a reference value.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/100772
+       * coroutines.cc (morph_fn_to_coro): Convert function parms
+       from reference before constructing any operator-new args
+       list.
+
+2021-12-17  Jason Merrill  <jason@redhat.com>
+
+       * constraint.cc (deduce_concept_introduction): Adjust comment.
+
+2021-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103681
+       * cp-tree.h (struct lang_type): Add non_pod_aggregate.
+       (CLASSTYPE_NON_POD_AGGREGATE): New.
+       * class.c (check_field_decls): Set it.
+       (check_bases_and_members): Check it.
+       (check_non_pod_aggregate): New.
+       (enum eoc_mode): New.
+       (end_of_class): Always include non-empty fields.
+       Add eoc_nv_or_dsize mode.
+       (include_empty_classes, layout_class_type): Adjust.
+
+2021-12-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99980
+       * parser.c (cp_parser_single_declaration): Maybe pass
+       CP_PARSER_FLAGS_DELAY_NOEXCEPT down to cp_parser_init_declarator.
+
+2021-12-16  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/103703
+       * parser.c (class_decl_loc_t::diag_mismatched_tags): Check for class
+       type before assuming a type is one.
+
+2021-12-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/51577
+       PR c++/83035
+       PR c++/100465
+       * call.c (add_operator_candidates): Add lookups parameter.
+       Use it to avoid performing a second unqualified lookup when
+       instantiating a dependent operator expression.
+       (build_new_op): Add lookups parameter and pass it appropriately.
+       * constraint.cc (finish_constraint_binary_op): Use
+       build_min_nt_loc instead of build_x_binary_op.
+       * coroutines.cc (build_co_await): Adjust call to build_new_op.
+       * cp-objcp-common.c (cp_common_init_ts): Mark
+       DEPENDENT_OPERATOR_TYPE appropriately.
+       * cp-tree.def (DEPENDENT_OPERATOR_TYPE): Define.
+       * cp-tree.h (WILDCARD_TYPE_P): Accept DEPENDENT_OPERATOR_TYPE.
+       (FOLD_EXPR_OP_RAW): New, renamed from ...
+       (FOLD_EXPR_OP): ... this.  Change this to return the tree_code directly.
+       (DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS): Define.
+       (templated_operator_saved_lookups): Define.
+       (build_new_op): Add lookups parameter.
+       (build_dependent_operator_type): Declare.
+       (build_x_indirect_ref): Add lookups parameter.
+       (build_x_binary_op): Likewise.
+       (build_x_unary_op): Likewise.
+       (build_x_compound_expr): Likewise.
+       (build_x_modify_expr): Likewise.
+       * cxx-pretty-print.c (get_fold_operator): Adjust after
+       FOLD_EXPR_OP change.
+       * decl.c (start_preparsed_function): Don't call
+       push_operator_bindings.
+       * decl2.c (grok_array_decl): Adjust calls to build_new_op.
+       * method.c (do_one_comp): Likewise.
+       (build_comparison_op): Likewise.
+       * module.cc (trees_out::type_node): Handle DEPENDENT_OPERATOR_TYPE.
+       (trees_in::tree_node): Likewise.
+       * name-lookup.c (lookup_name): Revert r11-2876 change.
+       (op_unqualified_lookup): Remove.
+       (maybe_save_operator_binding): Remove.
+       (discard_operator_bindings): Remove.
+       (push_operator_bindings): Remove.
+       * name-lookup.h (maybe_save_operator_binding): Remove.
+       (push_operator_bindings): Remove.
+       (discard_operator_bindings): Remove.
+       * parser.c (cp_parser_unary_expression): Adjust calls to build_x_*.
+       (cp_parser_binary_expression): Likewise.
+       (cp_parser_assignment_expression): Likewise.
+       (cp_parser_expression): Likewise.
+       (do_range_for_auto_deduction): Likewise.
+       (cp_convert_range_for): Likewise.
+       (cp_parser_perform_range_for_lookup): Likewise.
+       (cp_parser_template_argument): Likewise.
+       (cp_parser_omp_for_cond): Likewise.
+       (cp_parser_omp_for_incr): Likewise.
+       (cp_parser_omp_for_loop_init): Likewise.
+       (cp_convert_omp_range_for): Likewise.
+       (cp_finish_omp_range_for): Likewise.
+       * pt.c (fold_expression): Adjust after FOLD_EXPR_OP change. Pass
+       templated_operator_saved_lookups to build_x_*.
+       (tsubst_omp_for_iterator): Adjust call to build_x_modify_expr.
+       (tsubst_expr) <case COMPOUND_EXPR>: Pass
+       templated_operator_saved_lookups to build_x_*.
+       (tsubst_copy_and_build) <case INDIRECT_REF>: Likewise.
+       <case tcc_unary>: Likewise.
+       <case tcc_binary>: Likewise.
+       <case MODOP_EXPR>: Likewise.
+       <case COMPOUND_EXPR>: Likewise.
+       (dependent_type_p_r): Return true for DEPENDENT_OPERATOR_TYPE.
+       * ptree.c (cxx_print_type): Handle DEPENDENT_OPERATOR_TYPE.
+       * semantics.c (finish_increment_expr): Adjust call to
+       build_x_unary_op.
+       (finish_unary_op_expr): Likewise.
+       (handle_omp_for_class_iterator): Adjust calls to build_x_*.
+       (finish_omp_cancel): Likewise.
+       (finish_unary_fold_expr): Use build_dependent_operator_type.
+       (finish_binary_fold_expr): Likewise.
+       * tree.c (cp_free_lang_data): Don't call discard_operator_bindings.
+       * typeck.c (rationalize_conditional_expr): Adjust call to
+       build_x_binary_op.
+       (op_unqualified_lookup): Define.
+       (build_dependent_operator_type): Define.
+       (build_x_indirect_ref): Add lookups parameter and use
+       build_dependent_operator_type.
+       (build_x_binary_op): Likewise.
+       (build_x_array_ref): Likewise.
+       (build_x_unary_op): Likewise.
+       (build_x_compound_expr_from_list): Adjust call to
+       build_x_compound_expr.
+       (build_x_compound_expr_from_vec): Likewise.
+       (build_x_compound_expr): Add lookups parameter and use
+       build_dependent_operator_type.
+       (cp_build_modify_expr): Adjust call to build_new_op.
+       (build_x_modify_expr): Add lookups parameter and use
+       build_dependent_operator_type.
+       * typeck2.c (build_x_arrow): Adjust call to build_new_op.
+
+2021-12-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/102229
+       * decl.c (check_decltype_auto): New.
+       (grokdeclarator): Call it.
+       * pt.c (do_auto_deduction): Don't check decltype(auto) here.
+
+2021-12-15  Martin Liska  <mliska@suse.cz>
+
+       PR c++/103713
+       * tree.c (maybe_warn_parm_abi): Fix warning word splitting.
+
+2021-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103704
+       * semantics.c (finish_omp_target_clauses_r): For OMP_CLAUSEs
+       just walk subtrees.
+
+2021-12-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103408
+       * constraint.cc (type_deducible_p): Remove workaround for
+       non-templated requires-expressions.
+       (normalize_placeholder_type_constraints): Likewise.
+       * cp-tree.h (current_template_depth): Define.
+       (PROCESSING_REAL_TEMPLATE_DECL): Inspect current_template_depth
+       instead of the magnitude of processing_template_decl.
+       * decl.c (start_decl): Likewise.
+       (grokfndecl): Likewise.
+       (grokvardecl): Likewise.
+       (grokdeclarator): Likewise.
+       * friend.c (make_friend_class): Likewise.  Calculate
+       friend_depth differently when called at instantiation time
+       instead of parse time.
+       (do_friend): Likewise.
+       * parser.c (cp_parser_requires_clause_expression): Remove
+       workaround for lambdas inside constraints.
+       (cp_parser_constraint_expression): Likewise.
+       (cp_parser_requires_expression): Likewise.
+       (synthesize_implicit_template_parm): Add to current_template_parms
+       before calling process_template_parm.
+       * pt.c (inline_needs_template_parms): Inspect
+       current_template_depth instead of the magnitude of
+       processing_template_decl.
+       (push_inline_template_parms_recursive): Likewise.
+       (maybe_begin_member_template_processing): Likewise.
+       (begin_template_parm_list): Likewise.
+       (process_template_parm): Likewise.
+       (end_template_parm_list): Likewise.
+       (push_template_decl): Likewise.
+       (add_inherited_template_parms): Likewise.
+       (instantiate_class_template_1): Don't adjust
+       processing_template_decl around the call to make_friend_class.
+       adjust_processing_template_decl to adjust_template_depth.  Set
+       current_template_parms instead of processing_template_decl when
+       adjust_template_depth.
+       (make_auto_1): Inspect current_template_depth instead of the
+       magnitude of processing_template_decl.
+       (splice_late_return_type): Likewise.
+       * semantics.c (fixup_template_type): Likewise.
+
+2021-12-14  Patrick Palka  <ppalka@redhat.com>
+
+       * call.c (build_new_op): Use releasing_vec for arglist.  Declare
+       conv in the scope it's used.
+
+2021-12-14  Patrick Palka  <ppalka@redhat.com>
+
+       * cp-tree.h (COMPOUND_EXPR_OVERLOADED): Remove.
+       * pt.c (build_non_dependent_expr): Don't inspect the flag.
+       * tree.c (build_min_non_dep): Don't set the flag.
+
+2021-12-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * error.c: Define INCLUDE_MEMORY instead of
+       INCLUDE_UNIQUE_PTR.
+       * lex.c: Likewise.
+       * name-lookup.c: Likewise.
+       (class namespace_limit_reached): Use std::unique_ptr instead of
+       gnu::unique_ptr.
+       (suggest_alternatives_for): Use std::move instead of gnu::move.
+       (suggest_alternatives_in_other_namespaces): Likewise.
+       * parser.c: Define INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR.
+
+2021-12-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103401
+       * parser.c (cp_parser_decltype): Clear
+       auto_is_implicit_function_template_parm_p.
+       (cp_parser_type_id_1): Give errors only when !cp_parser_simulate_error.
+       (cp_parser_parameter_declaration): Clear
+       auto_is_implicit_function_template_parm_p after parsing the
+       decl-specifier-seq.
+       (cp_parser_sizeof_operand): Clear
+       auto_is_implicit_function_template_parm_p.
+
+2021-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR pch/71934
+       * module.cc (nop): Add another void * argument.
+       * name-lookup.c (resort_member_name_cmp): Pass the same pointer twice
+       to resort_data.new_value.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * parser.c (struct omp_dim): New struct type for use inside
+       cp_parser_omp_var_list_no_open.
+       (cp_parser_omp_var_list_no_open): Allow multiple levels of array and
+       component accesses in array section base-pointer expression.
+       (cp_parser_omp_all_clauses): Set 'allow_deref' to true in call to
+       cp_parser_omp_var_list for to/from clauses.
+       * semantics.c (handle_omp_array_sections_1): Extend allowed range
+       of base-pointer expressions involving INDIRECT/MEM/ARRAY_REF and
+       POINTER_PLUS_EXPR.
+       (handle_omp_array_sections): Adjust pointer map generation of
+       references.
+       (finish_omp_clauses): Extend allowed ranged of expressions
+       involving INDIRECT/MEM/ARRAY_REF and POINTER_PLUS_EXPR.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR middle-end/92120
+       * cp-tree.h (finish_omp_target): New declaration.
+       (finish_omp_target_clauses): Likewise.
+       * parser.c (cp_parser_omp_clause_map): Adjust call to
+       cp_parser_omp_var_list_no_open to set 'allow_deref' argument to true.
+       (cp_parser_omp_target): Factor out code, adjust into calls to new
+       function finish_omp_target.
+       * pt.c (tsubst_expr): Add call to finish_omp_target_clauses for
+       OMP_TARGET case.
+       * semantics.c (handle_omp_array_sections_1): Add handling to create
+       'this->member' from 'member' FIELD_DECL. Remove case of rejecting
+       'this' when not in declare simd.
+       (handle_omp_array_sections): Likewise.
+       (finish_omp_clauses): Likewise. Adjust to allow 'this[]' in OpenMP
+       map clauses. Handle 'A->member' case in map clauses. Remove case of
+       rejecting 'this' when not in declare simd.
+       (struct omp_target_walk_data): New struct for walking over
+       target-directive tree body.
+       (finish_omp_target_clauses_r): New function for tree walk.
+       (finish_omp_target_clauses): New function.
+       (finish_omp_target): New function.
+
+2021-12-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95009
+       * typeck.c (is_bitfield_expr_with_lowered_type) <case MODIFY_EXPR>:
+       Handle UNARY_PLUS_EXPR, NEGATE_EXPR, NON_LVALUE_EXPR, BIT_NOT_EXPR,
+       P*CREMENT_EXPR too.
+
+2021-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-tree.h (is_byte_access_type_not_plain_char): Declare.
+       * tree.c (is_byte_access_type_not_plain_char): New function.
+       * constexpr.c (clear_uchar_or_std_byte_in_mask): New function.
+       (cxx_eval_bit_cast): Don't error about padding bits if target
+       type is unsigned char or std::byte, instead return no clearing
+       ctor.  Use clear_uchar_or_std_byte_in_mask.
+
+2021-12-03  Jason Merrill  <jason@redhat.com>
+
+       * error.c (current_dump_scope): New variable.
+       (dump_scope): Check it.
+       (dump_function_decl): Set it.
+
+2021-12-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103403
+       * cp-gimplify.c (cp_fold): Don't recurse if maybe_undo_parenthesized_ref
+       doesn't change its argument.
+       * pt.c (do_auto_deduction): Don't strip REFERENCE_REF_P trees if they
+       are REF_PARENTHESIZED_P.  Use stripped_init when checking for
+       id-expression.
+       * semantics.c (force_paren_expr): Set REF_PARENTHESIZED_P on
+       REFERENCE_REF_P trees too.
+       (maybe_undo_parenthesized_ref): Remove dead code.
+
+2021-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94490
+       * pt.c (expand_integer_pack): Call
+       instantiate_non_dependent_expr_sfinae.
+
+2021-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103408
+       * cxx-pretty-print.c (pp_cxx_parameter_mapping): Print "<unnamed>"
+       rather than crash on an unnamed template parameter.
+
+2021-12-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103310
+       * constexpr.c (cxx_eval_binary_expression): Use
+       fold_binary_initializer_loc if manifestly cxeval.
+
+2021-11-30  Jason Merrill  <jason@redhat.com>
+
+       * cp-gimplify.c (genericize_if_stmt): Always build a COND_EXPR.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * logic.cc (cnf_size_r): Remove unreachable and inconsistently
+       placed gcc_unreachable ()s.
+       * pt.c (iterative_hash_template_arg): Remove unreachable
+       gcc_unreachable and return.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * semantics.c (finish_omp_clauses): Remove "gang reduction on an
+       orphan loop" checking.
+
+2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * semantics.c (finish_omp_clauses): Emit an error on orphan
+       OpenACC gang reductions.
+
+2021-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-gimplify.c (cp_fold_r): Perform folding of
+       std::source_location::current() calls here...
+       (cp_fold): ... rather than here.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * parser.c (cp_parser_postfix_expression): Remove
+       unreachable code.
+       * pt.c (tsubst_expr): Remove unreachable breaks.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/103021
+       * Make-lang.in: Use ETAGS variable in TAGS target.
+
+2021-11-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100493
+       * parser.c (cp_parser_lambda_introducer): In C++17, don't
+       diagnose a redundant 'this' capture alongside a by-copy
+       capture default unless -pedantic.  Move the diagnostic into
+       -Wc++20-extensions and adjust wording accordingly.
+
+2021-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * cp-tree.h (struct ptrmem_cst): Add locus member.
+       (PTRMEM_CST_LOCATION): Define.
+       * tree.c (make_ptrmem_cst): Set PTRMEM_CST_LOCATION to input_location.
+       (cp_expr_location): Return PTRMEM_CST_LOCATION for PTRMEM_CST.
+       * typeck.c (build_x_unary_op): Overwrite PTRMEM_CST_LOCATION for
+       PTRMEM_CST instead of calling maybe_wrap_with_location.
+       (cp_build_addr_expr_1): Don't diagnose taking address of
+       immediate functions here.  Instead when taking their address make
+       sure the returned ADDR_EXPR has EXPR_LOCATION set.
+       (expand_ptrmemfunc_cst): Copy over PTRMEM_CST_LOCATION to ADDR_EXPR's
+       EXPR_LOCATION.
+       (convert_for_assignment): Use cp_expr_loc_or_input_loc instead of
+       EXPR_LOC_OR_LOC.
+       * pt.c (tsubst_copy): Use build1_loc instead of build1.  Ensure
+       ADDR_EXPR of immediate function has EXPR_LOCATION set.
+       * cp-gimplify.c (cp_fold_r): Diagnose taking address of immediate
+       functions here.  For consteval if don't walk THEN_CLAUSE.
+       (cp_genericize_r): Move evaluation of calls to
+       std::source_location::current from here to...
+       (cp_fold): ... here.  Don't assert calls to immediate functions must
+       be source_location_current_p, instead only constant evaluate
+       calls to source_location_current_p.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101180
+       * pt.c (apply_late_template_attributes): Return early if there are no
+       dependent attributes.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102611
+       * cp-tree.h (build_op_subscript): Implement P2128R6
+       - Multidimensional subscript operator.  Declare.
+       (class releasing_vec): Add release method.
+       (grok_array_decl): Remove bool argument, add vec<tree, va_gc> **
+       and tsubst_flags_t arguments.
+       (build_min_non_dep_op_overload): Declare another overload.
+       * parser.c (cp_parser_parenthesized_expression_list_elt): New function.
+       (cp_parser_postfix_open_square_expression): Mention C++23 syntax in
+       function comment.  For C++23 parse zero or more than one initializer
+       clauses in expression list, adjust grok_array_decl caller.
+       (cp_parser_parenthesized_expression_list): Use
+       cp_parser_parenthesized_expression_list_elt.
+       (cp_parser_builtin_offsetof): Adjust grok_array_decl caller.
+       * decl.c (grok_op_properties): For C++23 don't check number
+       of arguments of operator[].
+       * decl2.c (grok_array_decl): Remove decltype_p argument, add
+       index_exp_list and complain arguments.  If index_exp is NULL,
+       handle *index_exp_list as the subscript expression list.
+       * tree.c (build_min_non_dep_op_overload): New overload.
+       * call.c (add_operator_candidates, build_over_call): Adjust comments
+       for removal of build_new_op_1.
+       (build_op_subscript): New function.
+       * pt.c (tsubst_copy_and_build_call_args): New function.
+       (tsubst_copy_and_build) <case ARRAY_REF>: If second
+       operand is magic CALL_EXPR with ovl_op_identifier (ARRAY_REF)
+       as CALL_EXPR_FN, tsubst CALL_EXPR arguments including expanding
+       pack expressions in it and call grok_array_decl instead of
+       build_x_array_ref.
+       <case CALL_EXPR>: Use tsubst_copy_and_build_call_args.
+       * semantics.c (handle_omp_array_sections_1): Adjust grok_array_decl
+       caller.
+
+2021-11-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103347
+       * cp-tree.h (struct cp_declarator): Add a location_t member.
+       (maybe_warn_cpp0x): Add a location_t parameter with a default argument.
+       (loc_or_input_loc): New.
+       * decl.c (grokdeclarator): Use loc_or_input_loc.  Pass init_loc down
+       to maybe_warn_cpp0x.
+       * error.c (maybe_warn_cpp0x): Add a location_t parameter.  Use it.
+       * parser.c (make_declarator): Initialize init_loc.
+       (cp_parser_member_declaration): Set init_loc.
+       (cp_parser_condition): Likewise.
+       (cp_parser_init_declarator): Likewise.
+       (cp_parser_parameter_declaration): Likewise.
+
+2021-11-24  Jason Merrill  <jason@redhat.com>
+
+       * call.c
+       * decl.c
+       * name-lookup.c:
+       Use auto_cond_timevar instead of timevar_cond_start/stop.
+       Remove wrapper functions.
+
+2021-11-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96507
+       * typeck.c (warn_for_null_address): Handle reference members.
+
+2021-11-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/19808
+       * init.c (emit_mem_initializers): Don't add is_really_empty_class
+       members into uninitialized.
+
+2021-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * semantics.c (clone_omp_udr): Don't initialize
+       id.transform_lang_insert_block.
+       * optimize.c (clone_body): Likewise.
+
+2021-11-22  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (build_x_unary_op): Set address location.
+       (convert_member_func_to_ptr): Handle location wrapper.
+       * pt.c (convert_nontype_argument): Likewise.
+
+2021-11-22  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (check_return_expr): Only strip location wrapper during
+       NRV handling.
+
+2021-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101731
+       * parser.c (cp_parser_late_parsing_oacc_routine): Set
+       parser->oacc_routine->fndecl_seen here, rather than ...
+       (cp_finalize_oacc_routine): ... here.  Don't error if
+       parser->oacc_routine->fndecl_seen is set for FUNCTION_DECLs.
+
+2021-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103349
+       * constexpr.c (potential_constant_expression_1): Punt on OMP_MASKED.
+
+2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101180
+       * pt.c (apply_late_template_attributes): Temporarily override
+       current_optimize_pragma, optimization_current_node,
+       current_target_pragma and scope_chain->omp_declare_target_attribute,
+       so that cplus_decl_attributes doesn't add implicit attributes.
+
+2021-11-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/33925
+       PR c/102867
+       * typeck.c (warn_for_null_address): Suppress warnings for code
+       resulting from macro expansion.
+
+2021-11-19  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-11-19  Martin Liska  <mliska@suse.cz>
+
+       * parser.c (add_debug_begin_stmt): Use option directly.
+
+2021-11-19  Patrick Palka  <ppalka@redhat.com>
+
+       * tree.c (cp_walk_subtrees) <case *_CAST_EXPR>: Don't explicitly
+       walk the operands.
+
+2021-11-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94376
+       * lambda.c (lambda_capture_field_type): Simplify by handling the
+       is_this case first.  When capturing by-value a capture proxy,
+       consider the type of the corresponding field instead.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR c++/103326
+       * pt.c (tsubst_copy): Handle VECTOR_CST.
+
+2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/70796
+       * cp-gimplify.c (cp_gimplify_arg): New function.
+       (cp_gimplify_expr): Use cp_gimplify_arg instead of gimplify_arg,
+       pass true as last argument to it if there are any following
+       arguments in strong evaluation order with side-effects.
+
+2021-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/19808
+       PR c++/96121
+       * init.c (perform_member_init): Remove a forward declaration.
+       Walk the initializer using find_uninit_fields_r.  New parameter
+       to track uninitialized fields.  If a member is initialized,
+       remove it from the hash set.
+       (perform_target_ctor): Return the initializer.
+       (struct find_uninit_data): New class.
+       (find_uninit_fields_r): New function.
+       (find_uninit_fields): New function.
+       (emit_mem_initializers): Keep and initialize a set holding fields
+       that are not initialized.  When handling delegating constructors,
+       walk the constructor tree using find_uninit_fields_r.  Also when
+       initializing base clases.  Pass uninitialized down to
+       perform_member_init.
+
+2021-11-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103198
+       * pt.c (any_template_parm_r): Walk the TREE_TYPE of a dummy
+       object.
+
+2021-11-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103049
+       * semantics.c (finish_compound_literal): Accept C++23 auto{x}.
+       * typeck2.c (build_functional_cast_1): Accept C++23 auto(x).
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: Disable the
+       -fpermissive fallback for C++20 template-id ADL, but keep the
+       diagnostic.
+
+2021-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * decl.c (finish_function): Update use of decl_replaceable_p.
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99911
+       * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: Don't diagnose
+       name lookup failure if the arguments to an unresolved template
+       name are still dependent.
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102670
+       * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: When looking
+       for an identifier callee in the koenig_p case, also look through
+       TEMPLATE_ID_EXPR.  Use tsubst_copy to substitute through the
+       template arguments of the template-id.
+
+2021-11-18  Matthias Kretz  <m.kretz@gsi.de>
+
+       * constexpr.c (cxx_eval_constant_expression): Handle PAREN_EXPR
+       via cxx_eval_constant_expression.
+       * cp-objcp-common.c (names_builtin_p): Handle
+       RID_BUILTIN_ASSOC_BARRIER.
+       * cp-tree.h: Adjust TREE_LANG_FLAG documentation to include
+       PAREN_EXPR in REF_PARENTHESIZED_P.
+       (REF_PARENTHESIZED_P): Add PAREN_EXPR.
+       * parser.c (cp_parser_postfix_expression): Handle
+       RID_BUILTIN_ASSOC_BARRIER.
+       * pt.c (tsubst_copy_and_build): If the PAREN_EXPR is not a
+       parenthesized initializer, build a new PAREN_EXPR.
+       * semantics.c (force_paren_expr): Simplify conditionals. Set
+       REF_PARENTHESIZED_P on PAREN_EXPR.
+       (maybe_undo_parenthesized_ref): Test PAREN_EXPR for
+       REF_PARENTHESIZED_P.
+
+2021-11-18  Martin Liska  <mliska@suse.cz>
+
+       * parser.c (add_debug_begin_stmt): Use option directly.
+
+2021-11-16  Jason Merrill  <jason@redhat.com>
+
+       * ptree.c (cxx_print_xnode): Handle PTRMEM_CST.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (struct lang_decl_fn): Add implicit_constexpr.
+       (decl_implicit_constexpr_p): New.
+       * class.c (type_maybe_constexpr_destructor): Use
+       TYPE_HAS_TRIVIAL_DESTRUCTOR and maybe_constexpr_fn.
+       (finalize_literal_type_property): Simplify.
+       * constexpr.c (is_valid_constexpr_fn): Check for dtor.
+       (maybe_save_constexpr_fundef): Try to set DECL_DECLARED_CONSTEXPR_P
+       on inlines.
+       (cxx_eval_call_expression): Use maybe_constexpr_fn.
+       (maybe_constexpr_fn): Handle flag_implicit_constexpr.
+       (var_in_maybe_constexpr_fn): Use maybe_constexpr_fn.
+       (potential_constant_expression_1): Likewise.
+       (decl_implicit_constexpr_p): New.
+       * decl.c (validate_constexpr_redeclaration): Allow change with
+       -fimplicit-constexpr.
+       (grok_special_member_properties): Use maybe_constexpr_fn.
+       * error.c (dump_function_decl): Don't print 'constexpr'
+       if it's implicit.
+       * Make-lang.in (check-c++-all): Update.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * typeck2.c (split_nonconstant_init_1): Handle flexarrays better.
+
+2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (OMP_TARGET_CLAUSE_MASK): Add
+       PRAGMA_OMP_CLAUSE_THREAD_LIMIT.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * call.c (perform_implicit_conversion_flags): Use the location of
+       the argument.
+       * lambda.c (build_lambda_object): Set location on the TARGET_EXPR.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (maybe_save_constexpr_fundef): Also check whether the
+       body of a constructor is potentially constant.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * semantics.c (is_this_parameter): Check DECL_HAS_VALUE_EXPR_P
+       instead of is_capture_proxy.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/70690
+       * init.c (build_vec_init): Check default_init_uninitialized_part in
+       C++20.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (maybe_constant_value): Don't evaluate
+       in an unevaluated operand unless manifestly const-evaluated.
+       (fold_non_dependent_expr_template): Likewise.
+       * decl.c (compute_array_index_type_loc): This context is
+       manifestly constant-evaluated.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_eval_thunk_call): Error instead of ICE
+       on vbase thunk to constexpr function.
+
+2021-11-11  Patrick Palka  <ppalka@redhat.com>
+
+       * parser.c (cp_parser_template_argument_list): Use auto_vec
+       instead of manual memory management.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_num_teams): Parse optional
+       lower-bound and store it into OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR.
+       Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead of
+       OMP_CLAUSE_NUM_TEAMS_EXPR.
+       (cp_parser_omp_target): For OMP_CLAUSE_NUM_TEAMS evaluate before
+       combined target teams even lower-bound expression.
+       * semantics.c (finish_omp_clauses): Handle
+       OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR of OMP_CLAUSE_NUM_TEAMS clause.
+       * pt.c (tsubst_omp_clauses): Likewise.
+       (tsubst_expr): For OMP_CLAUSE_NUM_TEAMS evaluate before
+       combined target teams even lower-bound expression.
+
+2021-11-09  Marek Polacek  <polacek@redhat.com>
+
+       * class.c (default_init_uninitialized_part): Use
+       next_initializable_field.
+       * method.c (walk_field_subobs): Skip unnamed bit-fields.
+
+2021-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103114
+       * parser.c (cp_parser_userdef_numeric_literal): Use fold_build2
+       with COMPLEX_EXPR arg instead of build_complex, use build_zero_cst
+       instead of fold_convert from integer_zero_node.
+
+2021-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98394
+       PR c++/85846
+       * parser.c (cp_parser_placeholder_type_specifier): Declare
+       static.  Don't override tentative to false when tmpl is a
+       concept-id with empty argument list.  Don't emit a "does not
+       constrain a type" error when tentative.
+
+2021-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100652
+       * pt.c (push_template_decl): Check for bare parameter packs in
+       the argument list of a variable template partial specialization.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * ptree.c (cxx_print_xnode): Add more space to pfx array.
+
+2021-11-04  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_array_conv): Use range-for.
+       (build_complex_conv): Likewise.
+       * constexpr.c (clear_no_implicit_zero)
+       (reduced_constant_expression_p): Likewise.
+       * decl.c (cp_complete_array_type): Likewise.
+       * decl2.c (mark_vtable_entries): Likewise.
+       * pt.c (iterative_hash_template_arg):
+       (invalid_tparm_referent_p, unify)
+       (type_dependent_expression_p): Likewise.
+       * typeck.c (build_ptrmemfunc_access_expr): Likewise.
+
+2021-11-03  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/103031
+       * cvt.c (convert_init): New function.
+
+2021-11-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * decl.c: Include langhooks-def.h.
+       (cxx_simulate_record_decl): New function.
+       * cp-objcp-common.h (cxx_simulate_record_decl): Declare.
+       (LANG_HOOKS_SIMULATE_RECORD_DECL): Override.
+
+2021-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102820
+       * semantics.c (maybe_zero_constructor_nelts): New function.
+       (finish_compound_literal): Implement DR2351 - void{}.
+       If type is cv void and compound_literal has no elements, return
+       void_node.  If type is cv void and compound_literal might have no
+       elements after expansion, handle it like other dependent compound
+       literals.
+
+2021-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102933
+       * parser.c (cp_parser_simple_type_specifier): Adjust diagnostic
+       for using auto in parameter declaration.
+       * pt.c (extract_autos_r): Ignore CTAD placeholders.
+       (extract_autos): Use range-based for.
+       (do_auto_deduction): Use extract_autos only for the concepts TS
+       and not also for standard concepts.
+       (type_uses_auto): Likewise with for_each_template_parm.
+       (check_auto_in_tmpl_args): Just return false outside of the
+       concepts TS.  Simplify.
+
+2021-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102780
+       * constexpr.c (potential_constant_expression_1) <case TRUTH_*_EXPR>:
+       When tf_error isn't set, preemptively check potentiality of the
+       second operand before performing trial evaluation of the first
+       operand.
+       (potential_constant_expression_1): When tf_error is set, first check
+       potentiality quietly and return true if successful, otherwise
+       proceed noisily to give errors.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102854
+       * semantics.c (handle_omp_for_class_iterator,
+       finish_omp_for): Adjust c_omp_check_loop_iv_exprs caller.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * constexpr.c (cxx_eval_outermost_constant_expr): Perform
+       find_immediate_fndecl discovery if is_consteval or
+       in_immediate_context () rather than if is_consteval, t != r
+       and not in immediate function's body.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * cp-tree.h (saved_scope): Document that consteval_if_p member
+       is also set while processing immediate invocation.
+       (in_immediate_context): Declare.
+       * call.c (in_immediate_context): New function.
+       (immediate_invocation_p): Use it.
+       (struct in_consteval_if_p_temp_override): New class.
+       (build_over_call): Temporarily set in_consteval_if_p for processing
+       immediate invocation arguments.
+       * typeck.c (cp_build_addr_expr_1): Diagnose taking address of
+       an immediate method.  Use t instead of TREE_OPERAND (arg, 1).
+       Use in_immediate_context function.
+       * constexpr.c (find_immediate_fndecl): Handle PTRMEM_CST
+       which refers to immediate function decl.
+
+2021-10-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/102617
+       * parser.c (cp_parser_for): Maybe call cp_parser_init_statement
+       twice.  Warn about range-based for loops with initializer here.
+       (cp_parser_init_statement): Don't duplicate code.  Allow
+       alias-declaration in init-statement.
+
+2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/102663
+       * Make-lang.in: Add dummy c++.install-dvi target.
+
+2021-10-20  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
+       Pass true for declarator_p.
+       (cp_parser_nested_name_specifier_opt): Only look through
+       TYPENAME_TYPE if check_dependency_p is false.
+
+2021-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102642
+       * name-lookup.c (push_local_extern_decl_alias): Don't call
+       set_decl_tls_model on error_mark_node.
+       * decl.c (make_rtl_for_nonlocal_decl): Don't call
+       set_user_assembler_name on error_mark_node.
+       * parser.c (cp_parser_oacc_declare): Ignore DECL_LOCAL_DECL_ALIAS
+       if it is error_mark_node.
+       (cp_parser_omp_declare_target): Likewise.
+
+2021-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102786
+       * constexpr.c (cxx_eval_constant_expression): Don't reject
+       INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE.
+
+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
+       c_omp_mark_declare_variant to omp_mark_declare_variant.
+       * parser.c (cp_finish_omp_declare_variant): Change call from
+       c_omp_check_context_selector to omp_check_context_selector.
+
+2021-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_structured_block): Remove disallow_omp_attrs
+       argument.
+       (cp_parser_omp_structured_block_sequence): New function.
+       (cp_parser_omp_scan_loop_body): Use it.
+       (cp_parser_omp_sections_scope): Likewise.
+
+2021-10-08  Martin Liska  <mliska@suse.cz>
+
+       * constexpr.c (maybe_warn_about_constant_value): Use new macro
+       OPTION_SET_P.
+       * decl.c (redeclaration_error_message): Likewise.
+       (cxx_init_decl_processing): Likewise.
+
+2021-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102640
+       * parser.c (handle_omp_declare_target_clause): New function.
+       (cp_parser_omp_declare_target): Use it.
+
+2021-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/61355
+       * pt.c (convert_template_argument): Perform array/function to
+       pointer conversion on the substituted type of an NTTP.
+
+2021-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99904
+       * pt.c (is_compatible_template_arg): Set processing_template_decl
+       around tsubst_constraint_info.
+
+2021-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/102482
+       * init.c (maybe_warn_list_ctor): Do not warn for a reference to
+       a non-const std::initializer_list.
+
+2021-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102612
+       * parser.c (cp_parser_jump_statement): Implement C++23 P2242R3.
+       Allow goto expressions in constexpr function bodies for C++23.
+       Adjust error message for older standards to mention it.
+       * decl.c (start_decl): Allow static and thread_local declarations
+       in constexpr function bodies for C++23.  Adjust error message for
+       older standards to mention it.
+       * constexpr.c (ensure_literal_type_for_constexpr_object): Allow
+       declarations of variables with non-literal type in constexpr function
+       bodies for C++23.  Adjust error message for older standards to mention
+       it.
+       (cxx_eval_constant_expression) <case DECL_EXPR>: Diagnose declarations
+       of initialization of static or thread_local vars.
+       (cxx_eval_constant_expression) <case GOTO_EXPR>: Diagnose goto
+       statements for C++23.
+       (potential_constant_expression_1) <case DECL_EXPR>: Swap the
+       CP_DECL_THREAD_LOCAL_P and TREE_STATIC checks.
+       (potential_constant_expression_1) <case LABEL_EXPR>: Allow labels for
+       C++23.  Adjust error message for older standards to mention it.
+
+2021-10-06  Jakub Jelinek  <jakub@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/98712
+       PR c++/102490
+       * cp-tree.h (maybe_synthesize_method): Declare.
+       * method.c (genericize_spaceship): Use
+       LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of
+       LOOKUP_NORMAL for flags.
+       (comp_info): Remove defining member.  Add complain, code, retcat.
+       (comp_info::comp_info): Adjust.
+       (do_one_comp): Split out from build_comparison_op.   Use
+       LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of
+       LOOKUP_NORMAL for flags.
+       (build_comparison_op): Add defining argument. Adjust comp_info
+       construction.  Use defining instead of info.defining.  Assert that
+       if defining, ctype is a complete type.  Walk base binfos.
+       (synthesize_method, maybe_explain_implicit_delete,
+       explain_implicit_non_constexpr): Adjust build_comparison_op callers.
+       (maybe_synthesize_method): New function.
+       * class.c (check_bases_and_members): Don't call defaulted_late_check
+       for sfk_comparison.
+       (finish_struct_1): Call it here instead after class has been
+       completed.
+       * pt.c (maybe_instantiate_noexcept): Call maybe_synthesize_method
+       instead of synthesize_method.
+
+2021-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102548
+       * tree.c (apply_identity_attributes): Fix handling of the
+       case where an attribute in the list doesn't affect type
+       identity but some attribute before it does.
+
+2021-10-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102547
+       * constexpr.c (potential_constant_expression_1): Handle
+       NONTYPE_ARGUMENT_PACK.
+
+2021-10-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98930
+       * pt.c (has_value_dependent_address): Return true for a static
+       local variable from a function template.
+
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * typeck.c (cp_build_binary_op): Call do_warn_array_compare.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/101765
+       * coroutines.cc (register_local_var_uses): Emit a sorry if
+       we encounter a VLA in the coroutine local variables.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99710
+       * coroutines.cc (await_statement_walker): Report an error if
+       an await expression is found in a handler body.
+
+2021-10-03  John Eivind Helset  <jehelset@gmail.com>
+
+       PR c++/100673
+       * coroutines.cc (build_co_await): Guard against NULL
+       await_suspend types.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/101133
+       * coroutines.cc (build_co_await): Mark co_await_expr trees
+       with TREE_SIDE_EFFECTS, also mark any containing expression.
+       (finish_co_await_expr): Mark type-dependent co_await_expr
+       trees with TREE_SIDE_EFFECTS.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99575
+       * coroutines.cc (build_co_await): Strip NOPs from
+       candidate awaiter expressions before testing to see
+       if they need a temporary.
+
+2021-10-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c/102103
+       * typeck.c (warn_for_null_address): Enhance.
+       (cp_build_binary_op): Call it also for member pointers.
+
+2021-10-01  qingzhe huang  <nickhuang99@hotmail.com>
+
+       PR c++/101783
+       * tree.c (cp_build_qualified_type_real): Exclude typedef from
+       error.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR sanitizer/102515
+       * typeck.c (cp_build_binary_op): Call ubsan_instrument_division
+       for division even for SANITIZE_SI_OVERFLOW.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_order): Set
+       OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102496
+       * name-lookup.c (push_local_extern_decl_alias): Return early even for
+       tls vars with non-dependent type when processing_template_decl.  For
+       CP_DECL_THREAD_LOCAL_P vars call set_decl_tls_model on alias.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102535
+       * method.c (is_xible_helper): Don't exit early for multi-arg
+       ctors in C++20.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       * parser.c (cp_parser_trait_expr): Call nreverse on the reversed
+       list of trailing arguments.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95567
+       * method.c (build_comparison_op): Skip DECL_VIRTUAL_P fields.
+
+2021-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99909
+       * pt.c (coerce_template_template_parms): Keep
+       processing_template_decl set around the call to unify as well.
+
+2021-09-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/102454
+       * coroutines.cc (analyze_fn_parms): Clean up synthetic names for
+       unnamed function params.
+       (morph_fn_to_coro): Do not try to set a guard variable for param
+       DTORs in the ramp, unless we have exceptions active.
+
+2021-09-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102479
+       * pt.c (rewrite_template_parm): Handle single-level tsubst_args.
+       Avoid a tree cycle when assigning the DECL_TEMPLATE_PARMS for a
+       rewritten ttp.
+       (alias_ctad_tweaks): Set current_template_parms accordingly.
+
+2021-09-23  Michel Morin  <mimomorin@gmail.com>
+
+       * parser.c (cp_keyword_starts_decl_specifier_p): Do not
+       handle RID_ATTRIBUTE.
+       (cp_parser_constructor_declarator_p): Remove now-redundant
+       checks.
+       (cp_parser_lambda_declarator_opt): Likewise.
+
+2021-09-23  Michel Morin  <mimomorin@gmail.com>
+
+       PR c++/77565
+       * parser.c (cp_keyword_starts_decl_specifier_p): Handle more
+       decl-specifiers (typedef/inline/cv/explicit/virtual/friend).
+
+2021-09-23  Patrick Palka  <ppalka@redhat.com>
+
+       * ptree.c (cxx_print_decl): Dump the DECL_TEMPLATE_RESULT of
+       a TEMPLATE_DECL.  Dump the DECL_TEMPLATE_INFO rather than just
+       printing its pointer value.
+
+2021-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102413
+       * parser.c (cp_parser_omp_directive_args): Diagnose if omp::directive
+       is not followed by a balanced token sequence starting with open paren.
+
+2021-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       DR 2446
+       PR c++/102412
+       * constexpr.c (cxx_eval_constant_expression)
+       <case TEMPLATE_ID_EXPR>: Check value_dependent_expression_p
+       instead of processing_template_decl.
+       * pt.c (value_dependent_expression_p) <case TEMPLATE_ID_EXPR>:
+       Return true only if any_dependent_template_arguments_p.
+       (instantiation_dependent_r) <case CALL_EXPR>: Remove this case.
+       <case TEMPLATE_ID_EXPR>: Likewise.
+
+2021-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_allocate): Parse allocate clause
+       modifiers.
+       * semantics.c (finish_omp_clauses) <OMP_CLAUSE_ALLOCATE>: Perform
+       semantic analysis of OMP_CLAUSE_ALLOCATE_ALIGN.
+       * pt.c (tsubst_omp_clauses) <case OMP_CLAUSE_ALLOCATE>: Handle
+       also OMP_CLAUSE_ALLOCATE_ALIGN.
+
+2021-09-22  Barrett Adair  <barrettellisadair@gmail.com>
+
+       * pt.c (find_parm_usage_r): New walk_tree callback to find func
+       parms.
+       (any_template_arguments_need_structural_equality_p): New special
+       case.
+
+2021-09-21  wangpc  <pc.wang@linux.alibaba.com>
+
+       * decl.c (start_decl_1): Move verify_type_context to ...
+       (cp_finish_decl): ... to here.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_order): Parse unconstrained
+       and reproducible modifiers.
+       (OMP_DISTRIBUTE_CLAUSE_MASK): Add order clause.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_default): Handle private and
+       firstprivate arguments, adjust diagnostics on unknown argument.
+       * cp-gimplify.c (cxx_omp_finish_clause): Handle OMP_CLAUSE_PRIVATE.
+
+2021-09-18  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (dependentish_scope_p): Declare.
+       * pt.c (dependentish_scope_p): New.
+       * parser.c (cp_parser_lookup_name): Return a TYPENAME_TYPE
+       for lookup of a type in a dependent object.
+       (cp_parser_template_id): Handle TYPENAME_TYPE.
+       (cp_parser_template_name): If we're looking for a type,
+       a name followed by < names a template.
+
+2021-09-18  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h: Fix typo in LANG_FLAG list.
+
+2021-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-tree.h (finish_omp_atomic): Add r and weak arguments.
+       * parser.c (cp_parser_omp_atomic): Update function comment for
+       OpenMP 5.1 atomics, parse OpenMP 5.1 atomics and fail, compare and
+       weak clauses.
+       * semantics.c (finish_omp_atomic): Add r and weak arguments, handle
+       them, handle COND_EXPRs.
+       * pt.c (tsubst_expr): Adjust for COND_EXPR forms that
+       finish_omp_atomic can now produce.
+
+2021-09-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98486
+       * constraint.cc (get_normalized_constraints_from_decl): Always
+       look up constraints using the most general template.
+       * decl.c (grokdeclarator): Set constraints on a static data
+       member template.
+       * pt.c (determine_specialization): Check constraints on a
+       variable template.
+
+2021-09-16  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (await_statement_walker): Code cleanups.
+
+2021-09-16  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_eval_outermost_constant_expr): Use
+       protected_set_expr_location.
+
+2021-09-15  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101904
+       * call.c (build_user_type_conversion_1): Add tf_conv to complain.
+       (add_candidates): When in a SFINAE context, instead of adding a
+       candidate to bad_fns just mark it unviable.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (parsing_function_declarator): Declare.
+       * name-lookup.c (set_decl_context_in_fn): Use it.
+       * parser.c (cp_parser_direct_declarator): Use it.
+       (parsing_function_declarator): New.
+
+2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/88578
+       PR c++/102295
+       * typeck2.c (split_nonconstant_init_1): Don't throw away empty
+       initializers of flexible array members if they have non-zero type
+       size.
+
+2021-09-15  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102050
+       * decl.c (grok_special_member_properties): Set
+       TYPE_HAS_COPY_CTOR, TYPE_HAS_DEFAULT_CONSTRUCTOR
+       and TYPE_HAS_LIST_CTOR independently from each other.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (cxx_init_decl_processing): Only warn about odd
+       interference sizes if they were specified with --param.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/48396
+       * cp-tree.h (enum cp_tree_index): Remove CPTI_TYPE_INFO_PTR_TYPE.
+       (type_info_ptr_type): Remove.
+       * rtti.c (init_rtti_processing): Don't predeclare std::type_info.
+       (typeid_ok_p): Check for null const_type_info_type_node.
+       (type_info_ptr_type, get_void_tinfo_ptr): New fns.
+       (get_tinfo_decl_dynamic, get_tinfo_ptr): Use them.
+       (ptr_initializer, ptm_initializer, get_pseudo_ti_init): Use them.
+       (get_tinfo_desc): Use const_ptr_type_node.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_template_name): Move object type.
+       (cp_parser_pre_parsed_nested_name_specifier): Likewise.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_unqualified_id): Only complain about ~A<T> in
+       a declarator.
+
+2021-09-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (struct param_info): Add copy_var.
+       (build_actor_fn): Use simplified param references.
+       (register_param_uses): Likewise.
+       (rewrite_param_uses): Likewise.
+       (analyze_fn_parms): New function.
+       (coro_rewrite_function_body): Add proxies for the fn
+       parameters to the outer bind scope of the rewritten code.
+       (morph_fn_to_coro): Use simplified version of param ref.
+
+2021-09-14  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (coro_resume_fn_id, coro_destroy_fn_id,
+       coro_promise_id, coro_frame_needs_free_id, coro_resume_index_id,
+       coro_self_handle_id, coro_actor_continue_id,
+       coro_frame_i_a_r_c_id): New.
+       (coro_init_identifiers): Initialize new name identifiers.
+       (coro_promise_type_found_p): Use pre-built identifiers.
+       (struct await_xform_data): Remove unused fields.
+       (transform_await_expr): Delete code that is now unused.
+       (build_actor_fn): Simplify interface, use pre-built identifiers and
+       remove transforms that are no longer needed.
+       (build_destroy_fn): Use revised field names.
+       (register_local_var_uses): Use pre-built identifiers.
+       (coro_rewrite_function_body): Simplify interface, use pre-built
+       identifiers.  Generate proxy vars in the outer bind expr scope for the
+       implementation state that we wish to expose.
+       (morph_fn_to_coro): Adjust comments for new variable names, use pre-
+       built identifiers.  Remove unused code to generate frame entries for
+       the implementation state.  Adjust call for build_actor_fn.
+
+2021-09-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102163
+       * constexpr.c (cxx_eval_call_expression): After evaluating a
+       subobject constructor call for an empty union member, produce a
+       side effect that makes sure the member gets activated.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102295
+       * decl.c (layout_var_decl): For aggregates ending with a flexible
+       array member, add the size of the initializer for that member to
+       DECL_SIZE and DECL_SIZE_UNIT.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102305
+       * method.c (is_xible_helper): Call complete_type on to.
+
+2021-09-14  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (cxx_init_decl_processing): Don't warn if L1 cache line
+       size is smaller than maxalign.
+
+2021-09-13  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (maybe_warn_about_constant_value):
+       Complain about std::hardware_destructive_interference_size.
+       (cxx_eval_constant_expression): Call it.
+       * decl.c (cxx_init_decl_processing): Check
+       --param *-interference-size values.
+
+2021-09-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101764
+       * cp-tree.h (PACK_EXPANSION_FORCE_EXTRA_ARGS_P): New accessor
+       macro.
+       * pt.c (has_extra_args_mechanism_p): New function.
+       (find_parameter_pack_data::found_extra_args_tree_p): New data
+       member.
+       (find_parameter_packs_r): Set ppd->found_extra_args_tree_p
+       appropriately.
+       (make_pack_expansion): Set PACK_EXPANSION_FORCE_EXTRA_ARGS_P if
+       ppd.found_extra_args_tree_p.
+       (use_pack_expansion_extra_args_p): Return true if there were
+       unsubstituted packs and PACK_EXPANSION_FORCE_EXTRA_ARGS_P.
+       (tsubst_pack_expansion): Pass the pack expansion to
+       use_pack_expansion_extra_args_p.
+
+2021-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_atomic): Allow acq_rel on atomic read/write
+       and acq_rel/acquire clauses on update.
+       * semantics.c (finish_omp_atomic): Adjust c_finish_omp_atomic caller.
+
+2021-09-08  Richard Biener  <rguenther@suse.de>
+
+       PR c++/102228
+       * cp-tree.h (ANON_AGGR_TYPE_FIELD): New define.
+       * decl.c (fixup_anonymous_aggr): Wipe RTTI info put in
+       place on invalid code.
+       * decl2.c (reset_type_linkage): Guard CLASSTYPE_TYPEINFO_VAR
+       access.
+       * module.cc (trees_in::read_class_def): Likewise.  Reconstruct
+       ANON_AGGR_TYPE_FIELD.
+       * semantics.c (finish_member_declaration): Populate
+       ANON_AGGR_TYPE_FIELD for anon aggregate typed members.
+       * typeck.c (lookup_anon_field): Remove DFS search and return
+       ANON_AGGR_TYPE_FIELD directly.
+
+2021-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100495
+       * constexpr.c (maybe_save_constexpr_fundef): Save body even for
+       constexpr deleting dtors.
+       (cxx_eval_call_expression): Don't use DECL_CLONED_FUNCTION for
+       deleting dtors.
+
+2021-09-07  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * parser.c (cp_parser_omp_flush): Parse 'seq_cst' clause on 'flush'
+       directive.
+       * semantics.c (finish_omp_flush): Handle MEMMODEL_SEQ_CST.
+
+2021-09-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (register_local_var_uses): Do not mangle
+       frame entries for the outermost scope.  Record the outer
+       scope as nesting depth 0.
+
+2021-09-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (coro_build_artificial_var): New.
+       (build_actor_fn): Use var builder, rename vars to use
+       implementation namespace.
+       (coro_rewrite_function_body): Likewise.
+       (morph_fn_to_coro): Likewise.
+
+2021-09-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (transform_local_var_uses): Record
+       frame offset expressions as DECL_VALUE_EXPRs instead of
+       rewriting them.
+
+2021-09-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101904
+       * call.c (build_this_conversion): New function, split out from
+       add_function_candidate.
+       (add_function_candidate): New parameter shortcut_bad_convs.
+       Document it.  Use build_this_conversion.  Stop at the first bad
+       argument conversion when shortcut_bad_convs is true.
+       (add_template_candidate_real): New parameter shortcut_bad_convs.
+       Use build_this_conversion to check the 'this' conversion before
+       attempting deduction.  When the rejection reason code is
+       rr_bad_arg_conversion, pass -1 instead of 0 as the viable
+       parameter to add_candidate.  Pass 'convs' to add_candidate.
+       (add_template_candidate): New parameter shortcut_bad_convs.
+       (add_template_conv_candidate): Pass false as shortcut_bad_convs
+       to add_template_candidate_real.
+       (add_candidates): Prefer to shortcut bad conversions during
+       overload resolution under the assumption that we'll eventually
+       see a strictly viable candidate.  If this assumption turns out
+       to be false, re-process the non-strictly viable candidates
+       without shortcutting those bad conversions.
+
+2021-09-03  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (limit_bad_template_recursion): Suppress -Wunused for decls
+       we decide not to instantiate.
+
+2021-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102024
+       * class.c (build_base_field): Use SET_DECL_FIELD_ABI_IGNORED
+       instead of writing to DECL_FIELD_ABI_IGNORED.
+       (layout_class_type): Likewise.  In the place where zero-width
+       bitfields used to be removed, use
+       SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD on those fields instead.
+
+2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * call.c (build_over_call): Handle unavailable state in addition to
+       deprecation.
+       * class.c (type_build_ctor_call): Likewise.
+       (type_build_dtor_call): Likewise.
+       * cp-tree.h: Rename cp_warn_deprecated_use to
+       cp_handle_deprecated_or_unavailable.
+       * decl.c (duplicate_decls): Merge unavailability.
+       (grokdeclarator): Handle unavailability in addition to deprecation.
+       (type_is_unavailable): New.
+       (grokparms): Handle unavailability in addition to deprecation.
+       * decl.h (enum deprecated_states): Add
+       UNAVAILABLE_DEPRECATED_SUPPRESS.
+       * decl2.c (cplus_decl_attributes): Propagate unavailability to
+       templates.
+       (cp_warn_deprecated_use): Rename to ...
+       (cp_handle_deprecated_or_unavailable): ... this and amend to handle
+       the unavailable case. It remains a warning in the case of deprecation
+       but becomes an error in the case of unavailability.
+       (cp_warn_deprecated_use_scopes): Handle unavailability.
+       (mark_used): Likewise.
+       * parser.c (cp_parser_template_name): Likewise.
+       (cp_parser_template_argument): Likewise.
+       (cp_parser_parameter_declaration_list): Likewise.
+       * typeck.c (build_class_member_access_expr): Likewise.
+       (finish_class_member_access_expr): Likewise.
+       * typeck2.c (build_functional_cast_1): Likewise.
+
+2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (build_actor_fn): Add begin/finish clauses
+       to the initial test in the actor function.
+
+2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (await_statement_walker): Use build_stmt and
+       add_stmt instead of build1 and finish_expr_stmt.
+
+2021-08-31  Jason Merrill  <jason@redhat.com>
+
+       * coroutines.cc (flatten_await_stmt): Fix copyo.
+       * decl.c (reshape_init_class): Simplify.
+       * module.cc (module_state::read_language): Add null check.
+       * parser.c (build_range_temp): Avoid type_uses_auto.
+       (cp_parser_class_specifier_1): Add null check.
+
+2021-08-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/12672
+       * call.c (rejection_reason::call_varargs_p): Rename this
+       previously unused member to ...
+       (rejection_reason::least_p): ... this.
+       (arity_rejection): Add least_p parameter.
+       (add_template_candidate_real): When there are explicit
+       template arguments, check that the arity of the call agrees with
+       the arity of the function before attempting deduction.
+       (print_arity_information): Add least_p parameter.
+       (print_z_candidate): Adjust call to print_arity_information.
+
+2021-08-31  Martin Sebor  <msebor@redhat.com>
+
+       * parser.c (cp_parser_selection_statement): Use direct initialization
+       instead of copy.
+
+2021-08-31  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (explain_invalid_constexpr_fn): Use iloc_sentinel.
+
+2021-08-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92193
+       * cp-tree.h (FNDECL_MANIFESTLY_CONST_EVALUATED): New.
+       * constexpr.c (cxx_eval_call_expression): Set it.
+       * pt.c (neglectable_inst_p): Check it.
+
+2021-08-31  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_device): Parse device-modifiers 'device_num'
+       and 'ancestor' in 'target device' clauses.
+       * semantics.c (finish_omp_clauses): Error handling. Constant device ids must
+       evaluate to '1' if 'ancestor' is used.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96286
+       * cp-tree.h (struct lang_type): Add erroneous bit-field.
+       (CLASSTYPE_ERRONEOUS): New.
+       * pt.c (limit_bad_template_recursion): Check it.
+       (instantiate_class_template_1): Set it.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_eval_outermost_constant_expr): Copy
+       expr location to result.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101460
+       * cp-tree.h (cxx_constant_value_sfinae): Declare.
+       * constexpr.c (cxx_constant_value_sfinae): New.
+       * pt.c (fold_targs_r, maybe_fold_fn_template_args): New.
+       (tsubst_copy_and_build) [CALL_EXPR]: Call
+       maybe_fold_fn_template_args.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_simple_requirement): Warn about missing
+       requires.
+
+2021-08-27  Jason Merrill  <jason@redhat.com>
+
+       * typeck2.c (build_x_arrow): Do set TREE_TYPE when operand is
+       a dependent pointer.
+
+2021-08-25  Andrew Pinski  <apinski@marvell.com>
+
+       PR c++/66590
+       * cp-objcp-common.c (cxx_block_may_fallthru): Handle
+       CLEANUP_STMT for the case which will be try/finally.
+
+2021-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102019
+       * init.c (build_value_init_noctor): Ignore unnamed zero-width
+       bitfields.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_num_tasks,
+       cp_parser_omp_clause_grainsize): Parse the optional strict: modifier.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_handle_statement_omp_attributes): Determine if
+       PRAGMA_OMP_ERROR directive is C_OMP_DIR_STANDALONE.
+       (cp_parser_omp_error): New function.
+       (cp_parser_pragma): Handle PRAGMA_OMP_ERROR.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_depend_sink): Reject spurious
+       comma at the end of list.  Don't parse closing paren here...
+       (cp_parser_omp_clause_depend): ... but here instead.
+
+2021-08-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101803
+       * cp-tree.h (CONSTRUCTOR_IS_PAREN_INIT): Clarify comment.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_requires): Don't call cp_lexer_nth_token_is
+       and optionally consume token if current token is CPP_EOF,
+       CPP_PRAGMA_EOL or CPP_CLOSE_PAREN.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_nothing): Use cp_parser_require_pragma_eol
+       instead of cp_parser_skip_to_pragma_eol.
+
+2021-08-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101344
+       PR c++/101803
+       * cp-tree.h (CONSTRUCTOR_BRACES_ELIDED_P): Define.
+       * decl.c (reshape_init_r): Set it.
+       * pt.c (collect_ctor_idx_types): Recurse into a sub-CONSTRUCTOR
+       iff CONSTRUCTOR_BRACES_ELIDED_P.
+
+2021-08-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101883
+       * pt.c (convert_template_argument): Pass LOOKUP_IMPLICIT to
+       do_auto_deduction.
+
+2021-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_nothing): New function.
+       (cp_parser_pragma): Handle PRAGMA_OMP_NOTHING.
+
+2021-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_ordered): Return true instead of
+       false after emitting errors that the directive is not allowed in
+       pragma_stmt context.
+       (cp_parser_omp_target_update): Likewise.
+       (cp_parser_omp_cancellation_point): Change return type from void to
+       bool, return false if the directive should be ignored in pragma_stmt
+       contexts.
+       (cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data):
+       Change return type from tree to bool, return false if the
+       directive should be ignored in pragma_stmt contexts.
+       (cp_parser_omp_target): Adjust callers of cp_parser_omp_target_*_data,
+       return their result directly.
+       (cp_parser_pragma): For PRAGMA_OMP_CANCELLATION_POINT return what
+       cp_parser_omp_cancellation_point returned.  Return true instead of
+       false after emitting errors that the directive is not allowed in
+       pragma_stmt context.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101539
+       * cp-tree.h (enum cp_trait_kind): Add CPTK_IS_LAYOUT_COMPATIBLE.
+       (enum cp_built_in_function): Add CP_BUILT_IN_IS_CORRESPONDING_MEMBER.
+       (fold_builtin_is_corresponding_member, next_common_initial_seqence,
+       layout_compatible_type_p): Declare.
+       * parser.c (cp_parser_primary_expression): Handle
+       RID_IS_LAYOUT_COMPATIBLE.
+       (cp_parser_trait_expr): Likewise.
+       * cp-objcp-common.c (names_builtin_p): Likewise.
+       * constraint.cc (diagnose_trait_expr): Handle
+       CPTK_IS_LAYOUT_COMPATIBLE.
+       * decl.c (cxx_init_decl_processing): Register
+       __builtin_is_corresponding_member builtin.
+       * constexpr.c (cxx_eval_builtin_function_call): Handle
+       CP_BUILT_IN_IS_CORRESPONDING_MEMBER builtin.
+       * semantics.c (is_corresponding_member_union,
+       is_corresponding_member_aggr, fold_builtin_is_corresponding_member):
+       New functions.
+       (trait_expr_value): Handle CPTK_IS_LAYOUT_COMPATIBLE.
+       (finish_trait_expr): Likewise.
+       * typeck.c (next_common_initial_seqence, layout_compatible_type_p):
+       New functions.
+       * cp-gimplify.c (cp_gimplify_expr): Fold
+       CP_BUILT_IN_IS_CORRESPONDING_MEMBER.
+       (cp_fold): Likewise.
+       * tree.c (builtin_valid_in_constant_expr_p): Handle
+       CP_BUILT_IN_IS_CORRESPONDING_MEMBER.
+       * cxx-pretty-print.c (pp_cxx_trait_expression): Handle
+       CPTK_IS_LAYOUT_COMPATIBLE.
+       * class.c (remove_zero_width_bit_fields): Remove.
+       (layout_class_type): Don't call it.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (OMP_SCOPE_CLAUSE_MASK): Define.
+       (cp_parser_omp_scope): New function.
+       (cp_parser_omp_construct, cp_parser_pragma): Handle PRAGMA_OMP_SCOPE.
+       * pt.c (tsubst_expr): Handle OMP_SCOPE.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_clause_name): Parse filter clause name.
+       (cp_parser_omp_clause_filter): New function.
+       (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FILTER.
+       (OMP_MASKED_CLAUSE_MASK): Define.
+       (cp_parser_omp_masked): New function.
+       (cp_parser_omp_parallel): Handle parallel masked.
+       (cp_parser_omp_construct, cp_parser_pragma): Handle PRAGMA_OMP_MASKED.
+       * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_FILTER.
+       * pt.c (tsubst_omp_clauses): Likewise.
+       (tsubst_expr): Handle OMP_MASKED.
+
+2021-08-12  Sergei Trofimovich  <siarheit@google.com>
+
+       PR c++/101219
+       * pt.c (tsubst_copy_and_build): Use build_ptrmemfunc_access_expr
+       to construct ptrmemfunc expression instantiation.
+
+2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_proc_bind): Accept
+       'primary' as alias for 'master'.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-tree.h (omp_declare_target_attr): New type.
+       (struct saved_scope): Change type of omp_declare_target_attribute
+       from int to vec<omp_declare_target_attr, va_gc> * and move it.
+       * parser.c (cp_parser_omp_declare_target): Instead of
+       incrementing scope_chain->omp_declare_target_attribute, push
+       a struct containing parser->lexer->in_omp_attribute_pragma to
+       the vector.
+       (cp_parser_omp_end_declare_target): Instead of decrementing
+       scope_chain->omp_declare_target_attribute, pop a structure
+       from it.  Diagnose mismatching declare target vs.
+       end declare target syntax.
+       * semantics.c (finish_translation_unit): Use vec_safe_length
+       and vec_safe_truncate on scope_chain->omp_declare_target_attributes.
+       * decl2.c (cplus_decl_attributes): Use vec_safe_length
+       on scope_chain->omp_declare_target_attributes.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_lambda_body): Add temp overrides
+       for parser->{omp_declare_simd,oacc_routine,omp_attrs_forbidden_p}.
+       (cp_parser_statement): Restore parser->omp_attrs_forbidden_p for
+       cp_parser_declaration_statement.
+       (cp_parser_default_argument): Add temp override for
+       parser->omp_attrs_forbidden_p.
+       (cp_parser_late_parsing_omp_declare_simd): Diagnose declare simd
+       or declare variant in attribute syntax on a declaration immediately
+       following an OpenMP construct in pragma syntax.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94162
+       * method.c (cat_tag_for): Return cc_last for !CLASS_TYPE_P
+       or for classes not in std namespace.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * name-lookup.c (finish_using_directive): Diagnose omp::directive
+       or omp::sequence attributes on using-directive.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_block_declaration): Call
+       cp_parser_using_directive for C++11 attributes followed by
+       using namespace tokens.
+       (cp_parser_using_directive): Parse C++11 attributes at the start
+       of the directive rather than at the end, only parse GNU attributes
+       at the end.
+
+2021-08-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101663
+       * constexpr.c (cxx_eval_store_expression): Handle the lval=true
+       case in the early exit code path for empty stores with mismatched
+       types.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101725
+       DR 2082
+       * cp-tree.h (unevaluated_p): Return true for REQUIRES_EXPR.
+       * decl.c (local_variable_p_walkfn): Don't walk into unevaluated
+       operands.
+       * parser.c (cp_parser_primary_expression) <case CPP_NAME>: Never
+       reject uses of local variables in unevaluated contexts.
+       * tree.c (cp_walk_subtrees) <case REQUIRES_EXPR>: Increment
+       cp_unevaluated_operand.  Use cp_walk_tree directly instead of
+       WALK_SUBTREE to avoid the goto.  Use REQUIRES_EXPR_REQS instead
+       of TREE_OPERAND directly.
+
+2021-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101786
+       * decl2.c (var_defined_without_dynamic_init): Return true for
+       DECL_DECLARED_CONSTINIT_P with complete type and trivial destructor.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79501
+       * parser.c (maybe_adjust_declarator_for_dguide): New, split
+       out from ...
+       (cp_parser_init_declarator): ... here.
+       (cp_parser_member_declaration): Use it.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/89062
+       * parser.c (cp_parser_parameter_declaration_list): Don't call
+       grokdeclarator if cp_parser_error_occurred.
+       (cp_parser_parameter_declaration): Simulate an error if we see
+       the beginning of a CTAD form, i.e. if we see an opening brace
+       after the decl-specifier-seq and the type is a CTAD placeholder.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_member_declaration): Move odsd declaration
+       before cp_parser_using_declaration call to avoid errors with
+       GCC 4.8 to 6.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.h (struct cp_omp_declare_simd_data): Remove
+       in_omp_attribute_pragma and clauses members, add loc and attribs.
+       (struct cp_oacc_routine_data): Remove loc member, add clauses
+       member.
+       * parser.c (cp_finalize_omp_declare_simd): New function.
+       (cp_parser_handle_statement_omp_attributes): Mention in
+       function comment the function is used also for
+       attribute-declaration.
+       (cp_parser_handle_directive_omp_attributes): New function.
+       (cp_parser_statement): Don't call
+       cp_parser_handle_statement_omp_attributes if statement doesn't
+       have attribute-specifier-seq at the beginning at all or if
+       if those attributes don't appertain to the statement.
+       (cp_parser_simple_declaration): Call
+       cp_parser_handle_directive_omp_attributes and
+       cp_finalize_omp_declare_simd.
+       (cp_parser_explicit_instantiation): Likewise.
+       (cp_parser_init_declarator): Initialize prefix_attributes
+       only after parsing declarators.
+       (cp_parser_direct_declarator): Call
+       cp_parser_handle_directive_omp_attributes and
+       cp_finalize_omp_declare_simd.
+       (cp_parser_member_declaration): Likewise.
+       (cp_parser_single_declaration): Likewise.
+       (cp_parser_omp_declare_simd): Don't initialize
+       data.in_omp_attribute_pragma, instead initialize
+       data.attribs[0] and data.attribs[1].
+       (cp_finish_omp_declare_variant): Remove
+       in_omp_attribute_pragma argument, instead use
+       parser->lexer->in_omp_attribute_pragma.
+       (cp_parser_late_parsing_omp_declare_simd): Adjust
+       cp_finish_omp_declare_variant caller.  Handle attribute-syntax
+       declare simd/variant.
+
+2021-08-06  Tamar Christina  <tamar.christina@arm.com>
+
+       * cp-objcp-common.h (cxx_simulate_enum_decl): Pass vec<> by pointer.
+       * decl.c (cxx_simulate_enum_decl): Likewise.
+
+2021-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101759
+       * parser.c (cp_parser_default_argument): Temporarily override
+       parser->omp_declare_simd and parser->oacc_routine to NULL.
+
+2021-08-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100828
+       * logic.cc (formula::formula): Use emplace_back instead of
+       push_back.
+       (formula::branch): Insert a copy of m_current directly after
+       m_current instead of at the end of the list.
+       (formula::erase): Define.
+       (decompose_formula): Remove.
+       (decompose_antecedents): Remove.
+       (decompose_consequents): Remove.
+       (derive_proofs): Remove.
+       (max_problem_size): Remove.
+       (diagnose_constraint_size): Remove.
+       (subsumes_constraints_nonnull): Rewrite directly in terms of
+       decompose_clause and derive_proof, interleaving decomposition
+       with implication checking.  Remove limit on constraint complexity.
+       Use formula::erase to free the current clause before moving on to
+       the next one.
+
+2021-07-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96636
+       * decl.c (fixup_anonymous_aggr): Clear TYPE_NEEDS_CONSTRUCTING
+       after error.
+
+2021-07-31  Jason Merrill  <jason@redhat.com>
+
+       * ptree.c (cxx_print_type) [TYPE_PACK_EXPANSION]: Also print
+       PACK_EXPANSION_PATTERN.
+
+2021-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_declaration): Handle OpenMP directives
+       in attribute-declaration.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101539
+       * cp-tree.h (enum cp_trait_kind): Add
+       CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
+       (enum cp_built_in_function): Add
+       CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS.
+       (fold_builtin_is_pointer_inverconvertible_with_class): Declare.
+       * parser.c (cp_parser_primary_expression): Handle
+       RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
+       (cp_parser_trait_expr): Likewise.
+       * cp-objcp-common.c (names_builtin_p): Likewise.
+       * constraint.cc (diagnose_trait_expr): Handle
+       CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
+       * decl.c (cxx_init_decl_processing): Register
+       __builtin_is_pointer_interconvertible_with_class builtin.
+       * constexpr.c (cxx_eval_builtin_function_call): Handle
+       CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS builtin.
+       * semantics.c (pointer_interconvertible_base_of_p,
+       first_nonstatic_data_member_p,
+       fold_builtin_is_pointer_inverconvertible_with_class): New functions.
+       (trait_expr_value): Handle CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
+       (finish_trait_expr): Likewise.  Formatting fix.
+       * cp-gimplify.c (cp_gimplify_expr): Fold
+       CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS.  Call
+       fndecl_built_in_p just once.
+       (cp_fold): Likewise.
+       * tree.c (builtin_valid_in_constant_expr_p): Handle
+       CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS.  Call
+       fndecl_built_in_p just once.
+       * cxx-pretty-print.c (pp_cxx_trait_expression): Handle
+       CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
+
+2021-07-30  Jason Merrill  <jason@redhat.com>
+
+       * class.c (finish_struct_anon): Improve comment.
+       * decl.c (fixup_anonymous_aggr): Reject anonymous struct
+       with bases.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_statement): Rollback attributes not just
+       when std_attrs is non-NULL, but whenever
+       cp_parser_std_attribute_spec_seq parsed any tokens.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101582
+       * parser.c (cp_parser_skip_std_attribute_spec_seq): Add a forward
+       declaration.
+       (cp_parser_declaration): Parse empty-declaration and
+       attribute-declaration.
+       (cp_parser_toplevel_declaration): Don't parse empty-declaration here.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       * init.c: Include new header.
+
+2021-07-27  Marek Polacek  <polacek@redhat.com>
+
+       DR 1512
+       PR c++/99701
+       * cp-gimplify.c (cp_fold): Remove {LE,LT,GE,GT_EXPR} from
+       a switch.
+       * typeck.c (cp_build_binary_op): Reject ordered comparison
+       of two null pointers.
+
+2021-07-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.h (struct cp_lexer): Add orphan_p member.
+       * parser.c (cp_parser_statement): Don't change in_omp_attribute_pragma
+       upon restart from CPP_PRAGMA handling.  Fix up condition when a lexer
+       should be destroyed and adjust saved_tokens if it records tokens from
+       the to be destroyed lexer.
+       (cp_parser_omp_section_scan): New function.
+       (cp_parser_omp_scan_loop_body): Use it.  If
+       parser->lexer->in_omp_attribute_pragma, allow optional comma
+       after scan.
+       (cp_parser_omp_sections_scope): Use cp_parser_omp_section_scan.
+
+2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.h (struct cp_parser): Add omp_attrs_forbidden_p member.
+       * parser.c (cp_parser_handle_statement_omp_attributes): Diagnose
+       mixing of attribute and pragma syntax directives when seeing
+       omp::directive if parser->omp_attrs_forbidden_p or if attribute syntax
+       directives are followed by OpenMP pragma.
+       (cp_parser_statement): Clear parser->omp_attrs_forbidden_p after
+       the cp_parser_handle_statement_omp_attributes call.
+       (cp_parser_omp_structured_block): Add disallow_omp_attrs argument,
+       if true, set parser->omp_attrs_forbidden_p.
+       (cp_parser_omp_scan_loop_body, cp_parser_omp_sections_scope): Pass
+       false as disallow_omp_attrs to cp_parser_omp_structured_block.
+       (cp_parser_omp_parallel, cp_parser_omp_task): Set
+       parser->omp_attrs_forbidden_p.
+
+2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_name): Handle 'nohost'.
+       (cp_parser_oacc_all_clauses): Handle 'PRAGMA_OACC_CLAUSE_NOHOST'.
+       (OACC_ROUTINE_CLAUSE_MASK): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
+       * pt.c (tsubst_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'.
+       * semantics.c (finish_omp_clauses): Likewise.
+
+2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101516
+       * semantics.c (finish_omp_reduction_clause): Also call
+       complete_type_or_else and return true if it fails.
+
+2021-07-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95520
+       * coroutines.cc (struct coroutine_info): Add fields for
+       actor and destroy function decls.
+       (to_ramp): New.
+       (coro_get_ramp_function): New.
+       (coro_get_actor_function): New.
+       (coro_get_destroy_function): New.
+       (act_des_fn): Set up mapping between ramp, actor and
+       destroy functions.
+       (morph_fn_to_coro): Adjust interface to the builder for
+       helper function decls.
+       * cp-tree.h (DECL_ACTOR_FN, DECL_DESTROY_FN, DECL_RAMP_FN,
+       JOIN_STR): New.
+       * mangle.c (write_encoding): Handle coroutine helpers.
+       (write_unqualified_name): Handle lambda coroutine helpers.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101233
+       * pt.c (alias_ctad_tweaks): Clear cp_unevaluated_operand for
+       substituting DECL_ARGUMENTS.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       DR 960
+       PR c++/99664
+       * search.c (check_final_overrider): Compare TYPE_REF_IS_RVALUE
+       when the return types are references.
+
+2021-07-16  Marek Polacek  <polacek@redhat.com>
+
+       * typeck2.c (check_narrowing): Don't suppress the pedantic error
+       in system headers.
+
+2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101443
+       * cp-gimplify.c (cp_fold): For comparisons with NULLPTR_TYPE
+       operands, fold them right away to true or false.
+
+2021-07-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101095
+       * cp-objcp-common.c (cp_common_init_ts): Mark types as types.
+       (cp_tree_size): Remove redundant entries.
+
+2021-07-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88252
+       * cp-tree.h (TEMPLATE_TYPE_PARM_FOR_CLASS): Remove.
+       * pt.c (push_template_decl): Remove TEMPLATE_TYPE_PARM_FOR_CLASS
+       handling.
+       (redeclare_class_template): Likewise.
+       (forwarding_reference_p): Define.
+       (maybe_adjust_types_for_deduction): Use it instead.  Add 'tparms'
+       parameter.
+       (unify_one_argument): Pass tparms to
+       maybe_adjust_types_for_deduction.
+       (try_one_overload): Likewise.
+       (unify): Likewise.
+       (rewrite_template_parm): Remove TEMPLATE_TYPE_PARM_FOR_CLASS
+       handling.
+
+2021-07-14  Jason Merrill  <jason@redhat.com>
+
+       * class.c (struct find_final_overrider_data): Use auto_vec.
+       (find_final_overrider): Remove explicit release.
+       * coroutines.cc (process_conditional): Use auto_vec.
+       * cp-gimplify.c (struct cp_genericize_data): Use auto_vec.
+       (cp_genericize_tree): Remove explicit release.
+       * parser.c (cp_parser_objc_at_property_declaration): Use
+       auto_delete_vec.
+       * semantics.c (omp_reduction_lookup): Use auto_vec.
+
+2021-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101371
+       * constexpr.c (cxx_eval_array_reference): Create a new .object
+       and .ctor for the non-aggregate non-scalar case too when
+       value-initializing.
+
+2021-07-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79501
+       PR c++/100983
+       * decl.c (grokfndecl): Don't require that deduction guides are
+       declared at namespace scope.  Check that class-scope deduction
+       guides have the same access as the member class template.
+       (grokdeclarator): Pretend class-scope deduction guides are static.
+       * search.c (lookup_member): Don't use a BASELINK for (class-scope)
+       deduction guides.
+
+2021-07-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/82110
+       * init.c (build_aggr_init): Return error_mark_node if
+       expand_aggr_init_1 returns false.
+       (expand_default_init): Change return type to bool.  Return false
+       on error, true on success.
+       (expand_aggr_init_1): Likewise.
+
+2021-07-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101098
+       * decl.c (function_requirements_equivalent_p): Only compare
+       trailing requirements on a specialization.
+
+2021-07-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc (build_actor_fn): Move common code to
+       act_des_fn.
+       (build_destroy_fn): Likewise.
+       (act_des_fn): Build the void return here.  Ensure that the
+       source location matches the original function.
+
+2021-07-09  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * coroutines.cc
+       (coro_rewrite_function_body): Connect the replacement
+       function block to the block nest correctly.
+
+2021-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101181
+       * constraint.cc (tsubst_requires_expr): Pass complain/in_decl to
+       add_extra_args.
+       * cp-tree.h (add_extra_args): Add complain/in_decl parameters.
+       * pt.c (build_extra_args): Make a copy of args.
+       (add_extra_args): Add complain/in_decl parameters.  Enable the
+       code for handling the case where the extra arguments are
+       dependent.
+       (tsubst_pack_expansion): Pass complain/in_decl to
+       add_extra_args.
+       (tsubst_template_args): Handle missing template arguments.
+       (tsubst_expr) <case IF_STMT>: Pass complain/in_decl to
+       add_extra_args.
+
+2021-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101247
+       * pt.c (any_template_parm_r) <case TEMPLATE_DECL>: Just walk the
+       DECL_CONTEXT.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/101372
+       * module.cc (identifier): Suppress warning.
+       (module_state::read_macro_maps): Remove warning suppression.
+       (module_state::install_macros): Ditto.
+
+2021-07-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101087
+       * cp-tree.h (unevaluated_p): New.
+       * except.c (check_noexcept_r): Use it.  Don't walk into
+       unevaluated operands.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/101374
+       * module.cc (module_state::read_macro_maps): Temporarily disable
+       -Warray-bounds.
+       (module_state::install_macros): Same.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * error.c (cp_printer):  Remove support for %G and %K.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.h (struct cp_lexer): Add in_omp_attribute_pragma member.
+       (struct cp_omp_declare_simd_data): Likewise.
+       * cp-tree.h (enum cp_tree_index): Add CPTI_OMP_IDENTIFIER.
+       (omp_identifier): Define.
+       * parser.c (cp_parser_skip_to_pragma_eol): Handle
+       in_omp_attribute_pragma CPP_PRAGMA_EOL followed by CPP_EOF.
+       (cp_parser_require_pragma_eol): Likewise.
+       (struct cp_omp_attribute_data): New type.
+       (cp_parser_handle_statement_omp_attributes): New function.
+       (cp_parser_statement): Handle OpenMP directives in statement's
+       attribute-specifier-seq.
+       (cp_parser_omp_directive_args, cp_parser_omp_sequence_args): New
+       functions.
+       (cp_parser_std_attribute): Handle omp::directive and omp::sequence
+       attributes.
+       (cp_parser_omp_all_clauses): If in_omp_attribute_pragma, allow
+       a comma also before the first clause.
+       (cp_parser_omp_allocate): Likewise.
+       (cp_parser_omp_atomic): Likewise.
+       (cp_parser_omp_depobj): Likewise.
+       (cp_parser_omp_flush): Likewise.
+       (cp_parser_omp_ordered): Likewise.
+       (cp_parser_omp_declare_simd): Save in_omp_attribute_pragma
+       into struct cp_omp_declare_simd_data.
+       (cp_finish_omp_declare_variant): Add in_omp_attribute_pragma
+       argument.  If set, allow a comma also before match clause.
+       (cp_parser_late_parsing_omp_declare_simd): If in_omp_attribute_pragma,
+       allow a comma also before the first clause.  Adjust
+       cp_finish_omp_declare_variant caller.
+       (cp_parser_omp_declare_target): If in_omp_attribute_pragma, allow
+       a comma also before the first clause.
+       (cp_parser_omp_declare_reduction_exprs): Likewise.
+       (cp_parser_omp_requires): Likewise.
+       * decl.c (initialize_predefined_identifiers): Initialize
+       omp_identifier.
+       * decl2.c (cplus_decl_attributes): Reject omp::directive and
+       omp::sequence attributes.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/101297
+       * parser.c (cp_parser_omp_atomic): Consume comma only if it
+       appears before a CPP_NAME.
+
+2021-07-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101247
+       * pt.c (any_template_parm_r) <case TEMPLATE_DECL>: Rewrite to
+       use common_enclosing_class and to not depend on the TREE_TYPE
+       of outer levels pointing to the corresponding primary template.
+
+2021-07-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101194
+       * constexpr.c (cxx_eval_array_reference): When the element type
+       is an empty type and the corresponding element is omitted, just
+       return an empty CONSTRUCTOR instead of attempting value
+       initialization.
+
+2021-07-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96204
+       * pt.c (finish_template_variable): Pass the partially
+       instantiated template and its args to instantiate_template.
+       (instantiate_class_template_1): No need to call
+       push_nested_class and pop_nested_class around the call to
+       most_specialized_partial_spec.
+       (instantiate_template_1): Pass the partially instantiated
+       template to lookup_template_variable.
+       (most_specialized_partial_spec):  Use push_access_scope_guard
+       to set the access scope appropriately.  Use
+       deferring_access_check_sentinel to force access to get checked
+       immediately.
+       (instantiate_decl): Just pass the VAR_DECL to
+       most_specialized_partial_spec.
+
+2021-06-30  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (get_normalized_constraints_from_decl): Use
+       push_access_scope_guard instead of push_nested_class_guard.
+       * cp-tree.h (struct push_nested_class_guard): Replace with ...
+       (struct push_access_scope_guard): ... this.
+       * pt.c (push_access_scope): When the argument corresponds to
+       a class type, push the class instead of its context.
+       (pop_access_scope): Adjust accordingly.
+
+2021-06-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100975
+       DR 2397
+       * decl.c (create_array_type_for_decl): Allow array of auto.
+
+2021-06-29  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (instantiate_decl): Only consider partial specializations of
+       actual variable templates.
+
+2021-06-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96204
+       * pt.c (instantiate_class_template_1): Enter the scope of the
+       type when calling most_specialized_partial_spec.
+
+2021-06-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101040
+       PR c++/97566
+       * class.c (is_empty_field): Handle null argument.
+       * constexpr.c (cxx_eval_bare_aggregate): Discard initializer
+       for empty field.
+
+2021-06-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100752
+       * parser.c (cp_parser_declarator): Pass flags down to
+       cp_parser_declarator.  Also pass static_p/member_p.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       * call.c (build_over_call): Replace direct uses of TREE_NO_WARNING
+       with warning_suppressed_p, suppress_warning, and copy_no_warning, or
+       nothing if not necessary.
+       (set_up_extended_ref_temp): Same.
+       * class.c (layout_class_type): Same.
+       * constraint.cc (constraint_satisfaction_value): Same.
+       * coroutines.cc (finish_co_await_expr): Same.
+       (finish_co_yield_expr): Same.
+       (finish_co_return_stmt): Same.
+       (build_actor_fn): Same.
+       (coro_rewrite_function_body): Same.
+       (morph_fn_to_coro): Same.
+       * cp-gimplify.c (genericize_eh_spec_block): Same.
+       (gimplify_expr_stmt): Same.
+       (cp_genericize_r): Same.
+       (cp_fold): Same.
+       * cp-ubsan.c (cp_ubsan_instrument_vptr): Same.
+       * cvt.c (cp_fold_convert): Same.
+       (convert_to_void): Same.
+       * decl.c (wrapup_namespace_globals): Same.
+       (grokdeclarator): Same.
+       (finish_function): Same.
+       (require_deduced_type): Same.
+       * decl2.c (no_linkage_error): Same.
+       (c_parse_final_cleanups): Same.
+       * except.c (expand_end_catch_block): Same.
+       * init.c (build_new_1): Same.
+       (build_new): Same.
+       (build_vec_delete_1): Same.
+       (build_vec_init): Same.
+       (build_delete): Same.
+       * method.c (defaultable_fn_check): Same.
+       * parser.c (cp_parser_fold_expression): Same.
+       (cp_parser_primary_expression): Same.
+       * pt.c (push_tinst_level_loc): Same.
+       (tsubst_copy): Same.
+       (tsubst_omp_udr): Same.
+       (tsubst_copy_and_build): Same.
+       * rtti.c (build_if_nonnull): Same.
+       * semantics.c (maybe_convert_cond): Same.
+       (finish_return_stmt): Same.
+       (finish_parenthesized_expr): Same.
+       (cp_check_omp_declare_reduction): Same.
+       * tree.c (build_cplus_array_type): Same.
+       * typeck.c (build_ptrmemfunc_access_expr): Same.
+       (cp_build_indirect_ref_1): Same.
+       (cp_build_function_call_vec): Same.
+       (warn_for_null_address): Same.
+       (cp_build_binary_op): Same.
+       (unary_complex_lvalue): Same.
+       (cp_build_modify_expr): Same.
+       (build_x_modify_expr): Same.
+       (convert_for_assignment): Same.
+
+2021-06-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98832
+       * pt.c (maybe_aggr_guide): Handle alias templates appropriately.
+
+2021-06-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101182
+       * constraint.cc (evaluate_requires_expr): Adjust function comment.
+       * cp-gimplify.c (cp_genericize_r) <case REQUIRES_EXPR>: Move to ...
+       (cp_fold) <case REQUIRES_EXPR>: ... here.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_omp_split_clauses): Pass C_ORT_OMP_TARGET instead of
+       C_ORT_OMP for clauses on target construct.
+       (OMP_TARGET_CLAUSE_MASK): Add in_reduction clause.
+       (cp_parser_omp_target): For non-combined target add
+       map (always, tofrom:) clauses for OMP_CLAUSE_IN_REDUCTION.  Pass
+       C_ORT_OMP_TARGET to finish_omp_clauses.
+       * semantics.c (handle_omp_array_sections_1): Adjust ort handling
+       for addition of C_ORT_OMP_TARGET and simplify, mapping clauses are
+       never present on C_ORT_*DECLARE_SIMD.
+       (handle_omp_array_sections): Likewise.
+       (finish_omp_clauses): Likewise.  Handle OMP_CLAUSE_IN_REDUCTION
+       on C_ORT_OMP_TARGET, set OMP_CLAUSE_MAP_IN_REDUCTION on
+       corresponding map clauses.
+       * pt.c (tsubst_expr): Pass C_ORT_OMP_TARGET instead of C_ORT_OMP for
+       clauses on target construct.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101174
+       * pt.c (push_access_scope): For artificial deduction guides,
+       set the access scope to that of the constructor.
+       (pop_access_scope): Likewise.
+       (build_deduction_guide): Don't set DECL_CONTEXT on the guide.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/86439
+       * call.c (print_error_for_call_failure): Constify 'args' parameter.
+       (perform_dguide_overload_resolution): Define.
+       * cp-tree.h: (perform_dguide_overload_resolution): Declare.
+       * pt.c (do_class_deduction): Use perform_dguide_overload_resolution
+       instead of build_new_function_call.  Don't use tf_decltype or
+       set cp_unevaluated_operand.  Remove unnecessary NULL_TREE tests.
+
+2021-06-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67302
+       * typeck.c (check_return_expr): Call maybe_undo_parenthesized_ref
+       sooner, before the NRVO handling.
+
+2021-06-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/80431
+       * tree.c (bot_replace): Use convert_to_base to build the
+       conversion to the (morally) virtual base.
+
+2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/100785
+       * typeck.c (cxx_mark_addressable): Diagnose trying to make
+       bit-fields addressable.
+
+2021-06-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101106
+       * decl.c (duplicate_decls): Make 'deleted after first declaration'
+       pedwarn on by default.
+
+2021-06-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101029
+       * init.c (build_vec_init): Preserve the type of base.
+
+2021-06-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101078
+       PR c++/91706
+       * pt.c (tsubst_baselink): Update binfos in non-dependent case.
+
+2021-06-15  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * decl.c (duplicate_decls): Likewise.
+
+2021-06-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/100913
+       * parser.c (cp_parser_omp_clause_affinity): No need to set iterator
+       var in the error case.
+
+2021-06-13  Trevor Saunders  <tbsaunde@tbsaunde.org>
+
+       * constexpr.c (cxx_eval_call_expression): Iterate over vec<>
+       with range based for.
+       (cxx_eval_store_expression): Likewise.
+       (cxx_eval_loop_expr): Likewise.
+       * decl.c (wrapup_namespace_globals): Likewise.
+       (cp_finish_decl): Likewise.
+       (cxx_simulate_enum_decl): Likewise.
+       * parser.c (cp_parser_postfix_expression): Likewise.
+
+2021-06-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101029
+       * init.c (build_vec_init): Shortcut [0] case.
+
+2021-06-12  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (lookup_template_class_1): Shortcut current_class_type.
+
+2021-06-11  Patrick Palka  <ppalka@redhat.com>
+
+       DR 1227
+       PR c++/96560
+       * pt.c (tsubst_arg_types): Rearrange so that we substitute into
+       TYPE_ARG_TYPES in forward order while short circuiting
+       appropriately.  Adjust formatting.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100974
+       * cp-tree.h (struct saved_scope): Add consteval_if_p
+       member.  Formatting fix for the discarded_stmt comment.
+       (in_consteval_if_p, IF_STMT_CONSTEVAL_P): Define.
+       * parser.c (cp_parser_lambda_expression): Temporarily disable
+       in_consteval_if_p when parsing lambda body.
+       (cp_parser_selection_statement): Parse consteval if.
+       * decl.c (struct named_label_entry): Add in_consteval_if member.
+       (level_for_consteval_if): New function.
+       (poplevel_named_label_1, check_previous_goto_1, check_goto): Handle
+       consteval if.
+       * constexpr.c (cxx_eval_builtin_function_call): Clarify in comment
+       why CP_BUILT_IN_IS_CONSTANT_EVALUATED needs to *non_constant_p
+       for !ctx->manifestly_const_eval.
+       (cxx_eval_conditional_expression): For IF_STMT_CONSTEVAL_P evaluate
+       condition as if it was __builtin_is_constant_evaluated call.
+       (potential_constant_expression_1): For IF_STMT_CONSTEVAL_P always
+       recurse on both branches.
+       * cp-gimplify.c (genericize_if_stmt): Genericize IF_STMT_CONSTEVAL_P
+       as the else branch.
+       * pt.c (tsubst_expr) <case IF_STMT>: Copy IF_STMT_CONSTEVAL_P.
+       Temporarily set in_consteval_if_p when recursing on
+       IF_STMT_CONSTEVAL_P then branch.
+       (tsubst_lambda_expr): Temporarily disable
+       in_consteval_if_p when instantiating lambda body.
+       * call.c (immediate_invocation_p): Return false when
+       in_consteval_if_p.
+
+2021-06-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100995
+       * constexpr.c (maybe_constexpr_fn): New.
+       * cp-tree.h (maybe_constexpr_fn): Declare.
+       * semantics.c (find_std_constant_evaluated_r): New.
+       (maybe_warn_for_constant_evaluated): New.
+       (finish_if_stmt_cond): Call it.
+
+2021-06-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67829
+       * pt.c (unify) <case BOUND_TEMPLATE_TEMPLATE_PARM>: When
+       the TEMPLATE_DECL of a BOUND_TEMPLATE_TEMPLATE_PARM argument is
+       a template template parameter, adjust to the
+       TEMPLATE_TEMPLATE_PARAMETER before falling through.
+
+2021-06-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100946
+       * constraint.cc (normalize_placeholder_type_constraints): When
+       normalizing a non-templated return-type-requirement, add a dummy
+       level to initial_parms.
+
+2021-06-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100065
+       * decl.c (grokdeclarator): Store a value-dependent
+       explicit-specifier even for deduction guides.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_string_literal): Adjust diagnostic.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100963
+       * call.c (perfect_conversion_p): Check check_narrowing.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91706
+       * name-lookup.c (get_class_binding): Keep a BASELINK.
+       (set_inherited_value_binding_p): Adjust.
+       * lambda.c (is_lambda_ignored_entity): Adjust.
+       * pt.c (lookup_template_function): Copy a BASELINK before
+       modifying it.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91706
+       * semantics.c (baselink_for_fns): Fix BASELINK_BINFO.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * module.cc (duplicate_hash::hash): Comment out.
+       (trees_in::tree_value): Adjust loop counter.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100102
+       * init.c (build_offset_ref): Return the BASELINK for a static
+       member function.
+
+2021-06-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100918
+       * parser.c (cp_parser_lookup_name): Check access of the lookup
+       result before we potentially adjust an injected-class-name to
+       its TEMPLATE_DECL.
+
+2021-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/100902
+       * parser.c (cp_parser_omp_target): Call c_omp_adjust_map_clauses
+       even when target is combined with other constructs.
+
+2021-06-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100893
+       * pt.c (convert_template_argument): Strip top-level cv-quals
+       on the substituted type of a non-type template parameter.
+
+2021-06-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100102
+       * pt.c (tsubst_function_decl): Remove old code for reducing
+       args when it has excess levels.
+
+2021-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100872
+       * name-lookup.c (maybe_save_operator_binding): Add op_attr after all
+       ATTR_IS_DEPENDENT attributes in the DECL_ATTRIBUTES list rather than
+       to the start.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100592
+       * decl.c (make_typename_type): After calling
+       lookup_template_class, adjust the result to its TYPE_NAME and
+       then consider the tf_keep_type_decl flag.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100862
+       * pt.c (set_current_access_from_decl): Move to ...
+       * class.c (set_current_access_from_decl): ... here.
+       (handle_using_decl): Use it to propagate the access of the
+       using-enum decl to the copy of the imported enumerator.
+       * cp-tree.h (set_current_access_from_decl): Declare.
+       * decl.c (build_enumerator): Simplify using make_temp_override
+       and set_current_access_from_decl.
+
+2021-06-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100859
+       * semantics.c (handle_omp_array_sections_1): For
+       OMP_CLAUSE_{AFFINITY,DEPEND} handle FIELD_DECL base using
+       finish_non_static_data_member and allow this as base.
+       (finish_omp_clauses): Move OMP_CLAUSE_AFFINITY
+       after depend only cases.  Let this be diagnosed by !lvalue_p
+       case for OMP_CLAUSE_{AFFINITY,DEPEND} and remove useless
+       assert.
+       * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_AFFINITY.
+
+2021-06-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100838
+       * call.c (convert_like_internal): Clear tf_no_cleanup when
+       recursing.
+       (build_user_type_conversion_1): Only add ck_rvalue if
+       LOOKUP_ONLYCONVERTING.
+
+2021-06-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/65816
+       * init.c (expand_aggr_init_1): Check
+       type_has_non_user_provided_default_constructor instead of
+       type_has_user_provided_constructor.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91859
+       * call.c (build_op_delete_call): Don't set CALL_FROM_NEW_OR_DELETE_P
+       for destroying delete.
+       * init.c (build_delete): Don't clobber before destroying delete.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94492
+       * decl2.c (cp_warn_deprecated_use): Check warning_enabled_at.
+
+2021-05-31  Richard Biener  <rguenther@suse.de>
+
+       PR c++/88601
+       * cp-objcp-common.c (names_builtin_p): Handle
+       RID_BUILTIN_SHUFFLEVECTOR.
+       * cp-tree.h (build_x_shufflevector): Declare.
+       * parser.c (cp_parser_postfix_expression): Handle
+       RID_BUILTIN_SHUFFLEVECTOR.
+       * pt.c (tsubst_copy_and_build): Handle IFN_SHUFFLEVECTOR.
+       * typeck.c (build_x_shufflevector): Build either a lowered
+       VEC_PERM_EXPR or an unlowered shufflevector via a temporary
+       internal function IFN_SHUFFLEVECTOR.
+
+2021-05-28  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (build_data_member_initialization): Use tsi_range.
+       (build_constexpr_constructor_member_initializers): Likewise.
+       (constexpr_fn_retval, cxx_eval_statement_list): Likewise.
+       (potential_constant_expression_1): Likewise.
+       * coroutines.cc (await_statement_expander): Likewise.
+       (await_statement_walker): Likewise.
+       * module.cc (trees_out::core_vals): Likewise.
+       * pt.c (tsubst_expr): Likewise.
+       * semantics.c (set_cleanup_locs): Likewise.
+
+2021-05-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100797
+       PR c++/95719
+       * call.c (build_over_call): Adjust base_binfo in
+       resolves_to_fixed_type_p case.
+
+2021-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * semantics.c (handle_omp_array_sections): Copy
+       OMP_CLAUSE_MAP_IMPLICIT.
+       (finish_omp_clauses): Move not just OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
+       marked clauses last, but also OMP_CLAUSE_MAP_IMPLICIT.  Add
+       map_firstprivate_head bitmap, set it for GOMP_MAP_FIRSTPRIVATE_POINTER
+       maps and silently remove OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT if it is
+       present too.  For OMP_CLAUSE_MAP_IMPLICIT silently remove the clause
+       if present in map_head, map_field_head or map_firstprivate_head
+       bitmaps.
+
+2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_affinity): New.
+       (cp_parser_omp_clause_name, cp_parser_omp_var_list_no_open,
+       cp_parser_omp_all_clauses, OMP_TASK_CLAUSE_MASK): Handle affinity
+       clause.
+       * semantics.c (handle_omp_array_sections_1, handle_omp_array_sections,
+       finish_omp_clauses): Likewise.
+
+2021-05-27  Matthias Kretz  <kretz@kde.org>
+
+       PR c++/100716
+       * error.c (dump_template_bindings): Include code to print
+       "[with" and ']', conditional on whether anything is printed at
+       all. This is tied to whether a semicolon is needed to separate
+       multiple template parameters. If the template argument repeats
+       the template parameter (T = T), then skip the parameter.
+       (dump_substitution): Moved code to print "[with" and ']' to
+       dump_template_bindings.
+       (dump_function_decl): Partial revert of PR50828, which masked
+       TFF_TEMPLATE_NAME for all of dump_function_decl. Now
+       TFF_TEMPLATE_NAME is masked for the scope of the function and
+       only carries through to dump_function_name.
+       (dump_function_name): Avoid calling dump_template_parms if
+       TFF_TEMPLATE_NAME is set.
+
+2021-05-27  Matthias Kretz  <kretz@kde.org>
+
+       PR c++/100763
+       * error.c: Call dump_scope when printing a typedef.
+
+2021-05-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99893
+       * tree.c (cp_walk_subtrees) <case STATIC_ASSERT>: New case.
+
+2021-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/86355
+       * pt.c (use_pack_expansion_extra_args_p): Don't compare
+       args from the same argument pack.
+
+2021-05-27  Patrick Palka  <ppalka@redhat.com>
+
+       DR 1315
+       PR c++/67593
+       PR c++/96555
+       * pt.c (process_partial_specialization): Don't error on a
+       non-simple non-type template argument that involves template
+       parameters.
+       (for_each_template_parm_r): Don't walk TRAIT_EXPR, PLUS_EXPR,
+       MULT_EXPR, or SCOPE_REF when include_nondeduced_p is false.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100502
+       * typeck.c (finish_class_member_access_expr): Disable ahead
+       of time access checking during the member lookup.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100368
+       * tree.c (build_target_expr_with_type): Don't call force_rvalue
+       on CALL_EXPR initializer.  Simplify now that bot_manip is no
+       longer a caller.
+       (bot_manip): Use force_target_expr instead of
+       build_target_expr_with_type.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97420
+       * cvt.c (noexcept_conv_p): Remove redundant checks and simplify.
+       (fnptr_conv_p): Don't call non_reference.  Use INDIRECT_TYPE_P
+       instead of TYPE_PTR_P.
+       * pt.c (convert_nontype_argument_function): Look through
+       implicit INDIRECT_REFs before calling strip_fnptr_conv.
+
+2021-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100666
+       * call.c (convert_arg_to_ellipsis): For expressions with NULLPTR_TYPE
+       and side-effects, temporarily disable -Wunused-result warning when
+       building COMPOUND_EXPR.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * semantics.c (finish_omp_clauses): Move firstprivate clauses with
+       OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT to the end of the chain.  Don't error
+       if a decl is mentioned both in map clause and in such firstprivate
+       clause unless OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET is also set.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       * call.c (reference_binding): Check for designator.
+       (implicit_conversion_1, build_special_member_call): Likewise.
+       * decl.c (reshape_init_r): Likewise.
+       * pt.c (do_class_deduction): Likewise.
+       * typeck2.c (digest_init_r): Likewise.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100489
+       * decl.c (reshape_init_class): Handle designator for
+       member of anonymous aggregate here.
+       * typeck2.c (process_init_constructor_record): Not here.
+
+2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * call.c (maybe_warn_array_conv): Use new warning option.
+       * decl.c (mark_inline_variable, grokdeclarator): Likewise.
+       * error.c (maybe_warn_cpp0x): Likewise.
+       * parser.c (cp_parser_primary_expression)
+       (cp_parser_unqualified_id)
+       (cp_parser_pseudo_destructor_name)
+       (cp_parser_lambda_introducer)
+       (cp_parser_lambda_declarator_opt)
+       (cp_parser_selection_statement)
+       (cp_parser_init_statement)
+       (cp_parser_decomposition_declaration)
+       (cp_parser_function_specifier_opt)
+       (cp_parser_static_assert)
+       (cp_parser_namespace_definition)
+       (cp_parser_using_declaration)
+       (cp_parser_asm_definition)
+       (cp_parser_ctor_initializer_opt_and_function_body)
+       (cp_parser_initializer_list)
+       (cp_parser_type_parameter_key)
+       (cp_parser_member_declaration)
+       (cp_parser_try_block)
+       (cp_parser_std_attribute_spec): Likewise.
+       * pt.c (check_template_variable): Likewise.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100634
+       * pt.c (invalid_nontype_parm_type_p): Return true for COMPLEX_TYPE.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100659
+       * cp-tree.h (CONST_DECL_USING_P): Check for null TREE_TYPE.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100367
+       PR c++/96299
+       * method.c (genericize_spaceship): Use fold_build2 for scalar
+       operands.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (build_deduction_guide): Treat the implicit deduction guide
+       as a member of the class.
+
+2021-05-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100596
+       * cp-tree.h (any_non_type_attribute_p): Remove.
+       * decl.c (grokdeclarator): Turn an error into a warning and only
+       warn for standard attributes.
+       * decl2.c (any_non_type_attribute_p): Remove.
+       * parser.c (cp_parser_elaborated_type_specifier): Turn an error
+       into a warning and only warn for standard attributes.
+       (cp_parser_member_declaration): Likewise.
+
+2021-05-19  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100658
+       * mangle.c (write_encoding): Fix typos.
+
+2021-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * parser.c (cp_parser_omp_master): Set OMP_MASTER_COMBINED on
+       master when combined with taskloop.
+       (cp_parser_omp_parallel): Don't set OMP_PARALLEL_COMBINED on
+       parallel master when not combined with taskloop.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100261
+       * rtti.c (get_tinfo_decl_direct): Check TYPE_TRANSPARENT_AGGR.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100372
+       * tree.c (strip_typedefs): Only look at the pattern of a
+       TYPE_PACK_EXPANSION if it's a type.
+
+2021-05-18  Marek Polacek  <polacek@redhat.com>
+
+       * class.c (classtype_has_non_deleted_copy_ctor): Remove.
+       * constraint.cc (contains_wildcard_p): Likewise.
+       (get_template_head_requirements): Likewise.
+       (check_constrained_friend): Likewise.
+       (subsumes_constraints): Likewise.
+       * cp-tree.h (classtype_has_non_deleted_copy_ctor): Likewise.
+       (push_void_library_fn): Likewise.
+       (get_pattern_parm): Likewise.
+       (get_template_parms_at_level): Likewise.
+       (lambda_return_type): Likewise.
+       (get_template_head_requirements): Likewise.
+       (check_constrained_friend): Likewise.
+       (subsumes_constraints): Likewise.
+       * decl.c (push_void_library_fn): Likewise.
+       * lambda.c (lambda_return_type): Likewise.
+       * pt.c (get_template_parms_at_level): Likewise.
+       (get_pattern_parm): Likewise.
+
+2021-05-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100644
+       * call.c (perfect_candidate_p): An implicitly deleted move
+       is not perfect.
+
+2021-05-18  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR c++/100281
+       * cvt.c (cp_convert_to_pointer): Use the size of the target
+       pointer type.
+       * tree.c (cp_build_reference_type): Call
+       cp_build_reference_type_for_mode with VOIDmode.
+       (cp_build_reference_type_for_mode): Rename from
+       cp_build_reference_type.  Add MODE argument and invoke
+       build_reference_type_for_mode.
+       (strip_typedefs): Use build_pointer_type_for_mode and
+       cp_build_reference_type_for_mode for pointers and references.
+
+2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/100635
+       * call.c (convert_like_internal): Print different diagnostic if
+       the lvalue reference is const.
+
+2021-05-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95870
+       * pt.c (enclosing_instantiation_of): Just compare
+       DECL_SOURCE_LOCATION.
+       (regenerate_decl_from_template): Copy DECL_SOURCE_LOCATION.
+
+2021-05-14  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/99032
+       * cp-tree.h (any_non_type_attribute_p): Declare.
+       * decl.c (grokdeclarator): Diagnose when an attribute appertains to
+       a friend declaration that is not a definition.
+       * decl2.c (any_non_type_attribute_p): New.
+       * parser.c (cp_parser_decl_specifier_seq): Diagnose standard attributes
+       in the middle of decl-specifiers.
+       (cp_parser_elaborated_type_specifier): Diagnose when an attribute
+       appertains to a friend declaration that is not a definition.
+       (cp_parser_member_declaration): Likewise.
+
+2021-05-12  Marek Polacek  <polacek@redhat.com>
+
+       * pt.c (tsubst_copy_and_build): Add warn_int_in_bool_context
+       sentinel.
+
+2021-05-12  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_map): Support map-type-modifier
+       'close'.
+
+2021-05-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100517
+       * typeck.c (build_reinterpret_cast_1): Check intype on
+       cast to vector.
+
+2021-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/51577
+       * name-lookup.c (maybe_save_operator_binding): Unconditionally
+       enable for all function templates, not just generic lambdas.
+       Handle compound-assignment operator expressions.
+       * typeck.c (build_x_compound_expr): Call maybe_save_operator_binding
+       in the type-dependent case.
+       (build_x_modify_expr): Likewise.  Move declaration of 'op' closer
+       to its first use.
+
+2021-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100138
+       * constraint.cc (tsubst_constraint): Set up cp_unevaluated.
+       (satisfy_atom): Set up iloc_sentinel before calling
+       cxx_constant_value.
+       * pt.c (tsubst_pack_expansion): When returning a rebuilt pack
+       expansion, carry over PACK_EXPANSION_LOCAL_P and
+       PACK_EXPANSION_SIZEOF_P from the original pack expansion.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100464
+       PR c++/100468
+       * call.c (set_up_extended_ref_temp): Mark the temporary
+       addressable if the TARGET_EXPR was.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * decl.c (duplicate_decls): Use startswith
+       function instead of strncmp.
+       (cxx_builtin_function): Likewise.
+       (omp_declare_variant_finalize_one): Likewise.
+       (grokfndecl): Likewise.
+       * error.c (dump_decl_name): Likewise.
+       * mangle.c (find_decomp_unqualified_name): Likewise.
+       (write_guarded_var_name): Likewise.
+       (decl_tls_wrapper_p): Likewise.
+       * parser.c (cp_parser_simple_type_specifier): Likewise.
+       (cp_parser_tx_qualifier_opt): Likewise.
+       * pt.c (template_parm_object_p): Likewise.
+       (dguide_name_p): Likewise.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       PR c++/99616
+       * decl.c (grokdeclarator): Remove redundant NULL check.
+
+2021-05-07  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (rvalue): Assert expr is not a class lvalue.
+
+2021-05-07  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (build_stub_object): Declare.
+       * method.c (build_stub_object): No longer static.
+       * call.c (can_convert): Use it.
+       * tree.c (build_dummy_object): Adjust comment.
+       * typeck.c (cp_build_binary_op): Wrap SPACESHIP_EXPR in a
+       TARGET_EXPR.
+
+2021-05-07  Jason Merrill  <jason@redhat.com>
+
+       * coroutines.cc (build_co_await): Don't call 'rvalue'.
+       (flatten_await_stmt): Simplify initialization.
+       (morph_fn_to_coro): Change 'rvalue' to 'move'.  Simplify.
+
+2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * semantics.c (finish_omp_reduction_clause): Accept float + complex
+       for || and && reductions.
+
+2021-05-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100362
+       * parser.c (cp_parser_class_head): Reinstate calls to pushclass
+       and popclass when parsing the base-clause that were removed in
+       r11-6815.
+
+2021-05-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/68942
+       PR c++/100344
+       * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: Set tf_conv
+       only when the callee is a FUNCTION_DECL.
+
+2021-05-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100055
+       * decl.c (grokfndecl): Check current_template_parms.
+
+2021-05-03  Marek Polacek  <polacek@redhat.com>
+
+       DR 1312
+       * constexpr.c (cxx_eval_constant_expression): Don't check
+       integer_zerop.
+
+2021-05-01  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (class ovl_iterator): Allow copying.  Add op==.
+       (class ovl_range, class lkp_range): New.
+       * call.c (build_op_call_1, add_candidates): Use them.
+       (build_op_delete_call, has_trivial_copy_assign_p): Likewise.
+       (has_trivial_copy_p): Likewise.
+       * class.c (handle_using_decl, get_basefndecls): Likewise.
+       (maybe_warn_about_overly_private_class): Likewise.
+       (warn_hidden, add_implicitly_declared_members): Likewise.
+       (check_methods, clone_constructors_and_destructors): Likewise.
+       (type_has_user_nondefault_constructor): Likewise.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_fold_indirect_ref_1): Only set *empty_base if we
+       don't find a field.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51344
+       * decl2.c (grokfield): Call cplus_decl_attributes for friend.
+       (save_template_attributes): Use chainon.
+       * friend.c (do_friend): Remove attrlist parm.
+       * cp-tree.h (do_friend): Adjust.
+       * class.c (add_implicitly_declared_members): Adjust.
+       * decl.c (grokdeclarator): Adjust.
+       * pt.c (apply_late_template_attributes): Optimize.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97974
+       * class.c (finish_struct_anon_r): Drop complain parm.
+       Remove non-field diagnostic.
+       (finish_struct_anon): Adjust.
+       * decl.c (fixup_anonymous_aggr): Move non-field diagnostic here.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (cp_evaluated): Add reset parm to constructor.
+       * parser.c (cp_parser_constant_expression): Change
+       allow_non_constant_p to int.  Use cp_evaluated.
+       (cp_parser_initializer_clause): Pass 2 to allow_non_constant_p.
+       * semantics.c (finish_id_expression_1): Don't mess with
+       cp_unevaluated_operand here.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h: Clarify comments.
+       * pt.c (get_template_parm_object): Add assert.
+       * semantics.c (finish_compound_literal): Clear TREE_HAS_CONSTRUCTOR.
+       * tree.c (zero_init_expr_p): Check TREE_HAS_CONSTRUCTOR.
+       * typeck2.c (store_init_value): Likewise.
+
+2021-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/68942
+       * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: When KOENIG_P,
+       set tf_conv during the initial substitution into the function.
+
+2021-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100319
+       * semantics.c (finish_omp_clauses): Fix up check that variable
+       mentioned in detach clause doesn't appear in data-sharing clauses.
+
+2021-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * module.cc: Remove #error that triggers if DEV-PHASE is empty.
+
+2021-04-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92145
+       * class.c (classtype_has_depr_implicit_copy): Check DECL_CONTEXT
+       of operator=.
+
+2021-04-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88580
+       * pt.c (tsubst_initializer_list): Correctly handle the case
+       where an argument inside a base initializer pack expansion is
+       itself a pack expansion.
+
+2021-04-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100209
+       * constexpr.c (cxx_fold_indirect_ref): Try to canonicalize the
+       object/offset pair for a POINTER_PLUS_EXPR of a COMPONENT_REF
+       with a negative offset into one whose offset is nonnegative
+       before calling cxx_fold_indirect_ref_1.
+
+2021-04-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/89565
+       PR c++/93383
+       PR c++/95291
+       PR c++/99200
+       PR c++/99683
+       * pt.c (do_class_deduction): Punt if the initializer is
+       type-dependent.
+
+2021-04-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/87709
+       * parser.c (cp_parser_type_id_1): If we see a template
+       placeholder, first try simulating an error before issuing
+       a real error.
+
+2021-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98767
+       * cxx-pretty-print.c (pp_cxx_parameter_declaration_clause):
+       Adjust parameter list loop to iterate over 'types' instead of
+       'args'.  Output the trailing '...' for a variadic function.
+       Remove PARM_DECL support.
+       (pp_cxx_requires_expr): Pretty print the parameter list directly
+       instead of going through pp_cxx_parameter_declaration_clause.
+
+2021-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       DR 2374
+       * decl.c (is_direct_enum_init): Check the implicit
+       convertibility requirement added by CWG 2374.
+
+2021-04-23  Martin Liska  <mliska@suse.cz>
+
+       * cp-tree.h (STATIC_ASSERT): Prefer static assert.
+       * lex.c (init_operators): Remove run-time check.
+
+2021-04-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100161
+       * pt.c (tsubst_copy_and_build) <case PLUS_EXPR>: Test op0 and
+       op1 separately for value- or type-dependence.
+
+2021-04-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96380
+       * parser.c (cp_parser_enum_specifier): Don't allow defining
+       types in enum-base.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * error.c (dump_decl): Use flags in dump_generic_node call.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * error.c (dump_decl): Use flags in dump_generic_node call.
+
+2021-04-21  Martin Liska  <mliska@suse.cz>
+
+       * error.c (dump_decl): Support anonymous labels.
+
+2021-04-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100109
+       * pt.c (find_parameter_packs_r): Look into enum initializers.
+
+2021-04-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97536
+       * decl.c (grokvardecl): Given an error when a concept is not defined
+       at namespace scope.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100111
+       * constexpr.c (cxx_eval_store_expression): Don't add CONSTRUCTORs
+       for empty classes into *valp when types don't match even when *valp
+       is NULL.
+
+2021-04-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99803
+       * decl.c (make_typename_type): Give an error and return when
+       name is is_overloaded_fn.
+       * parser.c (cp_parser_class_name): Don't check is_overloaded_fn
+       before calling make_typename_type.
+
+2021-04-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99700
+       * constexpr.c (reduced_constant_expression_p): For array
+       CONSTRUCTORs, use a dedicated loop that additionally verifies
+       the CONSTRUCTOR spans the entire array.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99850
+       * parser.c (cp_parser_constraint_requires_parens) <case CPP_DEREF>:
+       If lambda_p, return pce_ok instead of pce_maybe_postfix.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99833
+       * pt.c (extract_locals_r): When handling DECL_EXPR of a structured
+       binding, add to data.internal also all corresponding structured
+       binding decls.
+
+2021-04-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100079
+       * cp-tree.h (first_field): Declare.
+       * mangle.c (range_expr_nelts): New.
+       (write_expression): Improve class NTTP mangling.
+       * pt.c (get_template_parm_object): Clear TREE_HAS_CONSTRUCTOR.
+       * tree.c (zero_init_expr_p): Improve class NTTP handling.
+       * decl.c: Adjust comment.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/80456
+       * call.c (build_new_method_call_1): Check again for side-effects
+       with a volatile object.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100101
+       PR c++/99583
+       * pt.c (find_parameter_packs_r) [FUNCTION_TYPE]: Walk into
+       TYPE_RAISES_EXCEPTIONS here.
+       * tree.c (cp_walk_subtrees): Not here.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100091
+       PR c++/99478
+       * parser.c (cp_parser_default_type_template_argument): Set
+       parser->local_variables_forbidden_p.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/98852
+       * typeck.c (merge_type_attributes_from): New function.
+       (cp_common_type): Use it for vector types.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100078
+       PR c++/93085
+       * pt.c (uses_outer_template_parms): Also look at default
+       template argument.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93314
+       * semantics.c (finish_id_expression_1): Clear cp_unevaluated_operand
+       for a non-static data member in a constant-expression.
+
+2021-04-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/83476
+       PR c++/99885
+       * pt.c (deducible_expression): Look through implicit
+       INDIRECT_REFs as well.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99478
+       * parser.c (cp_parser_lambda_expression): Reject lambda
+       in template parameter type.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90674
+       * decl.c (duplicate_decls): Don't propagate
+       DECL_INITIALIZED_IN_CLASS_P to a specialization.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/88742
+       PR c++/49951
+       PR c++/58123
+       * semantics.c (set_cleanup_locs): New.
+       (do_poplevel): Call it.
+       * parser.c (cp_parser_compound_statement): Consume the }
+       before finish_compound_stmt.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100032
+       * pt.c (get_underlying_template): Compare TYPE_QUALS.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100054
+       PR c++/90479
+       * init.c (get_nsdmi): Do more context adjustment for local classes.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99008
+       * pt.c (do_class_deduction): Reject alias CTAD in C++17 mode
+       rather than issuing a pedwarn.
+       * typeck2.c (build_functional_cast_1): Handle CTAD uniformly
+       for consistent diagnostics.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91933
+       * class.c (build_base_path): Shortcut simple non-pointer case.
+
+2021-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * module.cc (ordinary_loc_of): Test LINEMAPS_MACRO_LOWEST_LOCATION
+       of the linemap.
+       (module_state::write_location): Likewise.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97134
+       * pt.c (do_class_deduction): Look through EXPR_PACK_EXPANSION
+       when checking if the initializer is an equivalent class
+       placeholder template parameter.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99961
+       PR c++/99994
+       * constraint.cc (satisfy_normalized_constraints): Set
+       cp_unevaluated.
+       * parser.c (cp_parser_concept_definition): Likewise.
+       (cp_parser_requires_clause_opt): Likewise.
+
+2021-04-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93085
+       * pt.c (uses_outer_template_parms): Handle non-type and template
+       template parameters specifically.
+
+2021-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97974
+       * decl.c (fixup_anonymous_aggr): Prune all functions from
+       CLASSTYPE_MEMBER_VEC.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98800
+       PR c++/97399
+       * parser.c (cp_parser_direct_declarator): Don't
+       inject_this_parameter if static_p.
+       (cp_parser_omp_var_list_no_open): Parse 'this' even if
+       current_class_ptr isn't set for a better diagnostic.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99180
+       PR c++/93295
+       PR c++/93867
+       PR c++/99118
+       PR c++/96873
+       * pt.c (alias_ctad_tweaks): Handle failure better.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100006
+       * pt.c (find_parameter_packs_r) [TAG_DEFN]: Look into bases.
+
+2021-04-09  Patrick Palka  <ppalka@redhat.com>
+
+       * cp-tree.h (LAMBDA_EXPR_REGENERATED_FROM)
+       (LAMBDA_EXPR_REGENERATING_TARGS): Replace these with ...
+       (LAMBDA_EXPR_REGEN_INFO): ... this.
+       (tree_lambda_expr::regenerated_from)
+       (tree_lambda_expr::regenerating_targs): Replace these with ...
+       (tree_lambda_expr::regen_info): ... this.
+       * constraint.cc (satisfy_declaration_constraints): Adjust
+       accordingly.
+       * lambda.c (build_lambda_expr): Likewise.
+       * pt.c (regenerated_lambda_fn_p): Likewise.
+       (most_general_lambda): Likewise.
+       (tsubst_lambda_expr): Likewise.
+
+2021-04-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99806
+       * parser.c (cp_parser_member_declaration): Call
+       cp_parser_save_default_args even for function templates.  Use
+       STRIP_TEMPLATE on the declaration we're passing.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99874
+       * constraint.cc (get_normalized_constraints_from_decl): Handle
+       regenerated lambdas.
+       (satisfy_declaration_constraints): Likewise.  Check for
+       dependent args later.
+       * cp-tree.h (LAMBDA_EXPR_INSTANTIATED): Replace with ...
+       (LAMBDA_EXPR_REGENERATED_FROM): ... this.
+       (LAMBDA_EXPR_REGENERATING_TARGS): New.
+       (tree_lambda_expr::regenerated_from): New data member.
+       (tree_lambda_expr::regenerating_targs): New data member.
+       (add_to_template_args): Declare.
+       (regenerated_lambda_fn_p): Likewise.
+       (most_general_lambda): Likewise.
+       * lambda.c (build_lambda_expr): Set LAMBDA_EXPR_REGENERATED_FROM
+       and LAMBDA_EXPR_REGENERATING_TARGS.
+       * pt.c (add_to_template_args): No longer static.
+       (tsubst_function_decl): Unconditionally propagate constraints on
+       the substituted function decl.
+       (instantiated_lambda_fn_p): Rename to ...
+       (regenerated_lambda_fn_p): ... this.  Check
+       LAMBDA_EXPR_REGENERATED_FROM instead of
+       LAMBDA_EXPR_INSTANTIATED.
+       (most_general_lambda): Define.
+       (enclosing_instantiation_of): Adjust after renaming
+       instantiated_lambda_fn_p.
+       (tsubst_lambda_expr): Don't set LAMBDA_EXPR_INSTANTIATED.  Set
+       LAMBDA_EXPR_REGENERATED_FROM and LAMBDA_EXPR_REGENERATING_TARGS.
+       Don't substitute or set constraints on the regenerated lambda.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97679
+       * pt.c (build_deduction_guide): Document OUTER_ARGS.  Substitute
+       them into the propagated constraints.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91849
+       * call.c (convert_like_internal): Improve reference diagnostic.
+
+2021-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99859
+       * constexpr.c (addr_of_non_const_var): New function.
+       (cxx_bind_parameters_in_call): Set *non_constant_args to true
+       even if cp_walk_tree on arg with addr_of_non_const_var callback
+       returns true.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94529
+       * pt.c (determine_specialization): Improve diagnostic.
+
+2021-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99844
+       * decl.c (build_explicit_specifier): Call
+       check_for_bare_parameter_packs.
+       * except.c (build_noexcept_spec): Likewise.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/41723
+       * parser.c (cp_parser_class_name): Check dependent_scope_p.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52625
+       * pt.c (maybe_process_partial_specialization): Check
+       DECL_SELF_REFERENCE_P.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92918
+       * name-lookup.c (push_class_level_binding_1): Do overload a new
+       function with a previous using-declaration.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96673
+       * init.c (get_nsdmi): Don't defer access checking.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99901
+       * decl.c (cp_finish_decl): mark_needed an implicitly inline
+       static data member with an out-of-class redeclaration.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91241
+       * mangle.c (write_compact_number): Add sanity check.
+       (write_local_name): Use list_length for parm number.
+
+2021-04-06  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99899
+       * pt.c (do_auto_deduction): Don't exit early when deducing the
+       array type of a structured binding.  Also handle adc_decomp_type
+       during constraint checking.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96311
+       * typeck.c (check_return_expr): Call mark_exp_read in dependent
+       case.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98440
+       * typeck.c (build_reinterpret_cast_1): Don't perform
+       temporary materialization.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95317
+       * pt.c (lookup_template_class_1): Do tsubst_enum when
+       tsubsting a generic lambda.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95870
+       * pt.c (enclosing_instantiation_of): Compare DECL_SOURCE_LOCATION if
+       there is no enclosing non-lambda function.
+
+2021-04-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99380
+       * module.cc (name_pending_imports): Drop 'atend' parm.  Don't
+       query export when not needed.
+       (preprocess_module, preprocessed_module): Adjust.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99066
+       * pt.c (mark_decl_instantiated): Set DECL_EXTERNAL.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99201
+       * pt.c (class el_data): Add visited field.
+       (extract_local_specs): Pass it to cp_walk_tree.
+       (extract_locals_r): Walk into the body of a lambda.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       * ptree.c (cxx_print_decl): Check DECL_MODULE_IMPORT_P on
+       template result.
+
+2021-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99643
+       * typeck2.c (massage_init_elt): Don't strip TARGET_EXPR.
+
+2021-04-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91416
+       * parser.c: Create a GC root for attributes in a decl specifier.
+       (cp_parser_type_specifier): Push/pop ->attributes onto/from it.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91217
+       * pt.c (tsubst_lambda_expr): Skip the body block from
+       DECL_SAVED_TREE.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90664
+       * cvt.c (can_convert_qual): Check fnptr_conv_p.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97900
+       * pt.c (regenerate_decl_from_template): tsubst_decl
+       the parms.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99869
+       * parser.c (do_range_for_auto_deduction): Pass adc_variable_type
+       to do_auto_deduction.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99586
+       * semantics.c (finish_compound_literal): Check
+       template_placeholder_p instead of type_uses_auto.
+
+2021-04-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97938
+       * cp-tree.h (PACK_EXPANSION_AUTO_P): New.
+       * lambda.c (add_capture): Set it.
+       * pt.c (tsubst_pack_expansion): Handle it.
+
+2021-04-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (lang_decl_base): Correct module flag comment.
+       * module.cc (trees_in::assert_definition): Break out
+       not_tmpl var.
+       (trees_out::lang_decl_bools): Do not write purview for header units.
+
+2021-04-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99831
+       * method.c (defaulted_late_check): ++ and -- function_depth around
+       the call to synthesize_method.
+       * pt.c: Remove the saved_trees global.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99583
+       PR c++/99584
+       * tree.c (cp_walk_subtrees) [FUNCTION_TYPE]: Walk into
+       TYPE_RAISES_EXCEPTIONS.
+
+2021-04-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * mapper-client.cc (INCLUDE_MAP): New; require map to be
+       included from system.h.
+       * mapper-resolver.cc (INCLUDE_MAP): Likewise.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98481
+       * mangle.c (write_expression): Adjust.
+       * class.c (find_abi_tags_r): Disable PR98481 fix for ABI v14.
+       (mark_abi_tags_r): Likewise.
+
+2021-04-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * module.cc (trees_out::decl_node): Adjust importedness reference
+       assert.
+       (module_state::intercluster_seed): New.  Seed both imports and
+       inter-cluster references.  Broken out of ...
+       (module_state::write_cluster): ... here.  Call it.
+
+2021-03-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99445
+       * tree.c (strip_typedefs): Handle TYPE_PACK_EXPANSION.
+
+2021-03-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * mangle.c (write_expression): Adjust the mangling of
+       __alignof__.
+
+2021-03-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99815
+       * pt.c (placeholder_type_constraint_dependent_p): Expand
+       argument packs to separate the first non-pack argument
+       from the rest.
+
+2021-03-30  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * module.cc (dumper::operator): Make less brittle.
+       (trees_out::core_bools): VAR_DECLs always have a context.
+       (trees_out::key_mergeable): Use same_type_p for asserting.
+       (trees_in::read_var_def): Propagate
+       DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
+
+2021-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99790
+       * cp-gimplify.c (cp_gimplify_expr): Handle PTRMEM_CST.
+
+2021-03-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98352
+       * method.c (implicitly_declare_fn): Pass &raises to
+       synthesized_method_walk.
+
+2021-03-26  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * cp-tree.h (DECL_MODULE_CHECK): Ban TEMPLATE_DECL.
+       (SET_TYPE_TEMPLATE_INFO): Restore Alias template setting.
+       * decl.c (duplicate_decls): Remove template_decl module flag
+       propagation.
+       * module.cc (merge_kind_name): Add alias tmpl spec as a thing.
+       (dumper::impl::nested_name): Adjust for template-decl module flag
+       change.
+       (trees_in::assert_definition): Likewise.
+       (trees_in::install_entity): Likewise.
+       (trees_out::decl_value): Likewise.  Remove alias template
+       separation of template and type_decl.
+       (trees_in::decl_value): Likewise.
+       (trees_out::key_mergeable): Likewise,
+       (trees_in::key_mergeable): Likewise.
+       (trees_out::decl_node): Adjust for template-decl module flag
+       change.
+       (depset::hash::make_dependency): Likewise.
+       (get_originating_module, module_may_redeclare): Likewise.
+       (set_instantiating_module, set_defining_module): Likewise.
+       * name-lookup.c (name_lookup::search_adl): Likewise.
+       (do_pushdecl): Likewise.
+       * pt.c (build_template_decl): Likewise.
+       (lookup_template_class_1): Remove special alias_template handling
+       of DECL_TI_TEMPLATE.
+       (tsubst_template_decl): Likewise.
+
+2021-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99705
+       * tree.c (bot_manip): Remap artificial automatic temporaries mentioned
+       in DECL_EXPR or in BIND_EXPR_VARS.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99672
+       * parser.c (cp_parser_postfix_expression): For calls, create
+       combined_loc and temporarily set input_location to it before
+       calling finish_call_expr.
+
+2021-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94751
+       * call.c (build_over_call): Maybe call mark_used in case
+       deduce_inheriting_ctor fails and return error_mark_node.
+       * cp-tree.h (deduce_inheriting_ctor): Adjust declaration.
+       * method.c (deduce_inheriting_ctor): Return bool if the deduction
+       fails.
+       (implicitly_declare_fn): If raises is error_mark_node, call
+       synthesized_method_walk with diag being true.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99745
+       * decl2.c (grokbitfield): Diagnose bitfields containing bare parameter
+       packs and don't set DECL_BIT_FIELD_REPRESENTATIVE in that case.
+
+2021-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99331
+       * call.c (build_converted_constant_expr_internal): Don't emit
+       -Wconversion warnings.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99565
+       * call.c (build_conditional_expr_1): Pass OEP_ADDRESS_OF_SAME_FIELD
+       to operand_equal_p.
+       * cvt.c (convert_to_void): Preserve location_t on COND_EXPR or
+       or COMPOUND_EXPR.
+
+2021-03-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * name-lookup.c (check_module_override): Set global or partition
+       DUP on the binding vector.
+
+2021-03-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99318
+       * decl2.c (cp_warn_deprecated_use_scopes): Only call
+       cp_warn_deprecated_use when decl is a namespace, class, or enum.
+
+2021-03-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99239
+       * decl.c (duplicate_decls): Remove assert about maybe-imported
+       artificial decls.
+
+2021-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99650
+       * decl.c (cp_finish_decomp): Diagnose void initializers when
+       using tuple_element and get.
+
+2021-03-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99480
+       * module.cc (depset::hash::make_dependency): Propagate flags for
+       partial specialization.
+       (module_may_redeclare): Handle partial specialization.
+
+2021-03-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99425
+       * cp-tree.h (map_context_from, map_context_to): Delete.
+       (add_mergeable_specialization): Add is_alias parm.
+       * pt.c (add_mergeable_specialization): Add is_alias parm, add them.
+       * module.cc (map_context_from, map_context_to): Delete.
+       (trees_in::decl_value): Add specializations later, adjust call.
+       Drop useless alias lookup. Set duplicate fn parm context.
+       (check_mergeable_decl): Drop context mapping.
+       (trees_in::is_matching_decl): Likewise.
+       (trees_in::read_function_def): Drop parameter context adjustment
+       here.
+
+2021-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR c++/99687
+       * module.cc (fini_modules): Call vec_free instead of delete.
+
+2021-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99230
+       * cp-gimplify.c (cp_genericize_r) <case STATEMENT_LIST>: Remove
+       special code, instead call c_genericize_control_stmt.
+
+2021-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99456
+       * constexpr.c (cxx_eval_constant_expression): For CONVERT_EXPR from
+       INDIRECT_TYPE_P to ARITHMETIC_TYPE_P, when !ctx->manifestly_const_eval
+       don't diagnose it, set *non_constant_p nor return t.
+
+2021-03-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99500
+       * parser.c (cp_parser_requirement_parameter_list): Handle
+       error_mark_node.
+
+2021-03-18  Marek Polacek  <polacek@redhat.com>
+
+       * pt.c (tsubst_copy_and_build) <case FLOAT_EXPR>: Remove.
+
+2021-03-18  Marek Polacek  <polacek@redhat.com>
+
+       * pt.c (tsubst_copy_and_build): Add assert.
+
+2021-03-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc++/49070
+       * parser.c (cp_debug_parser): Add Objective-C++ message
+       state flag.
+       (cp_parser_nested_name_specifier_opt): Allow colon to
+       terminate an assignment-expression when parsing Objective-
+       C++ messages.
+       (cp_parser_objc_message_expression): Set and clear message
+       parsing state on entry and exit.
+       * parser.h (struct cp_parser): Add a context flag for
+       Objective-C++ message state.
+
+2021-03-18  Martin Liska  <mliska@suse.cz>
+
+       PR c++/99617
+       * coroutines.cc (struct var_nest_node): Init then_cl and else_cl
+       to NULL.
+
+2021-03-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97973
+       * call.c (conv_unsafe_in_template_p): New.
+       (convert_like): Use it.
+
+2021-03-17  Anthony Sharp  <anthonysharp15@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * semantics.c (get_class_access_diagnostic_decl): New
+       function that examines special cases when a parent
+       class causes a private access failure.
+       (enforce_access): Slightly modified to call function
+       above.
+
+2021-03-16  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (cp_tree_equal): Use real_identical.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99613
+       * decl.c (expand_static_init): For thread guards, call __cxa_atexit
+       before calling __cxa_guard_release rather than after it.  Formatting
+       fixes.
+
+2021-03-16  Martin Liska  <mliska@suse.cz>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/99108
+       * call.c (get_function_version_dispatcher): Handle
+       DECL_LOCAL_DECL_P.
+       * decl.c (maybe_version_functions): Likewise.
+       (maybe_mark_function_versioned): New.
+       * name-lookup.c (push_local_extern_decl_alias): No longer static.
+       * name-lookup.h (push_local_extern_decl_alias): Adjust.
+
+2021-03-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99496
+       * module.cc (trees_out::decl_value): Adjust typedef streaming,
+       indicate whether it is a dependent alias.
+       (trees_in::decl_value): Likewise.  Set as dependent alias, if it
+       is one.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99047
+       * coroutines.cc (expand_one_await_expression): If the
+       await_ready() expression is not a boolean then convert it
+       as required.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98704
+       * coroutines.cc (build_actor_fn): Make destroy index 1
+       correspond to the abnormal unhandled_exception() exit.
+       Substitute the proxy for the resume index.
+       (coro_rewrite_function_body): Arrange to reset the resume
+       index and make done = true for a rethrown exception from
+       unhandled_exception ().
+       (morph_fn_to_coro): Adjust calls to build_actor_fn and
+       coro_rewrite_function_body.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98480
+       * coroutines.cc (replace_continue): Rewrite continue into
+       'goto label'.
+       (await_statement_walker): Handle await expressions in the
+       initializer, condition and iteration expressions of for
+       loops.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96749
+       * coroutines.cc (flatten_await_stmt): Allow for the case
+       where a target expression variable only has uses in the
+       second part of a compound expression.
+       (maybe_promote_temps): Avoid emiting empty statements.
+
+2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c++/99509
+       * decl.c (cp_finish_decl): For 'omp declare target implicit' vars,
+       ensure that the varpool node is marked as offloadable.
+
+2021-03-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99238
+       * module.cc (depset::hash::add_binding_entity): Assert not
+       visited.
+       (depset::add::add_specializations): Likewise.
+       * name-lookup.c (name_lookup::dedup): New.
+       (name_lookup::~name_lookup): Assert not deduping.
+       (name_lookup::restore_state): Likewise.
+       (name_lookup::add_overload): Replace outlined code with dedup
+       call.
+       (name_lookup::add_value): Likewise.
+       (name_lookup::search_namespace_only): Likewise.
+       (name_lookup::adl_namespace_fns): Likewise.
+       (name_lookup::adl_class_fns): Likewise.
+       (name_lookup::search_adl): Likewise.  Add clearing dedup call.
+       (name_lookup::search_qualified): Likewise.
+       (name_lookup::search_unqualified): Likewise.
+
+2021-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99507
+       * call.c (build_over_call): For immediate evaluation of functions
+       that return references, undo convert_from_reference effects before
+       calling cxx_constant_value and call convert_from_reference
+       afterwards.
+
+2021-03-11  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99248
+       * name-lookup.c (lookup_elaborated_type_1): Access slot not bind
+       when there's a binding vector.
+       * ptree.c (cxx_print_xnode): Lazy flags are no longer a thing.
+
+2021-03-11  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99528
+       * module.cc (enum merge_kind): Delete MK_type_tmpl_spec,
+       MK_decl_tmpl_spec.
+       (trees_in::decl_value): Adjust add_mergeable_specialization call.
+       (trees_out::get_merge_kind): Adjust detecting a partial template
+       instantiation.
+       (trees_out::key_mergeable): Adjust handling same.
+       (trees_in::key_mergeabvle): Likewise.
+
+2021-03-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99423
+       * module.cc (post_load_processing): Assert not gcable.
+       (laxy_load_pendings): Extend no-gc region around
+       post_load_processing.
+
+2021-03-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99508
+       * decl.c (make_rtl_for_nonlocal_decl): Propagate local-extern's
+       assembler name to the ns alias.
+
+2021-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99459
+       * coroutines.cc (build_co_await): Look through NOP_EXPRs in
+       build_special_member_call return value to find the CALL_EXPR.
+       Simplify.
+
+2021-03-09  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99472
+       * parser.c (cp_parser_diagnose_invalid_type_name): Clarify
+       that C++20 does not yet imply modules.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99436
+       * name-lookup.c (get_cxx_dialect_name): Add cxx23.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       * lex.c (module_token_filter::resume): Ignore module-decls inside
+       header-unit.
+       * parser.c (cp_parser_module_declaration): Reject in header-unit.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99285
+       * cp-tree.h (match_mergeable_specialization)
+       (add_mergeable_specialization): Adjust parms.
+       * module.cc (trees_in::decl_value): Adjust
+       add_mergeable_specialization calls.
+       (trees_out::key_mergeable): Adjust match_mergeable_specialization
+       calls.
+       (specialization_add): Likewise.
+       * pt.c (match_mergeable_specialization): Do not insert.
+       (add_mergeable_specialization): Add to hash table here.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99287
+       * constexpr.c (cxx_eval_increment_expression): Pass lval when
+       evaluating the MODIFY_EXPR, and update 'mod' with the result of
+       this evaluation.  Check *non_constant_p afterwards.  For prefix
+       ops, just return 'mod'.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96330
+       * pt.c (tsubst_copy) <case TEMPLATE_ID_EXPR>: Rename local
+       variable 'fn' to 'tmpl'.  Handle a variable template-id by
+       calling lookup_template_variable.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99365
+       * pt.c (unify) <case TEMPLATE_TYPE_PARM>: Pass targs as
+       outer_targs to do_auto_deduction.
+       (placeholder_type_constraint_dependent_p): Define.
+       (do_auto_deduction): When processing_template_decl != 0
+       and context is adc_unify and we have constraints, pretend the
+       constraints are satisfied instead of punting.  Otherwise don't
+       punt unless placeholder_type_constraint_dependent_p holds.
+       Add some clarifying sanity checks.  Add a hack to add missing
+       outermost template levels to outer_args before checking
+       satisfaction.  Don't substitute outer_targs into type if it's
+       already been done.
+
+2021-03-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99374
+       * call.c (standard_conversion): When converting pointers to
+       member, don't return NULL when the bases are equivalent but
+       incomplete.
+
+2021-03-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99120
+       * name-lookup.c (check_local_shadow): Check if the type of decl
+       is non-null before checking TYPE_PTR*.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99245
+       * module.cc (module_state::write_cluster): Relax binding assert.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99377
+       * pt.c (instantiate_decl): Call set_instantiating_module.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98118
+       * coroutines.cc (build_co_await): Use type_build_ctor_call()
+       to determine cases when a CTOR needs to be built.
+       (flatten_await_stmt): Likewise.
+       (morph_fn_to_coro): Likewise.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95616
+       * coroutines.cc (coro_diagnose_throwing_fn): New helper.
+       (coro_diagnose_throwing_final_aw_expr): New helper.
+       (build_co_await): Diagnose throwing final await expression
+       components.
+       (build_init_or_final_await): Diagnose a throwing promise
+       final_suspend() call.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95615
+       * coroutines.cc (struct param_info): Track parameter copies that need
+       a DTOR.
+       (coro_get_frame_dtor): New helper function factored from build_actor().
+       (build_actor_fn): Use coro_get_frame_dtor().
+       (morph_fn_to_coro): Track parameters that need DTORs on exception,
+       likewise the frame promise and the return object.  On exception, run the
+       DTORs for these, destroy the frame and then rethrow the exception.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99389
+       * pt.c (instantiate_class_template_1): Set instantiating module
+       here.
+
+2021-03-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/99137
+       * parser.c (cp_parser_oacc_clause_async): Reject comma expressions.
+
+2021-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/88146
+       PR c++/99362
+       * cvt.c (convert_to_void): Revert 2019-10-17 changes.  Clarify
+       comment.
+
+2021-03-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99170
+       * module.cc (class uintset): Delete.
+       (typedef attached_map_t): A hash map.
+       (attached_table): Use attached_map_t.  Adjust uses ...
+       (trees_out::decl_value, trees_in::decl_value): ... here ...
+       (trees_out::key_mergeable): ... here ...
+       (trees_in::key_mergeable): ... here ...
+       (maybe_attach_decl): ... here ...
+       (direct_import): ... and here.
+
+2021-03-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99170
+       * cp-tree.h
+       * lex.c (cxx_dup_lang_specific_decl): Adjust for module_attached_p
+       rename.
+       * module.cc (class pending_key): New.
+       (default_hash_traits<pending_key>): New specialization.
+       (pending_map_t): New typedef.
+       (pending_table): Replace old table.
+       (trees_out::lang_decl_bools): Adjust.
+       (trees_in::lang_decl_bools): Adjust.
+       (trees_in::install_entity): Drop pending member and specialization
+       handling.
+       (find_pending_key): New.
+       (depset::hash::fiund_dependencies): Use it.
+       (pendset_lazy_load): Delete.
+       (module_state::write_cluster): Don't count pendings here.  Bye
+       Duff's device-like thing.
+       (module_state::write_pendings): Reimplement.
+       (module_state::read_pendings): Reimplement.
+       (lazy_specializations_p): Delete.
+       (module_state::write): Adjust write_pendings call.
+       (lazy_load_pendings): New.
+       (lazy_load_specializations): Delete.
+       (lazy_load_members): Delete.
+       (init_modules): Adjust.
+       * name-lookup.c (maybe_lazily_declare): Call lazy_load_pendings
+       not lazy_load_members.
+       (note_pending_specializations): Delete.
+       (load_pending_specializations): Delete.
+       * name-lookup.h (BINDING_VECTR_PENDING_SPECIALIZATIONS_P): Delete.
+       (BINDING_VECTOR_PENDING_MEMBERS_P): Delete.
+       (BINDING_VECTR_PENDING_MEMBERS_P): Delete.
+       (note_pending_specializations): Delete.
+       (load_pending_specializations): Delete.
+       * pt.c (lookup_template_class_1): Call lazy_load_pendings not
+       lazy_load_specializations.
+       (instantiate_template_class_1): Likewise.
+       (instantiate_decl): Call lazy_load_pendings.
+       * typeck.c (complete_type): Likewise.
+
+2021-03-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99170
+       * module.cc (post_load_decls): New.
+       (lazy_snum, recursive_lazy): Move earlier.
+       (module_state::read_cluster): Push cloning onto post_load_decls.
+       (post_load_processing): New.  Do the cloning here.
+       (module_state::read_inits): Call post_load_processing.
+       (module_state::read_language): Likewise.
+       (lazy_load_binding, lazy_load_specializations): Likewise
+       (lazy_load_members): Likewise
+
+2021-03-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99170
+       * module.cc (trees_out::decl_value): Stream specialization keys
+       after decl.
+       (trees_in::decl_value): Stream them back and insert after
+       completing the decl.
+       (trees_out::key_mergeable): Drop some streaming here ...
+       (trees_in::key_mergeable): ... and here.  Don't insert into
+       specialization tables.
+
+2021-03-03  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (struct sat_info): Document the different
+       meanings of noisy() and diagnose_unsatisfaction_p() during
+       satisfaction and requires-expression evaluation.
+       (tsubst_valid_expression_requirement): Take a sat_info instead
+       of a subst_info.  Perform the substitution quietly first.  Fold
+       in error-replaying code from diagnose_valid_expression.
+       (tsubst_simple_requirement): Take a sat_info instead of a
+       subst_info.
+       (tsubst_type_requirement_1): New.  Fold in error-replaying code
+       from diagnose_valid_type.
+       (tsubst_type_requirement): Use the above.  Take a sat_info
+       instead of a subst_info.
+       (tsubst_compound_requirement): Likewise.  Fold in
+       error-replaying code from diagnose_compound_requirement.
+       (tsubst_nested_requirement): Take a sat_info instead of a
+       subst_info.  Fold in error-replaying code from
+       diagnose_nested_requirement.
+       (tsubst_requirement): Take a sat_info instead of a subst_info.
+       (tsubst_requires_expr): Split into two versions, one that takes
+       a sat_info argument and another that takes a complain and
+       in_decl argument.  Remove outdated documentation.  Document the
+       effects of the sat_info argument.  Don't short-circuit
+       processing of requirements when diagnosing unsatisfaction,
+       mirroring diagnose_requires_expr.
+       (satisfy_nondeclaration_constraint) <case REQUIRES_EXPR>: Remove
+       assert, and se the three-parameter version of tsubst_requires_expr.
+       (diagnose_trait_expr): Make static.  Take a template argument
+       vector instead of a parameter mapping.
+       (diagnose_valid_expression): Remove.
+       (diagnose_valid_type): Remove.
+       (diagnose_simple_requirement): Remove.
+       (diagnose_compound_requirement): Remove.
+       (diagnose_type_requirement): Remove.
+       (diagnose_nested_requirement): Remove.
+       (diagnose_requirement): Remove.
+       (diagnose_requires_expr): Remove.
+       (diagnose_atomic_constraint): Take a sat_info instead of a
+       subst_info.  Adjust call to diagnose_trait_expr.  Call
+       tsubst_requires_expr instead of diagnose_requires_expr.
+       (diagnose_constraints): Remove special casing of REQUIRES_EXPR
+       and just always call constraint_satisfaction_value.
+
+2021-03-03  Patrick Palka  <ppalka@redhat.com>
+
+       * constexpr.c (cxx_eval_call_expression): Adjust call to
+       evaluate_concept_check.
+       (cxx_eval_constant_expression) <case REQUIRES_EXPR>: Use
+       evaluate_requires_expression instead of
+       satisfy_constraint_expression.
+       <case TEMPLATE_ID_EXPR>: Adjust call to evaluate_concept_check.
+       * constraint.cc (struct sat_info): Adjust comment about which
+       satisfaction entrypoints use noisy-unsat.
+       (normalize_template_requirements): Remove (and adjust callers
+       appropriately).
+       (normalize_nontemplate_requirements): Likewise.
+       (tsubst_nested_requirement): Use constraint_satisfaction_value
+       instead of satisfy_constraint_expression, which'll do the
+       noisy replaying of ill-formed quiet satisfaction for us.
+       (decl_satisfied_cache): Adjust comment.
+       (satisfy_constraint): Rename to ...
+       (satisfy_normalized_constraints): ... this.
+       (satisfy_associated_constraints): Remove (and make its
+       callers check for dependent arguments).
+       (satisfy_constraint_expression): Rename to ...
+       (satisfy_nondeclaration_constraints): ... this.  Assert that
+       'args' is empty when 't' is a concept-id.  Removing handling
+       bare constraint-expressions, and handle REQUIRES_EXPRs
+       specially.  Adjust comment accordingly.
+       (satisfy_declaration_constraints): Assert in the two-parameter
+       version that 't' is not a TEMPLATE_DECL.  Adjust following
+       removal of normalize_(non)?template_requirements and
+       satisfy_asociated_constraints.
+       (constraint_satisfaction_value): Combine the two- and
+       three-parameter versions in the natural way.
+       (constraints_satisfied_p): Combine the one- and two-parameter
+       versions in the natural way.  Improve documentation.
+       (evaluate_requires_expr): Define.
+       (evaluate_concept_check): Remove 'complain' parameter.  Use
+       constraint_satisfaction_value instead of
+       satisfy_constraint_expression.
+       (diagnose_nested_requirement): Adjust following renaming of
+       satisfy_constraint_expression.
+       (diagnose_constraints): Handle REQUIRES_EXPR by going through
+       diagnose_requires_expr directly instead of treating it as a
+       constraint-expression.  Improve documentation.
+       * cp-gimplify.c (cp_genericize_r) <case CALL_EXPR>: Adjust call
+       to evaluate_concept_check.
+       <case REQUIRES_EXPR>: Use evaluate_requires_expr instead of
+       constraints_satisfied_p.
+       <case TEMPLATE_ID_EXPR>: Adjust call to evaluate_concept_check.
+       * cp-tree.h (evaluate_requires_expr): Declare.
+       (evaluate_concept_check): Remove tsubst_flag_t parameter.
+       (satisfy_constraint_expression): Remove declaration.
+       (constraints_satisfied_p): Remove one-parameter declaration.
+       Add a default argument to the two-parameter declaration.
+       * cvt.c (convert_to_void): Adjust call to
+       evaluate_concept_check.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82959
+       * call.c (op_is_ordered): Handle TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR
+       and COMPOUND_EXPR.
+
+2021-03-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97034
+       PR c++/99009
+       * pt.c (build_deduction_guide): Use INNERMOST_TEMPLATE_ARGS.
+       (maybe_aggr_guide): Use the original template type where needed.  In
+       a class member template, partially instantiate the result of
+       collect_ctor_idx_types.
+       (do_class_deduction): Defer the deduction until the enclosing
+       scope is non-dependent.
+
+2021-03-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95675
+       * call.c (build_temp): Wrap a CALL_EXPR in a TARGET_EXPR
+       if it didn't get one before.
+
+2021-03-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99344
+       * module.cc (trees_out::decl_node): Small refactor.
+       (depset::hash::add_binding_entity): Return true on meeting an
+       import.  Set namespace's import here.
+       (module_state:write_namespaces): Inform of purview too.
+       (module_state:read_namespaces): Adjust.
+       * name-lookup.c (implicitly_export_namespace): Delete.
+       (do_pushdecl): Don't call it.
+       (push_namespace): Likewise, set purview.
+       (add_imported_namespace): Reorder parms.
+       * name-lookup.h (add_imported_namespace): Alter param ordering.
+
+2021-03-02  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/99251
+       * class.c (build_base_path): Call build_if_nonnull.
+       * cp-tree.h (build_if_nonnull): Declare.
+       * rtti.c (ifnonnull): Rename...
+       (build_if_nonnull): ...to this.  Set no-warning bit on COND_EXPR.
+       (build_dynamic_cast_1): Adjust to name change.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96443
+       PR c++/96960
+       * constraint.cc (type_deducible_p): Don't substitute into the
+       constraints, and instead just pass 'args' to do_auto_deduction
+       as the outer template arguments.
+       (tsubst_parameter_mapping): Remove confused code for handling
+       placeholder type arguments.
+       (normalize_placeholder_type_constraint): Define.
+       (satisfy_constraint_expression): Use it to handle placeholder
+       'auto' types.
+       * cp-tree.h (PLACEHOLDER_TYPE_CONSTRAINTS_INFO): Define.
+       (PLACEHOLDER_TYPE_CONSTRAINTS): Redefine in terms of the above.
+       * pt.c (tsubst) <case TEMPLATE_TYPE_PARM>: Use
+       PLACEHOLDER_TYPE_CONSTRAINTS_INFO instead.
+       (make_constrained_placeholder_type): Set
+       PLACEHOLDER_TYPE_CONSTRAINTS_INFO instead.
+       (do_auto_deduction): Clarify comments about the outer_targs
+       parameter.  Rework satisfaction of a placeholder type constraint
+       to pass in the complete set of template arguments directly to
+       constraints_satisfied_p.
+       (splice_late_return_type): Use PLACEHOLDER_TYPE_CONSTRAINTS_INFO
+       instead.  Also rebuild the the constraint info on the new auto.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (build_parameter_mapping): Rely on the caller to
+       determine the in-scope template parameters.
+       (norm_info::norm_info): Delegate the tsubst_flags_t constructor
+       to the two-parameter constructor.  In the two-parameter
+       constructor, fold in the definition of make_context, set
+       initial_parms appropriately, and don't set the now-removed
+       orig_decl member.
+       (norm_info::make_context): Remove, now that its only use is
+       inlined into the caller.
+       (norm_info::update_context): Adjust call to
+       build_parameter_mapping to pass in the relevant set of in-scope
+       template parameters.
+       (norm_info::ctx_parms): Define this member function.
+       (norm_info::context): Initialize to NULL_TREE.
+       (norm_info::orig_decl): Remove this data member.
+       (norm_info::initial_parms): Define this data member.
+       (normalize_atom): Adjust call to build_parameter_mapping to pass
+       in the relevant set of in-scope template parameters.  Use
+       info.initial_parms instead of info.orig_decl.
+       (normalize_constraint_expression): Take a norm_info object
+       instead of a bool.  Cache the result of normalization.
+       (tsubst_nested_requirement): Call satisfy_constraint_expression
+       instead of satisfy_constraint, so that we normalize on demand.
+       (satisfy_constraint_expression): Handle a NESTED_REQ argument.
+       Adjust call to normalize_constraint_expression.
+       (finish_nested_requirement): Set the TREE_TYPE of the NESTED_REQ
+       to current_template_parms.
+       (diagnose_nested_requirements): Go through
+       satisfy_constraint_expression, as with tsubst_nested_requirement.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (tsubst_parameter_mapping): Canonicalize the
+       arguments of a substituted TYPE_ARGUMENT_PACK even if we've
+       started with a TYPE_ARGUMENT_PACK.
+       (finish_requires_expr): Don't set DECL_CONTEXT and
+       CONSTRAINT_VAR_P on each of the introduced parameters here.
+       * parser.c (cp_parser_requirement_parameter_list): Instead set
+       these fields earlier, here.
+       * pt.c (do_auto_deduction): Canonicalize the result of
+       do_auto_deduction.  Pass 'complain' to finish_decltype_type.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       * constraint.cc (tsubst_simple_requirement): Just return
+       boolean_true_node on success.
+       (tsubst_type_requirement): Likewise.
+       (tsubst_compound_requirement): Likewise.
+       (tsubst_nested_requirement): Likewise.
+       (tsubst_requirement_body): Remove.
+       (check_constaint_variables): Rename to ...
+       (check_constraint_variables): ... this.
+       (tsubst_constraint_variables): Adjust.
+       (tsubst_requires_expr): Fold tsubst_requirement_body into here.
+
+2021-03-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99294
+       * class.c (fixup_type_variants): Propagate mode, precision,
+       alignment & emptiness.
+       * module.cc (trees_out::type_node): Use TYPE_ALIGN_RAW.
+       (trees_in::tree_node): Rematerialize alignment here.
+
+2021-02-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90333
+       * parser.c (cp_parser_lambda_declarator_opt): Accept GNU attributes
+       between () and ->.
+
+2021-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_lambda_declarator_opt): Implement
+       P1102R2 - Down with ()! Make ()s optional before lambda specifiers
+       for -std={c,gnu}++2b or with pedwarn in earlier versions.
+
+2021-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95451
+       * lambda.c (is_lambda_ignored_entity): Before checking for
+       LAMBDA_FUNCTION_P, use OVL_FIRST.  Drop FUNCTION_DECL check.
+
+2021-02-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98810
+       * pt.c (tsubst_copy) [VIEW_CONVERT_EXPR]: Add const
+       to a class non-type template argument that needs it.
+
+2021-02-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98990
+       * pt.c (splice_late_return_type): Rebuild the entire return type
+       if we have to adjust the level of an auto within.
+       (type_uses_auto): Adjust call to find_type_usage.
+       * type-utils.h (find_type_usage): Revert r10-6571 change that
+       made this function return a pointer to the auto node.
+
+2021-02-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99213
+       PR c++/94521
+       * error.c (dump_scope): Pass TFF_NO_TEMPLATE_BINDINGS instead of
+       TFF_NO_FUNCTION_ARGUMENTS when dumping a function scope.
+
+2021-02-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99103
+       * pt.c (is_spec_or_derived): Drop cv-qualifiers from 'etype'.
+       (maybe_aggr_guide): Fix order of arguments to is_spec_or_derived.
+
+2021-02-25  Marek Polacek  <polacek@redhat.com>
+
+       DR 1312
+       PR c++/99176
+       * constexpr.c (is_std_construct_at): New overload.
+       (is_std_allocator_allocate): New overload.
+       (cxx_eval_call_expression): Use the new overloads.
+       (cxx_eval_constant_expression): Reject casting
+       from void * as per DR 1312.  Don't check can_convert.
+
+2021-02-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/97587
+       * coroutines.cc (struct param_info): Track rvalue refs.
+       (morph_fn_to_coro): Track rvalue refs, and call the promise
+       CTOR with the frame copy of passed parms.
+
+2021-02-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95822
+       * coroutines.cc (morph_fn_to_coro): Unconditionally remove any
+       set throwing_cleanup marker.
+
+2021-02-25  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99166
+       * module.cc (module_state::inform_cmi_p): Renamed field.
+       (module_state::do_import): Adjust.
+       (init_modules, finish_module_processing): Likewise.
+       (handle_module_option): Likewise.
+
+2021-02-25  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98318
+       * mapper-client.cc (module_client::open_module_client): Fix typo
+       of fd init.
+
+2021-02-24  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98718
+       * module.cc (ool): New indirection vector.
+       (loc_spans::maybe_propagate): Location is not optional.
+       (loc_spans::open): Likewise.  Assert monotonically advancing.
+       (module_for_ordinary_loc): Use ool indirection vector.
+       (module_state::write_prepare_maps): Do not count empty macro
+       expansions.  Elide empty spans.
+       (module_state::write_macro_maps): Skip empty expansions.
+       (ool_cmp): New qsort comparator.
+       (module_state::write): Create and destroy ool vector.
+       (name_pending_imports): Fix dump push/pop.
+       (preprocess_module): Likewise.  Add more dumping.
+       (preprocessed_module): Likewise.
+
+2021-02-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96251
+       * coroutines.cc (coro_common_keyword_context_valid_p): Suppress
+       error reporting when instantiating for a constexpr.
+
+2021-02-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99208
+       * decl.c (name_unnamed_type): Check DECL identity, not IDENTIFIER
+       identity.
+
+2021-02-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95468
+       * pt.c (tsubst_copy_and_build) <case BASELINK>: New case, copied
+       over from tsubst_copy.
+
+2021-02-23  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (instantiation_dependent_expression_p): Check
+       processing_template_decl before calling
+       potential_constant_expression.
+
+2021-02-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99174
+       * module.cc (struct module_state): Add visited_p flag.
+       (name_pending_imports): Use it to avoid duplicate requests.
+       (preprocess_module): Don't read preprocessor state if we failed to
+       load a module's config.
+
+2021-02-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99153
+       * decl.c (duplicate_decls): Move DECL_MODULE_IMPORT_P propagation
+       to common-path.
+       * module.cc (set_defining_module): Add assert.
+
+2021-02-19  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98741
+       * module.cc (pending_imports): New.
+       (declare_module): Adjust test condition.
+       (name_pending_imports): New.
+       (preprocess_module): Reimplement using pending_imports.
+       (preprocessed_module): Move name-getting to name_pending_imports.
+       * name-lookup.c (append_imported_binding_slot): Assert module
+       ordering is increasing.
+
+2021-02-19  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (note_cmis): New.
+       (struct module_state): Add inform_read_p bit.
+       (module_state::do_import): Inform of CMI location, if enabled.
+       (init_modules): Canonicalize note_cmis entries.
+       (handle_module_option): Handle -flang-info-module-read=FOO.
+
+2021-02-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96926
+       * call.c (perfect_conversion_p): Limit rvalueness
+       test to reference bindings.
+
+2021-02-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96926
+       * call.c (perfect_conversion_p): New.
+       (perfect_candidate_p): New.
+       (add_candidates): Ignore templates after a perfect non-template.
+
+2021-02-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * module.cc (canonicalize_header_name): Use
+       cpp_probe_header_unit.
+       (maybe_translate_include): Fix note_includes comparison.
+       (init_modules): Fix note_includes string termination.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99132
+       * cp-gimplify.c (cp_genericize_r) <case CALL_EXPR>: Use
+       cp_get_callee_fndecl_nofold instead of cp_get_callee_fndecl to check
+       for immediate function calls.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * module.cc (struct macro_export): Add GTY markers.
+       (macro_exports): Likewise, us a va_gc Vector.
+
+2021-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/99106
+       * init.c (build_zero_init_1): For flexible array members just return
+       NULL_TREE instead of returning empty CONSTRUCTOR with non-complete
+       ARRAY_TYPE.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99116
+       * name-lookup.c (do_pushdecl): Don't peek under template_parm
+       bindings here ...
+       (set_identifier_type_value_with_scope): ... or here.
+       (do_pushtag): Only set_identifier_type_value_with_scope at
+       non-class template parm scope, and use parent scope.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99071
+       * name-lookup.c (maybe_record_mergeable_decl): Deref the correct
+       pointer.
+
+2021-02-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR debug/96997
+       PR c++/94034
+       * tree.c (build_aggr_init_expr): Revert r10-7718 change.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (module_state::write_cluster): Check bindings for
+       imported using-decls.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99040
+       * module.cc (trees_in::decl_value): Call add_module_namespace_decl
+       for new namespace-scope entities.
+       (module_state::read_cluster): Don't call add_module_decl here.
+       * name-lookup.h (add_module_decl): Rename to ...
+       (add_module_namespace_decl): ... this.
+       * name-lookup.c (newbinding_bookkeeping): Move into ...
+       (do_pushdecl): ... here.  Its only remaining caller.
+       (add_module_decl): Rename to ...
+       (add_module_namespace_decl): ... here.  Add checking-assert for
+       circularity. Don't call newbinding_bookkeeping, just extern_c
+       checking and incomplete var checking.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99039
+       PR c++/99040
+       * cp-tree.h (CPTI_GLOBAL_TYPE): Delete.
+       (global_type_node): Delete.
+       (IDENTIFIER_TYPE_VALUE): Delete.
+       (IDENTIFIER_HAS_TYPE_VALUE): Delete.
+       (get_type_value): Delete.
+       * name-lookup.h (identifier_type_value): Delete.
+       * name-lookup.c (check_module_override): Don't
+       SET_IDENTIFIER_TYPE_VALUE here.
+       (do_pushdecl): Nor here.
+       (identifier_type_value_1, identifier_type_value): Delete.
+       (set_identifier_type_value_with_scope): Only
+       SET_IDENTIFIER_TYPE_VALUE for local and class scopes.
+       (pushdecl_nanmespace_level): Remove shadow stack nadgering.
+       (do_pushtag): Use REAL_IDENTIFIER_TYPE_VALUE.
+       * call.c (check_dtor_name): Use lookup_name.
+       * decl.c (cxx_init_decl_processing): Drop global_type_node.
+       * decl2.c (cplus_decl_attributes): Don't SET_IDENTIFIER_TYPE_VALUE
+       here.
+       * init.c (get_type_value): Delete.
+       * pt.c (instantiate_class_template_1): Don't call pushtag or
+       SET_IDENTIFIER_TYPE_VALUE here.
+       (tsubst): Assert never an identifier.
+       (dependent_type_p): Drop global_type_node assert.
+       * typeck.c (error_args_num): Don't use IDENTIFIER_HAS_TYPE_VALUE
+       to determine ctorness.
+
+2021-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97742
+       * parser.c (cp_parser_requirement_seq): Stop iterating after reaching
+       CPP_EOF.
+
+2021-02-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97246
+       PR c++/94546
+       * pt.c (extract_fnparm_pack): Check DECL_PACK_P here.
+       (register_parameter_specializations): Not here.
+
+2021-02-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95888
+       * pt.c (lookup_template_class_1): Pass tf_none to tsubst when looking
+       for the partial instantiation.
+
+2021-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99033
+       * init.c (build_zero_init_1): Handle zero initialiation of
+       flexible array members like initialization of [0] arrays.
+       Use integer_minus_onep instead of comparison to integer_minus_one_node
+       and integer_zerop instead of comparison against size_zero_node.
+       Formatting fixes.
+
+2021-02-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99063
+       * semantics.c (finish_do_stmt): Check for unexpanded parameter packs.
+
+2021-02-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97582
+       * name-lookup.c (op_unqualified_lookup): Handle an ambiguous
+       lookup result by discarding it if the first element is a
+       class-scope declaration, otherwise return it.
+       (push_operator_bindings): Handle an ambiguous lookup result by
+       doing push_local_binding on each element in the list.
+
+2021-02-11  Marek Polacek  <polacek@redhat.com>
+
+       * parser.c (cp_parser_selection_statement): Use vec_free.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98988
+       PR c++/99031
+       * constexpr.c: Include cgraph.h.
+       (cxx_eval_call_expression): Call varpool_node::finalize_decl on
+       heap artificial vars.
+       (cxx_eval_outermost_constant_expr): Remove varpool nodes for
+       heap artificial vars.
+
+2021-02-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99030
+       * pt.c (tsubst_copy) [VAR_DECL]: For a DECL_LOCAL_DECL_P T is the
+       answer if there's no local specialization.
+
+2021-02-09  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98944
+       * module.cc (module_state::is_rooted): Rename to ...
+       (module_state::has_location): ... here.  Adjust callers.
+       (module_state::read_partitions): Adjust validity check.
+       Don't overwrite a known location.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96905
+       * pt.c (mark_decl_instantiated): Exit early if consteval.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98326
+       PR c++/20408
+       * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref
+       parm.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98994
+       PR c++/97566
+       * constexpr.c (cxx_eval_store_expression): Only skip empty fields in
+       RECORD_TYPE.
+
+2021-02-08  Nathan Sidwell  <nathan@acm.org>
+
+       * decl.c (start_cleanup_fn): Push function into
+       namespace.
+
+2021-02-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98531
+       * cp-tree.h (push_abi_namespace, pop_abi_namespace): Declare.
+       * decl.c (push_abi_namespace, pop_abi_namespace): Moved
+       from rtti.c, add default namespace arg.
+       (check_redeclaration_exception_specification): Allow a lazy
+       builtin's eh spec to differ from an lready-declared user
+       declaration.
+       (declare_global_var): Use push/pop_abi_namespace.
+       (get_atexit_node): Push the fndecl into a namespace.
+       * rtti.c (push_abi_namespace, pop_abi_namespace): Moved to
+       decl.c.
+
+2021-02-08  Marek Polacek  <polacek@redhat.com>
+
+       * cp-tree.h (CLASSTYPE_TI_TEMPLATE): Fix typo.
+
+2021-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98947
+       * call.c (build_conditional_expr_1): Don't call mark_lvalue_use
+       on arg2/arg3.
+       * expr.c (mark_use) <case MODIFY_EXPR>: Don't check read_p when
+       issuing the -Wvolatile warning.  Only set TREE_THIS_VOLATILE if
+       a warning was emitted.
+
+2021-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96462
+       * name-lookup.c (lookup_using_decl): Hoist the destructor check.
+
+2021-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97878
+       * decl.c (check_array_initializer): For structured bindings, require
+       the array type to be complete.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98717
+       * constraint.cc (build_concept_check_arguments): Remove assert.
+       (build_concept_check): Allow empty args.
+
+2021-02-04  Tom Greenslade (thomgree)  <thomgree@cisco.com>
+
+       PR c++/90926
+       * call.c (can_convert_array): Extend to handle all valid aggregate
+       initializers of an array; including by string literals, not just by
+       brace-init-list.
+       (build_aggr_conv): Call can_convert_array more often, not just in
+       brace-init-list case.
+       * typeck2.c (array_string_literal_compatible_p): New function.
+       (digest_init_r): call array_string_literal_compatible_p
+       * cp-tree.h: (array_string_literal_compatible_p): Declare.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98802
+       * pt.c (do_class_deduction): No aggregate guide if any_dguides_p.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95192
+       * pt.c (tsubst_attribute): Handle error.
+       (apply_late_template_attributes): Return false on error.
+       (tsubst_function_decl): Check its return value.
+       (tsubst_decl): Likewise.
+       (push_template_decl): Assert current_template_parms.
+       (tsubst_template_decl): Set current_template_parms.
+
+2021-02-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98951
+       * call.c (struct z_candidate): Mark rewritten and reversed as const.
+       (struct NonPublicField): Mark operator() as const.
+       (struct NonTrivialField): Likewise.
+
+2021-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98926
+       PR c++/98570
+       * pt.c (spec_hasher::equal): Set processing_template_decl.
+       * Make-lang.in (check-g++-strict-gc): Add --param
+       hash-table-verification-limit=10000.
+
+2021-02-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98899
+       * parser.c (cp_parser_class_specifier_1): Use any possible
+       DEFPARSE_INSTANTIATIONS to update DEFERRED_NOEXCEPT_PATTERN.
+       (cp_parser_save_noexcept): Initialize DEFPARSE_INSTANTIATIONS.
+       * pt.c (tsubst_exception_specification): Stash new_specs into
+       DEFPARSE_INSTANTIATIONS.
+       * tree.c (fixup_deferred_exception_variants): Use
+       UNPARSED_NOEXCEPT_SPEC_P.
+
+2021-02-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98929
+       PR c++/96199
+       * error.c (dump_expr): Ignore dummy object.
+       * pt.c (tsubst_baselink): Handle dependent scope.
+
+2021-02-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98295
+       * constexpr.c (cxx_eval_array_reference): Also set
+       new_ctx.object when setting new_ctx.ctor.
+
+2021-02-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98355
+       * parser.c (cp_parser_has_attribute_expression): Use
+       uses_template_parms instead of type_dependent_expression_p.
+
+2021-02-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98570
+       * cp-tree.h: Declare it.
+       * pt.c (comparing_dependent_aliases): New flag.
+       (template_args_equal, spec_hasher::equal): Set it.
+       (dependent_alias_template_spec_p): Assert that we don't
+       get non-types other than error_mark_node.
+       (instantiate_alias_template): SET_TYPE_STRUCTURAL_EQUALITY
+       on complex alias specializations.  Set TYPE_DEPENDENT_P here.
+       (tsubst_decl): Not here.
+       * module.cc (module_state::read_cluster): Set
+       comparing_dependent_aliases instead of
+       comparing_specializations.
+       * tree.c (cp_tree_equal): Remove comparing_specializations
+       module handling.
+       * typeck.c (structural_comptypes): Adjust.
+       (comptypes): Remove comparing_specializations handling.
+
+2021-01-29  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98843
+       * module.cc (module_state_config): Add num_entities field.
+       (module_state::read_entities): The entity_ary span is
+       already allocated.
+       (module_state::write_config): Write num_entities.
+       (module_state::read_config): Read num_entities.
+       (module_state::write): Set config's num_entities.
+       (module_state::read_initial): Allocate the entity ary
+       span here.
+       (module_state::read_language): Do not set entity_lwm
+       here.
+
+2021-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96137
+       * parser.c (cp_parser_class_name): If parser->scope is
+       error_mark_node, return it, otherwise continue.
+
+2021-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98841
+       * typeck.c (build_x_indirect_ref): For *this, return current_class_ref.
+
+2021-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/33661
+       PR c++/98847
+       * decl.c (cp_finish_decl): For register vars with asmspec in templates
+       call set_user_assembler_name and set DECL_HARD_REGISTER.
+       * pt.c (tsubst_expr): When instantiating DECL_HARD_REGISTER vars,
+       pass asmspec_tree to cp_finish_decl.
+
+2021-01-28  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98770
+       * module.cc (trees_out::decl_value): Swap is_typedef & TYPE_NAME
+       check order.
+       (trees_in::decl_value): Do typedef frobbing only when installing
+       a new typedef, adjust is_matching_decl call.  Swap is_typedef
+       & TYPE_NAME check.
+       (trees_in::is_matching_decl): Add is_typedef parm. Adjust variable
+       names and deal with typedef checking.
+
+2021-01-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97874
+       * name-lookup.c (lookup_using_decl): Clean up handling
+       of dependency and inherited constructors.
+       (finish_nonmember_using_decl): Handle DECL_DEPENDENT_P.
+       * pt.c (tsubst_expr): Handle DECL_DEPENDENT_P.
+
+2021-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97474
+       * call.c (type_passed_as): Don't mark invisiref restrict.
+
+2021-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97566
+       PR c++/98463
+       * class.c (layout_class_type): An empty field gets size 0.
+       (is_empty_field): New.
+       (check_bases): Check it.
+       * cp-tree.h (is_empty_field): Declare it.
+       * constexpr.c (cxx_eval_store_expression): Check it.
+       (cx_check_missing_mem_inits): Likewise.
+       * init.c (perform_member_init): Likewise.
+       * typeck2.c (process_init_constructor_record): Likewise.
+
+2021-01-25  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98646
+       * cvt.c (cp_fold_convert): Propagate TREE_NO_WARNING.
+
+2021-01-25  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98463
+       * constexpr.c (get_or_insert_ctor_field): Add check.
+       (cxx_eval_store_expression): Handle discontinuity of refs.
+
+2021-01-23  Anthony Sharp  <anthonysharp15@gmail.com>
+
+       * call.c (complain_about_access): Altered function.
+       * cp-tree.h (complain_about_access): Changed parameters of function.
+       (get_parent_with_private_access): Declared new function.
+       * search.c (get_parent_with_private_access): Defined new function.
+       * semantics.c (enforce_access): Modified function.
+       * typeck.c (complain_about_unrecognized_member): Updated function
+       arguments in complain_about_access.
+
+2021-01-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97399
+       * cp-tree.h (shared_member_p): Adjust declaration.
+       * parser.c (cp_parser_init_declarator): If the storage class
+       specifier is sc_static, pass true for static_p to
+       cp_parser_declarator.
+       (cp_parser_direct_declarator): Don't do inject_this_parm when
+       the declarator is a friend.
+       * search.c (shared_member_p): Change return type to bool and
+       adjust function body accordingly.  Return false for a dependent
+       USING_DECL instead of aborting.
+       * semantics.c (finish_qualified_id_expr): Rely on shared_member_p
+       even when type-dependent.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96623
+       * parser.c (inject_parm_decls): Remove a redundant assignment.
+       (cp_parser_class_specifier_1): Clear current_class_{ptr,ref}
+       before calling inject_parm_decls.
+
+2021-01-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98744
+       * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/95693
+       * init.c (build_zero_init_1): Revert the 2018-03-06 change to
+       return build_zero_cst for reference types.
+       * typeck2.c (process_init_constructor_record): Instead call
+       build_zero_cst here during error recovery instead of build_zero_init.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98545
+       * mangle.c (write_member_name): Emit abi_warn_or_compat_version_crosses
+       warnings regardless of abi_version_at_least.
+       (write_expression): When the expression is a dependent name
+       and an operator name, write "on" before writing its name.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97966
+       * pt.c (instantiate_class_template_1): Instantiate members
+       marked with attribute used only after we're done instantiating
+       the class.
+
+2021-01-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/71879
+       * semantics.c (finish_decltype_type): Set up a cp_unevaluated
+       sentinel at the start of the function.  Remove a now-redundant
+       manual adjustment of cp_unevaluated_operand.
+
+2021-01-21  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98624
+       * module.cc (depset::hash::find_dependencies): Add
+       module arg.
+       (trees_out::core_vals): Check state before calling
+       write_location.
+       (sort_cluster, module_state::write): Adjust
+       find_dependencies call.
+
+2021-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98672
+       * constexpr.c (check_for_return_continue_data): Add break_stmt member.
+       (check_for_return_continue): Also look for BREAK_STMT.  Handle
+       SWITCH_STMT by ignoring break_stmt from its body.
+       (potential_constant_expression_1) <case FOR_STMT>,
+       <case WHILE_STMT>: If the condition isn't constant true, check if
+       the loop body can contain a return stmt.
+       <case SWITCH_STMT>: Adjust check_for_return_continue_data initializer.
+       <case IF_STMT>: If recursion with tf_none is successful,
+       merge *jump_target from the branches - returns with highest priority,
+       breaks or continues lower.  If then branch is potentially constant and
+       doesn't return, check the else branch if it could return, break or
+       continue.
+
+2021-01-21  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98530
+       * name-lookup.c (lookup_class_binding): Rearrange a stat-hack.
+
+2021-01-20  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of
+       signed type.
+
+2021-01-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95434
+       * pt.c (tsubst) <case TEMPLATE_TYPE_PARM>: If tsubsting
+       CLASS_PLACEHOLDER_TEMPLATE yields a TEMPLATE_TEMPLATE_PARM,
+       adjust to its TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL.
+
+2021-01-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/82613
+       * parser.c (cp_parser_class_head): Defer access checking when
+       parsing the base-clause until all bases are seen and attached
+       to the class type.
+       * pt.c (instantiate_class_template): Likewise when substituting
+       into dependent bases.
+
+2021-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98742
+       * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_DETACH>: If
+       error_operand_p, remove clause without further checking.  Check
+       for non-NULL TYPE_NAME.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98659
+       * pt.c (maybe_instantiate_noexcept): Return false if FN is
+       error_mark_node.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98687
+       * name-lookup.c (push_using_decl_bindings): New, broken out of...
+       (finish_nonmember_using_decl): ...here.
+       * name-lookup.h (push_using_decl_bindings): Update declaration.
+       * pt.c (tsubst_expr): Update the call to push_using_decl_bindings.
+
+2021-01-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/41437
+       PR c++/58993
+       * search.c (friend_accessible_p): If scope is a hidden friend
+       defined inside a dependent class, consider access from the
+       class.
+       * parser.c (cp_parser_late_parsing_for_member): Don't push a
+       dk_no_check access state.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98333
+       * parser.c (cp_parser_class_specifier_1): Perform late-parsing
+       of NSDMIs before late-parsing of noexcept-specifiers.
+
+2021-01-19  Nathan Sidwell  <nathan@acm.org>
+
+       * module.cc (identifier): Merge overloads.
+
+2021-01-19  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98624
+       * module.cc (trees_out::write_location): Make static.
+
+2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * parser.c (cp_parser_omp_clause_detach): New.
+       (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
+       (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
+       * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+       * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+       Prevent use of detach with mergeable and overriding the data sharing
+       mode of the event handle.
+
+2021-01-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98538
+       * tree.c (cp_build_qualified_type_real): Propagate an array's
+       dependentness to the copy, if known.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98642
+       * call.c (unsafe_return_slot_p): Return int.
+       (init_by_return_slot_p): Split out from...
+       (unsafe_copy_elision_p): ...here.
+       (unsafe_copy_elision_p_opt): New name for old meaning.
+       (build_over_call): Adjust.
+       (make_safe_copy_elision): New.
+       * typeck2.c (split_nonconstant_init_1): Elide copy from safe
+       list-initialization.
+       * cp-tree.h: Adjust.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       * call.c (base_ctor_for, make_base_init_ok): New.
+       (build_over_call): Use make_base_init_ok.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/63707
+       * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
+       if we got a CONSTRUCTOR.
+
+2021-01-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98591
+       * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
+
+2021-01-14  Jason Merrill  <jason@redhat.com>
+
+       * typeck2.c (process_init_constructor_record): Use fldtype
+       variable consistently.
+
+2021-01-14  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98372
+       * tree.c (cp_tree_equal): Correct map_context logic.
+
+2021-01-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98231
+       * name-lookup.c (push_using_decl_bindings): New.
+       * name-lookup.h (push_using_decl_bindings): Declare.
+       * pt.c (tsubst_expr): Call push_using_decl_bindings.
+
+2021-01-13  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98626
+       * module.cc (module_add_import_initializers):  Pass a
+       zero-element argument vector.
+
+2021-01-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98611
+       * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
+       the template of a CTAD placeholder.
+
+2021-01-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98620
+       * typeck2.c (process_init_constructor_record): Don't emit
+       -Wmissing-field-initializers warnings in unevaluated contexts.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98481
+       * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
+       for types.
+       (mark_abi_tags_r): Likewise.
+       * decl2.c (min_vis_r): Likewise.
+       * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
+       typedefs.
+
+2021-01-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98551
+       * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
+       instead of AGGREGATE_TYPE_P before calling replace_result_decl.
+
+2021-01-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98515
+       * semantics.c (check_accessibility_of_qualified_id): Punt if
+       we're checking access of a scoped non-static member inside a
+       class template.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98329
+       * pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
+       cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
+       its location.
+       (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
+
+2021-01-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98441
+       * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
+       !late_return_type block.
+
+2021-01-07  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cxx_bind_parameters_in_call): Add comment.
+       (cxx_eval_store_expression): Add comment.
+
+2021-01-07  Jason Merrill  <jason@redhat.com>
+
+       * call.c (has_next): Factor out from...
+       (next_conversion): ...here.
+       (strip_standard_conversion): And here.
+       (is_subseq): And here.
+       (build_conv): Check it.
+       (standard_conversion): Don't call build_conv
+       for ck_identity.
+
+2021-01-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/95768
+       * error.c (dump_expr): Call c_pretty_printer::unary_expression.
+
+2021-01-05  Patrick Palka  <ppalka@redhat.com>
+
+       * pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
+       the type of the NTTP, substitute into the type again.  If the
+       type is still dependent, don't unify the NTTP.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
+       $(CODYLIB) after $(BACKEND).
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98469
+       * constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
+       Punt if lval is true.
+       * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
+       the result if it has a class type.
+
+2021-01-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/82099
+       * pt.c (resolve_overloaded_unification): Call
+       maybe_instantiate_noexcept after instantiating the function
+       decl.
+
+2021-01-05  Nathan Sidwell  <nathan@acm.org>
+
+       * parser.c (cp_parser_module_declaration): Alter diagnostic
+       text to say where is permissable.
+
+2021-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR c++/98316
+       * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
+
+2021-01-02  Jan Hubicka  <jh@suse.cz>
+
+       * cp-tree.h (cp_tree_c_finish_parsing): Declare.
+       * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
+       * tree.c (cp_tree_c_finish_parsing): New function.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/gcc/d/ChangeLog-2021 b/gcc/d/ChangeLog-2021
new file mode 100644 (file)
index 0000000..5a7c0b7
--- /dev/null
@@ -0,0 +1,1068 @@
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       * gdc.texi: Use one more https.
+
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       * gdc.texi: Replace http:// with https.
+
+2021-12-20  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd ad8412530.
+       * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove code generation
+       of _d_delstruct.
+       * runtime.def (DELSTRUCT): Remove.
+
+2021-12-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_init_options): Set default -fextern-std= to C++17.
+       * dmd/MERGE: Merge upstream dmd 93108bb9e.
+       * gdc.texi (Runtime Options): Document the default for -fextern-std=.
+
+2021-12-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/103529
+       * dmd/MERGE: Merge upstream dmd 3982604c5.
+       * Make-lang.in (D_FRONTEND_OBJS): Add d/root-optional.o.
+       * d-attribs.cc (build_attributes): Update for new front-end interface.
+       * d-codegen.cc (d_build_call): Likewise.
+       * d-compiler.cc (Compiler::paintAsType): Likewise.
+       * d-lang.cc (d_handle_option): Remove OPT_fpreview_intpromote, add
+       handling of OPT_frevert_intpromote.
+       * d-port.cc (Port::valcpy): Assert buffer is aligned.
+       * d-target.cc (Target::isVectorOpSupported): Update for new front-end
+       interface.
+       * decl.cc (layout_class_initializer): Likewise.
+       * expr.cc (lvalue_p): Likewise.
+       (binop_assignment): Likewise.
+       (ExprVisitor::visit): Likewise.
+       (ExprVisitor::visit (AssignExp *)): Remove generation of _d_arrayctor
+       and _d_arraysetctor library helpers.
+       (ExprVisitor::visit (VarExp *)): Support __traits(initSymbol).
+       * intrinsics.cc (expand_intrinsic_rotate): Update for new front-end
+       interface.
+       * lang.opt (fpreview=intpromote): Remove.
+       (frevert=intpromote): New.
+       * runtime.def (ARRAYCTOR): Remove.
+       (ARRAYSETCTOR): Remove.
+       * toir.cc (IRVisitor::visit): Update for new front-end interface.
+       * types.cc (layout_aggregate_members): Likewise.
+       * dmd/root/optional.d: New file.
+       * dmd/root/optional.h: New file.
+
+2021-12-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (get_symbol_decl): Align methods to MINIMUM_METHOD_BOUNDARY.
+
+2021-12-09  Martin Liska  <mliska@suse.cz>
+
+       * expr.cc: Call memcpy only when length != 0.
+
+2021-12-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 568496d5b.
+       * Make-lang.in (D_FRONTEND_OBJS): Add d/common-file.o,
+       d/common-outbuffer.o, d/common-string.o, d/file_manager.o,
+       d/importc.o.  Remove d/root-outbuffer.o.
+       (d/common-%.o): New recipe.
+       * d-builtins.cc (build_frontend_type): Update for new front-end
+       interface.
+       (d_build_d_type_nodes): Set noreturn_type_node.
+       * d-codegen.cc (d_build_call): Don't call function if one of the
+       arguments is type 'noreturn'.
+       (build_vthis_function): Propagate TYPE_QUAL_VOLATILE from original
+       function type.
+       * d-frontend.cc (eval_builtin): Update signature.
+       (getTypeInfoType): Likewise.
+       (toObjFile): New function.
+       * d-gimplify.cc (d_gimplify_call_expr): Always evaluate arguments from
+       left to right.
+       * d-lang.cc (d_handle_option): Handle OPT_ftransition_in.
+       (d_parse_file): Don't generate D main if it is declared in user code.
+       * d-tree.h (CALL_EXPR_ARGS_ORDERED): Remove.
+       (enum d_tree_index): Add DTI_BOTTOM_TYPE.
+       (noreturn_type_node): New.
+       * decl.cc (apply_pragma_crt): Remove.
+       (DeclVisitor::visit): Update for new front-end interface.
+       (DeclVisitor::visit (PragmaDeclaration *)): Don't handle
+       crt_constructor and crt_destructor pragmas.
+       (DeclVisitor::visit (VarDeclaration *)): Don't generate declarations
+       of type 'noreturn'.
+       (DeclVisitor::visit (FuncDeclaration *)): Stop adding parameters when
+       'noreturn' type has been encountered.
+       (get_symbol_decl): Set DECL_STATIC_CONSTRUCTOR and
+       DECL_STATIC_DESTRUCTOR on decl node if requested.
+       (aggregate_initializer_decl): Update for new front-end interface.
+       * expr.cc (ExprVisitor::visit (CallExp *)): Always use the 'this'
+       object as the result of calling any constructor function.
+       (ExprVisitor::visit): Update for new front-end interface.
+       * gdc.texi (Runtime Options): Document -fmain and -ftransition=in.
+       * lang.opt (ftransition=in): New option.
+       * modules.cc (get_internal_fn): Update for new front-end interface.
+       * types.cc (TypeVisitor::visit): Likewise.
+       (TypeVisitor::visit (TypeNoreturn *)): Return noreturn_type_node.
+       (TypeVisitor::visit (TypeFunction *)): Stop adding parameters when
+       'notreturn' type has been encountered.  Qualify function types that
+       return 'noreturn' as TYPE_QUAL_VOLATILE.
+
+2021-12-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/103520
+       * d-frontend.h (gc_disable): Declare.
+       * d-lang.cc (d_init_options): Disable the D runtime garbage collector
+       after initializing.
+
+2021-12-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (D_FRONTEND_OBJS): Prefix object files from the root
+       package with root-.
+       (d/root-%.o): New recipe.
+
+2021-12-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-spec.cc (lang_specific_driver): Set SKIPOPT on -static-libstdc++
+       and -static-libphobos only when target supports LD_STATIC_DYNAMIC.
+       Remove generate_option to re-add -static-libstdc++.
+
+2021-12-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.texi (Runtime Options): Document -fcheckaction=, -fextern-std=,
+       -fpreview=, -frevert=.
+       (Code Generation): Document -fdump-c++-spec=, -fdump-c++-spec-verbose,
+       -fsave-mixins=.
+       (Warnings): Update list of supported -ftransitions=.
+
+2021-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd b8384668f.
+       * Make-lang.in (d-warn): Use strict warnings.
+       (DMD_WARN_CXXFLAGS): Remove.
+       (DMD_COMPILE): Remove.
+       (CHECKING_DFLAGS): Define.
+       (WARN_DFLAGS): Define.
+       (ALL_DFLAGS): Define.
+       (DCOMPILE.base): Define.
+       (DCOMPILE): Define.
+       (DPOSTCOMPILE): Define.
+       (DLINKER): Define.
+       (DLLINKER): Define.
+       (D_FRONTEND_OBJS): Add new dmd front-end objects.
+       (D_GENERATED_SRCS): Remove.
+       (D_GENERATED_OBJS): Remove.
+       (D_ALL_OBJS): Remove D_GENERATED_OBJS.
+       (d21$(exeext)): Build using DLLINKER and -static-libphobos.
+       (d.tags): Remove dmd/*.c and dmd/root/*.c.
+       (d.mostlyclean): Remove D_GENERATED_SRCS, d/idgen$(build_exeext),
+       d/impcnvgen$(build_exeext).
+       (D_INCLUDES): Include $(srcdir)/d/dmd/res.
+       (CFLAGS-d/id.o): Remove.
+       (CFLAGS-d/impcnvtab.o): Remove.
+       (d/%.o): Build using DCOMPILE and DPOSTCOMPILE.  Update dependencies
+       from d/dmd/%.c to d/dmd/%.d.
+       (d/idgen$(build_exeext)): Remove.
+       (d/impcnvgen$(build_exeext)): Remove.
+       (d/id.c): Remove.
+       (d/id.h): Remove.
+       (d/impcnvtab.c): Remove.
+       (d/%.dmdgen.o): Remove.
+       (D_SYSTEM_H): Remove.
+       (d/idgen.dmdgen.o): Remove.
+       (d/impcnvgen.dmdgen.o): Remove.
+       * config-lang.in (boot_language): New variable.
+       * d-attribs.cc: Include dmd/expression.h.
+       * d-builtins.cc: Include d-frontend.h.
+       (build_frontend_type): Update for new front-end interface.
+       (d_eval_constant_expression): Likewise.
+       (d_build_builtins_module): Likewise.
+       (maybe_set_builtin_1): Likewise.
+       (d_build_d_type_nodes): Likewise.
+       * d-codegen.cc (d_decl_context): Likewise.
+       (declaration_reference_p): Likewise.
+       (declaration_type): Likewise.
+       (parameter_reference_p): Likewise.
+       (parameter_type): Likewise.
+       (get_array_length): Likewise.
+       (build_delegate_cst): Likewise.
+       (build_typeof_null_value): Likewise.
+       (identity_compare_p): Likewise.
+       (lower_struct_comparison): Likewise.
+       (build_filename_from_loc): Likewise.
+       (build_assert_call): Remove LIBCALL_SWITCH_ERROR.
+       (build_bounds_index_condition): Call LIBCALL_ARRAYBOUNDS_INDEXP on
+       bounds error.
+       (build_bounds_slice_condition): Call LIBCALL_ARRAYBOUNDS_SLICEP on
+       bounds error.
+       (array_bounds_check): Update for new front-end interface.
+       (checkaction_trap_p): Handle CHECKACTION_context.
+       (get_function_type): Update for new front-end interface.
+       (d_build_call): Likewise.
+       * d-compiler.cc: Remove include of dmd/scope.h.
+       (Compiler::genCmain): Remove.
+       (Compiler::paintAsType): Update for new front-end interface.
+       (Compiler::onParseModule): Likewise.
+       * d-convert.cc (convert_expr): Remove call to LIBCALL_ARRAYCAST.
+       (convert_for_rvalue): Update for new front-end interface.
+       (convert_for_assignment): Likewise.
+       (convert_for_condition): Likewise.
+       (d_array_convert): Likewise.
+       * d-diagnostic.cc (error): Remove.
+       (errorSupplemental): Remove.
+       (warning): Remove.
+       (warningSupplemental): Remove.
+       (deprecation): Remove.
+       (deprecationSupplemental): Remove.
+       (message): Remove.
+       (vtip): New.
+       * d-frontend.cc (global): Remove.
+       (Global::_init): Remove.
+       (Global::startGagging): Remove.
+       (Global::endGagging): Remove.
+       (Global::increaseErrorCount): Remove.
+       (Loc::Loc): Remove.
+       (Loc::toChars): Remove.
+       (Loc::equals): Remove.
+       (isBuiltin): Update for new front-end interface.
+       (eval_builtin): Likewise.
+       (getTypeInfoType): Likewise.
+       (inlineCopy): Remove.
+       * d-incpath.cc: Include d-frontend.h.
+       (add_globalpaths): Call d_gc_malloc to allocate Strings.
+       (add_filepaths): Likewise.
+       * d-lang.cc: Include dmd/id.h, dmd/root/file.h, d-frontend.h.  Remove
+       include of dmd/mars.h, id.h.
+       (entrypoint_module): Remove.
+       (entrypoint_root_module): Remove.
+       (deps_write_string): Update for new front-end interface.
+       (deps_write): Likewise.
+       (d_init_options): Call rt_init.  Remove setting global params that are
+       default initialized by the front-end.
+       (d_handle_option): Handle OPT_fcheckaction_, OPT_fdump_c___spec_,
+       OPT_fdump_c___spec_verbose, OPT_fextern_std_, OPT_fpreview,
+       OPT_revert, OPT_fsave_mixins_, and OPT_ftransition.
+       (d_post_options): Propagate dip1021 and dip1000 preview flags to
+       dip25, and flag_diagnostics_show_caret to printErrorContext.
+       (d_add_entrypoint_module): Remove.
+       (d_parse_file): Update for new front-end interface.
+       (d_type_promotes_to): Likewise.
+       (d_types_compatible_p): Likewise.
+       * d-longdouble.cc (CTFloat::zero): Remove.
+       (CTFloat::one): Remove.
+       (CTFloat::minusone): Remove.
+       (CTFloat::half): Remove.
+       * d-system.h (POSIX): Remove.
+       (realpath): Remove.
+       (isalpha): Remove.
+       (isalnum): Remove.
+       (isdigit): Remove.
+       (islower): Remove.
+       (isprint): Remove.
+       (isspace): Remove.
+       (isupper): Remove.
+       (isxdigit): Remove.
+       (tolower): Remove.
+       (_mkdir): Remove.
+       (INT32_MAX): Remove.
+       (INT32_MIN): Remove.
+       (INT64_MIN): Remove.
+       (UINT32_MAX): Remove.
+       (UINT64_MAX): Remove.
+       * d-target.cc: Include calls.h.
+       (target): Remove.
+       (define_float_constants): Remove initialization of snan.
+       (Target::_init): Update for new front-end interface.
+       (Target::isVectorTypeSupported): Likewise.
+       (Target::isVectorOpSupported): Remove cases for unordered operators.
+       (TargetCPP::typeMangle): Update for new front-end interface.
+       (TargetCPP::parameterType): Likewise.
+       (Target::systemLinkage): Likewise.
+       (Target::isReturnOnStack): Likewise.
+       (Target::isCalleeDestroyingArgs): Define.
+       (Target::preferPassByRef): Define.
+       * d-tree.h (d_add_entrypoint_module): Remove.
+       * decl.cc (gcc_attribute_p): Update for new front-end interface.
+       (apply_pragma_crt): Define.
+       (DeclVisitor::visit(PragmaDeclaration *)): Handle pragmas
+       crt_constructor and crt_destructor.
+       (DeclVisitor::visit(TemplateDeclaration *)): Update for new front-end
+       interface.
+       (DeclVisitor::visit): Likewise.
+       (DeclVisitor::finish_vtable): Likewise.
+       (get_symbol_decl): Error if template has more than one nesting
+       context.  Update for new front-end interface.
+       (make_thunk): Update for new front-end interface.
+       (get_vtable_decl): Likewise.
+       * expr.cc (ExprVisitor::visit): Likewise.
+       (build_return_dtor): Likewise.
+       * imports.cc (ImportVisitor::visit): Likewise.
+       * intrinsics.cc: Include dmd/expression.h.  Remove include of
+       dmd/mangle.h.
+       (maybe_set_intrinsic): Update for new front-end interface.
+       * intrinsics.def (INTRINSIC_ROL): Update intrinsic signature.
+       (INTRINSIC_ROR): Likewise.
+       (INTRINSIC_ROR_TIARG): Likewise.
+       (INTRINSIC_TOPREC): Likewise.
+       (INTRINSIC_TOPRECL): Likewise.
+       (INTRINSIC_TAN): Update intrinsic module and signature.
+       (INTRINSIC_ISNAN): Likewise.
+       (INTRINSIC_ISFINITE): Likewise.
+       (INTRINSIC_COPYSIGN): Define intrinsic.
+       (INTRINSIC_COPYSIGNI): Define intrinsic.
+       (INTRINSIC_EXP): Update intrinsic module.
+       (INTRINSIC_EXPM1): Likewise.
+       (INTRINSIC_EXP2): Likewise.
+       (INTRINSIC_LOG): Likewise.
+       (INTRINSIC_LOG2): Likewise.
+       (INTRINSIC_LOG10): Likewise.
+       (INTRINSIC_POW): Likewise.
+       (INTRINSIC_ROUND): Likewise.
+       (INTRINSIC_FLOORF): Likewise.
+       (INTRINSIC_FLOOR): Likewise.
+       (INTRINSIC_FLOORL): Likewise.
+       (INTRINSIC_CEILF): Likewise.
+       (INTRINSIC_CEIL): Likewise.
+       (INTRINSIC_CEILL): Likewise.
+       (INTRINSIC_TRUNC): Likewise.
+       (INTRINSIC_FMIN): Likewise.
+       (INTRINSIC_FMAX): Likewise.
+       (INTRINSIC_FMA): Likewise.
+       (INTRINSIC_VA_ARG): Update intrinsic signature.
+       (INTRINSIC_VASTART): Likewise.
+       * lang.opt (fcheck=): Add alternate aliases for contract switches.
+       (fcheckaction=): New option.
+       (check_action): New Enum and EnumValue entries.
+       (fdump-c++-spec-verbose): New option.
+       (fdump-c++-spec=): New option.
+       (fextern-std=): New option.
+       (extern_stdcpp): New Enum and EnumValue entries
+       (fpreview=): New options.
+       (frevert=): New options.
+       (fsave-mixins): New option.
+       (ftransition=): Update options.
+       * modules.cc (get_internal_fn): Replace Prot with Visibility.
+       (build_internal_fn): Likewise.
+       (build_dso_cdtor_fn): Likewise.
+       (build_module_tree): Remove check for __entrypoint module.
+       * runtime.def (P5): Define.
+       (ARRAYBOUNDS_SLICEP): Define.
+       (ARRAYBOUNDS_INDEXP): Define.
+       (NEWTHROW): Define.
+       (ADCMP2): Remove.
+       (ARRAYCAST): Remove.
+       (SWITCH_STRING): Remove.
+       (SWITCH_USTRING): Remove.
+       (SWITCH_DSTRING): Remove.
+       (SWITCH_ERROR): Remove.
+       * toir.cc (IRVisitor::visit): Update for new front-end interface.
+       (IRVisitor::check_previous_goto): Remove checks for case and default
+       statements.
+       (IRVisitor::visit(SwitchStatement *)): Remove handling of string
+       switch conditions.
+       * typeinfo.cc: Include d-frontend.h.
+       (get_typeinfo_kind): Update for new front-end interface.
+       (make_frontend_typeinfo): Likewise.
+       (TypeInfoVisitor::visit): Likewise.
+       (builtin_typeinfo_p): Likewise.
+       (get_typeinfo_decl): Likewise.
+       (build_typeinfo): Likewise.
+       * types.cc (valist_array_p): Likewise.
+       (make_array_type): Likewise.
+       (merge_aggregate_types): Likewise.
+       (TypeVisitor::visit(TypeBasic *)): Likewise.
+       (TypeVisitor::visit(TypeFunction *)): Likewise.
+       (TypeVisitor::visit(TypeStruct *)): Update comment.
+       * verstr.h: Removed.
+       * d-frontend.h: New file.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/103021
+       * Make-lang.in: Use ETAGS variable in TAGS target.
+
+2021-11-28  Martin Liska  <mliska@suse.cz>
+
+       * d-attribs.cc (parse_optimize_options): Fix thinko.
+
+2021-11-26  Martin Liska  <mliska@suse.cz>
+
+       * d-attribs.cc (parse_optimize_options): Check index before
+       accessing cl_options.
+
+2021-11-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (d_finish_decl): Use HOST_WIDE_INT for type size
+       temporaries.
+
+2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/102663
+       * Make-lang.in: Allow dvi-formatted documentation
+       to be installed.
+
+2021-10-08  Martin Liska  <mliska@suse.cz>
+
+       * d-lang.cc (d_post_options): Use new macro
+       OPTION_SET_P.
+
+2021-10-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * d-spec.cc (lang_specific_driver): Push the -static-libstdc++
+       option back onto the command line for targets without support
+       for -Bstatic/dynamic.
+
+2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102574
+       * d-spec.cc (lang_specific_driver): Link libstdc++ statically if
+       -static-libstdc++ was given on command-line.
+
+2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (d_handle_optimize_attribute): Save target node before
+       calling parse_optimize_options in case it changes.
+
+2021-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102185
+       * d-builtins.cc (d_eval_constant_expression): Don't include
+       terminating null pointer in string expression conversion.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc: Include dmd/module.h.
+       (build_filename_from_loc): New function.
+       (d_assert_call): Rename to...
+       (build_assert_call): ...this.
+       (build_array_bounds_call): Call arrayboundsp variant of the array
+       bounds failure callback.
+       (build_bounds_condition): Rename to...
+       (build_bounds_index_condition): ...this.  Update signature.
+       (build_bounds_slice_condition): New function.
+       (checkaction_trap_p): New function.
+       (d_assert_call): Call assertp variant of assert failure callback.
+       * d-tree.h (class IndexExp): Declare.
+       (class SliceExp): Declare.
+       (build_bounds_condition): Remove.
+       (build_assert_call): Declare.
+       (build_bounds_index_condition): Declare.
+       (build_bounds_slice_condition): Declare.
+       (checkaction_trap_p): Declare.
+       (d_assert_call): Remove.
+       * expr.cc (ExprVisitor::visit(IndexExp *)): Call
+       build_bounds_index_condition.
+       (ExprVisitor::visit(SliceExp *)): Call build_bounds_slice_condition.
+       (ExprVisitor::visit(AssertExp *)): Update setting of libcall.
+       * runtime.cc (enum d_libcall_type): Add LCT_IMMUTABLE_CHARPTR.
+       (get_libcall_type): Handle LCT_IMMUTABLE_CHARPTR.
+       * runtime.def (ASSERT): Rename to...
+       (ASSERTP): ...this.  Update signature.
+       (UNITTEST): Rename to...
+       (UNITTESTP): ...this.  Update signature.
+       (ARRAY_BOUNDS): Rename to...
+       (ARRAYBOUNDSP): ...this.  Updates signature.
+       * toir.cc (IRVisitor::visit(SwitchErrorStatement *)): Update call.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (class TypeInfoVisitor::layout_base): Update comment.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::visit(TypeInfoClassDeclaration *)):
+       Use int to store type flags.
+       (TypeInfoVisitor::visit(TypeInfoStructDeclaration *)): Likewise.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * types.cc (TypeVisitor::visit(TypeEnum*)): Get wchar_t type from
+       build_frontend_type.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-convert.cc (convert_for_rvalue): Convert switch statement into if
+       condition.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_init_versions): Use POINTER_SIZE for testing
+       whether to predefine D_LP64.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102094
+       * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P.
+
+2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR other/93067
+       * d-lang.cc (d_input_charset_callback): New function.
+       (d_init): Call new function
+       diagnostic_initialize_input_context().
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (binary_op): Remove dead code.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)):
+       Always layout initializer for the m_RTInfo field.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate
+       PREDICT_EXPR.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment
+         for generating static array assignment with literal.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (enum_initializer_decl): Only handle named enums.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if
+       they are public.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit
+       for declaration directly.
+       (DeclVisitor::visit (ClassDeclaration *)): Likewise.
+       (aggregate_initializer_decl): Likewise.  Set sinit after creating.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (build_frontend_type): Use Identifier::idPool to
+       generate anonymous field name.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * types.cc (layout_aggregate_type): Call hasMonitor.
+       * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise.
+       (layout_cpp_typeinfo): Likewise.  Don't emit vtable unless
+       have_typeinfo_p.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (deps_add_target): Insert null terminator in buffer.
+       (deps_write): Likewise.
+       (d_parse_file): Likewise.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls
+       length on conversion failure.
+
+2021-07-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (d_nested_class): Rename to ...
+       (get_outer_function): ... this.  Handle all aggregate declarations.
+       (d_nested_struct): Remove.
+       (find_this_tree): Use get_outer_function.
+       (get_framedecl): Likewise.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101672
+       * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it
+       doesn't exist.
+       (check_typeinfo_type): Don't warn if there's no location.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101664
+       * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as
+       result for C++ constructor calls.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96435
+       * d-convert.cc (convert_for_rvalue): New function.
+       * d-tree.h (convert_for_rvalue): Declare.
+       * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue.
+       (build_return_dtor): Likewise.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101657
+       * d-lang.cc (d_parse_file): Remove generated D header files on error.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101656
+       * d-diagnostic.cc (escape_d_format): Don't escape quoted format
+       strings.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101640
+       * expr.cc (binary_op): Use build2 instead of fold_build2.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101490
+       * dmd/MERGE: Merge upstream dmd 27e388b4c.
+       * d-codegen.cc (build_array_index): Handle void arrays same as byte.
+       * d-convert.cc (convert_expr): Handle converting to zero-sized arrays.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101441
+       * dmd/MERGE: Merge upstream dmd f8c1ca928.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101127
+       * d-builtins.cc (d_builtin_function_ext_scope): New function.
+       * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define.
+       * d-tree.h (d_builtin_function_ext_scope): Declare.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101619
+       * dmd/MERGE: Merge upstream dmd 1d8386a63.
+
+2021-07-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101273
+       * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that
+       use a temporary, and replace with return value.
+
+2021-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101282
+       * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD
+       assignment expressions.
+
+2021-06-11  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100999
+       * dmd/MERGE: Merge upstream dmd 7a3808254.
+
+2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100967
+       * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to
+       check_typeinfo_type and call new function.
+       * d-tree.h (check_typeinfo_type): Declare.
+       * typeinfo.cc: Include dmd/scope.h.
+       (create_frontend_tinfo_types): Generate front-end types even if Object
+       is missing.
+       (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call
+       new function.
+       (check_typeinfo_type): New function.
+
+2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100964
+       * dmd/MERGE: Merge upstream dmd 4a4e46a6f.
+
+2021-06-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100935
+       * dmd/MERGE: Merge upstream dmd f3fdeb578.
+
+2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100882
+       * d-codegen.cc (build_assign): Construct initializations inside
+       TARGET_EXPR_INITIAL.
+       (compound_expr): Remove intermediate expressions that have no
+       side-effects.
+       (return_expr): Construct returns inside TARGET_EXPR_INITIAL.
+       * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment
+       to TARGET_EXPR_SLOT.
+
+2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp.
+
+2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function
+       instead of strncmp.
+
+2021-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/dinterpret.c (evaluateIfBuiltin): Revert last change.
+       * dmd/dmangle.c: Likewise.
+       * dmd/hdrgen.c: Likewise.
+       * dmd/identifier.c (Identifier::toHChars2): Likewise.
+
+2021-05-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd b7d146c4c.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * d-builtins.cc (do_build_builtin_fn): Use startswith
+       function instead of strncmp.
+       * dmd/dinterpret.c (evaluateIfBuiltin): Likewise.
+       * dmd/dmangle.c: Likewise.
+       * dmd/hdrgen.c: Likewise.
+       * dmd/identifier.c (Identifier::toHChars2): Likewise.
+
+2021-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98457
+       * d-diagnostic.cc (expand_d_format): Handle escaped backticks.
+       (escape_d_format): New funtion.
+       (verror): Call escape_d_format on prefixing strings.
+       (vdeprecation): Likewise.
+
+2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99914
+       * d-target.def (d_templates_always_comdat): New hook.
+       * d-tree.h (mark_needed): Remove prototype.
+       * decl.cc: Include d-target.h.
+       (mark_needed): Rename to...
+       (d_mark_needed): ...this.  Make static.
+       (set_linkage_for_decl): Put variables in comdat if
+       d_templates_always_comdat.
+
+2021-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.cc (d_handle_target_object_format): New function.
+       (d_language_target_info): Add d_handle_target_object_format as handler
+       for objectFormat key.
+       (Target::getTargetInfo): Continue if handler returned NULL_TREE.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.cc (Target::_init): Call new targetdm hook to register OS
+       specific target info keys.
+       * d-target.def (d_register_os_target_info): New hook.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_add_builtin_version): Remove all setting of
+       target-specific global.params.
+       * typeinfo.cc (create_typeinfo): Don't add argType fields to
+       TypeInfo_Struct.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99914
+       * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't set
+       DECL_INSTANTIATED on static initializer declarations.
+       (DeclVisitor::visit (ClassDeclaration *)): Likewise.
+       (DeclVisitor::visit (EnumDeclaration *)): Likewise.
+       (d_finish_decl): Move call to set_linkage_for_decl to...
+       (declare_extern_var): ...here.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.cc (Target::_init): Call new targetdm hook to register CPU
+       specific target info keys.
+       * d-target.def (d_register_cpu_target_info): New hook.
+
+2021-04-14  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-target.cc (Target::systemLinkage): Return LINKwindows if
+       d_has_stdcall_convention applies to LINKsystem.
+       * d-target.def (d_has_stdcall_convention): New hook.
+       * types.cc (TypeVisitor::visit (TypeFunction *)): Insert "stdcall"
+       function attribute if d_has_stdcall_convention applies to LINKwindows.
+
+2021-04-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 0450061c8.
+
+2021-04-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc: Include fold-const.h and opts.h.
+       (attr_noreturn_exclusions): Add alloc_size.
+       (attr_const_pure_exclusions): Likewise.
+       (attr_inline_exclusions): Add target_clones.
+       (attr_noinline_exclusions): Rename forceinline to always_inline.
+       (attr_target_exclusions): New array.
+       (attr_target_clones_exclusions): New array.
+       (attr_alloc_exclusions): New array.
+       (attr_cold_hot_exclusions): New array.
+       (d_langhook_common_attribute_table): Add new D attribute handlers.
+       (build_attributes): Update to look for gcc.attributes.  Issue warning
+       if not given a struct literal.  Handle void initialized arguments.
+       (handle_always_inline_attribute): Remove function.
+       (d_handle_noinline_attribute): Don't extract TYPE_LANG_FRONTEND.
+       (d_handle_forceinline_attribute): Rename to...
+       (d_handle_always_inline_attribute): ...this.  Remove special handling.
+       (d_handle_flatten_attribute): Don't extract TYPE_LANG_FRONTEND.
+       (d_handle_target_attribute): Likewise.  Warn about empty arguments.
+       (d_handle_target_clones_attribute): New function.
+       (optimize_args): New static variable.
+       (parse_optimize_options): New function.
+       (d_handle_optimize_attribute): New function.
+       (d_handle_noclone_attribute): Don't extract TYPE_LANG_FRONTEND.
+       (d_handle_alias_attribute): Remove function.
+       (d_handle_noicf_attribute): New function.
+       (d_handle_noipa_attribute): New function.
+       (d_handle_section_attribute): Call the handle_generic_attribute target
+       hook after performing target independent processing.
+       (d_handle_symver_attribute): New function.
+       (d_handle_noplt_attribute): New function.
+       (positional_argument): New function.
+       (d_handle_alloc_size_attribute): New function.
+       (d_handle_cold_attribute): New function.
+       (d_handle_restrict_attribute): New function.
+       (d_handle_used_attribute): New function.
+       * decl.cc (gcc_attribute_p): Update to look for gcc.attributes.
+       (get_symbol_decl): Update decl source location of old prototypes to
+       the new declaration being merged.
+       * types.cc (layout_aggregate_members): Apply user defined attributes
+       on fields.
+
+2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99917
+       * dmd/MERGE: Merge upstream dmd d16195406.
+
+2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-codegen.cc (build_frame_type): Use Array::find to get index of
+       element.
+
+2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-diagnostic.cc (vwarning): Increment gaggedWarnings if warning
+       message was suppressed.
+       (vdeprecation): Likewise for deprecation messages.
+
+2021-04-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 5cc71ff83.
+
+2021-04-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99914
+       * d-lang.cc (d_init): Disable flag_weak_templates if no support for
+       weak or one-only symbols.
+       * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
+       (DECL_INSTANTIATED): New macro.
+       (d_comdat_linkage): Remove declaration.
+       (d_linkonce_linkage): Remove declaration.
+       (set_linkage_for_decl): New declaration.
+       * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to
+       d_linkonce_linkage with setting DECL_INSTANTIATED.
+       (DeclVisitor::visit (ClassDeclaration *)): Likewise.
+       (DeclVisitor::visit (EnumDeclaration *)): Likewise.
+       (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to
+       d_linkonce_linkage.
+       (get_symbol_decl): Call set_linkage_for_decl instead of
+       d_linkonce_linkage.
+       (d_finish_decl): Call set_linkage_for_decl.
+       (d_comdat_linkage): Made function static.  Only set DECL_COMDAT for
+       DECL_INSTANTIATED decls.
+       (d_linkonce_linkage): Remove function.
+       (d_weak_linkage): New function.
+       (set_linkage_for_decl): New function.
+       * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates,
+       update documentation of option.
+       * lang.opt (fweak): Rename option to ...
+       (fweak-templates): ... this.  Update help string.
+       * modules.cc (get_internal_fn): Add Prot parameter.  Set generated
+       function flag.
+       (build_internal_fn): Update call to get_internal_fn.
+       (build_dso_cdtor_fn): Likewise.
+       (register_moduleinfo): Call d_finish_decl on dso_slot_node and
+       dso_initialized_node.
+       * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
+       set_linkage_for_decl instead of d_comdat_linkage.
+       (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to
+       d_linkonce_linkage and d_comdat_linkage.
+       (get_cpp_typeinfo_decl): Likewise.
+
+2021-04-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 3b808e838.
+       * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o.
+       * d-codegen.cc (build_struct_literal): Handle special enums.
+       * d-convert.cc (convert_expr): Handle noreturn type.
+       (convert_for_condition): Likewise.
+       * d-target.cc (Target::_init): Set type for wchar_t.
+       (TargetCPP::derivedClassOffset): New method.
+       (Target::libraryObjectMonitors): New method.
+       * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of
+       type noreturn.
+       * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning
+       noreturn types.
+       * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method.
+       (TypeVisitor::visit (TypeEnum *)): Handle special enums.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_enum_underlying_base_type): New function.
+       (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as
+       d_enum_underlying_base_type.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (DMDGEN_COMPILE): Remove.
+       (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to
+       build all D generator programs.
+       (D_SYSTEM_H): New macro.
+       (d/idgen.dmdgen.o): Add dependencies to build.
+       (d/impcnvgen.dmdgen.o): Likewise.
+       * d-system.h: Include bconfig.h if GENERATOR_FILE is defined.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config-lang.in (gtfiles): Remove modules.cc.
+       * modules.cc (struct module_info): Remove GTY marker.
+       (static_ctor_list): Remove variable.
+       (static_dtor_list): Remove variable.
+       (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on
+       dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor.
+       (d_finish_compilation): Remove static ctor/dtor handling.
+
+2021-03-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-lang.cc (d_init_options_struct): Don't set default
+       flag_complex_method.
+
+2021-03-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99337
+       * dmd/MERGE: Merge upstream dmd a3c9bf422.
+
+2021-02-13  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 7132b3537.
+       * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o,
+       d/semantic3.o, and d/templateparamsem.o.
+       * d-compiler.cc (Compiler::genCmain): Update calls to semantic
+       entrypoint functions.
+       * d-lang.cc (d_parse_file): Likewise.
+       * typeinfo.cc (make_frontend_typeinfo): Likewise.
+
+2021-02-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the
+       intrinsic code name.
+       * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and
+       BUILT_IN_ into the intrinsic and built-in code names.
+       * intrinsics.def:  Explicitly use full intrinsic and built-in
+       codes in all definitions.
+
+2021-02-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 46133f761.
+       * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc.
+       (maybe_set_builtin_1): Likewise.
+       * d-frontend.cc (eval_builtin): Adjust condition for early return.
+       * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc.
+       (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
+       * intrinsics.def (INTRINSIC_BT): Update signature.
+       (INTRINSIC_BT64): Likewise.
+       (INTRINSIC_BSWAP16): New intrinsic.
+       (INTRINSIC_VLOAD8): Update module.
+       (INTRINSIC_VLOAD16): Likewise.
+       (INTRINSIC_VLOAD32): Likewise.
+       (INTRINSIC_VLOAD64): Likewise.
+       (INTRINSIC_VSTORE8): Likewise.
+       (INTRINSIC_VSTORE16): Likewise.
+       (INTRINSIC_VSTORE32): Likewise.
+       (INTRINSIC_VSTORE64): Likewise.
+       (INTRINSIC_ADDS): Update signature.
+       (INTRINSIC_ADDSL): Likewise.
+       (INTRINSIC_ADDU): Likewise.
+       (INTRINSIC_ADDUL): Likewise.
+       (INTRINSIC_SUBS): Likewise.
+       (INTRINSIC_SUBSL): Likewise.
+       (INTRINSIC_SUBU): Likewise.
+       (INTRINSIC_SUBUL): Likewise.
+       (INTRINSIC_MULS): Likewise.
+       (INTRINSIC_MULSL): Likewise.
+       (INTRINSIC_MULU): Likewise.
+       (INTRINSIC_MULUI): Likewise.
+       (INTRINSIC_MULUL): Likewise.
+       (INTRINSIC_NEGS): Likewise.
+       (INTRINSIC_NEGSL): Likewise.
+
+2021-02-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98921
+       * dmd/MERGE: Merge upstream dmd 5e2a81d9c.
+
+2021-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't
+       layout m_arg1 and m_arg2 fields.
+
+2021-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 609c3ce2d.
+       * d-compiler.cc (Compiler::loadModule): Rename to ...
+       (Compiler::onParseModule): ... this.
+       (Compiler::onImport): New function.
+       * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule.
+
+2021-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 3a7ebef73.
+
+2021-01-11  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 2d3d13748.
+       * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and
+       OPT_ftransition_import.
+       * gdc.texi (Warnings): Remove documentation for -ftransition=import
+       and -ftransition=checkimports.
+       * lang.opt (ftransition=checkimports): Remove.
+       (ftransition=import): Remove.
+
+2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd cb1106ad5.
+
+2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 9bba772fa.
+
+2021-01-09  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd e598f69c0.
+
+2021-01-07  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 9038e64c5.
+       * d-builtins.cc (build_frontend_type): Update call to
+       Parameter::create.
+
+2021-01-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd a5c86f5b9.
+       * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees
+       created by build_string_literal.
+       * d-frontend.cc (retStyle): Remove function.
+       * d-target.cc (d_language_target_info): New variable.
+       (d_target_info_table): Likewise.
+       (Target::_init): Initialize d_target_info_table.
+       (Target::isReturnOnStack): New function.
+       (d_add_target_info_handlers): Likewise.
+       (d_handle_target_cpp_std): Likewise.
+       (d_handle_target_cpp_runtime_library): Likewise.
+       (Target::getTargetInfo): Likewise.
+       * d-target.h (struct d_target_info_spec): New type.
+       (d_add_target_info_handlers): Declare.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gdc.texi: Bump @copyrights-d year.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/gcc/fortran/ChangeLog-2021 b/gcc/fortran/ChangeLog-2021
new file mode 100644 (file)
index 0000000..04889e2
--- /dev/null
@@ -0,0 +1,2563 @@
+2021-12-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102332
+       * expr.c (gfc_get_variable_expr): Avoid NULL pointer dereferences
+       during handling of errors with invalid uses of CLASS variables.
+       * match.c (select_type_set_tmp): Likewise.
+       * primary.c (gfc_match_varspec): Likewise.
+       * resolve.c (resolve_variable): Likewise.
+       (resolve_select_type): Likewise.
+
+2021-12-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/103828
+       * trans-decl.c (generate_local_decl): Do not call
+       gfc_conv_scalar_char_value(), but check the type tree.
+       * trans-expr.c (gfc_conv_scalar_char_value): Rename to
+       conv_scalar_char_value, do not alter type tree.
+       (gfc_conv_procedure_call): Adjust call to renamed
+       conv_scalar_char_value() function.
+       * trans-types.c (gfc_sym_type): Take care of
+       CHARACTER(C_CHAR), VALUE arguments.
+       * trans.h (gfc_conv_scalar_char_value): Remove prototype.
+
+2021-12-28  Martin Liska  <mliska@suse.cz>
+
+       * gfortran.texi: Replace http:// with https.
+       * intrinsic.texi: Likewise.
+
+2021-12-22  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103778
+       * check.c (is_c_interoperable): A BOZ literal constant is not
+       interoperable.
+
+2021-12-22  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103776
+       * match.c (match_case_selector): Reject expressions in CASE
+       selector which are not scalar.
+
+2021-12-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103412
+       * check.c (gfc_check_sizeof): Reject BOZ type argument.
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103717
+       * frontend-passes.c (doloop_code): Prevent NULL pointer
+       dereference when checking for passing a do-loop variable to a
+       contained procedure with an interface mismatch.
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103718
+       PR fortran/103719
+       * frontend-passes.c (doloop_contained_procedure_code): Add several
+       checks to prevent NULL pointer dereferences on valid and invalid
+       code called within do-loops.
+
+2021-12-14  Manfred Schwarb  <manfred99@gmx.ch>
+
+       PR fortran/91497
+       * simplify.c (simplify_min_max): Disable conversion warnings for
+       MIN1 and MAX1.
+
+2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/103576
+       * openmp.c (is_scalar_intrinsic_expr): Fix condition.
+       (resolve_omp_atomic): Fix/update checks, accept compare.
+       * trans-openmp.c (gfc_trans_omp_atomic): Handle compare.
+
+2021-12-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103606
+       * resolve.c (resolve_fl_procedure): Do not access CLASS components
+       before class container has been built.
+
+2021-12-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103418
+       * check.c (variable_check): Replace previous check of procedure
+       dummy arguments with INTENT(IN) attribute when passed to intrinsic
+       procedures by gfc_check_vardef_context.
+       * expr.c (gfc_check_vardef_context): Correct check of INTENT(IN)
+       dummy arguments for the case of sub-components of a CLASS pointer.
+
+2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103609
+       * symbol.c (gfc_sym_get_dummy_args): Catch NULL pointer
+       dereference.
+
+2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103610
+       * array.c (spec_dimen_size): Fix simplification of SHAPE:
+       dimensions must be non-negative.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_array_section): Do not generate
+       GOMP_MAP_ALWAYS_POINTER map for main array maps of ARRAY_TYPE type.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103607
+       * frontend-passes.c (do_subscript): Ensure that array bounds are
+       of type INTEGER before performing checks on array subscripts.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103588
+       * array.c (gfc_ref_dimen_size): Do not generate internal error on
+       failed simplification of stride expression; just return failure.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103591
+       * match.c (match_case_selector): Check type of upper bound in case
+       range.
+
+2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle
+       weak/compare/fail clause.
+       * gfortran.h (gfc_omp_clauses): Add weak, compare, fail.
+       * openmp.c (enum omp_mask1, gfc_match_omp_clauses,
+       OMP_ATOMIC_CLAUSES): Update for new clauses.
+       (gfc_match_omp_atomic): Update for 5.1 atomic changes.
+       (is_conversion): Support widening in one go.
+       (is_scalar_intrinsic_expr): New.
+       (resolve_omp_atomic): Update for 5.1 atomic changes.
+       * parse.c (parse_omp_oacc_atomic): Update for compare.
+       * resolve.c (gfc_resolve_blocks): Update asserts.
+       * trans-openmp.c (gfc_trans_omp_atomic): Handle new clauses.
+
+2021-12-03  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/103505
+       * array.c (match_array_element_spec): Try to simplify array
+       element specifications to improve early checking.
+       * expr.c (gfc_try_simplify_expr): New.  Try simplification of an
+       expression via gfc_simplify_expr.  When an error occurs, roll
+       back.
+       * gfortran.h (gfc_try_simplify_expr): Declare it.
+
+2021-12-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-stmt.c (gfc_trans_allocate): Set e3_has_nodescriptor to true
+       only for non-named arrays.
+
+2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR fortran/90030
+       * trans-openmp.c (gfc_omp_finish_clause): Remove fold_convert to pointer
+       to char_type_node, add gcc_assert of POINTER_TYPE_P.
+       (gfc_trans_omp_array_section): Likewise.
+       (gfc_trans_omp_clauses): Likewise.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102787
+       * array.c (expand_constructor): When encountering a constant array
+       expression or array section within a constructor, simplify it to
+       enable better expansion.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103473
+       * simplify.c (simplify_minmaxloc_nodim): Avoid NULL pointer
+       dereference when shape is not set.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/101565
+       * check.c (gfc_check_image_index): Verify that SUB argument to
+       IMAGE_INDEX is of type integer.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * frontend-passes.c (gfc_expr_walker): Add comment to
+       indicate tail recursion.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * target-memory.c (gfc_element_size): Remove unreachable return.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openmp.c (resolve_oacc_loop_blocks): Remove "gang reduction on
+       an orphan loop" checking.
+       (oacc_is_parallel, oacc_is_kernels, oacc_is_serial)
+       (oacc_is_compute_construct): Remove.
+
+2021-11-30  Frederik Harwath  <frederik@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openmp.c (oacc_is_parallel_or_serial): Evolve into...
+       (oacc_is_compute_construct): ... this function.
+       (resolve_oacc_loop_blocks): Use "oacc_is_compute_construct"
+       instead of "oacc_is_parallel_or_serial" for checking that a
+       loop is not orphaned.
+
+2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openmp.c (oacc_is_serial, oacc_is_parallel_or_serial): New.
+       (resolve_oacc_loop_blocks): Use oacc_is_parallel_or_serial instead of
+       oacc_is_parallel.
+
+2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * openmp.c (oacc_is_parallel, oacc_is_kernels): New 'static'
+       functions.
+       (resolve_oacc_loop_blocks): Emit an error on orphan OpenACC gang
+       reductions.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * decl.c (gfc_insert_parameter_exprs): Only return after
+       resetting type_param_spec_list.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       * frontend-passes.c (gfc_expr_walker): Remove unreachable
+       break.
+       * scanner.c (skip_fixed_comments): Remove unreachable
+       gcc_unreachable.
+       * trans-expr.c (gfc_expr_is_variable): Refactor to make
+       control flow more obvious.
+
+2021-11-29  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/103021
+       * Make-lang.in: Use ETAGS variable in TAGS target.
+
+2021-11-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103411
+       * check.c (gfc_check_reshape): Improve check of size of source
+       array for the RESHAPE intrinsic against the given shape when pad
+       is not given, and shape is a parameter.  Try other simplifications
+       of shape.
+
+2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103392
+       * simplify.c (simplify_bound): Do not try to simplify
+       LBOUND/UBOUND for arrays with POINTER or ALLOCATABLE attribute.
+
+2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/87711
+       PR fortran/87851
+       * trans-array.c (arg_evaluated_for_scalarization): Add LEN_TRIM to
+       list of intrinsics for which an optional KIND argument needs to be
+       removed before scalarization.
+
+2021-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103315
+       * trans-types.c (gfc_get_array_descr_info): Use DW_OP_deref_size 1
+       instead of DW_OP_deref for DW_AT_rank.
+
+2021-11-21  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/99061
+       * trans-intrinsic.c (gfc_lookup_intrinsic): Helper function for
+       looking up gfortran builtin intrinsics.
+       (gfc_conv_intrinsic_atrigd): Use it.
+       (gfc_conv_intrinsic_cotan): Likewise.
+       (gfc_conv_intrinsic_cotand): Likewise.
+       (gfc_conv_intrinsic_atan2d): Likewise.
+
+2021-11-18  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/101329
+       * check.c (is_c_interoperable): Reject NULL() as it is not
+       interoperable.
+
+2021-11-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103286
+       * resolve.c (resolve_select): Choose appropriate range limit to
+       avoid NULL pointer dereference when generating error message.
+
+2021-11-16  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * interface.c (gfc_dummy_arg_get_name): New function.
+       * gfortran.h (gfc_dummy_arg_get_name): Declare it.
+       * trans-array.c (arg_evaluated_for_scalarization): Pass a dummy
+       argument wrapper as argument instead of an actual argument
+       and an index number.  Check it’s non-NULL.  Use its name
+       to identify it.
+       (gfc_walk_elemental_function_args): Update call to
+       arg_evaluated for scalarization.  Remove argument counting.
+
+2021-11-16  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * gfortran.h (gfc_actual_arglist::missing_arg_type): Remove.
+       * interface.c (gfc_compare_actual_formal): Remove
+       missing_arg_type initialization.
+       * intrinsic.c (sort_actual): Ditto.
+       * trans-expr.c (gfc_conv_procedure_call): Use associated_dummy
+       and gfc_dummy_arg_get_typespec to get the dummy argument type.
+
+2021-11-16  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * interface.c (gfc_dummy_arg_get_typespec,
+       gfc_dummy_arg_is_optional): New functions.
+       * gfortran.h (gfc_dummy_arg_get_typespec,
+       gfc_dummy_arg_is_optional): Declare them.
+       * trans.h (gfc_ss_info::dummy_arg): Use the wrapper type
+       as declaration type.
+       * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
+       use gfc_dummy_arg_get_typespec function to get the type.
+       (gfc_walk_elemental_function_args): Remove proc_ifc argument.
+       Get info about the dummy arg using the associated_dummy field.
+       * trans-array.h (gfc_walk_elemental_function_args): Update declaration.
+       * trans-intrinsic.c (gfc_walk_intrinsic_function):
+       Update call to gfc_walk_elemental_function_args.
+       * trans-stmt.c (gfc_trans_call): Ditto.
+       (get_proc_ifc_for_call): Remove.
+
+2021-11-16  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * gfortran.h (gfc_dummy_arg_kind, gfc_dummy_arg): New.
+       (gfc_actual_arglist): New field associated_dummy.
+       (gfc_intrinsic_arg): Remove field actual.
+       * interface.c (get_nonintrinsic_dummy_arg): New.
+       (gfc_compare_actual): Initialize associated_dummy.
+       * intrinsic.c (get_intrinsic_dummy_arg): New.
+       (sort_actual):  Add argument vectors.
+       Use loops with indices on argument vectors.
+       Initialize associated_dummy.
+
+2021-11-16  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * intrinsic.c (sort_actual): initialise variable and use it earlier.
+
+2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (OMP_TARGET_CLAUSES): Add thread_limit.
+       * trans-openmp.c (gfc_split_omp_clauses): Add thread_limit also to
+       teams.
+
+2021-11-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * parse.c (decode_omp_directive): Fix permitting 'nowait' for some
+       combined directives, add missing 'omp end ... loop'.
+       (gfc_ascii_statement): Fix ST_OMP_END_TEAMS_LOOP result.
+       * openmp.c (resolve_omp_clauses): Add missing combined loop constructs
+       case values to the 'if(directive-name: ...)' check.
+       * trans-openmp.c (gfc_split_omp_clauses): Put nowait on target if
+       first leaf construct accepting it.
+
+2021-11-12  Martin Jambor  <mjambor@suse.cz>
+
+       * trans-types.c (gfc_get_array_descr_info): Use build_debug_expr_decl
+       instead of building DEBUG_EXPR_DECL manually.
+
+2021-11-12  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/97896
+       * intrinsic.c (add_sym_4ind): Remove.
+       (add_functions): Use add_sym4 instead of add_sym4ind.
+       Don’t special case the index intrinsic.
+       * iresolve.c (gfc_resolve_index_func): Use the individual arguments
+       directly instead of the full argument list.
+       * intrinsic.h (gfc_resolve_index_func): Update the declaration
+       accordingly.
+       * trans-decl.c (gfc_get_extern_function_decl): Don’t modify the
+       list of arguments in the case of the index intrinsic.
+       * trans-array.h (gfc_get_intrinsic_for_expr,
+       gfc_get_proc_ifc_for_expr): New.
+       * trans-array.c (gfc_get_intrinsic_for_expr,
+       arg_evaluated_for_scalarization): New.
+       (gfc_walk_elemental_function_args): Add intrinsic procedure
+       as argument.  Count arguments.  Check arg_evaluated_for_scalarization.
+       * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
+       * trans-stmt.c (get_intrinsic_for_code): New.
+       (gfc_trans_call): Update call.
+
+2021-11-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * types.def (BT_FN_VOID_UINT_UINT): Remove.
+       (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New.
+
+2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (struct gfc_omp_clauses): Rename num_teams to
+       num_teams_upper, add num_teams_upper.
+       * dump-parse-tree.c (show_omp_clauses): Update to handle
+       lower-bound num_teams clause.
+       * frontend-passes.c (gfc_code_walker): Likewise
+       * openmp.c (gfc_free_omp_clauses, gfc_match_omp_clauses,
+       resolve_omp_clauses): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses,
+       gfc_trans_omp_target): Likewise.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Use
+       OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead of OMP_CLAUSE_NUM_TEAMS_EXPR.
+
+2021-11-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103137
+       PR fortran/103138
+       * check.c (gfc_check_shape): Avoid NULL pointer dereference on
+       missing ref.
+       * simplify.c (gfc_simplify_cshift): Avoid NULL pointer dereference
+       when shape not set.
+       (gfc_simplify_transpose): Likewise.
+
+2021-11-09  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       PR fortran/68800
+       * class.c (generate_finalization_wrapper): Do not leak
+       finalization wrappers if they will not be used.
+       * expr.c (gfc_free_actual_arglist): Formatting fix.
+       * gfortran.h (gfc_free_symbol): Pass argument by reference.
+       (gfc_release_symbol): Likewise.
+       (gfc_free_namespace): Likewise.
+       * symbol.c (gfc_release_symbol): Adjust acordingly.
+       (free_components): Set procedure pointer components
+       of derived types to NULL after freeing.
+       (free_tb_tree): Likewise.
+       (gfc_free_symbol): Set sym to NULL after freeing.
+       (gfc_free_namespace): Set namespace to NULL after freeing.
+
+2021-11-09  Martin Liska  <mliska@suse.cz>
+
+       * symbol.c (gfc_get_ultimate_derived_super_type): Remove.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * misc.c (gfc_dummy_typename): Make sure ts->kind is
+       non-negative.
+
+2021-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * intrinsic.c (add_subroutines): Change keyword "operator"
+       to the correct one, "operation".
+       * check.c (gfc_check_co_reduce): Change OPERATOR to
+       OPERATION in error messages.
+       * intrinsic.texi: Change OPERATOR to OPERATION in
+       documentation.
+
+2021-11-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * interface.c (gfc_compare_actual_formal): Continue checking
+       all arguments after encountering an error.
+       * intrinsic.c (do_ts29113_check): Likewise.
+       * resolve.c (resolve_operator): Continue resolving on op2 error.
+
+2021-11-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102715
+       * decl.c (add_init_expr_to_sym): Reject rank mismatch between
+       array and its initializer.
+
+2021-11-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102817
+       * expr.c (simplify_parameter_variable): Copy shape of referenced
+       subobject when simplifying.
+
+2021-11-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/69419
+       * match.c (gfc_match_common): Check array spec of a symbol in a
+       COMMON object list and reject it if it is a coarray.
+
+2021-11-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       PR fortran/100972
+       * decl.c (gfc_match_implicit_none): Fix typo in warning.
+       * resolve.c (resolve_unknown_f): Reject external procedures
+       without explicit EXTERNAL attribute whe IMPLICIT none (external)
+       is in effect.
+
+2021-11-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * decl.c (gfc_insert_kind_parameter_exprs): Make static.
+       * expr.c (gfc_build_init_expr): Make static
+       (gfc_build_default_init_expr): Move below its static helper.
+       * gfortran.h (gfc_insert_kind_parameter_exprs, gfc_add_saved_common,
+       gfc_add_common, gfc_use_derived_tree, gfc_free_charlen,
+       gfc_get_ultimate_derived_super_type,
+       gfc_resolve_oacc_parallel_loop_blocks, gfc_build_init_expr,
+       gfc_iso_c_sub_interface): Delete.
+       * symbol.c (gfc_new_charlen, gfc_get_derived_super_type): Make
+       static.
+
+2021-11-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/35276
+       * gfortran.texi (Mixed-Language Programming): Talk about C++,
+       and how to link.
+
+2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.texi (Projects): Add bullet for helping with
+       incomplete standards compliance.
+       (Proposed Extensions): Delete section.
+
+2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * intrinsic.texi (Introduction to Intrinsics): Genericize
+       references to standard versions.
+       * invoke.texi (-fall-intrinsics): Likewise.
+       (-fmax-identifier-length=): Likewise.
+
+2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.texi (Interoperability with C): Copy-editing.  Add
+       more index entries.
+       (Intrinsic Types): Likewise.
+       (Derived Types and struct): Likewise.
+       (Interoperable Global Variables): Likewise.
+       (Interoperable Subroutines and Functions): Likewise.
+       (Working with C Pointers): Likewise.
+       (Further Interoperability of Fortran with C): Likewise.  Rewrite
+       to reflect that this is now fully supported by gfortran.
+
+2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.texi (About GNU Fortran): Consolidate material
+       formerly in other sections.  Copy-editing.
+       (Preprocessing and conditional compilation): Delete, moving
+       most material to invoke.texi.
+       (GNU Fortran and G77): Delete.
+       (Project Status): Delete.
+       (Standards): Update.
+       (Fortran 95 status): Mention conditional compilation here.
+       (Fortran 2003 status): Rewrite to mention the 1 missing feature
+       instead of all the ones implemented.
+       (Fortran 2008 status): Similarly for the 2 missing features.
+       (Fortran 2018 status): Rewrite to reflect completion of TS29113
+       feature support.
+       * invoke.texi (Preprocessing Options): Move material formerly
+       in introductory chapter here.
+
+2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.texi (Standards): Move discussion of specific
+       standard versions here....
+       (Fortran standards status): ...from here, and delete this node.
+
+2021-10-31  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * symbol.c (gfc_get_typebound_proc): Revert memcpy.
+
+2021-10-31  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * resolve.c (resolve_fl_procedure): Initialize
+       allocatable_or_pointer.
+
+2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
+
+       * intrinsic.texi: Remove entries for SHORT and LONG intrinsics.
+
+2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
+
+       * check.c (gfc_check_intconv): Change error message.
+
+2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
+
+       * intrinsic.texi (REAL): Fix entries in Specific names table.
+
+2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
+
+       * intrinsic.texi: Adjust @columnfractions commands to improve
+       appearance for narrow 80 character terminals.
+
+2021-10-30  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * parse.c (clean_up_modules): Free gsym.
+
+2021-10-30  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.texi (bug reports): credit Gerhard Steinmetz for
+         numerous bug reports.
+
+2021-10-30  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/99853
+       * resolve.c (resolve_select): Generate regular gfc_error on
+       invalid conversions instead of an gfc_internal_error.
+
+2021-10-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * symbol.c (free_tb_tree): Free type-bound procedure struct.
+       (gfc_get_typebound_proc): Use explicit memcpy for clarity.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * intrinsic.h (gfc_check_sum, gfc_resolve_atan2d, gfc_resolve_kill,
+       gfc_resolve_kill_sub): Delete declaration.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * trans-types.h (gfc_convert_function_code): Delete.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * trans-stmt.h (gfc_trans_deallocate_array): Delete.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * trans-array.c (gfc_trans_scalarized_loop_end): Make static.
+       * trans-array.h (gfc_trans_scalarized_loop_end,
+       gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * constructor.c (gfc_constructor_get_base): Make static.
+       (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
+       * constructor.h (gfc_constructor_get_base): Remove declaration.
+       (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * decl.c (gfc_match_old_kind_spec, set_com_block_bind_c,
+       set_verify_bind_c_sym, set_verify_bind_c_com_block,
+       get_bind_c_idents, gfc_match_suffix, gfc_get_type_attr_spec,
+       check_extended_derived_type): Make static.
+       (gfc_match_gcc_unroll): Add comment.
+       * match.c (gfc_match_small_int_expr): Delete definition.
+       * match.h (gfc_match_small_int_expr): Delete declaration.
+       (gfc_match_name_C, gfc_match_old_kind_spec, set_com_block_bind_c,
+       set_verify_bind_c_sym, set_verify_bind_c_com_block,
+       get_bind_c_idents, gfc_match_suffix,
+       gfc_get_type_attr_spec): Delete declaration.
+
+2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * expr.c (is_non_empty_structure_constructor): Make static.
+       * gfortran.h (gfc_check_any_c_kind): Delete.
+       * match.c (gfc_match_label): Make static.
+       * match.h (gfc_match_label): Delete declaration.
+       * scanner.c (file_changes_cur, file_changes_count,
+       file_changes_allocated): Make static.
+       * trans-expr.c (gfc_get_character_len): Make static.
+       (gfc_class_len_or_zero_get): Make static.
+       (VTAB_GET_FIELD_GEN): Undefine.
+       (gfc_get_class_array_ref): Make static.
+       (gfc_finish_interface_mapping): Make static.
+       * trans-types.c (gfc_check_any_c_kind): Delete.
+       (pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static.
+       * trans-types.h (gfc_get_ppc_type): Delete declaration.
+       * trans.c (gfc_msg_wrong_return): Delete.
+       * trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get,
+       gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len,
+       gfc_finish_interface_mapping, gfc_msg_wrong_return,
+       gfc_get_function_decl): Delete declaration.
+
+2021-10-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-stmt.c (gfc_trans_select_rank_cases): Fix condition
+       for allocatables/pointers.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102956
+       * symbol.c (gfc_check_conflict): Add conflict check for PDT KIND
+       and LEN type parameters.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102917
+       * decl.c (match_attr_spec): Remove invalid integer kind checks on
+       KIND and LEN attributes of PDTs.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102816
+       * resolve.c (resolve_structure_cons): Reject invalid array spec of
+       a DT component referenced in a structure constructor.
+
+2021-10-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102885
+       * trans-decl.c (gfc_conv_cfi_to_gfc): Properly handle nonconstant
+       character lenghts.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * trans-decl.c (gfc_conv_cfi_to_gfc): Initialize rank to NULL_TREE.
+
+2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
+
+       PR other/102663
+       * Make-lang.in: Allow dvi-formatted documentation
+       to be installed.
+
+2021-10-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92621
+       * trans-expr.c (gfc_trans_assignment_1): Add STRIP_NOPS.
+
+2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * decl.c (gfc_match_end): Add COMP_OMP_STRICTLY_STRUCTURED_BLOCK case
+       together with COMP_BLOCK.
+       * parse.c (parse_omp_structured_block): Change return type to
+       'gfc_statement', add handling for strictly-structured block case, adjust
+       recursive calls to parse_omp_structured_block.
+       (parse_executable): Adjust calls to parse_omp_structured_block.
+       * parse.h (enum gfc_compile_state): Add
+       COMP_OMP_STRICTLY_STRUCTURED_BLOCK.
+       * trans-openmp.c (gfc_trans_omp_workshare): Add EXEC_BLOCK case
+       handling.
+
+2021-10-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/94070
+       * expr.c (gfc_simplify_expr): Handle GFC_ISYM_SHAPE along with
+       GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
+       * trans-array.c (gfc_conv_ss_startstride): Likewise.
+       (set_loop_bounds): Likewise.
+       * trans-intrinsic.c (gfc_trans_intrinsic_bound): Extend to
+       handle SHAPE.  Correct logic for zero-size special cases and
+       detecting assumed-rank arrays associated with an assumed-size
+       argument.
+       (gfc_conv_intrinsic_shape): Deleted.
+       (gfc_conv_intrinsic_function): Handle GFC_ISYM_SHAPE like
+       GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
+       (gfc_add_intrinsic_ss_code): Likewise.
+       (gfc_walk_intrinsic_bound): Likewise.
+
+2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_clause_reduction): Add 'openmp_target' default
+       false parameter. Add 'always,tofrom' map for OMP_LIST_IN_REDUCTION case.
+       (gfc_match_omp_clauses): Add 'openmp_target' default false parameter,
+       adjust call to gfc_match_omp_clause_reduction.
+       (match_omp): Adjust call to gfc_match_omp_clauses
+       * trans-openmp.c (gfc_trans_omp_taskgroup): Add call to
+       gfc_match_omp_clause, create and return block.
+
+2021-10-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-types.c (create_fn_spec): For allocatable/pointer
+       character(len=:), use 'w' not 'R' as fn spec for the length dummy
+       argument.
+
+2021-10-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92482
+       * trans-expr.c (gfc_conv_procedure_call): Use TREE_OPERAND not
+       build_fold_indirect_ref_loc to undo an ADDR_EXPR.
+
+2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102086
+       PR fortran/92189
+       PR fortran/92621
+       PR fortran/101308
+       PR fortran/101309
+       PR fortran/101635
+       PR fortran/92482
+       * decl.c (gfc_verify_c_interop_param): Remove 'sorry' for
+       scalar allocatable/pointer and len=*.
+       * expr.c (is_CFI_desc): Return true for for those.
+       * gfortran.h (CFI_type_kind_shift, CFI_type_mask,
+       CFI_type_from_type_kind, CFI_VERSION, CFI_MAX_RANK,
+       CFI_attribute_pointer, CFI_attribute_allocatable,
+       CFI_attribute_other, CFI_type_Integer, CFI_type_Logical,
+       CFI_type_Real, CFI_type_Complex, CFI_type_Character,
+       CFI_type_ucs4_char, CFI_type_struct, CFI_type_cptr,
+       CFI_type_cfunptr, CFI_type_other): New #define.
+       * trans-array.c (CFI_FIELD_BASE_ADDR, CFI_FIELD_ELEM_LEN,
+       CFI_FIELD_VERSION, CFI_FIELD_RANK, CFI_FIELD_ATTRIBUTE,
+       CFI_FIELD_TYPE, CFI_FIELD_DIM, CFI_DIM_FIELD_LOWER_BOUND,
+       CFI_DIM_FIELD_EXTENT, CFI_DIM_FIELD_SM,
+       gfc_get_cfi_descriptor_field, gfc_get_cfi_desc_base_addr,
+       gfc_get_cfi_desc_elem_len, gfc_get_cfi_desc_version,
+       gfc_get_cfi_desc_rank, gfc_get_cfi_desc_type,
+       gfc_get_cfi_desc_attribute, gfc_get_cfi_dim_item,
+       gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
+       New define/functions to access the CFI array descriptor.
+       (gfc_conv_descriptor_type): New function for the GFC descriptor.
+       (gfc_get_array_span): Handle expr of CFI descriptors and
+       assumed-type descriptors.
+       (gfc_trans_array_bounds): Remove 'static'.
+       (gfc_conv_expr_descriptor): For assumed type, use the dtype of
+       the actual argument.
+       (structure_alloc_comps): Remove ' ' inside tabs.
+       * trans-array.h (gfc_trans_array_bounds, gfc_conv_descriptor_type,
+       gfc_get_cfi_desc_base_addr, gfc_get_cfi_desc_elem_len,
+       gfc_get_cfi_desc_version, gfc_get_cfi_desc_rank,
+       gfc_get_cfi_desc_type, gfc_get_cfi_desc_attribute,
+       gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
+       New prototypes.
+       * trans-decl.c (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi):
+       Remove global vars.
+       (gfc_build_builtin_function_decls): Remove their initialization.
+       (gfc_get_symbol_decl, create_function_arglist,
+       gfc_trans_deferred_vars): Update for CFI.
+       (convert_CFI_desc): Remove and replace by ...
+       (gfc_conv_cfi_to_gfc): ... this function
+       (gfc_generate_function_code): Call it; create local GFC var for CFI.
+       * trans-expr.c (gfc_maybe_dereference_var): Handle CFI.
+       (gfc_conv_subref_array_arg): Handle the if-noncontigous-only copy in
+       when the result should be a descriptor.
+       (gfc_conv_gfc_desc_to_cfi_desc): Completely rewritten.
+       (gfc_conv_procedure_call): CFI fixes.
+       * trans-openmp.c (gfc_omp_is_optional_argument,
+       gfc_omp_check_optional_argument): Handle optional
+       CFI.
+       * trans-stmt.c (gfc_trans_select_rank_cases): Cleanup, avoid invalid
+       code for allocatable/pointer dummies, which cannot be assumed size.
+       * trans-types.c (gfc_cfi_descriptor_base): New global var.
+       (gfc_get_dtype_rank_type): Skip rank init for rank < 0.
+       (gfc_sym_type): Handle CFI dummies.
+       (gfc_get_function_type): Update call.
+       (gfc_get_cfi_dim_type, gfc_get_cfi_type): New.
+       * trans-types.h (gfc_sym_type): Update prototype.
+       (gfc_get_cfi_type): New prototype.
+       * trans.c (gfc_trans_runtime_check): Make conditions more consistent
+       to avoid '<logical> AND_THEN <long int>' in conditions.
+       * trans.h (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi): Remove
+       global-var declaration.
+
+2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102745
+       * intrinsic.c (gfc_convert_type_warn): Fix checks by checking CLASS
+       and do typcheck in correct order for type extension.
+       * misc.c (gfc_typename): Print proper not internal CLASS type name.
+
+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
+       * simplify.c (gfc_simplify_reshape): Replace assert by error
+       message for negative elements in SHAPE array.
+
+2021-10-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102716
+       * check.c (gfc_check_shape): Reorder checks so that invalid KIND
+       arguments can be detected.
+
+2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gfortran.h (enum gfc_statement): Add ST_OMP_DECLARE_VARIANT.
+       (enum gfc_omp_trait_property_kind): New.
+       (struct gfc_omp_trait_property): New.
+       (gfc_get_omp_trait_property): New macro.
+       (struct gfc_omp_selector): New.
+       (gfc_get_omp_selector): New macro.
+       (struct gfc_omp_set_selector): New.
+       (gfc_get_omp_set_selector): New macro.
+       (struct gfc_omp_declare_variant): New.
+       (gfc_get_omp_declare_variant): New macro.
+       (struct gfc_namespace): Add omp_declare_variant field.
+       (gfc_free_omp_declare_variant_list): New prototype.
+       * match.h (gfc_match_omp_declare_variant): New prototype.
+       * openmp.c (gfc_free_omp_trait_property_list): New.
+       (gfc_free_omp_selector_list): New.
+       (gfc_free_omp_set_selector_list): New.
+       (gfc_free_omp_declare_variant_list): New.
+       (gfc_match_omp_clauses): Add extra optional argument.  Handle end of
+       clauses for context selectors.
+       (omp_construct_selectors, omp_device_selectors,
+       omp_implementation_selectors, omp_user_selectors): New.
+       (gfc_match_omp_context_selector): New.
+       (gfc_match_omp_context_selector_specification): New.
+       (gfc_match_omp_declare_variant): New.
+       * parse.c: Include tree-core.h and omp-general.h.
+       (decode_omp_directive): Handle 'declare variant'.
+       (case_omp_decl): Include ST_OMP_DECLARE_VARIANT.
+       (gfc_ascii_statement): Handle ST_OMP_DECLARE_VARIANT.
+       (gfc_parse_file): Initialize omp_requires_mask.
+       * symbol.c (gfc_free_namespace): Call
+       gfc_free_omp_declare_variant_list.
+       * trans-decl.c (gfc_get_extern_function_decl): Call
+       gfc_trans_omp_declare_variant.
+       (gfc_create_function_decl): Call gfc_trans_omp_declare_variant.
+       * trans-openmp.c (gfc_trans_omp_declare_variant): New.
+       * trans-stmt.h (gfc_trans_omp_declare_variant): New prototype.
+
+2021-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle ancestor modifier,
+       avoid ICE for GFC_OMP_ATOMIC_SWAP.
+       * gfortran.h (gfc_omp_clauses): Change 'anecestor' into a bitfield.
+
+2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102541
+       * check.c (gfc_check_present): Handle optional CLASS.
+       * interface.c (gfc_compare_actual_formal): Likewise.
+       * trans-array.c (gfc_trans_g77_array): Likewise.
+       * trans-decl.c (gfc_build_dummy_array_decl): Likewise.
+       * trans-types.c (gfc_sym_type): Likewise.
+       * primary.c (gfc_variable_attr): Fixes for dummy and
+       pointer when 'class%_data' is passed.
+       * trans-expr.c (set_dtype_for_unallocated, gfc_conv_procedure_call):
+       For assumed-rank dummy, fix setting rank for dealloc/notassoc actual
+       and setting ubound to -1 for assumed-size actuals.
+
+2021-10-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99348
+       PR fortran/102521
+       * decl.c (add_init_expr_to_sym): Extend initialization of
+       parameter arrays from scalars to handle derived types.
+
+2021-10-09  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/65454
+       * module.c (read_module): Handle old and new-style relational
+       operators when used in USE module, ONLY: OPERATOR(op).
+
+2021-10-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/54753
+       * interface.c (gfc_compare_actual_formal): Add diagnostic
+       for F2018:C839.  Refactor shared code and fix bugs with class
+       array info lookup, and extend similar diagnostic from PR94110
+       to also cover class types.
+
+2021-10-08  Martin Liska  <mliska@suse.cz>
+
+       * options.c (gfc_post_options): Use new macro
+       OPTION_SET_P.
+
+2021-10-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * resolve.c (resolve_values): Only show
+       deprecated warning if attr.referenced.
+
+2021-10-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/54753
+       * resolve.c (can_generate_init, resolve_fl_variable_derived,
+       resolve_symbol): Only do initialization with intent(out) if not
+       inside of an interface block.
+
+2021-10-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c/102103
+       * array.c: Remove an unnecessary test.
+       * trans-array.c: Same.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield.
+       * dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it.
+       * openmp.c (gfc_match_omp_clauses): Set order_reproducible for
+       explicit reproducible: modifier.
+       * trans-openmp.c (gfc_trans_omp_clauses): Set
+       OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible.
+       (gfc_split_omp_clauses): Also copy order_reproducible.
+
+2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102458
+       * simplify.c (simplify_size): Resolve expressions used in array
+       specifications so that SIZE can be simplified.
+
+2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+
+       * expr.c: The correct reference to Fortran standard is: F2018:10.1.12.
+
+2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/71703
+       PR fortran/84007
+       * trans-intrinsic.c (gfc_conv_same_type_as): Fix handling
+       of UNLIMITED_POLY.
+       * trans.h (gfc_vtpr_hash_get): Renamed prototype to ...
+       (gfc_vptr_hash_get): ... this to match function name.
+
+2021-09-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102520
+       * array.c (expand_constructor): Do not dereference NULL pointer.
+
+2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94070
+       * trans-array.c (gfc_tree_array_size): New function to
+       find size inline (whole array or one dimension).
+       (array_parameter_size): Use it, take stmt_block as arg.
+       (gfc_conv_array_parameter): Update call.
+       * trans-array.h (gfc_tree_array_size): Add prototype.
+       * trans-decl.c (gfor_fndecl_size0, gfor_fndecl_size1): Remove
+       these global vars.
+       (gfc_build_intrinsic_function_decls): Remove their initialization.
+       * trans-expr.c (gfc_conv_procedure_call): Update
+       bounds of pointer/allocatable actual args to nonallocatable/nonpointer
+       dummies to be one based.
+       * trans-intrinsic.c (gfc_conv_intrinsic_shape): Fix case for
+       assumed rank with allocatable/pointer dummy.
+       (gfc_conv_intrinsic_size): Update to use inline function.
+       * trans.h (gfor_fndecl_size0, gfor_fndecl_size1): Remove var decl.
+
+2021-09-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/101334
+       * trans-intrinsic.c (gfc_conv_associated): Support assumed-rank
+       'pointer' with scalar/array 'target' argument.
+
+2021-09-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102458
+       * expr.c (is_non_constant_intrinsic): Check for intrinsics
+       excluded in constant expressions (F2018:10.1.2).
+       (gfc_is_constant_expr): Use that check.
+
+2021-09-24  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101333
+       * interface.c (compare_parameter): Enforce F2018 C711.
+
+2021-09-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * scanner.c (load_file): Return void, call (gfc_)fatal_error for
+       all errors.
+       (include_line, include_stmt, gfc_new_file): Remove exit call
+       for failed load_file run.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101320
+       * decl.c (gfc_verify_c_interop_param): Handle F2018 C1557,
+       aka TS29113 C516.
+
+2021-09-23  Harald Anlauf  <anlauf@gmx.de>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93834
+       * trans-intrinsic.c (gfc_conv_allocated): Cleanup. Handle
+       coindexed scalar coarrays.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101319
+       * interface.c (gfc_compare_actual_formal): Extend existing
+       assumed-type diagnostic to also check for argument with type
+       parameters.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101334
+       * check.c (gfc_check_associated): Allow an assumed-rank
+       array for the pointer argument.
+       * interface.c (compare_parameter): Also give rank mismatch
+       error on assumed-rank array.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * trans-stmt.c (trans_associate_var): Check that result of
+       GFC_DECL_SAVED_DESCRIPTOR is not null before using it.
+
+2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * cpp.c (gfc_cpp_register_include_paths, gfc_cpp_post_options):
+       Add new bool verbose_missing_dir_warn argument.
+       * cpp.h (gfc_cpp_post_options): Update prototype.
+       * f95-lang.c (gfc_init): Remove duplicated file-not found diag.
+       * gfortran.h (gfc_check_include_dirs): Takes bool
+       verbose_missing_dir_warn arg.
+       (gfc_new_file): Returns now void.
+       * options.c (gfc_post_options): Update to warn for -I and -J,
+       only, by default but for all when user requested.
+       * scanner.c (gfc_do_check_include_dir):
+       (gfc_do_check_include_dirs, gfc_check_include_dirs): Take bool
+       verbose warn arg and update to avoid printing the same message
+       twice or never.
+       (load_file): Fix indent.
+       (gfc_new_file): Return void and exit when load_file failed
+       as all other load_file users do.
+
+2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * trans-expr.c (gfc_simple_for_loop): New.
+       * trans.h (gfc_simple_for_loop): New prototype.
+
+2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * cpp.c: Define GCC_C_COMMON_C for #include "options.h" to make
+       cpp_reason_option_codes available.
+       (gfc_cpp_register_include_paths): Make static, set pfile's
+       warn_missing_include_dirs and move before caller.
+       (gfc_cpp_init_cb): New, cb code moved from ...
+       (gfc_cpp_init_0): ... here.
+       (gfc_cpp_post_options): Call gfc_cpp_init_cb.
+       (cb_cpp_diagnostic_cpp_option): New. As implemented in c-family
+       to match CppReason flags to -W... names.
+       (cb_cpp_diagnostic): Use it to replace single special case.
+       * cpp.h (gfc_cpp_register_include_paths): Remove as now static.
+       * gfortran.h (gfc_check_include_dirs): New prototype.
+       (gfc_add_include_path): Add new bool arg.
+       * options.c (gfc_init_options): Don't set -Wmissing-include-dirs.
+       (gfc_post_options): Set it here after commandline processing. Call
+       gfc_add_include_path with defer_warn=false.
+       (gfc_handle_option): Call it with defer_warn=true.
+       * scanner.c (gfc_do_check_include_dir, gfc_do_check_include_dirs,
+       gfc_check_include_dirs): New. Diagnostic moved from ...
+       (add_path_to_list): ... here, which came before cmdline processing.
+       Take additional bool defer_warn argument.
+       (gfc_add_include_path): Take additional defer_warn arg.
+       * scanner.h (struct gfc_directorylist): Reorder for alignment issues,
+       add new 'bool warn'.
+
+2021-09-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (gfc_omp_clauses): Add order_unconstrained.
+       * dump-parse-tree.c (show_omp_clauses): Dump it.
+       * openmp.c (gfc_match_omp_clauses): Match unconstrained/reproducible
+       modifiers to ordered(concurrent).
+       (OMP_DISTRIBUTE_CLAUSES): Accept ordered clause.
+       (resolve_omp_clauses): Reject ordered + order on same directive.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): Pass
+       on unconstrained modifier of ordered(concurrent).
+
+2021-09-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102366
+       * trans-decl.c (gfc_finish_var_decl): Disable the warning message
+       for variables moved from stack to static storange if they are
+       declared in the main, but allow the move to happen.
+
+2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * intrinsic.texi (ISO_C_BINDING): Change C_FLOAT128 to correspond
+       to _Float128 rather than __float128.
+       * iso-c-binding.def (c_float128): Update comments.
+       * trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Likewise.
+       (build_round_expr): Likewise.
+       (gfc_build_intrinsic_lib_fndcecls): Likewise.
+       * trans-types.h (gfc_real16_is_float128): Likewise.
+
+2021-09-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102287
+       * trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of
+       allocatable components of optional allocatable derived type
+       procedure arguments with INTENT(OUT) into a presence check.
+
+2021-09-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102311
+       * resolve.c (resolve_entries): Attempt to recover cleanly after
+       rejecting mismatched function entries.
+
+2021-09-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102313
+       * parse.c (gfc_ascii_statement): Add missing ST_OMP_END_SCOPE.
+
+2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/82314
+       * decl.c (add_init_expr_to_sym): For proper initialization of
+       array-valued named constants the array bounds need to be
+       simplified before adding the initializer.
+
+2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85130
+       * expr.c (find_substring_ref): Handle given substring start and
+       end indices as signed integers, not unsigned.
+
+2021-09-09  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98490
+       * trans-expr.c (gfc_conv_substring): Do not generate substring
+       bounds check for implied do loop index variable before it actually
+       becomes defined.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * options.c (gfc_post_options): Issue an error for
+       -fexcess-precision=16.
+
+2021-09-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101327
+       * expr.c (find_array_element): When bounds cannot be determined as
+       constant, return error instead of aborting.
+
+2021-09-07  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_flush): Parse 'seq_cst' clause on 'flush'
+       directive.
+       * trans-openmp.c (gfc_trans_omp_flush): Handle OMP_MEMORDER_SEQ_CST.
+
+2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * decl.c (gfc_verify_c_interop_param): Reject pointer with
+       CONTIGUOUS attributes as dummy arg. Reject character len > 1
+       when passed as byte stream.
+
+2021-09-01  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/56985
+       * resolve.c (resolve_common_vars): Fix grammar and improve wording
+       of error message rejecting an unlimited polymorphic in COMMON.
+
+2021-08-31  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100950
+       * simplify.c (substring_has_constant_len): Minimize checks for
+       substring expressions being allowed.
+
+2021-08-31  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * gfortran.h: Add variable for 'ancestor' in struct gfc_omp_clauses.
+       * openmp.c (gfc_match_omp_clauses): Parse device-modifiers 'device_num'
+       and 'ancestor' in 'target device' clauses.
+       * trans-openmp.c (gfc_trans_omp_clauses): Set OMP_CLAUSE_DEVICE_ANCESTOR.
+
+2021-08-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102113
+       * match.c (gfc_match_goto): Allow for whitespace in parsing list
+       of labels.
+
+2021-08-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101349
+       * resolve.c (resolve_allocate_expr): An unlimited polymorphic
+       argument to ALLOCATE must be ALLOCATABLE or a POINTER.  Fix the
+       corresponding check.
+
+2021-08-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/87737
+       * resolve.c (resolve_entries): For functions of type CHARACTER
+       tighten the checks for matching characteristics.
+
+2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR other/93067
+       * cpp.c (gfc_cpp_post_options): Call new function
+       diagnostic_initialize_input_context().
+
+2021-08-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98411
+       * trans-decl.c (gfc_finish_var_decl): Adjust check to handle
+       implicit SAVE as well as variables in the main program.  Improve
+       warning message text.
+
+2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_dupl_check, gfc_match_dupl_memorder,
+       gfc_match_dupl_atomic): New.
+       (gfc_match_omp_clauses): Use them; remove duplicate
+       'release'/'relaxed' clause matching; improve error dignostic
+       for 'default'.
+
+2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle 'strict' modifier
+       on grainsize/num_tasks
+       * gfortran.h (gfc_omp_clauses): Add grainsize_strict
+       and num_tasks_strict.
+       * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
+       Handle 'strict' modifier on grainsize/num_tasks.
+       * openmp.c (gfc_match_omp_clauses): Likewise.
+
+2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * error.c
+       (error_uinteger): Take 'long long unsigned' instead
+       of 'long unsigned' as argumpent.
+       (error_integer): Take 'long long' instead of 'long'.
+       (error_hwuint, error_hwint): New.
+       (error_print): Update to handle 'll' and 'w'
+       length modifiers.
+       * simplify.c (substring_has_constant_len): Use '%wd'
+       in gfc_error.
+
+2021-08-20  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100950
+       * simplify.c (substring_has_constant_len): Fix format string of
+       gfc_error, pass HOST_WIDE_INT bounds values via char buffer.
+
+2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle 'at', 'severity'
+       and 'message' clauses.
+       (show_omp_node, show_code_node): Handle EXEC_OMP_ERROR.
+       * gfortran.h (gfc_statement): Add ST_OMP_ERROR.
+       (gfc_omp_severity_type, gfc_omp_at_type): New.
+       (gfc_omp_clauses): Add 'at', 'severity' and 'message' clause;
+       use more bitfields + ENUM_BITFIELD.
+       (gfc_exec_op): Add EXEC_OMP_ERROR.
+       * match.h (gfc_match_omp_error): New.
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_(AT,SEVERITY,MESSAGE).
+       (gfc_match_omp_clauses): Handle new clauses.
+       (OMP_ERROR_CLAUSES, gfc_match_omp_error): New.
+       (resolve_omp_clauses): Resolve new clauses.
+       (omp_code_to_statement, gfc_resolve_omp_directive): Handle
+       EXEC_OMP_ERROR.
+       * parse.c (decode_omp_directive, next_statement,
+       gfc_ascii_statement): Handle 'omp error'.
+       * resolve.c (gfc_resolve_blocks): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_error): Likewise.
+       (gfc_trans_omp_directive): Likewise.
+       * trans.c (trans_code): Likewise.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * types.def (BT_FN_VOID_CONST_PTR_SIZE): New DEF_FUNCTION_TYPE_2.
+       * f95-lang.c (ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST): Define.
+
+2021-08-19  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100950
+       * simplify.c (substring_has_constant_len): New.
+       (gfc_simplify_len): Handle case of substrings with constant
+       bounds.
+
+2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * match.h (gfc_match_omp_nothing): New.
+       * openmp.c (gfc_match_omp_nothing): New.
+       * parse.c (decode_omp_directive): Match 'nothing' directive.
+
+2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_node, show_code_node): Handle
+       EXEC_OMP_SCOPE.
+       * gfortran.h (enum gfc_statement): Add ST_OMP_(END_)SCOPE.
+       (enum gfc_exec_op): Add EXEC_OMP_SCOPE.
+       * match.h (gfc_match_omp_scope): New.
+       * openmp.c (OMP_SCOPE_CLAUSES): Define
+       (gfc_match_omp_scope): New.
+       (gfc_match_omp_cancellation_point, gfc_match_omp_end_nowait):
+       Improve error diagnostic.
+       (omp_code_to_statement): Handle ST_OMP_SCOPE.
+       (gfc_resolve_omp_directive): Handle EXEC_OMP_SCOPE.
+       * parse.c (decode_omp_directive, next_statement,
+       gfc_ascii_statement, parse_omp_structured_block,
+       parse_executable): Handle OpenMP's scope construct.
+       * resolve.c (gfc_resolve_blocks): Likewise
+       * st.c (gfc_free_statement): Likewise
+       * trans-openmp.c (gfc_trans_omp_scope): New.
+       (gfc_trans_omp_directive): Call it.
+       * trans.c (trans_code): handle EXEC_OMP_SCOPE.
+
+2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle 'filter' clause.
+       (show_omp_node, show_code_node): Handle (combined) omp masked construct.
+       * frontend-passes.c (gfc_code_walker): Likewise.
+       * gfortran.h (enum gfc_statement): Add ST_OMP_*_MASKED*.
+       (enum gfc_exec_op): Add EXEC_OMP_*_MASKED*.
+       * match.h (gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
+       gfc_match_omp_masked_taskloop_simd, gfc_match_omp_parallel_masked,
+       gfc_match_omp_parallel_masked_taskloop,
+       gfc_match_omp_parallel_masked_taskloop_simd): New prototypes.
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_FILTER.
+       (gfc_match_omp_clauses): Match it.
+       (OMP_MASKED_CLAUSES, gfc_match_omp_parallel_masked,
+       gfc_match_omp_parallel_masked_taskloop,
+       gfc_match_omp_parallel_masked_taskloop_simd,
+       gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
+       gfc_match_omp_masked_taskloop_simd): New.
+       (resolve_omp_clauses): Resolve filter clause.
+       (gfc_resolve_omp_parallel_blocks, resolve_omp_do,
+       omp_code_to_statement, gfc_resolve_omp_directive): Handle
+       omp masked constructs.
+       * parse.c (decode_omp_directive, case_exec_markers,
+       gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
+       parse_executable): Likewise.
+       * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle filter clause.
+       (GFC_OMP_SPLIT_MASKED, GFC_OMP_MASK_MASKED): New enum values.
+       (gfc_trans_omp_masked): New.
+       (gfc_split_omp_clauses): Handle combined masked directives.
+       (gfc_trans_omp_master_taskloop): Rename to ...
+       (gfc_trans_omp_master_masked_taskloop): ... this; handle also
+       combined masked directives.
+       (gfc_trans_omp_parallel_master): Rename to ...
+       (gfc_trans_omp_parallel_master_masked): ... this; handle
+       combined masked directives.
+       (gfc_trans_omp_directive): Handle EXEC_OMP_*_MASKED*.
+       * trans.c (trans_code): Likewise.
+
+2021-08-15  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99351
+       * match.c (sync_statement): Replace %v code by %e in gfc_match to
+       allow for function references as STAT and ERRMSG arguments.
+       * resolve.c (resolve_sync): Adjust checks of STAT= and ERRMSG= to
+       being definable arguments.  Function references with a data
+       pointer result are accepted.
+       * trans-stmt.c (gfc_trans_sync): Adjust assertion.
+
+2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.h (gfc_omp_proc_bind_kind): Add OMP_PROC_BIND_PRIMARY.
+       * dump-parse-tree.c (show_omp_clauses): Add TODO comment to
+       change 'master' to 'primary' in proc_bind for OpenMP 5.1.
+       * intrinsic.texi (OMP_LIB): Mention OpenMP 5.1; add
+       omp_proc_bind_primary.
+       * openmp.c (gfc_match_omp_clauses): Accept
+       'primary' as alias for 'master'.
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle
+       OMP_PROC_BIND_PRIMARY.
+
+2021-08-11  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * iso-c-binding.def (c_float128, c_float128_complex): Check
+       float128_type_node instead of gfc_float128_type_node.
+       * trans-types.c (gfc_init_kinds, gfc_build_real_type):
+       Update comments re supported 128-bit floating-point types.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       * trans-common.c (create_common): Set TREE_THIS_VOLATILE on the
+       COMPONENT_REF if the field is volatile.
+
+2021-08-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/68568
+       * primary.c (gfc_expr_attr): Variable attribute can only be
+       inquired when symtree is non-NULL.
+
+2021-07-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101564
+       * expr.c (gfc_check_vardef_context): Add check for KIND and LEN
+       parameter inquiries.
+       * match.c (gfc_match): Fix comment for %v code.
+       (gfc_match_allocate, gfc_match_deallocate): Replace use of %v code
+       by %e in gfc_match to allow for function references as STAT and
+       ERRMSG arguments.
+       * resolve.c (resolve_allocate_deallocate): Avoid NULL pointer
+       dereferences and shortcut for bad STAT and ERRMSG argument to
+       (DE)ALLOCATE.  Remove bogus parts of checks for STAT and ERRMSG.
+
+2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93308
+       PR fortran/93963
+       PR fortran/94327
+       PR fortran/94331
+       PR fortran/97046
+       * trans-decl.c (convert_CFI_desc): Only copy out the descriptor
+       if necessary.
+       * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Updated attribute
+       handling which reflect a previous intermediate version of the
+       standard. Only copy out the descriptor if necessary.
+
+2021-07-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101536
+       * check.c (array_check): Adjust check for the case of CLASS
+       arrays.
+
+2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * dump-parse-tree.c (show_attr): Update.
+       * gfortran.h (symbol_attribute): Add 'oacc_routine_nohost' member.
+       (gfc_omp_clauses): Add 'nohost' member.
+       * module.c (ab_attribute): Add 'AB_OACC_ROUTINE_NOHOST'.
+       (attr_bits, mio_symbol_attribute): Update.
+       * openmp.c (omp_mask2): Add 'OMP_CLAUSE_NOHOST'.
+       (gfc_match_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'.
+       (OACC_ROUTINE_CLAUSES): Add 'OMP_CLAUSE_NOHOST'.
+       (gfc_match_oacc_routine): Update.
+       * trans-decl.c (add_attributes_to_decl): Update.
+       * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
+
+2021-07-21  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101514
+       * target-memory.c (gfc_interpret_derived): Size of array component
+       of derived type can only be computed here for explicit shape.
+       * trans-types.c (gfc_get_nodesc_array_type): Do not dereference
+       NULL pointers.
+
+2021-07-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       * decl.c (gfc_verify_c_interop_param): Update for F2008 + F2018
+       changes; reject unsupported bits with 'Error: Sorry,'.
+       * trans-expr.c (gfc_conv_procedure_call): Fix condition to
+       For using CFI descriptor with characters.
+
+2021-07-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101084
+       * io.c (resolve_tag_format): Extend FORMAT check to unknown type.
+
+2021-07-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100949
+       * trans-expr.c (gfc_trans_class_init_assign): Call
+       gfc_conv_expr_present only for dummy variables.
+
+2021-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/100227
+       * frontend-passes.c (traverse_io_block): Adjust test for
+       when a variable is eligible for the transformation to
+       array slice.
+
+2021-06-28  Martin Sebor  <msebor@redhat.com>
+
+       * trans-array.c (trans_array_constructor): Replace direct uses
+       of TREE_NO_WARNING with warning_suppressed_p, and suppress_warning.
+       * trans-decl.c (gfc_build_qualified_array): Same.
+       (gfc_build_dummy_array_decl): Same.
+       (generate_local_decl): Same.
+       (gfc_generate_function_code): Same.
+       * trans-openmp.c (gfc_omp_clause_default_ctor): Same.
+       (gfc_omp_clause_copy_ctor): Same.
+       * trans-types.c (get_dtype_type_node): Same.
+       (gfc_get_desc_dim_type): Same.
+       (gfc_get_array_descriptor_base): Same.
+       (gfc_get_caf_vector_type): Same.
+       (gfc_get_caf_reference_type): Same.
+       * trans.c (gfc_create_var_np): Same.
+
+2021-06-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Fix enum type used
+       for dumping gfc_omp_defaultmap_category.
+
+2021-06-23  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/100337
+       * trans-intrinsic.c (conv_co_collective): Check stat for null ptr
+       before dereferrencing.
+
+2021-06-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100283
+       PR fortran/101123
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Unconditionally
+       convert result of min/max to result type.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
+       dereference.
+       * match.c (gfc_match_pointer_assignment): Likewise.
+       * parse.c (gfc_check_do_variable): Avoid comparison with NULL
+       symtree.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       Revert:
+       2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
+       dereference.
+       * match.c (gfc_match_pointer_assignment): Likewise.
+       * parse.c (gfc_check_do_variable): Avoid comparison with NULL
+       symtree.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
+       dereference.
+       * match.c (gfc_match_pointer_assignment): Likewise.
+       * parse.c (gfc_check_do_variable): Avoid comparison with NULL
+       symtree.
+
+2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92568
+       * dump-parse-tree.c (show_omp_clauses): Update for defaultmap.
+       * f95-lang.c (LANG_HOOKS_OMP_ALLOCATABLE_P,
+       LANG_HOOKS_OMP_SCALAR_TARGET_P): New.
+       * gfortran.h (enum gfc_omp_defaultmap,
+       enum gfc_omp_defaultmap_category): New.
+       * openmp.c (gfc_match_omp_clauses): Update defaultmap matching.
+       * trans-decl.c (gfc_finish_decl_attrs): Set GFC_DECL_SCALAR_TARGET.
+       * trans-openmp.c (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
+       (gfc_omp_scalar_p): Take 'ptr_alloc_ok' argument.
+       (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for
+       defaultmap changes.
+       * trans.h (gfc_omp_scalar_p): Update prototype.
+       (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
+       (struct lang_decl): Add scalar_target.
+       (GFC_DECL_SCALAR_TARGET, GFC_DECL_GET_SCALAR_TARGET): New.
+
+2021-06-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * resolve.c (resolve_variable): Remove *XCNEW used to
+       nullify nullified memory.
+
+2021-06-09  Martin Liska  <mliska@suse.cz>
+
+       * intrinsic.texi: Add missing @headitem to tables with a header.
+
+2021-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/100965
+       * trans-openmp.c (gfc_omp_finish_clause): Gimplify OMP_CLAUSE_SIZE.
+
+2021-06-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * trans-openmp.c (gfc_add_clause_implicitly): New.
+       (gfc_split_omp_clauses): Use it.
+       (gfc_free_split_omp_clauses): New.
+       (gfc_trans_omp_do_simd, gfc_trans_omp_parallel_do,
+       gfc_trans_omp_parallel_do_simd, gfc_trans_omp_distribute,
+       gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_taskloop,
+       gfc_trans_omp_master_taskloop, gfc_trans_omp_parallel_master): Use it.
+
+2021-06-08  Martin Liska  <mliska@suse.cz>
+
+       * intrinsic.texi: Fix typo.
+       * trans-expr.c (gfc_trans_pointer_assignment): Likewise.
+
+2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100120
+       PR fortran/100816
+       PR fortran/100818
+       PR fortran/100819
+       PR fortran/100821
+       * trans-array.c (gfc_get_array_span): rework the way character
+       array "span" was calculated.
+       (gfc_conv_expr_descriptor): improve handling of character sections
+       and unlimited polymorphic objects.
+       * trans-expr.c (gfc_get_character_len): new function to calculate
+       character string length.
+       (gfc_get_character_len_in_bytes): new function to calculate
+       character string length in bytes.
+       (gfc_conv_scalar_to_descriptor): add call to set the "span".
+       (gfc_trans_pointer_assignment): set "_len" and antecipate the
+       initialization of the deferred character length hidden argument.
+       * trans-intrinsic.c (gfc_conv_associated): set "force_no_tmp" to
+       avoid the creation of a temporary.
+       * trans-types.c (gfc_get_dtype_rank_type): rework type detection
+       so that unlimited polymorphic objects get proper type infomation,
+       also important for bind(c).
+       (gfc_get_dtype): add argument to pass the rank if necessary.
+       (gfc_get_array_type_bounds): cosmetic change to have character
+       arrays called character instead of unknown.
+       * trans-types.h (gfc_get_dtype): modify prototype.
+       * trans.c (get_array_span): rework the way character array "span"
+       was calculated.
+       * trans.h (gfc_get_character_len): new prototype.
+       (gfc_get_character_len_in_bytes): new prototype.
+       Add "unlimited_polymorphic" flag to "gfc_se" type to signal when
+       expression carries an unlimited polymorphic object.
+
+2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99839
+       * frontend-passes.c (inline_matmul_assign): Do not inline matmul
+       if the assignment to the resulting array if it is not of canonical
+       type (real/integer/complex/logical).
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_code_node): Handle
+       EXEC_OMP_(TARGET_)(,PARALLEL_,TEAMS_)LOOP.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * scanner.c (skip_fixed_omp_sentinel): Set openacc_flag if
+       this is not an (OpenMP) continuation line.
+       (skip_fixed_oacc_sentinel): Likewise for openmp_flag and OpenACC.
+       (gfc_next_char_literal): gfc_error_now to force error for mixed OMP/ACC
+       continuation once per location and return '\n'.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * openmp.c (gfc_match_omp_clauses): Fix typo in error message.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * dump-parse-tree.c (show_omp_clauses): Handle bind clause.
+       (show_omp_node): Handle loop directive.
+       * frontend-passes.c (gfc_code_walker): Likewise.
+       * gfortran.h (enum gfc_statement): Add
+       ST_OMP_(END_)(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
+       (enum gfc_omp_bind_type): New.
+       (gfc_omp_clauses): Use it.
+       (enum gfc_exec_op): Add EXEC_OMP_(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
+       * match.h (gfc_match_omp_loop, gfc_match_omp_parallel_loop,
+       gfc_match_omp_target_parallel_loop, gfc_match_omp_target_teams_loop,
+       gfc_match_omp_teams_loop): New.
+       * openmp.c (enum omp_mask1): Add OMP_CLAUSE_BIND.
+       (gfc_match_omp_clauses): Handle it.
+       (OMP_LOOP_CLAUSES, gfc_match_omp_loop, gfc_match_omp_teams_loop,
+       gfc_match_omp_target_teams_loop, gfc_match_omp_parallel_loop,
+       gfc_match_omp_target_parallel_loop): New.
+       (resolve_omp_clauses, resolve_omp_do, omp_code_to_statement,
+       gfc_resolve_omp_directive): Handle omp loop.
+       * parse.c (decode_omp_directive case_exec_markers, gfc_ascii_statement,
+       parse_omp_do, parse_executable): Likewise.
+       (parse_omp_structured_block): Remove ST_ which use parse_omp_do.
+       * resolve.c (gfc_resolve_blocks): Add omp loop.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle bind clause.
+       (gfc_trans_omp_do, gfc_trans_omp_parallel_do, gfc_trans_omp_distribute,
+       gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_directive):
+       Handle loop directive.
+       (gfc_split_omp_clauses): Likewise; fix firstprivate/lastprivate
+       and (in_)reduction for taskloop.
+       * trans.c (trans_code): Handle omp loop directive.
+
+2021-06-01  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * dump-parse-tree.c (show_omp_node, show_code_node): Handle
+       (parallel) master taskloop (simd).
+       * frontend-passes.c (gfc_code_walker): Set in_omp_workshare
+       to false for parallel master taskloop (simd).
+       * gfortran.h (enum gfc_statement):
+       Add ST_OMP_(END_)(PARALLEL_)MASTER_TASKLOOP(_SIMD).
+       (enum gfc_exec_op): EXEC_OMP_(PARALLEL_)MASTER_TASKLOOP(_SIMD).
+       * match.h (gfc_match_omp_master_taskloop,
+       gfc_match_omp_master_taskloop_simd,
+       gfc_match_omp_parallel_master_taskloop,
+       gfc_match_omp_parallel_master_taskloop_simd): New prototype.
+       * openmp.c (gfc_match_omp_parallel_master_taskloop,
+       gfc_match_omp_parallel_master_taskloop_simd,
+       gfc_match_omp_master_taskloop,
+       gfc_match_omp_master_taskloop_simd): New.
+       (gfc_match_omp_taskloop_simd): Permit 'reduction' clause.
+       (resolve_omp_clauses): Handle new combined directives; remove
+       inscan-reduction check to reduce multiple errors; add
+       task-reduction error for 'taskloop simd'.
+       (gfc_resolve_omp_parallel_blocks,
+       resolve_omp_do, omp_code_to_statement,
+       gfc_resolve_omp_directive): Handle new combined constructs.
+       * parse.c (decode_omp_directive, next_statement,
+       gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
+       parse_executable): Likewise.
+       * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+       * trans.c (trans_code): Likewise.
+       * trans-openmp.c (gfc_split_omp_clauses,
+       gfc_trans_omp_directive): Likewise.
+       (gfc_trans_omp_parallel_master): Move after gfc_trans_omp_master_taskloop;
+       handle parallel master taskloop (simd) as well.
+       (gfc_trans_omp_taskloop): Take gfc_exec_op as arg.
+       (gfc_trans_omp_master_taskloop): New.
+
+2021-05-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * gfortran.texi (BOZ literal constants): Fix typo.
+
+2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_iterator): New.
+       (show_omp_namelist): Handle iterators.
+       (show_omp_clauses): Handle affinity.
+       * gfortran.h (gfc_free_omp_namelist): New union with 'udr' and new 'ns'.
+       * match.c (gfc_free_omp_namelist): Add are to choose union element.
+       * openmp.c (gfc_free_omp_clauses, gfc_match_omp_detach,
+       gfc_match_omp_clause_reduction, gfc_match_omp_flush): Update
+       call to gfc_free_omp_namelist.
+       (gfc_match_omp_variable_list): Likewise; permit preceeding whitespace.
+       (enum omp_mask1): Add OMP_CLAUSE_AFFINITY.
+       (gfc_match_iterator): New.
+       (gfc_match_omp_clauses): Use it; update call to gfc_free_omp_namelist.
+       (OMP_TASK_CLAUSES): Add OMP_CLAUSE_AFFINITY.
+       (gfc_match_omp_taskwait): Match depend clause.
+       (resolve_omp_clauses): Handle affinity; update for udr/union change.
+       (gfc_resolve_omp_directive): Resolve clauses of taskwait.
+       * st.c (gfc_free_statement): Update gfc_free_omp_namelist call.
+       * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Likewise
+       (handle_iterator): New.
+       (gfc_trans_omp_clauses): Handle iterators for depend/affinity clause.
+       (gfc_trans_omp_taskwait): Handle depend clause.
+       (gfc_trans_omp_directive): Update call.
+
+2021-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100602
+       * trans-intrinsic.c (gfc_conv_intrinsic_size): Use CLASS data
+       attributes for CLASS arrays for generation of runtime error.
+
+2021-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100656
+       * trans-array.c (gfc_conv_ss_startstride): Do not call check for
+       presence of a dummy argument when a symbol actually refers to a
+       non-dummy.
+
+2021-05-25  Tobias Burnus  <tobias@codesourcery.com>
+           Johannes Nendwich  <a08727063@unet.univie.ac.at>
+
+       * intrinsic.texi (GERROR, GETARGS, GETLOG, NORM2, PARITY, RANDOM_INIT,
+       RANDOM_NUMBER): Fix typos and copy'n'paste errors.
+
+2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/86470
+       * trans-expr.c (gfc_copy_class_to_class): Add unshare_expr.
+       * trans-openmp.c (gfc_is_polymorphic_nonptr,
+       gfc_is_unlimited_polymorphic_nonptr): New.
+       (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): Handle
+       polymorphic scalars.
+
+2021-05-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100551
+       * trans-expr.c (gfc_conv_procedure_call): Adjust check for
+       implicit conversion of actual argument to an unlimited polymorphic
+       procedure argument.
+
+2021-05-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsic.texi (ATOMIC_ADD, ATOMIC_FETCH_ADD): Use the
+       proper variable name in the description.
+
+2021-05-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+           Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/98301
+       * trans-decl.c (gfc_build_builtin_function_decls): Move decl.
+       * trans-intrinsic.c (conv_intrinsic_random_init): Use bool for
+       lib-call of caf_random_init instead of logical (4-byte).
+       * trans.h: Add tree var for random_init.
+
+2021-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_clauses): Support map-type-modifier 'close'.
+
+2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/100642
+       * openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ.
+
+2021-05-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98411
+       * trans-decl.c (gfc_finish_var_decl): Add check for explicit SAVE
+       attribute.
+
+2021-05-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/100633
+       * resolve.c (gfc_resolve_code): Reject nonintrinsic assignments in
+       OMP WORKSHARE.
+
+2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_node, show_code_node): Handle
+       EXEC_OMP_PARALLEL_MASTER.
+       * frontend-passes.c (gfc_code_walker): Likewise.
+       * gfortran.h (enum gfc_statement): Add ST_OMP_PARALLEL_MASTER and
+       ST_OMP_END_PARALLEL_MASTER.
+       (enum gfc_exec_op): Add EXEC_OMP_PARALLEL_MASTER..
+       * match.h (gfc_match_omp_parallel_master): Handle it.
+       * openmp.c (gfc_match_omp_parallel_master, resolve_omp_clauses,
+       omp_code_to_statement, gfc_resolve_omp_directive): Likewise.
+       * parse.c (decode_omp_directive, case_exec_markers,
+       gfc_ascii_statement, parse_omp_structured_block,
+       parse_executable): Likewise.
+       * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_parallel_master,
+       gfc_trans_omp_workshare, gfc_trans_omp_directive): Likewise.
+       * trans.c (trans_code): Likewise.
+
+2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * resolve.c (resolve_symbol): Handle implicit SAVE of main-program
+       for vars in 'omp threadprivate' and 'omp declare target'.
+
+2021-05-10  Martin Liska  <mliska@suse.cz>
+
+       * decl.c (variable_decl): Use startswith
+       function instead of strncmp.
+       (gfc_match_end): Likewise.
+       * gfortran.h (gfc_str_startswith): Likewise.
+       * module.c (load_omp_udrs): Likewise.
+       (read_module): Likewise.
+       * options.c (gfc_handle_runtime_check_option): Likewise.
+       * primary.c (match_arg_list_function): Likewise.
+       * trans-decl.c (gfc_get_symbol_decl): Likewise.
+       * trans-expr.c (gfc_conv_procedure_call): Likewise.
+       * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Likewise.
+
+2021-05-06  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/46991
+       PR fortran/99819
+       * class.c (gfc_build_class_symbol): Remove the error that
+       disables assumed size class arrays. Class array types that are
+       not deferred shape or assumed rank are given a unique name and
+       placed in the procedure namespace.
+       * trans-array.c (gfc_trans_g77_array): Obtain the data pointer
+       for class arrays.
+       (gfc_trans_dummy_array_bias): Suppress the runtime error for
+       extent violations in explicit shape class arrays because it
+       always fails.
+       * trans-expr.c (gfc_conv_procedure_call): Handle assumed size
+       class actual arguments passed to non-descriptor formal args by
+       using the data pointer, stored as the symbol's backend decl.
+
+2021-05-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100274
+       * interface.c (gfc_compare_actual_formal): Continue checks after
+       emitting warning for argument length mismatch.
+       * trans-expr.c (gfc_conv_procedure_call): Check for NULL pointer
+       dereference.
+
+2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR testsuite/100397
+       * trans-openmp.c (gfc_trans_omp_depobj): Fix pasto in enum values.
+
+2021-04-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_variable_list): Gobble whitespace before
+       checking whether a '%' or parenthesis-open follows as next character.
+
+2021-04-28  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/82376
+       * trans-expr.c (gfc_conv_procedure_call): Evaluate function result
+       and then pass a pointer.
+
+2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+           Tom de Vries  <vries@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * lang.opt (Wopenacc-parallelism): New.
+
+2021-04-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100154
+       * check.c (variable_check): Allow function reference having a data
+       pointer result.
+       (arg_strlen_is_zero): New function.
+       (gfc_check_fgetputc_sub): Add static check of character and status
+       arguments.
+       (gfc_check_fgetput_sub): Likewise.
+       * intrinsic.c (add_subroutines): Fix argument name for the
+       character argument to intrinsic subroutines fget[c], fput[c].
+
+2021-04-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100218
+       * expr.c (gfc_check_vardef_context): Extend check to allow pointer
+       from a function reference.
+
+2021-04-22  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100159
+       PR testsuite/100192
+       * frontend-passes.c (optimize_expr): Fix typos and missing comments.
+
+2021-04-22  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR fortran/96983
+       * trans-intrinsic.c (build_round_expr): If int type is larger than
+       long long, do the round and convert to the integer type.  Do not
+       try to find a floating point type the exact size of the integer
+       type.
+
+2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_namelist): Handle depobj + mutexinoutset
+       in the depend clause.
+       (show_omp_clauses, show_omp_node, show_code_node): Handle depobj.
+       * gfortran.h (enum gfc_statement): Add ST_OMP_DEPOBJ.
+       (enum gfc_omp_depend_op): Add OMP_DEPEND_UNSET,
+       OMP_DEPEND_MUTEXINOUTSET and OMP_DEPEND_DEPOBJ.
+       (gfc_omp_clauses): Add destroy, depobj_update and depobj.
+       (enum gfc_exec_op): Add EXEC_OMP_DEPOBJ
+       * match.h (gfc_match_omp_depobj): Match 'omp depobj'.
+       * openmp.c (gfc_match_omp_clauses): Add depobj + mutexinoutset
+       to depend clause.
+       (gfc_match_omp_depobj, resolve_omp_clauses, gfc_resolve_omp_directive):
+       Handle 'omp depobj'.
+       * parse.c (decode_omp_directive, next_statement, gfc_ascii_statement):
+       Likewise.
+       * resolve.c (gfc_resolve_code): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle depobj + mutexinoutset
+       in the depend clause.
+       (gfc_trans_omp_depobj, gfc_trans_omp_directive): Handle EXEC_OMP_DEPOBJ.
+       * trans.c (trans_code): Likewise.
+
+2021-04-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/100110
+       * trans-decl.c (gfc_get_symbol_decl): Replace test for host
+       association with a check that the current and symbol namespaces
+       are the same.
+
+2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lang.opt (fopenacc-kernels=): Remove.
+
+2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100094
+       * trans-array.c (gfc_trans_deferred_array): Add code to initialize
+       pointers and allocatables with correct TKR parameters.
+
+2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100018
+       * resolve.c: Add association check before de-referencing pointer.
+
+2021-04-16  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/63797
+       * module.c (write_symtree): Do not write interface of intrinsic
+       procedure to module file for F2003 and newer.
+
+2021-04-15  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99307
+       * symbol.c: Remove trailing white space.
+       * trans-array.c (gfc_trans_create_temp_array): Create a class
+       temporary for class expressions and assign the new descriptor
+       to the data field.
+       (build_class_array_ref): If the class expr can be extracted,
+       then use that for 'decl'. Class function results are reliably
+       handled this way. Call gfc_find_and_cut_at_last_class_ref to
+       eliminate largely redundant code. Remove dead code and recast
+       the rest of the code to extract 'decl' for remaining cases.
+       Call gfc_build_spanned_array_ref.
+       (gfc_alloc_allocatable_for_assignment): Use class descriptor
+       element length for 'elemsize1'. Eliminate repeat set of dtype
+       for class expressions.
+       * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Include
+       additional code from build_class_array_ref, and use optional
+       gfc_typespec pointer argument.
+       (gfc_trans_scalar_assign): Make use of pre and post blocks for
+       all class expressions.
+       * trans.c (get_array_span): For unlimited polymorphic exprs
+       multiply the span by the value of the _len field.
+       (gfc_build_spanned_array_ref): New function.
+       (gfc_build_array_ref): Call gfc_build_spanned_array_ref and
+       eliminate repeated code.
+       * trans.h: Add arg to gfc_find_and_cut_at_last_class_ref and
+       add prototype for gfc_build_spanned_array_ref.
+
+2021-04-14  Martin Liska  <mliska@suse.cz>
+
+       * intrinsic.texi: The table has first column empty and it makes
+       trouble when processing makeinfo --xml output.
+
+2021-04-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99817
+       * trans-types.c (gfc_get_function_type): Also generate hidden
+       coarray argument for character arguments.
+
+2021-04-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99818
+       * interface.c (compare_parameter): The codimension attribute is
+       applied to the _data field of class formal arguments.
+
+2021-04-01  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99840
+       * simplify.c (gfc_simplify_transpose): Properly initialize
+       resulting shape.
+
+2021-03-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99602
+       * trans-expr.c (gfc_conv_procedure_call): Use the _data attrs
+       for class expressions and detect proc pointer evaluations by
+       the non-null actual argument list.
+
+2021-03-27  Steve Kargl  <kargl@gcc.gnu.org>
+
+       * misc.c (gfc_typename): Fix off-by-one in buffer sizes.
+
+2021-03-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99651
+       * intrinsic.c (gfc_intrinsic_func_interface): Set
+       attr.proc = PROC_INTRINSIC if FL_PROCEDURE.
+
+2021-03-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99369
+       * resolve.c (resolve_operator): Make 'msg' buffer larger
+       and use snprintf.
+
+2021-03-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93660
+       * trans-decl.c (build_function_decl): Add comment;
+       increment hidden_typelist for caf_token/caf_offset.
+       * trans-types.c (gfc_get_function_type): Add comment;
+       add missing caf_token/caf_offset args.
+
+2021-03-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99688
+       * match.c (select_type_set_tmp, gfc_match_select_type,
+       gfc_match_select_rank): Fix 'name' buffersize to avoid out of bounds.
+       * resolve.c (resolve_select_type): Likewise.
+
+2021-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * frontend-passes.c (inline_limit_check): Add rank_a
+       argument. If a is rank 1, set the second dimension to 1.
+       (inline_matmul_assign): Pass rank_a argument to inline_limit_check.
+       (call_external_blas): Likewise.
+
+2021-03-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/99345
+       * frontend-passes.c (doloop_contained_procedure_code):
+       Properly handle EXEC_IOLENGTH.
+
+2021-03-15  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99545
+       * trans-stmt.c (gfc_trans_allocate): Mark the initialization
+       assignment by setting init_flag.
+
+2021-03-14  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       * trans-expr.c (gfc_conv_procedure_call): Fix runtime checks for
+       CLASS arguments.
+       * trans-intrinsic.c (gfc_conv_intrinsic_size): Likewise.
+
+2021-03-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99125
+       * trans-array.c (gfc_conv_expr_descriptor): For deferred length
+       length components use the ss_info string length instead of
+       gfc_get_expr_charlen. Make sure that the deferred string length
+       is a variable before assigning to it. Otherwise use the expr.
+       * trans-expr.c (gfc_conv_string_length): Make sure that the
+       deferred string length is a variable before assigning to it.
+
+2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99514
+       * resolve.c (resolve_symbol): Accept vars which are in DATA
+       and hence (either) implicit SAVE (or in common).
+
+2021-03-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99205
+       * data.c (gfc_assign_data_value): Reject non-constant character
+       length for lvalue.
+       * trans-array.c (gfc_conv_array_initializer): Restrict loop to
+       elements which are defined to avoid NULL pointer dereference.
+
+2021-03-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsic.texi (MIN): Correct 'maximum' to 'minimum'.
+
+2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR fortran/96983
+       * trans-intrinsic.c (build_round_expr): Do not implicitly assume
+       that __float128 is the 128-bit floating-point type.
+
+2021-03-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/49278
+       * data.c (gfc_assign_data_value): Reject variable with PARAMETER
+       attribute in DATA statement.
+
+2021-03-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99355
+       PR fortran/57871
+       * invoke.texi (-freal{4,8}-real-*): Extend description.
+       * primary.c (match_real_constant): Also promote real literals
+       with '_kind' number.
+
+2021-03-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99355
+       * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Avoid
+       redoing kind conversions.
+       * primary.c (match_real_constant): Likewise.
+
+2021-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/99303
+       * openmp.c (gfc_omp_requires_add_clause): Fix up diagnostic message
+       wordings.
+       (resolve_omp_clauses): Likewise.
+
+2021-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/99300
+       * frontend-passes.c (doloop_code): Replace double space in diagnostics
+       with a single space.
+
+2021-02-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98342
+       * trans-expr.c (gfc_conv_derived_to_class): Add optional arg.
+       'derived_array' to hold the fixed, parmse expr in the case of
+       assumed rank formal arguments. Deal with optional arguments.
+       (gfc_conv_procedure_call): Null 'derived' array for each actual
+       argument. Add its address to the call to gfc_conv_derived_to_
+       class. Access the 'data' field of scalar descriptors before
+       deallocating allocatable components. Also strip NOPs before the
+       calls to gfc_deallocate_alloc_comp. Use 'derived' array as the
+       input to gfc_deallocate_alloc_comp if it is available.
+       * trans.h : Include the optional argument 'derived_array' to
+       the prototype of gfc_conv_derived_to_class. The default value
+       is NULL_TREE.
+
+2021-02-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99124
+       * resolve.c (resolve_fl_procedure): Include class results in
+       the test for F2018, C15100.
+       * trans-array.c (get_class_info_from_ss): Do not use the saved
+       descriptor to obtain the class expression for variables. Use
+       gfc_get_class_from_expr instead.
+
+2021-02-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99206
+       * simplify.c (gfc_simplify_reshape): Set string length for
+       character arguments.
+
+2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99171
+       * trans-openmp.c (gfc_omp_is_optional_argument): Regard optional
+       dummy procs as nonoptional as no special treatment is needed.
+
+2021-02-21  Harald Anlauf  <anlauf@gmx.de>
+
+       * trans-expr.c (gfc_conv_procedure_call): Do not add clobber to
+       allocatable intent(out) argument.
+
+2021-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/98686
+       * match.c (gfc_match_namelist): If BT_UNKNOWN, check for
+       IMPLICIT NONE and and issue an error, otherwise set the type
+       to its IMPLICIT type so that any subsequent use of objects will
+       will confirm their types.
+
+2021-02-19  Harald Anlauf  <anlauf@gmx.de>
+
+       * symbol.c (gfc_add_flavor): Reverse order of conditions.
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99010
+       * dependency.c (gfc_dep_resolver): Fix coarray handling.
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99146
+       * interface.c:
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99027
+       * simplify.c (simplify_bound_dim): Honor DIMEN_ELEMENT
+       when using dim=.
+
+2021-02-17  Julian Brown  <julian@codesourcery.com>
+
+       * openmp.c (resolve_omp_clauses): Disallow selecting components
+       of arrays of derived type.
+
+2021-02-17  Julian Brown  <julian@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle element selection
+       for arrays of derived types.
+
+2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * expr.c (gfc_is_simplify_contiguous): Handle REF_INQUIRY, i.e.
+       %im and %re which are EXPR_VARIABLE.
+       * openmp.c (resolve_omp_clauses): Diagnose %re/%im explicitly.
+
+2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99111
+       * io.c (resolve_tag_format): Reject BT_DERIVED/CLASS/VOID
+       as (array-valued) FORMAT tag.
+
+2021-02-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99043
+       * trans-expr.c (gfc_conv_procedure_call): Don't reset
+       rank of assumed-rank array.
+
+2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98897
+       * match.c (gfc_match_call): Include associate names as possible
+       entities with typebound subroutines. The target needs to be
+       resolved for the type.
+
+2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99060
+       * primary.c (gfc_match_varspec): Test for non-null 'previous'
+       before using its name in the error message.
+
+2021-02-11  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsic.texi (FINDLOC): Add 'MASK' to argument table.
+       (MAXLOC, MAXVAL, MINLOC, MINVAL): For 'MASK', remove 'an
+       array' as scalars are also permitted.
+
+2021-02-10  Julian Brown  <julian@codesourcery.com>
+
+       PR fortran/98979
+       * openmp.c (resolve_omp_clauses): Omit OpenACC update in
+       contiguity check and stride-specified error.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * openmp.c (resolve_omp_clauses): Omit OpenACC update in
+       contiguity check and stride-specified error.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Use class_pointer attribute
+       for BT_CLASS.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_clauses): Fix dereferencing for
+       BT_DERIVED members.
+
+2021-02-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * openmp.c (resolve_omp_clauses): Explicitly diagnose
+       substrings as not permitted.
+
+2021-02-03  Jeff Law  <law@redhat.com>
+
+       * intrinsic.texi (ANINT): Fix typo.
+
+2021-02-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98913
+       * dependency.c (gfc_dep_resolver): Treat local access
+       to coarrays like any array access in dependency analysis.
+
+2021-01-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/86470
+       * trans.c (gfc_call_malloc): Allocate area of size 1 if passed
+       size is NULL (as documented).
+
+2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93924
+       PR fortran/93925
+       * trans-expr.c (gfc_conv_procedure_call): Suppress the call to
+       gfc_conv_intrinsic_to_class for unlimited polymorphic procedure
+       pointers.
+       (gfc_trans_assignment_1): Similarly suppress class assignment
+       for class valued procedure pointers.
+
+2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98472
+       * trans-array.c (gfc_conv_expr_descriptor): Include elemental
+       procedure pointers in the assert under the comment 'elemental
+       function' and eliminate the second, spurious assert.
+
+2021-01-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/70070
+       * data.c (create_character_initializer): Check substring indices
+       against bounds.
+       (gfc_assign_data_value): Catch error returned from
+       create_character_initializer.
+
+2021-01-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsic.texi (CO_BROADCAST, CO_MIN, CO_REDUCE, CO_SUM): Fix typos.
+
+2021-01-25  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/98517
+       * resolve.c (resolve_charlen): Check that length expression is
+       present before testing for scalar/integer..
+
+2021-01-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98565
+       * trans-intrinsic.c (gfc_conv_associated): Do not add a _data
+       component for scalar class function targets. Instead, fix the
+       function result and access the _data from that.
+
+2021-01-21  Jorge D'Elia  <jdelia@cimec.unl.edu.ar>
+
+       * intrinsic.texi (CO_MAX): Fix typo.
+
+2021-01-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96320
+       * decl.c (gfc_match_modproc): It is not an error to find a
+       module procedure declaration within a contains block.
+       * expr.c (gfc_check_vardef_context): Pure procedure result is
+       assignable. Change 'own_scope' accordingly.
+       * resolve.c (resolve_typebound_procedure): A procedure that
+       has the module procedure attribute is almost certainly a
+       module procedure, whatever its interface.
+
+2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98476
+       * openmp.c (resolve_omp_clauses): Change use_device_ptr
+       to use_device_addr for unless type(c_ptr); check all
+       list item for is_device_ptr.
+
+2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * dump-parse-tree.c (show_omp_clauses): Handle detach clause.
+       * frontend-passes.c (gfc_code_walker): Walk detach expression.
+       * gfortran.h (struct gfc_omp_clauses): Add detach field.
+       (gfc_c_intptr_kind): New.
+       * openmp.c (gfc_free_omp_clauses): Free detach clause.
+       (gfc_match_omp_detach): New.
+       (enum omp_mask1): Add OMP_CLAUSE_DETACH.
+       (enum omp_mask2): Remove OMP_CLAUSE_DETACH.
+       (gfc_match_omp_clauses): Handle OMP_CLAUSE_DETACH for OpenMP.
+       (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DETACH.
+       (resolve_omp_clauses): Prevent use of detach with mergeable and
+       overriding the data sharing mode of the event handle.
+       * trans-openmp.c (gfc_trans_omp_clauses): Handle detach clause.
+       * trans-types.c (gfc_c_intptr_kind): New.
+       (gfc_init_kinds): Initialize gfc_c_intptr_kind.
+       * types.def
+       (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
+       to...
+       (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
+       ...this.  Add extra argument.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.h (gfc_resolve_substring): Add prototype.
+       * primary.c (match_string_constant): Simplify substrings with
+       constant starting and ending points.
+       * resolve.c: Rename resolve_substring to gfc_resolve_substring.
+       (gfc_resolve_ref): Use renamed function gfc_resolve_substring.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * resolve.c (resolve_component): Derived type components with
+       ALLOCATABLE or POINTER attribute shall have a deferred shape.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       Revert:
+       2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * resolve.c (resolve_component): Derived type components with
+       ALLOCATABLE or POINTER attribute shall have a deferred shape.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * resolve.c (resolve_component): Derived type components with
+       ALLOCATABLE or POINTER attribute shall have a deferred shape.
+
+2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93794
+       * trans-expr.c (gfc_conv_component_ref): Remove the condition
+       that deferred character length components only be allocatable.
+
+2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98458
+       * simplify.c (is_constant_array_expr): If an array constructor
+       expression has elements other than constants or structures, try
+       fixing the expression with gfc_reduce_init_expr. Also, if shape
+       is NULL, obtain the array size and set it.
+
+2021-01-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93701
+       * resolve.c (find_array_spec): Put static prototype for
+       resolve_assoc_var before this function and call for associate
+       variables.
+
+2021-01-06  Harald Anlauf  <anlauf@gmx.de>
+
+       * resolve.c (resolve_component): Add check for valid CLASS
+       reference before trying to access CLASS data.
+
+2021-01-04  Martin Liska  <mliska@suse.cz>
+
+       * ChangeLog-2018: Remove duplicate ChangeLog entries.
+
+2021-01-01  Harald Anlauf  <anlauf@gmx.de>
+
+       * class.c (gfc_find_vtab): Add check on attribute is_class.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortranspec.c (lang_specific_driver): Update copyright notice
+       dates.
+       * gfc-internals.texi: Bump @copying's copyright year.
+       * gfortran.texi: Ditto.
+       * intrinsic.texi: Ditto.
+       * invoke.texi: Ditto.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/gcc/testsuite/ChangeLog-2021 b/gcc/testsuite/ChangeLog-2021
new file mode 100644 (file)
index 0000000..21b8841
--- /dev/null
@@ -0,0 +1,20646 @@
+2021-12-31  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       PR fortran/89639
+       * gfortran.dg/ieee/ieee_9.f90: Adjust test for targets without
+       REAL128.
+
+2021-12-31  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * lib/target-supports.exp (check_vect_slp_store_usage):
+       Handle TEST_V2QI_2.
+       (check_effective_target_vect_slp_v2qi_store_unalign): New procedure.
+       * c-c++-common/Wstringop-overflow-2.c: XFAIL specific tests for
+       vect_slp_v2qi_store_unalign targets.
+       * g++.dg/warn/Wstringop-overflow-3.C: Ditto.
+       * gcc.dg/Wstringop-overflow-28.c: Ditto.
+       * gcc.dg/Wstringop-overflow-68.c: Ditto.
+       * gcc.dg/Wstringop-overflow-75.c: Ditto.
+       * gcc.dg/Wstringop-overflow-76.c: Ditto.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103756
+       * g++.dg/opt/pr103756.C: New test.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/89971
+       * c-c++-common/cpp/va-opt-9.c: New test.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103808
+       * gcc.dg/pr103808.c: New test.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103012
+       PR c++/103012
+       * g++.dg/cpp/pr103012.C: New test.
+       * g++.target/i386/pr103012.C: New test.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103860
+       * gcc.dg/pr103860.c: New test.
+
+2021-12-30  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.dg/loop-invariant-2.c: New.
+
+2021-12-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103742
+       * g++.dg/opt/pr103742.C: New test.
+
+2021-12-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR testsuite/47334
+       PR testsuite/103823
+       * lib/prune.exp: Prune some warnings related to LTO and
+       visibility.
+
+2021-12-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102332
+       * gfortran.dg/pr102332.f90: New test.
+
+2021-12-29  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR tree-optimization/103793
+       * gcc.dg/pr103793.c: New test.
+
+2021-12-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/103828
+       * gfortran.dg/c_char_tests_3.f90: New file.
+       * gfortran.dg/c_char_tests_3_c.c: New file.
+       * gfortran.dg/c_char_tests_4.f90: New file.
+       * gfortran.dg/c_char_tests_5.f90: New file.
+
+2021-12-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99968
+       * g++.dg/ext/is_enum2.C: New test.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103813
+       * gcc.c-torture/compile/pr103813.c: New test.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103837
+       * gcc.dg/pr103837.c: New test.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/103838
+       * gcc.dg/pr103838.c: New test.
+
+2021-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103842
+       * g++.dg/opt/pr103842.C: New test.
+
+2021-12-28  Haochen Jiang  <haochen.jiang@intel.com>
+
+       * gcc.target/i386/amx-check.h (check_float_tile_register):
+       New check function for float to prevent precision loss.
+       * gcc.target/i386/amxbf16-dpbf16ps-2.c: Correct the type convert
+       and byte offset. Use the new check function.
+
+2021-12-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101239
+       * g++.dg/template/sfinae32a.C: New test.
+
+2021-12-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103700
+       * g++.dg/template/sfinae32.C: New test.
+
+2021-12-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr103762-1a.c: New test.
+       * gcc.target/i386/pr103762-1b.c: Likewise.
+       * gcc.target/i386/pr103762-1c.c: Likewise.
+
+2021-12-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gfortran.dg/extract_recip_1.f: Adjust testcase.
+
+2021-12-27  LiaoShihua  <shihua@iscas.ac.cn>
+
+       * gcc.target/riscv/pr103302.c: skip if -march=rv32*
+
+2021-12-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103785
+       * gcc.target/i386/pr103785.c: New test.
+
+2021-12-26  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       PR libfortran/98076
+       * gfortran.dg/pr98076.f90: New test.
+
+2021-12-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       PR target/103797
+       * gcc.target/i386/pr95046-1.c (test_div): Add.
+       (dg-options): Add -mno-recip.
+
+2021-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/darwin-aligned-globals.c: New test.
+       * gcc.dg/darwin-comm-1.c: New test.
+       * gcc.dg/attr-aligned.c: Amend for new alignment values on
+       Darwin.
+       * gcc.target/i386/pr89261.c: Likewise.
+
+2021-12-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/smuldi3_highpart.c: Replace long with long long.
+
+2021-12-23  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103773
+       * gcc.target/i386/pr103773-2.c: New test case.
+       * gcc.target/i386/pr103773.c: New test case.
+
+2021-12-23  konglin1  <lingling.kong@intel.com>
+
+       * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: New test.
+       * gcc.target/i386/avx512bf16-vcvtpbh2ps-1.c: Ditto.
+       * gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c: Ditto.
+       * gcc.target/i386/avx512bf16vl-vcvtpbh2ps-1.c: Ditto.
+
+2021-12-23  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-pr103750-1.c: New test.
+       * gcc.target/i386/avx512bw-pr103750-2.c: New test.
+       * gcc.target/i386/avx512f-pr103750-1.c: New test.
+       * gcc.target/i386/avx512f-pr103750-2.c: New test.
+       * gcc.target/i386/avx512fp16-pr103750-1.c: New test.
+       * gcc.target/i386/avx512fp16-pr103750-2.c: New test.
+
+2021-12-22  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103778
+       * gfortran.dg/illegal_boz_arg_3.f90: New test.
+
+2021-12-22  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103776
+       * gfortran.dg/select_10.f90: New test.
+
+2021-12-22  Murray Steele  <murray.steele@arm.com>
+
+       * gcc.target/arm/mve/mve.exp: Add new subdirectories.
+       * gcc.target/arm/mve/general-c/type_redef_1.c: New test.
+       * gcc.target/arm/mve/general/double_pragmas_1.c: New test.
+       * gcc.target/arm/mve/general/nomve_1.c: New test.
+
+2021-12-21  Jiang Haochen  <haochen.jiang@intel.com>
+
+       * gcc.target/i386/bmi-1.c: Add test for new intrinsic.
+       * gcc.target/i386/bmi-2.c: Ditto.
+       * gcc.target/i386/bmi-3.c: Ditto.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/recip-3.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-lim-19.c: New test.
+       * gcc.dg/tree-ssa/ssa-lim-20.c: New test.
+       * gcc.dg/tree-ssa/ssa-lim-21.c: New test.
+       * gcc.dg/tree-ssa/ssa-lim-22.c: New test.
+       * gcc.dg/tree-ssa/ssa-lim-23.c: New test.
+
+2021-12-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR middle-end/103270
+       * gcc.dg/pr103270.c: New test.
+
+2021-12-20  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/lookup/memfn1.C: New test.
+       * g++.dg/template/non-dependent16b.C: New test.
+
+2021-12-20  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.dg/vect/vect-simd-20.c: Fix size of p[]
+       to accommodate the number of strides performed
+       by foo() for s == 78.
+
+2021-12-20  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/smuldi3_highpart.c: New test case.
+
+2021-12-20  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp0x/error2.C: Make the call to foo type-dependent in
+       order to avoid latent pretty-printing issue for FUNCTION_DECL
+       inside MODOP_EXPR.
+       * g++.dg/cpp0x/fntmp-equiv1.C: Make the calls to d, d2 and d3
+       within the function signatures dependent.
+       * g++.dg/template/non-dependent16.C: New test.
+       * g++.dg/template/non-dependent16a.C: New test.
+       * g++.dg/template/non-dependent17.C: New test.
+
+2021-12-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103669
+       * g++.dg/torture/pr103669.C: New test.
+
+2021-12-20  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr98468.c: New test.
+
+2021-12-19  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/uninit-pr89230-1.c: Change the dg-bogus messages
+       around and xfail both of them.
+
+2021-12-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94376
+       * g++.dg/cpp0x/lambda/lambda-nested9a.C: New test.
+
+2021-12-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103714
+       * g++.dg/cpp2a/concepts-uneval5.C: New test.
+
+2021-12-19  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       * gcc.dg/pr100509.c: Needs alias.
+       * gcc.dg/pragma-diag-10.c: Needs alias.
+
+2021-12-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103412
+       * gfortran.dg/illegal_boz_arg_2.f90: New test.
+
+2021-12-18  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103611
+       * gcc.target/i386/pr103611-2.c: New test case.
+
+2021-12-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/32803
+       * gcc.target/i386/pr32803.c: New test case.
+
+2021-12-18  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gcc.dg/darwin-minversion-link.c: Test darwin21.
+       * obj-c++.dg/cxx-ivars-3.mm: Homogeneize darwin versions.
+       * obj-c++.dg/objc-gc-3.mm: Homogeneize darwin versions.
+       * objc.dg/objc-gc-4.m: Homogeneize darwin versions.
+
+2021-12-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c/103649
+       * c-c++-common/Wno-attributes-6.c: New test.
+
+2021-12-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c
+
+2021-12-17  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.target/powerpc/pr97142.c: Add -mdejagnu-cpu=power7
+       to the dg-options.
+
+2021-12-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103749
+       * g++.dg/template/redecl4.C: Adjust dg-error.
+       * g++.dg/diagnostic/redeclaration-2.C: New test.
+
+2021-12-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/103624
+       * gcc.target/powerpc/darn-0.c: Remove target clause.
+       * gcc.target/powerpc/darn-1.c: Remove target clause. Remove lp64
+       requirement.  Change return type to long.
+       * gcc.target/powerpc/darn-2.c: Ditto.
+       * gcc.target/powerpc/darn-3.c: Remove target clause.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/100127
+       * g++.dg/coroutines/pr100127.C: New test.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/100772
+       * g++.dg/coroutines/pr100772-a.C: New test.
+       * g++.dg/coroutines/pr100772-b.C: New test.
+
+2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96517
+       * g++.dg/coroutines/pr96517.C: New test.
+
+2021-12-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pragma-optimize.c: Require ifunc support.
+
+2021-12-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103744
+       * gcc.dg/vect/pr103744-1.c: New test.
+       * gcc.dg/vect/pr103744-2.c: Likewise.
+
+2021-12-17  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103741
+       * gcc.target/aarch64/pr103741.c: New test.
+
+2021-12-17  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/100738
+       * g++.target/i386/avx512vl-pr100738-1.C: New test.
+
+2021-12-17  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * g++.dg/ext/builtin-dynamic-object-size1.C: New test.
+       * g++.dg/ext/builtin-dynamic-object-size2.C: Likewise.
+       * gcc.dg/builtin-dynamic-alloc-size.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-1.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-10.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-11.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-12.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-13.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-14.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-15.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-16.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-17.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-18.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-19.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-2.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-3.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-4.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-5.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-6.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-7.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-8.c: Likewise.
+       * gcc.dg/builtin-dynamic-object-size-9.c: Likewise.
+       * gcc.dg/builtin-object-size-16.c: Adjust to allow inclusion
+       from builtin-dynamic-object-size-16.c.
+       * gcc.dg/builtin-object-size-17.c: Likewise.
+
+2021-12-17  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/builtin-object-size-1.c (test9): New test.
+       (main): Call it.
+       * gcc.dg/builtin-object-size-2.c (test8): New test.
+       (main): Call it.
+       * gcc.dg/builtin-object-size-3.c (test9): New test.
+       (main): Call it.
+       * gcc.dg/builtin-object-size-4.c (test8): New test.
+       (main): Call it.
+       * gcc.dg/builtin-object-size-5.c (test5, test6, test7): New
+       tests.
+
+2021-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103681
+       * g++.dg/abi/macro0.C: Update value.
+       * g++.dg/abi/no_unique_address6.C: New test.
+       * g++.dg/abi/nsdmi-aggr1.C: New test.
+       * g++.dg/abi/nsdmi-aggr1a.C: New test.
+
+2021-12-16  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.dg/20021029-1.c: Build with -G0 for nios2.
+
+2021-12-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99980
+       * g++.dg/cpp0x/noexcept71.C: New test.
+
+2021-12-16  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/103703
+       * g++.dg/warn/Wmismatched-tags-9.C: New test.
+
+2021-12-16  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/103751
+       * gcc.dg/Warray-bounds-48.c: Fix member alignment.
+
+2021-12-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/51577
+       PR c++/83035
+       PR c++/100465
+       * g++.dg/lookup/operator-3.C: Split out operator overload
+       declarations into ...
+       * g++.dg/lookup/operator-3-ops.h: ... here.
+       * g++.dg/lookup/operator-3a.C: New test.
+       * g++.dg/lookup/operator-4.C: New test.
+       * g++.dg/lookup/operator-4a.C: New test.
+       * g++.dg/lookup/operator-5.C: New test.
+       * g++.dg/lookup/operator-5a.C: New test.
+       * g++.dg/lookup/operator-6.C: New test.
+       * g++.dg/lookup/operator-7.C: New test.
+       * g++.dg/lookup/operator-8.C: New test.
+
+2021-12-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/103571
+       * gcc.target/i386/pr102812.c (dg-final): Do not scan for movdqa.
+
+2021-12-16  Martin Liska  <mliska@suse.cz>
+
+       PR c++/103696
+       * g++.target/i386/pr103696.C: New test.
+
+2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.dg/iostat_5.f90: New file.
+
+2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.dg/date_and_time_1.f90: New file.
+
+2021-12-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/102229
+       * g++.dg/cpp1y/decltype-auto5.C: New test.
+
+2021-12-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/fortran-torture.exp (fortran-torture-compile)
+       (fortran-torture-execute): Be more informative for ICEs.
+       * lib/gcc-defs.exp (${tool}_check_compile): Likewise.
+       * lib/gcc-dg.exp (gcc-dg-test-1): Likewise.
+       * lib/go-torture.exp (go-torture-compile, go-torture-execute):
+       Likewise.
+
+2021-12-15  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/78969
+       * gcc.dg/tree-ssa/builtin-snprintf-warn-6.c: New test.
+
+2021-12-15  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/float16-2.c: New test case.
+       * gcc.target/nvptx/tanh-1.c: New test case.
+
+2021-12-15  Richard Sandiford  <richard.sandiford@arm.com>
+           Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/103094
+       * gcc.target/aarch64/pr103094.c: New test.
+
+2021-12-15  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/103350
+       * gcc.target/aarch64/pr103350-1.c: New test.
+       * gcc.target/aarch64/pr103350-2.c: New test.
+
+2021-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103408
+       * g++.dg/cpp23/auto-fncast11.C: Fix expected diagnostic wording.
+
+2021-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103704
+       * g++.dg/gomp/pr103704.C: New test.
+
+2021-12-15  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/101796
+       * gcc.target/i386/pr101796-1.c: New test.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * gcc.target/powerpc/vec-splat-constant-df.c: New test.
+       * gcc.target/powerpc/vec-splat-constant-sf.c: New test.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Update insn
+       regex for power10.
+       * gcc.target/powerpc/vec-splat-constant-v2df.c: New test.
+       * gcc.target/powerpc/vec-splat-constant-v2di.c: New test.
+
+2021-12-15  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/vec-splat-constant-v16qi.c: New test.
+       * gcc.target/powerpc/vec-splat-constant-v4sf.c: New test.
+       * gcc.target/powerpc/vec-splat-constant-v4si.c: New test.
+       * gcc.target/powerpc/vec-splat-constant-v8hi.c: New test.
+       * gcc.target/powerpc/vec-splati-runnable.c: Update insn count.
+
+2021-12-15  Michael Meissner  <meissner@the-meissners.org>
+
+       * gcc.target/powerpc/float128-constant.c: New test.
+
+2021-12-15  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/100518
+       * gcc.target/aarch64/pr100518.c: New.
+
+2021-12-15  Alexandre Oliva  <oliva@adacore.com>
+
+       PR middle-end/100843
+       * gcc.dg/pr100843.c: New.
+
+2021-12-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.c-torture/compile/pr103682.c: New test.
+
+2021-12-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/103548
+       * gcc.target/powerpc/mma-builtin-10-pair.c: New test.
+       * gcc.target/powerpc/mma-builtin-10-quad.c: New test.
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103717
+       * gfortran.dg/do_check_19.f90: New test.
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103718
+       PR fortran/103719
+       * gfortran.dg/do_check_18.f90: New test.
+
+2021-12-14  Petter Tomner  <tomner@kth.se>
+
+       * jit.dg/all-non-failing-tests.h: Added two tests
+       * jit.dg/test-error-ctor-array-wrong-obj.c: New
+       * jit.dg/test-error-ctor-struct-too-big.c: New
+       * jit.dg/test-error-ctor-struct-wrong-field-obj.c: New
+       * jit.dg/test-error-ctor-struct-wrong-type.c: New
+       * jit.dg/test-error-ctor-struct-wrong-type2.c
+       * jit.dg/test-error-ctor-union-wrong-field-name.c: New
+       * jit.dg/test-error-global-already-init.c: New
+       * jit.dg/test-error-global-common-section.c: New
+       * jit.dg/test-error-global-init-too-small-array.c: New
+       * jit.dg/test-error-global-lvalue-init.c: New
+       * jit.dg/test-error-global-nonconst-init.c: New
+       * jit.dg/test-global-init-rvalue.c: New
+       * jit.dg/test-local-init-rvalue.c: New
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR libfortran/103634
+       * gfortran.dg/intrinsic_pack_6.f90: New test.
+
+2021-12-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/analyzer/data-model-1.c: Disable ipa-modref.
+       * gcc.dg/uninit-38.c: Likewise.
+       * gcc.dg/uninit-pr98578.c: Liewise.
+
+2021-12-14  Manfred Schwarb  <manfred99@gmx.ch>
+
+       PR fortran/91497
+       * gfortran.dg/pr91497.f90: Adjust test to use
+       dg-require-effective-target directive.
+       * gfortran.dg/pr91497_2.f90: New test to cover all targets.
+       Cover MAX1 and MIN1 intrinsics.
+
+2021-12-14  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99531
+       * gcc.target/i386/pr99531.c: Do not scan for ia32.
+
+2021-12-14  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * gcc.target/aarch64/acle/ls64_asm.c: New test.
+       * gcc.target/aarch64/acle/ls64_ld64b.c: New test.
+       * gcc.target/aarch64/acle/ls64_ld64b-2.c: New test.
+       * gcc.target/aarch64/acle/ls64_ld64b-3.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64b.c: New test.
+       * gcc.target/aarch64/acle/ls64_ld_st_o0.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64b-2.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv-2.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv-3.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv0.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv0-2.c: New test.
+       * gcc.target/aarch64/acle/ls64_st64bv0-3.c: New test.
+       * gcc.target/aarch64/pragma_cpp_predefs_2.c: Add checks
+       for __ARM_FEATURE_LS64.
+
+2021-12-14  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/i386/avx2-psraq-1.c: Use ARRAY_SIZE.
+       * gcc.target/i386/m128-check.h: Move it to the top-level
+       context.
+       * gcc.target/i386/sse2-psraq-1.c: Use ARRAY_SIZE.
+       * gcc.target/i386/sse4_2-check.h: Include the header with
+       ARRAY_SIZE definition.
+
+2021-12-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103408
+       * g++.dg/concepts/diagnostic18.C: Expect a "constraints on a
+       non-templated function" error.
+       * g++.dg/cpp23/auto-fncast11.C: New test.
+
+2021-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/103587
+       * gcc.dg/pr103587.c: New test.
+
+2021-12-14  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR fortran/103576
+       PR testsuite/103697
+       * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust.
+       * gfortran.dg/goacc/privatization-1-compute.f90: Likewise.
+       * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90:
+       Likewise.
+       * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise.
+
+2021-12-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99531
+       * gcc.target/i386/pr99531.c: New test.
+
+2021-12-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/pr103611-1.c: New test case.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/mops_3.c: New test.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/mops_2.c: New test.
+
+2021-12-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/mops_1.c: New test.
+
+2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/atomic-25.f90: Remove sorry, fix + add checks.
+       * gfortran.dg/gomp/atomic-26.f90: Likewise.
+       * gfortran.dg/gomp/atomic-21.f90: New test.
+
+2021-12-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103513
+       * gcc.c-torture/compile/pr103513.c: New test.
+
+2021-12-13  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/103515
+       * gcc.target/powerpc/pr103515.c: New test.
+
+2021-12-12  Antoni Boucher  <bouanto@zoho.com>
+
+       PR target/100688
+       * jit.dg/all-non-failing-tests.h: Mention new test
+       link-section-assembler.
+       * jit.dg/test-link-section-assembler.c: New test.
+       * jit.dg/jit.exp: New helper function to test that the
+       assembly contains a pattern.
+
+2021-12-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/float16-1.c: New test case.
+
+2021-12-12  Antoni Boucher  <bouanto@zoho.com>
+
+       PR target/95415
+       * jit.dg/all-non-failing-tests.h: Add test-tls.c.
+       * jit.dg/test-tls.c: New test.
+
+2021-12-11  Antoni Boucher  <bouanto@zoho.com>
+
+       PR target/96066
+       PR target/96067
+       * jit.dg/all-non-failing-tests.h: Add test-builtin-types.c.
+       * jit.dg/test-builtin-types.c
+       * jit.dg/test-error-bad-assignment.c
+       * jit.dg/test-fuzzer.c: Add fuzzing for type qualifiers.
+
+2021-12-11  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103606
+       * gfortran.dg/pr103606.f90: New test.
+
+2021-12-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103534
+       * g++.dg/warn/Wstringop-overflow-8.C: New test.
+
+2021-12-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/103562
+       * jit.dg/all-non-failing-tests.h: Add comment about...
+       * jit.dg/test-pr103562.c: New test.
+
+2021-12-10  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp23/auto-fncast10.C: New test.
+
+2021-12-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103418
+       * gfortran.dg/move_alloc_8.f90: Adjust error messages.
+       * gfortran.dg/pointer_intent_9.f90: New test.
+
+2021-12-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR ipa/103601
+       * gcc.dg/ipa/pr103601.c: New test case.
+
+2021-12-10  Joel Hutton  <joel.hutton@arm.com>
+
+       * gcc.target/aarch64/pr103523.c: New test.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/103215
+       * gcc.dg/Wstringop-overflow-58.c: Adjust and xfail expected warnings.
+       * gcc.dg/Wstringop-overflow-59.c: Same.
+       * gcc.dg/warn-strnlen-no-nul.c: Same.
+       * gcc.dg/Warray-bounds-91.c: New test.
+       * gcc.dg/Warray-bounds-92.c: New test.
+       * gcc.dg/Wstringop-overflow-85.c: New test.
+       * gcc.dg/Wstringop-overflow-87.c: New test.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101751
+       * gcc.dg/Wstringop-overflow-86.c: New test.
+
+2021-12-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/103143
+       * gcc.dg/Wstringop-overflow-83.c: New test.
+
+2021-12-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103401
+       * g++.dg/cpp1y/lambda-generic-85713-2.C: Add dg-error.
+       * g++.dg/cpp1y/pr60054.C: Adjust dg-error.
+       * g++.dg/cpp1y/pr60332.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-2.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-3.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979.C: Likewise.
+       * g++.dg/cpp23/auto-fncast7.C: New test.
+       * g++.dg/cpp23/auto-fncast8.C: New test.
+       * g++.dg/cpp23/auto-fncast9.C: New test.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/103097
+       * gcc.target/i386/pr103097.c: New.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR target/103302
+       * gcc.target/riscv/pr103302.c: New.
+
+2021-12-09  Alexandre Oliva  <oliva@adacore.com>
+
+       PR tree-optimization/103024
+       PR middle-end/103530
+       * g++.dg/pr103024.C: New.
+       * g++.dg/pr103530.C: New.
+
+2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103609
+       * gfortran.dg/pr103609.f90: New test.
+
+2021-12-08  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.target/pru/pru_irq_map.c: New test.
+
+2021-12-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103610
+       * gfortran.dg/shape_11.f90: New test.
+
+2021-12-08  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/loop-unswitch-1.c: Adjust test-case based on
+       dump_printf_loc.
+       * gcc.dg/loop-unswitch-2.c: Likewise.
+       * gcc.dg/loop-unswitch-3.c: Likewise.
+       * gcc.dg/loop-unswitch-4.c: Likewise.
+       * gcc.dg/loop-unswitch-5.c: Likewise.
+
+2021-12-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.dg/sibcall-1.c, gcc.dg/sibcall-10.c,
+       gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c,
+       gcc.dg/sibcall-4.c, gcc.dg/sibcall-9.c: Replace
+       attribute "noinline" with "noipa".
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * c-c++-common/goacc/deep-copy-arrayofstruct.c: Adjust testcase.
+       * c-c++-common/gomp/target-enter-data-1.c: New testcase.
+       * c-c++-common/gomp/target-implicit-map-2.c: New testcase.
+
+2021-12-08  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/exttrunc-2.c: New test case.
+       * gcc.target/nvptx/exttrunc-3.c: New test case.
+       * gcc.target/nvptx/exttrunc-4.c: New test case.
+       * gcc.target/nvptx/exttrunc-5.c: New test case.
+       * gcc.target/nvptx/exttrunc-6.c: New test case.
+
+2021-12-08  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/nvptx/exttrunc-1.c: New test case.
+
+2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR middle-end/92120
+       * gcc.dg/gomp/target-3.c: New testcase.
+       * g++.dg/gomp/target-3.C: New testcase.
+       * g++.dg/gomp/target-lambda-1.C: New testcase.
+       * g++.dg/gomp/target-lambda-2.C: New testcase.
+       * g++.dg/gomp/target-this-1.C: New testcase.
+       * g++.dg/gomp/target-this-2.C: New testcase.
+       * g++.dg/gomp/target-this-3.C: New testcase.
+       * g++.dg/gomp/target-this-4.C: New testcase.
+       * g++.dg/gomp/target-this-5.C: New testcase.
+       * g++.dg/gomp/this-2.C: Adjust testcase.
+
+2021-12-08  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/100738
+       * g++.target/i386/pr100738-1.C: New test.
+
+2021-12-08  Alexandre Oliva  <oliva@adacore.com>
+
+       PR middle-end/103149
+       * gcc.target/aarch64/pr103149.c: New.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103607
+       * gfortran.dg/pr103607.f90: New test.
+
+2021-12-07  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp0x/decltype-bitfield1.C: Change a type to unsigned
+       long long.  Only run on longlong64 targets.
+
+2021-12-07  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR testsuite/103556
+       PR testsuite/103586
+       * lib/target-supports.exp (check_effective_target_rop_ok): Remove '\n'.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103588
+       * gfortran.dg/pr103588.f90: New test.
+
+2021-12-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103591
+       * gfortran.dg/select_9.f90: New test.
+
+2021-12-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95009
+       * g++.dg/cpp0x/decltype-bitfield1.C: New test.
+       * g++.dg/cpp0x/decltype-bitfield2.C: New test.
+
+2021-12-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103594
+       * gcc.dg/pr103594.c: New test.
+
+2021-12-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103596
+       * gcc.dg/torture/pr103596.c: New testcase.
+
+2021-12-07  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * gcc.target/mips/mips.exp: add unaligned-access
+       * gcc.target/mips/unaligned-2.c: New test.
+       * gcc.target/mips/unaligned-3.c: New test.
+
+2021-12-07  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * gcc.dg/tree-prof/init-array.c: New test for unrolling inner loops.
+
+2021-12-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103581
+       * gcc.dg/vect/pr103581.c: New testcase.
+
+2021-12-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103544
+       * gcc.dg/vect/pr103544.c: New testcase.
+
+2021-12-06  Tamar Christina  <tamar.christina@arm.com>
+
+       PR rtl-optimization/103404
+       * gcc.target/i386/pr103404.c: New test.
+
+2021-12-06  Hongtao Liu  <Hongtao.liu@intel.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/pr95740.c: New test.
+
+2021-12-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/93614
+       * g++.dg/template/lookup18.C: New test.
+
+2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/atomic-2.f90: Move now supported code to ...
+       * gfortran.dg/gomp/atomic.f90: here.
+       * gfortran.dg/gomp/atomic-10.f90: New test.
+       * gfortran.dg/gomp/atomic-12.f90: New test.
+       * gfortran.dg/gomp/atomic-15.f90: New test.
+       * gfortran.dg/gomp/atomic-16.f90: New test.
+       * gfortran.dg/gomp/atomic-17.f90: New test.
+       * gfortran.dg/gomp/atomic-18.f90: New test.
+       * gfortran.dg/gomp/atomic-19.f90: New test.
+       * gfortran.dg/gomp/atomic-20.f90: New test.
+       * gfortran.dg/gomp/atomic-22.f90: New test.
+       * gfortran.dg/gomp/atomic-24.f90: New test.
+       * gfortran.dg/gomp/atomic-25.f90: New test.
+       * gfortran.dg/gomp/atomic-26.f90: New test.
+
+2021-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp2a/bit-cast11.C: New test.
+       * g++.dg/cpp2a/bit-cast12.C: New test.
+       * g++.dg/cpp2a/bit-cast13.C: New test.
+       * g++.dg/cpp2a/bit-cast14.C: New test.
+
+2021-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/102432
+       * c-c++-common/gomp/pr102432.c: New test.
+       * c-c++-common/goacc/pr102432.c: New test.
+
+2021-12-04  Alexandre Oliva  <oliva@adacore.com>
+
+       PR rtl-optimization/103028
+       * gcc.dg/pr103028.c: New.
+
+2021-12-04  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/vec_reve_1.c: Require VSX.
+
+2021-12-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/diagnostic/scope1.C: New test.
+
+2021-12-03  Martin Liska  <mliska@suse.cz>
+
+       PR target/101324
+       * gcc.target/powerpc/pr101324.c: New test.
+
+2021-12-03  Peter Bergner  <bergner@linux.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_rop_ok): New function.
+       * gcc.target/powerpc/rop-1.c: Use it.
+       * gcc.target/powerpc/rop-2.c: Likewise.
+       * gcc.target/powerpc/rop-3.c: Likewise.
+       * gcc.target/powerpc/rop-4.c: Likewise.
+       * gcc.target/powerpc/rop-5.c: Likewise.
+
+2021-12-03  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/103505
+       * gfortran.dg/pr103505.f90: New test.
+
+2021-12-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103403
+       * g++.dg/cpp1y/decltype-auto2.C: New test.
+       * g++.dg/cpp1y/decltype-auto3.C: New test.
+       * g++.dg/cpp1y/decltype-auto4.C: New test.
+       * g++.dg/cpp1z/decomp-decltype1.C: New test.
+
+2021-12-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103269
+       * gcc.target/i386/pieces-memcpy-17.c: New test.
+       * gcc.target/i386/pieces-memcpy-18.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-19.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-20.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-21.c: Likewise.
+       * gcc.target/i386/pieces-memset-45.c: Likewise.
+       * gcc.target/i386/pieces-memset-46.c: Likewise.
+       * gcc.target/i386/pieces-memset-47.c: Likewise.
+       * gcc.target/i386/pieces-memset-48.c: Likewise.
+       * gcc.target/i386/pieces-memset-49.c: Likewise.
+
+2021-12-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/83782
+       * gcc.target/i386/pr83782-1.c: Also scan leal x32.
+       * gcc.target/i386/pr83782-2.c: Likewise.
+
+2021-12-03  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/sve/pred-combine-and.c: New test.
+
+2021-12-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/51469
+       PR target/83782
+       * gcc.target/i386/pr83782-1.c: New test.
+       * gcc.target/i386/pr83782-2.c: Likewise.
+
+2021-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103456
+       * gcc.dg/ubsan/pr103456.c: Add -ffat-lto-objects to dg-options.
+
+2021-12-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/allocate_with_source_26.f90: Adjust testcase.
+       * gfortran.dg/allocate_with_mold_4.f90: New testcase.
+
+2021-12-03  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR testsuite/102735
+       * lib/gcc-dg.exp (process-message): Make sure that we get unique
+       test names.
+
+2021-12-03  Andrew Pinski  <apinski@marvell.com>
+
+       PR c++/71792
+       * g++.dg/torture/pr71792.C: New test.
+
+2021-12-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/103526
+       * gcc.dg/analyzer/pr103526.c: New test.
+
+2021-12-02  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust expected error
+       message.
+       * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise.
+       * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise.
+       * gcc.target/powerpc/byte-in-set-2.c: Likewise.
+       * gcc.target/powerpc/cmpb-2.c: Likewise.
+       * gcc.target/powerpc/cmpb-3.c: Likewise.
+       * gcc.target/powerpc/cmpb32-2.c: Likewise.
+       * gcc.target/powerpc/crypto-builtin-2.c: Likewise.
+       * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Remove invalid
+       test and adjust xxpermdi count.
+       * gcc.target/powerpc/fold-vec-splat-longlong.c: Remove invalid
+       tests and adjust instruction counts.
+       * gcc.target/powerpc/fold-vec-splat-misc-invalid.c: Adjust expected
+       error messages.
+       * gcc.target/powerpc/int_128bit-runnable.c: Adjust instruction counts.
+       * gcc.target/powerpc/pr80315-1.c: Adjust expected error message.
+       * gcc.target/powerpc/pr80315-2.c: Likewise.
+       * gcc.target/powerpc/pr80315-3.c: Likewise.
+       * gcc.target/powerpc/pr80315-4.c: Likewise.
+       * gcc.target/powerpc/pr88100.c: Likewise.
+       * gcc.target/powerpc/pragma_misc9.c: Likewise.
+       * gcc.target/powerpc/pragma_power8.c: Undef _RS6000_VECDEFINES_H.
+       * gcc.target/powerpc/pragma_power9.c: Likewise.
+       * gcc.target/powerpc/test_fpscr_drn_builtin_error.c: Adjust expected
+       error messages.
+       * gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Likewise.
+       * gcc.target/powerpc/vec-gnb-2.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.
+       * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise.
+
+2021-12-02  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/shrn-1.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/shrn-2.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/shrn-3.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/shrn-4.c: New test.
+
+2021-12-02  Tamar Christina  <tamar.christina@arm.com>
+
+       PR testsuite/103479
+       * gcc.dg/bic-bitmask-18.c: Update regexpr to expect = 0;.
+
+2021-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94490
+       * g++.dg/ext/integer-pack5.C: New test.
+
+2021-12-02  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103408
+       * g++.dg/cpp23/concepts-err1.C: New test.
+
+2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR fortran/90030
+       * gfortran.dg/goacc/finalize-1.f: Adjust scan test.
+       * gfortran.dg/gomp/affinity-clause-1.f90: Likewise.
+       * gfortran.dg/gomp/affinity-clause-5.f90: Likewise.
+       * gfortran.dg/gomp/defaultmap-4.f90: Likewise.
+       * gfortran.dg/gomp/defaultmap-5.f90: Likewise.
+       * gfortran.dg/gomp/defaultmap-6.f90: Likewise.
+       * gfortran.dg/gomp/map-3.f90: Likewise.
+       * gfortran.dg/gomp/pr78260-2.f90: Likewise.
+       * gfortran.dg/gomp/pr78260-3.f90: Likewise.
+
+2021-12-01  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/102471
+       * gcc.dg/analyzer/leak-3.c: New test.
+
+2021-12-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102881
+       * gcc.target/i386/pr102811-1.c: New test.
+       * gcc.target/i386/avx512fp16-1c.c (dg-final): Update
+       scan-assembler-times scan strings for ia32 targets.
+       * gcc.target/i386/pr102327-1.c (dg-final): Ditto.
+       * gcc.target/i386/pr102811.c: Rename from ...
+       * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: ... this.
+
+2021-12-01  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/fold-condneg-1.c: New test case.
+       * gcc.dg/fold-condneg-2.c: New test case.
+       * gcc.dg/fold-condnot-1.c: New test case.
+       * gcc.dg/pr101145-1.c: New test case.
+       * gcc.dg/pr101145-2.c: New test case.
+
+2021-12-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR middle-end/103127
+       * gcc.target/powerpc/pr103127.c: New test.
+
+2021-12-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103310
+       * g++.dg/cpp0x/constexpr-fp-except1.C: New test.
+       * g++.dg/cpp1z/constexpr-if36.C: New test.
+       * gcc.dg/tree-ssa/nonzero-1.c: Now well-formed.
+       * gcc.dg/tree-ssa/nonzero-1a.c: New test.
+
+2021-12-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103517
+       * gcc.dg/vect/pr103517.c: New test.
+
+2021-12-01  Alex Coplan  <alex.coplan@arm.com>
+
+       * gcc.target/aarch64/aapcs64/macro-def.h (PTR): Fix typo in
+       comment.
+
+2021-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100977
+       * g++.dg/cpp/ucnid-1.C: Adjust expected diagnostics.
+       * g++.dg/cpp/ucnid-1-utf8.C: Likewise.
+
+2021-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/102356
+       * gcc.dg/pr102356.c: New test.
+
+2021-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/103415
+       * c-c++-common/cpp/va-opt-8.c: New test.
+       * c-c++-common/Wimplicit-fallthrough-38.c: New test.
+
+2021-12-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/bic-bitmask-10.c: Moved to gcc.dg/vect/vect-bic-bitmask-10.c.
+       * gcc.dg/bic-bitmask-11.c: Moved to gcc.dg/vect/vect-bic-bitmask-11.c.
+       * gcc.dg/bic-bitmask-12.c: Moved to gcc.dg/vect/vect-bic-bitmask-12.c.
+       * gcc.dg/bic-bitmask-3.c: Moved to gcc.dg/vect/vect-bic-bitmask-3.c.
+       * gcc.dg/bic-bitmask-23.c: Moved to gcc.dg/vect/vect-bic-bitmask-23.c.
+       * gcc.dg/bic-bitmask-2.c: Moved to gcc.dg/vect/vect-bic-bitmask-2.c.
+       * gcc.dg/bic-bitmask-4.c: Moved to gcc.dg/vect/vect-bic-bitmask-4.c.
+       * gcc.dg/bic-bitmask-5.c: Moved to gcc.dg/vect/vect-bic-bitmask-5.c.
+       * gcc.dg/bic-bitmask-6.c: Moved to gcc.dg/vect/vect-bic-bitmask-6.c.
+       * gcc.dg/bic-bitmask-8.c: Moved to gcc.dg/vect/vect-bic-bitmask-8.c.
+       * gcc.dg/bic-bitmask-9.c: Moved to gcc.dg/vect/vect-bic-bitmask-9.c.
+       * gcc.dg/vect/vect-bic-bitmask-10.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-11.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-12.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-2.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-23.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-3.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-4.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-5.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-6.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-8.c: New file.
+       * gcc.dg/vect/vect-bic-bitmask-9.c: New file.
+
+2021-12-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+           Martin Liška  <mliska@suse.cz>
+
+       PR tree-optimization/103456
+       * gcc.dg/ubsan/pr103456.c: New test.
+
+2021-11-30  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr103463.c: New test.
+       * gcc.target/i386/pr103463-2.c: New test.
+
+2021-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94579
+       * gcc.dg/analyzer/pr94579.c: New test.
+
+2021-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99269
+       * gcc.dg/analyzer/pr99269.c: New test.
+
+2021-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/100524
+       * gcc.dg/analyzer/pragma-2.c: New test.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/array_constructor_54.f90: New test.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103473
+       * gfortran.dg/minmaxloc_15.f90: New test.
+
+2021-11-30  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/101565
+       * gfortran.dg/coarray_49.f90: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103494
+       * gcc.dg/vect/pr103494.c: New test.
+       * g++.dg/vect/pr103494.cc: Likewise.
+
+2021-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/Wcastresult2.d: Update test.
+       * gdc.dg/asm1.d: Likewise.
+       * gdc.dg/asm2.d: Likewise.
+       * gdc.dg/asm3.d: Likewise.
+       * gdc.dg/gdc282.d: Likewise.
+       * gdc.dg/imports/gdc170.d: Likewise.
+       * gdc.dg/intrinsics.d: Likewise.
+       * gdc.dg/pr101672.d: Likewise.
+       * gdc.dg/pr90650a.d: Likewise.
+       * gdc.dg/pr90650b.d: Likewise.
+       * gdc.dg/pr94777a.d: Likewise.
+       * gdc.dg/pr95250.d: Likewise.
+       * gdc.dg/pr96869.d: Likewise.
+       * gdc.dg/pr98277.d: Likewise.
+       * gdc.dg/pr98457.d: Likewise.
+       * gdc.dg/simd1.d: Likewise.
+       * gdc.dg/simd2a.d: Likewise.
+       * gdc.dg/simd2b.d: Likewise.
+       * gdc.dg/simd2c.d: Likewise.
+       * gdc.dg/simd2d.d: Likewise.
+       * gdc.dg/simd2e.d: Likewise.
+       * gdc.dg/simd2f.d: Likewise.
+       * gdc.dg/simd2g.d: Likewise.
+       * gdc.dg/simd2h.d: Likewise.
+       * gdc.dg/simd2i.d: Likewise.
+       * gdc.dg/simd2j.d: Likewise.
+       * gdc.dg/simd7951.d: Likewise.
+       * gdc.dg/torture/gdc309.d: Likewise.
+       * gdc.dg/torture/pr94424.d: Likewise.
+       * gdc.dg/torture/pr94777b.d: Likewise.
+       * lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options.
+       (gdc-convert-test): Handle CXXFLAGS, EXTRA_OBJC_SOURCES, and ARG_SETS
+       test directives.
+       (gdc-do-test): Only import modules in the test run directory.
+       * gdc.dg/pr94777c.d: New test.
+       * gdc.dg/pr96156b.d: New test.
+       * gdc.dg/pr96157c.d: New test.
+       * gdc.dg/simd_ctfe.d: New test.
+       * gdc.dg/torture/simd17344.d: New test.
+       * gdc.dg/torture/simd20052.d: New test.
+       * gdc.dg/torture/simd6.d: New test.
+       * gdc.dg/torture/simd7.d: New test.
+
+2021-11-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr103440.c: New.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103489
+       * gcc.dg/torture/pr103489.c: New testcase.
+
+2021-11-30  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/103278
+       * gcc.dg/tree-ssa/if-to-switch-5.c: Make the test acceptable by
+       targets with no jump-tables.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/nested-reductions-1-routine.c: Adjust.
+       * c-c++-common/goacc/nested-reductions-2-routine.c: Adjust.
+       * c-c++-common/goacc/orphan-reductions-2.c: Adjust.
+       * gfortran.dg/goacc/nested-reductions-1-routine.f90: Adjust.
+       * gfortran.dg/goacc/nested-reductions-2-routine.f90: Adjust.
+       * gfortran.dg/goacc/orphan-reductions-1.f90: Adjust.
+       * gfortran.dg/goacc/orphan-reductions-2.f90: Adjust.
+
+2021-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/orphan-reductions-1.f90: Adjust.
+
+2021-11-30  Frederik Harwath  <frederik@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/orphan-reductions-3.f90: New test
+       verifying that the "gang reduction on an orphan loop" error message
+       is not emitted for non-orphaned loops.
+       * c-c++-common/goacc/orphan-reductions-3.c: Likewise for C and C++.
+
+2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/nested-reductions-1-routine.c: Adjust.
+       * c-c++-common/goacc/nested-reductions-2-routine.c: Likewise.
+       * gcc.dg/goacc/loop-processing-1.c: Likewise.
+       * gfortran.dg/goacc/nested-reductions-1-routine.f90: Likewise.
+       * gfortran.dg/goacc/nested-reductions-2-routine.f90: Likewise.
+       * c-c++-common/goacc/orphan-reductions-1.c: New test.
+       * c-c++-common/goacc/orphan-reductions-2.c: New test.
+       * gfortran.dg/goacc/orphan-reductions-1.f90: New test.
+       * gfortran.dg/goacc/orphan-reductions-2.f90: New test.
+
+2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/routine-4.c (seq, vector, worker, gang):
+       Remove loop reductions.
+       * c-c++-common/goacc/routine-4-extern.c (seq, vector, worker, gang):
+       Likewise.
+
+2021-11-30  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR testsuite/103477
+       * gcc.dg/tree-ssa/pr103345.c: Correct xor test for big-endian.
+
+2021-11-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103451
+       * gcc.dg/pr103451.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-gather-3.c: New test.
+       * gcc.dg/vect/vect-gather-4.c: Likewise.
+       * gcc.target/aarch64/sve/mask_gather_load_8.c: Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr99102.c: Add -fno-vect-cost-model.
+       Revert:
+       2020-09-09  Richard Biener  [rguenther@suse.de]
+       * gcc.target/i386/pr87007-4.c: Adjust.
+       * gcc.target/i386/pr87007-5.c: Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_vect_gather_load_ifn): New target test.
+       * gcc.dg/vect/vect-gather-1.c: New test.
+       * gcc.dg/vect/vect-gather-2.c: Likewise.
+       * gcc.target/aarch64/sve/gather_load_11.c: Likewise.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_13.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gfortran.dg/vect/vect-8.f90: Bump number of vectorized loops
+       to 25 for SVE.
+       * gcc.target/aarch64/sve/gather_load_10.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/add-mul-overflow-1.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/ubsan/commutative-1.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/complex_mul_1.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/fmax-fmin-1.c: New test.
+
+2021-11-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-fmax-1.c: New test.
+       * gcc.dg/vect/vect-fmax-2.c: Likewise.
+       * gcc.dg/vect/vect-fmax-3.c: Likewise.
+       * gcc.dg/vect/vect-fmin-1.c: New test.
+       * gcc.dg/vect/vect-fmin-2.c: Likewise.
+       * gcc.dg/vect/vect-fmin-3.c: Likewise.
+       * gcc.target/aarch64/fmaxnm_1.c: Likewise.
+       * gcc.target/aarch64/fmaxnm_2.c: Likewise.
+       * gcc.target/aarch64/fminnm_1.c: Likewise.
+       * gcc.target/aarch64/fminnm_2.c: Likewise.
+       * gcc.target/aarch64/sve/fmaxnm_2.c: Likewise.
+       * gcc.target/aarch64/sve/fmaxnm_3.c: Likewise.
+       * gcc.target/aarch64/sve/fminnm_2.c: Likewise.
+       * gcc.target/aarch64/sve/fminnm_3.c: Likewise.
+
+2021-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100977
+       * c-c++-common/cpp/ucnid-2011-1-utf8.c: Expect errors in C++.
+       * c-c++-common/cpp/ucnid-2011-1.c: Likewise.
+       * g++.dg/cpp/ucnid-4-utf8.C: Add missing space to dg-options.
+       * g++.dg/cpp23/normalize3.C: Enable for c++11 rather than just c++23.
+       * g++.dg/cpp23/normalize4.C: Likewise.
+       * g++.dg/cpp23/normalize5.C: Likewise.
+       * g++.dg/cpp23/normalize7.C: Expect errors rather than just warnings
+       for c++11 and up rather than just c++23.
+       * g++.dg/cpp23/ucnid-2-utf8.C: Expect errors even for c++11 .. c++20.
+
+2021-11-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100711
+       * gcc.target/i386/pr100711-1.c: New test case.
+       * gcc.target/i386/pr100711-2.c: New test case.
+
+2021-11-30  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103485
+       * gcc.dg/pr103485.c: New testcase.
+
+2021-11-30  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/102347
+       * gcc.target/powerpc/pr102347.c: New test.
+
+2021-11-29  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/103217
+       * gcc.dg/analyzer/pr103217-2.c: New test.
+       * gcc.dg/analyzer/pr103217-3.c: New test.
+       * gcc.dg/analyzer/pr103217-4.c: New test.
+       * gcc.dg/analyzer/pr103217-5.c: New test.
+
+2021-11-29  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/103469
+       * c-c++-common/attr-retain-5.c: Prune out valid warning.
+       * c-c++-common/attr-retain-6.c: Same.
+       * c-c++-common/attr-retain-9.c: Same.
+
+2021-11-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100493
+       * g++.dg/cpp1z/lambda-this1.C: Adjust expected diagnostics.
+       * g++.dg/cpp1z/lambda-this8.C: New test.
+       * g++.dg/cpp2a/lambda-this3.C: Compile with -pedantic in C++17
+       to continue to diagnose redundant 'this' captures.
+
+2021-11-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/sse2-v1ti-rotate.c: New test case.
+
+2021-11-29  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102811-2.c: New test.
+       * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: Add new
+       scan-assembler-times.
+
+2021-11-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103458
+       * gcc.dg/torture/pr103458.c: New testcase.
+
+2021-11-29  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/vect-gather-1.c: New test.
+
+2021-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103431
+       * gcc.dg/pr103431.c: New test.
+
+2021-11-27  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/tree-ssa/ivopts-8.c: Fix new test case for -m32.
+       * gcc.dg/tree-ssa/ivopts-9.c: Likewise.
+
+2021-11-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103411
+       * gfortran.dg/pr68153.f90: Adjust test to improved check.
+       * gfortran.dg/reshape_7.f90: Likewise.
+       * gfortran.dg/reshape_9.f90: New test.
+
+2021-11-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/wrapped-binop-simplify.c: Update expected test result.
+       * gcc.dg/tree-ssa/ivopts-5.c: New test case.
+       * gcc.dg/tree-ssa/ivopts-6.c: New test case.
+       * gcc.dg/tree-ssa/ivopts-7.c: New test case.
+       * gcc.dg/tree-ssa/ivopts-8.c: New test case.
+       * gcc.dg/tree-ssa/ivopts-9.c: New test case.
+
+2021-11-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/ipa/inline-9.c: Update template.c
+
+2021-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * g++.dg/cpp2a/consteval20.C: Add some extra tests.
+       * g++.dg/cpp2a/consteval23.C: Likewise.
+       * g++.dg/cpp2a/consteval25.C: New test.
+       * g++.dg/cpp2a/srcloc20.C: New test.
+
+2021-11-26  konglin1  <lingling.kong@intel.com>
+
+       PR target/102811
+       * gcc.target/i386/pr90773-21.c: Allow pextrw instead of movw.
+       * gcc.target/i386/pr90773-23.c: Ditto.
+       * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: New test.
+
+2021-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/ipa/inline10.c: New test.
+
+2021-11-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/103406
+       * gcc.dg/pr103406.c: New test case.
+
+2021-11-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103227
+       * gcc.dg/ipa/pr103227-1.c: New test.
+       * gcc.dg/ipa/pr103227-3.c: Likewise.
+       * gcc.dg/ipa/pr103227-2.c: Likewise.
+       * gfortran.dg/pr53787.f90: Disable IPA-SRA.
+
+2021-11-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102648
+       * gcc.dg/pr102648.c: New.
+
+2021-11-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103359
+       * gcc.dg/pr103359.c: New.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103417
+       * gcc.c-torture/execute/pr103417.c: New test.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103376
+       * gcc.dg/optimize-bswapsi-7.c: New test.
+
+2021-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102611
+       * g++.dg/cpp2a/comma1.C: Expect different diagnostics for C++23.
+       * g++.dg/cpp2a/comma3.C: Likewise.
+       * g++.dg/cpp2a/comma4.C: Expect diagnostics for C++23.
+       * g++.dg/cpp2a/comma5.C: Expect different diagnostics for C++23.
+       * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_multidimensional_subscript
+       predefined macro.
+       * g++.dg/cpp23/subscript1.C: New test.
+       * g++.dg/cpp23/subscript2.C: New test.
+       * g++.dg/cpp23/subscript3.C: New test.
+       * g++.dg/cpp23/subscript4.C: New test.
+       * g++.dg/cpp23/subscript5.C: New test.
+       * g++.dg/cpp23/subscript6.C: New test.
+
+2021-11-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr103194-5.c: Include <stdint.h>.
+       Replace long with int64_t.
+
+2021-11-24  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.c-torture/execute/pr103405.c: New test.
+
+2021-11-24  Richard Biener  <rguenther@suse.de>
+           Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103168
+       * g++.dg/tree-ssa/pr103168.C: New testcase.
+
+2021-11-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/103244
+       * c-c++-common/goacc/combined-reduction.c: Revert/expect previous
+       OpenACC behavior.
+       * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise.
+       * c-c++-common/goacc/mdc-1.c: Likewise.
+       * g++.dg/goacc/firstprivate-mappings-1.C: Likewise.
+
+2021-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103365
+       * c-c++-common/Wno-attributes-1.c: Require effective target
+       c || c++11 and drop dg-additional-options.
+       * c-c++-common/Wno-attributes-2.c: Likewise.
+       * c-c++-common/Wno-attributes-4.c: New test.
+       * c-c++-common/Wno-attributes-5.c: New test.
+
+2021-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103376
+       * gcc.c-torture/execute/pr103376.c: New test.
+
+2021-11-24  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/bic-bitmask-10.c: New test.
+       * gcc.dg/bic-bitmask-11.c: New test.
+       * gcc.dg/bic-bitmask-12.c: New test.
+       * gcc.dg/bic-bitmask-13.c: New test.
+       * gcc.dg/bic-bitmask-14.c: New test.
+       * gcc.dg/bic-bitmask-15.c: New test.
+       * gcc.dg/bic-bitmask-16.c: New test.
+       * gcc.dg/bic-bitmask-17.c: New test.
+       * gcc.dg/bic-bitmask-18.c: New test.
+       * gcc.dg/bic-bitmask-19.c: New test.
+       * gcc.dg/bic-bitmask-2.c: New test.
+       * gcc.dg/bic-bitmask-20.c: New test.
+       * gcc.dg/bic-bitmask-21.c: New test.
+       * gcc.dg/bic-bitmask-22.c: New test.
+       * gcc.dg/bic-bitmask-23.c: New test.
+       * gcc.dg/bic-bitmask-3.c: New test.
+       * gcc.dg/bic-bitmask-4.c: New test.
+       * gcc.dg/bic-bitmask-5.c: New test.
+       * gcc.dg/bic-bitmask-6.c: New test.
+       * gcc.dg/bic-bitmask-7.c: New test.
+       * gcc.dg/bic-bitmask-8.c: New test.
+       * gcc.dg/bic-bitmask-9.c: New test.
+       * gcc.dg/bic-bitmask.h: New test.
+       * gcc.target/aarch64/bic-bitmask-1.c: New test.
+
+2021-11-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103347
+       * g++.dg/cpp0x/nsdmi-warn1.C: New test.
+       * g++.dg/cpp0x/nsdmi-warn1.h: New file.
+
+2021-11-24  Hongtao Liu  <hongtao.liu@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gcc.target/i386/pr103194-2.c: New test.
+       * gcc.target/i386/pr103194-3.c: New test.
+       * gcc.target/i386/pr103194-4.c: New test.
+       * gcc.target/i386/pr103194-5.c: New test.
+       * gcc.target/i386/pr103194.c: New test.
+
+2021-11-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96507
+       * g++.dg/warn/Waddress-8.C: New test.
+
+2021-11-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/88232
+       * c-c++-common/attr-used-5.c: Suppress valid warning.
+       * c-c++-common/attr-used-6.c: Same.
+       * c-c++-common/attr-used-9.c: Same.
+       * g++.dg/warn/Winfinite-recursion-2.C: New test.
+       * g++.dg/warn/Winfinite-recursion-3.C: New test.
+       * g++.dg/warn/Winfinite-recursion.C: New test.
+       * gcc.dg/Winfinite-recursion-2.c: New test.
+       * gcc.dg/Winfinite-recursion.c: New test.
+
+2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103392
+       * gfortran.dg/bound_simplification_7.f90: New test.
+
+2021-11-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/19808
+       * g++.dg/warn/Wuninitialized-28.C: Make a class nonempty.
+       * g++.dg/warn/Wuninitialized-29.C: Likewise.
+       * g++.dg/warn/Wuninitialized-31.C: New test.
+
+2021-11-23  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/warn/Waddress-5.C: Make sf static.
+
+2021-11-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/test_mffsl.c: Change effective target to
+       a run-time check.  Fix a typo in a debug print statement.
+
+2021-11-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/87711
+       PR fortran/87851
+       * gfortran.dg/len_trim.f90: New test.
+
+2021-11-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103361
+       * g++.dg/torture/pr103361.C: New testcase.
+
+2021-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-dse-4.c: Update template.
+       * gcc.dg/tree-ssa/modref-dse-5.c: Update template.
+
+2021-11-23  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/102216
+       * g++.dg/tree-ssa/pr102216-1.C: New test.
+       * g++.dg/tree-ssa/pr102216-2.C: New test.
+
+2021-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102431
+       * c-c++-common/gomp/pr102431.c: New test.
+       * g++.dg/gomp/pr102431.C: New test.
+       * gfortran.dg/gomp/pr102431.f90: New test.
+
+2021-11-23  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       PR target/100868
+       * gcc.target/powerpc/vec_reve_1.c: New test.
+       * gcc.target/powerpc/vec_reve_2.c: Likewise.
+
+2021-11-23  Navid Rahimi  <navidrahimi@microsoft.com>
+
+       PR tree-optimization/102232
+       * gcc.dg/tree-ssa/pr102232.c: Testcase for this optimization.
+
+2021-11-23  Navid Rahimi  <navidrahimi@microsoft.com>
+
+       PR tree-optimization/96779
+       * gcc.dg/tree-ssa/pr96779.c: Testcase for this optimization.
+       * gcc.dg/tree-ssa/pr96779-disabled.c: Testcase for this optimization
+       when -fwrapv passed.
+
+2021-11-22  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/template/crash106.C: Adjust.
+       * g++.dg/diagnostic/ptrtomem3.C: New test.
+
+2021-11-22  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/pr65327.C: Adjust location.
+       * g++.dg/cpp23/constexpr-nonlit4.C: Likewise.
+       * g++.dg/cpp23/constexpr-nonlit5.C: Likewise.
+       * g++.dg/cpp2a/constexpr-init1.C: Likewise.
+
+2021-11-22  Jakub Jelinek  <jakub@redhat.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR preprocessor/103165
+       * c-c++-common/gomp/pragma-3.c: New test.
+       * c-c++-common/gomp/pragma-4.c: New test.
+       * c-c++-common/gomp/pragma-5.c: New test.
+
+2021-11-22  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/98953
+       PR tree-optimization/103345
+       * gcc.dg/tree-ssa/pr98953.c: New test case.
+       * gcc.dg/tree-ssa/pr103345.c: New test case.
+
+2021-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101731
+       * c-c++-common/goacc/routine-6.c: New test.
+
+2021-11-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103351
+       * g++.dg/torture/pr103351.C: New testcase.
+
+2021-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103349
+       * g++.dg/gomp/masked-1.C: New test.
+
+2021-11-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr103275.c: New test.
+
+2021-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101180
+       * gcc.target/i386/pr101180.c: New test.
+
+2021-11-21  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/99061
+       * gfortran.dg/dec_math_5.f90: New test.
+
+2021-11-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103227
+       * gcc.dg/tree-ssa/modref-15.c: New test.
+
+2021-11-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103264
+       * gcc.dg/tree-prof/merge_block.c: Add -fno-ipa-modref
+
+2021-11-21  Roger Sayle  <roger@nextmovesoftware.com>
+           Robin Dapp  <rdapp@linux.ibm.com>
+
+       PR target/102117
+       * gcc.target/s390/mul-wide.c: New test case.
+       * gcc.target/s390/umul-wide.c: New test case.
+
+2021-11-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103052
+       * gcc.c-torture/execute/pr103052.c: New test.
+
+2021-11-20  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103220
+       * gcc.dg/tree-ssa/pr103220-1.c: New test.
+       * gcc.dg/tree-ssa/pr103220-2.c: New test.
+       * gcc.dg/pr25530.c: Update test to check for
+       4294967294 in the case -2 is not matched.
+
+2021-11-20  Alexandre Oliva  <oliva@adacore.com>
+
+       PR tree-optimization/102988
+       * g++.dg/pr102988.C: New.
+
+2021-11-20  Antoni Boucher  <bouanto@zoho.com>
+
+       PR target/96889
+       * jit.dg/all-non-failing-tests.h: Add test-reflection.c.
+       * jit.dg/test-reflection.c: New test.
+
+2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101180
+       * g++.target/i386/pr101180.C: New test.
+
+2021-11-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/103217
+       * gcc.dg/analyzer/explode-1.c: Update for improvement to location
+       of leak warning.
+       * gcc.dg/analyzer/pr103217.c: New test.
+       * gcc.dg/analyzer/pr94858-1.c: Add -Wno-analyzer-too-complex.
+
+2021-11-19  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp0x/lambda/lambda-nested9.C: Adjust dg-error.
+
+2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/torture/fp-int-convert-timode-3.c: Remove XFAIL.
+       * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
+
+2021-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-dse-6.c: New test.
+
+2021-11-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/33925
+       PR c/102867
+       * g++.dg/warn/Walways-true-2.C: Adjust to avoid a valid warning.
+       * c-c++-common/Waddress-5.c: New test.
+       * c-c++-common/Waddress-6.c: New test.
+       * g++.dg/warn/Waddress-7.C: New test.
+       * gcc.dg/Walways-true-2.c: Adjust to avoid a valid warning.
+       * gcc.dg/weak/weak-3.c: Expect a warning.
+
+2021-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr103254.c: New.
+
+2021-11-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.target/s390/20211119.c: New test.
+
+2021-11-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103311
+       PR target/103330
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Fix it.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_vect_complex_add_double): Add Adv. SIMD.
+
+2021-11-19  Giuliano Belinassi  <gbelinassi@suse.de>
+
+       * gcc.dg/devnull-dump.c: New.
+
+2021-11-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94376
+       * g++.dg/cpp0x/lambda/lambda-nested9.C: New test.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103314
+       * gcc.c-torture/compile/pr103314-1.c: New test.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR c++/103326
+       * g++.dg/pr103326.C: New testcase.
+
+2021-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/70796
+       * g++.dg/cpp1z/eval-order11.C: New test.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103248
+       * gcc.dg/pr103248.c: New testcase.
+
+2021-11-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102436
+       * gcc.dg/torture/20211118-1.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-lim-18.c: Likewise.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103317
+       * gcc.c-torture/compile/pr103317-1.c: New test.
+
+2021-11-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103257
+       * gcc.dg/tree-ssa/vrp116.c: Check optimized instead of vrp1.
+       * gcc.dg/tree-ssa/pr103257-1.c: New test.
+
+2021-11-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/19808
+       PR c++/96121
+       * g++.dg/warn/Wuninitialized-14.C: New test.
+       * g++.dg/warn/Wuninitialized-15.C: New test.
+       * g++.dg/warn/Wuninitialized-16.C: New test.
+       * g++.dg/warn/Wuninitialized-17.C: New test.
+       * g++.dg/warn/Wuninitialized-18.C: New test.
+       * g++.dg/warn/Wuninitialized-19.C: New test.
+       * g++.dg/warn/Wuninitialized-20.C: New test.
+       * g++.dg/warn/Wuninitialized-21.C: New test.
+       * g++.dg/warn/Wuninitialized-22.C: New test.
+       * g++.dg/warn/Wuninitialized-23.C: New test.
+       * g++.dg/warn/Wuninitialized-24.C: New test.
+       * g++.dg/warn/Wuninitialized-25.C: New test.
+       * g++.dg/warn/Wuninitialized-26.C: New test.
+       * g++.dg/warn/Wuninitialized-27.C: New test.
+       * g++.dg/warn/Wuninitialized-28.C: New test.
+       * g++.dg/warn/Wuninitialized-29.C: New test.
+       * g++.dg/warn/Wuninitialized-30.C: New test.
+
+2021-11-19  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102543.c: New test.
+
+2021-11-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103198
+       * g++.dg/cpp2a/concepts-this1.C: New test.
+
+2021-11-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103049
+       * g++.dg/cpp0x/auto25.C: Adjust dg-error.
+       * g++.dg/cpp0x/auto9.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-2.C: Likewise.
+       * g++.dg/cpp2a/concepts-pr84979-3.C: Likewise.
+       * g++.dg/cpp23/auto-fncast1.C: New test.
+       * g++.dg/cpp23/auto-fncast2.C: New test.
+       * g++.dg/cpp23/auto-fncast3.C: New test.
+       * g++.dg/cpp23/auto-fncast4.C: New test.
+       * g++.dg/cpp23/auto-fncast5.C: New test.
+       * g++.dg/cpp23/auto-fncast6.C: New test.
+
+2021-11-18  Harald Anlauf  <anlauf@gmx.de>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/101329
+       * gfortran.dg/pr101329.f90: New test.
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/fn-template25.C: New test.
+
+2021-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/lto/semantic-interposition-1_0.c: New test.
+       * gcc.dg/lto/semantic-interposition-1_1.c: New test.
+
+2021-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103266
+       * g++.dg/torture/pr103266.C: New test.
+
+2021-11-18  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103311
+       * gcc.target/aarch64/pr103311.c: New test.
+
+2021-11-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102952
+       * gcc.target/i386/indirect-thunk-cs-prefix-1.c: New test.
+       * gcc.target/i386/indirect-thunk-cs-prefix-2.c: Likewise.
+
+2021-11-18  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.target/mips/octeon-bbit-1.c (f3): Add noipa attribute.
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99911
+       * g++.dg/cpp2a/fn-template24.C: New test.
+
+2021-11-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102670
+       * g++.dg/cpp2a/concepts-recursive-sat1.C: Adjust to use ADL
+       proper.
+       * g++.dg/cpp2a/fn-template23.C: New test.
+
+2021-11-18  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103253
+       * gcc.dg/vect/pr103253.c: New test.
+
+2021-11-18  Matthias Kretz  <m.kretz@gsi.de>
+
+       * c-c++-common/builtin-assoc-barrier-1.c: New test.
+
+2021-11-18  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/103278
+       * gcc.dg/tree-ssa/if-to-switch-3.c: Supply
+       --param case-values-threshold=4.
+
+2021-11-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103277
+       * gcc.dg/pr103277.c: New testcase.
+
+2021-11-18  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/pr103069-2.c: Adjust.
+
+2021-11-18  konglin1  <lingling.kong@intel.com>
+
+       * gcc.target/i386/avx512fp16-vfcmulcph-1a.c: Add new test for alias.
+       * gcc.target/i386/avx512fp16-vfcmulcsh-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16-vfmulcph-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16-vfmulcsh-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16vl-vfcmulcph-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16vl-vfmulcph-1a.c: Likewise.
+
+2021-11-17  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103228
+       PR tree-optimization/55177
+       * gcc.dg/tree-ssa/pr103228-1.c: New test.
+       * gcc.dg/tree-ssa/pr55177-1.c: New test.
+
+2021-11-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR preprocessor/103026
+       * c-c++-common/Wbidi-chars-ranges.c: New test.
+
+2021-11-17  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102759
+       * gcc.dg/Warray-parameter-10.c: New test.
+       * gcc.dg/Wstringop-overflow-82.c: New test.
+
+2021-11-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102952
+       * gcc.target/i386/harden-sls-1.c: New test.
+       * gcc.target/i386/harden-sls-2.c: Likewise.
+       * gcc.target/i386/harden-sls-3.c: Likewise.
+       * gcc.target/i386/harden-sls-4.c: Likewise.
+       * gcc.target/i386/harden-sls-5.c: Likewise.
+
+2021-11-17  Martin Sebor  <msebor@redhat.com>
+
+       PR c/101702
+       * gcc.dg/Warray-parameter-11.c: New test.
+
+2021-11-17  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.target/mips/frame-header-1.c (bar): Add noipa attribute.
+       * gcc.target/mips/frame-header-2.c (bar): Likewise.
+
+2021-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/103130
+       * c-c++-common/cpp/dir-only-9.c: New test.
+
+2021-11-17  Martin Uecker  <uecker@gcc.gnu.org>
+
+       PR c/91038
+       PR c/29970
+       * gcc.dg/vla-stexp-3.c: New test.
+       * gcc.dg/vla-stexp-4.c: New test.
+       * gcc.dg/vla-stexp-5.c: New test.
+       * gcc.dg/vla-stexp-6.c: New test.
+       * gcc.dg/vla-stexp-7.c: New test.
+       * gcc.dg/vla-stexp-8.c: New test.
+       * gcc.dg/vla-stexp-9.c: New test.
+
+2021-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103255
+       * gcc.c-torture/execute/pr103255.c: New test.
+
+2021-11-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cond_fmaxnm_5.c: New test.
+       * gcc.target/aarch64/sve/cond_fmaxnm_5_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_6.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_6_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_7.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_7_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_8.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fmaxnm_8_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_5.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_5_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_6.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_6_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_7.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_7_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_8.c: Likewise.
+       * gcc.target/aarch64/sve/cond_fminnm_8_run.c: Likewise.
+
+2021-11-17  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103288
+       * gcc.c-torture/compile/pr103288-1.c: New test.
+
+2021-11-17  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/103026
+       * c-c++-common/Wbidi-chars-1.c: New test.
+       * c-c++-common/Wbidi-chars-2.c: New test.
+       * c-c++-common/Wbidi-chars-3.c: New test.
+       * c-c++-common/Wbidi-chars-4.c: New test.
+       * c-c++-common/Wbidi-chars-5.c: New test.
+       * c-c++-common/Wbidi-chars-6.c: New test.
+       * c-c++-common/Wbidi-chars-7.c: New test.
+       * c-c++-common/Wbidi-chars-8.c: New test.
+       * c-c++-common/Wbidi-chars-9.c: New test.
+       * c-c++-common/Wbidi-chars-10.c: New test.
+       * c-c++-common/Wbidi-chars-11.c: New test.
+       * c-c++-common/Wbidi-chars-12.c: New test.
+       * c-c++-common/Wbidi-chars-13.c: New test.
+       * c-c++-common/Wbidi-chars-14.c: New test.
+       * c-c++-common/Wbidi-chars-15.c: New test.
+       * c-c++-common/Wbidi-chars-16.c: New test.
+       * c-c++-common/Wbidi-chars-17.c: New test.
+
+2021-11-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/102695
+       * gcc.dg/analyzer/pr102695.c: New test.
+       * gcc.dg/analyzer/strchr-1.c: New test.
+
+2021-11-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/102779
+       * gcc.dg/analyzer/capacity-1.c: Add dg-require-effective-target
+       alloca.  Use __builtin_alloca rather than alloca.
+       * gcc.dg/analyzer/capacity-3.c: Likewise.
+
+2021-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/tree-ssa/modref-dse-4.c: New test.
+
+2021-11-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/103286
+       * gfortran.dg/pr103286.f90: New test.
+
+2021-11-16  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/102976
+       * gcc.target/powerpc/pr102976.c: New test.
+
+2021-11-16  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102960
+       * gcc.dg/Wstringop-overflow-84.c: New test.
+
+2021-11-16  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/shrn-combine-10.c: Use shrn.
+
+2021-11-16  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/signbit-2.c: CHeck vect or scalar.
+
+2021-11-16  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/102662
+       * g++.dg/analyzer/pr102662.C: New test.
+
+2021-11-16  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103218
+       * gcc.dg/tree-ssa/pr103218-1.c: New test.
+
+2021-11-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/tmac-4.c: New test.
+
+2021-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102880
+       * gcc.dg/tree-ssa/pr102880.c: New testcase.
+       * gcc.dg/tree-ssa/pr69270-3.c: Robustify.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Change the number of
+       expected threadings.
+
+2021-11-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102880
+       * gcc.dg/tree-ssa/phi-opt-26.c: New testcase.
+
+2021-11-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * gcc.target/arc/add_n-combine.c: Update test patterns.
+       * gcc.target/arc/builtin_eh.c: Update test for linux platforms.
+       * gcc.target/arc/mul64-1.c: Disable this test while running on
+       linux.
+       * gcc.target/arc/tls-gd.c: Update matching patterns.
+       * gcc.target/arc/tls-ie.c: Likewise.
+       * gcc.target/arc/tls-ld.c: Likewise.
+       * gcc.target/arc/uncached-8.c: Likewise.
+
+2021-11-16  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc.dg/ipa/ipa-sra-ret-nonull.c: New test.
+
+2021-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/103208
+       * c-c++-common/gomp/loop-11.c: New test.
+
+2021-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102009
+       * gcc.dg/pr102009.c: New test.
+
+2021-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/tree-ssa/modref-dse-5.c: New test.
+
+2021-11-16  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/103245
+       * gcc.dg/tree-ssa/pr103245-1.c: New test.
+
+2021-11-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/103268
+       * gcc.dg/pr103268-1.c: New test.
+       * gcc.dg/pr103268-2.c: Likewise.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * lib/g++-dg.exp: Handle "impcx".
+       * lib/target-supports.exp
+       (check_effective_target_implicit_constexpr): New.
+       * g++.dg/abi/abi-tag16.C:
+       * g++.dg/abi/abi-tag18a.C:
+       * g++.dg/abi/guard4.C:
+       * g++.dg/abi/lambda-defarg1.C:
+       * g++.dg/abi/mangle26.C:
+       * g++.dg/cpp0x/constexpr-diag3.C:
+       * g++.dg/cpp0x/constexpr-ex1.C:
+       * g++.dg/cpp0x/constexpr-ice5.C:
+       * g++.dg/cpp0x/constexpr-incomplete2.C:
+       * g++.dg/cpp0x/constexpr-memfn1.C:
+       * g++.dg/cpp0x/constexpr-neg3.C:
+       * g++.dg/cpp0x/constexpr-specialization.C:
+       * g++.dg/cpp0x/inh-ctor19.C:
+       * g++.dg/cpp0x/inh-ctor30.C:
+       * g++.dg/cpp0x/lambda/lambda-mangle3.C:
+       * g++.dg/cpp0x/lambda/lambda-mangle5.C:
+       * g++.dg/cpp1y/auto-fn12.C:
+       * g++.dg/cpp1y/constexpr-loop5.C:
+       * g++.dg/cpp1z/constexpr-lambda7.C:
+       * g++.dg/cpp2a/constexpr-dtor3.C:
+       * g++.dg/cpp2a/constexpr-new13.C:
+       * g++.dg/cpp2a/constinit11.C:
+       * g++.dg/cpp2a/constinit12.C:
+       * g++.dg/cpp2a/constinit14.C:
+       * g++.dg/cpp2a/constinit15.C:
+       * g++.dg/cpp2a/spaceship-constexpr1.C:
+       * g++.dg/cpp2a/spaceship-eq3.C:
+       * g++.dg/cpp2a/udlit-class-nttp-neg2.C:
+       * g++.dg/debug/dwarf2/auto1.C:
+       * g++.dg/debug/dwarf2/cdtor-1.C:
+       * g++.dg/debug/dwarf2/lambda1.C:
+       * g++.dg/debug/dwarf2/pr54508.C:
+       * g++.dg/debug/dwarf2/pubnames-2.C:
+       * g++.dg/debug/dwarf2/pubnames-3.C:
+       * g++.dg/ext/is_literal_type3.C:
+       * g++.dg/ext/visibility/template7.C:
+       * g++.dg/gcov/gcov-12.C:
+       * g++.dg/gcov/gcov-2.C:
+       * g++.dg/ipa/devirt-35.C:
+       * g++.dg/ipa/devirt-36.C:
+       * g++.dg/ipa/devirt-37.C:
+       * g++.dg/ipa/devirt-44.C:
+       * g++.dg/ipa/imm-devirt-1.C:
+       * g++.dg/lookup/builtin5.C:
+       * g++.dg/lto/inline-crossmodule-1_0.C:
+       * g++.dg/modules/enum-1_a.C:
+       * g++.dg/modules/fn-inline-1_c.C:
+       * g++.dg/modules/pmf-1_b.C:
+       * g++.dg/modules/used-1_c.C:
+       * g++.dg/tls/thread_local11.C:
+       * g++.dg/tls/thread_local11a.C:
+       * g++.dg/tm/pr46653.C:
+       * g++.dg/ubsan/pr70035.C:
+       * g++.old-deja/g++.other/delete6.C:
+       * g++.dg/modules/pmf-1_a.H:
+       Adjust for implicit constexpr.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/ext/flexary37.C: Remove expected error.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/fold-stringops-2.c: Define size_t.
+       (safe1): Adjust.
+       (safe4): New test.
+       * gcc.dg/fold-stringops-3.c: New test.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/Wobjsize-1.c: Make warning change line agnostic.
+       * gcc.dg/fold-stringops-2.c: New test.
+
+2021-11-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/fold-stringops-1.c: New test.
+
+2021-11-15  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/103184
+       * gcc.dg/pr103184-1.c: New test.
+       * gcc.dg/pr103184-2.c: Likewise.
+
+2021-11-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/vect/tsvc/tsvc.h: Use malloc for Darwin 9 and
+       earlier.
+
+2021-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr103207.c: New test.
+
+2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/100469
+       * g++.dg/opt/pr100469.C: New test.
+
+2021-11-15  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/103205
+       * gcc.target/i386/pr103205-2.c: New test.
+
+2021-11-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/tree-ssa/pr31146-2.C: Add -fno-thread-jumps.
+
+2021-11-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103237
+       * gcc.dg/torture/pr103237.c: New testcase.
+
+2021-11-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/103069
+       * gcc.target/i386/pr103069-1.c: New test.
+       * gcc.target/i386/pr103069-2.c: Ditto.
+
+2021-11-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103219
+       * gcc.dg/torture/pr103219.c: New testcase.
+
+2021-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/pr101346.c: Require dfp support.
+
+2021-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103205
+       * gcc.target/i386/pr103205.c: New test.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/lambda/lambda-switch.C: Adjust expected location.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1y/constexpr-89285-2.C: Expect error.
+       * g++.dg/cpp1y/constexpr-89285.C: Adjust error.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/70690
+       * g++.dg/init/array41a.C: New test.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/constexpr-virtual20.C: New test.
+
+2021-11-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.dg/uninit-pred-9_b.c: Correct last adjustment, for CRIS.
+
+2021-11-15  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/pr100278.c: Move to ...
+       * gcc.c-torture/compile/pr100278.c: Here.
+       Remove dg-do and dg-options.
+       * gcc.dg/tree-ssa/pr101189.c: Move to ...
+       * gcc.c-torture/compile/pr101189.c: Here.
+       Remove dg-do and dg-options.
+       * gcc.dg/tree-ssa/pr100453.c: Move to ...
+       * gcc.c-torture/execute/pr100453.c: Here.
+       Remove dg-do and dg-options.
+       * gcc.dg/tree-ssa/pr101335.c: Move to ...
+       * gcc.c-torture/execute/pr101335.c: Here
+       Remove dg-do and dg-options.
+
+2021-11-14  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * gcc.target/vax/setmem.c: New test.
+
+2021-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-dse-3.c: New test.
+
+2021-11-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr103229.c: Removed.
+
+2021-11-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr103229.c: New test.
+
+2021-11-14  Martin Liska  <mliska@suse.cz>
+
+       * c-c++-common/tsan/free_race.c: Remove unnecessary -ldl.
+       * c-c++-common/tsan/free_race2.c: Likewise.
+
+2021-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * c-c++-common/asan/null-deref-1.c: Update template.
+       * c-c++-common/tsan/free_race.c: Update template.
+       * c-c++-common/tsan/free_race2.c: Update template.
+       * gcc.dg/ipa/ipa-sra-4.c: Update template.
+
+2021-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/cpp1z/inh-ctor23.C: Fix template
+       * g++.dg/ipa/ipa-icf-4.C: Fix template
+       * gcc.dg/tree-ssa/modref-dse-1.c: New test.
+       * gcc.dg/tree-ssa/modref-dse-2.c: New test.
+
+2021-11-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/pr93382.c: Tweak expected wording.
+       * gcc.dg/analyzer/taint-alloc-1.c: New test.
+       * gcc.dg/analyzer/taint-alloc-2.c: New test.
+       * gcc.dg/analyzer/taint-divisor-1.c: New test.
+       * gcc.dg/analyzer/taint-1.c: Rename to...
+       * gcc.dg/analyzer/taint-read-index-1.c: ...this.  Tweak expected
+       wording.  Mark some events as xfail.
+       * gcc.dg/analyzer/taint-read-offset-1.c: New test.
+       * gcc.dg/analyzer/taint-size-1.c: New test.
+       * gcc.dg/analyzer/taint-write-index-1.c: New test.
+       * gcc.dg/analyzer/taint-write-offset-1.c: New test.
+
+2021-11-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr103222.c: New test.
+
+2021-11-12  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/103209
+       * gcc.dg/tree-ssa/pta-callused.c: Update template.
+       * gcc.c-torture/execute/pr103209.c: New test.
+
+2021-11-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/stp_1.c: New test.
+
+2021-11-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/unexpected-end.f90: Update dg-error.
+       * gfortran.dg/gomp/clauses-1.f90: New test.
+       * gfortran.dg/gomp/nowait-2.f90: New test.
+       * gfortran.dg/gomp/nowait-3.f90: New test.
+
+2021-11-12  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/103051
+       * gcc.dg/vect/tsvc/vect-tsvc-s112.c: Skip test for old Power
+       CPUs.
+
+2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * c-c++-common/gomp/target-implicit-map-1.c: New test.
+       * c-c++-common/goacc/combined-reduction.c: Adjust scan test pattern.
+       * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise.
+       * c-c++-common/goacc/mdc-1.c: Likewise.
+       * g++.dg/goacc/firstprivate-mappings-1.C: Likewise.
+
+2021-11-12  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/97896
+       * gfortran.dg/index_5.f90: New.
+
+2021-11-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103204
+       * gcc.dg/torture/pr103204.c: New testcase.
+
+2021-11-11  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/test_mffsl.c: Require Power9.
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gfortran.dg/inline_matmul_17.f90: Fix template
+
+2021-11-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * c-c++-common/tm/inline-asm.c: Disable pure-const.
+       * g++.dg/ipa/modref-1.C: Update template.
+       * gcc.dg/tree-ssa/modref-11.c: Disable pure-const.
+       * gcc.dg/tree-ssa/modref-14.c: New test.
+       * gcc.dg/tree-ssa/modref-8.c: Do not optimize sibling calls.
+       * gfortran.dg/do_subscript_3.f90: Add -O0.
+
+2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/num-teams-1.f90: New file.
+       * gfortran.dg/gomp/num-teams-2.f90: New file.
+
+2021-11-11  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * g++.dg/warn/Wmismatched-new-delete-5.C: Add
+       -fdelete-null-pointer-checks.
+       * gcc.dg/attr-returns-nonnull.c: Likewise.
+       * gcc.dg/debug/btf/btf-datasec-1.c: Add -G0 option for nios2.
+       * gcc.dg/ifcvt-4.c: Skip on nios2.
+       * gcc.dg/struct-by-value-1.c: Add -G0 option for nios2.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103188
+       * gcc.dg/torture/pr103188.c: New testcase.
+
+2021-11-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103181
+       * gcc.dg/torture/pr103181.c: New testcase.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101378
+       * g++.dg/debug/dwarf2/pr101378.C: New test.
+
+2021-11-11  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/102376
+       * gcc.target/aarch64/pr102376.c: New test.
+
+2021-11-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/clauses-1.c (bar): Supply lower-bound expression
+       to half of the num_teams clauses.
+       * c-c++-common/gomp/num-teams-1.c: New test.
+       * c-c++-common/gomp/num-teams-2.c: New test.
+       * g++.dg/gomp/attrs-1.C (bar): Supply lower-bound expression
+       to half of the num_teams clauses.
+       * g++.dg/gomp/attrs-2.C (bar): Likewise.
+       * g++.dg/gomp/num-teams-1.C: New test.
+       * g++.dg/gomp/num-teams-2.C: New test.
+
+2021-11-11  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr103151.c: New test.
+
+2021-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/pr102906.c: New test.
+
+2021-11-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/103170
+       * gcc.c-torture/compile/vector-dup-1.c: New test.
+
+2021-11-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR tree-optimization/102892
+       * gcc.dg/pr102892-1.c: New file.
+       * gcc.dg/pr102892-2.c: Likewise.
+
+2021-11-10  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/103161
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: Avoid relying on
+       argument evaluation order.  Cast width and precision to signed
+       to avoid undefined behavior.
+
+2021-11-10  qing zhao  <qing.zhao@oracle.com>
+
+       * gcc.target/i386/auto-init-6.c: _Complex long double is initialized
+       to zero now with -ftrivial-auto-var-init=pattern.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/sve/pred-not-gen-1.c: Update testcase.
+       * gcc.target/aarch64/sve/pred-not-gen-2.c: Update testcase.
+       * gcc.target/aarch64/sve/pred-not-gen-3.c: Update testcase.
+       * gcc.target/aarch64/sve/pred-not-gen-4.c: Update testcase.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/shrn-combine-8.c: Update.
+       * gcc.target/aarch64/shrn-combine-9.c: Update.
+
+2021-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-13.c: Fix typo.
+
+2021-11-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101940
+       * c-c++-common/Wno-attributes-1.c: New test.
+       * c-c++-common/Wno-attributes-2.c: New test.
+       * c-c++-common/Wno-attributes-3.c: New test.
+
+2021-11-10  Jan Hubicka  <jh@suse.cz>
+
+       * g++.dg/ipa/modref-1.C: Update template.
+       * gcc.dg/ipa/modref-3.c: Update template.
+       * gcc.dg/lto/modref-3_0.c: Update template.
+       * gcc.dg/lto/modref-4_0.c: Update template.
+       * gcc.dg/tree-ssa/modref-10.c: Update template.
+       * gcc.dg/tree-ssa/modref-11.c: Update template.
+       * gcc.dg/tree-ssa/modref-5.c: Update template.
+       * gcc.dg/tree-ssa/modref-6.c: Update template.
+       * gcc.dg/tree-ssa/modref-13.c: New test.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       PR testsuite/103042
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Use
+       vect_long_long instead of vect_long.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c:
+       Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c:
+       Likewise.
+
+2021-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/signbit-2.c: Turn off masks.
+       * gcc.dg/signbit-5.c: Likewise.
+
+2021-11-10  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/102690
+       * g++.dg/warn/Warray-bounds-16.C: XFAIL diagnostic part
+       and optimization.
+
+2021-11-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/simd/lowering_tbaa.c: New test.
+
+2021-11-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/fmla_intrinsic_1.c: Fix big-endian testism.
+       * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.
+
+2021-11-10  H.J. Lu  <hongjiu.lu@intel.com>
+           Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR middle-end/102566
+       * g++.target/i386/pr102566-1.C: New test.
+       * g++.target/i386/pr102566-2.C: Likewise.
+       * g++.target/i386/pr102566-3.C: Likewise.
+       * g++.target/i386/pr102566-4.C: Likewise.
+       * g++.target/i386/pr102566-5a.C: Likewise.
+       * g++.target/i386/pr102566-5b.C: Likewise.
+       * g++.target/i386/pr102566-6a.C: Likewise.
+       * g++.target/i386/pr102566-6b.C: Likewise.
+       * gcc.target/i386/pr102566-1a.c: Likewise.
+       * gcc.target/i386/pr102566-1b.c: Likewise.
+       * gcc.target/i386/pr102566-2.c: Likewise.
+       * gcc.target/i386/pr102566-3a.c: Likewise.
+       * gcc.target/i386/pr102566-3b.c: Likewise.
+       * gcc.target/i386/pr102566-4.c: Likewise.
+       * gcc.target/i386/pr102566-5.c: Likewise.
+       * gcc.target/i386/pr102566-6.c: Likewise.
+       * gcc.target/i386/pr102566-7.c: Likewise.
+       * gcc.target/i386/pr102566-8a.c: Likewise.
+       * gcc.target/i386/pr102566-8b.c: Likewise.
+       * gcc.target/i386/pr102566-9a.c: Likewise.
+       * gcc.target/i386/pr102566-9b.c: Likewise.
+       * gcc.target/i386/pr102566-10a.c: Likewise.
+       * gcc.target/i386/pr102566-10b.c: Likewise.
+       * gcc.target/i386/pr102566-11.c: Likewise.
+       * gcc.target/i386/pr102566-12.c: Likewise.
+       * gcc.target/i386/pr102566-13.c: New test.
+       * gcc.target/i386/pr102566-14.c: New test.
+
+2021-11-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/ifcvt-reduction-logic-op.c: New test.
+
+2021-11-10  konglin1  <lingling.kong@intel.com>
+
+       * gcc.target/i386/avx512fp16-vector-complex-float.c: New test.
+
+2021-11-10  konglin1  <lingling.kong@intel.com>
+
+       * gcc.target/i386/avx512fp16vl-complex-broadcast-1.c: New test.
+
+2021-11-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102464-maxmin.c: New test.
+
+2021-11-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101529
+       * c-c++-common/torture/builtin-convertvector-2.c: New test.
+       * c-c++-common/torture/builtin-shufflevector-2.c: New test.
+
+2021-11-10  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.target/nios2/custom-fp-inline-1.c: New.
+       * gcc.target/nios2/custom-fp-inline-2.c: New.
+       * gcc.target/nios2/custom-fp-inline-3.c: New.
+       * gcc.target/nios2/custom-fp-inline-4.c: New.
+
+2021-11-09  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/bad-pragma-locations.c: New test.
+
+2021-11-09  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/p10_vec_xl_sext.c: Fix long long case.
+
+2021-11-09  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/10352
+       * gcc.c-torture/execute/pr10352-1.c: New test.
+
+2021-11-09  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/init/bitfield6.C: New test.
+
+2021-11-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/pr102957.c: New.
+
+2021-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103114
+       * g++.dg/ext/complex10.C: New test.
+
+2021-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98394
+       PR c++/85846
+       * g++.dg/cpp2a/concepts-pr98394.C: New test.
+       * g++.dg/cpp2a/concepts-pr85846.C: New test.
+
+2021-11-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100652
+       * g++.dg/cpp1y/var-templ69.C: New test.
+
+2021-11-09  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * gcc.target/arm/multilib.exp: Update test with armv9-a entries.
+       * lib/target-supports.exp (v9a): Add new armflag.
+       (__ARM_ARCH_9A__): Add new armdef.
+
+2021-11-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103132
+       * gcc.dg/ipa/pr103132.c: New test.
+
+2021-11-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: XFAIL.
+
+2021-11-09  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.dg/tree-ssa/bittest.c: New test
+
+2021-11-08  Andrew MacLeod  <amacleod@redhat.com>
+
+       * g++.dg/pr103122.C: New.
+
+2021-11-08  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103099
+       PR ipa/103107
+       * g++.dg/ipa/pr103099.C: New test.
+       * gcc.dg/ipa/pr103107.c: Likewise.
+
+2021-11-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr103120.c: New test.
+
+2021-11-08  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100520
+       * gcc.dg/pr100520.c: New test.
+
+2021-11-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/neoverse_v1_1.c: New test.
+
+2021-11-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-12.c: New test.
+
+2021-11-08  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * gcc.target/powerpc/vec-minmax-1.c: New test.
+       * gcc.target/powerpc/vec-minmax-2.c: Likewise.
+
+2021-11-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102464-fma.c: New test.
+
+2021-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/co_reduce_2.f90: New test.
+       * gfortran.dg/coarray_collectives_14.f90: Change OPERATOR
+       to OPERATION.
+       * gfortran.dg/coarray_collectives_16.f90: Likewise.
+       * gfortran.dg/coarray_collectives_9.f90: Likewise.
+       Co-authored by: Steve Kargl <steve@gcc.gnu.org>
+
+2021-11-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.dg/bessel_3.f90: Expect additional diagnostics from
+       multiple bad arguments in the call.
+       * gfortran.dg/pr24823.f: Likewise.
+       * gfortran.dg/pr39937.f: Likewise.
+       * gfortran.dg/pr41011.f: Likewise.
+       * gfortran.dg/pr61318.f90: Likewise.
+       * gfortran.dg/c-interop/c407b-2.f90: Remove xfails.
+       * gfortran.dg/c-interop/c535b-2.f90: Likewise.
+
+2021-11-06  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102715
+       * gfortran.dg/pr68019.f90: Adjust error message.
+       * gfortran.dg/pr102715.f90: New test.
+
+2021-11-06  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/vect/tsvc/tsvc.h (init): Use posix_memalign on AIX.
+
+2021-11-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102817
+       * gfortran.dg/pr102817.f90: New test.
+
+2021-11-05  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103073
+       * g++.dg/torture/pr103073.C: New test.
+       * gcc.dg/tree-ssa/modref-11.c: New test.
+
+2021-11-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/69419
+       * gfortran.dg/pr69419.f90: New test.
+
+2021-11-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       PR fortran/100972
+       * gfortran.dg/implicit_14.f90: Adjust error.
+       * gfortran.dg/external_implicit_none_3.f08: New test.
+
+2021-11-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/vect/tsvc/tsvc.h: Do not try to include malloc.h
+       on Darwin also use posix_memalign ().
+
+2021-11-05  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr103093.c: New.
+
+2021-11-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/103085
+       PR target/103085
+       * gcc.target/aarch64/pr103085.c: New test
+
+2021-11-05  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/102945
+       * gcc.dg/gcov-info-to-gcda.c: Filter supported targets.
+
+2021-11-05  Martin Liska  <mliska@suse.cz>
+
+       PR debug/102955
+       * g++.dg/pr102955.C: New test.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.dg/cpp0x/lambda/lambda-eh2.C: Add dg-warning for new
+       deprecation warnings.
+       * g++.dg/cpp0x/noexcept06.C: Likewise.
+       * g++.dg/cpp0x/noexcept07.C: Likewise.
+       * g++.dg/eh/forced3.C: Likewise.
+       * g++.dg/eh/unexpected1.C: Likewise.
+       * g++.old-deja/g++.eh/spec1.C: Likewise.
+       * g++.old-deja/g++.eh/spec2.C: Likewise.
+       * g++.old-deja/g++.eh/spec3.C: Likewise.
+       * g++.old-deja/g++.eh/spec4.C: Likewise.
+       * g++.old-deja/g++.mike/eh33.C: Likewise.
+       * g++.old-deja/g++.mike/eh34.C: Likewise.
+       * g++.old-deja/g++.mike/eh50.C: Likewise.
+       * g++.old-deja/g++.mike/eh51.C: Likewise.
+
+2021-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-1.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-2.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-3.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-4.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-5.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-6.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-7.c: New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-8.c: New test.
+       * gcc.target/aarch64/signbit-2.c: New test.
+
+2021-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/signbit-2.c: New test.
+       * gcc.dg/signbit-3.c: New test.
+       * gcc.dg/signbit-4.c: New test.
+       * gcc.dg/signbit-5.c: New test.
+       * gcc.dg/signbit-6.c: New test.
+       * gcc.target/aarch64/signbit-1.c: New test.
+
+2021-11-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/103079
+       * gcc.dg/pr103079.c: New.
+
+2021-11-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * gcc.dg/guality/ipa-sra-1.c: New test.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: New code
+       generation tests.
+
+2021-11-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_2.c:
+       Relax incorrect register number requirement.
+       * gcc.target/aarch64/sve/pcs/struct_3_256.c: Accept
+       equivalent codegen with fmov.
+
+2021-11-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/amxtile-3.c: Check leal/addl for x32.
+
+2021-11-04  Tamar Christina  <tamar.christina@arm.com>
+
+       PR testsuite/103042
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Update guards.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Likewise.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Likewise.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c:
+       Likewise.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c:
+       Likewise.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c:
+       Likewise.
+       * gcc.dg/vect/complex/complex-add-pattern-template.c: Likewise.
+       * gcc.dg/vect/complex/complex-add-template.c: Likewise.
+       * gcc.dg/vect/complex/complex-operations-run.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c:
+       Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise.
+       * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c:
+       Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c:
+       Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c:
+       Likewise.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c:
+       Likewise.
+
+2021-11-04  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/103075
+       * gcc.dg/pr103075.c: New testcase.
+
+2021-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/103062
+       * gcc.dg/pr103062.c: New test.
+
+2021-11-04  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       * gcc.dg/vect/pr101145_1.c: Update case.
+       * gcc.dg/vect/pr101145_2.c: Update case.
+       * gcc.dg/vect/pr101145_3.c: Update case.
+
+2021-11-04  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/asan/asan_test.C: Disable one warning.
+
+2021-11-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/rtl/aarch64/big-endian-cse-1.c: New test.
+
+2021-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr101989-3.c: New test.
+
+2021-11-04  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102464-copysign-1.c: New test.
+
+2021-11-04  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/vnni-auto-vectorize-1.c: New test.
+       * gcc.target/i386/vnni-auto-vectorize-2.c: Ditto.
+
+2021-11-04  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/amxtile-3.c: New test.
+
+2021-11-04  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/opt/pr102970.C: Only run in C++14 and up.
+
+2021-11-03  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/103031
+       * gcc.dg/init-rounding-math-1.c: New test.
+
+2021-11-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr23744.c: Tweak output checks.
+       * gcc.dg/tree-ssa/vrp07.c: Ditto.
+       * gcc.dg/tree-ssa/vrp08.c: Ditto.
+       * gcc.dg/tree-ssa/vrp09.c: Ditto.
+       * gcc.dg/tree-ssa/vrp20.c: Ditto.
+       * gcc.dg/tree-ssa/vrp92.c: Ditto.
+       * jit.dg/test-sum-of-squares.c: Ditto.
+
+2021-11-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102970
+       * g++.dg/opt/pr102970.C: New testcase.
+
+2021-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/torture/pr103040.C: New test.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/ipa/modref-3.c: New test.
+
+2021-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/ipa/modref-1.C: Update template.
+       * gcc.dg/tree-ssa/modref-10.c: New test.
+
+2021-11-02  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: For IBM Z set arch to z13
+       and use z/Architecture since the tests require vector extensions.
+       * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: Likewise.
+       * gcc.dg/tree-ssa/ldist-strlen-1.c: Likewise.
+       * gcc.dg/tree-ssa/ldist-strlen-3.c: Likewise.
+
+2021-11-02  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/103007
+       * g++.dg/pr103007.C: New test.
+
+2021-11-02  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/103038
+       * g++.dg/pr103038.C: New testcase.
+
+2021-11-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/103020
+       * gcc.target/i386/pr103020.c: New test.
+
+2021-11-02  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/vect/vect.exp: Include also tsvc sub-directory.
+       * gcc.dg/vect/tsvc/license.txt: New test.
+       * gcc.dg/vect/tsvc/tsvc.h: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s000.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s111.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1111.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1112.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1113.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1119.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s112.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s113.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s114.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s115.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s116.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s118.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s119.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s121.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1213.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s122.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1221.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s123.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s124.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1244.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s125.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1251.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s126.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s127.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s128.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1281.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s131.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s13110.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s132.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1351.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s141.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s1421.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s151.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s152.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s161.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s162.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s171.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s172.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s173.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s174.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s175.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s176.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2101.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2102.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s211.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2111.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s212.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s221.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s222.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2233.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2244.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2251.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2275.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s231.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s232.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s233.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s235.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s241.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s242.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s243.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s244.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s251.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s252.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s253.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s254.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s255.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s256.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s257.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s258.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s261.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s271.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2710.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s272.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s273.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s274.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s275.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s276.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s277.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s278.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s279.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s281.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s291.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s292.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s293.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s311.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s3110.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s31111.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s3112.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s3113.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s312.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s313.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s314.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s315.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s316.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s317.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s318.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s319.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s321.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s322.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s323.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s3251.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s331.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s332.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s341.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s342.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s343.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s351.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s352.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s353.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4112.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4114.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4115.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4116.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4117.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s4121.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s421.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s422.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s423.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s424.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s431.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s441.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s442.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s443.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s451.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s452.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s453.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s471.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s481.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s482.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-s491.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-va.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vag.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vas.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vbor.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vdotr.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vif.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vpv.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vpvpv.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vpvts.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vpvtv.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vsumr.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vtv.c: New test.
+       * gcc.dg/vect/tsvc/vect-tsvc-vtvtv.c: New test.
+
+2021-11-02  liuhongt  <hongtao.liu@intel.com>
+
+       PR testsuite/102944
+       * c-c++-common/Wstringop-overflow-2.c: Adjust target/xfail
+       selector.
+       * gcc.dg/Warray-bounds-48.c: Ditto.
+       * gcc.dg/Warray-bounds-51.c: Ditto.
+       * gcc.dg/Warray-parameter-3.c: Ditto.
+       * gcc.dg/Wstringop-overflow-14.c: Ditto.
+       * gcc.dg/Wstringop-overflow-21.c: Ditto.
+       * gcc.dg/Wstringop-overflow-68.c: Ditto
+       * gcc.dg/Wstringop-overflow-76.c: Ditto
+       * gcc.dg/Wzero-length-array-bounds-2.c: Ditto.
+       * lib/target-supports.exp (vect_slp_v4qi_store_unalign): New
+       efficient target.
+       (vect_slp_v4qi_store_unalign_1): Ditto.
+       (struct_4char_block_move): Ditto.
+       (struct_8char_block_move): Ditto.
+       (stryct_16char_block_move): Ditto.
+       (vect_slp_v2hi_store_align): Ditto.
+       (vect_slp_v2qi_store): Rename to ..
+       (vect_slp_v2qi_store_align): .. this.
+       (vect_slp_v4qi_store): Rename to ..
+       (vect_slp_v4qi_store_align): .. This.
+       (vect_slp_v8qi_store): Rename to ..
+       (vect_slp_v8qi_store_unalign_1): .. This.
+       (vect_slp_v16qi_store): Rename to ..
+       (vect_slp_v16qi_store_unalign_1): .. This.
+       (vect_slp_v2hi_store): Rename to ..
+       (vect_slp_v2hi_store_unalign): .. This.
+       (vect_slp_v4hi_store): Rename to ..
+       (vect_slp_v4hi_store_unalign): This.
+       (vect_slp_v2si_store): Rename to ..
+       (vect_slp_v2si_store_align): .. This.
+       (vect_slp_v4si_store): Rename to ..
+       (vect_slp_v4si_store_unalign): Ditto.
+       (check_vect_slp_aligned_store_usage): Rename to ..
+       (check_vect_slp_store_usage): .. this and adjust code to make
+       it an exact pattern match of corresponding testcase.
+
+2021-11-02  Roger Sayle  <roger@nextmovesoftware.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102986
+       * gcc.target/i386/sse2-v1ti-ashiftrt-1.c: New test case.
+       * gcc.target/i386/sse2-v1ti-ashiftrt-2.c: New test case.
+       * gcc.target/i386/sse2-v1ti-ashiftrt-3.c: New test case.
+       * gcc.target/i386/sse2-v1ti-shift-2.c: New test case.
+       * gcc.target/i386/sse2-v1ti-shift-3.c: New test case.
+
+2021-11-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/loop-8.C: New test.
+
+2021-11-01  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/ipa/modref-1.C: Fix test-suite pattern scanning.
+
+2021-11-01  qing zhao  <qing.zhao@oracle.com>
+
+       * c-c++-common/pr102281.c: New test.
+       * gcc.target/i386/auto-init-2.c: Adjust testing case.
+       * gcc.target/i386/auto-init-4.c: Likewise.
+       * gcc.target/i386/auto-init-6.c: Likewise.
+       * gcc.target/aarch64/auto-init-6.c: Likewise.
+
+2021-11-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/vect-cse-codegen.c: New test.
+
+2021-11-01  Tamar Christina  <tamar.christina@arm.com>
+
+       PR testsuite/103000
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c:
+       Force unroll.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: likewise
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c:
+       Likewise
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c:
+       Likewise.
+
+2021-11-01  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-c++-common/diagnostic-format-json-1.c: Add regexp to consume
+       "escape-source" attribute.
+       * c-c++-common/diagnostic-format-json-2.c: Likewise.
+       * c-c++-common/diagnostic-format-json-3.c: Likewise.
+       * c-c++-common/diagnostic-format-json-4.c: Likewise, twice.
+       * c-c++-common/diagnostic-format-json-5.c: Likewise.
+       * gcc.dg/cpp/warn-normalized-4-bytes.c: New test.
+       * gcc.dg/cpp/warn-normalized-4-unicode.c: New test.
+       * gcc.dg/encoding-issues-bytes.c: New test.
+       * gcc.dg/encoding-issues-unicode.c: New test.
+       * gfortran.dg/diagnostic-format-json-1.F90: Add regexp to consume
+       "escape-source" attribute.
+       * gfortran.dg/diagnostic-format-json-2.F90: Likewise.
+       * gfortran.dg/diagnostic-format-json-3.F90: Likewise.
+
+2021-11-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr103003.c: New.
+
+2021-10-31  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/ipa/modref-1.C: New test.
+
+2021-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102959
+       * gdc.dg/torture/pr96435.d: Adjust for BigEndian.
+
+2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/102972
+       * c-c++-common/gomp/target-device-ancestor-3.c: Add non-API
+       routine test.
+       * gfortran.dg/gomp/order-6.f90: Add missing bind(C).
+       * c-c++-common/gomp/teams-3.c: New test.
+       * gfortran.dg/gomp/teams-3.f90: New test.
+       * gfortran.dg/gomp/teams-4.f90: New test.
+
+2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
+
+       * gfortran.dg/intrinsic_short-long.f90: New test.
+
+2021-10-30  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/99853
+       * gfortran.dg/pr99853.f90: New test.
+
+2021-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/loop-10.c: New test.
+
+2021-10-29  Tamar Christina  <tamar.christina@arm.com>
+
+       * g++.dg/vect/pr99149.cc: Update case.
+
+2021-10-29  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/pragma-1.c: New test.
+       * c-c++-common/gomp/pragma-2.c: New test.
+
+2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/loop-unswitch-2.c: Adjust for threading changes.
+       * gcc.dg/old-style-asm-1.c: Same.
+       * gcc.dg/tree-ssa/phi_on_compare-1.c: Same.
+       * gcc.dg/tree-ssa/phi_on_compare-2.c: Same.
+       * gcc.dg/tree-ssa/phi_on_compare-3.c: Same.
+       * gcc.dg/tree-ssa/phi_on_compare-4.c: Same.
+       * gcc.dg/tree-ssa/pr20701.c: Same.
+       * gcc.dg/tree-ssa/pr21001.c: Same.
+       * gcc.dg/tree-ssa/pr21294.c: Same.
+       * gcc.dg/tree-ssa/pr21417.c: Same.
+       * gcc.dg/tree-ssa/pr21559.c: Same.
+       * gcc.dg/tree-ssa/pr21563.c: Same.
+       * gcc.dg/tree-ssa/pr49039.c: Same.
+       * gcc.dg/tree-ssa/pr59597.c: Same.
+       * gcc.dg/tree-ssa/pr61839_1.c: Same.
+       * gcc.dg/tree-ssa/pr61839_3.c: Same.
+       * gcc.dg/tree-ssa/pr66752-3.c: Same.
+       * gcc.dg/tree-ssa/pr68198.c: Same.
+       * gcc.dg/tree-ssa/pr77445-2.c: Same.
+       * gcc.dg/tree-ssa/pr77445.c: Same.
+       * gcc.dg/tree-ssa/ranger-threader-1.c: Same.
+       * gcc.dg/tree-ssa/ranger-threader-2.c: Same.
+       * gcc.dg/tree-ssa/ranger-threader-4.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-12.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-16.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-14.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-backedge.c: Same.
+       * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Same.
+       * gcc.dg/tree-ssa/vrp02.c: Same.
+       * gcc.dg/tree-ssa/vrp03.c: Same.
+       * gcc.dg/tree-ssa/vrp05.c: Same.
+       * gcc.dg/tree-ssa/vrp06.c: Same.
+       * gcc.dg/tree-ssa/vrp07.c: Same.
+       * gcc.dg/tree-ssa/vrp08.c: Same.
+       * gcc.dg/tree-ssa/vrp09.c: Same.
+       * gcc.dg/tree-ssa/vrp33.c: Same.
+       * gcc.dg/uninit-pred-9_b.c: Same.
+       * gcc.dg/uninit-pred-7_a.c: xfail.
+
+2021-10-29  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * lib/multiline.exp (_build_multiline_regex): Use a better
+       regexp than .* to match up to EOL.
+
+2021-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr102983.c: New.
+
+2021-10-29  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/102977
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c:
+       Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c:
+       Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c:
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c:
+       Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Updated.
+       * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c:
+       Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c:
+       Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c:
+       Updated.
+       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c:
+       Updated.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-byte.c: Removed.
+       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-byte.c:
+       Removed.
+
+2021-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-62.c: Adjust expected diagnostics.
+
+2021-10-29  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/torture/fp-uint64-convert-double-1.c: Add
+       -fexcess-precision=standard.
+
+2021-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102820
+       * g++.dg/cpp0x/dr2351.C: New test.
+
+2021-10-29  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/102868
+       * gcc.target/powerpc/pr102868.c: New test.
+
+2021-10-29  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102464-vrndscaleph.c: New test.
+
+2021-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102951
+       * gcc.dg/tree-ssa/pr102951.c: New test.
+       * gcc.dg/Wstringop-overflow-62.c: Adjust expected diagnostics.
+
+2021-10-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/ifcvt-4.c: Adjust.
+
+2021-10-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/evrp9.c: Adjust message scanned for.
+       * gcc.dg/tree-ssa/pr21458-2.c: Ditto.
+
+2021-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102933
+       * g++.dg/cpp2a/nontype-class50.C: New test.
+       * g++.dg/cpp2a/nontype-class50a.C: New test.
+
+2021-10-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102780
+       * g++.dg/cpp1z/fold13.C: New test.
+
+2021-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/84407
+       * gcc.dg/torture/fp-uint64-convert-double-1.c: New testcase.
+       * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise.
+
+2021-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/vrp106.c: Adjust for threading.
+       * gcc.dg/tree-ssa/vrp113.c: Same.
+
+2021-10-28  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/57245
+       * gcc.dg/torture/fp-double-convert-float-1.c: New testcase.
+
+2021-10-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/102767
+       * gcc.target/powerpc/ppc-fortran/pr102767.f90: New file.
+
+2021-10-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * c-c++-common/torture/harden-comp.c: New.
+       * c-c++-common/torture/harden-cond.c: New.
+
+2021-10-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/builtins-1.c: Adjust.
+
+2021-10-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/94613
+       * gcc.target/powerpc/pr94613.c: New test.
+
+2021-10-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-recip-1.c: New test.
+       * gcc.target/i386/avx512fp16-recip-2.c: Ditto.
+       * gcc.target/i386/pr102464.c: Add -fno-trapping-math.
+
+2021-10-27  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Warray-bounds-90.c: Fix a typo.
+
+2021-10-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/PR93963.f90: Extend testcase by scan-tree-dump test.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102897
+       * gcc.dg/pr102897.c: Add -Wno-psabi to dg-options.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/loop-8.c: New test.
+       * c-c++-common/gomp/loop-9.c: New test.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102854
+       * g++.dg/gomp/loop-3.C: Don't expect some errors.
+       * g++.dg/gomp/loop-7.C: New test.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * g++.dg/cpp2a/consteval7.C: Expect diagnostics on quux.
+       * g++.dg/cpp2a/consteval24.C: New test.
+       * g++.dg/cpp23/consteval-if12.C: New test.
+
+2021-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102753
+       * g++.dg/cpp2a/consteval13.C: Don't expect errors.
+       * g++.dg/cpp2a/consteval20.C: New test.
+       * g++.dg/cpp2a/consteval21.C: New test.
+       * g++.dg/cpp2a/consteval22.C: New test.
+       * g++.dg/cpp2a/consteval23.C: New test.
+       * g++.dg/cpp23/consteval-if11.C: New test.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/102238
+       PR tree-optimization/102919
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Remove warnings.
+       * gcc.dg/Wrestrict-23.c: New test.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-22.c: Correct typos.
+       * gcc.dg/Wstringop-overflow-81.c: New test.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102453
+       * gcc.dg/Warray-bounds-90.c: New test.
+       * gcc.dg/Wstringop-overflow-77.c: New test.
+       * gcc.dg/Wstringop-overflow-78.c: New test.
+       * gcc.dg/Wstringop-overflow-79.c: New test.
+       * gcc.dg/Wstringop-overflow-80.c: New test.
+       * c-c++-common/gomp/atomic-4.c: Avoid an out-of-bounds access.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/86551
+       * gfortran.dg/pr86551.f90: New test to verify that PR86551 remains
+       fixed.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102956
+       * gfortran.dg/pdt_32.f03: New test.
+
+2021-10-26  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/102842
+       * g++.target/arm/pr102842.C: New test.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102917
+       * gfortran.dg/pdt_4.f03: Adjust testcase.
+
+2021-10-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102816
+       * gfortran.dg/pr102816.f90: New test.
+
+2021-10-26  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/pr78102.c: Fix dg directives to require Power8
+       vector support.  Also, add -DNO_WARN_X86_INTRINSICS.
+
+2021-10-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/102617
+       * g++.dg/cpp23/init-stmt1.C: New test.
+       * g++.dg/cpp23/init-stmt2.C: New test.
+
+2021-10-26  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR testsuite/102910
+       * gfortran.dg/c-interop/cf-descriptor-5-c.c: Use a static buffer
+       instead of alloca.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR testsuite/102834
+       * gcc.target/i386/avx512f-pr96891-3.c: Add -mstv -mno-stackrealign
+       to dg-options.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR testsuite/102835
+       * gcc.target/i386/avx512fp16-trunchf.c: Allow for %esp instead of
+       %ebp.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR testsuite/102836
+       * gcc.target/i386/pieces-memset-1.c: Add -mno-stackrealign to
+       dg-options.
+       * gcc.target/i386/pieces-memset-4.c: Likewise.
+       * gcc.target/i386/pieces-memset-7.c: Likewise.
+       * gcc.target/i386/pieces-memset-8.c: Likewise.
+       * gcc.target/i386/pieces-memset-41.c: Likewise.
+       * gcc.target/i386/pr90773-1.c: Likewise.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/pr100704-1.c: Add -fomit-frame-pointer to
+       dg-options.
+       * gcc.target/i386/pr100704-2.c: Likewise.
+
+2021-10-26  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.dg/pr102897.c: New test.
+
+2021-10-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102885
+       * gfortran.dg/lto/bind-c-char_0.f90: New test.
+
+2021-10-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/sse2-v1ti-shift.c: New test case.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR testsuite/102857
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Add -fdump-tree-vrp2-stats.
+       Tweak for aarch64.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/pr21090.c: Adjust for threading.
+       * gcc.dg/tree-ssa/ssa-thread-12.c: Removed.
+
+2021-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/graphite/scop-dsyr2k-2.c: Adjust for jump threading changes.
+       * gcc.dg/graphite/scop-dsyr2k.c: Same.
+       * gcc.dg/graphite/scop-dsyrk-2.c: Same.
+       * gcc.dg/graphite/scop-dsyrk.c: Same.
+       * gcc.dg/tree-ssa/pr20701.c: Same.
+       * gcc.dg/tree-ssa/pr20702.c: Same.
+       * gcc.dg/tree-ssa/pr21086.c: Same.
+       * gcc.dg/tree-ssa/pr25382.c: Same.
+       * gcc.dg/tree-ssa/pr58480.c: Same.
+       * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Same.
+       * gcc.dg/tree-ssa/vrp08.c: Same.
+       * gcc.dg/tree-ssa/vrp55.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Removed.
+       * gcc.dg/tree-ssa/ssa-thread-11.c: Removed.
+       * gcc.dg/uninit-pr89230-1.c: xfail.
+       * gcc.dg/tree-ssa/ssa-thread-backedge.c: New file.
+
+2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/vrp98.c: Disable evrp for vrp1 test.
+       * gcc.dg/tree-ssa/vrp98-1.c: New. Test for folding in evrp.
+
+2021-10-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/bfin/ssashift-1.c: New test case.
+
+2021-10-25  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/102907
+       * gcc.target/aarch64/shrn-combine-1.c: Disable SVE.
+       * gcc.target/aarch64/shrn-combine-2.c: Likewise.
+       * gcc.target/aarch64/shrn-combine-3.c: Likewise.
+       * gcc.target/aarch64/shrn-combine-4.c: Likewise.
+       * gcc.target/aarch64/shrn-combine-5.c: Likewise.
+       * gcc.target/aarch64/shrn-combine-6.c: Likewise.
+       * gcc.target/aarch64/shrn-combine-7.c: Likewise.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+           Shi-Hua Liao  <shihua@iscas.ac.cn>
+
+       * gcc.target/riscv/zba-slliuw.c: Apply zbs to this testcase.
+       * gcc.target/riscv/zbs-bclr.c: New.
+       * gcc.target/riscv/zbs-bext.c: Ditto.
+       * gcc.target/riscv/zbs-binv.c: Ditto.
+       * gcc.target/riscv/zbs-bset.c: Ditto.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+
+       * gcc.target/riscv/zbb-li-rotr.c: New.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+
+       * gcc.target/riscv/zbb-andn-orn-xnor-01.c: New.
+       * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Ditto.
+       * gcc.target/riscv/zbb-min-max.c: Ditto.
+       * gcc.target/riscv/zbb-rol-ror-01.c: Ditto.
+       * gcc.target/riscv/zbb-rol-ror-02.c: Ditto.
+       * gcc.target/riscv/zbb-rol-ror-03.c: Ditto.
+       * gcc.target/riscv/zbbw.c: Ditto.
+
+2021-10-25  Jim Wilson  <jimw@sifive.com>
+           Kito Cheng  <kito.cheng@sifive.com>
+           Jia-Wei Chen  <jiawei@iscas.ac.cn>
+
+       * gcc.target/riscv/zba-adduw.c: New.
+       * gcc.target/riscv/zba-shNadd-01.c: Ditto.
+       * gcc.target/riscv/zba-shNadd-02.c: Ditto.
+       * gcc.target/riscv/zba-shNadd-03.c: Ditto.
+       * gcc.target/riscv/zba-slliuw.c: Ditto.
+       * gcc.target/riscv/zba-zextw.c: Ditto.
+
+2021-10-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102464
+       * gcc.target/i386/pr102464-sqrtph.c: New test.
+       * gcc.target/i386/pr102464-sqrtsh.c: New test.
+
+2021-10-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102920
+       * gcc.dg/torture/pr102920.c: New testcase.
+
+2021-10-25  konglin1  <lingling.kong@intel.com>
+
+       * gcc.target/i386/avx512fp16-complex-fma.c: New test.
+
+2021-10-24  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/bfin/20090914-3.c: Tweak test case.
+
+2021-10-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR fortran/9262
+       * gfortran.dg/bind-c-intent-out-2.f90: Moved to ...
+       * gfortran.dg/ubsan/bind-c-intent-out-2.f90
+
+2021-10-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/sse2-v1ti-logic.c: New test case.
+       * gcc.target/i386/sse2-v1ti-logic-2.c: New test case.
+
+2021-10-23  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/95196
+       * gfortran.dg/PR95196.f90: New.
+
+2021-10-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/associate_3.f03: Replace dg-excess-errors by
+       other dg-* to change XFAIL to PASS.
+       * gfortran.dg/binding_label_tests_4.f03: Likewise.
+       * gfortran.dg/block_4.f08: Likewise.
+       * gfortran.dg/charlen_04.f90: Likewise.
+       * gfortran.dg/charlen_05.f90: Likewise.
+       * gfortran.dg/charlen_06.f90: Likewise.
+       * gfortran.dg/charlen_13.f90: Likewise.
+       * gfortran.dg/coarray_9.f90: Likewise.
+       * gfortran.dg/coarray_collectives_3.f90: Likewise.
+       * gfortran.dg/data_invalid.f90: Likewise.
+       * gfortran.dg/do_4.f: Likewise.
+       * gfortran.dg/dollar_sym_1.f90: Likewise.
+       * gfortran.dg/dollar_sym_3.f: Likewise.
+       * gfortran.dg/fmt_tab_1.f90: Likewise.
+       * gfortran.dg/fmt_tab_2.f90: Likewise.
+       * gfortran.dg/forall_16.f90: Likewise.
+       * gfortran.dg/g77/970125-0.f: Likewise.
+       * gfortran.dg/gomp/unexpected-end.f90: Likewise.
+       * gfortran.dg/interface_operator_1.f90: Likewise.
+       * gfortran.dg/interface_operator_2.f90: Likewise.
+       * gfortran.dg/line_length_4.f90: Likewise.
+       * gfortran.dg/line_length_5.f90: Likewise.
+       * gfortran.dg/line_length_6.f90: Likewise.
+       * gfortran.dg/line_length_8.f90: Likewise.
+       * gfortran.dg/line_length_9.f90: Likewise.
+       * gfortran.dg/pr65045.f90: Likewise.
+       * gfortran.dg/pr69497.f90: Likewise.
+       * gfortran.dg/submodule_21.f08: Likewise.
+       * gfortran.dg/tab_continuation.f: Likewise.
+       * gfortran.dg/typebound_proc_2.f90: Likewise.
+       * gfortran.dg/warnings_are_errors_1.f90: Likewise.
+
+2021-10-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92621
+       * gfortran.dg/bind-c-intent-out-2.f90: New test.
+
+2021-10-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/94289
+       * gfortran.dg/PR94289.f90: New.
+
+2021-10-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/100906
+       * gfortran.dg/PR100906.f90: New.
+       * gfortran.dg/PR100906.c: New.
+
+2021-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102893
+       * gcc.dg/tree-ssa/ssa-dce-9.c: New testcase.
+
+2021-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/102681
+       * gcc.dg/tree-ssa/ssa-fre-97.c: New testcase.
+       * gcc.dg/ubsan/pr81981.c: XFAIL one case.
+
+2021-10-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR testsuite/102840
+       * gcc.target/i386/pr22076.c: Adjust to avoid compile time optimization.
+
+2021-10-21  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-13.c: Adjust scan-assembler for
+       xmm/ymm load/store.
+
+2021-10-21  Martin Liska  <mliska@suse.cz>
+
+       PR debug/102585
+       PR bootstrap/102766
+       * gcc.dg/pr102585.c: New test.
+
+2021-10-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/102505
+       * g++.dg/torture/pr102505.C: New test.
+
+2021-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.dg/gomp/strictly-structured-block-1.f90: Use call do_work
+       instead of x = x + 1 in places where the latter could be a data race.
+       * gfortran.dg/gomp/strictly-structured-block-2.f90: Likewise.
+       * gfortran.dg/gomp/strictly-structured-block-3.f90: Likewise.
+
+2021-10-21  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/102812
+       * gcc.target/i386/pr102812.c: New test.
+
+2021-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/64888
+       * c-c++-common/ubsan/pr64888.c: New test.
+
+2021-10-21  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/pr36902.c: Move buf to be a non-static variable.
+
+2021-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/102861
+       * gcc.dg/vect/bb-slp-16.c: Revert previous change, scan
+       the vect dump instead.
+
+2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * gfortran.dg/gomp/cancel-1.f90: Adjust testcase.
+       * gfortran.dg/gomp/nesting-3.f90: Adjust testcase.
+       * gfortran.dg/gomp/strictly-structured-block-1.f90: New test.
+       * gfortran.dg/gomp/strictly-structured-block-2.f90: New test.
+       * gfortran.dg/gomp/strictly-structured-block-3.f90: New test.
+
+2021-10-21  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/94070
+       * gfortran.dg/c-interop/shape-bindc.f90: New test.
+       * gfortran.dg/c-interop/shape-poly.f90: New test.
+       * gfortran.dg/c-interop/size-bindc.f90: New test.
+       * gfortran.dg/c-interop/size-poly.f90: New test.
+       * gfortran.dg/c-interop/ubound-bindc.f90: New test.
+       * gfortran.dg/c-interop/ubound-poly.f90: New test.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/mvn-cmeq0-1.c: New test.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/narrow_high_combine.c: Update case.
+       * gcc.target/aarch64/xtn-combine-1.c: New test.
+       * gcc.target/aarch64/xtn-combine-2.c: New test.
+       * gcc.target/aarch64/xtn-combine-3.c: New test.
+       * gcc.target/aarch64/xtn-combine-4.c: New test.
+       * gcc.target/aarch64/xtn-combine-5.c: New test.
+       * gcc.target/aarch64/xtn-combine-6.c: New test.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/shl-combine-2.c: New test.
+       * gcc.target/aarch64/shl-combine-3.c: New test.
+       * gcc.target/aarch64/shl-combine-4.c: New test.
+       * gcc.target/aarch64/shl-combine-5.c: New test.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/shrn-combine-10.c: New test.
+       * gcc.target/aarch64/shrn-combine-5.c: New test.
+       * gcc.target/aarch64/shrn-combine-6.c: New test.
+       * gcc.target/aarch64/shrn-combine-7.c: New test.
+       * gcc.target/aarch64/shrn-combine-8.c: New test.
+       * gcc.target/aarch64/shrn-combine-9.c: New test.
+
+2021-10-20  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/shrn-combine-1.c: New test.
+       * gcc.target/aarch64/shrn-combine-2.c: New test.
+       * gcc.target/aarch64/shrn-combine-3.c: New test.
+       * gcc.target/aarch64/shrn-combine-4.c: New test.
+
+2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * gfortran.dg/gomp/reduction4.f90: Adjust omp target in_reduction' scan
+       pattern.
+
+2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       PR target/102374
+       * gcc.target/i386/pr102374.c: New test.
+
+2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2021-10-20  Martin Liska  <mliska@suse.cz>
+
+       PR target/102375
+       * gcc.target/aarch64/pr102375.c: New test.
+
+2021-10-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       PR target/100966
+       * gcc.target/aarch64/frint.x: Add roundeven tests.
+       * gcc.target/aarch64/frint_double.c: Likewise.
+       * gcc.target/aarch64/frint_float.c: Likewise.
+
+2021-10-20  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/fmla_intrinsic_1.c: prevent over optimization.
+       * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/mla_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/mls_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/mul_intrinsic_1.c: Likewise.
+       * gcc.target/aarch64/simd/vmul_elem_1.c: Likewise.
+       * gcc.target/aarch64/vclz.c: Likewise.
+       * gcc.target/aarch64/vneg_s.c: Likewise.
+
+2021-10-20  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/merge_trunc1.c: New test.
+
+2021-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr102764.c: New test.
+
+2021-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102815
+       * gfortran.dg/bind-c-contiguous-5.c (do_call, reset_var): Handle
+       big andian.
+
+2021-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102642
+       * g++.dg/tls/pr102642.C: New test.
+
+2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/Warray-bounds-87.c: Remove xfail.
+       * gcc.dg/analyzer/pr94851-2.c: Remove xfail.
+       * gcc.dg/graphite/pr69728.c: Remove xfail.
+       * gcc.dg/graphite/scop-dsyr2k.c: Remove xfail.
+       * gcc.dg/graphite/scop-dsyrk.c: Remove xfail.
+       * gcc.dg/shrink-wrap-loop.c: Remove xfail.
+       * gcc.dg/loop-8.c: Adjust for new threading restrictions.
+       * gcc.dg/tree-ssa/ifc-20040816-1.c: Same.
+       * gcc.dg/tree-ssa/pr21559.c: Same.
+       * gcc.dg/tree-ssa/pr59597.c: Same.
+       * gcc.dg/tree-ssa/pr71437.c: Same.
+       * gcc.dg/tree-ssa/pr77445-2.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+       * gcc.dg/vect/bb-slp-16.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Remove.
+       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Remove.
+       * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Remove.
+       * gcc.dg/tree-ssa/ssa-thread-invalid.c: New test.
+
+2021-10-20  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.dg/plugin/gil-1.c: Add dg-require-effective-target marker.
+
+2021-10-20  Hongtao Liu  <hongtao.liu@intel.com>
+           Kewen Lin  <linkw@linux.ibm.com>
+
+       PR middle-end/102722
+       PR middle-end/102697
+       PR middle-end/102462
+       PR middle-end/102706
+       PR middle-end/102744
+       * c-c++-common/Wstringop-overflow-2.c: Adjust testcase with new
+       xfail/target selector.
+       * gcc.dg/Warray-bounds-51.c: Ditto.
+       * gcc.dg/Warray-parameter-3.c: Ditto.
+       * gcc.dg/Wstringop-overflow-14.c: Ditto.
+       * gcc.dg/Wstringop-overflow-21.c: Ditto.
+       * gcc.dg/Wstringop-overflow-68.c: Ditto.
+       * gcc.dg/Wstringop-overflow-76.c: Ditto.
+       * gcc.dg/Warray-bounds-48.c: Ditto.
+       * gcc.dg/Wzero-length-array-bounds-2.c: Ditto.
+       * lib/target-supports.exp (check_vect_slp_aligned_store_usage):
+       New function.
+       (check_effective_target_vect_slp_v2qi_store): Ditto.
+       (check_effective_target_vect_slp_v4qi_store): Ditto.
+       (check_effective_target_vect_slp_v8qi_store): Ditto.
+       (check_effective_target_vect_slp_v16qi_store): Ditto.
+       (check_effective_target_vect_slp_v2hi_store): Ditto.
+       (check_effective_target_vect_slp_v4hi_store): Ditto.
+       (check_effective_target_vect_slp_v2si_store): Ditto.
+       (check_effective_target_vect_slp_v4si_store): Ditto.
+       * c-c++-common/Wstringop-overflow-2-novec.c: New test.
+       * gcc.dg/Warray-bounds-51-novec.c: New test.
+       * gcc.dg/Warray-bounds-48-novec.c: New test.
+       * gcc.dg/Warray-parameter-3-novec.c: New test.
+       * gcc.dg/Wstringop-overflow-14-novec.c: New test.
+       * gcc.dg/Wstringop-overflow-21-novec.c: New test.
+       * gcc.dg/Wstringop-overflow-76-novec.c: New test.
+       * gcc.dg/Wzero-length-array-bounds-2-novec.c: New test.
+
+2021-10-19  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_2-pcmpgtq.c: Tighten dg constraints
+       to minimally Power8.
+
+2021-10-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92482
+       * gfortran.dg/bind-c-char-descr.f90: Remove xfail; extend a bit.
+
+2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102375
+       * gcc.target/aarch64/pr102375.c: New test.
+
+2021-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102827
+       * gcc.dg/pr102827.c: New testcase.
+
+2021-10-19  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/builtins-1.c: Update instruction counts.
+
+2021-10-19  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * gcc.target/powerpc/p10_vec_xl_sext.c: New test.
+
+2021-10-19  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/93183
+       * gcc.target/aarch64/sve/pr93183.c: Remove -mcpu=generic+sve from dg-options.
+
+2021-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102786
+       * g++.dg/cpp2a/constexpr-virtual19.C: New test.
+
+2021-10-19  Martin Liska  <mliska@suse.cz>
+
+       PR target/102374
+       * gcc.target/i386/pr102374.c: New test.
+
+2021-10-19  dianhong xu  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx512fp16-set1-pch-1a.c: New test.
+       * gcc.target/i386/avx512fp16-set1-pch-1b.c: New test.
+       * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: New test.
+       * gcc.target/i386/avx512fp16vl-set1-pch-1b.c: New test.
+
+2021-10-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102796
+       * g++.dg/pr102796.C: New.
+
+2021-10-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gfortran.dg/gomp/declare-variant-15.f90 (variant2, base2, test2):
+       Add tests.
+       * gfortran.dg/gomp/declare-variant-16.f90 (base2, variant2, test2):
+       Add tests.
+
+2021-10-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/102761
+       * gcc.target/i386/pr102761.c: New test.
+
+2021-10-18  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/template/crash90.C: Check location of pedwarn.
+
+2021-10-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/387-12.c (dg-do compile): Require ia32.
+       (dg-options): Remove -m32.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/387-12.c: Add explicit -m32 option.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/bfin/ones.c: New test case.
+       * gcc.target/bfin/parity.c: New test case.
+       * gcc.target/bfin/popcount.c: New test case.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102788
+       * g++.dg/vect/pr102788.cc: New testcase.
+
+2021-10-18  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/bfin/ssabs.c: New test case.
+       * gcc.target/bfin/ssneg.c: New test case.
+
+2021-10-18  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/93183
+       * gcc.target/aarch64/sve/cond_unary_4.c: Adjust.
+       * gcc.target/aarch64/sve/pr93183.c: New test.
+
+2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102086
+       PR fortran/92189
+       PR fortran/92621
+       PR fortran/101308
+       PR fortran/101309
+       PR fortran/101635
+       PR fortran/92482
+       * gfortran.dg/ISO_Fortran_binding_4.f90: Extend testcase.
+       * gfortran.dg/PR100914.f90: Remove xfail.
+       * gfortran.dg/PR100915.c: Expect CFI_type_cfunptr.
+       * gfortran.dg/PR100915.f90: Handle CFI_type_cfunptr != CFI_type_cptr.
+       * gfortran.dg/PR93963.f90: Extend select-rank tests.
+       * gfortran.dg/bind-c-intent-out.f90: Change to dg-do run,
+       update scan-dump.
+       * gfortran.dg/bind_c_array_params_2.f90: Update/extend scan-dump.
+       * gfortran.dg/bind_c_char_10.f90: Update scan-dump.
+       * gfortran.dg/bind_c_char_8.f90: Remove dg-error "sorry".
+       * gfortran.dg/c-interop/allocatable-dummy.f90: Remove xfail.
+       * gfortran.dg/c-interop/c1255-1.f90: Likewise.
+       * gfortran.dg/c-interop/c407c-1.f90: Update dg-error.
+       * gfortran.dg/c-interop/cf-descriptor-5.f90: Remove xfail.
+       * gfortran.dg/c-interop/cf-out-descriptor-3.f90: Likewise.
+       * gfortran.dg/c-interop/cf-out-descriptor-4.f90: Likewise.
+       * gfortran.dg/c-interop/cf-out-descriptor-5.f90: Likewise.
+       * gfortran.dg/c-interop/contiguous-2.f90: Likewise.
+       * gfortran.dg/c-interop/contiguous-3.f90: Likewise.
+       * gfortran.dg/c-interop/deferred-character-1.f90: Likewise.
+       * gfortran.dg/c-interop/deferred-character-2.f90: Likewise.
+       * gfortran.dg/c-interop/fc-descriptor-3.f90: Likewise.
+       * gfortran.dg/c-interop/fc-descriptor-5.f90: Likewise.
+       * gfortran.dg/c-interop/fc-descriptor-6.f90: Likewise.
+       * gfortran.dg/c-interop/fc-out-descriptor-3.f90: Likewise.
+       * gfortran.dg/c-interop/fc-out-descriptor-4.f90: Likewise.
+       * gfortran.dg/c-interop/fc-out-descriptor-5.f90: Likewise.
+       * gfortran.dg/c-interop/fc-out-descriptor-6.f90: Likewise.
+       * gfortran.dg/c-interop/ff-descriptor-5.f90: Likewise.
+       * gfortran.dg/c-interop/ff-descriptor-6.f90: Likewise.
+       * gfortran.dg/c-interop/fc-descriptor-7.f90: Remove xfail + extend.
+       * gfortran.dg/c-interop/fc-descriptor-7-c.c: Update for changes.
+       * gfortran.dg/c-interop/shape.f90: Add implicit none.
+       * gfortran.dg/c-interop/typecodes-array-char-c.c: Add kind=4 char.
+       * gfortran.dg/c-interop/typecodes-array-char.f90: Likewise.
+       * gfortran.dg/c-interop/typecodes-array-float128.f90: Remove xfail.
+       * gfortran.dg/c-interop/typecodes-scalar-basic.f90: Likewise.
+       * gfortran.dg/c-interop/typecodes-scalar-float128.f90: Likewise.
+       * gfortran.dg/c-interop/typecodes-scalar-int128.f90: Likewise.
+       * gfortran.dg/c-interop/typecodes-scalar-longdouble.f90: Likewise.
+       * gfortran.dg/iso_c_binding_char_1.f90: Remove dg-error "sorry".
+       * gfortran.dg/pr93792.f90: Turn XFAIL into PASS.
+       * gfortran.dg/ISO_Fortran_binding_19.f90: New test.
+       * gfortran.dg/assumed_type_12.f90: New test.
+       * gfortran.dg/assumed_type_13.c: New test.
+       * gfortran.dg/assumed_type_13.f90: New test.
+       * gfortran.dg/bind-c-char-descr.f90: New test.
+       * gfortran.dg/bind-c-contiguous-1.c: New test.
+       * gfortran.dg/bind-c-contiguous-1.f90: New test.
+       * gfortran.dg/bind-c-contiguous-2.f90: New test.
+       * gfortran.dg/bind-c-contiguous-3.c: New test.
+       * gfortran.dg/bind-c-contiguous-3.f90: New test.
+       * gfortran.dg/bind-c-contiguous-4.c: New test.
+       * gfortran.dg/bind-c-contiguous-4.f90: New test.
+       * gfortran.dg/bind-c-contiguous-5.c: New test.
+       * gfortran.dg/bind-c-contiguous-5.f90: New test.
+
+2021-10-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102798
+       * gcc.dg/pr102798.c: New testcase.
+
+2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102745
+       * gfortran.dg/class_72.f90: New.
+
+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,
+       gcc.dg/format/c11-dfp-scanf-1.c, gcc.dg/format/c2x-dfp-printf-1.c,
+       gcc.dg/format/c2x-dfp-scanf-1.c: New tests.
+
+2021-10-14  Raphael Moreira Zinsly  <rzinsly@linux.ibm.com>
+
+       * gcc.target/powerpc/unwind-backchain.c: New test.
+
+2021-10-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102717
+       * gfortran.dg/reshape_shape_2.f90: New test.
+
+2021-10-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102716
+       * gfortran.dg/shape_10.f90: New test.
+
+2021-10-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102738
+       * gcc.dg/pr102738.c: New.
+
+2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gfortran.dg/gomp/declare-variant-1.f90: New test.
+       * gfortran.dg/gomp/declare-variant-10.f90: New test.
+       * gfortran.dg/gomp/declare-variant-11.f90: New test.
+       * gfortran.dg/gomp/declare-variant-12.f90: New test.
+       * gfortran.dg/gomp/declare-variant-13.f90: New test.
+       * gfortran.dg/gomp/declare-variant-14.f90: New test.
+       * gfortran.dg/gomp/declare-variant-15.f90: New test.
+       * gfortran.dg/gomp/declare-variant-16.f90: New test.
+       * gfortran.dg/gomp/declare-variant-17.f90: New test.
+       * gfortran.dg/gomp/declare-variant-18.f90: New test.
+       * gfortran.dg/gomp/declare-variant-19.f90: New test.
+       * gfortran.dg/gomp/declare-variant-2.f90: New test.
+       * gfortran.dg/gomp/declare-variant-2a.f90: New test.
+       * gfortran.dg/gomp/declare-variant-3.f90: New test.
+       * gfortran.dg/gomp/declare-variant-4.f90: New test.
+       * gfortran.dg/gomp/declare-variant-5.f90: New test.
+       * gfortran.dg/gomp/declare-variant-6.f90: New test.
+       * gfortran.dg/gomp/declare-variant-7.f90: New test.
+       * gfortran.dg/gomp/declare-variant-8.f90: New test.
+       * gfortran.dg/gomp/declare-variant-9.f90: New test.
+
+2021-10-14  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.target/mips/msa-insert-split.c: Turn off vectorizer.
+
+2021-10-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/sve/pred-cond-reduc.c: New test.
+
+2021-10-14  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.dg/tree-ssa/predcom-3.c: Disable vectorizer.
+
+2021-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102736
+       * gcc.dg/tree-ssa/pr102736.c: New test.
+
+2021-10-14  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add new mask3 builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Add scanning for
+       mask/mask3 intrinsic.
+       * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmaddcsh-1c.c: New test for
+       -mavx512vl.
+       * gcc.target/i386/avx512fp16-vfmaddcsh-1c.c: Ditto.
+
+2021-10-14  liuhongt  <hongtao.liu@intel.com>
+
+       * g++.dg/warn/Wuninitialized-13.C: Add -fno-tree-vectorize.
+
+2021-10-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102630
+       * gcc.target/i386/addr-space-2.c: Add -Wall.
+       * gcc.target/i386/addr-space-3.c: New test.
+
+2021-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/arm/mve/mve.exp: Make it test main directory.
+       * gcc.target/arm/mve/mve_load_memory_modes.c: New test.
+       * gcc.target/arm/mve/mve_store_memory_modes.c: New test.
+
+2021-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102659
+       * gcc.dg/torture/pr69760.c: Adjust the testcase.
+       * gcc.target/i386/avx2-vect-mask-store-move1.c: Expect to move
+       the conversions to unsigned as well.
+
+2021-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/102714
+       * gcc.dg/ipa/pr102714.c: New testcase.
+
+2021-10-13  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR testsuite/102658
+       * gcc.target/powerpc/dform-1.c: Adjust as vectorization enabled at O2.
+       * gcc.target/powerpc/dform-2.c: Likewise.
+       * gcc.target/powerpc/pr80510-2.c: Likewise.
+
+2021-10-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/format/c11-printf-1.c, gcc.dg/format/c11-scanf-1.c,
+       gcc.dg/format/c2x-printf-1.c, gcc.dg/format/c2x-scanf-1.c,
+       gcc.dg/format/ext-9.c, gcc.dg/format/ext-10.c: New tests.
+
+2021-10-12  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101985
+       * gcc.target/powerpc/pr101985-1.c: New.
+       * gcc.target/powerpc/pr101985-2.c: New.
+
+2021-10-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/85730
+       PR target/82524
+       * gcc.target/i386/pr85730.c: New test.
+
+2021-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102696
+       * g++.dg/vect/pr102696.cc: New testcase.
+
+2021-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102572
+       * g++.dg/vect/pr102572.cc: New testcase.
+
+2021-10-12  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/sve/pred-not-gen-1.c: New test.
+       * gcc.target/aarch64/sve/pred-not-gen-2.c: New test.
+       * gcc.target/aarch64/sve/pred-not-gen-3.c: New test.
+       * gcc.target/aarch64/sve/pred-not-gen-4.c: New test.
+
+2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102541
+       * gfortran.dg/assumed_rank_24.f90: New test.
+
+2021-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/gomp/simd-2.c: Remove option -fvect-cost-model=cheap.
+       * gcc.dg/gomp/simd-3.c: Likewise.
+
+2021-10-12  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102483.c: New test.
+       * gcc.target/i386/pr102483-2.c: New test.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/pr78102.c: Fix dg-require-effective-target.
+       * gcc.target/powerpc/sse4_1-packusdw.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmaxsb.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmaxsd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmaxud.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmaxuw.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pminsb.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pminsd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pminud.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pminuw.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovsxbd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovsxbw.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovsxwd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxbd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxbq.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxbw.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxdq.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxwd.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmovzxwq.c: Likewise.
+       * gcc.target/powerpc/sse4_1-pmulld.c: Likewise.
+       * gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise.
+       * gcc.target/powerpc/sse4_1-phminposuw.c: Use correct
+       dg-require-effective-target.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/pr78102.c: Copy from gcc.target/i386,
+       adjust dg directives to suit.
+       * gcc.target/powerpc/sse4_1-packusdw.c: Same.
+       * gcc.target/powerpc/sse4_1-pcmpeqq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmuldq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmulld.c: Same.
+       * gcc.target/powerpc/sse4_2-pcmpgtq.c: Same.
+       * gcc.target/powerpc/sse4_2-check.h: Copy from gcc.target/i386,
+       tweak to suit.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-pmovsxbd.c: Copy from gcc.target/i386,
+       adjust dg directives to suit.
+       * gcc.target/powerpc/sse4_1-pmovsxbq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovsxbw.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovsxdq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovsxwd.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovsxwq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxbd.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxbq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxbw.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxdq.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxwd.c: Same.
+       * gcc.target/powerpc/sse4_1-pmovzxwq.c: Same.
+
+2021-10-12  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-pmaxsb.c: Copy from gcc.target/i386.
+       * gcc.target/powerpc/sse4_1-pmaxsd.c: Same.
+       * gcc.target/powerpc/sse4_1-pmaxud.c: Same.
+       * gcc.target/powerpc/sse4_1-pmaxuw.c: Same.
+       * gcc.target/powerpc/sse4_1-pminsb.c: Same.
+       * gcc.target/powerpc/sse4_1-pminsd.c: Same.
+       * gcc.target/powerpc/sse4_1-pminud.c: Same.
+       * gcc.target/powerpc/sse4_1-pminuw.c: Same.
+
+2021-10-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/torture/ssa-pta-fn-1.c: Fix template; add noipa.
+       * gcc.dg/tree-ssa/pta-callused.c: Fix template.
+
+2021-10-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102643
+       * g++.dg/cpp2a/class-deduction-alias11.C: New test.
+
+2021-10-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101480
+       * g++.dg/torture/pr10148.C: New testcase.
+
+2021-10-11  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.target/s390/rawmemchr-1.c: New test.
+
+2021-10-11  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: New test.
+       * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: New test.
+       * gcc.dg/tree-ssa/ldist-strlen-1.c: New test.
+       * gcc.dg/tree-ssa/ldist-strlen-2.c: New test.
+       * gcc.dg/tree-ssa/ldist-strlen-3.c: New test.
+
+2021-10-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/100316
+       * gcc.c-torture/compile/pr100316.c: New.
+
+2021-10-11  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/102669
+       * gnat.dg/unroll1.adb: Add -fno-tree-vectorize.
+
+2021-10-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99348
+       PR fortran/102521
+       * gfortran.dg/parameter_array_init_8.f90: New test.
+
+2021-10-10  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/102622
+       * gcc.c-torture/execute/bitfld-10.c: New test.
+
+2021-10-09  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/65454
+       * gfortran.dg/interface_operator_3.f90: New test.
+
+2021-10-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * c-c++-common/Wstringop-overflow-2.c: Add missing comment.
+       * gcc.dg/Warray-bounds-51.c: Likewise.
+       * gcc.dg/Warray-parameter-3.c: Likewise.
+       * gcc.dg/Wstringop-overflow-14.c: Likewise.
+       * gcc.dg/Wstringop-overflow-21.c: Likewise.
+       * gcc.dg/Wstringop-overflow-76.c: Likewise.
+
+2021-10-09  liuhongt  <hongtao.liu@intel.com>
+
+       * g++.dg/tree-ssa/pr94403.C: Add -fno-tree-vectorize
+       * gcc.dg/optimize-bswapsi-5.c: Ditto.
+       * gcc.dg/optimize-bswapsi-6.c: Ditto.
+       * gcc.dg/Warray-bounds-51.c: Add additional option
+       -mtune=generic for target x86/i?86
+       * gcc.dg/Wstringop-overflow-14.c: Ditto.
+
+2021-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/sections1.c (foo): Don't expect errors on
+       multiple statements in between section directive(s).  Add testcases
+       for invalid no statements in between section directive(s).
+       * gcc.dg/gomp/sections-2.c (foo): Don't expect errors on
+       multiple statements in between section directive(s).
+       * g++.dg/gomp/sections-2.C (foo): Likewise.
+       * g++.dg/gomp/attrs-6.C (foo): Add testcases for multiple
+       statements in between section directive(s).
+       (bar): Add testcases for multiple statements in between scan
+       directive.
+       * g++.dg/gomp/attrs-7.C (bar): Adjust expected error recovery.
+
+2021-10-09  liuhongt  <hongtao.liu@intel.com>
+
+       * g++.target/i386/pr102639.C: New test.
+
+2021-10-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/54753
+       * gfortran.dg/c-interop/c535c-1.f90: Rewrite and expand.
+       * gfortran.dg/c-interop/c535c-2.f90: Remove xfails.
+       * gfortran.dg/c-interop/c535c-3.f90: Likewise.
+       * gfortran.dg/c-interop/c535c-4.f90: Likewise.
+       * gfortran.dg/PR94110.f90: Extend to cover class types.
+
+2021-10-08  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/102627
+       * gcc.target/i386/pr102627.c: New test.
+
+2021-10-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/pr102385.c: New test.
+
+2021-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102640
+       * c-c++-common/gomp/pr102640.c: New test.
+
+2021-10-08  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/sse2-mmx-paddsb-2.c: Test for -128 or 128.
+       * gcc.target/i386/sse2-mmx-paddusb-2.c: Test for -1 or 255.
+       * gcc.target/i386/sse2-mmx-psubsb-2.c: Test for -128 or 128.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102464.c: New test.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/mmx-reduce-op-1.c: New test.
+       * gcc.target/i386/mmx-reduce-op-2.c: New test.
+
+2021-10-08  liuhongt  <hongtao.liu@intel.com>
+
+       * c-c++-common/Wstringop-overflow-2.c: Adjust testcase.
+       * g++.dg/tree-ssa/pr81408.C: Ditto.
+       * g++.dg/warn/Wuninitialized-13.C: Ditto.
+       * gcc.dg/Warray-bounds-51.c: Ditto.
+       * gcc.dg/Warray-parameter-3.c: Ditto.
+       * gcc.dg/Wstringop-overflow-14.c: Ditto.
+       * gcc.dg/Wstringop-overflow-21.c: Ditto.
+       * gcc.dg/Wstringop-overflow-68.c: Ditto.
+       * gcc.dg/Wstringop-overflow-76.c: Ditto.
+       * gcc.dg/gomp/pr46032-2.c: Ditto.
+       * gcc.dg/gomp/pr46032-3.c: Ditto.
+       * gcc.dg/gomp/simd-2.c: Ditto.
+       * gcc.dg/gomp/simd-3.c: Ditto.
+       * gcc.dg/graphite/fuse-1.c: Ditto.
+       * gcc.dg/pr67089-6.c: Ditto.
+       * gcc.dg/pr82929-2.c: Ditto.
+       * gcc.dg/pr82929.c: Ditto.
+       * gcc.dg/store_merging_1.c: Ditto.
+       * gcc.dg/store_merging_11.c: Ditto.
+       * gcc.dg/store_merging_13.c: Ditto.
+       * gcc.dg/store_merging_15.c: Ditto.
+       * gcc.dg/store_merging_16.c: Ditto.
+       * gcc.dg/store_merging_19.c: Ditto.
+       * gcc.dg/store_merging_24.c: Ditto.
+       * gcc.dg/store_merging_25.c: Ditto.
+       * gcc.dg/store_merging_28.c: Ditto.
+       * gcc.dg/store_merging_30.c: Ditto.
+       * gcc.dg/store_merging_5.c: Ditto.
+       * gcc.dg/store_merging_7.c: Ditto.
+       * gcc.dg/store_merging_8.c: Ditto.
+       * gcc.dg/strlenopt-85.c: Ditto.
+       * gcc.dg/tree-ssa/dump-6.c: Ditto.
+       * gcc.dg/tree-ssa/pr19210-1.c: Ditto.
+       * gcc.dg/tree-ssa/pr47059.c: Ditto.
+       * gcc.dg/tree-ssa/pr86017.c: Ditto.
+       * gcc.dg/tree-ssa/pr91482.c: Ditto.
+       * gcc.dg/tree-ssa/predcom-1.c: Ditto.
+       * gcc.dg/tree-ssa/predcom-dse-3.c: Ditto.
+       * gcc.dg/tree-ssa/prefetch-3.c: Ditto.
+       * gcc.dg/tree-ssa/prefetch-6.c: Ditto.
+       * gcc.dg/tree-ssa/prefetch-8.c: Ditto.
+       * gcc.dg/tree-ssa/prefetch-9.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-dse-18.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-dse-19.c: Ditto.
+       * gcc.dg/uninit-40.c: Ditto.
+       * gcc.dg/unroll-7.c: Ditto.
+       * gcc.misc-tests/help.exp: Ditto.
+       * gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c: Ditto.
+       * gcc.target/i386/pr34012.c: Ditto.
+       * gcc.target/i386/pr49781-1.c: Ditto.
+       * gcc.target/i386/pr95798-1.c: Ditto.
+       * gcc.target/i386/pr95798-2.c: Ditto.
+       * gfortran.dg/pr77498.f: Ditto.
+
+2021-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/61355
+       * g++.old-deja/g++.pt/nontype5.C: Adjust.
+       * g++.dg/template/param6.C: New test.
+
+2021-10-07  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/sse2-mmx-paddsb-2.c: New test case.
+       * gcc.target/i386/sse2-mmx-paddusb-2.c: New test case.
+       * gcc.target/i386/sse2-mmx-psubsb-2.c: New test case.
+       * gcc.target/i386/sse2-mmx-psubusb-2.c: New test case.
+
+2021-10-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99904
+       * g++.dg/cpp2a/concepts-ttp4.C: New test.
+
+2021-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/102482
+       * g++.dg/warn/Winit-list5.C: New test.
+
+2021-10-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/torture/pr102581.C: New test.
+
+2021-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102615
+       * g++.dg/cpp23/charlit-encoding1.C: New testcase for C++23 P2316R2.
+
+2021-10-07  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/gimplefe-47.c: New testcase.
+
+2021-10-06  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/spaceship-synth8a.C: New test.
+
+2021-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102612
+       * g++.dg/cpp23/feat-cxx2b.C: Expect __cpp_constexpr 202110L rather
+       than 201907L.
+       * g++.dg/cpp23/constexpr-nonlit1.C: New test.
+       * g++.dg/cpp23/constexpr-nonlit2.C: New test.
+       * g++.dg/cpp23/constexpr-nonlit3.C: New test.
+       * g++.dg/cpp23/constexpr-nonlit4.C: New test.
+       * g++.dg/cpp23/constexpr-nonlit5.C: New test.
+       * g++.dg/cpp23/constexpr-nonlit6.C: New test.
+       * g++.dg/diagnostic/constexpr1.C: Only expect some diagnostics for
+       c++20_down.
+       * g++.dg/cpp1y/constexpr-label.C: Likewise.
+       * g++.dg/cpp1y/constexpr-neg1.C: Likewise.
+       * g++.dg/cpp2a/constexpr-try5.C: Likewise.  Adjust some expected
+       wording.
+       * g++.dg/cpp2a/constexpr-dtor3.C: Likewise.
+       * g++.dg/cpp2a/consteval3.C: Likewise.  Add effective target c++20
+       and remove dg-options.
+
+2021-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/cpp/gnu11-elifdef-1.c: New test.
+       * gcc.dg/cpp/gnu11-elifdef-2.c: New test.
+       * gcc.dg/cpp/gnu11-elifdef-3.c: New test.
+       * gcc.dg/cpp/gnu11-elifdef-4.c: New test.
+       * g++.dg/cpp/elifdef-1.C: New test.
+       * g++.dg/cpp/elifdef-2.C: New test.
+       * g++.dg/cpp/elifdef-3.C: New test.
+       * g++.dg/cpp/elifdef-4.C: New test.
+       * g++.dg/cpp/elifdef-5.C: New test.
+       * g++.dg/cpp/elifdef-6.C: New test.
+       * g++.dg/cpp/elifdef-7.C: New test.
+
+2021-10-06  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/attr_deprecated-2.f90: New test.
+
+2021-10-06  Jakub Jelinek  <jakub@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/98712
+       PR c++/102490
+       * g++.dg/cpp2a/spaceship-synth8.C (std::strong_ordering): Provide
+       more complete definition.
+       (std::strong_ordering::less, std::strong_ordering::equal,
+       std::strong_ordering::greater): Define.
+       * g++.dg/cpp2a/spaceship-synth12.C: New test.
+       * g++.dg/cpp2a/spaceship-synth13.C: New test.
+       * g++.dg/cpp2a/spaceship-synth14.C: New test.
+       * g++.dg/cpp2a/spaceship-eq11.C: New test.
+       * g++.dg/cpp2a/spaceship-eq12.C: New test.
+       * g++.dg/cpp2a/spaceship-eq13.C: New test.
+
+2021-10-05  qing zhao  <qing.zhao@oracle.com>
+
+       PR middle-end/102359
+       * g++.dg/pr102359_1.C: New test.
+       * g++.dg/pr102359_2.C: New test.
+
+2021-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102548
+       * g++.target/i386/pr102548.C: New test.
+
+2021-10-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102547
+       * g++.dg/cpp0x/variadic-partial2.C: New test.
+       * g++.dg/cpp0x/variadic-partial2a.C: New test.
+
+2021-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/ssa-thread-valid.c: New test.
+
+2021-10-05  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.target/s390/pr80725.c: Ensure computed goto is used on
+       a pointer type.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       PR c/102605
+       * gcc.dg/gimplefe-46.c: New testcase.
+
+2021-10-05  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98930
+       * g++.dg/cpp1z/nontype4.C: New test.
+       * g++.dg/cpp1z/nontype4a.C: New test.
+
+2021-10-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr43711.f90: Add dg-error + dg-prune-output,
+       remove dg-excess-errors to change XFAIL to PASS.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102587
+       PR middle-end/102285
+       * gcc.target/aarch64/sve/pr102587-1.c: Add -march=armv8.3-a+sve.
+       * gcc.target/aarch64/sve/pr102587-2.c: Likewise.
+
+2021-10-05  Richard Biener  <rguenther@suse.de>
+
+       * gfortran.dg/predict-2.f90: Adjust to avoid redundant
+       inner loop preheader checking code.
+
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * c-c++-common/Warray-compare-1.c: New test.
+       * c-c++-common/Warray-compare-2.c: New test.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/auto-init-hardreg-1.c: New testcase.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * c-c++-common/pr102285.c: New testcase.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102570
+       * gcc.dg/tree-ssa/ssa-fre-96.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-pre-33.c: Likewise.
+
+2021-10-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/Walloca2.C: New test.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102587
+       * gcc.target/aarch64/sve/pr102587-1.c: New testcase.
+       * gcc.target/aarch64/sve/pr102587-2.c: Likewise.
+
+2021-10-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/54753
+       * gfortran.dg/assumed_rank_23.f90: New file.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/101765
+       * g++.dg/coroutines/pr101765.C: New test.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99710
+       * g++.dg/coroutines/pr99710.C: New test.
+
+2021-10-03  John Eivind Helset  <jehelset@gmail.com>
+
+       PR c++/100673
+       * g++.dg/coroutines/pr100673.C: New test.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/101133
+       * g++.dg/coroutines/pr101133.C: New test.
+
+2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99575
+       * g++.dg/coroutines/pr99575.C: New test.
+
+2021-10-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/pr102563.c: New test.
+
+2021-10-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c (DECLARE_ARGS):
+       Use unsigned long long for x86-64.
+
+2021-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102546
+       * gcc.dg/tree-ssa/pr102546.c: New file.
+
+2021-10-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c/102103
+       * g++.dg/cpp0x/constexpr-array-ptr10.C: Suppress a valid warning.
+       * g++.dg/warn/Wreturn-local-addr-6.C: Correct a cast.
+       * gcc.dg/Waddress.c: Expect a warning.
+       * c-c++-common/Waddress-3.c: New test.
+       * c-c++-common/Waddress-4.c: New test.
+       * g++.dg/warn/Waddress-5.C: New test.
+       * g++.dg/warn/Waddress-6.C: New test.
+       * g++.dg/warn/pr101219.C: Expect a warning.
+       * gcc.dg/Waddress-3.c: New test.
+
+2021-10-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       * c-c++-common/tsan/atomic_stack.c: Don't expect print out from
+       __tsan_atomic32_fetch_add.
+
+2021-10-01  qingzhe huang  <nickhuang99@hotmail.com>
+
+       PR c++/101783
+       * g++.dg/parse/pr101783.C: New test.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR sanitizer/102515
+       * c-c++-common/ubsan/div-by-zero-3.c: Use
+       -fsanitize=signed-integer-overflow instead of
+       -fsanitize=integer-divide-by-zero.
+       * c-c++-common/ubsan/div-by-zero-5.c: Likewise.
+       * c-c++-common/ubsan/div-by-zero-4.c: Likewise.  Add
+       -fsanitize-undefined-trap-on-error.
+       * c-c++-common/ubsan/float-div-by-zero-2.c: New test.
+       * c-c++-common/ubsan/overflow-div-1.c: New test.
+       * c-c++-common/ubsan/overflow-div-2.c: New test.
+       * c-c++-common/ubsan/overflow-div-3.c: New test.
+
+2021-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/cpymem-size.c: Adjust scan for ilp32.
+
+2021-10-01  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/vect/bb-slp-pr97709.c: Fix for computed goto
+       pointers.
+
+2021-10-01  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Disable fast math.
+       * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise.
+       * gcc.target/i386/attr-optimize.c: New test.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.dg/gomp/order-5.f90: Adjust scan-tree-dump-times regexps.
+
+2021-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102496
+       * g++.dg/tls/pr102496-1.C: New test.
+       * g++.dg/tls/pr102496-2.C: New test.
+
+2021-10-01  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102518
+       * gcc.dg/torture/pr102518.c: New testcase.
+
+2021-09-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/c-interop/cf-descriptor-5-c.c: Include alloca.h.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102535
+       * g++.dg/ext/is_trivially_constructible7.C: New test.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/ext/is_constructible6.C: New test.
+
+2021-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95567
+       * g++.dg/cpp2a/spaceship-virtual1.C: New test.
+
+2021-09-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102458
+       * gfortran.dg/pr102458b.f90: New test.
+
+2021-09-30  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89954
+       * gcc.target/i386/pr89954.c: New test.
+
+2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/71703
+       PR fortran/84007
+       * gfortran.dg/c-interop/c535b-1.f90: Remove wrong comment.
+       * gfortran.dg/unlimited_polymorphic_1.f03: Extend.
+       * gfortran.dg/unlimited_polymorphic_32.f90: New test.
+
+2021-09-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102476
+       * gdc.dg/pr102476.d: New test.
+
+2021-09-30  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/102509
+       * gcc.c-torture/compile/attr-complex-method.c: Skip if LTO is
+         used.
+       * gcc.c-torture/compile/attr-complex-method-2.c: Likewise.
+
+2021-09-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR testsuite/102501
+       * gcc.dg/tree-ssa/pr66752-3.c: Adjust.
+       * gcc.dg/tree-ssa/pr77445-2.c: Adjust.
+
+2021-09-29  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102520
+       * gfortran.dg/pr102520.f90: New test.
+
+2021-09-29  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gcc.c-torture/compile/920831-1.c: Fix computed goto types.
+       * gcc.c-torture/compile/pr27863.c: Likewise.
+
+2021-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/102517
+       * gcc.dg/pr78408-1.c: Make S not power-of-two size.
+
+2021-09-29  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-alignment-peeling-1.c: New testcase.
+       * gcc.target/i386/vect-alignment-peeling-2.c: Likewise.
+
+2021-09-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+           Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/cpymem-size.c: New test.
+
+2021-09-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+           Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/memset-corner-cases-2.c: New test.
+       * gcc.target/aarch64/memset-strict-align-1.c: Adjust.
+
+2021-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102504
+       * c-c++-common/gomp/scope-4.c: New test.
+
+2021-09-29  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.c-torture/compile/920826-1.c: Fix computed goto.
+       * gcc.c-torture/compile/pr27863.c: Likewise.
+       * gcc.c-torture/compile/pr70190.c: Likewise.
+       * gcc.dg/torture/pr89135.c: Likewise.
+       * gcc.dg/torture/pr90071.c: Likewise.
+       * gcc.dg/vect/bb-slp-pr97709.c: Likewise.
+
+2021-09-29  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/out-of-bounds-1.c: Make memcpied size not power-of-two.
+
+2021-09-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99909
+       * g++.dg/cpp2a/concepts-ttp3.C: New test.
+
+2021-09-28  Andrew Pinski  <apinski@marvell.com>
+
+       PR c/32122
+       * gcc.dg/comp-goto-5.c: New test.
+       * gcc.dg/comp-goto-6.c: New test.
+
+2021-09-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/102454
+       * g++.dg/coroutines/pr102454.C: New test.
+
+2021-09-28  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/reassoc-46.c: New test.
+       * gcc.dg/tree-ssa/reassoc-46.h: Common code for new tests.
+       * gcc.dg/tree-ssa/reassoc-47.c: New test.
+       * gcc.dg/tree-ssa/reassoc-48.c: New test.
+       * gcc.dg/tree-ssa/reassoc-49.c: New test.
+       * gcc.dg/tree-ssa/reassoc-50.c: New test.
+       * gcc.dg/tree-ssa/reassoc-51.c: New test.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/auto-init-uninit-1.c: Adjust.
+       * gcc.dg/auto-init-uninit-15.c: Same.
+       * gcc.dg/guality/example.c: Same.
+       * gcc.dg/loop-8.c: Same.
+       * gcc.dg/strlenopt-40.c: Same.
+       * gcc.dg/tree-ssa/pr18133-2.c: Same.
+       * gcc.dg/tree-ssa/pr18134.c: Same.
+       * gcc.dg/uninit-1.c: Same.
+       * gcc.dg/uninit-pr44547.c: Same.
+       * gcc.dg/uninit-pr59970.c: Same.
+
+2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/assumed_rank_22_aux.c: Adjust messages printed.
+
+2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102498
+       * gcc.target/i386/pr102498.c: New test.
+
+2021-09-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99793
+       * gcc.dg/tree-ssa/pr99793.c: New testcase.
+
+2021-09-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100112
+       * gcc.dg/tree-ssa/ssa-fre-95.c: New testcase.
+
+2021-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102492
+       * g++.dg/gomp/simd-3.C: New test.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/102511
+       * gcc.dg/pr102511.c: New test.
+       * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Adjust.
+
+2021-09-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/102230
+       * gcc.target/i386/avx512fp16-floatvnhf.c: Remove xfail.
+       * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: Ditto.
+       * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto.
+       * gcc.target/i386/avx512fp16-64-32-vecop-1.c: New test.
+       * gcc.target/i386/avx512fp16-64-32-vecop-2.c: Ditto.
+       * gcc.target/i386/pr102230.c: Ditto.
+
+2021-09-28  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-pr97352.c: Pass -mno-avx2 -mno-avx512f.
+
+2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102500
+       * gfortran.dg/include_15.f90: Add 'dg-prune-output' to prune
+       -Wmissing-include-dirs output printed or not depending on
+       how the testsuite is run.
+
+2021-09-28  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-pr65935.c: Prefer 128bit vectorization
+       on x86.
+
+2021-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/auto-init-uninit-1.c: Add -fthread-jumps.
+       * gcc.dg/auto-init-uninit-15.c: Same.
+       * gcc.dg/guality/example.c: Same.
+       * gcc.dg/loop-8.c: Same.
+       * gcc.dg/strlenopt-40.c: Same.
+       * gcc.dg/tree-ssa/pr18133-2.c: Same.
+       * gcc.dg/tree-ssa/pr18134.c: Same.
+       * gcc.dg/uninit-1.c: Same.
+       * gcc.dg/uninit-pr44547.c: Same.
+       * gcc.dg/uninit-pr59970.c: Same.
+
+2021-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/vect-rebuild.c: Adjust testcases.
+       * gcc.target/i386/avx512f-vect-rebuild.c: New test.
+
+2021-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-reduce-op-2.c: New test.
+       * gcc.target/i386/avx512fp16-reduce-op-3.c: New test.
+
+2021-09-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102479
+       * g++.dg/cpp1z/class-deduction12.C: Also test alias CTAD in the
+       same way.
+       * g++.dg/cpp1z/class-deduction99.C: New test.
+
+2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/torture/pr55107.c: Adjust.
+       * gcc.dg/tree-ssa/phi_on_compare-1.c: Adjust.
+       * gcc.dg/tree-ssa/phi_on_compare-2.c: Adjust.
+       * gcc.dg/tree-ssa/phi_on_compare-3.c: Adjust.
+       * gcc.dg/tree-ssa/phi_on_compare-4.c: Adjust.
+       * gcc.dg/tree-ssa/pr21559.c: Adjust.
+       * gcc.dg/tree-ssa/pr59597.c: Adjust.
+       * gcc.dg/tree-ssa/pr61839_1.c: Adjust.
+       * gcc.dg/tree-ssa/pr61839_3.c: Adjust.
+       * gcc.dg/tree-ssa/pr71437.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-16.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-thread-14.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Adjust.
+       * gcc.dg/tree-ssa/vrp106.c: Adjust.
+       * gcc.dg/tree-ssa/vrp55.c: Adjust.
+
+2021-09-27  Martin Liska  <mliska@suse.cz>
+
+       * gcc.c-torture/compile/attr-complex-method-2.c: New test.
+       * gcc.c-torture/compile/attr-complex-method.c: New test.
+
+2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94070
+       * gfortran.dg/c-interop/cf-out-descriptor-6.f90: Remove xfail.
+       * gfortran.dg/c-interop/size.f90: Remove xfail.
+       * gfortran.dg/intrinsic_size_3.f90: Update scan-tree-dump-times.
+       * gfortran.dg/transpose_optimization_2.f90: Likewise.
+       * gfortran.dg/size_optional_dim_1.f90: Add scan-tree-dump-not.
+       * gfortran.dg/assumed_rank_22.f90: New test.
+       * gfortran.dg/assumed_rank_22_aux.c: New test.
+
+2021-09-27  Andrew Pinski  <apinski@marvell.com>
+
+       PR c/94726
+       * gcc.dg/pr94726.c: New test.
+
+2021-09-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97351
+       PR tree-optimization/97352
+       PR tree-optimization/82426
+       * gcc.target/i386/vect-pr82426.c: New testcase.
+       * gcc.target/i386/vect-pr97352.c: Likewise.
+
+2021-09-27  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-09-27  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101059
+       * gcc.target/i386/sse2-pr101059.c: New test.
+       * gcc.target/i386/sse3-pr101059.c: New test.
+
+2021-09-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/101334
+       * gfortran.dg/associated_assumed_rank.f90: New test.
+
+2021-09-25  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * gcc.target/pru/regio-as-pointer.c: New negative test.
+       * gcc.target/pru/regio-as-pointer-2.c: New negative test.
+       * gcc.target/pru/regio-decl-2.c: New negative test.
+       * gcc.target/pru/regio-decl-3.c: New negative test.
+       * gcc.target/pru/regio-decl-4.c: New negative test.
+       * gcc.target/pru/regio-decl.c: New negative test.
+       * gcc.target/pru/regio-di.c: New negative test.
+       * gcc.target/pru/regio-hi.c: New negative test.
+       * gcc.target/pru/regio-qi.c: New negative test.
+       * gcc.target/pru/regio.c: New test.
+       * gcc.target/pru/regio.h: New helper header.
+
+2021-09-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102458
+       * gfortran.dg/pr102458.f90: New test.
+
+2021-09-24  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101333
+       * gfortran.dg/c-interop/c407c-1.f90: Remove xfails.
+
+2021-09-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98216
+       PR c++/91292
+       * g++.dg/cpp2a/nontype-float2.C: New test.
+
+2021-09-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * gfortran.dg/include_9.f90: Add dg-prune-output.
+       * gfortran.dg/include_23.f90: New test.
+       * gfortran.dg/include_24.f90: New test.
+
+2021-09-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/20030714-2.c: Adjust.
+       * gcc.dg/tree-ssa/pr66752-3.c: Adjust.
+       * gcc.dg/tree-ssa/pr77445-2.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
+       * gcc.dg/vect/bb-slp-16.c: Adjust.
+
+2021-09-24  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/cond_op_addsubmuldiv__Float16-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmuldiv__Float16-2.c: Ditto.
+       * gcc.target/i386/cond_op_fma__Float16-1.c: Ditto.
+       * gcc.target/i386/cond_op_fma__Float16-2.c: Ditto.
+       * gcc.target/i386/cond_op_maxmin__Float16-1.c: Ditto.
+       * gcc.target/i386/cond_op_maxmin__Float16-2.c: Ditto.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101320
+       * gfortran.dg/c-interop/c516.f90: Remove xfails.  Add more
+       tests.
+
+2021-09-23  Michel Morin  <mimomorin@gmail.com>
+
+       PR c++/77565
+       * g++.dg/spellcheck-pr77565.C: New test.
+
+2021-09-23  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr102463.c: New.
+
+2021-09-23  Harald Anlauf  <anlauf@gmx.de>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93834
+       * gfortran.dg/coarray/coarray_allocated.f90: New test.
+
+2021-09-23  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/102024
+       * g++.target/powerpc/pr102024.C: New.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * g++.target/i386/avx512fp16-vcondmn-vec.C: New test.
+       * g++.target/i386/avx512fp16-vcondmn-minmax.C: Ditto.
+       * gcc.target/i386/avx512fp16-vcondmn-loop-1.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcondmn-loop-2.c: Ditto.
+       * gcc.target/i386/avx512fp16-vec_cmpmn.c: Ditto.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: New test.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-floatvnhf.c: New test.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-trunchf.c: New test.
+       * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto.
+
+2021-09-23  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx512fp16-builtin-minmax-1.c: New test.
+
+2021-09-23  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-fma-1.c: New test.
+       * gcc.target/i386/avx512fp16vl-fma-1.c: New test.
+       * gcc.target/i386/avx512fp16vl-fma-vectorize-1.c: New test.
+
+2021-09-23  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-builtin-round-1.c: Add new testcase.
+
+2021-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102413
+       * g++.dg/gomp/attrs-14.C: New test.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101319
+       * gfortran.dg/c-interop/assumed-type-dummy.f90: Remove xfail.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR fortran/101334
+       * gfortran.dg/c-interop/c535b-2.f90: Remove xfails.
+       * gfortran.dg/c-interop/c535b-3.f90: Likewise.
+
+2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.dg/assumed_rank_18.f90 (g): Wrap call to h in
+       select rank.
+       * gfortran.dg/assumed_type_10.f90 (test_array): Likewise for
+       call to test_lib.
+       * gfortran.dg/assumed_type_11.f90 (test_array): Likewise.
+
+2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * gfortran.dg/include_14.f90: Add -J testcase and update dg-output.
+       * gfortran.dg/include_15.f90: Likewise.
+       * gfortran.dg/include_16.f90: Likewise.
+       * gfortran.dg/include_17.f90: Likewise.
+       * gfortran.dg/include_18.f90: Likewise.
+       * gfortran.dg/include_19.f90: Likewise.
+
+2021-09-22  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/fold-negate-1.c: New test case.
+
+2021-09-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/auto-init-2.c: Replace ia32 with { ! lp64 }.
+       * gcc.target/i386/auto-init-3.c (dg-options): Add -msse.
+       (dg-additional-options): Add -mfpmath=387 for ia32.
+       Replace lp64 with { ! ia32 }. Add a space after ia32.
+       * gcc.target/i386/auto-init-4.c: Replace lp64 with { ! ia32 }.
+       * gcc.target/i386/auto-init-5.c: Likewise.
+       * gcc.target/i386/auto-init-padding-3.c: Likewise.
+       * gcc.target/i386/auto-init-padding-7.c: Likewise.
+       * gcc.target/i386/auto-init-padding-8.c: Likewise.
+       * gcc.target/i386/auto-init-padding-9.c: Likewise.
+
+2021-09-22  Patrick Palka  <ppalka@redhat.com>
+
+       DR 2446
+       PR c++/102412
+       * g++.dg/cpp2a/concepts-nondep2.C: New test.
+       * g++.dg/cpp2a/concepts-nondep3.C: New test.
+
+2021-09-22  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR tree-optimization/102087
+       * gcc.dg/pr102087.c: New test.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx512fp16-14.c: New test.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx512fp16-conjugation-1.c: New test.
+       * gcc.target/i386/avx512fp16vl-conjugation-1.c: New test.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx512fp16-reduce-op-1.c: New test.
+       * gcc.target/i386/avx512fp16vl-reduce-op-1.c: Ditto.
+
+2021-09-22  dianhong xu  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx512fp16-13.c: New test.
+
+2021-09-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/pr102222.c: New test.
+
+2021-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102415
+       * c-c++-common/gomp/scope-3.c: New test.
+
+2021-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/allocate-6.c: New test.
+       * c-c++-common/gomp/allocate-7.c: New test.
+       * g++.dg/gomp/allocate-4.C: New test.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512vl-pr95046.c: New test.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512f.c: Refine testcase.
+       * gcc.target/i386/pr92658-avx512vl.c: Adjust scan-assembler,
+       only v2di->v2qi truncate is not supported, v4di->v4qi should
+       be supported.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-builtin-fpcompare-1.c: New test.
+       * gcc.target/i386/avx512fp16-builtin-fpcompare-2.c: New test.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-builtin-round-1.c: New test.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-builtin-sqrt-1.c: New test.
+       * gcc.target/i386/avx512fp16vl-builtin-sqrt-1.c: New test.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfcmaddcsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmulcsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmulcsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmaddcsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmulcsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmulcsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-complex-constraints.c: Ditto.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h
+       (init_src): Adjust init value.
+       (NET_CMASK): New net mask for complex input.
+       * gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfcmaddcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmulcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfcmulcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmaddcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmulcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmulcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfcmaddcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfcmulcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfcmulcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddcph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmulcph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmulcph-1b.c: Ditto.
+
+2021-09-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-22  Barrett Adair  <barrettellisadair@gmail.com>
+
+       * g++.dg/cpp0x/constexpr-52830.C: Remove unwanted dg-ice.
+       * g++.dg/template/canon-type-15.C: New test.
+       * g++.dg/template/canon-type-16.C: New test.
+       * g++.dg/template/canon-type-17.C: New test.
+       * g++.dg/template/canon-type-18.C: New test.
+       * g++.dg/template/dependent-name15.C: New regression test.
+       * g++.dg/template/dependent-name16.C: New regression test.
+
+2021-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102421
+       * g++.dg/vect/pr102421.cc: New testcase.
+
+2021-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lib/target-supports.exp (no_fsanitize_address): Add missing bits.
+       * gcc.dg/uninit-pr93100.c: Skip if no_fsanitize_address.
+       * gcc.dg/pr91441.c: Likewise.
+       * gcc.dg/pr96260.c: Likewise.
+       * gcc.dg/pr96307.c: Likewise.
+       * g++.dg/warn/uninit-pr93100.C: Likewise.
+       * gnat.dg/asan1.adb: Likewise.
+       * gcc.dg/Wstringop-overflow-70.c: Adjust for SPARC.
+       * g++.dg/abi/anon4.C: Likewise.
+
+2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/include_6.f90: Change dg-error to
+       dg-warning and update pattern.
+       * gfortran.dg/include_14.f90: New test.
+       * gfortran.dg/include_15.f90: New test.
+       * gfortran.dg/include_16.f90: New test.
+       * gfortran.dg/include_17.f90: New test.
+       * gfortran.dg/include_18.f90: New test.
+       * gfortran.dg/include_19.f90: New test.
+       * gfortran.dg/include_20.f90: New test.
+       * gfortran.dg/include_21.f90: New test.
+
+2021-09-21  wangpc  <pc.wang@linux.alibaba.com>
+
+       * g++.target/aarch64/sve/static-var-in-template.C: New test.
+
+2021-09-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/evrp-ignore.c: New.
+
+2021-09-20  Matthias Kretz  <m.kretz@gsi.de>
+
+       * gcc.dg/associative-math-1.c: New test.
+       * gcc.dg/associative-math-2.c: New test.
+       * gcc.dg/no-signed-zeros-1.c: New test.
+       * gcc.dg/no-signed-zeros-2.c: New test.
+       * gcc.dg/no-trapping-math-1.c: New test.
+       * gcc.dg/no-trapping-math-2.c: New test.
+       * gcc.dg/reciprocal-math-1.c: New test.
+       * gcc.dg/reciprocal-math-2.c: New test.
+       * gcc.dg/rounding-math-1.c: New test.
+       * gcc.dg/rounding-math-2.c: New test.
+
+2021-09-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/order-5.f90: New test.
+       * gfortran.dg/gomp/order-6.f90: New test.
+       * gfortran.dg/gomp/order-7.f90: New test.
+       * gfortran.dg/gomp/order-8.f90: New test.
+       * gfortran.dg/gomp/order-9.f90: New test.
+
+2021-09-20  Christophe Lyon  <christophe.lyon@foss.st.com>
+           Torbjörn SVENSSON  <torbjorn.svensson@st.com>
+
+       * lib/prune.exp (prune_gcc_output): Remove .exe suffix from
+       toolchain executables names.
+
+2021-09-20  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Adjust
+       expected error diagnostics.
+
+2021-09-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/65206
+       * gcc.dg/torture/20210916.c: New testcase.
+       * gcc.dg/vect/pr65206.c: Likewise.
+
+2021-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102403
+       * gcc.dg/uninit-pr102403.c: New test.
+       * gcc.dg/uninit-pr102403-c2.c: New test.
+
+2021-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102243
+       * g++.dg/warn/Wplacement-new-size-10.C: New test.
+
+2021-09-19  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * gfortran.dg/goacc/privatization-1-compute.f90: Make test names
+       unique.
+       * gfortran.dg/goacc/routine-external-level-of-parallelism-2.f:
+       Likewise.
+
+2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * jit.dg/jit.exp (fixed_local_execute): Amend the match and
+       exit conditions to cater for more platforms.
+
+2021-09-19  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/88173
+       * c-c++-common/pr57371-4.c: Tweak/correct test case for QNaNs.
+       * g++.dg/pr88173-1.C: New test case.
+       * g++.dg/pr88173-2.C: New test case.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/order-1.c (f2): Add tests for distribute
+       with order clause.
+       (f3): Remove.
+       * c-c++-common/gomp/order-2.c: Don't expect error for distribute
+       with order clause.
+       * c-c++-common/gomp/order-5.c: New test.
+       * c-c++-common/gomp/order-6.c: New test.
+       * c-c++-common/gomp/clause-dups-1.c (f1): Add tests for
+       duplicated order clause.
+       (f9): New function.
+       * c-c++-common/gomp/clauses-1.c (baz, bar): Don't mix copyin and
+       order(concurrent) clauses on the same composite construct combined
+       with distribute, instead split it into two tests, one without
+       copyin and one without order(concurrent).  Add order(concurrent)
+       clauses to {,{,target} teams} distribute.
+       * g++.dg/gomp/attrs-1.C (baz, bar): Likewise.
+       * g++.dg/gomp/attrs-2.C (baz, bar): Likewise.
+
+2021-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/default-2.c: New test.
+       * c-c++-common/gomp/default-3.c: New test.
+       * g++.dg/gomp/default-1.C: New test.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vfmaddXXXsh-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfmaddXXXsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubXXXsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubXXXsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmaddXXXsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmaddXXXsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmsubXXXsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmsubXXXsh-1b.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/avx512fp16-xorsign-1.c: New test.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-neg-1a.c: New test.
+       * gcc.target/i386/avx512fp16-neg-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-scalar-bitwise-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-scalar-bitwise-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vector-bitwise-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vector-bitwise-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-neg-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-neg-1b.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vfmaddXXXph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfmaddXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmaddXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmaddXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmsubXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfnmsubXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmsubXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmsubXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfnmaddXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfnmaddXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfnmsubXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfnmsubXXXph-1b.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test fot new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vfmaddsubXXXph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfmaddsubXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubaddXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfmsubaddXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddsubXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmaddsubXXXph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmsubaddXXXph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfmsubaddXXXph-1b.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-18  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-broadcast-1.c: New test.
+       * gcc.target/i386/avx512fp16-broadcast-2.c: New test.
+
+2021-09-18  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/template/dtor5.C: Adjust expected error.
+       * g++.dg/cpp23/lookup2.C: New test.
+       * g++.dg/template/dtor11.C: New test.
+
+2021-09-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102366
+       * gfortran.dg/pr102366.f90: New test.
+
+2021-09-17  qing zhao  <qing.zhao@oracle.com>
+
+       * gcc.target/i386/auto-init-1.c: Restrict the testing only for
+       -march=x86-64 and -mtune=generic. Add -fno-stack-protector.
+       * gcc.target/i386/auto-init-2.c: Restrict the testing only for
+       -march=x86-64 and -mtune=generic -msse.
+       * gcc.target/i386/auto-init-3.c: Likewise.
+       * gcc.target/i386/auto-init-4.c: Likewise.
+       * gcc.target/i386/auto-init-5.c: Different pattern match for lp64 and
+       ia32.
+       * gcc.target/i386/auto-init-6.c: Restrict the testing only for
+       -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector.
+       * gcc.target/i386/auto-init-7.c: Likewise.
+       * gcc.target/i386/auto-init-8.c: Restrict the testing only for
+       -march=x86-64 and -mtune=generic -msse..
+       * gcc.target/i386/auto-init-padding-1.c: Likewise.
+       * gcc.target/i386/auto-init-padding-10.c: Likewise.
+       * gcc.target/i386/auto-init-padding-11.c: Likewise.
+       * gcc.target/i386/auto-init-padding-12.c: Likewise.
+       * gcc.target/i386/auto-init-padding-2.c: Likewise.
+       * gcc.target/i386/auto-init-padding-3.c: Restrict the testing only for
+       -march=x86-64. Different pattern match for lp64 and ia32.
+       * gcc.target/i386/auto-init-padding-4.c: Restrict the testing only for
+       -march=x86-64 and -mtune-generic -msse.
+       * gcc.target/i386/auto-init-padding-5.c: Likewise.
+       * gcc.target/i386/auto-init-padding-6.c: Likewise.
+       * gcc.target/i386/auto-init-padding-7.c: Restrict the testing only for
+       -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector.
+       * gcc.target/i386/auto-init-padding-8.c: Likewise.
+       * gcc.target/i386/auto-init-padding-9.c: Restrict the testing only for
+       -march=x86-64. Different pattern match for lp64 and ia32.
+
+2021-09-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/102200
+       * gcc.dg/Wstringop-overflow-62.c: Adjust text of an expected note.
+       * gcc.dg/Warray-bounds-89.c: New test.
+       * gcc.dg/Wstringop-overflow-74.c: New test.
+       * gcc.dg/Wstringop-overflow-75.c: New test.
+       * gcc.dg/Wstringop-overflow-76.c: New test.
+
+2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.dg/PR100914.c: Do not include quadmath.h.  Use
+       _Float128 _Complex instead of __complex128.
+       * gfortran.dg/PR100914.f90: Add -Wno-pedantic to suppress error
+       about use of _Float128.
+       * gfortran.dg/c-interop/typecodes-array-float128-c.c: Use
+       _Float128 instead of __float128.
+       * gfortran.dg/c-interop/typecodes-sanity-c.c: Likewise.
+       * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: Likewise.
+       * lib/target-supports.exp
+       (check_effective_target_fortran_real_c_float128): Update comments.
+
+2021-09-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR c/102245
+       * gcc.dg/Wint-in-bool-context-4.c: New test case.
+
+2021-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/atomic-18.c: Expect same diagnostics in C++ as in
+       C.
+       * c-c++-common/gomp/atomic-25.c: Drop c effective target.
+       * c-c++-common/gomp/atomic-26.c: Likewise.
+       * c-c++-common/gomp/atomic-27.c: Likewise.
+       * c-c++-common/gomp/atomic-28.c: Likewise.
+       * c-c++-common/gomp/atomic-29.c: Likewise.
+       * c-c++-common/gomp/atomic-30.c: Likewise.  Adjust expected diagnostics
+       for C++ when it differs from C.
+       (foo): Change return type from double to void.
+       * g++.dg/gomp/atomic-5.C: Adjust expected diagnostics wording.
+       * g++.dg/gomp/atomic-20.C: New test.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/avx-covert-1.c: New file.
+       * gcc.target/i386/avx-fp-covert-1.c: Likewise.
+       * gcc.target/i386/avx-int-covert-1.c: Likewise.
+       * gcc.target/i386/sse-covert-1.c: Likewise.
+       * gcc.target/i386/sse-fp-covert-1.c: Likewise.
+       * gcc.target/i386/sse-int-covert-1.c: Likewise.
+
+2021-09-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101900
+       * gcc.target/i386/pr101900-1.c: New test.
+       * gcc.target/i386/pr101900-2.c: Likewise.
+       * gcc.target/i386/pr101900-3.c: Likewise.
+
+2021-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.target/sparc/20210917-1.c: New test.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-typecast-1.c: New test.
+       * gcc.target/i386/avx512fp16-typecast-2.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-typecast-1.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-typecast-2.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vcvtsd2sh-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvtsd2sh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2sd-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2sd-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2ss-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2ss-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtss2sh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtss2sh-1b.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h (V512): Add DF contents.
+       (src3f): New.
+       * gcc.target/i386/avx512fp16-vcvtpd2ph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvtpd2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2pd-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2pd-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2psx-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2psx-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtps2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtps2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2pd-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2pd-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2psx-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2psx-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtps2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtps2ph-1b.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vcvttsh2si-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvttsh2si-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2si64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2si64-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2usi-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2usi-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2usi64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttsh2usi64-1b.c: Ditto.
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vcvttph2dq-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvttph2dq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2qq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2qq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2udq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2udq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2uqq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2uqq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2uw-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2uw-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2w-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvttph2w-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2dq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2dq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2qq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2qq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2udq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2udq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2uw-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2uw-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2w-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvttph2w-1b.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h (V512): Add int32
+       component.
+       * gcc.target/i386/avx512fp16-vcvtsh2si-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvtsh2si-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2si64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2si64-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2usi-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2usi-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2usi64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsh2usi64-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsi2sh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsi2sh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsi2sh64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtsi2sh64-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtusi2sh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtusi2sh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtusi2sh64-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtusi2sh64-1b.c: Ditto.
+
+2021-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98486
+       * g++.dg/cpp2a/concepts-var-templ1.C: New test.
+       * g++.dg/cpp2a/concepts-var-templ1a.C: New test.
+       * g++.dg/cpp2a/concepts-var-templ1b.C: New test.
+
+2021-09-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102287
+       * gfortran.dg/intent_out_14.f90: New test.
+
+2021-09-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102360
+       * g++.dg/pr102360.C: New testcase.
+
+2021-09-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       * g++.dg/eh/arm-vfp-unwind.C: Support single-precision.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/102080
+       * gcc.target/i386/pr102080.c: New test.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vcvtdq2ph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvtdq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtqq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtqq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtudq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtudq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtuqq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtuqq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtuw2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtuw2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtw2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtw2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtdq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtdq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtqq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtqq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtudq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtudq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtuqq2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtuqq2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtuw2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtuw2ph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtw2ph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtw2ph-1b.c: Ditto.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h (V512): Add QI
+       components.
+       * gcc.target/i386/avx512fp16-vcvtph2dq-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcvtph2dq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2qq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2qq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2udq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2udq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2uqq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2uqq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2uw-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2uw-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2w-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcvtph2w-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2dq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2dq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2qq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2qq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2udq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2udq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2uqq-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2uqq-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2uw-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2uw-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2w-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcvtph2w-1b.c: Ditto.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-16  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vmovsh-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vmovsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-2a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-2b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-3a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-3b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-4a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmovw-4b.c: Ditto.
+
+2021-09-15  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101904
+       * g++.dg/ext/conv2.C: New test.
+       * g++.dg/template/conv17.C: Extend test.
+
+2021-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/88578
+       PR c++/102295
+       * g++.dg/ext/flexary39.C: New test.
+       * g++.dg/ext/flexary40.C: New test.
+
+2021-09-15  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102050
+       * g++.dg/cpp0x/initlist125.C: New test.
+       * g++.dg/cpp0x/initlist126.C: New test.
+
+2021-09-15  Alexandre Oliva  <oliva@adacore.com>
+
+       * gnat.dg/zcur_attr.adb, gnat.dg/zcur_attr.ads: New.
+
+2021-09-15  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr102327-1.c: New test.
+       * gcc.target/i386/pr102327-2.c: New test.
+       * gcc.target/i386/avx512fp16-1c.c: Adjust testcase.
+
+2021-09-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/avx-1.c: Adjust builtin macros.
+       * gcc.target/i386/sse-13.c: Likewise.
+       * gcc.target/i386/sse-23.c: Likewise.
+
+2021-09-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102318
+       * gcc.dg/vect/pr102318.c: New testcase.
+
+2021-09-15  Hongtao Liu  <hongtao.liu@intel.com>
+           Peter Cordes  <peter@cordes.ca>
+
+       PR target/91103
+       * gcc.target/i386/pr91103-1.c: Add extract tests.
+       * gcc.target/i386/pr91103-2.c: Ditto.
+
+2021-09-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gfortran.dg/goacc/unexpected-end.f90: Add OpenACC 'host_data'
+       testing.
+
+2021-09-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/48396
+       * g++.dg/rtti/undeclared1.C: New test.
+
+2021-09-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102311
+       * gfortran.dg/entry_25.f90: New test.
+
+2021-09-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-6.c: Add second call to xxsetacc
+       built-in.  Update instruction counts.
+
+2021-09-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/102163
+       * g++.dg/cpp0x/constexpr-empty17.C: New test.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102295
+       * g++.target/i386/pr102295.C: New test.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/102305
+       * g++.dg/cpp0x/pr102305.C: New test.
+
+2021-09-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102313
+       * gfortran.dg/goacc/unexpected-end.f90: New test.
+       * gfortran.dg/gomp/unexpected-end.f90: New test.
+
+2021-09-14  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/gcov/gcov.py: Fix failing pytests as gcov.json.gz
+         filename was changed in b777f228b481ae881a7fbb09de367a053740932c.
+
+2021-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/enum_rep2.adb: New test.
+
+2021-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/atomic-29.c: Add -march=pentium
+       dg-additional-options for ia32.  Use sync_long_long effective target
+       instead of sync_int_long.
+       * lib/target-supports.exp (check_effective_target_sync_long_long): Fix
+       a syntax error.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h (V512):
+       Add xmm component.
+       * gcc.target/i386/avx512fp16-vfpclassph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vfpclassph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfpclasssh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vfpclasssh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetexpph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetexpph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetexpsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetexpsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetmantph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetmantph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetmantsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vgetmantsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfpclassph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vfpclassph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vgetexpph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vgetexpph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vgetmantph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vgetmantph-1b.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h (_ROUND_CUR): New macro.
+       * gcc.target/i386/avx512fp16-vreduceph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vreduceph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vreducesh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vreducesh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrndscaleph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrndscaleph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrndscalesh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrndscalesh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vreduceph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vreduceph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrndscaleph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrndscaleph-1b.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vrcpph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vrcpph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrcpsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrcpsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vscalefph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vscalefph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vscalefsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vscalefsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrcpph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrcpph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vscalefph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vscalefph-1b.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vrsqrtph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vrsqrtph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrsqrtsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vrsqrtsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsqrtph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsqrtph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsqrtsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsqrtsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrsqrtph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vrsqrtph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vsqrtph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vsqrtph-1b.c: Ditto.
+
+2021-09-14  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/82314
+       * gfortran.dg/pr82314.f90: New test.
+
+2021-09-13  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85130
+       * gfortran.dg/substr_6.f90: Revert commit r8-7574, adding again
+       test that was erroneously considered as illegal.
+
+2021-09-13  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/warn/Winterference.H: New file.
+       * g++.dg/warn/Winterference.C: New test.
+       * g++.target/aarch64/interference.C: New test.
+       * g++.target/arm/interference.C: New test.
+       * g++.target/i386/interference.C: New test.
+       * g++.dg/warn/Winterference-2.C: New file.
+
+2021-09-13  Martin Liska  <mliska@suse.cz>
+           H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101696
+       * g++.target/i386/mv30.C: New test.
+       * gcc.target/i386/mvc16.c: New test.
+       * gcc.target/i386/builtin_target.c (CHECK___builtin_cpu_supports):
+       New.
+
+2021-09-13  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/95969
+       * gcc.target/aarch64/lane-bound-1.c: New test.
+       * gcc.target/aarch64/lane-bound-2.c: New test.
+
+2021-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/102252
+       * g++.target/aarch64/sve/pr102252.C: New test.
+
+2021-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/pr21417.c: Adjust for FSM removal.
+       * gcc.dg/tree-ssa/pr66752-3.c: Same.
+       * gcc.dg/tree-ssa/pr68198.c: Same.
+       * gcc.dg/tree-ssa/pr69196-1.c: Same.
+       * gcc.dg/tree-ssa/pr70232.c: Same.
+       * gcc.dg/tree-ssa/pr77445.c: Same.
+       * gcc.dg/tree-ssa/ranger-threader-4.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-12.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-13.c: Same.
+
+2021-09-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101764
+       * g++.dg/cpp1z/constexpr-if35.C: New test.
+
+2021-09-13  Martin Liska  <mliska@suse.cz>
+
+       PR c++/101331
+       * g++.dg/pr101331.C: New test.
+
+2021-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust for aarch64.
+
+2021-09-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101935
+       * g++.target/i386/pr80566-1.C: Add
+       -mtune-ctrl=avx256_store_by_pieces.
+       * gcc.target/i386/pr100865-4a.c: Likewise.
+       * gcc.target/i386/pr100865-10a.c: Likewise.
+       * gcc.target/i386/pr90773-20.c: Likewise.
+       * gcc.target/i386/pr90773-21.c: Likewise.
+       * gcc.target/i386/pr90773-22.c: Likewise.
+       * gcc.target/i386/pr90773-23.c: Likewise.
+       * g++.target/i386/pr80566-2.C: Add
+       -mtune-ctrl=avx256_move_by_pieces.
+       * gcc.target/i386/eh_return-1.c: Likewise.
+       * gcc.target/i386/pr90773-26.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-12.c: Replace -mtune=haswell
+       with -mtune-ctrl=avx256_move_by_pieces.
+       * gcc.target/i386/pieces-memcpy-15.c: Likewise.
+       * gcc.target/i386/pieces-memset-2.c: Replace -mtune=haswell
+       with -mtune-ctrl=avx256_store_by_pieces.
+       * gcc.target/i386/pieces-memset-5.c: Likewise.
+       * gcc.target/i386/pieces-memset-11.c: Likewise.
+       * gcc.target/i386/pieces-memset-14.c: Likewise.
+       * gcc.target/i386/pieces-memset-20.c: Likewise.
+       * gcc.target/i386/pieces-memset-23.c: Likewise.
+       * gcc.target/i386/pieces-memset-29.c: Likewise.
+       * gcc.target/i386/pieces-memset-30.c: Likewise.
+       * gcc.target/i386/pieces-memset-33.c: Likewise.
+       * gcc.target/i386/pieces-memset-34.c: Likewise.
+       * gcc.target/i386/pieces-memset-44.c: Likewise.
+       * gcc.target/i386/pieces-memset-37.c: Replace -mtune=generic
+       with -mtune-ctrl=avx256_store_by_pieces.
+
+2021-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102185
+       * gdc.dg/pr102185.d: New test.
+
+2021-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/auto-init-1.c: Enable test only on ilp32 or lp64
+       targets, expect different long and pointer sizes between ilp32 and
+       lp64.
+       * c-c++-common/auto-init-2.c: Likewise.
+       * c-c++-common/auto-init-3.c: Expect one of the common long double
+       sizes (8/12/16 bytes) instead of hardcoding 16 bytes.
+       * c-c++-common/auto-init-4.c: Likewise.
+       * c-c++-common/auto-init-5.c: Expect one of the common
+       _Complex long double sizes (16/24/32 bytes) instead of hardcoding 32
+       bytes.
+       * c-c++-common/auto-init-6.c: Likewise.
+       * c-c++-common/auto-init-padding-1.c: Enable test only on ilp32 or lp64
+       targets.
+       (struct test_small_hole): Change type of four to unsigned long long
+       and add aligned attribute.
+
+2021-09-10  Petter Tomner  <tomner@kth.se>
+
+       * jit.dg/test-error-array-bounds.c: Array is not unsigned
+       * jit.dg/jit.exp: Helper function
+       * jit.dg/test-debuginfo.c: New testcase
+
+2021-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/atomic-17.c (foo): Add tests for atomic read,
+       write or update with acq_rel clause and atomic update with acquire clause.
+       * c-c++-common/gomp/atomic-18.c (foo): Adjust expected diagnostics
+       wording, remove tests moved to atomic-17.c.
+       * c-c++-common/gomp/atomic-21.c: Expect only 2 omp atomic release and
+       2 omp atomic acq_rel directives instead of 4 omp atomic release.
+       * c-c++-common/gomp/atomic-25.c: New test.
+       * c-c++-common/gomp/atomic-26.c: New test.
+       * c-c++-common/gomp/atomic-27.c: New test.
+       * c-c++-common/gomp/atomic-28.c: New test.
+       * c-c++-common/gomp/atomic-29.c: New test.
+       * c-c++-common/gomp/atomic-30.c: New test.
+       * c-c++-common/goacc-gomp/atomic.c: Expect 1 omp atomic release and
+       1 omp atomic_acq_rel instead of 2 omp atomic release directives.
+       * gcc.dg/gomp/atomic-5.c: Adjust expected error diagnostic wording.
+       * g++.dg/gomp/atomic-18.C:Expect 4 omp atomic release and
+       1 omp atomic_acq_rel instead of 5 omp atomic release directives.
+
+2021-09-10  Aldy Hernandez  <aldyh@redhat.com>
+           Michael Matz  <matz@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Adjust for disabling of
+       threading through latches.
+       * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+
+2021-09-10  David Faust  <david.faust@oracle.com>
+
+       * gcc.target/bpf/alu-1.c: New test.
+       * gcc.target/bpf/jmp-1.c: New test.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102273
+       * gcc.dg/pr102273.c: New testcase.
+
+2021-09-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/auto-init-padding-2.c: Fix 'dg-do run' syntax.
+       * c-c++-common/auto-init-padding-3.c: Likewise.
+
+2021-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/102269
+       * gcc.dg/pr102269.c: New testcase.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h
+       (check_results_mask): New check_function.
+       * gcc.target/i386/avx512fp16-vcmpph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vcmpph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcmpsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcmpsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcomish-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcomish-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vcomish-1c.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcmpph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vcmpph-1b.c: Ditto.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vmaxph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vmaxph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmaxsh-1.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmaxsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vminph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vminph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vminsh-1.c: Ditto.
+       * gcc.target/i386/avx512fp16-vminsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vmaxph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vmaxph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vminph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vminph-1b.c: Ditto.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-vaddsh-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vaddsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vdivsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vdivsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmulsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmulsh-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsubsh-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsubsh-1b.c: Ditto.
+       * gcc.target/i386/pr54855-11.c: Ditto.
+
+2021-09-10  Liu, Hongtao  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add test for new builtins.
+       * gcc.target/i386/sse-13.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/vect-float16-1.c: New test.
+       * gcc.target/i386/vect-float16-10.c: Ditto.
+       * gcc.target/i386/vect-float16-11.c: Ditto.
+       * gcc.target/i386/vect-float16-12.c: Ditto.
+       * gcc.target/i386/vect-float16-2.c: Ditto.
+       * gcc.target/i386/vect-float16-3.c: Ditto.
+       * gcc.target/i386/vect-float16-4.c: Ditto.
+       * gcc.target/i386/vect-float16-5.c: Ditto.
+       * gcc.target/i386/vect-float16-6.c: Ditto.
+       * gcc.target/i386/vect-float16-7.c: Ditto.
+       * gcc.target/i386/vect-float16-8.c: Ditto.
+       * gcc.target/i386/vect-float16-9.c: Ditto.
+
+2021-09-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512dq-abs-copysign-1.c: Adjust testcase.
+       * gcc.target/i386/avx512vl-abs-copysign-1.c: Adjust testcase.
+
+2021-09-09  qing zhao  <qing.zhao@oracle.com>
+
+       * c-c++-common/auto-init-1.c: New test.
+       * c-c++-common/auto-init-10.c: New test.
+       * c-c++-common/auto-init-11.c: New test.
+       * c-c++-common/auto-init-12.c: New test.
+       * c-c++-common/auto-init-13.c: New test.
+       * c-c++-common/auto-init-14.c: New test.
+       * c-c++-common/auto-init-15.c: New test.
+       * c-c++-common/auto-init-16.c: New test.
+       * c-c++-common/auto-init-2.c: New test.
+       * c-c++-common/auto-init-3.c: New test.
+       * c-c++-common/auto-init-4.c: New test.
+       * c-c++-common/auto-init-5.c: New test.
+       * c-c++-common/auto-init-6.c: New test.
+       * c-c++-common/auto-init-7.c: New test.
+       * c-c++-common/auto-init-8.c: New test.
+       * c-c++-common/auto-init-9.c: New test.
+       * c-c++-common/auto-init-esra.c: New test.
+       * c-c++-common/auto-init-padding-1.c: New test.
+       * c-c++-common/auto-init-padding-2.c: New test.
+       * c-c++-common/auto-init-padding-3.c: New test.
+       * g++.dg/auto-init-uninit-pred-1_a.C: New test.
+       * g++.dg/auto-init-uninit-pred-2_a.C: New test.
+       * g++.dg/auto-init-uninit-pred-3_a.C: New test.
+       * g++.dg/auto-init-uninit-pred-4.C: New test.
+       * gcc.dg/auto-init-sra-1.c: New test.
+       * gcc.dg/auto-init-sra-2.c: New test.
+       * gcc.dg/auto-init-uninit-1.c: New test.
+       * gcc.dg/auto-init-uninit-12.c: New test.
+       * gcc.dg/auto-init-uninit-13.c: New test.
+       * gcc.dg/auto-init-uninit-14.c: New test.
+       * gcc.dg/auto-init-uninit-15.c: New test.
+       * gcc.dg/auto-init-uninit-16.c: New test.
+       * gcc.dg/auto-init-uninit-17.c: New test.
+       * gcc.dg/auto-init-uninit-18.c: New test.
+       * gcc.dg/auto-init-uninit-19.c: New test.
+       * gcc.dg/auto-init-uninit-2.c: New test.
+       * gcc.dg/auto-init-uninit-20.c: New test.
+       * gcc.dg/auto-init-uninit-21.c: New test.
+       * gcc.dg/auto-init-uninit-22.c: New test.
+       * gcc.dg/auto-init-uninit-23.c: New test.
+       * gcc.dg/auto-init-uninit-24.c: New test.
+       * gcc.dg/auto-init-uninit-25.c: New test.
+       * gcc.dg/auto-init-uninit-26.c: New test.
+       * gcc.dg/auto-init-uninit-3.c: New test.
+       * gcc.dg/auto-init-uninit-34.c: New test.
+       * gcc.dg/auto-init-uninit-36.c: New test.
+       * gcc.dg/auto-init-uninit-37.c: New test.
+       * gcc.dg/auto-init-uninit-4.c: New test.
+       * gcc.dg/auto-init-uninit-5.c: New test.
+       * gcc.dg/auto-init-uninit-6.c: New test.
+       * gcc.dg/auto-init-uninit-8.c: New test.
+       * gcc.dg/auto-init-uninit-9.c: New test.
+       * gcc.dg/auto-init-uninit-A.c: New test.
+       * gcc.dg/auto-init-uninit-B.c: New test.
+       * gcc.dg/auto-init-uninit-C.c: New test.
+       * gcc.dg/auto-init-uninit-H.c: New test.
+       * gcc.dg/auto-init-uninit-I.c: New test.
+       * gcc.target/aarch64/auto-init-1.c: New test.
+       * gcc.target/aarch64/auto-init-2.c: New test.
+       * gcc.target/aarch64/auto-init-3.c: New test.
+       * gcc.target/aarch64/auto-init-4.c: New test.
+       * gcc.target/aarch64/auto-init-5.c: New test.
+       * gcc.target/aarch64/auto-init-6.c: New test.
+       * gcc.target/aarch64/auto-init-7.c: New test.
+       * gcc.target/aarch64/auto-init-8.c: New test.
+       * gcc.target/aarch64/auto-init-padding-1.c: New test.
+       * gcc.target/aarch64/auto-init-padding-10.c: New test.
+       * gcc.target/aarch64/auto-init-padding-11.c: New test.
+       * gcc.target/aarch64/auto-init-padding-12.c: New test.
+       * gcc.target/aarch64/auto-init-padding-2.c: New test.
+       * gcc.target/aarch64/auto-init-padding-3.c: New test.
+       * gcc.target/aarch64/auto-init-padding-4.c: New test.
+       * gcc.target/aarch64/auto-init-padding-5.c: New test.
+       * gcc.target/aarch64/auto-init-padding-6.c: New test.
+       * gcc.target/aarch64/auto-init-padding-7.c: New test.
+       * gcc.target/aarch64/auto-init-padding-8.c: New test.
+       * gcc.target/aarch64/auto-init-padding-9.c: New test.
+       * gcc.target/i386/auto-init-1.c: New test.
+       * gcc.target/i386/auto-init-2.c: New test.
+       * gcc.target/i386/auto-init-21.c: New test.
+       * gcc.target/i386/auto-init-22.c: New test.
+       * gcc.target/i386/auto-init-23.c: New test.
+       * gcc.target/i386/auto-init-24.c: New test.
+       * gcc.target/i386/auto-init-3.c: New test.
+       * gcc.target/i386/auto-init-4.c: New test.
+       * gcc.target/i386/auto-init-5.c: New test.
+       * gcc.target/i386/auto-init-6.c: New test.
+       * gcc.target/i386/auto-init-7.c: New test.
+       * gcc.target/i386/auto-init-8.c: New test.
+       * gcc.target/i386/auto-init-padding-1.c: New test.
+       * gcc.target/i386/auto-init-padding-10.c: New test.
+       * gcc.target/i386/auto-init-padding-11.c: New test.
+       * gcc.target/i386/auto-init-padding-12.c: New test.
+       * gcc.target/i386/auto-init-padding-2.c: New test.
+       * gcc.target/i386/auto-init-padding-3.c: New test.
+       * gcc.target/i386/auto-init-padding-4.c: New test.
+       * gcc.target/i386/auto-init-padding-5.c: New test.
+       * gcc.target/i386/auto-init-padding-6.c: New test.
+       * gcc.target/i386/auto-init-padding-7.c: New test.
+       * gcc.target/i386/auto-init-padding-8.c: New test.
+       * gcc.target/i386/auto-init-padding-9.c: New test.
+
+2021-09-09  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98490
+       * gfortran.dg/bounds_check_23.f90: New test.
+
+2021-09-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/x86_64/abi/avx512fp16/args.h: Replace long with
+       long long.
+       (XMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+       (X87_T): Rename _ulong to _ulonglong.
+       * gcc.target/x86_64/abi/avx512fp16/defines.h (TYPE_SIZE_LONG):
+       Define to 4 if __ILP32__ is defined.
+       (TYPE_SIZE_POINTER): Likewise.
+       (TYPE_ALIGN_LONG): Likewise.
+       (TYPE_ALIGN_POINTER): Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c
+       (main): Skip test for long if __ILP32__ is defined.
+       * gcc.target/x86_64/abi/avx512fp16/test_m64m128_returning.c
+       (do_test): Replace _long with _longlong.
+       * gcc.target/x86_64/abi/avx512fp16/test_struct_returning.c:
+       (check_300): Replace _ulong with _ulonglong.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/args.h: Replace long
+       with long long.
+       (YMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+       (X87_T): Rename _ulong to _ulonglong.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/args.h: Replace long
+       with long long.
+       (ZMM_T): Rename _long to _longlong and _ulong to _ulonglong.
+       (X87_T): Rename _ulong to _ulonglong.
+
+2021-09-09  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-lim-17.c: New testcase.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512fp16-helper.h: New header file for
+       FP16 runtime test.
+       * gcc.target/i386/avx512fp16-vaddph-1a.c: New test.
+       * gcc.target/i386/avx512fp16-vaddph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vdivph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vdivph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmulph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vmulph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsubph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-vsubph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vaddph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vaddph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vdivph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vdivph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vmulph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vmulph-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vsubph-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16vl-vsubph-1b.c: Ditto.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add -mavx512vl and test for new intrinsics.
+       * gcc.target/i386/avx-2.c: Add -mavx512vl.
+       * gcc.target/i386/avx512fp16-11a.c: New test.
+       * gcc.target/i386/avx512fp16-11b.c: Ditto.
+       * gcc.target/i386/avx512vlfp16-11a.c: Ditto.
+       * gcc.target/i386/avx512vlfp16-11b.c: Ditto.
+       * gcc.target/i386/sse-13.c: Add test for new builtins.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * gcc.target/i386/sse-14.c: Add test for new intrinsics.
+       * gcc.target/i386/sse-22.c: Ditto.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101059
+       * gcc.target/i386/sse2-pr101059.c: New test.
+       * gcc.target/i386/sse3-pr101059.c: New test.
+
+2021-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/91103
+       * gcc.target/i386/pr91103-1.c: New test.
+       * gcc.target/i386/pr91103-2.c: New test.
+
+2021-09-08  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/102225
+       * gcc.dg/analyzer/realloc-1.c (test_10): New.
+       * gcc.dg/analyzer/torture/pr102225.c: New test.
+
+2021-09-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/array-quals-1.c: Allow .sdata section in more cases.
+
+2021-09-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/tree-ssa/pr89430-1.c, gcc.dg/tree-ssa/pr89430-2.c,
+       gcc.dg/tree-ssa/pr89430-3.c, gcc.dg/tree-ssa/pr89430-4.c,
+       gcc.dg/tree-ssa/pr89430-5.c, gcc.dg/tree-ssa/pr89430-6.c,
+       gcc.dg/tree-ssa/pr89430-7-comp-ref.c,
+       gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c,
+       gcc.dg/tree-ssa/pr99473-1.c: Use -ftree-cselim.
+
+2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+           liuhongt  <hongtao.liu@intel.com>
+
+       PR target/89984
+       * gcc.target/i386/avx-pr102224.c: Fix up PR number.
+       * gcc.dg/pr89984.c: New test.
+       * gcc.target/i386/avx-pr89984.c: New test.
+
+2021-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/102224
+       * gcc.dg/pr102224.c: New test.
+       * gcc.target/i386/avx-pr102224.c: New test.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/x86_64/abi/avx512fp16/m512h/abi-avx512fp16-zmm.exp:
+       New file.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/args.h: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/avx512fp16-zmm-check.h:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/test_m512_returning.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_m512.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_structs.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_unions.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m512h/test_varargs-m512.c:
+       Likewise.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/x86_64/abi/avx512fp16/m256h/abi-avx512fp16-ymm.exp:
+       New exp file.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/args.h: New header.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/avx512fp16-ymm-check.h:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: New.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/test_m256_returning.c:
+       New test.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_m256.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_structs.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_unions.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/m256h/test_varargs-m256.c: Likewise.
+
+2021-09-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/x86_64/abi/avx512fp16/abi-avx512fp16-xmm.exp: New exp
+       file for abi test.
+       * gcc.target/x86_64/abi/avx512fp16/args.h: New header file for abi test.
+       * gcc.target/x86_64/abi/avx512fp16/avx512fp16-check.h: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/avx512fp16-xmm-check.h: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/defines.h: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/macros.h: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/asm-support.S: New asm for abi check.
+       * gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c:
+       New test.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_alignment.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_array_size_and_align.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_returning.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_sizes.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_struct_size_and_align.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_basic_union_size_and_align.c:
+       Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_complex_returning.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_m64m128_returning.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_passing_floats.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_passing_m64m128.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_passing_structs.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_passing_unions.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_struct_returning.c: Likewise.
+       * gcc.target/x86_64/abi/avx512fp16/test_varargs-m128.c: Likewise.
+
+2021-09-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/avx512fp16-vararg-1.c: New test.
+       * gcc.target/i386/avx512fp16-vararg-2.c: Ditto.
+       * gcc.target/i386/avx512fp16-vararg-3.c: Ditto.
+       * gcc.target/i386/avx512fp16-vararg-4.c: Ditto.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/m512-check.h: Add union128h, union256h, union512h.
+       * gcc.target/i386/avx512fp16-10a.c: New test.
+       * gcc.target/i386/avx512fp16-10b.c: Ditto.
+       * gcc.target/i386/avx512fp16-1a.c: Ditto.
+       * gcc.target/i386/avx512fp16-1b.c: Ditto.
+       * gcc.target/i386/avx512fp16-1c.c: Ditto.
+       * gcc.target/i386/avx512fp16-1d.c: Ditto.
+       * gcc.target/i386/avx512fp16-1e.c: Ditto.
+       * gcc.target/i386/avx512fp16-2a.c: Ditto.
+       * gcc.target/i386/avx512fp16-2b.c: Ditto.
+       * gcc.target/i386/avx512fp16-2c.c: Ditto.
+       * gcc.target/i386/avx512fp16-3a.c: Ditto.
+       * gcc.target/i386/avx512fp16-3b.c: Ditto.
+       * gcc.target/i386/avx512fp16-3c.c: Ditto.
+       * gcc.target/i386/avx512fp16-4.c: Ditto.
+       * gcc.target/i386/avx512fp16-5.c: Ditto.
+       * gcc.target/i386/avx512fp16-6.c: Ditto.
+       * gcc.target/i386/avx512fp16-7.c: Ditto.
+       * gcc.target/i386/avx512fp16-8.c: Ditto.
+       * gcc.target/i386/avx512fp16-9a.c: Ditto.
+       * gcc.target/i386/avx512fp16-9b.c: Ditto.
+       * gcc.target/i386/pr54855-13.c: Ditto.
+       * gcc.target/i386/avx512fp16-vec_set_var.c: Ditto.
+
+2021-09-08  Guo, Xuepeng  <xuepeng.guo@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+           Liu Hongtao  <hongtao.liu@intel.com>
+           Wang Hongyu  <hongyu.wang@intel.com>
+           Xu Dianhong  <dianhong.xu@intel.com>
+
+       * gcc.target/i386/avx-1.c: Add -mavx512fp16 in dg-options.
+       * gcc.target/i386/avx-2.c: Ditto.
+       * gcc.target/i386/avx512-check.h: Check cpuid for AVX512FP16.
+       * gcc.target/i386/funcspec-56.inc: Add new target attribute check.
+       * gcc.target/i386/sse-13.c: Add -mavx512fp16.
+       * gcc.target/i386/sse-14.c: Ditto.
+       * gcc.target/i386/sse-22.c: Ditto.
+       * gcc.target/i386/sse-23.c: Ditto.
+       * lib/target-supports.exp: (check_effective_target_avx512fp16): New.
+       * g++.target/i386/float16-1.C: New test.
+       * g++.target/i386/float16-2.C: Ditto.
+       * g++.target/i386/float16-3.C: Ditto.
+       * gcc.target/i386/avx512fp16-12a.c: Ditto.
+       * gcc.target/i386/avx512fp16-12b.c: Ditto.
+       * gcc.target/i386/float16-3a.c: Ditto.
+       * gcc.target/i386/float16-3b.c: Ditto.
+       * gcc.target/i386/float16-4a.c: Ditto.
+       * gcc.target/i386/float16-4b.c: Ditto.
+       * gcc.target/i386/pr54855-12.c: Ditto.
+       * g++.dg/other/i386-2.C: Ditto.
+       * g++.dg/other/i386-3.C: Ditto.
+
+2021-09-08  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/float16-6.c: New test.
+       * gcc.target/i386/float16-7.c: New test.
+
+2021-09-07  David Faust  <david.faust@oracle.com>
+
+       * gcc.target/bpf/core-attr-1.c: New test.
+       * gcc.target/bpf/core-attr-2.c: Likewise.
+       * gcc.target/bpf/core-attr-3.c: Likewise.
+       * gcc.target/bpf/core-attr-4.c: Likewise
+       * gcc.target/bpf/core-builtin-1.c: Likewise
+       * gcc.target/bpf/core-builtin-2.c: Likewise.
+       * gcc.target/bpf/core-builtin-3.c: Likewise.
+       * gcc.target/bpf/core-section-1.c: Likewise.
+
+2021-09-07  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.dg/no_profile_instrument_function-attr-2.c: Fix
+       typo in last change.
+
+2021-09-07  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101327
+       * gfortran.dg/pr101327.f90: New test.
+
+2021-09-07  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * gcc.target/bpf/core-lto-1.c: New test.
+
+2021-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100495
+       * g++.dg/cpp2a/constexpr-new21.C: New test.
+
+2021-09-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/85819
+       * gcc.target/i386/pr85819-1a.c: New test.
+       * gcc.target/i386/pr85819-1b.c: Likewise.
+       * gcc.target/i386/pr85819-2a.c: Likewise.
+       * gcc.target/i386/pr85819-2b.c: Likewise.
+       * gcc.target/i386/pr85819-2c.c: Likewise.
+       * gcc.target/i386/pr85819-3.c: Likewise.
+
+2021-09-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102226
+       * g++.dg/vect/pr102226.cc: New testcase.
+
+2021-09-07  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * c-c++-common/gomp/flush-1.c: Add test case for 'seq_cst'.
+       * c-c++-common/gomp/flush-2.c: Add test case for 'seq_cst'.
+       * g++.dg/gomp/attrs-1.C: Adapt test to handle all flush clauses.
+       * g++.dg/gomp/attrs-2.C: Adapt test to handle all flush clauses.
+       * gfortran.dg/gomp/flush-1.f90: Add test case for 'seq_cst'.
+       * gfortran.dg/gomp/flush-2.f90: Add test case for 'seq_cst'.
+
+2021-09-07  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/80223
+       * gcc.dg/no_profile_instrument_function-attr-2.c: New test.
+
+2021-09-07  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/97142
+       * gcc.target/powerpc/pr97142.c: New test.
+
+2021-09-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/89984
+       * gcc.target/i386/pr89984-1.c: New test.
+       * gcc.target/i386/pr89984-2.c: Likewise.
+       * gcc.target/i386/xorsign-avx.c: Likewise.
+
+2021-09-06  liuhongt  <hongtao.liu@intel.com>
+
+       PR middle-end/102182
+       * gcc.target/i386/pr101282.c: New test.
+
+2021-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102207
+       * gcc.dg/pr102207.c: New test.
+
+2021-09-06  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/63184
+       * c-c++-common/pr19807-2.c: Enable for all targets and remove the xfail.
+       * c-c++-common/pr19807-3.c: Likewise.
+
+2021-09-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101904
+       * g++.dg/template/conv17.C: New test.
+
+2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/bind_c_char_6.f90: Update dg-error.
+       * gfortran.dg/bind_c_char_7.f90: Likewise.
+       * gfortran.dg/bind_c_char_8.f90: Likewise.
+       * gfortran.dg/iso_c_binding_char_1.f90: Likewise.
+       * gfortran.dg/pr32599.f03: Likewise.
+       * gfortran.dg/bind_c_char_9.f90: Comment testcase bits which are
+       implementable but not valid F2018.
+       * gfortran.dg/bind_c_contiguous.f90: New test.
+
+2021-09-03  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102166
+       * g++.target/i386/pr102166.C: New test.
+
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+           José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100911
+       PR fortran/100915
+       PR fortran/100916
+       * gfortran.dg/PR100911.c: New file.
+       * gfortran.dg/PR100911.f90: New file.
+       * gfortran.dg/PR100914.c: New file.
+       * gfortran.dg/PR100914.f90: New file.
+       * gfortran.dg/PR100915.c: New file.
+       * gfortran.dg/PR100915.f90: New file.
+
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.dg/c-interop/allocatable-dummy-c.c: New file.
+       * gfortran.dg/c-interop/allocatable-dummy.f90: New file.
+       * gfortran.dg/c-interop/allocatable-optional-pointer.f90: New file.
+       * gfortran.dg/c-interop/allocate-c.c: New file.
+       * gfortran.dg/c-interop/allocate-errors-c.c: New file.
+       * gfortran.dg/c-interop/allocate-errors.f90: New file.
+       * gfortran.dg/c-interop/allocate.f90: New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-1.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-2.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-3.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-4.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-5.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-6.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-7.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-8.f90:
+       New file.
+       * gfortran.dg/c-interop/assumed-type-dummy.f90: New file.
+       * gfortran.dg/c-interop/c-interop.exp: New file.
+       * gfortran.dg/c-interop/c1255-1.f90: New file.
+       * gfortran.dg/c-interop/c1255-2.f90: New file.
+       * gfortran.dg/c-interop/c1255a.f90: New file.
+       * gfortran.dg/c-interop/c407a-1.f90: New file.
+       * gfortran.dg/c-interop/c407a-2.f90: New file.
+       * gfortran.dg/c-interop/c407b-1.f90: New file.
+       * gfortran.dg/c-interop/c407b-2.f90: New file.
+       * gfortran.dg/c-interop/c407c-1.f90: New file.
+       * gfortran.dg/c-interop/c516.f90: New file.
+       * gfortran.dg/c-interop/c524a.f90: New file.
+       * gfortran.dg/c-interop/c535a-1.f90: New file.
+       * gfortran.dg/c-interop/c535a-2.f90: New file.
+       * gfortran.dg/c-interop/c535b-1.f90: New file.
+       * gfortran.dg/c-interop/c535b-2.f90: New file.
+       * gfortran.dg/c-interop/c535b-3.f90: New file.
+       * gfortran.dg/c-interop/c535c-1.f90: New file.
+       * gfortran.dg/c-interop/c535c-2.f90: New file.
+       * gfortran.dg/c-interop/c535c-3.f90: New file.
+       * gfortran.dg/c-interop/c535c-4.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-8-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-8.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/contiguous-1-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-1.f90: New file.
+       * gfortran.dg/c-interop/contiguous-2-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-2.f90: New file.
+       * gfortran.dg/c-interop/contiguous-3-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-3.f90: New file.
+       * gfortran.dg/c-interop/deferred-character-1.f90: New file.
+       * gfortran.dg/c-interop/deferred-character-2.f90: New file.
+       * gfortran.dg/c-interop/dump-descriptors.c: New file.
+       * gfortran.dg/c-interop/dump-descriptors.h: New file.
+       * gfortran.dg/c-interop/establish-c.c: New file.
+       * gfortran.dg/c-interop/establish-errors-c.c: New file.
+       * gfortran.dg/c-interop/establish-errors.f90: New file.
+       * gfortran.dg/c-interop/establish.f90: New file.
+       * gfortran.dg/c-interop/explicit-interface.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-8-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-8.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-9-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-9.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/note-5-3.f90: New file.
+       * gfortran.dg/c-interop/note-5-4-c.c: New file.
+       * gfortran.dg/c-interop/note-5-4.f90: New file.
+       * gfortran.dg/c-interop/optional-c.c: New file.
+       * gfortran.dg/c-interop/optional.f90: New file.
+       * gfortran.dg/c-interop/rank-class.f90: New file.
+       * gfortran.dg/c-interop/rank.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-1.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-2.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-3.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-4.f90: New file.
+       * gfortran.dg/c-interop/section-1-c.c: New file.
+       * gfortran.dg/c-interop/section-1.f90: New file.
+       * gfortran.dg/c-interop/section-1p.f90: New file.
+       * gfortran.dg/c-interop/section-2-c.c: New file.
+       * gfortran.dg/c-interop/section-2.f90: New file.
+       * gfortran.dg/c-interop/section-2p.f90: New file.
+       * gfortran.dg/c-interop/section-3-c.c: New file.
+       * gfortran.dg/c-interop/section-3.f90: New file.
+       * gfortran.dg/c-interop/section-3p.f90: New file.
+       * gfortran.dg/c-interop/section-4-c.c: New file.
+       * gfortran.dg/c-interop/section-4.f90: New file.
+       * gfortran.dg/c-interop/section-errors-c.c: New file.
+       * gfortran.dg/c-interop/section-errors.f90: New file.
+       * gfortran.dg/c-interop/select-c.c: New file.
+       * gfortran.dg/c-interop/select-errors-c.c: New file.
+       * gfortran.dg/c-interop/select-errors.f90: New file.
+       * gfortran.dg/c-interop/select.f90: New file.
+       * gfortran.dg/c-interop/setpointer-c.c: New file.
+       * gfortran.dg/c-interop/setpointer-errors-c.c: New file.
+       * gfortran.dg/c-interop/setpointer-errors.f90: New file.
+       * gfortran.dg/c-interop/setpointer.f90: New file.
+       * gfortran.dg/c-interop/shape.f90: New file.
+       * gfortran.dg/c-interop/size.f90: New file.
+       * gfortran.dg/c-interop/tkr.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-basic-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-basic.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-char-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-char.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-float128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-float128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-int128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-int128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-longdouble-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-longdouble.f90: New file.
+       * gfortran.dg/c-interop/typecodes-sanity-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-sanity.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-basic-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-basic.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-float128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-int128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-int128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-longdouble-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-longdouble.f90: New file.
+       * gfortran.dg/c-interop/ubound.f90: New file.
+       * lib/target-supports.exp
+       (check_effective_target_fortran_real_c_float128): New function.
+
+2021-09-02  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/17506
+       PR testsuite/37182
+       * gcc.dg/diagnostic-tree-expr-ranges-2.c: Add expected output.
+       * gcc.dg/uninit-15-O0.c: Remove xfail.
+       * gcc.dg/uninit-15.c: Same.
+
+2021-09-02  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * gfortran.dg/gomp/target-device-ancestor-4.f90: Comment out dg-final to avoid
+       UNRESOLVED.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-lim-16.c: New testcase.
+
+2021-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99591
+       * gcc.target/i386/pr99591.c: New test.
+       * gcc.target/i386/pr97950.c: Match or reject setb or jn?b instructions
+       together with seta or jn?a.
+
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/sse2-float16-1.c: New test.
+       * gcc.target/i386/sse2-float16-2.c: Ditto.
+       * gcc.target/i386/sse2-float16-3.c: Ditto.
+       * gcc.target/i386/float16-5.c: New test.
+
+2021-09-01  Jeff Law  <jlaw@localhost.localdomain>
+
+       PR tree-optimization/102152
+       * gcc.dg/pr102152.c: New test
+
+2021-09-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101934
+       * gcc.target/aarch64/memset-strict-align-1.c: New test.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100977
+       * g++.dg/cpp23/normalize1.C: New test.
+       * g++.dg/cpp23/normalize2.C: New test.
+       * g++.dg/cpp23/normalize3.C: New test.
+       * g++.dg/cpp23/normalize4.C: New test.
+       * g++.dg/cpp23/normalize5.C: New test.
+       * g++.dg/cpp23/normalize6.C: New test.
+       * g++.dg/cpp23/normalize7.C: New test.
+       * g++.dg/cpp23/ucnid-1-utf8.C: New test.
+       * g++.dg/cpp23/ucnid-2-utf8.C: New test.
+       * gcc.dg/cpp/ucnid-4.c: Don't expect
+       "not valid at the start of an identifier" errors.
+       * gcc.dg/cpp/ucnid-4-utf8.c: Likewise.
+       * gcc.dg/cpp/ucnid-5-utf8.c: New test.
+
+2021-09-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR testsuite/51748
+       * gcc.misc-tests/linkage.exp: Add mips*-linux-* support.
+
+2021-09-01  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-11.c: Remove xfails.
+       * gcc.dg/Wstringop-overflow-12.c: Same.
+       * gcc.dg/Wstringop-overflow-43.c: Add xfails.
+       * gcc.dg/Wstringop-overflow-73.c: New test.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/101488
+       * c-c++-common/cpp/va-opt-3.c: Adjust expected output.
+       * c-c++-common/cpp/va-opt-7.c: New test.
+
+2021-09-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101592
+       * g++.dg/warn/Wlogical-op-3.C: New test.
+
+2021-09-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/ext/attr-unavailable-1.C: New test.
+       * g++.dg/ext/attr-unavailable-2.C: New test.
+       * g++.dg/ext/attr-unavailable-3.C: New test.
+       * g++.dg/ext/attr-unavailable-4.C: New test.
+       * g++.dg/ext/attr-unavailable-5.C: New test.
+       * g++.dg/ext/attr-unavailable-6.C: New test.
+       * g++.dg/ext/attr-unavailable-7.C: New test.
+       * g++.dg/ext/attr-unavailable-8.C: New test.
+       * g++.dg/ext/attr-unavailable-9.C: New test.
+       * gcc.dg/attr-unavailable-1.c: New test.
+       * gcc.dg/attr-unavailable-2.c: New test.
+       * gcc.dg/attr-unavailable-3.c: New test.
+       * gcc.dg/attr-unavailable-4.c: New test.
+       * gcc.dg/attr-unavailable-5.c: New test.
+       * gcc.dg/attr-unavailable-6.c: New test.
+       * obj-c++.dg/attributes/method-unavailable-1.mm: New test.
+       * obj-c++.dg/attributes/method-unavailable-2.mm: New test.
+       * obj-c++.dg/attributes/method-unavailable-3.mm: New test.
+       * obj-c++.dg/property/at-property-unavailable-1.mm: New test.
+       * obj-c++.dg/property/at-property-unavailable-2.mm: New test.
+       * obj-c++.dg/property/dotsyntax-unavailable-1.mm: New test.
+       * objc.dg/attributes/method-unavailable-1.m: New test.
+       * objc.dg/attributes/method-unavailable-2.m: New test.
+       * objc.dg/attributes/method-unavailable-3.m: New test.
+       * objc.dg/property/at-property-unavailable-1.m: New test.
+       * objc.dg/property/at-property-unavailable-2.m: New test.
+       * objc.dg/property/dotsyntax-unavailable-1.m: New test.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102124
+       * gcc.dg/torture/pr102124.c: New test.
+
+2021-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/93491
+       * gcc.dg/torture/pr93491.c: New testcase.
+       * gcc.dg/tree-ssa/pr88087.c: Change to valid PRE opportunity.
+
+2021-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102139
+       * gcc.dg/torture/pr102139.c: New testcase.
+
+2021-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102141
+       * gcc.dg/pr102141.c: New test.
+
+2021-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102149
+       * gcc.dg/torture/pr102149.c: New testcase.
+
+2021-09-01  Roger Sayle  <roger@nextmovesoftware.com>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/79412
+       * gcc.dg/pr79412.c: New test case.
+       * gcc.dg/typedef-var-2.c: Update expeted errors.
+
+2021-08-31  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100950
+       * gfortran.dg/pr100950.f90: Extend coverage.
+
+2021-08-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/12672
+       * g++.dg/cpp0x/decltype29.C: Adjust.
+       * g++.dg/template/error56.C: Adjust.
+       * g++.old-deja/g++.pt/unify6.C: Adjust.
+       * g++.dg/template/explicit-args7.C: New test.
+
+2021-08-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92193
+       * g++.dg/diagnostic/static_assert4.C: New test.
+
+2021-08-31  Jeff Law  <jlaw@localhost.localdomain>
+
+       * gcc.target/mips/mips.exp: Add tree-vrp to mips_option_group.
+       * gcc.target/mips/data-sym-multi-pool.c: Add -fno-tree-vrp.
+
+2021-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/101145
+       * gcc.dg/vect/pr101145.c: Use dg-additional-options with just -O3
+       instead of dg-options with -O3 -fdump-tree-vect-details.
+       * gcc.dg/vect/pr101145_1.c: Likewise.
+       * gcc.dg/vect/pr101145_2.c: Likewise.
+       * gcc.dg/vect/pr101145_3.c: Likewise.
+
+2021-08-31  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * c-c++-common/gomp/target-device-1.c: New test.
+       * c-c++-common/gomp/target-device-2.c: New test.
+       * c-c++-common/gomp/target-device-ancestor-1.c: New test.
+       * c-c++-common/gomp/target-device-ancestor-2.c: New test.
+       * c-c++-common/gomp/target-device-ancestor-3.c: New test.
+       * c-c++-common/gomp/target-device-ancestor-4.c: New test.
+       * gfortran.dg/gomp/target-device-1.f90: New test.
+       * gfortran.dg/gomp/target-device-2.f90: New test.
+       * gfortran.dg/gomp/target-device-ancestor-1.f90: New test.
+       * gfortran.dg/gomp/target-device-ancestor-2.f90: New test.
+       * gfortran.dg/gomp/target-device-ancestor-3.f90: New test.
+       * gfortran.dg/gomp/target-device-ancestor-4.f90: New test.
+
+2021-08-31  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102142
+       * g++.dg/torture/pr102142.C: New testcase.
+
+2021-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102134
+       * gcc.c-torture/execute/pr102134.c: New test.
+
+2021-08-31  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * gcc.target/arm/pr51534.c: Adjust test-case for soft fp targets.
+
+2021-08-31  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/ipa/inline-8.c: Mark cmp and move as
+       static so they both bind local and available for
+       inlinine.
+
+2021-08-31  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512bw-vpcmpeqb-1.c: Adjust testcase.
+       * gcc.target/i386/avx512bw-vpcmpeqw-1.c: Ditto.
+       * gcc.target/i386/avx512bw-vpcmpgtb-1.c: Ditto.
+       * gcc.target/i386/avx512bw-vpcmpgtw-1.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vpcmpeqd-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vpcmpeqq-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vpcmpgtd-1.c: Ditto.
+       * gcc.target/i386/avx512vl-vpcmpgtq-1.c: Ditto.
+       * gcc.target/i386/bitwise_mask_op-1.c: Ditto.
+       * gcc.target/i386/bitwise_mask_op-2.c: Ditto.
+
+2021-08-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99260
+       * gcc.dg/analyzer/capacity-2.c: Update for changes to realloc
+       analysis.
+       * gcc.dg/analyzer/pr99193-1.c: Likewise.
+       * gcc.dg/analyzer/pr99193-3.c: Likewise.
+       * gcc.dg/analyzer/realloc-1.c: Likewise.  Add test coverage for
+       realloc of non-heap pointer, realloc from mismatching allocator,
+       and realloc on a freed pointer.
+       * gcc.dg/analyzer/realloc-2.c: New test.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96286
+       * g++.dg/template/access2.C: Split struct A.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101460
+       * g++.dg/template/explicit-args6.C: New test.
+
+2021-08-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/102113
+       * gfortran.dg/goto_9.f90: New test.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/concepts-lambda14.C: Add expected warnings.
+
+2021-08-30  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101349
+       * gfortran.dg/unlimited_polymorphic_33.f90: New test.
+
+2021-08-30  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-stst.c: New test.
+       * gcc.target/powerpc/fusion-p10-stst2.c: New test.
+
+2021-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/102094
+       * gdc.dg/lto/pr102094_0.d: New test.
+
+2021-08-29  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/analyzer/strndup-1.c: Skip for Darwin versions
+       without strndup support in libc.
+
+2021-08-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-9.c: New test.
+
+2021-08-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/87737
+       * gfortran.dg/entry_24.f90: New test.
+
+2021-08-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-call.c: Update comments.
+
+2021-08-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-call.c: Fix test for IEEE 128-bit
+       long double and power10.
+
+2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * lib/target-supports.exp: Exclude cctools assembler based on
+       GAS 1.38.
+
+2021-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/45178
+       * gcc.dg/tree-ssa/ssa-dce-3.c: Adjust testcase.
+
+2021-08-27  konglin1  <lingling.kong@intel.com>
+
+       PR target/101472
+       * gcc.target/i386/avx512f-pr101472.c: New test.
+       * gcc.target/i386/avx512vl-pr101472.c: New test.
+
+2021-08-27  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/dive-vectorize-1.c: New test.
+       * gcc.target/powerpc/dive-vectorize-1.h: New test.
+       * gcc.target/powerpc/dive-vectorize-2.c: New test.
+       * gcc.target/powerpc/dive-vectorize-2.h: New test.
+       * gcc.target/powerpc/dive-vectorize-run-1.c: New test.
+       * gcc.target/powerpc/dive-vectorize-run-2.c: New test.
+       * gcc.target/powerpc/p10-bifs-vectorize-1.c: New test.
+       * gcc.target/powerpc/p10-bifs-vectorize-1.h: New test.
+       * gcc.target/powerpc/p10-bifs-vectorize-run-1.c: New test.
+
+2021-08-27  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512f-vshufpd-1.c: Adjust testcase.
+       * gcc.target/i386/avx512f-vshufps-1.c: Adjust testcase.
+       * gcc.target/i386/pr43147.c: New test.
+
+2021-08-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/tree-ssa/ssa-ccp-41.c: New test case.
+
+2021-08-26  Martin Liska  <mliska@suse.cz>
+           Stefan Kneifel  <stefan.kneifel@bluewin.ch>
+
+       * gcc.target/i386/mvc5.c: Scan assembly names.
+       * gcc.target/i386/mvc7.c: Likewise.
+       * gcc.target/i386/pr95778-1.c: Update scanned patterns.
+       * gcc.target/i386/pr95778-2.c: Likewise.
+
+2021-08-25  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/tree-ssa/evrp1.c: Add -details to dump option.
+       * gcc.dg/tree-ssa/evrp2.c: Same.
+       * gcc.dg/tree-ssa/evrp3.c: Same.
+       * gcc.dg/tree-ssa/evrp4.c: Same.
+       * gcc.dg/tree-ssa/evrp6.c: Same.
+       * gcc.dg/tree-ssa/pr64130.c: Same.
+
+2021-08-25  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/94630
+       * gcc.target/powerpc/pr70117.c: Specify that we need the long double
+       type to be IBM 128-bit.  Remove the code to use __ibm128.
+       * c-c++-common/dfp/convert-bfp-11.c: Specify that we need the long
+       double type to be IBM 128-bit.  Run the test at -O2 optimization.
+       * lib/target-supports.exp (add_options_for_long_double_ibm128): New
+       function.
+       (check_effective_target_long_double_ibm128): New function.
+       (add_options_for_long_double_ieee128): New function.
+       (check_effective_target_long_double_ieee128): New function.
+       (add_options_for_long_double_64bit): New function.
+       (check_effective_target_long_double_64bit): New function.
+
+2021-08-25  Andrew Pinski  <apinski@marvell.com>
+
+       PR c++/66590
+       * g++.dg/warn/Wreturn-5.C: New test.
+
+2021-08-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/ipa/modref-1.c: Update testcase.
+       * gcc.dg/tree-ssa/modref-4.c: Update testcase.
+       * gcc.dg/tree-ssa/modref-8.c: New test.
+
+2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR other/93067
+       * gcc.dg/diagnostic-input-charset-1.c: New test.
+       * gcc.dg/diagnostic-input-utf8-bom.c: New test.
+
+2021-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102046
+       * gcc.dg/vect/pr102046.c: New testcase.
+
+2021-08-25  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/101716
+       * gcc.target/i386/pr101716.c: New test.
+
+2021-08-25  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR tree-optimization/101145
+       * gcc.dg/vect/pr101145.c: New test.
+       * gcc.dg/vect/pr101145.inc: New test.
+       * gcc.dg/vect/pr101145_1.c: New test.
+       * gcc.dg/vect/pr101145_2.c: New test.
+       * gcc.dg/vect/pr101145_3.c: New test.
+       * gcc.dg/vect/pr101145inf.c: New test.
+       * gcc.dg/vect/pr101145inf.inc: New test.
+       * gcc.dg/vect/pr101145inf_1.c: New test.
+
+2021-08-25  konglin1  <lingling.kong@intel.com>
+
+       PR target/101471
+       * gcc.target/i386/avx512f-pr101471.c: New test.
+
+2021-08-25  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/unpack-vectorize-1.c: New test.
+       * gcc.target/powerpc/unpack-vectorize-1.h: New test.
+       * gcc.target/powerpc/unpack-vectorize-2.c: New test.
+       * gcc.target/powerpc/unpack-vectorize-2.h: New test.
+       * gcc.target/powerpc/unpack-vectorize-3.c: New test.
+       * gcc.target/powerpc/unpack-vectorize-3.h: New test.
+       * gcc.target/powerpc/unpack-vectorize-run-1.c: New test.
+       * gcc.target/powerpc/unpack-vectorize-run-2.c: New test.
+       * gcc.target/powerpc/unpack-vectorize-run-3.c: New test.
+       * gcc.target/powerpc/unpack-vectorize.h: New test.
+
+2021-08-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * gcc.target/i386/avx2-shiftqihi-constant-1.c: Add -mno-avx512f.
+       * gcc.target/i386/sse2-shiftqihi-constant-1.c: Add -mno-avx
+
+2021-08-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98411
+       * gfortran.dg/pr98411.f90: Adjust testcase options to restrict to
+       F2008, and verify case of implicit SAVE.
+
+2021-08-24  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101600
+       PR middle-end/101977
+       * g++.dg/pr100574.C: Prune out valid warning.
+       * gcc.dg/pr20126.c: Same.
+       * gcc.dg/Wstringop-overread.c: Adjust text of expected warnings.
+       Add new instances.
+       * gcc.dg/warn-strnlen-no-nul.c: Same.
+       * g++.dg/warn/Warray-bounds-26.C: New test.
+       * gcc.dg/Warray-bounds-88.c: New test.
+
+2021-08-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/predict-1.c: Disable evrp.
+       * gcc.dg/tree-ssa/evrp-trans.c: New.
+
+2021-08-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/102021
+       * gcc.target/i386/pr100865-10b.c: Expect vzeroupper.
+       * gcc.target/i386/pr100865-4b.c: Likewise.
+       * gcc.target/i386/pr100865-6b.c: Expect vmovdqu and vzeroupper.
+       * gcc.target/i386/pr100865-7b.c: Likewise.
+       * gcc.target/i386/pr102021.c: New test.
+
+2021-08-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102035
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13a.c: New test.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7a.c: Likewise.
+       * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8a.c: Likewise.
+
+2021-08-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       * lib/target-supports.exp (check_effective_target_arm_cmse_hw):
+       Check the CMSE feature register, rather than relying on the
+       SG operation causing an execution fault.
+
+2021-08-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * gcc.target/i386/pr101989-broadcast-1.c: New test.
+
+2021-08-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101989
+       * gcc.target/i386/pr101989-1.c: New test.
+       * gcc.target/i386/pr101989-2.c: New test.
+       * gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Adjust testcase.
+
+2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/102029
+       * gcc.dg/fold-convlshift-3.c: New test case.
+
+2021-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/switch.c: Remove xfail.  Add various tests.
+       * gcc.dg/analyzer/torture/switch-2.c: New test.
+       * gcc.dg/analyzer/torture/switch-3.c: New test.
+       * gcc.dg/analyzer/torture/switch-4.c: New test.
+       * gcc.dg/analyzer/torture/switch-5.c: New test.
+
+2021-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101875
+       * gcc.dg/analyzer/pr101875.c: New test.
+
+2021-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101837
+       * gcc.dg/analyzer/pr101837.c: New test.
+
+2021-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101962
+       * gcc.dg/analyzer/data-model-23.c: New test.
+       * gcc.dg/analyzer/pr101962.c: New test.
+
+2021-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/data-model-22.c: New test.
+       * gcc.dg/analyzer/uninit-6.c: New test.
+       * gcc.dg/analyzer/uninit-6b.c: New test.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-7.c: New test.
+
+2021-08-23  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/97565
+       * g++.dg/lto/pr97565_0.C: New testcase.
+       * g++.dg/lto/pr97565_1.C: Likewise.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/tree-ssa/modref-1.C: Fix template.
+
+2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/asyncwait-1.f95: Update dg-error.
+       * gfortran.dg/goacc/default-2.f: Update dg-error.
+       * gfortran.dg/goacc/enter-exit-data.f95: Update dg-error.
+       * gfortran.dg/goacc/if.f95: Update dg-error.
+       * gfortran.dg/goacc/parallel-kernels-clauses.f95: Update dg-error.
+       * gfortran.dg/goacc/routine-6.f90: Update dg-error.
+       * gfortran.dg/goacc/sie.f95: Update dg-error.
+       * gfortran.dg/goacc/update-if_present-2.f90: Update dg-error.
+       * gfortran.dg/gomp/cancel-2.f90: Update dg-error.
+       * gfortran.dg/gomp/declare-simd-1.f90: Update dg-error.
+       * gfortran.dg/gomp/error-3.f90: Update dg-error.
+       * gfortran.dg/gomp/loop-2.f90: Update dg-error.
+       * gfortran.dg/gomp/masked-2.f90: Update dg-error.
+
+2021-08-23  Ankur Saini  <arsenic@sourceware.org>
+
+       PR analyzer/102020
+       * gcc.dg/analyzer/malloc-callbacks.c : Fix faulty test.
+
+2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/fold-convlshift-1.c: New test case.
+       * gcc.dg/fold-convlshift-2.c: New test case.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/86723
+       * gcc.dg/pr86723.c: New test.
+       * gcc.target/i386/pr86723.c: New test.
+       * gcc.dg/optimize-bswapdi-1.c: Use -fdump-tree-optimized instead of
+       -fdump-tree-bswap and scan for number of __builtin_bswap64 calls.
+       * gcc.dg/optimize-bswapdi-2.c: Likewise.
+       * gcc.dg/optimize-bswapsi-1.c: Use -fdump-tree-optimized instead of
+       -fdump-tree-bswap and scan for number of __builtin_bswap32 calls.
+       * gcc.dg/optimize-bswapsi-5.c: Likewise.
+       * gcc.dg/optimize-bswapsi-3.c: Likewise.  Expect one __builtin_bswap32
+       call instead of zero.
+
+2021-08-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/79334
+       * gcc.dg/torture/pr79334-0.c: New testcase.
+       * gcc.dg/torture/pr79334-1.c: Likewise.
+
+2021-08-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/102016
+       * gcc.target/i386/pr102016.c: New test.
+
+2021-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101905
+       * gcc.dg/guality/pr101905.c: New test.
+
+2021-08-23  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR target/100856
+       * gcc.target/arm/acle/pr100856.c: Use arm_v8m_main_cde_multilib
+       and arm_v8m_main_cde.
+       * lib/target-supports.exp: Add
+       check_effective_target_FUNC_multilib for ARM CDE.
+
+2021-08-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/tree-ssa/modref-1.C: New test.
+
+2021-08-23  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/101922
+       * gcc.target/mips/pr101922.c: New test.
+
+2021-08-23  Jonathan Yong  <10walls@gmail.com>
+
+       * gcc.c-torture/execute/gcc_tmpnam.h: Fix tmpnam case on Windows
+       where it can return a filename with "\" to indicate current
+       directory.
+       * gcc.c-torture/execute/fprintf-2.c: Use wrapper.
+       * gcc.c-torture/execute/printf-2.c: Use wrapper.
+       * gcc.c-torture/execute/user-printf.c: Use wrapper.
+
+2021-08-22  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/98397
+       * gcc.dg/c11-qual-1.c: New test.
+       * gcc.dg/c2x-qual-1.c: New test.
+       * gcc.dg/c2x-qual-2.c: New test.
+       * gcc.dg/c2x-qual-3.c: New test.
+       * gcc.dg/c2x-qual-4.c: New test.
+       * gcc.dg/c2x-qual-5.c: New test.
+       * gcc.dg/c2x-qual-6.c: New test.
+       * gcc.dg/c2x-qual-7.c: New test.
+       * gcc.dg/pointer-array-quals-1.c: Remove unnecessary flag.
+       * gcc.dg/pointer-array-quals-2.c: Remove unnecessary flag.
+
+2021-08-22  Jan Hubicka  <hubicka@ucw.cz>
+           Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/lto/pr101949_0.c: New test.
+       * gcc.dg/lto/pr101949_1.c: New test.
+
+2021-08-21  Ankur Saini  <arsenic@sourceware.org>
+
+       PR analyzer/101980
+       * gcc.dg/analyzer/function-ptr-2.c : Add issue for double 'free'.
+       * gcc.dg/analyzer/malloc-callbacks.c : Fix xfail testcase.
+
+2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/error-1.f90: New test.
+       * gfortran.dg/gomp/error-2.f90: New test.
+       * gfortran.dg/gomp/error-3.f90: New test.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/error-1.c: New test.
+       * c-c++-common/gomp/error-2.c: New test.
+       * c-c++-common/gomp/error-3.c: New test.
+       * g++.dg/gomp/attrs-1.C (bar): Add error directive test.
+       * g++.dg/gomp/attrs-2.C (bar): Add error directive test.
+       * g++.dg/gomp/attrs-13.C: New test.
+       * g++.dg/gomp/error-1.C: New test.
+
+2021-08-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/sink-5.c: New test.
+       * c-c++-common/gomp/requires-3.c: Add test for spurious comma
+       at the end of pragma line.
+
+2021-08-19  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * c-c++-common/Wunused-var-16.c: Add an extra check that ~0
+       is optimized away.
+
+2021-08-19  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/101849
+       * gcc.target/powerpc/pr101849.c: New test.
+
+2021-08-19  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100950
+       * gfortran.dg/pr100950.f90: New test.
+
+2021-08-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101803
+       * g++.dg/cpp2a/class-deduction-aggr12.C: Fix PR number.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101950
+       * gcc.target/i386/pr101950-1.c: New test.
+       * gcc.target/i386/pr101950-2.c: New test.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/requires-3.c: Add testcase for
+       atomic_default_mem_order ( at the end of line without corresponding ).
+
+2021-08-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * jit.dg/test-asm.c: Provide Mach-O fragment.
+       * jit.dg/test-asm.cc: Likewise.
+
+2021-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/nothing-2.c: New test.
+
+2021-08-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * jit.dg/harness.h: Include jit-dejagnu.h.
+       * jit.dg/jit.exp: Use -rdynamic conditionally on target
+       support, instead of unconditional -Wl,--export-dynamic.
+
+2021-08-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR testsuite/101969
+       * gcc.dg/pr78213.c: Fix up for '--enable-checking=release' etc.
+
+2021-08-19  liuhongt  <hongtao.liu@intel.com>
+
+       Revert:
+       2021-08-19  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99881
+       * gcc.target/i386/pr99881.c: New test.
+
+2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR testsuite/101963
+       * gfortran.dg/nothing-1.f90: Moved to ...
+       * gfortran.dg/gomp/nothing-1.f90: ... here.
+       * gfortran.dg/nothing-2.f90: Moved to ...
+       * gfortran.dg/gomp/nothing-2.f90: ... here;
+       avoid $ issue in $OMP in dg-error.
+
+2021-08-18  Iain Sandoe  <iain@sandoe.co.uk>
+           Matt Jacobson   <mhjacobson@me.com>
+
+       PR objc/101666
+       * obj-c++.dg/pr101666-0.mm: New test.
+       * obj-c++.dg/pr101666-1.mm: New test.
+       * obj-c++.dg/pr101666.inc: New.
+       * objc.dg/pr101666-0.m: New test.
+       * objc.dg/pr101666-1.m: New test.
+       * objc.dg/pr101666.inc: New.
+
+2021-08-18  Ankur Saini  <arsenic@sourceware.org>
+
+       PR analyzer/97114
+       * g++.dg/analyzer/vfunc-2.C: New test.
+       * g++.dg/analyzer/vfunc-3.C: New test.
+       * g++.dg/analyzer/vfunc-4.C: New test.
+       * g++.dg/analyzer/vfunc-5.C: New test.
+
+2021-08-18  Ankur Saini  <arsenic@sourceware.org>
+
+       PR analyzer/100546
+       * gcc.dg/analyzer/function-ptr-4.c: New test.
+       * gcc.dg/analyzer/pr100546.c: New test.
+
+2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/nothing-1.f90: New test.
+       * gfortran.dg/nothing-2.f90: New test.
+
+2021-08-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101344
+       PR c++/101803
+       * g++.dg/cpp2a/class-deduction-aggr11.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr12.C: New test.
+
+2021-08-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101883
+       * g++.dg/cpp2a/nontype-class49.C: New test.
+
+2021-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/nothing-1.c: New test.
+       * g++.dg/gomp/attrs-1.C (bar): Add nothing directive test.
+       * g++.dg/gomp/attrs-2.C (bar): Likewise.
+       * g++.dg/gomp/attrs-9.C: Likewise.
+
+2021-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/pr63326.c: Don't expect extra "before" errors
+       in C++.
+       * g++.dg/gomp/attrs-7.C: Don't expect one extra error.
+       * g++.dg/gomp/barrier-2.C: Likewise.
+       * gcc.dg/gomp/declare-simd-5.c: Likewise.
+       * gcc.dg/gomp/barrier-2.c: Likewise.
+       * gcc.dg/gomp/declare-variant-2.c: Likewise.
+
+2021-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97147
+       * gcc.target/i386/pr54400.c: Adjust testcase.
+       * gcc.target/i386/pr94147.c: New test.
+
+2021-08-17  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101854
+       * gcc.dg/attr-alloc_size-5.c: Adjust optimization to -O1.
+       * gcc.dg/attr-alloc_size-7.c: Use #pragmas to adjust optimization.
+       * gcc.dg/attr-alloc_size-8.c: Adjust optimization to -O1.
+       * gcc.dg/Wstringop-overflow-72.c: New test.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101539
+       * g++.dg/cpp2a/is-corresponding-member1.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member2.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member3.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member4.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member5.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member6.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member7.C: New test.
+       * g++.dg/cpp2a/is-corresponding-member8.C: New test.
+       * g++.dg/cpp2a/is-layout-compatible1.C: New test.
+       * g++.dg/cpp2a/is-layout-compatible2.C: New test.
+       * g++.dg/cpp2a/is-layout-compatible3.C: New test.
+
+2021-08-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc.dg/pr78213.c: Restore testing.
+
+2021-08-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/tree-ssa/ssa-ccp-40.c: New test case.
+
+2021-08-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/fold-ior-5.c: New test case.
+
+2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/scan-1.f90:
+       * gfortran.dg/gomp/cancel-1.f90: New test.
+       * gfortran.dg/gomp/cancel-4.f90: New test.
+       * gfortran.dg/gomp/loop-4.f90: New test.
+       * gfortran.dg/gomp/nesting-1.f90: New test.
+       * gfortran.dg/gomp/nesting-2.f90: New test.
+       * gfortran.dg/gomp/nesting-3.f90: New test.
+       * gfortran.dg/gomp/nowait-1.f90: New test.
+       * gfortran.dg/gomp/reduction-task-1.f90: New test.
+       * gfortran.dg/gomp/reduction-task-2.f90: New test.
+       * gfortran.dg/gomp/reduction-task-2a.f90: New test.
+       * gfortran.dg/gomp/reduction-task-3.f90: New test.
+       * gfortran.dg/gomp/scope-1.f90: New test.
+       * gfortran.dg/gomp/scope-2.f90: New test.
+
+2021-08-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101938
+       * gcc.dg/pr101938.c: New test.
+
+2021-08-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101868
+       * gcc.dg/lto/pr101868_0.c: New testcase.
+       * gcc.dg/lto/pr101868_1.c: Likewise.
+       * gcc.dg/lto/pr101868_2.c: Likewise.
+       * gcc.dg/lto/pr101868_3.c: Likewise.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/nesting-2.c (foo): Add scope and masked
+       construct tests.
+       * c-c++-common/gomp/scan-1.c (f3): Add scope construct test..
+       * c-c++-common/gomp/cancel-1.c (f2): Add scope and masked
+       construct tests.
+       * c-c++-common/gomp/reduction-task-2.c (bar): Add scope construct
+       test.  Adjust diagnostics for the addition of scope.
+       * c-c++-common/gomp/loop-1.c (f5): Add master, masked and scope
+       construct tests.
+       * c-c++-common/gomp/clause-dups-1.c (f1): Add scope construct test.
+       * gcc.dg/gomp/nesting-1.c (f1, f2, f3): Add scope construct tests.
+       * c-c++-common/gomp/scope-1.c: New test.
+       * c-c++-common/gomp/scope-2.c: New test.
+       * g++.dg/gomp/attrs-1.C (bar): Add scope construct tests.
+       * g++.dg/gomp/attrs-2.C (bar): Likewise.
+       * gfortran.dg/gomp/reduction4.f90: Adjust expected diagnostics.
+       * gfortran.dg/gomp/reduction7.f90: Likewise.
+
+2021-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/cpp/va-opt-5.c: New test.
+       * c-c++-common/cpp/va-opt-6.c: New test.
+
+2021-08-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101925
+       * gcc.dg/sso-16.c: New testcase.
+
+2021-08-17  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr82460-2.c: Adjust testcase by adding
+       --param=vect-epilogues-nomask=0
+
+2021-08-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101930
+       * gcc.target/i386/pr101930.c: New test.
+
+2021-08-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/100600
+       * gcc.dg/ipa/pr100600.c: New test.
+
+2021-08-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101846
+       * gcc.target/i386/pr101846-2.c: New test.
+       * gcc.target/i386/pr101846-3.c: New test.
+       * gcc.target/i386/pr101846-4.c: New test.
+
+2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/masked-1.f90: New test.
+       * gfortran.dg/gomp/masked-2.f90: New test.
+       * gfortran.dg/gomp/masked-3.f90: New test.
+       * gfortran.dg/gomp/masked-combined-1.f90: New test.
+       * gfortran.dg/gomp/masked-combined-2.f90: New test.
+
+2021-08-15  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99351
+       * gfortran.dg/coarray_sync.f90: New test.
+       * gfortran.dg/coarray_3.f90: Adjust error messages.
+
+2021-08-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101791
+       * g++.dg/warn/Wmismatched-new-delete-6.C: New test.
+       * g++.dg/warn/Wmismatched-new-delete-7.C: New test.
+
+2021-08-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101896
+       * gcc.target/i386/avx512f-pr101896.c: New test.
+
+2021-08-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101734
+       * gcc.dg/uninit-42.c: New test.
+
+2021-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/101261
+       * gcc.target/i386/pr101261.c: New test.
+
+2021-08-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-6.c: Update.
+
+2021-08-13  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * gcc.target/arm/simd/pr98435.c: Add dg-require-effective-target
+       arm_softfp_ok.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/clauses-1.c (bar): Add tests for combined masked
+       constructs with clauses.
+       * c-c++-common/gomp/clauses-5.c (foo): Add testcase for filter clause.
+       * c-c++-common/gomp/clause-dups-1.c (f1): Likewise.
+       * c-c++-common/gomp/masked-1.c: New test.
+       * c-c++-common/gomp/masked-2.c: New test.
+       * c-c++-common/gomp/masked-combined-1.c: New test.
+       * c-c++-common/gomp/masked-combined-2.c: New test.
+       * c-c++-common/goacc/uninit-if-clause.c: Remove xfails.
+       * g++.dg/gomp/block-11.C: New test.
+       * g++.dg/gomp/tpl-masked-1.C: New test.
+       * g++.dg/gomp/attrs-1.C (bar): Add tests for masked construct and
+       combined masked constructs with clauses in attribute syntax.
+       * g++.dg/gomp/attrs-2.C (bar): Likewise.
+       * gcc.dg/gomp/nesting-1.c (f1, f2): Add tests for masked construct
+       nesting.
+       * gfortran.dg/goacc/host_data-tree.f95: Allow also SSA_NAMEs in if
+       clause.
+       * gfortran.dg/goacc/kernels-tree.f95: Likewise.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/101638
+       * gcc.dg/cpp/pr101638.c: New test.
+
+2021-08-12  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: Fix
+       typo in regular expression.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c:
+       Likewise.
+
+2021-08-12  Sergei Trofimovich  <siarheit@google.com>
+
+       PR c++/101219
+       * g++.dg/warn/pr101219.C: New test.
+
+2021-08-12  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/101838
+       * gcc.dg/vla-stexp-2.c: New test.
+
+2021-08-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Remove call into the legacy
+       code and adjust for ranger threader.
+
+2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/pr61486-2.c: Duplicate one proc_bind(master)
+       testcase and test proc_bind(primary) instead.
+       * gfortran.dg/gomp/affinity-1.f90: Likewise.
+
+2021-08-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gfortran.dg/PR82376.f90: Robustify match.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101860
+       * gcc.target/i386/avx512f-pr101860.c: New test.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-12.C: New test.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-11.C: Add new tests.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99429
+       PR c++/94162
+       * g++.dg/cpp2a/spaceship-synth11.C: New test.
+       * g++.dg/cpp2a/spaceship-synth-neg6.C: New test.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-11.C: Adjust expected diagnostics.
+
+2021-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/lookup/strong-using.C: Add test using [[gnu::strong]]
+       as well.
+       * g++.dg/lookup/strong-using2.C: Likewise.
+       * g++.dg/cpp0x/gen-attrs-58.C: Move alignas(int) before
+       using namespace.
+       * g++.dg/cpp0x/gen-attrs-59.C: Move alignas(X) before
+       using namespace, add tests for alignas before semicolon.
+       * g++.dg/cpp0x/gen-attrs-76.C: Remove xfails.  Add test for
+       C++11 attributes on using directive before semicolon.
+
+2021-08-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101846
+       * gcc.target/i386/pr101846-1.c: New test.
+
+2021-08-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101663
+       * g++.dg/cpp2a/construct_at.h: New convenience header file that
+       defines minimal implementations of std::construct_at/destroy_at,
+       split out from ...
+       * g++.dg/cpp2a/constexpr-new5.C: ... here.
+       * g++.dg/cpp2a/constexpr-new6.C: Use the header.
+       * g++.dg/cpp2a/constexpr-new14.C: Likewise.
+       * g++.dg/cpp2a/constexpr-new20.C: New test.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101725
+       DR 2082
+       * g++.dg/DRs/dr2082.C: New test.
+       * g++.dg/cpp2a/concepts-uneval4.C: New test.
+
+2021-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101786
+       * g++.dg/cpp2a/constinit16.C: New test.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79501
+       * g++.dg/cpp1z/class-deduction98.C: New test.
+
+2021-08-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/89062
+       * g++.dg/cpp1z/class-deduction97.C: New test.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/lto/pr48622_1.c: Provide non-LTO definition
+       of ashift_qi_1.
+
+2021-08-11  Jan Hubicka  <jh@suse.cz>
+
+       * c-c++-common/modref-dse.c: New test.
+
+2021-08-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101858
+       * gcc.dg/pr101858.c: New testcase.
+
+2021-08-11  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * gcc.target/arm/pr51534.c: Adjust test.
+
+2021-08-11  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98309
+       * gcc.target/i386/pr98309-1.c: New test.
+       * gcc.target/i386/pr98309-2.c: New test.
+
+2021-08-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/101674
+       * gcc.dg/uninit-pred-9_b.c: Xfail for cris-*-* too.
+
+2021-08-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libfortran/101305
+       PR fortran/101660
+       PR testsuite/101847
+       * lib/gfortran.exp (gfortran_init): Remove -I$specpath/libgfortran
+       from the string used to set GFORTRAN_UNDER_TEST.
+
+2021-08-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR tree-optimization/101809
+       * gcc.target/i386/pr88531-1a.c: Enable for all targets.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/80355
+       * gcc.target/i386/avx512f-pr80355-2.c: New test.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/80355
+       * gcc.target/i386/avx512f-pr80355-1.c: New test.
+
+2021-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-1.C (bar): Add missing semicolon after
+       [[omp::directive (threadprivate (t2))]].  Add tests with
+       if/while/switch after parallel in attribute syntax.
+       (corge): Add missing omp:: before directive.
+       * g++.dg/gomp/attrs-2.C (bar): Add missing semicolon after
+       [[omp::directive (threadprivate (t2))]].
+       * g++.dg/gomp/attrs-10.C: New test.
+       * g++.dg/gomp/attrs-11.C: New test.
+
+2021-08-10  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/amxbf16-dpbf16ps-2.c: Fix typos.
+
+2021-08-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101824
+       * gcc.dg/tree-ssa/pr101824.c: New testcase.
+
+2021-08-10  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/29970
+       * gcc.dg/vla-stexp-1.c: New test.
+
+2021-08-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101804
+       * gcc.target/i386/avx2-gather-2.c: Pass -march=skylake instead
+       of "-mavx2 -mtune=skylake".  Scan vpcmpeqd.
+
+2021-08-10  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_shift_d-1.c: New test.
+       * gcc.target/i386/cond_op_shift_d-2.c: New test.
+       * gcc.target/i386/cond_op_shift_q-1.c: New test.
+       * gcc.target/i386/cond_op_shift_q-2.c: New test.
+       * gcc.target/i386/cond_op_shift_ud-1.c: New test.
+       * gcc.target/i386/cond_op_shift_ud-2.c: New test.
+       * gcc.target/i386/cond_op_shift_uq-1.c: New test.
+       * gcc.target/i386/cond_op_shift_uq-2.c: New test.
+       * gcc.target/i386/cond_op_shift_uw-1.c: New test.
+       * gcc.target/i386/cond_op_shift_uw-2.c: New test.
+       * gcc.target/i386/cond_op_shift_w-1.c: New test.
+       * gcc.target/i386/cond_op_shift_w-2.c: New test.
+
+2021-08-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr101741.c: New.
+
+2021-08-09  Martin Jambor  <mjambor@suse.cz>
+
+       PR testsuite/101654
+       * gcc.dg/ipa/remref-6.c: Added missing -fdump-ipa-inline option.
+
+2021-08-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101812
+       * gcc.target/i386/pr101812.c: New test.
+
+2021-08-09  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * gcc.target/aarch64/vect-shr-reg.c: New testcase.
+       * gcc.target/aarch64/vect-shr-reg-run.c: Likewise.
+
+2021-08-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/pr68217.c: Add -fno-tree-ccp option.
+       * gcc.dg/tree-ssa/vrp24.c: Add -fno-tree-ccp option.
+       * g++.dg/ipa/pure-const-3.C: Add -fno-tree-ccp option.
+
+2021-08-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libfortran/101305
+       PR fortran/101660
+       * lib/gfortran.exp (gfortran_init): Add -I $specdir/libgfortran to
+       GFORTRAN_UNDER_TEST; update it when set by previous gfortran_init call.
+       * gfortran.dg/ISO_Fortran_binding_1.c: Use <...> not "..." for
+       ISO_Fortran_binding.h's #include.
+       * gfortran.dg/ISO_Fortran_binding_10.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_11.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_12.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_15.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_16.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_17.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_18.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_3.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_5.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_6.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_7.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_8.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_9.c: Likewise.
+       * gfortran.dg/PR94327.c: Likewise.
+       * gfortran.dg/PR94331.c: Likewise.
+       * gfortran.dg/bind_c_array_params_3_aux.c: Likewise.
+       * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Likewise.
+       * gfortran.dg/pr93524.c: Likewise.
+
+2021-08-09  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/sve/dup_lane_1.c: Don't split
+       scan-assembler tests over multiple lines. Expect 32-bit
+       result values in 'w' registers.
+       * gcc.target/aarch64/sve/extract_1.c: Likewise.
+       * gcc.target/aarch64/sve/extract_2.c: Likewise.
+       * gcc.target/aarch64/sve/extract_3.c: Likewise.
+       * gcc.target/aarch64/sve/extract_4.c: Likewise.
+
+2021-08-09  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Restrict
+       tests to little-endian targets.
+
+2021-08-08  Jeff Law  <jlaw@localhost.localdomain>
+
+       * gcc.target/tic6x/rotdi16-scan.c: Pull rotate into its own function.
+
+2021-08-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR tree-optimization/88531
+       * gcc.target/i386/pr88531-1a.c: New test.
+       * gcc.target/i386/pr88531-1b.c: Likewise.
+       * gcc.target/i386/pr88531-1c.c: Likewise.
+       * gcc.target/i386/pr88531-2a.c: Likewise.
+       * gcc.target/i386/pr88531-2b.c: Likewise.
+       * gcc.target/i386/pr88531-2c.c: Likewise.
+
+2021-08-06  Martin Sebor  <msebor@redhat.com>
+
+       * c-c++-common/Wsizeof-pointer-memaccess1.c: Also disable
+       -Wstringop-overread.
+       * c-c++-common/attr-nonstring-3.c: Adjust pattern of expected message.
+       * gcc.dg/Warray-bounds-39.c: Add an xfail due to a known bug.
+       * gcc.dg/Wstring-compare-3.c: Also disable -Wstringop-overread.
+       * gcc.dg/attr-nonstring-2.c: Adjust pattern of expected message.
+       * gcc.dg/attr-nonstring-4.c: Same.
+       * gcc.dg/Wstringop-overread-6.c: New test.
+       * gcc.dg/sso-14.c: Fix typos to avoid buffer overflow.
+
+2021-08-06  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR target/101723
+       * gcc.target/arm/pr69245.c: Make sure to emit code for fn1, fix
+       typo.
+
+2021-08-06  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR target/101723
+       * gcc.target/arm/attr-neon3.c: Fix typo.
+       * gcc.target/arm/pragma_fpu_attribute_2.c: Fix typo.
+
+2021-08-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101797
+       * gcc.target/i386/pr101797.c: New test.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-08-06  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-08-06  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/powerpc/pragma-optimize.c: New test.
+
+2021-08-06  Richard Biener  <rguenther@suse.de>
+
+       * gfortran.dg/vect/vect-8.f90: Simplify aarch64 scanning.
+
+2021-08-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcc.dg/gcov-info-to-gcda.c: New test.
+
+2021-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.old-deja/g++.other/inline7.C: Cast nodiscard call to void.
+
+2021-08-05  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * gcc.target/i386/pr99744-3.c: New test.
+       * gcc.target/i386/pr99744-4.c: Likewise.
+       * gcc.target/i386/pr99744-5.c: Likewise.
+       * gcc.target/i386/pr99744-6.c: Likewise.
+       * gcc.target/i386/pr99744-7.c: Likewise.
+       * gcc.target/i386/pr99744-8.c: Likewise.
+
+2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/101723
+       * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Update expected output.
+       * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise.
+       * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Convert to dg-do assemble.
+       Add a non-no-op function body.
+       * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise.
+       * gcc.target/arm/pr98636.c (dg-options): Add -mfloat-abi=softfp.
+       * gcc.target/arm/attr-neon.c: Tighten scan-assembler tests.
+       * gcc.target/arm/attr-neon2.c: Use -Ofast, convert test to use
+       check-function-bodies.
+       * gcc.target/arm/attr-neon3.c: Likewise.
+       * gcc.target/arm/pr69245.c: Tighten scan-assembler match, but allow
+       multiple instances.
+       * gcc.target/arm/pragma_fpu_attribute.c: Likewise.
+       * gcc.target/arm/pragma_fpu_attribute_2.c: Likewise.
+
+2021-08-05  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vsubX_high_cost.c: New test.
+
+2021-08-05  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vaddX_high_cost.c: New test.
+
+2021-08-05  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-pr101756.c: Add -w.
+
+2021-08-05  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+
+       * gcc.dg/sso-15.c: New test.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_anylogic_d-1.c: New test.
+       * gcc.target/i386/cond_op_anylogic_d-2.c: New test.
+       * gcc.target/i386/cond_op_anylogic_q-1.c: New test.
+       * gcc.target/i386/cond_op_anylogic_q-2.c: New test.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_maxmin_double-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_double-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_float-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_float-2.c: New test.
+
+2021-08-05  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_maxmin_b-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_b-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_d-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_d-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_q-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_q-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_ub-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_ub-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_ud-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_ud-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_uq-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_uq-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_uw-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_uw-2.c: New test.
+       * gcc.target/i386/cond_op_maxmin_w-1.c: New test.
+       * gcc.target/i386/cond_op_maxmin_w-2.c: New test.
+
+2021-08-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101570
+       * gcc.dg/analyzer/asm-x86-1.c: New test.
+       * gcc.dg/analyzer/asm-x86-lp64-1.c: New test.
+       * gcc.dg/analyzer/asm-x86-lp64-2.c: New test.
+       * gcc.dg/analyzer/pr101570.c: New test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c:
+       New test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c: New
+       test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c: New
+       test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c: New test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c: New
+       test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c: New test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c:
+       New test.
+       * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c:
+       New test.
+
+2021-08-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101742
+       * gcc.target/i386/pr101742a.c: New test.
+       * gcc.target/i386/pr101742b.c: Likewise.
+
+2021-08-04  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101772
+       * gcc.target/i386/eh_return-2.c: New test.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/vector/perm-vpdi.c: New test.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/vector/perm-merge.c: New test.
+       * gcc.target/s390/vector/vec-types.h: New test.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/zvector/vec-permi.c: Removed.
+       * gcc.target/s390/zvector/vec_permi.c: New test.
+
+2021-08-04  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c:
+       Instead of vpdi with 0 and 5 vmrlg and vmrhg are used now.
+       * gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: Likewise.
+       * gcc.target/s390/zvector/vec-types.h: New test.
+       * gcc.target/s390/zvector/vec_merge.c: New test.
+
+2021-08-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vmul_high_cost.c: New test.
+
+2021-08-04  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vmul_element_cost.c: New test.
+
+2021-08-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_12.c: New test.
+
+2021-08-04  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/101750
+       * g++.dg/vect/pr99149.cc: Name class.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-gather-1.c: New testcase.
+       * gfortran.dg/vect/vect-8.f90: Adjust.
+
+2021-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       * gcc.dg/fold-ior-4.c: New test.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101756
+       * gcc.dg/vect/bb-slp-pr101756.c: New testcase.
+
+2021-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101759
+       * g++.dg/gomp/pr101759.C: New test.
+       * g++.dg/goacc/pr101759.C: New test.
+
+2021-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c-torture/execute/ieee/pr29302-1.x: Undo doubly applied patch.
+
+2021-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101769
+       * g++.dg/tree-ssa/pr101769.C: New testcase.
+
+2021-08-04  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_addsubmul_d-2.c: Add
+       dg-require-effective-target for avx512.
+       * gcc.target/i386/cond_op_addsubmul_q-2.c: Ditto.
+       * gcc.target/i386/cond_op_addsubmul_w-2.c: Ditto.
+       * gcc.target/i386/cond_op_addsubmuldiv_double-2.c: Ditto.
+       * gcc.target/i386/cond_op_addsubmuldiv_float-2.c: Ditto.
+       * gcc.target/i386/cond_op_fma_double-2.c: Ditto.
+       * gcc.target/i386/cond_op_fma_float-2.c: Ditto.
+
+2021-08-04  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_fma_double-1.c: New test.
+       * gcc.target/i386/cond_op_fma_double-2.c: New test.
+       * gcc.target/i386/cond_op_fma_float-1.c: New test.
+       * gcc.target/i386/cond_op_fma_float-2.c: New test.
+
+2021-08-03  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * lib/profopt.exp: Pass gdwarf-4 when compiling test to profile; pass -gcov_version=2.
+       * lib/target-supports.exp: Remove unnecessary -o perf.data passed to gcc-auto-profile.
+
+2021-08-03  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * gcc.dg/tree-prof/indir-call-prof-2.c: Fix dg-final-use-autofdo.
+       * lib/profopt.exp: Pass -fearly-inlining when compiling with AutoFDO.
+
+2021-08-03  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       * g++.dg/tree-prof/indir-call-prof.C: Fix options, increase the number of iterations.
+       * g++.dg/tree-prof/morefunc.C: Fix options, increase the number of iterations.
+       * g++.dg/tree-prof/reorder.C: Fix options, increase the number of iterations.
+       * gcc.dg/tree-prof/indir-call-prof-2.c: Fix options, increase the number of iterations.
+       * gcc.dg/tree-prof/indir-call-prof.c: Fix options.
+
+2021-08-03  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/101688
+       * g++.dg/warn/Wstringop-overflow-4.C: Disable a test case in ILP32.
+
+2021-08-03  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-phminposuw.c: Copy from
+       gcc/testsuite/gcc.target/i386, adjust dg directives to suit,
+       make more robust.
+
+2021-08-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/avx-vzeroupper-14.c: Pass -mno-avx512f to
+       disable XMM31.
+       * gcc.target/i386/avx-vzeroupper-15.c: Likewise.
+       * gcc.target/i386/pr82941-1.c: Updated.  Check for vzeroupper.
+       * gcc.target/i386/pr82942-1.c: Likewise.
+       * gcc.target/i386/pr82990-1.c: Likewise.
+       * gcc.target/i386/pr82990-3.c: Likewise.
+       * gcc.target/i386/pr82990-5.c: Likewise.
+       * gcc.target/i386/pr100865-4b.c: Likewise.
+       * gcc.target/i386/pr100865-6b.c: Likewise.
+       * gcc.target/i386/pr100865-7b.c: Likewise.
+       * gcc.target/i386/pr100865-10b.c: Likewise.
+       * gcc.target/i386/pr100865-8b.c: Updated.
+       * gcc.target/i386/pr100865-9b.c: Likewise.
+       * gcc.target/i386/pr100865-11b.c: Likewise.
+       * gcc.target/i386/pr100865-12b.c: Likewise.
+
+2021-08-03  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_addsubmul_d-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmul_d-2.c: New test.
+       * gcc.target/i386/cond_op_addsubmul_q-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmul_q-2.c: New test.
+       * gcc.target/i386/cond_op_addsubmul_w-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmul_w-2.c: New test.
+
+2021-08-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR analyzer/101721
+       * gcc.dg/analyzer/pr101721.c: New test.
+
+2021-08-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/80566
+       * g++.target/i386/pr80566-1.C: New test.
+       * g++.target/i386/pr80566-2.C: Likewise.
+
+2021-08-03  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/cond_op_addsubmuldiv_double-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmuldiv_double-2.c: New test.
+       * gcc.target/i386/cond_op_addsubmuldiv_float-1.c: New test.
+       * gcc.target/i386/cond_op_addsubmuldiv_float-2.c: New test.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/vect8-ret.c: Also pass -mno-sse.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/incoming-11.c: Expect no stack realignment.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/sw-1.c: Also pass -mno-avx for ia32.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/cold-attribute-1.c: Also pass -mno-avx.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr72839.c: Also pass -mno-avx.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pieces-memcpy-10.c: New test.
+       * gcc.target/i386/pieces-memcpy-11.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-12.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-13.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-14.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-15.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-16.c: Likewise.
+       * gcc.target/i386/pieces-memset-1.c: Likewise.
+       * gcc.target/i386/pieces-memset-2.c: Likewise.
+       * gcc.target/i386/pieces-memset-3.c: Likewise.
+       * gcc.target/i386/pieces-memset-4.c: Likewise.
+       * gcc.target/i386/pieces-memset-5.c: Likewise.
+       * gcc.target/i386/pieces-memset-6.c: Likewise.
+       * gcc.target/i386/pieces-memset-7.c: Likewise.
+       * gcc.target/i386/pieces-memset-8.c: Likewise.
+       * gcc.target/i386/pieces-memset-9.c: Likewise.
+       * gcc.target/i386/pieces-memset-10.c: Likewise.
+       * gcc.target/i386/pieces-memset-11.c: Likewise.
+       * gcc.target/i386/pieces-memset-12.c: Likewise.
+       * gcc.target/i386/pieces-memset-13.c: Likewise.
+       * gcc.target/i386/pieces-memset-14.c: Likewise.
+       * gcc.target/i386/pieces-memset-15.c: Likewise.
+       * gcc.target/i386/pieces-memset-16.c: Likewise.
+       * gcc.target/i386/pieces-memset-17.c: Likewise.
+       * gcc.target/i386/pieces-memset-18.c: Likewise.
+       * gcc.target/i386/pieces-memset-19.c: Likewise.
+       * gcc.target/i386/pieces-memset-20.c: Likewise.
+       * gcc.target/i386/pieces-memset-21.c: Likewise.
+       * gcc.target/i386/pieces-memset-22.c: Likewise.
+       * gcc.target/i386/pieces-memset-23.c: Likewise.
+       * gcc.target/i386/pieces-memset-24.c: Likewise.
+       * gcc.target/i386/pieces-memset-25.c: Likewise.
+       * gcc.target/i386/pieces-memset-26.c: Likewise.
+       * gcc.target/i386/pieces-memset-27.c: Likewise.
+       * gcc.target/i386/pieces-memset-28.c: Likewise.
+       * gcc.target/i386/pieces-memset-29.c: Likewise.
+       * gcc.target/i386/pieces-memset-30.c: Likewise.
+       * gcc.target/i386/pieces-memset-31.c: Likewise.
+       * gcc.target/i386/pieces-memset-32.c: Likewise.
+       * gcc.target/i386/pieces-memset-33.c: Likewise.
+       * gcc.target/i386/pieces-memset-34.c: Likewise.
+       * gcc.target/i386/pieces-memset-35.c: Likewise.
+       * gcc.target/i386/pieces-memset-36.c: Likewise.
+       * gcc.target/i386/pieces-memset-37.c: Likewise.
+       * gcc.target/i386/pieces-memset-38.c: Likewise.
+       * gcc.target/i386/pieces-memset-39.c: Likewise.
+       * gcc.target/i386/pieces-memset-40.c: Likewise.
+       * gcc.target/i386/pieces-memset-41.c: Likewise.
+       * gcc.target/i386/pieces-memset-42.c: Likewise.
+       * gcc.target/i386/pieces-memset-43.c: Likewise.
+       * gcc.target/i386/pieces-memset-44.c: Likewise.
+       * gcc.target/i386/pieces-memcpy-7.c: New file.
+       * gcc.target/i386/pieces-memcpy-8.c: New file.
+       * gcc.target/i386/pieces-memcpy-9.c: New file.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * gcc.target/i386/pr90773-20.c: New test.
+       * gcc.target/i386/pr90773-21.c: Likewise.
+       * gcc.target/i386/pr90773-22.c: Likewise.
+       * gcc.target/i386/pr90773-23.c: Likewise.
+       * gcc.target/i386/pr90773-26.c: Likewise.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr90773-1.c: Adjust to expect movq for 32-bit.
+       * gcc.target/i386/pr90773-4.c: Also run for 32-bit.
+       * gcc.target/i386/pr90773-15.c: Likewise.
+       * gcc.target/i386/pr90773-16.c: Likewise.
+       * gcc.target/i386/pr90773-17.c: Likewise.
+       * gcc.target/i386/pr90773-24.c: Likewise.
+       * gcc.target/i386/pr90773-25.c: Likewise.
+       * gcc.target/i386/pr100865-1.c: Likewise.
+       * gcc.target/i386/pr100865-2.c: Likewise.
+       * gcc.target/i386/pr100865-3.c: Likewise.
+       * gcc.target/i386/pr90773-14.c: Also run for 32-bit and expect
+       XMM movd to store 4 bytes.
+       * gcc.target/i386/pr100865-4a.c: Also run for 32-bit and expect
+       YMM registers.
+       * gcc.target/i386/pr100865-4b.c: Likewise.
+       * gcc.target/i386/pr100865-10a.c: Expect YMM registers.
+       * gcc.target/i386/pr100865-10b.c: Likewise.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/eh_return-1.c: New test.
+
+2021-08-02  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * gcc.target/i386/pr90773-5.c: Updated to expect XMM register.
+       * gcc.target/i386/pr90773-14.c: Likewise.
+       * gcc.target/i386/pr90773-15.c: New test.
+       * gcc.target/i386/pr90773-16.c: Likewise.
+       * gcc.target/i386/pr90773-17.c: Likewise.
+       * gcc.target/i386/pr90773-18.c: Likewise.
+       * gcc.target/i386/pr90773-19.c: Likewise.
+
+2021-08-02  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/tree-ssa/phi-opt-25.c: New test case.
+
+2021-08-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/78103
+       * gcc.target/i386/pr78103-2.c: Also scan incl.
+       * gcc.target/i386/pr78103-3.c: Scan leal|addl|incl for x32.  Also
+       scan incq.
+
+2021-07-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96636
+       * g++.dg/ext/anon-struct9.C: New test.
+
+2021-07-31  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.target/i386/dec-cmov-2.c: Require -march=core2 with -m32.
+
+2021-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-9.C: New test.
+
+2021-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/78103
+       * gcc.target/i386/pr78103-1.c: New test.
+       * gcc.target/i386/pr78103-2.c: New test.
+       * gcc.target/i386/pr78103-3.c: New test.
+
+2021-07-31  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Skip on mmix-knuth-mmixware.
+
+2021-07-31  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       PR middle-end/101674
+       * gcc.dg/uninit-pred-9_b.c: Xfail for mmix-*-* too.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-floorpd.c: New.
+       * gcc.target/powerpc/sse4_1-floorps.c: New.
+       * gcc.target/powerpc/sse4_1-floorsd.c: New.
+       * gcc.target/powerpc/sse4_1-floorss.c: New.
+       * gcc.target/powerpc/sse4_1-roundpd-2.c: Copy from
+       gcc/testsuite/gcc.target/i386 and adjust dg directives to suit.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-ceilpd.c: New.
+       * gcc.target/powerpc/sse4_1-ceilps.c: New.
+       * gcc.target/powerpc/sse4_1-ceilsd.c: New.
+       * gcc.target/powerpc/sse4_1-ceilss.c: New.
+       * gcc.target/powerpc/sse4_1-round-data.h: New.
+       * gcc.target/powerpc/sse4_1-round.h: New.
+       * gcc.target/powerpc/sse4_1-round2.h: New.
+       * gcc.target/powerpc/sse4_1-roundpd-3.c: Copy from gcc.target/i386
+       and adjust dg directives to suit.
+       * gcc.target/powerpc/sse4_1-check.h (__VSX_SSE2__): Define.
+
+2021-07-30  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-blendpd.c: Copy from gcc.target/i386
+       and adjust dg directives to suit.
+       * gcc.target/powerpc/sse4_1-blendps-2.c: Likewise.
+       * gcc.target/powerpc/sse4_1-blendps.c: Likewise.
+       * gcc.target/powerpc/sse4_1-blendvpd.c: Likewise.
+
+2021-07-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/dec-cmov-1.c: New test.
+       * gcc.target/i386/dec-cmov-2.c: New test.
+
+2021-07-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr61839_2.c: Adjust.  Add new const fold test.
+
+2021-07-30  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr61839_2.c: Adjust.
+
+2021-07-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101671
+       * gcc.c-torture/compile/pr83510.c: Move test functions...
+       * gcc.dg/Warray-bounds-87.c: ...to this file.
+
+2021-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr100865-3.c: Expect vmovdqu8 instead of
+       vmovdqu.
+       * gcc.target/i386/pr100865-4b.c: Likewise.
+
+2021-07-30  Andrew Pinski  <apinski@marvell.com>
+
+       PR testsuite/101517
+       * g++.dg/warn/Wunused-18.C: New test.
+       * gcc.c-torture/compile/20030405-2.c: New test.
+       * gcc.c-torture/compile/20040304-2.c: New test.
+       * gcc.dg/20030612-2.c: New test.
+
+2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/101132
+       * gcc.target/mips/pr101132.c: New test.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101539
+       * g++.dg/cpp2a/is-pointer-interconvertible-base-of1.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class1.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class2.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class3.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class4.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class5.C: New test.
+       * g++.dg/cpp2a/is-pointer-interconvertible-with-class6.C: New test.
+
+2021-07-30  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/ext/anon-struct8.C: New test.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp0x/gen-attrs-76.C: New test.
+
+2021-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101685
+       * gcc.target/i386/pr101685.c: New test.
+
+2021-07-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/shrink-wrap-loop.c: Enable early jump threading.  Mark as
+       XFAIL.
+
+2021-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101582
+       * g++.dg/cpp0x/gen-attrs-45.C: Expect a warning about ignored
+       attributes instead of error.
+       * g++.dg/cpp0x/gen-attrs-75.C: New test.
+       * g++.dg/modules/pr101582-1.C: New test.
+
+2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR ipa/101396
+       * g++.dg/lto/pr101396_0.C: New test.
+       * g++.dg/lto/pr101396_1.C: New test.
+
+2021-07-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101674
+       * gcc.dg/uninit-pred-9_b.c: Xfail just the failing assertion and
+       correct target.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101672
+       * gdc.dg/pr100967.d: Update test.
+       * gdc.dg/pr101672.d: New test.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101664
+       * gdc.dg/extern-c++/extern-c++.exp: New.
+       * gdc.dg/extern-c++/pr101664.d: New test.
+       * gdc.dg/extern-c++/pr101664_1.cc: New test.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/96435
+       * gdc.dg/torture/pr96435.d: New test.
+
+2021-07-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101657
+       * gdc.dg/pr101657.d: New test.
+
+2021-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/101647
+       * g++.dg/pr71389.C: Include <array> instead of <functional>.
+       * g++.dg/cpp0x/initlist48.C: Include also <initializer_list>.
+
+2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * c-c++-common/goacc/classify-kernels-unparallelized.c:
+       's%oaccdevlow%oaccloops%g'.
+       * c-c++-common/goacc/classify-kernels.c: Likewise.
+       * c-c++-common/goacc/classify-parallel.c: Likewise.
+       * c-c++-common/goacc/classify-routine-nohost.c: Likewise.
+       * c-c++-common/goacc/classify-routine.c: Likewise.
+       * c-c++-common/goacc/classify-serial.c: Likewise.
+       * c-c++-common/goacc/routine-nohost-1.c: Likewise.
+       * g++.dg/goacc/template.C: Likewise.
+       * gcc.dg/goacc/loop-processing-1.c: Likewise.
+       * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
+       * gfortran.dg/goacc/classify-kernels.f95: Likewise.
+       * gfortran.dg/goacc/classify-parallel.f95: Likewise.
+       * gfortran.dg/goacc/classify-routine-nohost.f95: Likewise.
+       * gfortran.dg/goacc/classify-routine.f95: Likewise.
+       * gfortran.dg/goacc/classify-serial.f95: Likewise.
+       * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise.
+
+2021-07-29  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       PR target/100952
+       * gcc.target/powerpc/pr56605.c: Change matching
+       conditions.
+       * gcc.target/powerpc/pr81348.c: Likewise.
+
+2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * g++.dg/debug/dwarf2/deallocator.C: Adjust for threader.
+       * gcc.c-torture/compile/pr83510.c: Same.
+       * gcc.dg/analyzer/pr94851-2.c: Same.
+       * gcc.dg/loop-unswitch-2.c: Same.
+       * gcc.dg/old-style-asm-1.c: Same.
+       * gcc.dg/pr68317.c: Same.
+       * gcc.dg/pr97567-2.c: Same.
+       * gcc.dg/predict-9.c: Same.
+       * gcc.dg/shrink-wrap-loop.c: Same.
+       * gcc.dg/sibcall-1.c: Same.
+       * gcc.dg/tree-ssa/builtin-sprintf-3.c: Same.
+       * gcc.dg/tree-ssa/pr21001.c: Same.
+       * gcc.dg/tree-ssa/pr21294.c: Same.
+       * gcc.dg/tree-ssa/pr21417.c: Same.
+       * gcc.dg/tree-ssa/pr21458-2.c: Same.
+       * gcc.dg/tree-ssa/pr21563.c: Same.
+       * gcc.dg/tree-ssa/pr49039.c: Same.
+       * gcc.dg/tree-ssa/pr61839_1.c: Same.
+       * gcc.dg/tree-ssa/pr61839_3.c: Same.
+       * gcc.dg/tree-ssa/pr77445-2.c: Same.
+       * gcc.dg/tree-ssa/split-path-4.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-12.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
+       * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+       * gcc.dg/tree-ssa/ssa-fre-48.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-11.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-12.c: Same.
+       * gcc.dg/tree-ssa/ssa-thread-14.c: Same.
+       * gcc.dg/tree-ssa/vrp02.c: Same.
+       * gcc.dg/tree-ssa/vrp03.c: Same.
+       * gcc.dg/tree-ssa/vrp05.c: Same.
+       * gcc.dg/tree-ssa/vrp06.c: Same.
+       * gcc.dg/tree-ssa/vrp07.c: Same.
+       * gcc.dg/tree-ssa/vrp09.c: Same.
+       * gcc.dg/tree-ssa/vrp19.c: Same.
+       * gcc.dg/tree-ssa/vrp20.c: Same.
+       * gcc.dg/tree-ssa/vrp33.c: Same.
+       * gcc.dg/uninit-pred-9_b.c: Same.
+       * gcc.dg/uninit-pr61112.c: Same.
+       * gcc.dg/vect/bb-slp-16.c: Same.
+       * gcc.target/i386/avx2-vect-aggressive.c: Same.
+       * gcc.dg/tree-ssa/ranger-threader-1.c: New test.
+       * gcc.dg/tree-ssa/ranger-threader-2.c: New test.
+       * gcc.dg/tree-ssa/ranger-threader-3.c: New test.
+       * gcc.dg/tree-ssa/ranger-threader-4.c: New test.
+       * gcc.dg/tree-ssa/ranger-threader-5.c: New test.
+
+2021-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR c/101512
+       * gcc.dg/torture/pr101512.c: New testcase.
+
+2021-07-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99881
+       * gcc.target/i386/pr91446.c:
+       * gcc.target/i386/pr92658-avx512bw-2.c:
+       * gcc.target/i386/pr92658-sse4-2.c:
+       * gcc.target/i386/pr92658-sse4.c:
+       * gcc.target/i386/pr99881.c:
+
+2021-07-29  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/39821
+       * gcc.target/i386/sse2-pr39821.c: New test.
+       * gcc.target/i386/sse4-pr39821.c: New test.
+
+2021-07-29  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/61837
+       * gcc.target/powerpc/pr61837.c: New test.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101494
+       * gcc.dg/uninit-pr101494.c: New test.
+
+2021-07-28  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101601
+       * g++.dg/warn/Warray-bounds-25.C: New test.
+       * gcc.dg/Warray-bounds-85.c: New test.
+
+2021-07-28  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR testsuite/100168
+       * gcc.dg/pr56727-2.c: Add support for PC-relative calls.
+
+2021-07-28  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/torture/ubsan-1.c: New test.
+
+2021-07-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101564
+       * gfortran.dg/allocate_stat_3.f90: New test.
+       * gfortran.dg/allocate_stat.f90: Adjust error messages.
+       * gfortran.dg/implicit_11.f90: Likewise.
+       * gfortran.dg/inquiry_type_ref_3.f90: Likewise.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101624
+       * gfortran.dg/ubsan/ubsan.exp: New file.
+       * gfortran.dg/ubsan/pr101624.f90: New test.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101642
+       * gcc.c-torture/compile/pr101642.c: New test.
+
+2021-07-28  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/global-array-element-pic2.c: Add -mzarch, add
+       an expectation for 31-bit mode.
+       * gcc.target/s390/load-imm64-1.c: Use unsigned long long.
+       * gcc.target/s390/load-imm64-2.c: Likewise.
+       * gcc.target/s390/vector/long-double-vx-macro-off-on.c: Use
+       -mzarch.
+       * gcc.target/s390/vector/long-double-vx-macro-on-off.c:
+       Likewise.
+
+2021-07-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101615
+       * gcc.dg/vect/bb-slp-pr101615-2.c: New testcase.
+
+2021-07-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/smov_1.c: New test.
+       * gcc.target/aarch64/sve/clastb_4.c: Adjust clast scan-assembler.
+
+2021-07-28  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101456
+       * gcc.target/i386/pr101456-1.c: New test.
+       * gcc.target/i386/pr101456-2.c: Likewise.
+
+2021-07-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101615
+       * gcc.dg/vect/bb-slp-pr101615-1.c: New testcase.
+
+2021-07-28  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/analyzer/strdup-1.c (test_4, test_5, test_6): New
+       tests.
+
+2021-07-28  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       * gcc.dg/analyzer/attr-malloc-1.c (compatible_alloc,
+       compatible_alloc2): New extern allocator declarations.
+       (test_9, test_10): New tests.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101640
+       * gdc.dg/pr96429.d: Update test.
+       * gdc.dg/pr101640.d: New test.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101490
+       * gdc.dg/pr101490.d: New test.
+
+2021-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101127
+       * gdc.dg/pr101127a.d: New test.
+       * gdc.dg/pr101127b.d: New test.
+
+2021-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101611
+       * gcc.target/i386/avx2-pr101611-1.c: New test.
+       * gcc.target/i386/avx2-pr101611-2.c: New test.
+
+2021-07-28  Martin Uecker  <muecker@gwdg.de>
+
+       * gcc.dg/Wnonnull-4.c: Correct argument numbers in warnings.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101317
+       * gfortran.dg/ISO_Fortran_binding_17.f90: Fix typo in error
+       message patterns.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101310
+       * gfortran.dg/ISO_Fortran_binding_1.c (section_c): Remove
+       incorrect assertions.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101305
+       * gfortran.dg/ISO_Fortran_binding_1.c: Adjust include path.
+       * gfortran.dg/ISO_Fortran_binding_10.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_11.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_12.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_15.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_16.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_17.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_18.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_3.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_5.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_6.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_7.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_8.c: Likewise.
+       * gfortran.dg/ISO_Fortran_binding_9.c: Likewise.
+       * gfortran.dg/PR94327.c: Likewise.
+       * gfortran.dg/PR94331.c: Likewise.
+       * gfortran.dg/bind_c_array_params_3_aux.c: Likewise.
+       * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Likewise.
+       * gfortran.dg/pr93524.c: Likewise.
+
+2021-07-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/101596
+       * gcc.target/powerpc/pr101596-1.c: New test.
+       * gcc.target/powerpc/pr101596-2.c: Likewise.
+       * gcc.target/powerpc/pr101596-3.c: Likewise.
+
+2021-07-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99881
+       * gcc.target/i386/pr99881.c: New test.
+
+2021-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/101584
+       * gcc.dg/uninit-38.c: Remove assertions.
+       * gcc.dg/uninit-41.c: New test.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR testsuite/101646
+       * g++.dg/coroutines/pr99047.C: Fix includes.
+       * g++.dg/pr71655.C: Likewise.
+
+2021-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR c/101585
+       * gcc.dg/Wvla-parameter-13.c: New test.
+
+2021-07-27  Jeff Law  <jlaw@localhost.localdomain>
+
+       * g++.dg/gcov/gcov-threads-1.C: Fix argument to pthread_join.
+
+2021-07-27  Marek Polacek  <polacek@redhat.com>
+
+       DR 1512
+       PR c++/99701
+       * g++.dg/cpp0x/nullptr11.C: Remove invalid tests.
+       * g++.dg/cpp0x/nullptr46.C: Add dg-error.
+       * g++.dg/cpp2a/spaceship-err7.C: New test.
+       * g++.dg/expr/ptr-comp4.C: New test.
+
+2021-07-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101573
+       * gcc.dg/uninit-pr101573.c: New testcase.
+       * gcc.dg/uninit-15-O0.c: Adjust.
+       * gcc.dg/uninit-15.c: Likewise.
+       * gcc.dg/uninit-23.c: Likewise.
+       * c-c++-common/uninit-17.c: Likewise.
+
+2021-07-27  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc.dg/ipa/remref-3.c: New test.
+       * gcc.dg/ipa/remref-4.c: Likewise.
+       * gcc.dg/ipa/remref-5.c: Likewise.
+       * gcc.dg/ipa/remref-6.c: Likewise.
+
+2021-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101586
+       * g++.dg/torture/builtin-clear-padding-4.C: New test.
+
+2021-07-27  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR testsuite/100170
+       * gcc.target/powerpc/ppc-eq0-1.c: Adjust insn counts if power10
+       code is generated.
+       * gcc.target/powerpc/ppc-ne0-1.c: (ne0): Adjust insn counts if
+       power10 code is generated.
+       (plus_ne0): Move to ppc-ne0-2.c.
+       (cmp_plus_ne): Likewise.
+       (plus_ne0_cmp): Likewise.
+       * gcc.target/powerpc/ppc-ne0-2.c: New file.
+
+2021-07-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/sock-1.c: New test.
+       * gcc.dg/analyzer/sock-2.c: New test.
+
+2021-07-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr78888.c: New.
+
+2021-07-26  Roger Sayle  <roger@nextmovesoftware.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       * gcc.dg/fold-eqrotate-1.c: New test case.
+       * gcc.dg/fold-eqbswap-1.c: New test case.
+
+2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93308
+       PR fortran/93963
+       PR fortran/94327
+       PR fortran/94331
+       PR fortran/97046
+       * gfortran.dg/ISO_Fortran_binding_1.f90: Add pointer attribute,
+       this test is still erroneous but now it compiles.
+       * gfortran.dg/bind_c_array_params_2.f90: Update regex to match
+       code changes.
+       * gfortran.dg/PR93308.f90: New test.
+       * gfortran.dg/PR93963.f90: New test.
+       * gfortran.dg/PR94327.c: New test.
+       * gfortran.dg/PR94327.f90: New test.
+       * gfortran.dg/PR94331.c: New test.
+       * gfortran.dg/PR94331.f90: New test.
+       * gfortran.dg/PR97046.f90: New test.
+
+2021-07-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-1.C: Use attribute syntax even for section
+       and scan directives.
+       * g++.dg/gomp/attrs-2.C: Likewise.
+       * g++.dg/gomp/attrs-6.C: New test.
+       * g++.dg/gomp/attrs-7.C: New test.
+       * g++.dg/gomp/attrs-8.C: New test.
+
+2021-07-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101536
+       * gfortran.dg/pr101536.f90: New test.
+
+2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/101562
+       * gcc.c-torture/compile/pr101562.c: New test.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101504
+       * gcc.target/i386/pr101504.c: New test.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: Add new
+       tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: New tests.
+
+2021-07-23  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/vector_structure_intrinsics.c: New test.
+
+2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/attrs-1.c: New test.
+       * c-c++-common/gomp/attrs-2.c: New test.
+       * c-c++-common/gomp/attrs-3.c: New test.
+
+2021-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-4.C: New test.
+       * g++.dg/gomp/attrs-5.C: New test.
+
+2021-07-23  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * gcc.target/mips/mips.exp (mips_option_groups): add
+         -finline and -fno-inline.
+
+2021-07-23  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       Revert:
+       2021-07-09  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * gcc.target/mips/cfgcleanup-jalr2.c: Remove -fno-inline and add
+         __attribute__((noinline)).
+       * gcc.target/mips/cfgcleanup-jalr3.c: Likewise.
+
+2021-07-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/feasibility-3.c: New test.
+
+2021-07-22  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/65178
+       * gcc.dg/uninit-pr65178.c: New test.
+
+2021-07-22  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/101568
+       * g++.dg/ipa/pr82352.C
+
+2021-07-22  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/10153
+       * gcc.c-torture/compile/pr10153-1.c: New test.
+       * gcc.c-torture/compile/pr10153-2.c: New test.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * g++.dg/pr101511.C: New.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr101497.c: New.
+
+2021-07-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr101496.c: New.
+
+2021-07-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/fuse-caller-save-xmm.c: Adjust testcase.
+
+2021-07-22  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/mask-shift.c: New test.
+
+2021-07-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101547
+       * gcc.dg/analyzer/pr101547.c: New test.
+
+2021-07-21  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101522
+       * g++.dg/analyzer/pr101522.C: New test.
+
+2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * c-c++-common/goacc/classify-routine-nohost.c: New file.
+       * c-c++-common/goacc/classify-routine.c: Update.
+       * c-c++-common/goacc/routine-2.c: Likewise.
+       * c-c++-common/goacc/routine-nohost-1.c: New file.
+       * c-c++-common/goacc/routine-nohost-2.c: Likewise.
+       * g++.dg/goacc/template.C: Update.
+       * gfortran.dg/goacc/classify-routine-nohost.f95: New file.
+       * gfortran.dg/goacc/classify-routine.f95: Update.
+       * gfortran.dg/goacc/pure-elemental-procedures-2.f90: Likewise.
+       * gfortran.dg/goacc/routine-6.f90: Likewise.
+       * gfortran.dg/goacc/routine-intrinsic-2.f: Likewise.
+       * gfortran.dg/goacc/routine-module-1.f90: Likewise.
+       * gfortran.dg/goacc/routine-module-2.f90: Likewise.
+       * gfortran.dg/goacc/routine-module-3.f90: Likewise.
+       * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+       * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise.
+       * gfortran.dg/goacc/routine-multiple-directives-2.f90: Likewise.
+
+2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * g++.dg/goacc/template.C: Fix '#pragma atomic update' typo.
+
+2021-07-21  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/explode-2.c: Remove xfail.
+       * gcc.dg/analyzer/explode-2a.c: Remove expected leak warning on
+       while stmt.
+       * gcc.dg/analyzer/phi-2.c: New test.
+
+2021-07-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101531
+       * gcc.target/powerpc/pr101129.c: Adjust.
+
+2021-07-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101549
+       * gcc.target/i386/crc32-6.c: New test.
+
+2021-07-21  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101514
+       * gfortran.dg/pr101514.f90: New test.
+
+2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101535
+       * c-c++-common/gomp/pr101535-1.c: New test.
+       * c-c++-common/gomp/pr101535-2.c: New test.
+
+2021-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101516
+       * g++.dg/gomp/pr101516.C: New test.
+
+2021-07-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/iso_c_binding_char_1.f90: Update dg-error.
+       * gfortran.dg/pr32599.f03: Use -std=-f2003 + update comment.
+       * gfortran.dg/bind_c_char_10.f90: New test.
+       * gfortran.dg/bind_c_char_6.f90: New test.
+       * gfortran.dg/bind_c_char_7.f90: New test.
+       * gfortran.dg/bind_c_char_8.f90: New test.
+       * gfortran.dg/bind_c_char_9.f90: New test.
+
+2021-07-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/unroll-10.c: New test.
+
+2021-07-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/unroll-9.c: New test/
+
+2021-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101397
+       * gcc.dg/Warray-bounds-80.c: New test.
+       * gcc.dg/Warray-bounds-81.c: New test.
+       * gcc.dg/Warray-bounds-82.c: New test.
+       * gcc.dg/Warray-bounds-83.c: New test.
+       * gcc.dg/Warray-bounds-84.c: New test.
+       * gcc.dg/Wstringop-overflow-46.c: Adjust expected output.
+
+2021-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101300
+       * gcc.dg/uninit-pr101300.c: New test.
+
+2021-07-20  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR testsuite/100167
+       * gcc.target/powerpc/fold-vec-div-longlong.c: Fix expected code
+       generation on power10.
+       * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise.
+
+2021-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101384
+       * gcc.dg/pr101384.c: New test.
+       * gcc.target/powerpc/pr101384-1.c: New test.
+       * gcc.target/powerpc/pr101384-2.c: New test.
+
+2021-07-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/101506
+       * gcc.target/aarch64/vect-vmaxv.c: Use an asm to hide the
+       true initial value of the reduction from the vectorizer.
+       * gcc.target/aarch64/vect-vaddv.c: Likewise.  Make the vector
+       loop operate on exactly LANES (rather than LANES-1) iterations.
+       * gcc.target/aarch64/vect-fmaxv-fminv.x: Likewise.
+
+2021-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100182
+       * gcc.target/i386/pr71245-1.c: Remove.
+       * gcc.target/i386/pr71245-2.c: Ditto.
+
+2021-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/mul-vectorize-3.c: New test.
+       * gcc.target/powerpc/mul-vectorize-4.c: New test.
+
+2021-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/100696
+       * gcc.target/i386/pr100637-3w.c: Adjust for mul_highpart recog.
+
+2021-07-19  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.target/powerpc/pr93658.c: Suppress valid warnings.
+
+2021-07-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95520
+       * g++.dg/coroutines/pr95520.C: New test.
+
+2021-07-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101503
+       * gcc.dg/analyzer/pr101503.c: New test.
+
+2021-07-19  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * gcc.dg/debug/btf/btf.exp: Do not run BTF testsuite if target does not
+       support BTF format. Remove redundant check for AIX.
+       * gcc.dg/debug/ctf/ctf.exp: Do not run CTF testsuite if target does not
+       support CTF format. Remove redundant check for AIX.
+       * lib/gcc-dg.exp: Remove redundant check for AIX.
+
+2021-07-19  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR target/100208
+       * gcc.target/gcn/sram-ecc-1.c: New test.
+       * gcc.target/gcn/sram-ecc-2.c: New test.
+       * gcc.target/gcn/sram-ecc-3.c: New test.
+       * gcc.target/gcn/sram-ecc-4.c: New test.
+       * gcc.target/gcn/sram-ecc-5.c: New test.
+       * gcc.target/gcn/sram-ecc-6.c: New test.
+       * gcc.target/gcn/sram-ecc-7.c: New test.
+       * gcc.target/gcn/sram-ecc-8.c: New test.
+
+2021-07-19  Andrew Pinski  <apinski@marvell.com>
+
+       PR target/101205
+       * gcc.target/aarch64/csinv-neg-1.c: New test.
+
+2021-07-19  Marek Polacek  <polacek@redhat.com>
+
+       DR 2126
+       * g++.dg/cpp0x/constexpr-temp2.C: New test.
+
+2021-07-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101505
+       * gcc.dg/vect/pr101505.c: New testcase.
+
+2021-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101492
+       * gcc.target/i386/pr101492-1.c: New test.
+       * gcc.target/i386/pr101492-2.c: Likewise.
+       * gcc.target/i386/pr101492-3.c: Likewise.
+       * gcc.target/i386/pr101492-4.c: Likewise.
+
+2021-07-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/101084
+       * gfortran.dg/fmt_nonchar_3.f90: New test.
+
+2021-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101495
+       * gcc.target/i386/avx-vzeroupper-28.c: New test.
+
+2021-07-18  Antoni Boucher  <bouanto@zoho.com>
+
+       PR target/95498
+       * jit.dg/all-non-failing-tests.h: New test.
+       * jit.dg/test-cast.c: New test.
+
+2021-07-17  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.dg/tree-ssa/modref-6.c: New test.
+
+2021-07-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr96542.c: New.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101233
+       * g++.dg/cpp2a/class-deduction-alias10.C: New test.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       DR 960
+       PR c++/99664
+       * g++.dg/inherit/covariant23.C: New test.
+
+2021-07-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_state): New.
+       * gcc.dg/analyzer/dump-state.c: New test.
+
+2021-07-16  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/101468
+       * gcc.dg/Wstringop-overflow-41.c: Adjust to avoid target-specific
+       failures.
+       * gcc.dg/Wstringop-overflow-42.c: Same.
+       * gcc.dg/Wstringop-overflow-68.c: Same.
+       * gcc.dg/Wstringop-overflow-70.c: Same.
+       * gcc.dg/Wstringop-overflow-71.c: Same.
+       * gcc.dg/strlenopt-95.c: Fix typos.
+
+2021-07-16  Tamar Christina  <tamar.christina@arm.com>
+
+       PR middle-end/101457
+       * gcc.dg/vect/vect-reduc-dot-19.c: Use long long.
+       * gcc.dg/vect/vect-reduc-dot-20.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-21.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-22.c: Likewise.
+
+2021-07-16  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/cpp1y/Wnarrowing2.C: New test.
+       * g++.dg/cpp1y/Wnarrowing2.h: New test.
+
+2021-07-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * g++.dg/ext/visibility/noPLT.C: Skip on s390x.
+       * g++.target/s390/mi-thunk.C: New test.
+       * gcc.target/s390/nodatarel-1.c: Move foostatic to the new
+       tests.
+       * gcc.target/s390/pr80080-4.c: Allow @PLT suffix.
+       * gcc.target/s390/risbg-ll-3.c: Likewise.
+       * gcc.target/s390/call.h: Common code for the new tests.
+       * gcc.target/s390/call-z10-pic-nodatarel.c: New test.
+       * gcc.target/s390/call-z10-pic.c: New test.
+       * gcc.target/s390/call-z10.c: New test.
+       * gcc.target/s390/call-z9-pic-nodatarel.c: New test.
+       * gcc.target/s390/call-z9-pic.c: New test.
+       * gcc.target/s390/call-z9.c: New test.
+       * gcc.target/s390/mfentry-m64-pic.c: New test.
+       * gcc.target/s390/tls.h: Common code for the new TLS tests.
+       * gcc.target/s390/tls-pic.c: New test.
+       * gcc.target/s390/tls.c: New test.
+
+2021-07-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/sve/extract_1.c: Split expected results
+       by big/little endian targets, restoring the old expected
+       result for big endian.
+       * gcc.target/aarch64/sve/extract_2.c: Likewise.
+       * gcc.target/aarch64/sve/extract_3.c: Likewise.
+       * gcc.target/aarch64/sve/extract_4.c: Likewise.
+
+2021-07-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101346
+       * gcc.target/i386/pr101346.c: New test.
+
+2021-07-15  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97027
+       * gcc.dg/Wstringop-overflow-15.c: Remove an xfail.
+       * gcc.dg/Wstringop-overflow-47.c: Adjust xfails.
+       * gcc.dg/torture/pr69170.c: Avoid valid warnings.
+       * gcc.dg/torture/pr70025.c: Prune out a false positive.
+       * gcc.dg/vect/pr97769.c: Initialize a loop control variable.
+       * gcc.target/i386/pr92658-avx512bw-trunc.c: Increase buffer size
+       to avoid overflow.
+       * gcc.target/i386/pr92658-avx512f.c: Same.
+       * gcc.dg/Wstringop-overflow-68.c: New test.
+       * gcc.dg/Wstringop-overflow-69.c: New test.
+       * gcc.dg/Wstringop-overflow-70.c: New test.
+       * gcc.dg/Wstringop-overflow-71.c: New test.
+       * gcc.dg/strlenopt-95.c: New test.
+
+2021-07-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/95006
+       PR analyzer/94713
+       PR analyzer/94714
+       * g++.dg/analyzer/pr93212.C: Update location of warning.
+       * g++.dg/analyzer/pr94011.C: Add
+       -Wno-analyzer-use-of-uninitialized-value.
+       * g++.dg/analyzer/pr94503.C: Likewise.
+       * gcc.dg/analyzer/clobbers-1.c: Convert "f" from a local to a
+       param to avoid uninitialized warning.
+       * gcc.dg/analyzer/data-model-1.c (test_12): Add test for
+       uninitialized value on result of alloca.
+       (test_12a): Add expected warning.
+       (test_12c): Likewise.
+       (test_19): Likewise.
+       (test_29b): Likewise.
+       (test_29c): Likewise.
+       (test_37): Remove xfail.
+       (test_37a): Likewise.
+       * gcc.dg/analyzer/data-model-20.c: Add warning about leak.
+       * gcc.dg/analyzer/explode-2.c: Remove params; add
+       -Wno-analyzer-too-complex, -Wno-analyzer-malloc-leak, and xfails.
+       Initialize the locals.
+       * gcc.dg/analyzer/explode-2a.c: Initialize the locals.  Add
+       expected leak.
+       * gcc.dg/analyzer/fgets-1.c: New test.
+       * gcc.dg/analyzer/fread-1.c: New test.
+       * gcc.dg/analyzer/malloc-1.c (test_16): Add expected warning.
+       (test_40): Likewise.
+       * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Check for
+       uninitialized padding.
+       * gcc.dg/analyzer/pr93355-localealias-feasibility.c (fread): New
+       decl.
+       (read_alias_file): Call it.
+       * gcc.dg/analyzer/pr94047.c: Add expected warnings.
+       * gcc.dg/analyzer/pr94851-2.c: Likewise.
+       * gcc.dg/analyzer/pr96841.c: Convert local to a param.
+       * gcc.dg/analyzer/pr98628.c: Likewise.
+       * gcc.dg/analyzer/pr99042.c: Updated expected location of leak
+       diagnostics.
+       * gcc.dg/analyzer/symbolic-1.c: Add expected warnings.
+       * gcc.dg/analyzer/symbolic-7.c: Likewise.
+       * gcc.dg/analyzer/torture/pr93649.c: Add expected warning.  Skip
+       with -fno-fat-lto-objects.
+       * gcc.dg/analyzer/uninit-1.c: New test.
+       * gcc.dg/analyzer/uninit-2.c: New test.
+       * gcc.dg/analyzer/uninit-3.c: New test.
+       * gcc.dg/analyzer/uninit-4.c: New test.
+       * gcc.dg/analyzer/uninit-pr94713.c: New test.
+       * gcc.dg/analyzer/uninit-pr94714.c: New test.
+       * gcc.dg/analyzer/use-after-free-2.c: New test.
+       * gcc.dg/analyzer/use-after-free-3.c: New test.
+       * gcc.dg/analyzer/zlib-3.c: Add expected warning.
+       * gcc.dg/analyzer/zlib-6.c: Convert locals to params to avoid
+       uninitialized warnings.  Remove xfail.
+       * gcc.dg/analyzer/zlib-6a.c: New test, based on the old version
+       of the above.
+       * gfortran.dg/analyzer/pr97668.f: Add
+       -Wno-analyzer-use-of-uninitialized-value and
+       -Wno-analyzer-too-complex.
+
+2021-07-15  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/phi-1.c: New test.
+
+2021-07-15  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       * lib/target-supports.exp (arm_v8_2a_imm8_neon_ok_nocache):
+       Delete.
+
+2021-07-15  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       * gcc.target/arm/simd/vusdot-autovec.c: Use arm_v8_2a_i8mm_ok
+       effective-target.
+
+2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101443
+       * g++.dg/cpp0x/nullptr46.C: New test.
+
+2021-07-15  Tamar Christina  <tamar.christina@arm.com>
+
+       PR middle-end/101457
+       * gcc.dg/vect/vect-reduc-dot-17.c: Fix signs of scalar code.
+       * gcc.dg/vect/vect-reduc-dot-18.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-22.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-9.c: Likewise.
+
+2021-07-15  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wvla-parameter-12.c: New test.
+
+2021-07-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/101129
+       * gcc.target/powerpc/pr101129.c: New.
+
+2021-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101437
+       * gcc.c-torture/compile/pr101437.c: New test.
+
+2021-07-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-9.c: New test.
+
+2021-07-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88252
+       * g++.dg/cpp1z/class-deduction96.C: New test.
+
+2021-07-14  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/torture/pr100382.C: Pass -fno-delete-dead-exceptions.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/vect-reduc-dot-11.c: Expect pass.
+       * gcc.dg/vect/vect-reduc-dot-15.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-19.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-21.c: Likewise.
+
+2021-07-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr80776-1.c: Remove xfail.
+
+2021-07-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101371
+       * g++.dg/cpp1y/constexpr-101371-2.C: New test.
+       * g++.dg/cpp1y/constexpr-101371.C: New test.
+
+2021-07-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100949
+       * gfortran.dg/pr100949.f90: New test.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_2a_imm8_neon_ok_nocache,
+       check_effective_target_arm_v8_2a_i8mm_neon_hw,
+       check_effective_target_vect_usdot_qi): New.
+       * gcc.dg/vect/vect-reduc-dot-9.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-10.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-11.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-12.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-13.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-14.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-15.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-16.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-17.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-18.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-19.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-20.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-21.c: New test.
+       * gcc.dg/vect/vect-reduc-dot-22.c: New test.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/arm/simd/vusdot-autovec.c: New test.
+
+2021-07-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/simd/vusdot-autovec.c: New test.
+       * gcc.target/aarch64/sve/vusdot-autovec.c: New test.
+
+2021-07-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101395
+       * gcc.target/i386/pr101395-1.c: New test.
+       * gcc.target/i386/pr101395-2.c: Likewise.
+       * gcc.target/i386/pr101395-3.c: Likewise.
+
+2021-07-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101445
+       * gcc.dg/vect/pr101445.c: New testcase.
+
+2021-07-14  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-reduc-1.c: New testcase.
+
+2021-07-13  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/extract_zero_extend.c: Remove dump scan
+       for RTL pattern match.
+       * gcc.target/aarch64/narrow_high_combine.c: Add new tests.
+       * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: Update
+       scan-assembler regex to look for a scalar register instead of
+       lane 0 of a vector.
+       * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: Likewise.
+       * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: Likewise.
+       * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmullh_laneq_s16.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.
+       * gcc.target/aarch64/simd/vqdmulls_laneq_s32.c: Likewise.
+       * gcc.target/aarch64/sve/dup_lane_1.c: Likewise.
+       * gcc.target/aarch64/sve/extract_1.c: Likewise.
+       * gcc.target/aarch64/sve/extract_2.c: Likewise.
+       * gcc.target/aarch64/sve/extract_3.c: Likewise.
+       * gcc.target/aarch64/sve/extract_4.c: Likewise.
+       * gcc.target/aarch64/sve/live_1.c: Update scan-assembler regex
+       cases to look for 'b' and 'h' registers instead of 'w'.
+       * gcc.target/arm/crypto-vsha1cq_u32.c: Update scan-assembler
+       regex to reflect lane 0 vector extractions being simplified
+       to scalar register moves.
+       * gcc.target/arm/crypto-vsha1h_u32.c: Likewise.
+       * gcc.target/arm/crypto-vsha1mq_u32.c: Likewise.
+       * gcc.target/arm/crypto-vsha1pq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_f16.c: Extract
+       lane 1 as the moves for lane 0 now get optimized away.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u8.c: Likewise.
+
+2021-07-13  Paul A. Clarke  <pc@us.ibm.com>
+
+       * gcc.target/powerpc/sse4_1-ptest-1.c: Copy from
+       gcc/testsuite/gcc.target/i386.
+
+2021-07-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/93781
+       * gcc.dg/tree-ssa/pr93781-1.c: Check that call is removed.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/reduc_9.c: New test.
+       * gcc.target/aarch64/sve/reduc_9_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_10.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_10_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_11.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_11_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_12.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_12_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_13.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_13_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_14.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_14_run.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_15.c: Likewise.
+       * gcc.target/aarch64/sve/reduc_15_run.c: Likewise.
+
+2021-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cond_arith_6.c: New test.
+
+2021-07-13  Jakub Jelinek  <jakub@redhat.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101419
+       * gcc.dg/builtin-object-size-10.c: Pass -fdump-tree-early_objsz-details
+       instead of -fdump-tree-objsz1-details in dg-options and adjust names
+       of dump file in scan-tree-dump.
+       * gcc.dg/pr101419.c: New test.
+
+2021-07-13  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2021-07-13  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/vect/slp-pr87105.cc: Adjust.
+       * gcc.dg/vect/bb-slp-pr54400.c: Likewise.
+
+2021-07-13  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR testsuite/100166
+       * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Update
+       insn counts to account for power10 prefixed loads and stores.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-char.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-float.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-int.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-load-vec_xl-short.c: Likewise.
+       * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Likewise.
+       * gcc.target/powerpc/fold-vec-splat-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c:
+       Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-char.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-float.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-int.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-store-vec_xst-short.c: Likewise.
+       * gcc.target/powerpc/lvsl-lvsr.c: Likewise.
+       * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Likewise.
+
+2021-07-13  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/vec-splati-runnable.c: Run test with -O2
+       optimization.  Do not check what XXSPLTIDP generates if the value
+       is undefined.
+
+2021-07-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/79501
+       PR c++/100983
+       * g++.dg/cpp1z/class-deduction92.C: New test.
+       * g++.dg/cpp1z/class-deduction93.C: New test.
+       * g++.dg/cpp1z/class-deduction94.C: New test.
+       * g++.dg/cpp1z/class-deduction95.C: New test.
+
+2021-07-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101424
+       * gcc.target/i386/pr101424.c: New test.
+
+2021-07-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr101335.c: New.
+
+2021-07-12  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/pr96928-1.c: Update to similar as pr96928.c.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101373
+       * g++.dg/torture/pr101373.C: New testcase, XFAILed.
+       * gnat.dg/opt95.adb: Likewise.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       * g++.dg/vect/slp-pr87105.cc: Adjust.
+       * gcc.dg/vect/bb-slp-pr54400.c: Likewise.
+
+2021-07-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101394
+       * gcc.dg/torture/pr101394.c: New testcase.
+
+2021-07-12  Roger Sayle  <roger@nextmovesoftware.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/101403
+       * gcc.dg/pr101403.c: Avoid (unimportant) uninitialized variable.
+
+2021-07-12  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/66791
+       * gcc.target/arm/armv8_2-fp16-neon-2.c: Adjust.
+
+2021-07-12  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/98435
+       * gcc.target/arm/simd/pr98435.c: New test.
+
+2021-07-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/101403
+       * gcc.dg/pr101403.c: New test case.
+
+2021-07-10  John David Anglin  <danglin@gcc.gnu.org>
+
+       * gcc.dg/torture/pr100329.c: Require target lra.
+       * gcc.dg/torture/pr100519.c: Likewise.
+
+2021-07-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/82110
+       * g++.dg/cpp0x/pr78765.C: Expect another conversion failure
+       diagnostic.
+       * g++.dg/template/sfinae14.C: Flip incorrect assertion.
+       * g++.dg/cpp2a/concepts-requires27.C: New test.
+
+2021-07-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101098
+       * g++.dg/concepts/explicit-spec1.C: New test.
+
+2021-07-09  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/divmod-9.c: New test case.
+
+2021-07-09  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR testsuite/101269
+       * gcc.dg/debug/btf/btf-datasec-1.c: Force -msdata=none with ilp32 for
+       powerpc based targets.
+
+2021-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101181
+       * g++.dg/cpp2a/concepts-requires26.C: New test.
+       * g++.dg/cpp2a/lambda-uneval16.C: New test.
+
+2021-07-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101247
+       * g++.dg/cpp2a/concepts-memtmpl4.C: Uncomment the commented out
+       example, which we now handle correctly.
+       * g++.dg/cpp2a/concepts-memtmpl5.C: New test.
+       * g++.dg/cpp2a/concepts-memtmpl5a.C: New test.
+
+2021-07-09  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * gcc.target/mips/cfgcleanup-jalr2.c: Remove -fno-inline and add
+         __attribute__((noinline)).
+       * gcc.target/mips/cfgcleanup-jalr3.c: Likewise.
+
+2021-07-09  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/100760
+       PR target/100761
+       PR target/100762
+       * gcc.target/mips/pr100760.c: New test.
+       * gcc.target/mips/pr100761.c: New test.
+       * gcc.target/mips/pr100762.c: New test.
+
+2021-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/mod-vectorize.c: New test.
+
+2021-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/div-vectorize-1.c: New test.
+
+2021-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/mul-vectorize-1.c: New test.
+       * gcc.target/powerpc/mul-vectorize-2.c: New test.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-43.c: Remove an xfail.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/100451
+       * g++.dg/warn/Warray-bounds-20.C: Adjust expected output for LP32.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       * g++.dg/warn/Warray-bounds-11.C: Avoid including <new>.
+       * g++.dg/warn/Warray-bounds-13.C: Same.
+
+2021-07-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101087
+       * g++.dg/cpp0x/noexcept70.C: New test.
+
+2021-07-08  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/101066
+       * gcc.dg/ipa/pr101066.c: New test.
+
+2021-07-08  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/101374
+       * c-c++-common/Warray-bounds-3.c: Xfail assertion.
+       * c-c++-common/Warray-bounds-4.c: Same.
+
+2021-07-08  Christophe Lyon  <christophe.lyon@foss.st.om>
+
+       * gcc.dg/debug/pr57351.c: Require arm_arch_v7a_ok
+       effective-target.
+
+2021-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general/cntb_1.c: New test.
+
+2021-07-08  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/40210
+       * gcc.dg/builtin-bswap-13.c: New test.
+       * gcc.dg/builtin-bswap-14.c: New test.
+
+2021-07-08  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/100809
+       * gcc.target/powerpc/p10-vdivq-vmodq.c: New test.
+
+2021-07-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/pattern-test-2.c: Update expected results.
+       * gcc.dg/plugin/analyzer_gil_plugin.c
+       (gil_state_machine::on_condition): Remove.
+
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/100137
+       PR tree-optimization/99121
+       PR tree-optimization/97027
+       * c-c++-common/Warray-bounds-3.c: Remove xfail
+       * c-c++-common/Warray-bounds-4.c: Add an expected warning.
+       * c-c++-common/Warray-bounds-9.c: New test.
+       * c-c++-common/Warray-bounds-10.c: New test.
+       * g++.dg/asan/asan_test.C: Suppress expected warnings.
+       * g++.dg/pr95768.C: Same.
+       * g++.dg/warn/Warray-bounds-10.C: Adjust text of expected messages.
+       * g++.dg/warn/Warray-bounds-11.C: Same.
+       * g++.dg/warn/Warray-bounds-12.C: Same.
+       * g++.dg/warn/Warray-bounds-13.C: Same.
+       * g++.dg/warn/Warray-bounds-17.C: Same.
+       * g++.dg/warn/Warray-bounds-20.C: Same.
+       * gcc.dg/Warray-bounds-29.c: Same.
+       * gcc.dg/Warray-bounds-30.c: Add xfail.
+       * gcc.dg/Warray-bounds-31.c: Adjust text of expected messages.
+       * gcc.dg/Warray-bounds-32.c: Same.
+       * gcc.dg/Warray-bounds-52.c: Same.
+       * gcc.dg/Warray-bounds-53.c: Same.
+       * gcc.dg/Warray-bounds-58.c: Remove xfail.
+       * gcc.dg/Warray-bounds-63.c: Adjust text of expected messages.
+       * gcc.dg/Warray-bounds-66.c: Same.
+       * gcc.dg/Warray-bounds-69.c: Same.
+       * gcc.dg/Wstringop-overflow-34.c: Same.
+       * gcc.dg/Wstringop-overflow-47.c: Same.
+       * gcc.dg/Wstringop-overflow-61.c: Same.
+       * gcc.dg/Warray-bounds-77.c: New test.
+       * gcc.dg/Warray-bounds-78.c: New test.
+       * gcc.dg/Warray-bounds-79.c: New test.
+
+2021-07-07  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR debug/101321
+       * gcc.dg/debug/btf/btf-bitfields-3.c: Remove -fno-short-enums.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/34195
+       * gcc.dg/vect/pr34195.c: New testcase.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99728
+       * g++.dg/opt/pr99728.C: New testcase.
+
+2021-07-07  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512f-vect-fmaddsubXXXpd.c: New test.
+       * gcc.target/i386/avx512f-vect-fmaddsubXXXps.c: New test.
+       * gcc.target/i386/avx512f-vect-fmsubaddXXXpd.c: New test.
+       * gcc.target/i386/avx512f-vect-fmsubaddXXXps.c: New test.
+
+2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/101283
+       * gcc.dg/debug/btf/btf-bitfields-3.c: Remove the check on btm_type.
+
+2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/101283
+       * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Remove the check for ctv_typeidx.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/55881
+       * g++.dg/warn/uninit-pr55881.C: New test.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/86650
+       * gcc.dg/Warray-bounds-76.c: New test.
+
+2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/101283
+       * gcc.dg/debug/ctf/ctf-struct-array-2.c: Adjust the value in the testcase.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/format/gcc_diag-10.c: Update expected warnings.
+       * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Remove %G.
+
+2021-07-06  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wobjsize-1.c: Prune expected output.
+       * gcc.dg/Warray-bounds-71.c: New test.
+       * gcc.dg/Warray-bounds-71.h: New test header.
+       * gcc.dg/Warray-bounds-72.c: New test.
+       * gcc.dg/Warray-bounds-73.c: New test.
+       * gcc.dg/Warray-bounds-74.c: New test.
+       * gcc.dg/Warray-bounds-75.c: New test.
+       * gcc.dg/Wfree-nonheap-object-4.c: Adjust expected output.
+       * gcc.dg/Wfree-nonheap-object-5.c: New test.
+       * gcc.dg/Wfree-nonheap-object-6.c: New test.
+       * gcc.dg/pragma-diag-10.c: New test.
+       * gcc.dg/pragma-diag-9.c: New test.
+       * gcc.dg/uninit-suppress_3.c: New test.
+       * gcc.dg/pr79214.c: Xfail tests.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-27.c: New test.
+       * gcc.dg/format/c90-printf-1.c: Adjust expected output.
+
+2021-07-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97194
+       * gcc.target/i386/sse4_1-vec-set-1a.c: New test.
+       * gcc.target/i386/sse4_1-vec-set-2a.c: Ditto.
+
+2021-07-06  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-fmaddsubXXXpd.c: New testcase.
+       * gcc.target/i386/vect-fmaddsubXXXps.c: Likewise.
+       * gcc.target/i386/vect-fmsubaddXXXpd.c: Likewise.
+       * gcc.target/i386/vect-fmsubaddXXXps.c: Likewise.
+
+2021-07-06  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101256
+       * g++.dg/torture/pr101256.C: New test.
+
+2021-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/100227
+       * gfortran.dg/implied_do_io_7.f90: New test.
+
+2021-07-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR rtl-optimization/100328
+       * gcc.target/aarch64/sve/acle/asm/div_f16.c: Remove one xfail.
+       * gcc.target/aarch64/sve/acle/asm/div_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/div_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/divr_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/divr_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/divr_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mad_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mad_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mad_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mla_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mla_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mla_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mls_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mls_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mls_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/msb_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/msb_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/msb_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mulx_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mulx_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/mulx_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmad_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmad_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmad_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmla_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmla_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmla_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmls_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmls_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmls_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmsb_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmsb_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/nmsb_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/sub_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/sub_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/sub_f64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/subr_f16.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/subr_f32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/subr_f64.c: Likewise.
+
+2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/101283
+       * gcc.dg/debug/btf/btf-cvr-quals-1.c: Use -gdwarf-4 on Darwin targets.
+       * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Likewise.
+
+2021-07-05  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101039
+       * gcc.dg/tree-ssa/phi-opt-15.c: Update test to expect
+       ABSU and still not expect ABS_EXPR.
+       * gcc.dg/tree-ssa/phi-opt-23.c: New test.
+       * gcc.dg/tree-ssa/phi-opt-24.c: New test.
+
+2021-07-05  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR debug/101321
+       * gcc.dg/debug/btf/btf-bitfields-3.c: Add -fno-short-enums.
+
+2021-07-05  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/101299
+       * gcc.dg/vect/bb-slp-74.c: Add vect_double requires.
+
+2021-07-05  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512vl.c: Refine testcase.
+
+2021-07-03  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/debug/btf/btf.exp: Skip on AIX.
+       * gcc.dg/debug/ctf/ctf.exp: Skip on AIX.
+       * lib/gcc-dg.exp (gcc-dg-target-supports-debug-format): AIX
+       doesn't support CTF.
+       (gcc-dg-debug-runtest): Move CTF support within
+       target support format test.
+
+2021-07-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/101294
+       * gcc.dg/pr101294.c: New test.
+
+2021-07-03  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101273
+       * gdc.dg/torture/pr101273.d: New test.
+
+2021-07-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/101282
+       * gdc.dg/torture/pr101282.d: New test.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/gomp/attrs-1.C: New test.
+       * g++.dg/gomp/attrs-2.C: New test.
+       * g++.dg/gomp/attrs-3.C: New test.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/101297
+       * c-c++-common/gomp/atomic-24.c: New test.
+
+2021-07-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101247
+       * g++.dg/cpp2a/concepts-memtmpl4.C: New test.
+
+2021-07-02  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-7.c: New test.
+       * gcc.target/powerpc/mma-builtin-8.c: New test.
+
+2021-07-02  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/101223
+       * gcc.dg/pr101223.c: New.
+
+2021-07-02  David Faust  <david.faust@oracle.com>
+
+       * gcc.dg/debug/btf/btf-float-1.c: New test.
+       * gcc.dg/debug/btf/btf-function-3.c: Use different unrepresentable type.
+       * gcc.dg/debug/btf/btf-struct-2.c: Likewise.
+       * gcc.dg/debug/btf/btf-variables-2.c: Likewise.
+
+2021-07-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       * lib/gcc-defs.exp: Add a comment.
+
+2021-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101293
+       * gcc.dg/tree-ssa/ssa-lim-15.c: New testcase.
+
+2021-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101286
+       * gcc.target/i386/avx2-pr101286.c: New test.
+
+2021-07-02  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/keylocker-aesdec128kl.c: Update test.
+       * gcc.target/i386/keylocker-aesdec256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesdecwide256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesenc128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesenc256kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide128kl.c: Likewise.
+       * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise.
+
+2021-07-01  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-cmove.c: New test.
+       * gcc.target/powerpc/float128-minmax-3.c: New test.
+
+2021-07-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * c-c++-common/dump-ada-spec-14.c: Adjust dg-warning directive.
+
+2021-07-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100865
+       * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Expect integer
+       broadcast.
+       * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise.
+       * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise.
+       * gcc.target/i386/avx512f_cond_move.c: Also pass
+       -mprefer-vector-width=512 and expect integer broadcast.
+       * gcc.target/i386/pr100865-1.c: New test.
+       * gcc.target/i386/pr100865-2.c: Likewise.
+       * gcc.target/i386/pr100865-3.c: Likewise.
+       * gcc.target/i386/pr100865-4a.c: Likewise.
+       * gcc.target/i386/pr100865-4b.c: Likewise.
+       * gcc.target/i386/pr100865-5a.c: Likewise.
+       * gcc.target/i386/pr100865-5b.c: Likewise.
+       * gcc.target/i386/pr100865-6a.c: Likewise.
+       * gcc.target/i386/pr100865-6b.c: Likewise.
+       * gcc.target/i386/pr100865-6c.c: Likewise.
+       * gcc.target/i386/pr100865-7a.c: Likewise.
+       * gcc.target/i386/pr100865-7b.c: Likewise.
+       * gcc.target/i386/pr100865-7c.c: Likewise.
+       * gcc.target/i386/pr100865-8a.c: Likewise.
+       * gcc.target/i386/pr100865-8b.c: Likewise.
+       * gcc.target/i386/pr100865-8c.c: Likewise.
+       * gcc.target/i386/pr100865-9a.c: Likewise.
+       * gcc.target/i386/pr100865-9b.c: Likewise.
+       * gcc.target/i386/pr100865-9c.c: Likewise.
+       * gcc.target/i386/pr100865-10a.c: Likewise.
+       * gcc.target/i386/pr100865-10b.c: Likewise.
+       * gcc.target/i386/pr100865-11a.c: Likewise.
+       * gcc.target/i386/pr100865-11b.c: Likewise.
+       * gcc.target/i386/pr100865-11c.c: Likewise.
+       * gcc.target/i386/pr100865-12a.c: Likewise.
+       * gcc.target/i386/pr100865-12b.c: Likewise.
+       * gcc.target/i386/pr100865-12c.c: Likewise.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101280
+       PR tree-optimization/101173
+       * gcc.dg/tree-ssa/loop-interchange-16.c: New testcase.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101278
+       * gcc.dg/torture/pr101278.c: New testcase.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100778
+       * gcc.dg/torture/pr100778.c: New testcase.
+
+2021-07-01  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101044
+       * gcc.target/i386/pr101044.c: New test.
+
+2021-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101178
+       * gcc.dg/vect/bb-slp-72.c: New testcase.
+       * gcc.dg/vect/bb-slp-73.c: Likewise.
+       * gcc.dg/vect/bb-slp-74.c: Likewise.
+
+2021-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/101266
+       * gcc.dg/pr101266.c: New test.
+
+2021-07-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101194
+       * g++.dg/cpp0x/constexpr-empty16.C: New test.
+
+2021-07-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96204
+       * g++.dg/template/access41.C: New test.
+       * g++.dg/template/access41a.C: New test.
+
+2021-06-30  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * gcc.dg/debug/ctf/ctf-skip-types-4.c: Add dg-add-options float64 and
+       float64x.
+
+2021-06-30  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-minmax.c: Adjust expected code for
+       power10.
+       * lib/target-supports.exp (check_effective_target_has_arch_pwr10):
+       New.
+
+2021-06-30  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp2a/concepts-access2.C: New test.
+
+2021-06-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100975
+       DR 2397
+       * g++.dg/cpp0x/auto24.C: Remove dg-error.
+       * g++.dg/cpp0x/auto3.C: Adjust dg-error.
+       * g++.dg/cpp0x/auto42.C: Likewise.
+       * g++.dg/cpp0x/initlist75.C: Likewise.
+       * g++.dg/cpp0x/initlist80.C: Likewise.
+       * g++.dg/diagnostic/auto1.C: Remove dg-error.
+       * g++.dg/cpp23/auto-array.C: New test.
+
+2021-06-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101267
+       * gfortran.dg/pr101267.f90: New testcase.
+
+2021-06-30  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/95006
+       * gcc.dg/analyzer/clobbers-1.c: New test.
+       * gcc.dg/analyzer/clobbers-2.c: New test.
+       * gcc.dg/analyzer/data-model-1.c (test_26): Mark xfail as fixed.
+       (test_28): Likewise.
+       (test_52): Likewise.  Add coverage for end of buffer.
+       * gcc.dg/analyzer/explode-1.c: Add leak warning.
+       * gcc.dg/analyzer/memset-1.c (test_3): Mark xfail as fixed.
+       (test_4): Use char.  Mark xfail as fixed.
+       (test_6b): New.
+       (test_7): Mark xfail as fixed.  Add coverage for start of buffer.
+       (test_8): New.
+       (test_9): New.
+       * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: New test.
+       * gcc.dg/analyzer/symbolic-8.c: New test.
+
+2021-06-30  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       * gcc.dg/debug/ctf/ctf-skip-types-2.c: Add dg-add-options float16.
+
+2021-06-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101264
+       * gfortran.dg/pr101264.f90: New testcase.
+
+2021-06-30  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101248
+       * gcc.target/i386/pr101248.c: New test.
+
+2021-06-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/pr101254.c: New.
+
+2021-06-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * gcc.target/i386/pr95046-9.c: New test.
+
+2021-06-29  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/pr67790.c: Un-XFAIL.
+       * gcc.dg/vect/bb-slp-71.c: New testcase.
+
+2021-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101210
+       * g++.dg/ubsan/pr101210.C: New test.
+
+2021-06-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101242
+       * gcc.dg/vect/bb-slp-pr101242.c: New testcase.
+       * gcc.dg/vect/pr67790.c: XFAIL scan for zero VEC_PERM_EXPR.
+
+2021-06-28  Martin Sebor  <msebor@redhat.com>
+
+       * g++.dg/uninit-pr74762.C: New test.
+       * g++.dg/warn/uninit-pr74765.C: Same.
+
+2021-06-28  Indu Bhagat  <indu.bhagat@oracle.com>
+           David Faust  <david.faust@oracle.com>
+
+       * lib/gcc-dg.exp (gcc-dg-frontend-supports-ctf): New procedure.
+       (gcc-dg-debug-runtest): Add -gctf support.
+       * gcc.dg/debug/btf/btf-1.c: New test.
+       * gcc.dg/debug/btf/btf-2.c: Likewise.
+       * gcc.dg/debug/btf/btf-anonymous-struct-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-anonymous-union-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-array-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-bitfields-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-bitfields-2.c: Likewise.
+       * gcc.dg/debug/btf/btf-bitfields-3.c: Likewise.
+       * gcc.dg/debug/btf/btf-cvr-quals-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-enum-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-forward-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-function-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-function-2.c: Likewise.
+       * gcc.dg/debug/btf/btf-int-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-pointers-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-struct-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-typedef-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-union-1.c: Likewise.
+       * gcc.dg/debug/btf/btf-variables-1.c: Likewise.
+       * gcc.dg/debug/btf/btf.exp: Likewise.
+       * gcc.dg/debug/ctf/ctf-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-anonymous-struct-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-anonymous-union-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-array-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-array-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-array-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-array-4.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-attr-used-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-bitfields-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-bitfields-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-bitfields-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-bitfields-4.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-complex-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-cvr-quals-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-cvr-quals-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-cvr-quals-4.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-enum-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-enum-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-file-scope-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-float-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-forward-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-forward-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-func-index-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-function-pointers-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-function-pointers-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-functions-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-int-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-objt-index-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-pointers-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-pointers-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-preamble-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-4.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-5.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-skip-types-6.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-str-table-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-struct-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-struct-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-struct-array-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-struct-pointer-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-struct-pointer-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-struct-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-struct-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-typedef-struct-3.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-union-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-variables-1.c: Likewise.
+       * gcc.dg/debug/ctf/ctf-variables-2.c: Likewise.
+       * gcc.dg/debug/ctf/ctf.exp: Likewise.
+       * gcc.dg/debug/btf/btf-bitfields-4.c: New file.
+       * gcc.dg/debug/btf/btf-datasec-1.c: New file.
+       * gcc.dg/debug/btf/btf-function-3.c: New file.
+       * gcc.dg/debug/btf/btf-pointers-2.c: New file.
+       * gcc.dg/debug/btf/btf-struct-2.c: New file.
+       * gcc.dg/debug/btf/btf-variables-2.c: New file.
+       * gcc.dg/debug/btf/btf-variables-3.c: New file.
+       * gcc.dg/debug/ctf/ctf-debug-1.c: New file.
+       * gcc.dg/debug/ctf/ctf-debug-2.c: New file.
+       * gcc.dg/debug/ctf/ctf-function-pointers-4.c: New file.
+       * gcc.dg/debug/ctf/ctf-skip-types-7.c: New file.
+       * gcc.dg/debug/ctf/ctf-skip-types-8.c: New file.
+       * gcc.dg/debug/ctf/ctf-struct-array-2.c: New file.
+
+2021-06-28  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * lib/gcc-dg.exp (gcc-dg-target-supports-debug-format): New procedure.
+
+2021-06-28  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/93385
+       * gcc.dg/ipa/pr93385.c: New test.
+       * gcc.dg/ipa/ipa-sra-23.c: Likewise.
+       * gcc.dg/ipa/ipa-sra-24.c: Likewise.
+       * g++.dg/ipa/ipa-sra-4.C: Likewise.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101229
+       * gcc.dg/torture/pr101229.c: New testcase.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101207
+       * gcc.dg/vect/bb-slp-pr101207.c: New testcase.
+
+2021-06-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101173
+       * gcc.dg/torture/pr101173.c: New testcase.
+
+2021-06-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100648
+       * g++.target/i386/avx2-pr54700-2.C: Adjust testcase.
+       * g++.target/i386/avx512vl-pr54700-1a.C: New test.
+       * g++.target/i386/avx512vl-pr54700-1b.C: New test.
+       * g++.target/i386/avx512vl-pr54700-2a.C: New test.
+       * g++.target/i386/avx512vl-pr54700-2b.C: New test.
+       * gcc.target/i386/avx512vl-pr100648.c: New test.
+       * gcc.target/i386/avx512vl-blendv-1.c: New test.
+       * gcc.target/i386/avx512vl-blendv-2.c: New test.
+
+2021-06-28  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/funcspec-8.c: Replace
+       __builtin_ia32_blendvpd with  __builtin_ia32_roundps_az.
+       * gcc.target/i386/blendv-1.c: New test.
+       * gcc.target/i386/blendv-2.c: New test.
+
+2021-06-27  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/torture/pr101230-1.c: New test.
+
+2021-06-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96204
+       * g++.dg/template/access40.C: New test.
+       * g++.dg/template/access40a.C: New test.
+
+2021-06-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101040
+       PR c++/97566
+       * g++.dg/cpp2a/no_unique_address13.C: New test.
+
+2021-06-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100752
+       * g++.dg/cpp0x/noexcept69.C: New test.
+       * g++.dg/parse/saved1.C: Adjust dg-error.
+       * g++.dg/template/crash50.C: Likewise.
+
+2021-06-25  David Malcolm  <dmalcolm@redhat.com>
+
+       * jit.dg/test-vector-rvalues.cc (check_div): Add specialization
+       for v4f, to avoid relying on exact floating-point equality.
+       * jit.dg/test-vector-types.cc (check_div): Likewise.
+
+2021-06-25  David Malcolm  <dmalcolm@redhat.com>
+
+       * jit.dg/test-asm.c: Remove i?86-*-* from target specifier.
+       * jit.dg/test-asm.cc: Likewise.
+
+2021-06-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/101216
+       * gcc.dg/Wnonnull-7.c: New test.
+
+2021-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101202
+       * gcc.dg/torture/pr101202.c: New testcase.
+
+2021-06-25  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * g++.dg/no-stack-protector-attr-3.C (dg-final): Adjust for MIPS.
+
+2021-06-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101185
+       * gcc.target/i386/bitwise_mask_op-3.c: Add xfail to
+       temporarily avoid regression, eventually xfail should be
+       removed.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/evrp30.c: New.
+
+2021-06-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/tree-ssa/pr101189.c: New.
+
+2021-06-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98832
+       * g++.dg/cpp2a/class-deduction-alias9.C: New test.
+
+2021-06-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101182
+       * g++.dg/cpp2a/concepts-requires25.C: New test.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/101171
+       * gcc.dg/pr101171.c: New test.
+
+2021-06-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/89021
+       * gcc.dg/vect/vect-nb-iter-ub-3.c (dg-additional-options):
+       Add --param vect-epilogues-nomask=0.
+       * gcc.target/i386/pr97249-1.c (foo): Add #pragma GCC unroll
+       to avoid loop vectorization.
+       (foo1): Ditto.
+       (foo2): Ditto.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/vect-addsubv2df.c: New testcase.
+       * gcc.target/i386/vect-addsubv4sf.c: Likewise.
+       * gcc.target/i386/vect-addsubv4df.c: Likewise.
+       * gcc.target/i386/vect-addsubv8sf.c: Likewise.
+       * gcc.target/i386/vect-addsub-2.c: Likewise.
+       * gcc.target/i386/vect-addsub-3.c: Likewise.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101170
+       * gcc.dg/pr101170.c: New test.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101172
+       * gcc.dg/pr101172.c: New test.
+
+2021-06-24  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/mnop-mcount-m31-mzarch.c: Adapt to the new
+       prologue size.
+       * gcc.target/s390/mnop-mcount-m64.c: Likewise.
+
+2021-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-c++-common/gomp/target-in-reduction-1.c: New test.
+       * c-c++-common/gomp/clauses-1.c: Add in_reduction clauses on
+       target or combined target constructs.
+
+2021-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101105
+       * gcc.dg/torture/pr101105.c: New testcase.
+
+2021-06-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98434
+       * gcc.target/i386/pr98434-1.c: New test.
+       * gcc.target/i386/pr98434-2.c: New test.
+       * gcc.target/i386/avx512vl-pr95488-1.c: Adjust testcase.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101174
+       * g++.dg/cpp1z/class-deduction-access3.C: New test.
+       * g++.dg/cpp1z/class-deduction91.C: New test.
+
+2021-06-23  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/pcrel-opt-inc-di.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-df.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-di.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-hi.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-qi.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-sf.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-si.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-ld-vector.c: Enable -mpcrel-opt to
+       test it.
+       * gcc.target/powerpc/pcrel-opt-st-df.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-di.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-hi.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-qi.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-sf.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-si.c: Enable -mpcrel-opt to test it.
+       * gcc.target/powerpc/pcrel-opt-st-vector.c: Enable -mpcrel-opt to
+       test it.
+
+2021-06-23  Xi Ruoyao  <xry111@mengyan@123.wang>
+
+       * gcc.c-torture/execute/950704-1.c: Add -fwrapv to avoid
+       undefined behavior.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/86439
+       * g++.dg/cpp1z/class-deduction88.C: New test.
+       * g++.dg/cpp1z/class-deduction89.C: New test.
+       * g++.dg/cpp1z/class-deduction90.C: New test.
+
+2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101175
+       * gcc.target/i386/pr101175.c: New test.
+
+2021-06-23  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/100337
+       * gfortran.dg/coarray_collectives_17.f90: New test.
+
+2021-06-22  Sandra Loosemore  <sandra@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93524
+       * gfortran.dg/pr93524.c: New.
+       * gfortran.dg/pr93524.f90: New.
+
+2021-06-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101143
+       * gcc.dg/analyzer/pr101143.c: New test.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101156
+       * gcc.dg/pr101156.c: New testcase.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/101159
+       * gcc.c-torture/compile/pr101159.c: New test.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101160
+       * g++.target/i386/empty-class1.C: Require lp64 effective target
+       instead of x86_64-*-*.
+       * g++.target/i386/empty-class2.C: New test.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+           Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/101162
+       * g++.dg/opt/pr101162.C: New test.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101151
+       * gcc.dg/torture/pr101151.c: New testcase.
+
+2021-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * g++.dg/modules/omp-1_a.C: Check pthread is available for
+       dg-module-cmi.
+       * g++.dg/modules/omp-2_a.C: Ditto.
+
+2021-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101158
+       * gfortran.dg/pr101158.f90: New testcase.
+
+2021-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/11877
+       * gcc.target/i386/pr11877-2.c: New test.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/97770
+       * gcc.target/i386/avx512bitalg-pr97770-1.c: Remove xfail.
+       * gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Remove xfail.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100267
+       * gcc.target/i386/avx512bw-pr100267-1.c: New test.
+       * gcc.target/i386/avx512bw-pr100267-b-2.c: New test.
+       * gcc.target/i386/avx512bw-pr100267-d-2.c: New test.
+       * gcc.target/i386/avx512bw-pr100267-q-2.c: New test.
+       * gcc.target/i386/avx512bw-pr100267-w-2.c: New test.
+       * gcc.target/i386/avx512f-pr100267-1.c: New test.
+       * gcc.target/i386/avx512f-pr100267-pd-2.c: New test.
+       * gcc.target/i386/avx512f-pr100267-ps-2.c: New test.
+       * gcc.target/i386/avx512vl-pr100267-1.c: New test.
+       * gcc.target/i386/avx512vl-pr100267-pd-2.c: New test.
+       * gcc.target/i386/avx512vl-pr100267-ps-2.c: New test.
+       * gcc.target/i386/avx512vlbw-pr100267-1.c: New test.
+       * gcc.target/i386/avx512vlbw-pr100267-b-2.c: New test.
+       * gcc.target/i386/avx512vlbw-pr100267-d-2.c: New test.
+       * gcc.target/i386/avx512vlbw-pr100267-q-2.c: New test.
+       * gcc.target/i386/avx512vlbw-pr100267-w-2.c: New test.
+
+2021-06-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100310
+       * gcc.target/i386/pr100310.c: New test.
+
+2021-06-21  Jason Merrill  <jason@redhat.com>
+
+       PR target/88529
+       * g++.target/i386/empty-class1.C: New test.
+
+2021-06-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67302
+       * g++.dg/opt/nrv21.C: New test.
+
+2021-06-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/80431
+       * g++.dg/cpp0x/nsdmi-virtual1a.C: New test.
+
+2021-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR inline-asm/100785
+       * c-c++-common/pr100785.c: New test.
+       * gcc.dg/pr48552-1.c: Don't expect invalid lvalue errors.
+       * gcc.dg/pr48552-2.c: Likewise.
+
+2021-06-21  prathamesh.kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/97906
+       * gcc.target/arm/simd/pr97906.c: New test.
+
+2021-06-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101121
+       * gfortran.dg/pr101121.f: New testcase.
+
+2021-06-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101142
+       * gcc.target/i386/spill_to_mask-1.c: Adjust testcase.
+       * gcc.target/i386/spill_to_mask-2.c: Adjust testcase.
+       * gcc.target/i386/spill_to_mask-3.c: Adjust testcase.
+       * gcc.target/i386/spill_to_mask-4.c: Adjust testcase.
+
+2021-06-21  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/11877
+       * gcc.target/i386/pr11877.c: New test case.
+
+2021-06-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-2logical.c: Update pattern
+       match counts.
+       * gcc.target/powerpc/fusion-p10-addadd.c: Update pattern match
+       counts.
+       * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update pattern match
+       counts.
+       * gcc.target/powerpc/fusion-p10-logadd.c: Update pattern match
+       counts.
+
+2021-06-18  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100283
+       PR fortran/101123
+       * gfortran.dg/min0_max0_1.f90: New test.
+       * gfortran.dg/min0_max0_2.f90: New test.
+
+2021-06-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/symbolic-7.c: New test.
+
+2021-06-18  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/100856
+       * gcc.target/arm/acle/pr100856.c: New test.
+       * gcc.target/arm/multilib.exp: Add tests for cde options.
+
+2021-06-18  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-minmax-2.c: New test.
+
+2021-06-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101106
+       * g++.dg/cpp0x/deleted15.C: New test.
+
+2021-06-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100704
+       * gcc.target/i386/pr100704-1.c: New test.
+       * gcc.target/i386/pr100704-2.c: Likewise.
+       * gcc.target/i386/pr100704-3.c: Likewise.
+
+2021-06-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/97194
+       * gcc.target/i386/sse4_1-vec-set-1.c: New test.
+       * gcc.target/i386/sse4_1-vec-set-2.c: ditto.
+
+2021-06-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr100790.c: New test.
+
+2021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * gcc.target/s390/zvector/vec-doublee.c: New test.
+       * gcc.target/s390/zvector/vec-floate.c: New test.
+
+2021-06-17  Richard Biener   <rguenther@suse.de>
+
+       PR tree-optimization/54400
+       * gcc.dg/vect/bb-slp-pr54400.c: New testcase.
+
+2021-06-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101078
+       PR c++/91706
+       * g++.dg/template/access39.C: New test.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * gfortran.dg/pr95502.f90: New test.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       Revert:
+       2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * gfortran.dg/pr95502.f90: New test.
+
+2021-06-16  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95501
+       PR fortran/95502
+       * gfortran.dg/pr95502.f90: New test.
+
+2021-06-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100796
+       PR preprocessor/96391
+       * g++.dg/plugin/location-overflow-test-pr100796.c: New test.
+       * g++.dg/plugin/plugin.exp: Run it.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests.
+
+2021-06-16  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_zero_high_half.c: New test.
+
+2021-06-16  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * gcc.dg/tree-ssa/pr100453.c: New test.
+
+2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/guality/pr49888.c (f): Use noipa attribute instead of
+       noinline, noclone.
+
+2021-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/101062
+       * gcc.dg/pr101062.c: New test.
+
+2021-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101088
+       * gcc.dg/torture/pr101088.c: New testcase.
+
+2021-06-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/46235
+       * gcc.target/i386/bt-5.c: New test.
+       * gcc.target/i386/bt-6.c: New test.
+       * gcc.target/i386/bt-7.c: New test.
+
+2021-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/limited4.adb: Disable illegal code.
+
+2021-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101083
+       * gcc.dg/vect/pr97832-4.c: New testcase.
+
+2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/92568
+       * gfortran.dg/gomp/pr99928-1.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-2.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-3.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-4.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-5.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-6.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/pr99928-8.f90: Uncomment 'defaultmap(none)'.
+       * gfortran.dg/gomp/defaultmap-1.f90: New test.
+       * gfortran.dg/gomp/defaultmap-2.f90: New test.
+       * gfortran.dg/gomp/defaultmap-3.f90: New test.
+       * gfortran.dg/gomp/defaultmap-4.f90: New test.
+       * gfortran.dg/gomp/defaultmap-5.f90: New test.
+       * gfortran.dg/gomp/defaultmap-6.f90: New test.
+       * gfortran.dg/gomp/defaultmap-7.f90: New test.
+
+2021-06-15  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_capacity): New decl.
+       * gcc.dg/analyzer/capacity-1.c: New test.
+       * gcc.dg/analyzer/capacity-2.c: New test.
+       * gcc.dg/analyzer/capacity-3.c: New test.
+
+2021-06-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/101068
+       * gcc.dg/analyzer/explode-2a.c: New test.
+
+2021-06-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101046
+       * gcc.target/i386/pr101046.c: New test.
+
+2021-06-15  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * c-c++-common/Wattributes.c: Remove s390-specific check and add
+       new tests.
+       * gcc.dg/Wattributes-6.c: Likewise.
+
+2021-06-15  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/101020
+       * gcc.target/powerpc/float128-call.c: Adjust counts for be and le.
+
+2021-06-14  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/100876
+       * g++.dg/warn/Wmismatched-new-delete-4.C: New test.
+       * g++.dg/warn/Wmismatched-new-delete-5.C: New test.
+       * g++.dg/warn/Wstringop-overflow-7.C: New test.
+       * g++.dg/warn/Wfree-nonheap-object-6.C: New test.
+       * g++.dg/analyzer/placement-new.C: Prune out expected warning.
+
+2021-06-14  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/100777
+       * gcc.target/powerpc/pr100777.c: New test.
+
+2021-06-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101058
+       * gcc.target/i386/pr101058.c: New test.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/101052
+       * g++.dg/spellcheck-stdlib.C: Add checks for <cstdlib> names.
+       * gcc.dg/spellcheck-stdlib.c: Likewise.
+
+2021-06-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vclz.c: Update expected results.
+       * gcc.target/arm/simd/mve-vshl.c: Likewise.
+       * gcc.target/arm/simd/mve-vec-pack.c: New test.
+       * gcc.target/arm/simd/mve-vec-unpack.c: New test.
+
+2021-06-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100934
+       * gcc.dg/torture/pr100934.c: New testcase.
+
+2021-06-14  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.dg/sms-1.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-2.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-3.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-4.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-6.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-8.c: Remove scan-rtl-dump-times check.
+       * gcc.dg/sms-10.c: Remove scan-rtl-dump-times check.
+
+2021-06-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101031
+       * gcc.dg/torture/pr101031.c: New testcase.
+
+2021-06-13  Jason Merrill  <jason@redhat.com>
+
+       * gcc.dg/c2x-attr-maybe_unused-1.c: Expect no warnings.
+
+2021-06-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/101023
+       * g++.target/i386/pr101023a.C: New test.
+       * g++.target/i386/pr101023b.C: Likewise.
+
+2021-06-12  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/ext/builtin-shufflevector-2.C: Ignore psabi warning.
+       * gcc.dg/uninit-pr93100.c: Skip on AIX.
+       * gcc.target/powerpc/pr100085.c: Require int128 and float128.
+
+2021-06-12  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/ext/attrib62.C: No longer warn.
+       * g++.dg/diagnostic/maybe_unused1.C: New test.
+
+2021-06-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/101029
+       * g++.dg/ext/array4.C: New test.
+
+2021-06-11  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c
+       (dg-require-effective-target): Change target to p9vector_hw.
+
+2021-06-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc.dg/gomp/simd-clones-2.c: Enhance.
+
+2021-06-11  Patrick Palka  <ppalka@redhat.com>
+
+       DR 1227
+       PR c++/96560
+       * g++.dg/template/sfinae-dr1227.C: New test.
+
+2021-06-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/101016
+       * gcc.target/arm/mve/intrinsics/pr101016.c: New test.
+
+2021-06-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/96392
+       * gcc.dg/pr96392.c: New test.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101025
+       * gcc.dg/torture/pr101025.c: New testcase.
+
+2021-06-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/99939
+       * gcc.target/arm/cmse/cmse-18.c: Add separate scan-assembler
+       directives check for target is v8.1-m.main+mve or not before
+       comparing the assembly output.
+       * gcc.target/arm/cmse/cmse-20.c: New test.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100974
+       * g++.dg/cpp23/consteval-if1.C: New test.
+       * g++.dg/cpp23/consteval-if2.C: New test.
+       * g++.dg/cpp23/consteval-if3.C: New test.
+       * g++.dg/cpp23/consteval-if4.C: New test.
+       * g++.dg/cpp23/consteval-if5.C: New test.
+       * g++.dg/cpp23/consteval-if6.C: New test.
+       * g++.dg/cpp23/consteval-if7.C: New test.
+       * g++.dg/cpp23/consteval-if8.C: New test.
+       * g++.dg/cpp23/consteval-if9.C: New test.
+       * g++.dg/cpp23/consteval-if10.C: New test.
+       * g++.dg/cpp23/feat-cxx2b.C: Add __cpp_if_consteval tests.
+
+2021-06-11  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Update
+       expected number of enodes after the loop.
+       * gcc.dg/analyzer/paths-8.c: New test.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101028
+       * gcc.dg/pr101028.c: New testcase.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101026
+       * gfortran.dg/pr101026.f: New testcase.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/101008
+       * gcc.dg/pr101008.c: New test.
+
+2021-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/101007
+       * gcc.target/i386/sse-pr101007.c: New test.
+
+2021-06-11  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/101021
+       * gcc.target/i386/pr101021-1.c: New test.
+       * gcc.target/i386/pr101021-2.c: Ditto.
+
+2021-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/100788
+       * gcc.dg/pr100788.c: New test.
+
+2021-06-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101009
+       * gcc.dg/torture/pr101009.c: New testcase.
+
+2021-06-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/p9-fpcvt-3.c: New test.
+
+2021-06-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100995
+       * g++.dg/cpp2a/is-constant-evaluated9.C: Add dg-warning.
+       * g++.dg/cpp2a/is-constant-evaluated12.C: New test.
+
+2021-06-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/67829
+       * g++.dg/template/ttp34.C: New test.
+       * g++.dg/template/ttp34a.C: New test.
+       * g++.dg/template/ttp34b.C: New test.
+
+2021-06-10  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100946
+       * g++.dg/cpp2a/concepts-return-req3.C: New test.
+
+2021-06-10  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-4.c (__builtin_vsx_build_pair): Add
+       tests.  Update expected counts.
+       * gcc.target/powerpc/mma-builtin-5.c (__builtin_mma_build_acc): Add
+       tests.  Update expected counts.
+
+2021-06-10  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100967
+       * gdc.dg/pr100967.d: New test.
+
+2021-06-10  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.target/s390/vector/vcond-mixed-double.c: New test.
+       * gcc.target/s390/vector/vcond-mixed-float.c: New test.
+
+2021-06-10  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.dg/vect/pr56541.c: Fix target selector.
+
+2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust patterns.
+       * c-c++-common/goacc/finalize-1.c: Likewise.
+       * c-c++-common/goacc/mdc-1.c: Likewise.
+       * c-c++-common/goacc/nesting-fail-1.c: Likewise.
+       * c-c++-common/goacc/struct-enter-exit-data-1.c: Likewise.
+       * gfortran.dg/goacc/attach-descriptor.f90: Likewise.
+       * gfortran.dg/goacc/finalize-1.f: Likewise.
+       * gfortran.dg/goacc/mapping-tests-3.f90: Likewise.
+
+2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/mdc-1.c: Fix '#pragma acc acc [...]' typo.
+       * c-c++-common/goacc/mdc-2.c: Likewise.
+       * g++.dg/goacc/mdc.C: Likewise.
+
+2021-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp2a/feat-cxx2a.C: Uncomment __cpp_consteval test.
+       * g++.dg/cpp23/feat-cxx2b.C: Likewise.
+
+2021-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/100852
+       * g++.dg/opt/pr100852.C: New test.
+
+2021-06-09  Andrew Pinski  <apinski@marvell.com>
+
+       * g++.dg/torture/pr100925.C: New test.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/int_128bit-runnable.c (extsd2q): Update expected
+       count.
+       Add tests for vec_signextq.
+       * gcc.target/powerpc/p9-sign_extend-runnable.c:  New test case.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/fp128_conversions.c: New file.
+       * gcc.target/powerpc/int_128bit-runnable.c(vextsd2q,
+       vcmpuq, vcmpsq, vcmpequq, vcmpequq., vcmpgtsq, vcmpgtsq.
+       vcmpgtuq, vcmpgtuq.): Update scan-assembler-times.
+       (ppc_native_128bit): Remove dg-require-effective-target.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/int_128bit-runnable.c: Add shift_right, shift_left
+       tests.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/int_128bit-runnable.c: Add 128-bit DFP
+       conversion tests.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/int_128bit-runnable.c: New test file.
+
+2021-06-09  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c:
+       New runnable test case.
+       * gcc.target/powerpc/vec-rlmi-rlnm.c: Update scan assembler times
+       for xxlor instruction.
+
+2021-06-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vclz.c: New test.
+
+2021-06-09  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vhadd-1.c: New test.
+       * gcc.target/arm/simd/mve-vhadd-2.c: New test.
+       * gcc.target/arm/simd/neon-vhadd-1.c: New test.
+       * gcc.target/arm/simd/neon-vhadd-2.c: New test.
+
+2021-06-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * gcc.dg/builtins-70.c: New test.
+
+2021-06-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-2logical.c: Update fused insn
+       counts to test 32 and 64 bit separately.
+       * gcc.target/powerpc/fusion-p10-addadd.c: Update fused insn
+       counts to test 32 and 64 bit separately.
+       * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update fused insn
+       counts to test 32 and 64 bit separately.
+       * gcc.target/powerpc/fusion-p10-logadd.c: Update fused insn
+       counts to test 32 and 64 bit separately.
+
+2021-06-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100981
+       * gfortran.dg/vect/pr100981-1.f90: New testcase.
+
+2021-06-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97832
+       * gcc.dg/vect/pr97832-1.c: New testcase.
+       * gcc.dg/vect/pr97832-2.c: Likewise.
+       * gcc.dg/vect/pr97832-3.c: Likewise.
+       * g++.dg/vect/slp-pr98855.cc: XFAIL.
+       * gcc.dg/vect/slp-50.c: New file.
+
+2021-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/100965
+       * gfortran.dg/gomp/pr100965.f90: New test.
+
+2021-06-09  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100936
+       * gcc.target/i386/pr100936.c: New test.
+
+2021-06-09  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-call.c: Adjust.
+       * gcc.target/powerpc/pr100085.c: New test.
+
+2021-06-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100879
+       * g++.dg/diagnostic/enum3.C: New test.
+
+2021-06-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100065
+       * g++.dg/cpp2a/explicit18.C: New test.
+
+2021-06-08  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/pr96928-1.c: Fix testcase for now that ~
+       happens on the outside of the bit_xor.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/pr60209-neg.C: Update diagnostic.
+       * g++.dg/diagnostic/string-literal-concat.C: Likewise.
+       * g++.dg/ext/utf-badconcat.C: Likewise.
+       * g++.dg/ext/utf-badconcat2.C: Likewise.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp23/mixed-concat1.C: New test.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp23/whitespace-splice1.C: New test.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp23/narrowing-bool1.C: New test.
+
+2021-06-08  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99212
+       * gcc.dg/analyzer/bitfields-1.c: New test.
+       * gcc.dg/analyzer/data-model-1.c (struct sbits): Make bitfields
+       explicitly signed.
+       (test_44): Update test values assigned to the bits to ones that
+       fit in the range of the bitfield type.  Remove xfails.
+       (test_45): Remove xfails.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100963
+       * g++.dg/cpp0x/initlist124.C: New test.
+
+2021-06-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100923
+       * gcc.dg/torture/pr100923.c: New testcase.
+
+2021-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100957
+       * g++.dg/gomp/doacross-2.C: New test.
+
+2021-06-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/100951
+       * gcc.target/i386/pr100951.c: New test.
+
+2021-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100887
+       PR testsuite/100943
+       * gcc.dg/pr100887.c: Add -Wno-psabi -w to dg-options.
+
+2021-06-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * gfortran.dg/gomp/openmp-simd-6.f90: Update scan-tree-dump.
+       * gfortran.dg/gomp/scan-5.f90: Likewise.
+       * gfortran.dg/gomp/loop-1.f90: Likewise; remove xfail.
+       * gfortran.dg/gomp/pr99928-1.f90: Remove xfail.
+       * gfortran.dg/gomp/pr99928-2.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-3.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-8.f90: Likewise.
+
+2021-06-08  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/format/strfmon-1.c: Fix typo.
+       * gfortran.dg/char4-subscript.f90: Likewise.
+
+2021-06-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/100794
+       * gcc.dg/tree-ssa/pr100794.c: New test.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91706
+       * g++.dg/template/lookup17.C: New test.
+
+2021-06-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100102
+       * g++.dg/cpp0x/alias-decl-73.C: New test.
+
+2021-06-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.target/i386/pr100637-5b.c: New test.
+       * gcc.target/i386/pr100637-5w.c: Ditto.
+
+2021-06-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/82735
+       * gcc.target/i386/pr82735-3.c: Don't compile for x32.
+       * gcc.target/i386/pr82735-4.c: Likewise.
+       * gcc.target/i386/pr82735-5.c: Likewise.
+
+2021-06-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-14.c: Adjust.
+
+2021-06-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100918
+       * g++.dg/template/access38.C: New test.
+
+2021-06-07  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/100885
+       * g++.target/i386/pr100885.C (_mm_set_epi64): Cast __m64 to long
+       long.
+
+2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100887
+       * gcc.dg/pr100887.c: New test.
+
+2021-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100898
+       * g++.dg/ext/va-arg-pack-3.C: New test.
+
+2021-06-07  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100885
+       * g++.target/i386/pr100885.C: New test.
+
+2021-06-07  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/82735
+       * gcc.target/i386/pr82735-1.c: New test.
+       * gcc.target/i386/pr82735-2.c: New test.
+       * gcc.target/i386/pr82735-3.c: New test.
+       * gcc.target/i386/pr82735-4.c: New test.
+       * gcc.target/i386/pr82735-5.c: New test.
+
+2021-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/gomp/scan-1.c: New test.
+
+2021-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/100902
+       * c-c++-common/gomp/pr100902-1.c: New test.
+
+2021-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-14.c: New test.
+
+2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100120
+       PR fortran/100816
+       PR fortran/100818
+       PR fortran/100819
+       PR fortran/100821
+       * gfortran.dg/PR100120.f90: New test.
+       * gfortran.dg/character_workout_1.f90: New test.
+       * gfortran.dg/character_workout_4.f90: New test.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/100905
+       * gfortran.dg/gomp/loop-3.f90: New test.
+
+2021-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/100882
+       * gdc.dg/pr100882a.d: New test.
+       * gdc.dg/pr100882b.d: New test.
+       * gdc.dg/pr100882c.d: New test.
+       * gdc.dg/torture/pr100882.d: New test.
+
+2021-06-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100893
+       * g++.dg/template/param4.C: New test.
+       * g++.dg/template/param5.C: New test.
+       * g++.dg/cpp1z/nontype-auto19.C: New test.
+       * g++.dg/cpp2a/concepts-decltype.C: Don't expect that the
+       deduced type of a decltype(auto) NTTP has top-level cv-quals.
+
+2021-06-04  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100102
+       * g++.dg/cpp0x/alias-decl-72.C: New test.
+       * g++.dg/cpp0x/alias-decl-72a.C: New test.
+
+2021-06-04  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99839
+       * gfortran.dg/inline_matmul_25.f90: New test.
+
+2021-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR c/100783
+       * gcc.dg/nonnull-6.c: New test.
+
+2021-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100732
+       * gcc.dg/tree-ssa/builtin-snprintf-11.c: New test.
+       * gcc.dg/tree-ssa/builtin-snprintf-12.c: New test.
+       * gcc.dg/tree-ssa/builtin-sprintf-28.c: New test.
+       * gcc.dg/tree-ssa/builtin-sprintf-29.c: New test.
+       * gcc.dg/uninit-pr100732.c: New test.
+
+2021-06-04  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wvla-parameter-10.c: New test.
+       * gcc.dg/Wvla-parameter-11.c: New test.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/omp-fixed.f: Re-add test item changed in previous
+       commit in addition - add more dg-errors and '... end ...' due to changed
+       parsing.
+       * gfortran.dg/goacc/omp.f95: Likewise.
+       * gfortran.dg/goacc-gomp/mixed-1.f: New test.
+
+2021-06-04  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.dg/vect/slp-perm-9.c (dg-final): Adjust dumps for vect32 targets.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr99928-5.f90: Really use the
+       proper iteration variable.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/pr99928-1.f90: Add 'implicit none'.
+       * gfortran.dg/gomp/pr99928-11.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-4.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-6.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-8.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-2.f90: Likewise. Add missing decl.
+       * gfortran.dg/gomp/pr99928-5.f90: Add implicit none;
+       fix loop-variable and remove xfail.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * gfortran.dg/gomp/loop-2.f90: Update for typo fix.
+
+2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * gfortran.dg/gomp/pr99928-3.f90: Add 'default(none)', following
+       C/C++ version of the patch.
+       * gfortran.dg/gomp/loop-1.f90: New test.
+       * gfortran.dg/gomp/loop-2.f90: New test.
+       * gfortran.dg/gomp/pr99928-1.f90: New test; based on C/C++ test.
+       * gfortran.dg/gomp/pr99928-11.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-2.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-4.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-5.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-6.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-8.f90: Likewise.
+       * gfortran.dg/goacc/omp.f95: Use 'acc kernels loops' instead
+       of 'acc loops' to hide unrelated bug for now.
+       * gfortran.dg/goacc/omp-fixed.f: Likewise
+
+2021-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100887
+       * gcc.target/i386/pr100887.c: New test.
+
+2021-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100872
+       * g++.dg/gomp/declare-simd-8.C: New test.
+
+2021-06-04  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       * gcc.target/powerpc/not-promote-mode.c: New.
+
+2021-06-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.target/i386/vperm-v2hi.c: New test.
+       * gcc.target/i386/vperm-v4qi.c: Ditto.
+
+2021-06-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr80776-1.c: XFAIL and document the reason why.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100592
+       * g++.dg/cpp0x/alias-decl-71.C: New test.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100862
+       * g++.dg/cpp2a/using-enum-9.C: New test.
+
+2021-06-03  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/sve/part_vect_single_iter_epilog.c: New test.
+
+2021-06-03  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vabs.c: New test.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/bit_packed_array6.adb: New test.
+       * gnat.dg/bit_packed_array6_pkg.ads: New helper.
+
+2021-06-03  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/spellcheck-options-23.c: New test.
+
+2021-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/inline22.adb: New test.
+
+2021-06-03  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/cpunative/info_16: Update implementer.
+       * gcc.target/aarch64/cpunative/info_17: Likewise
+
+2021-06-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100859
+       * g++.dg/gomp/depend-iterator-3.C: New test.
+       * g++.dg/gomp/this-1.C: Don't expect any diagnostics for
+       this as base expression of depend array section, expect a different
+       error wording for this as depend locator and add testcases
+       for affinity clauses.
+
+2021-06-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100838
+       * g++.dg/init/no-elide2.C: New test.
+
+2021-06-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/ashr.c: New test.
+
+2021-06-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * gfortran.dg/gomp/taskloop-2.f90: New.
+
+2021-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/ext/builtin-shufflevector-1.C: Add -Wno-psabi -w to
+       dg-options.
+
+2021-06-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/65816
+       * g++.dg/cpp0x/constexpr-delegating3.C: New test.
+       * g++.dg/cpp0x/dc10.C: New test.
+       * g++.dg/cpp0x/initlist-base4.C: New test.
+       * g++.dg/cpp2a/constexpr-init22.C: New test.
+
+2021-06-01  Andrew Pinski  <apinski@marvell.com>
+
+       PR tree-optimization/95481
+       * gcc.dg/tree-ssa/tailcall-10.c: New test.
+       * gcc.dg/tree-ssa/tailcall-11.c: New test.
+       * gcc.dg/tree-ssa/tailcall-12.c: New test.
+       * gcc.dg/tree-ssa/tailcall-13.c: New test.
+       * gcc.dg/tree-ssa/tailrecursion-8.c: New test.
+
+2021-06-01  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR testsuite/100750
+       * gcc.target/powerpc/rop-5.c: Require ELFv2 ABI.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91859
+       * g++.dg/cpp2a/destroying-delete5.C: New test.
+
+2021-06-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94492
+       * g++.dg/cpp0x/depr-copy4.C: New test.
+
+2021-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-55.c: Adjust for global ranges changes.
+       * gcc.dg/pr80776-1.c: Same.
+
+2021-06-01  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/99928
+       * gfortran.dg/gomp/reduction5.f90: Remove dg-error; the issue is
+       now diagnosed with less error output.
+       * gfortran.dg/gomp/scan-1.f90: Likewise.
+       * gfortran.dg/gomp/pr99928-3.f90: New test.
+       * gfortran.dg/gomp/taskloop-1.f90: New test.
+
+2021-06-01  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/98365
+       * gcc.target/i386/pr98365.c: New test.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100781
+       * gcc.dg/pr100781.c: New.
+
+2021-06-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100774
+       * g++.dg/pr100774.C: New.
+
+2021-05-31  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/depend-iterator-1.f90: Use dg-do compile.
+       * gfortran.dg/gomp/depend-iterator-2.f90: Use dg-do compile.
+
+2021-05-31  Richard Biener  <rguenther@suse.de>
+
+       PR c++/88601
+       * c-c++-common/builtin-shufflevector-2.c: New testcase.
+       * c-c++-common/torture/builtin-shufflevector-1.c: Likewise.
+       * g++.dg/ext/builtin-shufflevector-1.C: Likewise.
+       * g++.dg/ext/builtin-shufflevector-2.C: Likewise.
+
+2021-05-31  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/99842
+       * g++.target/powerpc/pr99842.C: New.
+
+2021-05-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * gcc.dg/plugin/diagnostic_plugin_show_trees.c (plugin_init): Fix caret_max_with.
+       * gcc.dg/plugin/diagnostic_plugin_test_inlining.c
+       (plugin_init): Likewise.
+       * gcc.dg/plugin/diagnostic_plugin_test_paths.c (plugin_init): Likewise.
+       * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
+       (plugin_init): Likewise.
+       * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c
+       (plugin_init): Likewise.
+
+2021-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-1.c: Add default(none) to constructs
+       combined with parallel, teams or taskloop and defaultmap(none)
+       to constructs combined with target.
+       * c-c++-common/gomp/pr99928-2.c: Likewise.
+       * c-c++-common/gomp/pr99928-3.c: Likewise.
+       * c-c++-common/gomp/pr99928-4.c: Likewise.
+       * c-c++-common/gomp/pr99928-5.c: Likewise.
+       * c-c++-common/gomp/pr99928-6.c: Likewise.
+       * c-c++-common/gomp/pr99928-7.c: Likewise.
+       * c-c++-common/gomp/pr99928-8.c: Likewise.
+       * c-c++-common/gomp/pr99928-9.c: Likewise.
+       * c-c++-common/gomp/pr99928-10.c: Likewise.
+       * c-c++-common/gomp/pr99928-13.c: Likewise.
+       * c-c++-common/gomp/pr99928-14.c: Likewise.
+
+2021-05-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-55.c:
+       * gcc.dg/pr80776-1.c:
+
+2021-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100778
+       * gcc.dg/vect/bb-slp-pr100778-1.c: New testcase.
+
+2021-05-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100797
+       PR c++/95719
+       * g++.dg/inherit/virtual15.C: New test.
+       * g++.dg/inherit/virtual15a.C: New file.
+
+2021-05-28  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100791
+       * gcc.dg/pr100791.c: New testcase.
+
+2021-05-28  Richard Biener   <rguenther@suse.de>
+
+       PR c/100803
+       * gcc.dg/gimplefe-error-11.c: New testcase.
+
+2021-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-8.c: Remove all xfails.
+       * c-c++-common/gomp/pr99928-9.c: Likewise.
+       * c-c++-common/gomp/pr99928-10.c: Likewise.
+       * c-c++-common/gomp/pr99928-16.c: New test.
+
+2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/affinity-1.c: New test.
+       * c-c++-common/gomp/affinity-2.c: New test.
+       * c-c++-common/gomp/affinity-3.c: New test.
+       * c-c++-common/gomp/affinity-4.c: New test.
+       * c-c++-common/gomp/affinity-5.c: New test.
+       * c-c++-common/gomp/affinity-6.c: New test.
+       * c-c++-common/gomp/affinity-7.c: New test.
+       * gfortran.dg/gomp/affinity-clause-1.f90: New test.
+       * gfortran.dg/gomp/affinity-clause-2.f90: New test.
+       * gfortran.dg/gomp/affinity-clause-3.f90: New test.
+       * gfortran.dg/gomp/affinity-clause-4.f90: New test.
+       * gfortran.dg/gomp/affinity-clause-5.f90: New test.
+       * gfortran.dg/gomp/affinity-clause-6.f90: New test.
+       * gfortran.dg/gomp/depend-iterator-1.f90: New test.
+       * gfortran.dg/gomp/depend-iterator-2.f90: New test.
+       * gfortran.dg/gomp/depend-iterator-3.f90: New test.
+       * gfortran.dg/gomp/taskwait.f90: New test.
+
+2021-05-28  Joern Rennecke  <joern.rennecke@riscy-ip.com>
+           Richard Biener   <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/popcount4ll.c: Remove lp64 condition.
+       Adjust scanning pattern for !lp64.
+       * gcc.dg/tree-ssa/popcount5ll.c: Likewise.
+       * gcc.dg/tree-ssa/popcount4l.c: Adjust scanning pattern
+       for ! int32plus.
+
+2021-05-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR tree-optimization/99398
+       * gcc.target/powerpc/vec-perm-ctor-run.c: New test.
+       * gcc.target/powerpc/vec-perm-ctor.c: New test.
+       * gcc.target/powerpc/vec-perm-ctor.h: New test.
+
+2021-05-27  Matthias Kretz  <kretz@kde.org>
+
+       PR c++/100716
+       * g++.dg/diagnostic/pr100716.C: New test.
+       * g++.dg/diagnostic/pr100716-1.C: Same test with
+       -fno-pretty-templates.
+
+2021-05-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99893
+       * g++.dg/cpp0x/static_assert17.C: New test.
+
+2021-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/86355
+       * g++.dg/cpp0x/alias-decl-variadic2.C: New test.
+
+2021-05-27  Patrick Palka  <ppalka@redhat.com>
+
+       DR 1315
+       PR c++/67593
+       PR c++/96555
+       * g++.dg/template/partial16.C: New test.
+       * g++.dg/template/partial17.C: New test.
+       * g++.dg/template/partial18.C: New test.
+       * g++.dg/template/partial19.C: New test.
+       * g++.dg/cpp0x/pr68724.C: Adjust expected diagnostic for
+       ill-formed partial specialization.
+       * g++.dg/cpp0x/variadic38.C: Likewise.
+       * g++.dg/cpp1z/pr81016.C: Likewise.
+       * g++.dg/template/partial5.C: Likewise.
+       * g++.old-deja/g++.pt/spec21.C: Likewise.
+
+2021-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100602
+       * gfortran.dg/pointer_check_14.f90: New test.
+
+2021-05-27  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100656
+       * gfortran.dg/bounds_check_22.f90: New test.
+
+2021-05-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-55.c: Pass -fno-ipa-icf.
+
+2021-05-27  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.target/i386/pr100637-3b.c (avgu): New test.
+       * gcc.target/i386/pr100637-3w.c (avgu): Ditto.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100502
+       * g++.dg/template/access37.C: New test.
+       * g++.dg/template/access37a.C: New test.
+
+2021-05-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Wstringop-overflow-55.c: Adapt for range query changes.
+       * gcc.dg/pr80776-1.c: Same.
+
+2021-05-26  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * lib/target-supports.exp (check_effective_target_vect32): New.
+       (available_vector_sizes): Append 32 for x86 targets.
+       * gcc.dg/vect/pr71264.c (dg-final): Xfail scan dump for vect32 targets.
+       * gcc.dg/vect/slp-28.c (dg-final): Adjust dumps for vect32 targets.
+       * gcc.dg/vect/slp-3.c (dg-final): Ditto.
+       * gcc.target/i386/pr100637-3b.c: New test.
+       * gcc.target/i386/pr100637-3w.c: Ditto.
+       * gcc.target/i386/pr100637-4b.c: Ditto.
+       * gcc.target/i386/pr100637-4w.c: Ditto.
+
+2021-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-13.c: New test.
+
+2021-05-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vaddv-1.c: New test.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100368
+       * g++.dg/cpp1z/elide6.C: New test.
+
+2021-05-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97420
+       * g++.dg/cpp0x/noexcept68.C: New test.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * gcc.target/csky/fldrd_fstrd.c: New.
+       * gcc.target/csky/fpuv3/fldr64_fstr64.c: New.
+
+2021-05-26  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * gcc.target/csky/ldbs.c: New.
+
+2021-05-26  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/pr96928.c: Update test for slightly different IR.
+       * gcc.dg/tree-ssa/pr96928-1.c: New testcase.
+
+2021-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100666
+       * g++.dg/cpp1z/nodiscard8.C: New test.
+       * g++.dg/cpp1z/nodiscard9.C: New test.
+
+2021-05-25  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/sancov/attribute.c: New test.
+
+2021-05-25  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * gcc.target/csky/fpuv3/fpuv3.exp : Amend copyright.
+
+2021-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-8.c: Remove xfails from omp teams r21 and
+       r28 checks.
+       * c-c++-common/gomp/pr99928-9.c: Likewise.
+       * c-c++-common/gomp/pr99928-10.c: Likewise.
+
+2021-05-25  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * gcc.target/csky/fpuv3/fpuv3.exp: New.
+       * gcc.target/csky/fpuv3/fpv3_div.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fadd.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fdtos.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fftoi_rm.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fftoi_rz.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fhtos.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fitof.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fmov.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fmovi.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fmula.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fmuls.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fneg.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fnmula.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fnmuls.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fstod.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fstoh.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fsub.c: New.
+       * gcc.target/csky/fpuv3/fpv3_fxtof.c: New.
+       * gcc.target/csky/fpuv3/fpv3_h.c: New.
+       * gcc.target/csky/fpuv3/fpv3_hs.c: New.
+       * gcc.target/csky/fpuv3/fpv3_hsz.c: New.
+       * gcc.target/csky/fpuv3/fpv3_hz.c: New.
+       * gcc.target/csky/fpuv3/fpv3_ls.c: New.
+       * gcc.target/csky/fpuv3/fpv3_lsz.c: New.
+       * gcc.target/csky/fpuv3/fpv3_lt.c: New.
+       * gcc.target/csky/fpuv3/fpv3_ltz.c: New.
+       * gcc.target/csky/fpuv3/fpv3_max.c: New.
+       * gcc.target/csky/fpuv3/fpv3_min.c: New.
+       * gcc.target/csky/fpuv3/fpv3_mul.c: New.
+       * gcc.target/csky/fpuv3/fpv3_mula.c: New.
+       * gcc.target/csky/fpuv3/fpv3_muls.c: New.
+       * gcc.target/csky/fpuv3/fpv3_ne.c: New.
+       * gcc.target/csky/fpuv3/fpv3_nez.c: New.
+       * gcc.target/csky/fpuv3/fpv3_recip.c: New.
+       * gcc.target/csky/fpuv3/fpv3_sqrt.c: New.
+       * gcc.target/csky/fpuv3/fpv3_unordered.c: New.
+
+2021-05-24  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-logadd.c: New file.
+
+2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/86470
+       * gfortran.dg/gomp/class-firstprivate-1.f90: New test.
+       * gfortran.dg/gomp/class-firstprivate-2.f90: New test.
+       * gfortran.dg/gomp/class-firstprivate-3.f90: New test.
+       * gfortran.dg/gomp/class-firstprivate-4.f90: New test.
+
+2021-05-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vld4.c: New test, derived from
+       slp-perm-3.c
+
+2021-05-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vld2.c: New test, derived from
+       slp-perm-2.c
+
+2021-05-24  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100660
+       * gcc.target/i386/pr100660.c: New test.
+
+2021-05-24  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/tree-ssa/phi-opt-10.c: Use "\[0-9\]*" instead of '.'
+       when matching ssa name version.
+       * gcc.dg/tree-ssa/phi-opt-7.c: Likewise.
+
+2021-05-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100722
+       * gcc.target/i386/pr100722.c: New test.
+
+2021-05-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100551
+       * gfortran.dg/pr100551.f90: New test.
+
+2021-05-23  Andrew Pinski  <apinski@marvell.com>
+
+       * gcc.dg/gimplefe-45.c: New test.
+
+2021-05-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-addadd.c: New file.
+
+2021-05-21  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/fusion-p10-ldcmpi.c: New file.
+       * gcc.target/powerpc/fusion-p10-2logical.c: New file.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-3.c: Remove all xfails.
+       * c-c++-common/gomp/pr99928-15.c: New test.
+
+2021-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-6.c: Remove all xfails.
+       * c-c++-common/gomp/pr99928-13.c: New test.
+       * c-c++-common/gomp/pr99928-14.c: New test.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * c-c++-common/goacc/privatization-1-compute-loop.c: Update.
+       * c-c++-common/goacc/privatization-1-compute.c: Likewise.
+       * c-c++-common/goacc/privatization-1-routine_gang-loop.c:
+       Likewise.
+       * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/90115
+       * c-c++-common/goacc/privatization-1-compute-loop.c: New file.
+       * c-c++-common/goacc/privatization-1-compute.c: Likewise.
+       * c-c++-common/goacc/privatization-1-routine_gang-loop.c:
+       Likewise.
+       * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise.
+       * gfortran.dg/goacc/privatization-1-compute-loop.f90: Likewise.
+       * gfortran.dg/goacc/privatization-1-compute.f90: Likewise.
+       * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90:
+       Likewise.
+       * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise.
+       * c-c++-common/goacc-gomp/nesting-1.c: Update.
+       * c-c++-common/goacc/private-reduction-1.c: Likewise.
+       * gfortran.dg/goacc/private-3.f95: Likewise.
+
+2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target___OPTIMIZE__):
+       New proc.
+       * gcc.c-torture/compile/ssa-unused-1.c: New file.
+
+2021-05-21  Richard Biener  <rguenther@suse.de>
+           H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/pr90773-24.c: New test.
+       * gcc.target/i386/pr90773-25.c: Likewise.
+
+2021-05-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * g++.target/i386/pr100637-1b.C: New test.
+       * g++.target/i386/pr100637-1w.C: Ditto.
+       * gcc.target/i386/pr100637-2b.c: Ditto.
+       * gcc.target/i386/pr100637-2w.c: Ditto.
+
+2021-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/derived_type7.adb, gnat.dg/derived_type7.ads: New test.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/desig19.C: New test.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100489
+       * g++.dg/cpp2a/desig18.C: New test.
+
+2021-05-20  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * gcc.dg/pch/valid-1.c: Adjust diagnostic message in testcase.
+       * lib/dg-pch.exp: Adjust diagnostic message.
+
+2021-05-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100684
+       * g++.dg/warn/Wnonnull13.C: New test.
+       * g++.dg/warn/Wnonnull14.C: New test.
+       * g++.dg/warn/Wnonnull15.C: New test.
+
+2021-05-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * g++.dg/modules/omp-1_c.C: Fix testcase.
+
+2021-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100701
+       * gcc.target/i386/pr100701.c: New test.
+
+2021-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * gfortran.dg/gomp/map-6.f90: New test.
+       * gfortran.dg/gomp/map-7.f90: New test.
+       * gfortran.dg/gomp/map-8.f90: New test.
+
+2021-05-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR testsuite/96488
+       * gnat.dg/unchecked_convert5.adb: Do not run on PowerPC64 LE.
+       * gnat.dg/unchecked_convert6.adb: Likewise.
+
+2021-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.target/i386/pr100637-1w.c (shl, ashr, lshr): New tests.
+
+2021-05-20  Christophe Lyon  <christophe.lyon@linaro.org>
+           Torbjörn Svensson  <torbjorn.svensson@st.com>
+
+       PR c/42579
+       * c-c++-common/spellcheck-reserved.c: Add tests for __FILE_NAME__.
+       * c-c++-common/cpp/file-name-1.c: New test.
+
+2021-05-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96983
+       * gfortran.dg/pr96711.f90: Use 2**digit(x) instead of a hard-coded value;
+       add comments regarding what the code does.
+
+2021-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-4.c: Remove all xfails.
+       * c-c++-common/gomp/pr99928-5.c: Likewise.
+
+2021-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/100646
+       * gcc.dg/cpp/pr100646-1.c: New test.
+       * gcc.dg/cpp/pr100646-2.c: New test.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100634
+       * g++.dg/cpp2a/nontype-complex1.C: New test.
+
+2021-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100659
+       * g++.dg/parse/access13.C: New test.
+
+2021-05-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/100619
+       * gcc.dg/pr100619.c: New test.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100367
+       PR c++/96299
+       * g++.dg/cpp2a/spaceship-fallback1.C: New test.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1z/class-deduction-access1.C: New test.
+       * g++.dg/cpp1z/class-deduction-access2.C: New test.
+
+2021-05-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100596
+       * g++.dg/cpp0x/friend7.C: Turn a few dg-warnings into dg-errors.
+       Remove dg-errors for GNU attributes.
+       * g++.dg/ext/attrib63.C: Remove dg-error.
+       * g++.dg/cpp0x/friend8.C: New test.
+
+2021-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * g++.dg/modules/omp-1_a.C: Check pthread is available.
+       * g++.dg/modules/omp-1_b.C: Ditto.
+       * g++.dg/modules/omp-1_c.C: Ditto.
+       * g++.dg/modules/omp-2_a.C: Ditto.
+       * g++.dg/modules/omp-2_b.C: Ditto.
+
+2021-05-19  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/100333
+       * gcc.target/arm/cmse/pr100333.c: New test.
+
+2021-05-19  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99977
+       * gcc.target/arm/pr99977.c: Require arm_arch_v8m_base.
+
+2021-05-19  Geng Qi  <gengqi@linux.alibaba.com>
+
+       * gcc.target/riscv/arch-12.c: New.
+       * gcc.target/riscv/attribute-19.c: New.
+
+2021-05-19  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/narrow_high_combine.c: New test.
+
+2021-05-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100672
+       * gcc.dg/torture/pr100672.c: New testcase.
+
+2021-05-19  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100658
+       * gcc.dg/local1.c: Fix typos.
+       * gcc.dg/ucnid-5-utf8.c: Likewise.
+       * gcc.dg/ucnid-5.c: Likewise.
+
+2021-05-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/sve/logical_unpacked_and_2.c: Change
+       scan-assembly-times to scan-assembly not for superfluous uxtb.
+       * gcc.target/aarch64/sve/logical_unpacked_and_3.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_and_4.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_and_6.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_and_7.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_2.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_3.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_4.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_6.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_eor_7.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_2.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_3.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_4.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_6.c: Likewise.
+       * gcc.target/aarch64/sve/logical_unpacked_orr_7.c: Likewise.
+       * gcc.target/aarch64/sve/ld1_extend.c: New test.
+
+2021-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100576
+       * gcc.c-torture/compile/pr100576.c: New test.
+
+2021-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * gcc.dg/tree-ssa/ssa-sink-3.c: Fix test case.
+
+2021-05-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-2.c: Remove all xfails.
+       * c-c++-common/gomp/pr99928-12.c: New test.
+
+2021-05-19  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/ssa-sink-1.c: Adjust.
+       * gcc.dg/tree-ssa/ssa-sink-2.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-3.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-4.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-5.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-6.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-7.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-8.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-9.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-10.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-13.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-14.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-16.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-17.c: Ditto.
+       * gcc.dg/tree-ssa/ssa-sink-18.c: New.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100261
+       * g++.dg/dfp/mangle-6.C: New test.
+
+2021-05-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100372
+       * g++.dg/cpp0x/alias-decl-ttp1.C: New test.
+
+2021-05-18  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/ppc64-abi-warn-1.c: Remove.
+       * gcc.target/powerpc/ppc64-abi-warn-2.c: Remove.
+       * gcc.target/powerpc/ppc64-abi-warn-3.c: Remove.
+
+2021-05-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100205
+       PR c++/99314
+       * g++.dg/cpp0x/decltype-nonstatic1.C: New test.
+
+2021-05-18  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/implicit-delete1.C: New test.
+
+2021-05-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/100615
+       * gcc.dg/analyzer/pr100615.c: New test.
+
+2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100637
+       * gcc.target/i386/pr100637-1b.c: New test.
+       * gcc.target/i386/pr100637-1w.c: Ditto.
+       * gcc.target/i386/pr92658-avx2-2.c: Do not XFAIL scan for pmovsxbq.
+       * gcc.target/i386/pr92658-avx2.c: Do not XFAIL scan for pmovzxbq.
+       * gcc.target/i386/pr92658-avx512vl.c: Do not XFAIL scan for vpmovdb.
+       * gcc.target/i386/pr92658-sse4-2.c: Do not XFAIL scan for
+       pmovsxbd and pmovsxwq.
+       * gcc.target/i386/pr92658-sse4.c: Do not XFAIL scan for
+       pmovzxbd and pmovzxwq.
+
+2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/100642
+       * gfortran.dg/goacc-gomp/depobj.f90: New test.
+
+2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * lib/gcc-dg.exp: Implement 'dg-note'.
+       * lib/prune.exp: Likewise.
+       * gcc.dg/vect/nodump-vect-opt-info-2.c: Use 'dg-note', and
+       'dg-prune-output "note: ".
+       * gfortran.dg/goacc/routine-external-level-of-parallelism-2.f: Use
+       'dg-note', match up additional notes, one class of them with
+       XFAILed 'dg-bogus'.
+       * lib/lto.exp: Implement 'dg-lto-note'.
+       * g++.dg/lto/odr-1_0.C: Use 'dg-lto-note', match up additional
+       notes.
+       * g++.dg/lto/odr-1_1.C: Likewise.
+       * g++.dg/lto/odr-2_1.C: Likewise.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100590
+       * gcc.dg/pr100590.c: New test.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100580
+       * g++.dg/other/pr100580.C: New test.
+
+2021-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * g++.dg/opt/pr94589-2.C: Adjust scan-tree-dump count from 14 to 12.
+
+2021-05-18  Richard Biener  <rguenther@suse.de>
+
+       * gcc.target/i386/pr100582.c: Adjust for AVX512.
+
+2021-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR c/100522
+       * gcc.dg/gimplefe-error-10.c: New testcase.
+
+2021-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR c/100547
+       * gcc.dg/pr100547.c: New testcase.
+       * gcc.dg/attr-vector_size.c: Adjust.
+
+2021-05-18  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/zvector/vec-_Bool.c: New test.
+
+2021-05-18  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR c++/100281
+       * g++.target/s390/pr100281-1.C: New test.
+       * g++.target/s390/pr100281-2.C: New test.
+
+2021-05-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/100512
+       * gcc.dg/pr100512.c: New.
+
+2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * g++.dg/conversion/pr100635.C: New test.
+
+2021-05-17  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98411
+       * gfortran.dg/pr98411.f90: New test.
+
+2021-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/pr100349.c: New test.
+
+2021-05-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/cpunative/info_16: New test.
+       * gcc.target/aarch64/cpunative/info_17: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_16.c: New test.
+       * gcc.target/aarch64/cpunative/native_cpu_17.c: New test.
+
+2021-05-17  Richard Biener  <rguenther@suse.de>
+
+       PR c/100625
+       * gcc.dg/gimplefe-error-9.c: New testcase.
+
+2021-05-17  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100582
+       * gcc.target/i386/pr100582.c: New testcase.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-compare-3.c: New test with GCC vectors.
+       * gcc.target/arm/simd/mve-vcmp-f16.c: New test for
+       auto-vectorization.
+       * gcc.target/arm/armv8_2-fp16-arith-1.c: Adjust since we now
+       vectorize float16_t vectors.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-compare-1.c: New test with GCC vectors.
+       * gcc.target/arm/simd/mve-compare-2.c: New test with GCC vectors.
+       * gcc.target/arm/simd/mve-compare-scalar-1.c: New test with GCC
+       vectors.
+       * gcc.target/arm/simd/mve-vcmp-f32.c: New test for
+       auto-vectorization.
+       * gcc.target/arm/simd/mve-vcmp.c: New test for auto-vectorization.
+
+2021-05-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100549
+       * gcc.target/i386/pr100549.c: New test.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vadd-scalar-1.c: New.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vadd-1.c: New.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vsub_1.c: Factorize and add __fp16 test.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vshr.c: Add more scan-assembler-times.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/acle/saturation.c: Use arm_sat_ok effective
+       target.
+       * lib/target-supports.exp
+       (check_effective_target_arm_qbit_ok_nocache): Rename into...
+       (check_effective_target_arm_sat_ok_nocache): ... this. Check
+       __ARM_FEATURE_SAT and use armv6.
+
+2021-05-17  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/100633
+       * gfortran.dg/gomp/workshare-59.f90: New test.
+
+2021-05-17  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR debug/100515
+       * gcc.dg/debug/dwarf2/pr100515.c: Require openmp effective-target.
+
+2021-05-16  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/ext/attrib63.C: Add -Wno-psabi option.
+
+2021-05-16  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/warn/uninit-pr93100.C: Require fsantize support.
+
+2021-05-16  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/unsigned-float.c: Remove arm_fp_ok, adjust
+       dg-options.
+
+2021-05-15  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * gcc.target/powerpc/rop-1.c: New.
+       * gcc.target/powerpc/rop-2.c: New.
+       * gcc.target/powerpc/rop-3.c: New.
+       * gcc.target/powerpc/rop-4.c: New.
+       * gcc.target/powerpc/rop-5.c: New.
+
+2021-05-15  Martin Jambor  <mjambor@suse.cz>
+
+       Revert:
+       2021-05-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * gcc.dg/tree-ssa/pr100453.c: New test.
+
+2021-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100342
+       * gcc.target/i386/pr100342.c: New test.
+
+2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/parallel-master-1.f90: New test.
+       * gfortran.dg/gomp/parallel-master-2.f90: New test.
+
+2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/implicit-save.f90: New test.
+
+2021-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95226
+       * g++.dg/cpp1y/pr95226.C: New test.
+
+2021-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/94616
+       * g++.dg/cpp0x/pr94616.C: New test.
+
+2021-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/90019
+       * g++.dg/cpp0x/sfinae68.C: New test.
+
+2021-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp1y/pr88872.C: New test.
+
+2021-05-14  Michael de Lang  <kingoipo@gmail.com>
+
+       * g++.dg/tsan/pthread_cond_clockwait.C: New test.
+
+2021-05-14  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/99032
+       * g++.dg/cpp0x/friend7.C: New test.
+       * g++.dg/cpp0x/gen-attrs-4.C: Add dg-error.
+       * g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
+       * g++.dg/cpp0x/gen-attrs-74.C: New test.
+       * g++.dg/ext/attrib63.C: New test.
+
+2021-05-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/93100
+       PR middle-end/98583
+       * g++.dg/warn/uninit-pr93100.C: New test.
+       * gcc.dg/uninit-pr93100.c: New test.
+       * gcc.dg/uninit-pr98583.c: New test.
+
+2021-05-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/100453
+       * gcc.dg/tree-ssa/pr100453.c: New test.
+
+2021-05-13  Martin Sebor  <msebor@redhat.com>
+
+       * g++.dg/pr100574.C: Use size_t as operator new argument type.
+
+2021-05-13  Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/100504
+       * gcc.target/i386/pr100504.c: New test.
+
+2021-05-13  Martin Sebor  <msebor@redhat.com>
+
+       PR c/100550
+       * gcc.dg/Wvla-parameter-9.c: New test.
+
+2021-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99928
+       * c-c++-common/gomp/pr99928-1.c: New test.
+       * c-c++-common/gomp/pr99928-2.c: New test.
+       * c-c++-common/gomp/pr99928-3.c: New test.
+       * c-c++-common/gomp/pr99928-4.c: New test.
+       * c-c++-common/gomp/pr99928-5.c: New test.
+       * c-c++-common/gomp/pr99928-6.c: New test.
+       * c-c++-common/gomp/pr99928-7.c: New test.
+       * c-c++-common/gomp/pr99928-8.c: New test.
+       * c-c++-common/gomp/pr99928-9.c: New test.
+       * c-c++-common/gomp/pr99928-10.c: New test.
+       * c-c++-common/gomp/pr99928-11.c: New test.
+
+2021-05-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100563
+       * gcc.dg/pr100563.c (dg-options): Add -wno-pointer-to-int-cast.
+
+2021-05-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * gcc.dg/pr100563.c: New test.
+
+2021-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98856
+       * gcc.target/i386/sse2-psraq-1.c: New test.
+       * gcc.target/i386/sse4_2-psraq-1.c: New test.
+       * gcc.target/i386/avx-psraq-1.c: New test.
+       * gcc.target/i386/avx2-psraq-1.c: New test.
+       * gcc.target/i386/avx-pr82370.c: Adjust expected number of vpsrad
+       instructions.
+       * gcc.target/i386/avx2-pr82370.c: Likewise.
+       * gcc.target/i386/avx512f-pr82370.c: Likewise.
+       * gcc.target/i386/avx512bw-pr82370.c: Likewise.
+       * gcc.dg/torture/vshuf-4.inc: Add two further permutations.
+       * gcc.dg/torture/vshuf-8.inc: Likewise.
+
+2021-05-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100581
+       * g++.target/i386/pr100581.C: New test.
+
+2021-05-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR testsuite/100569
+       * gnat.dg/lto21.adb: Prune new LTO warning.
+
+2021-05-13  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100569
+       * gcc.dg/atomic/c11-atomic-exec-2.c: Prune new LTO warning.
+       * gcc.dg/torture/pr94947-1.c: Likewise.
+
+2021-05-13  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx-pr94680.c: Fix typo in testcase.
+
+2021-05-13  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/94680
+       * gcc.target/i386/avx-pr94680.c: New test.
+       * gcc.target/i386/avx512f-pr94680.c: New test.
+       * gcc.target/i386/sse2-pr94680.c: New test.
+
+2021-05-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100571
+       * gcc.dg/Wstringop-overflow-67.c: New test.
+
+2021-05-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR c/100521
+       * gcc.dg/pr100521.c: New file.
+
+2021-05-12  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/warn/Wint-in-bool-context-2.C: New test.
+
+2021-05-12  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * c-c++-common/gomp/map-6.c: New test.
+       * c-c++-common/gomp/map-7.c: New test.
+
+2021-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100566
+       * gcc.dg/torture/pr100566.c: New testcase.
+
+2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/100392
+       * gcc.dg/cpp/pr100392.c: New test.
+       * gcc.dg/cpp/pr100392.h: New file.
+
+2021-05-12  Martin Liska  <mliska@suse.cz>
+
+       * lib/lto.exp: When running tests without jobserver, one can see
+       the following warning for tests that use 1to1 partitioning.
+
+2021-05-12  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/99908
+       * gcc.target/i386/avx2-pr99908.c: New test.
+       * gcc.target/i386/sse4_1-pr99908.c: New test.
+
+2021-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100519
+       * gcc.dg/torture/pr100519.c: New testcase.
+
+2021-05-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR debug/100515
+       * gcc.dg/debug/dwarf2/pr100515.c: New testcase.
+
+2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/100508
+       * gcc.dg/gomp/pr100508.c: New test.
+
+2021-05-12  Jakub Jelinek  <jakub@redhat.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/94589
+       * gcc.dg/tree-ssa/pr94589-1.c: New test.
+
+2021-05-12  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98218
+       * g++.target/i386/pr98218-1.C: Ditto.
+       * gcc.target/i386/pr98218-4.c: New test.
+       * gcc.target/i386/pr98218-1.c: Correct PR number.
+       * gcc.target/i386/pr98218-1a.c: Ditto.
+       * gcc.target/i386/pr98218-2.c: Ditto.
+       * gcc.target/i386/pr98218-2a.c: Ditto.
+       * gcc.target/i386/pr98218-3.c: Ditto.
+       * gcc.target/i386/pr98218-3a.c: Ditto.
+
+2021-05-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/cpp/c11-elifdef-1.c, gcc.dg/cpp/c2x-elifdef-1.c,
+       gcc.dg/cpp/c2x-elifdef-2.c: New tests.
+
+2021-05-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * g++.dg/cpp1y/digit-sep-paste.C, gcc.dg/c2x-digit-separators-3.c:
+       New tests.
+
+2021-05-11  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/guality/pr43077-1.c: Align types of output and input
+       operands by lifting immediates to type long.
+
+2021-05-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-digit-separators-1.c,
+       gcc.dg/c2x-digit-separators-1.c, gcc.dg/c2x-digit-separators-2.c:
+       New tests.
+
+2021-05-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100517
+       * g++.dg/ext/vector41.C: New test.
+
+2021-05-11  Martin Liska  <mliska@suse.cz>
+
+       * gfortran.dg/goacc/pr78027.f90: Remove -Wno-hsa option.
+       * brig.dg/README: Removed.
+       * brig.dg/dg.exp: Removed.
+       * brig.dg/test/gimple/alloca.hsail: Removed.
+       * brig.dg/test/gimple/atomics.hsail: Removed.
+       * brig.dg/test/gimple/branches.hsail: Removed.
+       * brig.dg/test/gimple/fbarrier.hsail: Removed.
+       * brig.dg/test/gimple/function_calls.hsail: Removed.
+       * brig.dg/test/gimple/internal-casts.hsail: Removed.
+       * brig.dg/test/gimple/kernarg.hsail: Removed.
+       * brig.dg/test/gimple/mem.hsail: Removed.
+       * brig.dg/test/gimple/mulhi.hsail: Removed.
+       * brig.dg/test/gimple/packed.hsail: Removed.
+       * brig.dg/test/gimple/priv-array-offset-access.hsail: Removed.
+       * brig.dg/test/gimple/smoke_test.hsail: Removed.
+       * brig.dg/test/gimple/variables.hsail: Removed.
+       * brig.dg/test/gimple/vector.hsail: Removed.
+       * lib/brig-dg.exp: Removed.
+       * lib/brig.exp: Removed.
+
+2021-05-11  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99725
+       * gcc.target/arm/cmse/pr99725.c: New test.
+
+2021-05-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/fmul_lane_1.c: New test.
+
+2021-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100509
+       * gcc.dg/pr100509.c: New testcase.
+
+2021-05-11  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.target/s390/risbg-ll-3.c: Change match pattern.
+
+2021-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/51577
+       * g++.dg/lookup/operator-3.C: New test.
+
+2021-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100138
+       * g++.dg/cpp2a/concepts-ctad4.C: New test.
+
+2021-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/specs/opt5.ads: New test.
+       * gnat.dg/specs/opt5_pkg.ads: New helper.
+
+2021-05-10  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100425
+       PR middle-end/100510
+       * c-c++-common/Walloca-larger-than.C: New test.
+       * gcc.dg/Walloca-larger-than-4.c: New test.
+       * gcc.dg/Wvla-larger-than-5.c: New test.
+       * gcc.dg/pr79972.c: Remove unexpected warning directive.
+
+2021-05-10  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Adjust counts.
+       * gcc.target/powerpc/vec-rlmi-rlnm.c: Likewise.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vmul-scalar-1.c: New.
+
+2021-05-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vsub-scalar-1.c: New test.
+
+2021-05-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR tree-optimization/42587
+       * gcc.dg/optimize-bswapsi-6.c: New test.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/100452
+       * g++.dg/vect/slp-pr99971.cc: Align data.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100492
+       * gcc.dg/torture/pr100492.c: New testcase.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100464
+       PR c++/100468
+       * gcc.dg/pr100464.c: New testcase.
+       * g++.dg/tree-ssa/array-temp1.C: Adjust.
+
+2021-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100434
+       * gcc.dg/tree-ssa/ssa-dse-43.c: New testcase.
+
+2021-05-10  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99960
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c:
+       Update now that we're (correctly) using full 128-bit vector
+       loads/stores.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c:
+       Likewise.
+
+2021-05-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/46991
+       * gfortran.dg/class_dummy_7.f90: Correct PR number.
+
+2021-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-9.c: Delete.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/debug18.adb: New test.
+
+2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/sso-12.c: New test.
+
+2021-05-07  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C:
+       Adjust diagnostic.
+
+2021-05-07  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR tree-optimization/79333
+       * gcc.dg/tree-ssa/ssa-fre-94.c: Require c99_runtime.
+
+2021-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/100450
+       * c-c++-common/gomp/pr100450.c: New test.
+
+2021-05-07  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100445
+       * gcc.target/i386/pr100445-1.c: New test.
+
+2021-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100445
+       * gcc.target/i386/pr100445.c: New test.
+
+2021-05-06  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c++/83873
+       PR preprocessor/97604
+       * g++.dg/cpp1y/digit-sep-neg-2.C,
+       g++.dg/cpp1y/digit-sep-pp-number.C: New tests.
+       * g++.dg/cpp1y/digit-sep-line-neg.C, g++.dg/cpp1y/digit-sep-neg.C:
+       Adjust expected messages.
+
+2021-05-06  Martin Jambor  <mjambor@suse.cz>
+
+       * gcc.dg/ipa/ipa-sra-1.c (main): Revert change done by
+       05193687dde, make the argv again pointer to an array.
+
+2021-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt93.adb: Compile only for LP64 targets.
+
+2021-05-06  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * lib/target-supports.exp: Add s390 checks for vect conversions.
+
+2021-05-06  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.dg/vect/pr56541.c: Add vect_floatint_cvt.
+
+2021-05-06  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/46991
+       PR fortran/99819
+       * gfortran.dg/class_dummy_6.f90: New test.
+       * gfortran.dg/class_dummy_7.f90: New test.
+
+2021-05-06  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR testsuite/100355
+       * gcc.c-torture/execute/ieee/cdivchkld.x: New.
+
+2021-05-06  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * gcc.target/s390/zvector/imm-range-error-1.c: Fix test for
+       __builtin_s390_vpdi.
+       * gcc.target/s390/zvector/vec-permi.c: New test for builtin
+       vec_permi.
+
+2021-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94589
+       * gcc.dg/pr94589-1.c: New test.
+       * gcc.dg/pr94589-2.c: New test.
+       * gcc.dg/pr94589-3.c: New test.
+       * gcc.dg/pr94589-4.c: New test.
+       * g++.dg/opt/pr94589-1.C: New test.
+       * g++.dg/opt/pr94589-2.C: New test.
+       * g++.dg/opt/pr94589-3.C: New test.
+       * g++.dg/opt/pr94589-4.C: New test.
+
+2021-05-06  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/100373
+       * gcc.dg/pr100373.c: New testcase.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.c-torture/execute/20210505-1.c: New test.
+
+2021-05-05  Ivan Sorokin  <vanyacpp@gmail.com>
+
+       PR target/91400
+       * gcc.target/i386/pr91400-1.c: New test.
+       * gcc.target/i386/pr91400-2.c: Likewise.
+
+2021-05-05  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-26.c: New test.
+
+2021-05-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100274
+       * gfortran.dg/argument_checking_25.f90: New test.
+
+2021-05-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98218
+       * gcc.target/i386/pr98218-1.c: New test.
+       * gcc.target/i386/pr98218-1a.c: Ditto.
+       * gcc.target/i386/pr98218-2.c: Ditto.
+       * gcc.target/i386/pr98218-2a.c: Ditto.
+       * gcc.target/i386/pr98218-3.c: Ditto.
+       * gcc.target/i386/pr98218-3a.c: Ditto.
+       * gcc.dg/vect/vect-bool-cmp.c (dg-final):
+       Scan vect tree dump for "LOOP VECTORIZED", not VECTORIZED.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/debug17.adb: Minor tweak.
+
+2021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/debug8.adb: Minor tweak.
+       * gnat.dg/debug11.adb: Likewise.
+       * gnat.dg/debug16.adb: Likewise.
+       * gnat.dg/debug17.adb: New test.
+       * gnat.dg/specs/debug1.ads: Minor tweak.
+
+2021-05-05  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.dg/vect/slp-21.c: Add s390.
+
+2021-05-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR testsuite/100422
+       * g++.dg/gomp/clause-3.C: Use 'reduction(&:..)' instead of '...(&&:..)'.
+
+2021-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/79333
+       * gcc.dg/tree-ssa/ssa-fre-94.c: New testcase.
+       * gcc.dg/graphite/fuse-1.c: Adjust.
+       * gcc.dg/pr43864-4.c: Likewise.
+
+2021-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/100394
+       * g++.dg/torture/pr100382.C: New testcase.
+
+2021-05-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100307
+       * g++.dg/warn/Wplacement-new-size-9.C: New test.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-26.c: New test.
+
+2021-05-04  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wvla-parameter-3.c: Use unique strings in directive names.
+
+2021-05-04  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/Wvla-parameter-2.c: Use unique strings in directive names.
+
+2021-05-04  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.target/s390/oscbreak-1.c: Compile with -O1
+       -fschedule-insns
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100414
+       * gcc.dg/pr100414.c: New testcase.
+
+2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gcc.dg/gomp/clause-1.c: Use 'reduction(&:..)' instead of '...(&&:..)'.
+
+2021-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt94.adb: New file.
+       * gnat.dg/opt94_pkg.adb: New file.
+       * gnat.dg/opt94_pkg.ads: New file.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Skip on !lp64 targets,
+       simplify dump scanning down to one case.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100329
+       * gcc.dg/torture/pr100329.c: New testcase.
+
+2021-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100398
+       * gcc.dg/torture/pr100398.c: New testcase.
+
+2021-05-03  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vmla_float_not_fused.c:
+       Fix dg directives order.
+       * gcc.target/aarch64/advsimd-intrinsics/vmls_float_not_fused.c:
+       Likewise.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for nds32le
+       and m32r.
+
+2021-05-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100362
+       * g++.dg/cpp1y/lambda-generic-100362.C: New test.
+
+2021-05-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/68942
+       PR c++/100344
+       * g++.dg/template/call8.C: New test.
+       * g++.dg/template/koenig12a.C: New test.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for bfin and lm32.
+
+2021-05-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100055
+       * g++.dg/concepts/diagnostic18.C: New test.
+
+2021-05-03  Marek Polacek  <polacek@redhat.com>
+
+       DR 1312
+       * g++.dg/cpp0x/constexpr-cast2.C: Remove XFAILs.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Fix xstormy selector.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for rx too.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for or1k too.
+
+2021-05-03  Jeff Law  <jlaw@tachyum.com>
+
+       * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for
+       cr16 and xstormy16 targets.
+
+2021-05-03  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-dse-42.c: New testcase.
+       * gcc.dg/pr81192.c: Disable DSE.
+
+2021-05-03  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-dse-41.c: New testcase.
+
+2021-05-03  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR target/100217
+       * gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c: New test.
+       * gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: New test.
+
+2021-05-02  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C: Expect [BS]
+       mapping class on AIX.
+       * gcc.c-torture/compile/pr61159.c: XFAIL on AIX.
+       * gcc.c-torture/execute/alias-2.c: Same.
+       * gcc.dg/alias-7.c: Same.
+
+2021-04-30  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vmla_float_not_fused.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmls_float_not_fused.c:
+       New test.
+
+2021-04-30  Richard Biener  <rguenther@suse.de>
+
+       PR c++/98032
+       * g++.dg/pr98032.C: New testcase.
+
+2021-04-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96513
+       * gcc.dg/torture/pr96513.c: New testcase.
+
+2021-04-30  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98060
+       * gcc.target/i386/pr98060.c: New test.
+
+2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/100225
+       PR rtl-optimization/84878
+       * gcc.dg/pr100225.c: New test.
+
+2021-04-29  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/82359
+       * g++.dg/cpp1y/digit-sep-line.C,
+       g++.dg/cpp1y/digit-sep-line-neg.C: New tests.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/lookup/using-decl1.C: New test.
+
+2021-04-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97974
+       * g++.old-deja/g++.law/union4.C: Add expected diagnostic.
+
+2021-04-29  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/68942
+       * g++.dg/template/koenig12.C: New test.
+
+2021-04-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94102
+       * g++.dg/cpp1z/class-deduction87.C: New test.
+
+2021-04-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/100303
+       * g++.dg/torture/pr100303.C: New file.
+
+2021-04-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR middle-end/90773
+       * g++.dg/pr90773-1.h: New test.
+       * g++.dg/pr90773-1a.C: Likewise.
+       * g++.dg/pr90773-1b.C: Likewise.
+       * g++.dg/pr90773-1c.C: Likewise.
+       * g++.dg/pr90773-1d.C: Likewise.
+       * gcc.target/i386/pr90773-1.c: Likewise.
+       * gcc.target/i386/pr90773-2.c: Likewise.
+       * gcc.target/i386/pr90773-3.c: Likewise.
+       * gcc.target/i386/pr90773-4.c: Likewise.
+       * gcc.target/i386/pr90773-5.c: Likewise.
+       * gcc.target/i386/pr90773-6.c: Likewise.
+       * gcc.target/i386/pr90773-7.c: Likewise.
+       * gcc.target/i386/pr90773-8.c: Likewise.
+       * gcc.target/i386/pr90773-9.c: Likewise.
+       * gcc.target/i386/pr90773-10.c: Likewise.
+       * gcc.target/i386/pr90773-11.c: Likewise.
+       * gcc.target/i386/pr90773-12.c: Likewise.
+       * gcc.target/i386/pr90773-13.c: Likewise.
+       * gcc.target/i386/pr90773-14.c: Likewise.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100253
+       * g++.dg/pr100253.C: New testcase.
+
+2021-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100305
+       * gcc.c-torture/compile/pr100305.c: Remove dg-options.  Add PR line.
+
+2021-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100302
+       * gcc.target/aarch64/sve/pr100302.c: New test.
+
+2021-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100319
+       * c-c++-common/gomp/task-detach-3.c: New test.
+
+2021-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99912
+       * gcc.dg/pr95580.c: Disable DSE.
+       * gcc.dg/Wrestrict-8.c: Place a use after each memcpy.
+       * c-c++-common/ubsan/overflow-negate-3.c: Make asms volatile
+       to prevent them from being removed.
+       * c-c++-common/ubsan/overflow-sub-4.c: Likewise.
+
+2021-04-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/100250
+       * gcc.dg/uninit-pr100250.c: New test.
+
+2021-04-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.dg/c11-unproto-1.c, gcc.dg/c11-unproto-2.c,
+       gcc.dg/c2x-unproto-1.c, gcc.dg/c2x-unproto-2.c: New tests.
+
+2021-04-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/map-5.f90: New test.
+
+2021-04-28  Patrick McGehearty  <patrick.mcgehearty@oracle.com>
+
+       * gcc.c-torture/execute/ieee/cdivchkd.c: New test.
+       * gcc.c-torture/execute/ieee/cdivchkf.c: Likewise.
+       * gcc.c-torture/execute/ieee/cdivchkld.c: Likewise.
+
+2021-04-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/i386/pr89676.c: Add -fomit-frame-pointer.
+
+2021-04-28  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/debug/dwarf2/inline5.c: Adjust pattern to avoid
+       mismatch when asm comments start with "/ ".
+
+2021-04-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/100305
+       * gcc.c-torture/compile/pr100305.c: New test.
+
+2021-04-28  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/82376
+       * gfortran.dg/PR82376.f90: New test.
+
+2021-04-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100292
+       * gcc.dg/pr100292.c: New testcase.
+
+2021-04-28  Richard Wai  <richard@annexi-strayline.com>
+
+       * gnat.dg/containers2.adb: New test.
+
+2021-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt93.ads, gnat.dg/opt93.adb: New test.
+
+2021-04-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92145
+       * g++.dg/cpp0x/depr-copy3.C: New test.
+
+2021-04-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88580
+       * g++.dg/cpp0x/variadic182.C: New test.
+
+2021-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/100284
+       * gcc.target/aarch64/sve/pr81003.c: New test.
+
+2021-04-27  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/100272
+       * g++.dg/ext/flexary13.C: Remove malformed directives.
+
+2021-04-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR target/100106
+       * gcc.c-torture/compile/pr100106.c: New testcase.
+
+2021-04-27  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99977
+       * gcc.target/arm/pr99977.c: New test.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/100239
+       * gcc.dg/pr100239.c: New test.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100254
+       * g++.dg/opt/pr100254.C: New test.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99912
+       * gcc.dg/tree-ssa/ldist-33.c: Disable PRE and LIM.
+       * gcc.dg/tree-ssa/pr96789.c: Adjust dump file scanned.
+       * gcc.dg/tree-ssa/ssa-dse-28.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-dse-29.c: Likewise.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95527
+       * gcc.dg/tree-ssa/pr95527-2.c: New test.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96696
+       * gcc.target/i386/pr96696.c: New test.
+
+2021-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/100270
+       * gcc.target/aarch64/sve/acle/general-c/pr100270_1.c: New test.
+       * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Change
+       expected error message when subtracting pointers to different
+       vector types.  Expect warnings when mixing them elsewhere.
+       * gcc.target/aarch64/sve/acle/general/attributes_7.c: Remove
+       XFAILs.  Tweak error messages for some cases.
+
+2021-04-27  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/simd/ssra.c: Use +nosve
+       * gcc.target/aarch64/simd/usra.c: Likewise.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100051
+       * gcc.dg/tree-ssa/ssa-fre-92.c: New testcase.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/100272
+       * gcc.dg/tree-ssa/predcom-1.c: Re-enable PRE and fix
+       malformed dg directive.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/100272
+       * g++.dg/diagnostic/ptrtomem1.C: Fix dg directives.
+       * g++.dg/ipa/pr45572-2.C: Likewise.
+       * g++.dg/template/spec26.C: Likewise.
+       * gcc.dg/pr20126.c: Likewise.
+       * gcc.dg/tree-ssa/pr20739.c: Likewise.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100278
+       * gcc.dg/tree-ssa/pr100278.c: New testcase.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99405
+       * gcc.target/i386/pr99405.c: New test.
+
+2021-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99776
+       * gcc.dg/tree-ssa/ssa-fre-91.c: New testcase.
+
+2021-04-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/100209
+       * g++.dg/cpp1y/constexpr-base1.C: New test.
+       * g++.dg/cpp1y/constexpr-ptrsub1.C: New test.
+
+2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/classify-serial.f95:
+       Use [Ww]arning in dg-bogus as FE diagnostic and default
+       diagnostic differ and the result depends on ENABLE_OFFLOAD.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+       * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+
+2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/classify-serial.f95:
+       Correct spelling in dg-bogus to match -Wopenacc-parallelism.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+       * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99956
+       * gfortran.dg/pr99956.f: New testcase.
+
+2021-04-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/cmse/bitfield-1.c: Remove dg-do.
+       * gcc.target/arm/cmse/bitfield-2.c: Likewise.
+       * gcc.target/arm/cmse/bitfield-3.c: Likewise.
+       * gcc.target/arm/cmse/cmse-16.c: Likewise.
+       * gcc.target/arm/cmse/struct-1.c: Likewise.
+       * gcc.target/arm/cmse/cmse.exp: Set dg-do-what-default depending
+       on arm_cmse_hw.
+       * lib/target-supports.exp (check_effective_target_arm_cmse_hw):
+       New.
+
+2021-04-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr84877.c: XFAIL on SPARC as well.
+
+2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+           Tom de Vries  <vries@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+           Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * c-c++-common/goacc/diag-parallelism-1.c: New.
+       * c-c++-common/goacc/acc-icf.c: Specify '-Wopenacc-parallelism',
+       and match diagnostics, as appropriate.
+       * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise.
+       * c-c++-common/goacc/classify-kernels.c: Likewise.
+       * c-c++-common/goacc/classify-parallel.c: Likewise.
+       * c-c++-common/goacc/classify-routine.c: Likewise.
+       * c-c++-common/goacc/classify-serial.c: Likewise.
+       * c-c++-common/goacc/kernels-decompose-1.c: Likewise.
+       * c-c++-common/goacc/kernels-decompose-2.c: Likewise.
+       * c-c++-common/goacc/parallel-dims-1.c: Likewise.
+       * c-c++-common/goacc/parallel-reduction.c: Likewise.
+       * c-c++-common/goacc/pr70688.c: Likewise.
+       * c-c++-common/goacc/routine-1.c: Likewise.
+       * c-c++-common/goacc/routine-level-of-parallelism-2.c: Likewise.
+       * c-c++-common/goacc/uninit-dim-clause.c: Likewise.
+       * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
+       * gfortran.dg/goacc/classify-kernels.f95: Likewise.
+       * gfortran.dg/goacc/classify-parallel.f95: Likewise.
+       * gfortran.dg/goacc/classify-routine.f95: Likewise.
+       * gfortran.dg/goacc/classify-serial.f95: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+       * gfortran.dg/goacc/parallel-tree.f95: Likewise.
+       * gfortran.dg/goacc/routine-4.f90: Likewise.
+       * gfortran.dg/goacc/routine-level-of-parallelism-1.f90: Likewise.
+       * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+       * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise.
+       * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise.
+
+2021-04-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99473
+       * gcc.dg/tree-ssa/pr99473-1.c: New testcase.
+
+2021-04-25  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98911
+       * gcc.target/i386/pr98911.c: New test.
+       * gcc.target/i386/funcspec-8.c: Replace __builtin_ia32_pcmpgtq
+       with __builtin_ia32_pcmpistrm128 since it has been folded.
+
+2021-04-24  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/100244
+       * g++.dg/analyzer/pr100244.C: New test.
+
+2021-04-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100154
+       * gfortran.dg/pr100154.f90: New test.
+
+2021-04-24  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/100218
+       * gfortran.dg/ptr-func-4.f90: New test.
+
+2021-04-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/guality/example.c: Update aarch64*-*-* xfails.
+       * gcc.dg/guality/guality.c: Likewise.
+       * gcc.dg/guality/inline-params.c: Likewise.
+       * gcc.dg/guality/loop-1.c: Likewise.
+       * gcc.dg/guality/pr36728-1.c: Likewise.
+       * gcc.dg/guality/pr36728-2.c: Likewise.
+       * gcc.dg/guality/pr36728-3.c: Likewise.
+       * gcc.dg/guality/pr41447-1.c: Likewise.
+       * gcc.dg/guality/pr54200.c:  Likewise.
+       * gcc.dg/guality/pr54519-1.c: Likewise.
+       * gcc.dg/guality/pr54519-2.c: Likewise.
+       * gcc.dg/guality/pr54519-3.c: Likewise.
+       * gcc.dg/guality/pr54519-4.c: Likewise.
+       * gcc.dg/guality/pr54519-5.c: Likewise.
+       * gcc.dg/guality/pr54519-6.c: Likewise.
+       * gcc.dg/guality/pr54693-2.c: Likewise.
+       * gcc.dg/guality/pr56154-1.c: Likewise.
+       * gcc.dg/guality/pr59776.c: Likewise.
+       * gcc.dg/guality/pr68860-1.c: Likewise.
+       * gcc.dg/guality/pr68860-2.c: Likewise.
+       * gcc.dg/guality/pr90074.c: Likewise.
+       * gcc.dg/guality/pr90716.c: Likewise.
+       * gcc.dg/guality/sra-1.c: Likewise.
+
+2021-04-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports-dg.exp (selector_expression): Handle any-opts
+       and no-opts.
+       * gcc.dg/guality/pr41353-1.c: Exclude -O0 from xfail.
+       * gcc.dg/guality/pr59776.c: Likewise.
+       * gcc.dg/guality/pr54970.c: Likewise -O0 and -Og.
+
+2021-04-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/89565
+       PR c++/93383
+       PR c++/95291
+       PR c++/99200
+       PR c++/99683
+       * g++.dg/cpp2a/nontype-class39.C: Remove dg-ice directive.
+       * g++.dg/cpp2a/nontype-class45.C: New test.
+       * g++.dg/cpp2a/nontype-class46.C: New test.
+       * g++.dg/cpp2a/nontype-class47.C: New test.
+       * g++.dg/cpp2a/nontype-class48.C: New test.
+
+2021-04-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/87709
+       * g++.dg/cpp1z/class-deduction86.C: New test.
+
+2021-04-23  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/98952
+       * gcc.target/powerpc/pr98952.c: New test.
+
+2021-04-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100041
+       * gcc.target/i386/pr79514.c (dg-error):
+       Expect error for 64bit targets.
+
+2021-04-23  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100182
+       * gcc.target/i386/pr100182.c: New test.
+       * gcc.target/i386/pr71245-1.c (dg-final): Xfail scan-assembler-not.
+       * gcc.target/i386/pr71245-2.c (dg-final): Ditto.
+
+2021-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98767
+       * g++.dg/concepts/diagnostic17.C: New test.
+
+2021-04-23  Patrick Palka  <ppalka@redhat.com>
+
+       DR 2374
+       * g++.dg/cpp1z/direct-enum-init2.C: New test.
+
+2021-04-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99971
+       * g++.dg/vect/slp-pr99971.cc: New testcase.
+
+2021-04-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/100093
+       * gcc.target/i386/pr100093.c: New test.
+
+2021-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/94508
+       * g++.dg/cpp2a/concepts-uneval3.C: New test.
+
+2021-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/77435
+       * g++.dg/template/partial-specialization9.C: New test.
+
+2021-04-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/100161
+       * g++.dg/warn/Wtype-limits6.C: New test.
+
+2021-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/84689
+       * g++.dg/cpp0x/sfinae67.C: New test.
+
+2021-04-22  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/16617
+       * g++.dg/template/access36.C: New test.
+
+2021-04-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * substr_9.f90: Move to ...
+       * gfortran.dg/substr_9.f90: ... here.
+       * substr_10.f90: Move to ...
+       * gfortran.dg/substr_10.f90: ... here.
+
+2021-04-22  Martin Liska  <mliska@suse.cz>
+
+       PR testsuite/100159
+       PR testsuite/100192
+       * g++.dg/template/nontype29.C: Fix typos and missing comments.
+       * gcc.dg/Warray-bounds-64.c: Likewise.
+       * gcc.dg/Warray-parameter.c: Likewise.
+       * gcc.dg/Wstring-compare.c: Likewise.
+       * gcc.dg/format/gcc_diag-11.c: Likewise.
+       * gfortran.dg/array_constructor_3.f90: Likewise.
+       * gfortran.dg/matmul_bounds_9.f90: Likewise.
+       * gfortran.dg/pr78033.f90: Likewise.
+       * gfortran.dg/pr96325.f90: Likewise.
+
+2021-04-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/100119
+       * gcc.target/i386/pr100119.c: New test.
+
+2021-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99988
+       * gcc.target/aarch64/pr99988.c: Skip if not lp64 target.
+
+2021-04-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/set_vm_limit.c (set_vm_limit): Call getrlimit, use
+       obtained hard limit, and only call setrlimit if new softlimit is lower.
+
+2021-04-22  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/100176
+       * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c: Add
+       missing return.
+
+2021-04-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/bind_c_array_params_2.f90: Look for AIX-specific call
+       pattern.
+
+2021-04-21  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96380
+       * g++.dg/cpp0x/enum_base4.C: New test.
+       * g++.dg/cpp0x/enum_base5.C: New test.
+
+2021-04-21  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99988
+       * gcc.target/aarch64/pr99988.c: New test.
+
+2021-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp1z/constexpr-lambda26.C: Add dg-additional-options
+       -fchecking.
+       * g++.dg/cpp1y/auto-fn61.C: Likewise.
+       * g++.dg/cpp2a/nontype-class39.C: Likewise.
+       * g++.dg/cpp0x/constexpr-52830.C: Likewise.
+       * g++.dg/cpp0x/vt-88982.C: Likewise.
+       * c-c++-common/goacc/kernels-decompose-ice-1.c: Add -fchecking to
+       dg-additional-options.
+       * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise.
+
+2021-04-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/monitor-2.c: New test.
+
+2021-04-21  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/100176
+       * g++.dg/compat/struct-layout-1_generate.c: Add missing return.
+       * gcc.dg/compat/struct-layout-1_generate.c: Likewise.
+
+2021-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/100148
+       * g++.dg/opt/pr100148.C: New test.
+
+2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/depobj-1.f90: New test.
+       * gfortran.dg/gomp/depobj-2.f90: New test.
+
+2021-04-21  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/vect/pr71264.c: Xfail on IBM Z due to V4QImode support.
+
+2021-04-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/100130
+       * c-c++-common/attr-retain-10.c: New test.
+       * c-c++-common/attr-retain-11.c: Likewise.
+
+2021-04-21  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/vect/bb-slp-39.c: Change number of times the pattern
+       must match for target IBM Z only.
+
+2021-04-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100109
+       * g++.dg/cpp0x/lambda/lambda-variadic14.C: New test.
+
+2021-04-20  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.target/s390/zero-scratch-regs-1.c: Force test to run for
+       z/Architecture only.
+
+2021-04-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/100110
+       * gfortran.dg/pdt_31.f03: New test.
+       * gfortran.dg/pdt_26.f03: Reduce 'builtin_malloc' count from 9
+       to 8.
+
+2021-04-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97536
+       * g++.dg/concepts/diagnostic16.C: New test.
+
+2021-04-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/98457
+       * gdc.dg/pr98457.d: New test.
+
+2021-04-19  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/100075
+       * gcc.target/aarch64/pr100075.c: Add aarch64_little_endian
+       effective target.
+
+2021-04-19  Richard Biener  <rguenther@suse.de>
+
+       PR preprocessor/100142
+       * gcc.dg/pr100142.c: New testcase.
+       * g++.dg/diagnostic/pr72803.C: Revert last change.
+
+2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/if-clause-2.c: '-fopenacc-kernels=[...]' ->
+       '--param=openacc-kernels=[...]'.
+       * c-c++-common/goacc/kernels-decompose-1.c: Likewise.
+       * c-c++-common/goacc/kernels-decompose-2.c: Likewise.
+       * c-c++-common/goacc/kernels-decompose-ice-1.c: Likewise.
+       * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise.
+       * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+       * gfortran.dg/goacc/kernels-tree.f95: Likewise.
+
+2021-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt92.adb: New test.
+
+2021-04-17  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * c-c++-common/zero-scratch-regs-8.c: Enable on s390*.
+       * c-c++-common/zero-scratch-regs-9.c: Likewise.
+       * c-c++-common/zero-scratch-regs-10.c: Likewise.
+       * c-c++-common/zero-scratch-regs-11.c: Likewise.
+       * gcc.target/s390/zero-scratch-regs-1.c: New test.
+
+2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100094
+       * gfortran.dg/PR100094.f90: New test.
+
+2021-04-16  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96770
+       * gcc.target/arm/pure-code/pr96770.c: Fix scan-assembler-times
+       with movt/movw.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91710
+       * gcc.target/aarch64/pr91710.c: New test.
+
+2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100018
+       * gfortran.dg/PR10018.f90: New test.
+
+2021-04-16  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/100048
+       * gcc.target/aarch64/sve/pr100048.c: New test.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100111
+       * g++.dg/cpp0x/constexpr-100111.C: New test.
+
+2021-04-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99803
+       * g++.dg/cpp2a/typename14.C: Don't expect particular error
+       messages.
+       * g++.dg/cpp2a/typename19.C: New test.
+
+2021-04-16  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.dg/gimplefe-40.c: Moved to...
+       * gcc.dg/vect/gimplefe-40.c: ...here.
+       * gcc.dg/gimplefe-41.c: Moved to...
+       * gcc.dg/vect/gimplefe-41.c: ...here.
+
+2021-04-16  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/63797
+       * gfortran.dg/pr63797.f90: New test.
+
+2021-04-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/pr83403-1.c: Revert
+       max-completely-peeled-insns to the default value on IBM Z.
+       * gcc.dg/tree-ssa/pr83403-2.c: Likewise.
+
+2021-04-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99700
+       * g++.dg/cpp2a/constexpr-init21.C: New test.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100075
+       * gcc.target/aarch64/pr100075.c: New test.
+
+2021-04-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/99596
+       * gcc.target/arm/pr99596.c: New test.
+
+2021-04-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/100067
+       * g++.target/arm/arm.exp (dg_runtest_extra_prunes): Update prune
+       template.
+       * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Likewise.
+       * g++.target/arm/mve.exp (dg_runtest_extra_prunes): Likewise.  Fix
+       missing quotes around switch names.
+       * gcc.target/arm/mve/mve.exp: (dg_runtest_extra_prunes): Likewise.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99767
+       * gcc.target/aarch64/pr99767.c: New test.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99850
+       * g++.dg/cpp23/lambda-specifiers2.C: New test.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99833
+       * g++.dg/cpp1z/pr99833.C: New test.
+       * g++.dg/cpp2a/pr99833.C: New test.
+
+2021-04-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/unroll-and-jam.c: Revert max-completely-peel-times to
+       the default value on IBM Z.
+
+2021-04-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100079
+       * g++.dg/abi/mangle71.C: Fix expected mangling.
+       * g++.dg/abi/mangle77.C: New test.
+       * g++.dg/cpp2a/nontype-class-union1.C: Likewise.
+       * g++.dg/cpp2a/nontype-class-equiv1.C: Removed.
+       * g++.dg/cpp2a/nontype-class44.C: New test.
+
+2021-04-15  Martin Sebor  <msebor@redhat.com>
+
+       PR c/99420
+       PR c/99972
+       * gcc.dg/Warray-parameter-9.c: New test.
+       * gcc.dg/Wnonnull-6.c: New test.
+       * gcc.dg/Wreturn-type3.c: New test.
+       * gcc.dg/Wunused-result.c: New test.
+       * gcc.dg/attr-noreturn.c: New test.
+       * gcc.dg/attr-returns-nonnull.c: New test.
+
+2021-04-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/84877
+       * gcc.dg/pr84877.c: Xfail for cris-*-*.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/80456
+       * g++.dg/cpp0x/constexpr-volatile3.C: New test.
+
+2021-04-15  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/uninit-pr89230-1.c: New test.
+       * gcc.dg/uninit-pr89230-2.c: Same.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100101
+       * g++.dg/cpp0x/noexcept67.C: New test.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100091
+       * g++.dg/cpp2a/lambda-uneval15.C: New test.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Add
+       -mtune=generic to the SVE flags.
+       * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise.
+       * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise.
+       * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/gcc-defs.exp (aarch64-arch-dg-options): New procedure.
+       (aarch64-with-arch-dg-options): Likewise.
+       * g++.target/aarch64/sve/aarch64-sve.exp: Run the tests inside
+       aarch64-with-arch-dg-options.  Move the default architecture
+       flags to the final dg-runtest argument.
+       * gcc.target/aarch64/sve/aarch64-sve.exp: Likewise.  Dispense with
+       DEFAULT_CFLAGS.
+       * gcc.target/aarch64/sve2/aarch64-sve2.exp: Likewise.
+
+2021-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/100073
+       * gcc.dg/pr86058.c: Enable also on i?86-*-*.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/98852
+       * g++.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: New file.
+       * g++.target/aarch64/advsimd-intrinsics/pr98852.C: New file.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c/98852
+       * gcc.target/aarch64/advsimd-intrinsics/pr98852.c: New test.
+
+2021-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100056
+       * gcc.target/aarch64/pr100056.c: New test.
+
+2021-04-15  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * gcc.dg/pr93210.c: Adapt regex in order to also support a
+       RESULT_DECL as an operand for a RETURN_EXPR.
+
+2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/pr99929_1.c: New file.
+       * gcc.target/aarch64/sve/pr99929_2.c: Likewise.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100078
+       * g++.dg/template/dependent-tmpl2.C: New test.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93314
+       * g++.dg/parse/uneval1.C: New test.
+
+2021-04-14  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/100066
+       * gcc.target/i386/pr100066.c: New.
+
+2021-04-14  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/pr86058.c: Limit to just x86_64.
+
+2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/99246
+       * gcc.target/aarch64/sve/acle/general/pr99246.c: New test.
+
+2021-04-14  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/zvector/imm-range-error-1.c: New test.
+       * gcc.target/s390/zvector/vec_msum_u128-1.c: New test.
+
+2021-04-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/83476
+       PR c++/99885
+       * g++.dg/cpp1z/class-deduction85.C: New test.
+       * g++.dg/template/ref11.C: New test.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99478
+       * g++.dg/cpp2a/lambda-uneval14.C: New test.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90674
+       * g++.dg/debug/defaulted1.C: New test.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/88742
+       * g++.dg/debug/cleanup1.C: New test.
+       * c-c++-common/Wimplicit-fallthrough-6.c: Adjust diagnostic line.
+       * c-c++-common/Wimplicit-fallthrough-7.c: Likewise.
+       * g++.dg/cpp2a/constexpr-dtor3.C: Likewise.
+       * g++.dg/ext/constexpr-attr-cleanup1.C: Likewise.
+       * g++.dg/tm/inherit2.C: Likewise.
+       * g++.dg/tm/unsafe1.C: Likewise.
+       * g++.dg/warn/Wimplicit-fallthrough-1.C: Likewise.
+       * g++.dg/gcov/gcov-2.C: Adjust coverage counts.
+
+2021-04-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/82800
+       * g++.dg/warn/uninit-pr82800.C: New test.
+
+2021-04-13  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/86058
+       * gcc.dg/pr86058.c: New test.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99008
+       * g++.old-deja/g++.ns/crash3.C: Adjust expected diagnostic.
+       * g++.old-deja/g++.ns/template7.C: Likewise.
+       * g++.old-deja/g++.pt/crash8.C: Likewise.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100032
+       * g++.dg/cpp0x/alias-decl-equiv1.C: New test.
+
+2021-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97121
+       * g++.dg/cpp2a/spaceship-err6.C: New test.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100054
+       * g++.dg/cpp1y/lambda-generic-local-class1.C: New test.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99008
+       * g++.dg/parse/template2.C: Adjust expected diagnostic.
+       * g++.dg/template/error8.C: Likewise.
+       * g++.dg/cpp1z/class-deduction84.C: New test.
+
+2021-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100053
+       * gcc.dg/torture/pr100053.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-fre-93.c: Likewise.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91933
+       * g++.dg/cpp0x/constexpr-base7.C: New test.
+
+2021-04-13  Nathan Sidwell  <nathan@acm.org>
+
+       PR preprocessor/99446
+       * g++.dg/diagnostic/pr72803.C: Adjust expected column.
+
+2021-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100028
+       * gcc.target/aarch64/pr100028.c: New test.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97134
+       * g++.dg/cpp2a/nontype-class43.C: New test.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99961
+       PR c++/99994
+       * g++.dg/cpp2a/concepts-uneval1.C: New test.
+       * g++.dg/cpp2a/concepts-uneval2.C: New test.
+
+2021-04-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR analyzer/99212
+       * gcc.dg/analyzer/data-model-1.c (test_45): Inverse xfail at
+       line 971 for cris-*-*.
+
+2021-04-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98599
+       * gcc.dg/analyzer/pr98599-a.c: New test.
+       * gcc.dg/analyzer/pr98599-b.c: New test.
+
+2021-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/99905
+       * gcc.target/i386/pr99905.c: New test.
+
+2021-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99830
+       * gcc.dg/pr99830.c: New test.
+
+2021-04-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93085
+       * g++.dg/template/dependent-tmpl1.C: New test.
+
+2021-04-12  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/99877
+       * g++.dg/asan/pr99877.C: New test.
+
+2021-04-12  Cui,Lili  <lili.cui@intel.com>
+
+       * gcc.target/i386/funcspec-56.inc: Handle new march.
+       * g++.target/i386/mv16.C: Handle new march
+
+2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       PR middle-end/98088
+       * c-c++-common/goacc/collapse-2.c: New.
+
+2021-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97974
+       * g++.dg/lookup/pr84962.C: Adjust diagnostic.
+       * g++.dg/other/anon-union5.C: New test.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98800
+       * g++.dg/gomp/this-1.C: Adjust diagnostic.
+       * g++.dg/cpp0x/constexpr-this1.C: New test.
+
+2021-04-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/100011
+       * gcc.dg/analyzer/pr100011.c: New test.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99990
+       * gcc.dg/pr99990.c: New test.
+
+2021-04-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * gcc.target/i386/pr99744-2.c: New test.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/99849
+       * gcc.dg/lto/pr99849_0.c: New test.
+
+2021-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98601
+       * gcc.dg/torture/pr98601.c: New test.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99180
+       PR c++/93295
+       PR c++/93867
+       PR c++/95486
+       * g++.dg/cpp2a/class-deduction-alias5.C: New test.
+       * g++.dg/cpp2a/class-deduction-alias6.C: New test.
+       * g++.dg/cpp2a/class-deduction-alias7.C: New test.
+       * g++.dg/cpp2a/class-deduction-alias8.C: New test.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100006
+       * g++.dg/cpp0x/lambda/lambda-variadic13.C: New test.
+
+2021-04-09  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/55288
+       * g++.dg/warn/uninit-pr55288.C: New test.
+
+2021-04-09  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/90215
+       * g++.dg/cpp1z/fold-lambda4.C: New test.
+
+2021-04-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99806
+       * g++.dg/concepts/abbrev10.C: New test.
+       * g++.dg/concepts/abbrev11.C: New test.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/pr70398.c: Require a target that can link
+       static executables.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/bfloat_cpp_typecheck.C: Remove XFAILs.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gfortran.dg/vect/vect-8.f90: Expect 24 loops to be vectorized
+       with SVE.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.dg/tree-ssa/pr83518.C: XFAIL for vect_variable_length.
+       * gcc.dg/pr96573.c: Likewise.
+       * gcc.dg/tree-ssa/pr84512.c: Likewise.
+       * gcc.dg/vect/bb-slp-43.c: Likewise.
+       * gcc.dg/vect/slp-reduc-11.c: Likewise.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr65947-7.c: Add a noipa attribute.  Expect the
+       loop to vectorized if vect_fold_extract_last.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/mem-shift-canonical.c: Use an asm instead
+       of relying on vectorisation.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/87763
+       * gcc.target/aarch64/insv_1.c: XFAIL two scan tests.
+
+2021-04-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR libfortran/78314
+       * gfortran.dg/ieee/ieee_6.f90: Skip for arm* and aarch64*.
+       * gfortran.dg/ieee/ieee_8.f90: Likewise.
+
+2021-04-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99817
+       * gfortran.dg/coarray/dummy_2.f90: New test.
+
+2021-04-08  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/gomp/tls-5.C: Expect tbss failure on AIX.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99874
+       * g++.dg/cpp2a/concepts-lambda16.C: New test.
+       * g++.dg/cpp2a/concepts-lambda17.C: New test.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97679
+       * g++.dg/cpp2a/concepts-ctad3.C: New test.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/scanasm.exp (scan-lto-assembler): Update expected name
+       of dump file.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_stdint_types_mbig_endian): New proc.
+       * gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c: Require
+       stdint_types_mbig_endian.
+       * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91849
+       * g++.dg/conversion/pr66211.C: Adjust diagnostic.
+       * g++.dg/conversion/ref7.C: New test.
+
+2021-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99859
+       * g++.dg/cpp1y/constexpr-99859-1.C: New test.
+       * g++.dg/cpp1y/constexpr-99859-2.C: New test.
+       * g++.dg/cpp2a/constexpr-new18.C: New test.
+       * g++.dg/cpp2a/constexpr-new19.C: New test.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/pr99102.c: Add -fdump-tree-vect-details.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/general-c/func_redef_1.c: Remove
+       "was here" from error message.
+       * gcc.target/aarch64/sve/acle/general-c/func_redef_2.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/func_redef_3.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/func_redef_6.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_1.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_2.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_3.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_4.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_5.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_6.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_8.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_9.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_10.c: Likewise.
+       * gcc.target/aarch64/sve/acle/general-c/type_redef_13.c: Likewise.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/asimd-mull-elem.c: Add +nosve.
+       * gcc.target/aarch64/pr98772.c: Likewise.
+       * gcc.target/aarch64/simd/vect_su_add_sub.c: Likewise.
+
+2021-04-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/mul_2.c: Adjust negative constants to avoid
+       conversion to shifts and adds.
+
+2021-04-08  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99042
+       PR analyzer/99774
+       * gcc.dg/analyzer/pr99042.c: New test.
+       * gcc.dg/analyzer/pr99774-1.c: New test.
+       * gcc.dg/analyzer/pr99774-2.c: New test.
+
+2021-04-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/gdc108.d: Update test.
+       * gdc.dg/gdc142.d: Likewise.
+       * gdc.dg/pr90136a.d: Likewise.
+       * gdc.dg/pr90136b.d: Likewise.
+       * gdc.dg/pr90136c.d: Likewise.
+       * gdc.dg/pr95173.d: Likewise.
+       * gdc.dg/attr_allocsize1.d: New test.
+       * gdc.dg/attr_allocsize2.d: New test.
+       * gdc.dg/attr_alwaysinline1.d: New test.
+       * gdc.dg/attr_cold1.d: New test.
+       * gdc.dg/attr_exclusions1.d: New test.
+       * gdc.dg/attr_exclusions2.d: New test.
+       * gdc.dg/attr_flatten1.d: New test.
+       * gdc.dg/attr_module.d: New test.
+       * gdc.dg/attr_noclone1.d: New test.
+       * gdc.dg/attr_noicf1.d: New test.
+       * gdc.dg/attr_noinline1.d: New test.
+       * gdc.dg/attr_noipa1.d: New test.
+       * gdc.dg/attr_noplt1.d: New test.
+       * gdc.dg/attr_optimize1.d: New test.
+       * gdc.dg/attr_optimize2.d: New test.
+       * gdc.dg/attr_optimize3.d: New test.
+       * gdc.dg/attr_optimize4.d: New test.
+       * gdc.dg/attr_restrict1.d: New test.
+       * gdc.dg/attr_section1.d: New test.
+       * gdc.dg/attr_symver1.d: New test.
+       * gdc.dg/attr_target1.d: New test.
+       * gdc.dg/attr_targetclones1.d: New test.
+       * gdc.dg/attr_used1.d: New test.
+       * gdc.dg/attr_used2.d: New test.
+       * gdc.dg/attr_weak1.d: New test.
+       * gdc.dg/imports/attributes.d: New test.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94529
+       * g++.dg/template/mem-spec2.C: New test.
+
+2021-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99844
+       * g++.dg/cpp2a/explicit16.C: Use c++20.
+       * g++.dg/cpp0x/noexcept66.C: New test.
+       * g++.dg/cpp2a/explicit17.C: New test.
+
+2021-04-08  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99647
+       * gcc.c-torture/compile/pr99647.c: New test.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/41723
+       * g++.dg/template/friend71.C: New test.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52625
+       * g++.dg/template/friend70.C: New test.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92918
+       * g++.dg/lookup/using66.C: New test.
+
+2021-04-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * lib/gcc.exp (gcc_target_compile): Add -dumpbase ""
+       when building an executable with testglue.
+
+2021-04-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/pr88834.c: Expect the vectorizer to use SLP.
+       * gcc.target/aarch64/sve/pr88834_ld3.c: New test.
+
+2021-04-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/slp-21.c: Only expect 2 of the loops to use SLP
+       if IFN_STORE_LANES is available.
+       * gcc.dg/vect/vect-complex-5.c: Expect no loops to use SLP if
+       IFN_STORE_LANES is available.
+       * gcc.target/aarch64/pr99873_1.c: New test.
+       * gcc.target/aarch64/pr99873_2.c: Likewise.
+       * gcc.target/aarch64/pr99873_3.c: Likewise.
+       * gcc.target/aarch64/sve/pr99873_1.c: Likewise.
+       * gcc.target/aarch64/sve/pr99873_2.c: Likewise.
+       * gcc.target/aarch64/sve/pr99873_3.c: Likewise.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99954
+       * gcc.dg/torture/pr99954.c: New testcase.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/99955
+       * gcc.c-torture/execute/pr92618.c: Move may_alias attributes
+       last.
+
+2021-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99947
+       * gcc.dg/torture/pr99947.c: New testcase.
+
+2021-04-07  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/98736
+       * gcc.c-torture/execute/pr98736.c: New test.
+
+2021-04-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/52202
+       * g++.dg/cpp0x/rv-life.C: New test.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96673
+       * g++.dg/cpp1y/nsdmi-aggr13.C: New test.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99901
+       * g++.dg/cpp1z/inline-var9.C: New test.
+
+2021-04-06  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99781
+       * g++.target/aarch64/sve/pr99781.C: New.
+
+2021-04-06  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/memcpy-strategy-9.c: New test.
+       * gcc.target/i386/memcpy-strategy-10.c: Likewise.
+       * gcc.target/i386/memcpy-strategy-11.c: Likewise.
+       * gcc.target/i386/memset-strategy-7.c: Likewise.
+       * gcc.target/i386/memset-strategy-8.c: Likewise.
+       * gcc.target/i386/memset-strategy-9.c: Likewise.
+
+2021-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99880
+       * gcc.dg/torture/pr99880.c: New testcase.
+
+2021-04-06  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/builtin-3_a.C: Remove dump scans.
+       * g++.dg/modules/builtin-3_b.C: Remove dump scans.
+
+2021-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96573
+       * gcc.dg/pr96573.c: Instead of __builtin_bswap accept also
+       VEC_PERM_EXPR with bswapping permutation.
+
+2021-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99924
+       * gfortran.dg/vect/pr99924.f90: New testcase.
+
+2021-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97900
+       * g++.dg/ext/vector40.C: Add -Wno-psabi -w to dg-options.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91241
+       * g++.dg/abi/lambda-defarg1.C: New test.
+
+2021-04-06  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99899
+       * g++.dg/cpp2a/concepts-placeholder7.C: New test.
+       * g++.dg/cpp2a/concepts-placeholder8.C: New test.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96311
+       * g++.dg/cpp1y/lambda-generic-Wunused.C: New test.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/rv-cast6.C: Expect reinterpret_cast error.
+       * g++.dg/cpp0x/reinterpret_cast2.C: Adjust message.
+       * g++.old-deja/g++.jason/rvalue3.C: Likewise.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95317
+       * g++.dg/cpp1y/lambda-generic-enum1.C: New test.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95870
+       * g++.dg/cpp0x/lambda/lambda-nsdmi10.C: New test.
+
+2021-04-05  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99906
+       * gcc.dg/analyzer/pr99906.c: New test.
+
+2021-04-05  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99886
+       * gcc.dg/analyzer/pr99886.c: New test.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99066
+       * g++.dg/cpp0x/extern_template-6.C: New test.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99201
+       * g++.dg/cpp1z/constexpr-if-lambda4.C: New test.
+
+2021-04-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/99914
+       * gdc.dg/pr99914.d: New test.
+
+2021-04-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gcc.dg/ipa/propmalloc-4.c: Add -fdelete-null-pointer-checks.
+       * gcc.dg/tree-ssa/evrp11.c: Likewise.
+
+2021-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99643
+       * g++.dg/cpp0x/initlist-new5.C: New test.
+
+2021-04-03  Alexandre Oliva  <oliva@adacore.com>
+
+       * g++.dg/pr94314-3.C: Zero-initialize main loop counter.
+
+2021-04-03  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/ipa/ipa-sra-19.c: Extend -Wno-psabi to ppc-vx7r2.
+
+2021-04-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91416
+       * g++.dg/other/gc7.C: New test.
+
+2021-04-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99818
+       * gfortran.dg/coarray_48.f90: New test.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99882
+       * gcc.dg/pr99882.c: New test.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/99863
+       * gcc.target/i386/pr99863.c: New test.
+
+2021-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98125
+       * g++.dg/pr93195a.C: Skip on powerpc*-*-* 64-bit.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91217
+       * g++.dg/opt/nrv20.C: New test.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90664
+       * g++.dg/cpp1z/noexcept-type24.C: New test.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97900
+       * g++.dg/ext/vector40.C: New test.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99869
+       * g++.dg/cpp2a/concepts-placeholder6.C: New test.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99586
+       * g++.dg/cpp2a/nontype-class42.C: New test.
+
+2021-04-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97938
+       * g++.dg/cpp2a/lambda-pack-init6.C: New test.
+
+2021-04-02  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr99283-6_d.H: New.
+       * g++.dg/modules/pr99283-7-swap.h: New.
+       * g++.dg/modules/pr99283-7-traits.h: New.
+       * g++.dg/modules/pr99283-7_a.H: New.
+       * g++.dg/modules/pr99283-7_b.H: New.
+       * g++.dg/modules/pr99283-7_c.C: New.
+       * g++.dg/modules/pr99283-7_d.H: New.
+
+2021-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * go.test/test/fixedbugs/issue6036.go: Skip on sparc.
+       * go.test/test/fixedbugs/issue22200b.go: Likewise.
+
+2021-04-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99726
+       * gcc.target/i386/pr99726.c: Remove -m32 from dg-options.  Move
+       -floop-nest-optimize to dg-additional-options guarded on fgraphite
+       effective target.
+
+2021-04-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99831
+       * g++.dg/other/gc6.C: New test.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99583
+       * g++.dg/cpp0x/lambda/lambda-variadic12.C: New test.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98481
+       * g++.dg/abi/abi-tag24a.C: New test.
+       * g++.dg/abi/macro0.C: Adjust expected value.
+
+2021-04-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * g++.dg/modules/pr99283-6.h: New.
+       * g++.dg/modules/pr99283-6_a.H: New.
+       * g++.dg/modules/pr99283-6_b.H: New.
+       * g++.dg/modules/pr99283-6_c.C: New.
+       * g++.dg/modules/hdr-init-1_c.C: Adjust scan.
+       * g++.dg/modules/indirect-3_c.C: Adjust scan.
+       * g++.dg/modules/indirect-4_c.C: Adjust scan.
+       * g++.dg/modules/lambda-3_b.C: Adjust scan.
+       * g++.dg/modules/late-ret-3_c.C: Adjust scan.
+       * g++.dg/modules/pr99425-1_b.H: Adjust scan.
+       * g++.dg/modules/pr99425-1_c.C: Adjust scan.
+
+2021-04-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/98265
+       * gcc.dg/tree-ssa/pr98265.C: New test.
+
+2021-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96573
+       * gcc.dg/pr96573.c: New test.
+
+2021-04-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99856
+       * gcc.dg/vect/pr99856.c: New testcase.
+
+2021-04-01  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/97009
+       * gcc.dg/tree-ssa/pr97009.c: New test.
+
+2021-04-01  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99840
+       * gfortran.dg/transpose_5.f90: New test.
+
+2021-03-31  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99771
+       * gcc.dg/analyzer/data-model-10.c: Update expected output.
+       * gcc.dg/analyzer/malloc-ipa-13.c: Likewise.
+       * gcc.dg/analyzer/malloc-ipa-13a.c: New test.
+       * gcc.dg/analyzer/pr99771-1.c: New test.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98268
+       * gcc.target/aarch64/sve/pr98268-1.c: New test.
+       * gcc.target/aarch64/sve/pr98268-2.c: Likewise.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/99726
+       * gcc.target/i386/pr99726.c: New test.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/97141
+       PR rtl-optimization/98726
+       * gcc.c-torture/compile/pr97141.c: New test.
+       * gcc.c-torture/compile/pr98726.c: Likewise.
+       * gcc.target/aarch64/sve/pr97141.c: Likewise.
+       * gcc.target/aarch64/sve/pr98726.c: Likewise.
+
+2021-03-31  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/65182
+       * gcc.dg/uninit-pr65182.c: New test.
+
+2021-03-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99445
+       * g++.dg/cpp0x/alias-decl-variadic1.C: New test.
+
+2021-03-31  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96974
+       * g++.target/aarch64/sve/pr96974.C: Expect SLP diagnostic only
+       under lp64.
+
+2021-03-31  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99786
+       * gcc.target/arm/pr99786.c: New test.
+
+2021-03-31  H.J. Lu  <hjl.tools@gmail.com>
+
+       * gcc.target/i386/memcpy-strategy-5.c: New test.
+       * gcc.target/i386/memcpy-strategy-6.c: Likewise.
+       * gcc.target/i386/memcpy-strategy-7.c: Likewise.
+       * gcc.target/i386/memcpy-strategy-8.c: Likewise.
+       * gcc.target/i386/memset-strategy-3.c: Likewise.
+       * gcc.target/i386/memset-strategy-4.c: Likewise.
+       * gcc.target/i386/memset-strategy-5.c: Likewise.
+       * gcc.target/i386/memset-strategy-6.c: Likewise.
+
+2021-03-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/98119
+       * gcc.target/aarch64/sve/pr98119.c: New test.
+
+2021-03-31  Jakub Jelinek  <jakub@redhat.com>
+           Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/99813
+       * g++.target/aarch64/sve/pr99813.C: New test.
+
+2021-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/97680
+       * c-c++-common/zero-scratch-regs-6.c: Skip on ia64.
+       * c-c++-common/zero-scratch-regs-7.c: Likewise.
+       * c-c++-common/zero-scratch-regs-8.c: Change from dg-skip-if of
+       selected unsupported triplets to all targets but selected triplets
+       of supported targets.
+       * c-c++-common/zero-scratch-regs-9.c: Likewise.
+       * c-c++-common/zero-scratch-regs-10.c: Likewise.
+       * c-c++-common/zero-scratch-regs-11.c: Likewise.
+
+2021-03-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88115
+       * g++.dg/cpp0x/alignof7.C: Adjust expected mangling.
+
+2021-03-31  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99815
+       * g++.dg/cpp2a/concepts-placeholder5.C: New test.
+
+2021-03-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/symbolic-1.c: Fix typo.
+
+2021-03-30  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * g++.dg/modules/pr99283-5.h: New.
+       * g++.dg/modules/pr99283-5_a.H: New.
+       * g++.dg/modules/pr99283-5_b.H: New.
+       * g++.dg/modules/pr99283-5_c.C: New.
+
+2021-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99790
+       * g++.dg/cpp1z/pr99790.C: New test.
+
+2021-03-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99822
+       * gcc.c-torture/compile/pr99822.c: New test.
+
+2021-03-30  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/99718
+       PR target/99718
+       * gcc.target/powerpc/fold-vec-insert-char-p8.c: Update
+       instruction counts.
+       * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
+       * gcc.target/powerpc/pr79251.p8.c: Likewise.
+       * gcc.target/powerpc/pr79251.p9.c: Likewise.
+       * gcc.target/powerpc/vsx-builtin-7.c: Likewise.
+       * gcc.target/powerpc/pr79251-run.p7.c: New test.
+       * gcc.target/powerpc/pr79251.p7.c: New test.
+
+2021-03-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99744
+       * gcc.target/i386/pr99744-1.c: New test.
+
+2021-03-30  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99825
+       * gfortran.dg/vect/pr99825.f90: New test.
+
+2021-03-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99808
+       * gcc.target/aarch64/pr99808.c: Use ULL constant suffix.
+
+2021-03-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99824
+       * gcc.dg/torture/pr99824.c: New testcase.
+
+2021-03-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/98136
+       * g++.dg/pr98136.C: New test.
+
+2021-03-30  Mihailo Stojanovic  <mihailo.stojanovic@typhoon-hil.com>
+
+       * gcc.target/aarch64/fcvt_nosimd.c: New test.
+
+2021-03-29  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/61869
+       * gcc.dg/uninit-pr61869.c: New test.
+
+2021-03-29  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/61677
+       * gcc.dg/uninit-pr61677.c: New test.
+
+2021-03-29  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/61112
+       * gcc.dg/uninit-pr61112.c: New test.
+
+2021-03-29  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/99751
+       * gcc.c-torture/compile/pr99751.c: Rename from ...
+       * gcc.c-torture/execute/pr99751.c: ... to this.
+
+2021-03-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gcc.c-torture/compile/pr99751.c: New test.
+
+2021-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/93660
+       * gfortran.dg/gomp/declare-simd-coarray-lib.f90: Expect a mixed size
+       declare simd warning on aarch64.
+
+2021-03-29  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99216
+       * g++.target/aarch64/sve/pr99216.C: New test.
+
+2021-03-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99807
+       * gfortran.dg/vect/pr99807.f90: New testcase.
+
+2021-03-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99808
+       * gcc.target/aarch64/pr99808.c: New test.
+
+2021-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99777
+       * g++.dg/torture/pr99777.C: New test.
+
+2021-03-28  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96770
+       * gcc.target/arm/pure-code/pr96770.c: Improve scan-assembler-times.
+
+2021-03-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99602
+       * gfortran.dg/pr99602.f90: New test.
+       * gfortran.dg/pr99602a.f90: New test.
+       * gfortran.dg/pr99602b.f90: New test.
+       * gfortran.dg/pr99602c.f90: New test.
+       * gfortran.dg/pr99602d.f90: New test.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * lib/gdc-utils.exp (gdc-copy-extra): Rename to...
+       (gdc-copy-file): ... this.  Use file copy instead of open/close.
+       (gdc-convert-test): Save translated dejagnu test to gdc.test
+       directory, only write dejagnu directives to the test file.
+       (gdc-do-test): Don't create gdc.test symlink.
+
+2021-03-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/gdc270a.d: Removed.
+       * gdc.dg/gdc270b.d: Removed.
+
+2021-03-26  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pr99557.c: New.
+
+2021-03-26  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/59970
+       * gcc.dg/uninit-pr59970.c: New test.
+
+2021-03-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98352
+       * g++.dg/cpp0x/inh-ctor37.C: Remove dg-error.
+       * g++.dg/cpp0x/nsdmi17.C: New test.
+
+2021-03-26  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * g++.dg/modules/pr99283-2_a.H: New.
+       * g++.dg/modules/pr99283-2_b.H: New.
+       * g++.dg/modules/pr99283-2_c.H: New.
+       * g++.dg/modules/pr99283-3_a.H: New.
+       * g++.dg/modules/pr99283-3_b.H: New.
+       * g++.dg/modules/pr99283-4.H: New.
+       * g++.dg/modules/tpl-alias-1_a.H: Adjust scans.
+       * g++.dg/modules/tpl-alias-1_b.C: Adjust scans.
+
+2021-03-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/99766
+       * g++.target/aarch64/sve/pr99766.C: New.
+
+2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR ipa/99466
+       * gcc.dg/tls/pr99466-1.c: New test.
+       * gcc.dg/tls/pr99466-2.c: New test.
+
+2021-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99705
+       * g++.dg/cpp0x/new5.C: New test.
+
+2021-03-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99651
+       * gfortran.dg/null_11.f90: New test.
+
+2021-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/55060
+       * gcc.dg/uninit-pr55060.c: New.
+
+2021-03-25  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/48483
+       * g++.dg/warn/uninit-pr48483.C: New test.
+
+2021-03-25  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/uninit-pr44547.c: New.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99672
+       * g++.dg/concepts/diagnostic2.C: Adjust expected caret line.
+       * g++.dg/cpp1y/builtin_location.C (f4, n6): Move #line directives
+       to match locus changes.
+       * g++.dg/cpp2a/srcloc1.C: Adjust expected column numbers.
+       * g++.dg/cpp2a/srcloc2.C: Likewise.
+       * g++.dg/cpp2a/srcloc15.C: Likewise.
+       * g++.dg/cpp2a/srcloc16.C: Likewise.
+       * g++.dg/cpp2a/srcloc19.C: New test.
+       * g++.dg/modules/adhoc-1_b.C: Adjust expected column numbers
+       and caret line.
+       * g++.dg/modules/macloc-1_c.C: Adjust expected column numbers.
+       * g++.dg/modules/macloc-1_d.C: Likewise.
+       * g++.dg/plugin/diagnostic-test-expressions-1.C: Adjust expected
+       caret line.
+
+2021-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94751
+       * g++.dg/cpp0x/inh-ctor37.C: New test.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99745
+       * g++.dg/cpp0x/variadic181.C: New test.
+
+2021-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99331
+       * g++.dg/warn/Wconversion5.C: New test.
+
+2021-03-25  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR tree-optimization/96974
+       * g++.target/aarch64/sve/pr96974.C: New test.
+
+2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       Revert:
+       2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98209
+       PR target/99744
+       * gcc.target/i386/pr98209.c: New test.
+       * gcc.target/i386/pr99744-1.c: Likewise.
+       * gcc.target/i386/pr99744-2.c: Likewise.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99565
+       * g++.dg/warn/Wduplicated-branches6.C: New test.
+       * g++.dg/warn/Wduplicated-branches7.C: New test.
+
+2021-03-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98209
+       PR target/99744
+       * gcc.target/i386/pr98209.c: New test.
+       * gcc.target/i386/pr99744-1.c: Likewise.
+       * gcc.target/i386/pr99744-2.c: Likewise.
+
+2021-03-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99746
+       * gfortran.dg/vect/pr99746.f90: New testcase.
+
+2021-03-25  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93695
+       PR analyzer/99044
+       PR analyzer/99716
+       * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: Remove
+       xfail.
+       * gcc.dg/analyzer/pr93695-1.c: New test.
+       * gcc.dg/analyzer/pr99044-1.c: New test.
+       * gcc.dg/analyzer/pr99044-2.c: New test.
+       * gcc.dg/analyzer/pr99716-1.c: New test.
+       * gcc.dg/analyzer/pr99716-2.c: New test.
+       * gcc.dg/analyzer/pr99716-3.c: New test.
+
+2021-03-24  Martin Liska  <mliska@suse.cz>
+
+       PR target/99753
+       * gcc.target/i386/pr99753.c: New test.
+
+2021-03-24  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/99122
+       * gcc.dg/pr99122-3.c: Remove -fno-ipa-cp from options.
+
+2021-03-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99727
+       * gcc.target/arm/pr99727.c: New test.
+
+2021-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99724
+       * gcc.target/arm/pr99724.c: New test.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/target-supports.exp (check_effective_target_sysconf): New.
+       * gcc.target/i386/pr95443-1.c: Require it.
+       * gcc.target/i386/pr95443-2.c: Likewise.
+       * gcc.target/i386/sse2-mmx-maskmovq.c: Likewise.
+       * gcc.target/i386/strncmp-1.c: Likewise.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/i386/pr97313.c: Require effective target feature pie.
+       * g++.target/i386/pr94185.C: Likewise.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/i386/funcspec-2.c: Tighten regexps to avoid false
+       positives with -mcmodel=large.
+       * gcc.target/i386/funcspec-3.c: Likewise.
+
+2021-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/i386/pr94467-3.c: New.
+
+2021-03-24  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99369
+       * gfortran.dg/longnames.f90: New test.
+
+2021-03-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * g++.dg/modules/pr99283-1_a.H: New.
+       * g++.dg/modules/pr99283-1_b.H: New.
+
+2021-03-23  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-asm-abi.c: New test.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_dsp_ok_nocache)
+       (check_effective_target_arm_dsp_ok, add_options_for_arm_dsp): New.
+       * gcc.target/arm/acle/dsp_arith.c: Use arm_dsp_ok effective target
+       and add arm_dsp options.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Fix
+       -mfloat-abi= options order.
+       (check_effective_target_arm_v8_1m_mve_ok_nocache): Likewise
+       * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Add
+       arm_hard_ok effective target and -mfloat-abi=hard additional
+       option.
+       * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vgetq_lane_u64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_s64.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vsetq_lane_u64.c: Likewise.
+       * gcc.target/arm/armv8_1m-fp16-move-1.c: Add -mfloat-abi=hard
+       additional option.
+       * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise.
+       * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_v8_2a_i8mm_ok_nocache): Fix
+       -mfloat-abi= options order.
+       (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): Likewise.
+       * gcc.target/arm/bfloat16_scalar_1_1.c: Add arm_hard_ok effective
+       target and -mfloat-abi=hard additional option.
+       * gcc.target/arm/bfloat16_simd_1_1.c: Likewise.
+       * gcc.target/arm/simd/bf16_ma_1.c: Likewise.
+       * gcc.target/arm/simd/bf16_mmla_1.c: Likewise.
+       * gcc.target/arm/simd/vdot-2-1.c: Likewise.
+       * gcc.target/arm/simd/vdot-2-2.c: Likewise.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/armv8_2-fp16-scalar-2.c: Add arm_hard_ok.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/bfloat16_simd_1_2.c: Add arm_softfp_ok.
+       * gcc.target/arm/bfloat16_simd_2_2.c: Likewise.
+       * gcc.target/arm/bfloat16_simd_3_2.c: Likewise.
+       * gcc.target/arm/pr51968.c: Likewise.
+       * gcc.target/arm/bfloat16_simd_2_1.c: arm_hard_ok.
+       * gcc.target/arm/bfloat16_simd_3_1.c: Likewise.
+       * gcc.target/arm/simd/bf16_vldn_1.c: Likewise.
+       * gcc.target/arm/simd/bf16_vstn_1.c: Likewise.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/armv8_1m-shift-imm-1.c: Remove -mfloat=abi option.
+       * gcc.target/arm/armv8_1m-shift-reg-1.c: Likewise.
+       * gcc.target/arm/bf16_dup.c: Likewise.
+       * gcc.target/arm/bf16_reinterpret.c: Likewise.
+       * gcc.target/arm/pr51534.c: Remove -mfloat=abi option.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/vmmla_1.c: Add arm_v8_2a_i8mm options.
+
+2021-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/bfloat16_scalar_typecheck.c: Add
+       arm_v8_2a_fp16_neon and arm_v8_2a_bf16_neon.
+       * gcc.target/arm/bfloat16_vector_typecheck_1.c: Likewise.
+       * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise.
+
+2021-03-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99318
+       * g++.dg/cpp0x/attributes-namespace6.C: New test.
+       * g++.dg/cpp0x/gen-attrs-73.C: New test.
+
+2021-03-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93660
+       * gfortran.dg/gomp/declare-simd-coarray-lib.f90: New test.
+
+2021-03-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/99540
+       * gcc.dg/vect/pr99540.c: New test.
+
+2021-03-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99239
+       * g++.dg/modules/pr99239_a.H: New.
+       * g++.dg/modules/pr99239_b.H: New.
+
+2021-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99721
+       * gfortran.dg/vect/pr99721.f90: New testcase.
+
+2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>
+
+       * gcc.target/riscv/shift-shift-5.c (sub): Change
+       order of struct fields depending on byteorder.
+
+2021-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99650
+       * g++.dg/cpp1z/decomp55.C: New test.
+
+2021-03-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/99296
+       * gcc.dg/pr99296.c: New file.
+
+2021-03-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99480
+       * g++.dg/modules/pr99480_a.H: New.
+       * g++.dg/modules/pr99480_b.H: New.
+
+2021-03-22  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99581
+       * gcc.target/powerpc/pr99581.c: New.
+
+2021-03-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99425
+       * g++.dg/modules/pr99425-1.h: New.
+       * g++.dg/modules/pr99425-1_a.H: New.
+       * g++.dg/modules/pr99425-1_b.H: New.
+       * g++.dg/modules/pr99425-1_c.C: New.
+       * g++.dg/modules/pr99425-2_a.X: New.
+       * g++.dg/modules/pr99425-2_b.X: New.
+       * g++.dg/template/pr99425.C: New.
+
+2021-03-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99694
+       * gcc.dg/torture/pr99694.c: New testcase.
+
+2021-03-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/99702
+       * gcc.target/riscv/pr99702.c: New.
+
+2021-03-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/98914
+       * gcc.target/powerpc/pr98914.c: New test.
+
+2021-03-20  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99679
+       * g++.target/i386/pr99679-1.C: New test.
+       * g++.target/i386/pr99679-2.C: Likewise.
+
+2021-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/99230
+       * gcc.dg/pr99230.c: New test.
+
+2021-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99588
+       * gcc.dg/Wunused-var-5.c: New test.
+       * gcc.dg/Wunused-var-6.c: New test.
+
+2021-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/inline_matmul_6.f90: Adjust count for
+         _gfortran_matmul.
+
+2021-03-19  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99663
+       * gcc.target/s390/pr99663.c: New.
+
+2021-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99456
+       * g++.dg/opt/pr99456.C: New test.
+       * g++.dg/ext/vla22.C: Expect a -Wnarrowing warning for c++11 and
+       later.
+
+2021-03-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99656
+       * gfortran.dg/vect/pr99656.f90: New test.
+
+2021-03-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99652
+       * gcc.dg/torture/pr99652-1.c: New test.
+       * gcc.dg/torture/pr99652-2.c: Likewise.
+       * gcc.target/i386/pr57655.c: Adjusted.
+       * gcc.target/i386/pr59794-6.c: Likewise.
+       * gcc.target/i386/pr70738-1.c: Likewise.
+       * gcc.target/i386/pr96744-1.c: Likewise.
+
+2021-03-19  Jakub Jelinek  <jakub@redhat.com>
+           Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99593
+       * g++.target/arm/pr99593.C: New test.
+
+2021-03-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * g++.dg/lto/pr89335_0.C: Require the linker plugin.
+
+2021-03-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99500
+       * g++.dg/cpp2a/concepts-err3.C: New test.
+
+2021-03-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/99502
+       * g++.dg/warn/Warray-bounds-22.C: New test.
+       * g++.dg/warn/Warray-bounds-23.C: New test.
+       * g++.dg/warn/Warray-bounds-24.C: New test.
+
+2021-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/99636
+       * gcc.dg/strlenopt-80.c: For powerpc*-*-*, only enable for lp64.
+
+2021-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/99626
+       * gcc.dg/strlenopt-73.c: Ifdef out test_copy_cond_unequal_length_i64
+       on targets other than x86, aarch64, s390 and 64-bit powerpc.  Use
+       test_copy_cond_unequal_length_i128 for __x86_64__ with int128 support
+       rather than __i386__.
+
+2021-03-18  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR testsuite/97680
+       * c-c++-common/zero-scratch-regs-10.c: Skip on arm
+
+2021-03-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR objc++/49070
+       * obj-c++.dg/pr49070.mm: New test.
+       * objc.dg/unnamed-parms.m: New test.
+
+2021-03-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * g++.target/aarch64/sve/aarch64-sve.exp: Add -moverride=tune=none to
+       sve_flags.
+       * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise.
+       * g++.target/aarch64/sve/acle/aarch64-sve-acle.exp: Likewise.
+       * gcc.target/aarch64/sve/aarch64-sve.exp: Likewise.
+       * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise.
+       * gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp: Likewise.
+
+2021-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98099
+       * gcc.dg/pr98099.c: Don't compile the test on pdp endian.
+       For big endian use -fsso-struct=little-endian dg-options.
+
+2021-03-17  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97973
+       * g++.dg/conversion/real-to-int1.C: New test.
+
+2021-03-17  Anthony Sharp  <anthonysharp15@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1z/using9.C: New using decl test.
+
+2021-03-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c-c++-common/asan/strncpy-overflow-1.c: Add _FORTIFY_SOURCE=0 and
+       -gdwarf-3 to the command line options. Adjust the expected line
+       numbers for the revised options header.
+
+2021-03-17  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c-c++-common/asan/memcmp-1.c: Add _FORTIFY_SOURCE=0 and
+       -gdwarf-3 to the command line options.  Provide Darwin-
+       specific match lines for the expected output.
+
+2021-03-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/acle/rng_2.c: New test.
+
+2021-03-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99504
+       * gcc.target/i386/pr99530-1.c: New test.
+       * gcc.target/i386/pr99530-2.c: Likewise.
+       * gcc.target/i386/pr99530-3.c: Likewise.
+       * gcc.target/i386/pr99530-4.c: Likewise.
+       * gcc.target/i386/pr99530-5.c: Likewise.
+       * gcc.target/i386/pr99530-6.c: Likewise.
+
+2021-03-16  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/99542
+       * gcc.dg/declare-simd.c (fn2): Expect a warning only under lp64.
+
+2021-03-16  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp2a/nontype-float1.C: New test.
+
+2021-03-16  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/98092
+       PR target/98092
+       * gcc.target/powerpc/pr98092.c: New.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99600
+       * gcc.target/i386/pr99600.c: New test.
+
+2021-03-16  Martin Liska  <mliska@suse.cz>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/99108
+       * g++.target/i386/pr99108.C: New test.
+
+2021-03-16  Martin Liska  <mliska@suse.cz>
+
+       PR target/99592
+       * gcc.target/arm/pr99592.c: New test.
+
+2021-03-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-asm-fprvrmem.c: New test.
+
+2021-03-16  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99496
+       * g++.dg/modules/pr99496_a.H: New.
+       * g++.dg/modules/pr99496_b.C: New.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99563
+       * gcc.target/i386/avx-pr99563.c: New test.
+
+2021-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99542
+       * gcc.dg/gomp/pr99542.c: New test.
+       * gcc.dg/gomp/pr59669-2.c (bar): Don't expect a warning on aarch64.
+       * gcc.dg/gomp/simd-clones-2.c (setArray): Likewise.
+       * g++.dg/vect/simd-clone-7.cc (bar): Likewise.
+       * g++.dg/gomp/declare-simd-1.C (f37): Expect a different warning
+       on aarch64.
+       * gcc.dg/declare-simd.c (fn2): Expect a new warning on aarch64.
+
+2021-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99601
+       * g++.dg/modules/builtin-3_a.C: Fix target selector syntax errors.
+       * g++.dg/modules/builtin-3_b.C: Likewise.
+
+2021-03-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99601
+       * g++.dg/modules/builtin-3_a.C: Fix lp64 x86 detection.
+       * g++.dg/modules/builtin-3_b.C: Fix lp64 x86 detection.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/99047
+       * g++.dg/coroutines/pr99047.C: New test.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98704
+       * g++.dg/coroutines/torture/pr98704.C: New test.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98480
+       * g++.dg/coroutines/pr98480.C: New test.
+       * g++.dg/coroutines/torture/co-await-24-for-init.C: New test.
+       * g++.dg/coroutines/torture/co-await-25-for-condition.C: New test.
+       * g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C: New test.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96749
+       * g++.dg/coroutines/pr96749-1.C: New test.
+       * g++.dg/coroutines/pr96749-2.C: New test.
+
+2021-03-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98834
+       * g++.dg/opt/pr98834.C: New testcase.
+
+2021-03-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/99345
+       * gfortran.dg/do_check_16.f90: New test.
+       * gfortran.dg/do_check_17.f90: New test.
+
+2021-03-15  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99545
+       * gfortran.dg/pr99545.f90: New test.
+
+2021-03-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pr99492.c: Fix typo.
+
+2021-03-14  Harald Anlauf  <anlauf@gmx.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       * gfortran.dg/pr99112.f90: New test.
+
+2021-03-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/99489
+       * gcc.dg/Wstringop-truncation-9.c: New test.
+
+2021-03-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99125
+       * gfortran.dg/alloc_deferred_comp_1.f90: New test.
+
+2021-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99544
+       * gcc.dg/gomp/pr99544.c: New test.
+
+2021-03-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99238
+       * g++.dg/modules/pr99238.h: New.
+       * g++.dg/modules/pr99238_a.H: New.
+       * g++.dg/modules/pr99238_b.H: New.
+
+2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99514
+       * gfortran.dg/gomp/threadprivate-1.f90: New test.
+
+2021-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * gcc.target/i386/avx512vl-pr99321-2.c: New test.
+
+2021-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99507
+       * g++.dg/cpp2a/consteval19.C: New test.
+
+2021-03-11  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/96374
+       * gcc.dg/analyzer/dot-output.c: Add -fdump-analyzer-feasibility
+       to options.
+       * gcc.dg/analyzer/feasibility-1.c (test_6): Remove xfail.
+       (test_7): New.
+       * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: Remove xfail.
+       * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: Remove xfails.
+       * gcc.dg/analyzer/pr93355-localealias-feasibility.c: Remove
+       -fno-analyzer-feasibility from options.
+       * gcc.dg/analyzer/pr93355-localealias.c: Likewise.
+       * gcc.dg/analyzer/unknown-fns-4.c: Remove xfail.
+
+2021-03-11  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99248
+       * g++.dg/modules/pr99248.h: New.
+       * g++.dg/modules/pr99248_a.H: New.
+       * g++.dg/modules/pr99248_b.H: New.
+
+2021-03-11  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99528
+       * g++.dg/modules/pr99528.h: New.
+       * g++.dg/modules/pr99528_a.H: New.
+       * g++.dg/modules/pr99528_b.H: New.
+       * g++.dg/modules/pr99528_c.C: New.
+
+2021-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98245
+       * gcc.dg/vect/bb-slp-46.c: Scan for the scalar compute
+       instead of verifying the total number of adds.
+
+2021-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97494
+       * gcc.dg/vect/pr97428.c: XFAIL on !vect_hw_misalign.
+
+2021-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97494
+       * gcc.dg/vect/vect-complex-5.c: XFAIL on !vect_hw_misalign.
+
+2021-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97494
+       * gcc.dg/vect/slp-21.c: Adjust for powerpc64*-*-*.
+
+2021-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/99517
+       * gcc.target/i386/avx2-pr99517-1.c: New test.
+       * gcc.target/i386/avx2-pr99517-2.c: New test.
+
+2021-03-10  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/99492
+       * gcc.target/powerpc/pr99492.c: New testcase.
+
+2021-03-10  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99205
+       * gfortran.dg/data_char_4.f90: New test.
+       * gfortran.dg/data_char_5.f90: New test.
+
+2021-03-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * gcc.target/powerpc/pr98959.c: Add int128 and lp64 selectors.
+
+2021-03-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99423
+       * g++.dg/modules/pr99423_a.H: New.
+       * g++.dg/modules/pr99423_b.H: New.
+
+2021-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99305
+       PR testsuite/99498
+       * g++.dg/opt/pr99305.C: Don't expect cast to unsigned char on
+       unsigned_char effective targets.
+
+2021-03-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99508
+       * g++.dg/ext/pr99508.C: New.
+
+2021-03-10  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR testsuite/99292
+       * lib/target-supports.exp (check_effective_target_lra): New.
+       * gcc.c-torture/compile/asmgoto-2.c: Use LRA target selector.
+       * gcc.c-torture/compile/asmgoto-5.c: Likewise.
+       * gcc.c-torture/compile/pr98096.c: Likewise.
+       * gcc.dg/pr97954.c: Likewise.
+
+2021-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/pr94047.c: Remove "-Wno-analyzer-too-complex".
+       * gcc.dg/analyzer/zlib-2.c: Likewise.
+
+2021-03-10  Joel Hutton  <joel.hutton@arm.com>
+
+       * gcc.dg/vect/pr99102.c: Fix target selector.
+
+2021-03-10  Joel Hutton  <joel.hutton@arm.com>
+
+       PR target/99102
+       * gcc.dg/vect/pr99102.c: New test.
+
+2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/specs/lto25.ads: New test.
+
+2021-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99305
+       * g++.dg/opt/pr99305.C: New test.
+
+2021-03-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * lib/target-supports.exp (check_effective_target_powerpc_sqrt): New.
+       (check_effective_target_sqrt_insn): Use it.
+
+2021-03-09  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99454
+       * gcc.target/i386/pr99454.c: New.
+
+2021-03-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/array-quals-1.c: Pass -fno-pie if supported.
+       * gcc.dg/loop-9.c: Likewise.
+       * gfortran.dg/pr95690.f90: Replace *-*-solaris* with sparc*-*-*.
+       * gnat.dg/opt39.adb: Pass --param option for Aarch64 too.
+
+2021-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/98920
+       * c-c++-common/asan/pr98920.c: Only include regex.h if the header
+       exists.  If REG_STARTEND macro isn't defined, just return 0 from main
+       instead of the actual test.
+
+2021-03-09  Martin Liska  <mliska@suse.cz>
+
+       PR target/99464
+       * gcc.target/i386/pr99464.c: New test.
+
+2021-03-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * gcc.target/powerpc/undef-bool-2.c: Add
+       dg-require-effective-target powerpc_vsx_ok directive.
+       * g++.dg/ext/undef-bool-1.C: Add dg-require-effective-target
+       powerpc_vsx_ok directive.
+
+2021-03-08  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/49278
+       * gfortran.dg/parameter_data.f90: New test.
+
+2021-03-08  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98266
+       * g++.dg/warn/Warray-bounds-15.C: New test.
+       * g++.dg/warn/Warray-bounds-18.C: New test.
+       * g++.dg/warn/Warray-bounds-19.C: New test.
+       * g++.dg/warn/Warray-bounds-20.C: New test.
+       * g++.dg/warn/Warray-bounds-21.C: New test.
+
+2021-03-08  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97631
+       * c-c++-common/Wstringop-overflow.c: Remove unexpected warnings.
+       Add an xfail.
+       * c-c++-common/Wstringop-truncation.c: Add expected warnings.
+       * gcc.dg/Wstringop-overflow-10.c: Also enable -Wstringop-truncation.
+       * gcc.dg/Wstringop-overflow-66.c: New test.
+       * gcc.dg/tree-ssa/strncpy-2.c: Adjust expected warning.
+
+2021-03-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96268
+       * g++.dg/cpp2a/nontype-class41.C: New test.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99436
+       * g++.dg/modules/modules.exp (MOD_STD_LIST): Add 2b.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr99468.H: New.
+
+2021-03-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/98959
+       * gcc.target/powerpc/pr98959.c: New test.
+
+2021-03-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99285
+       * g++.dg/modules/pr99285_a.H: New.
+       * g++.dg/modules/pr99285_b.H: New.
+
+2021-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/99437
+       * gcc.target/aarch64/simd/pr99437.c: New test.
+
+2021-03-08  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/98920
+       * c-c++-common/asan/pr98920.c: New test.
+
+2021-03-08  Martin Liska  <mliska@suse.cz>
+
+       PR target/99463
+       * gcc.target/i386/pr99463-2.c: New test.
+       * gcc.target/i386/pr99463.c: New test.
+
+2021-03-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-asm-commutative.c: New
+       test.
+       * gcc.target/s390/vector/long-double-asm-earlyclobber.c: New
+       test.
+       * gcc.target/s390/vector/long-double-asm-in-out.c: New test.
+       * gcc.target/s390/vector/long-double-asm-inout.c: New test.
+       * gcc.target/s390/vector/long-double-asm-matching.c: New test.
+       * gcc.target/s390/vector/long-double-asm-regmem.c: New test.
+       * gcc.target/s390/vector/long-double-volatile-from-i64.c: New
+       test.
+
+2021-03-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/97927
+       * gfortran.dg/module_variable_3.f90: New test.
+
+2021-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * lib/target-supports.exp
+       (check_effective_target_assembler_march_noavx512bw): New effective
+       target.
+       * gcc.target/i386/avx512vl-pr99321-1.c: New test.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99287
+       * g++.dg/cpp2a/constexpr-99287.C: New test.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96330
+       * g++.dg/cpp1y/var-templ68.C: New test.
+       * g++.dg/cpp1y/var-templ68a.C: New test.
+
+2021-03-06  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99365
+       * g++.dg/cpp2a/concepts-partial-spec9.C: New test.
+       * g++.dg/cpp2a/concepts-placeholder4.C: New test.
+
+2021-03-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/pr93372-1.c: Adjust expected assembler result
+       to allow an eliminated stack-frame.
+
+2021-03-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99374
+       * g++.dg/cpp1z/noexcept-type23.C: New test.
+
+2021-03-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99120
+       * g++.dg/warn/Wshadow-17.C: New test.
+
+2021-03-05  Jason Merrill  <jason@redhat.com>
+
+       PR c/99363
+       * gcc.dg/attr-flatten-1.c: Adjust.
+
+2021-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99322
+       * c-c++-common/gomp/pr99322.c: New test.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99245
+       * g++.dg/modules/pr99245_a.H: New.
+       * g++.dg/modules/pr99245_b.H: New.
+
+2021-03-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR libfortran/99218
+       * gfortran.dg/matmul_21.f90: New test.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99377
+       * g++.dg/modules/pr99377_a.H: New.
+       * g++.dg/modules/pr99377_b.C: New.
+       * g++.dg/modules/pr99377_c.C: New.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/98118
+       * g++.dg/coroutines/pr98118.C: New test.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95616
+       * g++.dg/coroutines/pr95616-0-no-exceptions.C: New test.
+       * g++.dg/coroutines/pr95616-0.C: New test.
+       * g++.dg/coroutines/pr95616-1-no-exceptions.C: New test.
+       * g++.dg/coroutines/pr95616-1.C: New test.
+       * g++.dg/coroutines/pr95616-2.C: New test.
+       * g++.dg/coroutines/pr95616-3-no-exceptions.C: New test.
+       * g++.dg/coroutines/pr95616-3.C: New test.
+       * g++.dg/coroutines/pr95616-4.C: New test.
+       * g++.dg/coroutines/pr95616-5.C: New test.
+       * g++.dg/coroutines/pr95616-6.C: New test.
+
+2021-03-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95615
+       * g++.dg/coroutines/torture/pr95615-01.C: New test.
+       * g++.dg/coroutines/torture/pr95615-02.C: New test.
+       * g++.dg/coroutines/torture/pr95615-03.C: New test.
+       * g++.dg/coroutines/torture/pr95615-04.C: New test.
+       * g++.dg/coroutines/torture/pr95615-05.C: New test.
+       * g++.dg/coroutines/torture/pr95615.inc: New file.
+
+2021-03-05  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/99378
+       * gcc.target/i386/pr99123-2.c: New.
+
+2021-03-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99389
+       * g++.dg/modules/pr99389_a.H: New.
+       * g++.dg/modules/pr99389_b.C: New.
+       * g++.dg/modules/pr99389_c.C: New.
+
+2021-03-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR c/99137
+       * c-c++-common/goacc/asyncwait-1.c: Update dg-error; add
+       additional test.
+
+2021-03-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/real4-10-real8-10.f90: Add check for real literals
+       with '_kind' number.
+       * gfortran.dg/real4-10-real8-16.f90: Likewise.
+       * gfortran.dg/real4-10-real8-4.f90: Likewise.
+       * gfortran.dg/real4-10.f90: Likewise.
+       * gfortran.dg/real4-16-real8-10.f90: Likewise.
+       * gfortran.dg/real4-16-real8-16.f90: Likewise.
+       * gfortran.dg/real4-16-real8-4.f90: Likewise.
+       * gfortran.dg/real4-16.f90: Likewise.
+       * gfortran.dg/real4-8-real8-10.f90: Likewise.
+       * gfortran.dg/real4-8-real8-16.f90: Likewise.
+       * gfortran.dg/real4-8-real8-4.f90: Likewise.
+       * gfortran.dg/real4-8.f90: Likewise.
+       * gfortran.dg/real8-10.f90: Likewise.
+       * gfortran.dg/real8-16.f90: Likewise.
+       * gfortran.dg/real8-4.f90: Likewise.
+
+2021-03-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR debug/66668
+       * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: xfail for cris-*-*
+
+2021-03-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * lib/prune.exp: Prune useless output caused by a linker bug.
+
+2021-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/93235
+       * gcc.target/aarch64/pr93235.c: New test.
+
+2021-03-04  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/99105
+       * gcc.dg/tree-prof/indir-call-prof-malloc.c: Use profile
+       correction as the wrapped malloc is called one more time
+       from libgcov.
+       * gcc.dg/tree-prof/pr97461.c: Likewise.
+
+2021-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/88146
+       PR c++/99362
+       * g++.dg/cpp2a/nodiscard-constructor.c: Renamed to ...
+       * g++.dg/cpp2a/nodiscard-constructor1.C: ... this.  Remove
+       -ftrack-macro-expansion=0 from dg-options.  Don't use (?n) in
+       dg-warning regexps, instead replace .* with \[^\n\r]*.
+       * g++.dg/cpp2a/nodiscard-constructor2.C: New test.
+       * g++.dg/cpp2a/nodiscard-reason-only-one.C: Remove
+       -ftrack-macro-expansion=0 from dg-options.
+       * g++.dg/cpp2a/nodiscard-reason-nonstring.C: Likewise.
+       * g++.dg/cpp2a/nodiscard-once.C: Likewise.
+
+2021-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99325
+       * gcc.dg/cpp/line11.c: New test.
+       * gcc.dg/cpp/line12.c: New test.
+
+2021-03-04  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/99381
+       * gcc.target/aarch64/pr99381.c: New test.
+
+2021-03-04  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/mul-signed-overflow-1.c: Compile on old
+       machines.
+       * gcc.target/s390/mul-signed-overflow-2.c: Likewise.
+
+2021-03-04  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99170
+       * g++.dg/modules/pr99170-1_a.H: New.
+       * g++.dg/modules/pr99170-1_b.C: New.
+       * g++.dg/modules/pr99170-2.h: New.
+       * g++.dg/modules/pr99170-2_a.C: New.
+       * g++.dg/modules/pr99170-2_b.C: New.
+       * g++.dg/modules/pr99170-3_a.H: New.
+       * g++.dg/modules/pr99170-3_b.C: New.
+       * g++.dg/modules/inst-2_b.C: Adjust scan.
+       * g++.dg/modules/inst-4_a.C: Adjust scan.
+       * g++.dg/modules/inst-4_b.C: Adjust scan.
+       * g++.dg/modules/member-def-1_b.C: Adjust scan.
+       * g++.dg/modules/member-def-1_c.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-1_a.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-1_b.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-2_b.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-2_c.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-2_d.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-3_a.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-3_b.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-4_a.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-4_b.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-5_a.C: Adjust scan.
+       * g++.dg/modules/tpl-spec-5_b.C: Adjust scan.
+
+2021-03-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99355
+       * gfortran.dg/real4-10-real8-10.f90: New test.
+       * gfortran.dg/real4-10-real8-16.f90: New test.
+       * gfortran.dg/real4-10-real8-4.f90: New test.
+       * gfortran.dg/real4-10.f90: New test.
+       * gfortran.dg/real4-16-real8-10.f90: New test.
+       * gfortran.dg/real4-16-real8-16.f90: New test.
+       * gfortran.dg/real4-16-real8-4.f90: New test.
+       * gfortran.dg/real4-16.f90: New test.
+       * gfortran.dg/real4-8-real8-10.f90: New test.
+       * gfortran.dg/real4-8-real8-16.f90: New test.
+       * gfortran.dg/real4-8-real8-4.f90: New test.
+       * gfortran.dg/real4-8.f90: New test.
+       * gfortran.dg/real8-10.f90: New test.
+       * gfortran.dg/real8-16.f90: New test.
+       * gfortran.dg/real8-4.f90: New test.
+
+2021-03-04  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.misc-tests/outputs.exp: Enumerate tests.
+
+2021-03-04  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.misc-tests/outputs.exp: Append discriminating
+       suffixes to tests with duplicate names.
+       (outest): Assert that each running test has a unique
+       name.
+
+2021-03-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96963
+       PR middle-end/94655
+       * gcc.dg/Wstringop-overflow-47.c: Xfail tests.
+       * gcc.dg/Wstringop-overflow-65.c: New test.
+       * gcc.dg/Warray-bounds-69.c: Same.
+
+2021-03-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96474
+       * g++.dg/cpp1z/class-deduction83.C: New test.
+
+2021-03-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vcvt_fXX_fXX.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vcvtx.c:
+       New test.
+
+2021-03-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vmovn_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vqmovn_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vqmovun_high.c:
+       New test.
+
+2021-03-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vrshrn_high_n.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vshrn_high_n.c:
+       New test.
+
+2021-03-03  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vXXXhn_high.inc:
+       New test template.
+       * gcc.target/aarch64/advsimd-intrinsics/vaddhn_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vraddhn_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vrsubhn_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vsubhn_high.c:
+       New test.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82959
+       * g++.dg/cpp1z/eval-order10.C: New test.
+
+2021-03-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97034
+       PR c++/99009
+       * g++.dg/cpp1z/class-deduction81.C: New test.
+       * g++.dg/cpp1z/class-deduction82.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr8.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr9.C: New test.
+       * g++.dg/cpp2a/class-deduction-aggr10.C: New test.
+
+2021-03-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95675
+       * g++.dg/cpp0x/decltype-call5.C: New test.
+       * g++.dg/cpp0x/decltype-call6.C: New test.
+
+2021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/pr95798-1.c: Add -fomit-frame-pointer to
+       dg-options.
+       * gcc.target/i386/pr95798-2.c: Likewise.
+
+2021-03-03  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99344
+       * g++.dg/modules/namespace-2_a.C
+       * g++.dg/modules/pr99344_a.C
+       * g++.dg/modules/pr99344_b.C
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99321
+       * gcc.target/i386/pr99321.c: New test.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99324
+       * gcc.c-torture/compile/pr99324.c: New test.
+
+2021-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99085
+       * gcc.dg/graphite/pr99085.c: New test.
+
+2021-03-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96078
+       * g++.dg/ext/attr-flatten1.C: New test.
+
+2021-03-02  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.misc-tests/outputs.exp: Skip @file -save-temps
+       tests if target test-framework has -L or -I options.
+
+2021-03-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/99323
+       * gcc.dg/pr99323-1.c: New test.
+       * gcc.dg/pr99323-2.c: New test.
+
+2021-03-02  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/99251
+       * g++.dg/warn/Wnonnull9.C: Expect no warnings.
+       * g++.dg/warn/Wnonnull12.C: New test.
+
+2021-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/limited5.adb: New test.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96443
+       PR c++/96960
+       * g++.dg/concepts/abbrev9.C: New test.
+       * g++.dg/cpp2a/concepts-lambda15.C: New test.
+       * g++.dg/cpp2a/concepts-placeholder3.C: New test.
+       * g++.dg/cpp2a/concepts-return-req2.C: New test.
+       * g++.dg/cpp2a/concepts-ts1.C: Add dg-bogus directive to the
+       call to f15 that we expect to accept.
+
+2021-03-02  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp1z/auto1.C: New test.
+
+2021-03-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/zvector/vec-nnpa-fp16-convert.c: New test.
+       * gcc.target/s390/zvector/vec-nnpa-fp32-convert-1.c: New test.
+       * gcc.target/s390/zvector/vec_convert_from_fp16.c: New test.
+       * gcc.target/s390/zvector/vec_convert_to_fp16.c: New test.
+       * gcc.target/s390/zvector/vec_extend_to_fp32_hi.c: New test.
+       * gcc.target/s390/zvector/vec_extend_to_fp32_lo.c: New test.
+       * gcc.target/s390/zvector/vec_round_from_fp32.c: New test.
+
+2021-03-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * lib/target-supports.exp: Add check for nnpa facility.
+
+2021-03-02  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.target/s390/mul-signed-overflow-1.c: Run only on z14.
+       * gcc.target/s390/mul-signed-overflow-2.c: Run only on z14.
+
+2021-03-01  Martin Liska  <mliska@suse.cz>
+
+       PR target/99313
+       * gcc.target/s390/target-attribute/pr99313.c: New test.
+
+2021-03-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99294
+       * g++.dg/modules/pr99294.h: New.
+       * g++.dg/modules/pr99294_a.C: New.
+       * g++.dg/modules/pr99294_b.C: New.
+
+2021-03-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * g++.dg/eh/seh-xmm-unwind.C: New test.
+
+2021-02-28  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/pr94879-folly-1.C: Make final suspend
+       expression components noexcept.
+       * g++.dg/coroutines/pr94883-folly-2.C: Likewise.
+       * g++.dg/coroutines/pr95345.C: Likewise.
+
+2021-02-28  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/ext/attr-lambda3.C: Add missing ;
+
+2021-02-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90333
+       * g++.dg/ext/attr-lambda3.C: New test.
+
+2021-02-26  Alexandre Oliva  <oliva@gnu.org>
+
+       * gcc.target/powerpc/pr67789.c: Revert fpic target requirement
+       duplication.
+       * gcc.target/powerpc/pr83629.c: Likewise.
+       * gcc.target/powerpc/pr84112.c: Likewise.
+
+2021-02-26  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.target/powerpc/compress-float-ppc-pic.c: Add
+       dg-require-effective-target fpic.
+       * gcc.target/powerpc/ppc-eabi.c: Likewise.
+       * gcc.target/powerpc/pr26350.c: Likewise.
+       * gcc.target/powerpc/pr67789.c: Likewise.
+       * gcc.target/powerpc/pr79439-1.c: Likewise.
+       * gcc.target/powerpc/pr79439-2.c: Likewise.
+       * gcc.target/powerpc/pr79439-3.c: Likewise.
+       * gcc.target/powerpc/pr83629.c: Likewise.
+       * gcc.target/powerpc/pr84112.c: Likewise.
+
+2021-02-26  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99281
+       * g++.dg/pr99218.C: New testcase.
+
+2021-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/cpp23/lambda-specifiers1.C: New test.
+
+2021-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/95451
+       * g++.dg/cpp1y/lambda-generic-95451.C: New test.
+
+2021-02-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98810
+       * g++.dg/cpp2a/nontype-class-defarg1.C: New test.
+
+2021-02-26  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * gcc.target/powerpc/pcrel-opt-inc-di.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-df.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-di.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-hi.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-qi.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-sf.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-si.c: New test.
+       * gcc.target/powerpc/pcrel-opt-ld-vector.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-df.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-di.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-hi.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-qi.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-sf.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-si.c: New test.
+       * gcc.target/powerpc/pcrel-opt-st-vector.c: New test.
+
+2021-02-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98990
+       * g++.dg/concepts/abbrev8.C: New test.
+
+2021-02-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99213
+       PR c++/94521
+       * g++.dg/diagnostic/local1.C: New test.
+
+2021-02-25  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99103
+       * g++.dg/cpp1z/class-deduction79.C: New test.
+       * g++.dg/cpp1z/class-deduction80.C: New test.
+
+2021-02-25  Marek Polacek  <polacek@redhat.com>
+
+       DR 1312
+       PR c++/99176
+       * g++.dg/cpp0x/constexpr-nullptr-2.C: Adjust dg-error.
+       * g++.dg/cpp0x/constexpr-cast2.C: New test.
+       * g++.dg/cpp0x/constexpr-cast3.C: New test.
+
+2021-02-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/97587
+       * g++.dg/coroutines/coro1-refs-and-ctors.h: Add a CTOR with two
+       reference parms, to distinguish the rvalue ref. variant.
+       * g++.dg/coroutines/pr97587.C: New test.
+
+2021-02-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95822
+       * g++.dg/coroutines/pr95822.C: New test.
+
+2021-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       * gcc.target/arm/cmse/cmse-18.c: New test.
+
+2021-02-25  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99166
+       * g++.dg/modules/pr99166_a.X: Adjust.
+       * g++.dg/modules/pr99166_b.C: Adjust.
+       * g++.dg/modules/pr99166_c.C: Adjust.
+       * g++.dg/modules/pr99166_d.C: Adjust.
+
+2021-02-25  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gfortran.dg/pr95690.f90: CRIS error appears on line 5.
+
+2021-02-25  Tamar Christina  <tamar.christina@arm.com>
+
+       * g++.dg/vect/simd-complex-num-null-node.cc: New test.
+
+2021-02-25  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR testsuite/99233
+       * gcc.target/powerpc/pr96264.c: Run it only for powerpc64le.
+
+2021-02-25  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR middle-end/97172
+       * gcc.dg/pr97172-2.c: Add dg-require-effective-target shared.
+
+2021-02-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99253
+       * gcc.dg/vect/pr99253.c: New testcase.
+
+2021-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95798
+       * gcc.target/i386/pr95798-1.c: New test.
+       * gcc.target/i386/pr95798-2.c: New test.
+
+2021-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/80635
+       * g++.dg/warn/pr80635-1.C: New test.
+       * g++.dg/warn/pr80635-2.C: New test.
+
+2021-02-25  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99193
+       * gcc.dg/analyzer/pr99193-1.c: New test.
+       * gcc.dg/analyzer/pr99193-2.c: New test.
+       * gcc.dg/analyzer/pr99193-3.c: New test.
+       * gcc.dg/analyzer/realloc-1.c: New test.
+
+2021-02-24  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98718
+       * g++.dg/modules/pr98718_a.C: New.
+       * g++.dg/modules/pr98718_b.C: New.
+
+2021-02-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * g++.dg/coroutines/co-await-void_type.C: Mark promise
+       final_suspend call as noexcept.
+       * g++.dg/coroutines/co-return-syntax-08-bad-return.C: Likewise.
+       * g++.dg/coroutines/co-return-syntax-10-movable.C: Likewise.
+       * g++.dg/coroutines/co-return-warning-1.C: Likewise.
+       * g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: Likewise.
+       * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: Likewise.
+       * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: Likewise.
+       * g++.dg/coroutines/coro-missing-gro.C: Likewise.
+       * g++.dg/coroutines/coro-missing-promise-yield.C: Likewise.
+       * g++.dg/coroutines/coro-missing-ret-value.C: Likewise.
+       * g++.dg/coroutines/coro-missing-ret-void.C: Likewise.
+       * g++.dg/coroutines/coro-missing-ueh.h: Likewise.
+       * g++.dg/coroutines/coro1-allocators.h: Likewise.
+       * g++.dg/coroutines/coro1-refs-and-ctors.h: Likewise.
+       * g++.dg/coroutines/coro1-ret-int-yield-int.h: Likewise.
+       * g++.dg/coroutines/pr94682-preview-this.C: Likewise.
+       * g++.dg/coroutines/pr94752.C: Likewise.
+       * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: Likewise.
+       * g++.dg/coroutines/pr94879-folly-1.C: Likewise.
+       * g++.dg/coroutines/pr94883-folly-2.C: Likewise.
+       * g++.dg/coroutines/pr95050.C: Likewise.
+       * g++.dg/coroutines/pr95345.C: Likewise.
+       * g++.dg/coroutines/pr95440.C: Likewise.
+       * g++.dg/coroutines/pr95591.C: Likewise.
+       * g++.dg/coroutines/pr95711.C: Likewise.
+       * g++.dg/coroutines/pr95813.C: Likewise.
+       * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise.
+       * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise.
+       * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise.
+       * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Likewise.
+       * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise.
+       * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise.
+       * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: Likewise.
+       * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise.
+       * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise.
+       * g++.dg/coroutines/torture/func-params-04.C: Likewise.
+       * g++.dg/coroutines/torture/local-var-06-structured-binding.C: Likewise.
+       * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Likewise.
+
+2021-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/99226
+       * c-c++-common/gomp/pr99226.c: New test.
+       * gfortran.dg/gomp/pr99226.f90: New test.
+
+2021-02-24  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/99123
+       * gcc.target/i386/pr99123.c: New.
+
+2021-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.dg/stack-usage-1.c: Adjust for CRIS.
+
+2021-02-24  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99072
+       * g++.dg/modules/pr99072.H: New.
+
+2021-02-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98342
+       * gfortran.dg/assumed_rank_21.f90 : New test.
+
+2021-02-24  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97172
+       * gcc.dg/pr97172-2.c: New test.
+
+2021-02-24  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99220
+       * g++.dg/vect/pr99220.cc: New test.
+
+2021-02-24  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99149
+       * g++.dg/vect/pr99149.cc: Disabled on BE.
+
+2021-02-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96251
+       * g++.dg/coroutines/pr96251.C: New test.
+
+2021-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99225
+       * gcc.c-torture/compile/pr99225.c: New test.
+
+2021-02-24  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/99149
+       * g++.dg/vect/pr99149.cc: New test.
+
+2021-02-24  Richard Biener  <rguenther@suse.de>
+
+       PR c/99224
+       * gcc.dg/pr99224.c: New testcase.
+
+2021-02-23  Peter Bergner  <bergner@linux.ibm.com>
+
+       * gcc.target/powerpc/mma-builtin-4.c: Add tests for
+       __builtin_vsx_assemble_pair and __builtin_vsx_disassemble_pair.
+       Add __has_builtin tests for built-ins.
+       Update expected instruction counts.
+
+2021-02-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/99074
+       * g++.dg/warn/Wnonnull11.C: New test.
+
+2021-02-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99124
+       * gfortran.dg/class_defined_operator_2.f03 : New test.
+       * gfortran.dg/elemental_result_2.f90 : New test.
+       * gfortran.dg/class_assign_4.f90: Correct the non-conforming
+       elemental function with an allocatable result with an operator
+       interface with array dummies and result.
+
+2021-02-23  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/99206
+       * gfortran.dg/reshape_zerosize_4.f90: New test.
+
+2021-02-23  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99208
+       * g++.dg/modules/pr99208_a.C: New.
+       * g++.dg/modules/pr99208_b.C: New.
+
+2021-02-23  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/99168
+       * c-c++-common/asan/pr99168.c: New test.
+
+2021-02-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95468
+       * g++.dg/template/non-dependent15.C: New test.
+
+2021-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99204
+       * gfortran.dg/pr99204.f90: New test.
+
+2021-02-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * gcc.target/powerpc/vec-init-10.c: New test.
+
+2021-02-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       * g++.dg/warn/Wplacement-new-size-1.C,
+       g++.dg/warn/Wplacement-new-size-2.C,
+       g++.dg/warn/Wplacement-new-size-6.C: Adjust for
+       default_packed targets.
+
+2021-02-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/99196
+       * gcc.dg/analyzer/error-1.c: New test.
+       * gcc.dg/analyzer/error-2.c: New test.
+       * gcc.dg/analyzer/error-3.c: New test.
+
+2021-02-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR testsuite/99173
+       * c-c++-common/attr-retain-5.c: Require R_flag_in_section.
+       * c-c++-common/attr-retain-6.c: Likewise.
+       * c-c++-common/attr-retain-7.c: Likewise.
+       * c-c++-common/attr-retain-8.c: Likewise.
+       * c-c++-common/attr-retain-9.c: Likewise.
+
+2021-02-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/sve/cse_sve_vl_constants_1.c: New test.
+
+2021-02-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * g++.dg/warn/Warray-bounds-10.C, g++.dg/warn/Warray-bounds-11.C,
+       g++.dg/warn/Warray-bounds-12.C, g++.dg/warn/Warray-bounds-13.C:
+       Handle __INT32_TYPE__ being "long int".
+
+2021-02-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/biap.c: Add a Y+=X*2 to the Y+=X*4.
+
+2021-02-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/biap-mul.c: New test.
+
+2021-02-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.target/cris/torture/sync-reload-mul-1.c: New test.
+
+2021-02-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99174
+       * g++.dg/modules/pr99174-1_a.C: New.
+       * g++.dg/modules/pr99174-1_b.C: New.
+       * g++.dg/modules/pr99174-1_c.C: New.
+       * g++.dg/modules/pr99174.H: New.
+
+2021-02-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99153
+       * g++.dg/modules/pr99153_a.H: New.
+       * g++.dg/modules/pr99153_b.H: New.
+
+2021-02-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR rtl-optimization/98791
+       * gcc.target/aarch64/sve/pr98791.c: New test.
+
+2021-02-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99165
+       * g++.dg/pr99165.C: New testcase.
+
+2021-02-21  Harald Anlauf  <anlauf@gmx.de>
+
+       * gfortran.dg/intent_optimize_3.f90: New test.
+
+2021-02-20  David Edelsohn  <dje.gcc@gmail.com>
+
+       * c-c++-common/attr-retain-5.c: Skip on AIX.
+       * c-c++-common/attr-retain-6.c: Same.
+       * c-c++-common/attr-retain-7.c: Same.
+       * c-c++-common/attr-retain-8.c: Same.
+       * c-c++-common/attr-retain-9.c: Same.
+
+2021-02-20  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR target/99134
+       * gcc.target/s390/vector/long-double-from-decimal128.c: New test.
+       * gcc.target/s390/vector/long-double-from-decimal32.c: New test.
+       * gcc.target/s390/vector/long-double-from-decimal64.c: New test.
+       * gcc.target/s390/vector/long-double-to-decimal128.c: New test.
+       * gcc.target/s390/vector/long-double-to-decimal32.c: New test.
+       * gcc.target/s390/vector/long-double-to-decimal64.c: New test.
+
+2021-02-19  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98741
+       * g++.dg/modules/pr98741_a.H: New.
+       * g++.dg/modules/pr98741_b.H: New.
+       * g++.dg/modules/pr98741_c.C: New.
+       * g++.dg/modules/pr98741_d.C: New.
+
+2021-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/98686
+       * gfortran.dg/namelist_4.f90: Modify.
+       * gfortran.dg/namelist_98.f90: New test.
+
+2021-02-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97172
+       * gcc.dg/pr97172.c: Add test cases.
+
+2021-02-19  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr99166_a.X: New.
+       * g++.dg/modules/pr99166_b.C: New.
+       * g++.dg/modules/pr99166_c.C: New.
+       * g++.dg/modules/pr99166_d.C: New.
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99010
+       * gfortran.dg/coarray/array_temporary-1.f90: New test.
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99146
+       * gfortran.dg/dtio_36.f90: New test.
+
+2021-02-19  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99122
+       * gcc.dg/pr99122-3.c: New testcase.
+
+2021-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98998
+       * gcc.target/arm/pure-code/pr98998.c: New test.
+
+2021-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/99034
+       * g++.dg/opt/pr99034.C: New test.
+
+2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99027
+       * gfortran.dg/ubound_1.f90: New test.
+
+2021-02-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/98657
+       * gcc.target/aarch64/sve/pr98657.c: New test.
+
+2021-02-19  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/decltype64.C: Change argument to const&.
+
+2021-02-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/99126
+       * jit.dg/test-trap.c: New test.
+
+2021-02-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96926
+       * g++.dg/cpp0x/overload4.C: New test.
+
+2021-02-18  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/96264
+       * gcc.target/powerpc/pr96264.c: New.
+
+2021-02-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/99113
+       * c-c++-common/attr-retain-1.c: New test.
+       * c-c++-common/attr-retain-2.c: Likewise.
+       * c-c++-common/attr-retain-3.c: Likewise.
+       * c-c++-common/attr-retain-4.c: Likewise.
+       * c-c++-common/attr-retain-5.c: Likewise.
+       * c-c++-common/attr-retain-6.c: Likewise.
+       * c-c++-common/attr-retain-7.c: Likewise.
+       * c-c++-common/attr-retain-8.c: Likewise.
+       * c-c++-common/attr-retain-9.c: Likewise.
+       * c-c++-common/pr99113.c: Likewise.
+       * gcc.c-torture/compile/attr-retain-1.c: Likewise.
+       * gcc.c-torture/compile/attr-retain-2.c: Likewise.
+       * c-c++-common/attr-used.c: Don't expect SHF_GNU_RETAIN section.
+       * c-c++-common/attr-used-2.c: Likewise.
+       * c-c++-common/attr-used-3.c: Likewise.
+       * c-c++-common/attr-used-4.c: Likewise.
+       * c-c++-common/attr-used-9.c: Likewise.
+       * gcc.c-torture/compile/attr-used-retain-1.c: Likewise.
+       * gcc.c-torture/compile/attr-used-retain-2.c: Likewise.
+       * c-c++-common/attr-used-5.c: Don't expect warning for the used
+       attribute nor SHF_GNU_RETAIN section.
+       * c-c++-common/attr-used-6.c: Likewise.
+       * c-c++-common/attr-used-7.c: Likewise.
+       * c-c++-common/attr-used-8.c: Likewise.
+
+2021-02-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * g++.dg/modules/modules.exp: Bail on cross-testing.  Add support
+       for .X files.
+       * g++.dg/modules/pr99023_a.X: New.
+       * g++.dg/modules/pr99023_b.X: New.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/99136
+       * gcc.dg/pr99136.c: New test.
+
+2021-02-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * g++.dg/modules/modules.exp: Remove dg-module-headers support
+       * g++.dg/modules/alias-2_a.H: Delete.
+       * g++.dg/modules/sys/alias-2_a.H: Delete.
+
+2021-02-18  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99150
+       * g++.dg/modules/pr99023_a.H: Delete.
+       * g++.dg/modules/pr99023_b.H: Delete.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99132
+       * g++.dg/cpp2a/constexpr-virtual18.C: New test.
+
+2021-02-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/99122
+       * gcc.dg/pr99122-1.c: New testcase.
+       * gcc.dg/pr99122-2.c: Likewise.
+
+2021-02-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR tree-optimization/99142
+       * gcc.dg/tree-ssa/pr99142.c: New test.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99109
+       * g++.dg/warn/Warray-bounds-17.C: New test.
+
+2021-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99104
+       * gcc.dg/pr99104.c: New test.
+
+2021-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94596
+       * gcc.dg/analyzer/pr94596.c: New test.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99023
+       * g++.dg/modules/pr99023_a.H: New.
+       * g++.dg/modules/pr99023_b.H: New.
+
+2021-02-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98969
+       * g++.dg/analyzer/pr99064.C: Convert dg-bogus to dg-warning.
+       * gcc.dg/analyzer/pr96841.c: Add -Wno-analyzer-too-complex to
+       options.  Remove false leak directive.
+       * gcc.dg/analyzer/pr98969.c (test_1): Remove xfail from leak
+       false positive.
+       (test_3): New.
+
+2021-02-17  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/array-with-dt-2.f90: Remove expected errors.
+       * gfortran.dg/goacc/array-with-dt-6.f90: New test.
+       * gfortran.dg/goacc/mapping-tests-2.f90: Update expected error.
+       * gfortran.dg/goacc/ref_inquiry.f90: Update expected errors.
+       * gfortran.dg/gomp/ref_inquiry.f90: Likewise.
+
+2021-02-17  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/array-with-dt-1.f90: New test.
+       * gfortran.dg/goacc/array-with-dt-3.f90: Likewise.
+       * gfortran.dg/goacc/array-with-dt-4.f90: Likewise.
+       * gfortran.dg/goacc/array-with-dt-5.f90: Likewise.
+       * gfortran.dg/goacc/derived-chartypes-1.f90: Re-enable test.
+       * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise.
+       * gfortran.dg/goacc/derived-classtypes-1.f95: Uncomment
+       previously-broken directives.
+
+2021-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/99106
+       * g++.dg/ubsan/pr99106.C: New test.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99116
+       * g++.dg/lookup/pr99116-1.C: New.
+       * g++.dg/lookup/pr99116-2.C: New.
+
+2021-02-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99071
+       * g++.dg/modules/pr99071_a.H: New.
+       * g++.dg/modules/pr99071_b.H: New.
+
+2021-02-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR debug/96997
+       PR c++/94034
+       * g++.dg/cpp1y/constexpr-nsdmi7b.C:  Adjust expected location of
+       "call to non-'constexpr' function" error message.
+
+2021-02-16  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr99050_a.H: New.
+       * g++.dg/modules/pr99050_b.C: New.
+
+2021-02-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99062
+       * gcc.dg/attr-assume_aligned-4.c: Adjust dg-warning.
+       * g++.dg/ext/attr-assume-aligned.C: New test.
+
+2021-02-16  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * gcc.target/mips/compact-branches-5.c: Force -fno-PIC.
+       * gcc.target/mips/compact-branches-6.c: Force -fno-PIC.
+
+2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/ref_inquiry.f90: New test.
+       * gfortran.dg/gomp/ref_inquiry.f90: New test.
+
+2021-02-16  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR inline-asm/98096
+       * gcc.c-torture/compile/pr98096.c: New.
+
+2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99111
+       * gfortran.dg/fmt_nonchar_1.f90: New test.
+       * gfortran.dg/fmt_nonchar_2.f90: New test.
+
+2021-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99100
+       * gcc.target/i386/pr99100.c: New test.
+
+2021-02-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.misc-tests/outputs.exp (outest): Fix typo "is_target".
+
+2021-02-15  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/98872
+       * gcc.target/powerpc/pr98872.c: New test.
+
+2021-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99079
+       * gcc.dg/fold-modpow2-2.c: New test.
+       * gcc.c-torture/execute/pr99079.c: New test.
+
+2021-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98439
+       * gcc.target/i386/pr98439.c: New test.
+
+2021-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96166
+       * gcc.target/i386/pr96166.c: New test.
+
+2021-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/rtl/aarch64/multi-subreg-1.c: Add dg-do compile directive
+       and restrict the test to aarch64-*-* target only.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr99039_a.C: New.
+       * g++.dg/modules/pr99039_b.C: New.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99040
+       * g++.dg/modules/pr99040_a.C: New.
+       * g++.dg/modules/pr99040_b.C: New.
+       * g++.dg/modules/pr99040_c.C: New.
+       * g++.dg/modules/pr99040_d.C: New.
+
+2021-02-12  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99039
+       PR c++/99040
+       * g++.dg/lookup/pr99039.C: New.
+
+2021-02-12  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+
+       PR libfortran/95647
+       * gfortran.dg/ieee/ieee_12.f90: New test.
+
+2021-02-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/rtl/aarch64/multi-subreg-1.c: New test.
+
+2021-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/98931
+       * gcc.target/arm/pr98931.c: Add -mthumb
+
+2021-02-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/99043
+       * gfortran.dg/assumed_rank_20.f90: New test.
+
+2021-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97742
+       * g++.dg/cpp2a/concepts-requires24.C: New test.
+
+2021-02-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97246
+       * g++.dg/cpp2a/lambda-generic-variadic21.C: New test.
+
+2021-02-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98969
+       * g++.dg/analyzer/pr99064.C: New test.
+       * gcc.dg/analyzer/pr98969.c: New test.
+
+2021-02-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/95888
+       * g++.dg/template/deduce10.C: New test.
+       * g++.dg/template/deduce9.C: New test.
+
+2021-02-11  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/99041
+       * g++.target/powerpc/pr99041.C: New test.
+
+2021-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99033
+       * g++.dg/ext/flexary38.C: New test.
+
+2021-02-11  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99063
+       * g++.dg/cpp0x/variadic-crash6.C: New test.
+
+2021-02-11  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97582
+       * g++.dg/cpp0x/lambda/lambda-template17.C: New test.
+
+2021-02-11  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/98931
+       * gcc.target/arm/pr98931.c: New testcase.
+
+2021-02-11  Joel Hutton  <joel.hutton@arm.com>
+
+       PR tree-optimization/98772
+       * gcc.target/aarch64/pr98772.c: New test.
+
+2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98897
+       * gfortran.dg/typebound_call_32.f90: New test.
+
+2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/99060
+       * gfortran.dg/pr99060.f90: New test.
+
+2021-02-11  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/simd/vmmla_1.c: Pass -mfpu=auto.
+
+2021-02-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/98825
+       * gfortran.dg/dollar_edit_descriptor_4.f: New test.
+
+2021-02-10  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/92879
+       * g++.dg/warn/Warray-bounds-16.C: New test.
+
+2021-02-10  David Malcolm  <dmalcolm@redhat.com>
+
+       PR preprocessor/96391
+       * g++.dg/plugin/location-overflow-test-pr96391.c: New test.
+       * g++.dg/plugin/plugin.exp (plugin_test_list): Add it,
+       using the location_overflow_plugin.c from gcc.dg/plugin.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99035
+       * g++.dg/ext/weak6.C: New test.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99025
+       * gcc.target/i386/pr99025.c: New test.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98988
+       PR c++/99031
+       * g++.dg/cpp2a/constexpr-new16.C: New test.
+       * g++.dg/cpp2a/constexpr-new17.C: New test.
+
+2021-02-10  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99030
+       * g++.dg/lookup/pr99030.C: New.
+
+2021-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99007
+       * g++.dg/gomp/pr99007.C: New test.
+       * gcc.dg/gomp/pr99007-1.c: New test.
+       * gcc.dg/gomp/pr99007-2.c: New test.
+       * gcc.dg/gomp/pr99007-3.c: New test.
+
+2021-02-10  Julian Brown  <julian@codesourcery.com>
+
+       PR fortran/98979
+       * gfortran.dg/goacc/array-with-dt-2.f90: Add expected errors.
+       * gfortran.dg/goacc/derived-chartypes-1.f90: Skip ICEing test.
+       * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise.
+
+2021-02-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98575
+       * gcc.dg/analyzer/file-1.c (test_5): New.
+       * gcc.dg/analyzer/file-3.c: New test.
+
+2021-02-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98575
+       * gcc.dg/analyzer/explode-1.c: Remove expected leak warning.
+       * gcc.dg/analyzer/pr94851-2.c: New test.
+       * gcc.dg/analyzer/pr98575-1.c: New test.
+
+2021-02-09  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gcc.target/aarch64/asimd-mul-to-shl-sub.c: New test.
+
+2021-02-09  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vpXXXq.inc:
+       New test template.
+       * gcc.target/aarch64/advsimd-intrinsics/vpaddq.c: New test.
+
+2021-02-09  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98944
+       * g++.dg/modules/pr98944_a.C: New.
+       * g++.dg/modules/pr98944_b.C: New.
+       * g++.dg/modules/pr98944_c.C: New.
+       * g++.dg/modules/pr98944_d.C: New.
+
+2021-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98465
+       * g++.dg/warn/Wstringop-overread-1.C: New test.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96905
+       * g++.dg/cpp2a/consteval-expinst1.C: New test.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98326
+       * g++.dg/cpp1y/lambda-generic-empty1.C: New test.
+
+2021-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98994
+       * g++.dg/cpp2a/no_unique_address12.C: New test.
+
+2021-02-08  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/pr98531-2.h: New.
+       * g++.dg/modules/pr98531-2_a.H: New.
+       * g++.dg/modules/pr98531-2_b.C: New.
+       * g++.dg/modules/pr98531-3.h: New.
+       * g++.dg/modules/pr98531-3_a.H: New.
+       * g++.dg/modules/pr98531-3_b.C: New.
+
+2021-02-08  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98531
+       * g++.dg/modules/pr98531-1.h: New.
+       * g++.dg/modules/pr98531-1_a.H: New.
+       * g++.dg/modules/pr98531-1_b.C: New.
+       * g++.dg/abi/pr98531-1.C: New.
+       * g++.dg/abi/pr98531-2.C: New.
+       * g++.dg/abi/pr98531-3.C: New.
+       * g++.dg/abi/pr98531-4.C: New.
+
+2021-02-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR middle-end/98974
+       * gfortran.dg/pr98974.F90: New test.
+
+2021-02-08  Richard Biener  <rguenther@suse.de>
+
+       PR lto/96591
+       * g++.dg/lto/pr96591_0.C: New testcase.
+
+2021-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98947
+       * g++.dg/cpp2a/volatile5.C: New test.
+
+2021-02-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96462
+       * g++.dg/cpp2a/using-enum-8.C: New test.
+
+2021-02-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR driver/98943
+       * c-c++-common/pr98943.c: New.
+
+2021-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98855
+       * g++.dg/vect/slp-pr98855.cc: New testcase.
+
+2021-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97878
+       * g++.dg/cpp1z/decomp54.C: New test.
+
+2021-02-05  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98537
+       * g++.target/i386/avx512bw-pr98537-1.C: New test.
+       * g++.target/i386/avx512vl-pr98537-1.C: New test.
+       * g++.target/i386/avx512vl-pr98537-2.C: New test.
+       * gcc.target/i386/avx512vl-pr88547-1.c: Adjust testcase,
+       integer mask comparison should not be generated.
+       * gcc.target/i386/avx512vl-pr92686-vpcmp-1.c: Remove.
+       * gcc.target/i386/avx512vl-pr92686-vpcmp-2.c: Ditto.
+       * gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Ditto.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/derived-chartypes-1.f90: New test.
+       * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise.
+       * gfortran.dg/goacc/derived-chartypes-3.f90: Likewise.
+       * gfortran.dg/goacc/derived-chartypes-4.f90: Likewise.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/array-with-dt-2.f90: New test.
+
+2021-02-04  Julian Brown  <julian@codesourcery.com>
+
+       * gfortran.dg/goacc/derived-classtypes-1.f95: New test.
+
+2021-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98325
+       * lib/scanasm.exp (dg-scan-symbol-section): For powerpc*-*-* targets if
+       $section is .opd, look at .L.$symbol_name's section.
+       (parse_section_section_of_symbols): Handle .previous directive.
+       * gcc.dg/array-quals-1.c: Allow .sdata section.
+
+2021-02-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * gdc.dg/intrinsics.d: Update test.
+
+2021-02-04  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97882
+       * gcc.dg/decl-8.c: Adjust text of expected diagnostic.
+       * gcc.dg/label-decl-4.c: Same.
+       * gcc.dg/mismatch-decl-1.c: Same.
+       * gcc.dg/old-style-then-proto-1.c: Same.
+       * gcc.dg/parm-mismatch-1.c: Same.
+       * gcc.dg/pr35445.c: Same.
+       * gcc.dg/redecl-11.c: Same.
+       * gcc.dg/redecl-12.c: Same.
+       * gcc.dg/redecl-13.c: Same.
+       * gcc.dg/redecl-15.c: Same.
+       * gcc.dg/tls/thr-init-1.c: Same.
+       * objc.dg/id-1.m: Same.
+       * objc.dg/tls/diag-3.m: Same.
+       * gcc.dg/pr97882.c: New test.
+       * gcc.dg/qual-return-7.c: New test.
+       * gcc.dg/qual-return-8.c: New test.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98717
+       * g++.dg/cpp2a/concepts-variadic3.C: New test.
+
+2021-02-04  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/97932
+       * gcc.dg/pr97932.c: New test.
+
+2021-02-04  emsr  <3dw4rd@verizon.net>
+
+       * g++.dg/cpp23/feat-cxx2b.C: __cpp_size_t_suffix == 202011.
+
+2021-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/warn/Wsize_t-literals.C: Expect make_signed_t<size_t> instead
+       of make_signed<size_t>::type in the diagnostics.
+
+2021-02-04  Tom Greenslade (thomgree)  <thomgree@cisco.com>
+
+       PR c++/90926
+       * g++.dg/cpp1y/nsdmi-aggr12.C: New test.
+
+2021-02-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/goacc/substring.f90: New test.
+       * gfortran.dg/gomp/substring.f90: New test.
+
+2021-02-04  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/i386/prefer-vector-width-attr.c: New test.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98802
+       * g++.dg/cpp1z/class-deduction78.C: New test.
+
+2021-02-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95192
+       * g++.dg/cpp0x/pr84630.C: Call b().
+       * g++.dg/cpp2a/lambda-uneval13.C: New test.
+       * g++.dg/ext/attr-expr1.C: New test.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR preprocessor/98882
+       * gcc.dg/cpp/pr98882.c: New test.
+
+2021-02-03  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp0x/alias-decl-dr1558.C: Pass --param
+       hash-table-verification-limit=10000.
+
+2021-02-03  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       * g++.dg/cpp0x/udlit-shadow-neg.C: Test for 'z' and 'zu' shadowing.
+       * g++.dg/cpp23/feat-cxx2b.C: New test.
+       * g++.dg/cpp23/size_t-literals.C: New test.
+       * g++.dg/warn/Wsize_t-literals.C: New test.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/97804
+       * g++.dg/cpp2a/no_unique_address11.C: New test.
+
+2021-02-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98899
+       * g++.dg/cpp0x/noexcept65.C: New test.
+
+2021-02-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98913
+       * gfortran.dg/coarray/array_temporary.f90: New test.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97487
+       * gcc.dg/pr97487-1.c: New test.
+       * gcc.dg/pr97487-2.c: New test.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97971
+       * gcc.target/i386/pr97971.c: New test.
+
+2021-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98287
+       * gcc.dg/pr98287.c: New test.
+
+2021-02-03  Tamar Christina  <tamar.christina@arm.com>
+
+       PR tree-optimization/98928
+       * gcc.target/i386/pr98928.c: New test.
+
+2021-02-02  Martin Liska  <mliska@suse.cz>
+
+       PR target/97510
+       * gcc.target/i386/pr97510.c: New test.
+
+2021-02-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98929
+       * g++.dg/cpp1z/class-deduction-decltype1.C: New test.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust sqxtun2 scan.
+
+2021-02-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/91862
+       * gfortran.dg/pr91862.f90: New test.
+
+2021-02-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/arg-type-diagnostics-1.c: Return result from foo.
+
+2021-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98848
+       * gcc.dg/vect/pr98848.c: New test.
+       * gcc.dg/vect/pr92205.c: Remove xfail.
+
+2021-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97960
+       * g++.dg/torture/pr97960.C: New test.
+
+2021-02-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/98743
+       * g++.dg/opt/pr98743.C: New.
+
+2021-02-02  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vorn.c: Add vorn tests.
+
+2021-02-02  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/asan/nested-1.c: New.
+
+2021-02-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93355
+       PR analyzer/96374
+       * gcc.dg/analyzer/conditionals-3.c: Add "__analyzer_"
+       prefix to support subroutines where necessary.
+       * gcc.dg/analyzer/data-model-1.c: Likewise.
+       * gcc.dg/analyzer/feasibility-1.c (called_by_test_6a): New.
+       (test_6a): New.
+       * gcc.dg/analyzer/params.c: Add "__analyzer_" prefix to support
+       subroutines where necessary.
+       * gcc.dg/analyzer/pr96651-2.c: Likewise.
+       * gcc.dg/analyzer/signal-4b.c: Likewise.
+       * gcc.dg/analyzer/single-field.c: Likewise.
+       * gcc.dg/analyzer/torture/conditionals-2.c: Likewise.
+
+2021-02-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93355
+       PR analyzer/96374
+       * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: New test.
+       * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: New test.
+
+2021-02-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust rshrn2
+       assembly scan.
+
+2021-02-01  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98918
+       * gcc.dg/analyzer/pr98918.c: New test.
+
+2021-02-01  Sergei Trofimovich  <siarheit@google.com>
+
+       PR tree-optimization/98499
+       * g++.dg/pr98499.C: new test.
+
+2021-02-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/simd/vmovl_high_1.c: New test.
+
+2021-02-01  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97172
+       * gcc.dg/pr97172.c: New test.
+
+2021-02-01  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98835
+       * g++.dg/Wclass-memaccess-6.C: New test.
+
+2021-02-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98295
+       * g++.dg/cpp0x/constexpr-98295.C: New test.
+
+2021-02-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98355
+       * g++.dg/ext/builtin-has-attribute2.C: New test.
+
+2021-02-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98570
+       * g++.dg/cpp0x/alias-decl-targ1.C: New test.
+
+2021-02-01  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high.inc:
+       New test template.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_lane.inc:
+       New test template.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_laneq.inc:
+       New test template.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_n.inc:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlal_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_lane.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_laneq.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_n.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_lane.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_laneq.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_n.c:
+       New test.
+
+2021-02-01  Jonathan Wright  <jonathan.wright@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/vmull_high.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmull_high_lane.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmull_high_laneq.c:
+       New test.
+       * gcc.target/aarch64/advsimd-intrinsics/vmull_high_n.c:
+       New test.
+
+2021-02-01  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/smlal-smlsl-mull-optimized.c: New test.
+
+2021-02-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/84494
+       * g++.dg/cpp1y/constexpr-84494.C: New test.
+
+2021-02-01  Xing GUO  <higuoxing@gmail.com>
+
+       * gcc.target/riscv/attribute-18.c: Add -mriscv-attribute option.
+
+2021-02-01  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/pr79251.p8.c: Update store count regex.
+       * gcc.target/powerpc/pr79251.p9.c: Likewise.
+
+2021-01-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c-c++-common/attr-used-5.c: Skip for Darwin.
+       * c-c++-common/attr-used-6.c: Likewise.
+       * c-c++-common/attr-used-7.c: Likewise.
+       * c-c++-common/attr-used-8.c: Likewise.
+       * c-c++-common/attr-used-9.c: Likewise.
+
+2021-01-30  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/pr79251.p8.c: Update ilp32 store counts.
+       * gcc.target/powerpc/pr79251.p9.c: Same.
+
+2021-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/20051216-1.c: New test.
+
+2021-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/98243
+       * gcc.dg/gomp/simd-2.c: Add -msse2 on x86.  Restrict
+       scan-tree-dump-times to x86 and aarch64 targets.
+       * gcc.dg/gomp/simd-3.c: Likewise.
+
+2021-01-29  Michael Meissner  <meissner@linux.ibm.com>
+
+       PR testsuite/98870
+       * gcc.target/powerpc/ppc-fortran/ieee128-math.f90: Fix the
+       expected result.
+
+2021-01-29  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr91903.c: Fix dg-require stanza.
+
+2021-01-29  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97701
+       * gcc.target/aarch64/pr97701.c: Modify.
+
+2021-01-29  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/combined-conditionals-1.c: New test.
+
+2021-01-29  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97701
+       * gcc.target/aarch64/pr97701.c: New.
+
+2021-01-29  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr91903.c: New test.
+       * gcc.target/powerpc/builtins-1.fold.h: Update.
+       * gcc.target/powerpc/builtins-2.c: Update.
+
+2021-01-29  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98843
+       * g++.dg/modules/pr98843_a.C: New.
+       * g++.dg/modules/pr98843_b.H: New.
+       * g++.dg/modules/pr98843_c.C: New.
+
+2021-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/simd/vaddlv_1.c: New test.
+
+2021-01-29  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97627
+       * g++.dg/pr97627.C: New testcase.
+
+2021-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98849
+       * gcc.c-torture/compile/pr98849.c: New test.
+
+2021-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98331
+       * gcc.dg/pr98331.c: New test.
+
+2021-01-29  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/pr79251.p8.c: Move TEST_VEC_INSERT_ALL
+       to ...
+       * gcc.target/powerpc/pr79251.h: ...this.
+       * gcc.target/powerpc/pr79251.p9.c: Likewise.
+       * gcc.target/powerpc/pr79251-run.c: Move run_test to pr79251.h.
+       Rename to...
+       * gcc.target/powerpc/pr79251-run.p8.c: ...this.
+       * gcc.target/powerpc/pr79251-run.p9.c: New test.
+
+2021-01-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96137
+       * g++.dg/parse/error63.C: New test.
+
+2021-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98841
+       * g++.dg/warn/effc5.C: New test.
+
+2021-01-28  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94775
+       * g++.dg/cpp0x/alignas19.C: New test.
+       * g++.dg/warn/Warray-bounds15.C: New test.
+
+2021-01-28  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/98730
+       * gcc.target/arm/simd/vceqzq_p64.c: Update expected result.
+
+2021-01-28  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gfortran.dg/ISO_Fortran_binding_18.c: Include
+       ../../../libgfortran/ISO_Fortran_binding.h rather than
+       ISO_Fortran_binding.h.
+
+2021-01-28  Michael Meissner  <meissner@linux.ibm.com>
+
+       * gcc.target/powerpc/float128-longdouble-math.c: New test.
+       * gcc.target/powerpc/float128-longdouble-stdio.c: New test.
+       * gcc.target/powerpc/float128-math.c: Adjust test for new name
+       being generated.  Add support for running test on power10.  Add
+       support for running if long double defaults to 64-bits.
+
+2021-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/33661
+       PR c++/98847
+       * g++.target/i386/pr98847.C: New test.
+
+2021-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Fix shrn2 scan.
+
+2021-01-28  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98770
+       * g++.dg/modules/pr98770_a.C: New.
+       * g++.dg/modules/pr98770_b.C: New.
+
+2021-01-28  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/86470
+       * gfortran.dg/gomp/pr86470.f90: New test.
+
+2021-01-28  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR target/98827
+       * gcc.target/powerpc/fold-vec-insert-char-p8.c: Adjust ilp32.
+       * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
+       * gcc.target/powerpc/pr79251.p8.c: Likewise.
+       * gcc.target/powerpc/pr79251.p9.c: Likewise.
+       * gcc.target/powerpc/vsx-builtin-7.c: Likewise.
+       * gcc.target/powerpc/pr79251-run.c: Build and run with vsx
+       option.
+
+2021-01-28  Xing GUO  <higuoxing@gmail.com>
+
+       * gcc.target/riscv/attribute-18.c: New test.
+
+2021-01-27  Harris Snyder  <hsnyder@structura.bio>
+
+       * gfortran.dg/ISO_Fortran_binding_18.c: New test.
+       * gfortran.dg/ISO_Fortran_binding_18.f90: New test.
+
+2021-01-27  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97684
+       * gcc.target/i386/pr97684.c: New.
+
+2021-01-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97874
+       * g++.dg/lookup/using4.C: No error in C++20.
+       * g++.dg/cpp0x/decltype37.C: Adjust message.
+       * g++.dg/template/crash75.C: Adjust message.
+       * g++.dg/template/crash76.C: Adjust message.
+       * g++.dg/cpp0x/inh-ctor36.C: New test.
+       * g++.dg/cpp1z/inh-ctor39.C: New test.
+       * g++.dg/cpp2a/using-enum-7.C: New test.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98853
+       * gcc.c-torture/execute/pr98853-1.c: New test.
+       * gcc.c-torture/execute/pr98853-2.c: New test.
+
+2021-01-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98854
+       * gcc.dg/vect/bb-slp-pr98854.c: New testcase.
+
+2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93924
+       PR fortran/93925
+       * gfortran.dg/proc_ptr_52.f90 : New test.
+
+2021-01-27  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/98833
+       * gcc.target/i386/pr98833.c: New test.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/m128-check.h (CHECK_EXP): Remove
+       optimize ("no-strict-aliasing") attribute.
+       * gcc.target/i386/sse-andnps-1.c (TEST): Copy e into float[4]
+       array to avoid violating TBAA.
+       * gcc.target/i386/sse2-andpd-1.c (TEST): Copy e.d into double[2]
+       array to avoid violating TBAA.
+       * gcc.target/i386/sse-andps-1.c (TEST): Copy e.f into float[4]
+       array to avoid violating TBAA.
+       * gcc.target/i386/sse2-andnpd-1.c (TEST): Copy e into double[2]
+       array to avoid violating TBAA.
+
+2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98472
+       * gfortran.dg/elemental_function_5.f90 : New test.
+
+2021-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97260
+       * gcc.dg/tree-ssa/pr97260.c: New test.
+
+2021-01-26  Paul Fee  <paul.f.fee@gmail.com>
+
+       * lib/target-supports.exp (check_effective_target_c++2a):
+       Check for C++2a or C++23.
+       (check_effective_target_c++20_down): New.
+       (check_effective_target_c++23_only): New.
+       (check_effective_target_c++23): New.
+       * g++.dg/cpp23/cplusplus.C: New.
+
+2021-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97474
+       * g++.dg/torture/pr97474.C: New test.
+
+2021-01-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97566
+       * g++.dg/cpp2a/no_unique_address10.C: New test.
+       * g++.dg/cpp2a/no_unique_address9.C: New test.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/powerpc/m128-check.h (CHECK_EXP): Remove
+       optimize ("no-strict-aliasing") attribute.
+       * gcc.target/powerpc/sse-andnps-1.c (TEST): Copy e into float[4]
+       array to avoid violating TBAA.
+       * gcc.target/powerpc/sse2-andpd-1.c (TEST): Copy e.d into double[2]
+       array to avoid violating TBAA.
+       * gcc.target/powerpc/sse-andps-1.c (TEST): Copy e.f into float[4]
+       array to avoid violating TBAA.
+       * gcc.target/powerpc/sse2-andnpd-1.c (TEST): Copy e into double[2]
+       array to avoid violating TBAA.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98681
+       * gcc.c-torture/execute/pr98681.c: New test.
+
+2021-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/67539
+       * gfortran.dg/elemental_assignment_1.f90: New test.
+
+2021-01-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * g++.dg/modules/modules.exp: Remove unused CXX_MODULE_PATH;
+       add previously missing space in '$ident link'.
+
+2021-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98807
+       * gcc.dg/pr98807.c: Add -Wno-psabi -w to dg-options.
+
+2021-01-26  Alexandre Oliva  <oliva@adacore.com>
+
+       * gnat.dg/asan1.adb: New test.
+       * gnat.dg/asan1_pkg.ads: New additional source.
+
+2021-01-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/70070
+       * gfortran.dg/pr70070.f90: New test.
+
+2021-01-25  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98646
+       * g++.dg/warn/Wnonnull5.C: Adjust text of an expected warning.
+       * g++.dg/warn/Wnonnull10.C: New test.
+       * g++.dg/warn/Wnonnull9.C: New test.
+
+2021-01-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.dg/associate_57.f90: New test.
+
+2021-01-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/96843
+       * gfortran.dg/interface_assignment_7.f90: New test.
+
+2021-01-25  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98463
+       * g++.dg/cpp2a/no_unique_address8.C: New test.
+
+2021-01-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98807
+       * gcc.dg/pr98807.c: New testcase.
+
+2021-01-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/thunk2.adb, gnat.dg/thunk2.ads: New test.
+       * gnat.dg/thunk2_pkg.ads: New helper.
+
+2021-01-25  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/98517
+       * gfortran.dg/charlen_18.f90 : New test.
+
+2021-01-23  Anthony Sharp  <anthonysharp15@gmail.com>
+
+       * g++.dg/lookup/scoped1.C: Modified testcase to run successfully
+       with changes.
+       * g++.dg/tc1/dr142.C: Same as above.
+       * g++.dg/tc1/dr52.C: Same as above.
+       * g++.old-deja/g++.brendan/visibility6.C: Same as above.
+       * g++.old-deja/g++.brendan/visibility8.C: Same as above.
+       * g++.old-deja/g++.jason/access8.C: Same as above.
+       * g++.old-deja/g++.law/access4.C: Same as above.
+       * g++.old-deja/g++.law/visibility12.C: Same as above.
+       * g++.old-deja/g++.law/visibility4.C: Same as above.
+       * g++.old-deja/g++.law/visibility8.C: Same as above.
+       * g++.old-deja/g++.other/access4.C: Same as above.
+
+2021-01-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/88548
+       PR c++/97399
+       * g++.dg/cpp0x/this2.C: New test.
+       * g++.dg/template/pr97399.C: New test.
+
+2021-01-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-insert-char-p9.c: Adjust ilp32.
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Same.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Same.
+       * gcc.target/powerpc/fold-vec-insert-longlong.c: Same.
+       * gcc.target/powerpc/fold-vec-insert-short-p9.c: Same.
+       * gcc.target/powerpc/pr79251.p9.c: Same.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/96623
+       * g++.dg/cpp0x/noexcept64.C: New test.
+
+2021-01-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/eh/spbp.C: Remove skip on AIX.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/powerpc/m128-check.h (CHECK_EXP, CHECK_FP_EXP): Fix a
+       typo, UINON_TYPE to UNION_TYPE.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/i386/m128-check.h (CHECK_EXP, CHECK_FP_EXP): Fix a typo,
+       UINON_TYPE to UNION_TYPE.
+       * gcc.target/i386/m256-check.h (CHECK_FP_EXP): Likewise.
+       * gcc.target/i386/m512-check.h (CHECK_ROUGH_EXP): Likewise.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.target/powerpc/m128-check.h (check_##UINON_TYPE): Add
+       optimize ("no-strict-aliasing") attribute.
+
+2021-01-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98744
+       * g++.dg/init/elide7.C: New test.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/95693
+       * g++.dg/ubsan/pr95693.C: New test.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98545
+       * g++.dg/abi/mangle76.C: New test.
+
+2021-01-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98565
+       * gfortran.dg/associated_target_7.f90 : New test.
+
+2021-01-22  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/47059
+       * gcc.dg/tree-ssa/pr47059.c: New test.
+
+2021-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/98766
+       * gcc.dg/pr98766.c: New test.
+
+2021-01-22  Nathan Sidwell  <nathan@acm.org>
+
+       PR testsuite/98795
+       * g++.dg/modules/modules.exp (module_cmi_p): Avoid
+       embedded absolute paths.
+       (module_do_it): Append $std to test name.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98793
+       * gcc.dg/pr98793.c: New testcase.
+
+2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/pr79251.p8.c: New test.
+       * gcc.target/powerpc/fold-vec-insert-char-p8.c: Adjust
+       instruction counts.
+       * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-double.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
+       * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
+       * gcc.target/powerpc/vsx-builtin-7.c: Likewise.
+
+2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gcc.target/powerpc/pr79251.p9.c: New test.
+       * gcc.target/powerpc/pr79251-run.c: New test.
+       * gcc.target/powerpc/pr79251.h: New header.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/98773
+       * gcc.dg/torture/pr98773.c: New testcase.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/90248
+       * gcc.dg/tree-ssa/copy-sign-1.c: Don't expect any copysign
+       builtins.
+       * gcc.dg/pr90248.c: New test.
+
+2021-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98255
+       * gcc.dg/pr98255.c: New test.
+
+2021-01-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98786
+       * gcc.dg/torture/pr98786.c: New testcase.
+
+2021-01-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       PR target/98636
+       * gcc.target/arm/pr98636.c: New test.
+
+2021-01-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96891
+       PR target/98348
+       * gcc.target/i386/avx512bw-pr96891-1.c: New test.
+       * gcc.target/i386/avx512f-pr96891-1.c: New test.
+       * gcc.target/i386/avx512f-pr96891-2.c: New test.
+       * gcc.target/i386/avx512f-pr96891-3.c: New test.
+       * g++.target/i386/avx512f-pr96891-1.C: New test.
+       * gcc.target/i386/bitwise_mask_op-3.c: Adjust testcase.
+
+2021-01-22  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97966
+       * g++.dg/cpp0x/noexcept63.C: New test.
+
+2021-01-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/cpp2a/lambda-uneval1.C: Ignore preceding "l" and
+       intervening period.
+       * g++.dg/cpp2a/lambda-uneval5.C: Ignore preceding "l" and
+       explicitly check for intervening space, tab or period.
+
+2021-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/98777
+       * gcc.target/riscv/pr98777.c: New.
+
+2021-01-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/71879
+       * g++.dg/cpp0x/decltype-71879.C: New test.
+
+2021-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98672
+       * g++.dg/cpp1y/constexpr-98672.C: New test.
+
+2021-01-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96372
+       * lib/target-supports.exp
+       (check_effective_target_arm_thumb2_no_arm_v8_1_lob): Define proc.
+       * gcc.target/arm/ivopts.c: Use target
+       'arm_thumb2_no_arm_v8_1_lob'.
+
+2021-01-21  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98530
+       * g++.dg/modules/stat-mem-1.h: New.
+       * g++.dg/modules/stat-mem-1_a.H: New.
+       * g++.dg/modules/stat-mem-1_b.C: New.
+
+2021-01-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/96320
+       * gfortran.dg/module_procedure_5.f90 : New test.
+       * gfortran.dg/module_procedure_6.f90 : New test.
+
+2021-01-21  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97299
+       * gcc.dg/vect/slp-reduc-3.c: Amend target selectors.
+
+2021-01-21  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/98241
+       * gcc.dg/pr78973.c: Remove ilp32 XFAIL.
+
+2021-01-21  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/Walloca-2.c: Un-XFAIL.
+
+2021-01-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR rtl-optimization/98694
+       * gcc.target/i386/pr98694.c: New test.
+
+2021-01-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/torture/ftrapv-2.c: Make overflow instruction unremovable.
+
+2021-01-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/vdup_lane_2.c: Scan for fmov rather than
+       dup.
+
+2021-01-20  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/98722
+       * g++.target/s390/pr98722.C: New.
+
+2021-01-20  Eugene Rozenfeld  <erozen@microsoft.com>
+
+       PR tree-optimization/96674
+       * gcc.dg/pr96674.c: New tests.
+
+2021-01-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95434
+       * g++.dg/cpp2a/lambda-generic9.C: New test.
+
+2021-01-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/82613
+       * g++.dg/parse/access12.C: New test.
+       * g++.dg/template/access35.C: New test.
+
+2021-01-20  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98535
+       * gcc.target/aarch64/sve/pr98535.c: New file.
+
+2021-01-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98763
+       * gfortran.dg/gomp/task-detach-1.f90: Use integer(1) to avoid
+       missing diagnostic issues with c_intptr_t == default integer kind.
+
+2021-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98721
+       * gcc.dg/pr98721-1.c: New test.
+       * gcc.dg/pr98721-2.c: New test.
+
+2021-01-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98758
+       * gcc.dg/torture/pr98758.c: New testcase.
+
+2021-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98742
+       * c-c++-common/gomp/task-detach-2.c: New test.
+
+2021-01-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98757
+       PR fortran/98476
+       * gfortran.dg/gomp/is_device_ptr-2.f90: Fix dg-error.
+
+2021-01-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.dg/cpp/ucs.c: Expect Invalid warning for 2byte wchar.
+       * gcc.dg/debug/dwarf2/inline6.c: Remove skip AIX.
+       * gcc.dg/debug/dwarf2/lang-c11.c: Remove skip AIX.
+       * gcc.dg/debug/dwarf2/pr41445-7.c: Remove skip AIX.
+       * gcc.dg/debug/dwarf2/pr41445-8.c: Remove skip AIX.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-20.c: Require 4byte wchar.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98659
+       * g++.dg/template/deduce8.C: New test.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98687
+       * g++.dg/lookup/using64.C: New test.
+       * g++.dg/lookup/using65.C: New test.
+
+2021-01-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98664
+       * gcc.dg/Wvla-larger-than-4.c: Adjust expected output.
+       * gcc.dg/plugin/diagnostic-test-inlining-3.c: Same.
+       * g++.dg/warn/Wfree-nonheap-object-5.C: New test.
+       * gcc.dg/Wfree-nonheap-object-4.c: New test.
+
+2021-01-19  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/41437
+       PR c++/58993
+       * g++.dg/opt/pr87974.C: Adjust.
+       * g++.dg/template/access34.C: New test.
+       * g++.dg/template/friend68.C: New test.
+       * g++.dg/template/friend69.C: New test.
+
+2021-01-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98333
+       * g++.dg/cpp0x/noexcept62.C: New test.
+
+2021-01-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * gcc.target/powerpc/pr88233.c: Update dg- stanzas.
+
+2021-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+       (CHECK_CUMULATIVE_SAT): Delete.
+       (CHECK_CUMULATIVE_SAT_NAMED): Likewise.  Deleted related
+       variables.
+       * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc:
+       Remove uses of the above.
+       * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c:
+       Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: Likewise.
+       * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.
+
+2021-01-19  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/debug/dwarf2/dwarf-float.c: Force dwarf-4 generation
+       and update expected output.
+
+2021-01-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/98330
+       * g++.dg/pr98330.C: New testcase.
+       * gcc.dg/pr98330.c: Likewise.
+
+2021-01-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/97673
+       * gfortran.dg/pr97673.f90: New testcase.
+
+2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/98476
+       * gfortran.dg/gomp/map-3.f90: Update expected scan-dump-tree.
+       * gfortran.dg/gomp/is_device_ptr-2.f90: New test.
+       * gfortran.dg/gomp/use_device_ptr-1.f90: New test.
+
+2021-01-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/98690
+       * g++.dg/ipa/pr98690.C: New test.
+
+2021-01-18  Jeff Law  <law@redhat.com>
+
+       * gcc.dg/debug/dwarf2/pr41445-7.c: Fix expected output.
+
+2021-01-18  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/cpp1z/class-deduction77.C: New test.
+
+2021-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98727
+       * gcc.c-torture/execute/pr98727.c: New test.
+
+2021-01-18  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR testsuite/97987
+       * gcc.c-torture/compile/asmgoto-2.c: Skip on hppa.
+       * gcc.c-torture/compile/asmgoto-5.c: Likewise.
+
+2021-01-18  John David Anglin  <danglin@gcc.gnu.org>
+
+       * g++.dg/no-stack-protector-attr-3.C: Don't compile on hppa*-*-*.
+       * g++.dg/no-stack-protector-attr.C: Likewise.
+
+2021-01-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/attr-malloc-1.c: New test.
+       * gcc.dg/analyzer/attr-malloc-2.c: New test.
+       * gcc.dg/analyzer/attr-malloc-4.c: New test.
+       * gcc.dg/analyzer/attr-malloc-5.c: New test.
+       * gcc.dg/analyzer/attr-malloc-6.c: New test.
+       * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: New test.
+       * gcc.dg/analyzer/attr-malloc-misuses.c: New test.
+
+2021-01-18  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97494
+       * gcc.dg/vect/slp-11b.c: Adjust.
+
+2021-01-18  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * gcc.target/arm/simd/vceqz_p64.c: Use arm_crypto options.
+       * gcc.target/arm/simd/vceqzq_p64.c: Likewise.
+
+2021-01-18  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/97299
+       * gcc.dg/vect/slp-reduc-3.c: Guard VEC_PERM_EXPR scan.
+
+2021-01-18  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc.target/powerpc/fold-vec-extract-char.p7.c: Adjust addi count.
+       * gcc.target/powerpc/fold-vec-extract-double.p7.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-float.p7.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-float.p8.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-int.p7.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-int.p8.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-short.p7.c: Same.
+       * gcc.target/powerpc/fold-vec-extract-short.p8.c: Same.
+       * gcc.target/powerpc/sse-andnps-1.c: Restrict to LE.
+       * gcc.target/powerpc/sse-movhps-1.c: Restrict to LE.
+       * gcc.target/powerpc/sse-movlps-1.c: Restrict to LE.
+       * gcc.target/powerpc/sse2-andnpd-1.c: Restrict to LE.
+
+2021-01-17  David Edelsohn  <dje.gcc@gmail.com>
+
+       * g++.dg/debug/dwarf2/inline-ns-2.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/inline-var-2.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/inline-var-3.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/lang-cpp11.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/lang-cpp14.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/lang-cpp17.C: Skip on AIX.
+       * g++.dg/debug/dwarf2/lang-cpp20.C: Skip on AIX.
+       * gcc.dg/debug/dwarf2/inline6.c: Skip on AIX.
+       * gcc.dg/debug/dwarf2/lang-c11.c: Skip on AIX.
+       * gcc.dg/debug/dwarf2/pr41445-7.c: Skip on AIX.
+       * gcc.dg/debug/dwarf2/pr41445-8.c: Skip on AIX.
+
+2021-01-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/98222
+       * gcc.dg/ipa/pr98222.c: New test.
+
+2021-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Include
+       ../../../libgfortran/ISO_Fortran_binding.h rather than
+       ISO_Fortran_binding.h.
+
+2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * c-c++-common/gomp/task-detach-1.c: New.
+       * g++.dg/gomp/task-detach-1.C: New.
+       * gcc.dg/gomp/task-detach-1.c: New.
+       * gfortran.dg/gomp/task-detach-1.f90: New.
+
+2021-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96669
+       * gcc.dg/tree-ssa/pr96669-1.c: Adjust regexp.
+       * gcc.dg/tree-ssa/pr96669-2.c: New test.
+
+2021-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96271
+       * gcc.target/i386/pr96271.c: New test.
+
+2021-01-15  Carl Love  <cel@us.ibm.com>
+
+       * gcc.target/powerpc/builtins-1-p10-runnable.c: New test file.
+
+2021-01-15  Harris Snyder  <hsnyder@structura.bio>
+
+       * gfortran.dg/iso_fortran_binding_uint8_array.f90: New test.
+       * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: New test.
+
+2021-01-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98538
+       * g++.dg/template/pr98538.C: New.
+
+2021-01-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR preprocessor/95253
+       * g++.dg/modules/dep-1_a.C: Adjust expected output.
+       * g++.dg/modules/dep-1_b.C: Likewise.
+       * g++.dg/modules/dep-2.C: Likewise.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96669
+       * gcc.dg/tree-ssa/pr96669-1.c: New test.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96681
+       * gcc.dg/tree-ssa/pr96681.c: New test.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98642
+       * g++.dg/cpp1z/elide5.C: New test.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/cpp1z/elide4.C: New test.
+
+2021-01-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/63707
+       * g++.dg/cpp0x/initlist-array13.C: New test.
+
+2021-01-15  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/analyzer/alloca-leak.c: Drop alloca.h, use builtin.
+       * gcc.dg/analyzer/data-model-1.c: Likewise.
+       * gcc.dg/analyzer/malloc-1.c: Likewise.
+       * gcc.dg/analyzer/malloc-paths-8.c: Likewise.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96671
+       * gcc.dg/tree-ssa/pr96671-1.c: New test.
+       * gcc.dg/tree-ssa/pr96671-2.c: New test.
+
+2021-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98597
+       * gcc.dg/uninit-38.c: Expect a space in between type name and asterisk.
+       Expect for now a (char *) cast for VLAs.
+       * gcc.dg/uninit-40.c: New test.
+
+2021-01-15  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98591
+       * g++.dg/modules/pr98591.H: New file.
+
+2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/88836
+       * gcc.target/aarch64/sve/acle/general/ldff1_8.c: New test.
+       * gcc.target/aarch64/sve/ptest_1.c: Likewise.
+
+2021-01-15  Marius Hillenbrand  <mhillen@linux.ibm.com>
+
+       * gcc.target/s390/s390.exp: Call lib atomic-dg.exp to link
+       libatomic into testcases in gcc.target/s390/md.
+       * gcc.target/s390/md/atomic_exchange-1.c: Remove no unnecessary
+       -latomic.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for
+       vceqz_p64, vceqq_p64 and vceqzq_p64.
+       * gcc.target/arm/simd/vceqz_p64.c: New test.
+       * gcc.target/arm/simd/vceqzq_p64.c: New test.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       Revert:
+       2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for
+       vceqz_p64, vceqq_p64 and vceqzq_p64.
+
+2021-01-15  Martin Liska  <mliska@suse.cz>
+
+       * lib/gcov.exp: Use 'env python3' for execution of pytests.
+       Check that pytest accepts all needed options first.
+       Improve formatting of PASS/FAIL lines.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96147
+       * gcc.dg/vect/bb-slp-32.c: Align p.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96147
+       * gcc.dg/vect/bb-slp-9.c: Scan for a vector load transform.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96147
+       * gcc.dg/vect/slp-45.c: Key scanning on
+       vect_hw_misalign.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96147
+       * gcc.dg/vect/slp-43.c: Remove ! vect_hw_misalign scan.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/71233
+       * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for
+       vceqz_p64, vceqq_p64 and vceqzq_p64.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/96098
+       * gcc.dg/vect/bb-slp-pr68892.c: Remove.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vshr.c: Add tests for vshr.
+
+2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/simd/mve-vshl.c: Add tests for vshl.
+
+2021-01-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98685
+       * gcc.dg/vect/bb-slp-pr98685.c: New testcase.
+
+2021-01-15  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/complex/complex-mla-template.c: Fix sed.
+       * gcc.dg/vect/complex/complex-mls-template.c: Likewise.
+
+2021-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/plugin/diagnostic-test-show-locus-GCC_EXTRA_DIAGNOSTIC_OUTPUT-fixits-v1.c:
+       New file.
+       * gcc.dg/plugin/diagnostic-test-show-locus-GCC_EXTRA_DIAGNOSTIC_OUTPUT-fixits-v2.c:
+       New file.
+       * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them.
+
+2021-01-14  Tamar Christina  <tamar.christina@arm.com>
+
+       * gcc.dg/vect/complex/complex-mla-template.c: New test.
+       * gcc.dg/vect/complex/complex-mls-template.c: New test.
+       * gcc.dg/vect/complex/complex-mul-template.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mla-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mla-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mls-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mls-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mul-double.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mul-float.c: New test.
+       * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: New test.
+
+2021-01-14  Marek Polacek  <polacek@redhat.com>
+
+       * g++.dg/template/pr98372.C: Only run in C++14 and up.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       * substr_10.f90: New test.
+       * substr_9.f90: New test.
+
+2021-01-14  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/analyzer/sigsetjmp-5.c: Use sigjmp_buf.
+       * gcc.dg/analyzer/sigsetjmp-6.c: Likewise.
+
+2021-01-14  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.dg/analyzer/sensitive-1.c: Declare getpass.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * gfortran.dg/pr98661.f90: New test.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       Revert:
+       2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * gfortran.dg/pr98661.f90: New test.
+
+2021-01-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/98661
+       * gfortran.dg/pr98661.f90: New test.
+
+2021-01-14  Martin Liska  <mliska@suse.cz>
+
+       * g++.dg/gcov/gcov-17.C: New test.
+       * g++.dg/gcov/test-gcov-17.py: New test.
+
+2021-01-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98667
+       * gcc.target/i386/pr98667-1.c: New file.
+       * gcc.target/i386/pr98667-2.c: Likewise.
+       * gcc.target/i386/pr98667-3.c: Likewise.
+
+2021-01-14  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98674
+       * gcc.dg/vect/pr98674.c: New testcase.
+
+2021-01-14  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98676
+       * gcc.target/i386/pr95021-1.c: Add -mpreferred-stack-boundary=4
+       -mno-stackrealign.
+       * gcc.target/i386/pr95021-3.c: Likewise.
+
+2021-01-14  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/98372
+       * g++.dg/cpp0x/constexpr-52830.C: Restore dg-ice
+       * g++.dg/template/pr98372.C: New.
+
+2021-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98670
+       * gcc.target/i386/pr98670.c: New test.
+
+2021-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96688
+       * gcc.dg/tree-ssa/pr96688.c: New test.
+       * gcc.dg/tree-ssa/reassoc-37.c: Adjust scan-tree-dump regex.
+       * gcc.target/i386/pr66821.c: Likewise.
+
+2021-01-14  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cost_model_11.c: New test.
+       * gcc.target/aarch64/sve/mask_struct_load_5.c: Use
+       -fno-vect-cost-model.
+
+2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Update uqxtn2 and
+       sqxtn2 scan-assembler-times.
+
+2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust
+       scan-assembler-times for xtn2.
+
+2021-01-13  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98231
+       * g++.dg/lookup/using63.C: New test.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96691
+       * gcc.dg/tree-ssa/pr96691.c: New test.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92645
+       * gcc.target/i386/pr92645-7.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-fre-54.c: Adjust.
+       * gcc.dg/pr69047.c: Likewise.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/mls_2.c: New test.
+       * g++.target/aarch64/sve/cond_mls_1.C: Likewise.
+       * g++.target/aarch64/sve/cond_mls_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_mls_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_mls_4.C: Likewise.
+       * g++.target/aarch64/sve/cond_mls_5.C: Likewise.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/mla_2.c: New test.
+       * g++.target/aarch64/sve/cond_mla_1.C: Likewise.
+       * g++.target/aarch64/sve/cond_mla_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_mla_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_mla_4.C: Likewise.
+       * g++.target/aarch64/sve/cond_mla_5.C: Likewise.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92645
+       * gcc.target/i386/pr92645-6.c: New testcase.
+
+2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/sel_1.c: Require aarch64_variant_pcs.
+       * gcc.target/aarch64/sve/sel_2.c: Likewise.
+       * gcc.target/aarch64/sve/sel_3.c: Likewise.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95905
+       * gcc.target/i386/pr95905-2.c: Use scan-assembler-times instead of
+       scan-assembler.  Add tests with zero vector as first __builtin_shuffle
+       operand.
+       * gcc.target/i386/pr95905-3.c: New test.
+       * gcc.target/i386/pr95905-4.c: New test.
+
+2021-01-13  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/98455
+       * gcc.dg/tree-ssa/pr98455.c: New test.
+
+2021-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98640
+       * gcc.dg/torture/pr98640.c: New testcase.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96938
+       * gcc.target/i386/pr96938.c: New test.
+
+2021-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95905
+       * gcc.target/i386/pr95905-1.c: New test.
+       * gcc.target/i386/pr95905-2.c: New test.
+
+2021-01-13  Julian Brown  <julian@codesourcery.com>
+
+       * gcc.target/gcn/fpdiv.c: New test.
+
+2021-01-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c/98597
+       PR c/98592
+       * g++.dg/warn/Wuninitialized-13.C: New test.
+        gcc.dg/uninit-39.c: New test.
+       #
+       * gcc.dg/uninit-39.c: New file.
+
+2021-01-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/97875
+       * gcc.target/arm/simd/mve-vneg.c: Update test.
+
+2021-01-12  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/97969
+       * gcc.target/arm/pr97969.c: New.
+
+2021-01-12  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98611
+       * g++.dg/cpp2a/concepts-ctad1.C: New test.
+       * g++.dg/cpp2a/concepts-ctad2.C: New test.
+
+2021-01-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98550
+       * g++.dg/opt/pr98550.C: New testcase.
+
+2021-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98629
+       * gcc.c-torture/compile/pr98629.c: New test.
+
+2021-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95731
+       * gcc.dg/tree-ssa/pr95731.c: New test.
+       * gcc.c-torture/execute/pr95731.c: New test.
+
+2021-01-12  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98620
+       * g++.dg/warn/Wmissing-field-initializers-2.C: New test.
+
+2021-01-12  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98628
+       * gcc.dg/analyzer/pr98628.c: New test.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/asrdiv_4.c: New test.
+       * gcc.target/aarch64/sve/cond_asrd_1.c: Likewise.
+       * gcc.target/aarch64/sve/cond_asrd_1_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_asrd_2.c: Likewise.
+       * gcc.target/aarch64/sve/cond_asrd_2_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_asrd_3.c: Likewise.
+       * gcc.target/aarch64/sve/cond_asrd_3_run.c: Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/cond_bic_1.C: New test.
+       * g++.target/aarch64/sve/cond_bic_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_bic_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_bic_4.C: Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/mul_highpart_3.c: New test.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/abd_1.C: New test.
+       * g++.target/aarch64/sve/cond_abd_1.C: Likewise.
+       * g++.target/aarch64/sve/cond_abd_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_abd_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_abd_4.C: Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/adr_6.c: New test.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * g++.target/aarch64/sve/cond_arith_1.C: New test.
+       * g++.target/aarch64/sve/cond_arith_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_arith_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_arith_4.C: Likewise.
+       * g++.target/aarch64/sve/cond_shift_1.C: New test.
+       * g++.target/aarch64/sve/cond_shift_2.C: Likewise.
+       * g++.target/aarch64/sve/cond_shift_3.C: Likewise.
+       * g++.target/aarch64/sve/cond_shift_4.C: Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR testsuite/98602
+       * g++.target/aarch64/sve/max_1.C: New test.
+       * g++.target/aarch64/sve/min_1.C: Likewise.
+       * gcc.target/aarch64/sve/mul_2.c: Likewise.
+
+2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/shift_2.c: New test.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98481
+       * g++.dg/abi/abi-tag24.C: New test.
+
+2021-01-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/91403
+       * gcc.dg/vect/pr91403.c: New testcase.
+
+2021-01-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR testsuite/98225
+       * gcc.misc-tests/outputs.exp: Unset MAKEFLAGS.
+       Expect .ld1_args only when GNU LD is used.
+       Add an exception for *.gcc_args files.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95867
+       * gcc.dg/tree-ssa/pr95867.c: New test.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95852
+       * gcc.target/i386/pr95852-3.c: New test.
+       * gcc.target/i386/pr95852-4.c: New test.
+
+2021-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95852
+       * gcc.target/i386/pr95852-1.c: New test.
+       * gcc.target/i386/pr95852-2.c: New test.
+
+2021-01-11  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/98273
+       * lib/gcov.exp: Add run-gcov-pytest function which runs pytest.
+       * g++.dg/gcov/pr98273.C: New test.
+       * g++.dg/gcov/gcov.py: New test.
+       * g++.dg/gcov/test-pr98273.py: New test.
+
+2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.target/vax/cmpelim-eq-notsi.c: Use subtraction from a
+       constant then rather than addition.
+       * gcc.target/vax/cmpelim-le-notsi.c: Likewise.
+       * gcc.target/vax/cmpelim-lt-notsi.c: Likewise.
+
+2021-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98556
+       * c-c++-common/pr98556.c: New test.
+
+2021-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98603
+       * gcc.target/i386/pr98603.c: New test.
+       * gcc.target/aarch64/pr98603.c: New test.
+
+2021-01-09  Alexandre Oliva  <oliva@gnu.org>
+
+       PR debug/97714
+       * gcc.dg/debug/pr97714.c: New.
+
+2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98482
+       * gcc.target/i386/pr98482-1.c: Require lp64.
+       * gcc.target/i386/pr98482-2.c: Likewise.
+
+2021-01-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/vector/long-double-vx-macro-off-on.c: New test.
+       * gcc.target/s390/vector/long-double-vx-macro-on-off.c: New test.
+
+2021-01-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98551
+       * g++.dg/cpp0x/constexpr-pmf2.C: New test.
+
+2021-01-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/98515
+       * g++.dg/template/access32.C: New test.
+       * g++.dg/template/access33.C: New test.
+
+2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98482
+       * gcc.target/i386/pr98482-2.c: Updated.
+
+2021-01-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98544
+       * gcc.dg/vect/bb-slp-pr98544.c: New testcase.
+
+2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98482
+       * gcc.target/i386/pr98482-1.c: New test.
+       * gcc.target/i386/pr98482-1.c: Likewise.
+       * gcc.target/i386/pr98482-2.c: New file.
+
+2021-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98585
+       * gcc.target/i386/pr98585.c: New test.
+
+2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cnot_2.c: New test.
+       * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise.
+       * gcc.target/aarch64/sve/cond_cnot_4_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_cnot_5.c: Likewise.
+       * gcc.target/aarch64/sve/cond_cnot_5_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_cnot_6.c: Likewise.
+       * gcc.target/aarch64/sve/cond_cnot_6_run.c: Likewise.
+
+2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cond_uxt_5.c: New test.
+       * gcc.target/aarch64/sve/cond_uxt_5_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_6.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_6_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_7.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_7_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_8.c: Likewise.
+       * gcc.target/aarch64/sve/cond_uxt_8_run.c: Likewise.
+
+2021-01-08  Tamar Christina  <tamar.christina@arm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_aarch64_asm_sve2_ok): New.
+       * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Use it.
+       * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise.
+
+2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * gcc.target/aarch64/usaba_1.c: New test.
+
+2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93794
+       * gfortran.dg/deferred_character_35.f90 : New test.
+
+2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/98458
+       * gfortran.dg/implied_do_3.f90 : New test.
+
+2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.dg/array-quals-1.c: Allow srodata.
+
+2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
+
+       * gcc.target/riscv/predef-10.c: New.
+       * gcc.target/riscv/predef-11.c: New.
+       * gcc.target/riscv/predef-12.c: New.
+       * gcc.target/riscv/predef-13.c: New.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98329
+       * g++.dg/cpp2a/bit-cast10.C: New test.
+
+2021-01-07  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/98578
+       * gcc.dg/plugin/gil-1.c: Adjust expected output.
+       * gcc.dg/uninit-pr98578.c: New test.
+
+2021-01-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/98441
+       * g++.dg/cpp0x/auto55.C: New test.
+
+2021-01-07  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98580
+       * gcc.dg/analyzer/pr98580-a.c: New test.
+       * gcc.dg/analyzer/pr98580-b.c: New test.
+
+2021-01-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/93701
+       * gfortran.dg/associate_54.f90: New test.
+       * gfortran.dg/associate_55.f90: New test.
+       * gfortran.dg/associate_56.f90: New test.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/98567
+       * gcc.target/i386/pr98567-1.c: New test.
+       * gcc.target/i386/pr98567-2.c: New test.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/cond_unary_5.c: New test.
+       * gcc.target/aarch64/sve/cond_unary_5_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_6.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_6_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_7.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_7_run.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_8.c: Likewise.
+       * gcc.target/aarch64/sve/cond_unary_8_run.c: Likewise.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98560
+       * gcc.dg/vect/pr98560-2.c: New test.
+
+2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/98560
+       * gcc.dg/vect/pr98560-1.c: New test.
+
+2021-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/98568
+       * g++.dg/torture/pr98568.C: New test.
+
+2021-01-07  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * gcc.target/i386/pr92658-avx512bw.c: Add
+       -mprefer-vector-width=512 to avoid impact of different default
+       mtune which gcc is built with.
+       * gcc.target/i386/pr92658-avx512bw-2.c: Ditto.
+
+2021-01-07  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97074
+       * gcc.dg/analyzer/pr97074.c: New test.
+
+2021-01-07  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98564
+       * gcc.dg/analyzer/pr98564.c: New test.
+
+2021-01-06  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97978
+       * gcc.target/i386/pr97978.c: New.
+
+2021-01-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/95768
+       * g++.dg/pr95768.C: New test.
+       * g++.dg/warn/Wuninitialized-12.C: New test.
+       * gcc.dg/uninit-38.c: New test.
+
+2021-01-06  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/98305
+       * g++.dg/warn/Wmismatched-new-delete-3.C: New test.
+
+2021-01-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/96504
+       * g++.dg/coroutines/torture/pr95519-05-gro.C: Use suspend_always
+       as the final suspend point so that we can check that the state
+       machine has reached the expected point.
+
+2021-01-06  Marek Polacek  <polacek@redhat.com>
+
+       PR testsuite/98566
+       * g++.dg/warn/Wmismatched-dealloc.C: Use target c++14 in
+       dg-error.
+
+2021-01-06  Alexandre Oliva  <oliva@adacore.com>
+
+       * g++.dg/opt/store-merging-2.C: Add the required alignment.
+
+2021-01-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95582
+       * gcc.dg/pr95582.c: New testcase.
+
+2021-01-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98513
+       * gcc.dg/tree-ssa/pr98513.c: New testcase.
+
+2021-01-06  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/97072
+       * gcc.dg/analyzer/pr97072.c: New test.
+
+2021-01-06  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98073
+       * gcc.dg/analyzer/pr98073.c: New test.
+
+2021-01-06  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98223
+       * gcc.dg/analyzer/pr94851-1.c: Remove xfail.
+
+2021-01-05  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * gcc.target/s390/s390.exp: Replace %% with %.
+
+2021-01-05  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+
+       * gfortran.dg/dec_math.f90: xfail on i?86-*-freebsd*
+
+2021-01-05  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98495
+       * gcc.target/i386/sse2-mmx-pextrw.c (compute_correct_result): Use
+       unsigned short to compute pextrw result.
+
+2021-01-05  Patrick Palka  <ppalka@redhat.com>
+
+       * g++.dg/template/partial5.C: Adjust directives to expect the
+       same errors across all dialects.
+       * g++.dg/cpp1z/nontype-auto17.C: New test.
+       * g++.dg/cpp1z/nontype-auto18.C: New test.
+       * g++.dg/template/ttp33.C: New test.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94802
+       * gcc.target/i386/pr94802.c: New test.
+       * gcc.dg/Wstrict-overflow-25.c: Remove xfail.
+
+2021-01-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98516
+       * gcc.dg/vect/bb-slp-pr98516-1.c: New testcase.
+       * gcc.dg/vect/bb-slp-pr98516-2.c: Likewise.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/98469
+       * g++.dg/cpp2a/bit-cast8.C: New test.
+       * g++.dg/cpp2a/bit-cast9.C: New test.
+
+2021-01-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/82099
+       * g++.dg/cpp1z/class-deduction76.C: Remove dg-ice.
+       * g++.dg/cpp0x/noexcept61.C: New test.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96928
+       * gcc.dg/tree-ssa/pr96928.c: New test.
+       * gcc.target/i386/ifcvt-onecmpl-abs-1.c: Remove -fdump-rtl-ce1,
+       instead of scanning rtl dump for ifcvt message check assembly
+       for xor instruction.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96930
+       * g++.dg/tree-ssa/pr96930.C: New test.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96239
+       * gcc.dg/tree-ssa/pr96239.c: New test.
+
+2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/98522
+       * gcc.target/i386/pr98522.c: New test.
+
+2021-01-05  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/mod-decl-1.C: Adjust.
+       * g++.dg/modules/p0713-2.C: Adjust.
+       * g++.dg/modules/p0713-3.C: Adjust.
+
+2021-01-05  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/98495
+       * gcc.target/i386/pr98495-1.c: New test.
+       * gcc.target/i386/pr98495-2.c: New test.
+       * gcc.target/i386/pr98495-3.c: New test.
+       * gcc.target/i386/pr98495-4.c: New test.
+       * gcc.target/i386/pr98495-5.c: New test.
+
+2021-01-05  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/sse2-pr98461-2.c: New test.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/97144
+       * gcc.c-torture/compile/pr97144.c: New test.
+       * gcc.target/aarch64/sve/pr97144.c: Likewise.
+
+2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/98403
+       * g++.dg/opt/pr98403.C: New test.
+
+2021-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/98334
+       * gcc.target/i386/pr98334.c: New test.
+
+2021-01-05  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/cpp1y/constexpr-66093.C: Fix bounds issue.
+
+2021-01-05  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/98293
+       * gcc.dg/analyzer/pr98293.c: New test.
+
+2021-01-04  Martin Uecker  <muecker@gwdg.de>
+
+       PR c/98029
+       * gcc.dg/pr98029.c: New test.
+
+2021-01-04  Nathan Sidwell  <nathan@acm.org>
+
+       * g++.dg/modules/binding-1_a.H: New.
+       * g++.dg/modules/binding-1_b.H: New.
+       * g++.dg/modules/binding-1_c.C: New.
+       * g++.dg/modules/binding-2.H: New.
+       * g++.dg/modules/builtin-3_a.C: New.
+       * g++.dg/modules/global-2_a.C: New.
+       * g++.dg/modules/global-2_b.C: New.
+       * g++.dg/modules/global-3_a.C: New.
+       * g++.dg/modules/global-3_b.C: New.
+       * g++.dg/modules/hello-1_a.C: New.
+       * g++.dg/modules/hello-1_b.C: New.
+       * g++.dg/modules/iostream-1_a.H: New.
+       * g++.dg/modules/iostream-1_b.C: New.
+       * g++.dg/modules/part-5_a.C: New.
+       * g++.dg/modules/part-5_b.C: New.
+       * g++.dg/modules/part-5_c.C: New.
+       * g++.dg/modules/stdio-1_a.H: New.
+       * g++.dg/modules/stdio-1_b.C: New.
+       * g++.dg/modules/string-1_a.H: New.
+       * g++.dg/modules/string-1_b.C: New.
+       * g++.dg/modules/string-view1.C: New.
+       * g++.dg/modules/string-view2.C: New.
+       * g++.dg/modules/tinfo-1.C: New.
+       * g++.dg/modules/tinfo-2_a.H: New.
+       * g++.dg/modules/tinfo-2_b.C: New.
+       * g++.dg/modules/tname-spec-1_a.H: New.
+       * g++.dg/modules/tname-spec-1_b.C: New.
+       * g++.dg/modules/xtreme-header-1.h: New.
+       * g++.dg/modules/xtreme-header-1_a.H: New.
+       * g++.dg/modules/xtreme-header-1_b.C: New.
+       * g++.dg/modules/xtreme-header-1_c.C: New.
+       * g++.dg/modules/xtreme-header-2.h: New.
+       * g++.dg/modules/xtreme-header-2_a.H: New.
+       * g++.dg/modules/xtreme-header-2_b.C: New.
+       * g++.dg/modules/xtreme-header-2_c.C: New.
+       * g++.dg/modules/xtreme-header-3.h: New.
+       * g++.dg/modules/xtreme-header-3_a.H: New.
+       * g++.dg/modules/xtreme-header-3_b.C: New.
+       * g++.dg/modules/xtreme-header-3_c.C: New.
+       * g++.dg/modules/xtreme-header-4.h: New.
+       * g++.dg/modules/xtreme-header-4_a.H: New.
+       * g++.dg/modules/xtreme-header-4_b.C: New.
+       * g++.dg/modules/xtreme-header-4_c.C: New.
+       * g++.dg/modules/xtreme-header-5.h: New.
+       * g++.dg/modules/xtreme-header-5_a.H: New.
+       * g++.dg/modules/xtreme-header-5_b.C: New.
+       * g++.dg/modules/xtreme-header-5_c.C: New.
+       * g++.dg/modules/xtreme-header-6.h: New.
+       * g++.dg/modules/xtreme-header-6_a.H: New.
+       * g++.dg/modules/xtreme-header-6_b.C: New.
+       * g++.dg/modules/xtreme-header-6_c.C: New.
+       * g++.dg/modules/xtreme-header.h: New.
+       * g++.dg/modules/xtreme-header_a.H: New.
+       * g++.dg/modules/xtreme-header_b.C: New.
+       * g++.dg/modules/xtreme-tr1.h: New.
+       * g++.dg/modules/xtreme-tr1_a.H: New.
+       * g++.dg/modules/xtreme-tr1_b.C: New.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/95401
+       * g++.dg/vect/pr95401.cc: New test.
+       * g++.dg/vect/pr95401a.cc: Likewise.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98308
+       * gcc.dg/vect/pr98308.c: New testcase.
+
+2021-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95771
+       * gcc.target/i386/pr95771.c: New test.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98464
+       * g++.dg/opt/pr98464.C: New testcase.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98282
+       * g++.dg/opt/pr98282.C: New testcase.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/89057
+       * gcc.target/aarch64/pr89057.c: New test.
+
+2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/prfb.c: Test for a MUL VL range of
+       [-32, 31].
+       * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise.
+
+2021-01-04  Martin Liska  <mliska@suse.cz>
+
+       * README: Convert to utf8 from iso8859.
+
+2021-01-04  Martin Liska  <mliska@suse.cz>
+
+       * gcc.target/avr/avr.exp: Run dos2unix on the file.
+
+2021-01-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98291
+       * gcc.dg/vect/slp-reduc-11.c: New testcase.
+       * gcc.dg/vect/vect-reduc-in-order-4.c: Adjust.
+
+2021-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96782
+       * gcc.dg/tree-ssa/pr96782.c: New test.
+
+2021-01-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * gcc.misc-tests/outputs.exp: Adjust testcase.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+
+2021-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_arm_fp16_alternative_ok_nocache):
+       Return zero for *-*-vxworks7r* targets.
+       * gcc.target/arm/aapcs/vfp22.c: Require arm_fp16_alternative_ok.
+       * gcc.target/arm/aapcs/vfp23.c: Likewise.
+       * gcc.target/arm/aapcs/vfp24.c: Likewise.
+       * gcc.target/arm/aapcs/vfp25.c: Likewise.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/init/new26.C: Fix overriding of the delete operator
+       for c++14 profile.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/tls/pr79288.C: Skip on vxworks_kernel (TLS model
+       not supported).
+
+2021-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * gcc.target/arm/memset-inline-2.c: Add -mno-long-calls to
+       the test's dg-options.
+       * gcc.target/arm/pr78255-2.c: Likewise.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.old-deja/g++.mike/p658.C: Also undefine OK on VxWorks RTP.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/opt/20050511-1.C: Work around UINT32 in vxworks rtp
+       headers too.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.old-deja/g++.pt/const2.C: Skip on vxworks kernel.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/warn/miss-format-1.C: Remove vxworks-specific test
+       directives.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/tree-ssa/copyprop.C: Undefine ERROR if defined.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * g++.dg/other/anon5.C: Skip on vxworks kernel.
+
+2021-01-01  Jerome Lambourg  <lambourg@adacore.com>
+
+       * gcc.dg/vxworks/initpri1.c: Tigthen VxWorks version check.
+       * gcc.dg/vxworks/initpri2.c: Likewise.
+
+2021-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * gcc.dg/intmax_t-1.c: Do not expect an error on *-*-vxworks7r*
+       targets.
+
+2021-01-01  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.dg/pthread-init-1.c: Fix the VxWorks xfail filters.
+       * gcc.dg/pthread-init-2.c: Ditto.
+
+2021-01-01  Olivier Hainque  <hainque@adacore.com>
+
+       * lib/target-supports.exp (check_weak_available,
+       check_fork_available, check_effective_target_lto,
+       check_effective_target_mempcpy): Add vxworks filters.
+
+2021-01-01  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Pass an
+       explicit -mno-long-calls.
+       * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.
+
+2021-01-01  Alexandre Oliva  <oliva@adacore.com>
+
+       * g++.target/arm/no_unique_address_1.C: Add -mno-long-calls.
+       * g++.target/arm/no_unique_address_2.C: Likewise.
+
+2021-01-01  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/headmerge-1.c: Add -mno-long-calls.
+       * gcc.target/arm/headmerge-2.c: Likewise.
+
+2021-01-01  Alexandre Oliva  <oliva@adacore.com>
+
+       * gcc.target/arm/fp16-aapcs-2.c: Use -mno-long-calls.
+\f
+Copyright (C) 2021 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.
diff --git a/libgfortran/ChangeLog-2021 b/libgfortran/ChangeLog-2021
new file mode 100644 (file)
index 0000000..2f9769e
--- /dev/null
@@ -0,0 +1,384 @@
+2021-12-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * runtime/string.c (gfc_itoa): Use _Static_assert directly
+       instead of via the static_assert macro.
+
+2021-12-29  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       * ieee/ieee_helper.c: Fix enum values.
+
+2021-12-27  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       PR libfortran/98076
+       * runtime/string.c (gfc_itoa): Use two args for static_assert().
+
+2021-12-26  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       PR libfortran/98076
+       * runtime/string.c (itoa64, itoa64_pad19): New helper functions.
+       (gfc_itoa): On targets with 128-bit integers, call fast
+       64-bit functions to avoid many slow divisions.
+
+2021-12-25  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       PR libfortran/81986
+       PR libfortran/99191
+       * libgfortran.h: Remove gfc_xtoa(), adjust gfc_itoa() and
+       GFC_ITOA_BUF_SIZE.
+       * io/write.c (write_decimal): conversion parameter is always
+       gfc_itoa(), so remove it. Protect from overflow.
+       (xtoa): Move gfc_xtoa and update its name.
+       (xtoa_big): Renamed from ztoa_big for consistency.
+       (write_z): Adjust to new function names.
+       (write_i, write_integer): Remove last arg of write_decimal.
+       * runtime/backtrace.c (error_callback): Comment on the use of
+       gfc_itoa().
+       * runtime/error.c (gfc_xtoa): Move to io/write.c.
+       * runtime/string.c (gfc_itoa): Take an unsigned argument,
+       remove the handling of negative values.
+
+2021-12-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       * kinds-override.h: Move GFC_REAL_16_IS_* macros...
+       * mk-kinds-h.sh: ... here.
+
+2021-12-19  Francois-Xavier Coudert  <fxcoudert@gmail.com>
+
+       * configure.host: Add aarch64-apple-darwin support.
+       * config/fpu-aarch64.h: New file.
+
+2021-12-18  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * libgfortran.h: include ctype.h, provide safe macros.
+       * io/format.c: use safe macros.
+       * io/list_read.c: use safe macros.
+       * io/read.c: use safe macros.
+       * io/write.c: use safe macros.
+       * runtime/environ.c: use safe macros.
+
+2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * io/file_pos.c: Fix error code.
+
+2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsics/time_1.h: Prefer clock_gettime() over
+         gettimeofday().
+       * intrinsics/date_and_time.c: Fix timezone wrapping.
+
+2021-12-14  Harald Anlauf  <anlauf@gmx.de>
+
+       PR libfortran/103634
+       * intrinsics/pack_generic.c (pack_internal): Handle case when the
+       array argument of PACK has one or more extents of size zero to
+       avoid invalid reads.
+
+2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/102086
+       PR fortran/92189
+       PR fortran/92621
+       PR fortran/101308
+       PR fortran/101309
+       PR fortran/101635
+       PR fortran/92482
+       * ISO_Fortran_binding.h (CFI_type_cfunptr): Make unique type again.
+       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc,
+       gfc_desc_to_cfi_desc): Add comment that those are no longer called
+       by new code.
+
+2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/94070
+       * intrinsics/size.c (size0, size1): Comment that now not
+       used by newer compiler code.
+
+2021-09-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/101334
+       * intrinsics/associated.c (associated): Also check for same rank.
+
+2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * configure.ac (AM_FCFLAGS): Revert r12-3722 by removing
+       -Wno-missing-include-dirs.
+       * configure: Regenerate.
+
+2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/55534
+       * configure.ac (AM_FCFLAGS): Add -Wno-missing-include-dirs.
+       * configure: Regenerate.
+
+2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * ISO_Fortran_binding.h: Update comments.
+       * runtime/ISO_Fortran_binding.c: Likewise.
+
+2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * ISO_Fortran_binding.h: Only include float.h if the C compiler
+       doesn't have predefined __LDBL_* and __DBL_* macros. Handle
+       LDBL_MANT_DIG == 53 for FreeBSD.
+
+2021-09-13  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * ISO_Fortran_binding.h (CFI_type_long_double)
+       (CFI_type_long_double_Complex) [LDBL_MANT_DIG == 64 &&
+       LDBL_MIN_EXP == -16382 && LDBL_MAX_EXP == 16384]: Define.
+
+2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
+
+       * Makefile.am (gfor_built_src): Depend on
+       include/ISO_Fortran_binding.h not on ISO_Fortran_binding.h.
+       (ISO_Fortran_binding.h): Rename make target to ...
+       (include/ISO_Fortran_binding.h): ... this.
+       * Makefile.in: Regenerate.
+
+2021-09-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * ISO_Fortran_binding-1-tmpl.h: Deleted.
+       * ISO_Fortran_binding-2-tmpl.h: Deleted.
+       * ISO_Fortran_binding-3-tmpl.h: Deleted.
+       * ISO_Fortran_binding.h: New file to replace the above.
+       * Makefile.am (gfor_cdir): Remove MULTISUBDIR.
+       (ISO_Fortran_binding.h): Simplify to just copy the file.
+       * Makefile.in: Regenerated.
+       * mk-kinds-h.sh: Revert pieces no longer needed for
+       ISO_Fortran_binding.h.
+
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+           José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100907
+       PR fortran/100911
+       PR fortran/100914
+       PR fortran/100915
+       PR fortran/100917
+       * ISO_Fortran_binding-1-tmpl.h (CFI_type_cfunptr): Make equivalent
+       to CFI_type_cptr.
+       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Fix
+       handling of CFI_type_cptr and CFI_type_cfunptr.  Additional error
+       checking and code cleanup.
+       (gfc_desc_to_cfi_desc): Likewise.  Also correct kind mapping
+       for character, complex, and long double types.
+
+2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * Makefile.am: Use configured libm availability.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Use libtool macro to find libm availability.
+       * libgfortran.spec.in: Use configured libm availability.
+
+2021-08-10  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libfortran/101305
+       PR fortran/101660
+       PR testsuite/101847
+       * Makefile.am (ISO_Fortran_binding.h): Create include/ in the build dir
+       and copy the include file to it.
+       (clean-local): Add for removing the 'include' directory.
+       * Makefile.in: Regenerate.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101317
+       * runtime/ISO_Fortran_binding.c: Include <inttypes.h>.
+       (CFI_address): Tidy error messages and comments.
+       (CFI_allocate): Likewise.
+       (CFI_deallocate): Likewise.
+       (CFI_establish): Likewise.  Add new checks for validity of
+       elem_len when it's used, plus type argument and extents.
+       (CFI_is_contiguous): Tidy error messages and comments.
+       (CFI_section): Likewise.  Refactor some repetitive code to
+       make it more understandable.
+       (CFI_select_part): Likewise.
+       (CFI_setpointer): Likewise.  Check that source is not an
+       unallocated allocatable array or an assumed-size array.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101310
+       * runtime/ISO_Fortran_binding.c (CFI_section): Fix the base
+       address computation and simplify the code.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR libfortran/101305
+       * runtime/ISO_Fortran_binding.c (CFI_establish): Special-case
+       CFI_type_cptr and CFI_type_cfunptr.  Correct size of long double
+       on targets where it has kind 10.
+
+2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libfortran/101305
+       * ISO_Fortran_binding.h: Fix hard-coded sizes and split into...
+       * ISO_Fortran_binding-1-tmpl.h: New file.
+       * ISO_Fortran_binding-2-tmpl.h: New file.
+       * ISO_Fortran_binding-3-tmpl.h: New file.
+       * Makefile.am: Add rule for generating ISO_Fortran_binding.h.
+       Adjust pathnames to that file.
+       * Makefile.in: Regenerated.
+       * mk-kinds-h.sh: New file.
+       * runtime/ISO_Fortran_binding.c: Fix include path.
+
+2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93308
+       PR fortran/93963
+       PR fortran/94327
+       PR fortran/94331
+       PR fortran/97046
+       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Add code
+       to verify the descriptor. Correct bounds calculation.
+       (gfc_desc_to_cfi_desc): Add code to verify the descriptor.
+
+2021-07-22  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * runtime/ISO_Fortran_binding.c (CFI_allocate): Don't use elem_len
+       for CFI_type_signed_char.
+       (CFI_select_part): Likewise.
+
+2021-07-01  Tobias Burnus  <tobias@codesourcery.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc):
+       Initialize version field to 0.
+       (gfc_desc_to_cfi_desc): Initialize version field to CFI_VERSION.
+
+2021-06-29  Julian Brown  <julian@codesourcery.com>
+
+       PR target/96306
+       * configure.ac: Remove stanza that removes KIND=16 integers for AMD GCN.
+       * configure: Regenerate.
+
+2021-06-22  Sandra Loosemore  <sandra@codesourcery.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/93524
+       * runtime/ISO_Fortran_binding.c (CFI_allocate): Fix
+       sm computation.
+
+2021-06-08  Martin Liska  <mliska@suse.cz>
+
+       * intrinsics/chmod.c (chmod_internal): Fix typo.
+       * io/transfer.c (read_sf): Likewise.
+
+2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100120
+       * intrinsics/associated.c (associated): have associated verify if
+       the "span" matches insted of the "elem_len".
+       * libgfortran.h (GFC_DESCRIPTOR_SPAN): add macro to retrive the
+       descriptor "span".
+
+2021-05-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+       PR fortran/98301
+       * caf/libcaf.h (_gfortran_caf_random_init): New function.
+       * caf/single.c (_gfortran_caf_random_init): New function.
+       * gfortran.map: Added fndecl.
+       * intrinsics/random_init.f90: Implement random_init.
+
+2021-05-05  Tobias Burnus  <tobias@codesourcery.com>
+
+       * intrinsics/chmod.c (chmod_internal): Only declare mode_mask var
+       if HAVE_UMASK.
+
+2021-05-02  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libgomp/100352
+       * io/transfer.c (st_read_done_worker, st_write_done_worker): Add new
+       arg whether to unlock unit.
+       (st_read_done, st_write_done): Call it with true.
+       * io/async.c (async_io): Call it with false.
+       * io/io.h (st_write_done_worker, st_read_done_worker): Update prototype.
+
+2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * io/transfer.c (st_read_done_worker, st_write_done_worker):
+       Call unlock_unit here, add unit_lock lock around newunit_free call.
+       (st_read_done, st_write_done): Only call unlock_unit when not
+       calling the worker function.
+       * io/unit.c (set_internal_unit): Don't reset the unit_number
+       to the same number as this cause race warnings.
+
+2021-03-05  Harald Anlauf  <anlauf@gmx.de>
+
+       PR libfortran/99218
+       * m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
+       * generated/matmul_c10.c: Regenerated.
+       * generated/matmul_c16.c: Likewise.
+       * generated/matmul_c4.c: Likewise.
+       * generated/matmul_c8.c: Likewise.
+       * generated/matmul_i1.c: Likewise.
+       * generated/matmul_i16.c: Likewise.
+       * generated/matmul_i2.c: Likewise.
+       * generated/matmul_i4.c: Likewise.
+       * generated/matmul_i8.c: Likewise.
+       * generated/matmul_r10.c: Likewise.
+       * generated/matmul_r16.c: Likewise.
+       * generated/matmul_r4.c: Likewise.
+       * generated/matmul_r8.c: Likewise.
+       * generated/matmulavx128_c10.c: Likewise.
+       * generated/matmulavx128_c16.c: Likewise.
+       * generated/matmulavx128_c4.c: Likewise.
+       * generated/matmulavx128_c8.c: Likewise.
+       * generated/matmulavx128_i1.c: Likewise.
+       * generated/matmulavx128_i16.c: Likewise.
+       * generated/matmulavx128_i2.c: Likewise.
+       * generated/matmulavx128_i4.c: Likewise.
+       * generated/matmulavx128_i8.c: Likewise.
+       * generated/matmulavx128_r10.c: Likewise.
+       * generated/matmulavx128_r16.c: Likewise.
+       * generated/matmulavx128_r4.c: Likewise.
+       * generated/matmulavx128_r8.c: Likewise.
+
+2021-03-03  Vittorio Zecca  <zeccav@gmail.com>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       PR libfortran/81986
+       * runtime/string.c (gfc_itoa): Cast to unsigned before
+       negating.
+
+2021-02-12  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+
+       PR libfortran/95647
+       * ieee/ieee_arithmetic.F90: Flip interfaces of operators .eq. to
+       == and .ne. to /= .
+
+2021-02-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/98825
+       * io/transfer.c (next_record_w): Insert check for seen_dollar and if
+       so, skip issueing next record.
+
+2021-01-27  Harris Snyder  <hsnyder@structura.bio>
+
+       * runtime/ISO_Fortran_binding.c (CFI_establish): fixed
+       strides for rank >2 arrays.
+
+2021-01-15  Harris Snyder  <hsnyder@structura.bio>
+
+       * runtime/ISO_Fortran_binding.c (CFI_establish): Fixed signed
+         char arrays. Signed char or uint8_t arrays would cause
+         crashes unless an element size is specified.
+
+2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * configure: Re-generate.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.
diff --git a/libstdc++-v3/ChangeLog-2021 b/libstdc++-v3/ChangeLog-2021
new file mode 100644 (file)
index 0000000..2a431fc
--- /dev/null
@@ -0,0 +1,9013 @@
+2021-12-15  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_iterator.h
+       (std::pointer_traits<__gnu_cxx::__normal_iterator<>>): Remove.
+       (std::__to_address(const __gnu_cxx::__normal_iterator<>&)): New for C++11 to C++17.
+       * include/debug/safe_iterator.h
+       (std::__to_address(const __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<>,
+       _Sequence>&)): New for C++11 to C++17.
+       * testsuite/24_iterators/normal_iterator/to_address.cc: Add check on std::vector::iterator
+       to validate both __gnu_cxx::__normal_iterator<> __to_address overload in normal mode and
+       __gnu_debug::_Safe_iterator in _GLIBCXX_DEBUG mode.
+
+2021-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/71557
+       * include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
+       Compare characters other than format specifiers and whitespace
+       case insensitively.
+       (_M_extract_name): Compare characters case insensitively.
+       * testsuite/22_locale/time_get/get/char/71557.cc: New test.
+       * testsuite/22_locale/time_get/get/wchar_t/71557.cc: New test.
+
+2021-12-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103687
+       * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore
+       original locale before returning.
+       * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p
+       in locale's T_FMT and adjust accordingly.
+       * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
+
+2021-12-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102447
+       * include/bits/regex_compiler.h (_Compiler::_BracketState): New
+       class.
+       (_Compiler::_BrackeyMatcher): New alias template.
+       (_Compiler::_M_expression_term): Change pair<bool, CharT>
+       parameter to _BracketState. Process first character for
+       ECMAScript syntax as well as POSIX.
+       * include/bits/regex_compiler.tcc
+       (_Compiler::_M_insert_bracket_matcher): Pass _BracketState.
+       (_Compiler::_M_expression_term): Use _BracketState to store
+       state between calls. Improve handling of dashes in ranges.
+       * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
+       Add more tests for ranges containing dashes. Check invalid
+       ranges with character class at the beginning.
+
+2021-12-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType):
+       Rename to uintptr_t and define as __UINTPTR_TYPE__.
+
+2021-12-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_constants.h (__syntax_option, __match_flag):
+       Remove.
+       (syntax_option_type, match_flag_type): Define enumerators.
+       Use to initialize globals. Add constexpr to compound assignment
+       operators.
+       * include/bits/regex_error.h (error_type): Add comment.
+       * testsuite/28_regex/constants/constexpr.cc: Remove comment.
+       * testsuite/28_regex/constants/error_type.cc: Improve comment.
+       * testsuite/28_regex/constants/match_flag_type.cc: Check bitmask
+       requirements.
+       * testsuite/28_regex/constants/syntax_option_type.cc: Likewise.
+
+2021-12-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_compiler.tcc (_Compiler::_M_match_token):
+       Use reserved name for parameter.
+       * testsuite/17_intro/names.cc: Check "token".
+
+2021-12-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * scripts/make_exports.pl: Replace '?' with '.' when turning
+       a glob into a regex.
+
+2021-12-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (ranges::size, ranges::empty): Add
+       explicit check for unbounded arrays before using ranges::begin.
+       * testsuite/std/ranges/access/empty.cc: Check handling of unbounded
+       arrays.
+       * testsuite/std/ranges/access/size.cc: Likewise.
+
+2021-12-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103664
+       * include/bits/regex.h (__regex_replace): Declare.
+       (regex_replace): Use it.
+       * include/bits/regex.tcc (__regex_replace): Replace regex_replace
+       definition with __regex_replace.
+       * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test.
+
+2021-12-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103534
+       * include/bits/basic_string.h (append (basic_string)): Call pointer
+       append instead of _M_append directly.
+
+2021-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/71367
+       * config/locale/dragonfly/time_members.cc (_M_initialize_timepunct):
+       Initialize "C" _M_am_pm_format to %I:%M:%S %p rather than empty
+       string.
+       * config/locale/gnu/time_members.cc (_M_initialize_timepunct):
+       Likewise.
+       * config/locale/generic/time_members.cc (_M_initialize_timepunct):
+       Likewise.
+       * include/bits/locale_facets_nonio.h (_M_am_pm_format): New method.
+       * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Handle
+       %r.
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_am_pm_format
+       with const _CharT** argument, ensure it isn't exported in GLIBCXX_3.4.
+       * testsuite/22_locale/time_get/get/char/71367.cc: New test.
+       * testsuite/22_locale/time_get/get/wchar_t/71367.cc: New test.
+
+2021-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/78714
+       * include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
+       Mention in function comment it interprets strptime format string
+       rather than strftime.  Handle %a and %A the same by accepting both
+       full and abbreviated names.  Similarly handle %h, %b and %B the same.
+       Handle %d and %e the same by accepting possibly optional single space
+       and 1 or 2 digits.  For %I store tm_hour 0 instead of tm_hour 12.  For
+       %t and %n skip any whitespace.  Handle %p and %%.  For whitespace in
+       the string skip any whitespace.
+       (_M_extract_num): For __len == 2 accept 1 or 2 digits rather than
+       always 2.  Don't punt early if __value * __mult is larget than __max
+       or smaller than __min - __mult, instead punt if __value > __max.
+       At the end verify __value is in between __min and __max and punt
+       otherwise.
+       (_M_extract_name): Allow non-unique names or names which are prefixes
+       of other names.  Don't recompute lengths of names for every character.
+       * testsuite/22_locale/time_get/get/char/3.cc: New test.
+       * testsuite/22_locale/time_get/get/wchar_t/3.cc: New test.
+       * testsuite/22_locale/time_get/get_date/char/12791.cc (test01): Use
+       62 instead 60 and expect 6 to be accepted and thus *ret01 == '2'.
+       * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc (test01):
+       Similarly.
+       * testsuite/22_locale/time_get/get_time/char/2.cc (test02): Add " PM"
+       to the string.
+       * testsuite/22_locale/time_get/get_time/char/5.cc (test01): Expect
+       tm_hour 1 rather than 0.
+       * testsuite/22_locale/time_get/get_time/wchar_t/2.cc (test02): Add
+       " PM" to the string.
+       * testsuite/22_locale/time_get/get_time/wchar_t/5.cc (test01): Expect
+       tm_hour 1 rather than 0.
+
+2021-12-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103638
+       * include/bits/atomic_timed_wait.h: Check _GLIBCXX_HAS_GTHREADS
+       before using std::mutex and std::__condvar.
+
+2021-12-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add _GLIBCXX_
+       prefix to NO_SLEEP macro.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2021-12-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/char_traits.h: Change pragma push to pop.
+
+2021-12-10  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       PR libstdc++/102994
+       * include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()):
+       Add const qualifier.
+       * include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()):
+       Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/102994.cc:
+       New test.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (operator==, operator<=>): Define
+       overloads for homogeneous specializations of reverse_iterator,
+       __normal_iterator and move_iterator.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/scoped_allocator/69293_neg.cc: Remove
+       dg-error for c++20.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/85813
+       * libsupc++/exception_ptr.h (__dest_thunk): Add macro for
+       destructor calling convention.
+       (make_exception_ptr): Enable non-throwing implementation for
+       -fno-exceptions and for non-standard calling conventions. Use
+       always_inline attribute on the useless no-rtti no-exceptions
+       definition.
+       * testsuite/18_support/exception_ptr/64241.cc: Add -fno-rtti so
+       the no-op implementation is still used.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103630
+       * libsupc++/exception_ptr.h (exception_ptr): Fix exception
+       specifications on inline definitions.
+       (make_exception_ptr): Decay the template parameter. Use typeid
+       of the static type.
+       * testsuite/18_support/exception_ptr/103630.cc: New test.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/59769
+       * config/io/basic_file_stdio.cc (fopen_mode): Add support for
+       exclusive mode.
+       * include/bits/ios_base.h (_S_noreplace): Define new enumerator.
+       (ios_base::__noreplace): Define.
+       (ios_base::noreplace): Define for C++23.
+       * include/std/version (__cpp_lib_ios_noreplace): Define.
+       * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test.
+       * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103382
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Do not export old
+       symbol if .symver renaming is supported.
+       (GLIBCXX_3.4.30): Export new symbol if .symver renaming is
+       supported.
+       * doc/xml/manual/evolution.xml: Document change.
+       * doc/html/manual/api.html: Regenerate.
+       * include/bits/std_mutex.h (__condvar::wait, __condvar::wait_until):
+       Remove noexcept.
+       * include/std/condition_variable (condition_variable::wait):
+       Likewise.
+       * src/c++11/condition_variable.cc (condition_variable::wait):
+       Likewise.
+       * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
+       Define nothrow wrapper around std::condition_variable::wait and
+       export the old symbol as an alias to it.
+       * testsuite/30_threads/condition_variable/members/103382.cc: New test.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92300
+       * include/bits/stl_map.h (insert(Pair&&), emplace(Args&&...)):
+       Check whether the arguments can be looked up directly without
+       constructing a temporary node first.
+       * include/bits/stl_pair.h (__is_pair): Move to here, from ...
+       * include/bits/uses_allocator_args.h (__is_pair): ... here.
+       * testsuite/23_containers/map/modifiers/emplace/92300.cc: New test.
+       * testsuite/23_containers/map/modifiers/insert/92300.cc: New test.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h (basic_string::_M_leak_hard): Do not
+       reallocate an empty string.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103332
+       PR libstdc++/102958
+       PR libstdc++/103483
+       * include/bits/char_traits.h: Suppress stringop and array-bounds
+       warnings.
+
+2021-12-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/64135
+       * config/allocator/new_allocator_base.h: Include
+       <bits/new_allocator.h> instead of <ext/new_allocator.h>.
+       (__allocator_base): Use std::__new_allocator instead of
+       __gnu_cxx::new_allocator.
+       * doc/xml/manual/allocator.xml: Document new default base class
+       for std::allocator.
+       * doc/xml/manual/evolution.xml: Likewise.
+       * doc/html/*: Regenerate.
+       * include/Makefile.am: Add bits/new_allocator.h.
+       * include/Makefile.in: Regenerate.
+       * include/experimental/memory_resource (new_delete_resource):
+       Use std::__new_allocator instead of __gnu_cxx::new_allocator.
+       * include/ext/new_allocator.h (new_allocator): Derive from
+       std::__new_allocator. Move implementation to ...
+       * include/bits/new_allocator.h: New file.
+       * testsuite/20_util/allocator/64135.cc: New test.
+
+2021-12-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()):
+       Make shift width conditional on __double_word condition.
+
+2021-12-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and
+       __niter_wrap to limit _GLIBCXX_DEBUG mode impact.
+       * include/std/vector (erase_if): Likewise.
+
+2021-12-08  Maged Michael  <maged.michael@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_TSAN): Define macro
+       indicating that TSan is in use.
+       * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release):
+       Replace definition in primary template with explicit
+       specializations for _S_mutex and _S_atomic policies.
+       (_Sp_counted_base<_S_mutex>::_M_release): New specialization.
+       (_Sp_counted_base<_S_atomic>::_M_release): New specialization,
+       using a single atomic load to access both reference counts at
+       once.
+       (_Sp_counted_base::_M_release_last_use): New member function.
+
+2021-12-07  Tamar Christina  <tamar.christina@arm.com>
+
+       Revert:
+       2021-11-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR libstdc++/103305
+       * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
+       space, print, graph, cntrl, punct, alnum, blank): Use short or long
+       names depending on if short ones are defined.
+
+2021-12-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103549
+       * include/bits/regex.h (match_results): Give names to template
+       parameters in first declaration.
+       (match_results::_M_begin): Add default member-initializer.
+
+2021-12-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_tree.h (_Rb_tree::_Auto_node): Define new
+       RAII helper for creating and inserting new nodes.
+       (_Rb_tree::_M_insert_node): Use trailing-return-type to simplify
+       out-of-line definition.
+       (_Rb_tree::_M_insert_lower_node): Likewise.
+       (_Rb_tree::_M_insert_equal_lower_node): Likewise.
+       (_Rb_tree::_M_emplace_unique): Likewise. Use _Auto_node.
+       (_Rb_tree::_M_emplace_equal): Likewise.
+       (_Rb_tree::_M_emplace_hint_unique): Likewise.
+       (_Rb_tree::_M_emplace_hint_equal): Likewise.
+
+2021-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/cow-stdexcept.cc [_GLIBCXX_FULLY_DYNAMIC_STRING]
+       (logic_error, runtime_error): Remove custom definitions.
+
+2021-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103340
+       PR libstdc++/103400
+       PR libstdc++/103381
+       * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap
+       and pool options.
+       * configure: Regenerate.
+       * config/allocator/bitmap_allocator_base.h: Removed.
+       * config/allocator/mt_allocator_base.h: Removed.
+       * config/allocator/pool_allocator_base.h: Removed.
+       * doc/xml/manual/allocator.xml: Update.
+       * doc/xml/manual/configure.xml: Update.
+       * doc/xml/manual/evolution.xml: Document removal.
+       * doc/xml/manual/mt_allocator.xml: Editorial tweaks.
+       * doc/html/manual/*: Regenerate.
+
+2021-12-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h (basic_string::_M_is_leaked()):
+       Revert change to check __is_single_threaded() before using
+       atomic load.
+
+2021-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103501
+       * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)):
+       Clear container if elements have been moved-from.
+       * testsuite/23_containers/map/allocator/move_cons.cc: Expect
+       moved-from container to be empty.
+       * testsuite/23_containers/multimap/allocator/move_cons.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/allocator/103501.cc: New test.
+       * testsuite/23_containers/set/allocator/103501.cc: New test.
+
+2021-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (PREDEFINED): Change macro name.
+       * include/bits/allocator.h (allocate, deallocate): Use
+       std::__is_constant_evaluated() unconditionally, instead of
+       checking whether std::is_constant_evaluated() (or the built-in)
+       can be used.
+       * include/bits/basic_string.h: Check new macro. call
+       std::is_constant_evaluated() directly in C++20-only code that is
+       guarded by a suitable macro.
+       * include/bits/basic_string.tcc: Likewise.
+       * include/bits/c++config (__is_constant_evaluated): Define.
+       (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ...
+       (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro.
+       * include/bits/char_traits.h (char_traits): Replace conditional
+       calls to std::is_constant_evaluated with unconditional calls to
+       std::__is_constant_evaluated.
+       * include/bits/cow_string.h: Use new macro.
+       * include/bits/ranges_algobase.h (__copy_or_move): Replace
+       conditional calls to std::is_constant_evaluated with unconditional
+       calls to std::__is_constant_evaluated.
+       (__copy_or_move_backward, __fill_n_fn): Likewise.
+       * include/bits/ranges_cmp.h (ranges::less): Likewise.
+       * include/bits/stl_algobase.h (lexicographical_compare_three_way):
+       Likewise.
+       * include/bits/stl_bvector.h: Call std::is_constant_evaluated
+       directly in C++20-only code that is guarded by a suitable macro.
+       * include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n):
+       Replace is_constant_evaluated with __is_constant_evaluated.
+       * include/bits/stl_function.h (greater, less, greater_equal)
+       (less_equal): Replace __builtin_is_constant_evaluated and
+       __builtin_constant_p with __is_constant_evaluated.
+       * include/bits/stl_vector.h: Call std::is_constant_evaluated()
+       in C++20-only code.
+       * include/debug/helper_functions.h (__check_singular): Use
+       __is_constant_evaluated instead of built-in, or remove check
+       entirely.
+       * include/std/array (operator<=>): Use __is_constant_evaluated
+       unconditionally.
+       * include/std/bit (__bit_ceil): Likewise.
+       * include/std/type_traits (is_constant_evaluated): Define using
+       'if consteval' if possible.
+       * include/std/version: Use new macro.
+       * libsupc++/compare: Use __is_constant_evaluated instead of
+       __builtin_is_constant_evaluated.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+       Adjust dg-error lines.
+
+2021-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h (basic_string::_M_is_leaked): Use
+       non-atomic load when __is_single_threaded() is true.
+       (basic_string::_M_is_shared): Likewise.
+       (basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]:
+       Use non-atomic store when rvalue is not shared.
+
+2021-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove
+       micro-optimization for "/" path.
+       * src/filesystem/path.cc (path::_M_split_cmpts()): Only access
+       the contents of _M_pathname using const member functions.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow
+       moved-from string to be non-empty.
+       * testsuite/21_strings/basic_string/cons/char/moveable2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
+       Construct empty string before setting oom flag.
+       * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
+       Likewise.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h (basic_string(basic_string&&)): Fix
+       mem-initializer for _GLIBCXX_FULLY_DYNAMIC_STRING==0 case.
+       * testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc:
+       Remove outdated comment.
+       * testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc:
+       Likewise.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to
+       select new ABI.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_vector.h (vector::_S_do_relocate): Remove
+       C++20 constexpr specifier.
+       (vector::_S_relocate) [__cpp_if_constexpr]: Call __relocate_a
+       directly without tag dispatching.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103453
+       * config/allocator/malloc_allocator_base.h
+       (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang.
+       * config/allocator/new_allocator_base.h
+       (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise.
+
+2021-11-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/debug_mode.xml: Replace "his or her" with "their".
+       * doc/html/manual/debug_mode_design.html: Regenerate.
+
+2021-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * include/std/bit (byteswap): Add [[nodiscard]].
+
+2021-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * include/std/bit (__cpp_lib_byteswap, byteswap): Define.
+       * include/std/version (__cpp_lib_byteswap): Define.
+       * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: New test.
+       * testsuite/26_numerics/bit/bit.byteswap/version.cc: New test.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/24_iterators/move_iterator/dr3265.cc: Fix test to
+       account for LWG 3435 resolution.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_uninitialized.h (__relocate_a_1): Do not use
+       memmove during constant evaluation.
+       * include/bits/stl_vector.h (vector::_S_use_relocate()): Do not
+       check is_constant_evaluated in always-constexpr function.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96592
+       * include/std/tuple (tuple::is_constructible): Remove.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/29_atomics/atomic_float/1.cc: Reorder directives.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
+       Change dg-do compile to run.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
+       Likewise.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
+       Remove xfail selector.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
+       Likewise.
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/101411.cc: Likewise.
+       * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
+       * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
+       * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
+       Likewise.
+
+2021-11-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/pointer_traits/lwg3545.cc: Move to_address
+       tests to ...
+       * testsuite/20_util/to_address/lwg3545.cc: ... here. Add -std
+       option before checking effective target.
+
+2021-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
+       Remove dg-error for C++11_only error.
+
+2021-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96416
+       * include/bits/ptr_traits.h (pointer_traits): Reimplement to be
+       SFINAE-friendly (LWG 3545).
+       * testsuite/20_util/pointer_traits/lwg3545.cc: New test.
+       * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line.
+       * testsuite/20_util/to_address/lwg3545.cc: New test.
+
+2021-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101608
+       * include/bits/ranges_algobase.h (__fill_n_fn): Check for
+       constant evaluation before using memset.
+       * testsuite/25_algorithms/fill_n/constrained.cc: Check
+       byte-sized values as well.
+
+2021-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
+       debug mode.
+       * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
+
+2021-11-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/libstdc++.exp: Rename effective target keywords
+       to avoid dashes in the name.
+       * testsuite/*: Update effective targe keywords.
+
+2021-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103086
+       * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr
+       with non-empty pointer and non-empty deleter.
+
+2021-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/50594.cc: Check effective target.
+       * testsuite/20_util/allocator/1.cc: Likewise.
+       * testsuite/20_util/allocator/overaligned.cc: Likewise.
+       * testsuite/23_containers/unordered_map/96088.cc: Likewise.
+       * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
+       * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
+       * testsuite/23_containers/unordered_set/96088.cc: Likewise.
+       * testsuite/ext/throw_allocator/check_delete.cc: Likewise.
+       * testsuite/ext/throw_allocator/check_new.cc: Likewise.
+       * testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new):
+       Define new proc.
+
+2021-11-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103381
+       * include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
+       instead of <functional>.
+
+2021-11-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX14_DEPRECATED): Fix condition
+       checking for C++14.
+
+2021-11-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template
+       parameter. Use it to get iterators to work with.
+       * include/debug/macros.h (__glibcxx_check_erase2): New.
+       * include/debug/map.h (map<>::erase(_Base_const_iterator)): New.
+       (map<>::erase(const_iterator)): Use latter.
+       * include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New.
+       (multimap<>::erase(const_iterator)): Use latter.
+       * include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New.
+       (multiset<>::erase(const_iterator)): Use latter.
+       * include/debug/set.h (set<>::erase(_Base_const_iterator)): New.
+       (set<>::erase(const_iterator)): Use latter.
+       * include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New.
+       (unordered_multimap<>::erase(const_iterator)): New.
+       * include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New.
+       (unordered_multiset<>::erase(const_iterator)): New.
+       * include/experimental/map (erase_if): Adapt.
+       * include/experimental/set (erase_if): Adapt.
+       * include/experimental/unordered_map (erase_if): Adapt.
+       * include/experimental/unordered_set (erase_if): Adapt.
+       * include/std/map (erase_if): Adapt.
+       * include/std/set (erase_if): Adapt.
+       * include/std/unordered_map (erase_if): Adapt.
+       * include/std/unordered_set (erase_if): Adapt.
+
+2021-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_istringstream/cons/char/1.cc: Check all
+       constructors.
+       * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
+       Likewise.
+       * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
+       * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
+       Likewise.
+
+2021-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++98/locale_init.cc (_S_initialize_once): Check if
+       initialization has already been done.
+       (_S_initialize): Replace __gthread_active_p with
+       __is_single_threaded. Use __builtin_expect.
+
+2021-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103295
+       * include/bits/basic_string.tcc (_M_construct): Use the
+       traits assign member to write into allcoated memory.
+
+2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * testsuite/lib/prune.exp: Prune dsymutil (ld64) warning.
+
+2021-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103332
+       PR libstdc++/102958
+       * testsuite/21_strings/basic_string/capacity/char/1.cc: Add
+       -Wno-stringop-overflow.
+       * testsuite/21_strings/basic_string/operators/char/1.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc:
+       Add -Wno-stringop-overread.
+
+2021-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103295
+       * include/bits/basic_string.h (_Alloc_traits): Replace typedef
+       with struct for C++20 mode.
+       * include/bits/basic_string.tcc (_M_replace): Use _Alloc_traits
+       for allocation.
+       * include/bits/char_traits.h (__gnu_cxx::char_traits::assign):
+       Use std::_Construct during constant evaluation.
+       (__gnu_cxx::char_traits::assign(CharT*, const CharT*, size_t)):
+       Likewise. Replace std::fill_n with memset or manual loop.
+       (__gnu_cxx::char_traits::copy): Likewise, replacing std::copy
+       with memcpy.
+       * include/ext/vstring.h: Include <bits/stl_algobase.h> for
+       std::min.
+       * include/std/string_view: Likewise.
+       * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
+       Add constexpr test.
+
+2021-11-19  Tamar Christina  <tamar.christina@arm.com>
+
+       PR libstdc++/103305
+       * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
+       space, print, graph, cntrl, punct, alnum, blank): Use short or long
+       names depending on if short ones are defined.
+
+2021-11-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/char_traits.h (__gnu_cxx::char_traits::move):
+       Do not compare unrelated pointers during constant evaluation.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
+       Improve tests for char_traits::move.
+
+2021-11-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4: Replace AC_CACHE_VAL with AC_CACHE_CHECK.
+       * configure: Regenerate.
+
+2021-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (address): Use std::_Construct
+       to initialize union members.
+
+2021-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (_M_construct_aux): Only define
+       for C++98. Remove constexpr.
+       (_M_construct_aux_2): Likewise.
+       (_M_construct(InputIter, InputIter)): Remove.
+       (basic_string(const basic_string&)): Call _M_construct with
+       iterator category argument.
+       (basic_string(const basic_string&, size_type, const Alloc&)):
+       Likewise.
+       (basic_string(const basic_string&, size_type, size_type)):
+       Likewise.
+       (basic_string(const charT*, size_type, const Alloc&)): Likewise.
+       Check for null pointer.
+       (basic_string(const charT*, const Alloc&)): Likewise.
+       (basic_string(initializer_list<charT>, const Alloc&)): Call
+       _M_construct with iterator category argument.
+       (basic_string(const basic_string&, const Alloc&)): Likewise.
+       (basic_string(basic_string&&, const Alloc&)): Likewise.
+       (basic_string(_InputIter, _InputIter, const Alloc&)): Likewise
+       for C++11 and later, call _M_construct_aux for C++98.
+       * include/bits/basic_string.tcc
+       (_M_construct(I, I, input_iterator_tag)): Replace try-block with
+       RAII type.
+       (_M_construct(I, I, forward_iterator_tag)): Likewise. Remove
+       __is_null_pointer check.
+
+2021-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103295
+       * include/bits/basic_string.h (_M_use_local_data()): New
+       member function to make local buffer the active member.
+       (assign(const basic_string&)): Use it.
+       * include/bits/basic_string.tcc (_M_construct, reserve()):
+       Likewise.
+
+2021-11-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103240
+       * libsupc++/tinfo2.cc (type_info::before): Use unadjusted name
+       to check for the '*' prefix.
+       * testsuite/util/testsuite_shared.cc: Add type_info object for
+       use in new test.
+       * testsuite/18_support/type_info/103240.cc: New test.
+
+2021-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (operator<=>): Use constexpr
+       unconditionally.
+       * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
+       Require cxx11-abit effective target.
+       * testsuite/21_strings/headers/string/synopsis.cc: Add
+       conditional constexpr to declarations, and adjust relational
+       operators for C++20.
+
+2021-11-16  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/MERGE: Update the commit hash.
+       * src/c++17/ryu/d2s_intrinsics.h: Merge from Ryu's master
+       branch.
+
+2021-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (basic_string, operator""s): Add
+       constexpr for C++20.
+       (basic_string::basic_string(basic_string&&)): Only copy
+       initialized portion of the buffer.
+       (basic_string::basic_string(basic_string&&, const Alloc&)):
+       Likewise.
+       * include/bits/basic_string.tcc (basic_string): Add constexpr
+       for C++20.
+       (basic_string::swap(basic_string&)): Only copy initialized
+       portions of the buffers.
+       (basic_string::_M_replace): Add constexpr implementation that
+       doesn't depend on pointer comparisons.
+       * include/bits/cow_string.h: Adjust comment.
+       * include/ext/type_traits.h (__is_null_pointer): Add constexpr.
+       * include/std/string (erase, erase_if): Add constexpr.
+       * include/std/version (__cpp_lib_constexpr_string): Update
+       value.
+       * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string/literals/constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string/modifiers/constexpr.cc: New test.
+       * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc:
+       New test.
+       * testsuite/21_strings/basic_string/version.cc: New test.
+
+2021-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference))
+       (swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)):
+       Define as hidden friends of _Bit_reference.
+
+2021-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
+       Fix reads past the end of strings.
+       * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
+       Likewise.
+       * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
+       Likewise.
+
+2021-11-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/allocator/71964.cc: Fix
+       typo.
+       * testsuite/23_containers/set/allocator/71964.cc: Likewise.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/20_util/to_address/1_neg.cc: Adjust error.
+       * testsuite/26_numerics/random/concept.cc: Adjust asserts.
+
+2021-11-15  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h:
+       (_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New.
+       (_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New.
+       * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter.
+       (_Hashtable<>::_M_merge_multi): Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test.
+       * testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test.
+
+2021-11-15  Jason Merrill  <jason@redhat.com>
+
+       * src/c++17/memory_resource.cc: Add missing constexpr.
+       * include/experimental/internet: Only mark copy constructor
+       as constexpr with __cpp_constexpr_dynamic_alloc.
+
+2021-11-14  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/safe_container.h (_Safe_container<>::_M_safe): Remove.
+       * include/debug/deque (deque::operator=(initializer_list<>)): Replace
+       _M_base() call with _Base:: call.
+       (deque::operator[](size_type)): Likewise.
+       * include/debug/forward_list (forward_list(forward_list&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (forward_list::operator=(initializer_list<>)): Remove _M_base() calls.
+       (forward_list::splice_after, forward_list::merge): Likewise.
+       * include/debug/list (list(list&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (list::operator=(initializer_list<>)): Remove _M_base() calls.
+       (list::splice, list::merge): Likewise.
+       * include/debug/map.h (map(map&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (map::operator=(initializer_list<>)): Remove _M_base() calls.
+       * include/debug/multimap.h (multimap(multimap&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (multimap::operator=(initializer_list<>)): Remove _M_base() calls.
+       * include/debug/set.h (set(set&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (set::operator=(initializer_list<>)): Remove _M_base() calls.
+       * include/debug/multiset.h (multiset(multiset&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (multiset::operator=(initializer_list<>)): Remove _M_base() calls.
+       * include/debug/string (basic_string(basic_string&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (basic_string::operator=(initializer_list<>)): Remove _M_base() call.
+       (basic_string::operator=(const _CharT*), basic_string::operator=(_CharT)): Likewise.
+       (basic_string::operator[](size_type), basic_string::operator+=(const basic_string&)):
+       Likewise.
+       (basic_string::operator+=(const _Char*), basic_string::operator+=(_CharT)): Likewise.
+       * include/debug/unordered_map (unordered_map(unordered_map&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (unordered_map::operator=(initializer_list<>), unordered_map::merge):
+       Remove _M_base() calls.
+       (unordered_multimap(unordered_multimap&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (unordered_multimap::operator=(initializer_list<>), unordered_multimap::merge):
+       Remove _M_base() calls.
+       * include/debug/unordered_set (unordered_set(unordered_set&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (unordered_set::operator=(initializer_list<>), unordered_set::merge):
+       Remove _M_base() calls.
+       (unordered_multiset(unordered_multiset&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (unordered_multiset::operator=(initializer_list<>), unordered_multiset::merge):
+       Remove _M_base() calls.
+       * include/debug/vector (vector(vector&&, const allocator_type&)):
+       Remove _M_safe() and _M_base() calls.
+       (vector::operator=(initializer_list<>)): Remove _M_base() calls.
+       (vector::operator[](size_type)): Likewise.
+
+2021-11-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add spanstream header.
+       * include/Makefile.in: Regenerate.
+       * include/precompiled/stdc++.h: Add spanstream header.
+       * include/std/version (__cpp_lib_spanstream): Define.
+       * include/std/spanstream: New file.
+       * testsuite/27_io/spanstream/1.cc: New test.
+       * testsuite/27_io/spanstream/version.cc: New test.
+
+2021-11-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR libstdc++/103166
+       * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
+       Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_COMPILE.
+       * configure: Regenerate.
+
+2021-11-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/59675
+       * acinclude.m4 (libtool_VERSION): Bump version.
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and
+       export new symbol.
+       * configure: Regenerate.
+       * include/bits/c++config (__replacement_assert): Remove, declare
+       __glibcxx_assert_fail instead.
+       * src/c++11/debug.cc (__glibcxx_assert_fail): New function to
+       replace __replacement_assert, writing to stderr instead of
+       stdout.
+       * testsuite/util/testsuite_abi.cc: Update latest version.
+
+2021-11-12  Jonathan Wakely  <jwakely@redhat.com>
+           Josh Marshall  <joshua.r.marshall.1991@gmail.com>
+
+       * include/bits/alloc_traits.h (_Destroy): Make constexpr for
+       C++20 mode.
+       * include/bits/allocator.h (__shrink_to_fit::_S_do_it):
+       Likewise.
+       * include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator
+       overload constexpr for C++20.
+       * include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out
+       of inline namespace.
+       (_Bit_reference, _Bit_iterator_base, _Bit_iterator)
+       (_Bit_const_iterator, _Bvector_impl_data, _Bvector_base)
+       (vector<bool, A>>): Add constexpr to every member function.
+       (_Bvector_base::_M_allocate): Initialize storage during constant
+       evaluation.
+       (vector<bool, A>::_M_initialize_value): Use __fill_bvector_n
+       instead of memset.
+       (__fill_bvector_n): New helper function to replace memset during
+       constant evaluation.
+       * include/bits/stl_uninitialized.h (__uninitialized_copy<false>):
+       Move logic to ...
+       (__do_uninit_copy): New function.
+       (__uninitialized_fill<false>): Move logic to ...
+       (__do_uninit_fill): New function.
+       (__uninitialized_fill_n<false>): Move logic to ...
+       (__do_uninit_fill_n): New function.
+       (__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy.
+       (__uninitialized_move_a, __uninitialized_move_if_noexcept_a):
+       Add constexpr.
+       (__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill.
+       (__uninitialized_fill_n_a): Add constexpr. Use
+       __do_uninit_fill_n.
+       (__uninitialized_default_n, __uninitialized_default_n_a)
+       (__relocate_a_1, __relocate_a): Add constexpr.
+       * include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl)
+       (_Vector_base, vector): Add constexpr to every member function.
+       (_Vector_impl::_S_adjust): Disable ASan annotation during
+       constant evaluation.
+       (_Vector_base::_S_use_relocate): Disable bitwise-relocation
+       during constant evaluation.
+       (vector::_Temporary_value): Use a union for storage.
+       * include/bits/vector.tcc (vector, vector<bool>): Add constexpr
+       to every member function.
+       * include/std/vector (erase_if, erase): Add constexpr.
+       * testsuite/23_containers/headers/vector/synopsis.cc: Add
+       constexpr for C++20 mode.
+       * testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to
+       compile-only test using constant expressions.
+       * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
+       namespace for _S_word_bit.
+       * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+       Likewise.
+       * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
+       * testsuite/23_containers/vector/cons/89164.cc: Adjust errors
+       for C++20 and move C++17 test to ...
+       * testsuite/23_containers/vector/cons/89164_c++17.cc: ... here.
+       * testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test.
+       * testsuite/23_containers/vector/bool/cons/constexpr.cc: New test.
+       * testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test.
+       * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test.
+       * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test.
+       * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test.
+       * testsuite/23_containers/vector/capacity/constexpr.cc: New test.
+       * testsuite/23_containers/vector/cons/constexpr.cc: New test.
+       * testsuite/23_containers/vector/data_access/constexpr.cc: New test.
+       * testsuite/23_containers/vector/element_access/constexpr.cc: New test.
+       * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test.
+       * testsuite/23_containers/vector/modifiers/constexpr.cc: New test.
+       * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test.
+
+2021-11-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/debug/deque (deque::operator=(const deque&)): Remove
+       definition.
+       * include/debug/list (list::operator=(const list&)): Likewise.
+       * include/debug/map.h (map::operator=(const map&)): Likewise.
+       * include/debug/multimap.h (multimap::operator=(const multimap&)):
+       Likewise.
+       * include/debug/multiset.h (multiset::operator=(const multiset&)):
+       Likewise.
+       * include/debug/set.h (set::operator=(const set&)): Likewise.
+       * include/debug/string (basic_string::operator=(const basic_string&)):
+       Likewise.
+       * include/debug/vector (vector::operator=(const vector&)):
+       Likewise.
+       (_Safe_vector::operator=(const _Safe_vector&)): Define for
+       C++98 as well.
+
+2021-11-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/memory_resource (memory_resource::allocate):
+       Implicitly create objects in the returned storage.
+
+2021-11-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_bvector.h (vector<bool>::data()): Give
+       protected access, and delete for C++11 and later.
+
+2021-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100117
+       * testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list
+       all C++ headers instead of including <bits/stdc++.h>
+
+2021-11-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100748
+       PR libstdc++/103133
+       * config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
+       Define for glibc 2.34 and later.
+
+2021-11-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable_policy.h (__distance_fw): Replace class keyword with
+       typename.
+       * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Remove noexcept
+       qualification. Use const_iterator for node extraction/reinsert.
+       (_Hashtable<>::_M_merge_multi): Likewise. Compute new hash code before extract.
+       * include/debug/safe_container.h (_Safe_container<>): Make all methods
+       protected.
+       * include/debug/safe_unordered_container.h
+       (_Safe_unordered_container<>::_UContInvalidatePred<_ExtractKey, _Source>): New.
+       (_Safe_unordered_container<>::_UMContInvalidatePred<_ExtractKey, _Source>): New.
+       (_Safe_unordered_container<>::_UContMergeGuard<_Source, _InvalidatePred>): New.
+       (_Safe_unordered_container<>::_S_uc_guard<_ExtractKey, _Source>): New.
+       (_Safe_unordered_container<>::_S_umc_guard<_ExtractKey, _Source>): New.
+       (_Safe_unordered_container<>::_M_invalide_all): Make public.
+       (_Safe_unordered_container<>::_M_invalide_if): Likewise.
+       (_Safe_unordered_container<>::_M_invalide_local_if): Likewise.
+       * include/debug/unordered_map
+       (unordered_map<>::mapped_type, pointer, const_pointer): New typedef.
+       (unordered_map<>::reference, const_reference, difference_type): New typedef.
+       (unordered_map<>::get_allocator, empty, size, max_size): Add usings.
+       (unordered_map<>::bucket_count, max_bucket_count, bucket): Add usings.
+       (unordered_map<>::hash_function, key_equal, count, contains): Add usings.
+       (unordered_map<>::operator[], at, rehash, reserve): Add usings.
+       (unordered_map<>::merge): New.
+       (unordered_multimap<>::mapped_type, pointer, const_pointer): New typedef.
+       (unordered_multimap<>::reference, const_reference, difference_type): New typedef.
+       (unordered_multimap<>::get_allocator, empty, size, max_size): Add usings.
+       (unordered_multimap<>::bucket_count, max_bucket_count, bucket): Add usings.
+       (unordered_multimap<>::hash_function, key_equal, count, contains): Add usings.
+       (unordered_multimap<>::rehash, reserve): Add usings.
+       (unordered_multimap<>::merge): New.
+       * include/debug/unordered_set
+       (unordered_set<>::mapped_type, pointer, const_pointer): New typedef.
+       (unordered_set<>::reference, const_reference, difference_type): New typedef.
+       (unordered_set<>::get_allocator, empty, size, max_size): Add usings.
+       (unordered_set<>::bucket_count, max_bucket_count, bucket): Add usings.
+       (unordered_set<>::hash_function, key_equal, count, contains): Add usings.
+       (unordered_set<>::rehash, reserve): Add usings.
+       (unordered_set<>::merge): New.
+       (unordered_multiset<>::mapped_type, pointer, const_pointer): New typedef.
+       (unordered_multiset<>::reference, const_reference, difference_type): New typedef.
+       (unordered_multiset<>::get_allocator, empty, size, max_size): Add usings.
+       (unordered_multiset<>::bucket_count, max_bucket_count, bucket): Add usings.
+       (unordered_multiset<>::hash_function, key_equal, count, contains): Add usings.
+       (unordered_multiset<>::rehash, reserve): Add usings.
+       (unordered_multiset<>::merge): New.
+       * testsuite/23_containers/unordered_map/debug/merge1_neg.cc: New test.
+       * testsuite/23_containers/unordered_map/debug/merge2_neg.cc: New test.
+       * testsuite/23_containers/unordered_map/debug/merge3_neg.cc: New test.
+       * testsuite/23_containers/unordered_map/debug/merge4_neg.cc: New test.
+       * testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc: New test.
+       * testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc: New test.
+       * testsuite/23_containers/unordered_multimap/debug/merge3_neg.cc: New test.
+       * testsuite/23_containers/unordered_multimap/debug/merge4_neg.cc: New test.
+       * testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc: New test.
+       * testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc: New test.
+       * testsuite/23_containers/unordered_multiset/debug/merge3_neg.cc: New test.
+       * testsuite/23_containers/unordered_multiset/debug/merge4_neg.cc: New test.
+       * testsuite/23_containers/unordered_set/debug/merge1_neg.cc: New test.
+       * testsuite/23_containers/unordered_set/debug/merge2_neg.cc: New test.
+       * testsuite/23_containers/unordered_set/debug/merge3_neg.cc: New test.
+       * testsuite/23_containers/unordered_set/debug/merge4_neg.cc: New test.
+       * testsuite/util/testsuite_abi.h: [_GLIBCXX_DEBUG] Use normal unordered
+       container implementation.
+
+2021-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/random/random_device/cons/token.cc:
+       Print results of random_device_available checks.
+
+2021-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103146
+       * src/c++11/random.cc: Check __powerpc64__ not __powerpc__.
+
+2021-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
+       Define.
+       * configure.ac (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
+       Use them.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * src/c++11/random.cc (random_device): Add getentropy and
+       arc4random as sources.
+       * testsuite/26_numerics/random/random_device/cons/token.cc:
+       Check new tokens.
+       * testsuite/26_numerics/random/random_device/entropy.cc:
+       Likewise.
+
+2021-11-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/random/random_device/cons/token.cc:
+       Retry if random devices produce the same value.
+
+2021-11-09  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>
+
+       * config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only
+       define for VxWorks >= 6.6.
+
+2021-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (begin(valarray), end(valarray)):
+       Add noexcept.
+
+2021-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/tuple (tuple_size_v): Fix pack expansion.
+
+2021-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add
+       [[unlikely]] attribute.
+
+2021-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/random.cc [__powerpc__] (USE_DARN): Define.
+       (__ppc_darn): New function to use POWER9 DARN instruction.
+       (Which): Add 'darn' enumerator.
+       (which_source): Check for __ppc_darn.
+       (random_device::_M_init): Support "darn" and "hw" tokens.
+       (random_device::_M_getentropy): Add darn to switch.
+       * testsuite/26_numerics/random/random_device/cons/token.cc:
+       Check "darn" token.
+       * testsuite/26_numerics/random/random_device/entropy.cc:
+       Likewise.
+
+2021-11-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/gdb-test.exp: Add target selector support to the
+       dg-final directives.
+       * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
+       C++20.
+       * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
+       * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak
+       comment.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103086
+       * python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper
+       for accessing the tuple element stored in a _Tuple_impl node.
+       (tuple_get): New function for accessing a tuple element.
+       (unique_ptr_get): New function for accessing a unique_ptr.
+       (UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get.
+       * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast
+       tuple to its base class before accessing _M_head_impl.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/evolution.xml: Document deprecations.
+       * doc/html/*: Regenerate.
+       * libsupc++/exception (unexpected_handler, unexpected)
+       (get_unexpected, set_unexpected): Add deprecated attribute.
+       Do not define without _GLIBCXX_USE_DEPRECATED for C++17 and up.
+       * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Disable
+       deprecated warnings.
+       * libsupc++/eh_ptr.cc (std::rethrow_exception): Likewise.
+       * libsupc++/eh_terminate.cc: Likewise.
+       * libsupc++/eh_throw.cc (__cxa_init_primary_exception):
+       Likewise.
+       * libsupc++/unwind-cxx.h (struct __cxa_exception): Use
+       terminate_handler instead of unexpected_handler.
+       (struct __cxa_dependent_exception): Likewise.
+       (__unexpected): Likewise.
+       * testsuite/18_support/headers/exception/synopsis.cc: Add
+       dg-warning for deprecated warning.
+       * testsuite/18_support/exception_ptr/60612-unexpected.cc:
+       Disable deprecated warnings.
+       * testsuite/18_support/set_unexpected.cc: Likewise.
+       * testsuite/18_support/unexpected_handler.cc: Likewise.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/utility.h (__find_uniq_type_in_pack): Move
+       definition to here, ...
+       * include/std/tuple (__find_uniq_type_in_pack): ... from here.
+       * include/std/variant (__detail__variant::__index_of): Remove.
+       (__detail::__variant::__exactly_once): Define using
+       __find_uniq_type_in_pack instead of __index_of.
+       (get<T>, get_if<T>, variant::__index_of): Likewise.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_pair.h (tuple_size_v): Define partial
+       specializations for std::pair.
+       * include/bits/utility.h (_Nth_type): Move definition here
+       and define primary template.
+       (tuple_size_v): Move definition here.
+       * include/std/array (tuple_size_v): Define partial
+       specializations for std::array.
+       * include/std/tuple (tuple_size_v): Move primary template to
+       <bits/utility.h>.  Define partial specializations for
+       std::tuple.
+       (tuple_element): Change definition to use _Nth_type.
+       * include/std/variant (_Nth_type): Move to <bits/utility.h>.
+       (variant_alternative, variant): Adjust qualification of
+       _Nth_type.
+       * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
+       additional errors from _Nth_type.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (__detail::__variant::__emplace): New
+       function template.
+       (_Copy_assign_base::operator=): Reorder conditions to match
+       bulleted list of effects in the standard. Use __emplace instead
+       of _M_reset followed by _Construct.
+       (_Move_assign_base::operator=): Likewise.
+       (__construct_by_index): Remove.
+       (variant::emplace): Use __emplace instead of _M_reset followed
+       by __construct_by_index.
+       (variant::swap): Hoist valueless cases out of visitor. Use
+       __emplace to replace _M_reset followed by _Construct.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (_Nth_type): Define partial
+       specializations to reduce number of instantiations.
+       (variant_size_v): Define partial specializations to avoid
+       instantiations.
+       (variant_alternative): Use _Nth_type. Add static assert.
+       (__tuple_count, __tuple_count_v): Replace with ...
+       (__count): New variable template.
+       (_Variant_union): Add deleted constructor.
+       (variant::__to_type): Use _Nth_type.
+       (variant::emplace): Use _Nth_type. Add deleted overloads for
+       invalid types and indices.
+
+2021-11-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102912
+       * include/std/variant (_Variant_storage::__index_of): Remove.
+       (__variant_construct_single): Remove.
+       (__variant_construct): Remove.
+       (_Copy_ctor_base::_Copy_ctor_base(const _Copy_ctor_base&)): Do
+       construction directly instead of using __variant_construct.
+       (_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Likewise.
+       (_Move_ctor_base::_M_destructive_move()): Remove.
+       (_Move_ctor_base::_M_destructive_copy()): Remove.
+       (_Copy_assign_base::operator=(const _Copy_assign_base&)): Do
+       construction directly instead of using _M_destructive_copy.
+       (variant::swap): Do construction directly instead of using
+       _M_destructive_move.
+       * testsuite/20_util/variant/102912.cc: New test.
+
+2021-11-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/66742
+       * include/bits/list.tcc (list::sort): Use mutable iterators for
+       comparisons.
+       * include/bits/stl_list.h (_Scratch_list::_Ptr_cmp): Likewise.
+       * testsuite/23_containers/list/operations/66742.cc: Check
+       non-const comparisons.
+
+2021-11-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/valarray (valarray::valarray()): Add noexcept.
+       (valarray::operator[]): Likewise.
+
+2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/debug/stl_iterator.h (__valid_range): Add constexpr
+       for C++20. Qualify call to avoid ADL.
+       (__get_distance, __can_advance, __unsafe, __base): Likewise.
+       * testsuite/25_algorithms/move/constexpr.cc: Also check with
+       std::reverse_iterator arguments.
+
+2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/span (span(Range&&)): Reorder constraints.
+
+2021-11-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/103022
+       * include/std/valarray (begin, end): Do not dereference an empty
+       valarray. Add noexcept and [[nodiscard]].
+       * testsuite/26_numerics/valarray/range_access.cc: Check empty
+       valarray. Check iterator properties. Run as well as compiling.
+       * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
+       * testsuite/26_numerics/valarray/103022.cc: New test.
+
+2021-10-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/stack/deduction.cc: Fix typo.
+
+2021-10-26  Martin Sebor  <msebor@redhat.com>
+
+       * testsuite/21_strings/basic_string/capacity/1.cc: Also suppress
+       -Wstringop-overread.
+       * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: Same.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/28_regex/basic_regex/84110.cc (test01)
+       [__cpp_exceptions]: Disambiguate extended.
+
+2021-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/17_intro/names.cc [__sun__] (r, x): Undef.
+
+2021-10-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102894
+       * include/std/any (make_any): Add SFINAE constraint.
+       * testsuite/20_util/any/102894.cc: New test.
+
+2021-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/stdheader.cc: Refactor. Use C++23. Add new
+       headers.
+       * scripts/run_doxygen: Fix post-processing of #include
+       directives in man pages. Use new xg++ to compile helper program.
+
+2021-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/mofunc_impl.h: Add doxygen comments.
+       * include/std/functional: Likewise.
+
+2021-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/alloc_traits.h: Suppress doxygen documentation.
+       * include/bits/allocated_ptr.h: Likewise.
+       * include/bits/enable_special_members.h: Likewise.
+       * include/bits/hashtable.h: Likewise.
+       * include/bits/hashtable_policy.h: Likewise.
+       * include/bits/uses_allocator.h: Likewise.
+       * include/bits/node_handle.h: Document node handles and suppress
+       documentation for protected members.
+       * include/std/any: Suppress documentation for implementation
+       details.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/102358
+       * include/bits/stl_iterator.h (__niter_base): Make constexpr
+       for C++20.
+       (__miter_base): Likewise.
+       * testsuite/25_algorithms/move/constexpr.cc: New test.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (istream_view): Replace this function
+       template with an alias template as per P2432R1.
+       (wistream_view): Define as per P2432R1.
+       (views::_Istream, views::istream): Likewise.
+       * testsuite/std/ranges/istream_view.cc (test07): New test.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_util.h (views::_Drop): Forward declare.
+       (subrange): Befriend views::_Drop.
+       (subrange::_S_store_size): Declare constexpr instead of just
+       const, remove obsolete comment.
+       * include/std/ranges (views::__detail::__is_empty_view): Define.
+       (views::__detail::__is_basic_string_view): Likewise.
+       (views::__detail::__is_subrange): Likewise.
+       (views::__detail::__is_iota_view): Likewise.
+       (views::__detail::__can_take_view): Rename template parm _Tp to _Dp.
+       (views::_Take): Rename template parm _Tp to _Dp, make it non-deducible
+       and fix it to range_difference_t<_Range>.  Implement P1739R4 and
+       LWG 3407 changes.
+       (views::__detail::__can_drop_view): Rename template parm _Tp to _Dp.
+       (views::_Drop): As with views::_Take.
+       (views::_Counted): Implement P1739R4 changes.
+       * include/std/span (__detail::__is_std_span): Rename to ...
+       (__detail::__is_span): ... this and turn it into a variable
+       template.
+       (__detail::__is_std_array): Turn it into a variable template.
+       (span::span): Adjust uses of __is_std_span and __is_std_array
+       accordingly.
+       * testsuite/std/ranges/adaptors/p1739.cc: New test.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_iterator.h (common_iterator::__arrow_proxy):
+       Make fully constexpr as per LWG 3595.
+       (common_iterator::__postfix_proxy): Likewise.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (lazy_split_view::base): Add forward_range
+       constraint as per LWG 3591.
+       (lazy_split_view::begin, lazy_split_view::end): Also check
+       simpleness of _Pattern as per LWG 3592.
+       (split_view::base): Relax copyable constraint as per LWG 3590.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (join_view::__iter_cat::_S_iter_cat): Adjust
+       criteria for returning bidirectional_iterator_tag as per LWG 3535.
+       (join_view::_Iterator::_S_iter_concept): Likewise.
+
+2021-10-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_base.h (viewable_range): Adjust as per
+       LWG 3481.
+       * testsuite/std/ranges/adaptors/all.cc (test07): New test.
+
+2021-10-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102863
+       * include/std/optional (optional::and_then, optional::transform):
+       Remove requires-clause.
+       * testsuite/20_util/optional/monadic/and_then.cc: Check
+       overload resolution doesn't cause errors.
+       * testsuite/20_util/optional/monadic/transform.cc: Likewise.
+
+2021-10-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/optional/monadic/transform.cc: Check that
+       an rvalue result is not materialized too soon.
+
+2021-10-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (iota_view::_Iterator::operator+): Adjust
+       definition as per LWG 3580.
+       (iota_view::_Iterator::operator-): Likewise.
+
+2021-10-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (basic_istream_view::_M_object): Value
+       initialize as per LWG 3568.
+
+2021-10-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_util.h
+       (__detail::__uses_nonqualification_pointer_conversion): Define
+       and use it ...
+       (__detail::__convertible_to_nonslicing): ... here, as per LWG 3470.
+       * testsuite/std/ranges/subrange/1.cc: New test.
+
+2021-10-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (iota_view::_Iterator): Befriend iota_view.
+       (iota_view::_Sentinel): Likewise.
+       (iota_view::iota_view): Add three overloads, each taking an
+       iterator/sentinel pair as per LWG 3523.
+       * testsuite/std/ranges/iota/iota_view.cc (test06): New test.
+
+2021-10-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_base.h (view_interface): Forward declare.
+       (__detail::__is_derived_from_view_interface_fn): Declare.
+       (__detail::__is_derived_from_view_interface): Define as per LWG 3549.
+       (enable_view): Adjust as per LWG 3549.
+       * include/bits/ranges_util.h (view_interface): Don't derive from
+       view_base.
+       * include/std/ranges (filter_view): Revert r11-3504 change.
+       (transform_view): Likewise.
+       (take_view): Likewise.
+       (take_while_view): Likewise.
+       (drop_view): Likewise.
+       (drop_while_view): Likewise.
+       (join_view): Likewise.
+       (lazy_split_view): Likewise.
+       (split_view): Likewise.
+       (reverse_view): Likewise.
+       * testsuite/std/ranges/adaptors/sizeof.cc: Update expected sizes.
+       * testsuite/std/ranges/view.cc (test_view::test_view): Remove
+       this default ctor since views no longer need to be default initable.
+       (test01): New test.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/random.cc (which_source): New helper function.
+       (random_device::_M_getentropy()): Use which_source and return
+       suitable values for sources other than device files.
+       * testsuite/26_numerics/random/random_device/entropy.cc: New test.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/Makefile.am (stamp-html-doxygen, stamp-html-doxygen)
+       (stamp-latex-doxygen, stamp-man-doxygen): Fix recipes for
+       relative ${top_srcdir}.
+       * doc/Makefile.in: Regenerate.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (_Uninitialized): Use an empty struct
+       for the unused union member, instead of char.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_stack.h (stack(Iterator, Iterator)): Remove
+       non-deducible template parameter from deduction guide.
+       * testsuite/23_containers/stack/deduction.cc: Check new C++23
+       deduction guides.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (_Optional_payload_base::_Storage): Add
+       constructor taking a callable function to invoke.
+       (_Optional_payload_base::_M_apply): New function.
+       (__cpp_lib_monadic_optional): Define for C++23.
+       (optional::and_then, optional::transform, optional::or_else):
+       Define for C++23.
+       * include/std/ranges (__detail::__cached): Remove.
+       (__detail::__non_propagating_cache): Remove use of __cached for
+       contained value. Use _Optional_payload_base::_M_construct and
+       _Optional_payload_base::_M_apply to set the contained value.
+       * include/std/version (__cpp_lib_monadic_optional): Define.
+       * testsuite/20_util/optional/monadic/and_then.cc: New test.
+       * testsuite/20_util/optional/monadic/or_else.cc: New test.
+       * testsuite/20_util/optional/monadic/or_else_neg.cc: New test.
+       * testsuite/20_util/optional/monadic/transform.cc: New test.
+       * testsuite/20_util/optional/monadic/version.cc: New test.
+
+2021-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102825
+       * include/bits/mofunc_impl.h (move_only_function): Remove
+       invalid base initializer.
+       * testsuite/20_util/move_only_function/cons.cc: Instantiate
+       constructors to check bodies.
+
+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&&)):
+       Rename to __get_n and remove first argument. Replace pair of
+       overloads with a single function using 'if constexpr'.
+       (__variant::__get(Variant&&)): Adjust to use __get_n.
+
+2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (path(path&&)): Make unconditionally
+       noexcept.
+       (path::_S_convert(T)): Add condtional noexcept.
+
+2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102743
+       * include/bits/fs_path.h (path::_S_convert(T)): Fix condition
+       for returning the same string unchanged.
+
+2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h: Check __cpp_inline_variables instead of
+       __cplusplus.
+
+2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/is_layout_compatible/version.cc: Check
+       correct macro.
+
+2021-10-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_construct.h (_Construct): Use
+       std::construct_at when constant evaluated.
+       * include/std/optional (_Storage, _Optional_payload, optional):
+       Add constexpr as specified by P2231R1.
+       * include/std/version (__cpp_lib_optional): Update value for
+       C++20.
+       * testsuite/20_util/optional/requirements.cc: Check feature test
+       macro.
+       * testsuite/20_util/optional/constexpr/assign.cc: New test.
+       * testsuite/20_util/optional/constexpr/cons/conv.cc: New test.
+       * testsuite/20_util/optional/constexpr/modifiers.cc: New test.
+       * testsuite/20_util/optional/constexpr/swap.cc: New test.
+       * testsuite/20_util/optional/version.cc: New test.
+
+2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (__detail::__is_contiguous): Add
+       partial specializations for pointers and __normal_iterator.
+
+2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/path/construct/102592.C: Moved to...
+       * testsuite/27_io/filesystem/path/construct/102592.cc: ...here.
+       * testsuite/28_regex/match_results/102667.C: Moved to...
+       * testsuite/28_regex/match_results/102667.cc: ...here.
+
+2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (__detail::__is_contiguous): New
+       variable template to identify contiguous iterators.
+       (__detail::__unified_char8_t): New alias template to decide when
+       to treat char8_t as char without encoding conversion.
+       (__detail::__effective_range(const basic_string<C,T>&)): Use
+       std::char_traits<C> for returned string view.
+       (__detail::__effective_range(const basic_string_view<C,T>&)):
+       Likewise.
+       (__detail::__effective_range(const Source&)): Use
+       __is_contiguous to detect mode cases of contiguous iterators.
+       Use __unified_char8_t to return a std::string instead of
+       std::u8string.
+
+2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102592
+       * include/bits/fs_path.h (path::path(Iter, Iter, format))
+       (path::append(Iter, Iter), path::concat(Iter, Iter)): Call
+       __string_from_range directly, instead of two-argument overload
+       of _S_convert.
+       (path::_S_convert(Iter, Iter)): Remove.
+       * testsuite/27_io/filesystem/path/construct/102592.C: New test.
+
+2021-10-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (__terminate): Add extern "C++".
+
+2021-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
+       Restore test for operator<.
+       * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
+       Adjust expected errors for C++20.
+
+2021-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101960
+       * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as
+       defauled.
+       * testsuite/20_util/tuple/cons/101960.cc: Check tuples with
+       array elements before the last element.
+
+2021-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator_base_funcs.h (__advance): Add
+       deleted overload to improve diagnostics.
+       (__distance): Likewise.
+
+2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h: Remove unused header.
+       * include/bits/c++config (std:__terminate): Define.
+       * include/bits/semaphore_base.h: Remove <exception> and use
+       __terminate instead of terminate.
+       * include/bits/std_thread.h: Likewise.
+       * libsupc++/eh_terminate.cc (std::terminate): Use qualified-id
+       to call __cxxabiv1::__terminate.
+
+2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex::assign(Iter, Iter)): Avoid
+       std::__to_address by using poitner directly or using base()
+       member of __normal_iterator.
+
+2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/numeric_limits/lowest.cc: Use
+       numeric_limits<T>::is_integer instead of is_integral<T>::value.
+
+2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/89927
+       * include/bits/regex.h (basic_regex(const _Ch_type*, size_t)):
+       Add __glibcxx_requires_string_len assertion.
+       (basic_regex::assign(InputIterator, InputIterator)): Add
+       __glibcxx_requires_valid_range assertion.
+       * include/bits/regex_scanner.tcc (_Scanner::_M_advance())
+       (_Scanner::_M_scan_normal()): Use string literal in assertions.
+
+2021-10-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102667
+       * include/bits/regex.h (match_result::empty()): Optimize by
+       calling the base function directly.
+       (match_results::end()): Check _Base_type::empty() not empty().
+       * testsuite/28_regex/match_results/102667.C: New test.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * testsuite/18_support/numeric_limits/lowest.cc: Remove use of
+       _GLIBCXX_USE_WCHAR_T.
+       * testsuite/18_support/numeric_limits/min_max.cc: Replace use of
+       _GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX.
+       * testsuite/20_util/from_chars/1_neg.cc: Remove use of
+       _GLIBCXX_USE_WCHAR_T.
+       * testsuite/20_util/function_objects/searchers.cc: Likewise. Use
+       char_traits<wchar_t>::length instead of wcslen.
+       * testsuite/20_util/hash/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_arithmetic/value.cc: Likewise.
+       * testsuite/20_util/is_compound/value.cc: Likewise.
+       * testsuite/20_util/is_floating_point/value.cc: Likewise.
+       * testsuite/20_util/is_fundamental/value.cc: Likewise.
+       * testsuite/20_util/is_integral/value.cc: Likewise.
+       * testsuite/20_util/is_signed/value.cc: Likewise.
+       * testsuite/20_util/is_unsigned/value.cc: Likewise.
+       * testsuite/20_util/is_void/value.cc: Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-1.cc:
+       Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
+       Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-3.cc:
+       Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-4.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
+       Likewise.
+       * testsuite/20_util/to_chars/3.cc: Likewise.
+       * testsuite/20_util/type_identity/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/hash/debug.cc: Likewise.
+       * testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
+       * testsuite/21_strings/basic_string/literals/types-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/literals/types.cc: Likewise.
+       * testsuite/21_strings/basic_string/literals/values-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/literals/values.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/64422.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/citerators.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
+       Likewise.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
+       Likewise.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
+       Likewise.
+       * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
+       * testsuite/25_algorithms/fill/4.cc: Likewise.
+       * testsuite/25_algorithms/fill_n/1.cc: Likewise.
+       * testsuite/experimental/functional/searchers.cc: Likewise. Use
+       char_traits<wchar_t>::length instead of wcslen.
+       * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
+       Likewise.
+       * testsuite/experimental/string_view/literals/types-char8_t.cc:
+       Likewise.
+       * testsuite/experimental/string_view/literals/types.cc:
+       Likewise.
+       * testsuite/experimental/string_view/literals/values-char8_t.cc:
+       Likewise.
+       * testsuite/experimental/string_view/literals/values.cc:
+       Likewise.
+       * testsuite/experimental/string_view/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/experimental/string_view/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/experimental/string_view/typedefs.cc: Likewise.
+       * testsuite/ext/vstring/range_access.cc: Likewise.
+       * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
+       Likewise.
+       * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc:
+       Likewise.
+       * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_compound/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_integral/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
+       * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc:
+       Likewise.
+       * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
+       * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * include/std/ostream (operator<<(basic_ostream<char, Tr>&, wchar_t))
+       (operator<<(basic_ostream<char, Tr>&, const wchar_t*)): Always
+       define as deleted. Do not check _GLIBCXX_USE_WCHAR_T.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * include/bits/locale_conv.h (wstring_convert, wbuffer_convert):
+       Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * include/c_global/cstddef [!_GLIBCXX_USE_WCHAR_T]
+       (__byte_operand<wchar_t>): Define specialization.
+       * include/std/type_traits (__make_signed<wchar_t>)
+       (__make_unsigned<wchar_t>): Remove redundant check for
+       __WCHAR_TYPE__ being defined.
+       * include/tr1/type_traits [!_GLIBCXX_USE_WCHAR_T]
+       (__is_integral_helper<wchar_t>): Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T]
+       (__rc_string_base<wchar_t>): Define member function.
+       * include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T]
+       (hash<__gnu_cxx::__wvstring>): Define specialization.
+       * include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring)
+       (__wsso_string, __wrc_string): Declare typedefs.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * include/bits/char_traits.h (char_traits<wchar_t>): Define
+       explicit specialization unconditionally.
+       * include/bits/basic_string.h (hash<wstring>): Define
+       unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
+       * include/bits/stringfwd.h (wstring): Likewise.
+       * include/debug/string (wstring): Likewise.
+       * include/experimental/string_view (experimental::wstring_view)
+       (hash<experimental::wstring_view>): Likewise.
+       * include/std/string (pmr::wstring, hash<pmr::wstring>):
+       Likewise.
+       * include/std/string_view (wstring_view, hash<wstring_view>):
+       Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to...
+       * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/22_locale/conversions/buffer/1.cc: Check
+       _GLIBCXX_USE_WCHAR_T.
+       * testsuite/22_locale/conversions/buffer/3.cc: Likewise. Add
+       test using char16_t.
+       * testsuite/22_locale/conversions/string/1.cc: Check
+       _GLIBCXX_USE_WCHAR_T.
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
+       * testsuite/27_io/filesystem/path/native/string-char8_t.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
+       * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/generic/generic_string.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/native/alloc.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/native/string-char8_t.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/native/string.cc:
+       Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/bit/bit.rotate/rotr.cc:
+       * testsuite/util/testsuite_common_types.h:
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/18_support/numeric_limits/40856.cc: Replace use of
+       _GLIBCXX_USE_INT128.
+       * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
+       * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
+       * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
+       * testsuite/20_util/is_floating_point/value.cc: Likewise.
+       * testsuite/20_util/is_integral/value.cc: Likewise.
+       * testsuite/20_util/is_signed/value.cc: Likewise.
+       * testsuite/20_util/is_unsigned/value.cc: Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-1.cc:
+       Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
+       Likewise.
+       * testsuite/20_util/type_identity/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
+       * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
+       Likewise.
+       * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/hashtable_policy.h (_Select1st): Replace use of
+       std::get.
+       (_Select2nd): Remove.
+       (_NodeBuilder::_S_build): Use _NodeGenerator::__node_type
+       typedef instead of deducing it. Remove unnecessary piecewise
+       construction.
+       (_ReuseOrAllocNode): Make __node_type public.
+       (_Map_base): Adjust partial specialization to be able to extract
+       the mapped_type without using tuple_element.
+       (_Map_base::at): Define inline
+       * testsuite/23_containers/unordered_map/requirements/53339.cc:
+       Remove XFAIL.
+       * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
+       Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/hashtable.h: Move static assertion to destructor.
+       * include/bits/hashtable_policy.h: Deduce value type from node
+       type without instantiating it.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/limits.cc: Fail if __cpp_inline_variables is
+       defined.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92546
+       * include/bits/ranges_algobase.h: Replace <iterator> with a
+       subset of the headers it includes.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/deque (erase, erase_if): Revert changes
+       to avoid debug mode overhead.
+       * include/experimental/map (erase, erase_if): Likewise.
+       * include/experimental/set (erase, erase_if): Likewise.
+       * include/experimental/unordered_map (erase, erase_if):
+       Likewise.
+       * include/experimental/unordered_set (erase, erase_if):
+       Likewise.
+       * include/experimental/vector (erase, erase_if): Likewise.
+       * include/std/deque (erase, erase_if): Likewise.
+       * include/std/map (erase, erase_if): Likewise.
+       * include/std/set (erase, erase_if): Likewise.
+       * include/std/unordered_map (erase, erase_if): Likewise.
+       * include/std/unordered_set (erase, erase_if): Likewise.
+       * include/std/vector (erase, erase_if): Likewise.
+
+2021-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (__detail::__units_suffix_misc): New
+       helper function.
+       (__detail::__units_suffix): Likewise.
+       (chrono::operator<<(basic_ostream&, const duration&)): Define.
+       * testsuite/20_util/duration/io.cc: New test.
+
+2021-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/std/chrono (duration, time_point, system_clock)
+       (steady_clock, high_resolution_clock, chrono_literals, sys_time)
+       (file_clock, file_time): Move to ...
+       * include/bits/chrono.h: New file.
+       * include/bits/atomic_futex.h: Include new header instead of
+       <chrono>.
+       * include/bits/atomic_timed_wait.h: Likewise.
+       * include/bits/fs_fwd.h: Likewise.
+       * include/bits/semaphore_base.h: Likewise.
+       * include/bits/this_thread_sleep.h: Likewise.
+       * include/bits/unique_lock.h: Likewise.
+       * include/experimental/bits/fs_fwd.h: Likewise.
+       * include/experimental/chrono: Likewise.
+       * include/experimental/io_context: Likewise.
+       * include/experimental/netfwd: Likewise.
+       * include/experimental/timer: Likewise.
+       * include/std/condition_variable: Likewise.
+       * include/std/mutex: Likewise.
+       * include/std/shared_mutex: Likewise.
+
+2021-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102377
+       * include/bits/atomic_wait.h (__waiter_pool_base:_S_align):
+       Hardcode to 64 instead of using non-constant constant.
+
+2021-10-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/erase_if.h (__erase_nodes_if): Remove redundant
+       __niter_base calls.
+       * include/std/string (erase, erase_if): Likewise.
+       * include/std/deque (erase, erase_if): Access non-debug
+       container directly.
+       * include/std/map (erase, erase_if): Likewise.
+       * include/std/set (erase, erase_if): Likewise.
+       * include/std/unordered_map (erase, erase_if): Likewise.
+       * include/std/unordered_set (erase, erase_if): Likewise.
+       * include/std/vector (erase, erase_if): Likewise.
+       * include/experimental/deque (erase, erase_if): Likewise.
+       * include/experimental/map (erase, erase_if): Likewise.
+       * include/experimental/set (erase, erase_if): Likewise.
+       * include/experimental/unordered_map (erase, erase_if):
+       Likewise.
+       * include/experimental/unordered_set (erase, erase_if):
+       Likewise.
+       * include/experimental/vector (erase, erase_if): Likewise.
+
+2021-10-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add new headers.
+       * include/Makefile.in: Regenerate.
+       * include/std/functional: Include <bits/move_only_function.h>.
+       * include/std/version (__cpp_lib_move_only_function): Define.
+       * include/bits/mofunc_impl.h: New file.
+       * include/bits/move_only_function.h: New file.
+       * testsuite/20_util/move_only_function/call.cc: New test.
+       * testsuite/20_util/move_only_function/cons.cc: New test.
+       * testsuite/20_util/move_only_function/move.cc: New test.
+       * testsuite/20_util/move_only_function/version.cc: New test.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
+       New test.
+       * testsuite/23_containers/span/trivially_copyable.cc: New test.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/utility.h (__is_in_place_type_v): Define
+       variable template to detect in_place_type_t specializations.
+       (__is_in_place_type): Replace class template with alias
+       template using __is_in_place_type_v.
+       * include/std/any (any(T&&)): Check __is_in_place_type first and
+       avoid instantiating is_copy_constructible unnecessarily.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/integer_comparisons/greater.cc: New test.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
+       Check result matches non-volatile pointer.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/102535
+       * testsuite/20_util/is_trivially_constructible/value.cc: Adjust
+       expected value for C++20.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (_Any_data::_M_access): Add
+       noexcept.
+       (_Function_base::_Base_manager::_M_get_pointer): Likewise.
+       (_Function_base::_Base_manager::_M_not_empty_function):
+       Likewise.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ostream (operator<<(const volatile void*)):
+       Add new overload, as per P1147R1.
+       * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
+       New test.
+
+2021-10-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h
+       (__cpp_lib_adaptor_iterator_pair_constructor): Set to correct
+       value.
+       * include/bits/stl_stack.h
+       (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
+       * include/std/version
+       (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
+       * testsuite/23_containers/queue/cons_from_iters.cc: Update
+       expected value.
+       * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
+
+2021-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/forward_list.h (forward_list): Use non-deduced
+       context for allocator parameter of allocator-extended copy and
+       move constructors.
+       * include/bits/stl_bvector.h (vector<bool>): Likewise.
+       * include/bits/stl_deque.h (deque): Likewise.
+       * include/bits/stl_list.h (list): Likewise.
+       * include/bits/stl_map.h (map): Likewise.
+       * include/bits/stl_multimap.h (multimap): Likewise.
+       * include/bits/stl_multiset.h (multiset): Likewise.
+       * include/bits/stl_set.h (set): Likewise.
+       * include/bits/stl_vector.h (vector): Likewise.
+       * include/bits/stl_queue.h (queue, priority_queue): Do not
+       constrain Allocator template parameter of deduction guides that
+       have a Container parameter.
+       * include/bits/stl_stack.h (stack): Likewise.
+       * include/debug/deque (__gnu_debug::deque): Use non-deduced
+       context for allocator parameter of allocator-extended copy and
+       move constructors.
+       * include/debug/list (__gnu_debug::list): Likewise.
+       * include/debug/map.h (__gnu_debug::map): Likewise.
+       * include/debug/multimap.h (__gnu_debug::multimap): Likewise.
+       * include/debug/multiset.h (__gnu_debug::multiset): Likewise.
+       * include/debug/set.h (__gnu_debug::set): Likewise.
+       * include/debug/vector (__gnu_debug::vector): Likewise.
+       * testsuite/23_containers/deque/cons/deduction.cc: Test class
+       template argument deduction with non-deduced allocator
+       arguments.
+       * testsuite/23_containers/forward_list/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/list/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/map/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/priority_queue/deduction.cc: Likewise.
+       * testsuite/23_containers/queue/deduction.cc: Likewise.
+       * testsuite/23_containers/set/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/stack/deduction.cc: Likewise.
+       * testsuite/23_containers/unordered_map/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/vector/cons/deduction.cc: Likewise.
+
+2021-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (__detail::__variant::__as): Add missing
+       noexcept to first overload.
+
+2021-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (basic_string(nullptr_t)): Define
+       as deleted.
+       (operator=(nullptr_t)): Likewise.
+       * include/bits/cow_string.h (basic_string(nullptr_t)): Likewise.
+       (operator=(nullptr_t)): Likewise.
+       * include/std/string_view (basic_string_view(nullptr_t)):
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test.
+       * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
+       Change dg-warning to dg-error.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
+       Likewise.
+
+2021-10-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.
+       * src/filesystem/ops-common.h (__last_system_error): Add
+       explicit cast to avoid narrowing conversion.
+       (do_space): Fix type in function name.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102100
+       * include/Makefile.am (c++config.h): Define
+       _GLIBCXX_VERBOSE_ASSERT based on configure output.
+       * include/Makefile.in: Regenerate.
+       * include/bits/c++config: Fix condition for verbose assertions.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/92546
+       * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to
+       unwrap debug iterators.
+       * include/bits/refwrap.h: Do not error if included in C++03.
+       * include/bits/stl_algo.h (__remove_if): Move to ...
+       * include/bits/stl_algobase.h (__remove_if): ... here.
+       * include/std/deque (erase, erase_if): Use __remove_if instead of
+       remove and remove_if.
+       * include/std/string (erase, erase_if): Likewise.
+       * include/std/vector (erase, erase_if): Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/66742
+       * include/bits/list.tcc (list::sort()): Use _Scratch_list
+       objects for splicing and merging.
+       (list::sort(StrictWeakOrdering)): Likewise.
+       * include/bits/stl_list.h (__detail::_Scratch_list): New type.
+       * src/c++98/list.cc (_List_node_base::_M_transfer): Add
+       assertion for --enable-libstdcxx-debug library.
+       * testsuite/23_containers/list/operations/66742.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100612
+       * include/std/thread (__pmf_expects_stop_token): New variable
+       template to detect a pointer to member function that needs a
+       stop_token to be added to the arguments.
+       (jthread::__S_create): Use __pmf_expects_stop_token.
+       (jthread::__S_create_pmf): New function.
+       * testsuite/30_threads/jthread/100612.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h
+       (__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as
+       per P1425R4.
+       (queue(InputIterator, InputIterator)): Likewise.
+       (queue(InputIterator, InputIterator, const Alloc&)): Likewise.
+       * include/bits/stl_stack.h
+       (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
+       (stack(InputIterator, InputIterator)): Likewise.
+       (stack(InputIterator, InputIterator, const Alloc&)): Likewise.
+       * include/std/version (__cpp_lib_adaptor_iterator_pair_constructor):
+       Define.
+       * testsuite/23_containers/queue/cons_from_iters.cc: New test.
+       * testsuite/23_containers/stack/cons_from_iters.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h (priority_queue): Add
+       allocator-extended overloads for constructors taking iterator.
+       * testsuite/23_containers/priority_queue/lwg3506.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h (priority_queue): Construct sequence
+       from iterators when no sequence argument is present (LWG 3529).
+       * testsuite/23_containers/priority_queue/lwg3529.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_queue.h (priority_queue): Constrain
+       constructors with InputIterator parameters (LWG 3522).
+       * testsuite/23_containers/priority_queue/lwg3522.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (ranges::distance): Split overload
+       into two (LWG 3392).
+       * testsuite/24_iterators/range_operations/lwg3392.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/thread/cons/3.cc: Remove derivation from
+       std::unary_function.
+       * testsuite/30_threads/thread/cons/4.cc: Likewise.
+       * testsuite/30_threads/thread/cons/5.cc: Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/ext/pb_ds/example/basic_multimap.cc: Remove
+       unnecesary derivation from std::unary_function.
+       * testsuite/ext/pb_ds/example/erase_if.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_mod.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_resize.cc: Likewise.
+       * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise.
+       * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc:
+       Likewise.
+       * testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise.
+       * testsuite/ext/pb_ds/example/store_hash.cc: Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not
+       expand the format string for freestanding, or non-vebose, or if
+       we're just going to abort anyway.
+       * src/c++11/snprintf_lite.cc: Remove unused header and
+       declaration.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (__do_visit): Use variant_npos instead of
+       literal -1 that requires a narrowing conversion.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99327
+       * src/filesystem/ops-common.h (__unsupported): New function to
+       return a suitable error code for missing functionality.
+       (posix::off_t): New typedef.
+       (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
+       fallback implementations.
+       (do_copy_file): Replace uses of errc::not_supported.
+       * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
+       (fs::create_directory, fs::create_directory_symlink)
+       (fs::create_hard_link, fs::create_symlink, fs::current_path)
+       (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
+       (fs::last_write_time, fs::permissions, fs::read_symlink):
+       Replace uses of errc::not_supported.
+       (fs::resize_file): Qualify off_t.
+       * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
+       (fs::create_directory, fs::create_directory_symlink)
+       (fs::create_hard_link, fs::create_symlink, fs::current_path)
+       (fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
+       (fs::permissions, fs::read_symlink, fs::system_complete):
+       Replace uses of errc::not_supported.
+       (fs::resize_file): Qualify off_t and enable unconditionally.
+       * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h (last_error): New helper function.
+       (filesystem::do_space): Use last_error().
+       * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
+       (fs::equivalent, fs::remove, fs::temp_directory_path): Use
+       last_error().
+       * src/filesystem/ops.cc (fs::create_hard_link)
+       (fs::remove, fs::temp_directory_path): Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (__conditional): New class template
+       for internal uses of std::conditional.
+       (__conditional_t): New alias template to replace conditional_t.
+       (__and_, __or_, __result_of_memfun, __result_of_memobj): Use
+       __conditional_t instead of conditional::type.
+       * include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise.
+       * include/bits/hashtable.h (_Hashtable): Likewise.
+       * include/bits/hashtable_policy.h (_Node_iterator, _Insert_base)
+       (_Local_iterator): Likewise. Replace typedefs with
+       using-declarations.
+       * include/bits/move.h (move_if_noexcept): Use __conditional_t.
+       * include/bits/parse_numbers.h (_Select_int_base): Likewise.
+       * include/bits/ptr_traits.h (__make_not_void): Likewise.
+       * include/bits/ranges_algobase.h (__copy_or_move_backward)
+       (__copy_or_move): Likewise.
+       * include/bits/ranges_base.h (borrowed_iterator_t): Likewise.
+       * include/bits/ranges_util.h (borrowed_subrange_t): Likewise.
+       * include/bits/regex_compiler.h (_BracketMatcher): Use
+       __conditional_t. Replace typedefs with using-declarations.
+       * include/bits/shared_ptr_base.h (__shared_count): Use
+       __conditional_t.
+       * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
+       Likewise.
+       * include/bits/stl_iterator.h (__detail::__clamp_iter_cat)
+       (reverse_iterator::iterator_concept)
+       (__make_move_if_noexcept_iterator)
+       (iterator_traits<common_iterator<_It, _Sent>>)
+       (iterator_traits<counted_iterator<_It>>): Likewise.
+       * include/bits/stl_pair.h (_PCC, pair::operator=): Likewise.
+       * include/bits/stl_tree.h (_Rb_tree::insert_return_type)
+       (_Rb_tree::_M_clone_node): Likewise.
+       * include/bits/unique_ptr.h (unique_ptr(unique_ptr<U,E>&&)):
+       Likewise.
+       * include/bits/uses_allocator.h (__uses_alloc): Likewise.
+       (__is_uses_allocator_predicate): Likewise.
+       * include/debug/functions.h (__foreign_iterator_aux2): Likewise.
+       * include/experimental/any (any::_Manager, __any_caster):
+       Likewise.
+       * include/experimental/executor (async_completion): Likewise.
+       * include/experimental/functional (__boyer_moore_base_t):
+       Likewise.
+       * include/std/any (any::_Manager): Likewise.
+       * include/std/functional (__boyer_moore_base_t): Likewise.
+       * include/std/ranges (borrowed_iterator_t)
+       (borrowed_subrange_t, __detail::__maybe_present_t)
+       (__detail::__maybe_const_t, split_view): Likewise.
+       * include/std/tuple (__empty_not_final, tuple::operator=):
+       Likewise.
+       * include/std/variant (__detail::__variant::__get_t): Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/78113
+       * include/std/variant (__do_visit): Use a switch when we have a
+       single variant with a small number of alternatives.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90943
+       * include/std/variant (__cpp_lib_variant): Update value.
+       (__detail::__variant::__as): New helpers implementing the
+       as-variant exposition-only function templates.
+       (visit, visit<R>): Use __as to upcast the variant parameters.
+       * include/std/version (__cpp_lib_variant): Update value.
+       * testsuite/20_util/variant/visit_inherited.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (__normal_iterator): Simplify
+       converting constructor and do not require _Container::pointer.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING]
+       (basic_string(basic_string&&)): Add noexcept and avoid
+       allocation, by sharing rep with the rvalue string.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (common_iterator::__arrow_proxy)
+       (common_iterator::__postfix_proxy): Add noexcept.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94418
+       * include/bits/stl_iterator.h (reverse_iterator): Use
+       conditional noexcept on constructors and assignment operators.
+       * testsuite/24_iterators/reverse_iterator/noexcept.cc: New test.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100153
+       * include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
+       When size() is zero just deallocate and reset.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96733
+       * include/bits/stl_algo.h (clamp): Use std::min and std::max.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex::multiline): Define for
+       non-strict C++11 and C++14 modes.
+       * include/bits/regex_constants.h (regex_constants::multiline):
+       Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stream_iterator.h (istream_iterator): Add
+       noexcept to constructors and non-throwing member functions and
+       friend functions.
+       (ostream_iterator): Likewise.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/boost_concept_check.h (_Is_vector_bool_iterator):
+       New trait to identify vector<bool> iterators, including debug
+       ones.
+       (_ForwardIteratorReferenceConcept): Add default template
+       argument using _Is_vector_bool_iterator and use it in partial
+       specialization for the vector<bool> cases.
+       (_Mutable_ForwardIteratorReferenceConcept): Likewise.
+       * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
+       line number.
+
+2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/list.tcc (list::merge): Remove call to size() and
+       try-catch block. Use _Finalize_merge instead.
+       * include/bits/stl_list.h (list::_Finalize_merge): New
+       scope guard type to update _M_size members after a merge.
+
+2021-09-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex::multiline): Fix #if
+       condition.
+
+2021-09-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex::multiline): Define constant
+       for C++17.
+       * include/bits/regex_constants.h (regex_constants::multiline):
+       Define constant for C++17.
+       (regex_constants::__multiline): Define duplicate constant for
+       internal use in C++11 and C++14.
+       * include/bits/regex_executor.h (_Executor::_M_match_multiline()):
+       New member function.
+       (_Executor::_M_is_line_terminator(_CharT)): New member function.
+       (_Executor::_M_at_begin(), _Executor::_M_at_end()): Use new
+       member functions to support multiline matches.
+       * testsuite/28_regex/algorithms/regex_match/multiline.cc: New test.
+
+2021-09-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_compiler.h (_Compiler::_S_validate): New
+       function.
+       * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use
+       _S_validate to check flags.
+       * include/bits/regex_error.h (_S_grammar): New error code for
+       internal use.
+       * testsuite/28_regex/basic_regex/ctors/grammar.cc: New test.
+
+2021-09-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84110
+       * include/bits/regex_error.h (regex_constants::_S_null): New
+       error code for internal use.
+       * include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()):
+       Check for null character.
+       * testsuite/28_regex/basic_regex/84110.cc: New test.
+
+2021-09-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (__detail::__is_contiguous_iter): Move
+       here from <bits/regex_compiler.h>.
+       (basic_regex::_M_compile): New function to compile an NFA from
+       a regular expression string.
+       (basic_regex::basic_regex): Use _M_compile instead of delegating
+       to other constructors.
+       (basic_regex::operator=(const basic_regex&)): Define as
+       defaulted.
+       (basic_regex::operator=(initializer_list<C>)): Use _M_compile.
+       (basic_regex::assign(const basic_regex&)): Use copy assignment.
+       (basic_regex::assign(basic_regex&&)): Use move assignment.
+       (basic_regex::assign(const C*, flag_type)): Use _M_compile
+       instead of constructing a temporary string.
+       (basic_regex::assign(const C*, size_t, flag_type)): Likewise.
+       (basic_regex::assign(const basic_string<C,T,A>&, flag_type)):
+       Use _M_compile instead of constructing a temporary basic_regex.
+       (basic_regex::assign(InputIter, InputIter, flag_type)): Avoid
+       constructing a temporary string for contiguous iterators of the
+       right value type.
+       * include/bits/regex_compiler.h (__is_contiguous_iter): Move to
+       <bits/regex.h>.
+       (__enable_if_contiguous_iter, __disable_if_contiguous_iter)
+       (__compile_nfa): Remove.
+       * testsuite/28_regex/basic_regex/assign/exception_safety.cc: New
+       test.
+       * testsuite/28_regex/basic_regex/ctors/char/other.cc: New test.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__platform_wait_until_impl):
+       Return false for ETIMEDOUT and true otherwise.
+
+2021-09-28  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/20_util/default_delete/48631_neg.cc: Adapt dg-prune-output message
+       to also match message with '__8' in it.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove.
+       * include/bits/regex_compiler.h (_Compiler::_IterT): Remove.
+       * include/bits/regex_compiler.tcc: Likewise.
+       * include/bits/regex_scanner.h (_Scanner::_IterT): Remove.
+       * include/bits/regex_scanner.tcc: Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_compiler.tcc: Add line break in empty while
+       statement.
+       * include/bits/regex_executor.tcc: Avoid unused parameter
+       warning.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex, swap): Add noexcept to
+       non-throwing functions.
+       * include/bits/regex_automaton.h (_State_base, _State)
+       (_NFA_base): Likewise.
+       * include/bits/regex_compiler.h (_Compiler): Likewise.
+       * include/bits/regex_error.h (regex_error::code()): Likewise.
+       * include/bits/regex_scanner.h (_Scanner): Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT):
+       Define before first attempt to check it.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc:
+       Do not check non-default constructible sequences when
+       _GLIBCXX_CONCEPT_CHECKS is defined.
+       * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++98.cc:
+       Likewise.
+       * testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++98.cc:
+       Likewise.
+       * testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++98.cc:
+       Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc:
+       Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS
+       is defined.
+       * testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/explicit_instantiation/5.cc:
+       Likewise.
+       * testsuite/23_containers/map/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/map/requirements/explicit_instantiation/5.cc:
+       Likewise.
+       * testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc:
+       Likewise.
+       * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc:
+       Likewise.
+       * testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc:
+       Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/boost_concept_check.h (_ForwardIteratorConcept)
+       (_BidirectionalIteratorConcept, _RandomAccessIteratorConcept):
+       Check result types of iterator operations.
+       (_Mutable_ForwardIteratorConcept): Check that iterator's
+       reference type is a reference to its value type.
+       (_Mutable_BidirectionalIteratorConcept): Do not require the
+       value type to be assignable.
+       (_Mutable_RandomAccessIteratorConcept): Likewise.
+       * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
+       line number.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/copy/34595.cc: Add missing operation
+       for type used as an iterator.
+       * testsuite/25_algorithms/unique_copy/check_type.cc: Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/is_nothrow_swappable/value.h: Use custom
+       comparison function for priority_queue of type with no
+       relational operators.
+       * testsuite/20_util/is_swappable/value.h: Likewise.
+       * testsuite/24_iterators/output/concept.cc: Add operator< to
+       type used in set.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/boost_concept_check.h (_OutputIteratorConcept):
+       Use a function to preserve value category of the type.
+       * include/bits/stl_algobase.h (copy, move, fill_n): Use a
+       reference as the second argument for _OutputIteratorConcept.
+       (copy_backward, move_backward): Use _OutputIteratorConcept
+       instead of _ConvertibleConcept.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_iterator.h (pointer_traits): Define partial
+       specialization for __normal_iterator.
+       * testsuite/24_iterators/normal_iterator/to_address.cc: New test.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/move.h (forward(remove_reference_t<T>&&)):
+       Improve text of static_assert.
+       * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
+       * testsuite/20_util/forward/f_neg.cc: Likewise.
+
+2021-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102499
+       * include/bits/fs_path.h (path::begin, path::end): Add noexcept
+       to declarations, to match definitions.
+
+2021-09-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (cbegin, cend): Remove redundant
+       'inline' specifier.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+       Remove dg-error lines for C++20-only errors.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/19_diagnostics/headers/system_error/93151.cc:
+       Disable PCH.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/system_error.cc (system_error_category) [_WIN32]:
+       Map Windows error codes to generic POSIX error numbers. Use
+       FormatMessage instead of strerror.
+       * testsuite/19_diagnostics/error_category/system_category.cc:
+       Adjust for new behaviour on Windows.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/system_error.cc (generic_error_category): Define
+       class and virtual functions as 'final'.
+       (generic_error_category::equivalent(int, const error_condition&)):
+       Override.
+       (system_error_category): Define class and virtual functions as
+       'final'.
+       (system_error_category::equivalent(int, const error_condition&)):
+       Override.
+       (generic_category_instance, system_category_instance): Use
+       constinit union to make the objects immortal.
+
+2021-09-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102425
+       * src/c++11/system_error.cc
+       (system_error_category::default_error_condition): Add 0 to
+       switch.
+       * testsuite/19_diagnostics/error_category/102425.cc: New test.
+
+2021-09-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (path::iterator): Add noexcept to all
+       member functions and friend functions.
+       (distance): Add noexcept.
+       (advance): Add noexcept and inline.
+       * include/experimental/bits/fs_path.h (path::iterator):
+       Add noexcept to all member functions.
+
+2021-09-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102270
+       * include/std/tuple (_Tuple_impl): Add constexpr to constructor
+       missed in previous patch.
+       * testsuite/20_util/tuple/cons/102270.C: Moved to...
+       * testsuite/20_util/tuple/cons/102270.cc: ...here.
+       * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add
+       constexpr to constructor so it can be used for C++20 tests.
+
+2021-09-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/valarray/dr630-3.C: Moved to...
+       * testsuite/26_numerics/valarray/dr630-3.cc: ...here.
+       * testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
+       * testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/Makefile.am (stamp-debug): Add all Makefiles as
+       prerequisites.
+       * src/Makefile.in: Regenerate.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Increase
+       timeout factor to 3.
+       * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/using.xml: Generalize to apply to more than
+       just -std=c++11.
+       * doc/html/manual/using_macros.html: Regenerate.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/optional (nullptr_t): Make constructor noexcept.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (advance): Remove non-deducible
+       template parameter.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102270
+       * include/std/tuple (_Head_base, _Tuple_impl): Add
+       _GLIBCXX20_CONSTEXPR to allocator-extended constructors.
+       (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR.
+       * testsuite/20_util/tuple/cons/102270.C: New test.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102280
+       * include/std/span (span(Range&&)): Add constraint to deduction
+       guide.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++98/Makefile.am: Use CXXCOMPILE not LTCXXCOMPILE.
+       * src/c++98/Makefile.in: Regenerate.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
+       (to_string): Add noexcept if the type width is 32 bits or less.
+
+2021-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/unique_ptr.h (__uniq_ptr_impl::_M_ptr)
+       (__uniq_ptr_impl::_M_deleter): Add noexcept.
+
+2021-09-16  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       PR libstdc++/101761
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use
+       va and vb as arguments to wait/notify, remove unused bb local.
+
+2021-09-15  Hugo Beauzée-Luyssen  <hugo@beauzee.fr>
+
+       * crossconfig.m4: Check for TLS support on mingw.
+       * configure: Regenerate.
+
+2021-09-13  Jason Merrill  <jason@redhat.com>
+
+       * include/std/version: Define __cpp_lib_hardware_interference_size.
+       * libsupc++/new: Define hardware interference size variables.
+
+2021-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
+       Fix invalid hostname to only match the .invalid TLD.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak):
+       Add new functions.
+       * include/std/atomic (atomic<T*>::compare_exchange_weak): Use
+       it.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/atomic: Tweak whitespace.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/102177
+       * include/bits/atomic_base.h (__is_valid_cmpexch_failure_order):
+       New function to check if a memory order is valid for the failure
+       case of compare exchange operations.
+       (__atomic_base<I>::compare_exchange_weak): Simplify assertions
+       by using __is_valid_cmpexch_failure_order.
+       (__atomic_base<I>::compare_exchange_strong): Likewise.
+       (__atomic_base<P*>::compare_exchange_weak): Likewise.
+       (__atomic_base<P*>::compare_exchange_strong): Likewise.
+       (__atomic_impl::compare_exchange_weak): Add assertion.
+       (__atomic_impl::compare_exchange_strong): Likewise.
+       * include/std/atomic (atomic::compare_exchange_weak): Likewise.
+       (atomic::compare_exchange_strong): Likewise.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/functional (invoke_r): Define.
+       * include/std/version (__cpp_lib_invoke_r): Define.
+       * testsuite/20_util/function_objects/invoke/version.cc: Check
+       for __cpp_lib_invoke_r as well as __cpp_lib_invoke.
+       * testsuite/20_util/function_objects/invoke/4.cc: New test.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98421
+       * include/std/span (span(Iter, size_type), span(Iter, Iter)):
+       Add valid range checks.
+       * testsuite/23_containers/span/cons_1_assert_neg.cc: New test.
+       * testsuite/23_containers/span/cons_2_assert_neg.cc: New test.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * configure.ac: Fix checks for F_GETFL, F_SETFL and O_NONBLOCK.
+       * configure: Regenerate.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/system_error.cc (error_category::~error_category()):
+       Remove noexcept-specifier.
+       (system_error::~system_error()): Likewise.
+       * testsuite/19_diagnostics/error_category/noexcept.cc: New test.
+       * testsuite/19_diagnostics/system_error/noexcept.cc: New test.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102074
+       * include/bits/atomic_timed_wait.h (__timed_waiter_pool)
+       [!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (__make_resolver_error_code):
+       Handle EAI_SYSTEM errors.
+       (basic_resolver_results): Use __make_resolver_error_code. Use
+       Glibc NI_MAXHOST and NI_MAXSERV values for buffer sizes.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
+       Try other service if "http" fails.
+
+2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Undefine some more names used
+       by Solaris system headers.
+
+2021-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96286
+       * testsuite/30_threads/promise/requirements/lwg3466.cc:
+       Remove dg-prune-outputs.
+
+2021-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/alloc_traits.h (allocator_traits): Add explicit
+       specialization for allocator<void>. Improve doxygen comments.
+       * include/bits/allocator.h (allocator<void>): Restore for the
+       versioned namespace.
+       (allocator<void>::construct, allocator<void>::destroy): Remove.
+       * include/ext/extptr_allocator.h (_Extptr_allocator<void>):
+       Add default constructor and converting constructor.
+
+2021-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_uninitialized.h: Fix typo in comment.
+
+2021-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99876
+       * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form,
+       to avoid unnecessary current_path() call.
+
+2021-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (function::function(F&&)): Give
+       name to defaulted template parameter, to improve diagnostics.
+       Use markdown for more doxygen comments.
+
+2021-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (function): Adjust doxygen
+       comments.
+       * include/bits/unique_ptr.h (make_unique_for_overwrite):
+       Change parameter name to match doxygen comment.
+
+2021-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (_function_base::_Base_manager):
+       Replace _M_init_functor with a function template using a
+       forwarding reference, and a pair of _M_create function
+       templates. Reuse _M_create for the clone operation.
+       (function::_Decay_t): New alias template.
+       (function::_Callable): Simplify by using _Decay.
+       (function::function(F)): Change parameter to forwarding
+       reference, as per LWG 2447. Add noexcept-specifier. Simplify
+       constraints.
+       (function::operator=(F&&)): Add noexcept-specifier.
+       * testsuite/20_util/function/cons/lwg2774.cc: New test.
+       * testsuite/20_util/function/cons/noexcept.cc: New test.
+
+2021-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (function::function(F)): Add
+       static assertions to check constructibility requirements.
+
+2021-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100285
+       * configure.ac: Check for O_NONBLOCK.
+       * configure: Regenerate.
+       * include/experimental/internet: Include <ws2tcpip.h> for
+       Windows.  Use preprocessor conditions around more constants.
+       * include/experimental/socket: Use preprocessor conditions
+       around more constants.
+       * testsuite/experimental/net/internet/resolver/base.cc: Only use
+       constants when the corresponding C macro is defined.
+       * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
+       * testsuite/experimental/net/socket/socket_base.cc: Likewise.
+       Make preprocessor checks more fine-grained.
+
+2021-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Check 'sz'.
+
+2021-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Adjust for Windows.
+
+2021-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/valarray: Uglify 'func' parameters.
+       * testsuite/17_intro/names.cc: Add 'func' to checks.
+
+2021-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102064
+       * include/bits/stl_uninitialized.h (_GLIBCXX_USE_ASSIGN_FOR_INIT):
+       Define macro to check conditions for optimizing trivial cases.
+       (__check_constructible): New function to do static assert.
+       (uninitialized_copy, uninitialized_fill, uninitialized_fill_n):
+       Use new macro.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
+       Adjust dg-error pattern.
+       * testsuite/23_containers/vector/cons/89164.cc: Likewise. Add
+       C++17-specific checks from 89164_c++17.cc.
+       * testsuite/23_containers/vector/cons/89164_c++17.cc: Removed.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc:
+       New test.
+
+2021-08-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/102048
+       * include/ext/rope (rope::erase(size_type)): Remove broken
+       function.
+
+2021-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml: Update table.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (is_layout_compatible): Define.
+       (is_corresponding_member): Define.
+       * include/std/version (__cpp_lib_is_layout_compatible): Define.
+       * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
+       New test.
+       * testsuite/20_util/is_layout_compatible/value.cc: New test.
+       * testsuite/20_util/is_layout_compatible/version.cc: New test.
+       * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
+       New test.
+       * testsuite/23_containers/span/layout_compat.cc: Do not use real
+       std::is_layout_compatible trait if available.
+
+2021-08-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in
+       explicit instantiation definitions.
+
+2021-08-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ranges (basic_istream_view): Add default template
+       argument.
+       * testsuite/std/ranges/istream_view.cc: Check it.
+
+2021-08-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/dyncast.cc (__dynamic_cast): Add __builtin_expect to
+       precondition check.
+
+2021-08-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90787
+       * testsuite/util/testsuite_fs.h (permissions_are_testable):
+       Define as inline.
+
+2021-08-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90787
+       * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
+       Use new __gnu_test::permissions_are_testable() function.
+       * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/status.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/symlink_status.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/exists.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/is_empty.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/remove.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/remove_all.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+       Likewise.
+       * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable):
+       New function to guess whether testing permissions will work.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml: Move row  earlier in table.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in: Update to Doxygen 1.9.2
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101965
+       * include/std/charconv (__to_chars_i): Remove redundant check.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101960
+       * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base
+       class' move constructor. Define as defaulted for versioned
+       namespace.
+       * testsuite/20_util/tuple/cons/101960.cc: New test.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100139
+       * doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr.h: Add @since and @headerfile tags.
+       * include/bits/unique_ptr.h: Add @headerfile tags.
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h (filesystem::file_time): Improve
+       overflow check by using system_clock::duration::max().
+
+2021-08-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_tree.h: Tweak whitespace.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/unique_ptr.h (default_delete): Add @since tag.
+       (unique_ptr, unique_ptr<T[]>): Likewise. Improve @brief.
+       (make_unique, make_unique_for_overwrite): Likewise. Add @tparam,
+       @param, and @returns.
+       (_MakeUniq): Move to __detail namespace. Add alias template
+       helpers.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_function.h: Improve doxygen comments.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (PREDEFINED): Enable doxygen
+       processing for C++20 components and components that depend on
+       compiler features.
+       * include/bits/stl_algo.h (random_shuffle): Use @deprecated.
+       * include/std/type_traits: Improve doxygen comments for C++20
+       traits.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/type_traits.h (__promote_2, __promote_3)
+       (__promote_4): Redfine as alias templates using __promoted_t.
+       * include/std/complex (__promote_2): Remove partial
+       specializations for std::complex.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_algo.h (min(initializer_list<T>))
+       (min(initializer_list<T>, Compare)): Call __min_element directly to
+       avoid redundant debug checks for valid ranges.
+       (max(initializer_list<T>), max(initializer_list<T>, Compare)):
+       Likewise, for __max_element.
+       (minmax(initializer_list<T>), minmax(initializer_list<T>, Compare)):
+       Likewise, for __minmax_element.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/debug/deque (deque(size_type, const T&, const A&)):
+       Prevent class template argument deduction and replace with a
+       deduction guide.
+       * include/debug/forward_list (forward_list(size_type, const T&, const A&)):
+       Likewise.
+       * include/debug/list (list(size_type, const T&, const A&)):
+       Likewise.
+       * include/debug/vector (vector(size_type, const T&, const A&)):
+       Likewise.
+
+2021-08-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use
+       'std::vector<bool>::reference' as type name, not _Bit_reference.
+       (build_libstdcxx_dictionary): Register printers for vector<bool>
+       types in debug mode too.
+       * testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected
+       output for invalid _Bit_reference. Use vector<bool>::reference
+       instead of _Bit_reference.
+       * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
+
+2021-08-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose,
+       continued.
+
+2021-08-17  Luc Michel  <lmichel@kalray.eu>
+           Marc Poulhies  <mpoulhies@kalrayinc.com>
+
+       * testsuite/lib/gdb-test.exp (gdb_version_check)
+       (gdb_version_check_xmethods): Only check the GDB version for
+       local native targets.
+
+2021-08-17  Antony Polukhin  <antoshkka@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity
+       if distance is O(1).
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/random/seed_seq/cons/range.cc: Check
+       construction from input iterators.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (StdErrorCatPrinter): Remove.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101923
+       * include/bits/std_function.h (function(function&&)): Check for
+       non-empty parameter before doing any work.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h (basic_string::contains): Do not
+       define for -std=gnu++20.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_util.h (__not_same_as): Rename to
+       __different_from.
+       * include/std/ranges (__not_same_as): Likewise.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/utility (exchange): Add noexcept-specifier.
+       * testsuite/20_util/exchange/noexcept.cc: New test.
+
+2021-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
+       (build_libstdcxx_dictionary): Register printer for
+       std::error_code and std::error_condition.
+       * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
+
+2021-08-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101937
+       * src/c++11/debug.cc (PrintContext::_M_indent): Replace with a
+       static data member.
+       (print_word): Use qualified-id to access it.
+
+2021-08-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
+       Install another copy of the GDB hook.
+       * python/Makefile.in: Regenerate.
+
+2021-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101870
+       * include/c_global/cmath (hypot): Use __promoted_t.
+       (lerp): Add new overload accepting any arithmetic types.
+       * include/ext/type_traits.h (__promoted_t): New alias template.
+       * testsuite/26_numerics/lerp.cc: Moved to...
+       * testsuite/26_numerics/lerp/1.cc: ...here.
+       * testsuite/26_numerics/lerp/constexpr.cc: New test.
+       * testsuite/26_numerics/lerp/version.cc: New test.
+
+2021-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/lerp.cc: Add header name to #error.
+       * testsuite/26_numerics/midpoint/integral.cc: Likewise.
+       * testsuite/26_numerics/midpoint/version.cc: New test.
+
+2021-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/random (experimental::randint): Add
+       nodiscard attribute.
+
+2021-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++98/locale_init.cc: Require C++11.
+       * src/c++98/localename.cc: Likewise.
+       * src/c++98/misc-inst.cc: Require C++98.
+
+2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101866
+       * testsuite/experimental/random/randint.cc: Loop and retry if
+       reseed() produces the same sequence.
+
+2021-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (__cpp_lib_is_pointer_interconvertible)
+       (is_pointer_interconvertible_base_of_v)
+       (is_pointer_interconvertible_base_of): Define for C++20.
+       * include/std/version (__cpp_lib_is_pointer_interconvertible):
+       Define.
+       * testsuite/23_containers/span/layout_compat.cc: Use correct
+       feature test macro for std::is_layout_compatible_v.
+       * testsuite/20_util/is_pointer_interconvertible/value.cc: New test.
+       * testsuite/20_util/is_pointer_interconvertible/version.cc: New test.
+
+2021-08-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex.h (basic_regex::transform_primary): Use
+       _GLIBCXX_STD_C::vector for local variable.
+       * include/bits/regex.tcc (__regex_algo_impl): Use reference to
+       _GLIBCXX_STD_C::vector base class of match_results.
+       * include/bits/regex_automaton.tcc (_StateSeq:_M_clone): Use
+       _GLIBCXX_STD_C::map and _GLIBCXX_STD_C::deque for local
+       variables.
+       * include/bits/regex_compiler.h (_BracketMatcher): Use
+       _GLIBCXX_STD_C::vector for data members.
+       * include/bits/regex_executor.h (_Executor): Likewise.
+       * include/std/regex [_GLIBCXX_DEBUG]: Include <debug/vector>.
+
+2021-08-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/safe_container.h
+       (_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New.
+       (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New.
+       (_Safe_container(_Safe_container&&, const _Alloc&)): Use latters.
+
+2021-08-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/unordered_map/cons/default.cc: Add
+       equality comparison operators to allocator.
+       * testsuite/23_containers/unordered_set/cons/default.cc:
+       Likewise.
+
+2021-08-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Replace 'failed_assertion'
+       dg-prune-output reason with 'builtin_unreachable'.
+       * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: Likewise.
+       * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise.
+       * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise.
+       * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: Likewise.
+
+2021-08-08  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * testsuite/std/ranges/iota/max_size_type.cc: Set
+       dg-timeout-factor to 4.
+
+2021-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (compare_three_way, strong_order)
+       (weak_order, partial_order, compare_strong_order_fallback)
+       (compare_weak_order_fallback, compare_partial_order_fallback):
+       Move nodiscard attributes to correct location.
+
+2021-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101782
+       * include/bits/ranges_base.h (ranges::begin, ranges::end)
+       (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
+       (ranges::empty, ranges::data): Move attribute after the
+       declarator-id instead of at the end of the declarator.
+       * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator):
+       Move attributes back to the start of the function declarator,
+       but move the requires-clause to the end.
+       (common_iterator): Move attribute after the declarator-id.
+       * include/bits/stl_queue.h (queue): Remove ill-formed attributes
+       from friend declaration that are not definitions.
+       * include/std/ranges (views::all, views::filter)
+       (views::transform, views::take, views::take_while,
+       views::drop) (views::drop_while, views::join,
+       views::lazy_split) (views::split, views::counted,
+       views::common, views::reverse) (views::elements): Move
+       attributes after the declarator-id.
+
+2021-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (partial_ordering, weak_ordering)
+       (strong_ordering, is_eq, is_neq, is_lt, is_lteq, is_gt, is_gteq)
+       (compare_three_way, strong_order, weak_order, partial_order)
+       (compare_strong_order_fallback, compare_weak_order_fallback)
+       (compare_partial_order_fallback, __detail::__synth3way): Add
+       nodiscard attribute.
+       * testsuite/18_support/comparisons/categories/zero_neg.cc: Add
+       -Wno-unused-result to options.
+
+2021-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101782
+       * include/bits/ranges_base.h (ranges::begin, ranges::end)
+       (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
+       (ranges::empty, ranges::data): Move attribute to the end of
+       the declarator.
+       * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator)
+       (common_iterator): Likewise for non-member operator functions.
+       * include/std/ranges (views::all, views::filter)
+       (views::transform, views::take, views::take_while, views::drop)
+       (views::drop_while, views::join, views::lazy_split)
+       (views::split, views::counted, views::common, views::reverse)
+       (views::elements): Likewise.
+       * testsuite/std/ranges/access/101782.cc: New test.
+
+2021-08-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/forward_list.h: Add [[nodiscard]] to functions
+       with no side-effects.
+       * include/bits/stl_bvector.h: Likewise.
+       * include/bits/stl_deque.h: Likewise.
+       * include/bits/stl_list.h: Likewise.
+       * include/bits/stl_queue.h: Likewise.
+       * include/bits/stl_stack.h: Likewise.
+       * include/bits/stl_vector.h: Likewise.
+       * include/debug/deque: Likewise.
+       * include/debug/forward_list: Likewise.
+       * include/debug/list: Likewise.
+       * include/debug/safe_iterator.h: Likewise.
+       * include/debug/vector: Likewise.
+       * include/std/array: Likewise.
+       * testsuite/23_containers/array/creation/3_neg.cc: Use
+       -Wno-unused-result.
+       * testsuite/23_containers/array/debug/back1_neg.cc: Cast result
+       to void.
+       * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/front1_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+       Adjust dg-error line numbers.
+       * testsuite/23_containers/deque/cons/clear_allocator.cc: Cast
+       result to void.
+       * testsuite/23_containers/deque/debug/invalidation/4.cc:
+       Likewise.
+       * testsuite/23_containers/deque/types/1.cc: Use
+       -Wno-unused-result.
+       * testsuite/23_containers/list/types/1.cc: Cast result to void.
+       * testsuite/23_containers/priority_queue/members/7161.cc:
+       Likewise.
+       * testsuite/23_containers/queue/members/7157.cc: Likewise.
+       * testsuite/23_containers/vector/59829.cc: Likewise.
+       * testsuite/23_containers/vector/ext_pointer/types/1.cc:
+       Likewise.
+       * testsuite/23_containers/vector/ext_pointer/types/2.cc:
+       Likewise.
+       * testsuite/23_containers/vector/types/1.cc: Use
+       -Wno-unused-result.
+
+2021-08-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (iter_move): Add
+       [[nodiscard]].
+       * include/bits/range_access.h (begin, end, cbegin, cend)
+       (rbegin, rend, crbegin, crend, size, data, ssize): Likewise.
+       * include/bits/ranges_base.h (ranges::begin, ranges::end)
+       (ranges::cbegin, ranges::cend, ranges::rbegin, ranges::rend)
+       (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
+       (ranges::empty, ranges::data, ranges::cdata): Likewise.
+       * include/bits/stl_iterator.h (reverse_iterator, __normal_iterator)
+       (back_insert_iterator, front_insert_iterator, insert_iterator)
+       (move_iterator, move_sentinel, common_iterator)
+       (counted_iterator): Likewise.
+       * include/bits/stl_iterator_base_funcs.h (distance, next, prev):
+       Likewise.
+       * include/bits/stream_iterator.h (istream_iterator)
+       (ostream_iterartor): Likewise.
+       * include/bits/streambuf_iterator.h (istreambuf_iterator)
+       (ostreambuf_iterator): Likewise.
+       * include/std/ranges (views::single, views::iota, views::all)
+       (views::filter, views::transform, views::take, views::take_while)
+       (views::drop, views::drop_while, views::join, views::lazy_split)
+       (views::split, views::counted, views::common, views::reverse)
+       (views::elements): Likewise.
+       * testsuite/20_util/rel_ops.cc: Use -Wno-unused-result.
+       * testsuite/24_iterators/move_iterator/greedy_ops.cc: Likewise.
+       * testsuite/24_iterators/normal_iterator/greedy_ops.cc:
+       Likewise.
+       * testsuite/24_iterators/reverse_iterator/2.cc: Likewise.
+       * testsuite/24_iterators/reverse_iterator/greedy_ops.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/range_access/char/1.cc:
+       Cast result to void.
+       * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/23_containers/array/range_access.cc: Likewise.
+       * testsuite/23_containers/deque/range_access.cc: Likewise.
+       * testsuite/23_containers/forward_list/range_access.cc:
+       Likewise.
+       * testsuite/23_containers/list/range_access.cc: Likewise.
+       * testsuite/23_containers/map/range_access.cc: Likewise.
+       * testsuite/23_containers/multimap/range_access.cc: Likewise.
+       * testsuite/23_containers/multiset/range_access.cc: Likewise.
+       * testsuite/23_containers/set/range_access.cc: Likewise.
+       * testsuite/23_containers/unordered_map/range_access.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/range_access.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/range_access.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/range_access.cc:
+       Likewise.
+       * testsuite/23_containers/vector/range_access.cc: Likewise.
+       * testsuite/24_iterators/customization_points/iter_move.cc:
+       Likewise.
+       * testsuite/24_iterators/istream_iterator/sentinel.cc:
+       Likewise.
+       * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
+       Likewise.
+       * testsuite/24_iterators/move_iterator/dr2061.cc: Likewise.
+       * testsuite/24_iterators/operations/prev_neg.cc: Likewise.
+       * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
+       * testsuite/24_iterators/range_access/range_access.cc:
+       Likewise.
+       * testsuite/24_iterators/range_operations/100768.cc: Likewise.
+       * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
+       * testsuite/28_regex/range_access.cc: Likewise.
+       * testsuite/experimental/string_view/range_access/char/1.cc:
+       Likewise.
+       * testsuite/experimental/string_view/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/ext/vstring/range_access.cc: Likewise.
+       * testsuite/std/ranges/adaptors/take.cc: Likewise.
+       * testsuite/std/ranges/p2259.cc: Likewise.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.tcc (linear_congruential_engine): Do not
+       define static constexpr members when they are implicitly inline.
+       * include/std/ratio (ratio, __ratio_multiply, __ratio_divide)
+       (__ratio_add, __ratio_subtract): Likewise.
+       * include/std/type_traits (integral_constant): Likewise.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_common_types.h: Replace uses of
+       tr1::unordered_map and tr1::unordered_set with their C++11
+       equivalents.
+       * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust
+       dg-error line number.
+       * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
+       Likewise.
+       * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc:
+       Likewise.
+       * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
+       Likewise.
+       * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
+       Likewise.
+       * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
+       Likewise.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/memory_resource (polymorphic_allocator::delete_object):
+       Call destructor directly instead of using destroy.
+       (allocator_traits<polymorphic_allocator<T>>): Define partial
+       specialization.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/binders/3113.cc: Remove
+       trailing whitespace.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
+       Likewise.
+       * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
+       * testsuite/25_algorithms/headers/algorithm/synopsis.cc:
+       Likewise.
+       * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
+       Likewise.
+       * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
+       Likewise.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/evolution.xml: Document deprecation.
+       * doc/html/*: Regenerate.
+       * include/bits/c++config (_GLIBCXX14_DEPRECATED): Define.
+       (_GLIBCXX14_DEPRECATED_SUGGEST): Define.
+       * include/bits/stl_algo.h (random_shuffle): Deprecate for C++14
+       and later.
+       * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust
+       for C++11 and C++14 changes to std::random_shuffle and
+       std::shuffle.
+       * testsuite/25_algorithms/random_shuffle/1.cc: Add options to
+       use deprecated algorithms.
+       * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
+       * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
+       * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
+       Likewise.
+       * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
+       Likewise.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/forward_list/operations/3.cc:
+       Use lambda instead of std::bind2nd.
+       * testsuite/20_util/function_objects/binders/3113.cc: Add
+       options for testing deprecated features.
+       * testsuite/20_util/pair/cons/99957.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
+       Likewise.
+       * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
+       * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
+       * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
+       * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
+       * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
+       Likewise.
+       * testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
+       Likewise.
+       * testsuite/lib/dg-options.exp (dg_add_options_using-deprecated):
+       New proc.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_executor.h (_State_info): Replace
+       unique_ptr<bool[]> with array of bool.
+       * include/bits/regex_executor.tcc: Likewise.
+       * include/bits/regex_scanner.tcc: Replace std::strchr with
+       __builtin_strchr.
+       * include/std/regex: Replace standard headers with smaller
+       internal ones.
+       * testsuite/28_regex/traits/char/lookup_classname.cc: Include
+       <string.h> for strlen.
+       * testsuite/28_regex/traits/char/lookup_collatename.cc:
+       Likewise.
+
+2021-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new
+       RAII class template.
+       (wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr
+       instead of unique_ptr.
+
+2021-08-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/101599
+       * include/bits/ranges_algo.h (__reverse_copy_fn::operator()):
+       Add missing std::move in return statement.
+       (__partition_copy_fn::operator()): Rename templtae parameter
+       _O2 to _Out2.  Uglify function parameters out_true and out_false.
+       * include/bits/ranges_algobase.h (__copy_or_move): Add missing
+       std::move to recursive call that unwraps a __normal_iterator
+       output iterator.
+       * testsuite/25_algorithms/copy/constrained.cc (test06): New test.
+       * testsuite/25_algorithms/move/constrained.cc (test05): New test.
+
+2021-08-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/101589
+       * include/std/ranges (lazy_split_view::_InnerIter::base): Make
+       the const& overload unconstrained and return a const reference
+       as per LWG 3533.  Make unconditionally noexcept.
+       (elements_view::base): Revert accidental r12-569 change.
+       (elements_view::_Iterator::base): Make the const& overload
+       unconstrained and return a const reference as per LWG 3533.
+       Make unconditionally noexcept.
+
+2021-08-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/101483
+       * include/std/ranges (join_view::_Iterator::_Iterator): Add
+       missing std::move.
+
+2021-08-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101709
+       * src/filesystem/ops-common.h (get_temp_directory_from_env):
+       Add error_code parameter.
+       * src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code
+       argument to get_temp_directory_from_env and check it.
+       * src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
+
+2021-08-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
+       Add dg-error for c++11_only target.
+
+2021-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/65018
+       * configure.ac: Check for secure_getenv.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * src/filesystem/ops-common.h (get_temp_directory_from_env): New
+       helper function to obtain path from the environment.
+       * src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper.
+       * src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
+       * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
+       Print messages if test cannot be run.
+       * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+       Likewise. Fix incorrect condition. Use "TMP" to work with
+       Windows as well as POSIX.
+
+2021-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * src/c++17/memory_resource.cc: Use __exchange instead
+       of std::exchange.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/optional (__throw_bad_optional_access):
+       Replace GNU attribute with C++11 attribute.
+       (optional::value, optional::value_or): Use if statements
+       instead of conditional expressions.
+       * include/std/optional (__throw_bad_optional_access)
+       (optional::value, optional::value_or): Likewise.
+
+2021-07-27  Marek Polacek  <polacek@redhat.com>
+
+       DR 1512
+       PR c++/99701
+       * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
+       Move a line...
+       * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
+       ...here.  New test.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cow_string.h: Consistently use tab for
+       indentation.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
+       (basic_string): Move definition of Copy-on-Write string to
+       new file.
+       * include/bits/basic_string.tcc: Likewise.
+       * include/bits/cow_string.h: New file.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/algorithm: Do not include <utility>.
+       * include/std/functional: Likewise.
+       * include/std/regex: Include <bits/stl_pair.h> instead of
+       <utility>.
+       * include/debug/map.h: Likewise.
+       * include/debug/multimap.h: Likewise.
+       * include/debug/multiset.h: Likewise.
+       * include/debug/set.h: Likewise.
+       * include/debug/vector: Likewise.
+       * include/bits/fs_path.h: Likewise.
+       * include/bits/unique_ptr.h: Do not include <utility>.
+       * include/experimental/any: Likewise.
+       * include/experimental/executor: Likewise.
+       * include/experimental/memory: Likewise.
+       * include/experimental/optional: Likewise.
+       * include/experimental/socket: Use __exchange instead
+       of std::exchange.
+       * src/filesystem/ops-common.h: Likewise.
+       * testsuite/20_util/default_delete/48631_neg.cc: Adjust expected
+       errors to not use a hardcoded line number.
+       * testsuite/20_util/default_delete/void_neg.cc: Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
+       Include <utility> for std::as_const.
+       * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
+       Likewise.
+       * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
+       Adjust dg-error line number.
+
+2021-07-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/Makefile.am: Add bits/utility.h header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/utility.h: New file.
+       * include/std/utility (tuple_size, tuple_element): Move
+       to new header.
+       * include/std/type_traits (__is_tuple_like_impl<tuple<T...>>):
+       Move to <tuple>.
+       (_Index_tuple, _Build_index_tuple, integer_sequence): Likewise.
+       (in_place_t, in_place_index_t, in_place_type_t): Likewise.
+       * include/bits/ranges_util.h: Include new header instead of
+       <utility>.
+       * include/bits/stl_pair.h (tuple_size, tuple_element): Move
+       partial specializations for std::pair here.
+       (get): Move overloads for std::pair here.
+       * include/std/any: Include new header instead of <utility>.
+       * include/std/array: Likewise.
+       * include/std/memory_resource: Likewise.
+       * include/std/optional: Likewise.
+       * include/std/variant: Likewise.
+       * include/std/tuple: Likewise.
+       (__is_tuple_like_impl<tuple<T...>>): Move here.
+       (get) Declare overloads for std::array.
+       * include/std/version (__cpp_lib_tuples_by_type): Change type
+       to long.
+       * testsuite/20_util/optional/84601.cc: Include <utility>.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
+       Likewise.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+       Adjust dg-error line numbers.
+       * testsuite/std/ranges/access/cbegin.cc: Include <utility>.
+       * testsuite/std/ranges/access/cend.cc: Likewise.
+       * testsuite/std/ranges/access/end.cc: Likewise.
+       * testsuite/std/ranges/single_view.cc: Likewise.
+
+2021-07-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/future: Include <bits/atomic_base.h> instead of
+       <atomic>.
+
+2021-07-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_relops.h: Update documentation comments.
+
+2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101583
+       * include/bits/hashtable.h (_Hashtable): Replace mixin with
+       _Enable_default_ctor. Construct it explicitly in all
+       non-forwarding, non-defaulted constructors.
+       * testsuite/23_containers/unordered_map/cons/default.cc: Check
+       non-default constructors can be used.
+       * testsuite/23_containers/unordered_set/cons/default.cc:
+       Likewise.
+
+2021-07-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define.
+
+2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/94295
+       * include/ext/new_allocator.h (_GLIBCXX_OPERATOR_NEW)
+       (_GLIBCXX_OPERATOR_DELETE, _GLIBCXX_SIZED_DEALLOC): Define.
+       (allocator::allocate, allocator::deallocate): Use new macros.
+
+2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101571
+       * include/bits/ranges_uninitialized.h (_DestroyGuard): Change
+       constructor parameter to reference and use addressof.
+       * testsuite/util/testsuite_iterators.h: Define deleted operator&
+       overloads for test iterators.
+
+2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (_Function_base): Add
+       default member initializers and define constructor as defaulted.
+       (function::_M_invoker): Add default member initializer.
+
+2021-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100682
+       * doc/xml/manual/debug_mode.xml: Update documentation about
+       debug capability of std::array.
+       * doc/html/*: Regenerate.
+       * include/debug/array: New file.
+
+2021-07-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101542
+       * include/ext/rope (sequence_buffer): Add move constructor and
+       move assignment operator.
+       * testsuite/ext/rope/101542.cc: New test.
+
+2021-07-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101510
+       * src/c++17/fs_ops.cc (fs::create_directories): Use status
+       instead of symlink_status.
+       * src/filesystem/ops.cc (fs::create_directories): Likewise.
+       * testsuite/27_io/filesystem/operations/create_directories.cc:
+       Check symlink to existing directory.
+       * testsuite/27_io/filesystem/operations/create_directory.cc: Do
+       not test with symlinks on Windows.
+       * testsuite/experimental/filesystem/operations/create_directories.cc:
+       Check symlink to existing directory.
+       * testsuite/experimental/filesystem/operations/create_directory.cc:
+       Do not test with symlinks on Windows.
+
+2021-07-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100863
+       * include/bits/hashtable.h (_Hashtable): Conditionally delete
+       default constructor by deriving from _Enable_special_members.
+       * testsuite/23_containers/unordered_map/cons/default.cc: New test.
+       * testsuite/23_containers/unordered_set/cons/default.cc: New test.
+
+2021-07-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101510
+       * src/c++17/fs_ops.cc (create_dir): Adjust whitespace.
+       * testsuite/27_io/filesystem/operations/create_directory.cc:
+       Test creating directory with name of existing symlink to
+       directory.
+       * testsuite/experimental/filesystem/operations/create_directory.cc:
+       Likewise.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/tuple (get<I>): Add deleted overload for bad
+       index.
+       * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
+       expected errors.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/max_size_type.h (numeric_limits<__max_size_type>):
+       Use __int_traits unconditionally.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (_Shift::__value): Use constexpr.
+       (_Select_uint_least_t::type): Use using-declaration.
+       (_Mod): Likewise.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cpp_type_traits.h (__INT_N): Use __extension__
+       instead of diagnostic pragmas.
+       * include/bits/functional_hash.h: Likewise.
+       * include/bits/iterator_concepts.h (__is_signed_int128)
+       (__is_unsigned_int128): Likewise.
+       * include/bits/max_size_type.h (__max_size_type): Likewise.
+       (numeric_limits<__max_size_type>): Likewise.
+       * include/bits/std_abs.h (abs): Likewise.
+       * include/bits/stl_algobase.h (__size_to_integer): Likewise.
+       * include/bits/uniform_int_dist.h (uniform_int_distribution):
+       Likewise.
+       * include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS):
+       Likewise.
+       * include/std/type_traits (__is_integral_helper<INT_N>)
+       (__is_signed_integer, __is_unsigned_integer)
+       (__make_unsigned<INT_N>, __make_signed<INT_N>): Likewise.
+       * include/std/limits (__INT_N): Add __extension__ keyword.
+       * include/bits/random.h (_Select_uint_least_t)
+       (random_device): Likewise.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/101231
+       * include/std/ranges (_CachedPosition::_M_get): For non-forward
+       ranges, just call __builtin_unreachable.
+       * testsuite/std/ranges/istream_view.cc (test05): New test.
+
+2021-07-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/101214
+       * include/std/ranges (split_view::split_view): Use std::move.
+       (split_view::_Iterator::_Iterator): Remove redundant
+       default_initializable constraint.
+       (split_view::_Sentinel::_Sentinel): Declare.
+       * testsuite/std/ranges/adaptors/split.cc (test02): New test.
+
+2021-07-16  Marek Polacek  <polacek@redhat.com>
+
+       * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add
+       dg-error.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/unique_ptr.h: Adjust doxygen markup.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101307
+       * include/std/type_traits: Adjust doxygen markup.
+
+2021-07-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/cpp_type_traits.h: Add diagnostic pragmas around
+       uses of non-standard integer types.
+       * include/bits/functional_hash.h: Likewise.
+       * include/bits/iterator_concepts.h: Likewise.
+       * include/bits/max_size_type.h: Likewise.
+       * include/bits/std_abs.h: Likewise.
+       * include/bits/stl_algobase.h: Likewise.
+       * include/bits/uniform_int_dist.h: Likewise.
+       * include/ext/numeric_traits.h: Likewise.
+       * include/std/type_traits: Likewise.
+
+2021-07-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101427
+       * include/std/tuple (tuple_element): Improve static_assert text.
+       (__get_helper): Add deleted overload.
+       (get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use
+       __get_helper directly.
+       (__get_helper2): Remove.
+       (__find_uniq_type_in_pack): New constexpr helper function.
+       (get<T>): Use __find_uniq_type_in_pack and __get_helper instead
+       of __get_helper2.
+       * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
+       expected errors.
+       * testsuite/20_util/tuple/element_access/101427.cc: New test.
+
+2021-07-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101429
+       * include/bits/c++config (__replacement_assert): Add noexcept.
+       [!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_abort
+       instead of __replacement_assert.
+
+2021-07-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/string_view (basic_string_view(It, End)): Add
+       noexcept-specifier.
+       * testsuite/21_strings/basic_string_view/cons/char/range.cc:
+       Check noexcept-specifier. Also check construction without CTAD.
+
+2021-07-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/101361
+       * include/std/string_view (ends_with): Use traits_type::compare
+       directly.
+
+2021-07-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/string_view: Only include <bits/ranges_base.h>
+       once, and only for C++20 and later.
+
+2021-07-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101411
+       * include/std/span (as_writable_bytes): Add requires-clause.
+       * testsuite/23_containers/span/101411.cc: New test.
+
+2021-07-09  Matheus Castanho  <msc@linux.ibm.com>
+
+       * include/std/mutex (__lock_impl): Check
+       _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
+
+2021-07-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101271
+       * include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]):
+       Remove noexcept-specifier.
+       (unique_ptr<T[],D>::_S_nothrow_deref): Remove.
+       * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for
+       operator[].
+
+2021-07-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/doxygroups.cc: Fix docs for std::literals.
+       * doc/doxygen/user.cfg.in: Exclude the Networking TS header.
+       Add some more predefined macros.
+       * include/bits/fs_fwd.h: Move @addtogroup commands inside
+       namespaces. Add better documentation.
+       * include/bits/fs_path.h: Likewise.
+       * include/experimental/bits/fs_fwd.h: Likewise.
+       * include/experimental/bits/fs_path.h: Likewise.
+       * include/ext/throw_allocator.h: Fix typo and improve docs.
+       * include/std/chrono: Move @addtogroup commands.
+       * include/std/system_error: Move @addtogroup commands.
+       * libsupc++/exception: Improve documentation.
+       * libsupc++/exception.h: Add @since documentation.
+
+2021-06-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101258
+       * doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>.
+       (COLS_IN_ALPHA_INDEX): Remove obsolete tag.
+       (PREDEFINED): Add/fix some more macros that need to be expanded.
+       * include/bits/random.h: Stop Doxygen from documenting internal
+       implementation details.
+       * include/bits/random.tcc: Likewise.
+       * include/bits/this_thread_sleep.h: Fix @file name.
+       * include/experimental/bits/simd.h: Add to Doxygen group. Do not
+       document internal implementation details.
+       * include/experimental/bits/simd_detail.h: Do not document
+       internal implementation details.
+       * include/experimental/simd: Define Doxygen groups.
+       * include/experimental/type_traits: Improve documentation for
+       the header file. Define groups. Use @since commands.
+       * include/std/scoped_allocator (scoped_allocator_adaptor): Move
+       declaration before undocumented region.
+       * include/std/type_traits (true_type, false_type): Use using
+       declaration instead of typedef.
+       (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v)
+       (is_nothrow_invocable_r_v): Move definitions next to other C++17
+       variable templates.
+       Do not document internal implementation details. Move misplaced
+       group-end command. Define group for variable templates.
+       * include/std/variant: Do not document internal implementation
+       details.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2021-06-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/simd: Do not define anything pre-C++17.
+
+2021-06-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.tcc [__cpp_inline_variables]: Remove
+       redundant definitions of static constexpr member variables.
+       * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+       line number.
+
+2021-06-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove
+       explicit instantiation declarations.
+       * src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove
+       explicit instantiation definitions.
+
+2021-06-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97088
+       * testsuite/17_intro/names.cc: Fix #if condition for names used
+       by newlib headers.
+
+2021-06-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101236
+       * include/bits/unique_ptr.h (unique_ptr<T[], D>::operator[]):
+       Fail gracefully if element_type is incomplete.
+       * testsuite/20_util/unique_ptr/cons/incomplete.cc: Clarify that
+       the standard doesn't require this test to work for array types.
+       * testsuite/20_util/unique_ptr/lwg2762.cc: Check that incomplete
+       types can be used with array specialization.
+       * testsuite/20_util/unique_ptr/101236.cc: New test.
+
+2021-06-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/intro.xml: Document LWG 415 change.
+       * doc/html/manual/bugs.html: Regenerate.
+       * include/bits/istream.tcc (ws): Create sentry and catch
+       exceptions.
+       * testsuite/27_io/basic_istream/ws/char/lwg415.cc: New test.
+       * testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc: New test.
+
+2021-06-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ostream.tcc (basic_ostream::write): Call sputn
+       directly instead of using _M_write. Do setstate(__err) all
+       outside the try-catch block.
+       * include/std/ostream (basic_ostream::_M_write): Declare
+       private. Use __ostream_insert. Do not define for the versioned
+       namespace.
+
+2021-06-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/intro.xml: Document LWG 581 change.
+       * doc/html/manual/bugs.html: Regenerate.
+       * include/bits/basic_ios.tcc: Whitespace.
+       * include/bits/ostream.tcc (basic_ostream::flush()): Construct
+       sentry.
+       * testsuite/27_io/basic_ostream/flush/char/2.cc: Check
+       additional cases.
+       * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
+       * testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc:
+       Likewise.
+
+2021-06-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ostream.tcc (sentry): Only set failbit if badbit
+       is set, not if eofbit is set.
+       (tellp, seekp, seekp): Create sentry object. Do not set badbit
+       on exceptions.
+       * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
+       Adjust expected behaviour.
+       * testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/seekp/char/n3168.cc: New test.
+       * testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc: New test.
+       * testsuite/27_io/basic_ostream/tellp/char/n3168.cc: New test.
+       * testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc: New test.
+
+2021-06-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/syncstream (basic_syncbuf::swap()): Remove
+       noexcept, as per LWG 3498.
+
+2021-06-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97088
+       * testsuite/17_intro/names.cc: Undef more names for newlib and
+       also for arm-none-linux-gnueabi.
+       * testsuite/experimental/names.cc: Disable PCH.
+
+2021-06-25  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd.h (__bit_cast): Implement via
+       __builtin_bit_cast #if available.
+       (__proposed::simd_bit_cast): Add overloads for simd and
+       simd_mask, which use __builtin_bit_cast (or __bit_cast #if not
+       available), which return an object of the requested type with
+       the same bits as the argument.
+       * include/experimental/bits/simd_math.h: Use simd_bit_cast
+       instead of __bit_cast to allow casts to fixed_size_simd.
+       (copysign): Remove branch that was only required if __bit_cast
+       cannot be constexpr.
+       * testsuite/experimental/simd/tests/bits/test_values.h: Switch
+       from __bit_cast to __proposed::simd_bit_cast since the former
+       will not cast fixed_size objects anymore.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_math.h
+       (_GLIBCXX_SIMD_MATH_CALL2_): Rename arg2_ to __arg2.
+       (_GLIBCXX_SIMD_MATH_CALL3_): Rename arg2_ to __arg2 and arg3_ to
+       __arg3.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd.h (__execute_on_index_sequence)
+       (__execute_on_index_sequence_with_return)
+       (__call_with_n_evaluations, __call_with_subscripts): Add flatten
+       attribute.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_x86.h (_S_trunc, _S_floor)
+       (_S_ceil): Set bit 8 (_MM_FROUND_NO_EXC) on AVX and SSE4.1
+       roundp[sd] calls.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_x86.h (_S_ldexp): The AVX512F
+       implementation doesn't require a _VecBltnBtmsk ABI tag, it
+       requires either a 64-Byte input (in which case AVX512F must be
+       available) or AVX512VL.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_math.h: Undefine internal
+       macros after use.
+       (frexp): Move #if to a more sensible position and reformat
+       preceding code.
+       (logb): Call _SimdImpl::_S_logb for fixed_size instead of
+       duplicating the code here.
+       (modf): Simplify condition.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_math.h (fabs): Remove
+       fabs(simd<integral>) overload.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_converter.h
+       (_SimdConverter::operator()): Pass _SimdTuple by const-ref.
+       * include/experimental/bits/simd_fixed_size.h
+       (_GLIBCXX_SIMD_FIXED_OP): Pass binary operator _SimdTuple
+       arguments by const-ref.
+       (_S_masked_unary): Pass _SimdTuple by const-ref.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd_fixed_size.h
+       (_AbisInSimdTuple): Removed.
+
+2021-06-24  Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/experimental/bits/simd.h: Add missing operator~
+       overload for simd<floating-point> to __float_bitwise_operators.
+       * include/experimental/bits/simd_builtin.h
+       (_SimdImplBuiltin::_S_complement): Bitcast to int (and back) to
+       implement complement for floating-point vectors.
+       * include/experimental/bits/simd_fixed_size.h
+       (_SimdImplFixedSize::_S_copysign): New function, forwarding to
+       copysign implementation of _SimdTuple members.
+       * include/experimental/bits/simd_math.h (copysign): Call
+       _SimdImpl::_S_copysign for fixed_size arguments. Simplify
+       generic copysign implementation using the new ~ operator.
+
+2021-06-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/simd/README.md: Fix typos.
+
+2021-06-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr_base.h (__shared_ptr_access::operator[]):
+       Add noexcept.
+       * include/bits/unique_ptr.h (unique_ptr::operator*): Add
+       conditional noexcept as per LWG 2762.
+       * testsuite/20_util/shared_ptr/observers/array.cc: Check that
+       dereferencing cannot throw.
+       * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
+       * testsuite/20_util/optional/observers/lwg2762.cc: New test.
+       * testsuite/20_util/unique_ptr/lwg2762.cc: New test.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/101174
+       * testsuite/23_containers/multiset/cons/deduction.cc:
+       Uncomment CTAD example that was rejected by this bug.
+       * testsuite/23_containers/set/cons/deduction.cc: Likewise.
+
+2021-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (chrono::year::is_leap()): Fix incorrect
+       logic in comment.
+
+2021-06-23  Matthias Kretz  <m.kretz@gsi.de>
+
+       * testsuite/experimental/simd/README.md: New file.
+
+2021-06-23  Matthias Kretz  <m.kretz@gsi.de>
+
+       * testsuite/experimental/simd/driver.sh: Rewrite output
+       verbosity logic. Add -p/--percentage option. Allow -v/--verbose
+       to be used twice. Add -x and -o short options. Parse long
+       options with = instead of separating space generically. Parce
+       contracted short options. Make unrecognized options an error.
+       If same-line output is active, trap on EXIT to increment the
+       progress (only with --percentage), erase the line and print the
+       current status.
+       * testsuite/experimental/simd/generate_makefile.sh: Initialize
+       helper files for progress account keeping. Update help target
+       for changes to DRIVEROPTS.
+
+2021-06-23  Matthias Kretz  <m.kretz@gsi.de>
+
+       * testsuite/Makefile.am (check-simd): Remove -fno-tree-vrp flag
+       and associated warning.
+       * testsuite/Makefile.in: Regenerate.
+
+2021-06-23  Cassio Neri  <cassio.neri@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+           Ulrich Drepper  <drepper@redhat.com>
+
+       * include/std/chrono (chrono::year::is_leap()): Optimize.
+
+2021-06-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/86439
+       * testsuite/23_containers/map/cons/deduction.cc: Replace ambiguous
+       CTAD examples.
+       * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
+       Mention one of the replaced examples is broken due to PR101174.
+       * testsuite/23_containers/set/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/unordered_map/cons/deduction.cc: Replace
+       ambiguous CTAD examples.
+       * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
+
+2021-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/mutex (__detail::__try_lock_impl): Rename
+       parameter to avoid clashing with newlib's __lockable macro.
+       (try_lock): Add 'inline' specifier.
+       * testsuite/17_intro/names.cc: Add check for __lockable.
+       * testsuite/30_threads/try_lock/5.cc: Add options for pthreads.
+
+2021-06-22  Jonathan Wakely  <jwakely@redhat.com>
+           Matthias Kretz  <m.kretz@gsi.de>
+
+       * include/std/mutex (lock): Replace recursion with iteration
+       when lockables all have the same type.
+       (__detail::__try_lock_impl): Likewise. Pass lockables as
+       parameters, instead of a tuple. Always lock the first one, and
+       recurse for the rest.
+       (__detail::__lock_impl): Adjust call to __try_lock_impl.
+       (__detail::__try_to_lock): Remove.
+       * testsuite/30_threads/lock/3.cc: Check that mutexes are locked.
+       * testsuite/30_threads/lock/4.cc: Also test non-heterogeneous
+       arguments.
+       * testsuite/30_threads/unique_lock/cons/60497.cc: Also check
+       std::try_lock.
+       * testsuite/30_threads/try_lock/5.cc: New test.
+
+2021-06-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/memory (declare_reachable, undeclare_reachable)
+       (declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
+       (pointer_safety): Only define for C++11 to C++20 inclusive.
+       * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.
+
+2021-06-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (seed_seq): Constrain initializer-list
+       constructor.
+       * include/bits/random.tcc (seed_seq): Add template parameter.
+       * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check
+       for noexcept.
+       * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check
+       constraints.
+
+2021-06-22  Thomas Rodgers  <rodgert@appliantology.com>
+
+       PR libstdc++/100806
+       * include/bits/semaphore_base.h (__atomic_semaphore::_M_release):
+       Force _M_release() to wake all waiting threads.
+       * testsuite/30_threads/semaphore/100806.cc: New test.
+
+2021-06-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/mutex (__try_to_lock): Move to __detail namespace.
+       (struct __try_lock_impl): Replace with ...
+       (__detail::__try_lock_impl<Idx>(tuple<Lockables...>&)): New
+       function templates to implement std::try_lock.
+       (try_lock): Use new __try_lock_impl.
+       (__detail::__lock_impl(int, int&, L0&, L1&...)): New function
+       template to implement std::lock.
+       (lock): Use __lock_impl.
+
+2021-06-21  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
+
+2021-06-20  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__non_propagating_cache::operator bool):
+       Define for split_view::begin().
+       (split_view): Define as per P2210.
+       (views::__detail::__can_split_view): Define.
+       (views::_Split, views::split): Define.
+       * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
+       Test views::split.
+       * testsuite/std/ranges/adaptors/split.cc: New test.
+       * testsuite/std/ranges/p2325.cc (test08a): New test.
+       * testsuite/std/ranges/p2367.cc (test01): Test views::split.
+
+2021-06-20  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges: Rename views::split to views::lazy_split,
+       split_view to lazy_split_view, etc. throughout.
+       * testsuite/std/ranges/*: Likewise.
+       * testsuite/std/ranges/adaptors/lazy_split.cc: New file.
+       * testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file.
+
+2021-06-20  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (split_view::_OuterIter::__at_end):
+       Check _M_trailing_empty.
+       (split_view::_OuterIter::_M_trailing_empty): Define this
+       data member.
+       (split_view::_OuterIter::operator++): Set _M_trailing_empty
+       appropriately.
+       (split_view::_OuterIter::operator==): Compare
+       _M_trailing_empty.
+       * testsuite/std/ranges/adaptors/100479.cc (test03): Expect two
+       split parts instead of one.
+       * testsuite/std/ranges/adaptors/split.cc (test11): New test.
+
+2021-06-20  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (split_view::_InnerIter::base): Define as
+       per P2210.
+
+2021-06-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
+       Consider _Base instead of _Vp as per LWG 3555.
+       (elements_view::_Iterator::_S_iter_concept): Likewise.
+
+2021-06-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (split_view::_OuterIter::value_type::begin):
+       Remove the non-const overload, and remove the copyable constraint
+       on the const overload as per LWG 3553.
+
+2021-06-19  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_iterator.h
+       (__detail::__common_iter_use_postfix_proxy): Add
+       move_constructible constraint as per LWG 3546.
+       (common_iterator::__postfix_proxy): Adjust initializer of
+       _M_keep as per LWG 3546.
+
+2021-06-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100387
+       * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
+       to limit comparison complexity to 3*N/2.
+       (__minmax_element_fn::operator()): Likewise.
+       (shift_right): Avoid premature std::move of __result.
+       * testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
+       New tests.
+       * testsuite/25_algorithms/minmax_element/constrained.cc (test02):
+       Likewise.
+
+2021-06-18  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/concepts (convertible_to): Just use declval as per
+       LWG 3557.
+
+2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/95833
+       * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
+       incorrect static_assert with ones matching the 'Mandates'
+       conditions in the standard.
+       * testsuite/26_numerics/reduce/95833.cc: New test.
+
+2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/cons/char/1.cc: Use
+       diagnostic pragma to suppress -Wstringop-overread error.
+
+2021-06-18  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn)
+       (find_if, __find_if_not_fn, find_if_not, _in_in_result)
+       (__mismatch_fn, mismatch, __search_fn, search): Move to ...
+       * include/bits/ranges_util.h: ... here.
+       * include/std/ranges (__detail::find, __detail::find_if)
+       (__detail::find_if_not, __detail::mismatch): Remove.
+       (filter_view): Use ranges::find_if instead.
+       (drop_while_view): Use ranges::find_if_not instead.
+       (split_view): Use ranges::find and ranges::mismatch instead.
+
+2021-06-18  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/iterator_concepts.h (weakly_incrementable): Remove
+       default_initializable requirement.
+       * include/bits/ranges_base.h (ranges::view): Likewise.
+       * include/bits/ranges_util.h (subrange): Constrain the default
+       ctor.
+       * include/bits/stl_iterator.h (back_insert_iterator): Remove the
+       default ctor.
+       (front_insert_iterator): Likewise.
+       (insert_iterator): Likewise.  Remove NSDMIs.
+       (common_iterator): Constrain the default ctor.
+       (counted_iterator): Likewise.
+       * include/bits/stream_iterator.h (ostream_iterator): Remove the
+       default ctor.
+       * include/std/ranges (__detail::__box::operator=): Handle
+       self-assignment in the primary template.
+       (__detail::__box): In the partial specialization: adjust
+       constraints as per P2325.  Add specialized operator= for the
+       case when the wrapped type is not copyable.  Constrain the
+       default ctor.  Avoid list-initialization.
+       (single_view): Constraint the default ctor.
+       (iota_view): Relax semiregular constraint to copyable.
+       Constrain the default ctor.
+       (iota_view::_Iterator): Constraint the default ctor.
+       (basic_istream_view): Remove the default ctor.  Remove NSDMIs.
+       Remove redundant checks for empty _M_stream.
+       (basic_istream_view::_Iterator): Likewise.
+       (ref_view): Remove the default ctor.  Remove NSDMIs.
+       (ref_view::_Iterator): Constrain the default ctor.
+       (__detail::__non_propagating_cache::operator=): Define overload
+       for assigning from a value of the underlying type.
+       (filter_view): Likewise.
+       (filter_view::_Iterator): Likewise.
+       (transform_view): Likewise.
+       (transform_view::_Iterator): Likewise.
+       (take_view): Likewise.
+       (take_view::_Iterator): Likewise.
+       (take_while_view): Likewise.
+       (take_while_view::_Iterator): Likewise.
+       (drop_while_view): Likewise.
+       (drop_while_view::_Iterator): Likewise.
+       (join_view): Likewise.
+       (split_view::_OuterIter::__current): Adjust after changing the
+       type of _M_current.
+       (split_view::_M_current): Wrap it in a __non_propagating_cache.
+       (split_view::split_view): Constrain the default ctor.
+       (common_view): Constrain the default ctor.
+       (reverse_view): Likewise.
+       (elements_view): Likewise.
+       * include/std/span (enable_view<span<_ElementType, _Extent>>):
+       Define this partial specialization to true unconditionally.
+       * include/std/version (__cpp_lib_ranges): Adjust value.
+       * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
+       Don't attempt to default construct a back_insert_iterator.
+       * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
+       Don't attempt to default construct a front_insert_iterator.
+       * testsuite/24_iterators/insert_iterator/constexpr.cc:
+       Don't attempt to default construct an insert_iterator.
+       * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
+       Remove this test for default constructibility of ostream_iterator.
+       * testsuite/std/ranges/97600.cc: Don't attempt to default
+       construct a basic_istream_view.
+       * testsuite/std/ranges/adaptors/detail/semiregular_box.cc:
+       Rename to ...
+       * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this.
+       (test02): Adjust now that __box is copyable-box not
+       semiregular-box.
+       (test03): New test.
+       * testsuite/std/ranges/p2325.cc: New test.
+       * testsuite/std/ranges/single_view.cc (test06): New test.
+       * testsuite/std/ranges/view.cc: Adjust now that view doesn't
+       require default_initializable.
+
+2021-06-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91488
+       * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
+       define when is_constant_evaluated is available.
+       * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
+       Likewise.
+       (__constant_string_p, __constant_array_p): Remove.
+       (char_traits): Use is_constant_evaluated directly.
+       * include/std/version (__cpp_lib_constexpr_char_traits)
+       (__cpp_lib_constexpr_string): Only define when
+       is_constant_evaluated is available.
+
+2021-06-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100940
+       * include/std/ranges (__adaptor::_Partial): For the "simple"
+       forwarding partial specializations, also require that
+       the extra arguments are trivially copyable.
+       * testsuite/std/ranges/adaptors/100577.cc (test04): New test.
+
+2021-06-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100940
+       * include/std/ranges (__adaptor::_RangeAdaptor): Document the
+       template form of _S_has_simple_extra_args.
+       (__adaptor::__adaptor_has_simple_extra_args): Add _Args template
+       parameter pack.  Try to treat _S_has_simple_extra_args as a
+       variable template parameterized by _Args.
+       (__adaptor::_Partial): Pass _Arg/_Args to the constraint
+       __adaptor_has_simple_extra_args.
+       (views::_Take::_S_has_simple_extra_args): Templatize according
+       to the type of the extra argument.
+       (views::_Drop::_S_has_simple_extra_args): Likewise.
+       (views::_Split::_S_has_simple_extra_args): Define.
+       * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
+       Adjust after changes to _S_has_simple_extra_args mechanism.
+       (test03): Define.
+
+2021-06-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (__decay_copy): Name type.
+
+2021-06-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (ranges::begin, ranges::end)
+       (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
+       (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
+       (ranges::empty, ranges::data, ranges::cdata): Remove final
+       keywords and deleted operator& overloads.
+       * testsuite/24_iterators/customization_points/iter_move.cc: Use
+       new is_customization_point_object function.
+       * testsuite/24_iterators/customization_points/iter_swap.cc:
+       Likewise.
+       * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
+       Likewise.
+       * testsuite/std/ranges/access/begin.cc: Likewise.
+       * testsuite/std/ranges/access/cbegin.cc: Likewise.
+       * testsuite/std/ranges/access/cdata.cc: Likewise.
+       * testsuite/std/ranges/access/cend.cc: Likewise.
+       * testsuite/std/ranges/access/crbegin.cc: Likewise.
+       * testsuite/std/ranges/access/crend.cc: Likewise.
+       * testsuite/std/ranges/access/data.cc: Likewise.
+       * testsuite/std/ranges/access/empty.cc: Likewise.
+       * testsuite/std/ranges/access/end.cc: Likewise.
+       * testsuite/std/ranges/access/rbegin.cc: Likewise.
+       * testsuite/std/ranges/access/rend.cc: Likewise.
+       * testsuite/std/ranges/access/size.cc: Likewise.
+       * testsuite/std/ranges/access/ssize.cc: Likewise.
+       * testsuite/util/testsuite_iterators.h
+       (is_customization_point_object): New function.
+
+2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (ranges::begin, ranges::end)
+       (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
+       (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
+       (ranges::empty, ranges::data, ranges::cdata): Make types final.
+       Add deleted operator& overloads.
+       (ranges::advance, ranges::distance, ranges::next, ranges::prev):
+       Likewise.
+       * testsuite/std/ranges/headers/ranges/synopsis.cc: Replace
+       ill-formed & expressions with using-declarations. Add checks for
+       other function objects.
+
+2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_util.h (view_interface): Add noexcept to
+       empty, operator bool, data and size members.
+       (subrange): Add noexcept to constructors.
+       * include/std/ranges (single_view, ref_view): Add noexcept to
+       constructors.
+       (views::single, views::all): Add noexcept.
+       * testsuite/std/ranges/adaptors/all.cc: Check noexcept.
+       * testsuite/std/ranges/single_view.cc: Likewise.
+
+2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_util.h (subrange): Add __size_type typedef
+       and use it to simplify declarations.
+       (subrange(i, s, n)): Remove assertion.
+       * testsuite/std/ranges/subrange/constexpr.cc: New test.
+
+2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (__cust_access::__decay_copy):
+       Replace with function object.
+       (__cust_access::__member_begin, ___cust_access::_adl_begin): Use
+       __decay_copy unqualified.
+       * include/bits/ranges_base.h (__member_end, __adl_end):
+       Likewise. Use __range_iter_t for type of ranges::begin.
+       (__member_rend): Use correct value category for rbegin argument.
+       (__member_data): Use __decay_copy unqualified.
+       (__begin_data): Use __range_iter_t for type of ranges::begin.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (ranges::empty): Check whether
+       conversion to bool can throw.
+       * testsuite/std/ranges/access/empty.cc: Check for correct
+       noexcept-specifier.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100894
+       * include/std/type_traits (__common_ref_impl<X&, Y&>): Only
+       use the type if it's a reference.
+       * testsuite/20_util/common_reference/100894.cc: New test.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
+       Add dg-require-filesystem-ts directive.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101034
+       * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
+       (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
+       to use lvalue.
+       * testsuite/20_util/any/cons/101034.cc: New test.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
+       -std=gnu++17 option.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101056
+       * libsupc++/compare (compare_partial_order_fallback): Add
+       constraint using reversed parameter order, as per LWG 3465.
+       * testsuite/18_support/comparisons/algorithms/fallback.cc:
+       Adjust expected result.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/compare (__decayed_same_as): New helper concept.
+       (strong_order, weak_order, partial_order): Constrain with new
+       concept instead of using static_assert.
+       (compare_strong_order_fallback, compare_weak_order_fallback)
+       (compare_partial_order_fallback): Likewise. Do not deduce return
+       types. Remove redundant if-constexpr checks.
+       * testsuite/18_support/comparisons/algorithms/fallback.cc: New test.
+
+2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/101055
+       * include/std/tuple: Use reserved form of attribute name.
+       * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add
+       check for no_unique_address.
+       * testsuite/17_intro/headers/c++2014/all_attributes.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc:
+       Likewise.
+
+2021-06-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_path.h (operator==, operator<=>): Use new
+       _S_compare function.
+       (path::_S_compare): New function to call path::compare in a
+       context where path::iterator is complete.
+       * include/experimental/bits/fs_path.h (operator<, operator==):
+       Define after path::iterator is complete.
+       * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New
+       test.
+       * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
+       New test.
+
+2021-06-09  Thomas Rodgers  <rodgert@appliantology.com>
+
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard
+       test logic with constexpr check for is_always_lock_free.
+
+2021-06-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100982
+       * include/std/optional (optional::operator=(const optional<U>&)):
+       Fix value category used in is_assignable check.
+       * testsuite/20_util/optional/assignment/100982.cc: New test.
+
+2021-06-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/allocator.h (allocator::is_always_equal): Deprecate.
+       * include/bits/iterator_concepts.h (indirectly_readable_traits):
+       Add LWG issue number to comment.
+       * include/std/memory_resource (polymorphic_allocator::release):
+       Deprecate.
+       * testsuite/20_util/allocator/requirements/typedefs.cc: Add
+       dg-warning for deprecation. Also check std::allocator<void>.
+
+2021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
+
+       PR libstdc++/100889
+       * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait):
+       Change parameter type from _Tp to _Tp*.
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend
+       coverage of types tested.
+
+2021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
+
+       * include/std/barrier (__tree_barrier::_M_arrive): Remove
+       unnecessary hasher instantiation.
+
+2021-06-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/propagate_const (swap): Constrain.
+       * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test.
+
+2021-06-07  Avi Kivity  <avi@scylladb.com>
+
+       PR libstdc++/100900
+       * include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
+       Add missing typename.
+
+2021-06-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98842
+       * include/std/optional (operator<=>(const optional<T>& const U&)):
+       Add missing constraint and add workaround for template
+       recursion.
+       * testsuite/20_util/optional/relops/three_way.cc: Check that
+       type without equality comparison cannot be compared when wrapped
+       in std::optional.
+
+2021-06-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100824
+       * include/bits/ranges_base.h (_SSize): Return signed type.
+       * testsuite/std/ranges/access/ssize.cc: Check with __int128.
+
+2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_base.h (_SSize): Return the result of
+       ranges::size converted to the wider of make-signed-like-t<S> and
+       ptrdiff_t, rather than the ranges different type.
+       * testsuite/std/ranges/access/ssize.cc: Adjust expected result
+       for an iota_view that uses an integer class type for its
+       difference_type.
+
+2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100824
+       * include/bits/ranges_base.h (__member_data): Use __decay_copy.
+       * testsuite/std/ranges/access/data.cc: Add testcase from PR.
+
+2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100824
+       * include/bits/iterator_concepts.h (__detail::__decay_copy)
+       (__detail::__member_begin, __detail::__adl_begin): Move to
+       namespace ranges::__cust_access.
+       (__detail::__ranges_begin): Likewise, and rename to __begin.
+       Remove redundant static assertion.
+       * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd):
+       Use lvalue in noexcept specifier.
+       (__as_const): Add non-deduced parameter for value category.
+       (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of
+       __as_const.
+       (__member_size, __adl_size, __member_empty, __size0_empty):
+       (__eq_iter_empty, __adl_data): Use lvalue objects in
+       requirements.
+       (__sentinel_size): Likewise. Add check for conversion to
+       unsigned-like.
+       (__member_data): Allow non-lvalue types to satisfy the concept,
+       but use lvalue object in requirements.
+       (_Size, _SSize): Remove forwarding to always use an lvalue.
+       (_Data): Likewise. Add static assertion for arrays.
+       * testsuite/std/ranges/access/cdata.cc: Adjust expected
+       behaviour for rvalues. Add negative tests for ill-formed
+       expressions.
+       * testsuite/std/ranges/access/data.cc: Likewise.
+       * testsuite/std/ranges/access/empty.cc: Adjust expected
+       behaviour for rvalues.
+       * testsuite/std/ranges/access/size.cc: Likewise.
+
+2021-06-04  Tim Adye  <Tim.Adye@cern.ch>
+
+       * include/std/any (any::_Manager::_S_access): New static
+       function to access the contained value.
+       (any::emplace, __any_caster): Use _S_access member of the
+       manager type.
+
+2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml:
+       * doc/html/*: Regenerate.
+       * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup):
+       Define.
+       * include/std/version (__cpp_lib_generic_unordered_lookup):
+       Define.
+       * testsuite/23_containers/unordered_map/operations/1.cc: Check
+       feature test macro.
+       * testsuite/23_containers/unordered_set/operations/1.cc:
+       Likewise.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_algo.h (__detail::__can_reread_output):
+       Factor out this concept from ...
+       (__unique_copy_fn::operator()): ... here.  Use the concept
+       throughout.
+       * testsuite/std/ranges/range.cc: Remove now ill-formed use
+       of range_value_t on an output_range.
+       * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
+       Define value_type, pointer and reference member types to void.
+
+2021-06-03  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100577
+       * include/std/ranges (_RangeAdaptorClosure): Document
+       _S_has_simple_call_op mechanism.
+       (_RangeAdaptor): Document _S_has_simple_extra_args mechanism.
+       (__closure_has_simple_call_op): New concept.
+       (__adaptor_has_simple_extra_args): Likewise.
+       (_Partial<_Adaptor, _Args...>): New partial specialization.
+       (_Partial<_Adaptor, _Arg>): Likewise.
+       (_Pipe<_Lhs, _Rhs>): Likewise.
+       (views::_All::_S_has_simple_call_op): Define to true.
+       (views::_Filter::_S_has_simple_extra_args): Likewise.
+       (views::_Transform::_S_has_simple_extra_args): Likewise.
+       (views::_Take::_S_has_simple_extra_args): Likewise.
+       (views::_TakeWhile::_S_has_simple_extra_args): Likewise.
+       (views::_Drop::_S_has_simple_extra_args): Likewise.
+       (views::_DropWhile::_S_has_simple_extra_args): Likewise.
+       (views::_Join::_S_has_simple_call_op): Likewise.
+       (views::_Split): Document why we don't define
+       _S_has_simple_extra_args to true for this adaptor.
+       (views::_Common::_S_has_simple_call_op): Define to true.
+       (views::_Reverse::_S_has_simple_call_op): Likewise.
+       (views::_Elements::_S_has_simple_call_op): Likewise.
+       * testsuite/std/ranges/adaptors/100577.cc: New test.
+
+2021-06-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100863
+       PR libstdc++/65816
+       * include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
+       Value-initialize subobject.
+       * testsuite/23_containers/unordered_map/allocator/default_init.cc:
+       Remove XFAIL.
+       * testsuite/23_containers/unordered_set/allocator/default_init.cc:
+       Remove XFAIL.
+
+2021-06-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96088
+       * testsuite/23_containers/unordered_map/96088.cc: Adjust
+       expected number of allocations.
+       * testsuite/23_containers/unordered_set/96088.cc: Likewise.
+
+2021-06-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxxis29124.xml: Improve punctuation.
+       * doc/xml/manual/status_cxxtr1.xml: Likewise.
+       * doc/xml/manual/status_cxxtr24733.xml: Likewise.
+       * doc/html/*: Regenerate.
+
+2021-06-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/65816
+       * testsuite/23_containers/deque/allocator/default_init.cc,
+       testsuite/23_containers/forward_list/allocator/default_init.cc,
+       testsuite/23_containers/list/allocator/default_init.cc,
+       testsuite/23_containers/map/allocator/default_init.cc,
+       testsuite/23_containers/set/allocator/default_init.cc,
+       testsuite/23_containers/vector/allocator/default_init.cc,
+       testsuite/23_containers/vector/bool/allocator/default_init.cc:
+       Remove xfail.
+
+2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/unordered_map/96088.cc: Change
+       effective target to c++17.
+       * testsuite/23_containers/unordered_set/96088.cc: Likewise.
+
+2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test
+       isblank for C++11 and later.
+
+2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100833
+       * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)):
+       Fix return value for no-op case.
+       * testsuite/24_iterators/range_operations/advance.cc: Test
+       return values of three-argument overload.
+
+2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99453
+       * python/Makefile.am: Use archive name for printer hook if no
+       dynamic library name is available.
+       * python/Makefile.in: Regenerate.
+
+2021-05-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/abi.xml: Remove dead reference to "Intel
+       Compilers for Linux: Compatibility with GNU Compilers" article.
+       * doc/html/manual/abi.html: Regenerate.
+
+2021-05-26  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/formatter.h
+       (_Error_formatter::_Parameter::_Named): New.
+       (_Error_formatter::_Parameter::_Type): Inherit latter.
+       (_Error_formatter::_Parameter::_M_integer): Likewise.
+       (_Error_formatter::_Parameter::_M_string): Likewise.
+       * src/c++11/debug.cc: Include <cstring>.
+       (_Print_func_t): New.
+       (print_raw(PrintContext&, const char*, ptrdiff_t)): New.
+       (print_word): Use '%.*s' format in fprintf to render only expected number of chars.
+       (pretty_print(PrintContext&, const char*, _Print_func_t)): New.
+       (print_type): Rename in...
+       (print_type_info): ...this. Use pretty_print.
+       (print_address, print_integer): New.
+       (print_named_name, print_iterator_constness, print_iterator_state): New.
+       (print_iterator_seq_type): New.
+       (print_named_field, print_type_field, print_instance_field, print_iterator_field): New.
+       (print_field): Use latters.
+       (print_quoted_named_name, print_type_type, print_type, print_instance): New.
+       (print_string(PrintContext&, const char*, const _Parameter*, size_t)):
+       Change signature to...
+       (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)):
+       ...this and adapt. Remove intermediate buffer to render input string.
+       (print_string(PrintContext&, const char*, ptrdiff_t)): New.
+
+2021-05-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100768
+       * include/bits/ranges_base.h (advance, distance, next, prev):
+       Replace function templates with function objects.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
+       Adjust for changes to function objects.
+       * testsuite/std/ranges/adaptors/elements.cc: Add using
+       declarations for names from namespace ranges.
+       * testsuite/std/ranges/adaptors/transform.cc: Likewise.
+       * testsuite/24_iterators/range_operations/100768.cc: New test.
+
+2021-05-24  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/96088
+       * include/bits/hashtable_policy.h (_Select2nd): New.
+       (_NodeBuilder<>): New.
+       (_ReuseOrAllocNode<>::operator()): Use variadic template args.
+       (_AllocNode<>::operator()): Likewise.
+       * include/bits/hashtable.h
+       (_Hashtable<>::__node_builder_t): New.
+       (_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)):
+        New.
+       (_Hashtable<>::_S_forward_key): New.
+       (_Hashtable<>::_M_insert): Use latter.
+       (_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)):
+       Instantiate node first, compute hash code second.
+       * testsuite/23_containers/unordered_map/96088.cc: New test.
+       * testsuite/23_containers/unordered_multimap/96088.cc: New test.
+       * testsuite/23_containers/unordered_multiset/96088.cc: New test.
+       * testsuite/23_containers/unordered_set/96088.cc: New test.
+       * testsuite/util/replacement_memory_operators.h
+       (counter::_M_increment): New.
+       (counter::_M_decrement): New.
+       (counter::reset()): New.
+
+2021-05-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100479
+       * include/std/ranges (__detail::__non_propagating_cache): Move
+       definition up to before that of _CachedPosition.  Make base
+       class _Optional_base protected instead of private.  Add const
+       overload for operator*.
+       (__detail::_CachedPosition): Rewrite the partial specialization
+       for forward ranges as a derived class of __non_propagating_cache.
+       Remove the size constraint on the partial specialization for
+       random access ranges.  Add copy/move/copy-assignment/move-assignment
+       members to the offset partial specialization for random
+       access ranges that propagate the cached value but additionally
+       invalidate it in the source object on move.
+       * testsuite/std/ranges/adaptors/100479.cc: New test.
+
+2021-05-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify
+       call to ranges::next.
+       * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
+       * testsuite/25_algorithms/is_sorted_until/constrained.cc:
+       Likewise.
+       * testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to
+       swap_ranges.
+
+2021-05-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100606
+       * include/std/ranges (drop_while_view::begin): Assert the
+       precondition added by LWG 3490.
+
+2021-05-21  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100690
+       * include/std/ranges (iota_view::_Sentinel::_M_distance_from):
+       Split out this member function from ...
+       (iota_view::_Sentinel::operator-): ... here, for sake of access
+       control.
+       * testsuite/std/ranges/iota/iota_view.cc (test05): New test.
+
+2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.tcc (__representable_as_double)
+       (__p1_representable_as_double): Add "" to static asserts.
+
+2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100676
+       * include/bits/c++config (__glibcxx_assert_1): Rename to ...
+       (__glibcxx_constexpr_assert): ... this.
+       (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert.
+       (__glibcxx_assert): Define as either __glibcxx_constexpr_assert
+       or __glibcxx_assert_impl.
+       (__glibcxx_assert_2): Remove
+       * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use
+       __glibcxx_constexpr_assert instead of __glibcxx_assert_1.
+       * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
+       Adjust expected error.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
+       Likewise.
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
+       Likewise.
+       * testsuite/23_containers/span/back_neg.cc: Likewise.
+       * testsuite/23_containers/span/front_neg.cc: Likewise.
+       * testsuite/23_containers/span/index_op_neg.cc: Likewise.
+
+2021-05-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100639
+       * include/bits/stl_iterator.h (reverse_iterator::difference_type):
+       In C++20 mode, define in terms of iter_difference_t as per P0896R4.
+       (reverse_iterator::reference): Likewise, but with iter_reference_t.
+       (reverse_iterator::value_type): Likewise, but with iter_value_t.
+       * testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
+       * testsuite/24_iterators/reverse_iterator/100639.cc: New test.
+
+2021-05-20  Joern Rennecke  <joern.rennecke@riscy-ip.com>
+
+       PR libstdc++/100361
+       * include/std/charconv (to_chars): Hide the overloads for
+       floating-point types for 16 bit targets.
+       * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
+       * testsuite/20_util/to_chars/double.cc: Run this test only on
+       size32plus targets.
+       * testsuite/20_util/to_chars/float.cc: Likewise.
+       * testsuite/20_util/to_chars/long_double.cc: Likewise.
+
+2021-05-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100631
+       * include/std/ranges (elements_view::_Sentinel::operator-): Use
+       _M_distance_from in the other operator- overload too.
+       * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
+
+2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/lib/prune.exp: Add note about 'dg-note'.
+
+2021-05-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100475
+       * include/std/ranges (__box::__box): Use non-list-initialization
+       in member initializer list of in-place constructor of the
+       partial specialization for semiregular types.
+       (__box::operator->): Use std::__addressof.
+       * testsuite/std/ranges/adaptors/detail/semiregular_box.cc
+       (test02): New test.
+       * testsuite/std/ranges/single_view.cc (test04): New test.
+
+2021-05-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100621
+       * include/std/ranges (reverse_view::_S_needs_cached_begin):
+       Set to true if the underlying non-common random-access range
+       doesn't have a sized sentinel.
+
+2021-05-18  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100631
+       * include/std/ranges (elements_view::_Iterator): Also befriend
+       _Sentinel<!_Const>.
+       (elements_view::_Sentinel::_M_equal): Templatize.
+       (elements_view::_Sentinel::_M_distance_from): Split out from ...
+       (elements_view::_Sentinel::operator-): ... here.  Depend on
+       _Base2 instead of _Base in the return type.
+       * testsuite/std/ranges/adaptors/elements.cc (test06, test07):
+       New tests.
+
+2021-05-17  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
+       until value change observed.
+       (__waiter_base::_M_laundered): New member.
+       (__waiter_base::_M_notify): Check _M_laundered to determine
+       whether to wake one or all.
+       (__detail::__atomic_compare): Return true if call to
+       __builtin_memcmp() == 0.
+       (__waiter_base::_S_do_spin_v): Adjust predicate.
+       * testsuite/29_atomics/atomic/wait_notify/100334.cc: New
+       test.
+
+2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100630
+       * include/experimental/bits/fs_path.h (__is_constructible_from):
+       Test construction from a const lvalue, not an rvalue.
+       * testsuite/27_io/filesystem/path/construct/100630.cc: New test.
+       * testsuite/experimental/filesystem/path/construct/100630.cc:
+       New test.
+
+2021-05-17  Antony Polukhin  <antoshkka@gmail.com>
+
+       PR libstdc++/89728
+       * include/bits/locale_facets.h (ctype<basic_string<C,T,A>>):
+       Declare (but do not define) partial specialization.
+       * testsuite/22_locale/ctype/is/string/89728_neg.cc: New test.
+
+2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/thread (jthread::_S_create): Fix static assert
+       message.
+       * testsuite/30_threads/jthread/95989.cc: Re-enable test.
+       * testsuite/30_threads/jthread/jthread.cc: Do not require
+       pthread effective target.
+       * testsuite/30_threads/jthread/2.cc: Moved to...
+       * testsuite/30_threads/jthread/version.cc: ...here.
+
+2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd.
+       * doc/Makefile.in: Regenerate.
+       * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder
+       value.
+       * scripts/run_doxygen (print_usage): Always print to stdout and
+       do not exit.
+       (fail): New function for exiting on error.
+       (parse_options): Handle --latex_cmd. Do not treat --help the
+       same as errors. Simplify handling of required arguments.
+
+2021-05-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
+       Increase dg-timeout-factor to 4. Fix -Wunused-parameter
+       warnings. Replace bitwise AND with logical AND in loop
+       condition.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
+       Replace bitwise AND with logical AND in loop condition.
+       * testsuite/util/pstl/test_utils.h: Remove unused parameter
+       names.
+
+2021-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/LOCAL_PATCHES: Update.
+       * src/c++17/ryu/ryu_generic_128.h: Remove extern "C".
+       Remove declarations for never-defined functions.
+       * testsuite/20_util/to_chars/4.cc: New test.
+
+2021-05-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/headers/memory/synopsis.cc: Define C++98
+       alternative for macro.
+       * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
+       target keyword.
+       * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
+       syntax.
+
+2021-05-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/allocator.h (allocator<void>) [C++20]: Add
+       missing noexcept to constructor. Restore missing POCMA and
+       is_always_equal_traits.
+       [C++17]: Make construct and destroy members private and
+       declare allocator_traits as a friend.
+       * include/bits/memoryfwd.h (allocator_traits): Declare.
+       * include/ext/malloc_allocator.h (malloc_allocator::allocate):
+       Add nodiscard attribute. Add static assertion for LWG 3307.
+       * include/ext/new_allocator.h (new_allocator::allocate): Add
+       static assertion for LWG 3307.
+       * testsuite/20_util/allocator/void.cc: Check that converting
+       constructor is noexcept. Check for propagation traits and
+       size_type and difference_type. Check that pointer and
+       const_pointer are gone in C++20.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/stop_token: Remove TODO comment.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
+       Initialize a non-reference deleter from an rvalue, as per LWG
+       3548.
+       (__shared_ptr::_UniqCompatible): Add missing constraint.
+       * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
+       * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
+       constraints.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove
+       -std=gnu++17 from dg-options directive.
+       * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/operator_names.cc:
+       Likewise.
+       * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise.
+       * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
+       * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
+       Likewise.
+       * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
+       * testsuite/18_support/byte/81076.cc: Likewise.
+       * testsuite/18_support/byte/global_neg.cc: Likewise.
+       * testsuite/18_support/byte/ops.cc: Likewise.
+       * testsuite/18_support/byte/requirements.cc: Likewise.
+       * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise.
+       * testsuite/18_support/launder/1.cc: Likewise.
+       * testsuite/18_support/launder/nodiscard.cc: Likewise.
+       * testsuite/18_support/launder/requirements.cc: Likewise.
+       * testsuite/18_support/launder/requirements_neg.cc: Likewise.
+       * testsuite/18_support/new_aligned.cc: Likewise.
+       * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
+       Likewise.
+       * testsuite/19_diagnostics/error_code/is_error_code_v.cc:
+       Likewise.
+       * testsuite/19_diagnostics/error_condition/hash.cc: Likewise.
+       * testsuite/20_util/addressof/requirements/constexpr.cc:
+       Likewise.
+       * testsuite/20_util/as_const/1.cc: Likewise.
+       * testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
+       * testsuite/20_util/bind/83427.cc: Likewise.
+       * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
+       * testsuite/20_util/bool_constant/requirements.cc: Likewise.
+       * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
+       Likewise.
+       * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
+       Likewise.
+       * testsuite/20_util/duration_cast/rounding.cc: Likewise.
+       * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
+       Likewise.
+       * testsuite/20_util/from_chars/1_neg.cc: Likewise.
+       * testsuite/20_util/from_chars/requirements.cc: Likewise.
+       * testsuite/20_util/function/91456.cc: Likewise.
+       * testsuite/20_util/function/cons/deduction.cc: Likewise.
+       * testsuite/20_util/function_objects/83607.cc: Likewise.
+       * testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
+       * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
+       * testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
+       * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise.
+       * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/has_unique_object_representations/value.cc:
+       Likewise.
+       * testsuite/20_util/hash/nullptr.cc: Likewise.
+       * testsuite/20_util/in_place/requirements.cc: Likewise.
+       * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise.
+       * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_aggregate/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_aggregate/value.cc: Likewise.
+       * testsuite/20_util/is_invocable/83395.cc: Likewise.
+       * testsuite/20_util/is_invocable/91456.cc: Likewise.
+       * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_invocable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_invocable/value.cc: Likewise.
+       * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise.
+       * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise.
+       * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise.
+       * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise.
+       * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
+       * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_nothrow_swappable_with/value.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable/value.cc: Likewise.
+       * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/is_swappable_with/value.cc: Likewise.
+       * testsuite/20_util/logical_traits/83134.cc: Likewise.
+       * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/logical_traits/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/20_util/logical_traits/value.cc: Likewise.
+       * testsuite/20_util/pair/cons/deduction.cc: Likewise.
+       * testsuite/20_util/pair/swap_cxx17.cc: Likewise.
+       * testsuite/20_util/ratio/requirements/ratio_equal_v.cc:
+       Likewise.
+       * testsuite/20_util/reference_wrapper/83427.cc: Likewise.
+       * testsuite/20_util/reference_wrapper/deduction.cc: Likewise.
+       * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
+       * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
+       * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
+       Likewise.
+       * testsuite/20_util/time_point/arithmetic/constexpr.cc:
+       Likewise.
+       * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
+       * testsuite/20_util/to_chars/3.cc: Likewise.
+       * testsuite/20_util/to_chars/chars_format.cc: Likewise.
+       * testsuite/20_util/to_chars/lwg3266.cc: Likewise.
+       * testsuite/20_util/to_chars/requirements.cc: Likewise.
+       * testsuite/20_util/tuple/78939.cc: Likewise.
+       * testsuite/20_util/tuple/apply/1.cc: Likewise.
+       * testsuite/20_util/tuple/apply/2.cc: Likewise.
+       * testsuite/20_util/tuple/cons/deduction.cc: Likewise.
+       * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
+       * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise.
+       * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
+       * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
+       * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
+       * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
+       Likewise.
+       * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
+       * testsuite/20_util/void_t/1.cc: Likewise.
+       * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
+       * testsuite/24_iterators/container_access.cc: Likewise.
+       * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
+       Likewise.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
+       Likewise.
+       * testsuite/24_iterators/range_access/range_access_cpp17.cc:
+       Likewise.
+       * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc:
+       Likewise.
+       * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
+       * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
+       Likewise.
+       * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
+       * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
+       Likewise.
+       * testsuite/26_numerics/lcm/1.cc: Likewise.
+       * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
+       * testsuite/26_numerics/valarray/deduction.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/standard/char/quoted_sv.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc:
+       Likewise.
+       * testsuite/27_io/types/4.cc: Likewise.
+       * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
+       * testsuite/libstdc++-prettyprinters/91997.cc: Likewise.
+       * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/searchers.cc: Remove
+       -std=gnu++17 from dg-options directive.
+       * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
+       Likewise.
+       * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
+       Likewise.
+       * testsuite/25_algorithms/clamp/1.cc: Likewise.
+       * testsuite/25_algorithms/clamp/2.cc: Likewise.
+       * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
+       * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
+       Likewise.
+       * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise.
+       * testsuite/25_algorithms/for_each/for_each_n_debug.cc:
+       Likewise.
+       * testsuite/25_algorithms/sample/1.cc: Likewise.
+       * testsuite/25_algorithms/sample/2.cc: Likewise.
+       * testsuite/25_algorithms/sample/3.cc: Likewise.
+       * testsuite/25_algorithms/sample/81221.cc: Likewise.
+       * testsuite/25_algorithms/search/searcher.cc: Likewise.
+       * testsuite/26_numerics/exclusive_scan/1.cc: Likewise.
+       * testsuite/26_numerics/inclusive_scan/1.cc: Likewise.
+       * testsuite/26_numerics/reduce/1.cc: Likewise.
+       * testsuite/26_numerics/reduce/2.cc: Likewise.
+       * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise.
+       * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise.
+       * testsuite/26_numerics/transform_reduce/1.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/array/cons/deduction.cc: Remove
+       -std=gnu++17 from dg-options directive.
+       * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
+       * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
+       Likewise.
+       * testsuite/23_containers/array/requirements/constexpr_iter.cc:
+       Likewise.
+       * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
+       Likewise.
+       * testsuite/23_containers/deque/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/list/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/map/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/insert/83226.cc:
+       Likewise.
+       * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
+       Likewise.
+       * testsuite/23_containers/map/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/map/modifiers/try_emplace/1.cc:
+       Likewise.
+       * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/multimap/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/multiset/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/priority_queue/deduction.cc: Likewise.
+       * testsuite/23_containers/queue/deduction.cc: Likewise.
+       * testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/set/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/merge.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise.
+       * testsuite/23_containers/stack/deduction.cc: Likewise.
+       * testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/cons/deduction.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/modifiers/extract.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/modifiers/merge.cc:
+       Likewise.
+       * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
+       Likewise.
+       * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.
+       * testsuite/23_containers/vector/cons/deduction.cc: Likewise.
+       * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
+       Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/21_strings/basic_string/79162.cc: Remove
+       -std=gnu++17 from dg-options directive.
+       * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/char/79162.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/char/86138.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/char/deduction.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
+       * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
+       * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
+       * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/data/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/find/char/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operators/char/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/capacity/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/include.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/94051.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/types.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/literals/values.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operators/char/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
+       * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
+       * testsuite/21_strings/char_traits/requirements/char/99181.cc:
+       Likewise.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17
+       from dg-options directive.
+       * testsuite/20_util/memory_resource/2.cc: Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/93208.cc:
+       Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/allocate.cc:
+       Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/deallocate.cc:
+       Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/release.cc:
+       Likewise.
+       * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc:
+       Likewise.
+       * testsuite/20_util/polymorphic_allocator/1.cc: Likewise.
+       * testsuite/20_util/polymorphic_allocator/construct_pair.cc:
+       Likewise.
+       * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
+       * testsuite/20_util/polymorphic_allocator/select.cc: Likewise.
+       * testsuite/20_util/synchronized_pool_resource/allocate.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/cons.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/options.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/release.cc:
+       Likewise.
+       * testsuite/20_util/synchronized_pool_resource/release_single.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/cons.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/options.cc:
+       Likewise.
+       * testsuite/20_util/unsynchronized_pool_resource/release.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
+       * testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
+       * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/multimap/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/multiset/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
+       * testsuite/23_containers/unordered_map/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/pmr_typedefs.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
+       * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc:
+       Likewise.
+       * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
+       dg-options.
+       * testsuite/29_atomics/atomic/is_always_lock_free.cc:
+       * testsuite/29_atomics/atomic/requirements/typedefs.cc:
+       * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
+       * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
+       * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
+       * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
+       * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
+       * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
+       Likewise.
+       * testsuite/30_threads/shared_lock/70766.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
+       Likewise.
+       * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
+       Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
+       * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
+       * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from
+       dg-options directive.
+       * testsuite/20_util/any/assign/2.cc: Likewise.
+       * testsuite/20_util/any/assign/emplace.cc: Likewise.
+       * testsuite/20_util/any/assign/exception.cc: Likewise.
+       * testsuite/20_util/any/assign/self.cc: Likewise.
+       * testsuite/20_util/any/cons/1.cc: Likewise.
+       * testsuite/20_util/any/cons/2.cc: Likewise.
+       * testsuite/20_util/any/cons/90415.cc: Likewise.
+       * testsuite/20_util/any/cons/92156.cc: Likewise.
+       * testsuite/20_util/any/cons/aligned.cc: Likewise.
+       * testsuite/20_util/any/cons/explicit.cc: Likewise.
+       * testsuite/20_util/any/cons/in_place.cc: Likewise.
+       * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
+       * testsuite/20_util/any/make_any.cc: Likewise.
+       * testsuite/20_util/any/misc/any_cast.cc: Likewise.
+       * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
+       * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
+       * testsuite/20_util/any/misc/swap.cc: Likewise.
+       * testsuite/20_util/any/modifiers/1.cc: Likewise.
+       * testsuite/20_util/any/modifiers/83658.cc: Likewise.
+       * testsuite/20_util/any/modifiers/92156.cc: Likewise.
+       * testsuite/20_util/any/observers/type.cc: Likewise.
+       * testsuite/20_util/any/requirements.cc: Likewise.
+       * testsuite/20_util/any/typedefs.cc: Likewise.
+       * testsuite/20_util/optional/77288.cc: Likewise.
+       * testsuite/20_util/optional/84601.cc: Likewise.
+       * testsuite/20_util/optional/assignment/1.cc: Likewise.
+       * testsuite/20_util/optional/assignment/2.cc: Likewise.
+       * testsuite/20_util/optional/assignment/3.cc: Likewise.
+       * testsuite/20_util/optional/assignment/4.cc: Likewise.
+       * testsuite/20_util/optional/assignment/5.cc: Likewise.
+       * testsuite/20_util/optional/assignment/6.cc: Likewise.
+       * testsuite/20_util/optional/assignment/7.cc: Likewise.
+       * testsuite/20_util/optional/assignment/8.cc: Likewise.
+       * testsuite/20_util/optional/assignment/9.cc: Likewise.
+       * testsuite/20_util/optional/bad_access.cc: Likewise.
+       * testsuite/20_util/optional/cons/77727.cc: Likewise.
+       * testsuite/20_util/optional/cons/85642.cc: Likewise.
+       * testsuite/20_util/optional/cons/copy.cc: Likewise.
+       * testsuite/20_util/optional/cons/deduction.cc: Likewise.
+       * testsuite/20_util/optional/cons/default.cc: Likewise.
+       * testsuite/20_util/optional/cons/move.cc: Likewise.
+       * testsuite/20_util/optional/cons/trivial.cc: Likewise.
+       * testsuite/20_util/optional/cons/value.cc: Likewise.
+       * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/cons/default.cc:
+       Likewise.
+       * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/make_optional.cc:
+       Likewise.
+       * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
+       * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
+       * testsuite/20_util/optional/hash.cc: Likewise.
+       * testsuite/20_util/optional/in_place.cc: Likewise.
+       * testsuite/20_util/optional/make_optional.cc: Likewise.
+       * testsuite/20_util/optional/nullopt.cc: Likewise.
+       * testsuite/20_util/optional/observers/1.cc: Likewise.
+       * testsuite/20_util/optional/observers/2.cc: Likewise.
+       * testsuite/20_util/optional/observers/3.cc: Likewise.
+       * testsuite/20_util/optional/observers/4.cc: Likewise.
+       * testsuite/20_util/optional/observers/5.cc: Likewise.
+       * testsuite/20_util/optional/observers/6.cc: Likewise.
+       * testsuite/20_util/optional/relops/1.cc: Likewise.
+       * testsuite/20_util/optional/relops/2.cc: Likewise.
+       * testsuite/20_util/optional/relops/3.cc: Likewise.
+       * testsuite/20_util/optional/relops/4.cc: Likewise.
+       * testsuite/20_util/optional/relops/5.cc: Likewise.
+       * testsuite/20_util/optional/relops/6.cc: Likewise.
+       * testsuite/20_util/optional/relops/7.cc: Likewise.
+       * testsuite/20_util/optional/requirements.cc: Likewise.
+       * testsuite/20_util/optional/swap/1.cc: Likewise.
+       * testsuite/20_util/optional/swap/2.cc: Likewise.
+       * testsuite/20_util/optional/typedefs.cc: Likewise.
+       * testsuite/20_util/variant/80165.cc: Likewise.
+       * testsuite/20_util/variant/85183.cc: Likewise.
+       * testsuite/20_util/variant/86874.cc: Likewise.
+       * testsuite/20_util/variant/87431.cc: Likewise.
+       * testsuite/20_util/variant/87619.cc: Likewise.
+       * testsuite/20_util/variant/91807.cc: Likewise.
+       * testsuite/20_util/variant/any.cc: Likewise.
+       * testsuite/20_util/variant/compile.cc: Likewise.
+       * testsuite/20_util/variant/deduction.cc: Likewise.
+       * testsuite/20_util/variant/exception_safety.cc: Likewise.
+       * testsuite/20_util/variant/hash.cc: Likewise.
+       * testsuite/20_util/variant/index_type.cc: Likewise.
+       * testsuite/20_util/variant/relops/89851.cc: Likewise.
+       * testsuite/20_util/variant/relops/90008.cc: Likewise.
+       * testsuite/20_util/variant/run.cc: Likewise.
+       * testsuite/20_util/variant/visit.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove
+       -std=gnu++17 from dg-options directive.
+       * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
+       * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
+       * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
+       * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
+       * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
+       * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
+       * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise.
+       * testsuite/27_io/filesystem/directory_entry/lwg3171.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/file_status/1.cc: Likewise.
+       * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
+       * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/iterators/91067.cc: Likewise.
+       * testsuite/27_io/filesystem/iterators/caching.cc: Likewise.
+       * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
+       * testsuite/27_io/filesystem/iterators/recursion_pending.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/all.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/create_directories.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/create_directory.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/create_symlink.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/current_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/last_write_time.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/permissions.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/read_symlink.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/relative.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/rename.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/resize_file.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/space.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/status.cc: Likewise.
+       * testsuite/27_io/filesystem/operations/symlink_status.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/operations/weakly_canonical.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/append/path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
+       * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
+       * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
+       * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise.
+       * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise.
+       * testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/default.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
+       * testsuite/27_io/filesystem/path/construct/string_view.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/extension.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/relative_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/root_name.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/root_path.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
+       * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generation/normal.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generation/normal2.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generation/proximate.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generation/relative.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
+       * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
+       * testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
+       * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
+       * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
+       * testsuite/27_io/filesystem/path/native/string-char8_t.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
+       * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
+       * testsuite/27_io/filesystem/path/query/empty_neg.cc:
+       * 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_absolute.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/query/is_relative.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/construct/string_view.cc:
+       Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
+       Remove -std=gnu++17 from dg-options.
+       * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
+       Likewise.
+       * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
+       Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise.
+       * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
+       * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
+       * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
+       Likewise.
+       * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
+       * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
+       * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
+       Likewise.
+       * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
+       Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
+       for additional errors in C++20.
+       * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+       Likewise.
+       * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
+       * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
+
+2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid
+       clash with std::any.
+
+2021-05-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/istream (__rvalue_stream_extraction_t): Replace
+       use of __rval_streamable.
+       * include/std/ostream (__rvalue_stream_insertion_t): Likewise.
+       (__rval_streamable): Remove.
+       (_Require_derived_from_ios_base, __derived_from_ios_base): New
+       helper for checking constraints.
+       * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix
+       reference to the wrong subclause of the standard.
+       * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc:
+       New test.
+       * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned
+       errors.
+
+2021-05-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
+       Improve static_assert messages.
+       * testsuite/25_algorithms/copy/58982.cc: Adjust expected output.
+       * testsuite/25_algorithms/copy_n/58982.cc: Likewise.
+
+2021-05-06  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (filter_view::_Iterator::base): Make the
+       const& overload unconstrained and return a const reference as
+       per LWG 3533.  Make unconditionally noexcept.
+       (transform_view::_Iterator::base): Likewise.
+       (elements_view::_Iterator::base): Likewise.
+
+2021-05-06  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_iterator.h (move_iterator::base): Make the
+       const& overload unconstrained and return a const reference as
+       per LWG 3391.  Make unconditionally noexcept.
+       (counted_iterator::base): Likewise.
+       * testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
+       * testsuite/24_iterators/move_iterator/move_only.cc: Adjust
+       has_member_base concept to decay-copy the result of base().
+
+2021-05-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (remove_cvref_t): Define in terms of
+       remove_cvref.
+       * testsuite/20_util/remove_cvref/value.cc: Check alias.
+
+2021-05-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       Revert:
+       2021-05-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/charconv (__from_chars_alnum): Pass unsigned
+       char to std::isdigit.
+
+2021-05-05  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_util.h (enable_borrowed_range<subrange>):
+       Remove constraints on this partial specialization.
+       * include/std/ranges (enable_borrowed_range<iota_view>):
+       Likewise.
+
+2021-05-05  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (transform_view::_Iterator::iter_swap):
+       Remove as per LWG 3520.
+       (join_view::_Iterator::iter_swap): Add indirectly_swappable
+       constraint as per LWG 3517.
+
+2021-05-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/invoke/3.cc: Check feature
+       test macro.
+       * testsuite/20_util/function_objects/invoke/version.cc: New test.
+
+2021-05-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/charconv (__from_chars_alnum): Pass unsigned
+       char to std::isdigit.
+
+2021-05-05  Corentin Gay  <gay@adacore.com>
+
+       * acinclude.m4: Add VxWorks-specific case for the
+       configuration of ctypes.
+       * configure: Regenerate.
+       * config/locale/vxworks/ctype_members.cc: Add VxWorks-specific
+       version.
+       * config/os/vxworks/ctype_base.h: Adjust for VxWorks7+.
+       * config/os/vxworks/ctype_configure_char.cc: Likewise.
+       * config/os/vxworks/ctype_inline.h: Likewise.
+       * testsuite/28_regex/traits/char/isctype.cc: Defines
+       NEWLINE_IN_CLASS_BLANK if the target is VxWorks.
+       * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/future (promise::set_value): Check for existence
+       of shared state before dereferncing it.
+       (promise::set_exception, promise::set_value_at_thread_exit)
+       (promise::set_exception_at_thread_exit): Likewise.
+       (promise<R&>::set_value, promise<R&>::set_exception)
+       (promise<R&>::set_value_at_thread_exit)
+       (promise<R&>::set_exception_at_thread_exit): Likewise.
+       (promise<void>::set_value, promise<void>::set_exception)
+       (promise<void>::set_value_at_thread_exit)
+       (promise<void>::set_exception_at_thread_exit): Likewise.
+       * testsuite/30_threads/promise/members/at_thread_exit2.cc:
+       Remove unused variable.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (basic_string(const CharT*, const A&)):
+       Do not do arithmetic on null pointer.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+       (find_key_pointer(key_const_reference, false_type))
+       (find_key_pointer(key_const_reference, true_type)): Do not
+       dereference null pointer.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
+       overflow.
+       * testsuite/24_iterators/reverse_iterator/2.cc: Do not add
+       non-zero value to null pointer.
+       * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
+       Use past-the-end iterator for result.
+       * testsuite/25_algorithms/move_backward/69478.cc: Likewise.
+       * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100384
+       * include/std/variant (__get_t): New alias template yielding the
+       return type of std::get<N> on a variant.
+       (__visit_result_t): New alias template yielding the result of
+       std::visit.
+       (__same_types): Move into namespace __detail::__variant.
+       (__check_visitor_results): Likewise. Use __invoke_result_t and
+       __get_t.
+       (__check_visitor_result): Remove.
+       (visit): Use __visit_result_t for return type.
+       * testsuite/20_util/variant/100384.cc: New test.
+
+2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove
+       checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128.
+       * include/bits/random.h (_Select_uint_least_t<s, 1>):
+       Use __SIZEOF_INT128__ to decide whether to use __int128.
+       * include/std/charconv (__to_chars_unsigned_type): Likewise.
+
+2021-05-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/ctype.xml: Move unix.org reference to https.
+       * doc/html/manual/facets.html: Regenerate.
+
+2021-04-30  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::__non_propating_cache): Define
+       as per P2328.
+       (join_view): Remove constraints on the value and reference types
+       of the wrapped iterator type as per P2328.
+       (join_view::_Iterator::_M_satisfy): Adjust as per P2328.
+       (join_view::_Iterator::operator++): Likewise.
+       (join_view::_M_inner): Use __non_propating_cache as per P2328.
+       Remove now-redundant use of __maybe_present_t.
+       * testsuite/std/ranges/adaptors/join.cc: Include <array>.
+       (test10): New test.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (__cpp_lib_constexpr_string):
+       Only define for C++17 and later.
+       * include/std/version (__cpp_lib_semaphore): Fix condition
+       to match the one in <semaphore>.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Do not use GLIBCXX_CHECK_INT64_T.
+       * include/bits/postypes.h: Remove include of <stdint.h> and
+       definition/undefinition of the __STDC_LIMIT_MACROS and
+       __STDC_CONSTANT_MACROS macros.
+       (streamoff): Use __INT64_TYPE__ if defined.
+
+2021-04-30  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (split_view::_InnerIter::operator++):
+       Depend on _Base instead of _Vp directly, as per LWG 3532.
+
+2021-04-30  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/ranges_util.h (subrange::subrange): Avoid
+       list-initialization in delegating constructor.
+       * include/std/ranges (single_view): Replace implicit guide
+       with explicit deduction guide that decays its argument.
+       (_Single::operator()): Avoid CTAD when constructing the
+       single_view object.
+       (_Iota::operator()): Avoid list-initialization.
+       (__detail::__can_filter_view, _Filter::operator()): Likewise.
+       (__detail::__can_transform_view, _Transform::operator()): Likewise.
+       (take_view::begin): Likewise.
+       (__detail::__can_take_view, _Take::operator()): Likewise.
+       (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise.
+       (__detail::__can_drop_view, _Drop::operator()): Likewise.
+       (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise.
+       (split_view::split_view): Use views::single when initializing
+       _M_pattern.
+       (__detail::__can_split_view, _Split::operator()): Avoid
+       list-initialization.
+       (_Counted::operator()): Likewise.
+       * testsuite/std/ranges/p2367.cc: New test.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/60497
+       * include/bits/basic_ios.tcc (basic_ios::copyfmt): use
+       std::addressof.
+       * include/bits/basic_string.tcc (basic_string::swap)
+       (basic_string::assign): Likewise.
+       * include/bits/deque.tcc (deque::operator=(const deque&)):
+       Likewise.
+       * include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)):
+       Likewise.
+       * include/bits/vector.tcc (vector::operator=(const vector&)):
+       Likewise.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/istream (operator>>(Istream&&, x&)): Simplify, as
+       per LWG 1203.
+       * include/std/ostream (operator<<(Ostream&&, const x&)):
+       Likewise.
+       * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
+       Adjust dg-error pattern.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
+       Likewise.
+       * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define
+       is_extractable trait to replace std::__is_extractable. Make it
+       work with rvalue streams as well as lvalues, to replace f() and
+       g() helper functions.
+       * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
+       Define is_insertable trait to replace std::__is_insertable. Make
+       it work with rvalue streams as well as lvalues, to replace f()
+       and g() helper functions.
+       * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional
+       errors from new constraints.
+       * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks,
+       which are no longer expected to compile.
+       * testsuite/27_io/rvalue_streams.cc: Adjust existing test.
+       Verify LWG 1203 changes.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100285
+       * include/experimental/socket (__basic_socket_impl::set_option)
+       (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
+       Just set error code.
+       * testsuite/experimental/net/socket/socket_base.cc: CHeck
+       for <sys/socket.h> not <socket.h>.
+
+2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100180
+       PR libstdc++/100286
+       PR libstdc++/100351
+       * testsuite/experimental/net/internet/address/v4/comparisons.cc:
+       Use new effective-target keyword.
+       * testsuite/experimental/net/internet/address/v4/cons.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v4/creation.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v4/members.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v6/members.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/resolver/base.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/socket/opt.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/tcp.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/udp.cc:
+       Likewise.
+       * testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip):
+       New proc to check net_ts_ip et.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97930
+       * testsuite/20_util/pair/requirements/structural.cc: New test.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add
+       new definitions for constructors and assignment operators using
+       concepts for constraints.
+       * testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and
+       later.
+       * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust
+       expected error messages to also match C++20 errors.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99957
+       * include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair):
+       Combine and replace with ...
+       (_PCC::_DeprConsPair): New SFINAE helper function.
+       (pair): Merge preprocessor blocks so that all C++03 members
+       are defined together at the end.
+       (pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)):
+       Replace _T1 and _T2 parameters with __null_ptr_constant and
+       adjust constraints.
+       * testsuite/20_util/pair/40925.cc: Use nullptr instead of 0.
+       * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
+       * testsuite/20_util/pair/cons/99957.cc: New test.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
+       * include/std/version (__cpp_lib_constexpr_string): Define.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
+       Check for __cpp_lib_constexpr_string.
+       * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
+       Likewise.
+       * testsuite/21_strings/char_traits/requirements/version.cc: New test.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about
+       dealing with errors. Use '@' to prevent shell command being
+       echoed.
+       * doc/Makefile.in: Regenerate.
+
+2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100298
+       * include/bits/std_thread.h (thread::hardware_concurrency): Add
+       missing noexcept to inline definition for non-gthreads targets.
+
+2021-04-28  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100187
+       PR libstdc++/100237
+       PR libstdc++/100249
+       PR libstdc++/100287
+       * include/bits/ranges_algo.h (__search_n_fn::operator()): Give
+       the __value_comp lambda an explicit bool return type.
+       (__is_permutation_fn::operator()): Give the __proj_scan local
+       variable auto&& return type.  Give the __comp_scan lambda an
+       explicit bool return type.
+       (__remove_fn::operator()): Give the __pred lambda an explicit
+       bool return type.
+       (__partition_fn::operator()): Don't std::move __first twice
+       when returning an empty subrange.
+       (__min_fn::operator()): Don't std::move __comp.
+       (__max_fn::operator()): Likewise.
+       (__minmax_fn::operator()): Likewise.
+
+2021-04-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/100290
+       * include/std/ranges (join_view::_Iterator::operator++): Correct
+       the return type of the lambda to avoid returning a copy of
+       _M_parent->_M_inner.
+       * testsuite/std/ranges/adaptors/join.cc (test10): New test.
+
+2021-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       Revert:
+       2021-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100182
+       * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
+       ia32.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
+       ia32.
+
+2021-04-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (address_v6::bytes_type): Adjust
+       formatting.
+       (basic_endpoint): Define _M_is_v6() to put all checks for
+       AF_INET6 in one place.
+       (basic_endpoint::resize): Simplify.
+       (operator==(const tcp&, const tcp&)): Add constexpr and noexcept.
+       (operator!=(const tcp&, const tcp&)): Likewise.
+       (operator==(const udp&, const udp&)): Likewise.
+       (operator!=(const udp&, const udp&)): Likewise.
+       * testsuite/experimental/net/internet/tcp.cc: New test.
+       * testsuite/experimental/net/internet/udp.cc: New test.
+
+2021-04-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100286
+       * include/experimental/internet (resolver_errc, resolver_category())
+       (make_error_code, make_error_condition): Define unconditionally,
+       only make enumerators and use of gai_strerror depend on the
+       availability of <netdb.h>.
+       (address_v4::to_string): Use correct constant for string length.
+       (address_v4::to_string, address_v6::to_string): Define
+       unconditionally, throw if unsupported.
+       (make_address_v4, make_address_v6): Define unconditionally.
+       Return an error if unsupported.
+       (tcp, udp, v6_only, unicast::hops, multicast::*): Define
+       conditionally,
+       * testsuite/experimental/net/internet/socket/opt.cc: Check for
+       <netinet/in.h> and <netinet/tcp.h> before using types from
+       namespace net::ip.
+
+2021-04-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100285
+       * include/experimental/internet (resolver_base::flags):
+       Define overloaded operators as hidden friends.
+       * include/experimental/socket (socket_base::message_flags):
+       Likewise.
+
+2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (tcp::no_delay, v6_only)
+       (unicast::hops, multicast::hops, multicast::enable_loopback):
+       Change access of base class and static data members. Add
+       using-declaration for __socket_crtp::operator=(_Tp).
+       (multicast::__mcastopt): New type.
+       (multicast::join_group, multicast::leave_group): Derive from
+       __mcastopt for common implementation.
+       * include/experimental/socket: Add comment.
+       * testsuite/experimental/net/internet/socket/opt.cc: New test.
+       * testsuite/experimental/net/socket/socket_base.cc: Check for
+       protected constructor/destructor of socket_base. Check for
+       explicit constructors of socket option classes.
+
+2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/bits/net.h (__socket_base): Add
+       bool template parameter to allow BooleanSocketOption and
+       IntegerSocketOption to have different __socket_base<int>
+       base classes.
+       (__socket_base<bool>): Adjust base class.
+       (__socket_base<int>): Add partial specialization.
+       (__socket_crtp::operator=(_Tp)): Add noexcept-specifier.
+       * include/experimental/socket (socket_base::broadcast)
+       (socket_base::debug, socket_base::do_not_route)
+       (socket_base::keep_alive, socket_base::linger)
+       (socket_base::out_of_band_inline)
+       (socket_base::receive_buffer_size)
+       (socket_base::receive_low_watermark)
+       (socket_base::reuse_address, socket_base::send_buffer_size)
+       (socket_base::send_low_watermark): Add using-declaration for
+       __socket_crtp::operator=(_Tp).
+       * testsuite/experimental/net/socket/socket_base.cc: Check
+       properties of socket option types.
+
+2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (resolver_base::flags): Remove
+       enumerators. Initialize constants directly with desired values.
+       Make all operators constexpr and noexcept.
+       * testsuite/experimental/net/internet/resolver/base.cc: Use
+       __gnu_test::test_bitmask_values for bitmask type. Check
+       construction and destruction is protected.
+
+2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/semaphore_base.h: Include <exception> and <errno.h>.
+
+2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100259
+       * include/experimental/internet (net::ip::make_error_code)
+       (net::ip::make_error_condition, net::ip::make_network_v4)
+       (net::ip::operator==(const udp&, const udp&)): Add 'inline'.
+
+2021-04-24  David Edelsohn  <dje.gcc@gmail.com>
+
+       * testsuite/lib/dg-options.exp (atomic_link_flags): New.
+       (add_options_for_libatomic): Use atomic_link_flags.
+
+2021-04-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100180
+       * include/experimental/io_context (io_context): Define
+       dummy_pollfd type so that most member functions still compile
+       without <poll.h> and struct pollfd.
+
+2021-04-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/io_context (io_context::async_wait): Add
+       comment.
+       * include/experimental/socket (basic_socket::async_connect):
+       Cast wait_type constant to int.
+       (basic_datagram_socket::async_receive): Likewise.
+       (basic_datagram_socket::async_receive_from): Likewise.
+       (basic_datagram_socket::async_send): Likewise.
+       (basic_datagram_socket::async_send_to): Likewise.
+       (basic_stream_socket::async_receive): Likewise.
+       (basic_stream_socket::async_send): Likewise. Use io_context
+       parameter directly, instead of via an executor.
+       (basic_socket_acceptor::async_accept): Likewise.
+
+2021-04-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/socket (socket_base::shutdown_type):
+       (socket_base::wait_type, socket_base::message_flags):
+       Remove enumerators. Initialize constants directly with desired
+       values.
+       (socket_base::message_flags): Make all operators constexpr and
+       noexcept.
+       * testsuite/util/testsuite_common_types.h (test_bitmask_values):
+       New test utility.
+       * testsuite/experimental/net/socket/socket_base.cc: New test.
+
+2021-04-22  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/os/aix/atomicity.h: Delete.
+
+2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
+       Handle system_clock as well as steady_clock.
+       * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc:
+       Re-enable.
+
+2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
+       options for libatomic.
+
+2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/os/gnu-linux/os_defines.h: Fix type in comment.
+
+2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99006
+       * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
+       is not an array type.
+       * include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
+       * testsuite/20_util/shared_ptr/creation/99006.cc: New test.
+
+2021-04-22  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       * include/bits/atomic_wait.h: Always notify waiters in the
+       case of 'bare' address notification.
+
+2021-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/100182
+       * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
+       ia32.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
+       ia32.
+
+2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100179
+       * include/bits/semaphore_base.h: Remove #error.
+       * include/std/semaphore: Do not define anything unless one of
+       the implementations is available.
+
+2021-04-21  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       * include/bits/semaphore_base.h: Always reload __old in
+       __atomic_semaphore::_S_do_try_acquire().
+       * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
+       re-enable testcase.
+
+2021-04-21  Philippe Blain  <levraiphilippeblain@gmail.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99453
+       * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
+       * python/Makefile.in: Regenerate.
+
+2021-04-21  Thomas Rodgers  <rodgert@twrodgers.com>
+
+       * include/bits/semaphore_base.h: Add missing _M_try_acquire()
+       member to __platform_wait.
+
+2021-04-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/latch: Replace tab characters in license text.
+       * include/std/semaphore: Likewise.
+
+2021-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/100164
+       * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
+       rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+
+2021-04-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
+       test for targets not using futexes for semaphores.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+       * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
+       Disable for all targets.
+
+2021-04-20  Thomas Rodgers  <trodgers@redhat.com>
+
+       * include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/this_thread_sleep.h: New file.
+       * include/bits/atomic_base.h: Adjust all calls
+       to __atomic_wait/__atomic_notify for new call signatures.
+       * include/bits/atomic_timed_wait.h: Extensive rewrite.
+       * include/bits/atomic_wait.h: Likewise.
+       * include/bits/semaphore_base.h: Adjust all calls
+       to __atomic_wait/__atomic_notify for new call signatures.
+       * include/std/atomic: Likewise.
+       * include/std/barrier: Likewise.
+       * include/std/latch: Likewise.
+       * include/std/semaphore: Likewise.
+       * include/std/thread (this_thread::sleep_for)
+       (this_thread::sleep_until): Move to new header.
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
+       test.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
+
+2021-04-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/95983
+       * include/bits/stl_iterator.h (__detail::__move_iter_cat):
+       Define.
+       (move_iterator): Derive from the above in C++20 in order to
+       conditionally define iterator_category as per P2259.
+       (move_iterator::__base_cat): No longer used, so remove.
+       (move_iterator::iterator_category): Remove in C++20.
+       (__detail::__common_iter_use_postfix_proxy): Define.
+       (common_iterator::_Proxy): Rename to ...
+       (common_iterator:__arrow_proxy): ... this.
+       (common_iterator::__postfix_proxy): Define as per P2259.
+       (common_iterator::operator->): Adjust.
+       (common_iterator::operator++): Adjust as per P2259.
+       (iterator_traits<common_iterator>::_S_iter_cat): Define.
+       (iterator_traits<common_iterator>::iterator_category): Change as
+       per P2259.
+       (__detail::__counted_iter_value_type): Define.
+       (__detail::__counted_iter_concept): Define.
+       (__detail::__counted_iter_cat): Define.
+       (counted_iterator): Derive from the above three classes in order
+       to conditionally define value_type, iterator_concept and
+       iterator category respectively as per P2259.
+       (counted_iterator::operator->): Define as per P2259.
+       (incrementable_traits<counted_iterator>): Remove as per P2259.
+       (iterator_traits<counted_iterator>): Adjust as per P2259.
+       * include/std/ranges (__detail::__iota_view_iter_cat): Define.
+       (iota_view::_Iterator): Derive from the above in order to
+       conditionally define iterator_category as per P2259.
+       (iota_view::_S_iter_cat): Rename to ...
+       (iota_view::_S_iter_concept): ... this.
+       (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
+       (iota_view::iterator_category): Remove.
+       (__detail::__filter_view_iter_cat): Define.
+       (filter_view::_Iterator): Derive from the above in order to
+       conditionally define iterator_category as per P2259.
+       (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
+       (filter_view::_Iterator::iterator_category): Remove.
+       (transform_view::_Base): Define.
+       (transform_view::__iter_cat): Define.
+       (transform_view::_Iterator): Derive from the above in order to
+       conditionally define iterator_category as per P2259.
+       (transform_view::_Iterator::_Base): Just alias
+       transform_view::_Base.
+       (transform_view::_Iterator::_S_iter_cat): Move to struct
+       transform_view::__iter_cat.
+       (transform_view::_Iterator::iterator_category): Remove.
+       (transform_view::_Sentinel::_Base): Just alias
+       transform_view::_Base.
+       (join_view::_Base): Define.
+       (join_view::_Outer_iter): Define.
+       (join_view::_Inner_iter): Define.
+       (join_view::_S_ref_is_glvalue): Define.
+       (join_view::__iter_cat): Define.
+       (join_view::_Iterator): Derive from it in order to conditionally
+       define iterator_category as per P2259.
+       (join_view::_Iterator::_Base): Just alias join_view::_Base.
+       (join_view::_Iterator::_S_ref_is_glvalue): Just alias
+       join_view::_S_ref_is_glvalue.
+       (join_view::_Iterator::_S_iter_cat): Move to struct
+       transform_view::__iter_cat.
+       (join_view::_Iterator::_Outer_iter): Just alias
+       join_view::_Outer_iter.
+       (join_view::_Iterator::_Inner_iter): Just alias
+       join_view::_Inner_iter.
+       (join_view::_Iterator::iterator_category): Remove.
+       (join_view::_Sentinel::_Base): Just alias join_view::_Base.
+       (__detail::__split_view_outer_iter_cat): Define.
+       (__detail::__split_view_inner_iter_cat): Define.
+       (split_view::_Base): Define.
+       (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
+       in order to conditionally define iterator_category as per P2259.
+       (split_view::_Outer_iter::iterator_category): Remove.
+       (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
+       in order to conditionally define iterator_category as per P2259.
+       (split_view::_Inner_iter::_S_iter_cat): Move to
+       __split_view_inner_iter_cat.
+       (split_view::_Inner_iter::iterator_category): Remove.
+       (elements_view::_Base): Define.
+       (elements_view::__iter_cat): Define.
+       (elements_view::_Iterator): Derive from the above in order to
+       conditionall define iterator_category as per P2259.
+       (elements_view::_Iterator::_Base): Just alias
+       elements_view::_Base.
+       (elements_view::_Iterator::_S_iter_concept)
+       (elements_view::_Iterator::iterator_concept): Define as per
+       P2259.
+       (elements_view::_Iterator::iterator_category): Remove.
+       (elements_view::_Sentinel::_Base): Just alias
+       elements_view::_Base.
+       * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
+       Adjust constraints on iterator_traits<counted_iterator>.
+       * testsuite/std/ranges/p2259.cc: New test.
+
+2021-04-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100146
+       * include/std/charconv (__cpp_lib_to_chars): Define
+       conditionally.
+       * include/std/version (__cpp_lib_to_chars): Likewise..
+       * testsuite/20_util/from_chars/4.cc: Only check feature test
+       macro, not _GLIBCXX_HAVE_USELOCALE.
+       * testsuite/20_util/from_chars/5.cc: Likewise.
+       * testsuite/20_util/from_chars/6.cc: Likewise.
+       * testsuite/20_util/to_chars/long_double.cc: Likewise.
+
+2021-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
+       versions with _IEEE128_ substring are found, set ieee_version_found
+       to true.  Ignore missing symbols with _IEEE128_ in version name if
+       !ieee_version_found.  Use i->first as version_name instead of
+       i->second.version_name if the latter is empty.
+       * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2021-04-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
+       Updated.
+
+2021-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
+
+2021-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+       * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2021-04-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
+       add libatomic options for 32-bit sparc*-*-linux-gnu.
+
+2021-04-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/96657
+       * libsupc++/Makefile.am: Add atomicity.cc here.
+       * src/c++98/Makefile.am: Remove it from here.
+       * libsupc++/Makefile.in: Regenerate.
+       * src/c++98/Makefile.in: Regenerate.
+       * testsuite/18_support/exception_ptr/96657.cc: New test.
+
+2021-04-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100060
+       * include/std/bit: Only include <ext/numeric_traits.h> for
+       hosted build, use <limits> otherwise.
+
+2021-04-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/backwards_compatibility.xml: Remove porting
+       notes for libg++ and libstdc++-v2, and bibliography.
+       * doc/html/*: Regenerated.
+
+2021-04-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/100044
+       * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
+       Remove helper concept.
+       (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
+       deduction guides, as per LWG 3404.
+       * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
+       template argument deduction fails.
+
+2021-04-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
+       Adjust expected error for C++20 mode.
+       * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
+       Likewise.
+
+2021-04-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99995
+       * testsuite/17_intro/headers/c++1998/49745.cc: Include all
+       standard headers and XFAIL for effective-target c++20.
+
+2021-04-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/99402
+       * include/debug/helper_functions.h (__can_advance(_InputIterator,
+       const std::pair<_Diff, _Distance_precision>&, int)): New.
+       (__can_advance(const _Safe_iterator<>&,
+       const std::pair<_Diff, _Distance_precision>&, int)): New.
+       * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
+       use latter.
+       (__glibcxx_check_can_increment_range): Adapt to use latter.
+       (__glibcxx_check_can_decrement_range): Likewise.
+       * include/debug/safe_iterator.h
+       (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
+       int)): New.
+       (__can_advance(const _Safe_iterator<>&,
+       const std::pair<_Diff, _Distance_precision>&, int)): New.
+       * include/debug/safe_iterator.tcc
+       (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
+       int)): New.
+       (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
+       std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
+       __dp_sign_max_size.
+       (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
+       (__copy_move_backward_a): Likewise.
+       (__equal_aux): Likewise.
+       * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
+       const std::pair<_Diff, _Distance_precision>&, int)): New.
+       (__can_advance(const std::move_iterator<>&,
+       const std::pair<_Diff, _Distance_precision>&, int)): New.
+       * testsuite/25_algorithms/copy/debug/99402.cc: New test.
+
+2021-04-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99985
+       * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
+       to be a valid constexpr function in C++11.
+       * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
+
+2021-04-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/fs_fwd.h: Fix doxygen group command.
+       * include/bits/streambuf_iterator.h: Likewise.
+       * include/bits/uses_allocator_args.h: Likewise.
+       * include/std/memory: Likewise.
+       * include/tr1/complex: Likewise.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h: Tweak doxygen comment.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::find): Define.
+       (split_view::_OuterIter::operator++): Apply proposed resolution
+       of LWG 3505.
+       * testsuite/std/ranges/adaptors/split.cc (test10): New test.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::find_if): Simplify.
+       (__detail::find_if_not): Likewise.
+       (__detail::min): Remove.
+       (__detail::mismatch): Simplify.
+       (take_view::size): Use std::min instead of __detail::min.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (__detail::__returnable_element): New
+       concept.
+       (elements_view): Use this concept in its constraints.  Add
+       missing private access specifier.
+       (elements_view::_S_get_element): Define as per LWG 3502.
+       (elements_view::operator*, elements_view::operator[]): Use
+       _S_get_element.
+       (elements_view::operator++): Remove unnecessary constraint
+       as per LWG 3492.
+       * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/Makefile.am (stamp-pdf-doxygen): Also grep for
+       out-of-memory error in log file.
+       * doc/Makefile.in: Regenerate.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * configure: Regenerate.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h: Fix doxygen group commands.
+       * include/bits/regex_constants.h: Likewise.
+       * include/tr1/random.h: Likewise.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
+       New function to determine noexcept-specifier for move
+       constructors.
+       (_Hashtable): Use _S_nothrow_move() on move constructors.
+       * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
+       Correct static assertion message.
+       * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
+       Likewise.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98384
+       * testsuite/20_util/to_chars/long_double.cc: Don't run the test
+       on targets without a large long double.  XFAIL the execution on
+       targets with a non-conforming printf.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/99433
+       * include/std/ranges (__adaptor::__maybe_refwrap): Remove.
+       (__adaptor::__adaptor_invocable): New concept.
+       (__adaptor::__adaptor_partial_app_viable): New concept.
+       (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
+       non-template base class.
+       (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
+       class template.
+       (__adaptor::_Partial): New class template that represents
+       partial application of a range adaptor non-closure.
+       (__adaptor::__pipe_invocable): New concept.
+       (__adaptor::_Pipe): New class template.
+       (__detail::__can_ref_view): New concept.
+       (__detail::__can_subrange): New concept.
+       (all): Replace the lambda here with ...
+       (_All): ... this functor.  Add appropriate constraints.
+       (__detail::__can_filter_view): New concept.
+       (filter, _Filter): As in all/_All.
+       (__detail::__can_transform): New concept.
+       (transform, _Transform): As in all/_All.
+       (__detail::__can_take_view): New concept.
+       (take, _Take): As in all/_All.
+       (__detail::__can_take_while_view): New concept.
+       (take_while, _TakeWhile): As in all/_All.
+       (__detail::__can_drop_view): New concept.
+       (drop, _Drop): As in all/_All.
+       (__detail::__can_drop_while_view): New concept.
+       (drop_while, _DropWhile): As in all/_All.
+       (__detail::__can_join_view): New concept.
+       (join, _Join): As in all/_All.
+       (__detail::__can_split_view): New concept.
+       (split, _Split): As in all/_All.  Rename template parameter
+       _Fp to _Pattern.
+       (__detail::__already_common): New concept.
+       (__detail::__can_common_view): New concept.
+       (common, _Common): As in all/_All.
+       (__detail::__can_reverse_view): New concept.
+       (reverse, _Reverse): As in all/_All.
+       (__detail::__can_elements_view): New concept.
+       (elements, _Elements): As in all/_All.
+       (keys, values): Adjust.
+       * testsuite/std/ranges/adaptors/99433.cc: New test.
+       * testsuite/std/ranges/adaptors/all.cc: No longer expect that
+       adding empty range adaptor closure objects to a pipeline doesn't
+       increase the size of the pipeline.
+       (test05): New test.
+       * testsuite/std/ranges/adaptors/common.cc (test03): New test.
+       * testsuite/std/ranges/adaptors/drop.cc (test09): New test.
+       * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
+       * testsuite/std/ranges/adaptors/elements.cc (test04): New test.
+       * testsuite/std/ranges/adaptors/filter.cc (test06): New test.
+       * testsuite/std/ranges/adaptors/join.cc (test09): New test.
+       * testsuite/std/ranges/adaptors/p2281.cc: New test.
+       * testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
+       * testsuite/std/ranges/adaptors/split.cc (test01, test04):
+       Adjust.
+       (test09): New test.
+       * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
+       expected error message.
+       (test02): Likewise.  Extend test.
+       * testsuite/std/ranges/adaptors/take.cc (test06): New test.
+       * testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
+       * testsuite/std/ranges/adaptors/transform.cc (test07, test08):
+       New test.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/string_view: Adjust Doxygen @file comment.
+
+2021-04-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (is_scoped_enum<T>): Constrain partial
+       specialization to not match incomplete enum types. Use a
+       requires-expression instead of instantiating is_convertible.
+       (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
+       * testsuite/20_util/is_scoped_enum/value.cc: Check with
+       incomplete types and opaque-enum-declarations.
+
+2021-04-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99805
+       * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
+       non-const member on _M_pathname, to avoid copy-on-write.
+       * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
+       Check construction from strings that might be shared.
+
+2021-04-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/move.h (forward, move, move_if_noexcept)
+       (addressof): Add _GLIBCXX_NODISCARD.
+       * include/bits/ranges_cmp.h (identity::operator()): Add
+       nodiscard attribute.
+       * include/c_global/cstddef (to_integer): Likewise.
+       * include/std/bit (bit_cast): Likewise.
+       * include/std/utility (as_const, to_underlying): Likewise.
+
+2021-04-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/move.h (forward): Change static_assert message
+       to be unambiguous about what must be true.
+       * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
+       * testsuite/20_util/forward/f_neg.cc: Likewise.
+
+2021-04-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/alloc_traits.h: Use markdown for code font.
+       * include/bits/basic_string.h: Fix @param names.
+       * include/bits/max_size_type.h: Remove period after @file.
+       * include/bits/regex.h: Fix duplicate @retval names, and rename.
+       * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
+       group open to match existing group close.
+       * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
+       open.
+
+2021-04-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h: Fix doxygen group close.
+       * include/bits/basic_ios.h: Likewise.
+       * include/bits/forward_list.h: Likewise.
+       * include/bits/fs_dir.h: Likewise.
+       * include/bits/fs_ops.h: Likewise.
+       * include/bits/fs_path.h: Likewise.
+       * include/bits/functional_hash.h: Likewise.
+       * include/bits/gslice.h: Likewise.
+       * include/bits/gslice_array.h: Likewise.
+       * include/bits/hashtable_policy.h: Likewise.
+       * include/bits/indirect_array.h: Likewise.
+       * include/bits/locale_classes.h: Likewise.
+       * include/bits/locale_facets.h: Likewise.
+       * include/bits/locale_facets_nonio.h: Likewise.
+       * include/bits/mask_array.h: Likewise.
+       * include/bits/refwrap.h: Likewise.
+       * include/bits/regex.h: Likewise.
+       * include/bits/regex_automaton.h: Likewise.
+       * include/bits/regex_compiler.h: Likewise.
+       * include/bits/regex_constants.h: Likewise.
+       * include/bits/regex_error.h: Likewise.
+       * include/bits/regex_executor.h: Likewise.
+       * include/bits/regex_scanner.h: Likewise.
+       * include/bits/shared_ptr.h: Likewise.
+       * include/bits/shared_ptr_atomic.h: Likewise.
+       * include/bits/shared_ptr_base.h: Likewise.
+       * include/bits/slice_array.h: Likewise.
+       * include/bits/specfun.h: Likewise.
+       * include/bits/std_function.h: Likewise.
+       * include/bits/std_mutex.h: Likewise.
+       * include/bits/stl_deque.h: Likewise.
+       * include/bits/stl_iterator.h: Likewise.
+       * include/bits/stl_iterator_base_types.h: Likewise.
+       * include/bits/stl_map.h: Likewise.
+       * include/bits/stl_multimap.h: Likewise.
+       * include/bits/stl_multiset.h: Likewise.
+       * include/bits/stl_numeric.h: Likewise.
+       * include/bits/stl_pair.h: Likewise.
+       * include/bits/stl_set.h: Likewise.
+       * include/bits/stl_uninitialized.h: Likewise.
+       * include/bits/stream_iterator.h: Likewise.
+       * include/bits/streambuf_iterator.h: Likewise.
+       * include/bits/unique_ptr.h: Likewise.
+       * include/bits/unordered_map.h: Likewise.
+       * include/bits/unordered_set.h: Likewise.
+       * include/decimal/decimal: Likewise.
+       * include/experimental/any: Likewise.
+       * include/experimental/array: Likewise.
+       * include/experimental/bits/fs_dir.h: Likewise.
+       * include/experimental/bits/fs_fwd.h: Likewise.
+       * include/experimental/bits/fs_ops.h: Likewise.
+       * include/experimental/bits/fs_path.h: Likewise.
+       * include/experimental/buffer: Likewise.
+       * include/experimental/internet: Likewise.
+       * include/experimental/optional: Likewise.
+       * include/experimental/propagate_const: Likewise.
+       * include/experimental/socket: Likewise.
+       * include/ext/pb_ds/assoc_container.hpp: Likewise.
+       * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
+       Likewise.
+       * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
+       * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
+       * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
+       * include/ext/pb_ds/exception.hpp: Likewise.
+       * include/ext/pb_ds/priority_queue.hpp: Likewise.
+       * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
+       * include/ext/random: Likewise.
+       * include/std/any: Likewise.
+       * include/std/atomic: Likewise.
+       * include/std/bitset: Likewise.
+       * include/std/chrono: Likewise.
+       * include/std/complex: Likewise.
+       * include/std/condition_variable: Likewise.
+       * include/std/fstream: Likewise.
+       * include/std/future: Likewise.
+       * include/std/iostream: Likewise.
+       * include/std/istream: Likewise.
+       * include/std/mutex: Likewise.
+       * include/std/numeric: Likewise.
+       * include/std/ostream: Likewise.
+       * include/std/ratio: Likewise.
+       * include/std/shared_mutex: Likewise.
+       * include/std/stdexcept: Likewise.
+       * include/std/streambuf: Likewise.
+       * include/std/system_error: Likewise.
+       * include/std/thread: Likewise.
+       * include/std/valarray: Likewise.
+       * include/std/variant: Likewise.
+       * include/tr1/cmath: Likewise.
+       * include/tr1/regex: Likewise.
+       * include/tr2/dynamic_bitset: Likewise.
+       * libsupc++/atomic_lockfree_defines.h: Likewise.
+       * libsupc++/exception: Likewise.
+       * libsupc++/exception.h: Likewise.
+       * libsupc++/exception_ptr.h: Likewise.
+       * libsupc++/nested_exception.h: Likewise.
+
+2021-03-31  Alexandre Oliva  <oliva@adacore.com>
+
+       * testsuite/30_threads/future/members/poll.cc: Use faster
+       after-ready call in the calibration loop.
+
+2021-03-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-03-28  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/forward_list
+       (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
+       * include/debug/list (list(list&&, const allocator_type&)): Likewise and add
+       call to safe container allocator aware move constructor.
+       * include/debug/vector (vector(vector&&, const allocator_type&)):
+       Fix noexcept qualification.
+       * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
+       Add allocator-extended move constructor noexceot qualification check.
+       * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
+
+2021-03-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/random.cc (USE_LCG): Define when a pseudo-random
+       fallback is needed.
+       [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
+       New helper functions and callback.
+       (random_device::_M_init): Add 'prng' and 'all' enumerators.
+       Replace switch with fallthrough with a series of 'if' statements.
+       [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
+       checks fail.
+       (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
+       token.
+       (random_device::_M_getval): Check for callback unconditionally
+       and always pass _M_file pointer.
+       * testsuite/26_numerics/random/random_device/85494.cc: Remove
+       effective-target check. Use new random_device_available helper.
+       * testsuite/26_numerics/random/random_device/94087.cc: Likewise.
+       * testsuite/26_numerics/random/random_device/cons/default-cow.cc:
+       Remove effective-target check.
+       * testsuite/26_numerics/random/random_device/cons/default.cc:
+       Likewise.
+       * testsuite/26_numerics/random/random_device/cons/token.cc: Use
+       new random_device_available helper. Test "prng" token.
+       * testsuite/util/testsuite_random.h (random_device_available):
+       New helper function.
+
+2021-03-25  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/string
+       (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
+       (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
+       (basic_string<>::erase): Adapt to take __const_iterator.
+       (basic_string(const _CharT*, const _Allocator&)): Remove assign call.
+       (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
+       remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
+       [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
+       (__gnu_debug::u16string, __gnu_debug::u32string): New.
+       (std::hash<__gnu_debug::basic_string<>>): New partial specialization.
+       (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
+       * testsuite/util/exception/safety.h
+       (erase_base<__gnu_debug::basic_string<>>): New partial specialization.
+       (insert_base<__gnu_debug::basic_string<>>): Likewise.
+       * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
+       New partial specialization.
+       * testsuite/21_strings/basic_string/hash/debug.cc: New test.
+       * testsuite/21_strings/basic_string/requirements/citerators.cc:
+       Add test on __gnu_debug::string.
+       * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
+       * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
+       * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
+
+2021-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99672
+       * testsuite/18_support/source_location/consteval.cc (main): Adjust
+       expected column numbers.
+       * testsuite/18_support/source_location/1.cc (main): Likewise.
+
+2021-03-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
+
+2021-03-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/exception/safety.h (setup_base::generate):
+       Support seeding random engine.
+       (erase_point, erase_range): Adjust range of random numbers to
+       ensure dereferenceable iterators are used where required.
+       (generation_prohibited::run): Do not try to erase from empty
+       containers.
+       * testsuite/util/testsuite_containergen.h (test_containers):
+       Support seeding random engine.
+
+2021-03-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
+       line with a check that uses the const being/end overloads.
+
+2021-03-23  Moritz Sichert  <sichert@in.tum.de>
+
+       * include/std/ranges (reverse_view::begin, reverse_view::end):
+       Qualify make_reverse_iterator calls to avoid ADL.
+       * testsuite/std/ranges/adaptors/reverse.cc: Test that
+       views::reverse works when make_reverse_iterator is defined
+       in an associated namespace.
+
+2021-03-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
+       Do not define when compiling with Clang.
+
+2021-03-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/string_view (basic_string_view(Range&&)): Define new
+       constructor and deduction guide.
+       * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
+       * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
+
+2021-03-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
+       Add missing 'noexcept' as per LWG 2280.
+       (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
+       (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
+       * testsuite/24_iterators/range_access/range_access.cc: Check for
+       expected noexcept specifiers. Check result types of generic
+       std::begin and std::end overloads.
+       * testsuite/24_iterators/range_access/range_access_cpp14.cc:
+       Check for expected noexcept specifiers.
+       * testsuite/24_iterators/range_access/range_access_cpp17.cc:
+       Likewise.
+
+2021-03-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (is_scoped_enum): Define.
+       * include/std/version (__cpp_lib_is_scoped_enum): Define.
+       * testsuite/20_util/is_scoped_enum/value.cc: New test.
+       * testsuite/20_util/is_scoped_enum/version.cc: New test.
+
+2021-03-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99341
+       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
+       std::once_flag symbols.
+       * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
+       Likewise.
+       * config/abi/pre/gnu.ver: Likewise.
+       * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
+       (struct __once_flag_compat): Remove.
+       (_ZNSt9once_flag11_M_activateEv): Remove.
+       (_ZNSt9once_flag9_M_finishEb): Remove.
+
+2021-03-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99341
+       * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
+       Revert to pthread_once_t implementation.
+       [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
+       * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
+       (struct __once_flag_compat): New type matching the reverted
+       implementation of once_flag using futexes.
+       (once_flag::_M_activate): Remove, replace with ...
+       (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
+       (once_flag::_M_finish): Remove, replace with ...
+       (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
+       * testsuite/30_threads/call_once/66146.cc: Removed.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * testsuite/17_intro/names.cc: Exclude j from the list
+       of test symbols for Darwin.
+
+2021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/os/bsd/darwin/ppc-extra.ver: Add matching for
+       to_chars and from_chars for long double.
+
+2021-03-15  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/max_size_type.h (__max_size_type::operator _Tp):
+       Fix formatting.
+       (__max_size_type::operator++): Define.
+       (__max_size_type::operator--): Likewise.
+       (__max_size_type::operator<=>): Conditionally define (in place
+       of the other comparison operators).
+       (__max_diff_type::operator _Tp): Fix formatting.
+       (__max_diff_type::operator++): Define.
+       (__max_diff_type::operator--): Likewise.
+       (__max_diff_type::operator<=>): Conditionally define (in place
+       of the other comparison operators).
+       * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
+       these operator overloads.
+
+2021-03-15  Caroline Tice  <cmtice@google.com>
+
+       PR libstdc++/99172
+       * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
+       AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
+       AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
+       filtered out.
+       * src/Makefile.in: Regenerate.
+
+2021-03-11  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/floating_to_chars.cc: Simplify the file as if
+       __SIZEOF_INT128__ is always defined.
+       [!defined __SIZEOF_INT128__]: Include "uint128_t.h".  Define
+       a base-10 to_chars overload for the uint128_t class type.
+       * src/c++17/uint128_t.h: New file.
+       * testsuite/20_util/to_chars/long_double.cc: No longer expect an
+       execution FAIL on targets that have a large long double type
+       but lack __int128.
+
+2021-03-11  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/LOCAL_PATCHES: Update.
+       * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
+       * src/c++17/ryu/generic_128.h: Likewise.
+       * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
+       Use uint128_t instead of __uint128_t.
+       (generic_binary_to_decimal): Likewise.
+
+2021-03-11  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/ryu/LOCAL_PATCHES: New file.
+
+2021-03-11  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
+       defined alias of unsigned __int128.
+       (floating_type_traits_binary128::mantissa_t): Use uint128_t
+       instead of unsigned __int128.
+       (floating_type_traits<long double>::mantissa_t)
+       [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
+       (get_ieee_repr): Likewise.  Make casts from uint_t to mantissa_t
+       and uint32_t explicit.  Simplify the extraction of mantissa,
+       exponent and sign bit.
+
+2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/barrier (barrier::arrival_token): New move-only
+       class that encapsulates the underlying token value.
+
+2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
+       instead of unqualified() method.
+
+2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99537
+       * include/std/stop_token (_Stop_state_t::_M_release_ownership):
+       Use acq_rel memory ordering.
+
+2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99533
+       * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
+       helper function to check for permission denied errors.
+       * src/filesystem/dir.cc (recursive_directory_iterator):
+       Likewise.
+       * src/filesystem/dir-common.h (is_permission_denied_error): New
+       helper function.
+
+2021-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99536
+       * include/bits/random.h (normal_distribution): Use
+       default-initializer for _M_saved and _M_saved_available.
+
+2021-03-10  John David Anglin  <danglin@gcc.gnu.org>
+
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
+       link with libatomic.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
+       * testsuite/30_threads/barrier/completion.cc: Likewise.
+       * testsuite/30_threads/latch/3.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+
+2021-03-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99413
+       * include/bits/align.h: Include debug/assertions.h.
+       * include/bits/codecvt.h: Include bits/c++config.h.
+       * include/bits/enable_special_members.h: Likewise.
+       * include/bits/erase_if.h: Likewise.
+       * include/bits/functional_hash.h: Include <type_traits>.
+       * include/bits/invoke.h: Include bits/move.h.
+       * include/bits/ostream_insert.h: Include bits/exception_defines.h.
+       * include/bits/parse_numbers.h: Include <type_traits>.
+       * include/bits/predefined_ops.h: Include bits/c++config.h.
+       * include/bits/range_access.h: Include bits/stl_iterator.h.
+       * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
+       * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
+       * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
+       * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
+       * include/bits/unique_lock.h: Include bits/std_mutex.h.
+       * include/debug/assertions.h: Include bits/c++config.h.
+
+2021-03-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
+       (ranges::equal_to, ranges::not_equal_to): Do not constrain
+       with __eq_builtin_ptr_cmp.
+       (ranges::less, ranges::greater, ranges::less_equal)
+       (ranges::greater_equal): Do not constrain with
+       __less_builtin_ptr_cmp.
+       * libsupc++/compare (compare_three_way): Do not constrain with
+       __3way_builtin_ptr_cmp.
+       * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
+       * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
+       * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
+
+2021-03-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
+       C++20 calendar types.
+
+2021-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/99396
+       * include/std/bit (__rotl, __rotr): Add optimized variants for power of
+       two _Nd which the compiler can pattern match the rotates.
+
+2021-03-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99382
+       * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
+       Make storage larger than required. Verify no write to the last
+       element.
+       * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
+       Likewise.
+
+2021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+       * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
+       Likewise.
+       * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+       * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+       Likewise.
+
+2021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * include/experimental/bits/simd.h: Replace reserved _X, _B by
+       _Xp, _Bp.
+       * include/experimental/bits/simd_builtin.h: Likewise.
+       * include/experimental/bits/simd_x86.h: Likewise.
+
+2021-02-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99301
+       * include/std/chrono (year_month_day::_M_days_since_epoch()):
+       Convert chrono::month and chrono::day to unsigned before
+       converting to uint32_t.
+
+2021-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/chrono (year_month_day::_S_from_days): Perform
+       all calculations with type uint32_t.
+
+2021-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/abi.xml: Document versioning for GCC 11.
+       * doc/html/manual/abi.html: Regenerate.
+
+2021-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99270
+       * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
+       FILE instead of FILE.
+
+2021-02-25  Andreas Schwab  <schwab@suse.de>
+
+       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
+
+2021-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99265
+       * include/std/chrono (year_month_day::_S_from_days): Cast long
+       to int explicitly.
+
+2021-02-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/utility (to_underlying): Define.
+       * include/std/version (__cpp_lib_to_underlying): Define.
+       * testsuite/20_util/to_underlying/1.cc: New test.
+       * testsuite/20_util/to_underlying/version.cc: New test.
+
+2021-02-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99261
+       * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
+       before value to be printed.
+
+2021-02-24  Patrick Palka  <ppalka@redhat.com>
+
+       * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
+       Relax the condition that guards the printf code path to accept
+       F128_type as well as long double.
+
+2021-02-24  Cassio Neri  <cassio.neri@gmail.com>
+
+       * include/std/chrono (year_month_day_last:day): New
+       implementation.
+
+2021-02-24  Cassio Neri  <cassio.neri@gmail.com>
+
+       * include/std/chrono (year::is_leap): New implementation.
+       * testsuite/std/time/year/2.cc: New test.
+
+2021-02-24  Cassio Neri  <cassio.neri@gmail.com>
+
+       * include/std/chrono (year_month_day::_M_days_since_epoch):
+       New implementation.
+       * testsuite/std/time/year_month_day/4.cc: New test.
+
+2021-02-24  Cassio Neri  <cassio.neri@gmail.com>
+
+       * include/std/chrono (year_month_day::_S_from_days): New
+       implementation.
+       * testsuite/std/time/year_month_day/3.cc: New test.
+
+2021-02-24  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98384
+       * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
+       (test01): Simplify verifying the nearby values by using a
+       2-iteration loop and a dedicated output buffer to check that the
+       nearby values are different.  Factor out the printf-based
+       verification into a local function, and check that the leading
+       hex digits agree before comparing to the output of printf.  Also
+       verify the output by round-tripping it through from_chars.
+
+2021-02-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98389
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
+       symbols for long double arguments mangled as 'g'.
+       * config/os/gnu-linux/ldbl-extra.ver: Likewise.
+       * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
+       * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
+       Use -mabi=ibmlongdouble for floating_to_chars.cc.
+       * src/c++17/Makefile.in: Regenerate.
+       * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
+       New type defining type traits of IEEE binary128 format.
+       (floating_type_traits<__float128>): Define specialization.
+       (floating_type_traits<long double>): Define in terms of
+       floating_type_traits_binary128 when appropriate.
+       (floating_to_shortest_scientific): Handle __float128.
+       (sprintf_ld): New function template for printing a long double
+       or __ieee128 value using sprintf.
+       (__floating_to_chars_shortest, __floating_to_chars_precision):
+       Use sprintf_ld.
+       (to_chars): Define overloads for __float128.
+
+2021-02-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
+
+2021-02-23  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/99074
+       * libsupc++/dyncast.cc (__dynamic_cast): Return null when
+       first argument is null.
+
+2021-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/99181
+       * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
+       test.
+
+2021-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/99181
+       * include/bits/char_traits.h (char_traits<char>::compare): For
+       constexpr evaluation don't call
+       __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
+       directly.
+
+2021-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/97549
+       * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
+
+2021-02-23  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98384
+       * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
+       the high- and low-order parts from an IBM long double value
+       in an endian-agnostic way.
+
+2021-02-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_wait.h (__thread_relax()): Call
+       __thread_yield() not __gthread_yield().
+
+2021-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_wait.h (__thread_yield()): Check
+       _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
+       (__thread_relax()): Use __thread_yield() instead of repeating
+       the preprocessor checks for __gthread_yield.
+
+2021-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/mutex (once_flag::_M_activate()): Add explicit
+       return statement for passive case.
+       (once_flag::_M_finish(bool)): Use reserved name for parameter.
+
+2021-02-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99096
+       * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/88881
+       * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2014.xml: Document implementation
+       specific properties of std::experimental::filesystem::rename.
+       * doc/xml/manual/status_cxx2017.xml: Document implementation
+       specific properties of std::filesystem::rename.
+       * doc/html/*: Regenerate.
+       * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
+       for directories on Windows.
+       * src/filesystem/ops-common.h (__gnu_posix::rename): Use
+       MoveFileExW on Windows.
+       * testsuite/27_io/filesystem/operations/rename.cc: New test.
+       * testsuite/experimental/filesystem/operations/rename.cc: New test.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_fs.h (nonexistent_path): Add
+       random number to the path.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (address_v6::to_string): Include
+       scope ID in string.
+       * testsuite/experimental/net/internet/address/v6/members.cc:
+       Test to_string() results.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (address_v6::any): Avoid using
+       memcpy in constexpr function.
+       (address_v6::loopback): Likewise.
+       (make_address_v6): Fix missing return statements on error paths.
+       * include/experimental/io_context: Avoid -Wdangling-else
+       warning.
+       * testsuite/experimental/net/internet/address/v4/members.cc:
+       Remove unused variables.
+       * testsuite/experimental/net/internet/address/v6/members.cc:
+       New test.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
+       Add unused attribute to parameter.
+       * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
+       Likewise.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
+       if -fno-rtti is used.
+       * testsuite/30_threads/async/forced_unwind.cc: Expect test
+       to abort if -fno-rtti is used.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/util/testsuite_allocator.h (memory_resource):
+       Remove requirement for RTTI and exceptions to be enabled.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
+       static_cast when RTTI is disabled.
+       * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
+       Likewise.
+       * testsuite/27_io/basic_stringstream/str/char/2.cc:
+       Likewise.
+       * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
+       Likewise.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
+       as unused and only use dynamic_cast when RTTI is enabled.
+
+2021-02-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99077
+       * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
+       Change int parameter to error_code, to match std::ios_failure.
+       (__throw_ios_failure(const char*, int)): Construct error_code
+       from int parameter.
+
+2021-02-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
+       new macro.
+       * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
+       macro instead of _GLIBCXX_EH_PTR_COMPAT.
+       (operator==): Likewise.
+
+2021-02-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99058
+       * doc/xml/manual/status_cxx2011.xml: Document when support
+       became stable.
+       * doc/xml/manual/status_cxx2014.xml: Likewise.
+       * doc/xml/manual/status_cxx2017.xml: Likewise.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-02-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/88881
+       * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
+
+2021-02-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
+       (fs::remove): Use std::system_category() for error codes from
+       GetLastError().
+       * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
+       Likewise.
+
+2021-02-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
+       in __MINGW32__ macro name.
+       * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generation/proximate.cc:
+       Likewise.
+       * testsuite/27_io/filesystem/path/generation/relative.cc:
+       Likewise.
+       * testsuite/util/testsuite_fs.h: Likewise.
+
+2021-02-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_tree.h
+       (__has_is_transparent, __has_is_transparent_t): Move...
+       * include/bits/stl_function.h: ...here.
+       * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
+       (_Hashtable_base<>::_M_equals_tr): New.
+       * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
+       _Hashtable<>::_M_equal_range_tr): New member function templates to perform
+       heterogeneous lookup.
+       (_Hashtable<>::_M_find_before_node_tr): New.
+       (_Hashtable<>::_M_find_node_tr): New.
+       * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
+       unordered_map::contains<>, unordered_map::equal_range<>): New member function
+       templates to perform heterogeneous lookup.
+       (unordered_multimap::find<>, unordered_multimap::count<>,
+       unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
+       * include/bits/unordered_set.h  (unordered_set::find<>, unordered_set::count<>,
+       unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
+       (unordered_multiset::find<>, unordered_multiset::count<>,
+       unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
+       * include/debug/unordered_map
+       (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
+       (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
+       * include/debug/unordered_set
+       (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
+       (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
+       * testsuite/23_containers/unordered_map/operations/1.cc: New test.
+       * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
+       * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
+       * testsuite/23_containers/unordered_set/operations/1.cc: New test.
+
+2021-02-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_deque.h
+       (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
+       a null pointer test.
+
+2021-02-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
+       test directory after making it writable again.
+       * testsuite/experimental/filesystem/operations/remove_all.cc:
+       Likewise.
+
+2021-02-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99021
+       * include/std/coroutine (coroutine_handle<P>::from_address): Add
+       noexcept.
+
+2021-02-09  Vladimir Vishnevsky  <vv.os.swe@gmail.com>
+
+       * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
+       * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
+
+2021-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/98465
+       * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
+       points to the characters moved by earlier _S_move, compute the source
+       address using expression based on the __p pointer rather than __s
+       pointer.
+
+2021-02-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
+       Add comparison with same category and different values.
+       * testsuite/19_diagnostics/error_code/operators/less.cc:
+       Likewise. Fix comparison involving different categories.
+       * testsuite/19_diagnostics/error_code/operators/three_way.cc:
+       Likewise.
+       * testsuite/19_diagnostics/error_condition/operators/less.cc:
+       Add comment.
+       * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
+       Likewise.
+
+2021-02-03  yaozhongxiao  <yaozhongxiao@linux.alibaba.com>
+
+       * include/experimental/bits/simd_neon.h: Replace repeated vpadd
+       calls with a single vaddv for aarch64.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/Makefile.am: Warn about the workaround. Add
+       -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
+       Improve initial user feedback from make check-simd.
+       * testsuite/Makefile.in: Regenerated.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * include/experimental/bits/simd.h: Add __detail::_Minimum and
+       __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
+       Add hmin and hmax overloads for simd and const_where_expression.
+       * include/experimental/bits/simd_scalar.h
+       (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
+       parameter const-ref to allow calling _S_reduce with an rvalue.
+       * testsuite/experimental/simd/tests/reductions.cc: Add tests for
+       hmin and hmax. Since the compiler statically determined that all
+       tests pass, repeat the test after a call to make_value_unknown.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
+       instruction pointer data member. Ensure that the `if (m_failed)`
+       branch is always inlined into the calling code. The body of the
+       conditional can still be a function call. Move the get_ip call
+       into the verify ctor to simplify the ctor calls.
+       (COMPARE): Don't mention the use of all_of for reduction of a
+       simd_mask. It only distracts from the real issue.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/driver.sh: Abstract reading test
+       options into read_src_option function. Read skip, only,
+       expensive, and xfail via read_src_option. Add timeout and
+       timeout-factor options and adjust timeout variable accordingly.
+       * testsuite/experimental/simd/tests/loadstore.cc: Set
+       timeout-factor 2.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/driver.sh: When handling the pipe
+       to log (and on verbose to stdout) count the lines. If it exceeds
+       1000 log the issue and exit 125, which is then handled as a
+       failure.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
+       markup for long double on powerpc64*.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * include/experimental/bits/simd.h: Add __have_power10vec
+       conditional on _ARCH_PWR10.
+       * include/experimental/bits/simd_builtin.h: Forward declare
+       _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
+       defined.
+       (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
+       _SuperImpl for optimizations and correctness.
+       * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
+       (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
+       Otherwise, for >=int use -vec_sums divided by a sizeof factor.
+       For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/driver.sh: Remove executable on
+       SIGINT. Process compiler and test executable output: In verbose
+       mode print messages immediately, limited to 1000 lines and
+       breaking long lines to below $COLUMNS (or 1024 if not set).
+       Communicating the exit status of the compiler / test with the
+       necessary pipe is done via a message through stdout/-in.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/Makefile.am: Ensure .simd.summary is empty before
+       collecting a new summary.
+       * testsuite/Makefile.in: Regenerate.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/generate_makefile.sh: Use
+       different variables internally than documented for user
+       overrides. This makes internal append/prepend work as intended.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/driver.sh (verify_test): Print
+       test output on run xfail. Do not repeat lines from the log that
+       were already printed on stdout.
+       (test_selector): Make the compiler flags pattern usable as a
+       substring selector.
+       (toplevel): Trap on SIGINT and remove the log and sum files.
+       Call timout with --foreground to quickly terminate on SIGINT.
+       * testsuite/experimental/simd/generate_makefile.sh: Simplify run
+       targets via target patterns. Default DRIVEROPTS to -v for run
+       targets. Remove log and sum files after completion of the run
+       target (so that it's always recompiled).
+       Place help text into text file for reasonable 'make help'
+       performance.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * include/experimental/bits/simd.h: Remove unnecessary static
+       assertion. Allow sizeof(8) integer __intrinsic_type to enable
+       the necessary mask type.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * include/experimental/bits/simd.h: Let __intrinsic_type<long
+       double, N> be valid if sizeof(long double) == sizeof(double) and
+       use a __vector double as member type.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * include/experimental/bits/simd.h (__is_intrinsic_type): New
+       internal type trait. Alias for __is_vector_type on x86.
+       (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
+       __vector_type.
+       (__intrin_bitcast): Allow casting to & from vector & intrinsic
+       types.
+       (__intrinsic_type): Explicitly specialize for NEON intrinsic
+       vector types.
+
+2021-02-03  Matthias Kretz  <kretz@kde.org>
+
+       * testsuite/experimental/simd/driver.sh: Implement skip, only,
+       expensive, and xfail markers. They can select on type, ABI tag
+       subset number, target-triplet, and compiler flags.
+       * testsuite/experimental/simd/generate_makefile.sh: The summary
+       now includes lines for unexpected passes and expected failures.
+       If the skip or only markers are only conditional on the type, do
+       not generate rules for those types.
+       * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
+       for ABI tag subsets 1-9.
+       * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
+       * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
+       * testsuite/experimental/simd/tests/casts.cc: Ditto.
+       * testsuite/experimental/simd/tests/generator.cc: Ditto.
+       * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
+       * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
+       * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
+       * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
+       * testsuite/experimental/simd/tests/operators.cc: Ditto.
+       * testsuite/experimental/simd/tests/reductions.cc: Ditto.
+       * testsuite/experimental/simd/tests/simd.cc: Ditto.
+       * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
+       * testsuite/experimental/simd/tests/splits.cc: Ditto.
+       * testsuite/experimental/simd/tests/where.cc: Ditto.
+       * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
+       addition replace "test only floattypes" marker by unconditional
+       "float|double|ldouble" only marker.
+       * testsuite/experimental/simd/tests/frexp.cc: Ditto.
+       * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
+       * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
+       Ditto.
+       * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
+       * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
+       * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
+       * testsuite/experimental/simd/tests/remqo.cc: Ditto.
+       * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
+       * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
+       * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
+       addition, xfail on run because the reference data is missing.
+
+2021-02-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
+       * doc/xml/manual/status_cxx2014.xml: Likewise.
+       * doc/xml/manual/status_cxx2017.xml: Likewise.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-02-01  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/70303
+       * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
+       Return 0 if both iterators are value-initialized.
+       * testsuite/23_containers/deque/70303.cc: New test.
+       * testsuite/23_containers/vector/70303.cc: New test.
+
+2021-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2011.xml: Update std::call_once
+       status.
+       * doc/xml/manual/status_cxx2014.xml: Likewise.
+       * doc/xml/manual/status_cxx2017.xml: Likewise. Update
+       std::from_chars and std::to_chars status. Fix formatting.
+       * doc/html/manual/status.html: Regenerate.
+
+2021-01-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/bits/numeric_traits.h: Update copyright
+       dates.
+       * include/experimental/bits/simd.h: Likewise.
+       * include/experimental/bits/simd_builtin.h: Likewise.
+       * include/experimental/bits/simd_converter.h: Likewise.
+       * include/experimental/bits/simd_detail.h: Likewise.
+       * include/experimental/bits/simd_fixed_size.h: Likewise.
+       * include/experimental/bits/simd_math.h: Likewise.
+       * include/experimental/bits/simd_neon.h: Likewise.
+       * include/experimental/bits/simd_ppc.h: Likewise.
+       * include/experimental/bits/simd_scalar.h: Likewise.
+       * include/experimental/bits/simd_x86.h: Likewise.
+       * include/experimental/bits/simd_x86_conversions.h: Likewise.
+       * include/experimental/simd: Likewise.
+       * testsuite/experimental/simd/*: Likewise.
+
+2021-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
+       * doc/html/*: Regenerate.
+
+2021-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/simd/generate_makefile.sh: Use printf
+       instead of echo when printing escape characters.
+
+2021-01-27  Matthias Kretz  <kretz@kde.org>
+
+       * scripts/check_simd: New file. This script is called from the
+       the check-simd target. It determines a set of compiler flags and
+       simulator setups for calling generate_makefile.sh and passes the
+       information back to the check-simd target, which recurses to the
+       generated Makefiles.
+       * scripts/create_testsuite_files: Remove files below simd/tests/
+       from testsuite_files and place them in testsuite_files_simd.
+       * testsuite/Makefile.am: Add testsuite_files_simd. Add
+       check-simd target.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/experimental/simd/driver.sh: New file. This script
+       compiles and runs a given simd test, logging its output and
+       status. It uses the timeout command to implement compile and
+       test timeouts.
+       * testsuite/experimental/simd/generate_makefile.sh: New file.
+       This script generates a Makefile which uses driver.sh to compile
+       and run the tests and collect the logs into a single log file.
+       * testsuite/experimental/simd/tests/abs.cc: New file. Tests
+       abs(simd).
+       * testsuite/experimental/simd/tests/algorithms.cc: New file.
+       Tests min/max(simd, simd).
+       * testsuite/experimental/simd/tests/bits/conversions.h: New
+       file. Contains functions to support tests involving conversions.
+       * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
+       Support functions make_mask and make_vec.
+       * testsuite/experimental/simd/tests/bits/mathreference.h: New
+       file. Support functions to supply precomputed math function
+       reference data.
+       * testsuite/experimental/simd/tests/bits/metahelpers.h: New
+       file. Support code for SFINAE testing.
+       * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
+       * testsuite/experimental/simd/tests/bits/test_values.h: New
+       file. Test functions to easily drive a test with simd objects
+       initialized from a given list of values and a range of random
+       values.
+       * testsuite/experimental/simd/tests/bits/ulp.h: New file.
+       Support code to determine the ULP distance of simd objects.
+       * testsuite/experimental/simd/tests/bits/verify.h: New file.
+       Test framework for COMPARE'ing simd objects and instantiating
+       the test templates with value_type and ABI tag.
+       * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
+       simd broadcasts.
+       * testsuite/experimental/simd/tests/casts.cc: New file. Test
+       simd casts.
+       * testsuite/experimental/simd/tests/fpclassify.cc: New file.
+       Test floating-point classification functions.
+       * testsuite/experimental/simd/tests/frexp.cc: New file. Test
+       frexp(simd).
+       * testsuite/experimental/simd/tests/generator.cc: New file. Test
+       simd generator constructor.
+       * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
+       Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
+       * testsuite/experimental/simd/tests/integer_operators.cc: New
+       file. Test integer operators.
+       * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
+       New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
+       modf(simd).
+       * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
+       (converting) simd loads and stores.
+       * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
+       log*(simd).
+       * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
+       Test simd_mask broadcasts.
+       * testsuite/experimental/simd/tests/mask_conversions.cc: New
+       file. Test simd_mask conversions.
+       * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
+       file. Test simd_mask implicit conversions.
+       * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
+       Test simd_mask loads and stores.
+       * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
+       file. Test simd_mask operators convert as specified.
+       * testsuite/experimental/simd/tests/mask_operators.cc: New file.
+       Test simd_mask compares, subscripts, and negation.
+       * testsuite/experimental/simd/tests/mask_reductions.cc: New
+       file. Test simd_mask reductions.
+       * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
+       1-arg math functions on simd.
+       * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
+       2-arg math functions on simd.
+       * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
+       Test implicit conversions on simd binary operators behave as
+       specified.
+       * testsuite/experimental/simd/tests/operators.cc: New file. Test
+       simd compares, subscripts, not, unary minus, plus, minus,
+       multiplies, divides, increment, and decrement.
+       * testsuite/experimental/simd/tests/reductions.cc: New file.
+       Test reduce(simd).
+       * testsuite/experimental/simd/tests/remqo.cc: New file. Test
+       remqo(simd).
+       * testsuite/experimental/simd/tests/simd.cc: New file. Basic
+       sanity checks of simd types.
+       * testsuite/experimental/simd/tests/sincos.cc: New file. Test
+       sin(simd) and cos(simd).
+       * testsuite/experimental/simd/tests/split_concat.cc: New file.
+       Test split(simd) and concat(simd, simd).
+       * testsuite/experimental/simd/tests/splits.cc: New file. Test
+       split(simd_mask).
+       * testsuite/experimental/simd/tests/trigonometric.cc: New file.
+       Test remaining trigonometric functions on simd.
+       * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
+       file. Test trunc(simd), ceil(simd), and floor(simd).
+       * testsuite/experimental/simd/tests/where.cc: New file. Test
+       masked operations using where.
+
+2021-01-27  Matthias Kretz  <kretz@kde.org>
+
+       * doc/xml/manual/status_cxx2017.xml: Add implementation status
+       of the Parallelism TS 2. Document implementation-defined types
+       and behavior.
+       * include/Makefile.am: Add new headers.
+       * include/Makefile.in: Regenerate.
+       * include/experimental/simd: New file. New header for
+       Parallelism TS 2.
+       * include/experimental/bits/numeric_traits.h: New file.
+       Implementation of P1841R1 using internal naming. Addition of
+       missing IEC559 functionality query.
+       * include/experimental/bits/simd.h: New file. Definition of the
+       public simd interfaces and general implementation helpers.
+       * include/experimental/bits/simd_builtin.h: New file.
+       Implementation of the _VecBuiltin simd_abi.
+       * include/experimental/bits/simd_converter.h: New file. Generic
+       simd conversions.
+       * include/experimental/bits/simd_detail.h: New file. Internal
+       macros for the simd implementation.
+       * include/experimental/bits/simd_fixed_size.h: New file. Simd
+       fixed_size ABI specific implementations.
+       * include/experimental/bits/simd_math.h: New file. Math
+       overloads for simd.
+       * include/experimental/bits/simd_neon.h: New file. Simd NEON
+       specific implementations.
+       * include/experimental/bits/simd_ppc.h: New file. Implement bit
+       shifts to avoid invalid results for integral types smaller than
+       int.
+       * include/experimental/bits/simd_scalar.h: New file. Simd scalar
+       ABI specific implementations.
+       * include/experimental/bits/simd_x86.h: New file. Simd x86
+       specific implementations.
+       * include/experimental/bits/simd_x86_conversions.h: New file.
+       x86 specific conversion optimizations. The conversion patterns
+       work around missing conversion patterns in the compiler and
+       should be removed as soon as PR85048 is resolved.
+       * testsuite/experimental/simd/standard_abi_usable.cc: New file.
+       Test that all (not all fixed_size<N>, though) standard simd and
+       simd_mask types are usable.
+       * testsuite/experimental/simd/standard_abi_usable_2.cc: New
+       file. As above but with -ffast-math.
+       * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
+       from the standard test loop. Instead use
+       check_vect_support_and_set_flags to build simd tests with the
+       relevant machine flags.
+
+2021-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/66414
+       * include/bits/string_view.tcc
+       (basic_string_view::find(const CharT*, size_type, size_type)):
+       Optimize.
+
+2021-01-27  Paul Fee  <paul.f.fee@gmail.com>
+
+       * include/bits/basic_string.h (basic_string::contains): New
+       member functions.
+       * include/std/string_view (basic_string_view::contains):
+       Likewise.
+       * include/std/version (__cpp_lib_string_contains): Define.
+       * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
+       Remove trailing whitespace.
+       * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
+       * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
+       * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
+       * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
+       * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
+
+2021-01-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/Makefile.in: Regenerate.
+
+2021-01-20  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
+       _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
+       __lc_type.
+       (const char* ctype<char>:: is): Same.
+
+2021-01-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98725
+       * testsuite/20_util/unique_ptr/io/lwg2948.cc:  Do not try to
+       write to a wide character stream if wide character support is
+       disabled in the library.
+
+2021-01-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
+       stringbuf not wstringbuf.
+
+2021-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/98708
+       * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
+       Compile with -gno-as-loc-support.
+       * src/c++11/Makefile.in: Regenerated.
+
+2021-01-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
+       Add -fcf-protection=none to -march=i486.
+
+2021-01-14  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
+       compliant.
+
+2021-01-14  Alexandre Oliva  <oliva@adacore.com>
+
+       * testsuite/30_threads/future/members/poll.cc: Calibrate
+       iteration count.
+
+2021-01-14  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/98466
+       * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
+       (_Node_iterator()): Make default.
+       (_Node_const_iterator()): Make default.
+       * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
+       iterator checks.
+       * include/debug/safe_iterator.h
+       (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
+       * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
+       Likewise.
+       * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
+       _M_singular checks on input iterators.
+       * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
+       checks.
+       * testsuite/23_containers/deque/debug/98466.cc: New test.
+       * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
+
+2021-01-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/98471
+       * include/bits/fs_path.h (__throw_conversion_error): New
+       function to throw or abort on character conversion errors.
+       (__wstr_from_utf8): Move definition after filesystem_error has
+       been defined. Use __throw_conversion_error.
+       (path::_S_convert<_EcharT>): Use __throw_conversion_error.
+       (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
+       (path::u8string): Likewise.
+
+2021-01-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/barrier: Update copyright years. Fix whitespace.
+       * include/std/version: Fix whitespace.
+       * testsuite/30_threads/barrier/1.cc: Update copyright years.
+       * testsuite/30_threads/barrier/2.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
+       * testsuite/30_threads/barrier/completion.cc: Likewise.
+
+2021-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
+
+2021-01-10  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR libstdc++/98613
+       * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
+       warning.
+       * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
+
+2021-01-08  Olivier Hainque  <hainque@adacore.com>
+
+       * testsuite/20_util/bind/ref_neg.cc: Tweak the
+       dg-prune-output regex for out-of-build-tree contexts.
+
+2021-01-07  Thomas Rodgers  <trodgers@redhat.com>
+
+       * doc/doxygen/user.cfg.in: Add new header.
+       * include/Makefile.am (std_headers): likewise.
+       * include/Makefile.in: Regenerate.
+       * include/precompiled/stdc++.h: Add new header.
+       * include/std/barrier: New file.
+       * include/std/version: Add __cpp_lib_barrier feature test macro.
+       * testsuite/30_threads/barrier/1.cc: New test.
+       * testsuite/30_threads/barrier/2.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
+       * testsuite/30_threads/barrier/arrive.cc: Likewise.
+       * testsuite/30_threads/barrier/completion.cc: Likewise.
+
+2021-01-07  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/98384
+       * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
+       instead of the non-standard nextupl and nextdownl.
+
+2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+       * configure: Re-generate.
+
+2021-01-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
+
+2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * ChangeLog-2020: Rotate ChangeLog.  New file.
+\f
+Copyright (C) 2021 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.