This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_kernel/gnu-master-aarch64-stable-defconfig in repository toolchain/ci/gcc.
from 472ef1d34bb arm: Remove yet another unused variable. adds 49789fd0837 [C++ coroutines] Initial implementation. adds 7ebbff3acbe [libiberty] Update demangler to handle co_await operator. adds 5a715667bbb Reword a comment in varpool_node::ctor_useable_for_folding_p. adds 8118184c3e1 config.gcc <obsolete targets>: Add crisv32-*-* and cris-*-linux* adds 955e4e3b705 testsuite: Fix dg-message syntax. adds 93bb79abfcc AArch64: Fix unused variable warning breaking bootstrap. adds 84479e3a4ce Fix compilation of crtstuff.c when DEFAULT_USE_CXA_ATEXIT is false adds 463f6499447 libgcc: cris: config/cris/arit.c (DS): Apply attribute __fa [...] adds dba33cb727d c++: Fix coroutines.cc build for nvptx-none target adds 2589beb1d1a Daily bump.
No new revisions were added by this update.
Summary of changes: gcc/ChangeLog | 39 + gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + 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/coroutine-builtins.def | 53 + gcc/coroutine-passes.cc | 532 +++ gcc/cp/ChangeLog | 41 + 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/invoke.texi | 4 + gcc/function.h | 3 + gcc/internal-fn.c | 26 + gcc/internal-fn.def | 6 + gcc/passes.def | 2 + gcc/testsuite/ChangeLog | 125 + 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/tree-pass.h | 2 + gcc/varpool.c | 7 +- libgcc/ChangeLog | 10 + libgcc/config/cris/arit.c | 3 +- libgcc/crtstuff.c | 2 + libiberty/cp-demangle.c | 1 + libiberty/testsuite/demangle-expected | 3 + libstdc++-v3/ChangeLog | 6 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/std/coroutine | 291 ++ 164 files changed, 11102 insertions(+), 16 deletions(-) create mode 100644 gcc/coroutine-builtins.def create mode 100644 gcc/coroutine-passes.cc create mode 100644 gcc/cp/coroutines.cc create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-00-needs-expr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-01-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-02-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-03-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-04-ctor-dtor.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-05-constexpr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-06-main.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-07-varargs.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-await-syntax-08-lambda-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-01-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-02-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-03-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-04-ctor-dtor.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-05-constexpr-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-06-main.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-07-vararg.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-08-bad-return.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-return-syntax-09-lambda-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-00-needs-expr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-01-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-02-outside-fn.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-03-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-04-ctor-dtor.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-05-constexpr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-06-main.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-07-varargs.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-08-needs-expr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/co-yield-syntax-09-lambda-auto.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-builtins.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-gro.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-promise-yield.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ret-value.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ret-void.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ueh-1.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ueh-2.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ueh-3.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-missing-ueh.h create mode 100644 gcc/testsuite/g++.dg/coroutines/coro-pre-proc.C create mode 100644 gcc/testsuite/g++.dg/coroutines/coro.h create mode 100644 gcc/testsuite/g++.dg/coroutines/coro1-ret-int-yield-int.h create mode 100644 gcc/testsuite/g++.dg/coroutines/coroutines.exp create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-i [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-i [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-prom [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-ev [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-loc [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn [...] create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/local-var-0.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/local-var-1.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/local-var-2.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/local-var-3.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/local-var-4.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/pr92933.C create mode 100644 libstdc++-v3/include/std/coroutine