[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