From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1075) id C39B73851C1B; Sat, 28 Nov 2020 09:28:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C39B73851C1B Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Jan Hubicka To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc(refs/users/hubicka/heads/honza-gcc-benchmark-branch-v2)] Merge remote-tracking branch 'origin/master' into me/honza-gcc-benchmark-branch-v2 X-Act-Checkin: gcc X-Git-Author: Jan Hubicka X-Git-Refname: refs/users/hubicka/heads/honza-gcc-benchmark-branch-v2 X-Git-Oldrev: d154ce445025bcac153c3bef948e6e4796e36655 X-Git-Newrev: 2331b1e17e54e43a3d2e4829b015860e98b8aae8 Message-Id: <20201128092805.C39B73851C1B@sourceware.org> Date: Sat, 28 Nov 2020 09:28:05 +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: Sat, 28 Nov 2020 09:28:06 -0000 https://gcc.gnu.org/g:2331b1e17e54e43a3d2e4829b015860e98b8aae8 commit 2331b1e17e54e43a3d2e4829b015860e98b8aae8 Merge: d154ce44502 e87559d202d Author: Jan Hubicka Date: Sat Nov 28 10:27:34 2020 +0100 Merge remote-tracking branch 'origin/master' into me/honza-gcc-benchmark-branch-v2 Diff: ChangeLog | 10 + config.guess | 250 +++-- config.sub | 632 ++++++------ config/ChangeLog | 9 + config/bootstrap-hwasan.mk | 12 + configure | 2 +- configure.ac | 2 +- contrib/ChangeLog | 11 + contrib/gcc-changelog/git_commit.py | 47 +- contrib/gcc-changelog/test_email.py | 2 + contrib/gcc-changelog/test_patches.txt | 2 +- gcc/ChangeLog | 1079 +++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 1084 ++++++++++++++++++++ gcc/ada/Makefile.rtl | 49 +- gcc/ada/adabkend.adb | 3 + gcc/ada/adaint.c | 21 +- gcc/ada/aspects.adb | 28 +- gcc/ada/aspects.ads | 50 +- gcc/ada/checks.adb | 196 ++-- gcc/ada/checks.ads | 15 + gcc/ada/contracts.adb | 267 ++++- gcc/ada/cstand.adb | 12 +- .../gnat_rm/implementation_defined_attributes.rst | 13 + .../implementation_defined_characteristics.rst | 28 +- .../doc/gnat_rm/implementation_defined_pragmas.rst | 23 +- gcc/ada/doc/gnat_rm/intrinsic_subprograms.rst | 4 +- .../building_executable_programs_with_gnat.rst | 3 +- gcc/ada/einfo.adb | 91 +- gcc/ada/einfo.ads | 27 +- gcc/ada/exp_attr.adb | 236 +++-- gcc/ada/exp_ch11.adb | 81 +- gcc/ada/exp_ch13.adb | 5 +- gcc/ada/exp_ch2.adb | 44 +- gcc/ada/exp_ch4.adb | 110 +- gcc/ada/exp_ch6.adb | 97 +- gcc/ada/exp_ch7.adb | 37 +- gcc/ada/exp_ch8.adb | 12 +- gcc/ada/exp_ch9.adb | 22 +- gcc/ada/exp_fixd.adb | 243 +++-- gcc/ada/exp_imgv.adb | 304 ++++-- gcc/ada/exp_intr.adb | 5 +- gcc/ada/exp_prag.adb | 17 +- gcc/ada/exp_sel.adb | 18 +- gcc/ada/exp_sel.ads | 9 +- gcc/ada/exp_spark.adb | 296 ++---- gcc/ada/exp_util.adb | 156 ++- gcc/ada/freeze.adb | 230 +++-- gcc/ada/gnat_rm.texi | 1029 ++++++++++--------- gcc/ada/gnat_ugn.texi | 5 +- gcc/ada/lib-load.adb | 2 +- gcc/ada/lib-writ.adb | 6 +- gcc/ada/lib.adb | 2 +- gcc/ada/libgnarl/s-osinte__solaris.ads | 3 - gcc/ada/libgnarl/s-tasren.adb | 14 +- gcc/ada/libgnarl/s-tassta.adb | 11 +- gcc/ada/libgnarl/s-tpobop.adb | 10 - gcc/ada/libgnat/a-cbhase.adb | 2 +- gcc/ada/libgnat/a-cbmutr.ads | 2 +- gcc/ada/libgnat/a-cborse.adb | 2 +- gcc/ada/libgnat/a-decima__128.ads | 69 ++ gcc/ada/libgnat/a-except.adb | 30 - gcc/ada/libgnat/a-nbnbin.adb | 193 +++- gcc/ada/libgnat/a-nbnbin.ads | 2 +- gcc/ada/libgnat/a-nbnbre.adb | 190 +++- gcc/ada/libgnat/a-nbnbre.ads | 4 +- gcc/ada/libgnat/a-strmap.ads | 179 +++- gcc/ada/libgnat/a-stzhas.adb | 14 +- gcc/ada/libgnat/a-stzhas.ads | 6 +- gcc/ada/libgnat/a-tideau.adb | 187 +--- gcc/ada/libgnat/a-tideau.ads | 74 +- gcc/ada/libgnat/a-tideio.adb | 58 +- gcc/ada/libgnat/a-tideio__128.adb | 177 ++++ gcc/ada/libgnat/a-tifiau.adb | 160 +++ gcc/ada/libgnat/a-tifiau.ads | 97 ++ gcc/ada/libgnat/a-tifiio.adb | 597 ++--------- gcc/ada/libgnat/a-tifiio__128.adb | 365 +++++++ gcc/ada/libgnat/a-tiflau.adb | 7 +- gcc/ada/libgnat/a-wtdeau.adb | 191 +--- gcc/ada/libgnat/a-wtdeau.ads | 75 +- gcc/ada/libgnat/a-wtdeio.adb | 69 +- gcc/ada/libgnat/a-wtdeio__128.adb | 190 ++++ gcc/ada/libgnat/a-wtenau.adb | 15 +- gcc/ada/libgnat/a-wtfiau.adb | 160 +++ gcc/ada/libgnat/a-wtfiau.ads | 97 ++ gcc/ada/libgnat/a-wtfiio.adb | 130 ++- gcc/ada/libgnat/a-wtfiio__128.adb | 267 +++++ gcc/ada/libgnat/a-wtflio.adb | 7 +- gcc/ada/libgnat/a-wtinio.adb | 11 +- gcc/ada/libgnat/a-wtinio__128.adb | 15 +- gcc/ada/libgnat/a-wtmoio.adb | 11 +- gcc/ada/libgnat/a-wtmoio__128.adb | 11 +- gcc/ada/libgnat/a-ztdeau.adb | 189 +--- gcc/ada/libgnat/a-ztdeau.ads | 75 +- gcc/ada/libgnat/a-ztdeio.adb | 78 +- gcc/ada/libgnat/a-ztdeio__128.adb | 190 ++++ gcc/ada/libgnat/a-ztenau.adb | 15 +- gcc/ada/libgnat/a-ztfiau.adb | 160 +++ gcc/ada/libgnat/a-ztfiau.ads | 97 ++ gcc/ada/libgnat/a-ztfiio.adb | 130 ++- gcc/ada/libgnat/a-ztfiio__128.adb | 269 +++++ gcc/ada/libgnat/a-ztflio.adb | 7 +- gcc/ada/libgnat/a-ztinio.adb | 11 +- gcc/ada/libgnat/a-ztinio__128.adb | 15 +- gcc/ada/libgnat/a-ztmoio.adb | 11 +- gcc/ada/libgnat/a-ztmoio__128.adb | 11 +- gcc/ada/libgnat/g-rannum.adb | 86 +- gcc/ada/libgnat/g-rannum.ads | 2 + gcc/ada/libgnat/s-arit32.adb | 182 ++++ gcc/ada/libgnat/s-arit32.ads | 55 + gcc/ada/libgnat/s-fode128.ads | 48 + gcc/ada/libgnat/s-fode32.ads | 48 + gcc/ada/libgnat/s-fode64.ads | 48 + gcc/ada/libgnat/s-fofi128.ads | 49 + gcc/ada/libgnat/s-fofi32.ads | 49 + gcc/ada/libgnat/s-fofi64.ads | 49 + gcc/ada/libgnat/s-fore_d.adb | 62 ++ gcc/ada/libgnat/s-fore_d.ads | 47 + gcc/ada/libgnat/s-fore_f.adb | 109 ++ gcc/ada/libgnat/s-fore_f.ads | 51 + gcc/ada/libgnat/{s-fore.adb => s-forrea.adb} | 25 +- gcc/ada/libgnat/{s-fore.ads => s-forrea.ads} | 15 +- gcc/ada/libgnat/s-genbig.adb | 26 +- gcc/ada/libgnat/s-genbig.ads | 4 + gcc/ada/libgnat/{s-imglld.adb => s-imaged.adb} | 39 +- gcc/ada/libgnat/{s-imglld.ads => s-imaged.ads} | 41 +- gcc/ada/libgnat/s-imagef.adb | 304 ++++++ gcc/ada/libgnat/{s-imgdec.ads => s-imagef.ads} | 100 +- gcc/ada/libgnat/s-imagei.adb | 47 +- gcc/ada/libgnat/s-imageu.adb | 39 +- gcc/ada/libgnat/s-imde128.ads | 63 ++ gcc/ada/libgnat/s-imde32.ads | 63 ++ gcc/ada/libgnat/s-imde64.ads | 63 ++ gcc/ada/libgnat/s-imfi128.ads | 69 ++ gcc/ada/libgnat/s-imfi32.ads | 69 ++ gcc/ada/libgnat/s-imfi64.ads | 69 ++ gcc/ada/libgnat/s-imgrea.adb | 38 +- gcc/ada/libgnat/s-imgrea.ads | 3 + gcc/ada/libgnat/{s-imgdec.adb => s-imguti.adb} | 75 +- gcc/ada/libgnat/s-imguti.ads | 58 ++ gcc/ada/libgnat/s-os_lib.adb | 25 +- gcc/ada/libgnat/s-rannum.adb | 35 + gcc/ada/libgnat/s-rident.ads | 2 + gcc/ada/libgnat/{s-valdec.adb => s-vade128.ads} | 54 +- gcc/ada/libgnat/s-vade32.ads | 58 ++ gcc/ada/libgnat/{s-vallld.adb => s-vade64.ads} | 54 +- gcc/ada/libgnat/s-vafi128.ads | 60 ++ gcc/ada/libgnat/s-vafi32.ads | 60 ++ gcc/ada/libgnat/s-vafi64.ads | 60 ++ gcc/ada/libgnat/s-valrea.adb | 522 +--------- gcc/ada/libgnat/s-valued.adb | 257 +++++ gcc/ada/libgnat/{s-valdec.ads => s-valued.ads} | 44 +- gcc/ada/libgnat/s-valuef.adb | 333 ++++++ gcc/ada/libgnat/{s-vallld.ads => s-valuef.ads} | 59 +- gcc/ada/libgnat/s-valuei.adb | 2 +- gcc/ada/libgnat/s-valuer.adb | 620 +++++++++++ gcc/ada/libgnat/s-valuer.ads | 99 ++ gcc/ada/libgnat/system-aix.ads | 2 +- gcc/ada/libgnat/system-darwin-arm.ads | 2 +- gcc/ada/libgnat/system-darwin-ppc.ads | 2 +- gcc/ada/libgnat/system-darwin-x86.ads | 2 +- gcc/ada/libgnat/system-djgpp.ads | 2 +- gcc/ada/libgnat/system-dragonfly-x86_64.ads | 2 +- gcc/ada/libgnat/system-freebsd.ads | 2 +- gcc/ada/libgnat/system-hpux-ia64.ads | 2 +- gcc/ada/libgnat/system-hpux.ads | 2 +- gcc/ada/libgnat/system-linux-alpha.ads | 2 +- gcc/ada/libgnat/system-linux-arm.ads | 2 +- gcc/ada/libgnat/system-linux-hppa.ads | 2 +- gcc/ada/libgnat/system-linux-ia64.ads | 2 +- gcc/ada/libgnat/system-linux-m68k.ads | 2 +- gcc/ada/libgnat/system-linux-mips.ads | 2 +- gcc/ada/libgnat/system-linux-ppc.ads | 2 +- gcc/ada/libgnat/system-linux-riscv.ads | 2 +- gcc/ada/libgnat/system-linux-s390.ads | 2 +- gcc/ada/libgnat/system-linux-sh4.ads | 2 +- gcc/ada/libgnat/system-linux-sparc.ads | 2 +- gcc/ada/libgnat/system-linux-x86.ads | 2 +- gcc/ada/libgnat/system-lynxos178-ppc.ads | 2 +- gcc/ada/libgnat/system-lynxos178-x86.ads | 2 +- gcc/ada/libgnat/system-mingw.ads | 2 +- gcc/ada/libgnat/system-qnx-aarch64.ads | 2 +- gcc/ada/libgnat/system-rtems.ads | 2 +- gcc/ada/libgnat/system-solaris-sparc.ads | 2 +- gcc/ada/libgnat/system-solaris-x86.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-arm.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-e500-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-ravenscar.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-ppc.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86-vthread.ads | 2 +- gcc/ada/libgnat/system-vxworks-x86.ads | 2 +- .../libgnat/system-vxworks7-aarch64-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-aarch64.ads | 2 +- gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-arm.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-e500-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86-rtp.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads | 2 +- gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads | 2 +- gcc/ada/make.adb | 20 +- gcc/ada/opt.ads | 4 + gcc/ada/osint-c.adb | 8 +- gcc/ada/par-ch13.adb | 36 +- gcc/ada/par-load.adb | 2 +- gcc/ada/par-prag.adb | 9 + gcc/ada/rtsfind.adb | 2 +- gcc/ada/rtsfind.ads | 108 +- gcc/ada/sem_aggr.adb | 52 +- gcc/ada/sem_attr.adb | 49 +- gcc/ada/sem_ch10.adb | 3 +- gcc/ada/sem_ch12.adb | 68 +- gcc/ada/sem_ch13.adb | 742 +++++++++++--- gcc/ada/sem_ch13.ads | 6 + gcc/ada/sem_ch3.adb | 31 +- gcc/ada/sem_ch4.adb | 2 +- gcc/ada/sem_ch6.adb | 246 ++++- gcc/ada/sem_ch8.adb | 26 +- gcc/ada/sem_eval.adb | 196 ++-- gcc/ada/sem_prag.adb | 206 ++-- gcc/ada/sem_res.adb | 245 +++-- gcc/ada/sem_type.adb | 118 ++- gcc/ada/sem_util.adb | 80 +- gcc/ada/sem_util.ads | 19 +- gcc/ada/snames.ads-tmpl | 3 + gcc/ada/stand.ads | 9 +- gcc/ada/uintp.ads | 12 +- gcc/ada/urealp.adb | 168 ++- gcc/ada/urealp.ads | 32 +- gcc/asan.c | 1034 ++++++++++++++++++- gcc/asan.h | 45 +- gcc/brig/ChangeLog | 7 + gcc/builtin-types.def | 3 + gcc/builtins.c | 1 + gcc/builtins.def | 1 + gcc/c-family/ChangeLog | 43 + gcc/c-family/c-attribs.c | 180 +++- gcc/c-family/c-pretty-print.c | 2 + gcc/c-family/c-warn.c | 20 +- gcc/c/ChangeLog | 41 + gcc/c/c-aux-info.c | 1 + gcc/c/c-decl.c | 3 +- gcc/c/c-parser.c | 19 +- gcc/c/c-typeck.c | 4 +- gcc/cfg.c | 45 +- gcc/cfg.h | 2 +- gcc/cfgexpand.c | 167 ++- gcc/cgraph.c | 2 +- gcc/common.opt | 5 +- gcc/config/aarch64/aarch64-sve.md | 154 ++- gcc/config/aarch64/aarch64-sve2.md | 37 +- gcc/config/aarch64/aarch64.c | 119 ++- gcc/config/aarch64/aarch64.opt | 2 + gcc/config/arm/arm.c | 2 +- gcc/config/darwin-c.c | 15 +- gcc/config/gcn/mkoffload.c | 15 +- gcc/config/gnu-user.h | 8 +- gcc/config/h8300/addsub.md | 152 ++- gcc/config/h8300/bitfield.md | 562 +++++----- gcc/config/h8300/combiner.md | 877 ++++++++++++---- gcc/config/h8300/divmod.md | 127 ++- gcc/config/h8300/extensions.md | 136 ++- gcc/config/h8300/genmova.sh | 18 +- gcc/config/h8300/h8300-modes.def | 21 + gcc/config/h8300/h8300-protos.h | 10 +- gcc/config/h8300/h8300.c | 144 ++- gcc/config/h8300/h8300.h | 14 +- gcc/config/h8300/h8300.md | 5 +- gcc/config/h8300/jumpcall.md | 121 +-- gcc/config/h8300/logical.md | 237 ++++- gcc/config/h8300/mova.md | 249 ++--- gcc/config/h8300/movepush.md | 180 +++- gcc/config/h8300/multiply.md | 131 ++- gcc/config/h8300/other.md | 15 +- gcc/config/h8300/peepholes.md | 104 -- gcc/config/h8300/predicates.md | 9 + gcc/config/h8300/proepi.md | 12 +- gcc/config/h8300/save.md | 403 ++++++++ gcc/config/h8300/shiftrotate.md | 242 ++++- gcc/config/h8300/testcompare.md | 273 ++--- gcc/config/i386/i386-expand.c | 176 ++-- gcc/config/i386/i386-options.c | 4 +- gcc/config/i386/i386.md | 230 +++-- gcc/config/i386/sse.md | 61 +- gcc/config/msp430/msp430.c | 114 +- gcc/config/rs6000/mma.md | 421 ++++---- gcc/config/rs6000/predicates.md | 12 + gcc/config/rs6000/rs6000-builtin.def | 14 +- gcc/config/rs6000/rs6000-call.c | 178 ++-- gcc/config/rs6000/rs6000-modes.def | 10 +- gcc/config/rs6000/rs6000-protos.h | 3 +- gcc/config/rs6000/rs6000-string.c | 6 +- gcc/config/rs6000/rs6000.c | 252 +++-- gcc/config/rs6000/rs6000.h | 18 +- gcc/config/rs6000/rs6000.md | 47 +- gcc/config/rs6000/rs6000.opt | 3 + gcc/config/rs6000/vector.md | 4 +- gcc/config/s390/vector.md | 2 +- gcc/config/sol2.h | 3 - gcc/config/sparc/sparc-protos.h | 1 - gcc/config/sparc/sparc.c | 35 - gcc/config/sparc/sparc.md | 37 +- gcc/cp/ChangeLog | 112 ++ gcc/cp/Make-lang.in | 5 +- gcc/cp/constexpr.c | 73 +- gcc/cp/constraint.cc | 4 +- gcc/cp/decl.c | 13 + gcc/cp/error.c | 19 +- gcc/cp/g++spec.c | 33 +- gcc/cp/logic.cc | 5 +- gcc/cp/module.cc | 21 + gcc/cp/name-lookup.c | 3 +- gcc/cp/parser.c | 78 +- gcc/cp/pt.c | 8 + gcc/cp/typeck.c | 4 +- gcc/cp/typeck2.c | 1 + gcc/cppbuiltin.c | 3 + gcc/d/ChangeLog | 29 + gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/dmangle.c | 2 - gcc/d/dmd/globals.h | 1 - gcc/d/dmd/hdrgen.c | 2 - gcc/d/dmd/idgen.c | 1 - gcc/d/dmd/json.c | 3 - gcc/d/dmd/parse.c | 4 +- gcc/d/expr.cc | 67 +- gcc/d/intrinsics.cc | 12 + gcc/d/intrinsics.def | 20 +- gcc/d/types.cc | 1 - gcc/diagnostic.c | 21 +- gcc/digraph.cc | 2 +- gcc/doc/extend.texi | 37 +- gcc/doc/install.texi | 21 +- gcc/doc/invoke.texi | 119 ++- gcc/doc/sourcebuild.texi | 3 + gcc/doc/tm.texi | 66 ++ gcc/doc/tm.texi.in | 16 + gcc/dumpfile.c | 18 +- gcc/dwarf2out.c | 10 +- gcc/edit-context.c | 14 +- gcc/explow.c | 10 +- gcc/explow.h | 2 +- gcc/expr.c | 1 + gcc/flag-types.h | 3 + gcc/fold-const.c | 27 +- gcc/fortran/ChangeLog | 14 + gcc/fortran/resolve.c | 11 +- gcc/gcc.c | 25 + gcc/gimple-fold.c | 168 ++- gcc/gimple-fold.h | 15 + gcc/gimple-isel.cc | 22 +- gcc/gimple-pretty-print.c | 1 + gcc/gimple-ssa-evrp-analyze.c | 6 +- gcc/gimple.c | 2 +- gcc/gimplify.c | 9 +- gcc/ginclude/stdatomic.h | 14 +- gcc/go/ChangeLog | 7 + gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/ast-dump.cc | 6 +- gcc/go/gofrontend/export.cc | 8 +- gcc/go/gofrontend/expressions.cc | 48 +- gcc/go/gofrontend/go-encode-id.cc | 289 ++++-- gcc/go/gofrontend/go-encode-id.h | 13 - gcc/go/gofrontend/gogo.cc | 252 ++--- gcc/go/gofrontend/gogo.h | 173 +++- gcc/go/gofrontend/names.cc | 759 ++++++++------ gcc/go/gofrontend/runtime.def | 34 +- gcc/go/gofrontend/types.cc | 105 +- gcc/go/gofrontend/types.h | 20 +- gcc/internal-fn.c | 188 +++- gcc/internal-fn.def | 7 + gcc/ipa-cp.c | 48 +- gcc/ipa-devirt.c | 1 + gcc/ipa-icf-gimple.c | 37 +- gcc/ipa-icf.c | 16 +- gcc/ipa-modref.c | 26 +- gcc/ipa-prop.c | 155 ++- gcc/ipa-prop.h | 16 +- gcc/jit/ChangeLog | 16 + gcc/jit/jit-recording.c | 20 +- gcc/json.cc | 5 +- gcc/lra.c | 16 +- gcc/lto-streamer-in.c | 8 +- gcc/lto-wrapper.c | 3 +- gcc/lto/ChangeLog | 9 + gcc/match.pd | 39 +- gcc/objc/ChangeLog | 7 + gcc/objcp/ChangeLog | 8 + gcc/omp-expand.c | 43 +- gcc/omp-oacc-kernels-decompose.cc | 13 +- gcc/opts.c | 98 +- gcc/params.opt | 24 + gcc/reload.c | 2 +- gcc/sanitizer.def | 61 ++ gcc/sanopt.c | 21 +- gcc/target.def | 80 ++ gcc/targhooks.c | 115 +++ gcc/targhooks.h | 9 + gcc/testsuite/ChangeLog | 818 +++++++++++++++ .../c-c++-common/builtin-clear-padding-2.c | 17 + .../c-c++-common/builtin-clear-padding-3.c | 15 + gcc/testsuite/c-c++-common/goacc/cache-1.c | 18 +- gcc/testsuite/c-c++-common/goacc/cache-2.c | 10 +- gcc/testsuite/c-c++-common/goacc/cache-3-1.c | 116 +++ gcc/testsuite/c-c++-common/goacc/cache-3-2.c | 50 + gcc/testsuite/c-c++-common/goacc/data-clause-1.c | 115 +++ gcc/testsuite/c-c++-common/goacc/data-clause-2.c | 49 + .../c-c++-common/goacc/kernels-decompose-1.c | 8 + .../c-c++-common/goacc/kernels-decompose-2.c | 8 + .../c-c++-common/goacc/kernels-decompose-ice-1.c | 1 + .../c-c++-common/goacc/kernels-decompose-ice-2.c | 2 +- gcc/testsuite/c-c++-common/gomp/map-1.c | 7 +- gcc/testsuite/c-c++-common/gomp/map-2.c | 7 +- gcc/testsuite/c-c++-common/gomp/pr97958.c | 17 + gcc/testsuite/c-c++-common/hwasan/aligned-alloc.c | 16 + .../c-c++-common/hwasan/alloca-array-accessible.c | 33 + .../c-c++-common/hwasan/alloca-base-init.c | 66 ++ .../hwasan/alloca-gets-different-tag.c | 65 ++ .../c-c++-common/hwasan/alloca-outside-caught.c | 25 + gcc/testsuite/c-c++-common/hwasan/arguments-1.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-2.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-3.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments.c | 3 + gcc/testsuite/c-c++-common/hwasan/asan-pr63316.c | 24 + gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c | 36 + gcc/testsuite/c-c++-common/hwasan/asan-pr78106.c | 31 + gcc/testsuite/c-c++-common/hwasan/asan-pr79944.c | 19 + .../c-c++-common/hwasan/asan-rlimit-mmap-test-1.c | 24 + gcc/testsuite/c-c++-common/hwasan/bitfield-1.c | 31 + gcc/testsuite/c-c++-common/hwasan/bitfield-2.c | 30 + .../c-c++-common/hwasan/builtin-special-handling.c | 31 + .../c-c++-common/hwasan/check-interface.c | 26 + .../c-c++-common/hwasan/halt_on_error-1.c | 24 + .../hwasan/handles-poly_int-marked-vars.c | 37 + gcc/testsuite/c-c++-common/hwasan/heap-overflow.c | 29 + .../hwasan/hwasan-poison-optimisation.c | 29 + .../hwasan/hwasan-thread-access-parent.c | 51 + .../hwasan/hwasan-thread-basic-failure.c | 48 + .../hwasan/hwasan-thread-clears-stack.c | 56 + .../c-c++-common/hwasan/hwasan-thread-success.c | 35 + .../c-c++-common/hwasan/kernel-defaults.c | 37 + .../c-c++-common/hwasan/large-aligned-0.c | 33 + .../c-c++-common/hwasan/large-aligned-1.c | 14 + .../hwasan/large-aligned-untagging-0.c | 75 ++ .../hwasan/large-aligned-untagging-1.c | 15 + .../hwasan/large-aligned-untagging-2.c | 15 + .../hwasan/large-aligned-untagging-3.c | 15 + .../hwasan/large-aligned-untagging-4.c | 16 + .../hwasan/large-aligned-untagging-5.c | 16 + .../hwasan/large-aligned-untagging-6.c | 16 + .../hwasan/large-aligned-untagging-7.c | 16 + .../c-c++-common/hwasan/macro-definition.c | 11 + .../c-c++-common/hwasan/no-sanitize-attribute.c | 12 + .../hwasan/param-instrument-mem-intrinsics.c | 10 + .../hwasan/param-instrument-reads-and-writes.c | 7 + .../c-c++-common/hwasan/param-instrument-reads.c | 21 + .../c-c++-common/hwasan/param-instrument-writes.c | 7 + .../c-c++-common/hwasan/random-frame-tag.c | 7 + .../c-c++-common/hwasan/sanity-check-pure-c.c | 25 + .../c-c++-common/hwasan/setjmp-longjmp-0.c | 54 + .../c-c++-common/hwasan/setjmp-longjmp-1.c | 19 + .../c-c++-common/hwasan/stack-tagging-basic-0.c | 37 + .../c-c++-common/hwasan/stack-tagging-basic-1.c | 18 + .../c-c++-common/hwasan/stack-tagging-disable.c | 33 + .../c-c++-common/hwasan/unprotected-allocas-0.c | 46 + .../c-c++-common/hwasan/unprotected-allocas-1.c | 16 + gcc/testsuite/c-c++-common/hwasan/use-after-free.c | 28 + .../c-c++-common/hwasan/vararray-outside-caught.c | 22 + .../hwasan/vararray-stack-restore-correct.c | 43 + .../c-c++-common/hwasan/very-large-objects.c | 68 ++ .../patchable_function_entry-error-3.c | 6 +- gcc/testsuite/c-c++-common/torture/attr-noinit-1.c | 7 + gcc/testsuite/c-c++-common/torture/attr-noinit-2.c | 8 + gcc/testsuite/c-c++-common/torture/attr-noinit-3.c | 11 + .../c-c++-common/torture/attr-noinit-invalid.c | 12 + .../torture/attr-noinit-main.inc} | 37 +- .../c-c++-common/torture/attr-persistent-1.c | 8 + .../c-c++-common/torture/attr-persistent-2.c | 8 + .../c-c++-common/torture/attr-persistent-3.c | 10 + .../c-c++-common/torture/attr-persistent-invalid.c | 11 + .../c-c++-common/torture/attr-persistent-main.inc | 58 ++ .../c-c++-common/ubsan/sanitize-recover-7.c | 2 +- gcc/testsuite/g++.dg/cpp0x/initlist-template3.C | 13 + gcc/testsuite/g++.dg/cpp1y/constexpr-label.C | 9 + gcc/testsuite/g++.dg/cpp2a/constexpr-dtor10.C | 16 + gcc/testsuite/g++.dg/cpp2a/lambda-generic8.C | 9 + gcc/testsuite/g++.dg/debug/localclass2.C | 24 + gcc/testsuite/g++.dg/ext/builtin-clear-padding-1.C | 15 + gcc/testsuite/g++.dg/ext/sve-sizeless-1.C | 33 +- gcc/testsuite/g++.dg/ext/sve-sizeless-2.C | 33 +- gcc/testsuite/g++.dg/goacc/cache-1.C | 15 + gcc/testsuite/g++.dg/goacc/cache-2.C | 64 ++ gcc/testsuite/g++.dg/goacc/cache-3-1.C | 123 +++ gcc/testsuite/g++.dg/goacc/cache-3-2.C | 57 + gcc/testsuite/g++.dg/goacc/data-clause-1.C | 122 +++ gcc/testsuite/g++.dg/goacc/data-clause-2.C | 56 + gcc/testsuite/g++.dg/gomp/map-1.C | 119 +++ gcc/testsuite/g++.dg/gomp/map-2.C | 54 + gcc/testsuite/g++.dg/hwasan/hwasan.exp | 34 + gcc/testsuite/g++.dg/hwasan/rvo-handled.C | 46 + .../g++.dg/torture/builtin-clear-padding-3.C | 24 + gcc/testsuite/g++.dg/vect/simd-12.cc | 36 + gcc/testsuite/g++.dg/warn/Wrange-loop-construct2.C | 212 ++++ gcc/testsuite/g++.dg/warn/Wvexing-parse9.C | 8 + gcc/testsuite/g++.target/msp430/data-attributes.C | 55 + gcc/testsuite/g++.target/msp430/msp430.exp | 44 + gcc/testsuite/gcc.c-torture/compile/pr97979.c | 7 + gcc/testsuite/gcc.dg/Wstringop-overflow-47.c | 2 +- gcc/testsuite/gcc.dg/attr-access-3.c | 21 + gcc/testsuite/gcc.dg/attr-access-4.c | 8 + gcc/testsuite/gcc.dg/attr-access-5.c | 16 + gcc/testsuite/gcc.dg/builtin-arith-overflow-5.c | 87 ++ gcc/testsuite/gcc.dg/builtin-clear-padding-2.c | 15 + gcc/testsuite/gcc.dg/c11-compare-incomplete-1.c | 52 + gcc/testsuite/gcc.dg/c11-compare-incomplete-2.c | 52 + gcc/testsuite/gcc.dg/c99-compare-incomplete-1.c | 52 + gcc/testsuite/gcc.dg/c99-compare-incomplete-2.c | 52 + gcc/testsuite/gcc.dg/cpp/line10.c | 5 + gcc/testsuite/gcc.dg/cpp/line9.c | 5 + gcc/testsuite/gcc.dg/goacc/tile-1.c | 10 + gcc/testsuite/gcc.dg/hwasan/hwasan.exp | 36 + gcc/testsuite/gcc.dg/hwasan/nested-functions-0.c | 53 + gcc/testsuite/gcc.dg/hwasan/nested-functions-1.c | 27 + gcc/testsuite/gcc.dg/hwasan/nested-functions-2.c | 28 + gcc/testsuite/gcc.dg/lto/modref-3_0.c | 17 + gcc/testsuite/gcc.dg/lto/modref-3_1.c | 13 + gcc/testsuite/gcc.dg/lto/modref-4_0.c | 17 + gcc/testsuite/gcc.dg/lto/modref-4_1.c | 13 + gcc/testsuite/gcc.dg/memchr-3.c | 25 + gcc/testsuite/gcc.dg/nextafter-1.c | 2 + gcc/testsuite/gcc.dg/nextafter-2.c | 15 + gcc/testsuite/gcc.dg/pr95853.c | 59 ++ gcc/testsuite/gcc.dg/pr97515.c | 8 +- gcc/testsuite/gcc.dg/pr97534.c | 9 + gcc/testsuite/gcc.dg/pr97579.c | 31 + gcc/testsuite/gcc.dg/pr97953.c | 24 + gcc/testsuite/gcc.dg/pr97955.c | 7 + gcc/testsuite/gcc.dg/pr97979.c | 13 + gcc/testsuite/gcc.dg/profile-info-section.c | 2 + gcc/testsuite/gcc.dg/strncmp-2.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/modref-5.c | 27 + gcc/testsuite/gcc.dg/tree-ssa/pr23401.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr27810.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr96929.c | 21 + gcc/testsuite/gcc.dg/tree-ssa/pr97849.c | 16 + gcc/testsuite/gcc.dg/tree-ssa/pr97964.c | 18 + gcc/testsuite/gcc.dg/tree-ssa/pr97997-1.c | 52 + gcc/testsuite/gcc.dg/tree-ssa/pr97997-2.c | 41 + gcc/testsuite/gcc.dg/tree-ssa/slsr-8.c | 8 +- gcc/testsuite/gcc.dg/typeof-2.c | 20 +- gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-1.c | 4 +- gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-2.c | 4 +- gcc/testsuite/gcc.dg/vect/slp-perm-1.c | 4 +- gcc/testsuite/gcc.dg/vect/slp-perm-5.c | 4 +- gcc/testsuite/gcc.dg/vect/slp-perm-6.c | 5 +- gcc/testsuite/gcc.dg/vect/slp-perm-7.c | 4 +- gcc/testsuite/gcc.dg/vect/vect-35-big-array.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-35.c | 7 +- .../gcc.target/aarch64/aapcs64/abitest-2.h | 2 +- gcc/testsuite/gcc.target/aarch64/aapcs64/abitest.h | 2 +- .../gcc.target/aarch64/sve/acle/asm/abs_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/abs_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cls_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/clz_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnot_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cnt_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_f16.c | 8 + .../gcc.target/aarch64/sve/acle/asm/cvt_f32.c | 6 + .../gcc.target/aarch64/sve/acle/asm/cvt_f64.c | 6 + .../gcc.target/aarch64/sve/acle/asm/cvt_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_s32.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_s64.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/cvt_u32.c | 3 + .../gcc.target/aarch64/sve/acle/asm/cvt_u64.c | 3 + .../gcc.target/aarch64/sve/acle/asm/extb_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extb_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extb_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/exth_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/exth_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/extw_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/neg_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/not_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rbit_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/recpx_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revb_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revh_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revw_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/revw_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinta_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rinti_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintm_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintn_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintp_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintx_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/rintz_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/sqrt_f64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/cvtlt_f32.c | 8 +- .../gcc.target/aarch64/sve2/acle/asm/cvtlt_f64.c | 8 +- .../gcc.target/aarch64/sve2/acle/asm/cvtx_f32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/logb_f64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qabs_s8.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s16.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s64.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/qneg_s8.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/recpe_u32.c | 1 + .../gcc.target/aarch64/sve2/acle/asm/rsqrte_u32.c | 1 + .../gcc.target/arm/cortex-m55-nodsp-flag-hard.c | 2 +- .../gcc.target/arm/cortex-m55-nodsp-flag-softfp.c | 2 +- .../arm/cortex-m55-nodsp-nofp-flag-softfp.c | 2 +- .../gcc.target/arm/cortex-m55-nofp-flag-hard.c | 2 +- .../gcc.target/arm/cortex-m55-nofp-flag-softfp.c | 2 +- .../arm/cortex-m55-nofp-nomve-flag-softfp.c | 2 +- .../gcc.target/arm/cortex-m55-nomve-flag-hard.c | 2 +- .../gcc.target/arm/cortex-m55-nomve-flag-softfp.c | 2 +- .../gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c | 2 +- .../arm/cortex-m55-nomve.fp-flag-softfp.c | 2 +- .../gcc.target/arm/mve/intrinsics/pr97327.c | 2 +- gcc/testsuite/gcc.target/arm/pr91816.c | 63 ++ gcc/testsuite/gcc.target/i386/fma4-256-maccXX.c | 5 +- gcc/testsuite/gcc.target/i386/fma4-256-msubXX.c | 5 +- gcc/testsuite/gcc.target/i386/fma4-256-nmaccXX.c | 5 +- gcc/testsuite/gcc.target/i386/fma4-256-nmsubXX.c | 5 +- gcc/testsuite/gcc.target/i386/fma4-maccXX.c | 10 +- gcc/testsuite/gcc.target/i386/fma4-msubXX.c | 9 +- gcc/testsuite/gcc.target/i386/fma4-nmaccXX.c | 12 +- gcc/testsuite/gcc.target/i386/fma4-nmsubXX.c | 12 +- gcc/testsuite/gcc.target/i386/pr96906-1.c | 62 ++ gcc/testsuite/gcc.target/i386/pr97873-2.c | 23 + gcc/testsuite/gcc.target/i386/pr97873-3.c | 27 + gcc/testsuite/gcc.target/i386/pr97950.c | 153 +++ gcc/testsuite/gcc.target/i386/xop-haddX.c | 27 +- gcc/testsuite/gcc.target/i386/xop-hadduX.c | 22 +- gcc/testsuite/gcc.target/i386/xop-hsubX.c | 16 +- .../gcc.target/msp430/data-attributes-2.c | 13 +- .../gcc.target/msp430/pr78818-auto-warn.c | 4 +- gcc/testsuite/gcc.target/powerpc/mma-double-test.c | 3 + gcc/testsuite/gcc.target/powerpc/mma-single-test.c | 3 + .../gcc.target/powerpc/{pr96506.c => pr96506-1.c} | 24 - gcc/testsuite/gcc.target/powerpc/pr96506-2.c | 38 + .../s390/zvector/autovec-double-quiet-uneq.c | 5 +- .../s390/zvector/autovec-float-quiet-uneq.c | 5 +- gcc/testsuite/gdc.dg/intrinsics.d | 92 +- gcc/testsuite/gdc.dg/torture/pr97889.d | 29 + gcc/testsuite/gdc.test/compilable/callconv.d | 20 - gcc/testsuite/gdc.test/compilable/test17419.d | 2 - .../gdc.test/fail_compilation/fail18970.d | 4 +- gcc/testsuite/gdc.test/runnable/dhry.d | 927 ----------------- gcc/testsuite/gdc.test/runnable/nested.d | 9 - gcc/testsuite/gdc.test/runnable/test4.d | 12 - .../gfortran.dg/goacc/kernels-decompose-1.f95 | 8 + .../gfortran.dg/goacc/kernels-decompose-2.f95 | 8 + .../gfortran.dg/gomp/declare-target-4.f90 | 16 +- gcc/testsuite/gfortran.dg/gomp/requires-4.f90 | 6 +- gcc/testsuite/gfortran.dg/ipcp-array-2.f90 | 45 + gcc/testsuite/gfortran.dg/pr85796.f90 | 8 + gcc/testsuite/gnat.dg/multfixed.adb | 3 +- gcc/testsuite/lib/asan-dg.exp | 31 +- gcc/testsuite/lib/gcc-dg.exp | 4 +- gcc/testsuite/lib/hwasan-dg.exp | 150 +++ gcc/testsuite/lib/prune.exp | 10 +- gcc/testsuite/lib/target-supports.exp | 14 +- gcc/toplev.c | 12 + gcc/tree-cfg.c | 17 +- gcc/tree-core.h | 9 +- gcc/tree-diagnostic-path.cc | 13 +- gcc/tree-if-conv.c | 13 +- gcc/tree-scalar-evolution.c | 18 +- gcc/tree-ssa-alias.c | 9 +- gcc/tree-ssa-ccp.c | 8 +- gcc/tree-ssa-math-opts.c | 262 ++++- gcc/tree-ssa-pre.c | 6 +- gcc/tree-ssa-strlen.c | 35 +- gcc/tree-ssa-structalias.c | 25 +- gcc/tree-ssa.c | 7 +- gcc/tree-ssa.h | 2 +- gcc/tree-ssanames.c | 27 +- gcc/tree-streamer.c | 1 + gcc/tree-vect-slp.c | 2 + gcc/tree.c | 2 + gcc/tree.h | 14 + gcc/typeclass.h | 2 +- gcc/ubsan.c | 13 +- gcc/varasm.c | 29 +- libcpp/ChangeLog | 32 + libcpp/directives.c | 21 +- libcpp/expr.c | 9 +- libcpp/include/cpplib.h | 32 +- libcpp/internal.h | 9 +- libcpp/lex.c | 18 +- libcpp/macro.c | 95 +- libgcc/ChangeLog | 11 + libgcc/libgcc2.c | 42 +- libgcc/unwind-dw2-fde-dip.c | 1 + libgfortran/ChangeLog | 27 + libgfortran/intrinsics/execute_command_line.c | 5 + libgfortran/io/io.h | 10 +- libgfortran/io/transfer.c | 4 +- libgfortran/io/unit.c | 6 +- libgfortran/libgfortran.h | 12 +- libgfortran/runtime/error.c | 2 +- libgo/MERGE | 2 +- libgo/VERSION | 2 +- libgo/configure | 2 +- libgo/configure.ac | 2 +- libgo/go/cmd/cgo/out.go | 46 +- libgo/go/cmd/go/internal/work/exec.go | 60 ++ libgo/go/cmd/go/internal/work/security.go | 8 +- libgo/go/cmd/go/internal/work/security_test.go | 5 + libgo/go/cmd/internal/pkgpath/pkgpath.go | 68 +- libgo/go/cmd/internal/pkgpath/pkgpath_test.go | 22 +- libgo/go/go/internal/srcimporter/srcimporter.go | 2 +- libgo/go/internal/bytealg/bytealg.c | 10 +- libgo/go/internal/cpu/cpu_gccgo.c | 20 +- libgo/go/log/syslog/syslog_c.c | 2 +- libgo/go/math/big/nat.go | 2 +- libgo/go/runtime/atomic_pointer.go | 12 +- libgo/go/runtime/chan.go | 2 +- libgo/go/runtime/cpuprof.go | 4 +- libgo/go/runtime/debug.go | 2 +- libgo/go/runtime/heapdump.go | 2 +- libgo/go/runtime/iface.go | 2 +- libgo/go/runtime/internal/atomic/atomic.c | 56 +- libgo/go/runtime/malloc.go | 6 +- libgo/go/runtime/map.go | 2 +- libgo/go/runtime/mbarrier.go | 2 +- libgo/go/runtime/mgc.go | 4 +- libgo/go/runtime/mheap.go | 2 +- libgo/go/runtime/mprof.go | 2 +- libgo/go/runtime/mstats.go | 2 +- libgo/go/runtime/net_plan9.go | 4 +- libgo/go/runtime/netpoll.go | 18 +- libgo/go/runtime/pprof/mprof_test.go | 20 +- libgo/go/runtime/pprof/pprof_test.go | 4 +- libgo/go/runtime/preempt.go | 2 +- libgo/go/runtime/proc.go | 26 +- libgo/go/runtime/proflabel.go | 4 +- libgo/go/runtime/rdebug.go | 4 +- libgo/go/runtime/runtime.go | 4 +- libgo/go/runtime/runtime1.go | 2 +- libgo/go/runtime/sema.go | 22 +- libgo/go/runtime/sigqueue.go | 12 +- libgo/go/runtime/symtab.go | 88 +- libgo/go/runtime/trace.go | 8 +- libgo/go/runtime/traceback_gccgo.go | 4 +- libgo/go/sync/atomic/atomic.c | 52 +- libgo/misc/cgo/errors/badsym_test.go | 216 ++++ libgo/runtime/go-ffi.c | 30 +- libgo/runtime/go-setenv.c | 2 +- libgo/runtime/go-unsafe-pointer.c | 4 +- libgo/runtime/go-unsetenv.c | 2 +- libgo/runtime/runtime.h | 2 +- libgo/testsuite/gotest | 7 +- libgomp/ChangeLog | 21 + libgomp/plugin/plugin-gcn.c | 3 +- libgomp/testsuite/libgomp.oacc-c++/cache-1.C | 13 + .../testsuite/libgomp.oacc-c-c++-common/cache-1.c | 12 +- .../kernels-decompose-1.c | 8 + .../libgomp.oacc-fortran/atomic_capture-1.f90 | 38 +- .../testsuite/libgomp.oacc-fortran/pr94358-1.f90 | 8 + libiberty/ChangeLog | 5 + libiberty/configure | 1 + libiberty/configure.ac | 1 + libphobos/ChangeLog | 29 + libphobos/Makefile.in | 1 + libphobos/configure | 16 +- libphobos/configure.ac | 11 +- libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/Makefile.am | 20 +- libphobos/libdruntime/Makefile.in | 24 +- libphobos/libdruntime/core/demangle.d | 15 +- libphobos/libdruntime/core/internal/convert.d | 11 +- libphobos/libdruntime/core/math.d | 113 +- libphobos/libdruntime/core/sys/freebsd/config.d | 24 + libphobos/libdruntime/core/sys/freebsd/sys/event.d | 35 +- libphobos/libdruntime/core/sys/freebsd/sys/mount.d | 14 +- libphobos/libdruntime/core/sys/posix/dirent.d | 33 +- libphobos/libdruntime/core/sys/posix/sys/stat.d | 94 +- libphobos/libdruntime/core/sys/posix/sys/types.d | 19 +- libphobos/libdruntime/core/sys/posix/ucontext.d | 6 +- libphobos/libdruntime/core/thread.d | 10 + libphobos/libdruntime/gcc/config.d.in | 3 + libphobos/libdruntime/rt/critical_.d | 2 +- libphobos/libdruntime/rt/dmain2.d | 21 +- libphobos/src/MERGE | 2 +- libphobos/src/Makefile.in | 1 + libphobos/src/std/complex.d | 20 +- libphobos/src/std/conv.d | 26 +- libphobos/src/std/internal/math/gammafunction.d | 7 + libphobos/src/std/math.d | 72 +- libphobos/src/std/traits.d | 6 +- libphobos/testsuite/Makefile.in | 1 + libsanitizer/ChangeLog | 35 + libsanitizer/LOCAL_PATCHES | 1 + libsanitizer/MERGE | 2 +- libsanitizer/Makefile.am | 6 +- libsanitizer/Makefile.in | 9 +- libsanitizer/README.gcc | 1 + libsanitizer/asan/Makefile.in | 1 + libsanitizer/configure | 43 +- libsanitizer/configure.ac | 21 + libsanitizer/configure.tgt | 3 +- libsanitizer/hwasan/Makefile.am | 89 ++ libsanitizer/hwasan/Makefile.in | 803 +++++++++++++++ libsanitizer/hwasan/hwasan.cpp | 522 ++++++++++ libsanitizer/hwasan/hwasan.h | 165 +++ libsanitizer/hwasan/hwasan_allocator.cpp | 408 ++++++++ libsanitizer/hwasan/hwasan_allocator.h | 107 ++ libsanitizer/hwasan/hwasan_checks.h | 124 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 126 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.h | 27 + libsanitizer/hwasan/hwasan_exceptions.cpp | 67 ++ libsanitizer/hwasan/hwasan_flags.h | 29 + libsanitizer/hwasan/hwasan_flags.inc | 74 ++ libsanitizer/hwasan/hwasan_globals.cpp | 91 ++ libsanitizer/hwasan/hwasan_globals.h | 49 + libsanitizer/hwasan/hwasan_interceptors.cpp | 349 +++++++ libsanitizer/hwasan/hwasan_interceptors_vfork.S | 11 + libsanitizer/hwasan/hwasan_interface_internal.h | 227 ++++ libsanitizer/hwasan/hwasan_linux.cpp | 455 ++++++++ libsanitizer/hwasan/hwasan_malloc_bisect.h | 50 + libsanitizer/hwasan/hwasan_mapping.h | 66 ++ libsanitizer/hwasan/hwasan_memintrinsics.cpp | 44 + libsanitizer/hwasan/hwasan_new_delete.cpp | 81 ++ libsanitizer/hwasan/hwasan_poisoning.cpp | 52 + libsanitizer/hwasan/hwasan_poisoning.h | 24 + libsanitizer/hwasan/hwasan_report.cpp | 652 ++++++++++++ libsanitizer/hwasan/hwasan_report.h | 35 + libsanitizer/hwasan/hwasan_setjmp.S | 100 ++ libsanitizer/hwasan/hwasan_tag_mismatch_aarch64.S | 152 +++ libsanitizer/hwasan/hwasan_thread.cpp | 133 +++ libsanitizer/hwasan/hwasan_thread.h | 98 ++ libsanitizer/hwasan/hwasan_thread_list.cpp | 15 + libsanitizer/hwasan/hwasan_thread_list.h | 215 ++++ libsanitizer/hwasan/hwasan_type_test.cpp | 25 + libsanitizer/hwasan/libtool-version | 6 + libsanitizer/interception/Makefile.in | 1 + libsanitizer/libbacktrace/Makefile.in | 1 + libsanitizer/libsanitizer.spec.in | 2 + libsanitizer/lsan/Makefile.in | 1 + libsanitizer/merge.sh | 1 + libsanitizer/sanitizer_common/Makefile.in | 1 + libsanitizer/tsan/Makefile.in | 1 + libsanitizer/ubsan/Makefile.in | 1 + libstdc++-v3/ChangeLog | 483 +++++++++ libstdc++-v3/acinclude.m4 | 55 +- libstdc++-v3/config.h.in | 4 + libstdc++-v3/configure | 273 ++--- libstdc++-v3/doc/xml/manual/configure.xml | 3 +- libstdc++-v3/include/Makefile.am | 5 + libstdc++-v3/include/Makefile.in | 5 + libstdc++-v3/include/bits/atomic_base.h | 207 +++- libstdc++-v3/include/bits/atomic_timed_wait.h | 296 ++++++ libstdc++-v3/include/bits/atomic_wait.h | 300 ++++++ libstdc++-v3/include/bits/iterator_concepts.h | 17 +- libstdc++-v3/include/bits/move.h | 2 + libstdc++-v3/include/bits/semaphore_base.h | 301 ++++++ libstdc++-v3/include/bits/std_mutex.h | 70 ++ libstdc++-v3/include/bits/stl_algo.h | 16 +- libstdc++-v3/include/bits/stl_tempbuf.h | 2 +- libstdc++-v3/include/bits/stl_tree.h | 76 +- libstdc++-v3/include/precompiled/stdc++.h | 2 + libstdc++-v3/include/std/atomic | 84 ++ libstdc++-v3/include/std/condition_variable | 18 +- libstdc++-v3/include/std/latch | 94 ++ libstdc++-v3/include/std/semaphore | 95 ++ libstdc++-v3/include/std/stop_token | 4 +- libstdc++-v3/include/std/version | 6 + libstdc++-v3/src/c++11/condition_variable.cc | 33 +- libstdc++-v3/src/c++11/thread.cc | 10 + libstdc++-v3/src/c++98/locale.cc | 2 +- libstdc++-v3/testsuite/17_intro/names.cc | 2 + libstdc++-v3/testsuite/18_support/96817.cc | 13 +- .../23_containers/map/allocator/move_cons.cc | 53 + .../23_containers/multimap/allocator/move_cons.cc | 53 + .../23_containers/multiset/allocator/move_cons.cc | 53 + .../23_containers/set/allocator/move_cons.cc | 53 + .../associated_types/iterator.traits.cc | 56 + .../testsuite/25_algorithms/inplace_merge/1.cc | 37 +- .../27_io/filesystem/operations/absolute.cc | 2 +- .../27_io/filesystem/path/append/source.cc | 4 +- .../testsuite/27_io/filesystem/path/assign/copy.cc | 4 +- .../27_io/filesystem/path/compare/path.cc | 2 +- .../27_io/filesystem/path/construct/copy.cc | 4 +- .../27_io/filesystem/path/decompose/extension.cc | 2 +- .../27_io/filesystem/path/decompose/filename.cc | 2 +- .../27_io/filesystem/path/decompose/parent_path.cc | 2 +- .../filesystem/path/decompose/relative_path.cc | 2 +- .../filesystem/path/decompose/root_directory.cc | 2 +- .../27_io/filesystem/path/decompose/root_path.cc | 2 +- .../27_io/filesystem/path/itr/traversal.cc | 2 +- .../filesystem/path/modifiers/remove_filename.cc | 2 +- .../filesystem/path/modifiers/replace_extension.cc | 2 +- .../filesystem/path/modifiers/replace_filename.cc | 2 +- .../27_io/filesystem/path/nonmember/append.cc | 4 +- .../27_io/filesystem/path/nonmember/cmp.cc | 2 +- .../27_io/filesystem/path/nonmember/cmp_c++20.cc | 2 +- .../27_io/filesystem/path/nonmember/hash_value.cc | 2 +- .../27_io/filesystem/path/query/has_extension.cc | 2 +- .../27_io/filesystem/path/query/has_filename.cc | 2 +- .../27_io/filesystem/path/query/has_parent_path.cc | 2 +- .../filesystem/path/query/has_relative_path.cc | 2 +- .../filesystem/path/query/has_root_directory.cc | 2 +- .../27_io/filesystem/path/query/has_root_name.cc | 2 +- .../27_io/filesystem/path/query/has_root_path.cc | 2 +- .../27_io/filesystem/path/query/has_stem.cc | 2 +- .../27_io/filesystem/path/query/is_relative.cc | 2 +- .../regex_match/basic/string_range_01_03.cc | 3 +- .../algorithms/regex_match/cstring_bracket_01.cc | 1 + .../algorithms/regex_match/ecma/char/backref.cc | 1 + .../algorithms/regex_match/ecma/wchar_t/63199.cc | 1 + .../regex_match/ecma/wchar_t/anymatcher.cc | 1 + .../regex_match/ecma/wchar_t/cjk_match.cc | 1 + .../algorithms/regex_match/ecma/wchar_t/hex.cc | 1 + .../regex_match/extended/wstring_locale.cc | 1 + .../28_regex/algorithms/regex_search/61720.cc | 1 + .../algorithms/regex_search/ecma/assertion.cc | 1 + .../algorithms/regex_search/ecma/string_01.cc | 1 + .../28_regex/basic_regex/ctors/deduction.cc | 1 + .../29_atomics/atomic/wait_notify/bool.cc | 63 ++ .../29_atomics/atomic/wait_notify/generic.cc | 31 + .../29_atomics/atomic/wait_notify/pointers.cc | 63 ++ .../29_atomics/atomic_flag/wait_notify/1.cc | 65 ++ .../29_atomics/atomic_float/wait_notify.cc | 32 + .../29_atomics/atomic_integral/wait_notify.cc | 66 ++ .../testsuite/29_atomics/atomic_ref/wait_notify.cc | 95 ++ .../testsuite/30_threads/call_once/66146.cc | 4 +- libstdc++-v3/testsuite/30_threads/jthread/95989.cc | 4 +- libstdc++-v3/testsuite/30_threads/latch/1.cc | 27 + libstdc++-v3/testsuite/30_threads/latch/2.cc | 27 + libstdc++-v3/testsuite/30_threads/latch/3.cc | 69 ++ libstdc++-v3/testsuite/30_threads/semaphore/1.cc | 27 + libstdc++-v3/testsuite/30_threads/semaphore/2.cc | 27 + .../30_threads/semaphore/least_max_value_neg.cc | 30 + .../testsuite/30_threads/semaphore/try_acquire.cc | 55 + .../30_threads/semaphore/try_acquire_for.cc | 85 ++ .../30_threads/semaphore/try_acquire_posix.cc | 153 +++ .../30_threads/semaphore/try_acquire_until.cc | 94 ++ .../experimental/filesystem/operations/absolute.cc | 2 +- .../experimental/filesystem/path/assign/copy.cc | 4 +- .../experimental/filesystem/path/compare/path.cc | 2 +- .../experimental/filesystem/path/construct/copy.cc | 4 +- .../filesystem/path/decompose/extension.cc | 2 +- .../filesystem/path/decompose/filename.cc | 2 +- .../filesystem/path/decompose/parent_path.cc | 2 +- .../filesystem/path/decompose/relative_path.cc | 2 +- .../filesystem/path/decompose/root_directory.cc | 2 +- .../filesystem/path/decompose/root_path.cc | 2 +- .../experimental/filesystem/path/itr/traversal.cc | 2 +- .../filesystem/path/modifiers/remove_filename.cc | 2 +- .../filesystem/path/modifiers/replace_extension.cc | 2 +- .../filesystem/path/modifiers/replace_filename.cc | 2 +- .../filesystem/path/nonmember/hash_value.cc | 2 +- .../filesystem/path/query/has_extension.cc | 2 +- .../filesystem/path/query/has_filename.cc | 2 +- .../filesystem/path/query/has_parent_path.cc | 2 +- .../filesystem/path/query/has_relative_path.cc | 2 +- .../filesystem/path/query/has_root_directory.cc | 2 +- .../filesystem/path/query/has_root_name.cc | 2 +- .../filesystem/path/query/has_root_path.cc | 2 +- .../experimental/filesystem/path/query/has_stem.cc | 2 +- .../filesystem/path/query/is_relative.cc | 2 +- .../testsuite/ext/stdio_filebuf/char/79820.cc | 3 +- libstdc++-v3/testsuite/lib/libstdc++.exp | 605 +++-------- .../performance/25_algorithms/inplace_merge.cc | 290 ++++++ .../performance/25_algorithms/stable_sort.cc | 90 +- .../testsuite/util/atomic/wait_notify_util.h | 176 ++++ lto-plugin/ChangeLog | 5 + lto-plugin/Makefile.am | 4 +- lto-plugin/Makefile.in | 4 +- 1076 files changed, 40291 insertions(+), 10889 deletions(-)