From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1499) id 84F6D3856DCF; Tue, 25 Oct 2022 15:51:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84F6D3856DCF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666713068; bh=xXH80P8q6MvY1NbGjfX0t4Oh0ybWfdhqn5gR19QW008=; h=From:To:Subject:Date:From; b=K7Lb1QmmB8YFe4puQw0APbcTzeIHEat8o11MZbAHSKQTx5FDlZJ+tAS8whdM2GEXn eef66DBFGUs/q+7S98RWYHP9/HpaZOGet5E1cwM00kCdE1kCIeJAhk1pU/7FiOwO60 lJMoqvnSBGxXSNptzl7Z6DcA3o+pnEQ9BwKnUKWA= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Gaius Mulley To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc(refs/users/gaius/heads/m2gcc12)] Merge remote-tracking branch 'remotes/origin/releases/gcc-12' into me/m2gcc12 X-Act-Checkin: gcc X-Git-Author: Gaius Mulley X-Git-Refname: refs/users/gaius/heads/m2gcc12 X-Git-Oldrev: 8025f29fbd8f87e27354b69d0bc9eb8d1aeae94c X-Git-Newrev: 5126400b2ceefd67f7a54ff731efd3e9f3b3924d Message-Id: <20221025155108.84F6D3856DCF@sourceware.org> Date: Tue, 25 Oct 2022 15:51:08 +0000 (GMT) List-Id: https://gcc.gnu.org/g:5126400b2ceefd67f7a54ff731efd3e9f3b3924d commit 5126400b2ceefd67f7a54ff731efd3e9f3b3924d Merge: 8025f29fbd8 da1f6e5260d Author: Gaius Mulley Date: Tue Oct 25 16:49:06 2022 +0100 Merge remote-tracking branch 'remotes/origin/releases/gcc-12' into me/m2gcc12 Signed-off-by: Gaius Mulley Diff: ChangeLog | 9 +- c++tools/ChangeLog | 8 + config/ChangeLog | 8 +- contrib/ChangeLog | 16 +- contrib/header-tools/ChangeLog | 8 + contrib/reghunt/ChangeLog | 8 + contrib/regression/ChangeLog | 8 + fixincludes/ChangeLog | 8 + gcc/BASE-VER | 2 +- gcc/ChangeLog | 1797 ++- gcc/DATESTAMP | 2 +- gcc/DEV-PHASE | 1 - gcc/ada/ChangeLog | 8 +- gcc/alias.cc | 14 + gcc/alias.h | 1 + gcc/analyzer/ChangeLog | 65 +- gcc/analyzer/checker-path.cc | 8 +- gcc/analyzer/diagnostic-manager.cc | 68 + gcc/analyzer/diagnostic-manager.h | 3 + gcc/analyzer/engine.cc | 50 +- gcc/analyzer/region-model-manager.cc | 14 +- gcc/analyzer/region-model.cc | 69 +- gcc/analyzer/region.h | 8 - gcc/analyzer/sm-taint.cc | 51 +- gcc/analyzer/sm.cc | 12 + gcc/analyzer/sm.h | 2 + gcc/asan.cc | 15 +- gcc/builtins.cc | 64 +- gcc/c-family/ChangeLog | 40 +- gcc/c-family/c-ada-spec.cc | 32 +- gcc/c-family/c-format.cc | 4 +- gcc/c-family/known-headers.cc | 14 + gcc/c/ChangeLog | 26 + gcc/c/c-parser.cc | 1 + gcc/c/c-typeck.cc | 19 +- gcc/cfgcleanup.cc | 2 +- gcc/cfgrtl.cc | 2 +- gcc/cgraphunit.cc | 2 +- gcc/common/config/i386/cpuinfo.h | 8 +- gcc/common/config/i386/i386-cpuinfo.h | 6 +- gcc/common/config/loongarch/loongarch-common.cc | 3 - gcc/config/aarch64/aarch64-builtins.cc | 71 + gcc/config/aarch64/aarch64-c.cc | 1 + gcc/config/aarch64/aarch64-cores.def | 13 +- gcc/config/aarch64/aarch64-protos.h | 2 +- gcc/config/aarch64/aarch64-sve-builtins.cc | 12 +- gcc/config/aarch64/aarch64-sve.md | 98 +- gcc/config/aarch64/aarch64-tune.md | 2 +- gcc/config/aarch64/aarch64.cc | 67 +- gcc/config/aarch64/aarch64.h | 4 +- gcc/config/aarch64/aarch64.md | 13 +- gcc/config/aarch64/arm_acle.h | 53 + gcc/config/aarch64/iterators.md | 2 + gcc/config/alpha/alpha-protos.h | 2 + gcc/config/alpha/alpha.cc | 69 + gcc/config/alpha/ev4.md | 15 +- gcc/config/arm/arm.cc | 24 +- gcc/config/arm/mve.md | 34 +- gcc/config/arm/vec-common.md | 90 +- gcc/config/darwin-c.cc | 3 +- gcc/config/darwin-driver.cc | 16 +- gcc/config/darwin.h | 17 +- gcc/config/gcn/gcn.cc | 15 +- gcc/config/gcn/mkoffload.cc | 1 + gcc/config/i386/amxtileintrin.h | 6 +- gcc/config/i386/i386-builtin.def | 4 +- gcc/config/i386/i386-options.cc | 32 +- gcc/config/i386/i386.cc | 116 +- gcc/config/i386/i386.md | 25 +- gcc/config/i386/predicates.md | 20 +- gcc/config/i386/sse.md | 17 +- gcc/config/i386/t-i386 | 5 + gcc/config/loongarch/loongarch.cc | 47 +- gcc/config/loongarch/loongarch.h | 17 +- gcc/config/loongarch/loongarch.md | 2 +- gcc/config/riscv/arch-canonicalize | 8 +- gcc/config/riscv/riscv.cc | 18 + gcc/config/riscv/riscv.h | 16 +- gcc/config/riscv/riscv.md | 2 +- gcc/config/rs6000/mma.md | 189 +- gcc/config/rs6000/rs6000-builtin.cc | 20 +- gcc/config/rs6000/rs6000-c.cc | 60 +- gcc/config/rs6000/rs6000-call.cc | 6 + gcc/config/rs6000/rs6000-logue.cc | 2 +- gcc/config/rs6000/rs6000-p8swap.cc | 20 +- gcc/config/rs6000/rs6000.cc | 35 +- gcc/config/rs6000/rs6000.h | 11 +- gcc/config/rs6000/rs6000.md | 21 +- gcc/config/rs6000/rtems.h | 6 +- gcc/config/rs6000/t-rtems | 5 + gcc/config/rs6000/vector.md | 2 +- gcc/config/s390/s390.cc | 47 +- gcc/config/s390/vector.md | 6 + gcc/config/s390/vx-builtins.md | 12 +- gcc/config/sh/sh.cc | 6 + gcc/config/sparc/sparc.cc | 28 +- gcc/config/tilepro/gen-mul-tables.cc | 4 +- gcc/config/xtensa/xtensa.md | 13 +- gcc/cp/ChangeLog | 484 +- gcc/cp/call.cc | 11 +- gcc/cp/class.cc | 13 +- gcc/cp/constexpr.cc | 36 +- gcc/cp/constraint.cc | 22 +- gcc/cp/cp-objcp-common.cc | 2 + gcc/cp/cp-tree.h | 15 +- gcc/cp/decl.cc | 57 +- gcc/cp/decl2.cc | 11 +- gcc/cp/except.cc | 7 +- gcc/cp/expr.cc | 9 +- gcc/cp/init.cc | 7 +- gcc/cp/mapper-client.cc | 1 + gcc/cp/mapper-resolver.cc | 1 + gcc/cp/module.cc | 1 + gcc/cp/name-lookup.cc | 4 + gcc/cp/parser.cc | 161 +- gcc/cp/pt.cc | 398 +- gcc/cp/semantics.cc | 5 + gcc/cp/tree.cc | 30 +- gcc/cp/typeck.cc | 48 +- gcc/cselib.cc | 70 + gcc/cselib.h | 1 + gcc/d/ChangeLog | 147 + gcc/d/d-codegen.cc | 51 +- gcc/d/d-convert.cc | 44 +- gcc/d/d-gimplify.cc | 3 +- gcc/d/d-lang.cc | 20 +- gcc/d/d-target.cc | 2 + gcc/d/d-tree.h | 7 +- gcc/d/decl.cc | 132 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/clone.d | 22 +- gcc/d/dmd/cparse.d | 10 +- gcc/d/dmd/dcast.d | 14 +- gcc/d/dmd/dclass.d | 2 +- gcc/d/dmd/declaration.d | 10 +- gcc/d/dmd/declaration.h | 6 +- gcc/d/dmd/dinterpret.d | 17 +- gcc/d/dmd/dmangle.d | 14 +- gcc/d/dmd/dsymbolsem.d | 23 +- gcc/d/dmd/dtemplate.d | 2 +- gcc/d/dmd/dtoh.d | 19 +- gcc/d/dmd/escape.d | 2 +- gcc/d/dmd/expressionsem.d | 48 +- gcc/d/dmd/func.d | 49 +- gcc/d/dmd/impcnvtab.d | 55 + gcc/d/dmd/initsem.d | 12 + gcc/d/dmd/json.d | 2 +- gcc/d/dmd/mtype.d | 30 +- gcc/d/dmd/objc.d | 6 +- gcc/d/dmd/semantic2.d | 15 +- gcc/d/dmd/semantic3.d | 4 +- gcc/d/dmd/statementsem.d | 16 +- gcc/d/dmd/traits.d | 6 +- gcc/d/dmd/typesem.d | 8 +- gcc/d/expr.cc | 59 +- gcc/d/gdc.texi | 16 +- gcc/d/modules.cc | 20 + gcc/d/toir.cc | 1 + gcc/d/typeinfo.cc | 35 +- gcc/d/types.cc | 10 +- gcc/doc/install.texi | 46 +- gcc/doc/invoke.texi | 5 +- gcc/doc/sourcebuild.texi | 12 + gcc/dse.cc | 17 +- gcc/dwarf2out.cc | 17 + gcc/expmed.cc | 22 +- gcc/expr.cc | 5 +- gcc/flags.h | 4 +- gcc/fold-const.cc | 20 +- gcc/fortran/ChangeLog | 322 +- gcc/fortran/check.cc | 2 + gcc/fortran/decl.cc | 20 + gcc/fortran/expr.cc | 13 +- gcc/fortran/f95-lang.cc | 3 +- gcc/fortran/interface.cc | 7 +- gcc/fortran/libgfortran.h | 20 + gcc/fortran/openmp.cc | 9 +- gcc/fortran/parse.cc | 2 +- gcc/fortran/simplify.cc | 156 +- gcc/fortran/trans-array.cc | 4 +- gcc/fortran/trans-decl.cc | 3 +- gcc/fortran/trans-expr.cc | 123 +- gcc/fortran/trans-intrinsic.cc | 219 + gcc/fortran/trans-types.cc | 15 +- gcc/fortran/trans.h | 3 +- gcc/gimple-array-bounds.cc | 2 +- gcc/gimple-harden-conditionals.cc | 2 + gcc/gimple-isel.cc | 3 +- gcc/gimple-range-fold.cc | 30 +- gcc/gimple-ssa-sprintf.cc | 77 +- gcc/gimple-ssa-store-merging.cc | 2 +- gcc/gimple-ssa-warn-restrict.cc | 22 +- gcc/go/ChangeLog | 8 + gcc/ifcvt.cc | 56 +- gcc/ipa-icf.cc | 7 +- gcc/ipa-prop.cc | 14 +- gcc/jit/ChangeLog | 24 + gcc/jit/jit-playback.cc | 3 +- gcc/jit/jit-recording.cc | 2 +- gcc/jit/libgccjit.cc | 2 +- gcc/jit/libgccjit.h | 4 +- gcc/json.cc | 2 +- gcc/lto-streamer-in.cc | 7 +- gcc/lto-wrapper.cc | 39 +- gcc/lto/ChangeLog | 8 + gcc/match.pd | 31 +- gcc/objc/ChangeLog | 11 +- gcc/objcp/ChangeLog | 8 + gcc/omp-expand.cc | 57 +- gcc/omp-low.cc | 27 +- gcc/omp-oacc-kernels-decompose.cc | 6 + gcc/opts.cc | 96 +- gcc/po/ChangeLog | 46 +- gcc/po/be.po | 11256 ++++++++-------- gcc/po/da.po | 11270 ++++++++-------- gcc/po/de.po | 11288 ++++++++-------- gcc/po/el.po | 11252 ++++++++-------- gcc/po/es.po | 11273 ++++++++-------- gcc/po/fi.po | 11261 ++++++++-------- gcc/po/fr.po | 11282 ++++++++-------- gcc/po/gcc.pot | 9149 +++++++------ gcc/po/hr.po | 11262 ++++++++-------- gcc/po/id.po | 11268 ++++++++-------- gcc/po/ja.po | 11263 ++++++++-------- gcc/po/nl.po | 11258 ++++++++-------- gcc/po/ru.po | 11272 ++++++++-------- gcc/po/sr.po | 11273 ++++++++-------- gcc/po/sv.po | 12746 +++++++++---------- gcc/po/tr.po | 11270 ++++++++-------- gcc/po/uk.po | 11369 +++++++++-------- gcc/po/vi.po | 11263 ++++++++-------- gcc/po/zh_CN.po | 11270 ++++++++-------- gcc/po/zh_TW.po | 11267 ++++++++-------- gcc/pointer-query.cc | 14 +- gcc/postreload.cc | 15 +- gcc/profile.cc | 12 +- gcc/regrename.cc | 3 +- gcc/system.h | 4 + gcc/testsuite/ChangeLog | 1616 ++- gcc/testsuite/c-c++-common/Waddress-7.c | 22 + gcc/testsuite/c-c++-common/cpp/va-opt-10.c | 18 + .../goacc/kernels-decompose-pr100400-1-2.c | 12 +- gcc/testsuite/c-c++-common/goacc/reduction-7.c | 22 + gcc/testsuite/c-c++-common/goacc/reduction-8.c | 12 + gcc/testsuite/c-c++-common/gomp/pragma-3.c | 5 +- gcc/testsuite/c-c++-common/gomp/pragma-5.c | 5 +- gcc/testsuite/c-c++-common/pr105998.c | 12 + gcc/testsuite/c-c++-common/pr97498.c | 4 + gcc/testsuite/g++.dg/cpp0x/auto57.C | 15 + gcc/testsuite/g++.dg/cpp0x/constexpr-union7.C | 17 + gcc/testsuite/g++.dg/cpp0x/constexpr-union7a.C | 15 + gcc/testsuite/g++.dg/cpp0x/decltype82.C | 10 + gcc/testsuite/g++.dg/cpp0x/decltype82a.C | 11 + gcc/testsuite/g++.dg/cpp0x/initlist-array16.C | 11 + gcc/testsuite/g++.dg/cpp0x/initlist-array17.C | 37 + gcc/testsuite/g++.dg/cpp0x/initlist-defarg3.C | 13 + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this22.C | 20 + gcc/testsuite/g++.dg/cpp0x/range-for38.C | 16 + gcc/testsuite/g++.dg/cpp0x/trailing16.C | 17 + gcc/testsuite/g++.dg/cpp1y/auto-fn62.C | 14 + gcc/testsuite/g++.dg/cpp1y/auto-fn63.C | 12 + gcc/testsuite/g++.dg/cpp1y/auto-fn64.C | 12 + gcc/testsuite/g++.dg/cpp1y/auto-fn65.C | 10 + gcc/testsuite/g++.dg/cpp1z/constexpr-aggr-base1.C | 27 + gcc/testsuite/g++.dg/cpp1z/constexpr-array2.C | 12 + gcc/testsuite/g++.dg/cpp1z/constexpr-if37.C | 21 + gcc/testsuite/g++.dg/cpp1z/constexpr-lambda27.C | 26 + gcc/testsuite/g++.dg/cpp1z/nontype-auto21.C | 20 + .../g++.dg/cpp2a/class-deduction-alias13.C | 24 + gcc/testsuite/g++.dg/cpp2a/concepts-lambda20.C | 17 + gcc/testsuite/g++.dg/cpp2a/concepts-memtmpl6.C | 34 + .../g++.dg/cpp2a/concepts-partial-spec12.C | 10 + .../g++.dg/cpp2a/concepts-partial-spec12a.C | 14 + .../g++.dg/cpp2a/concepts-partial-spec13.C | 16 + gcc/testsuite/g++.dg/cpp2a/concepts-spec2.C | 16 + .../g++.dg/cpp2a/concepts-template-parm11.C | 20 + gcc/testsuite/g++.dg/cpp2a/cond-triv3.C | 44 + gcc/testsuite/g++.dg/cpp2a/consteval31.C | 26 + gcc/testsuite/g++.dg/cpp2a/constinit17.C | 24 + gcc/testsuite/g++.dg/cpp2a/desig26.C | 22 + gcc/testsuite/g++.dg/cpp2a/lambda-generic10.C | 14 + gcc/testsuite/g++.dg/cpp2a/lambda-requires1.C | 4 + gcc/testsuite/g++.dg/cpp2a/spaceship-eq14.C | 17 + gcc/testsuite/g++.dg/cpp2a/volatile1.C | 11 +- gcc/testsuite/g++.dg/cpp2a/volatile3.C | 11 +- gcc/testsuite/g++.dg/cpp2a/volatile5.C | 8 +- gcc/testsuite/g++.dg/debug/pr106261.C | 36 + gcc/testsuite/g++.dg/ext/builtin-shufflevector-4.C | 18 + gcc/testsuite/g++.dg/ext/has-builtin-1.C | 127 + gcc/testsuite/g++.dg/gomp/pr106492.C | 49 + gcc/testsuite/g++.dg/modules/tpl-friend-2_a.C | 2 +- gcc/testsuite/g++.dg/opt/pr106860.C | 23 + gcc/testsuite/g++.dg/pr105871.C | 12 + gcc/testsuite/g++.dg/spellcheck-stdlib.C | 29 + gcc/testsuite/g++.dg/template/fn-ptr3.C | 28 + gcc/testsuite/g++.dg/template/friend74.C | 8 + gcc/testsuite/g++.dg/template/non-dependent23.C | 25 + gcc/testsuite/g++.dg/template/non-dependent24.C | 19 + gcc/testsuite/g++.dg/template/redecl5.C | 5 + gcc/testsuite/g++.dg/torture/pr105577.C | 156 + gcc/testsuite/g++.dg/torture/pr106131.C | 34 + gcc/testsuite/g++.dg/torture/pr106922.C | 48 + gcc/testsuite/g++.dg/tree-ssa/pr106922.C | 90 + gcc/testsuite/g++.dg/ubsan/pr105729.C | 29 + gcc/testsuite/g++.dg/uninit-pr105937.C | 235 + gcc/testsuite/g++.dg/vect/pr106841.cc | 52 + gcc/testsuite/g++.dg/warn/Warray-bounds-27.C | 16 + gcc/testsuite/g++.dg/warn/Wclass-memaccess-7.C | 13 + gcc/testsuite/g++.dg/warn/Wformat-char8_t-1.C | 10 + gcc/testsuite/g++.dg/warn/Wmismatched-tags-10.C | 10 + gcc/testsuite/g++.dg/warn/uninit-pr105562.C | 10 + gcc/testsuite/g++.target/i386/pr105953.C | 4 + gcc/testsuite/g++.target/loongarch/loongarch.exp | 34 + gcc/testsuite/g++.target/loongarch/pr106096.C | 75 + gcc/testsuite/g++.target/powerpc/pr101322.C | 17 + gcc/testsuite/g++.target/powerpc/pr105485.C | 9 + gcc/testsuite/gcc.c-torture/compile/inline-asm-1.c | 14 + gcc/testsuite/gcc.c-torture/compile/pr106030.c | 16 + gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 1 + gcc/testsuite/gcc.c-torture/execute/mul-sext.c | 20 + gcc/testsuite/gcc.c-torture/execute/pr106032.c | 21 + gcc/testsuite/gcc.dg/Wrestrict-24.c | 35 + gcc/testsuite/gcc.dg/Wrestrict-25.c | 165 + gcc/testsuite/gcc.dg/Wrestrict-26.c | 114 + gcc/testsuite/gcc.dg/analyzer/taint-divisor-1.c | 66 + .../gcc.dg/analyzer/torture/uninit-pr106204.c | 13 + gcc/testsuite/gcc.dg/analyzer/uninit-1.c | 19 + gcc/testsuite/gcc.dg/analyzer/uninit-pr106204.c | 17 + gcc/testsuite/gcc.dg/asan/pr105714.c | 33 + .../gcc.dg/builtin-dynamic-object-size-0.c | 18 + gcc/testsuite/gcc.dg/ipa/pr105639.c | 16 + gcc/testsuite/gcc.dg/ipa/pr105739.c | 30 + gcc/testsuite/gcc.dg/lto/pr105459_0.c | 35 + gcc/testsuite/gcc.dg/pr102892-1.c | 2 +- gcc/testsuite/gcc.dg/pr105455.c | 17 + gcc/testsuite/gcc.dg/pr105458.c | 20 + gcc/testsuite/gcc.dg/pr105528.c | 23 + gcc/testsuite/gcc.dg/pr105635.c | 11 + gcc/testsuite/gcc.dg/pr105969.c | 13 + gcc/testsuite/gcc.dg/pr106027.c | 8 + gcc/testsuite/gcc.dg/pr106063.c | 9 + gcc/testsuite/gcc.dg/pr106114.c | 14 + gcc/testsuite/gcc.dg/pr106189.c | 5 + gcc/testsuite/gcc.dg/pr107107.c | 25 + gcc/testsuite/gcc.dg/pr90838.c | 25 + gcc/testsuite/gcc.dg/pragma-message.c | 8 +- gcc/testsuite/gcc.dg/torture/pr105537.c | 34 + gcc/testsuite/gcc.dg/torture/pr105598.c | 32 + gcc/testsuite/gcc.dg/torture/pr105665.c | 20 + gcc/testsuite/gcc.dg/torture/pr105786.c | 13 + gcc/testsuite/gcc.dg/torture/pr106112.c | 16 + gcc/testsuite/gcc.dg/torture/pr106513.c | 26 + gcc/testsuite/gcc.dg/torture/pr106590.c | 75 + gcc/testsuite/gcc.dg/torture/pr106809.c | 28 + gcc/testsuite/gcc.dg/torture/pr106892.c | 30 + gcc/testsuite/gcc.dg/torture/pr106971.c | 12 + .../gcc.dg/tree-ssa/alias-access-path-13.c | 36 + gcc/testsuite/gcc.dg/tree-ssa/pr105860.c | 63 + gcc/testsuite/gcc.dg/tree-ssa/pr107323.c | 28 + gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-100.c | 25 + gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c | 21 + gcc/testsuite/gcc.dg/vect/pr107160.c | 41 + gcc/testsuite/gcc.dg/vect/pr107212-1.c | 27 + gcc/testsuite/gcc.dg/vect/pr107212-2.c | 23 + .../gcc.target/aarch64/acle/data-intrinsics.c | 468 + gcc/testsuite/gcc.target/aarch64/pr90838.c | 64 - .../gcc.target/aarch64/pragma_cpp_predefs_1.c | 20 + .../gcc.target/aarch64/sve/acle/general/brka_1.c | 5 +- .../gcc.target/aarch64/sve/acle/general/brkb_1.c | 5 +- .../gcc.target/aarch64/sve/acle/general/brkn_1.c | 5 +- .../gcc.target/aarch64/sve/acle/general/brkn_2.c | 23 + .../gcc.target/aarch64/sve/cost_model_14.c | 13 + gcc/testsuite/gcc.target/aarch64/sve/pr106524.c | 11 + .../gcc.target/aarch64/sync-comp-swap-ool.c | 6 + .../gcc.target/aarch64/sync-op-acquire-ool.c | 6 + .../gcc.target/aarch64/sync-op-full-ool.c | 9 + gcc/testsuite/gcc.target/aarch64/target_attr_20.c | 2 +- gcc/testsuite/gcc.target/aarch64/target_attr_21.c | 2 +- gcc/testsuite/gcc.target/alpha/pr105209.c | 26 + gcc/testsuite/gcc.target/i386/amx-check.h | 30 + gcc/testsuite/gcc.target/i386/iamcu/asm-support.S | 2 + .../gcc.target/i386/keylocker-encodekey128.c | 1 - .../gcc.target/i386/keylocker-encodekey256.c | 1 - gcc/testsuite/gcc.target/i386/pr105711.c | 12 + gcc/testsuite/gcc.target/i386/pr105951-1.c | 5 + gcc/testsuite/gcc.target/i386/pr105951-2.c | 5 + gcc/testsuite/gcc.target/i386/pr105960.c | 19 + gcc/testsuite/gcc.target/i386/pr105965.c | 12 + gcc/testsuite/gcc.target/i386/pr105970.c | 6 + gcc/testsuite/gcc.target/i386/pr106122.c | 15 + gcc/testsuite/gcc.target/i386/pr106322.c | 51 + gcc/testsuite/gcc.target/i386/pr106704.c | 16 + gcc/testsuite/gcc.target/i386/pr95863-2.c | 27 - .../gcc.target/i386/zero-scratch-regs-1.c | 2 +- .../gcc.target/i386/zero-scratch-regs-10.c | 16 +- .../gcc.target/i386/zero-scratch-regs-13.c | 37 +- .../gcc.target/i386/zero-scratch-regs-14.c | 16 +- .../gcc.target/i386/zero-scratch-regs-15.c | 2 +- .../gcc.target/i386/zero-scratch-regs-16.c | 2 +- .../gcc.target/i386/zero-scratch-regs-17.c | 2 +- .../gcc.target/i386/zero-scratch-regs-18.c | 4 +- .../gcc.target/i386/zero-scratch-regs-19.c | 2 +- .../gcc.target/i386/zero-scratch-regs-2.c | 16 +- .../gcc.target/i386/zero-scratch-regs-20.c | 38 +- .../gcc.target/i386/zero-scratch-regs-21.c | 4 +- .../gcc.target/i386/zero-scratch-regs-22.c | 16 +- .../gcc.target/i386/zero-scratch-regs-23.c | 30 +- .../gcc.target/i386/zero-scratch-regs-26.c | 26 +- .../gcc.target/i386/zero-scratch-regs-27.c | 10 +- .../gcc.target/i386/zero-scratch-regs-28.c | 12 +- .../gcc.target/i386/zero-scratch-regs-3.c | 2 +- .../gcc.target/i386/zero-scratch-regs-31.c | 4 +- .../gcc.target/i386/zero-scratch-regs-4.c | 2 +- .../gcc.target/i386/zero-scratch-regs-5.c | 16 +- .../gcc.target/i386/zero-scratch-regs-6.c | 2 +- .../gcc.target/i386/zero-scratch-regs-7.c | 2 +- .../gcc.target/i386/zero-scratch-regs-8.c | 14 +- .../gcc.target/i386/zero-scratch-regs-9.c | 2 +- gcc/testsuite/gcc.target/loongarch/mulw_d_w.c | 10 + gcc/testsuite/gcc.target/loongarch/pr106459.c | 13 + gcc/testsuite/gcc.target/loongarch/prolog-opt.c | 15 + gcc/testsuite/gcc.target/powerpc/pr100645.c | 13 + gcc/testsuite/gcc.target/powerpc/pr102059-4.c | 23 + gcc/testsuite/gcc.target/powerpc/pr103353.c | 22 + gcc/testsuite/gcc.target/powerpc/pr104482.c | 16 + gcc/testsuite/gcc.target/powerpc/pr105041.c | 22 + gcc/testsuite/gcc.target/powerpc/pr105991.c | 12 + gcc/testsuite/gcc.target/powerpc/pr106016.c | 14 + gcc/testsuite/gcc.target/powerpc/pr106017.c | 19 + gcc/testsuite/gcc.target/powerpc/pr106091.c | 15 + gcc/testsuite/gcc.target/powerpc/pr106322.c | 50 + gcc/testsuite/gcc.target/powerpc/pr96072.c | 14 + gcc/testsuite/gcc.target/riscv/pr105666.c | 56 + gcc/testsuite/gcc.target/s390/pr106355-1.c | 42 + gcc/testsuite/gcc.target/s390/pr106355-2.c | 8 + gcc/testsuite/gcc.target/s390/pr106355-3.c | 8 + gcc/testsuite/gcc.target/s390/pr106355.h | 18 + gcc/testsuite/gcc.target/sparc/20220510-1.c | 31 + gcc/testsuite/gcc.target/x86_64/abi/asm-support.S | 2 + .../gcc.target/x86_64/abi/avx/asm-support.S | 2 + .../gcc.target/x86_64/abi/avx512f/asm-support.S | 2 + .../gcc.target/x86_64/abi/avx512fp16/asm-support.S | 2 + .../x86_64/abi/avx512fp16/m256h/asm-support.S | 2 + .../x86_64/abi/avx512fp16/m512h/asm-support.S | 2 + .../gcc.target/x86_64/abi/ms-sysv/do-test.S | 2 + gcc/testsuite/gdc.dg/Wpadded.d | 4 + gcc/testsuite/gdc.dg/imports/pr106555.d | 10 + gcc/testsuite/gdc.dg/pr106139a.d | 36 + gcc/testsuite/gdc.dg/pr106139b.d | 36 + gcc/testsuite/gdc.dg/pr106139c.d | 27 + gcc/testsuite/gdc.dg/pr106139d.d | 27 + gcc/testsuite/gdc.dg/pr106555.d | 4 + gcc/testsuite/gdc.dg/rtti1.d | 18 + .../gdc.dg/torture/imports/pr106563math.d | 12 + .../gdc.dg/torture/imports/pr106563regex.d | 7 + gcc/testsuite/gdc.dg/torture/imports/pr106563uni.d | 15 + gcc/testsuite/gdc.dg/torture/pr106563.d | 16 + gcc/testsuite/gdc.dg/torture/pr106623.d | 28 + gcc/testsuite/gdc.dg/torture/torture.exp | 9 + .../gdc.test/compilable/backendfloatoptim.d | 10 + gcc/testsuite/gdc.test/compilable/noreturn1.d | 28 + gcc/testsuite/gdc.test/compilable/test23082.d | 17 + gcc/testsuite/gdc.test/compilable/test23087.d | 9 + gcc/testsuite/gdc.test/compilable/test23089.d | 7 + gcc/testsuite/gdc.test/compilable/test23097.d | 33 + gcc/testsuite/gdc.test/compilable/test23166.d | 22 + gcc/testsuite/gdc.test/compilable/test23172.d | 33 + gcc/testsuite/gdc.test/compilable/test23258.d | 21 + .../extra-files/test23109/object.d | 17 + .../gdc.test/fail_compilation/fail12604.d | 4 +- .../gdc.test/fail_compilation/fail23108a.d | 16 + .../gdc.test/fail_compilation/fail23108b.d | 18 + .../gdc.test/fail_compilation/fail23109.d | 12 + .../gdc.test/fail_compilation/fail23181.d | 16 + gcc/testsuite/gdc.test/fail_compilation/fail3703.d | 4 +- gcc/testsuite/gdc.test/fail_compilation/fail6889.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/fail7848.d | 8 +- .../gdc.test/fail_compilation/fail_scope.d | 30 +- gcc/testsuite/gdc.test/fail_compilation/ice23097.d | 28 + .../gdc.test/fail_compilation/imports/test23109a.d | 10 + .../gdc.test/fail_compilation/imports/test23109b.d | 10 + .../gdc.test/fail_compilation/imports/test23109c.d | 3 + .../gdc.test/fail_compilation/test21443.d | 21 + .../gdc.test/fail_compilation/test23170.d | 12 + gcc/testsuite/gdc.test/fail_compilation/test9150.d | 2 +- gcc/testsuite/gdc.test/runnable/noreturn1.d | 32 + gcc/testsuite/gdc.test/runnable/test20734.d | 35 + gcc/testsuite/gdc.test/runnable/test23083.d | 16 + gcc/testsuite/gdc.test/runnable/test23181.d | 27 + gcc/testsuite/gdc.test/runnable/test23234.d | 22 + gcc/testsuite/gdc.test/runnable/warning1.d | 9 - gcc/testsuite/gfortran.dg/PR100029.f90 | 22 + gcc/testsuite/gfortran.dg/PR100040.f90 | 36 + gcc/testsuite/gfortran.dg/PR100103.f90 | 76 + gcc/testsuite/gfortran.dg/PR100132.f90 | 75 + gcc/testsuite/gfortran.dg/PR100136.f90 | 39 + gcc/testsuite/gfortran.dg/PR100245.f90 | 28 + gcc/testsuite/gfortran.dg/associate_26a.f90 | 15 + gcc/testsuite/gfortran.dg/class_58.f90 | 2 +- gcc/testsuite/gfortran.dg/class_73.f90 | 17 + gcc/testsuite/gfortran.dg/extends_type_of_4.f90 | 20 + .../gfortran.dg/gomp/affinity-clause-7.f90 | 19 + gcc/testsuite/gfortran.dg/gomp/declare-simd-6.f90 | 42 + .../gomp/strictly-structured-block-4.f90 | 21 + gcc/testsuite/gfortran.dg/index_6.f90 | 31 + gcc/testsuite/gfortran.dg/intent_optimize_4.f90 | 43 + gcc/testsuite/gfortran.dg/intent_out_15.f90 | 27 + gcc/testsuite/gfortran.dg/pr103504.f90 | 28 + gcc/testsuite/gfortran.dg/pr103694.f90 | 11 + gcc/testsuite/gfortran.dg/pr104313.f | 11 + gcc/testsuite/gfortran.dg/pr105230.f90 | 8 + gcc/testsuite/gfortran.dg/pr105633.f90 | 8 + gcc/testsuite/gfortran.dg/pr105954.f90 | 26 + gcc/testsuite/gfortran.dg/pr106331.f90 | 7 + gcc/testsuite/gfortran.dg/pr106857.f90 | 12 + gcc/testsuite/gfortran.dg/pr106934.f90 | 7 + gcc/testsuite/gfortran.dg/pr106985.f90 | 8 + gcc/testsuite/gfortran.dg/pr106986.f90 | 8 + gcc/testsuite/gfortran.dg/pr107054.f90 | 13 + gcc/testsuite/gfortran.dg/unpack_vector_1.f90 | 12 + gcc/testsuite/gfortran.dg/vect/pr107254.f90 | 49 + gcc/testsuite/gnat.dg/specs/coverage1.ads | 10 + gcc/testsuite/gnat.dg/specs/variant_part.ads | 1 + gcc/testsuite/gnat.dg/specs/weak1.ads | 2 + gcc/testsuite/gnat.dg/sso17.adb | 34 + gcc/testsuite/lib/target-supports.exp | 63 + gcc/toplev.cc | 24 - gcc/tree-loop-distribution.cc | 51 +- gcc/tree-object-size.cc | 20 +- gcc/tree-predcom.cc | 18 +- gcc/tree-sra.cc | 60 +- gcc/tree-ssa-alias.cc | 18 +- gcc/tree-ssa-ccp.cc | 19 +- gcc/tree-ssa-dce.cc | 7 + gcc/tree-ssa-loop-ivopts.cc | 125 +- gcc/tree-ssa-loop-split.cc | 16 +- gcc/tree-ssa-pre.cc | 18 +- gcc/tree-ssa-sccvn.cc | 230 +- gcc/tree-ssa-sccvn.h | 2 +- gcc/tree-ssa-sink.cc | 3 + gcc/tree-ssa-uninit.cc | 17 +- gcc/tree-ssa.cc | 6 + gcc/tree-vect-loop.cc | 32 +- gcc/tree-vect-slp-patterns.cc | 4 +- gcc/tree-vect-slp.cc | 46 +- gcc/tree-vect-stmts.cc | 8 + gcc/value-relation.cc | 8 +- gcc/varasm.cc | 10 +- gcc/wide-int.cc | 13 +- gnattools/ChangeLog | 8 + gotools/ChangeLog | 8 + include/ChangeLog | 9 +- intl/ChangeLog | 8 + libada/ChangeLog | 8 + libatomic/ChangeLog | 8 + libbacktrace/ChangeLog | 8 + libcc1/ChangeLog | 17 + libcc1/libcc1plugin.cc | 1 + libcc1/libcp1plugin.cc | 1 + libcody/ChangeLog | 8 + libcpp/ChangeLog | 27 + libcpp/directives.cc | 1 + libcpp/expr.cc | 4 + libcpp/po/ChangeLog | 12 + libcpp/po/ro.po | 1140 ++ libdecnumber/ChangeLog | 8 + libffi/ChangeLog | 8 + libgcc/ChangeLog | 75 +- libgcc/config/aarch64/lse.S | 42 +- libgcc/config/aarch64/t-lse | 8 +- libgcc/config/avr/libf7/ChangeLog | 17 + libgcc/config/avr/libf7/libf7-asm.sx | 50 - libgcc/config/libbid/ChangeLog | 8 + libgcc/libgcov.h | 2 +- libgfortran/ChangeLog | 31 + libgfortran/ieee/ieee_helper.c | 20 - libgfortran/io/transfer.c | 24 + libgo/Makefile.am | 1 + libgo/Makefile.in | 1 + libgo/go/runtime/extern.go | 10 - libgo/runtime/go-callers.c | 2 +- libgo/sysinfo.c | 3 - libgomp/ChangeLog | 94 +- libgomp/Makefile.in | 2 +- libgomp/acinclude.m4 | 2 +- libgomp/alloc.c | 8 +- libgomp/configure | 2 +- libgomp/libgomp.h | 1 - libgomp/libgomp.texi | 3 +- libgomp/testsuite/libgomp.c-c++-common/pr106449.c | 62 + libgomp/testsuite/libgomp.c/linear-2.c | 254 + libgomp/testsuite/libgomp.c/target-31.c | 2 +- .../libgomp.oacc-c-c++-common/private-big-1.c | 100 + .../libgomp.oacc-c-c++-common/reduction-5.c | 4 +- .../libgomp.oacc-c-c++-common/vred2d-128.c | 18 +- libiberty/ChangeLog | 8 + libitm/ChangeLog | 8 + libobjc/ChangeLog | 8 + liboffloadmic/ChangeLog | 8 + libphobos/ChangeLog | 22 + libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/core/simd.d | 2 + libphobos/src/MERGE | 2 +- libphobos/src/std/algorithm/comparison.d | 2 +- libphobos/src/std/typecons.d | 10 +- libquadmath/ChangeLog | 8 + libsanitizer/ChangeLog | 19 +- .../sanitizer_platform_limits_posix.cpp | 10 +- libsanitizer/tsan/tsan_rtl_s390x.S | 2 + libssp/ChangeLog | 8 + libstdc++-v3/ChangeLog | 764 +- libstdc++-v3/acinclude.m4 | 12 + libstdc++-v3/config.h.in | 3 + libstdc++-v3/configure | 55 + libstdc++-v3/doc/html/bk02.html | 2 +- libstdc++-v3/doc/html/index.html | 4 +- libstdc++-v3/doc/html/manual/abi.html | 2 +- libstdc++-v3/doc/html/manual/api.html | 5 + libstdc++-v3/doc/html/manual/appendix.html | 2 +- libstdc++-v3/doc/html/manual/appendix_porting.html | 2 +- libstdc++-v3/doc/html/manual/bugs.html | 6 + libstdc++-v3/doc/html/manual/extensions.html | 9 +- libstdc++-v3/doc/html/manual/index.html | 6 +- libstdc++-v3/doc/html/manual/intro.html | 2 +- libstdc++-v3/doc/html/manual/setup.html | 2 +- libstdc++-v3/doc/html/manual/status.html | 255 +- libstdc++-v3/doc/html/manual/using.html | 12 +- libstdc++-v3/doc/html/manual/using_macros.html | 5 +- libstdc++-v3/doc/xml/manual/abi.xml | 1 + libstdc++-v3/doc/xml/manual/evolution.xml | 13 + libstdc++-v3/doc/xml/manual/intro.xml | 19 +- libstdc++-v3/doc/xml/manual/prerequisites.xml | 3 +- libstdc++-v3/doc/xml/manual/status_cxx1998.xml | 4 +- libstdc++-v3/doc/xml/manual/status_cxx2011.xml | 4 +- 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 | 20 +- libstdc++-v3/doc/xml/manual/status_cxx2023.xml | 573 + libstdc++-v3/doc/xml/manual/status_cxxtr1.xml | 4 +- libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml | 4 +- libstdc++-v3/doc/xml/manual/using.xml | 24 +- libstdc++-v3/include/Makefile.am | 2 +- libstdc++-v3/include/Makefile.in | 2 +- libstdc++-v3/include/bits/allocator.h | 7 +- libstdc++-v3/include/bits/atomic_wait.h | 17 +- libstdc++-v3/include/bits/basic_string.h | 4 +- libstdc++-v3/include/bits/cow_string.h | 2 + libstdc++-v3/include/bits/fs_ops.h | 79 + libstdc++-v3/include/bits/hashtable.h | 2 + libstdc++-v3/include/bits/hashtable_policy.h | 2 + libstdc++-v3/include/bits/ios_base.h | 2 +- libstdc++-v3/include/bits/mofunc_impl.h | 2 +- libstdc++-v3/include/bits/new_allocator.h | 6 +- libstdc++-v3/include/bits/random.tcc | 2 +- libstdc++-v3/include/bits/regex_compiler.tcc | 10 +- libstdc++-v3/include/bits/std_thread.h | 8 +- libstdc++-v3/include/bits/stl_heap.h | 1 + libstdc++-v3/include/bits/stl_iterator.h | 142 +- .../include/bits/stl_iterator_base_funcs.h | 1 + libstdc++-v3/include/bits/utility.h | 3 +- libstdc++-v3/include/experimental/bits/fs_ops.h | 71 + libstdc++-v3/include/experimental/bits/fs_path.h | 12 +- libstdc++-v3/include/experimental/bits/simd.h | 13 +- libstdc++-v3/include/experimental/numeric | 46 +- libstdc++-v3/include/ext/malloc_allocator.h | 6 +- .../resize_policy/hash_prime_size_policy_imp.hpp | 18 +- libstdc++-v3/include/ext/random | 2 + libstdc++-v3/include/std/atomic | 5 +- libstdc++-v3/include/std/charconv | 2 +- libstdc++-v3/include/std/expected | 32 +- libstdc++-v3/include/std/functional | 32 +- libstdc++-v3/include/std/future | 18 +- libstdc++-v3/include/std/iosfwd | 41 + libstdc++-v3/include/std/istream | 31 +- libstdc++-v3/include/std/memory_resource | 16 + libstdc++-v3/include/std/numeric | 75 +- libstdc++-v3/include/std/spanstream | 8 +- libstdc++-v3/include/std/sstream | 1 + libstdc++-v3/include/std/stacktrace | 8 +- libstdc++-v3/include/std/string_view | 2 +- libstdc++-v3/include/std/syncstream | 6 +- libstdc++-v3/include/std/variant | 7 +- libstdc++-v3/include/std/version | 2 +- libstdc++-v3/libsupc++/eh_globals.cc | 58 +- libstdc++-v3/python/libstdcxx/v6/printers.py | 22 +- libstdc++-v3/src/c++17/fs_dir.cc | 29 +- libstdc++-v3/src/filesystem/dir-common.h | 70 +- libstdc++-v3/src/filesystem/dir.cc | 19 +- libstdc++-v3/src/filesystem/ops.cc | 56 +- libstdc++-v3/testsuite/20_util/allocator/105975.cc | 18 + libstdc++-v3/testsuite/20_util/bind/cv_quals.cc | 25 +- libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc | 12 +- .../testsuite/20_util/expected/synopsis.cc | 1 + libstdc++-v3/testsuite/20_util/from_chars/4.cc | 2 + .../20_util/polymorphic_allocator/lwg3683.cc | 13 + libstdc++-v3/testsuite/20_util/variant/visit_r.cc | 8 + .../21_strings/basic_string/cons/char/105995.cc | 11 + .../basic_string_view/cons/char/range_c++20.cc | 28 +- .../basic_string_view/cons/wchar_t/range_c++20.cc | 30 +- .../testsuite/24_iterators/common_iterator/1.cc | 23 +- .../24_iterators/common_iterator/100823.cc | 43 + .../24_iterators/counted_iterator/lwg3643.cc | 27 + libstdc++-v3/testsuite/26_numerics/gcd/105844.cc | 21 + libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc | 10 +- libstdc++-v3/testsuite/26_numerics/lcm/105844.cc | 22 + libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc | 10 +- .../bernoulli_distribution/operators/values.cc | 14 +- .../binomial_distribution/operators/values.cc | 12 +- .../discrete_distribution/operators/values.cc | 8 + .../geometric_distribution/operators/values.cc | 14 +- .../operators/values.cc | 20 +- .../normal_distribution/operators/serialize.cc | 36 +- .../poisson_distribution/operators/values.cc | 15 +- .../26_numerics/random/random_device/entropy.cc | 3 +- .../uniform_int_distribution/operators/values.cc | 14 +- .../extractors_character/char/pr106248.cc | 40 + .../extractors_character/wchar_t/pr106248.cc | 40 + .../27_io/basic_ofstream/open/char/noreplace.cc | 4 +- .../27_io/basic_ofstream/open/wchar_t/noreplace.cc | 4 +- .../27_io/filesystem/iterators/error_reporting.cc | 44 +- .../27_io/filesystem/operations/absolute.cc | 2 +- .../testsuite/27_io/filesystem/operations/all.cc | 8 +- .../27_io/filesystem/operations/canonical.cc | 4 +- .../27_io/filesystem/operations/exists.cc | 2 +- .../27_io/filesystem/operations/is_empty.cc | 4 +- .../27_io/filesystem/operations/read_symlink.cc | 2 +- .../27_io/filesystem/operations/status.cc | 2 +- .../27_io/filesystem/operations/symlink_status.cc | 2 +- .../filesystem/operations/temp_directory_path.cc | 4 +- .../testsuite/27_io/headers/iosfwd/synopsis.cc | 133 + .../testsuite/27_io/headers/iosfwd/types.cc | 264 + .../testsuite/28_regex/basic_regex/106607.cc | 25 + .../testsuite/29_atomics/atomic/lwg3220.cc | 13 + libstdc++-v3/testsuite/30_threads/async/106695.cc | 29 + libstdc++-v3/testsuite/30_threads/thread/106695.cc | 21 + .../filesystem/iterators/error_reporting.cc | 9 +- .../filesystem/operations/canonical.cc | 6 +- .../experimental/filesystem/operations/exists.cc | 2 +- .../experimental/filesystem/operations/is_empty.cc | 4 +- .../filesystem/operations/read_symlink.cc | 2 +- .../filesystem/operations/temp_directory_path.cc | 10 +- libstdc++-v3/testsuite/std/ranges/adaptors/join.cc | 13 + libvtv/ChangeLog | 8 + lto-plugin/ChangeLog | 13 +- maintainer-scripts/ChangeLog | 9 +- zlib/ChangeLog | 8 + 747 files changed, 131972 insertions(+), 116003 deletions(-) diff --cc gcc/cp/cp-tree.h index 663fe7a20fc,72f4398a8f9..0bb2dbc6f73 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@@ -7298,8 -7315,9 +7301,9 @@@ extern tree lookup_template_class (tre int, tsubst_flags_t); extern tree lookup_template_function (tree, tree); extern tree lookup_template_variable (tree, tree); -extern int uses_template_parms (tree); +extern bool uses_template_parms (tree); extern bool uses_template_parms_level (tree, int); + extern bool uses_outer_template_parms_in_constraints (tree); extern bool in_template_function (void); extern bool need_generic_capture (void); extern tree instantiate_class_template (tree); diff --cc gcc/cp/decl.cc index 0fa758ff214,cd1522f9a9f..50d023cdbc3 --- a/gcc/cp/decl.cc +++ b/gcc/cp/decl.cc @@@ -8104,9 -8137,12 +8138,12 @@@ cp_finish_decl (tree decl, tree init, b d_init = build_x_compound_expr_from_list (d_init, ELK_INIT, tf_warning_or_error); d_init = resolve_nondeduced_context (d_init, tf_warning_or_error); + /* Force auto deduction now. Use tf_none to avoid redundant warnings + on deprecated-14.C. */ + mark_single_function (d_init, tf_none); } enum auto_deduction_context adc = adc_variable_type; - if (VAR_P (decl) && DECL_DECOMPOSITION_P (decl)) + if (DECL_DECOMPOSITION_P (decl)) adc = adc_decomp_type; tree outer_targs = NULL_TREE; if (PLACEHOLDER_TYPE_CONSTRAINTS_INFO (auto_node)