[gcc(refs/vendors/redhat/heads/gcc-10-branch)] Merge commit '463f649944708eb2db148a9ca51ec86ea4c64fa8' into redhat/gcc-10-branch

Jakub Jelinek jakub@gcc.gnu.org
Sat Jan 18 17:10:00 GMT 2020


https://gcc.gnu.org/g:e2370ef8bea6f5bb8ffb3005828d5cb357954823

commit e2370ef8bea6f5bb8ffb3005828d5cb357954823
Merge: c25de00 463f649
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Jan 18 17:56:12 2020 +0100

    Merge commit '463f649944708eb2db148a9ca51ec86ea4c64fa8' into redhat/gcc-10-branch

Diff:

 gcc/ChangeLog                                      |  184 +-
 gcc/DATESTAMP                                      |    2 +-
 gcc/Makefile.in                                    |    1 +
 gcc/analyzer/ChangeLog                             |   16 +
 gcc/analyzer/region-model.cc                       |   10 +-
 gcc/builtin-types.def                              |    5 +
 gcc/builtins.def                                   |    9 +
 gcc/c-family/ChangeLog                             |   10 +
 gcc/c-family/c-common.c                            |    5 +
 gcc/c-family/c-common.h                            |    5 +
 gcc/c-family/c-cppbuiltin.c                        |    2 +
 gcc/c-family/c.opt                                 |    4 +
 gcc/config.gcc                                     |    2 +
 gcc/config/aarch64/aarch64-sve-builtins-base.cc    |    2 +-
 gcc/config/arm/arm.c                               |    5 +-
 gcc/config/arm/vfp.md                              |    1 -
 gcc/coroutine-builtins.def                         |   53 +
 gcc/coroutine-passes.cc                            |  532 +++
 gcc/cp/ChangeLog                                   |   48 +
 gcc/cp/Make-lang.in                                |    2 +-
 gcc/cp/call.c                                      |   20 +
 gcc/cp/config-lang.in                              |    2 +-
 gcc/cp/constexpr.c                                 |    6 +
 gcc/cp/coroutines.cc                               | 3643 ++++++++++++++++++++
 gcc/cp/cp-objcp-common.c                           |    4 +
 gcc/cp/cp-tree.def                                 |   24 +
 gcc/cp/cp-tree.h                                   |   19 +-
 gcc/cp/decl.c                                      |   60 +
 gcc/cp/lex.c                                       |    2 +
 gcc/cp/operators.def                               |    1 +
 gcc/cp/parser.c                                    |   89 +-
 gcc/cp/pt.c                                        |   21 +
 gcc/cp/tree.c                                      |   31 +
 gcc/doc/analyzer.texi                              |    3 +
 gcc/doc/invoke.texi                                |    4 +
 gcc/function.h                                     |    3 +
 gcc/internal-fn.c                                  |   26 +
 gcc/internal-fn.def                                |    6 +
 gcc/passes.def                                     |    2 +
 gcc/testsuite/ChangeLog                            |  180 +
 gcc/testsuite/c-c++-common/pr92833-4.c             |    2 +-
 .../coroutines/co-await-syntax-00-needs-expr.C     |    7 +
 .../coroutines/co-await-syntax-01-outside-fn.C     |    5 +
 .../coroutines/co-await-syntax-02-outside-fn.C     |    5 +
 .../g++.dg/coroutines/co-await-syntax-03-auto.C    |   16 +
 .../coroutines/co-await-syntax-04-ctor-dtor.C      |    8 +
 .../coroutines/co-await-syntax-05-constexpr.C      |   12 +
 .../g++.dg/coroutines/co-await-syntax-06-main.C    |    7 +
 .../g++.dg/coroutines/co-await-syntax-07-varargs.C |   14 +
 .../coroutines/co-await-syntax-08-lambda-auto.C    |   19 +
 .../coroutines/co-return-syntax-01-outside-fn.C    |    6 +
 .../coroutines/co-return-syntax-02-outside-fn.C    |    5 +
 .../g++.dg/coroutines/co-return-syntax-03-auto.C   |   12 +
 .../coroutines/co-return-syntax-04-ctor-dtor.C     |    8 +
 .../coroutines/co-return-syntax-05-constexpr-fn.C  |   12 +
 .../g++.dg/coroutines/co-return-syntax-06-main.C   |    7 +
 .../g++.dg/coroutines/co-return-syntax-07-vararg.C |   14 +
 .../coroutines/co-return-syntax-08-bad-return.C    |   43 +
 .../coroutines/co-return-syntax-09-lambda-auto.C   |   19 +
 .../coroutines/co-yield-syntax-00-needs-expr.C     |    7 +
 .../coroutines/co-yield-syntax-01-outside-fn.C     |    6 +
 .../coroutines/co-yield-syntax-02-outside-fn.C     |    6 +
 .../g++.dg/coroutines/co-yield-syntax-03-auto.C    |   12 +
 .../coroutines/co-yield-syntax-04-ctor-dtor.C      |    8 +
 .../coroutines/co-yield-syntax-05-constexpr.C      |   12 +
 .../g++.dg/coroutines/co-yield-syntax-06-main.C    |    7 +
 .../g++.dg/coroutines/co-yield-syntax-07-varargs.C |   14 +
 .../coroutines/co-yield-syntax-08-needs-expr.C     |   37 +
 .../coroutines/co-yield-syntax-09-lambda-auto.C    |   19 +
 gcc/testsuite/g++.dg/coroutines/coro-builtins.C    |   17 +
 gcc/testsuite/g++.dg/coroutines/coro-missing-gro.C |   32 +
 .../g++.dg/coroutines/coro-missing-promise-yield.C |   33 +
 .../g++.dg/coroutines/coro-missing-ret-value.C     |   34 +
 .../g++.dg/coroutines/coro-missing-ret-void.C      |   34 +
 .../g++.dg/coroutines/coro-missing-ueh-1.C         |   17 +
 .../g++.dg/coroutines/coro-missing-ueh-2.C         |   18 +
 .../g++.dg/coroutines/coro-missing-ueh-3.C         |   18 +
 gcc/testsuite/g++.dg/coroutines/coro-missing-ueh.h |   23 +
 gcc/testsuite/g++.dg/coroutines/coro-pre-proc.C    |    9 +
 gcc/testsuite/g++.dg/coroutines/coro.h             |  152 +
 .../g++.dg/coroutines/coro1-ret-int-yield-int.h    |  133 +
 gcc/testsuite/g++.dg/coroutines/coroutines.exp     |   50 +
 .../torture/alloc-00-gro-on-alloc-fail.C           |  118 +
 .../coroutines/torture/alloc-01-overload-newdel.C  |  120 +
 .../g++.dg/coroutines/torture/call-00-co-aw-arg.C  |   73 +
 .../coroutines/torture/call-01-multiple-co-aw.C    |   73 +
 .../g++.dg/coroutines/torture/call-02-temp-co-aw.C |   72 +
 .../coroutines/torture/call-03-temp-ref-co-aw.C    |   72 +
 .../g++.dg/coroutines/torture/class-00-co-ret.C    |   41 +
 .../coroutines/torture/class-01-co-ret-parm.C      |   57 +
 .../coroutines/torture/class-02-templ-parm.C       |   52 +
 .../torture/class-03-operator-templ-parm.C         |   52 +
 .../g++.dg/coroutines/torture/class-04-lambda-1.C  |   58 +
 .../torture/class-05-lambda-capture-copy-local.C   |   59 +
 .../torture/class-06-lambda-capture-ref.C          |   59 +
 .../coroutines/torture/co-await-00-trivial.C       |   52 +
 .../coroutines/torture/co-await-01-with-value.C    |   57 +
 .../g++.dg/coroutines/torture/co-await-02-xform.C  |   58 +
 .../g++.dg/coroutines/torture/co-await-03-rhs-op.C |   58 +
 .../coroutines/torture/co-await-04-control-flow.C  |   50 +
 .../g++.dg/coroutines/torture/co-await-05-loop.C   |   51 +
 .../g++.dg/coroutines/torture/co-await-06-ovl.C    |   65 +
 .../g++.dg/coroutines/torture/co-await-07-tmpl.C   |  132 +
 .../coroutines/torture/co-await-08-cascade.C       |   63 +
 .../g++.dg/coroutines/torture/co-await-09-pair.C   |   57 +
 .../torture/co-await-10-template-fn-arg.C          |   60 +
 .../coroutines/torture/co-await-11-forwarding.C    |   43 +
 .../coroutines/torture/co-await-12-operator-2.C    |   66 +
 .../coroutines/torture/co-await-13-return-ref.C    |   58 +
 .../torture/co-ret-00-void-return-is-ready.C       |   90 +
 .../torture/co-ret-01-void-return-is-suspend.C     |   94 +
 .../torture/co-ret-03-different-GRO-type.C         |   92 +
 .../coroutines/torture/co-ret-04-GRO-nontriv.C     |  109 +
 .../coroutines/torture/co-ret-05-return-value.C    |   38 +
 .../torture/co-ret-06-template-promise-val-1.C     |  105 +
 .../coroutines/torture/co-ret-07-void-cast-expr.C  |   44 +
 .../torture/co-ret-08-template-cast-ret.C          |  104 +
 .../coroutines/torture/co-ret-09-bool-await-susp.C |   97 +
 .../torture/co-ret-10-expression-evaluates-once.C  |   49 +
 .../coroutines/torture/co-ret-11-co-ret-co-await.C |   40 +
 .../torture/co-ret-12-co-ret-fun-co-await.C        |   48 +
 .../coroutines/torture/co-ret-13-template-2.C      |   56 +
 .../coroutines/torture/co-ret-14-template-3.C      |   58 +
 .../g++.dg/coroutines/torture/co-yield-00-triv.C   |  129 +
 .../g++.dg/coroutines/torture/co-yield-01-multi.C  |   64 +
 .../g++.dg/coroutines/torture/co-yield-02-loop.C   |   68 +
 .../g++.dg/coroutines/torture/co-yield-03-tmpl.C   |  140 +
 .../torture/co-yield-04-complex-local-state.C      |  162 +
 .../g++.dg/coroutines/torture/co-yield-05-co-aw.C  |   55 +
 .../coroutines/torture/co-yield-06-fun-parm.C      |   64 +
 .../torture/co-yield-07-template-fn-param.C        |   71 +
 .../coroutines/torture/co-yield-08-more-refs.C     |   68 +
 .../torture/co-yield-09-more-templ-refs.C          |   68 +
 .../g++.dg/coroutines/torture/coro-torture.exp     |   19 +
 .../g++.dg/coroutines/torture/exceptions-test-0.C  |  167 +
 .../g++.dg/coroutines/torture/func-params-00.C     |   42 +
 .../g++.dg/coroutines/torture/func-params-01.C     |   45 +
 .../g++.dg/coroutines/torture/func-params-02.C     |   50 +
 .../g++.dg/coroutines/torture/func-params-03.C     |   49 +
 .../g++.dg/coroutines/torture/func-params-04.C     |   57 +
 .../g++.dg/coroutines/torture/func-params-05.C     |   57 +
 .../g++.dg/coroutines/torture/func-params-06.C     |   47 +
 .../g++.dg/coroutines/torture/lambda-00-co-ret.C   |   35 +
 .../coroutines/torture/lambda-01-co-ret-parm.C     |   48 +
 .../coroutines/torture/lambda-02-co-yield-values.C |   64 +
 .../coroutines/torture/lambda-03-auto-parm-1.C     |   46 +
 .../coroutines/torture/lambda-04-templ-parm.C      |   47 +
 .../torture/lambda-05-capture-copy-local.C         |   66 +
 .../coroutines/torture/lambda-06-multi-capture.C   |   48 +
 .../coroutines/torture/lambda-07-multi-yield.C     |   46 +
 .../coroutines/torture/lambda-08-co-ret-parm-ref.C |   59 +
 .../g++.dg/coroutines/torture/local-var-0.C        |   37 +
 .../g++.dg/coroutines/torture/local-var-1.C        |   37 +
 .../g++.dg/coroutines/torture/local-var-2.C        |   50 +
 .../g++.dg/coroutines/torture/local-var-3.C        |   65 +
 .../g++.dg/coroutines/torture/local-var-4.C        |   75 +
 .../coroutines/torture/mid-suspend-destruction-0.C |  107 +
 gcc/testsuite/g++.dg/coroutines/torture/pr92933.C  |   18 +
 gcc/testsuite/gcc.dg/analyzer/pr93290.c            |    9 +
 gcc/testsuite/gfortran.dg/inquire_pre.f90          |   68 +
 gcc/tree-pass.h                                    |    2 +
 gcc/varpool.c                                      |    7 +-
 libgcc/ChangeLog                                   |   10 +
 libgcc/config/cris/arit.c                          |    3 +-
 libgcc/crtstuff.c                                  |    2 +
 libgfortran/ChangeLog                              |   14 +
 libgfortran/io/format.c                            |    4 +-
 libgfortran/io/unit.c                              |   16 +-
 libgfortran/io/write_float.def                     |    4 +-
 libiberty/cp-demangle.c                            |    1 +
 libiberty/testsuite/demangle-expected              |    3 +
 libstdc++-v3/ChangeLog                             |   14 +
 libstdc++-v3/include/Makefile.am                   |    1 +
 libstdc++-v3/include/Makefile.in                   |    1 +
 libstdc++-v3/include/std/coroutine                 |  291 ++
 175 files changed, 11446 insertions(+), 37 deletions(-)

