https://gcc.gnu.org/g:000c6d0a37b729c62d89f924bd6152b593bd39b9
commit 000c6d0a37b729c62d89f924bd6152b593bd39b9 Merge: 59bc3e7924ed 78dff4c25c1b Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Fri Mar 22 09:58:02 2024 +0100 Merge commit 'cde6f1085b7027f6a42fdb71c786d422606a8765^' into HEAD Diff: contrib/ChangeLog | 25 + contrib/analyze_brprob.py | 2 +- contrib/analyze_brprob_spec.py | 2 +- contrib/check-params-in-docs.py | 2 +- contrib/check_GNU_style.py | 2 +- contrib/check_GNU_style_lib.py | 2 +- contrib/filter-clang-warnings.py | 2 +- contrib/gcc-changelog/git_check_commit.py | 2 +- contrib/gcc-changelog/git_commit.py | 2 +- contrib/gcc-changelog/git_email.py | 2 +- contrib/gcc-changelog/git_repository.py | 2 +- contrib/gcc-changelog/git_update_version.py | 2 +- contrib/gcc-changelog/test_email.py | 2 +- contrib/gen_autofdo_event.py | 2 +- contrib/mark_spam.py | 2 +- contrib/unicode/GraphemeBreakProperty.txt | 1475 ++++++++++++++++++++ contrib/unicode/README | 12 +- contrib/unicode/emoji-data.txt | 1320 ++++++++++++++++++ contrib/unicode/gen-box-drawing-chars.py | 2 +- contrib/unicode/gen-combining-chars.py | 2 +- contrib/unicode/gen-printable-chars.py | 2 +- contrib/unicode/gen_libstdcxx_unicode_data.py | 222 +++ contrib/unicode/gen_wcwidth.py | 4 +- gcc/ChangeLog | 596 ++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 5 + gcc/analyzer/ChangeLog | 33 + gcc/asan.cc | 6 +- gcc/c-family/ChangeLog | 4 + gcc/config/aarch64/aarch64-ldp-fusion.cc | 9 + gcc/config/aarch64/aarch64.cc | 15 +- gcc/config/aarch64/aarch64.opt | 7 +- gcc/config/alpha/alpha.cc | 5 +- gcc/config/arm/aout.h | 2 +- gcc/config/arm/arm.cc | 2 +- gcc/config/arm/neon.md | 49 + gcc/config/bfin/bfin.h | 16 +- gcc/config/c6x/c6x.h | 2 +- gcc/config/gcn/gcn.cc | 5 +- gcc/config/gcn/mkoffload.cc | 52 +- gcc/config/h8300/h8300.h | 2 +- gcc/config/i386/i386-features.cc | 364 ++--- gcc/config/i386/i386.cc | 2 +- gcc/config/i386/i386.opt | 3 +- gcc/config/ia64/ia64.cc | 5 +- gcc/config/loongarch/lasx.md | 35 +- gcc/config/loongarch/loongarch.cc | 19 +- gcc/config/loongarch/lsx.md | 26 - gcc/config/loongarch/predicates.md | 16 - gcc/config/mcore/mcore-elf.h | 2 +- gcc/config/microblaze/microblaze.cc | 3 +- gcc/config/mips/mips.cc | 19 +- gcc/config/pa/pa.cc | 3 +- gcc/config/riscv/riscv-protos.h | 1 + gcc/config/riscv/riscv-v.cc | 28 +- gcc/config/riscv/riscv-vector-costs.cc | 63 +- gcc/config/riscv/riscv-vsetvl.cc | 21 +- gcc/config/riscv/riscv.cc | 2 +- gcc/config/riscv/vector.md | 13 +- gcc/config/rs6000/rs6000.cc | 4 +- gcc/config/s390/s390.cc | 2 +- gcc/cp/ChangeLog | 22 + gcc/cp/module.cc | 9 +- gcc/cp/parser.cc | 100 +- gcc/d/ChangeLog | 5 + gcc/defaults.h | 2 +- gcc/doc/extend.texi | 6 + gcc/doc/invoke.texi | 25 +- gcc/final.cc | 3 - gcc/fortran/ChangeLog | 12 + gcc/fortran/iresolve.cc | 10 +- gcc/gimple-match-head.cc | 20 +- gcc/go/ChangeLog | 5 + gcc/internal-fn.cc | 15 +- gcc/lto/ChangeLog | 5 + gcc/m2/ChangeLog | 5 + gcc/match.pd | 6 + gcc/options-urls-cc-gen.awk | 2 +- gcc/output.h | 4 + gcc/regenerate-opt-urls.py | 2 +- gcc/rust/ChangeLog | 5 + gcc/testsuite/ChangeLog | 431 ++++++ gcc/testsuite/g++.dg/modules/init-5_a.C | 9 + gcc/testsuite/g++.dg/modules/init-5_b.C | 10 + gcc/testsuite/g++.dg/modules/mod-invalid-1.C | 7 + gcc/testsuite/g++.dg/modules/part-8_a.C | 6 + gcc/testsuite/g++.dg/modules/part-8_b.C | 6 + gcc/testsuite/g++.dg/modules/part-8_c.C | 8 + gcc/testsuite/g++.dg/modules/part-hdr-1_c.C | 2 +- gcc/testsuite/g++.dg/modules/part-mac-1_c.C | 2 +- gcc/testsuite/g++.dg/modules/using-11.h | 2 + gcc/testsuite/g++.dg/modules/using-11_a.C | 9 + gcc/testsuite/g++.dg/modules/using-11_b.C | 8 + gcc/testsuite/g++.dg/pr113217.C | 15 + .../gcc.c-torture/compile/attr-complex-method-2.c | 3 +- gcc/testsuite/gcc.c-torture/compile/pr106537-1.c | 6 +- gcc/testsuite/gcc.c-torture/compile/pr106537-2.c | 6 +- gcc/testsuite/gcc.c-torture/compile/pr106537-3.c | 6 +- gcc/testsuite/gcc.c-torture/compile/pr113201.c | 15 + gcc/testsuite/gcc.c-torture/execute/20230630-3.c | 2 +- gcc/testsuite/gcc.c-torture/execute/20230630-4.c | 2 +- gcc/testsuite/gcc.c-torture/execute/pr109938.c | 1 + gcc/testsuite/gcc.c-torture/execute/pr109986.c | 1 + gcc/testsuite/gcc.dg/builtin-bswap-13.c | 4 + gcc/testsuite/gcc.dg/builtin-bswap-14.c | 4 +- .../gcc.dg/builtin-dynamic-object-size-0.c | 1 + gcc/testsuite/gcc.dg/builtin-object-size-1.c | 4 + gcc/testsuite/gcc.dg/builtin-object-size-2.c | 4 + gcc/testsuite/gcc.dg/builtin-object-size-3.c | 4 + gcc/testsuite/gcc.dg/builtin-object-size-4.c | 4 + gcc/testsuite/gcc.dg/c23-constexpr-9.c | 1 + gcc/testsuite/gcc.dg/c23-nullptr-1.c | 1 + gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-2.c | 4 + gcc/testsuite/gcc.dg/debug/btf/btf-pr106773.c | 4 +- gcc/testsuite/gcc.dg/fma-3.c | 2 +- gcc/testsuite/gcc.dg/fma-4.c | 2 +- gcc/testsuite/gcc.dg/fma-6.c | 2 +- gcc/testsuite/gcc.dg/fma-7.c | 2 +- gcc/testsuite/gcc.dg/fold-ior-4.c | 1 + gcc/testsuite/gcc.dg/fold-ior-5.c | 1 + gcc/testsuite/gcc.dg/fold-parity-5.c | 1 + gcc/testsuite/gcc.dg/fold-popcount-5.c | 1 + gcc/testsuite/gcc.dg/loop-unswitch-10.c | 1 + gcc/testsuite/gcc.dg/loop-unswitch-11.c | 1 + gcc/testsuite/gcc.dg/loop-unswitch-14.c | 1 + gcc/testsuite/gcc.dg/memchr-3.c | 2 +- gcc/testsuite/gcc.dg/pr101836.c | 4 +- gcc/testsuite/gcc.dg/pr101836_1.c | 4 +- gcc/testsuite/gcc.dg/pr101836_2.c | 4 +- gcc/testsuite/gcc.dg/pr101836_3.c | 2 +- gcc/testsuite/gcc.dg/pr103207.c | 2 +- gcc/testsuite/gcc.dg/pr103451.c | 2 +- gcc/testsuite/gcc.dg/pr109977.c | 4 +- gcc/testsuite/gcc.dg/pr110496.c | 2 +- gcc/testsuite/gcc.dg/pr110506-2.c | 2 +- gcc/testsuite/gcc.dg/pr110582.c | 1 + gcc/testsuite/gcc.dg/pr111039.c | 4 + gcc/testsuite/gcc.dg/pr111070.c | 4 +- gcc/testsuite/gcc.dg/pr111599.c | 4 + gcc/testsuite/gcc.dg/torture/pr110838.c | 4 +- gcc/testsuite/gcc.dg/torture/pr112282.c | 10 +- gcc/testsuite/gcc.dg/tree-ssa/bitcmp-5.c | 3 + gcc/testsuite/gcc.dg/tree-ssa/bitcmp-6.c | 4 + gcc/testsuite/gcc.dg/tree-ssa/bitops-bool-1.c | 14 + .../gcc.dg/tree-ssa/cltz-complement-max.c | 4 + gcc/testsuite/gcc.dg/tree-ssa/cltz-max.c | 4 + gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-8.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-9.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/negneg-3.c | 3 +- gcc/testsuite/gcc.dg/tree-ssa/phi-opt-25b.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/popcount-max.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr111583-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr111583-2.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr55177-1.c | 4 +- gcc/testsuite/gcc.dg/vect/bb-slp-pattern-1.c | 1 + .../vect/costmodel/riscv/rvv/dynamic-lmul4-12.c | 40 + .../vect/costmodel/riscv/rvv/dynamic-lmul8-13.c | 74 + .../vect/costmodel/riscv/rvv/dynamic-lmul8-14.c | 64 + gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c | 1 + gcc/testsuite/gcc.dg/vect/vect-82.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-83.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-12.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-23.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_2.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_7.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_75.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_77.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_82.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_88.c | 2 +- .../gcc.dg/vect/vect-widen-mult-const-s16.c | 1 + .../gcc.dg/vect/vect-widen-mult-const-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-half-u8.c | 1 + gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c | 1 + gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8-s16-s32.c | 1 + gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c | 1 + gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c | 1 + gcc/testsuite/gcc.target/aarch64/pr113104.c | 25 + .../gcc.target/aarch64/sve/cond_arith_1.c | 2 +- .../gcc.target/aarch64/sve/cond_arith_1_run.c | 2 +- .../gcc.target/aarch64/sve/cond_arith_3.c | 2 +- .../gcc.target/aarch64/sve/cond_arith_3_run.c | 2 +- .../gcc.target/aarch64/sve/gather_load_6.c | 2 +- .../gcc.target/aarch64/sve/gather_load_7.c | 2 +- .../gcc.target/aarch64/sve/load_const_offset_2.c | 2 +- .../gcc.target/aarch64/sve/load_const_offset_3.c | 2 +- .../gcc.target/aarch64/sve/mask_gather_load_6.c | 2 +- .../gcc.target/aarch64/sve/mask_gather_load_7.c | 2 +- .../gcc.target/aarch64/sve/mask_load_slp_1.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_load_1.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_load_2.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_load_3.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_load_4.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_store_1.c | 2 +- .../aarch64/sve/mask_struct_store_1_run.c | 2 +- .../gcc.target/aarch64/sve/mask_struct_store_2.c | 2 +- .../aarch64/sve/mask_struct_store_2_run.c | 2 +- gcc/testsuite/gcc.target/aarch64/sve/pack_1.c | 2 +- gcc/testsuite/gcc.target/aarch64/sve/reduc_4.c | 2 +- .../gcc.target/aarch64/sve/scatter_store_6.c | 2 +- .../gcc.target/aarch64/sve/scatter_store_7.c | 2 +- .../gcc.target/aarch64/sve/strided_load_3.c | 2 +- .../gcc.target/aarch64/sve/strided_store_3.c | 2 +- .../gcc.target/aarch64/sve/unpack_fcvt_signed_1.c | 2 +- .../aarch64/sve/unpack_fcvt_unsigned_1.c | 2 +- .../gcc.target/aarch64/sve/unpack_signed_1.c | 2 +- .../gcc.target/aarch64/sve/unpack_unsigned_1.c | 2 +- .../gcc.target/aarch64/sve/unpack_unsigned_1_run.c | 2 +- gcc/testsuite/gcc.target/aarch64/sve/vcond_11.c | 2 +- .../gcc.target/aarch64/sve/vcond_11_run.c | 2 +- .../gcc.target/arm/vect-early-break-cbranch.c | 138 ++ gcc/testsuite/gcc.target/avr/lra-cpymem_qi.c | 2 +- gcc/testsuite/gcc.target/avr/lra-elim.c | 2 +- gcc/testsuite/gcc.target/avr/pr112830.c | 2 +- gcc/testsuite/gcc.target/avr/pr46779-1.c | 2 +- gcc/testsuite/gcc.target/avr/pr46779-2.c | 2 +- gcc/testsuite/gcc.target/avr/pr86869.c | 3 +- gcc/testsuite/gcc.target/avr/pr89270.c | 3 +- .../gcc.target/avr/torture/addr-space-1-1.c | 4 + .../gcc.target/avr/torture/addr-space-2-1.c | 4 + .../gcc.target/avr/torture/builtins-2-flash.c | 4 + gcc/testsuite/gcc.target/i386/pr113231.c | 8 + gcc/testsuite/gcc.target/i386/pr90693-2.c | 33 + .../gcc.target/loongarch/vect-ld-st-imm12.c | 15 + .../loongarch/vector/lasx/lasx-xvpermi_q.c | 64 + .../loongarch/vector/lasx/lasx-xvpremi.c | 19 - .../rvv/autovec/binop/shift-scalar-template.h | 5 +- .../riscv/rvv/autovec/cond/cond_fmax-1.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax-2.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax-3.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax-4.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c | 1 - .../riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin-1.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin-2.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin-3.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin-4.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c | 1 - .../riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c | 1 - .../riscv/rvv/autovec/partial/single_rgroup-2.h | 9 +- .../riscv/rvv/autovec/partial/single_rgroup-3.h | 81 +- .../gcc.target/riscv/rvv/autovec/pr112694-1.c | 4 +- .../riscv/rvv/autovec/unop/abs-template.h | 1 - .../riscv/rvv/autovec/unop/vneg-template.h | 1 - .../riscv/rvv/autovec/unop/vnot-template.h | 1 - gcc/testsuite/gcc.target/riscv/rvv/base/vf_avl-4.c | 13 + .../gcc.target/riscv/rvv/vsetvl/pr113248.c | 15 + .../gfortran.dg/bind_c_array_params_2.f90 | 4 +- gcc/testsuite/gfortran.dg/dtio_25.f90 | 2 +- gcc/testsuite/gfortran.dg/namelist_57.f90 | 2 +- gcc/testsuite/gfortran.dg/namelist_65.f90 | 2 +- gcc/testsuite/gfortran.dg/repeat_8.f90 | 123 ++ gcc/testsuite/gfortran.dg/vect/pr60510.f | 1 - gcc/testsuite/lib/target-supports.exp | 224 ++- gcc/tree-scalar-evolution.cc | 2 +- gcc/tree-ssa-math-opts.cc | 20 +- gcc/varasm.cc | 14 + libbacktrace/Makefile.in | 2 +- libcpp/ChangeLog | 7 + libgfortran/ChangeLog | 4 + libgfortran/io/write.c | 2 + libgm2/ChangeLog | 4 + libgm2/libm2iso/RTco.cc | 2 +- libgomp/ChangeLog | 13 + libgomp/Makefile.in | 2 +- libgomp/configure | 2 +- libgomp/libgomp.texi | 169 ++- libphobos/Makefile.in | 2 +- libphobos/libdruntime/Makefile.in | 2 +- libstdc++-v3/ChangeLog | 77 + libstdc++-v3/include/Makefile.am | 2 + libstdc++-v3/include/Makefile.in | 2 + libstdc++-v3/include/bits/char_traits.h | 16 +- libstdc++-v3/include/bits/chrono_io.h | 15 +- libstdc++-v3/include/bits/locale_classes.tcc | 5 +- libstdc++-v3/include/bits/unicode-data.h | 449 ++++++ libstdc++-v3/include/bits/unicode.h | 1065 ++++++++++++++ libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 141 +- libstdc++-v3/include/std/chrono | 79 +- libstdc++-v3/include/std/format | 182 ++- libstdc++-v3/include/std/generator | 8 +- libstdc++-v3/include/std/ostream | 4 +- libstdc++-v3/include/std/print | 4 +- libstdc++-v3/include/std/type_traits | 34 +- libstdc++-v3/libsupc++/unwind-cxx.h | 2 +- libstdc++-v3/src/c++17/fs_path.cc | 34 +- libstdc++-v3/src/c++23/print.cc | 2 +- libstdc++-v3/src/libbacktrace/Makefile.in | 2 +- libstdc++-v3/testsuite/20_util/duration/io.cc | 3 +- .../20_util/is_trivially_destructible/value_v.cc | 40 + libstdc++-v3/testsuite/20_util/variant/87619.cc | 2 - .../21_strings/char_traits/requirements/113200.cc | 20 + libstdc++-v3/testsuite/ext/unicode/view.cc | 102 ++ .../testsuite/std/format/arguments/args.cc | 26 +- .../testsuite/std/format/arguments/args_neg.cc | 12 + .../testsuite/std/format/arguments/lwg3810.cc | 8 +- .../testsuite/std/format/functions/format.cc | 100 +- .../testsuite/std/format/functions/vformat_to.cc | 9 +- .../testsuite/std/format/runtime_format.cc | 37 + libstdc++-v3/testsuite/std/format/string.cc | 7 +- libstdc++-v3/testsuite/std/time/day/io.cc | 4 +- libstdc++-v3/testsuite/std/time/month/1.cc | 19 + libstdc++-v3/testsuite/std/time/month/2.cc | 32 + libstdc++-v3/testsuite/std/time/month/io.cc | 4 +- libstdc++-v3/testsuite/std/time/weekday/1.cc | 16 +- libstdc++-v3/testsuite/std/time/weekday/2.cc | 32 + libstdc++-v3/testsuite/std/time/weekday/io.cc | 4 +- libstdc++-v3/testsuite/std/time/year/io.cc | 4 +- .../testsuite/std/time/year_month_day/io.cc | 4 +- .../tr1/8_c_compatibility/cinttypes/functions.cc | 4 +- 315 files changed, 8518 insertions(+), 969 deletions(-)