From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id 472DE385801A; Thu, 9 Dec 2021 10:39:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 472DE385801A Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/sphinx] Merge branch 'master' into devel/sphinx X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/heads/devel/sphinx X-Git-Oldrev: 4cba2fa027afd5f815bd9bf3965afe1972c7387c X-Git-Newrev: 7a81590757659982cb9b93b922a4c182aa40e2d8 Message-Id: <20211209103906.472DE385801A@sourceware.org> Date: Thu, 9 Dec 2021 10:39:06 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Dec 2021 10:39:06 -0000 https://gcc.gnu.org/g:7a81590757659982cb9b93b922a4c182aa40e2d8 commit 7a81590757659982cb9b93b922a4c182aa40e2d8 Merge: 4cba2fa027a 5791bf7a0a7 Author: Martin Liska Date: Thu Dec 9 11:38:40 2021 +0100 Merge branch 'master' into devel/sphinx Diff: ChangeLog | 10 + MAINTAINERS | 2 + configure | 2 +- configure.ac | 2 +- contrib/ChangeLog | 4 + contrib/filter-clang-warnings.py | 1 + gcc/ChangeLog | 681 ++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 2 +- gcc/ada/ChangeLog | 760 +++++++++++++++++++++ gcc/ada/Makefile.rtl | 2 +- gcc/ada/contracts.adb | 2 - ...ard_and_implementation_defined_restrictions.rst | 2 +- gcc/ada/exp_aggr.adb | 12 +- gcc/ada/exp_ch13.adb | 2 +- gcc/ada/exp_ch13.ads | 3 + gcc/ada/exp_ch3.adb | 374 +++++----- gcc/ada/exp_ch3.ads | 28 + gcc/ada/exp_ch6.adb | 2 +- gcc/ada/exp_imgv.adb | 3 +- gcc/ada/exp_spark.adb | 289 +++++++- gcc/ada/exp_util.adb | 1 - gcc/ada/freeze.adb | 11 +- gcc/ada/gcc-interface/Make-lang.in | 4 + gcc/ada/gcc-interface/a-assert.adb | 52 -- gcc/ada/gcc-interface/a-assert.ads | 50 -- gcc/ada/gcc-interface/decl.c | 26 +- gcc/ada/gcc-interface/gigi.h | 7 +- gcc/ada/gcc-interface/trans.c | 30 +- gcc/ada/gcc-interface/utils.c | 17 +- gcc/ada/gen_il-fields.ads | 2 + gcc/ada/gen_il-gen-gen_nodes.adb | 2 + gcc/ada/gen_il-gen.adb | 6 +- gcc/ada/gnat_rm.texi | 2 +- gcc/ada/libgnarl/a-taside.ads | 2 + gcc/ada/libgnarl/s-interr.adb | 12 +- gcc/ada/libgnarl/s-intman.ads | 4 +- gcc/ada/libgnarl/s-intman__posix.adb | 6 +- gcc/ada/libgnarl/s-mudido__affinity.adb | 6 +- gcc/ada/libgnarl/s-osinte__linux.ads | 8 +- gcc/ada/libgnarl/s-taprop__linux.adb | 8 +- gcc/ada/libgnarl/s-tasdeb.adb | 2 +- gcc/ada/libgnarl/s-tasdeb.ads | 2 +- gcc/ada/libgnarl/s-tasinf__linux.ads | 4 +- gcc/ada/libgnarl/s-taskin.adb | 2 +- gcc/ada/libgnarl/s-taskin.ads | 2 +- gcc/ada/libgnarl/s-tasren.adb | 16 +- gcc/ada/libgnarl/s-tassta.adb | 2 +- gcc/ada/libgnarl/s-tataat.adb | 2 +- gcc/ada/libgnarl/s-tpobop.adb | 12 +- gcc/ada/libgnat/a-calend.adb | 6 +- gcc/ada/libgnat/a-calend.ads | 2 +- gcc/ada/libgnat/a-cfinve.adb | 4 +- gcc/ada/libgnat/a-chahan.adb | 4 +- gcc/ada/libgnat/a-chtgbo.adb | 2 +- gcc/ada/libgnat/a-cobove.adb | 8 +- gcc/ada/libgnat/a-cofove.adb | 4 +- gcc/ada/libgnat/a-cohata.ads | 2 +- gcc/ada/libgnat/a-coinve.adb | 6 +- gcc/ada/libgnat/a-convec.adb | 12 +- gcc/ada/libgnat/a-coprnu.ads | 4 +- gcc/ada/libgnat/a-direct.adb | 14 +- gcc/ada/libgnat/a-direct.ads | 4 +- gcc/ada/libgnat/a-direio.adb | 2 +- gcc/ada/libgnat/a-nbnbre.adb | 10 +- gcc/ada/libgnat/a-ngrear.adb | 4 +- gcc/ada/libgnat/a-stbubo.adb | 6 +- gcc/ada/libgnat/a-stbufo.adb | 2 +- gcc/ada/libgnat/a-stbuun.adb | 6 +- gcc/ada/libgnat/a-stbuut.adb | 8 +- gcc/ada/libgnat/a-stmaco.ads | 44 +- gcc/ada/libgnat/a-strbou.ads | 38 +- gcc/ada/libgnat/a-strfix.ads | 6 +- gcc/ada/libgnat/a-strmap.adb | 4 +- gcc/ada/libgnat/a-strmap.ads | 2 +- gcc/ada/libgnat/a-strsup.adb | 36 +- gcc/ada/libgnat/a-strsup.ads | 36 +- gcc/ada/libgnat/a-sttebu.adb | 4 +- gcc/ada/libgnat/a-stuten.ads | 2 +- gcc/ada/libgnat/a-stwibo.ads | 4 +- gcc/ada/libgnat/a-stwima.ads | 3 +- gcc/ada/libgnat/a-stwisu.adb | 32 +- gcc/ada/libgnat/a-stzbou.ads | 6 +- gcc/ada/libgnat/a-stzmap.ads | 3 +- gcc/ada/libgnat/a-stzsup.adb | 32 +- gcc/ada/libgnat/a-swmwco.ads | 60 +- gcc/ada/libgnat/a-szmzco.ads | 60 +- gcc/ada/libgnat/a-teioed.adb | 4 +- gcc/ada/libgnat/a-wtedit.adb | 4 +- gcc/ada/libgnat/a-ztedit.adb | 4 +- gcc/ada/libgnat/g-arrspl.adb | 16 +- gcc/ada/libgnat/g-catiio.adb | 4 +- gcc/ada/libgnat/g-cgideb.adb | 4 +- gcc/ada/libgnat/g-comlin.adb | 8 +- gcc/ada/libgnat/g-comlin.ads | 4 +- gcc/ada/libgnat/g-debpoo.adb | 4 +- gcc/ada/libgnat/g-expect.adb | 10 +- gcc/ada/libgnat/g-forstr.adb | 6 +- gcc/ada/libgnat/g-memdum.adb | 4 +- gcc/ada/libgnat/g-rannum.adb | 2 +- gcc/ada/libgnat/g-sechas.adb | 6 +- gcc/ada/libgnat/g-sehamd.ads | 2 +- gcc/ada/libgnat/g-sehash.ads | 4 +- gcc/ada/libgnat/g-sercom.ads | 4 +- gcc/ada/libgnat/g-sercom__linux.adb | 12 +- gcc/ada/libgnat/g-shsh32.ads | 12 +- gcc/ada/libgnat/g-shsh64.ads | 12 +- gcc/ada/libgnat/g-socket.adb | 30 +- gcc/ada/libgnat/g-socket.ads | 40 +- gcc/ada/libgnat/g-socpol.adb | 16 +- gcc/ada/libgnat/g-socpol.ads | 8 +- gcc/ada/libgnat/g-sothco.ads | 12 +- gcc/ada/libgnat/g-spipat.adb | 4 +- gcc/ada/libgnat/i-c.adb | 472 ++++++++++++- gcc/ada/libgnat/i-c.ads | 420 +++++++++++- gcc/ada/libgnat/i-cobol.ads | 8 +- gcc/ada/libgnat/i-pacdec.adb | 4 +- gcc/ada/libgnat/i-pacdec.ads | 4 +- gcc/ada/libgnat/s-aridou.adb | 243 +++++-- gcc/ada/libgnat/s-arit32.adb | 449 +++++++++++- gcc/ada/libgnat/s-arit32.ads | 68 +- gcc/ada/libgnat/s-arit64.ads | 3 +- gcc/ada/libgnat/s-bitops.adb | 4 +- gcc/ada/libgnat/s-crc32.adb | 4 +- gcc/ada/libgnat/s-gearop.adb | 4 +- gcc/ada/libgnat/s-genbig.adb | 30 +- gcc/ada/libgnat/s-htable.adb | 2 +- gcc/ada/libgnat/s-imgboo.adb | 12 +- gcc/ada/libgnat/s-imgboo.ads | 26 +- gcc/ada/libgnat/s-imgcha.adb | 8 +- gcc/ada/libgnat/s-os_lib.adb | 2 - gcc/ada/libgnat/s-powflt.ads | 42 +- gcc/ada/libgnat/s-powlfl.ads | 90 +-- gcc/ada/libgnat/s-powllf.ads | 110 +-- gcc/ada/libgnat/s-rannum.adb | 14 +- gcc/ada/libgnat/s-rannum.ads | 2 +- gcc/ada/libgnat/s-regexp.adb | 24 +- gcc/ada/libgnat/s-regpat.adb | 20 +- gcc/ada/libgnat/s-regpat.ads | 4 +- gcc/ada/libgnat/s-scaval__128.adb | 8 +- gcc/ada/libgnat/s-statxd.adb | 22 +- gcc/ada/libgnat/s-stausa.adb | 12 +- gcc/ada/libgnat/s-strops.adb | 2 +- gcc/ada/libgnat/s-valboo.adb | 18 +- gcc/ada/libgnat/s-valboo.ads | 54 +- gcc/ada/libgnat/s-valrea.adb | 12 +- gcc/ada/libgnat/s-valuer.adb | 5 +- gcc/ada/libgnat/s-valueu.adb | 2 +- gcc/ada/libgnat/s-valuti.adb | 166 ++++- gcc/ada/libgnat/s-valuti.ads | 265 ++++++- gcc/ada/libgnat/s-wchcon.ads | 8 +- gcc/ada/libgnat/s-widint.ads | 15 +- gcc/ada/libgnat/s-widlli.ads | 15 +- gcc/ada/libgnat/s-widllli.ads | 15 +- gcc/ada/libgnat/s-widlllu.ads | 11 + gcc/ada/libgnat/s-widllu.ads | 11 + gcc/ada/libgnat/s-widthi.adb | 133 ++++ gcc/ada/libgnat/s-widthi.ads | 7 +- gcc/ada/libgnat/s-widthu.adb | 54 +- gcc/ada/libgnat/s-widthu.ads | 7 +- gcc/ada/libgnat/s-widuns.ads | 11 + gcc/ada/par-ch4.adb | 6 +- gcc/ada/rtsfind.adb | 14 +- gcc/ada/rtsfind.ads | 2 + gcc/ada/scng.adb | 4 +- gcc/ada/sem_aggr.adb | 24 +- gcc/ada/sem_ch12.adb | 276 ++++---- gcc/ada/sem_ch13.adb | 28 +- gcc/ada/sem_ch3.adb | 51 +- gcc/ada/sem_ch6.adb | 4 +- gcc/ada/sem_ch8.adb | 1 - gcc/ada/sem_util.adb | 41 +- gcc/ada/sem_util.ads | 6 +- gcc/ada/sem_warn.adb | 69 +- gcc/ada/snames.ads-tmpl | 1 - gcc/ada/sprint.adb | 5 + gcc/ada/vxworks7-cert-rtp-link__ppcXX.spec | 10 + gcc/analyzer/ChangeLog | 19 + gcc/analyzer/constraint-manager.cc | 149 +++- gcc/analyzer/constraint-manager.h | 2 + gcc/analyzer/region-model-reachability.cc | 13 + gcc/attribs.c | 2 +- gcc/attribs.h | 1 + gcc/auto-profile.c | 20 +- gcc/c-family/ChangeLog | 12 + gcc/c-family/c-pch.c | 15 - gcc/c-family/c.opt | 4 + gcc/c/ChangeLog | 24 + gcc/c/c-parser.c | 57 +- gcc/c/c-typeck.c | 102 ++- gcc/common.opt | 8 + gcc/common/config/riscv/riscv-common.c | 38 +- gcc/config.gcc | 7 + gcc/config/aarch64/aarch64-protos.h | 1 + gcc/config/aarch64/aarch64-simd.md | 65 +- gcc/config/aarch64/aarch64.c | 12 + gcc/config/avr/avr.c | 9 +- gcc/config/avr/genmultilib.awk | 16 + gcc/config/avr/t-avr | 1 + gcc/config/bpf/bpf.c | 27 +- gcc/config/darwin.c | 2 +- gcc/config/darwin.h | 9 +- gcc/config/host-darwin.c | 191 ++++-- gcc/config/i386/i386-expand.c | 15 +- gcc/config/i386/i386-options.c | 101 ++- gcc/config/i386/i386-options.h | 6 +- gcc/config/i386/i386-protos.h | 1 + gcc/config/i386/i386.c | 38 +- gcc/config/i386/i386.h | 20 +- gcc/config/i386/i386.md | 10 +- gcc/config/i386/i386.opt | 8 + gcc/config/i386/sse.md | 197 +++++- gcc/config/i386/x86-tune.def | 14 +- gcc/config/mips/mips.h | 6 +- gcc/config/mips/mips.md | 10 + gcc/config/mips/mips.opt | 4 + gcc/config/nvptx/nvptx.md | 26 + gcc/config/pa/pa.c | 4 +- gcc/config/pru/pru.c | 19 + gcc/config/riscv/arch-canonicalize | 16 +- gcc/config/riscv/riscv-opts.h | 22 + gcc/config/riscv/riscv.opt | 3 + gcc/config/rs6000/altivec.h | 518 ++------------ gcc/config/rs6000/rs6000-builtin-new.def | 30 +- gcc/config/rs6000/rs6000-c.c | 11 +- gcc/config/rs6000/rs6000-call.c | 64 +- gcc/config/rs6000/rs6000-gen-builtins.c | 2 +- gcc/config/rs6000/rs6000-internal.h | 3 + gcc/config/rs6000/rs6000.c | 43 +- gcc/config/rs6000/xmmintrin.h | 2 +- gcc/config/s390/s390.c | 2 +- gcc/config/vxworks.h | 2 +- gcc/configure | 7 +- gcc/configure.ac | 5 +- gcc/coverage.c | 3 +- gcc/cp/ChangeLog | 92 +++ gcc/cp/constexpr.c | 140 +++- gcc/cp/cp-gimplify.c | 3 +- gcc/cp/cp-tree.h | 3 + gcc/cp/cxx-pretty-print.c | 4 +- gcc/cp/error.c | 10 +- gcc/cp/parser.c | 123 ++-- gcc/cp/pt.c | 21 +- gcc/cp/semantics.c | 737 ++++++++++++++++++-- gcc/cp/tree.c | 12 + gcc/cp/typeck.c | 14 +- gcc/cse.c | 7 +- gcc/d/ChangeLog | 74 ++ gcc/d/Make-lang.in | 42 +- gcc/d/d-builtins.cc | 7 +- gcc/d/d-codegen.cc | 36 +- gcc/d/d-frontend.cc | 11 +- gcc/d/d-frontend.h | 2 +- gcc/d/d-gimplify.cc | 65 +- gcc/d/d-lang.cc | 18 +- gcc/d/d-spec.cc | 18 +- gcc/d/d-tree.h | 9 +- gcc/d/decl.cc | 155 ++--- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/README.md | 18 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/aggregate.d | 81 ++- gcc/d/dmd/aggregate.h | 17 +- gcc/d/dmd/aliasthis.d | 23 +- gcc/d/dmd/arrayop.d | 2 +- gcc/d/dmd/attrib.d | 22 +- gcc/d/dmd/blockexit.d | 4 +- gcc/d/dmd/builtin.d | 2 +- gcc/d/dmd/chkformat.d | 8 +- gcc/d/dmd/clone.d | 139 ++-- gcc/d/dmd/common/README.md | 7 + gcc/d/dmd/common/file.d | 576 ++++++++++++++++ gcc/d/dmd/{root => common}/outbuffer.d | 243 ++++++- gcc/d/dmd/{root => common}/outbuffer.h | 10 +- gcc/d/dmd/common/string.d | 209 ++++++ gcc/d/dmd/cond.d | 3 +- gcc/d/dmd/cparse.d | 225 +++++- gcc/d/dmd/cppmangle.d | 15 +- gcc/d/dmd/ctfeexpr.d | 5 + gcc/d/dmd/dcast.d | 136 +++- gcc/d/dmd/dclass.d | 23 +- gcc/d/dmd/declaration.d | 161 ++++- gcc/d/dmd/declaration.h | 9 +- gcc/d/dmd/dinterpret.d | 46 +- gcc/d/dmd/dmacro.d | 2 +- gcc/d/dmd/dmangle.d | 53 +- gcc/d/dmd/dmodule.d | 142 +--- gcc/d/dmd/doc.d | 28 +- gcc/d/dmd/dscope.d | 15 +- gcc/d/dmd/dstruct.d | 39 +- gcc/d/dmd/dsymbol.d | 110 ++- gcc/d/dmd/dsymbol.h | 20 +- gcc/d/dmd/dsymbolsem.d | 167 +++-- gcc/d/dmd/dtemplate.d | 41 +- gcc/d/dmd/dtoh.d | 31 +- gcc/d/dmd/dversion.d | 2 +- gcc/d/dmd/expression.d | 104 ++- gcc/d/dmd/expression.h | 55 +- gcc/d/dmd/expressionsem.d | 426 ++++++++---- gcc/d/dmd/file_manager.d | 301 ++++++++ gcc/d/dmd/{root/root.h => file_manager.h} | 17 +- gcc/d/dmd/func.d | 76 ++- gcc/d/dmd/globals.d | 27 +- gcc/d/dmd/globals.h | 23 +- gcc/d/dmd/gluelayer.d | 1 + gcc/d/dmd/hdrgen.d | 20 +- gcc/d/dmd/iasmgcc.d | 2 +- gcc/d/dmd/id.d | 11 + gcc/d/dmd/identifier.d | 2 +- gcc/d/dmd/importc.d | 171 +++++ gcc/d/dmd/init.d | 2 +- gcc/d/dmd/initsem.d | 128 +++- gcc/d/dmd/intrange.h | 177 ----- gcc/d/dmd/json.d | 6 +- gcc/d/dmd/lambdacomp.d | 2 +- gcc/d/dmd/lexer.d | 237 ++++++- gcc/d/dmd/lexer.h | 75 -- gcc/d/dmd/macro.h | 38 -- gcc/d/dmd/mars.h | 93 --- gcc/d/dmd/module.h | 2 +- gcc/d/dmd/mtype.d | 211 +++--- gcc/d/dmd/mtype.h | 4 + gcc/d/dmd/ob.d | 2 +- gcc/d/dmd/objc.d | 2 +- gcc/d/dmd/opover.d | 43 +- gcc/d/dmd/optimize.d | 2 + gcc/d/dmd/parse.d | 12 +- gcc/d/dmd/parse.h | 192 ------ gcc/d/dmd/printast.d | 2 +- gcc/d/dmd/root/README.md | 1 - gcc/d/dmd/root/aav.h | 22 - gcc/d/dmd/root/checkedint.h | 30 - gcc/d/dmd/root/file.d | 529 +------------- gcc/d/dmd/root/filename.d | 102 +-- gcc/d/dmd/root/hash.h | 76 --- gcc/d/dmd/root/rootobject.d | 2 +- gcc/d/dmd/root/speller.h | 16 - gcc/d/dmd/root/stringtable.h | 56 -- gcc/d/dmd/safe.d | 2 +- gcc/d/dmd/semantic2.d | 4 +- gcc/d/dmd/semantic3.d | 18 +- gcc/d/dmd/statement.d | 8 +- gcc/d/dmd/statement.h | 6 +- gcc/d/dmd/statement_rewrite_walker.h | 172 ----- gcc/d/dmd/statementsem.d | 160 ++--- gcc/d/dmd/staticcond.d | 2 +- gcc/d/dmd/target.d | 3 +- gcc/d/dmd/target.h | 3 +- gcc/d/dmd/template.h | 10 +- gcc/d/dmd/tokens.d | 2 +- gcc/d/dmd/tokens.h | 1 + gcc/d/dmd/traits.d | 33 +- gcc/d/dmd/typesem.d | 48 +- gcc/d/dmd/typinf.d | 238 ++++++- gcc/d/dmd/utf.h | 117 ---- gcc/d/dmd/utils.d | 2 +- gcc/d/expr.cc | 12 +- gcc/d/gdc.texi | 9 + gcc/d/lang.opt | 4 + gcc/d/modules.cc | 2 +- gcc/d/types.cc | 19 +- gcc/doc/gty.texi | 9 + gcc/doc/install.texi | 4 - gcc/doc/invoke.texi | 51 +- gcc/doc/tm.texi | 5 + gcc/doc/tm.texi.in | 2 + gcc/dwarf2cfi.c | 264 +++++-- gcc/dwarf2out.c | 54 +- gcc/dwarf2out.h | 36 +- gcc/expr.c | 2 +- gcc/file-prefix-map.c | 17 + gcc/file-prefix-map.h | 2 + gcc/fold-const.c | 26 +- gcc/fold-const.h | 1 + gcc/fortran/ChangeLog | 74 ++ gcc/fortran/array.c | 19 +- gcc/fortran/dump-parse-tree.c | 18 + gcc/fortran/expr.c | 25 + gcc/fortran/frontend-passes.c | 4 + gcc/fortran/gfortran.h | 4 +- gcc/fortran/match.c | 9 + gcc/fortran/openmp.c | 578 ++++++++++------ gcc/fortran/parse.c | 19 +- gcc/fortran/resolve.c | 9 +- gcc/fortran/symbol.c | 3 + gcc/fortran/trans-openmp.c | 35 +- gcc/fortran/trans-stmt.c | 17 +- gcc/gcc.c | 6 +- gcc/gengtype-state.c | 32 + gcc/gengtype.c | 39 +- gcc/gengtype.h | 6 + gcc/ggc-common.c | 52 ++ gcc/ggc.h | 4 + gcc/gimple-harden-conditionals.cc | 141 +++- gcc/gimple-range-cache.cc | 73 ++ gcc/gimple-range-cache.h | 1 + gcc/gimple-range-edge.cc | 3 + gcc/gimple-range-gori.cc | 77 ++- gcc/gimple-range-gori.h | 6 +- gcc/gimple-range-path.cc | 23 +- gcc/gimple-range-path.h | 2 - gcc/gimple-range.cc | 29 +- gcc/gimplify.c | 344 ++++++++-- gcc/hash-map.h | 6 +- gcc/ifcvt.c | 4 +- gcc/internal-fn.c | 17 + gcc/ipa-modref-tree.c | 2 +- gcc/ira-color.c | 31 +- gcc/lto-opts.c | 1 + gcc/match.pd | 22 + gcc/objc/ChangeLog | 8 + gcc/objc/objc-next-metadata-tags.h | 2 + gcc/objc/objc-next-runtime-abi-01.c | 9 +- gcc/objc/objc-next-runtime-abi-02.c | 9 +- gcc/objc/objc-runtime-shared-support.c | 9 +- gcc/omp-low.c | 2 + gcc/opt-functions.awk | 2 +- gcc/opts-common.c | 21 +- gcc/opts-global.c | 4 + gcc/opts.c | 2 + gcc/opts.h | 4 +- gcc/output.h | 14 +- gcc/predict.c | 2 +- gcc/profile-count.c | 48 +- gcc/profile-count.h | 6 + gcc/profile.c | 4 + gcc/reg-stack.c | 5 +- gcc/target.def | 8 + gcc/testsuite/ChangeLog | 450 ++++++++++++ .../c-c++-common/goacc/deep-copy-arrayofstruct.c | 5 +- gcc/testsuite/c-c++-common/goacc/pr102432.c | 23 + gcc/testsuite/c-c++-common/gomp/pr102432.c | 23 + .../c-c++-common/gomp/target-enter-data-1.c | 24 + .../c-c++-common/gomp/target-implicit-map-2.c | 52 ++ gcc/testsuite/g++.dg/cpp0x/constexpr-fp-except1.C | 4 + gcc/testsuite/g++.dg/cpp0x/decltype-bitfield1.C | 65 ++ gcc/testsuite/g++.dg/cpp0x/decltype-bitfield2.C | 18 + gcc/testsuite/g++.dg/cpp1y/decltype-auto2.C | 12 + gcc/testsuite/g++.dg/cpp1y/decltype-auto3.C | 12 + gcc/testsuite/g++.dg/cpp1y/decltype-auto4.C | 65 ++ gcc/testsuite/g++.dg/cpp1z/constexpr-if36.C | 19 + gcc/testsuite/g++.dg/cpp1z/decomp-decltype1.C | 28 + gcc/testsuite/g++.dg/cpp23/concepts-err1.C | 6 + gcc/testsuite/g++.dg/cpp2a/bit-cast11.C | 63 ++ gcc/testsuite/g++.dg/cpp2a/bit-cast12.C | 68 ++ gcc/testsuite/g++.dg/cpp2a/bit-cast13.C | 63 ++ gcc/testsuite/g++.dg/cpp2a/bit-cast14.C | 75 ++ gcc/testsuite/g++.dg/diagnostic/scope1.C | 12 + gcc/testsuite/g++.dg/ext/integer-pack5.C | 29 + gcc/testsuite/g++.dg/gomp/target-3.C | 36 + gcc/testsuite/g++.dg/gomp/target-lambda-1.C | 94 +++ gcc/testsuite/g++.dg/gomp/target-lambda-2.C | 35 + gcc/testsuite/g++.dg/gomp/target-this-1.C | 33 + gcc/testsuite/g++.dg/gomp/target-this-2.C | 49 ++ gcc/testsuite/g++.dg/gomp/target-this-3.C | 105 +++ gcc/testsuite/g++.dg/gomp/target-this-4.C | 107 +++ gcc/testsuite/g++.dg/gomp/target-this-5.C | 34 + gcc/testsuite/g++.dg/gomp/this-2.C | 24 +- gcc/testsuite/g++.dg/pr103024.C | 12 + gcc/testsuite/g++.dg/pr103530.C | 27 + gcc/testsuite/g++.dg/template/lookup18.C | 17 + gcc/testsuite/g++.dg/torture/pr71792.C | 42 ++ gcc/testsuite/g++.target/i386/pr100738-1.C | 19 + gcc/testsuite/gcc.dg/analyzer/leak-3.c | 41 ++ gcc/testsuite/gcc.dg/analyzer/pr103526.c | 50 ++ gcc/testsuite/gcc.dg/bic-bitmask-18.c | 2 +- gcc/testsuite/gcc.dg/fold-condneg-1.c | 59 ++ gcc/testsuite/gcc.dg/fold-condneg-2.c | 11 + gcc/testsuite/gcc.dg/fold-condnot-1.c | 84 +++ gcc/testsuite/gcc.dg/gomp/target-3.c | 16 + gcc/testsuite/gcc.dg/loop-unswitch-1.c | 4 +- gcc/testsuite/gcc.dg/loop-unswitch-2.c | 5 +- gcc/testsuite/gcc.dg/loop-unswitch-3.c | 7 +- gcc/testsuite/gcc.dg/loop-unswitch-4.c | 1 - gcc/testsuite/gcc.dg/loop-unswitch-5.c | 2 +- gcc/testsuite/gcc.dg/pr101145-1.c | 12 + gcc/testsuite/gcc.dg/pr101145-2.c | 15 + gcc/testsuite/gcc.dg/pr103028.c | 21 + gcc/testsuite/gcc.dg/pr103594.c | 14 + gcc/testsuite/gcc.dg/sibcall-1.c | 2 +- gcc/testsuite/gcc.dg/sibcall-10.c | 6 +- gcc/testsuite/gcc.dg/sibcall-2.c | 2 +- gcc/testsuite/gcc.dg/sibcall-3.c | 6 +- gcc/testsuite/gcc.dg/sibcall-4.c | 6 +- gcc/testsuite/gcc.dg/sibcall-9.c | 6 +- gcc/testsuite/gcc.dg/torture/pr103596.c | 36 + gcc/testsuite/gcc.dg/tree-prof/init-array.c | 43 ++ gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c | 5 +- gcc/testsuite/gcc.dg/tree-ssa/nonzero-1a.c | 11 + gcc/testsuite/gcc.dg/ubsan/pr103456.c | 2 +- gcc/testsuite/gcc.dg/vect/pr103517.c | 13 + gcc/testsuite/gcc.dg/vect/pr103544.c | 24 + gcc/testsuite/gcc.dg/vect/pr103581.c | 59 ++ .../gcc.target/aarch64/aapcs64/macro-def.h | 2 +- .../gcc.target/aarch64/advsimd-intrinsics/shrn-1.c | 15 + .../gcc.target/aarch64/advsimd-intrinsics/shrn-2.c | 11 + .../gcc.target/aarch64/advsimd-intrinsics/shrn-3.c | 11 + .../gcc.target/aarch64/advsimd-intrinsics/shrn-4.c | 11 + gcc/testsuite/gcc.target/aarch64/pr103149.c | 14 + .../gcc.target/aarch64/sve/pred-combine-and.c | 18 + gcc/testsuite/gcc.target/i386/avx512fp16-1c.c | 9 +- gcc/testsuite/gcc.target/i386/pieces-memcpy-17.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memcpy-18.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memcpy-21.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memset-45.c | 16 + gcc/testsuite/gcc.target/i386/pieces-memset-46.c | 17 + gcc/testsuite/gcc.target/i386/pieces-memset-47.c | 17 + gcc/testsuite/gcc.target/i386/pieces-memset-48.c | 17 + gcc/testsuite/gcc.target/i386/pieces-memset-49.c | 16 + gcc/testsuite/gcc.target/i386/pr102327-1.c | 9 +- gcc/testsuite/gcc.target/i386/pr102811-1.c | 11 + .../{avx512vl-vcvtps2ph-pr102811.c => pr102811.c} | 0 gcc/testsuite/gcc.target/i386/pr103097.c | 30 + gcc/testsuite/gcc.target/i386/pr103404.c | 32 + gcc/testsuite/gcc.target/i386/pr83782-1.c | 26 + gcc/testsuite/gcc.target/i386/pr83782-2.c | 26 + gcc/testsuite/gcc.target/i386/pr95740.c | 26 + gcc/testsuite/gcc.target/mips/mips.exp | 1 + gcc/testsuite/gcc.target/mips/unaligned-2.c | 53 ++ gcc/testsuite/gcc.target/mips/unaligned-3.c | 53 ++ gcc/testsuite/gcc.target/nvptx/exttrunc-1.c | 20 + gcc/testsuite/gcc.target/nvptx/exttrunc-2.c | 17 + gcc/testsuite/gcc.target/nvptx/exttrunc-3.c | 17 + gcc/testsuite/gcc.target/nvptx/exttrunc-4.c | 17 + gcc/testsuite/gcc.target/nvptx/exttrunc-5.c | 17 + gcc/testsuite/gcc.target/nvptx/exttrunc-6.c | 17 + .../gcc.target/powerpc/bfp/scalar-extract-exp-2.c | 2 +- .../gcc.target/powerpc/bfp/scalar-extract-sig-2.c | 2 +- .../gcc.target/powerpc/bfp/scalar-insert-exp-2.c | 2 +- .../gcc.target/powerpc/bfp/scalar-insert-exp-5.c | 2 +- .../gcc.target/powerpc/bfp/scalar-insert-exp-8.c | 2 +- .../gcc.target/powerpc/bfp/scalar-test-neg-2.c | 2 +- .../gcc.target/powerpc/bfp/scalar-test-neg-3.c | 2 +- .../gcc.target/powerpc/bfp/scalar-test-neg-5.c | 2 +- gcc/testsuite/gcc.target/powerpc/byte-in-set-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/cmpb-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/cmpb-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/cmpb32-2.c | 2 +- .../gcc.target/powerpc/crypto-builtin-2.c | 14 +- .../powerpc/fold-vec-splat-floatdouble.c | 4 +- .../gcc.target/powerpc/fold-vec-splat-longlong.c | 10 +- .../powerpc/fold-vec-splat-misc-invalid.c | 8 +- .../gcc.target/powerpc/int_128bit-runnable.c | 6 +- gcc/testsuite/gcc.target/powerpc/pr101324.c | 17 + gcc/testsuite/gcc.target/powerpc/pr103127.c | 19 + gcc/testsuite/gcc.target/powerpc/pr80315-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr80315-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr80315-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr80315-4.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr88100.c | 12 +- gcc/testsuite/gcc.target/powerpc/pragma_misc9.c | 4 +- gcc/testsuite/gcc.target/powerpc/pragma_power8.c | 2 + gcc/testsuite/gcc.target/powerpc/pragma_power9.c | 3 + gcc/testsuite/gcc.target/powerpc/rop-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/rop-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/rop-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/rop-4.c | 2 +- gcc/testsuite/gcc.target/powerpc/rop-5.c | 2 +- .../powerpc/test_fpscr_drn_builtin_error.c | 4 +- .../powerpc/test_fpscr_rn_builtin_error.c | 12 +- gcc/testsuite/gcc.target/powerpc/vec-gnb-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vec_reve_1.c | 4 +- .../gcc.target/powerpc/vsu/vec-all-nez-7.c | 2 +- .../gcc.target/powerpc/vsu/vec-any-eqz-7.c | 2 +- .../gcc.target/powerpc/vsu/vec-cmpnez-7.c | 2 +- .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c | 2 +- .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c | 2 +- .../gcc.target/powerpc/vsu/vec-xl-len-13.c | 2 +- .../gcc.target/powerpc/vsu/vec-xst-len-12.c | 2 +- gcc/testsuite/gcc.target/pru/pru_irq_map.c | 8 + gcc/testsuite/gcc.target/riscv/pr103302.c | 47 ++ gcc/testsuite/gdc.test/compilable/b19294.d | 69 ++ gcc/testsuite/gdc.test/compilable/cdcmp.d | 2 +- .../compilable/ddoc_markdown_tables_22285.d | 15 + gcc/testsuite/gdc.test/compilable/dtoh_ignored.d | 5 +- .../gdc.test/compilable/imports/cstuff3.c | 6 - gcc/testsuite/gdc.test/compilable/mixintype2.d | 49 ++ gcc/testsuite/gdc.test/compilable/noreturn1.d | 49 +- gcc/testsuite/gdc.test/compilable/previewall.d | 10 - .../gdc.test/compilable/reinterpretctfe.d | 14 + gcc/testsuite/gdc.test/compilable/sroa.d | 55 ++ gcc/testsuite/gdc.test/compilable/stc_traits.d | 172 +++++ gcc/testsuite/gdc.test/compilable/test15711.d | 31 + gcc/testsuite/gdc.test/compilable/test16492.d | 87 --- gcc/testsuite/gdc.test/compilable/test19482.d | 68 ++ gcc/testsuite/gdc.test/compilable/test21438.d | 15 + gcc/testsuite/gdc.test/compilable/test21794.d | 52 ++ gcc/testsuite/gdc.test/compilable/test21850.d | 35 + gcc/testsuite/gdc.test/compilable/test22214.d | 16 + gcc/testsuite/gdc.test/compilable/test22224.d | 4 + gcc/testsuite/gdc.test/compilable/test22228.d | 11 + gcc/testsuite/gdc.test/compilable/test22292.d | 155 +++++ gcc/testsuite/gdc.test/compilable/test22388.d | 22 + gcc/testsuite/gdc.test/compilable/test22410.d | 59 ++ gcc/testsuite/gdc.test/compilable/test22420.d | 88 +++ gcc/testsuite/gdc.test/compilable/test22421.d | 19 + gcc/testsuite/gdc.test/compilable/test318.d | 19 + gcc/testsuite/gdc.test/compilable/test4090.d | 17 - gcc/testsuite/gdc.test/compilable/test9766.d | 4 +- gcc/testsuite/gdc.test/compilable/testcstuff3.d | 4 - gcc/testsuite/gdc.test/compilable/transition_in.d | 26 + gcc/testsuite/gdc.test/compilable/zerosize.d | 13 +- .../gdc.test/fail_compilation/diag10327.d | 3 +- .../gdc.test/fail_compilation/diag20059.d | 2 +- .../gdc.test/fail_compilation/fail20618.d | 16 + .../gdc.test/fail_compilation/fail21091a.d | 3 +- .../gdc.test/fail_compilation/fail21091b.d | 3 +- .../gdc.test/fail_compilation/fail22084.d | 2 +- .../gdc.test/fail_compilation/fail22151.d | 24 + .../gdc.test/fail_compilation/fail22366.d | 15 + gcc/testsuite/gdc.test/fail_compilation/fail225.d | 17 - gcc/testsuite/gdc.test/fail_compilation/fail287.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/fail318.d | 8 - .../gdc.test/fail_compilation/fail318_b.d | 11 + gcc/testsuite/gdc.test/fail_compilation/fail7173.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/foreach.d | 14 + gcc/testsuite/gdc.test/fail_compilation/foreach2.d | 22 + gcc/testsuite/gdc.test/fail_compilation/ice10212.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/ice22377.d | 8 + gcc/testsuite/gdc.test/fail_compilation/ice7782.d | 3 +- .../gdc.test/fail_compilation/imports/imp22329.d | 4 + gcc/testsuite/gdc.test/fail_compilation/noreturn.d | 2 +- .../gdc.test/fail_compilation/noreturn2.d | 90 +++ .../gdc.test/fail_compilation/reserved_version.d | 6 + .../fail_compilation/reserved_version_switch.d | 6 + .../gdc.test/fail_compilation/test17425.d | 2 +- .../gdc.test/fail_compilation/test17868b.d | 2 +- .../gdc.test/fail_compilation/test20998.d | 120 ++++ .../gdc.test/fail_compilation/test21093.d | 56 ++ .../gdc.test/fail_compilation/test21380.d | 46 ++ .../gdc.test/fail_compilation/test21930.d | 27 + .../gdc.test/fail_compilation/test22329.d | 21 + .../gdc.test/fail_compilation/test22361.d | 11 + .../gdc.test/fail_compilation/testOpApply.d | 161 +++++ gcc/testsuite/gdc.test/runnable/aliasthis.d | 36 + gcc/testsuite/gdc.test/runnable/dhry.d | 16 + gcc/testsuite/gdc.test/runnable/fix22372.d | 38 ++ gcc/testsuite/gdc.test/runnable/interpret.d | 57 ++ gcc/testsuite/gdc.test/runnable/noreturn1.d | 47 ++ gcc/testsuite/gdc.test/runnable/noreturn2.d | 220 ++++++ gcc/testsuite/gdc.test/runnable/sroa13220.d | 103 +++ gcc/testsuite/gdc.test/runnable/test15624.d | 51 -- gcc/testsuite/gdc.test/runnable/test21039.d | 27 + gcc/testsuite/gdc.test/runnable/test22205.d | 17 + gcc/testsuite/gdc.test/runnable/test22278.d | 24 + gcc/testsuite/gdc.test/runnable/testOpApply.d | 142 ++++ gcc/testsuite/gdc.test/runnable/testmainb.d | 15 + gcc/testsuite/gdc.test/runnable/uda.d | 48 ++ gcc/testsuite/gdc.test/runnable/ufcs.d | 1 + .../gdc.test/runnable_cxx/extra-files/cpp22287.cpp | 337 +++++++++ gcc/testsuite/gdc.test/runnable_cxx/test22287.d | 327 +++++++++ gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90 | 24 + .../gfortran.dg/allocate_with_source_26.f90 | 8 +- gcc/testsuite/gfortran.dg/goacc/finalize-1.f | 8 +- .../gfortran.dg/gomp/affinity-clause-1.f90 | 6 +- .../gfortran.dg/gomp/affinity-clause-5.f90 | 4 +- gcc/testsuite/gfortran.dg/gomp/atomic-10.f90 | 32 + gcc/testsuite/gfortran.dg/gomp/atomic-12.f90 | 364 ++++++++++ gcc/testsuite/gfortran.dg/gomp/atomic-15.f90 | 44 ++ gcc/testsuite/gfortran.dg/gomp/atomic-16.f90 | 36 + gcc/testsuite/gfortran.dg/gomp/atomic-17.f90 | 41 ++ gcc/testsuite/gfortran.dg/gomp/atomic-18.f90 | 27 + gcc/testsuite/gfortran.dg/gomp/atomic-19.f90 | 39 ++ gcc/testsuite/gfortran.dg/gomp/atomic-2.f90 | 42 +- gcc/testsuite/gfortran.dg/gomp/atomic-20.f90 | 39 ++ gcc/testsuite/gfortran.dg/gomp/atomic-22.f90 | 24 + gcc/testsuite/gfortran.dg/gomp/atomic-24.f90 | 13 + gcc/testsuite/gfortran.dg/gomp/atomic-25.f90 | 53 ++ gcc/testsuite/gfortran.dg/gomp/atomic-26.f90 | 75 ++ gcc/testsuite/gfortran.dg/gomp/atomic.f90 | 40 +- gcc/testsuite/gfortran.dg/gomp/defaultmap-4.f90 | 44 +- gcc/testsuite/gfortran.dg/gomp/defaultmap-5.f90 | 30 +- gcc/testsuite/gfortran.dg/gomp/defaultmap-6.f90 | 20 +- gcc/testsuite/gfortran.dg/gomp/map-3.f90 | 4 +- gcc/testsuite/gfortran.dg/gomp/pr78260-2.f90 | 8 +- gcc/testsuite/gfortran.dg/gomp/pr78260-3.f90 | 4 +- gcc/testsuite/gfortran.dg/pr103505.f90 | 9 + gcc/testsuite/gfortran.dg/pr103588.f90 | 8 + gcc/testsuite/gfortran.dg/pr103607.f90 | 12 + gcc/testsuite/gfortran.dg/pr103609.f90 | 15 + gcc/testsuite/gfortran.dg/select_9.f90 | 10 + gcc/testsuite/gfortran.dg/shape_11.f90 | 16 + gcc/testsuite/lib/gcc-dg.exp | 14 +- gcc/testsuite/lib/target-supports.exp | 6 + gcc/tree-core.h | 2 +- gcc/tree-pretty-print.c | 8 + gcc/tree-ssa-loop-niter.c | 19 +- gcc/tree-ssa-loop-unswitch.c | 129 ++-- gcc/tree-ssa-propagate.c | 62 +- gcc/tree-ssa-propagate.h | 2 +- gcc/tree-ssa-sccvn.c | 2 +- gcc/tree-vect-slp.c | 19 +- gcc/tree-vect-stmts.c | 79 ++- gcc/tree-vectorizer.h | 9 + gcc/value-range.cc | 46 +- gcc/varasm.c | 13 +- include/ChangeLog | 9 + include/gomp-constants.h | 14 +- libcpp/ChangeLog | 34 + libcpp/include/line-map.h | 4 +- libcpp/lex.c | 16 +- libgcc/ChangeLog | 22 + libgcc/config.host | 13 +- libgcc/config/darwin-unwind.ver | 30 + libgcc/config/i386/t-darwin | 3 + libgcc/config/riscv/div.S | 15 +- libgcc/config/riscv/riscv-asm.h | 6 + libgcc/config/rs6000/t-darwin | 3 + libgcc/config/rs6000/t-darwin-ehs | 5 + libgcc/config/t-darwin | 19 +- libgcc/config/t-darwin-ehs | 4 + libgcc/config/t-darwin-noeh | 4 - libgcc/config/t-slibgcc-darwin | 130 +++- libgomp/ChangeLog | 56 ++ libgomp/libgomp.h | 2 +- libgomp/libgomp.texi | 33 +- libgomp/oacc-mem.c | 7 +- libgomp/target.c | 185 +++-- libgomp/testsuite/libgomp.c++/target-11.C | 14 +- libgomp/testsuite/libgomp.c++/target-12.C | 2 +- libgomp/testsuite/libgomp.c++/target-15.C | 20 +- libgomp/testsuite/libgomp.c++/target-16.C | 20 +- libgomp/testsuite/libgomp.c++/target-17.C | 20 +- libgomp/testsuite/libgomp.c++/target-21.C | 8 +- libgomp/testsuite/libgomp.c++/target-23.C | 34 + libgomp/testsuite/libgomp.c++/target-lambda-1.C | 86 +++ libgomp/testsuite/libgomp.c++/target-lambda-2.C | 30 + libgomp/testsuite/libgomp.c++/target-this-1.C | 29 + libgomp/testsuite/libgomp.c++/target-this-2.C | 47 ++ libgomp/testsuite/libgomp.c++/target-this-3.C | 99 +++ libgomp/testsuite/libgomp.c++/target-this-4.C | 104 +++ libgomp/testsuite/libgomp.c++/target-this-5.C | 30 + .../libgomp.c-c++-common/target-implicit-map-2.c | 46 ++ libgomp/testsuite/libgomp.c/target-23.c | 2 +- libgomp/testsuite/libgomp.c/target-29.c | 20 +- libgomp/testsuite/libgomp.fortran/pr90030.f90 | 3 + libgomp/testsuite/libgomp.oacc-fortran/pr90030.f90 | 29 + libphobos/ChangeLog | 29 + libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/Makefile.am | 18 +- libphobos/libdruntime/Makefile.in | 34 +- libphobos/libdruntime/core/demangle.d | 98 +++ libphobos/libdruntime/core/exception.d | 19 +- .../libdruntime/core/internal/array/construction.d | 55 +- libphobos/libdruntime/core/internal/atomic.d | 24 +- libphobos/libdruntime/core/internal/dassert.d | 2 +- .../core/internal/gc/impl/conservative/gc.d | 279 +++++++- libphobos/libdruntime/core/internal/gc/os.d | 44 +- libphobos/libdruntime/core/internal/hash.d | 9 +- libphobos/libdruntime/core/internal/parseoptions.d | 2 +- libphobos/libdruntime/core/internal/traits.d | 8 +- libphobos/libdruntime/core/internal/util/array.d | 49 ++ libphobos/libdruntime/core/lifetime.d | 4 +- libphobos/libdruntime/core/runtime.d | 1 + libphobos/libdruntime/core/stdc/stdlib.d | 2 +- libphobos/libdruntime/core/sync/rwmutex.d | 418 +++++++++++- libphobos/libdruntime/core/sys/freebsd/config.d | 4 +- libphobos/libdruntime/core/sys/linux/fs.d | 63 +- libphobos/libdruntime/core/sys/linux/perf_event.d | 2 - libphobos/libdruntime/core/sys/linux/sys/mman.d | 32 +- libphobos/libdruntime/core/sys/linux/syscalls.d | 745 ++++++++++++++++++++ libphobos/libdruntime/core/sys/linux/unistd.d | 26 +- libphobos/libdruntime/core/sys/openbsd/dlfcn.d | 4 +- .../libdruntime/core/sys/openbsd/pthread_np.d | 23 + libphobos/libdruntime/core/sys/openbsd/stdlib.d | 8 +- libphobos/libdruntime/core/sys/openbsd/string.d | 6 + libphobos/libdruntime/core/sys/openbsd/sys/mman.d | 6 +- .../libdruntime/core/sys/openbsd/sys/sysctl.d | 3 +- libphobos/libdruntime/core/sys/openbsd/unistd.d | 2 +- libphobos/libdruntime/core/sys/posix/netdb.d | 1 + libphobos/libdruntime/core/sys/posix/sys/filio.d | 12 + libphobos/libdruntime/core/sys/posix/sys/ioccom.d | 56 ++ libphobos/libdruntime/core/sys/posix/sys/ioctl.d | 7 + libphobos/libdruntime/core/sys/posix/sys/mman.d | 1 + libphobos/libdruntime/core/sys/posix/sys/socket.d | 3 +- libphobos/libdruntime/core/sys/posix/sys/ttycom.d | 101 +++ libphobos/libdruntime/core/sys/posix/time.d | 5 - libphobos/libdruntime/core/sys/windows/accctrl.d | 2 +- libphobos/libdruntime/core/sys/windows/aclapi.d | 2 +- libphobos/libdruntime/core/sys/windows/aclui.d | 2 +- libphobos/libdruntime/core/sys/windows/basetsd.d | 2 +- libphobos/libdruntime/core/sys/windows/basetyps.d | 2 +- libphobos/libdruntime/core/sys/windows/cderr.d | 2 +- libphobos/libdruntime/core/sys/windows/cguid.d | 2 +- libphobos/libdruntime/core/sys/windows/comcat.d | 2 +- libphobos/libdruntime/core/sys/windows/commctrl.d | 2 +- libphobos/libdruntime/core/sys/windows/commdlg.d | 2 +- libphobos/libdruntime/core/sys/windows/core.d | 2 +- libphobos/libdruntime/core/sys/windows/cpl.d | 2 +- libphobos/libdruntime/core/sys/windows/cplext.d | 2 +- libphobos/libdruntime/core/sys/windows/custcntl.d | 2 +- libphobos/libdruntime/core/sys/windows/dbt.d | 2 +- libphobos/libdruntime/core/sys/windows/dde.d | 2 +- libphobos/libdruntime/core/sys/windows/ddeml.d | 76 ++- libphobos/libdruntime/core/sys/windows/dhcpcsdk.d | 2 +- libphobos/libdruntime/core/sys/windows/dlgs.d | 2 +- libphobos/libdruntime/core/sys/windows/dll.d | 6 +- libphobos/libdruntime/core/sys/windows/docobj.d | 2 +- libphobos/libdruntime/core/sys/windows/errorrep.d | 2 +- libphobos/libdruntime/core/sys/windows/exdisp.d | 2 +- libphobos/libdruntime/core/sys/windows/exdispid.d | 2 +- libphobos/libdruntime/core/sys/windows/httpext.d | 2 +- libphobos/libdruntime/core/sys/windows/idispids.d | 2 +- libphobos/libdruntime/core/sys/windows/imagehlp.d | 2 +- libphobos/libdruntime/core/sys/windows/imm.d | 2 +- libphobos/libdruntime/core/sys/windows/intshcut.d | 2 +- libphobos/libdruntime/core/sys/windows/ipexport.d | 2 +- libphobos/libdruntime/core/sys/windows/iphlpapi.d | 2 +- libphobos/libdruntime/core/sys/windows/ipifcons.d | 2 +- libphobos/libdruntime/core/sys/windows/iprtrmib.d | 2 +- libphobos/libdruntime/core/sys/windows/iptypes.d | 2 +- libphobos/libdruntime/core/sys/windows/isguids.d | 2 +- libphobos/libdruntime/core/sys/windows/lm.d | 2 +- libphobos/libdruntime/core/sys/windows/lmaccess.d | 2 +- libphobos/libdruntime/core/sys/windows/lmalert.d | 2 +- libphobos/libdruntime/core/sys/windows/lmapibuf.d | 2 +- libphobos/libdruntime/core/sys/windows/lmat.d | 2 +- libphobos/libdruntime/core/sys/windows/lmaudit.d | 2 +- libphobos/libdruntime/core/sys/windows/lmbrowsr.d | 2 +- libphobos/libdruntime/core/sys/windows/lmchdev.d | 2 +- libphobos/libdruntime/core/sys/windows/lmconfig.d | 2 +- libphobos/libdruntime/core/sys/windows/lmcons.d | 2 +- libphobos/libdruntime/core/sys/windows/lmerr.d | 2 +- libphobos/libdruntime/core/sys/windows/lmerrlog.d | 2 +- libphobos/libdruntime/core/sys/windows/lmmsg.d | 2 +- libphobos/libdruntime/core/sys/windows/lmremutl.d | 2 +- libphobos/libdruntime/core/sys/windows/lmrepl.d | 2 +- libphobos/libdruntime/core/sys/windows/lmserver.d | 2 +- libphobos/libdruntime/core/sys/windows/lmshare.d | 2 +- libphobos/libdruntime/core/sys/windows/lmsname.d | 2 +- libphobos/libdruntime/core/sys/windows/lmstats.d | 2 +- libphobos/libdruntime/core/sys/windows/lmsvc.d | 2 +- libphobos/libdruntime/core/sys/windows/lmuse.d | 2 +- libphobos/libdruntime/core/sys/windows/lmuseflg.d | 2 +- libphobos/libdruntime/core/sys/windows/lmwksta.d | 2 +- libphobos/libdruntime/core/sys/windows/lzexpand.d | 2 +- libphobos/libdruntime/core/sys/windows/mapi.d | 2 +- libphobos/libdruntime/core/sys/windows/mciavi.d | 2 +- libphobos/libdruntime/core/sys/windows/mcx.d | 2 +- libphobos/libdruntime/core/sys/windows/mgmtapi.d | 2 +- libphobos/libdruntime/core/sys/windows/mmsystem.d | 2 +- libphobos/libdruntime/core/sys/windows/msacm.d | 2 +- libphobos/libdruntime/core/sys/windows/mshtml.d | 2 +- libphobos/libdruntime/core/sys/windows/mswsock.d | 2 +- libphobos/libdruntime/core/sys/windows/nb30.d | 2 +- libphobos/libdruntime/core/sys/windows/nddeapi.d | 2 +- libphobos/libdruntime/core/sys/windows/nspapi.d | 2 +- libphobos/libdruntime/core/sys/windows/ntdef.d | 2 +- libphobos/libdruntime/core/sys/windows/ntdll.d | 2 +- libphobos/libdruntime/core/sys/windows/ntldap.d | 2 +- libphobos/libdruntime/core/sys/windows/ntsecapi.d | 2 +- libphobos/libdruntime/core/sys/windows/ntsecpkg.d | 2 +- libphobos/libdruntime/core/sys/windows/oaidl.d | 2 +- libphobos/libdruntime/core/sys/windows/objbase.d | 2 +- libphobos/libdruntime/core/sys/windows/objfwd.d | 2 +- libphobos/libdruntime/core/sys/windows/objidl.d | 2 +- libphobos/libdruntime/core/sys/windows/objsafe.d | 2 +- libphobos/libdruntime/core/sys/windows/ocidl.d | 2 +- libphobos/libdruntime/core/sys/windows/odbcinst.d | 2 +- libphobos/libdruntime/core/sys/windows/ole.d | 2 +- libphobos/libdruntime/core/sys/windows/ole2.d | 2 +- libphobos/libdruntime/core/sys/windows/ole2ver.d | 2 +- libphobos/libdruntime/core/sys/windows/oleacc.d | 2 +- libphobos/libdruntime/core/sys/windows/oleauto.d | 2 +- libphobos/libdruntime/core/sys/windows/olectl.d | 2 +- libphobos/libdruntime/core/sys/windows/olectlid.d | 2 +- libphobos/libdruntime/core/sys/windows/oledlg.d | 2 +- libphobos/libdruntime/core/sys/windows/oleidl.d | 2 +- libphobos/libdruntime/core/sys/windows/pbt.d | 2 +- libphobos/libdruntime/core/sys/windows/powrprof.d | 2 +- libphobos/libdruntime/core/sys/windows/prsht.d | 2 +- libphobos/libdruntime/core/sys/windows/psapi.d | 2 +- libphobos/libdruntime/core/sys/windows/rapi.d | 2 +- libphobos/libdruntime/core/sys/windows/ras.d | 2 +- libphobos/libdruntime/core/sys/windows/rasdlg.d | 2 +- libphobos/libdruntime/core/sys/windows/raserror.d | 2 +- libphobos/libdruntime/core/sys/windows/rassapi.d | 2 +- libphobos/libdruntime/core/sys/windows/reason.d | 2 +- libphobos/libdruntime/core/sys/windows/regstr.d | 2 +- libphobos/libdruntime/core/sys/windows/richedit.d | 2 +- libphobos/libdruntime/core/sys/windows/richole.d | 2 +- libphobos/libdruntime/core/sys/windows/rpc.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcdce.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcdce2.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcdcep.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcndr.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcnsi.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcnsip.d | 2 +- libphobos/libdruntime/core/sys/windows/rpcnterr.d | 2 +- libphobos/libdruntime/core/sys/windows/schannel.d | 2 +- libphobos/libdruntime/core/sys/windows/sdkddkver.d | 2 +- libphobos/libdruntime/core/sys/windows/secext.d | 2 +- libphobos/libdruntime/core/sys/windows/security.d | 2 +- libphobos/libdruntime/core/sys/windows/servprov.d | 2 +- libphobos/libdruntime/core/sys/windows/setupapi.d | 2 +- libphobos/libdruntime/core/sys/windows/shellapi.d | 2 +- libphobos/libdruntime/core/sys/windows/shldisp.d | 2 +- libphobos/libdruntime/core/sys/windows/shlguid.d | 2 +- libphobos/libdruntime/core/sys/windows/shlobj.d | 2 +- libphobos/libdruntime/core/sys/windows/shlwapi.d | 2 +- libphobos/libdruntime/core/sys/windows/snmp.d | 2 +- libphobos/libdruntime/core/sys/windows/sql.d | 2 +- libphobos/libdruntime/core/sys/windows/sqlext.d | 2 +- libphobos/libdruntime/core/sys/windows/sqltypes.d | 2 +- libphobos/libdruntime/core/sys/windows/sqlucode.d | 2 +- libphobos/libdruntime/core/sys/windows/sspi.d | 2 +- .../libdruntime/core/sys/windows/stdc/malloc.d | 2 +- libphobos/libdruntime/core/sys/windows/subauth.d | 2 +- libphobos/libdruntime/core/sys/windows/tlhelp32.d | 2 +- libphobos/libdruntime/core/sys/windows/tmschema.d | 2 +- libphobos/libdruntime/core/sys/windows/unknwn.d | 2 +- libphobos/libdruntime/core/sys/windows/vfw.d | 2 +- libphobos/libdruntime/core/sys/windows/w32api.d | 2 +- libphobos/libdruntime/core/sys/windows/winbase.d | 2 +- libphobos/libdruntime/core/sys/windows/winber.d | 2 +- libphobos/libdruntime/core/sys/windows/wincon.d | 2 +- libphobos/libdruntime/core/sys/windows/wincrypt.d | 2 +- libphobos/libdruntime/core/sys/windows/windef.d | 2 +- libphobos/libdruntime/core/sys/windows/windows.d | 2 +- libphobos/libdruntime/core/sys/windows/winerror.d | 2 +- libphobos/libdruntime/core/sys/windows/wingdi.d | 2 +- libphobos/libdruntime/core/sys/windows/winhttp.d | 2 +- libphobos/libdruntime/core/sys/windows/wininet.d | 2 +- libphobos/libdruntime/core/sys/windows/winioctl.d | 2 +- libphobos/libdruntime/core/sys/windows/winldap.d | 2 +- libphobos/libdruntime/core/sys/windows/winnetwk.d | 2 +- libphobos/libdruntime/core/sys/windows/winnls.d | 2 +- libphobos/libdruntime/core/sys/windows/winnt.d | 2 +- libphobos/libdruntime/core/sys/windows/winperf.d | 2 +- libphobos/libdruntime/core/sys/windows/winreg.d | 2 +- libphobos/libdruntime/core/sys/windows/winspool.d | 2 +- libphobos/libdruntime/core/sys/windows/winsvc.d | 2 +- libphobos/libdruntime/core/sys/windows/winuser.d | 2 +- libphobos/libdruntime/core/sys/windows/winver.d | 2 +- libphobos/libdruntime/core/sys/windows/wtsapi32.d | 2 +- libphobos/libdruntime/core/sys/windows/wtypes.d | 2 +- libphobos/libdruntime/core/thread/fiber.d | 8 +- libphobos/libdruntime/core/thread/osthread.d | 30 + libphobos/libdruntime/core/time.d | 34 +- libphobos/libdruntime/object.d | 78 ++- libphobos/libdruntime/rt/aApplyR.d | 11 - libphobos/libdruntime/rt/aaA.d | 6 +- libphobos/libdruntime/rt/dmain2.d | 4 +- libphobos/src/MERGE | 2 +- libphobos/src/Makefile.am | 5 +- libphobos/src/Makefile.in | 5 +- libphobos/src/etc/c/curl.d | 43 +- libphobos/src/{index.d => index.dd} | 0 libphobos/src/std/algorithm/comparison.d | 401 +++++++---- libphobos/src/std/algorithm/iteration.d | 237 ++++--- libphobos/src/std/algorithm/mutation.d | 2 +- libphobos/src/std/algorithm/searching.d | 8 +- libphobos/src/std/algorithm/sorting.d | 12 +- libphobos/src/std/array.d | 22 +- libphobos/src/std/bitmanip.d | 6 +- libphobos/src/std/concurrency.d | 79 +-- libphobos/src/std/container/array.d | 206 ++++-- libphobos/src/std/datetime/systime.d | 52 +- libphobos/src/std/datetime/timezone.d | 1 + libphobos/src/std/digest/ripemd.d | 2 +- libphobos/src/std/exception.d | 50 +- libphobos/src/std/experimental/checkedint.d | 10 +- libphobos/src/std/file.d | 75 +- libphobos/src/std/format/internal/floats.d | 12 +- libphobos/src/std/format/internal/write.d | 154 +++-- libphobos/src/std/functional.d | 31 +- libphobos/src/std/getopt.d | 13 +- libphobos/src/std/internal/math/biguintcore.d | 6 - libphobos/src/std/internal/windows/advapi32.d | 12 +- libphobos/src/std/json.d | 6 +- libphobos/src/std/math/algebraic.d | 89 +-- libphobos/src/std/math/hardware.d | 1 + libphobos/src/std/math/operations.d | 3 +- libphobos/src/std/meta.d | 384 +++-------- libphobos/src/std/parallelism.d | 71 +- libphobos/src/std/process.d | 27 +- libphobos/src/std/random.d | 24 +- libphobos/src/std/range/interfaces.d | 51 +- libphobos/src/std/range/package.d | 102 +-- libphobos/src/std/range/primitives.d | 17 + libphobos/src/std/socket.d | 79 +-- libphobos/src/std/stdio.d | 52 +- libphobos/src/std/string.d | 16 +- libphobos/src/std/system.d | 2 + libphobos/src/std/traits.d | 602 ++++++---------- libphobos/src/std/typecons.d | 243 ++++--- libphobos/src/std/uni/package.d | 38 +- libphobos/src/std/variant.d | 2 +- libphobos/src/std/windows/registry.d | 5 - libphobos/testsuite/libphobos.betterc/test22336.d | 19 + .../testsuite/libphobos.exceptions/assert_fail.d | 12 + libphobos/testsuite/testsuite_flags.in | 1 + libsanitizer/ChangeLog | 11 + libsanitizer/LOCAL_PATCHES | 1 + libsanitizer/tsan/tsan_rtl_amd64.S | 128 ++-- libstdc++-v3/ChangeLog | 160 ++++- libstdc++-v3/acinclude.m4 | 14 +- .../config/allocator/bitmap_allocator_base.h | 55 -- libstdc++-v3/config/allocator/mt_allocator_base.h | 55 -- .../config/allocator/pool_allocator_base.h | 55 -- libstdc++-v3/config/os/newlib/ctype_base.h | 19 +- libstdc++-v3/configure | 14 +- libstdc++-v3/doc/doxygen/user.cfg.in | 2 +- libstdc++-v3/doc/html/manual/api.html | 3 + libstdc++-v3/doc/html/manual/configure.html | 10 +- libstdc++-v3/doc/html/manual/memory.html | 57 +- libstdc++-v3/doc/html/manual/mt_allocator.html | 8 +- libstdc++-v3/doc/xml/manual/allocator.xml | 67 +- libstdc++-v3/doc/xml/manual/configure.xml | 10 +- libstdc++-v3/doc/xml/manual/evolution.xml | 5 + libstdc++-v3/doc/xml/manual/mt_allocator.xml | 8 +- libstdc++-v3/include/bits/allocator.h | 8 +- libstdc++-v3/include/bits/basic_string.h | 6 +- libstdc++-v3/include/bits/basic_string.tcc | 4 +- libstdc++-v3/include/bits/c++config | 39 +- libstdc++-v3/include/bits/char_traits.h | 129 ++-- libstdc++-v3/include/bits/cow_string.h | 20 +- libstdc++-v3/include/bits/ranges_algobase.h | 12 +- libstdc++-v3/include/bits/ranges_cmp.h | 5 +- libstdc++-v3/include/bits/regex.h | 4 +- libstdc++-v3/include/bits/shared_ptr_base.h | 117 +++- libstdc++-v3/include/bits/stl_algobase.h | 5 +- libstdc++-v3/include/bits/stl_bvector.h | 8 +- libstdc++-v3/include/bits/stl_construct.h | 12 +- libstdc++-v3/include/bits/stl_function.h | 24 +- libstdc++-v3/include/bits/stl_tree.h | 154 +++-- libstdc++-v3/include/bits/stl_vector.h | 5 +- libstdc++-v3/include/debug/helper_functions.h | 15 +- libstdc++-v3/include/std/array | 4 +- libstdc++-v3/include/std/bit | 5 +- libstdc++-v3/include/std/deque | 30 +- libstdc++-v3/include/std/type_traits | 11 +- libstdc++-v3/include/std/vector | 30 +- libstdc++-v3/include/std/version | 4 +- libstdc++-v3/libsupc++/compare | 2 +- libstdc++-v3/src/c++11/cow-stdexcept.cc | 20 - libstdc++-v3/src/c++17/fs_path.cc | 5 - libstdc++-v3/src/filesystem/path.cc | 31 +- .../23_containers/array/tuple_interface/get_neg.cc | 6 +- .../23_containers/map/allocator/move_cons.cc | 2 +- .../23_containers/multimap/allocator/move_cons.cc | 2 +- .../23_containers/multiset/allocator/103501.cc | 32 + .../23_containers/set/allocator/103501.cc | 32 + lto-plugin/ChangeLog | 7 + lto-plugin/lto-plugin.c | 6 +- 1047 files changed, 27151 insertions(+), 9208 deletions(-) diff --cc gcc/doc/tm.texi index 8b7f710a078,78cc1a287dd..4179e14d5a2 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@@ -13283,10 -12358,13 +13283,15 @@@ It returns true if the target supports The support includes the assembler, linker and dynamic linker. The default value of this hook is based on target's libc. @end deftypefn +@c hook-end + @deftypefn {Target Hook} bool TARGET_IFUNC_REF_LOCAL_OK (void) + Return true if it is OK to reference indirect function resolvers + locally. The default is to return false. + @end deftypefn + @deftypefn {Target Hook} {unsigned int} TARGET_ATOMIC_ALIGN_FOR_MODE (machine_mode @var{mode}) +@c hook-start:TARGET_ATOMIC_ALIGN_FOR_MODE If defined, this function returns an appropriate alignment in bits for an atomic object of machine_mode @var{mode}. If 0 is returned then the default alignment for the specified mode is used.