https://gcc.gnu.org/g:9575360bad470025b131fa74fdc11ac28409cb9c
commit 9575360bad470025b131fa74fdc11ac28409cb9c Merge: 1cae91f78a00 5329b9418820 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Wed Apr 10 11:01:28 2024 +0200 Merge commit 'f0b1cf01782ba975cfda32800c91076df78058d6^' into HEAD Diff: ChangeLog | 4 + MAINTAINERS | 2 + gcc/ChangeLog | 451 +++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 7 + gcc/analyzer/ChangeLog | 7 + gcc/analyzer/pending-diagnostic.cc | 16 +- gcc/attribs.cc | 10 - gcc/bitmap.cc | 2 +- gcc/c-family/ChangeLog | 20 + gcc/c-family/c-ada-spec.cc | 3 +- gcc/c-family/c-format.cc | 12 +- gcc/c-family/c-opts.cc | 5 + gcc/c-family/c.opt | 4 + gcc/c/ChangeLog | 18 + gcc/c/c-decl.cc | 4 +- gcc/c/c-parser.cc | 3 +- gcc/c/c-typeck.cc | 12 +- gcc/cfgexpand.cc | 24 +- gcc/config/aarch64/aarch64-sys-regs.def | 85 + gcc/config/aarch64/aarch64.h | 20 + gcc/config/avr/avr-mcus.def | 4 +- gcc/config/avr/gen-avr-mmcu-specs.cc | 158 +- gcc/config/avr/specs.h | 7 +- gcc/config/i386/constraints.md | 36 +- gcc/config/i386/darwin.h | 3 +- gcc/config/i386/darwin32-biarch.h | 3 - gcc/config/i386/darwin64-biarch.h | 3 - gcc/config/i386/i386-features.cc | 42 +- gcc/config/i386/i386-protos.h | 1 - gcc/config/i386/i386.cc | 31 +- gcc/config/i386/i386.md | 129 +- gcc/config/i386/mmx.md | 69 + gcc/config/i386/predicates.md | 65 + gcc/config/i386/sse.md | 34 +- gcc/config/riscv/riscv-vector-builtins-shapes.cc | 17 +- gcc/config/riscv/riscv-vector-builtins.cc | 3 +- gcc/config/riscv/riscv.cc | 2 +- gcc/configure | 2 +- gcc/configure.ac | 2 +- gcc/cp/ChangeLog | 143 + gcc/cp/Make-lang.in | 2 +- gcc/cp/class.cc | 14 +- gcc/cp/constexpr.cc | 10 + gcc/cp/coroutines.cc | 4 +- gcc/cp/cp-objcp-common.cc | 1 - gcc/cp/cp-tree.h | 3 +- gcc/cp/decl.cc | 39 +- gcc/cp/decl2.cc | 7 +- gcc/cp/except.cc | 99 +- gcc/cp/lambda.cc | 4 +- gcc/cp/method.cc | 2 + gcc/cp/module.cc | 25 +- gcc/cp/name-lookup.cc | 17 + gcc/cp/parser.cc | 43 +- gcc/cp/pt.cc | 53 +- gcc/cp/semantics.cc | 7 +- gcc/cp/tree.cc | 5 +- gcc/d/ChangeLog | 23 + gcc/d/d-builtins.cc | 31 +- gcc/d/d-codegen.cc | 15 +- gcc/d/decl.cc | 22 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/aggregate.d | 2 +- gcc/d/dmd/aggregate.h | 1 + gcc/d/dmd/astcodegen.d | 1 + gcc/d/dmd/astenums.d | 2 +- gcc/d/dmd/clone.d | 17 +- gcc/d/dmd/constfold.d | 2 +- gcc/d/dmd/dcast.d | 87 +- gcc/d/dmd/declaration.d | 4 +- gcc/d/dmd/declaration.h | 2 - gcc/d/dmd/dinterpret.d | 2 +- gcc/d/dmd/dsymbol.h | 2 - gcc/d/dmd/dsymbolsem.d | 2 +- gcc/d/dmd/errors.h | 2 - gcc/d/dmd/expression.h | 10 +- gcc/d/dmd/expressionsem.d | 34 +- gcc/d/dmd/func.d | 11 +- gcc/d/dmd/hdrgen.h | 8 + gcc/d/dmd/init.h | 1 + gcc/d/dmd/mtype.d | 112 +- gcc/d/dmd/mtype.h | 6 +- gcc/d/dmd/parse.d | 2 +- gcc/d/dmd/statement.h | 5 + gcc/d/dmd/template.h | 3 + gcc/d/dmd/typesem.d | 112 +- gcc/d/types.cc | 7 +- gcc/diagnostic-core.h | 12 +- gcc/diagnostic.cc | 10 +- gcc/doc/avr-mmcu.texi | 4 +- gcc/doc/install.texi | 4 +- gcc/doc/invoke.texi | 19 +- gcc/doc/md.texi | 41 +- gcc/dojump.cc | 16 + gcc/dwarf2out.cc | 17 +- gcc/expr.cc | 22 +- gcc/fortran/ChangeLog | 59 + gcc/fortran/arith.cc | 11 +- gcc/fortran/array.cc | 6 +- gcc/fortran/check.cc | 4 +- gcc/fortran/data.cc | 4 +- gcc/fortran/error.cc | 61 +- gcc/fortran/openmp.cc | 30 +- gcc/fortran/primary.cc | 12 +- gcc/fortran/resolve.cc | 4 +- gcc/fortran/trans-array.cc | 3 + gcc/fortran/trans-common.cc | 6 +- gcc/fortran/trans-expr.cc | 6 +- gcc/fortran/trans-io.cc | 6 +- gcc/fortran/trans-openmp.cc | 3 +- gcc/gcc.cc | 30 +- gcc/gcov-dump.cc | 4 +- gcc/gengtype.cc | 16 +- gcc/genpreds.cc | 9 +- gcc/ggc-page.cc | 16 +- gcc/gimple-low.cc | 27 +- gcc/gimple-lower-bitint.cc | 181 +- gcc/hwint.h | 21 + gcc/ipa-icf.cc | 10 +- gcc/ira-conflicts.cc | 20 +- gcc/jit/ChangeLog | 5 + gcc/jit/jit-playback.cc | 8 +- gcc/lto/ChangeLog | 6 + gcc/lto/lto-common.cc | 21 +- gcc/m2/ChangeLog | 6 + gcc/m2/gm2-libs/SArgs.mod | 5 +- gcc/omp-general.cc | 4 +- gcc/omp-selectors.h | 3 +- gcc/po/ChangeLog | 4 + gcc/po/zh_CN.po | 666 ++-- gcc/postreload-gcse.cc | 7 +- gcc/pretty-print.cc | 78 +- gcc/rust/ChangeLog | 315 ++ gcc/testsuite/ChangeLog | 554 +++ gcc/testsuite/c-c++-common/Wattributes-3.c | 13 + .../c-c++-common/analyzer/coreutils-sum-pr108666.c | 2 +- gcc/testsuite/c-c++-common/gomp/pr63328.c | 2 - gcc/testsuite/c-c++-common/pr103798-2.c | 3 +- gcc/testsuite/g++.dg/DRs/dr1693-1.C | 9 + gcc/testsuite/g++.dg/DRs/dr1693-2.C | 9 + gcc/testsuite/g++.dg/DRs/dr2237-2.C | 9 + gcc/testsuite/g++.dg/DRs/dr2237-3.C | 16 + gcc/testsuite/g++.dg/DRs/dr2237-4.C | 11 + gcc/testsuite/g++.dg/DRs/dr2237-5.C | 7 + gcc/testsuite/g++.dg/DRs/dr2237.C | 2 +- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi11.C | 20 + gcc/testsuite/g++.dg/cpp0x/sfinae69.C | 21 + .../g++.dg/cpp1y/constexpr-reinterpret3.C | 54 + .../g++.dg/cpp1y/constexpr-reinterpret4.C | 54 + gcc/testsuite/g++.dg/cpp1y/var-templ85.C | 6 + gcc/testsuite/g++.dg/cpp23/attr-assume12.C | 14 + gcc/testsuite/g++.dg/cpp2a/concepts-pr112436.C | 9 + gcc/testsuite/g++.dg/cpp2a/nontype-class64.C | 23 + gcc/testsuite/g++.dg/cpp2a/nontype-class65.C | 16 + gcc/testsuite/g++.dg/debug/dwarf2/inline-var-1.C | 2 + gcc/testsuite/g++.dg/debug/dwarf2/inline-var-3.C | 2 + gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-3.C | 2 +- gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-4.C | 3 +- gcc/testsuite/g++.dg/ext/has-feature2.C | 14 + gcc/testsuite/g++.dg/ext/type_pack_element4.C | 17 + gcc/testsuite/g++.dg/modules/anon-3_a.H | 21 + gcc/testsuite/g++.dg/modules/anon-3_b.C | 8 + gcc/testsuite/g++.dg/modules/enum-12.C | 10 + gcc/testsuite/g++.dg/modules/friend-6_a.C | 11 + gcc/testsuite/g++.dg/modules/init-7_a.H | 6 + gcc/testsuite/g++.dg/modules/init-7_b.C | 6 + gcc/testsuite/g++.dg/modules/using-enum-3_a.C | 11 + gcc/testsuite/g++.dg/modules/using-enum-3_b.C | 6 + gcc/testsuite/g++.dg/parse/constructor2.C | 16 +- gcc/testsuite/g++.dg/semicolon-fixits.C | 1 + gcc/testsuite/g++.dg/template/error34.C | 10 +- gcc/testsuite/g++.dg/template/non-dependent31.C | 18 + gcc/testsuite/g++.dg/torture/pr113896.C | 35 + gcc/testsuite/g++.dg/warn/Wtemplate-id-cdtor-1.C | 9 + gcc/testsuite/g++.dg/warn/Wtemplate-id-cdtor-2.C | 9 + gcc/testsuite/g++.dg/warn/Wtemplate-id-cdtor-3.C | 9 + gcc/testsuite/g++.dg/warn/Wtemplate-id-cdtor-4.C | 9 + gcc/testsuite/g++.dg/warn/pedantic2.C | 4 +- gcc/testsuite/g++.old-deja/g++.jason/parse11.C | 4 +- gcc/testsuite/g++.old-deja/g++.pt/ctor2.C | 2 +- gcc/testsuite/gcc.c-torture/compile/pr111054.c | 11 + .../gcc.c-torture/execute/ieee/cdivchkf.c | 9 +- gcc/testsuite/gcc.dg/attr-assume-6.c | 14 + gcc/testsuite/gcc.dg/bitint-88.c | 38 + gcc/testsuite/gcc.dg/bitint-89.c | 22 + gcc/testsuite/gcc.dg/bitint-90.c | 23 + gcc/testsuite/gcc.dg/darwin-ld-2.c | 1 + gcc/testsuite/gcc.dg/format/gcc_diag-1.c | 13 +- gcc/testsuite/gcc.dg/format/gcc_gfc-1.c | 8 +- gcc/testsuite/gcc.dg/gomp/pr87895-2.c | 1 - gcc/testsuite/gcc.dg/guality/ipa-sra-1.c | 13 +- gcc/testsuite/gcc.dg/heap-trampoline-1.c | 23 + gcc/testsuite/gcc.dg/pr113693.c | 7 +- gcc/testsuite/gcc.dg/pr113776-1.c | 5 + gcc/testsuite/gcc.dg/pr113776-2.c | 4 + gcc/testsuite/gcc.dg/pr113776-3.c | 7 + gcc/testsuite/gcc.dg/pr113776-4.c | 6 + gcc/testsuite/gcc.dg/ssp-2.c | 1 + .../gcc.dg/torture/arm-fp16-int-convert-alt.c | 2 +- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-3.c | 2 +- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-4.c | 3 +- gcc/testsuite/gcc.dg/torture/bitint-57.c | 32 + gcc/testsuite/gcc.dg/torture/bitint-58.c | 25 + gcc/testsuite/gcc.dg/torture/pr113796.c | 16 + gcc/testsuite/gcc.dg/torture/pr113831.c | 26 + gcc/testsuite/gcc.dg/torture/pr113895-1.c | 16 + gcc/testsuite/gcc.dg/torture/pr113898.c | 16 + gcc/testsuite/gcc.dg/tree-ssa/pr113735.c | 19 + gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-104.c | 24 + gcc/testsuite/gcc.dg/vect/pr113576.c | 2 +- gcc/testsuite/gcc.dg/vect/pr113863.c | 17 + gcc/testsuite/gcc.dg/vect/pr113902.c | 15 + gcc/testsuite/gcc.dg/vect/pr98308.c | 2 +- gcc/testsuite/gcc.dg/vect/tree-vect.h | 6 +- .../gcc.dg/vect/vect-early-break_110-pr113467.c | 2 +- .../gcc.dg/vect/vect-early-break_117-pr113734.c | 37 + gcc/testsuite/gcc.dg/vect/vect-novect_gcond.c | 39 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c | 2 + gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c | 2 + gcc/testsuite/gcc.misc-tests/options.exp | 2 +- .../gcc.target/aarch64/acle/rwsr-armv8p9.c | 99 + gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c | 3 +- gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c | 3 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-1.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-10.c | 3 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-11.c | 3 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-12.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-2.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-3.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-4.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-5.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-6.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-7.c | 3 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-8.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-compile-alt-9.c | 2 +- gcc/testsuite/gcc.target/arm/fp16-rounding-alt-1.c | 4 +- gcc/testsuite/gcc.target/arm/pr97969.c | 23 +- gcc/testsuite/gcc.target/i386/apx-ndd-2.c | 17 + .../gcc.target/i386/apx-ndd-base-index-1.c | 50 + .../gcc.target/i386/apx-ndd-no-seg-global-1.c | 74 + gcc/testsuite/gcc.target/i386/apx-ndd-seg-1.c | 98 + gcc/testsuite/gcc.target/i386/apx-ndd-seg-2.c | 98 + gcc/testsuite/gcc.target/i386/apx-ndd-seg-3.c | 14 + gcc/testsuite/gcc.target/i386/apx-ndd-seg-4.c | 9 + gcc/testsuite/gcc.target/i386/apx-ndd-seg-5.c | 13 + gcc/testsuite/gcc.target/i386/apx-ndd-tls-1a.c | 41 + gcc/testsuite/gcc.target/i386/apx-ndd-tls-2.c | 38 + gcc/testsuite/gcc.target/i386/apx-ndd-tls-3.c | 16 + gcc/testsuite/gcc.target/i386/apx-ndd-tls-4.c | 31 + gcc/testsuite/gcc.target/i386/apx-ndd-x32-1.c | 49 + gcc/testsuite/gcc.target/i386/asm-raw-symbol.c | 4 +- gcc/testsuite/gcc.target/i386/pr113415.c | 11 + gcc/testsuite/gcc.target/i386/pr113689-1.c | 2 + gcc/testsuite/gcc.target/i386/pr113689-2.c | 2 + gcc/testsuite/gcc.target/i386/pr113689-3.c | 2 + gcc/testsuite/gcc.target/i386/pr113690.c | 12 + gcc/testsuite/gcc.target/i386/pr113871-1a.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-1b.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-2a.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-2b.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-3a.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-3b.c | 19 + gcc/testsuite/gcc.target/i386/pr113871-4a.c | 19 + gcc/testsuite/gcc.target/i386/pr113876.c | 10 + gcc/testsuite/gcc.target/riscv/pr113742.c | 4 + gcc/testsuite/gcc.target/riscv/rvv/base/abi-1.c | 2 +- .../gcc.target/riscv/rvv/base/pr113766-1.c | 126 +- gcc/testsuite/gcc.target/riscv/rvv/base/pragma-2.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/pragma-3.c | 2 +- gcc/testsuite/gdc.dg/imports/pr113125.d | 2 + gcc/testsuite/gdc.dg/pr113125.d | 4 + gcc/testsuite/gdc.dg/torture/pr113758.d | 19 + gcc/testsuite/gdc.test/compilable/commontype.d | 20 +- gcc/testsuite/gdc.test/compilable/test3543.d | 80 + gcc/testsuite/gdc.test/runnable/mangle.d | 1 + gcc/testsuite/gdc.test/runnable/testmodule.d | 2 + gcc/testsuite/gdc.test/runnable/ufcs.d | 2 + gcc/testsuite/gfortran.dg/allocatable_length.f90 | 9 + .../gfortran.dg/arithmetic_overflow_2.f90 | 12 + gcc/testsuite/gfortran.dg/bind_c_optional-2.f90 | 105 + gcc/testsuite/gfortran.dg/fmt_en.f90 | 2 +- gcc/testsuite/gfortran.dg/fmt_en_rd.f90 | 2 +- gcc/testsuite/gfortran.dg/fmt_en_rn.f90 | 2 +- gcc/testsuite/gfortran.dg/fmt_en_ru.f90 | 2 +- gcc/testsuite/gfortran.dg/fmt_en_rz.f90 | 2 +- .../gfortran.dg/gomp/declare-variant-1.f90 | 4 +- .../gfortran.dg/gomp/declare-variant-11.f90 | 4 +- .../gfortran.dg/gomp/declare-variant-12.f90 | 12 +- .../gfortran.dg/gomp/declare-variant-13.f90 | 2 +- .../gfortran.dg/gomp/declare-variant-2.f90 | 8 +- .../gfortran.dg/gomp/declare-variant-20.f90 | 51 + .../gfortran.dg/gomp/declare-variant-2a.f90 | 4 +- .../gfortran.dg/gomp/declare-variant-3.f90 | 8 +- .../gfortran.dg/gomp/declare-variant-4.f90 | 8 +- .../gfortran.dg/gomp/declare-variant-6.f90 | 14 +- .../gfortran.dg/gomp/declare-variant-8.f90 | 2 +- gcc/testsuite/gfortran.dg/pr105847.f90 | 39 + gcc/testsuite/gfortran.dg/pr109358.f90 | 14 + gcc/testsuite/gfortran.dg/pr99210.f90 | 29 + .../vect/vect-early-break_1-pr113808.f90 | 21 + gcc/testsuite/gnat.dg/div_zero.adb | 2 +- gcc/testsuite/lib/gdc-utils.exp | 5 + gcc/testsuite/lib/target-supports.exp | 28 +- gcc/tree-cfg.cc | 9 +- gcc/tree-dfa.cc | 5 +- gcc/tree-if-conv.cc | 41 +- gcc/tree-into-ssa.cc | 7 +- gcc/tree-ssa-dom.cc | 7 +- gcc/tree-ssa-loop-split.cc | 3 +- gcc/tree-ssa-sccvn.cc | 124 +- gcc/tree-ssa-tail-merge.cc | 3 + gcc/tree-vect-data-refs.cc | 10 +- gcc/tree-vect-loop.cc | 39 +- gcc/tree.cc | 21 +- gcc/value-relation.cc | 1 + gcc/var-tracking.cc | 4 +- gcc/varasm.cc | 2 +- libatomic/ChangeLog | 7 + libatomic/Makefile.am | 1 + libatomic/Makefile.in | 3 +- libcc1/ChangeLog | 6 + libcc1/libcp1plugin.cc | 4 +- libgcc/ChangeLog | 44 + libgcc/config.host | 1 + libgcc/config/i386/heap-trampoline.c | 78 +- libgcc/config/i386/libgcc-darwin.ver | 24 +- libgcc/soft-fp/bitint.h | 6 +- libgcc/soft-fp/fixddbitint.c | 2 +- libgcc/soft-fp/fixsdbitint.c | 2 +- libgcc/soft-fp/fixtdbitint.c | 4 +- libgcc/soft-fp/floatbitintdd.c | 12 +- libgcc/soft-fp/floatbitintsd.c | 2 +- libgcc/soft-fp/floatbitinttd.c | 20 +- libgfortran/ChangeLog | 11 + libgfortran/io/read.c | 17 + libgfortran/io/transfer.c | 14 +- libgm2/ChangeLog | 20 + libgm2/config.h.in | 18 +- libgm2/configure | 348 +- libgm2/configure.ac | 8 +- libgm2/libm2iso/wraptime.cc | 4 +- libgm2/libm2pim/dtoa.cc | 4 +- libgm2/libm2pim/ldtoa.cc | 4 +- libgomp/ChangeLog | 13 + libgomp/configure.tgt | 4 + libgomp/testsuite/libgomp.c/alloc-pinned-1.c | 5 +- libgomp/testsuite/libgomp.c/alloc-pinned-2.c | 5 +- libiberty/ChangeLog | 6 + libiberty/hashtab.c | 23 +- libiberty/vprintf-support.c | 65 +- libphobos/ChangeLog | 11 + libphobos/configure | 2 +- libphobos/configure.ac | 2 +- libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/core/demangle.d | 160 +- libphobos/libdruntime/core/internal/atomic.d | 2 +- .../core/internal/gc/impl/conservative/gc.d | 39 +- libphobos/libdruntime/core/internal/qsort.d | 5 +- libphobos/libdruntime/core/memory.d | 1 + libphobos/libdruntime/core/thread/osthread.d | 2 + libphobos/libdruntime/core/time.d | 4 + libphobos/libdruntime/rt/aaA.d | 1 + libphobos/libdruntime/rt/lifetime.d | 1 + libstdc++-v3/ChangeLog | 46 + libstdc++-v3/doc/html/manual/status.html | 4 +- libstdc++-v3/doc/xml/manual/status_cxx2023.xml | 4 +- libstdc++-v3/include/bits/basic_string.h | 2 +- libstdc++-v3/include/bits/c++config | 4 - libstdc++-v3/include/bits/gslice.h | 2 + libstdc++-v3/include/bits/random.h | 116 +- libstdc++-v3/include/bits/shared_ptr_atomic.h | 2 +- libstdc++-v3/include/bits/stl_algo.h | 10 +- libstdc++-v3/include/bits/stl_pair.h | 5 + libstdc++-v3/include/std/bitset | 16 +- libstdc++-v3/include/std/type_traits | 9 +- libstdc++-v3/include/std/valarray | 8 +- libstdc++-v3/include/tr2/type_traits | 5 +- libstdc++-v3/src/c++20/tzdata.zi | 4016 ++++++++++---------- libstdc++-v3/src/c++20/tzdb.cc | 4 +- .../21_strings/basic_string/modifiers/constexpr.cc | 14 + .../random/linear_congruential_engine/87744.cc | 22 + .../testsuite/26_numerics/random/pr60037-neg.cc | 2 +- .../testsuite/26_numerics/valarray/99117.cc | 17 + 384 files changed, 9278 insertions(+), 3627 deletions(-)