https://gcc.gnu.org/g:20e73534b5a3aeac8624799d31783f12f24e29cb
commit 20e73534b5a3aeac8624799d31783f12f24e29cb Merge: f890bd2c90be d64ca1535102 Author: Jakub Jelinek <ja...@redhat.com> Date: Sat Jan 11 11:24:26 2025 +0100 Merge commit 'r15-6820-gd64ca15351029164bac30b49fb3c4f9723e755de' into redhat/gcc-15-branch Diff: gcc/ChangeLog | 378 +++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 69 + gcc/ada/accessibility.adb | 9 + gcc/ada/contracts.adb | 4 +- gcc/ada/debug.adb | 6 +- gcc/ada/env.h | 3 +- gcc/ada/exp_attr.adb | 8 +- gcc/ada/exp_ch3.adb | 10 +- gcc/ada/exp_put_image.adb | 2 + gcc/ada/freeze.adb | 8 +- gcc/ada/gen_il-gen-gen_nodes.adb | 82 +- gcc/ada/libgnat/a-comutr.adb | 49 - gcc/ada/libgnat/a-comutr.ads | 39 + gcc/ada/sem_ch12.adb | 15 +- gcc/ada/sem_ch3.adb | 13 +- gcc/ada/sem_ch4.adb | 12 +- gcc/ada/sem_ch6.adb | 12 +- gcc/ada/sem_util.adb | 9 +- gcc/c/ChangeLog | 19 + gcc/c/c-decl.cc | 2 +- gcc/c/c-parser.cc | 1 + gcc/c/c-typeck.cc | 3 + gcc/cfgloopmanip.cc | 2 +- gcc/config/aarch64/aarch64-arches.def | 8 +- gcc/config/aarch64/aarch64-cores.def | 2 +- gcc/config/aarch64/aarch64-option-extensions.def | 18 +- gcc/config/aarch64/aarch64.cc | 47 +- gcc/config/aarch64/aarch64.h | 12 +- gcc/config/aarch64/aarch64.md | 8 +- gcc/config/aarch64/arm_acle.h | 4 +- gcc/config/aarch64/arm_neon.h | 4 +- gcc/config/arm/arm-mve-builtins.cc | 52 +- gcc/config/arm/arm.h | 5 +- gcc/config/loongarch/lasx.md | 2 +- gcc/config/loongarch/loongarch-protos.h | 2 +- gcc/config/loongarch/loongarch.cc | 20 +- gcc/config/loongarch/loongarch.md | 34 +- gcc/config/loongarch/lsx.md | 2 +- gcc/config/nvptx/nvptx.cc | 4 +- gcc/config/nvptx/nvptx.md | 92 +- gcc/config/s390/s390-protos.h | 2 +- gcc/config/s390/s390.cc | 22 +- gcc/config/s390/s390.md | 115 +- gcc/cp/ChangeLog | 113 + gcc/cp/call.cc | 68 +- gcc/cp/constexpr.cc | 13 +- gcc/cp/constraint.cc | 4 +- gcc/cp/cp-tree.h | 1 + gcc/cp/decl.cc | 11 +- gcc/cp/error.cc | 2 +- gcc/cp/method.cc | 4 +- gcc/cp/module.cc | 74 +- gcc/cp/parser.cc | 25 +- gcc/cp/pt.cc | 41 +- gcc/cp/search.cc | 7 +- gcc/cp/semantics.cc | 43 + gcc/d/ChangeLog | 45 + gcc/d/Make-lang.in | 33 +- gcc/d/d-builtins.cc | 12 +- gcc/d/d-codegen.cc | 12 +- gcc/d/d-compiler.cc | 8 +- gcc/d/d-convert.cc | 6 +- gcc/d/d-diagnostic.cc | 6 +- gcc/d/d-frontend.cc | 4 +- gcc/d/d-lang.cc | 9 +- gcc/d/d-target.cc | 28 +- gcc/d/d-tree.h | 2 +- gcc/d/decl.cc | 14 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/README.md | 42 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/access.d | 3 +- gcc/d/dmd/aggregate.d | 231 +- gcc/d/dmd/aggregate.h | 2 +- gcc/d/dmd/arrayop.d | 9 +- gcc/d/dmd/attrib.d | 295 +-- gcc/d/dmd/attrib.h | 16 - gcc/d/dmd/blockexit.d | 97 +- gcc/d/dmd/canthrow.d | 16 +- gcc/d/dmd/chkformat.d | 22 +- gcc/d/dmd/clone.d | 346 +-- gcc/d/dmd/common/bitfields.d | 72 +- gcc/d/dmd/common/outbuffer.d | 15 +- gcc/d/dmd/cond.d | 181 +- gcc/d/dmd/constfold.d | 122 +- gcc/d/dmd/cparse.d | 276 +- gcc/d/dmd/ctfeexpr.d | 32 +- gcc/d/dmd/cxxfrontend.d | 66 +- gcc/d/dmd/dcast.d | 71 +- gcc/d/dmd/dclass.d | 9 +- gcc/d/dmd/declaration.d | 493 +--- gcc/d/dmd/declaration.h | 23 +- gcc/d/dmd/delegatize.d | 11 +- gcc/d/dmd/deps.d | 141 ++ gcc/d/dmd/dimport.d | 17 +- gcc/d/dmd/dinterpret.d | 57 +- gcc/d/dmd/dmacro.d | 8 +- gcc/d/dmd/dmodule.d | 32 +- gcc/d/dmd/doc.d | 98 +- gcc/d/dmd/dscope.d | 166 +- gcc/d/dmd/dstruct.d | 156 +- gcc/d/dmd/dsymbol.d | 37 +- gcc/d/dmd/dsymbol.h | 20 +- gcc/d/dmd/dsymbolsem.d | 1342 ++++++---- gcc/d/dmd/dtemplate.d | 925 +++---- gcc/d/dmd/dtoh.d | 4 +- gcc/d/dmd/dversion.d | 1 - gcc/d/dmd/enumsem.d | 15 +- gcc/d/dmd/errors.h | 3 - gcc/d/dmd/escape.d | 989 +++----- gcc/d/dmd/expression.d | 158 +- gcc/d/dmd/expression.h | 13 - gcc/d/dmd/expressionsem.d | 2644 +++++++++++++------- gcc/d/dmd/func.d | 542 +--- gcc/d/dmd/funcsem.d | 832 +++--- gcc/d/dmd/globals.d | 23 +- gcc/d/dmd/globals.h | 10 +- gcc/d/dmd/hdrgen.d | 66 +- gcc/d/dmd/iasm.d | 2 +- gcc/d/dmd/iasmgcc.d | 224 +- gcc/d/dmd/imphint.d | 2 + gcc/d/dmd/importc.d | 8 +- gcc/d/dmd/init.d | 3 +- gcc/d/dmd/init.h | 3 +- gcc/d/dmd/initsem.d | 352 ++- gcc/d/dmd/intrange.d | 10 +- gcc/d/dmd/json.d | 1 + gcc/d/dmd/lambdacomp.d | 93 +- gcc/d/dmd/lexer.d | 19 +- gcc/d/dmd/location.d | 109 +- gcc/d/dmd/{basicmangle.d => mangle/basic.d} | 2 +- gcc/d/dmd/{cppmangle.d => mangle/cpp.d} | 25 +- gcc/d/dmd/{dmangle.d => mangle/package.d} | 24 +- gcc/d/dmd/mtype.d | 631 +---- gcc/d/dmd/mtype.h | 118 +- gcc/d/dmd/nogc.d | 94 +- gcc/d/dmd/ob.d | 5 +- gcc/d/dmd/objc.d | 4 +- gcc/d/dmd/opover.d | 1616 ++++++------ gcc/d/dmd/optimize.d | 52 +- gcc/d/dmd/parse.d | 121 +- gcc/d/dmd/postordervisitor.d | 153 -- gcc/d/dmd/pragmasem.d | 32 +- gcc/d/dmd/root/filename.d | 12 +- gcc/d/dmd/root/rmem.d | 3 + gcc/d/dmd/root/string.d | 25 +- gcc/d/dmd/safe.d | 339 ++- gcc/d/dmd/scope.h | 61 +- gcc/d/dmd/semantic2.d | 119 +- gcc/d/dmd/semantic3.d | 222 +- gcc/d/dmd/sideeffect.d | 12 +- gcc/d/dmd/statement.d | 3 +- gcc/d/dmd/statementsem.d | 71 +- gcc/d/dmd/target.d | 11 + gcc/d/dmd/target.h | 4 + gcc/d/dmd/template.h | 7 - gcc/d/dmd/templatesem.d | 88 +- gcc/d/dmd/timetrace.d | 82 + gcc/d/dmd/traits.d | 59 +- gcc/d/dmd/typesem.d | 1049 +++++--- gcc/d/dmd/typinf.d | 4 +- gcc/d/dmd/typinf.h | 2 +- gcc/d/dmd/utils.d | 76 +- gcc/d/dmd/{ => visitor}/foreachvar.d | 5 +- gcc/d/dmd/{visitor.d => visitor/package.d} | 13 +- .../{parsetimevisitor.d => visitor/parsetime.d} | 2 +- .../{permissivevisitor.d => visitor/permissive.d} | 4 +- gcc/d/dmd/{sapply.d => visitor/postorder.d} | 151 +- gcc/d/dmd/{ => visitor}/statement_rewrite_walker.d | 2 +- .../{transitivevisitor.d => visitor/transitive.d} | 8 +- gcc/d/expr.cc | 28 +- gcc/d/imports.cc | 2 +- gcc/d/toir.cc | 6 +- gcc/d/typeinfo.cc | 12 +- gcc/d/types.cc | 6 +- gcc/df-core.cc | 2 + gcc/doc/invoke.texi | 35 +- gcc/doc/passes.texi | 7 + gcc/doc/sourcebuild.texi | 6 + gcc/ext-dce.cc | 16 + gcc/fortran/ChangeLog | 28 + gcc/fortran/class.cc | 2 +- gcc/fortran/decl.cc | 19 +- gcc/fortran/module.cc | 17 +- gcc/fortran/resolve.cc | 3 +- gcc/gcse.cc | 339 ++- gcc/gimple-crc-optimization.cc | 6 +- gcc/gimple-fold.cc | 110 +- gcc/ipa-cp.cc | 33 +- gcc/lra-constraints.cc | 14 + gcc/multiple_target.cc | 15 +- gcc/passes.def | 1 + gcc/ree.cc | 12 + gcc/rtl.h | 3 +- gcc/simplify-rtx.cc | 276 +- gcc/testsuite/ChangeLog | 350 +++ .../analyzer/out-of-bounds-diagram-11.c | 28 +- .../analyzer/out-of-bounds-diagram-8.c | 28 +- gcc/testsuite/g++.dg/cpp0x/noexcept88.C | 9 + gcc/testsuite/g++.dg/cpp1z/constexpr-asm-4.C | 83 + gcc/testsuite/g++.dg/cpp1z/constexpr-asm-5.C | 367 +++ gcc/testsuite/g++.dg/cpp1z/nontype7.C | 22 + gcc/testsuite/g++.dg/cpp26/pack-indexing13.C | 23 + gcc/testsuite/g++.dg/cpp26/pack-indexing14.C | 18 + gcc/testsuite/g++.dg/cpp2a/concepts-requires39.C | 17 + gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C | 12 + gcc/testsuite/g++.dg/cpp2a/lambda-targ10.C | 17 + gcc/testsuite/g++.dg/cpp2a/lambda-uneval20.C | 15 + gcc/testsuite/g++.dg/cpp2a/spaceship-synth17.C | 19 + gcc/testsuite/g++.dg/gomp/dispatch-8.C | 10 + gcc/testsuite/g++.dg/modules/attrib-1_a.C | 13 + gcc/testsuite/g++.dg/modules/attrib-1_b.C | 10 + gcc/testsuite/g++.dg/modules/attrib-2_a.C | 12 + gcc/testsuite/g++.dg/modules/attrib-2_b.C | 9 + gcc/testsuite/g++.dg/modules/constexpr-if-1_a.C | 14 + gcc/testsuite/g++.dg/modules/constexpr-if-1_b.C | 8 + gcc/testsuite/g++.dg/modules/decomp-2_a.H | 11 + gcc/testsuite/g++.dg/modules/decomp-2_b.C | 11 + gcc/testsuite/g++.dg/modules/operator-2_a.C | 14 + gcc/testsuite/g++.dg/modules/operator-2_b.C | 8 + gcc/testsuite/g++.dg/template/dependent-base4.C | 23 + gcc/testsuite/g++.dg/template/dependent-base5.C | 22 + gcc/testsuite/g++.dg/template/non-dependent35.C | 8 + gcc/testsuite/g++.dg/vect/vect-early-break_6.cc | 25 + gcc/testsuite/g++.target/aarch64/mv-pragma.C | 31 + gcc/testsuite/gcc.c-torture/compile/pr118362.c | 19 + gcc/testsuite/gcc.c-torture/execute/pr36321.c | 3 + .../gcc.dg/analyzer/out-of-bounds-diagram-10.c | 28 +- gcc/testsuite/gcc.dg/field-merge-1.c | 6 +- gcc/testsuite/gcc.dg/field-merge-11.c | 10 +- gcc/testsuite/gcc.dg/field-merge-13.c | 2 +- gcc/testsuite/gcc.dg/field-merge-14.c | 3 +- gcc/testsuite/gcc.dg/field-merge-15.c | 2 +- gcc/testsuite/gcc.dg/field-merge-16.c | 17 +- gcc/testsuite/gcc.dg/field-merge-17.c | 48 + gcc/testsuite/gcc.dg/field-merge-18.c | 46 + gcc/testsuite/gcc.dg/field-merge-19.c | 41 + gcc/testsuite/gcc.dg/field-merge-3.c | 6 +- gcc/testsuite/gcc.dg/field-merge-4.c | 6 +- gcc/testsuite/gcc.dg/field-merge-5.c | 6 +- gcc/testsuite/gcc.dg/field-merge-8.c | 2 + gcc/testsuite/gcc.dg/field-merge-9.c | 4 +- gcc/testsuite/gcc.dg/ipa/pr118138.c | 30 + gcc/testsuite/gcc.dg/pr117866.c | 5 + gcc/testsuite/gcc.dg/pr118325.c | 1 + gcc/testsuite/gcc.dg/pr118376.c | 11 + gcc/testsuite/gcc.dg/strub-pr118007.c | 2 +- gcc/testsuite/gcc.dg/{ => torture}/crc-linux-3.c | 0 gcc/testsuite/gcc.dg/torture/pr117186.c | 15 + gcc/testsuite/gcc.dg/tree-ssa/cunroll-13.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/cunroll-14.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/gen-vect-28.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/minmax-27.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-27e.c | 118 + gcc/testsuite/gcc.dg/tree-ssa/minmax-27f.c | 118 + gcc/testsuite/gcc.dg/tree-ssa/minmax-28.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/minmax-28e.c | 117 + gcc/testsuite/gcc.dg/tree-ssa/minmax-28f.c | 117 + gcc/testsuite/gcc.dg/unroll-6.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-104.c | 1 + .../gcc.dg/vect/vect-early-break_108-pr113588.c | 2 +- .../gcc.dg/vect/vect-early-break_109-pr113588.c | 2 +- .../gcc.dg/vect/vect-early-break_110-pr113467.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_130.c | 91 + gcc/testsuite/gcc.dg/vect/vect-early-break_3.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_65.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-early-break_8.c | 2 +- .../gcc.dg/vect/vect-switch-search-line-fast.c | 3 +- gcc/testsuite/gcc.target/aarch64/acle/fpmr-1.c | 58 + gcc/testsuite/gcc.target/aarch64/acle/fpmr-2.c | 15 + gcc/testsuite/gcc.target/aarch64/acle/fpmr-3.c | 18 + gcc/testsuite/gcc.target/aarch64/acle/fpmr-4.c | 23 + gcc/testsuite/gcc.target/aarch64/cpunative/info_15 | 2 +- gcc/testsuite/gcc.target/aarch64/cpunative/info_16 | 2 +- gcc/testsuite/gcc.target/aarch64/cpunative/info_17 | 2 +- gcc/testsuite/gcc.target/aarch64/cpunative/info_8 | 2 +- gcc/testsuite/gcc.target/aarch64/cpunative/info_9 | 2 +- .../gcc.target/aarch64/cpunative/native_cpu_21.c | 2 +- .../gcc.target/aarch64/cpunative/native_cpu_22.c | 2 +- gcc/testsuite/gcc.target/aarch64/pr117186.c | 128 + .../gcc.target/aarch64/sve/gather_load_12.c | 20 + .../gcc.target/aarch64/sve/gather_load_13.c | 20 + .../gcc.target/aarch64/sve/gather_load_14.c | 20 + gcc/testsuite/gcc.target/arm/armv8_2-fp16-conv-1.c | 101 +- gcc/testsuite/gcc.target/arm/cmse/cmse-15.c | 12 + gcc/testsuite/gcc.target/arm/memset-inline-8-exe.c | 2 +- gcc/testsuite/gcc.target/arm/memset-inline-8.c | 8 +- gcc/testsuite/gcc.target/arm/pr59858.c | 4 +- gcc/testsuite/gcc.target/i386/pr118017.c | 21 + gcc/testsuite/gcc.target/i386/pr118266.c | 27 + gcc/testsuite/gcc.target/loongarch/imm-load.c | 1 + .../gcc.target/loongarch/vect-slp-two-operator.c | 38 + .../gcc.target/nvptx/__builtin_alloca_0-1-O0.c | 2 + .../gcc.target/nvptx/__builtin_alloca_0-1-O1.c | 2 + .../gcc.target/nvptx/__builtin_frame_address_0-1.c | 36 + .../gcc.target/nvptx/__builtin_stack_address-1.c | 36 + ...in_stack_save___builtin_stack_restore-1-sm_30.c | 28 + ..._builtin_stack_save___builtin_stack_restore-1.c | 8 +- gcc/testsuite/gcc.target/nvptx/alloca-1-O0.c | 49 + gcc/testsuite/gcc.target/nvptx/alloca-1-O1.c | 33 + .../nvptx/{alloca-1.c => alloca-1-sm_30.c} | 1 + gcc/testsuite/gcc.target/nvptx/alloca-2-O0.c | 12 + gcc/testsuite/gcc.target/nvptx/alloca-3-O1.c | 40 + gcc/testsuite/gcc.target/nvptx/alloca-4-O3.c | 55 + gcc/testsuite/gcc.target/nvptx/alloca-5.c | 107 + gcc/testsuite/gcc.target/nvptx/softstack.c | 2 + gcc/testsuite/gcc.target/nvptx/vla-1-O0.c | 29 + gcc/testsuite/gcc.target/nvptx/vla-1-O1.c | 40 + .../gcc.target/nvptx/{vla-1.c => vla-1-sm_30.c} | 1 + gcc/testsuite/gcc.target/s390/pr118362.c | 5 + gcc/testsuite/gcc.target/s390/uaddc-1.c | 156 ++ gcc/testsuite/gcc.target/s390/uaddc-2.c | 25 + gcc/testsuite/gcc.target/s390/uaddc-3.c | 27 + gcc/testsuite/gcc.target/s390/usubc-1.c | 156 ++ gcc/testsuite/gcc.target/s390/usubc-2.c | 25 + gcc/testsuite/gcc.target/s390/usubc-3.c | 29 + gcc/testsuite/gdc.test/compilable/compile1.d | 5 + .../gdc.test/compilable/deprecationlimit.d | 2 +- .../gdc.test/compilable/dtorfields_deprecation.d | 49 - gcc/testsuite/gdc.test/compilable/header18365.d | 2 +- gcc/testsuite/gdc.test/compilable/import_exp.d | 8 + .../gdc.test/compilable/imports/defines.c | 8 + .../gdc.test/compilable/imports/imp23812.c | 35 + .../gdc.test/compilable/imports/vcg_ast_import.d | 4 + gcc/testsuite/gdc.test/compilable/isZeroInit.d | 42 + gcc/testsuite/gdc.test/compilable/scope.d | 113 + gcc/testsuite/gdc.test/compilable/staticforeach.d | 4 +- gcc/testsuite/gdc.test/compilable/test22626.d | 7 + gcc/testsuite/gdc.test/compilable/test23812.d | 75 + gcc/testsuite/gdc.test/compilable/test24337.d | 11 + gcc/testsuite/gdc.test/compilable/test24760.d | 4 + gcc/testsuite/gdc.test/compilable/test24762.d | 11 + gcc/testsuite/gdc.test/compilable/testdefines.d | 14 + gcc/testsuite/gdc.test/compilable/vcg-ast.d | 12 + .../gdc.test/compilable/vcg_ast_compilable.d | 69 + .../fail_compilation/alias_instance_member.d | 3 +- .../fail_compilation/alias_instance_member2.d | 15 +- .../gdc.test/fail_compilation/auto_ref_inout.d | 12 + gcc/testsuite/gdc.test/fail_compilation/bug9631.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/diag9679.d | 90 +- .../gdc.test/fail_compilation/fail13123.d | 5 +- .../gdc.test/fail_compilation/fail13902.d | 25 +- .../gdc.test/fail_compilation/fail18243.d | 6 +- .../gdc.test/fail_compilation/fail19948.d | 4 +- .../gdc.test/fail_compilation/fail20183.d | 14 +- .../gdc.test/fail_compilation/fail20730b.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/fail347.d | 13 +- .../gdc.test/fail_compilation/failCopyCtor.d | 15 - .../gdc.test/fail_compilation/fail_arrayexp.d | 1 + .../gdc.test/fail_compilation/fail_opover.d | 47 +- gcc/testsuite/gdc.test/fail_compilation/ice15788.d | 4 +- gcc/testsuite/gdc.test/fail_compilation/imphint.d | 98 +- .../gdc.test/fail_compilation/imports/a18243.d | 4 +- .../gdc.test/fail_compilation/imports/b18243.d | 3 + gcc/testsuite/gdc.test/fail_compilation/misc1.d | 17 +- gcc/testsuite/gdc.test/fail_compilation/must_use.d | 7 +- .../fail_compilation/nested_template_constraint.d | 18 + .../gdc.test/fail_compilation/reserved_version.d | 89 +- .../fail_compilation/reserved_version_switch.d | 3 + gcc/testsuite/gdc.test/fail_compilation/retscope.d | 22 +- .../gdc.test/fail_compilation/retscope3.d | 2 +- .../gdc.test/fail_compilation/retscope6.d | 38 +- .../gdc.test/fail_compilation/staticassert_sema1.d | 39 + .../fail_compilation/template_enum_param.d | 17 + .../gdc.test/fail_compilation/test14238.d | 18 +- .../gdc.test/fail_compilation/test16443.d | 12 + .../gdc.test/fail_compilation/test18644.d | 6 +- .../gdc.test/fail_compilation/test21995.d | 11 + .../gdc.test/fail_compilation/test22977.d | 2 +- .../gdc.test/fail_compilation/test22999.d | 5 +- .../gdc.test/fail_compilation/test23022.d | 2 +- .../gdc.test/fail_compilation/test24680.d | 20 + .../gdc.test/fail_compilation/test24694.d | 27 + .../gdc.test/fail_compilation/trait_loc_err.d | 6 +- .../gdc.test/fail_compilation/typeerrors.d | 11 +- .../gdc.test/fail_compilation/varargsstc.d | 4 +- gcc/testsuite/gdc.test/fail_compilation/verrors5.d | 1 + gcc/testsuite/gdc.test/runnable/declaration.d | 62 + gcc/testsuite/gdc.test/runnable/ifti.d | 15 + gcc/testsuite/gdc.test/runnable/link11069a.d | 2 +- gcc/testsuite/gdc.test/runnable/mixin1.d | 5 + gcc/testsuite/gdc.test/runnable/nogc.d | 25 + gcc/testsuite/gdc.test/runnable/noreturn2.d | 16 + gcc/testsuite/gdc.test/runnable/test13613.d | 2 +- gcc/testsuite/gdc.test/runnable/test23650.d | 13 - gcc/testsuite/gdc.test/runnable/test24599.d | 24 + gcc/testsuite/gdc.test/runnable/test24819.d | 18 + gcc/testsuite/gfortran.dg/pr108434.f90 | 10 +- gcc/testsuite/gfortran.dg/vect/vect-5.f90 | 1 + gcc/testsuite/gfortran.dg/vect/vect-8.f90 | 5 +- gcc/testsuite/lib/target-supports.exp | 109 +- gcc/tree-pass.h | 1 + gcc/tree-vect-data-refs.cc | 113 +- gcc/tree-vect-generic.cc | 2 +- gcc/tree-vect-loop-manip.cc | 38 +- gcc/tree-vect-loop.cc | 4 +- gcc/tree-vect-stmts.cc | 12 +- gcc/tree-vectorizer.h | 7 +- gcc/vr-values.cc | 13 +- libatomic/ChangeLog | 6 + libatomic/config/linux/aarch64/host-config.h | 76 +- libgomp/ChangeLog | 6 + libgomp/fortran.c | 4 +- .../libgomp.oacc-fortran/privatized-ref-2.f90 | 10 - libphobos/ChangeLog | 15 + libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/core/attribute.d | 3 + libphobos/libdruntime/core/builtins.d | 43 + libphobos/libdruntime/core/cpuid.d | 6 +- libphobos/libdruntime/core/demangle.d | 6 +- .../core/internal/array/concatenation.d | 2 +- .../libdruntime/core/internal/array/construction.d | 2 +- libphobos/libdruntime/core/internal/atomic.d | 2 +- libphobos/libdruntime/core/internal/convert.d | 4 +- libphobos/libdruntime/core/internal/gc/bits.d | 2 +- .../core/internal/gc/impl/conservative/gc.d | 23 +- libphobos/libdruntime/core/lifetime.d | 2 +- libphobos/libdruntime/core/stdc/fenv.d | 10 +- libphobos/libdruntime/core/stdc/stdatomic.d | 5 +- libphobos/libdruntime/core/stdc/stdint.d | 8 + libphobos/libdruntime/core/stdc/wctype.d | 54 +- libphobos/libdruntime/core/stdcpp/allocator.d | 3 +- libphobos/libdruntime/core/stdcpp/string_view.d | 2 +- libphobos/libdruntime/core/sys/freebsd/unistd.d | 2 + libphobos/libdruntime/core/sys/linux/unistd.d | 4 + libphobos/libdruntime/core/sys/openbsd/unistd.d | 2 + libphobos/libdruntime/core/sys/posix/signal.d | 13 +- .../libdruntime/core/sys/posix/sys/resource.d | 16 +- libphobos/libdruntime/core/sys/windows/dll.d | 26 +- libphobos/libdruntime/core/sys/windows/w32api.d | 2 +- libphobos/libdruntime/core/sys/windows/winbase.d | 78 +- libphobos/libdruntime/core/sys/windows/winsock2.d | 64 +- libphobos/libdruntime/core/thread/osthread.d | 158 +- libphobos/libdruntime/core/thread/threadbase.d | 103 +- libphobos/libdruntime/core/time.d | 5 +- libphobos/libdruntime/object.d | 19 +- libphobos/libdruntime/rt/aaA.d | 10 +- libphobos/libdruntime/rt/cast_.d | 2 +- libphobos/libdruntime/rt/config.d | 3 +- libphobos/libdruntime/rt/dmain2.d | 27 +- libphobos/libdruntime/rt/lifetime.d | 122 +- libphobos/libdruntime/rt/monitor_.d | 8 +- libphobos/libdruntime/rt/util/typeinfo.d | 12 +- libphobos/src/MERGE | 2 +- libphobos/src/std/algorithm/comparison.d | 2 +- libphobos/src/std/algorithm/iteration.d | 9 +- libphobos/src/std/algorithm/mutation.d | 37 +- libphobos/src/std/algorithm/sorting.d | 99 +- libphobos/src/std/array.d | 48 +- libphobos/src/std/base64.d | 69 +- libphobos/src/std/bigint.d | 64 +- libphobos/src/std/bitmanip.d | 278 +- libphobos/src/std/checkedint.d | 12 +- libphobos/src/std/complex.d | 32 +- libphobos/src/std/concurrency.d | 3 +- libphobos/src/std/container/dlist.d | 3 +- libphobos/src/std/container/package.d | 12 +- libphobos/src/std/container/rbtree.d | 23 +- libphobos/src/std/container/slist.d | 3 +- libphobos/src/std/container/util.d | 4 +- libphobos/src/std/conv.d | 25 +- libphobos/src/std/datetime/date.d | 118 +- libphobos/src/std/datetime/interval.d | 26 +- libphobos/src/std/datetime/systime.d | 48 +- libphobos/src/std/datetime/timezone.d | 18 +- libphobos/src/std/exception.d | 8 +- .../allocator/building_blocks/package.d | 4 +- .../allocator/building_blocks/region.d | 4 +- .../allocator/building_blocks/stats_collector.d | 2 +- libphobos/src/std/experimental/allocator/common.d | 33 + .../src/std/experimental/allocator/mallocator.d | 32 +- .../std/experimental/allocator/mmap_allocator.d | 2 +- libphobos/src/std/file.d | 2 +- libphobos/src/std/format/internal/read.d | 13 +- libphobos/src/std/format/internal/write.d | 15 +- libphobos/src/std/format/package.d | 14 +- libphobos/src/std/format/write.d | 2 +- libphobos/src/std/functional.d | 2 +- libphobos/src/std/int128.d | 68 +- libphobos/src/std/internal/math/biguintcore.d | 37 +- libphobos/src/std/internal/test/dummyrange.d | 23 +- libphobos/src/std/json.d | 452 +++- libphobos/src/std/logger/core.d | 20 +- libphobos/src/std/math/exponential.d | 422 ++-- libphobos/src/std/numeric.d | 41 +- libphobos/src/std/outbuffer.d | 9 +- libphobos/src/std/parallelism.d | 22 +- libphobos/src/std/path.d | 17 +- libphobos/src/std/process.d | 194 +- libphobos/src/std/random.d | 15 +- libphobos/src/std/range/package.d | 296 ++- libphobos/src/std/range/primitives.d | 3 +- libphobos/src/std/regex/internal/backtracking.d | 4 +- libphobos/src/std/regex/internal/parser.d | 2 +- libphobos/src/std/regex/internal/thompson.d | 18 +- libphobos/src/std/regex/package.d | 2 +- libphobos/src/std/socket.d | 2 +- libphobos/src/std/stdio.d | 152 +- libphobos/src/std/string.d | 228 +- libphobos/src/std/traits.d | 6 +- libphobos/src/std/typecons.d | 128 +- libphobos/src/std/uni/package.d | 258 +- libphobos/src/std/utf.d | 6 +- libphobos/src/std/uuid.d | 5 +- libphobos/src/std/variant.d | 13 +- libstdc++-v3/ChangeLog | 5 + libstdc++-v3/include/bits/atomic_futex.h | 12 +- 508 files changed, 18321 insertions(+), 11148 deletions(-)