This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch devel/c++-modules in repository gcc.
from e2b8d170096f Merge master bf09d886a4be1031f7003073115af6cbc5575353. adds c60a18f8056f c++: Fix deprecated attribute handling on templates (PR c+ [...] adds eff9c61dfb08 PR c++/92531 - ICE with noexcept(lambda). adds 6ed8c923325c [AArch64] Enable compare branch fusion adds 336e1b950db8 [AArch64] Enable CLI for Armv8.6-A f64mm adds 9ceec73fc0e5 [AArch64] [SVE] Implement svld1ro intrinsic. adds f1a7789d0f47 Fix g++ testsuite failure caused by std::is_pod deprecation adds 568f0f355f25 [AArch64] [Obvious] Correct pattern target requirement adds 2c2e9f7a5d4b gdbinit.in: make shorthands accept an explicit argument adds 0ba6a850b597 libstdc++: Fix freestanding build PR 92376) adds 6687d13a87c4 Rename acc_device_gcn to acc_device_radeon adds 925cef05b895 arm: Unbreak bootstrap adds 674dcc3f738c Fix up ChangeLog. adds 60d616b1f6de [GCC/ARM, 1/2] Add support for ASRL(reg) and LSLL(reg) ins [...] adds a968a40c4ee3 [GCC/ARM, 2/2] Add support for ASRL(imm), LSLL(imm) and LS [...] adds 4c9e5b02f08b Add testcase of PR c++/92542, already fixed. adds 7e45138702a9 Add testcase of PR c++/92542, already fixed. adds 82033483fd74 PR90374 Zero width format specifiers. adds 07c86323a199 analyzer: prevent ICE on isnan (PR 93290) adds 92030203c1d2 Daily bump. adds e2947cfa2d1d PR93234 INQUIRE on pre-assigned files of ROUND and SIGN pr [...] adds a22a86a18bd3 arm: fix rtl checking bootstrap (PR target/93312) adds 472ef1d34bbe arm: Remove yet another unused variable. adds 49789fd08378 [C++ coroutines] Initial implementation. adds 7ebbff3acbe6 [libiberty] Update demangler to handle co_await operator. adds 5a715667bbb9 Reword a comment in varpool_node::ctor_useable_for_folding_p. adds 8118184c3e14 config.gcc <obsolete targets>: Add crisv32-*-* and cris-*-linux* adds 955e4e3b7057 testsuite: Fix dg-message syntax. adds 93bb79abfccc AArch64: Fix unused variable warning breaking bootstrap. adds 84479e3a4ceb Fix compilation of crtstuff.c when DEFAULT_USE_CXA_ATEXIT [...] adds 463f64994470 libgcc: cris: config/cris/arit.c (DS): Apply attribute __f [...] adds dba33cb727d4 c++: Fix coroutines.cc build for nvptx-none target adds 2589beb1d1a0 Daily bump. adds 52354dadb80b Check for illegal reference in function. adds 118aa5e31ce4 Fix ICE in speculative_call_info adds bf6fc129c056 Implement speculative call verifier adds 303484a73541 Simplify lambda parsing. adds bcfc2227c556 PR c++/33799 - destroy return value, take 2. adds 0042bafd4b5e testsuite: Make use of effective-target march_option for cris adds 3684bbb022cd testsuite: effective_target_march_option: support checking [...] adds bec238768255 Daily bump. adds 8863f61c9c9d analyzer: ensure that all DejaGnu tests have unique names adds f4d83eba60b5 Clean up references to Subversion in documentation sources. adds 9c4f0d311810 tree-optimization/93094 pass down VECTORIZED_CALL to versioning adds 92ce93c743b3 Record outer non-cleanup region in TREE EH. adds 0757f0bbf3ed Add testcase of PR c++/92536, already fixed. adds 24b178184f26 contrib: New remotes structure for vendor and personal refs adds 991b91497fd5 debug/92763 keep DIEs that might be used in DW_TAG_inlined [...] adds 7387153ca14a aarch64: Remove parameter name and ATTRIBUTE_UNUSED adds 35e58efb7a86 [AArch64] Set SLOW_BYTE_ACCESS adds 1a2b60b581c3 x32: Add x32 support to -mtls-dialect=gnu2 adds e82ba180d664 [PATCH] PR Fortran/93263 Correct test case adds ad1a3914ae8d [PR 80005] Fix __has_include new db89f94f8a92 Merge master 3a43459715e239fb8043bf64b830aaf1a9802180.
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: ChangeLog.modules | 5 + contrib/ChangeLog | 9 + contrib/gcc-git-customization.sh | 57 +- contrib/git-fetch-vendor.sh | 64 +- gcc/ChangeLog | 234 +- gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/analyzer/ChangeLog | 7 + gcc/analyzer/region-model.cc | 10 +- gcc/builtin-types.def | 5 + gcc/builtins.def | 9 + gcc/c-family/ChangeLog | 15 + gcc/c-family/c-common.h | 4 +- gcc/c-family/c-cppbuiltin.c | 8 +- gcc/c-family/c.opt | 6 +- gcc/cgraph.c | 213 +- gcc/cgraphclones.c | 3 +- gcc/config.gcc | 2 + gcc/config/aarch64/aarch64-c.c | 1 + gcc/config/aarch64/aarch64-option-extensions.def | 36 +- gcc/config/aarch64/aarch64-protos.h | 1 + gcc/config/aarch64/aarch64-sve-builtins-base.cc | 24 +- gcc/config/aarch64/aarch64-sve-builtins-base.def | 4 + gcc/config/aarch64/aarch64-sve-builtins-base.h | 1 + gcc/config/aarch64/aarch64-sve-builtins.cc | 6 +- gcc/config/aarch64/aarch64-sve.md | 14 + gcc/config/aarch64/aarch64.c | 30 +- gcc/config/aarch64/aarch64.h | 17 +- gcc/config/aarch64/aarch64.md | 1 + gcc/config/aarch64/constraints.md | 25 + gcc/config/aarch64/predicates.md | 16 + gcc/config/arm/arm.c | 15 +- gcc/config/arm/arm.md | 38 + gcc/config/arm/constraints.md | 7 +- gcc/config/arm/predicates.md | 9 + gcc/config/arm/thumb2.md | 24 + gcc/config/arm/vfp.md | 1 - gcc/config/i386/i386.c | 31 +- gcc/config/i386/i386.md | 54 +- gcc/coroutine-builtins.def | 53 + gcc/coroutine-passes.cc | 532 +++ gcc/cp/ChangeLog | 67 + 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 | 30 +- gcc/cp/decl.c | 63 + gcc/cp/except.c | 72 + gcc/cp/lang-specs.h | 2 - gcc/cp/operators.def | 1 + gcc/cp/parser.c | 125 +- gcc/cp/pt.c | 38 +- gcc/cp/tree.c | 31 + gcc/cp/typeck.c | 3 + gcc/doc/analyzer.texi | 3 + gcc/doc/contribute.texi | 4 +- gcc/doc/install.texi | 32 +- gcc/doc/invoke.texi | 8 + gcc/dwarf2out.c | 9 +- gcc/fortran/ChangeLog | 7 + gcc/fortran/primary.c | 1 + gcc/fortran/resolve.c | 7 + gcc/function.h | 3 + gcc/gdbinit.in | 173 +- gcc/internal-fn.c | 26 + gcc/internal-fn.def | 6 + gcc/ipa-profile.c | 174 +- gcc/lto-cgraph.c | 7 +- gcc/lto-streamer-in.c | 3 + gcc/passes.def | 2 + gcc/testsuite/ChangeLog | 267 ++ 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 + .../{tm/tm.exp => coroutines/coroutines.exp} | 35 +- .../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/g++.dg/cpp/pr80005.C | 24 + gcc/testsuite/g++.dg/cpp0x/std-layout1.C | 1 + gcc/testsuite/g++.dg/cpp1y/attr-deprecated-3.C | 13 + gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C | 10 +- gcc/testsuite/g++.dg/cpp1z/constexpr-lambda25.C | 7 + gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C | 10 +- gcc/testsuite/g++.dg/cpp1z/pr92536.C | 23 + gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C | 10 +- gcc/testsuite/g++.dg/debug/pr92763.C | 19 + gcc/testsuite/g++.dg/eh/return1.C | 20 +- gcc/testsuite/g++.dg/pr92542.C | 15 + .../gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c | 4 +- gcc/testsuite/gcc.dg/analyzer/attribute-nonnull.c | 16 +- .../gcc.dg/analyzer/conditionals-notrans.c | 60 +- gcc/testsuite/gcc.dg/analyzer/data-model-1.c | 104 +- gcc/testsuite/gcc.dg/analyzer/data-model-18.c | 4 +- gcc/testsuite/gcc.dg/analyzer/data-model-8.c | 4 +- gcc/testsuite/gcc.dg/analyzer/data-model-9.c | 8 +- gcc/testsuite/gcc.dg/analyzer/file-1.c | 12 +- gcc/testsuite/gcc.dg/analyzer/file-paths-1.c | 8 +- gcc/testsuite/gcc.dg/analyzer/loop-2.c | 4 +- gcc/testsuite/gcc.dg/analyzer/loop-2a.c | 14 +- gcc/testsuite/gcc.dg/analyzer/loop-4.c | 12 +- gcc/testsuite/gcc.dg/analyzer/loop.c | 16 +- gcc/testsuite/gcc.dg/analyzer/malloc-1.c | 4 +- gcc/testsuite/gcc.dg/analyzer/malloc-2.c | 8 +- gcc/testsuite/gcc.dg/analyzer/malloc-ipa-10.c | 14 +- gcc/testsuite/gcc.dg/analyzer/malloc-ipa-2.c | 14 +- .../gcc.dg/analyzer/malloc-macro-separate-events.c | 6 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-1.c | 8 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-2.c | 6 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-3.c | 6 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-4.c | 12 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-5.c | 18 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-7.c | 4 +- gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c | 4 +- gcc/testsuite/gcc.dg/analyzer/operations.c | 20 +- gcc/testsuite/gcc.dg/analyzer/params.c | 8 +- gcc/testsuite/gcc.dg/analyzer/pattern-test-1.c | 12 +- gcc/testsuite/gcc.dg/analyzer/pattern-test-2.c | 12 +- gcc/testsuite/gcc.dg/analyzer/pr93290.c | 9 + gcc/testsuite/gcc.dg/analyzer/sensitive-1.c | 14 +- gcc/testsuite/gcc.dg/analyzer/switch.c | 4 +- gcc/testsuite/gcc.dg/analyzer/taint-1.c | 20 +- gcc/testsuite/gcc.dg/analyzer/unknown-fns.c | 4 +- gcc/testsuite/gcc.dg/torture/pr26515.c | 2 +- gcc/testsuite/gcc.dg/vect/pr93094.c | 18 + .../gcc.target/aarch64/pragma_cpp_predefs_2.c | 14 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c | 119 + .../gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c | 119 + .../gcc.target/arm/armv8_1m-shift-imm-1.c | 27 + .../gcc.target/arm/armv8_1m-shift-reg-1.c | 20 + gcc/testsuite/gcc.target/cris/asm-v10.S | 2 +- gcc/testsuite/gcc.target/cris/inasm-v10.c | 2 +- gcc/testsuite/gcc.target/cris/sync-1-v10.c | 2 +- gcc/testsuite/gcc.target/i386/pr93319-1a.c | 24 + gcc/testsuite/gcc.target/i386/pr93319-1b.c | 7 + gcc/testsuite/gcc.target/i386/pr93319-1c.c | 7 + gcc/testsuite/gcc.target/i386/pr93319-1d.c | 7 + gcc/testsuite/gfortran.dg/function_reference_1.f90 | 11 + gcc/testsuite/gfortran.dg/function_reference_2.f90 | 10 + gcc/testsuite/gfortran.dg/inquire_pre.f90 | 68 + gcc/testsuite/gfortran.dg/pr93263_1.f90 | 2 +- gcc/testsuite/lib/target-supports.exp | 4 + gcc/tree-eh.c | 30 +- gcc/tree-pass.h | 2 + gcc/tree-vect-loop-manip.c | 11 +- gcc/tree-vect-loop.c | 4 +- gcc/tree-vectorizer.c | 3 +- gcc/tree-vectorizer.h | 4 +- gcc/varpool.c | 7 +- libcpp/ChangeLog | 29 +- libcpp/directives.c | 33 +- libcpp/expr.c | 32 +- libcpp/files.c | 33 +- libcpp/identifiers.c | 3 +- libcpp/include/cpplib.h | 2 +- libcpp/init.c | 14 +- libcpp/internal.h | 20 +- libcpp/pch.c | 4 +- libcpp/traditional.c | 8 +- libgcc/ChangeLog | 12 +- 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 +- libgomp/ChangeLog | 25 + libgomp/config/accel/openacc.f90 | 4 +- libgomp/openacc.f90 | 4 +- libgomp/openacc.h | 2 +- libgomp/openacc_lib.h | 2 +- libgomp/testsuite/lib/libgomp.exp | 2 +- .../libgomp.oacc-c-c++-common/acc_prof-init-1.c | 2 +- .../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c | 4 +- .../acc_prof-parallel-1.c | 12 +- .../libgomp.oacc-c-c++-common/asyncwait-nop-1.c | 2 +- libiberty/cp-demangle.c | 1 + libiberty/testsuite/demangle-expected | 3 + libstdc++-v3/ChangeLog | 26 + libstdc++-v3/doc/xml/faq.xml | 21 +- .../doc/xml/manual/appendix_contributing.xml | 9 +- libstdc++-v3/doc/xml/manual/status_cxx1998.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxx2011.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxx2014.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxx2017.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxx2020.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxxtr1.xml | 2 +- libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml | 2 +- libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/bits/c++config | 5 +- libstdc++-v3/include/std/coroutine | 291 ++ libstdc++-v3/libsupc++/new_opa.cc | 15 + 317 files changed, 14578 insertions(+), 756 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 copy gcc/testsuite/g++.dg/{tm/tm.exp => coroutines/coroutines.exp} (52%) 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 gcc/testsuite/g++.dg/cpp/pr80005.C create mode 100644 gcc/testsuite/g++.dg/cpp1y/attr-deprecated-3.C create mode 100644 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda25.C create mode 100644 gcc/testsuite/g++.dg/cpp1z/pr92536.C create mode 100644 gcc/testsuite/g++.dg/debug/pr92763.C create mode 100644 gcc/testsuite/g++.dg/pr92542.C create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr93290.c create mode 100644 gcc/testsuite/gcc.dg/vect/pr93094.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c create mode 100644 gcc/testsuite/gcc.target/arm/armv8_1m-shift-imm-1.c create mode 100644 gcc/testsuite/gcc.target/arm/armv8_1m-shift-reg-1.c create mode 100644 gcc/testsuite/gcc.target/i386/pr93319-1a.c create mode 100644 gcc/testsuite/gcc.target/i386/pr93319-1b.c create mode 100644 gcc/testsuite/gcc.target/i386/pr93319-1c.c create mode 100644 gcc/testsuite/gcc.target/i386/pr93319-1d.c create mode 100644 gcc/testsuite/gfortran.dg/function_reference_1.f90 create mode 100644 gcc/testsuite/gfortran.dg/function_reference_2.f90 create mode 100644 gcc/testsuite/gfortran.dg/inquire_pre.f90 create mode 100644 libstdc++-v3/include/std/coroutine