https://gcc.gnu.org/g:b71fc8d1382ba569126b3a905cea7927a37e98ff

commit b71fc8d1382ba569126b3a905cea7927a37e98ff
Merge: 8678fc697046 323d010fa5d4
Author: Tobias Burnus <tbur...@baylibre.com>
Date:   Mon Jul 22 12:08:44 2024 +0200

    Merge remote-tracking branch 'origin/releases/gcc-14' into devel/omp/gcc-14
    
    Merge up to commit 323d010fa5d (22nd July 2024)

Diff:

 contrib/ChangeLog                                  |     7 +
 gcc/ChangeLog                                      |  1351 ++
 gcc/DATESTAMP                                      |     2 +-
 gcc/ada/ChangeLog                                  |    20 +
 gcc/ada/Makefile.rtl                               |    13 +-
 gcc/ada/exp_ch6.adb                                |    11 +-
 gcc/ada/exp_util.adb                               |     6 +
 gcc/ada/sem_ch6.adb                                |    12 +-
 gcc/analyzer/ChangeLog                             |    22 +
 gcc/analyzer/access-diagram.cc                     |     3 +-
 gcc/analyzer/diagnostic-manager.cc                 |    18 +-
 gcc/analyzer/infinite-loop.cc                      |     2 +-
 gcc/analyzer/infinite-recursion.cc                 |     2 +-
 gcc/analyzer/varargs.cc                            |     2 +-
 gcc/attribs.cc                                     |    20 +-
 gcc/builtins.cc                                    |    22 +-
 gcc/c-family/ChangeLog                             |    43 +
 gcc/c-family/c-common.cc                           |    18 +-
 gcc/c-family/c-opts.cc                             |     2 +-
 gcc/c-family/c-warn.cc                             |    13 +-
 gcc/c-family/c.opt                                 |     2 +-
 gcc/c/ChangeLog                                    |    32 +
 gcc/c/c-decl.cc                                    |    53 +-
 gcc/c/c-parser.cc                                  |     4 +-
 gcc/combine.cc                                     |     6 +-
 gcc/common/config/i386/cpuinfo.h                   |     4 +-
 gcc/common/config/i386/i386-common.cc              |     4 +-
 gcc/common/config/i386/i386-cpuinfo.h              |     5 +-
 gcc/common/config/i386/i386-isas.h                 |     4 +-
 gcc/common/config/riscv/riscv-common.cc            |   182 +-
 gcc/config/aarch64/aarch64-c.cc                    |     6 +
 gcc/config/aarch64/aarch64-cores.def               |     2 +
 gcc/config/aarch64/aarch64-ldp-fusion.cc           |     4 +-
 gcc/config/aarch64/aarch64-simd.md                 |     2 -
 gcc/config/aarch64/aarch64-tune.md                 |     2 +-
 gcc/config/alpha/alpha.cc                          |    12 +
 gcc/config/alpha/alpha.md                          |    31 +-
 gcc/config/alpha/constraints.md                    |     2 +-
 gcc/config/arm/arm.cc                              |   135 +-
 gcc/config/arm/arm.h                               |     4 +-
 gcc/config/arm/arm.md                              |     8 +-
 gcc/config/arm/mve.md                              |     2 +-
 gcc/config/arm/predicates.md                       |     5 +
 gcc/config/arm/sync.md                             |     4 +-
 gcc/config/avr/avr-dimode.md                       |    26 +-
 gcc/config/avr/avr.cc                              |    41 +-
 gcc/config/avr/avr.md                              |    64 +-
 gcc/config/i386/i386-expand.cc                     |     7 +
 gcc/config/i386/i386-options.cc                    |    79 +-
 gcc/config/i386/i386.cc                            |   236 +-
 gcc/config/i386/i386.h                             |     6 +-
 gcc/config/i386/i386.md                            |    10 +-
 gcc/config/i386/mingw-w64.h                        |     2 +
 gcc/config/i386/mingw32.h                          |     2 +
 gcc/config/i386/x86-tune-costs.h                   |    10 +-
 gcc/config/i386/x86-tune.def                       |    13 +-
 gcc/config/loongarch/loongarch.cc                  |    19 +-
 gcc/config/loongarch/loongarch.h                   |     7 -
 gcc/config/mips/mips.cc                            |    11 +-
 gcc/config/pa/pa.md                                |    18 -
 gcc/config/pa/pa32-linux.h                         |     5 +
 gcc/config/riscv/autovec.md                        |     5 +-
 gcc/config/riscv/elf.h                             |     1 +
 gcc/config/riscv/freebsd.h                         |     1 +
 gcc/config/riscv/linux.h                           |     1 +
 gcc/config/riscv/riscv-c.cc                        |     2 +-
 gcc/config/riscv/riscv-protos.h                    |     4 +
 gcc/config/riscv/riscv-subset.h                    |    12 +-
 gcc/config/riscv/riscv-target-attr.cc              |   119 +-
 gcc/config/riscv/riscv-vector-builtins.cc          |    51 +
 gcc/config/riscv/riscv.cc                          |    90 +-
 gcc/config/riscv/riscv.opt                         |     6 +-
 gcc/config/riscv/vector-iterators.md               |     6 +
 gcc/config/riscv/vector.md                         |   131 +-
 gcc/config/rs6000/altivec.md                       |   222 +-
 gcc/config/rs6000/rs6000-builtin.cc                |     2 +-
 gcc/config/rs6000/rs6000-c.cc                      |    62 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc           |    72 +-
 gcc/config/rs6000/rs6000-logue.cc                  |     7 +-
 gcc/config/rs6000/rs6000.cc                        |    29 +-
 gcc/config/rs6000/rs6000.md                        |    15 +
 gcc/config/rs6000/vsx.md                           |    28 +-
 gcc/config/s390/3931.md                            |     7 -
 gcc/config/s390/s390.cc                            |    49 +-
 gcc/config/s390/s390.md                            |     5 +-
 gcc/config/s390/vector.md                          |     6 +-
 gcc/config/s390/vx-builtins.md                     |     2 +-
 gcc/config/sparc/linux64.h                         |     2 +-
 gcc/configure                                      |     2 +
 gcc/configure.ac                                   |     2 +
 gcc/cp/ChangeLog                                   |   342 +
 gcc/cp/call.cc                                     |     9 +-
 gcc/cp/constexpr.cc                                |     8 +-
 gcc/cp/cp-tree.h                                   |    12 +-
 gcc/cp/cxxapi-data.csv                             |     2 +-
 gcc/cp/decl.cc                                     |   138 +-
 gcc/cp/decl2.cc                                    |     7 +-
 gcc/cp/except.cc                                   |     6 +-
 gcc/cp/init.cc                                     |    11 +-
 gcc/cp/lambda.cc                                   |     3 +-
 gcc/cp/module.cc                                   |   211 +-
 gcc/cp/name-lookup.cc                              |    57 +
 gcc/cp/parser.cc                                   |    10 +-
 gcc/cp/pt.cc                                       |   100 +-
 gcc/cp/semantics.cc                                |    20 +-
 gcc/cp/std-name-hint.gperf                         |     2 +-
 gcc/cp/std-name-hint.h                             |     2 +-
 gcc/cp/tree.cc                                     |    11 +-
 gcc/cp/typeck.cc                                   |    10 +-
 gcc/cse.cc                                         |     4 +-
 gcc/doc/install.texi                               |    36 +-
 gcc/doc/invoke.texi                                |    23 +-
 gcc/doc/tm.texi                                    |     8 +
 gcc/doc/tm.texi.in                                 |     2 +
 gcc/expmed.cc                                      |     4 +-
 gcc/expr.cc                                        |    12 +-
 gcc/fold-const.cc                                  |     6 +-
 gcc/fold-mem-offsets.cc                            |     2 +-
 gcc/fortran/ChangeLog                              |   285 +
 gcc/fortran/dependency.cc                          |    32 +
 gcc/fortran/expr.cc                                |     7 +-
 gcc/fortran/gfortran.h                             |     4 +
 gcc/fortran/iresolve.cc                            |     4 +
 gcc/fortran/match.cc                               |    21 +
 gcc/fortran/primary.cc                             |    10 +-
 gcc/fortran/resolve.cc                             |    17 +-
 gcc/fortran/symbol.cc                              |   117 +-
 gcc/fortran/trans-array.cc                         |    52 +-
 gcc/fortran/trans-decl.cc                          |     4 +-
 gcc/fortran/trans-expr.cc                          |    98 +-
 gcc/fortran/trans-intrinsic.cc                     |    85 +-
 gcc/fortran/trans-stmt.cc                          |    66 +-
 gcc/fortran/trans-types.cc                         |     4 +-
 gcc/gimple-fold.cc                                 |    12 +-
 gcc/gimple-lower-bitint.cc                         |    14 +-
 gcc/gimple-ssa-sprintf.cc                          |    20 +-
 gcc/gimple-ssa-store-merging.cc                    |     6 +-
 gcc/gimple-ssa-warn-access.cc                      |     2 +-
 gcc/ipa-fnsummary.cc                               |     4 +-
 gcc/ira-conflicts.cc                               |     3 +-
 gcc/jit/ChangeLog                                  |     9 +
 gcc/jit/jit-recording.cc                           |     2 +-
 gcc/match.pd                                       |     6 +-
 gcc/objc/ChangeLog                                 |    10 +
 gcc/objc/objc-next-runtime-abi-02.cc               |     5 +-
 gcc/opt-suggestions.cc                             |     2 +-
 gcc/optabs-libfuncs.cc                             |     4 +-
 gcc/opts-common.cc                                 |    19 +-
 gcc/po/ChangeLog                                   |    10 +
 gcc/po/be.po                                       | 18446 +++++++--------
 gcc/po/da.po                                       | 18493 +++++++--------
 gcc/po/de.po                                       | 23283 ++++++++-----------
 gcc/po/el.po                                       | 18456 +++++++--------
 gcc/po/es.po                                       | 18579 +++++++--------
 gcc/po/fi.po                                       | 18479 +++++++--------
 gcc/po/fr.po                                       | 18576 +++++++--------
 gcc/po/hr.po                                       | 19111 +++++++--------
 gcc/po/id.po                                       | 18497 +++++++--------
 gcc/po/ja.po                                       | 18473 +++++++--------
 gcc/po/nl.po                                       | 18463 +++++++--------
 gcc/po/ru.po                                       | 18554 +++++++--------
 gcc/po/sr.po                                       | 18494 +++++++--------
 gcc/po/sv.po                                       | 18522 +++++++--------
 gcc/po/tr.po                                       | 18496 +++++++--------
 gcc/po/uk.po                                       | 18653 +++++++--------
 gcc/po/vi.po                                       | 18496 +++++++--------
 gcc/po/zh_CN.po                                    | 18533 +++++++--------
 gcc/po/zh_TW.po                                    | 18492 +++++++--------
 gcc/rust/ChangeLog                                 |     8 +
 gcc/rust/metadata/rust-imports.cc                  |     2 +-
 gcc/target.def                                     |    13 +-
 gcc/targhooks.cc                                   |     8 +
 gcc/targhooks.h                                    |     1 +
 gcc/testsuite/ChangeLog                            |  1293 +
 gcc/testsuite/c-c++-common/Warray-compare-3.c      |    13 +
 .../analyzer/out-of-bounds-diagram-pr114899.c      |    15 +
 .../c-c++-common/torture/builtin-clear-padding-1.c |     1 +
 .../c-c++-common/torture/builtin-clear-padding-2.c |     1 +
 .../c-c++-common/torture/builtin-clear-padding-3.c |     3 +-
 .../c-c++-common/torture/builtin-clear-padding-4.c |     4 +-
 .../c-c++-common/torture/builtin-clear-padding-5.c |     1 +
 .../c-c++-common/torture/builtin-clear-padding-6.c |    28 +
 .../c-c++-common/ubsan/signed1bitfield-1.c         |    25 +
 gcc/testsuite/g++.dg/asan/initlist2.C              |    16 +
 gcc/testsuite/g++.dg/cpp0x/alias-decl-77.C         |    32 +
 gcc/testsuite/g++.dg/cpp1y/decltype-auto-103497.C  |     2 +-
 gcc/testsuite/g++.dg/cpp1y/decltype-auto8.C        |    22 +
 gcc/testsuite/g++.dg/cpp1z/array-prvalue3.C        |     8 +
 .../g++.dg/cpp1z/has-unique-obj-representations4.C |    16 +
 gcc/testsuite/g++.dg/cpp1z/pr115440.C              |     8 +
 gcc/testsuite/g++.dg/cpp23/ext-floating18.C        |    26 +
 gcc/testsuite/g++.dg/cpp26/pr115754.C              |    36 +
 .../g++.dg/cpp2a/class-deduction-aggr14.C          |    11 +
 .../g++.dg/cpp2a/class-deduction-aggr15.C          |    23 +
 .../g++.dg/cpp2a/class-deduction-alias20.C         |    22 +
 .../g++.dg/cpp2a/class-deduction-alias21.C         |    38 +
 .../g++.dg/cpp2a/class-deduction-alias22.C         |    14 +
 .../g++.dg/cpp2a/concepts-partial-spec15.C         |    20 +
 gcc/testsuite/g++.dg/cpp2a/concepts-requires38.C   |    14 +
 gcc/testsuite/g++.dg/cpp2a/lambda-targ5.C          |    15 +
 gcc/testsuite/g++.dg/ext/conv3.C                   |    13 +
 gcc/testsuite/g++.dg/modules/enum-12.C             |     2 +-
 gcc/testsuite/g++.dg/modules/friend-5_b.C          |     2 +-
 gcc/testsuite/g++.dg/modules/friend-8_a.H          |    23 +
 gcc/testsuite/g++.dg/modules/friend-8_b.C          |     9 +
 gcc/testsuite/g++.dg/modules/pr114856.h            |    12 +
 gcc/testsuite/g++.dg/modules/pr114856_a.H          |     5 +
 gcc/testsuite/g++.dg/modules/pr114856_b.C          |     5 +
 gcc/testsuite/g++.dg/modules/pr99241_a.H           |     3 +
 gcc/testsuite/g++.dg/modules/pr99241_b.H           |     3 +
 gcc/testsuite/g++.dg/modules/pr99241_c.C           |     5 +
 gcc/testsuite/g++.dg/modules/pr99242_a.H           |     3 +
 gcc/testsuite/g++.dg/modules/pr99242_b.H           |     3 +
 gcc/testsuite/g++.dg/modules/pr99242_c.H           |     3 +
 gcc/testsuite/g++.dg/modules/pr99242_d.C           |     7 +
 gcc/testsuite/g++.dg/modules/shadow-1_b.C          |     5 +-
 gcc/testsuite/g++.dg/modules/timevar-1_a.H         |    14 +
 gcc/testsuite/g++.dg/modules/timevar-1_b.C         |    10 +
 gcc/testsuite/g++.dg/modules/tpl-friend-10_a.C     |    15 +
 gcc/testsuite/g++.dg/modules/tpl-friend-10_b.C     |     5 +
 gcc/testsuite/g++.dg/modules/tpl-friend-10_c.C     |     7 +
 gcc/testsuite/g++.dg/modules/tpl-friend-10_d.C     |     8 +
 gcc/testsuite/g++.dg/modules/tpl-friend-11_a.C     |    14 +
 gcc/testsuite/g++.dg/modules/tpl-friend-11_b.C     |     5 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_a.C     |    10 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_b.C     |     9 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_c.C     |    10 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_d.C     |     8 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_e.C     |     7 +
 gcc/testsuite/g++.dg/modules/tpl-friend-12_f.C     |     8 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_a.C     |    13 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_b.C     |    11 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_c.C     |    13 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_d.C     |     7 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_e.C     |    18 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_f.C     |     7 +
 gcc/testsuite/g++.dg/modules/tpl-friend-13_g.C     |    11 +
 gcc/testsuite/g++.dg/modules/tpl-friend-14_a.C     |     8 +
 gcc/testsuite/g++.dg/modules/tpl-friend-14_b.C     |     8 +
 gcc/testsuite/g++.dg/modules/tpl-friend-14_c.C     |     7 +
 gcc/testsuite/g++.dg/modules/tpl-friend-14_d.C     |     9 +
 gcc/testsuite/g++.dg/modules/tpl-friend-9.C        |    13 +
 gcc/testsuite/g++.dg/modules/using-15_a.C          |    14 +
 gcc/testsuite/g++.dg/modules/using-15_b.C          |     6 +
 gcc/testsuite/g++.dg/modules/using-15_c.C          |     8 +
 gcc/testsuite/g++.dg/opt/fmo1.C                    |    25 +
 gcc/testsuite/g++.dg/overload/error7.C             |    10 +
 gcc/testsuite/g++.dg/pch/pr115312.C                |     2 +
 gcc/testsuite/g++.dg/pch/pr115312.Hs               |     1 +
 gcc/testsuite/g++.dg/pr113673.C                    |    14 +
 gcc/testsuite/g++.dg/pr115232.C                    |    25 +
 gcc/testsuite/g++.dg/template/array37.C            |    14 +
 gcc/testsuite/g++.dg/template/linkage5.C           |    14 +
 gcc/testsuite/g++.dg/template/non-dependent32.C    |    18 +
 gcc/testsuite/g++.dg/template/non-dependent33.C    |    13 +
 gcc/testsuite/g++.dg/template/pr95672.C            |     2 +-
 gcc/testsuite/g++.dg/torture/pr115694.C            |    13 +
 gcc/testsuite/g++.dg/torture/vector-subaccess-1.C  |    24 +
 gcc/testsuite/g++.dg/torture/vshuf-mem.C           |    27 +
 gcc/testsuite/g++.dg/tree-ssa/pr109849.C           |     3 +-
 gcc/testsuite/g++.dg/vect/pr115278.cc              |    38 +
 .../g++.dg/vect/vect-novector-pragma_2.cc          |    10 +
 gcc/testsuite/g++.dg/warn/Wsizeof-array-div3.C     |    27 +
 gcc/testsuite/g++.target/i386/pr115351.C           |    19 +
 gcc/testsuite/g++.target/powerpc/pr106069.C        |   119 +
 gcc/testsuite/gcc.c-torture/compile/pr115143-1.c   |    21 +
 gcc/testsuite/gcc.c-torture/compile/pr115143-2.c   |    30 +
 gcc/testsuite/gcc.c-torture/compile/pr115143-3.c   |    29 +
 gcc/testsuite/gcc.c-torture/execute/pr108789.c     |    39 +
 gcc/testsuite/gcc.c-torture/execute/pr113787.c     |    38 +
 gcc/testsuite/gcc.c-torture/execute/pr114965.c     |    30 +
 .../gcc.c-torture/execute/signed1bitfield-1.c      |    23 +
 gcc/testsuite/gcc.dg/asan/pr114956.c               |    26 +
 gcc/testsuite/gcc.dg/asan/pr115172.c               |    20 +
 gcc/testsuite/gcc.dg/bitint-106.c                  |    29 +
 gcc/testsuite/gcc.dg/bitint-107.c                  |    16 +
 gcc/testsuite/gcc.dg/bitint-108.c                  |    38 +
 gcc/testsuite/gcc.dg/pr114493-1.c                  |    19 +
 gcc/testsuite/gcc.dg/pr114493-2.c                  |    26 +
 gcc/testsuite/gcc.dg/pr114574-1.c                  |     6 +-
 gcc/testsuite/gcc.dg/pr114574-2.c                  |     6 +-
 gcc/testsuite/gcc.dg/pr114876.c                    |    34 +
 gcc/testsuite/gcc.dg/pr114902.c                    |    23 +
 gcc/testsuite/gcc.dg/pr114907.c                    |    27 +
 gcc/testsuite/gcc.dg/pr114930.c                    |     9 +
 gcc/testsuite/gcc.dg/pr114931.c                    |    10 +
 gcc/testsuite/gcc.dg/pr115092.c                    |    16 +
 gcc/testsuite/gcc.dg/pr115149.c                    |    16 +
 gcc/testsuite/gcc.dg/pr115152.c                    |    17 +
 gcc/testsuite/gcc.dg/pr115197.c                    |    14 +
 gcc/testsuite/gcc.dg/pr115502.c                    |     9 +
 gcc/testsuite/gcc.dg/pr115646.c                    |    13 +
 gcc/testsuite/gcc.dg/pr83415.c                     |     2 +-
 gcc/testsuite/gcc.dg/torture/bitint-71.c           |    28 +
 gcc/testsuite/gcc.dg/torture/pr114998.c            |    35 +
 gcc/testsuite/gcc.dg/torture/pr115701.c            |    22 +
 .../gcc.dg/tree-ssa/builtin-sprintf-warn-1.c       |    12 +-
 gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-26.c         |     6 +-
 gcc/testsuite/gcc.dg/vect/pr115192.c               |    28 +
 gcc/testsuite/gcc.dg/vect/pr115669.c               |    22 +
 gcc/testsuite/gcc.dg/vect/pr115723.c               |    25 +
 gcc/testsuite/gcc.dg/vect/pr115840.c               |    11 +
 gcc/testsuite/gcc.dg/vect/pr115841.c               |    42 +
 gcc/testsuite/gcc.dg/vect/pr115843.c               |    41 +
 .../gcc.target/aarch64/acle/bf16_feature.c         |    10 +
 .../gcc.target/aarch64/acle/bf16_sve_feature.c     |    10 +
 .../gcc.target/aarch64/vector_intrinsics_asm.c     |   371 +
 gcc/testsuite/gcc.target/alpha/pr115297.c          |    13 +
 gcc/testsuite/gcc.target/alpha/pr115526.c          |    46 +
 gcc/testsuite/gcc.target/arm/cmse/extend-param.c   |    21 +-
 gcc/testsuite/gcc.target/arm/cmse/extend-return.c  |    66 +-
 .../gcc.target/arm/copysign_softfloat_1.c          |     1 -
 .../arm/mve/intrinsics/vsetq_lane_su64.c           |    63 +
 gcc/testsuite/gcc.target/arm/pr115153.c            |    16 +
 gcc/testsuite/gcc.target/arm/pr115188.c            |    10 +
 .../gcc.target/arm/thumb2-switchstatement.c        |   144 +
 gcc/testsuite/gcc.target/avr/pr114975-parity.c     |    17 +
 gcc/testsuite/gcc.target/avr/pr114975-popcount.c   |    17 +
 gcc/testsuite/gcc.target/avr/pr114981-powif.c      |    33 +
 gcc/testsuite/gcc.target/avr/pr114981-powil.c      |    33 +
 .../gcc.target/avr/torture/pr115307-isinf.c        |    21 +
 .../gcc.target/avr/torture/pr115317-isinf.c        |    55 +
 gcc/testsuite/gcc.target/avr/torture/pr87376.c     |    60 +
 .../gcc.target/avr/torture/pr88236-pr115726.c      |   115 +
 gcc/testsuite/gcc.target/avr/torture/pr92606.c     |    57 +
 gcc/testsuite/gcc.target/avr/torture/pr98762.c     |    19 +
 gcc/testsuite/gcc.target/i386/avx10_1-25.c         |    10 +
 gcc/testsuite/gcc.target/i386/avx10_1-26.c         |    10 +
 gcc/testsuite/gcc.target/i386/pr115069.c           |     9 +
 gcc/testsuite/gcc.target/i386/pr115508.c           |    15 +
 gcc/testsuite/gcc.target/i386/pr115872.c           |    16 +
 gcc/testsuite/gcc.target/loongarch/pr115752.c      |     8 +
 gcc/testsuite/gcc.target/powerpc/pr106069-1.c      |    39 +
 gcc/testsuite/gcc.target/powerpc/pr106069-2.c      |    37 +
 gcc/testsuite/gcc.target/powerpc/pr114846.c        |    20 +
 gcc/testsuite/gcc.target/powerpc/pr115355.c        |    37 +
 gcc/testsuite/gcc.target/powerpc/pr97367.c         |    13 +
 .../gcc.target/riscv/interrupt-misaligned.c        |     2 +-
 gcc/testsuite/gcc.target/riscv/pr115554.c          |    11 +
 gcc/testsuite/gcc.target/riscv/pr115562.c          |    25 +
 gcc/testsuite/gcc.target/riscv/pr93202.c           |     2 +-
 gcc/testsuite/gcc.target/riscv/rv32e_zcmp.c        |     3 +-
 gcc/testsuite/gcc.target/riscv/rv32i_zcmp.c        |     3 +-
 .../riscv/rvv/autovec/vls-vlmax/vec_set-1.c        |    12 +-
 .../riscv/rvv/autovec/vls-vlmax/vec_set-2.c        |    12 +-
 .../riscv/rvv/autovec/vls-vlmax/vec_set-3.c        |    12 +-
 .../riscv/rvv/autovec/vls-vlmax/vec_set-4.c        |    12 +-
 .../gcc.target/riscv/rvv/base/pr114988-1.c         |     9 +
 .../gcc.target/riscv/rvv/base/pr114988-2.c         |     9 +
 .../gcc.target/riscv/rvv/base/pr115068-run.c       |     6 +
 gcc/testsuite/gcc.target/riscv/rvv/base/pr115068.c |    55 +
 .../gcc.target/riscv/rvv/base/pr115456-1.c         |    31 +
 .../gcc.target/riscv/rvv/base/pr115456-2.c         |    31 +
 .../gcc.target/riscv/rvv/base/pr115456-3.c         |    31 +
 .../gcc.target/riscv/rvv/base/pr115763-1.c         |     9 +
 .../gcc.target/riscv/rvv/base/pr115763-2.c         |    10 +
 .../gcc.target/riscv/rvv/base/scalar_move-5.c      |     4 +-
 .../gcc.target/riscv/rvv/base/scalar_move-6.c      |     6 +-
 .../gcc.target/riscv/rvv/base/scalar_move-7.c      |     6 +-
 .../gcc.target/riscv/rvv/base/scalar_move-8.c      |     6 +-
 .../gcc.target/riscv/rvv/base/vwaddsub-1.c         |    48 +
 .../gcc.target/riscv/rvv/vsetvl/pr115214.c         |    52 +
 gcc/testsuite/gcc.target/riscv/target-attr-01.c    |    16 +-
 gcc/testsuite/gcc.target/riscv/target-attr-02.c    |    16 +-
 gcc/testsuite/gcc.target/riscv/target-attr-03.c    |    11 +-
 gcc/testsuite/gcc.target/riscv/target-attr-04.c    |    11 +-
 gcc/testsuite/gcc.target/riscv/target-attr-05.c    |    10 +-
 gcc/testsuite/gcc.target/riscv/target-attr-06.c    |    11 +-
 gcc/testsuite/gcc.target/riscv/target-attr-07.c    |    10 +-
 gcc/testsuite/gcc.target/riscv/target-attr-08.c    |    20 +
 gcc/testsuite/gcc.target/riscv/target-attr-09.c    |    19 +
 gcc/testsuite/gcc.target/riscv/target-attr-10.c    |    19 +
 gcc/testsuite/gcc.target/riscv/target-attr-11.c    |    22 +
 gcc/testsuite/gcc.target/riscv/target-attr-12.c    |    21 +
 gcc/testsuite/gcc.target/riscv/target-attr-13.c    |    21 +
 gcc/testsuite/gcc.target/riscv/target-attr-14.c    |    42 +
 gcc/testsuite/gcc.target/riscv/target-attr-15.c    |    42 +
 gcc/testsuite/gcc.target/riscv/target-attr-16.c    |    28 +
 gcc/testsuite/gcc.target/riscv/zicond-ice-5.c      |    11 +
 gcc/testsuite/gcc.target/riscv/zmmul-3.c           |     8 +
 gcc/testsuite/gcc.target/s390/ccor.c               |     4 +-
 .../gcc.target/s390/ifcvt-one-insn-bool.c          |     2 +-
 .../gfortran.dg/allocate_with_source_32.f90        |    33 +
 .../gfortran.dg/allocate_with_source_33.f90        |    69 +
 .../gfortran.dg/asan/unlimited_polymorphic_34.f90  |   135 +
 gcc/testsuite/gfortran.dg/associate_69.f90         |    33 +
 gcc/testsuite/gfortran.dg/bind_c_char_11.f90       |    45 +
 gcc/testsuite/gfortran.dg/bounds_check_25.f90      |    32 +
 gcc/testsuite/gfortran.dg/c-interop/c1255-2.f90    |     4 +-
 gcc/testsuite/gfortran.dg/minmaxloc_17.f90         |    33 +
 gcc/testsuite/gfortran.dg/optional_absent_12.f90   |    30 +
 gcc/testsuite/gfortran.dg/pr103312.f90             |    87 +
 gcc/testsuite/gfortran.dg/pr113363.f90             |    86 +
 gcc/testsuite/gfortran.dg/pr114874_1.f90           |    32 +
 gcc/testsuite/gfortran.dg/pr114874_2.f90           |    53 +
 gcc/testsuite/gfortran.dg/pr115281.f90             |    39 +
 gcc/testsuite/gfortran.dg/pr87907.f90              |     8 +-
 gcc/testsuite/gfortran.dg/pr93635.f90              |    19 +
 gcc/testsuite/gfortran.dg/shape_12.f90             |    51 +
 gcc/testsuite/gfortran.dg/statement_function_5.f90 |    20 +
 gcc/testsuite/gfortran.dg/storage_size_7.f90       |    91 +
 .../gfortran.dg/string_array_constructor_4.f90     |    59 +
 gcc/testsuite/gfortran.dg/submodule_33.f08         |    20 +
 gcc/testsuite/gfortran.dg/transfer_class_4.f90     |    87 +
 .../pim/run/pass/coroutines-pim-run-pass.exp       |     7 -
 .../gm2/examples/map/pass/examples-map-pass.exp    |     5 -
 .../gm2/extensions/run/pass/callingc10.mod         |     6 +-
 .../gm2/extensions/run/pass/callingc11.mod         |     6 +-
 gcc/testsuite/gm2/extensions/run/pass/vararg2.mod  |     6 +-
 gcc/testsuite/gm2/iso/run/pass/iso-run-pass.exp    |     6 -
 gcc/testsuite/gm2/iso/run/pass/packed.mod          |     2 +
 .../pimlib/base/run/pass/pimlib-base-run-pass.exp  |     6 -
 .../run/pass/halma/projects-iso-run-pass-halma.exp |     7 -
 .../pass/run/switches-whole-program-pass-run.exp   |     4 -
 gcc/testsuite/gnat.dg/access11.adb                 |    80 +
 gcc/testsuite/gnat.dg/array41.adb                  |    37 +
 gcc/testsuite/gnat.dg/array41.ads                  |     5 +
 gcc/testsuite/gnat.dg/incomplete8.adb              |    22 +
 gcc/testsuite/lib/gm2-torture.exp                  |    28 -
 gcc/testsuite/lib/gm2.exp                          |    34 -
 gcc/testsuite/lib/target-supports.exp              |     2 +
 gcc/tree-call-cdce.cc                              |     2 +-
 gcc/tree-data-ref.cc                               |     5 +-
 gcc/tree-eh.cc                                     |     2 +-
 gcc/tree-if-conv.cc                                |     4 +-
 gcc/tree-inline.cc                                 |    28 +-
 gcc/tree-loop-distribution.cc                      |    31 +-
 gcc/tree-sra.cc                                    |    14 +-
 gcc/tree-ssa-ccp.cc                                |    12 +-
 gcc/tree-ssa-copy.cc                               |    32 +-
 gcc/tree-ssa-forwprop.cc                           |     2 +
 gcc/tree-ssa-live.cc                               |     8 +-
 gcc/tree-ssa-phiopt.cc                             |    12 +
 gcc/tree-ssa-pre.cc                                |    10 +-
 gcc/tree-ssa-reassoc.cc                            |     3 +-
 gcc/tree-ssa-sccvn.cc                              |    21 +-
 gcc/tree-ssa-strlen.cc                             |     5 +-
 gcc/tree-ssanames.cc                               |    22 +
 gcc/tree-ssanames.h                                |     3 +-
 gcc/tree-vect-loop-manip.cc                        |     8 +-
 gcc/tree-vect-loop.cc                              |    29 +-
 gcc/tree-vect-slp.cc                               |    32 +-
 gcc/tree-vect-stmts.cc                             |    39 +-
 gcc/tree-vectorizer.h                              |     3 +
 gcc/tree.cc                                        |    65 +-
 gcc/ubsan.cc                                       |     6 +-
 gcc/value-pointer-equiv.cc                         |     2 +-
 gcc/varasm.cc                                      |     2 +
 libgcc/ChangeLog                                   |    44 +
 libgcc/config/aarch64/cpuinfo.c                    |   184 +-
 libgcc/config/arm/cmse_nonsecure_call.S            |     2 +
 libgcc/config/avr/lib1funcs.S                      |   162 +-
 libgcc/config/avr/libf7/ChangeLog                  |    19 +
 libgcc/config/avr/libf7/libf7-asm.sx               |    31 +-
 libgcc/config/avr/libf7/libf7-common.mk            |     2 +-
 libgcc/config/avr/libf7/libf7.c                    |    29 +-
 libgcc/config/avr/t-avr                            |     4 +-
 libgomp/ChangeLog                                  |    12 +
 libstdc++-v3/ChangeLog                             |   301 +
 libstdc++-v3/doc/html/faq.html                     |     2 +-
 libstdc++-v3/doc/html/manual/memory.html           |    10 +-
 .../doc/html/manual/mt_allocator_impl.html         |     6 +-
 libstdc++-v3/doc/html/manual/status.html           |    16 +-
 libstdc++-v3/doc/html/manual/using.html            |    10 +-
 libstdc++-v3/doc/xml/faq.xml                       |     2 +-
 libstdc++-v3/doc/xml/manual/allocator.xml          |    10 +-
 libstdc++-v3/doc/xml/manual/mt_allocator.xml       |     6 +-
 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_cxx2023.xml     |     2 +-
 libstdc++-v3/doc/xml/manual/status_cxxtr1.xml      |     2 +-
 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml  |     2 +-
 libstdc++-v3/doc/xml/manual/using.xml              |    33 +-
 libstdc++-v3/include/bits/chrono_io.h              |     5 +-
 libstdc++-v3/include/bits/out_ptr.h                |    10 +
 libstdc++-v3/include/bits/std_thread.h             |    11 +-
 libstdc++-v3/include/bits/unicode.h                |    30 +-
 libstdc++-v3/include/bits/vector.tcc               |     5 +
 libstdc++-v3/include/bits/version.def              |     2 +-
 libstdc++-v3/include/bits/version.h                |     2 +-
 libstdc++-v3/include/c_compatibility/stdatomic.h   |     2 +-
 libstdc++-v3/include/experimental/bits/simd.h      |   223 +-
 .../include/experimental/bits/simd_builtin.h       |   152 +-
 .../include/experimental/bits/simd_fixed_size.h    |     4 +-
 libstdc++-v3/include/experimental/bits/simd_x86.h  |    26 +-
 libstdc++-v3/include/pstl/pstl_config.h            |     2 +-
 libstdc++-v3/include/std/array                     |     8 +-
 libstdc++-v3/include/std/generator                 |     8 +
 libstdc++-v3/include/std/span                      |     2 +
 libstdc++-v3/include/std/stacktrace                |    15 +-
 libstdc++-v3/include/std/thread                    |    43 +-
 libstdc++-v3/libsupc++/new_opa.cc                  |     2 +-
 libstdc++-v3/src/c++11/assert_fail.cc              |    10 +-
 libstdc++-v3/src/c++23/print.cc                    |     2 +-
 libstdc++-v3/src/libbacktrace/Makefile.am          |     2 +-
 libstdc++-v3/src/libbacktrace/Makefile.in          |     2 +-
 .../testsuite/19_diagnostics/stacktrace/current.cc |     2 +-
 .../testsuite/19_diagnostics/stacktrace/entry.cc   |     2 +-
 .../testsuite/19_diagnostics/stacktrace/hash.cc    |     2 +-
 .../testsuite/19_diagnostics/stacktrace/output.cc  |     2 +-
 .../19_diagnostics/stacktrace/stacktrace.cc        |    12 +-
 libstdc++-v3/testsuite/20_util/duration/io.cc      |     6 +
 .../testsuite/20_util/headers/memory/114866.cc     |     4 +
 .../23_containers/array/creation/115522.cc         |    33 +
 .../29_atomics/headers/stdatomic.h/115807.cc       |    14 +
 .../testsuite/30_threads/thread/id/output.cc       |    21 +-
 .../testsuite/experimental/simd/pr114958.cc        |    20 +
 .../experimental/simd/pr115454_find_last_set.cc    |    50 +
 .../testsuite/ext/unicode/grapheme_view.cc         |    11 +
 libstdc++-v3/testsuite/ext/unicode/view.cc         |     7 +
 libstdc++-v3/testsuite/util/testsuite_abi.cc       |     4 +-
 514 files changed, 191885 insertions(+), 179758 deletions(-)

diff --cc gcc/cp/decl2.cc
index 7ecca8180fce,af2e08c8a632..000b175f5604
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@@ -6114,15 -5950,12 +6115,17 @@@ mark_used (tree decl, tsubst_flags_t co
  
    /* If DECL has a deduced return type, we need to instantiate it now to
       find out its type.  For OpenMP user defined reductions, we need them
 -     instantiated for reduction clauses which inline them by hand directly.  
*/
 +     instantiated for reduction clauses which inline them by hand directly.
 +     OpenMP declared mappers are used implicitly so must be instantiated
 +     before they can be detected.  */
    if (undeduced_auto_decl (decl)
+       || (VAR_P (decl)
+         && VAR_HAD_UNKNOWN_BOUND (decl))
        || (TREE_CODE (decl) == FUNCTION_DECL
 -        && DECL_OMP_DECLARE_REDUCTION_P (decl)))
 +        && DECL_OMP_DECLARE_REDUCTION_P (decl))
 +      || (TREE_CODE (decl) == VAR_DECL
 +        && DECL_LANG_SPECIFIC (decl)
 +        && DECL_OMP_DECLARE_MAPPER_P (decl)))
      maybe_instantiate_decl (decl);
  
    if (processing_template_decl || in_template_context)

Reply via email to