diff --cc gcc/ChangeLog
index 908a685,61a96f1..a2226e7
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@@ -1,129 -1,179 +1,305 @@@
+ 2020-01-18  Tamar Christina  <tamar.christina@arm.com>
+ 
+ 	* config/aarch64/aarch64-sve-builtins-base.cc (memory_vector_mode):
+ 	Mark parameter unused.
+ 
+ 2020-01-18  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config.gcc <obsolete targets>: Add crisv32-*-* and cris-*-linux*
+ 
+ 2019-01-18  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* varpool.c (ctor_useable_for_folding_p): Fix grammar.
+ 
+ 2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* Makefile.in: Add coroutine-passes.o.
+ 	* builtin-types.def (BT_CONST_SIZE): New.
+ 	(BT_FN_BOOL_PTR): New.
+ 	(BT_FN_PTR_PTR_CONST_SIZE_BOOL): New.
+ 	* builtins.def (DEF_COROUTINE_BUILTIN): New.
+ 	* coroutine-builtins.def: New file.
+ 	* coroutine-passes.cc: New file.
+ 	* function.h (struct GTY function): Add a bit to indicate that the
+ 	function is a coroutine component.
+ 	* internal-fn.c (expand_CO_FRAME): New.
+ 	(expand_CO_YIELD): New.
+ 	(expand_CO_SUSPN): New.
+ 	(expand_CO_ACTOR): New.
+ 	* internal-fn.def (CO_ACTOR): New.
+ 	(CO_YIELD): New.
+ 	(CO_SUSPN): New.
+ 	(CO_FRAME): New.
+ 	* passes.def: Add pass_coroutine_lower_builtins,
+ 	pass_coroutine_early_expand_ifns.
+ 	* tree-pass.h (make_pass_coroutine_lower_builtins): New.
+ 	(make_pass_coroutine_early_expand_ifns): New.
+ 	* doc/invoke.texi: Document the fcoroutines command line
+ 	switch.
+ 
+ 2020-01-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/arm/vfp.md (*clear_vfp_multiple): Remove unused variable.
+ 
+ 	PR target/93312
+ 	* config/arm/arm.c (clear_operation_p): Don't use REGNO until
+ 	after checking the argument is a REG.  Don't use REGNO (reg)
+ 	again to set last_regno, reuse regno variable instead.
+ 
+ 2020-01-17  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* doc/analyzer.texi (Limitations): Add note about NaN.
+ 
+ 2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+ 	    Sudakshina Das  <sudi.das@arm.com>
+ 
+ 	* config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg
+ 	and valid immediate.
+ 	(ashrdi3): Generate thumb2_asrl for both reg and valid immediate.
+ 	(lshrdi3): Generate thumb2_lsrl for valid immediates.
+ 	* config/arm/constraints.md (Pg): New.
+ 	* config/arm/predicates.md (long_shift_imm): New.
+ 	(arm_reg_or_long_shift_imm): Likewise.
+ 	* config/arm/thumb2.md (thumb2_asrl): New immediate alternative.
+ 	(thumb2_lsll): Likewise.
+ 	(thumb2_lsrl): New.
+ 
+ 2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+ 	    Sudakshina Das  <sudi.das@arm.com>
+ 
+ 	* config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE.
+ 	(ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE.
+ 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd
+ 	register pairs for doubleword quantities for ARMv8.1M-Mainline.
+ 	* config/arm/thumb2.md (thumb2_asrl): New.
+ 	(thumb2_lsll): Likewise.
+ 
+ 2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove
+ 	unused variable.
+ 
+ 2020-01-17  Alexander Monakov  <amonakov@ispras.ru>
+ 
+ 	* gdbinit.in (help-gcc-hooks): New command.
+ 	(pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc,
+ 	pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update
+ 	documentation.
+ 
+ 2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+ 
+ 	* config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use the
+ 	correct target macro.
+ 
+ 2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+ 
+ 	* config/aarch64/aarch64-protos.h
+ 	(aarch64_sve_ld1ro_operand_p): New.
+ 	* config/aarch64/aarch64-sve-builtins-base.cc
+ 	(class load_replicate): New.
+ 	(class svld1ro_impl): New.
+ 	(class svld1rq_impl): Change to inherit from load_replicate.
+ 	(svld1ro): New sve intrinsic function base.
+ 	* config/aarch64/aarch64-sve-builtins-base.def (svld1ro):
+ 	New DEF_SVE_FUNCTION.
+ 	* config/aarch64/aarch64-sve-builtins-base.h
+ 	(svld1ro): New decl.
+ 	* config/aarch64/aarch64-sve-builtins.cc
+ 	(function_expander::add_mem_operand): Modify assert to allow
+ 	OImode.
+ 	* config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): New
+ 	pattern.
+ 	* config/aarch64/aarch64.c
+ 	(aarch64_sve_ld1rq_operand_p): Implement in terms of ...
+ 	(aarch64_sve_ld1rq_ld1ro_operand_p): This.
+ 	(aarch64_sve_ld1ro_operand_p): New.
+ 	* config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec.
+ 	* config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New.
+ 	* config/aarch64/predicates.md
+ 	(aarch64_sve_ld1ro_operand_{b,h,w,d}): New.
+ 
+ 2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+ 
+ 	* config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64):
+ 	Introduce this ACLE specified predefined macro.
+ 	* config/aarch64/aarch64-option-extensions.def (f64mm): New.
+ 	(fp): Disabling this disables f64mm.
+ 	(simd): Disabling this disables f64mm.
+ 	(fp16): Disabling this disables f64mm.
+ 	(sve): Disabling this disables f64mm.
+ 	* config/aarch64/aarch64.h (AARCH64_FL_F64MM): New.
+ 	(AARCH64_ISA_F64MM): New.
+ 	(TARGET_F64MM): New.
+ 	* doc/invoke.texi (f64mm): Document new option.
+ 
+ 2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
+ 
+ 	* config/aarch64/aarch64.c (generic_tunings): Add branch fusion.
+ 	(neoversen1_tunings): Likewise.
+ 
+ 2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
+ 
+ 	PR target/92692
+ 	* config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
+ 	Add assert to ensure prolog has been emitted.
+ 	(aarch64_split_atomic_op): Likewise.
+ 	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
+ 	Use epilogue_completed rather than reload_completed.
+ 	(aarch64_atomic_exchange<mode>): Likewise.
+ 	(aarch64_atomic_<atomic_optab><mode>): Likewise.
+ 	(atomic_nand<mode>): Likewise.
+ 	(aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
+ 	(atomic_fetch_nand<mode>): Likewise.
+ 	(aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
+ 	(atomic_nand_fetch<mode>): Likewise.
+ 
+ 2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/93133
+ 	* config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false
+ 	for FP modes.
+ 	(REVERSE_CONDITION): Delete.
+ 	* config/aarch64/iterators.md (CC_ONLY): New mode iterator.
+ 	(CCFP_CCFPE): Likewise.
+ 	(e): New mode attribute.
+ 	* config/aarch64/aarch64.md (ccmp<GPI:mode>): Rename to...
+ 	(@ccmp<CC_ONLY:mode><GPI:mode>): ...this, using CC_ONLY instead of CC.
+ 	(fccmp<GPF:mode>, fccmpe<GPF:mode>): Merge into...
+ 	(@ccmp<CCFP_CCFPE:mode><GPF:mode>): ...this combined pattern.
+ 	(@ccmp<CC_ONLY:mode><GPI:mode>_rev): New pattern.
+ 	(@ccmp<CCFP_CCFPE:mode><GPF:mode>_rev): Likewise.
+ 	* config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update
+ 	name of generator from gen_ccmpdi to gen_ccmpccdi.
+ 	(aarch64_gen_ccmp_next): Use code_for_ccmp.  If we want to reverse
+ 	the previous comparison but aren't able to, use the new ccmp_rev
+ 	patterns instead.
+ 
 +2020-01-17  Mihail-Calin Ionescu <mihail.ionescu@arm.com>
 +	    Sudakshina Das  <sudi.das@arm.com>
 +
 +	* config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg
 +	and valid immediate.
 +	(ashrdi3): Generate thumb2_asrl for both reg and valid immediate.
 +	(lshrdi3): Generate thumb2_lsrl for valid immediates.
 +	* config/arm/constraints.md (Pg): New.
 +	* config/arm/predicates.md (long_shift_imm): New.
 +	(arm_reg_or_long_shift_imm): Likewise.
 +	* config/arm/thumb2.md (thumb2_asrl): New immediate alternative.
 +	(thumb2_lsll): Likewise.
 +	(thumb2_lsrl): New.
 +
 +2020-01-17  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
 +	    Sudakshina Das  <sudi.das@arm.com>
 +
 +	* config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE.
 +	(ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE.
 +	* config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd
 +	register pairs for doubleword quantities for ARMv8.1M-Mainline.
 +	* config/arm/thumb2.md (thumb2_asrl): New.
 +	(thumb2_lsll): Likewise.
 +
 +2020-01-17  Jakub Jelinek  <jakub@redhat.com>
 +
 +	* config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove
 +	unused variable.
 +
 +2020-01-17  Alexander Monakov  <amonakov@ispras.ru>
 +
 +	* gdbinit.in (help-gcc-hooks): New command.
 +	(pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc,
 +	pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update
 +	documentation.
 +
 +2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
 +
 +	* config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use the
 +	correct target macro.
 +
 +2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
 +
 +	* config/aarch64/aarch64-protos.h
 +	(aarch64_sve_ld1ro_operand_p): New.
 +	* config/aarch64/aarch64-sve-builtins-base.cc
 +	(class load_replicate): New.
 +	(class svld1ro_impl): New.
 +	(class svld1rq_impl): Change to inherit from load_replicate.
 +	(svld1ro): New sve intrinsic function base.
 +	* config/aarch64/aarch64-sve-builtins-base.def (svld1ro):
 +	New DEF_SVE_FUNCTION.
 +	* config/aarch64/aarch64-sve-builtins-base.h
 +	(svld1ro): New decl.
 +	* config/aarch64/aarch64-sve-builtins.cc
 +	(function_expander::add_mem_operand): Modify assert to allow
 +	OImode.
 +	* config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): New
 +	pattern.
 +	* config/aarch64/aarch64.c
 +	(aarch64_sve_ld1rq_operand_p): Implement in terms of ...
 +	(aarch64_sve_ld1rq_ld1ro_operand_p): This.
 +	(aarch64_sve_ld1ro_operand_p): New.
 +	* config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec.
 +	* config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New.
 +	* config/aarch64/predicates.md
 +	(aarch64_sve_ld1ro_operand_{b,h,w,d}): New.
 +
 +2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
 +
 +	* config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64):
 +	Introduce this ACLE specified predefined macro.
 +	* config/aarch64/aarch64-option-extensions.def (f64mm): New.
 +	(fp): Disabling this disables f64mm.
 +	(simd): Disabling this disables f64mm.
 +	(fp16): Disabling this disables f64mm.
 +	(sve): Disabling this disables f64mm.
 +	* config/aarch64/aarch64.h (AARCH64_FL_F64MM): New.
 +	(AARCH64_ISA_F64MM): New.
 +	(TARGET_F64MM): New.
 +	* doc/invoke.texi (f64mm): Document new option.
 +
 +2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
 +
 +	* config/aarch64/aarch64.c (generic_tunings): Add branch fusion.
 +	(neoversen1_tunings): Likewise.
 +
 +2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
 +
 +	PR target/92692
 +	* config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
 +	Add assert to ensure prolog has been emitted.
 +	(aarch64_split_atomic_op): Likewise.
 +	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
 +	Use epilogue_completed rather than reload_completed.
 +	(aarch64_atomic_exchange<mode>): Likewise.
 +	(aarch64_atomic_<atomic_optab><mode>): Likewise.
 +	(atomic_nand<mode>): Likewise.
 +	(aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
 +	(atomic_fetch_nand<mode>): Likewise.
 +	(aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
 +	(atomic_nand_fetch<mode>): Likewise.
 +
 +2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
 +
 +2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
 +
 +	PR target/93133
 +	* config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false
 +	for FP modes.
 +	(REVERSE_CONDITION): Delete.
 +	* config/aarch64/iterators.md (CC_ONLY): New mode iterator.
 +	(CCFP_CCFPE): Likewise.
 +	(e): New mode attribute.
 +	* config/aarch64/aarch64.md (ccmp<GPI:mode>): Rename to...
 +	(@ccmp<CC_ONLY:mode><GPI:mode>): ...this, using CC_ONLY instead of CC.
 +	(fccmp<GPF:mode>, fccmpe<GPF:mode>): Merge into...
 +	(@ccmp<CCFP_CCFPE:mode><GPF:mode>): ...this combined pattern.
 +	(@ccmp<CC_ONLY:mode><GPI:mode>_rev): New pattern.
 +	(@ccmp<CCFP_CCFPE:mode><GPF:mode>_rev): Likewise.
 +	* config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update
 +	name of generator from gen_ccmpdi to gen_ccmpccdi.
 +	(aarch64_gen_ccmp_next): Use code_for_ccmp.  If we want to reverse
 +	the previous comparison but aren't able to, use the new ccmp_rev
 +	patterns instead.
 +
  2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
  
  	* gimplify.c (gimplify_return_expr): Use poly_int_tree_p rather
diff --cc gcc/analyzer/ChangeLog
index e809018,3e6e21b..f6113a3
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@@ -1,12 -1,19 +1,28 @@@
  2020-01-17  David Malcolm  <dmalcolm@redhat.com>
  
+ 	PR analyzer/93290
+ 	* region-model.cc (region_model::eval_condition_without_cm): Avoid
+ 	gcc_unreachable for unexpected operations for the case where
+ 	we're comparing an svalue against itself.
+ 
+ 2020-01-17  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/93281
+ 	* region-model.cc
+ 	(region_model::convert_byte_offset_to_array_index): Convert to
+ 	ssizetype before dividing by byte_size.  Use fold_binary rather
+ 	than fold_build2 to avoid needlessly constructing a tree for the
+ 	non-const case.
+ 
++2020-01-17  David Malcolm  <dmalcolm@redhat.com>
++
 +	PR analyzer/93281
 +	* region-model.cc
 +	(region_model::convert_byte_offset_to_array_index): Convert to
 +	ssizetype before dividing by byte_size.  Use fold_binary rather
 +	than fold_build2 to avoid needlessly constructing a tree for the
 +	non-const case.
 +
  2020-01-15  David Malcolm  <dmalcolm@redhat.com>
  
  	* engine.cc (class impl_region_model_context): Fix comment.
diff --cc gcc/cp/ChangeLog
index 62d8acf,90665e1..8d10bbf
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@@ -1,15 -1,51 +1,63 @@@
+ 2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* Make-lang.in: Add coroutines.o.
+ 	* cp-tree.h (lang_decl-fn): coroutine_p, new bit.
+ 	(DECL_COROUTINE_P): New.
+ 	* lex.c (init_reswords): Enable keywords when the coroutine flag
+ 	is set,
+ 	* operators.def (co_await): New operator.
+ 	* call.c (add_builtin_candidates): Handle CO_AWAIT_EXPR.
+ 	(op_error): Likewise.
+ 	(build_new_op_1): Likewise.
+ 	(build_new_function_call): Validate coroutine builtin arguments.
+ 	* constexpr.c (potential_constant_expression_1): Handle
+ 	CO_AWAIT_EXPR, CO_YIELD_EXPR, CO_RETURN_EXPR.
+ 	* coroutines.cc: New file.
+ 	* cp-objcp-common.c (cp_common_init_ts): Add CO_AWAIT_EXPR,
+ 	CO_YIELD_EXPR, CO_RETRN_EXPR as TS expressions.
+ 	* cp-tree.def (CO_AWAIT_EXPR, CO_YIELD_EXPR, (CO_RETURN_EXPR): New.
+ 	* cp-tree.h (coro_validate_builtin_call): New.
+ 	* decl.c (emit_coro_helper): New.
+ 	(finish_function): Handle the case when a function is found to
+ 	be a coroutine, perform the outlining and emit the outlined
+ 	functions. Set a bit to signal that this is a coroutine component.
+ 	* parser.c (enum required_token): New enumeration RT_CO_YIELD.
+ 	(cp_parser_unary_expression): Handle co_await.
+ 	(cp_parser_assignment_expression): Handle co_yield.
+ 	(cp_parser_statement): Handle RID_CO_RETURN.
+ 	(cp_parser_jump_statement): Handle co_return.
+ 	(cp_parser_operator): Handle co_await operator.
+ 	(cp_parser_yield_expression): New.
+ 	(cp_parser_required_error): Handle RT_CO_YIELD.
+ 	* pt.c (tsubst_copy): Handle CO_AWAIT_EXPR.
+ 	(tsubst_expr): Handle CO_AWAIT_EXPR, CO_YIELD_EXPR and
+ 	CO_RETURN_EXPRs.
+ 	* tree.c (cp_walk_subtrees): Likewise.
+ 
+ 2020-01-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/92531 - ICE with noexcept(lambda).
+ 	* pt.c (uses_template_parms): Don't try to enumerate all the
+ 	expression cases.
+ 
+ 2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/93228
+ 	* parser.c (cp_parser_template_name): Look up deprecated attribute
+ 	in DECL_TEMPLATE_RESULT or its type's attributes.
+ 
 +2020-01-17  Jason Merrill  <jason@redhat.com>
 +
 +	PR c++/92531 - ICE with noexcept(lambda).
 +	* pt.c (uses_template_parms): Don't try to enumerate all the
 +	expression cases.
 +
 +2020-01-17  Jakub Jelinek  <jakub@redhat.com>
 +
 +	PR c++/93228
 +	* parser.c (cp_parser_template_name): Look up deprecated attribute
 +	in DECL_TEMPLATE_RESULT or its type's attributes.
 +
  2020-01-16  Jason Merrill  <jason@redhat.com>
  
  	PR c++/93286 - ICE with __is_constructible and variadic template.
diff --cc gcc/testsuite/ChangeLog
index 458d4d9,aa5505b..79a749e
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@@ -1,48 -1,183 +1,228 @@@
+ 2020-01-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/92833
+ 	* c-c++-common/pr92833-4.c: Fix dg-message syntax.
+ 
+ 2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* g++.dg/coroutines/co-await-syntax-00-needs-expr.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-01-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-02-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-03-auto.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-04-ctor-dtor.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-05-constexpr.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-06-main.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-07-varargs.C: New test.
+ 	* g++.dg/coroutines/co-await-syntax-08-lambda-auto.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-01-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-02-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-03-auto.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-04-ctor-dtor.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-05-constexpr-fn.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-06-main.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-07-vararg.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-08-bad-return.C: New test.
+ 	* g++.dg/coroutines/co-return-syntax-09-lambda-auto.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-00-needs-expr.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-02-outside-fn.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-03-auto.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-04-ctor-dtor.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-05-constexpr.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-06-main.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-07-varargs.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: New test.
+ 	* g++.dg/coroutines/co-yield-syntax-09-lambda-auto.C: New test.
+ 	* g++.dg/coroutines/coro-builtins.C: New test.
+ 	* g++.dg/coroutines/coro-missing-gro.C: New test.
+ 	* g++.dg/coroutines/coro-missing-promise-yield.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ret-value.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ret-void.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ueh-1.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ueh-2.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ueh-3.C: New test.
+ 	* g++.dg/coroutines/coro-missing-ueh.h: New test.
+ 	* g++.dg/coroutines/coro-pre-proc.C: New test.
+ 	* g++.dg/coroutines/coro.h: New file.
+ 	* g++.dg/coroutines/coro1-ret-int-yield-int.h: New file.
+ 	* g++.dg/coroutines/coroutines.exp: New file.
+ 	* g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: New test.
+ 	* g++.dg/coroutines/torture/alloc-01-overload-newdel.C: New test.
+ 	* g++.dg/coroutines/torture/call-00-co-aw-arg.C: New test.
+ 	* g++.dg/coroutines/torture/call-01-multiple-co-aw.C: New test.
+ 	* g++.dg/coroutines/torture/call-02-temp-co-aw.C: New test.
+ 	* g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: New test.
+ 	* g++.dg/coroutines/torture/class-00-co-ret.C: New test.
+ 	* g++.dg/coroutines/torture/class-01-co-ret-parm.C: New test.
+ 	* g++.dg/coroutines/torture/class-02-templ-parm.C: New test.
+ 	* g++.dg/coroutines/torture/class-03-operator-templ-parm.C: New test.
+ 	* g++.dg/coroutines/torture/class-04-lambda-1.C: New test.
+ 	* g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: New test.
+ 	* g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-00-trivial.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-01-with-value.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-02-xform.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-03-rhs-op.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-04-control-flow.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-05-loop.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-06-ovl.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-07-tmpl.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-08-cascade.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-09-pair.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-11-forwarding.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-12-operator-2.C: New test.
+ 	* g++.dg/coroutines/torture/co-await-13-return-ref.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-05-return-value.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-13-template-2.C: New test.
+ 	* g++.dg/coroutines/torture/co-ret-14-template-3.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-00-triv.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-01-multi.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-02-loop.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-03-tmpl.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-05-co-aw.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-06-fun-parm.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-08-more-refs.C: New test.
+ 	* g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: New test.
+ 	* g++.dg/coroutines/torture/coro-torture.exp: New file.
+ 	* g++.dg/coroutines/torture/exceptions-test-0.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-00.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-01.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-02.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-03.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-04.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-05.C: New test.
+ 	* g++.dg/coroutines/torture/func-params-06.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-00-co-ret.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-02-co-yield-values.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-04-templ-parm.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-06-multi-capture.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-07-multi-yield.C: New test.
+ 	* g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: New test.
+ 	* g++.dg/coroutines/torture/local-var-0.C: New test.
+ 	* g++.dg/coroutines/torture/local-var-1.C: New test.
+ 	* g++.dg/coroutines/torture/local-var-2.C: New test.
+ 	* g++.dg/coroutines/torture/local-var-3.C: New test.
+ 	* g++.dg/coroutines/torture/local-var-4.C: New test.
+ 	* g++.dg/coroutines/torture/mid-suspend-destruction-0.C: New test.
+ 	* g++.dg/coroutines/torture/pr92933.C: New test.
+ 
+ 2020-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR libfortran/93234
+ 	* gfortran.dg/inquire_pre.f90: New test.
+ 
+ 2020-01-17  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/93290
+ 	* gcc.dg/analyzer/pr93290.c: New test.
+ 
+ 2020-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
+ 
+ 	PR c++/92542
+ 	* g++.dg/pr92542.C: New.
+ 
+ 2020-01-17  Mihail-Calin Ionescu <mihail.ionescu@arm.com>
+ 	    Sudakshina Das  <sudi.das@arm.com>
+ 
+ 	* gcc.target/arm/armv8_1m-shift-imm_1.c: New test.
+ 
+ 2020-01-17  Mihail-Calin Ionescu <mihail.ionescu@arm.com>
+ 	    Sudakshina Das  <sudi.das@arm.com>
+ 
+ 	* gcc.target/arm/armv8_1m-shift-reg_1.c: New test.
+ 
+ 2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR testsuite/93227
+ 	* g++.dg/cpp0x/std-layout1.C: Use -Wno-deprecated-declarations for
+ 	C++20, due to std::is_pod being deprecated.
+ 
+ 2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+ 
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: New test.
+ 	* gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: New test.
+ 
+ 2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
+ 
+ 	* gcc.target/aarch64/pragma_cpp_predefs_2.c: Check for f64mm
+ 	predef.
+ 
+ 2020-01-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/93228
+ 	* g++.dg/cpp1y/attr-deprecated-3.C: New test.
+ 
 +2020-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
 +
 +	PR c++/92542
 +	* g++.dg/pr92542.C: New.
 +
 +2020-01-17  Mihail-Calin Ionescu <mihail.ionescu@arm.com>
 +	    Sudakshina Das  <sudi.das@arm.com>
 +
 +	* gcc.target/arm/armv8_1m-shift-imm_1.c: New test.
 +
 +2020-01-17  Mihail-Calin Ionescu <mihail.ionescu@arm.com>
 +	    Sudakshina Das  <sudi.das@arm.com>
 +
 +	* gcc.target/arm/armv8_1m-shift-reg_1.c: New test.
 +
 +2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
 +
 +	PR testsuite/93227
 +	* g++.dg/cpp0x/std-layout1.C: Use -Wno-deprecated-declarations for
 +	C++20, due to std::is_pod being deprecated.
 +
 +2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
 +
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: New test.
 +	* gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: New test.
 +
 +2020-01-17  Matthew Malcomson  <matthew.malcomson@arm.com>
 +
 +	* gcc.target/aarch64/pragma_cpp_predefs_2.c: Check for f64mm
 +	predef.
 +
 +2020-01-17  Jakub Jelinek  <jakub@redhat.com>
 +
 +	PR c++/93228
 +	* g++.dg/cpp1y/attr-deprecated-3.C: New test.
 +
  2020-01-17  Richard Sandiford  <richard.sandiford@arm.com>
  
  	* g++.target/aarch64/sve/acle/general-c++/gimplify_1.C: New test.
diff --cc libstdc++-v3/ChangeLog
index f0d3b1c,79bab71..526983a
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@@ -1,7 -1,13 +1,21 @@@
+ 2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* include/Makefile.am: Add coroutine to the std set.
+ 	* include/Makefile.in: Regenerated.
+ 	* include/std/coroutine: New file.
+ 
+ 2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/92376
+ 	* include/bits/c++config: Only do PSTL config when the header is
++	present, to fix freestanding.
++	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
++	functions if they were detected by configure.
++
 +2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
 +
 +	PR libstdc++/92376
 +	* include/bits/c++config: Only do PSTL config when the header is
  	present, to fix freestanding.
  	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
  	functions if they were detected by configure.



More information about the Libstdc++-cvs mailing list