From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id 41B763846405; Fri, 3 Sep 2021 21:34:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 41B763846405 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/c++-coroutines] Merge master r12-3352. X-Act-Checkin: gcc X-Git-Author: Iain Sandoe X-Git-Refname: refs/heads/devel/c++-coroutines X-Git-Oldrev: e5370d1813a47f1d3ecaaf36b5c005b0bab42100 X-Git-Newrev: e1ac4c006add1e65d00806eb16f9e562634247e8 Message-Id: <20210903213414.41B763846405@sourceware.org> Date: Fri, 3 Sep 2021 21:34:14 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2021 21:34:14 -0000 https://gcc.gnu.org/g:e1ac4c006add1e65d00806eb16f9e562634247e8 commit e1ac4c006add1e65d00806eb16f9e562634247e8 Merge: e5370d1813a addf167a23f Author: Iain Sandoe Date: Fri Sep 3 19:44:38 2021 +0100 Merge master r12-3352. * Merge master r12-3352-gaddf167a23f6. Diff: ChangeLog | 4 + gcc/ChangeLog | 217 + gcc/DATESTAMP | 2 +- gcc/c-family/ChangeLog | 4 + gcc/c-family/c-ada-spec.c | 10 +- gcc/c/ChangeLog | 24 + gcc/config/aarch64/aarch64-builtins.c | 10 +- gcc/config/aarch64/aarch64-sve-builtins.cc | 1 + gcc/config/aarch64/aarch64.c | 4 +- gcc/config/aarch64/aarch64.h | 8 +- gcc/config/i386/amxbf16intrin.h | 2 +- gcc/config/i386/amxint8intrin.h | 2 +- gcc/config/i386/amxtileintrin.h | 2 +- gcc/config/i386/i386-modes.def | 1 + gcc/config/i386/i386.c | 91 +- gcc/config/i386/i386.h | 3 +- gcc/config/i386/i386.md | 118 +- gcc/config/mips/mips.c | 41 - gcc/cp/ChangeLog | 39 + gcc/cp/call.c | 250 +- gcc/cp/class.c | 21 +- gcc/cp/coroutines.cc | 192 +- gcc/cp/pt.c | 26 +- gcc/doc/extend.texi | 13 + gcc/fortran/ChangeLog | 6 + gcc/fortran/decl.c | 39 +- gcc/gimple-range-fold.cc | 114 +- gcc/gimple-range-path.cc | 56 +- gcc/gimple-range-path.h | 2 + gcc/gimple-range-trace.cc | 27 +- gcc/gimple-range-trace.h | 14 + gcc/gimple-ssa-warn-access.cc | 437 +- gcc/gimple-ssa-warn-access.h | 1 - gcc/lto-streamer-out.c | 5 +- gcc/lto/ChangeLog | 5 + gcc/lto/lto-common.c | 1 + gcc/lto/lto-lang.c | 3 + gcc/match.pd | 15 + gcc/objc/ChangeLog | 29 + gcc/omp-expand.c | 21 +- gcc/pointer-query.cc | 127 +- gcc/pointer-query.h | 3 + gcc/range-op.cc | 46 +- gcc/testsuite/ChangeLog | 344 ++ gcc/testsuite/c-c++-common/cpp/va-opt-3.c | 8 +- gcc/testsuite/c-c++-common/cpp/va-opt-7.c | 101 + gcc/testsuite/g++.dg/cpp23/normalize1.C | 66 + gcc/testsuite/g++.dg/cpp23/normalize2.C | 66 + gcc/testsuite/g++.dg/cpp23/normalize3.C | 80 + gcc/testsuite/g++.dg/cpp23/normalize4.C | 66 + gcc/testsuite/g++.dg/cpp23/normalize5.C | 66 + gcc/testsuite/g++.dg/cpp23/normalize6.C | 10 + gcc/testsuite/g++.dg/cpp23/normalize7.C | 12 + gcc/testsuite/g++.dg/cpp23/ucnid-1-utf8.C | 18 + gcc/testsuite/g++.dg/cpp23/ucnid-2-utf8.C | 18 + gcc/testsuite/g++.dg/template/conv17.C | 56 + gcc/testsuite/g++.dg/warn/Wlogical-op-3.C | 12 + gcc/testsuite/g++.target/i386/pr102166.C | 20 + gcc/testsuite/gcc.dg/Wstringop-overflow-11.c | 8 +- gcc/testsuite/gcc.dg/Wstringop-overflow-12.c | 6 +- gcc/testsuite/gcc.dg/Wstringop-overflow-43.c | 9 +- gcc/testsuite/gcc.dg/Wstringop-overflow-73.c | 35 + gcc/testsuite/gcc.dg/cpp/ucnid-4-utf8.c | 4 +- gcc/testsuite/gcc.dg/cpp/ucnid-4.c | 4 +- gcc/testsuite/gcc.dg/cpp/ucnid-5-utf8.c | 17 + .../gcc.dg/diagnostic-tree-expr-ranges-2.c | 26 +- gcc/testsuite/gcc.dg/pr102152.c | 14 + gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-16.c | 19 + gcc/testsuite/gcc.dg/uninit-15-O0.c | 2 +- gcc/testsuite/gcc.dg/uninit-15.c | 2 +- gcc/testsuite/gcc.misc-tests/linkage.exp | 12 + .../gcc.target/aarch64/memset-strict-align-1.c | 28 + gcc/testsuite/gcc.target/i386/float16-5.c | 12 + gcc/testsuite/gcc.target/i386/pr97950.c | 4 +- gcc/testsuite/gcc.target/i386/pr99591.c | 32 + gcc/testsuite/gcc.target/i386/sse2-float16-1.c | 8 + gcc/testsuite/gcc.target/i386/sse2-float16-2.c | 16 + gcc/testsuite/gcc.target/i386/sse2-float16-3.c | 12 + gcc/testsuite/gfortran.dg/PR100911.c | 82 + gcc/testsuite/gfortran.dg/PR100911.f90 | 282 ++ gcc/testsuite/gfortran.dg/PR100914.c | 226 + gcc/testsuite/gfortran.dg/PR100914.f90 | 651 +++ gcc/testsuite/gfortran.dg/PR100915.c | 80 + gcc/testsuite/gfortran.dg/PR100915.f90 | 272 ++ gcc/testsuite/gfortran.dg/bind_c_char_6.f90 | 22 +- gcc/testsuite/gfortran.dg/bind_c_char_7.f90 | 15 +- gcc/testsuite/gfortran.dg/bind_c_char_8.f90 | 12 +- gcc/testsuite/gfortran.dg/bind_c_char_9.f90 | 161 +- gcc/testsuite/gfortran.dg/bind_c_contiguous.f90 | 33 + .../gfortran.dg/c-interop/allocatable-dummy-c.c | 54 + .../gfortran.dg/c-interop/allocatable-dummy.f90 | 98 + .../c-interop/allocatable-optional-pointer.f90 | 23 + gcc/testsuite/gfortran.dg/c-interop/allocate-c.c | 168 + .../gfortran.dg/c-interop/allocate-errors-c.c | 109 + .../gfortran.dg/c-interop/allocate-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/allocate.f90 | 19 + .../argument-association-assumed-rank-1.f90 | 31 + .../argument-association-assumed-rank-2.f90 | 48 + .../argument-association-assumed-rank-3.f90 | 51 + .../argument-association-assumed-rank-4.f90 | 50 + .../argument-association-assumed-rank-5.f90 | 31 + .../argument-association-assumed-rank-6.f90 | 48 + .../argument-association-assumed-rank-7.f90 | 51 + .../argument-association-assumed-rank-8.f90 | 50 + .../gfortran.dg/c-interop/assumed-type-dummy.f90 | 84 + gcc/testsuite/gfortran.dg/c-interop/c-interop.exp | 57 + gcc/testsuite/gfortran.dg/c-interop/c1255-1.f90 | 83 + gcc/testsuite/gfortran.dg/c-interop/c1255-2.f90 | 106 + gcc/testsuite/gfortran.dg/c-interop/c1255a.f90 | 40 + gcc/testsuite/gfortran.dg/c-interop/c407a-1.f90 | 55 + gcc/testsuite/gfortran.dg/c-interop/c407a-2.f90 | 88 + gcc/testsuite/gfortran.dg/c-interop/c407b-1.f90 | 107 + gcc/testsuite/gfortran.dg/c-interop/c407b-2.f90 | 150 + gcc/testsuite/gfortran.dg/c-interop/c407c-1.f90 | 63 + gcc/testsuite/gfortran.dg/c-interop/c516.f90 | 67 + gcc/testsuite/gfortran.dg/c-interop/c524a.f90 | 30 + gcc/testsuite/gfortran.dg/c-interop/c535a-1.f90 | 65 + gcc/testsuite/gfortran.dg/c-interop/c535a-2.f90 | 78 + gcc/testsuite/gfortran.dg/c-interop/c535b-1.f90 | 333 ++ gcc/testsuite/gfortran.dg/c-interop/c535b-2.f90 | 387 ++ gcc/testsuite/gfortran.dg/c-interop/c535b-3.f90 | 79 + gcc/testsuite/gfortran.dg/c-interop/c535c-1.f90 | 87 + gcc/testsuite/gfortran.dg/c-interop/c535c-2.f90 | 74 + gcc/testsuite/gfortran.dg/c-interop/c535c-3.f90 | 73 + gcc/testsuite/gfortran.dg/c-interop/c535c-4.f90 | 73 + .../gfortran.dg/c-interop/cf-descriptor-1-c.c | 91 + .../gfortran.dg/c-interop/cf-descriptor-1.f90 | 66 + .../gfortran.dg/c-interop/cf-descriptor-2-c.c | 91 + .../gfortran.dg/c-interop/cf-descriptor-2.f90 | 82 + .../gfortran.dg/c-interop/cf-descriptor-3-c.c | 92 + .../gfortran.dg/c-interop/cf-descriptor-3.f90 | 58 + .../gfortran.dg/c-interop/cf-descriptor-4-c.c | 112 + .../gfortran.dg/c-interop/cf-descriptor-4.f90 | 73 + .../gfortran.dg/c-interop/cf-descriptor-5-c.c | 36 + .../gfortran.dg/c-interop/cf-descriptor-5.f90 | 31 + .../gfortran.dg/c-interop/cf-descriptor-6-c.c | 81 + .../gfortran.dg/c-interop/cf-descriptor-6.f90 | 72 + .../gfortran.dg/c-interop/cf-descriptor-7-c.c | 81 + .../gfortran.dg/c-interop/cf-descriptor-7.f90 | 74 + .../gfortran.dg/c-interop/cf-descriptor-8-c.c | 73 + .../gfortran.dg/c-interop/cf-descriptor-8.f90 | 78 + .../gfortran.dg/c-interop/cf-out-descriptor-1-c.c | 87 + .../gfortran.dg/c-interop/cf-out-descriptor-1.f90 | 174 + .../gfortran.dg/c-interop/cf-out-descriptor-2-c.c | 87 + .../gfortran.dg/c-interop/cf-out-descriptor-2.f90 | 157 + .../gfortran.dg/c-interop/cf-out-descriptor-3-c.c | 108 + .../gfortran.dg/c-interop/cf-out-descriptor-3.f90 | 134 + .../gfortran.dg/c-interop/cf-out-descriptor-4-c.c | 175 + .../gfortran.dg/c-interop/cf-out-descriptor-4.f90 | 207 + .../gfortran.dg/c-interop/cf-out-descriptor-5-c.c | 31 + .../gfortran.dg/c-interop/cf-out-descriptor-5.f90 | 48 + .../gfortran.dg/c-interop/cf-out-descriptor-6-c.c | 42 + .../gfortran.dg/c-interop/cf-out-descriptor-6.f90 | 115 + .../gfortran.dg/c-interop/contiguous-1-c.c | 56 + .../gfortran.dg/c-interop/contiguous-1.f90 | 67 + .../gfortran.dg/c-interop/contiguous-2-c.c | 113 + .../gfortran.dg/c-interop/contiguous-2.f90 | 152 + .../gfortran.dg/c-interop/contiguous-3-c.c | 80 + .../gfortran.dg/c-interop/contiguous-3.f90 | 171 + .../gfortran.dg/c-interop/deferred-character-1.f90 | 76 + .../gfortran.dg/c-interop/deferred-character-2.f90 | 55 + .../gfortran.dg/c-interop/dump-descriptors.c | 195 + .../gfortran.dg/c-interop/dump-descriptors.h | 12 + gcc/testsuite/gfortran.dg/c-interop/establish-c.c | 134 + .../gfortran.dg/c-interop/establish-errors-c.c | 120 + .../gfortran.dg/c-interop/establish-errors.f90 | 30 + gcc/testsuite/gfortran.dg/c-interop/establish.f90 | 35 + .../gfortran.dg/c-interop/explicit-interface.f90 | 60 + .../gfortran.dg/c-interop/fc-descriptor-1-c.c | 46 + .../gfortran.dg/c-interop/fc-descriptor-1.f90 | 34 + .../gfortran.dg/c-interop/fc-descriptor-2-c.c | 68 + .../gfortran.dg/c-interop/fc-descriptor-2.f90 | 40 + .../gfortran.dg/c-interop/fc-descriptor-3-c.c | 42 + .../gfortran.dg/c-interop/fc-descriptor-3.f90 | 37 + .../gfortran.dg/c-interop/fc-descriptor-4-c.c | 57 + .../gfortran.dg/c-interop/fc-descriptor-4.f90 | 36 + .../gfortran.dg/c-interop/fc-descriptor-5-c.c | 28 + .../gfortran.dg/c-interop/fc-descriptor-5.f90 | 35 + .../gfortran.dg/c-interop/fc-descriptor-6-c.c | 51 + .../gfortran.dg/c-interop/fc-descriptor-6.f90 | 50 + .../gfortran.dg/c-interop/fc-descriptor-7-c.c | 46 + .../gfortran.dg/c-interop/fc-descriptor-7.f90 | 37 + .../gfortran.dg/c-interop/fc-descriptor-8-c.c | 20 + .../gfortran.dg/c-interop/fc-descriptor-8.f90 | 22 + .../gfortran.dg/c-interop/fc-descriptor-9-c.c | 42 + .../gfortran.dg/c-interop/fc-descriptor-9.f90 | 23 + .../gfortran.dg/c-interop/fc-out-descriptor-1-c.c | 52 + .../gfortran.dg/c-interop/fc-out-descriptor-1.f90 | 66 + .../gfortran.dg/c-interop/fc-out-descriptor-2-c.c | 52 + .../gfortran.dg/c-interop/fc-out-descriptor-2.f90 | 66 + .../gfortran.dg/c-interop/fc-out-descriptor-3-c.c | 71 + .../gfortran.dg/c-interop/fc-out-descriptor-3.f90 | 59 + .../gfortran.dg/c-interop/fc-out-descriptor-4-c.c | 96 + .../gfortran.dg/c-interop/fc-out-descriptor-4.f90 | 75 + .../gfortran.dg/c-interop/fc-out-descriptor-5-c.c | 30 + .../gfortran.dg/c-interop/fc-out-descriptor-5.f90 | 35 + .../gfortran.dg/c-interop/fc-out-descriptor-6-c.c | 50 + .../gfortran.dg/c-interop/fc-out-descriptor-6.f90 | 49 + .../gfortran.dg/c-interop/fc-out-descriptor-7-c.c | 136 + .../gfortran.dg/c-interop/fc-out-descriptor-7.f90 | 71 + .../gfortran.dg/c-interop/ff-descriptor-1.f90 | 123 + .../gfortran.dg/c-interop/ff-descriptor-2.f90 | 97 + .../gfortran.dg/c-interop/ff-descriptor-3.f90 | 148 + .../gfortran.dg/c-interop/ff-descriptor-4.f90 | 198 + .../gfortran.dg/c-interop/ff-descriptor-5.f90 | 61 + .../gfortran.dg/c-interop/ff-descriptor-6.f90 | 71 + .../gfortran.dg/c-interop/ff-descriptor-7.f90 | 89 + gcc/testsuite/gfortran.dg/c-interop/note-5-3.f90 | 55 + gcc/testsuite/gfortran.dg/c-interop/note-5-4-c.c | 10 + gcc/testsuite/gfortran.dg/c-interop/note-5-4.f90 | 63 + gcc/testsuite/gfortran.dg/c-interop/optional-c.c | 82 + gcc/testsuite/gfortran.dg/c-interop/optional.f90 | 114 + gcc/testsuite/gfortran.dg/c-interop/rank-class.f90 | 88 + gcc/testsuite/gfortran.dg/c-interop/rank.f90 | 99 + .../c-interop/removed-restrictions-1.f90 | 41 + .../c-interop/removed-restrictions-2.f90 | 35 + .../c-interop/removed-restrictions-3.f90 | 37 + .../c-interop/removed-restrictions-4.f90 | 34 + gcc/testsuite/gfortran.dg/c-interop/section-1-c.c | 135 + gcc/testsuite/gfortran.dg/c-interop/section-1.f90 | 71 + gcc/testsuite/gfortran.dg/c-interop/section-1p.f90 | 75 + gcc/testsuite/gfortran.dg/c-interop/section-2-c.c | 175 + gcc/testsuite/gfortran.dg/c-interop/section-2.f90 | 102 + gcc/testsuite/gfortran.dg/c-interop/section-2p.f90 | 104 + gcc/testsuite/gfortran.dg/c-interop/section-3-c.c | 235 ++ gcc/testsuite/gfortran.dg/c-interop/section-3.f90 | 103 + gcc/testsuite/gfortran.dg/c-interop/section-3p.f90 | 127 + gcc/testsuite/gfortran.dg/c-interop/section-4-c.c | 101 + gcc/testsuite/gfortran.dg/c-interop/section-4.f90 | 23 + .../gfortran.dg/c-interop/section-errors-c.c | 149 + .../gfortran.dg/c-interop/section-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/select-c.c | 138 + .../gfortran.dg/c-interop/select-errors-c.c | 125 + .../gfortran.dg/c-interop/select-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/select.f90 | 18 + gcc/testsuite/gfortran.dg/c-interop/setpointer-c.c | 78 + .../gfortran.dg/c-interop/setpointer-errors-c.c | 127 + .../gfortran.dg/c-interop/setpointer-errors.f90 | 28 + gcc/testsuite/gfortran.dg/c-interop/setpointer.f90 | 18 + gcc/testsuite/gfortran.dg/c-interop/shape.f90 | 77 + gcc/testsuite/gfortran.dg/c-interop/size.f90 | 106 + gcc/testsuite/gfortran.dg/c-interop/tkr.f90 | 46 + .../c-interop/typecodes-array-basic-c.c | 169 + .../c-interop/typecodes-array-basic.f90 | 151 + .../gfortran.dg/c-interop/typecodes-array-char-c.c | 35 + .../gfortran.dg/c-interop/typecodes-array-char.f90 | 37 + .../c-interop/typecodes-array-float128-c.c | 38 + .../c-interop/typecodes-array-float128.f90 | 34 + .../c-interop/typecodes-array-int128-c.c | 40 + .../c-interop/typecodes-array-int128.f90 | 33 + .../c-interop/typecodes-array-longdouble-c.c | 37 + .../c-interop/typecodes-array-longdouble.f90 | 32 + .../gfortran.dg/c-interop/typecodes-sanity-c.c | 179 + .../gfortran.dg/c-interop/typecodes-sanity.f90 | 24 + .../c-interop/typecodes-scalar-basic-c.c | 168 + .../c-interop/typecodes-scalar-basic.f90 | 160 + .../c-interop/typecodes-scalar-float128-c.c | 38 + .../c-interop/typecodes-scalar-float128.f90 | 34 + .../c-interop/typecodes-scalar-int128-c.c | 41 + .../c-interop/typecodes-scalar-int128.f90 | 35 + .../c-interop/typecodes-scalar-longdouble-c.c | 37 + .../c-interop/typecodes-scalar-longdouble.f90 | 33 + gcc/testsuite/gfortran.dg/c-interop/ubound.f90 | 129 + .../gfortran.dg/gomp/target-device-ancestor-4.f90 | 2 +- gcc/testsuite/gfortran.dg/iso_c_binding_char_1.f90 | 1 + gcc/testsuite/gfortran.dg/pr32599.f03 | 2 +- gcc/testsuite/lib/target-supports.exp | 16 + gcc/tree-ssa-dom.c | 6 +- gcc/tree-ssa-loop-ch.c | 1 - gcc/tree-ssa-loop-im.c | 33 +- gcc/tree-ssa-strlen.c | 74 +- gcc/tree-ssa-threadbackward.c | 51 +- gcc/tree-ssa-threadedge.c | 45 +- gcc/tree-ssa-threadupdate.c | 62 +- gcc/tree-ssa-uninit.c | 9 +- gcc/tree-streamer-in.c | 6 +- gcc/tree-streamer-out.c | 5 +- gcc/tree.h | 26 +- gcc/value-relation.cc | 6 + gcc/value-relation.h | 1 + libcpp/ChangeLog | 39 + libcpp/charset.c | 46 +- libcpp/include/cpplib.h | 4 + libcpp/init.c | 52 +- libcpp/lex.c | 3 + libcpp/macro.c | 34 +- libcpp/makeucnid.c | 87 +- libcpp/ucnid.h | 4402 ++++++++++++-------- libgcc/ChangeLog | 22 + libgcc/config.host | 5 +- libgcc/config/i386/32/sfp-machine.h | 1 + libgcc/config/i386/64/sfp-machine.h | 1 + libgcc/config/i386/64/t-softfp | 1 + libgcc/config/i386/sfp-machine.h | 21 +- libgcc/config/i386/t-softfp | 5 + libgcc/soft-fp/eqhf2.c | 49 + libgcc/soft-fp/extendhfdf2.c | 53 + libgcc/soft-fp/extendhfsf2.c | 49 + libgcc/soft-fp/half.h | 1 + libgcc/soft-fp/truncdfhf2.c | 52 + libgcc/soft-fp/truncsfhf2.c | 48 + libgfortran/ChangeLog | 16 + libgfortran/ISO_Fortran_binding-1-tmpl.h | 8 +- libgfortran/runtime/ISO_Fortran_binding.c | 122 +- libgomp/testsuite/libgomp.c-c++-common/error-1.c | 6 +- libgomp/testsuite/libgomp.fortran/error-1.f90 | 24 +- libiberty/ChangeLog | 7 + libphobos/ChangeLog | 9 + libstdc++-v3/ChangeLog | 35 + libstdc++-v3/include/bits/atomic_base.h | 83 +- libstdc++-v3/include/std/atomic | 49 +- libstdc++-v3/include/std/functional | 15 + libstdc++-v3/include/std/version | 1 + .../testsuite/20_util/function_objects/invoke/4.cc | 59 + .../20_util/function_objects/invoke/version.cc | 10 + 315 files changed, 21790 insertions(+), 2775 deletions(-)