From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 79DD3386101F; Mon, 19 Oct 2020 16:46:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79DD3386101F Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc(refs/vendors/redhat/heads/gcc-11-branch)] Merge commit 'r11-4072-g5abe05b4331250b6a7798ce87c0a82adc2bd70f3' into redhat/gcc-11-branch X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/vendors/redhat/heads/gcc-11-branch X-Git-Oldrev: 1b0448a3500ba452d9018325400ab7ad3b64514c X-Git-Newrev: 6e9eb3e01f683e4b1b40018476c72bed7a9a35f7 Message-Id: <20201019164613.79DD3386101F@sourceware.org> Date: Mon, 19 Oct 2020 16:46:13 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2020 16:46:13 -0000 https://gcc.gnu.org/g:6e9eb3e01f683e4b1b40018476c72bed7a9a35f7 commit 6e9eb3e01f683e4b1b40018476c72bed7a9a35f7 Merge: 1b0448a3500 5abe05b4331 Author: Jakub Jelinek Date: Mon Oct 19 18:45:36 2020 +0200 Merge commit 'r11-4072-g5abe05b4331250b6a7798ce87c0a82adc2bd70f3' into redhat/gcc-11-branch Diff: gcc/ChangeLog | 518 ++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 650 ++++++++++++++ gcc/ada/Makefile.rtl | 34 +- gcc/ada/aspects.ads | 4 + gcc/ada/checks.adb | 33 +- gcc/ada/contracts.adb | 3 +- gcc/ada/debug.adb | 7 +- .../gnat_rm/implementation_defined_attributes.rst | 8 + .../doc/gnat_rm/implementation_defined_pragmas.rst | 42 - ...ard_and_implementation_defined_restrictions.rst | 2 +- .../building_executable_programs_with_gnat.rst | 9 - .../doc/gnat_ugn/the_gnat_compilation_model.rst | 1 - gcc/ada/einfo.adb | 36 +- gcc/ada/einfo.ads | 14 +- gcc/ada/elists.adb | 58 ++ gcc/ada/elists.ads | 15 + gcc/ada/errout.adb | 43 +- gcc/ada/errout.ads | 13 +- gcc/ada/erroutc.adb | 9 +- gcc/ada/exp_aggr.adb | 90 +- gcc/ada/exp_attr.adb | 234 ++--- gcc/ada/exp_ch3.adb | 52 +- gcc/ada/exp_ch4.adb | 269 ++++-- gcc/ada/exp_ch5.adb | 18 - gcc/ada/exp_ch5.ads | 1 - gcc/ada/exp_ch6.adb | 112 ++- gcc/ada/exp_ch6.ads | 4 +- gcc/ada/exp_ch7.adb | 225 ++++- gcc/ada/exp_ch9.adb | 14 +- gcc/ada/exp_imgv.adb | 20 +- gcc/ada/exp_pakd.adb | 19 +- gcc/ada/exp_prag.adb | 473 +++++++++++ gcc/ada/exp_put_image.adb | 4 +- gcc/ada/exp_util.adb | 192 +++-- gcc/ada/exp_util.ads | 12 +- gcc/ada/expander.adb | 3 - gcc/ada/freeze.adb | 55 +- gcc/ada/gcc-interface/Make-lang.in | 12 +- gcc/ada/{libgnat => gcc-interface}/system.ads | 0 gcc/ada/ghost.adb | 135 +-- gcc/ada/gnat1drv.adb | 8 - gcc/ada/gnat_cuda.adb | 586 +++++++++++++ gcc/ada/gnat_cuda.ads | 107 +++ gcc/ada/gnat_rm.texi | 941 +++++++++++---------- gcc/ada/gnat_ugn.texi | 16 +- gcc/ada/inline.adb | 4 +- gcc/ada/layout.adb | 10 +- gcc/ada/lib-xref.adb | 31 + gcc/ada/lib-xref.ads | 13 +- gcc/ada/libgnarl/s-osinte__aix.adb | 4 - gcc/ada/libgnarl/s-osinte__android.adb | 4 - gcc/ada/libgnarl/s-osinte__darwin.adb | 4 - gcc/ada/libgnarl/s-osinte__gnu.adb | 4 - gcc/ada/libgnarl/s-osinte__hpux-dce.adb | 4 - gcc/ada/libgnarl/s-osinte__lynxos178.adb | 4 - gcc/ada/libgnarl/s-osinte__posix.adb | 4 - gcc/ada/libgnarl/s-osinte__qnx.adb | 4 - gcc/ada/libgnarl/s-osinte__rtems.adb | 5 +- gcc/ada/libgnarl/s-osinte__solaris.adb | 4 - gcc/ada/libgnarl/s-osinte__vxworks.adb | 4 - gcc/ada/libgnarl/s-osinte__x32.adb | 5 +- gcc/ada/libgnarl/s-solita.adb | 5 - gcc/ada/libgnarl/s-taasde.adb | 4 - gcc/ada/libgnarl/s-taprob.adb | 4 - gcc/ada/libgnarl/s-taprop__dummy.adb | 4 - gcc/ada/libgnarl/s-taprop__hpux-dce.adb | 4 - gcc/ada/libgnarl/s-taprop__linux.adb | 4 - gcc/ada/libgnarl/s-taprop__mingw.adb | 4 - gcc/ada/libgnarl/s-taprop__posix.adb | 4 - gcc/ada/libgnarl/s-taprop__qnx.adb | 4 - gcc/ada/libgnarl/s-taprop__solaris.adb | 4 - gcc/ada/libgnarl/s-taprop__vxworks.adb | 4 - gcc/ada/libgnarl/s-tarest.adb | 4 - gcc/ada/libgnarl/s-tasini.adb | 5 - gcc/ada/libgnarl/s-taskin.adb | 4 - gcc/ada/libgnarl/s-taspri__dummy.ads | 4 - gcc/ada/libgnarl/s-taspri__hpux-dce.ads | 4 - gcc/ada/libgnarl/s-taspri__lynxos.ads | 4 - gcc/ada/libgnarl/s-taspri__mingw.ads | 4 - gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads | 4 - gcc/ada/libgnarl/s-taspri__posix.ads | 4 - gcc/ada/libgnarl/s-taspri__solaris.ads | 4 - gcc/ada/libgnarl/s-taspri__vxworks.ads | 4 - gcc/ada/libgnarl/s-tassta.adb | 4 - gcc/ada/libgnarl/s-tasuti.adb | 4 - gcc/ada/libgnarl/s-tposen.adb | 4 - gcc/ada/libgnat/a-cbdlli.adb | 38 + gcc/ada/libgnat/a-cbdlli.ads | 15 +- gcc/ada/libgnat/a-cbhama.adb | 31 + gcc/ada/libgnat/a-cbhama.ads | 11 +- gcc/ada/libgnat/a-cbhase.adb | 27 + gcc/ada/libgnat/a-cbhase.ads | 15 +- gcc/ada/libgnat/a-cbmutr.adb | 44 + gcc/ada/libgnat/a-cbmutr.ads | 6 +- gcc/ada/libgnat/a-cborma.adb | 31 + gcc/ada/libgnat/a-cborma.ads | 11 +- gcc/ada/libgnat/a-cborse.adb | 26 + gcc/ada/libgnat/a-cborse.ads | 11 +- gcc/ada/libgnat/a-cdlili.adb | 38 + gcc/ada/libgnat/a-cdlili.ads | 14 +- gcc/ada/libgnat/a-cfinve.adb | 2 +- gcc/ada/libgnat/a-cgcaso.adb | 4 +- gcc/ada/libgnat/a-cidlli.adb | 29 + gcc/ada/libgnat/a-cidlli.ads | 6 +- gcc/ada/libgnat/a-cihama.adb | 31 + gcc/ada/libgnat/a-cihama.ads | 10 +- gcc/ada/libgnat/a-cihase.adb | 26 + gcc/ada/libgnat/a-cihase.ads | 10 +- gcc/ada/libgnat/a-cimutr.adb | 44 + gcc/ada/libgnat/a-cimutr.ads | 6 +- gcc/ada/libgnat/a-ciorma.adb | 31 + gcc/ada/libgnat/a-ciorma.ads | 10 +- gcc/ada/libgnat/a-ciormu.adb | 26 + gcc/ada/libgnat/a-ciormu.ads | 6 +- gcc/ada/libgnat/a-ciorse.adb | 26 + gcc/ada/libgnat/a-ciorse.ads | 10 +- gcc/ada/libgnat/a-coboho.adb | 15 + gcc/ada/libgnat/a-coboho.ads | 6 +- gcc/ada/libgnat/a-cobove.adb | 47 + gcc/ada/libgnat/a-cobove.ads | 20 +- gcc/ada/libgnat/a-cofove.adb | 2 +- gcc/ada/libgnat/a-cogeso.adb | 4 +- gcc/ada/libgnat/a-cohama.adb | 31 + gcc/ada/libgnat/a-cohama.ads | 10 +- gcc/ada/libgnat/a-cohase.adb | 26 + gcc/ada/libgnat/a-cohase.ads | 10 +- gcc/ada/libgnat/a-coinho.adb | 17 + gcc/ada/libgnat/a-coinho.ads | 7 +- gcc/ada/libgnat/a-coinho__shared.adb | 17 + gcc/ada/libgnat/a-coinho__shared.ads | 7 +- gcc/ada/libgnat/a-coinve.adb | 50 ++ gcc/ada/libgnat/a-coinve.ads | 18 +- gcc/ada/libgnat/a-comutr.adb | 44 + gcc/ada/libgnat/a-comutr.ads | 6 +- gcc/ada/libgnat/a-convec.adb | 21 + gcc/ada/libgnat/a-convec.ads | 15 +- gcc/ada/libgnat/a-coorma.adb | 31 + gcc/ada/libgnat/a-coorma.ads | 10 +- gcc/ada/libgnat/a-coormu.adb | 26 + gcc/ada/libgnat/a-coormu.ads | 6 +- gcc/ada/libgnat/a-coorse.adb | 26 + gcc/ada/libgnat/a-coorse.ads | 8 +- gcc/ada/libgnat/a-except.adb | 19 - gcc/ada/libgnat/a-except.ads | 29 - gcc/ada/libgnat/a-nagefl.ads | 171 ++++ .../libgnat/{a-excpol__abort.adb => a-naliop.ads} | 53 +- gcc/ada/libgnat/a-naliop__nolibm.ads | 43 + .../{a-numaux__vxworks.ads => a-nallfl.ads} | 84 +- .../libgnat/{a-numaux__darwin.ads => a-nalofl.ads} | 94 +- gcc/ada/libgnat/a-nashfl.ads | 87 ++ gcc/ada/libgnat/a-ngcefu.adb | 5 +- gcc/ada/libgnat/a-ngcoty.adb | 34 +- gcc/ada/libgnat/a-ngelfu.adb | 39 +- gcc/ada/libgnat/{a-excpol.adb => a-nuauco.ads} | 30 +- .../{a-numaux__dummy.adb => a-nuauco__x86.ads} | 17 +- .../{a-numaux__libc-x86.ads => a-nuaufl.ads} | 84 +- gcc/ada/libgnat/a-numaux.ads | 94 +- gcc/ada/libgnat/a-numaux__darwin.adb | 211 ----- gcc/ada/libgnat/a-numeri.ads | 5 +- gcc/ada/libgnat/a-stoubu.adb | 16 +- gcc/ada/libgnat/a-stouut.adb | 3 +- gcc/ada/libgnat/a-stouut.ads | 5 +- gcc/ada/libgnat/a-strunb.adb | 10 + gcc/ada/libgnat/a-strunb.ads | 7 +- gcc/ada/libgnat/a-strunb__shared.adb | 10 + gcc/ada/libgnat/a-strunb__shared.ads | 6 +- gcc/ada/libgnat/a-stteou.ads | 12 +- gcc/ada/libgnat/a-suenco.adb | 2 +- gcc/ada/libgnat/a-textio.ads | 5 +- gcc/ada/libgnat/g-arrspl.adb | 26 +- gcc/ada/libgnat/g-arrspl.ads | 36 +- gcc/ada/libgnat/g-debpoo.ads | 2 +- gcc/ada/libgnat/interfac.ads | 2 + gcc/ada/libgnat/interfac__2020.ads | 198 +++++ gcc/ada/libgnat/s-dwalin.adb | 4 - gcc/ada/libgnat/s-dwalin.ads | 4 - gcc/ada/libgnat/s-mastop.ads | 4 - gcc/ada/libgnat/s-putima.adb | 5 + gcc/ada/libgnat/s-putima.ads | 8 +- gcc/ada/libgnat/s-soflin.adb | 4 - gcc/ada/libgnat/s-stalib.adb | 4 - gcc/ada/libgnat/s-stalib.ads | 4 - gcc/ada/libgnat/s-stchop.adb | 2 - gcc/ada/libgnat/s-stchop.ads | 4 - gcc/ada/libgnat/s-stchop__limit.ads | 4 - gcc/ada/libgnat/s-traceb.ads | 4 - gcc/ada/libgnat/s-traent.adb | 4 - gcc/ada/libgnat/s-traent.ads | 4 - gcc/ada/libgnat/s-trasym.adb | 4 - gcc/ada/libgnat/s-trasym.ads | 4 - gcc/ada/libgnat/s-trasym__dwarf.adb | 4 - gcc/ada/libgnat/system-aix.ads | 6 +- gcc/ada/libgnat/system-darwin-arm.ads | 6 +- gcc/ada/libgnat/system-darwin-ppc.ads | 6 +- gcc/ada/libgnat/system-darwin-x86.ads | 6 +- gcc/ada/libgnat/system-djgpp.ads | 6 +- gcc/ada/libgnat/system-dragonfly-x86_64.ads | 6 +- gcc/ada/libgnat/system-freebsd.ads | 6 +- gcc/ada/libgnat/system-hpux-ia64.ads | 6 +- gcc/ada/libgnat/system-hpux.ads | 6 +- gcc/ada/libgnat/system-linux-alpha.ads | 8 +- gcc/ada/libgnat/system-linux-arm.ads | 6 +- gcc/ada/libgnat/system-linux-hppa.ads | 6 +- gcc/ada/libgnat/system-linux-ia64.ads | 6 +- gcc/ada/libgnat/system-linux-m68k.ads | 6 +- gcc/ada/libgnat/system-linux-mips.ads | 8 +- gcc/ada/libgnat/system-linux-ppc.ads | 6 +- gcc/ada/libgnat/system-linux-riscv.ads | 8 +- gcc/ada/libgnat/system-linux-s390.ads | 8 +- gcc/ada/libgnat/system-linux-sh4.ads | 6 +- gcc/ada/libgnat/system-linux-sparc.ads | 8 +- gcc/ada/libgnat/system-linux-x86.ads | 6 +- gcc/ada/libgnat/system-lynxos178-ppc.ads | 6 +- gcc/ada/libgnat/system-lynxos178-x86.ads | 6 +- gcc/ada/libgnat/system-mingw.ads | 6 +- gcc/ada/libgnat/system-qnx-aarch64.ads | 6 +- gcc/ada/libgnat/system-rtems.ads | 8 +- gcc/ada/libgnat/system-solaris-sparc.ads | 6 +- gcc/ada/libgnat/system-solaris-x86.ads | 6 +- gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks-arm-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks-arm.ads | 6 +- gcc/ada/libgnat/system-vxworks-e500-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks-e500-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks-e500-vthread.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc-ravenscar.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc-vthread.ads | 6 +- gcc/ada/libgnat/system-vxworks-ppc.ads | 6 +- gcc/ada/libgnat/system-vxworks-x86-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks-x86-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks-x86-vthread.ads | 6 +- gcc/ada/libgnat/system-vxworks-x86.ads | 6 +- .../libgnat/system-vxworks7-aarch64-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-aarch64.ads | 6 +- gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-arm.ads | 6 +- gcc/ada/libgnat/system-vxworks7-e500-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-e500-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-x86-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-x86-rtp.ads | 6 +- gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads | 6 +- gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads | 6 +- gcc/ada/opt.adb | 4 - gcc/ada/opt.ads | 14 - gcc/ada/par-ch13.adb | 11 +- gcc/ada/par-ch4.adb | 71 +- gcc/ada/par-prag.adb | 1 - gcc/ada/par-tchk.adb | 14 + gcc/ada/par.adb | 1 + gcc/ada/rtsfind.adb | 9 +- gcc/ada/rtsfind.ads | 39 +- gcc/ada/scil_ll.adb | 2 +- gcc/ada/scng.adb | 13 +- gcc/ada/sem_aggr.adb | 114 ++- gcc/ada/sem_attr.adb | 35 +- gcc/ada/sem_attr.ads | 10 + gcc/ada/sem_cat.adb | 1 + gcc/ada/sem_ch10.adb | 14 +- gcc/ada/sem_ch12.adb | 69 +- gcc/ada/sem_ch13.adb | 131 ++- gcc/ada/sem_ch13.ads | 7 +- gcc/ada/sem_ch3.adb | 171 ++-- gcc/ada/sem_ch3.ads | 2 +- gcc/ada/sem_ch4.adb | 1 + gcc/ada/sem_ch5.adb | 4 +- gcc/ada/sem_ch6.adb | 23 +- gcc/ada/sem_ch7.adb | 28 + gcc/ada/sem_ch8.adb | 243 +++--- gcc/ada/sem_ch8.ads | 6 +- gcc/ada/sem_ch9.adb | 2 +- gcc/ada/sem_disp.adb | 8 +- gcc/ada/sem_eval.adb | 155 +++- gcc/ada/sem_prag.adb | 66 +- gcc/ada/sem_res.adb | 69 +- gcc/ada/sem_scil.adb | 2 +- gcc/ada/sem_util.adb | 190 +++-- gcc/ada/sem_util.ads | 37 +- gcc/ada/snames.ads-tmpl | 5 +- gcc/ada/switch-c.adb | 9 +- gcc/ada/targparm.adb | 6 - gcc/ada/targparm.ads | 3 - gcc/ada/ttypes.ads | 2 + gcc/ada/usage.adb | 5 - gcc/analyzer/ChangeLog | 16 + gcc/analyzer/region-model.cc | 37 +- gcc/analyzer/region.cc | 16 +- gcc/analyzer/store.cc | 1 - gcc/attr-fnspec.h | 12 +- gcc/attribs.c | 2 + gcc/builtins.c | 7 +- gcc/c-family/ChangeLog | 6 + gcc/c-family/c-attribs.c | 13 +- gcc/common/config/i386/cpuinfo.h | 5 + gcc/common/config/i386/i386-common.c | 30 + gcc/common/config/i386/i386-cpuinfo.h | 2 + gcc/common/config/i386/i386-isas.h | 2 + gcc/common/config/riscv/riscv-common.c | 91 +- gcc/config.gcc | 6 +- gcc/config/arm/arm-builtins.c | 8 +- gcc/config/arm/arm.c | 3 +- gcc/config/arm/arm_mve.h | 30 +- gcc/config/arm/arm_mve_builtins.def | 10 - gcc/config/arm/mve.md | 196 +---- gcc/config/arm/vxworks.h | 2 +- gcc/config/i386/avx2intrin.h | 3 + gcc/config/i386/avx512bwintrin.h | 32 + gcc/config/i386/avx512dqintrin.h | 186 ++++ gcc/config/i386/avx512erintrin.h | 148 ++++ gcc/config/i386/avx512fintrin.h | 163 ++++ gcc/config/i386/avx512vlbwintrin.h | 65 ++ gcc/config/i386/avx512vlintrin.h | 85 ++ gcc/config/i386/avxintrin.h | 7 + gcc/config/i386/cpuid.h | 2 + gcc/config/i386/emmintrin.h | 25 + gcc/config/i386/hresetintrin.h | 48 ++ gcc/config/i386/i386-builtin-types.def | 5 + gcc/config/i386/i386-builtin.def | 18 + gcc/config/i386/i386-builtins.c | 5 + gcc/config/i386/i386-builtins.h | 1 + gcc/config/i386/i386-c.c | 5 +- gcc/config/i386/i386-expand.c | 26 + gcc/config/i386/i386-options.c | 9 +- gcc/config/i386/i386.c | 68 +- gcc/config/i386/i386.h | 11 +- gcc/config/i386/i386.md | 61 +- gcc/config/i386/i386.opt | 8 + gcc/config/i386/mmintrin.h | 6 + gcc/config/i386/sse.md | 28 +- gcc/config/i386/uintrintrin.h | 87 ++ gcc/config/i386/x86gprintrin.h | 4 + gcc/config/nvptx/nvptx.opt | 8 +- gcc/config/riscv/multilib-generator | 24 +- gcc/config/riscv/riscv-cores.def | 49 ++ gcc/config/riscv/riscv-protos.h | 14 + gcc/config/riscv/riscv.c | 97 ++- gcc/config/riscv/riscv.h | 25 +- gcc/config/riscv/riscv.opt | 4 + gcc/config/riscv/t-riscv | 2 + gcc/config/rs6000/vsx.md | 4 +- gcc/config/rs6000/vxworks.h | 57 +- gcc/config/t-vxworks | 2 +- gcc/config/vxworks.c | 6 +- gcc/config/vxworks.h | 9 +- gcc/config/vxworks/_vxworks-versions.h | 20 +- gcc/cp/ChangeLog | 69 ++ gcc/cp/class.c | 5 +- gcc/cp/constraint.cc | 11 +- gcc/cp/cp-tree.h | 24 +- gcc/cp/cxx-pretty-print.c | 33 +- gcc/cp/decl.c | 107 ++- gcc/cp/decl2.c | 2 +- gcc/cp/friend.c | 15 +- gcc/cp/name-lookup.c | 128 +-- gcc/cp/parser.c | 6 +- gcc/cp/pt.c | 32 +- gcc/doc/extend.texi | 10 + gcc/doc/invoke.texi | 44 +- gcc/fold-const.c | 2 + gcc/fortran/ChangeLog | 36 + gcc/fortran/decl.c | 4 +- gcc/fortran/expr.c | 2 +- gcc/fortran/intrinsic.c | 5 + gcc/fortran/iresolve.c | 6 +- gcc/fortran/match.c | 5 +- gcc/fortran/match.h | 6 +- gcc/fortran/resolve.c | 7 + gcc/fortran/scanner.c | 4 +- gcc/fortran/trans-decl.c | 76 +- gcc/gimple-range.cc | 2 +- gcc/gimple-ssa-evrp.c | 13 +- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.cc | 82 +- gcc/go/gofrontend/expressions.h | 8 + gcc/go/gofrontend/types.cc | 8 +- gcc/ipa-fnsummary.c | 6 +- gcc/ipa-modref.c | 17 +- gcc/ipa-predicate.c | 2 +- gcc/ipa-predicate.h | 3 +- gcc/ipa-prop.c | 3 +- gcc/match.pd | 12 +- gcc/params.opt | 2 +- gcc/profile-count.c | 4 +- gcc/range-op.cc | 20 +- gcc/regs.h | 3 +- gcc/symtab.c | 2 +- gcc/testsuite/ChangeLog | 350 ++++++++ gcc/testsuite/c-c++-common/cpp/pr97471.c | 10 + gcc/testsuite/c-c++-common/ident-0b.c | 1 + .../g++.dg/cpp0x/lambda/lambda-variadic11.C | 20 + gcc/testsuite/g++.dg/cpp2a/spaceship-eq10.C | 11 + gcc/testsuite/g++.dg/diagnostic/ptrtomem1.C | 31 + gcc/testsuite/g++.dg/diagnostic/ptrtomem2.C | 14 + gcc/testsuite/g++.dg/lookup/extern-redecl2.C | 18 + gcc/testsuite/g++.dg/parse/pr96258.C | 5 + gcc/testsuite/g++.dg/template/pr97460.C | 9 + .../gcc.c-torture/compile/limits-externdecl.c | 1 - gcc/testsuite/gcc.c-torture/compile/pr42717.c | 1 - gcc/testsuite/gcc.c-torture/compile/pr61684.c | 1 - gcc/testsuite/gcc.c-torture/execute/981019-1.c | 2 - gcc/testsuite/gcc.c-torture/execute/pr20601-1.c | 1 - gcc/testsuite/gcc.c-torture/execute/pr52129.c | 1 - gcc/testsuite/gcc.c-torture/execute/pr59221.c | 1 - gcc/testsuite/gcc.c-torture/execute/pr68185.c | 1 - gcc/testsuite/gcc.c-torture/execute/pr97404.c | 28 + gcc/testsuite/gcc.dg/Warray-bounds-68.c | 118 +++ gcc/testsuite/gcc.dg/Wvla-parameter-8.c | 86 ++ gcc/testsuite/gcc.dg/analyzer/data-model-21.c | 8 + gcc/testsuite/gcc.dg/analyzer/setjmp-pr93378.c | 2 +- gcc/testsuite/gcc.dg/analyzer/sigsetjmp-5.c | 2 +- gcc/testsuite/gcc.dg/analyzer/sigsetjmp-6.c | 2 +- gcc/testsuite/gcc.dg/analyzer/test-setjmp.h | 15 +- gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-6.c | 1 + gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-7.c | 1 + gcc/testsuite/gcc.dg/atomic/stdatomic-op-5.c | 1 + gcc/testsuite/gcc.dg/attr-alloc_size-11.c | 4 +- gcc/testsuite/gcc.dg/ipa/modref-1.c | 24 + gcc/testsuite/gcc.dg/pr66552.c | 14 + gcc/testsuite/gcc.dg/pr68671.c | 1 - gcc/testsuite/gcc.dg/pr97396.c | 23 + gcc/testsuite/gcc.dg/pr97462.c | 10 + gcc/testsuite/gcc.dg/pr97467.c | 16 + gcc/testsuite/gcc.dg/pr97488.c | 11 + gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/modref-4.c | 26 + gcc/testsuite/gcc.dg/tree-ssa/pr84512.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-52.c | 15 + gcc/testsuite/gcc.dg/vect/bb-slp-53.c | 20 + gcc/testsuite/gcc.dg/vect/bb-slp-pr97486.c | 27 + gcc/testsuite/gcc.dg/vect/pr97428.c | 44 + gcc/testsuite/gcc.dg/vect/vect-complex-5.c | 2 +- .../gcc.target/arm/mve/intrinsics/pr97327.c | 8 + .../mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c | 4 +- .../mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c | 4 +- .../mve/intrinsics/vstrdq_scatter_base_wb_s64.c | 4 +- .../mve/intrinsics/vstrdq_scatter_base_wb_u64.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_f32.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_s32.c | 4 +- .../mve/intrinsics/vstrwq_scatter_base_wb_u32.c | 4 +- gcc/testsuite/gcc.target/i386/avx-1.c | 10 + .../gcc.target/i386/avx2-vbroadcastsi128-1.c | 7 +- .../gcc.target/i386/avx2-vbroadcastsi128-2.c | 4 +- .../gcc.target/i386/avx512bw-vmovdqu16-1.c | 22 +- .../gcc.target/i386/avx512bw-vmovdqu8-1.c | 16 +- .../gcc.target/i386/avx512dq-vreducepd-3.c | 22 + .../gcc.target/i386/avx512dq-vreducepd-4.c | 61 ++ .../gcc.target/i386/avx512dq-vreduceps-3.c | 22 + .../gcc.target/i386/avx512dq-vreduceps-4.c | 61 ++ .../gcc.target/i386/avx512dq-vreducesd-1.c | 8 +- .../gcc.target/i386/avx512dq-vreducesd-2.c | 22 +- .../gcc.target/i386/avx512dq-vreducess-1.c | 8 +- .../gcc.target/i386/avx512dq-vreducess-2.c | 22 +- .../gcc.target/i386/avx512er-vrcp28sd-1.c | 11 +- .../gcc.target/i386/avx512er-vrcp28sd-2.c | 30 +- .../gcc.target/i386/avx512er-vrcp28ss-1.c | 11 +- .../gcc.target/i386/avx512er-vrcp28ss-2.c | 29 +- .../gcc.target/i386/avx512er-vrsqrt28sd-1.c | 11 +- .../gcc.target/i386/avx512er-vrsqrt28sd-2.c | 29 +- .../gcc.target/i386/avx512er-vrsqrt28ss-1.c | 11 +- .../gcc.target/i386/avx512er-vrsqrt28ss-2.c | 29 +- .../gcc.target/i386/avx512f-vcvtsd2si-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtsd2si64-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtsd2ss-1.c | 11 +- .../gcc.target/i386/avx512f-vcvtsi2sd-1.c | 13 + .../gcc.target/i386/avx512f-vcvtsi2sd64-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtsi2ss-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtsi2ss64-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtss2sd-1.c | 11 +- .../gcc.target/i386/avx512f-vcvtss2si-1.c | 4 +- .../gcc.target/i386/avx512f-vcvtss2si64-1.c | 4 +- .../gcc.target/i386/avx512f-vscalefsd-1.c | 4 + .../gcc.target/i386/avx512f-vscalefsd-2.c | 12 +- .../gcc.target/i386/avx512f-vscalefss-1.c | 4 + .../gcc.target/i386/avx512f-vscalefss-2.c | 12 +- gcc/testsuite/gcc.target/i386/avx512f-vsqrtsd-1.c | 6 +- gcc/testsuite/gcc.target/i386/avx512f-vsqrtsd-2.c | 12 +- gcc/testsuite/gcc.target/i386/avx512f-vsqrtss-1.c | 6 +- gcc/testsuite/gcc.target/i386/avx512f-vsqrtss-2.c | 12 +- .../gcc.target/i386/avx512vl-vmovdqa32-1.c | 16 +- .../gcc.target/i386/avx512vl-vmovdqa64-1.c | 7 +- gcc/testsuite/gcc.target/i386/funcspec-56.inc | 4 + gcc/testsuite/gcc.target/i386/hreset-1.c | 11 + gcc/testsuite/gcc.target/i386/pr95483-1.c | 16 + gcc/testsuite/gcc.target/i386/pr95483-2.c | 14 + gcc/testsuite/gcc.target/i386/pr95483-3.c | 11 + gcc/testsuite/gcc.target/i386/pr95483-4.c | 11 + gcc/testsuite/gcc.target/i386/pr95483-5.c | 16 + gcc/testsuite/gcc.target/i386/pr95483-6.c | 16 + gcc/testsuite/gcc.target/i386/pr95483-7.c | 16 + gcc/testsuite/gcc.target/i386/pr97387-1.c | 31 + gcc/testsuite/gcc.target/i386/pr97387-2.c | 31 + gcc/testsuite/gcc.target/i386/sse-13.c | 10 + gcc/testsuite/gcc.target/i386/sse-23.c | 10 + gcc/testsuite/gcc.target/i386/uintr-1.c | 21 + gcc/testsuite/gcc.target/i386/uintr-2.c | 17 + gcc/testsuite/gcc.target/i386/uintr-3.c | 9 + gcc/testsuite/gcc.target/i386/uintr-4.c | 9 + gcc/testsuite/gcc.target/i386/uintr-5.c | 10 + gcc/testsuite/gcc.target/i386/x86gprintrin-1.c | 3 +- gcc/testsuite/gcc.target/i386/x86gprintrin-2.c | 3 +- gcc/testsuite/gcc.target/i386/x86gprintrin-3.c | 3 +- gcc/testsuite/gcc.target/i386/x86gprintrin-4.c | 6 +- gcc/testsuite/gcc.target/i386/x86gprintrin-5.c | 6 +- gcc/testsuite/gcc.target/nvptx/atomic_fetch-3.c | 24 - .../gcc.target/powerpc/builtins-1-p9-runnable.c | 9 +- gcc/testsuite/gcc.target/powerpc/builtins-3-p9.c | 2 +- .../gcc.target/powerpc/builtins-5-p9-runnable.c | 2 +- .../gcc.target/powerpc/builtins-7-p9-runnable.c | 34 +- .../gcc.target/powerpc/builtins-msum-runnable.c | 4 +- .../gcc.target/powerpc/float128-cmp2-runnable.c | 4 +- .../powerpc/fold-vec-extract-double.p9.c | 8 +- gcc/testsuite/gcc.target/powerpc/p9-dimode1.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-dimode2.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-fpcvt-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-fpcvt-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-minmax-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-minmax-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-minmax-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-splat-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-splat-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-splat-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-splat-4.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-vbpermd.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-vneg.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-vparity.c | 3 +- gcc/testsuite/gcc.target/powerpc/p9-vpermr.c | 3 +- gcc/testsuite/gcc.target/powerpc/p9-xxbr-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-xxbr-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/p9-xxbr-3.c | 4 +- gcc/testsuite/gcc.target/powerpc/pr96139-a.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr96139-b.c | 2 +- gcc/testsuite/gcc.target/riscv/mcpu-1.c | 18 + gcc/testsuite/gcc.target/riscv/mcpu-2.c | 18 + gcc/testsuite/gcc.target/riscv/mcpu-3.c | 18 + gcc/testsuite/gcc.target/riscv/mcpu-4.c | 18 + gcc/testsuite/gcc.target/riscv/mcpu-5.c | 19 + gcc/testsuite/gcc.target/riscv/mcpu-6.c | 10 + gcc/testsuite/gcc.target/riscv/mcpu-7.c | 10 + gcc/testsuite/gfortran.dg/goacc/warn_truncated.f90 | 11 + gcc/testsuite/gfortran.dg/index_4.f90 | 19 + gcc/testsuite/gfortran.dg/matmul_20.f90 | 47 + gcc/testsuite/gfortran.dg/pr95614_1.f90 | 6 + gcc/testsuite/gfortran.dg/pr95614_2.f90 | 6 + gcc/testsuite/gfortran.dg/pr95614_3.f90 | 9 + gcc/testsuite/gfortran.dg/pr95614_4.f90 | 9 + gcc/testsuite/lib/target-supports.exp | 3 + gcc/tracer.c | 66 +- gcc/tree-cfg.c | 47 +- gcc/tree-data-ref.c | 4 +- gcc/tree-pretty-print.c | 3 +- gcc/tree-vect-loop.c | 7 +- gcc/tree-vect-slp.c | 307 ++++--- gcc/vr-values.c | 2 +- libcc1/ChangeLog | 4 + libcc1/libcp1plugin.cc | 2 +- libcpp/init.c | 6 +- libcpp/internal.h | 4 +- libcpp/macro.c | 20 +- libgcc/ChangeLog | 58 ++ libgcc/config/gthr-vxworks-cond.c | 10 +- libgcc/config/gthr-vxworks-thread.c | 57 +- libgcc/config/gthr-vxworks-tls.c | 22 +- libgcc/config/gthr-vxworks.c | 1 + libgcc/config/gthr-vxworks.h | 14 +- libgcc/config/t-vxcrtstuff | 12 +- libgcc/config/t-vxworks | 1 + libgcc/config/t-vxworks7 | 1 + libgfortran/ChangeLog | 31 + libgfortran/generated/matmul_c10.c | 140 +-- libgfortran/generated/matmul_c16.c | 140 +-- libgfortran/generated/matmul_c4.c | 140 +-- libgfortran/generated/matmul_c8.c | 140 +-- libgfortran/generated/matmul_i1.c | 140 +-- libgfortran/generated/matmul_i16.c | 140 +-- libgfortran/generated/matmul_i2.c | 140 +-- libgfortran/generated/matmul_i4.c | 140 +-- libgfortran/generated/matmul_i8.c | 140 +-- libgfortran/generated/matmul_r10.c | 140 +-- libgfortran/generated/matmul_r16.c | 140 +-- libgfortran/generated/matmul_r4.c | 140 +-- libgfortran/generated/matmul_r8.c | 140 +-- libgfortran/generated/matmulavx128_c10.c | 56 +- libgfortran/generated/matmulavx128_c16.c | 56 +- libgfortran/generated/matmulavx128_c4.c | 56 +- libgfortran/generated/matmulavx128_c8.c | 56 +- libgfortran/generated/matmulavx128_i1.c | 56 +- libgfortran/generated/matmulavx128_i16.c | 56 +- libgfortran/generated/matmulavx128_i2.c | 56 +- libgfortran/generated/matmulavx128_i4.c | 56 +- libgfortran/generated/matmulavx128_i8.c | 56 +- libgfortran/generated/matmulavx128_r10.c | 56 +- libgfortran/generated/matmulavx128_r16.c | 56 +- libgfortran/generated/matmulavx128_r4.c | 56 +- libgfortran/generated/matmulavx128_r8.c | 56 +- libgfortran/m4/matmul_internal.m4 | 28 +- libgo/Makefile.am | 2 +- libgo/Makefile.in | 2 +- libgo/config.h.in | 6 + libgo/configure | 2 +- libgo/configure.ac | 2 +- libgo/go/runtime/os_aix.go | 4 + libgo/go/runtime/os_gccgo.go | 3 +- libgo/go/runtime/os_hurd.go | 4 + libgo/go/runtime/os_linux.go | 4 + libgo/go/runtime/os_netbsd.go | 24 +- libgo/go/runtime/os_solaris.go | 4 + libgo/mksysinfo.sh | 139 ++- libgo/runtime/go-unwind.c | 14 +- libgo/runtime/go-varargs.c | 2 +- libgo/sysinfo.c | 54 ++ libgomp/ChangeLog | 9 + libgomp/libgomp.texi | 6 +- libsanitizer/ChangeLog | 12 + libsanitizer/LOCAL_PATCHES | 3 +- libsanitizer/MERGE | 2 +- libsanitizer/asan/asan_allocator.cpp | 440 ++++++---- libsanitizer/asan/asan_allocator.h | 11 +- libsanitizer/asan/asan_flags.cpp | 10 +- libsanitizer/asan/asan_fuchsia.cpp | 6 + libsanitizer/asan/asan_interceptors.h | 8 +- libsanitizer/asan/asan_interceptors_vfork.S | 3 +- libsanitizer/asan/asan_interface_internal.h | 4 +- libsanitizer/asan/asan_internal.h | 12 +- libsanitizer/asan/asan_linux.cpp | 42 +- libsanitizer/asan/asan_mac.cpp | 48 +- libsanitizer/asan/asan_malloc_linux.cpp | 10 +- libsanitizer/asan/asan_malloc_local.h | 2 +- libsanitizer/asan/asan_mapping.h | 21 + libsanitizer/asan/asan_poisoning.cpp | 6 - libsanitizer/asan/asan_posix.cpp | 28 + libsanitizer/asan/asan_premap_shadow.cpp | 18 +- libsanitizer/asan/asan_report.cpp | 2 +- libsanitizer/asan/asan_rtems.cpp | 8 + libsanitizer/asan/asan_rtl.cpp | 75 +- libsanitizer/asan/asan_shadow_setup.cpp | 45 +- libsanitizer/asan/asan_stack.h | 5 - libsanitizer/asan/asan_win.cpp | 19 +- libsanitizer/include/sanitizer/asan_interface.h | 16 +- .../include/sanitizer/common_interface_defs.h | 6 +- libsanitizer/include/sanitizer/dfsan_interface.h | 8 +- libsanitizer/include/sanitizer/msan_interface.h | 3 + .../include/sanitizer/netbsd_syscall_hooks.h | 213 ++++- libsanitizer/lsan/lsan.cpp | 2 +- libsanitizer/lsan/lsan_allocator.h | 5 +- libsanitizer/lsan/lsan_common.cpp | 23 +- libsanitizer/lsan/lsan_common.h | 6 +- libsanitizer/lsan/lsan_interceptors.cpp | 10 + libsanitizer/lsan/lsan_thread.cpp | 5 + libsanitizer/lsan/lsan_thread.h | 1 + .../sanitizer_common/sanitizer_allocator.cpp | 39 +- .../sanitizer_common/sanitizer_allocator.h | 6 +- .../sanitizer_common/sanitizer_allocator_checks.h | 10 +- .../sanitizer_allocator_primary32.h | 1 + .../sanitizer_allocator_primary64.h | 3 +- .../sanitizer_allocator_secondary.h | 8 +- libsanitizer/sanitizer_common/sanitizer_atomic.h | 4 +- .../sanitizer_common/sanitizer_atomic_clang.h | 14 +- .../sanitizer_common/sanitizer_atomic_clang_mips.h | 10 +- .../sanitizer_atomic_clang_other.h | 6 +- .../sanitizer_common/sanitizer_atomic_clang_x86.h | 6 +- .../sanitizer_common/sanitizer_atomic_msvc.h | 36 +- libsanitizer/sanitizer_common/sanitizer_common.h | 100 ++- .../sanitizer_common_interceptors.inc | 348 ++++++-- .../sanitizer_common_interceptors_format.inc | 6 + ...nitizer_common_interceptors_vfork_riscv64.inc.S | 56 ++ .../sanitizer_common/sanitizer_common_libcdep.cpp | 53 ++ .../sanitizer_common/sanitizer_common_syscalls.inc | 14 +- .../sanitizer_common/sanitizer_errno_codes.h | 1 + libsanitizer/sanitizer_common/sanitizer_flags.cpp | 2 +- libsanitizer/sanitizer_common/sanitizer_flags.inc | 10 +- .../sanitizer_common/sanitizer_getauxval.h | 5 +- .../sanitizer_common/sanitizer_internal_defs.h | 9 +- libsanitizer/sanitizer_common/sanitizer_linux.cpp | 116 ++- libsanitizer/sanitizer_common/sanitizer_linux.h | 8 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 158 +++- libsanitizer/sanitizer_common/sanitizer_mac.cpp | 230 +++-- libsanitizer/sanitizer_common/sanitizer_mac.h | 59 +- libsanitizer/sanitizer_common/sanitizer_netbsd.cpp | 5 + .../sanitizer_common/sanitizer_openbsd.cpp | 4 + libsanitizer/sanitizer_common/sanitizer_platform.h | 14 + .../sanitizer_platform_interceptors.h | 37 +- .../sanitizer_platform_limits_freebsd.cpp | 2 - .../sanitizer_platform_limits_netbsd.cpp | 155 +++- .../sanitizer_platform_limits_netbsd.h | 6 +- .../sanitizer_platform_limits_posix.cpp | 31 +- .../sanitizer_platform_limits_posix.h | 12 +- .../sanitizer_platform_limits_solaris.cpp | 3 +- libsanitizer/sanitizer_common/sanitizer_posix.cpp | 10 +- libsanitizer/sanitizer_common/sanitizer_posix.h | 1 + .../sanitizer_common/sanitizer_posix_libcdep.cpp | 15 +- .../sanitizer_procmaps_solaris.cpp | 3 +- libsanitizer/sanitizer_common/sanitizer_ptrauth.h | 2 + .../sanitizer_signal_interceptors.inc | 5 +- .../sanitizer_common/sanitizer_solaris.cpp | 18 +- .../sanitizer_common/sanitizer_stackdepot.cpp | 6 + .../sanitizer_common/sanitizer_stackdepot.h | 1 + .../sanitizer_common/sanitizer_stackdepotbase.h | 20 +- .../sanitizer_common/sanitizer_stacktrace.cpp | 37 +- .../sanitizer_common/sanitizer_stacktrace.h | 19 +- .../sanitizer_stacktrace_libcdep.cpp | 21 +- .../sanitizer_stacktrace_printer.cpp | 92 +- .../sanitizer_stacktrace_printer.h | 4 +- .../sanitizer_common/sanitizer_stoptheworld.h | 6 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 95 ++- .../sanitizer_stoptheworld_mac.cpp | 18 +- .../sanitizer_stoptheworld_netbsd_libcdep.cpp | 14 +- .../sanitizer_symbolizer_libcdep.cpp | 7 +- .../sanitizer_common/sanitizer_symbolizer_mac.cpp | 21 +- .../sanitizer_symbolizer_markup.cpp | 7 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 17 +- .../sanitizer_symbolizer_report.cpp | 7 +- .../sanitizer_syscall_linux_riscv64.inc | 174 ++++ .../sanitizer_common/sanitizer_syscalls_netbsd.inc | 119 ++- libsanitizer/sanitizer_common/sanitizer_win.cpp | 16 + libsanitizer/tsan/tsan_dispatch_defs.h | 11 +- libsanitizer/tsan/tsan_external.cpp | 11 +- libsanitizer/tsan/tsan_flags.cpp | 2 +- libsanitizer/tsan/tsan_flags.inc | 2 + libsanitizer/tsan/tsan_interceptors.h | 2 +- .../tsan/tsan_interceptors_libdispatch.cpp | 32 + libsanitizer/tsan/tsan_interceptors_mach_vm.cpp | 19 +- libsanitizer/tsan/tsan_interceptors_posix.cpp | 30 +- libsanitizer/tsan/tsan_interface.cpp | 13 +- libsanitizer/tsan/tsan_interface_inl.h | 23 +- libsanitizer/tsan/tsan_platform_linux.cpp | 24 +- libsanitizer/tsan/tsan_platform_mac.cpp | 4 +- libsanitizer/tsan/tsan_platform_posix.cpp | 47 +- libsanitizer/tsan/tsan_report.cpp | 3 +- libsanitizer/tsan/tsan_rtl.cpp | 13 +- libsanitizer/tsan/tsan_rtl.h | 10 +- libsanitizer/tsan/tsan_rtl_report.cpp | 107 ++- libsanitizer/tsan/tsan_sync.cpp | 2 +- libsanitizer/ubsan/ubsan_checks.inc | 1 + libsanitizer/ubsan/ubsan_flags.cpp | 6 +- libsanitizer/ubsan/ubsan_flags.h | 2 - libsanitizer/ubsan/ubsan_handlers.cpp | 31 + libsanitizer/ubsan/ubsan_handlers.h | 8 + libsanitizer/ubsan/ubsan_interface.inc | 2 + libsanitizer/ubsan/ubsan_value.cpp | 48 ++ libsanitizer/ubsan/ubsan_value.h | 3 + libstdc++-v3/ChangeLog | 100 +++ libstdc++-v3/include/bits/basic_string.h | 46 +- libstdc++-v3/include/bits/basic_string.tcc | 51 -- libstdc++-v3/include/precompiled/expc++.h | 57 -- libstdc++-v3/include/std/concepts | 4 +- libstdc++-v3/include/std/ranges | 4 +- libstdc++-v3/include/std/sstream | 9 +- libstdc++-v3/include/std/variant | 12 +- .../21_strings/basic_string/allocator/char/copy.cc | 8 +- .../basic_string/allocator/char/copy_assign.cc | 8 +- .../basic_string/allocator/char/minimal.cc | 8 +- .../21_strings/basic_string/allocator/char/move.cc | 2 +- .../basic_string/allocator/char/move_assign.cc | 8 +- .../basic_string/allocator/char/noexcept.cc | 8 +- .../basic_string/allocator/char/operator_plus.cc | 2 +- .../21_strings/basic_string/allocator/char/swap.cc | 8 +- .../basic_string/allocator/wchar_t/copy.cc | 8 +- .../basic_string/allocator/wchar_t/copy_assign.cc | 8 +- .../basic_string/allocator/wchar_t/minimal.cc | 8 +- .../basic_string/allocator/wchar_t/move.cc | 2 +- .../basic_string/allocator/wchar_t/move_assign.cc | 8 +- .../basic_string/allocator/wchar_t/noexcept.cc | 8 +- .../allocator/wchar_t/operator_plus.cc | 2 +- .../basic_string/allocator/wchar_t/swap.cc | 8 +- .../21_strings/basic_string/cons/char/deduction.cc | 1 - .../basic_string/cons/wchar_t/deduction.cc | 1 - .../modifiers/assign/char/move_assign_optim.cc | 2 +- .../modifiers/assign/wchar_t/move_assign_optim.cc | 2 +- .../testsuite/27_io/basic_fstream/cons/base.cc | 1 - libstdc++-v3/testsuite/lib/libstdc++.exp | 2 + 785 files changed, 16347 insertions(+), 6423 deletions(-) diff --cc gcc/ChangeLog index df76d4baca9,d1ce634eb2b..3a0833dcf6e --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@@ -1,40 -1,521 +1,558 @@@ + 2020-10-16 Andrew MacLeod + + * vr-values.c (dump_all_value_ranges): Only dump names which are + still active. + + 2020-10-16 Andrew MacLeod + + * range-op.cc (pointer_plus_operator::wi_fold): Make pointer_plus + [0, 0] + const return a [const, const] range. + + 2020-10-16 Andrew MacLeod + + * gimple-ssa-evrp.c (hybrid_folder::value_on_edge): Call + evrp_folder::value_of_expr directly. + (hybrid_folder::value_of_stmt): Ditto. + + 2020-10-16 Andrew MacLeod + + PR tree-optimization/97462 + * range-op.cc (operator_lshift::op1_range): Don't trap on negative + shifts. + + 2020-10-16 Olivier Hainque + + * config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise. + + 2020-10-16 Olivier Hainque + + * config/vxworks/_vxworks-versions.h: Only include + version.h if _WRS_VXWORKS_MAJOR is not defined. + Provide a default _WRS_VXWORKS_MINOR (0). + + 2020-10-16 Srinath Parvathaneni + + PR target/97327 + * config/arm/arm.c (fp_bitlist): Add isa_bit_mve_float to FP bits array. + + 2020-10-16 Richard Biener + + * tree-vect-slp.c (vect_get_and_check_slp_defs): For BB + vectorization swap operands only if it helps, demote mismatches to + external. + + 2020-10-16 Srinath Parvathaneni + + PR target/97291 + * config/arm/arm-builtins.c (arm_strsbwbs_qualifiers): Modify array. + (arm_strsbwbu_qualifiers): Likewise. + (arm_strsbwbs_p_qualifiers): Likewise. + (arm_strsbwbu_p_qualifiers): Likewise. + * config/arm/arm_mve.h (__arm_vstrdq_scatter_base_wb_s64): Modify + function definition. + (__arm_vstrdq_scatter_base_wb_u64): Likewise. + (__arm_vstrdq_scatter_base_wb_p_s64): Likewise. + (__arm_vstrdq_scatter_base_wb_p_u64): Likewise. + (__arm_vstrwq_scatter_base_wb_p_s32): Likewise. + (__arm_vstrwq_scatter_base_wb_p_u32): Likewise. + (__arm_vstrwq_scatter_base_wb_s32): Likewise. + (__arm_vstrwq_scatter_base_wb_u32): Likewise. + (__arm_vstrwq_scatter_base_wb_f32): Likewise. + (__arm_vstrwq_scatter_base_wb_p_f32): Likewise. + * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_add_u): Remove + expansion for the builtin. + (vstrwq_scatter_base_wb_add_s): Likewise. + (vstrwq_scatter_base_wb_add_f): Likewise. + (vstrdq_scatter_base_wb_add_u): Likewise. + (vstrdq_scatter_base_wb_add_s): Likewise. + (vstrwq_scatter_base_wb_p_add_u): Likewise. + (vstrwq_scatter_base_wb_p_add_s): Likewise. + (vstrwq_scatter_base_wb_p_add_f): Likewise. + (vstrdq_scatter_base_wb_p_add_u): Likewise. + (vstrdq_scatter_base_wb_p_add_s): Likewise. + * config/arm/mve.md (mve_vstrwq_scatter_base_wb_v4si): Remove + expand. + (mve_vstrwq_scatter_base_wb_add_v4si): Likewise. + (mve_vstrwq_scatter_base_wb_v4si_insn): Rename pattern to ... + (mve_vstrwq_scatter_base_wb_v4si): This. + (mve_vstrwq_scatter_base_wb_p_v4si): Remove expand. + (mve_vstrwq_scatter_base_wb_p_add_v4si): Likewise. + (mve_vstrwq_scatter_base_wb_p_v4si_insn): Rename pattern to ... + (mve_vstrwq_scatter_base_wb_p_v4si): This. + (mve_vstrwq_scatter_base_wb_fv4sf): Remove expand. + (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise. + (mve_vstrwq_scatter_base_wb_fv4sf_insn): Rename pattern to ... + (mve_vstrwq_scatter_base_wb_fv4sf): This. + (mve_vstrwq_scatter_base_wb_p_fv4sf): Remove expand. + (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise. + (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Rename pattern to ... + (mve_vstrwq_scatter_base_wb_p_fv4sf): This. + (mve_vstrdq_scatter_base_wb_v2di): Remove expand. + (mve_vstrdq_scatter_base_wb_add_v2di): Likewise. + (mve_vstrdq_scatter_base_wb_v2di_insn): Rename pattern to ... + (mve_vstrdq_scatter_base_wb_v2di): This. + (mve_vstrdq_scatter_base_wb_p_v2di): Remove expand. + (mve_vstrdq_scatter_base_wb_p_add_v2di): Likewise. + (mve_vstrdq_scatter_base_wb_p_v2di_insn): Rename pattern to ... + (mve_vstrdq_scatter_base_wb_p_v2di): This. + + 2020-10-16 Kito Cheng + + * config/riscv/multilib-generator (IMPLIED_EXT): New. + (arch_canonicalize): Update comment and handle implied extensions. + + 2020-10-16 Richard Biener + + * tree-vect-slp.c (vect_get_and_check_slp_defs): First analyze + all operands and fill in the def_stmts and ops entries. + (vect_def_types_match): New helper. + + 2020-10-16 Martin Liska + + PR ipa/97404 + * ipa-prop.c (struct ipa_vr_ggc_hash_traits): + Compare types of VRP as we can merge ranges of different types. + + 2020-10-16 Richard Biener + + PR tree-optimization/97428 + * tree-vect-slp.c (vect_analyze_slp_instance): Split store + groups also for loop vectorization. + + 2020-10-15 Tom de Vries + + PR target/97436 + * config/nvptx/nvptx.opt (m32): Comment out. + * doc/invoke.texi (NVPTX options): Remove -m32. + + 2020-10-15 Jan Hubicka + Richard Biener + + * attr-fnspec.h: Fix toplevel comment. + + 2020-10-15 Richard Biener + + * tree-pretty-print.c (dump_mem_ref): Print constant offset + also for TARGET_MEM_REF. + + 2020-10-15 Jan Hubicka + + * symtab.c (symtab_node::binds_to_current_def_p): Also accept symbols + defined in other partition. + + 2020-10-15 Richard Biener + + * tree-vect-loop.c (vectorizable_live_operation): Adjust + dominance query. + + 2020-10-15 Richard Biener + + PR tree-optimization/97482 + * tree-data-ref.c (split_constant_offset_1): Handle + trivial conversions better. + * fold-const.c (convert_to_ptrofftype_loc): Elide conversion + if the offset is already ptrofftype_p. + + 2020-10-15 Martin Liska + + PR ipa/97295 + * profile-count.c (profile_count::to_frequency): Move part of + gcc_assert to STATIC_ASSERT. + * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for + a function that does not have count_max initialized. + + 2020-10-15 Jakub Jelinek + + * params.opt (-param-ipa-jump-function-lookups=): Add full stop at + the end of the parameter description. + + 2020-10-15 Kito Cheng + + * common/config/riscv/riscv-common.c (riscv_cpu_tables): New. + (riscv_arch_str): Return empty string if current_subset_list + is NULL. + (riscv_find_cpu): New. + (riscv_handle_option): Verify option value of -mcpu. + (riscv_expand_arch): Using std::string. + (riscv_default_mtune): New. + (riscv_expand_arch_from_cpu): Ditto. + * config/riscv/riscv-cores.def: New. + * config/riscv/riscv-protos.h (riscv_find_cpu): New. + (riscv_cpu_info): New. + * config/riscv/riscv.c (riscv_tune_info): Rename ... + (riscv_tune_param): ... to this. + (riscv_cpu_info): Rename ... + (riscv_tune_info): ... to this. + (tune_info): Rename ... + (tune_param): ... to this. + (rocket_tune_info): Update data type name. + (sifive_7_tune_info): Ditto. + (optimize_size_tune_info): Ditto. + (riscv_cpu_info_table): Rename ... + (riscv_tune_info_table): ... to this. + (riscv_parse_cpu): Rename ... + (riscv_parse_tune): ... to this, and translate valid -mcpu option to + -mtune option. + (riscv_rtx_costs): Rename tune_info to tune_param. + (riscv_class_max_nregs): Ditto. + (riscv_memory_move_cost): Ditto. + (riscv_init_machine_status): Use value of -mcpu if -mtune is not + given, and rename tune_info to tune_param. + * config/riscv/riscv.h (riscv_expand_arch_from_cpu): New. + (riscv_default_mtune): Ditto. + (EXTRA_SPEC_FUNCTIONS): Add riscv_expand_arch_from_cpu and + riscv_default_mtune. + (OPTION_DEFAULT_SPECS): Handle default value of -march/-mabi. + (DRIVER_SELF_SPECS): Expand -march from -mcpu if -march is not + given. + * config/riscv/riscv.opt (-mcpu): New option. + * config/riscv/t-riscv ($(common_out_file)): Add + riscv-cores.def to dependency. + * doc/invoke.texi (RISC-V Option): Add -mcpu, and update the + description of default value for -mtune and -march. + + 2020-10-15 Hongyu Wang + + * common/config/i386/cpuinfo.h (get_available_features): + Detect HRESET. + * common/config/i386/i386-common.c (OPTION_MASK_ISA2_HRESET_SET, + OPTION_MASK_ISA2_HRESET_UNSET): New macros. + (ix86_handle_option): Handle -mhreset. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_HRESET. + * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY + for hreset. + * config.gcc: Add hresetintrin.h + * config/i386/hresetintrin.h: New header file. + * config/i386/x86gprintrin.h: Include hresetintrin.h. + * config/i386/cpuid.h (bit_HRESET): New. + * config/i386/i386-builtin.def: Add new builtin. + * config/i386/i386-expand.c (ix86_expand_builtin): + Handle new builtin. + * config/i386/i386-c.c (ix86_target_macros_internal): Define + __HRESET__. + * config/i386/i386-options.c (isa2_opts): Add -mhreset. + (ix86_valid_target_attribute_inner_p): Handle hreset. + * config/i386/i386.h (TARGET_HRESET, TARGET_HRESET_P, + PTA_HRESET): New. + (PTA_ALDERLAKE): Add PTA_HRESET. + * config/i386/i386.opt: Add option -mhreset. + * config/i386/i386.md (UNSPECV_HRESET): New unspec. + (hreset): New define_insn. + * doc/invoke.texi: Document -mhreset. + * doc/extend.texi: Document hreset. + + 2020-10-15 Hongtao Liu + + * common/config/i386/cpuinfo.h (get_available_features): + Detect UINTR. + * common/config/i386/i386-common.c (OPTION_MASK_ISA2_UINTR_SET + OPTION_MASK_ISA2_UINTR_UNSET): New. + (ix86_handle_option): Handle -muintr. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_UINTR. + * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY + for uintr. + * config.gcc: Add uintrintrin.h to extra_headers. + * config/i386/uintrintrin.h: New. + * config/i386/cpuid.h (bit_UINTR): New. + * config/i386/i386-builtin-types.def: Add new types. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Add + __builtin_ia32_testui. + * config/i386/i386-builtins.h (ix86_builtins): Add + IX86_BUILTIN_TESTUI. + * config/i386/i386-c.c (ix86_target_macros_internal): Define + __UINTR__. + * config/i386/i386-expand.c (ix86_expand_special_args_builtin): + Handle UINT8_FTYPE_VOID. + (ix86_expand_builtin): Handle IX86_BUILTIN_TESTUI. + * config/i386/i386-options.c (isa2_opts): Add -muintr. + (ix86_valid_target_attribute_inner_p): Handle UINTR. + (ix86_option_override_internal): Add TARGET_64BIT check for UINTR. + * config/i386/i386.h (TARGET_UINTR, TARGET_UINTR_P, PTA_UINTR): New. + (PTA_SAPPHIRRAPIDS): Add PTA_UINTR. + * config/i386/i386.opt: Add -muintr. + * config/i386/i386.md + (define_int_iterator UINTR_UNSPECV): New. + (define_int_attr uintr_unspecv): New. + (uintr_, uintr_senduipi, testui): + New define_insn patterns. + * config/i386/x86gprintrin.h: Include uintrintrin.h + * doc/invoke.texi: Document -muintr. + * doc/extend.texi: Document uintr. + + 2020-10-14 Martin Sebor + + PR middle-end/97391 + * builtins.c (gimple_parm_array_size): Peel off one less layer + of array types. + + 2020-10-14 Martin Sebor + + PR c/97413 + * attribs.c (init_attr_rdwr_indices): Unwrap extra list layer. + + 2020-10-14 Sunil K Pandey + + PR target/95483 + * config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New intrinsics. + (_mm_broadcastsd_pd): Ditto. + * config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New intrinsics. + (_mm512_storeu_epi16): Ditto. + (_mm512_loadu_epi8): Ditto. + (_mm512_storeu_epi8): Ditto. + * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New intrinsics. + (_mm_mask_reduce_round_sd): Ditto. + (_mm_maskz_reduce_round_sd): Ditto. + (_mm_reduce_round_ss): Ditto. + (_mm_mask_reduce_round_ss): Ditto. + (_mm_maskz_reduce_round_ss): Ditto. + (_mm512_reduce_round_pd): Ditto. + (_mm512_mask_reduce_round_pd): Ditto. + (_mm512_maskz_reduce_round_pd): Ditto. + (_mm512_reduce_round_ps): Ditto. + (_mm512_mask_reduce_round_ps): Ditto. + (_mm512_maskz_reduce_round_ps): Ditto. + * config/i386/avx512erintrin.h + (_mm_mask_rcp28_round_sd): New intrinsics. + (_mm_maskz_rcp28_round_sd): Ditto. + (_mm_mask_rcp28_round_ss): Ditto. + (_mm_maskz_rcp28_round_ss): Ditto. + (_mm_mask_rsqrt28_round_sd): Ditto. + (_mm_maskz_rsqrt28_round_sd): Ditto. + (_mm_mask_rsqrt28_round_ss): Ditto. + (_mm_maskz_rsqrt28_round_ss): Ditto. + (_mm_mask_rcp28_sd): Ditto. + (_mm_maskz_rcp28_sd): Ditto. + (_mm_mask_rcp28_ss): Ditto. + (_mm_maskz_rcp28_ss): Ditto. + (_mm_mask_rsqrt28_sd): Ditto. + (_mm_maskz_rsqrt28_sd): Ditto. + (_mm_mask_rsqrt28_ss): Ditto. + (_mm_maskz_rsqrt28_ss): Ditto. + * config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics. + (_mm_maskz_sqrt_sd): Ditto. + (_mm_mask_sqrt_ss): Ditto. + (_mm_maskz_sqrt_ss): Ditto. + (_mm_mask_scalef_sd): Ditto. + (_mm_maskz_scalef_sd): Ditto. + (_mm_mask_scalef_ss): Ditto. + (_mm_maskz_scalef_ss): Ditto. + (_mm_mask_cvt_roundsd_ss): Ditto. + (_mm_maskz_cvt_roundsd_ss): Ditto. + (_mm_mask_cvt_roundss_sd): Ditto. + (_mm_maskz_cvt_roundss_sd): Ditto. + (_mm_mask_cvtss_sd): Ditto. + (_mm_maskz_cvtss_sd): Ditto. + (_mm_mask_cvtsd_ss): Ditto. + (_mm_maskz_cvtsd_ss): Ditto. + (_mm512_cvtsi512_si32): Ditto. + (_mm_cvtsd_i32): Ditto. + (_mm_cvtss_i32): Ditto. + (_mm_cvti32_sd): Ditto. + (_mm_cvti32_ss): Ditto. + (_mm_cvtsd_i64): Ditto. + (_mm_cvtss_i64): Ditto. + (_mm_cvti64_sd): Ditto. + (_mm_cvti64_ss): Ditto. + * config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New intrinsics. + (_mm_storeu_epi8): Ditto. + (_mm256_loadu_epi16): Ditto. + (_mm_loadu_epi16): Ditto. + (_mm256_loadu_epi8): Ditto. + (_mm_loadu_epi8): Ditto. + (_mm256_storeu_epi16): Ditto. + (_mm_storeu_epi16): Ditto. + * config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics. + (_mm_load_epi64): Ditto. + (_mm256_load_epi32): Ditto. + (_mm_load_epi32): Ditto. + (_mm256_store_epi32): Ditto. + (_mm_store_epi32): Ditto. + (_mm256_loadu_epi64): Ditto. + (_mm_loadu_epi64): Ditto. + (_mm256_loadu_epi32): Ditto. + (_mm_loadu_epi32): Ditto. + (_mm256_mask_cvt_roundps_ph): Ditto. + (_mm256_maskz_cvt_roundps_ph): Ditto. + (_mm_mask_cvt_roundps_ph): Ditto. + (_mm_maskz_cvt_roundps_ph): Ditto. + * config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics. + * config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics. + (_mm_loadu_si16): Ditto. + (_mm_storeu_si32): Ditto. + (_mm_storeu_si16): Ditto. + * config/i386/i386-builtin-types.def + (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type. + (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto. + (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto. + (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto. + * config/i386/i386-builtin.def + (__builtin_ia32_cvtsd2ss_mask_round): New builtin. + (__builtin_ia32_cvtss2sd_mask_round): Ditto. + (__builtin_ia32_rcp28sd_mask_round): Ditto. + (__builtin_ia32_rcp28ss_mask_round): Ditto. + (__builtin_ia32_rsqrt28sd_mask_round): Ditto. + (__builtin_ia32_rsqrt28ss_mask_round): Ditto. + (__builtin_ia32_reducepd512_mask_round): Ditto. + (__builtin_ia32_reduceps512_mask_round): Ditto. + (__builtin_ia32_reducesd_mask_round): Ditto. + (__builtin_ia32_reducess_mask_round): Ditto. + * config/i386/i386-expand.c + (ix86_expand_round_builtin): Expand round builtin for new type. + (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT) + (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT) + (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT) + (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT) + * config/i386/mmintrin.h () + Define datatype __m32 and __m16. + Define datatype __m32_u and __m16_u. + * config/i386/sse.md: Adjust pattern. + (reducep): Adjust. + (reduces): Ditto. + (sse2_cvtsd2ss): Ditto. + (sse2_cvtss2sd): Ditto. + (avx512er_vmrcp28): Ditto. + (avx512er_vmrsqrt28): Ditto. + + 2020-10-14 Olivier Hainque + + * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix + the VX_CPU selection for -mcpu=xscale on arm-vxworks. + + 2020-10-14 Olivier Hainque + + * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate + expectations from different versions of VxWorks, for 32 or 64bit + configurations. + + 2020-10-14 Olivier Hainque + + * config/vxworks.h: #undef CPLUSPLUS_CPP_SPEC. + + 2020-10-14 Olivier Hainque + + * config/t-vxworks: Adjust the VxWorks alternative LIMITS_H guard + for glimits.h, make it both closer to the previous one and easier to + search for. + + 2020-10-14 Jakub Jelinek + + PR target/97387 + * config/i386/i386.md (CC_CCC): New mode iterator. + (*setcc_qi_addqi3_cconly_overflow_1_): New + define_insn_and_split. + * config/i386/i386.c (ix86_cc_mode): Return CCCmode + for *setcc_qi_addqi3_cconly_overflow_1_ pattern operands. + (ix86_rtx_costs): Return true and *total = 0; + for *setcc_qi_addqi3_cconly_overflow_1_ pattern. Use op0 and + op1 temporaries to simplify COMPARE checks. + + 2020-10-14 Aldy Hernandez + + PR tree-optimization/97396 + * gimple-range.cc (gimple_ranger::range_of_phi): Do not call + range_of_ssa_name_with_loop_info with the loop tree root. + + 2020-10-14 Richard Biener + + * tree-vect-slp.c (vect_get_and_check_slp_defs): Split out + test for compatible operand types. + + 2020-10-14 Olivier Hainque + + * config/vxworks.c (vxworks_override_options): Guard pic checks with + flag_pic > 0 instead of just flag_pic. + + 2020-10-14 Jan Hubicka + + * ipa-fnsummary.c (remap_edge_summaries): Make offset_map HOST_WIDE_INT. + (remap_freqcounting_predicate): Likewise. + (ipa_merge_fn_summary_after_inlining): Likewise. + * ipa-predicate.c (predicate::remap_after_inlining): Likewise + * ipa-predicate.h (remap_after_inlining): Update. + + 2020-10-14 Jan Hubicka + + * ipa-modref.c (compute_parm_map): Handle POINTER_PLUS_EXPR in + PASSTHROUGH. + + 2020-10-14 Richard Biener + + * tree-vect-slp.c (vect_get_and_check_slp_defs): Move + check for duplicate/interleave of variable size constants + to a place done once and early. + (vect_build_slp_tree_2): Adjust heuristics when to build + a BB SLP node from scalars. + + 2020-10-14 Tom de Vries + + * tracer.c (cached_can_duplicate_bb_p, analyze_bb): Use + can_duplicate_block_p. + (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p) + (can_duplicate_bb_p): Move and merge ... + * tree-cfg.c (gimple_can_duplicate_bb_p): ... here. + + 2020-10-14 Jan Hubicka + + * doc/invoke.texi: (ipa-jump-function-lookups): Document param. + * ipa-modref.c (merge_call_side_effects): Use + unadjusted_ptr_and_unit_offset. + * ipa-prop.c (unadjusted_ptr_and_unit_offset): New function. + * ipa-prop.h (unadjusted_ptr_and_unit_offset): Declare. + * params.opt: (-param-ipa-jump-function-lookups): New. + + 2020-10-14 Jan Hubicka + + PR bootstrap/97350 + * ipa-modref.c (ignore_edge): Do not ignore inlined edes. + (ipa_merge_modref_summary_after_inlining): Improve debug output and + fix parameter of ignore_stores_p. + + 2020-10-14 Kito Cheng + + PR target/96759 + * expr.c (expand_assignment): Handle misaligned stores with PARALLEL + value. + +2010-06-30 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New. + * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use + rs6000_elf_end_indicate_exec_stack. + * config/ia64/ia64.c (ia64_linux_file_end): New. + * config/ia64/linux.h (TARGET_ASM_FILE_END): Use ia64_linux_file_end. + + * cppbuiltin.c (define__GNUC__): Also define __GNUC_RH_RELEASE__. + + * config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Define to 1 if + -fstack-protect. + * config/ia64/ia64.c (ia64_compute_frame_size): Make sure + size is a multiple of 16 if FRAME_GROWS_DOWNWARD. + (ia64_initial_elimination_offset): Support FRAME_GROWS_DOWNWARD + layout. + * config/ia64/linux.h (TARGET_LIBC_PROVIDES_SSP): Define. + * config/ia64/ia64.md (stack_protect_set, stack_protect_test): New + expanders. + + Revert: + 2005-04-29 Alan Modra + PR target/21098 + * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New. + * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above. + + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also + on ppc64-linux. + + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. + + * configure.ac (HAVE_LD_OVERLAPPING_OPD): New test. + * configure: Rebuilt. + * config.in: Rebuilt. + * config/rs6000/rs6000.c (OVERLAPPING_OPD): Define. + (rs6000_elf_declare_function_name): Use it. + 2020-10-13 Jakub Jelinek PR rtl-optimization/97386 diff --cc gcc/ada/ChangeLog index bfd6e4249a2,9c28e697fa2..378ff87de9b --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@@ -1,7 -1,653 +1,657 @@@ + 2020-10-18 Alexandre Oliva + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Compile Ada.Numerics + child units Aux_Generic_Float, Aux_Long_Long_Float, Aux_Long_Float, + Aux_Float, Aux_Short_Float, Aux_Compat, and Aux_Linker_Options. + (X86_TARGET_PAIRS): Drop dummy body for Aux. Use x86 version + of Aux_Compat. + (X86_64_TARGET_PAIRS): Likewise. + (LIBGNAT_TARGET_PAIRS): On VxWorks, select the nolibm + variants. Drop the darwin version of Aux. Drop the redundant + libc-x86 numaux variants on x86* kfreebsd variants. + * libgnat/a-nagefl.ads: New Aux_Generic_Float. + * libgnat/a-naliop.ads: New Aux_Linker_Options. + * libgnat/a-naliop__nolibm.ads: New. + * libgnat/a-nallfl.ads: New Aux_Long_Long_Float. + * libgnat/a-nalofl.ads: New Aux_Long_Float. + * libgnat/a-nuaufl.ads: New Aux_Float. + * libgnat/a-nashfl.ads: New Aux_Short_Float. + * libgnat/a-ngcefu.adb (Exp): Factor out the Im (X) passed to + Sin and Cos in the Complex variant too. + * libgnat/a-ngcoty.adb: Switch to Aux_Generic_Float. Drop + redundant conversions. + * libgnat/a-ngelfu.adb: Likewise. + * libgnat/a-nuauco.ads: New Aux_Compat. + * libgnat/a-nuauco__x86.ads: New. + * libgnat/a-numaux.ads: Replace with Compat wrapper. + * libgnat/a-numaux__darwin.adb: Remove. + * libgnat/a-numaux__darwin.ads: Remove. + * libgnat/a-numaux__dummy.adb: Remove. + * libgnat/a-numaux__libc-x86.ads: Remove. + * libgnat/a-numaux__vxworks.ads: Remove. + + 2020-10-16 Piotr Trojanek + + * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb, + freeze.adb, sem_aggr.adb, sem_attr.adb, sem_ch13.adb, + sem_ch13.ads, sem_ch6.adb, sem_eval.adb, sem_util.adb: Fix style + and typos. + + 2020-10-16 Arnaud Charlet + + * sem_cat.adb (Is_Primary): Handle N_Range properly. + + 2020-10-16 Ghjuvan Lacambre + + * elists.ads (New_Elmt_List): New functions. + * elists.adb (New_Elmt_List): New functions. + * exp_prag.adb: Add dependency on Elists. + (Expand_Pragma_CUDA_Execute): New function. + (Expand_N_Pragma): Add call to Expand_Pragma_CUDA_Execute. + * rtsfind.ads: Add CUDA.Internal, CUDA.Runtime, System.C + packages and RE_Push_Call_Configuration, + RE_Pop_Call_Configuration, RE_Launch_Kernel, RO_IC_Unsigned, + RO_IC_Unsigned_Long_Long entities. + * rtsfind.adb: Extend Interfaces_Descendant to include + Interfaces_C. + + 2020-10-16 Bob Duff + + * par-ch4.adb (P_Name): Allow Tok_Left_Bracket in two places to + call P_Qualified_Expression. We don't need to modify other + places that call P_Qualified_Expression, because a + qualified_expression is a name in Ada 2012 and higher, so P_Name + is the right place. The parser already parses aggregates with + brackets; we just need to allow that in qualified expressions. + + 2020-10-16 Javier Miranda + + * sem_ch12.adb (Check_Generic_Child_Unit): When the child unit + is a renaming of a generic child unit then traverse the scope + containing the renaming declaration to locate the instance of + its parent. Otherwise the parent is not installed and the + frontend cannot process the instantiation. + + 2020-10-16 Bob Duff + + * libgnat/a-numeri.ads: Remove the greek letter. + + 2020-10-16 Ed Schonberg + + * exp_imgv.adb (Expand_Image_Attribute): Refine previous patch + to use root type (and not base type) on enumeration types. + + 2020-10-16 Ed Schonberg + + * exp_imgv.adb (Expand_Image_Attribute): Use the base type + instead of the root type when type of object is private. Remove + Ada_2020 guard, because it has been checked during prior + analysis. Use Underlying_Type in all cases, as it is a no-op on + types that are not private. + + 2020-10-16 Arnaud Charlet + + * aspects.ads, snames.ads-tmpl: Add support for + Exclusive_Functions aspect. + * sem_ch13.adb (Analyze_Aspect_Specifications): Ditto. + * exp_ch9.adb (Build_Protected_Subprogram_Body): Take aspect + Exclusive_Functions into account. + + 2020-10-16 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies on system.ads, + add gnatbind switch -t to avoid timestamp inconsistencies during + build. + * libgnat/system.ads: Move... + * gcc-interface/system.ads: ... here. + + 2020-10-16 Gary Dismukes + + * sem_eval.adb (Subtypes_Statically_Match): Retrieve + discriminant constraints from the two types via new function + Original_Discriminant_Constraint rather than + Discriminant_Constraint. + (Original_Discriminant_Constraint): New function to locate the + nearest explicit discriminant constraint associated with a type + that may possibly have inherited a constraint from an ancestor + type. + + 2020-10-16 Bob Duff + + * exp_ch6.adb (Expand_Simple_Function_Return): Remove obsolete + comment and code. + + 2020-10-16 Arnaud Charlet + + PR ada/95953 + * libgnat/a-suenco.adb (Convert): Fix handling of third UTF-8 + byte. + + 2020-10-16 Steve Baird + + * exp_util.adb (Is_Related_To_Func_Return): Cope with the case + where the FE introduces a type conversion. + + 2020-10-16 Chris Martin + + * sem_util.ads, sem_util.adb (Is_Access_Variable): New function. + (Is_Synchronized_Object): Call new function when determining if + a constant can be regarded as synchronized. + + 2020-10-16 Arnaud Charlet + + * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): + Call Set_BIP_Initialization_Call systematically. + * exp_ch7.adb (Process_Transient_In_Scope): Take + BIP_Initialization_Call into account to decide where to insert + the Hook. + + 2020-10-16 Piotr Trojanek + + * sem_util.adb (Is_View_Conversion): Detect qualified types. + * sem_util.ads (Is_Actual_In_Out_Parameter): Fix style in + comment. + + 2020-10-16 Arnaud Charlet + + * scil_ll.adb, sem_scil.adb: Update assertions. + + 2020-10-16 Ed Schonberg + + * sem_attr.adb (Min_Max): Handle the case where attribute + name (qualified by required type) appears as the reducer of a + 'Reduce attribute reference. + (Resolve_Attribute) : Handle properly the presence of a + procedure or an attribute reference Min/Max as a reducer. + * exp_attr.adb (Expand_Attribute_Reference) : New + subprogram Build_Stat, to construct the combining statement + which appears in the generated loop for Reduce, and which is + either a function call when the reducer is a function or an + attribute, or a procedure call when reducer is an appropriate + procedure. BuilD_Stat is used both when the prefix of 'Reduce + is a value sequence and when it is an object + + 2020-10-16 Arnaud Charlet + + * exp_ch4.adb (Expand_Concatenate): Allocate result of string + concatenation on secondary stack when relevant. + + 2020-10-16 Ed Schonberg + + * sem_res.adb (Resolve_Declare_Expression): Retrieve the created + block entity that is the scope of the local declarations, from + either a local object declaration or an object renaming + declaration. The block entity does not have an explicit + declaration, but appears as the scope of all locally declared + objects. + + 2020-10-16 Eric Botcazou + + * libgnat/system-aix.ads: Likewise. + * libgnat/system-darwin-arm.ads: Likewise. + * libgnat/system-darwin-ppc.ads: Likewise. + * libgnat/system-darwin-x86.ads: Likewise. + * libgnat/system-djgpp.ads: Likewise. + * libgnat/system-dragonfly-x86_64.ads: Likewise. + * libgnat/system-freebsd.ads: Likewise. + * libgnat/system-hpux-ia64.ads: Likewise. + * libgnat/system-hpux.ads: Likewise. + * libgnat/system-linux-alpha.ads: Likewise. + * libgnat/system-linux-arm.ads: Likewise. + * libgnat/system-linux-hppa.ads: Likewise. + * libgnat/system-linux-ia64.ads: Likewise. + * libgnat/system-linux-m68k.ads: Likewise. + * libgnat/system-linux-mips.ads: Likewise. + * libgnat/system-linux-ppc.ads: Likewise. + * libgnat/system-linux-riscv.ads: Likewise. + * libgnat/system-linux-s390.ads: Likewise. + * libgnat/system-linux-sh4.ads: Likewise. + * libgnat/system-linux-sparc.ads: Likewise. + * libgnat/system-linux-x86.ads: Likewise. + * libgnat/system-lynxos178-ppc.ads: Likewise. + * libgnat/system-lynxos178-x86.ads: Likewise. + * libgnat/system-mingw.ads: Likewise. + * libgnat/system-qnx-aarch64.ads: Likewise. + * libgnat/system-rtems.ads: Likewise. + * libgnat/system-solaris-sparc.ads: Likewise. + * libgnat/system-solaris-x86.ads: Likewise. + * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-arm-rtp.ads: Likewise. + * libgnat/system-vxworks-arm.ads: Likewise. + * libgnat/system-vxworks-e500-kernel.ads: Likewise. + * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-e500-rtp.ads: Likewise. + * libgnat/system-vxworks-e500-vthread.ads: Likewise. + * libgnat/system-vxworks-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp.ads: Likewise. + * libgnat/system-vxworks-ppc-vthread.ads: Likewise. + * libgnat/system-vxworks-ppc.ads: Likewise. + * libgnat/system-vxworks-x86-kernel.ads: Likewise. + * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-x86-rtp.ads: Likewise. + * libgnat/system-vxworks-x86-vthread.ads: Likewise. + * libgnat/system-vxworks-x86.ads: Likewise. + * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-aarch64.ads: Likewise. + * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-arm.ads: Likewise. + * libgnat/system-vxworks7-e500-kernel.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-e500-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. + * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. + * libgnat/system-vxworks7-x86-rtp.ads: Likewise. + * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. + + 2020-10-16 Arnaud Charlet + + * Makefile.rtl, gnat1drv.adb, expander.adb + doc/gnat_rm/implementation_defined_pragmas.rst, + doc/gnat_ugn/building_executable_programs_with_gnat.rst, + doc/gnat_ugn/the_gnat_compilation_model.rst, exp_ch5.ads, + exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, + exp_util.ads, libgnarl/s-osinte__aix.adb, + libgnarl/s-osinte__android.adb, libgnarl/s-osinte__darwin.adb, + libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__hpux-dce.adb, + libgnarl/s-osinte__lynxos178.adb, libgnarl/s-osinte__posix.adb, + libgnarl/s-osinte__qnx.adb, libgnarl/s-osinte__rtems.adb, + libgnarl/s-osinte__solaris.adb, libgnarl/s-osinte__vxworks.adb, + libgnarl/s-osinte__x32.adb, libgnarl/s-solita.adb, + libgnarl/s-taasde.adb, libgnarl/s-taprob.adb, + libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb, + libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb, + libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb, + libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb, + libgnarl/s-tarest.adb, libgnarl/s-tasini.adb, + libgnarl/s-taskin.adb, libgnarl/s-taspri__dummy.ads, + libgnarl/s-taspri__hpux-dce.ads, libgnarl/s-taspri__lynxos.ads, + libgnarl/s-taspri__mingw.ads, + libgnarl/s-taspri__posix-noaltstack.ads, + libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads, + libgnarl/s-taspri__vxworks.ads, libgnarl/s-tassta.adb, + libgnarl/s-tasuti.adb, libgnarl/s-tposen.adb, + libgnat/a-except.adb, libgnat/a-except.ads, + libgnat/s-dwalin.adb, libgnat/s-dwalin.ads, + libgnat/s-mastop.ads, libgnat/s-soflin.adb, + libgnat/s-stalib.adb, libgnat/s-stalib.ads, + libgnat/s-stchop.adb, libgnat/s-stchop.ads, + libgnat/s-stchop__limit.ads, libgnat/s-traceb.ads, + libgnat/s-traent.adb, libgnat/s-traent.ads, + libgnat/s-trasym.adb, libgnat/s-trasym.ads, + libgnat/s-trasym__dwarf.adb, opt.adb, opt.ads, par-prag.adb, + sem_prag.adb, snames.ads-tmpl, switch-c.adb, targparm.adb, + targparm.ads, usage.adb: Remove support for -gnatP and pragma + Polling. + * gnat_ugn.texi: Regenerate. + * libgnat/a-excpol.adb, libgnat/a-excpol__abort.adb: Removed. + + 2020-10-16 Piotr Trojanek + + * sem_ch3.adb (Array_Type_Declaration): Create itype with unique + name. + + 2020-10-16 Piotr Trojanek + + * sem_ch3.adb (Analyze_Object_Declaration): Limit scope of a + local object by hiding it from local subprograms; simplify + nested if-then-if-then condition for an Ada 83 restriction. + (Array_Type_Declaration): Confirm with assertion when the else + branch is executed. + (Find_Type_Of_Object): Simplify membership test with a subtype + range. + + 2020-10-16 Yannick Moy + + * sem_prag.adb (Analyze_Global_In_Decl_Part): Update check to + reject volatile object for reading. + * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Update + check to reject volatile object for reading. + * sem_util.adb, sem_util.ads + (Check_Nonvolatile_Function_Profile, + Has_Effectively_Volatile_Profile): Detect use of volatile object + for reading. + (Has_Enabled_Property): Accept constants as well. + (Is_Effectively_Volatile_For_Reading): New function based on + existing Is_Effectively_Volatile. + (Is_Effectively_Volatile_Object_For_Reading): Adapted from the + existing Is_Effectively_Volatile_Object, using a shared + implementation in Is_Effectively_Volatile_Object_Shared. + + 2020-10-16 Gary Dismukes + + * exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): In the case + of an if-statement, call Unnest_If_Statement to determine + whether there are nested subprograms in any of the statement + lists of the "if" parts that require a wrapping procedure to + handle possible up-level refeferences. + (Unnest_Block): Call Check_Unnesting_In_Handlers to do unnesting + of subprograms in exception handlers of the block statement. + (Unnest_If_Statement): New procedure to traverse the parts of an + if-statement and create wrapper procedures as needed to + encapsulate nested subprograms that may make up-level + references. + (Check_Stmts_For_Subp_Unnesting): New support procedure in + Unnest_If_Statement to traverse a statement list looking for + top-level subprogram bodies that require wrapping inside a + procedure (via Unnest_Statement_List) as well as possibly having + other statements (block, loop, if) that may themselves require + an unnesting transformation (via + Check_Unnesting_In_Decls_Or_Stmts). + (Unnest_Statement_List): New support procedure to traverse the + statements of a statement list that contains subprogram bodies + at the top level and replace the statement list with a wrapper + procedure body encapsulating the statements and a call to the + procedure. + + 2020-10-16 Arnaud Charlet + + * sem_prag.adb (Check_OK_Stream_Convert_Function): Check for + abstract subprograms. + + 2020-10-16 Piotr Trojanek + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst + (No_Local_Timing_Events): Package Timing_Events is a child of + Ada.Real_Time, not of Ada. + * gnat_rm.texi: Regenerate. + + 2020-10-16 Eric Botcazou + + * doc/gnat_rm/implementation_defined_attributes.rst: Document the + new Max_Integer_Size attribute. + * gnat_rm.texi: Regenerate. + * exp_attr.adb (Get_Integer_Type): Call Small_Integer_Type_For. + (Expand_N_Attribute_Reference) : Replace selection + code with call to Integer_Type_For. + : Likewise. + : Likewise. + : Likewise. + : Raise Program_Error. + * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Replace selection + code with call to Integer_Type_For. + (Simple_Init_Initialize_Scalars_Type): Use Long_Long_Unsigned and + System_Max_Integer_Size to size the largest integer type. + * exp_pakd.adb (Compute_Linear_Subscript): Minor tweak. + (Create_Packed_Array_Impl_Type): Use Small_Integer_Type_For. + * exp_util.ads (Integer_Type_For): New function. + (Small_Integer_Type_For): Likewise. + * exp_util.adb (Adjust_Condition): Use Integer_Type_For. + (Component_May_Be_Bit_Aligned): Use System_Max_Integer_Size. + (Integer_Type_For): New function. + (Small_Integer_Type_For): Likewise. + (Matching_Standard_Type): Use Small_Integer_Type_For. + (Needs_Constant_Address): Replace 64 with System_Max_Integer_Size. + * freeze.adb (Set_Small_Size): Likewise. + (Size_Known): Likewise. + (Check_Suspicious_Modulus): Likewise. + (Check_Large_Modular_Array): Likewise. + (Freeze_Entity): Likewise. + * layout.adb (Layout_Type): Likewise. + * sem_aggr.adb: Add with and use clauses for Ttypes. + (Resolve_Aggregate): Replace 64 with System_Max_Integer_Size. + * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Max_Integer_Size. + * sem_attr.adb (Analyze_Attribute) : New + (Eval_Attribute): Likewise. + * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Change max + scalar size to System_Max_Integer_Size. + (Check_Array_Type): Replace 64 with System_Max_Integer_Size and + remove superfluous test. + (OK_Component): Likewise. + * sem_ch5.adb: Add with and use clauses for Ttypes. + (Analyze_Assignment): Replace 64 with System_Max_Integer_Size. + * snames.ads-tmpl (Name_Max_Integer_Size): New attribute name. + (Attribute_Id): Add Attribute_Max_Integer_Size. + * ttypes.ads (System_Max_Integer_Size): New constant. + + 2020-10-15 Arnaud Charlet + + * sem_ch10.adb (Install_With_Clause): Fix implementation of Ada + 2005 AI-262 by taking into account generic packages. Minor + reformatting. + * libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause + on runtime unit spec. + + 2020-10-15 Arnaud Charlet + + * einfo.ads, einfo.adb (Scope_Depth_Value, + Set_Scope_Depth_Value): Add assertions on valid nodes and update + documentation accordingly. + (Write_Field22_Name): Sync with change in Scope_Depth_Value. + * sem_ch8.adb (Find_Direct_Name): Fix call to Scope_Depth_Value. + + 2020-10-15 Javier Miranda + + * sem_prag.adb (Analyze_Pragma): Adding semantic support of + Standard to Default_Storage_Pool. + * freeze.adb (Freeze_Entity): If pragma Default_Storage_Pool + applies and it is set to Standard then use the global pool as + the associated storage pool of the access type. + + 2020-10-15 Javier Miranda + + * exp_ch6.ads (Might_Have_Tasks): Update documentation. + * exp_ch6.adb (Might_Have_Tasks): Return also true when the type + has tasks. + (Make_Build_In_Place_Call_In_Allocator): Code cleanup. + * exp_ch3.adb (Ensure_Activation_Chain_And_Master, + Expand_N_Full_Type_Declaration, Expand_N_Object_Declaration): + Code cleanup. + + 2020-10-15 Steve Baird + + * checks.adb (Apply_Predicate_Check): Generate "infinite + recursion" warning message even if run-time predicate checking + is disabled. + * exp_ch6.adb (Expand_Simple_Function_Return): In testing + whether the returned expression is a function call, look for the + case where the call has been transformed into a dereference of + an access value that designates the result of a function call. + * sem_ch3.adb (Analyze_Object_Declaration): Legality checking + for a static expression is unaffected by assertion policy (and, + in particular, enabling/disabling of subtype predicates. To get + the right legality checking, we need to call + Check_Expression_Against_Static_Predicate for a static + expression even if predicate checking is disabled for the given + predicate-bearing subtype. On the other hand, we don't want to + call Make_Predicate_Check unless predicate checking is enabled. + * sem_ch7.adb (Uninstall_Declarations.Preserve_Full_Attributes): + Preserve the Predicates_Ignored attribute. + * sem_eval.adb (Check_Expression_Against_Static_Predicate): + Previously callers ensured that this procedure was only called + if predicate checking was enabled; that is no longer the case, + so predicates-disabled case must be handled. + * sem_prag.adb (Analyze_Pragma): Fix bug in setting + Predicates_Ignored attribute in Predicate pragma case. + + 2020-10-15 Ed Schonberg + + * freeze.adb (Freeze_Fixed_Point_Type): Do not scale the bounds + of a declared subtype using the 'Small of the type; this is + done during resolution of the bound itself, unlike what is done + for the bounds of the base type, which are used to determine its + required size. Previous code performed this scaling twice, + leading to meaningless values for such a subtype. + + 2020-10-15 Piotr Trojanek + + * sem_util.adb (Bad_Predicated_Subtype_Use): Emit an + unconditional error, not a conditional warning. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Process_Subtype): Combine guards for + Null_Exclusion_Present in May_Have_Null_Exclusion; use this + combined guard when checking AI-231. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion + with assertion in Null_Exclusion_Present; clarify the scope of + local variables. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Analyze_Subtype_Declaration): Fix style. + (Make_Index): Refactor to avoid repeated detection of subtype + indication; add comment. + + 2020-10-15 Piotr Trojanek + + * sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA + package unless necessary; rename local Tmp variable; iterate + with procedural Next. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Array_Type_Declaration): Refine type of a local + variable. + (Make_Index): Simplify to avoid assignment with a type entity + and then backtracking by reassigning to Empty; remove excessive + whitespace. + * sem_ch9.adb (Analyze_Entry_Body): Remove extra parens. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Access_Subprogram_Declaration): Remove extra + parens. + (Make_Index): Remove excessive calls to Is_Type. + + 2020-10-15 Arnaud Charlet + + * sem_util.adb (Enter_Name): Remove unnecessary conditions in + Enter_Name that come from the beginning of times. + + 2020-10-15 Bob Duff + + * exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part + of comment, and reformat. + + 2020-10-15 Boris Yakobowski + + * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand + 'Initialized in CodePeer mode. + + 2020-10-15 Arnaud Charlet + + * sem_ch12.adb (Reset_Entity): Protect against malformed tree. + + 2020-10-15 Arnaud Charlet + + * sem_ch13.adb (Add_Predicates): Prevent analyzing twice the + same pragma in case an inner package references the type with a + predicate (as opposed to defining the type). + + 2020-10-15 Eric Botcazou + + * libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer. + * libgnat/a-cofove.adb (Int): Likewise. + * libgnat/a-cgcaso.adb (T): Likewise. + * libgnat/a-cogeso.adb (T): Likewise. + * libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size. + + 2020-10-15 Piotr Trojanek + + * sem_ch12.adb: Replace list of N_Defining_... enumerations with + N_Entity. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of + parameter. + (Constrain_Index): Likewise. + (Array_Type_Declaration): Refine type of a local counter + variable; remove a trivially useless initialization. + + 2020-10-15 Piotr Trojanek + + * sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both + identifiers and expanded names; use high-level Is_Scalar_Type + instead of low-level membership test. + + 2020-10-15 Arnaud Charlet + + * sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support + for Shift_Right_Arithmetic and for signed integers. + * exp_ch4.adb (Expand_N_Op_Rotate_Left, + Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left, + Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code + cleanup to ensure a consistent handling. Update comments and add + assertion. + + 2020-10-15 Bob Duff + + * sem_ch13.adb (Visible_Component): Enable this code for task + and protected types, as well as record and private types. + * sem_ch13.ads (Replace_Type_References_Generic): Update + comment. Move the efficiency comment into the body, because + it's about the implementation. + + 2020-10-15 Arnaud Charlet + + * par-ch13.adb (Get_Aspect_Specifications): Generate a warning + rather than an error on unknown aspects unless -gnatd2 is used. + (Aspect_Specifications_Present): Improve detection of unknown + aspects. + * debug.adb (Debug_Flag_2): Update document. + + 2020-10-15 Arnaud Charlet + + * sem_res.adb (Resolve_Call): Do not try to inline intrinsic + calls. + + 2020-10-15 Ed Schonberg + + * exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires + a non-private type. + * sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to + Resolve_Aspect_Aggregate, to handle the case when the + corresponding name appearing in the aspect specification for an + indexed aggregate is an overloaded operation. + * libgnat/a-convec.ads, libgnat/a-convec.adb, + libgnat/a-coinve.ads, libgnat/a-coinve.adb, + libgnat/a-cobove.ads, libgnat/a-cobove.adb, + libgnat/a-cdlili.ads, libgnat/a-cdlili.adb, + libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb, + libgnat/a-cohama.ads, libgnat/a-cihama.ads, + libgnat/a-cbhama.ads, libgnat/a-cborma.ads, + libgnat/a-ciorma.ads, libgnat/a-coorma.ads, + libgnat/a-cihase.ads, libgnat/a-cohase.ads, + libgnat/a-cbhase.ads, libgnat/a-cborse.ads, + libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect + Aggregate to types declared in standard containers, as well as + new subprograms where required. + + 2020-10-15 Arnaud Charlet + + * libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create, + First_Cursor, Advance, Has_Element): New. + + 2020-10-15 Arnaud Charlet + + * Makefile.rtl: Add target pair for interfac.ads. + * libgnat/interfac.ads: Add a comment. + * libgnat/interfac__2020.ads: New, used for bootstrap purposes. + * sem_util.adb (Is_Static_Function): Always return False for pre + Ada 2020 to e.g. ignore the Static aspect in Interfaces for + Ada < 2020. + + 2020-10-15 Piotr Trojanek + + * exp_util.adb (Remove_Side_Effects): Move special-casing for + GNATprove to be applied to all object declarations. + +2010-06-30 Jakub Jelinek + + * gnat-style.texi: Change dircategory to GNU Ada tools. + 2020-10-12 Alexandre Oliva * libgnat/a-ngelfu.ads (Sin, Cos): Make the single-argument diff --cc gcc/testsuite/ChangeLog index 87ff444d185,18b975dc3a1..ece9e97f9b0 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@@ -1,7 -1,353 +1,357 @@@ + 2020-10-18 Harald Anlauf + + * gfortran.dg/matmul_20.f90: New test. + + 2020-10-17 David Edelsohn + + * gcc.target/powerpc/p9-dimode1.c: Remove target. + * gcc.target/powerpc/p9-dimode2.c: Remove target. + * gcc.target/powerpc/p9-fpcvt-1.c: Remove target. + * gcc.target/powerpc/p9-fpcvt-2.c: Require lp64. + * gcc.target/powerpc/p9-minmax-1.c: Remove target. + * gcc.target/powerpc/p9-minmax-2.c: Remove target. + * gcc.target/powerpc/p9-minmax-3.c: Remove target. + * gcc.target/powerpc/p9-splat-1.c: Require lp64. + * gcc.target/powerpc/p9-splat-2.c: Remove target. + * gcc.target/powerpc/p9-splat-3.c: Remove target. + * gcc.target/powerpc/p9-splat-4.c: Require lp64. + * gcc.target/powerpc/p9-vbpermd.c: Require lp64. + * gcc.target/powerpc/p9-vneg.c: Require lp64. + * gcc.target/powerpc/p9-vparity.c: Require lp64. + * gcc.target/powerpc/p9-vpermr.c: Require LE. + * gcc.target/powerpc/p9-xxbr-1.c: Remove target. + * gcc.target/powerpc/p9-xxbr-2.c: Require lp64. + * gcc.target/powerpc/p9-xxbr-3.c: Require lp64. + + 2020-10-17 David Edelsohn + + * gcc.target/powerpc/builtins-3-p9.c: Remove le. + + 2020-10-17 David Edelsohn + + * gcc.target/powerpc/pr96139-a.c: Remove -m32. + * gcc.target/powerpc/pr96139-b.c: Remove -m64. + + 2020-10-16 Harald Anlauf + + PR fortran/95979 + * gfortran.dg/index_4.f90: New test. + + 2020-10-16 Andrew MacLeod + + PR tree-optimization/97462 + * gcc.dg/pr97462.c: New file. + + 2020-10-16 Nathan Sidwell + + PR c++/97460 + * g++.dg/template/pr97460.C: New. + + 2020-10-16 Nathan Sidwell + + PR c++/96258 + * g++.dg/parse/pr96258.C: New. + + 2020-10-16 Srinath Parvathaneni + + PR target/97327 + * gcc.target/arm/mve/intrinsics/pr97327.c: New test. + + 2020-10-16 Richard Biener + + * gcc.dg/vect/bb-slp-53.c: New testcase. + + 2020-10-16 Srinath Parvathaneni + + PR target/97291 + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Modify. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise. + + 2020-10-16 Jan Hubicka + + PR testsuite/97426 + * gcc.dg/tree-ssa/modref-4.c: Fix return test. + + 2020-10-16 Martin Liska + + PR ipa/97404 + * gcc.c-torture/execute/pr97404.c: New test. + + 2020-10-16 Richard Biener + + PR tree-optimization/97428 + * gcc.dg/vect/vect-complex-5.c: Expect to SLP. + * gcc.dg/vect/pr97428.c: Likewise. + + 2020-10-15 David Edelsohn + + * gcc.target/powerpc/builtins-1-p9-runnable.c: Adjust for big endian. + * gcc.target/powerpc/builtins-7-p9-runnable.c: Same. + + 2020-10-15 Jason Merrill + + PR c++/95844 + * g++.dg/cpp2a/spaceship-eq10.C: New test. + + 2020-10-15 David Edelsohn + + * gcc.target/powerpc/builtins-5-p9-runnable.c: Require lp64. + * gcc.target/powerpc/builtins-msum-runnable.c: Require int128. + * gcc.target/powerpc/float128-cmp2-runnable.c: Require float128. + * gcc.target/powerpc/fold-vec-extract-double.p9.c: Require lp64. + + 2020-10-15 Marek Polacek + + PR c++/97406 + PR c++/85901 + * g++.dg/diagnostic/ptrtomem1.C: New test. + * g++.dg/diagnostic/ptrtomem2.C: New test. + + 2020-10-15 Tom de Vries + + * gcc.dg/atomic/c11-atomic-exec-6.c: Xfail execution for nvptx. + * gcc.dg/atomic/c11-atomic-exec-7.c: Same. + * gcc.dg/atomic/stdatomic-op-5.c: Same. + + 2020-10-15 Tom de Vries + + PR target/97436 + * gcc.target/nvptx/atomic_fetch-3.c: Remove. + + 2020-10-15 Richard Biener + + * gcc.dg/vect/bb-slp-52.c: New testcase. + + 2020-10-15 Richard Biener + + PR tree-optimization/97482 + * gcc.dg/vect/pr97428.c: New testcase. + + 2020-10-15 Tom de Vries + + * gcc.dg/tree-ssa/pr84512.c: Remove xfail for nvptx. + + 2020-10-15 Tom de Vries + + * c-c++-common/ident-0b.c: Require effective target ident_directive. + + 2020-10-15 Tom de Vries + + * gcc.c-torture/compile/limits-externdecl.c: Remove dg-skip-if for + nvptx. + + 2020-10-15 Tom de Vries + + * gcc.dg/attr-alloc_size-11.c: Don't xfail for nvptx. + * gcc.dg/tree-ssa/20040204-1.c: Same. + + 2020-10-15 Tom de Vries + + * gcc.c-torture/execute/pr68185.c: Remove dg-skip-if for nvptx. + + 2020-10-15 Tom de Vries + + * gcc.c-torture/execute/981019-1.c: Remove dg-skip-if for nvptx. + + 2020-10-15 Tom de Vries + + * gcc.c-torture/compile/pr42717.c: Remove nvptx xfail. + * gcc.c-torture/compile/pr61684.c: Same. + * gcc.c-torture/execute/pr20601-1.c: Same. + * gcc.c-torture/execute/pr52129.c: Same. + * gcc.c-torture/execute/pr59221.c: Same. + * gcc.dg/pr68671.c: Same. + + 2020-10-15 Jakub Jelinek + + * gcc.dg/ipa/modref-1.c: Remove space between param offset: and number + in scan-ipa-dump. + (b): Declare return type to void. + (main): Declare return type to int. Change c to array of 3 chars. + * gcc.dg/tree-ssa/modref-4.c: Remove space between param offset: and + number in scan-ipa-dump. Use modref1 instead of modref2. + (b): Declare return type to void. + (main): Declare return type to int. Change c to array of 3 chars. + + 2020-10-15 Kito Cheng + + * gcc.target/riscv/mcpu-1.c: New. + * gcc.target/riscv/mcpu-2.c: Ditto. + * gcc.target/riscv/mcpu-3.c: Ditto. + * gcc.target/riscv/mcpu-4.c: Ditto. + * gcc.target/riscv/mcpu-5.c: Ditto. + * gcc.target/riscv/mcpu-6.c: Ditto. + * gcc.target/riscv/mcpu-7.c: Ditto. + + 2020-10-15 Hongyu Wang + + * gcc.target/i386/hreset-1.c: New test. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/x86gprintrin-1.c: Add -mhreset. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Add mhreset. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + + 2020-10-15 Hongtao Liu + + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/uintr-1.c: New test. + * gcc.target/i386/uintr-2.c: Ditto. + * gcc.target/i386/uintr-3.c: Ditto. + * gcc.target/i386/uintr-4.c: Ditto. + * gcc.target/i386/uintr-5.c: Ditto. + * gcc.target/i386/x86gprintrin-1.c: Add -muintr for 64bit target. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Add muintr for 64bit target. + * gcc.target/i386/x86gprintrin-5.c: Ditto. + + 2020-10-14 Martin Sebor + + PR middle-end/97391 + * gcc.dg/Warray-bounds-68.c: New test. + + 2020-10-14 Martin Sebor + + PR c/97413 + * gcc.dg/Wvla-parameter-8.c: New test. + + 2020-10-14 Tom de Vries + + * lib/target-supports.exp (check_compile): Save and restore + $compiler_flags when calling ${tool}_target_compile. + + 2020-10-14 David Malcolm + + PR analyzer/93388 + * gcc.dg/analyzer/data-model-21.c: New test. + + 2020-10-14 David Malcolm + + PR analyzer/97394 + * gcc.dg/analyzer/setjmp-pr93378.c: Use test-setjmp.h rather than + . + * gcc.dg/analyzer/sigsetjmp-5.c: Likewise. + * gcc.dg/analyzer/sigsetjmp-6.c: Likewise. + * gcc.dg/analyzer/test-setjmp.h: Don't include . + Provide decls of jmp_buf, sigjmp_buf, setjmp, sigsetjmp, + longjmp, and siglongjmp. + + 2020-10-14 Jason Merrill + + PR c++/97358 + * g++.dg/cpp0x/lambda/lambda-variadic11.C: New test. + + 2020-10-14 Sunil K Pandey + + PR target/95483 + * gcc.target/i386/avx-1.c: Add test. + * gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto. + * gcc.target/i386/avx2-vbroadcastsi128-2.c: Ditto. + * gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto. + * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto. + * gcc.target/i386/avx512dq-vreducesd-1.c: Ditto. + * gcc.target/i386/avx512dq-vreducesd-2.c: Ditto. + * gcc.target/i386/avx512dq-vreducess-1.c: Ditto. + * gcc.target/i386/avx512dq-vreducess-2.c: Ditto. + * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto. + * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. + * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto. + * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto. + * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto. + * gcc.target/i386/avx512f-vscalefsd-2.c: Ditto. + * gcc.target/i386/avx512f-vscalefss-1.c: Ditto. + * gcc.target/i386/avx512f-vscalefss-2.c: Ditto. + * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto. + * gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto. + * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto. + * gcc.target/i386/avx512f-vsqrtss-2.c: Ditto. + * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto. + * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx512dq-vreducepd-3.c: New test. + * gcc.target/i386/avx512dq-vreducepd-4.c: New test. + * gcc.target/i386/avx512dq-vreduceps-3.c: New test. + * gcc.target/i386/avx512dq-vreduceps-4.c: New test. + * gcc.target/i386/avx512f-vcvtsi2sd-1.c: New test. + * gcc.target/i386/pr95483-1.c: New test. + * gcc.target/i386/pr95483-2.c: New test. + * gcc.target/i386/pr95483-3.c: New test. + * gcc.target/i386/pr95483-4.c: New test. + * gcc.target/i386/pr95483-5.c: New test. + * gcc.target/i386/pr95483-6.c: New test. + * gcc.target/i386/pr95483-7.c: New test. + + 2020-10-14 Jakub Jelinek + + PR target/97387 + * gcc.target/i386/pr97387-1.c: New test. + * gcc.target/i386/pr97387-2.c: New test. + + 2020-10-14 Aldy Hernandez + + * gcc.dg/pr97396.c: New test. + + 2020-10-14 Jan Hubicka + + * gcc.dg/ipa/modref-1.c: New test. + * gcc.dg/tree-ssa/modref-4.c: New test. + + 2020-10-14 Tobias Burnus + + PR fortran/97390 + * gfortran.dg/goacc/warn_truncated.f90: New test. + + 2020-10-14 Nathan Sidwell + + * g++.dg/lookup/extern-redecl2.C: New. + + 2020-10-14 Steven G. Kargl + Mark Eggleston + + PR fortran/95614 + * gfortran.dg/pr95614_1.f90: New test. + * gfortran.dg/pr95614_2.f90: New test. + * gfortran.dg/pr95614_3.f90: New test. + * gfortran.dg/pr95614_4.f90: New test. + + 2020-10-14 Kito Cheng + + PR target/96759 + * g++.target/riscv/pr96759.C: New. + * gcc.target/riscv/pr96759.c: New. + +2010-06-30 Jakub Jelinek + + * g++.dg/opt/ctor1.C: New test. + 2020-10-13 Jakub Jelinek PR rtl-optimization/97386 diff --cc libgcc/ChangeLog index be096d50c9e,d8cd4325905..1ffc4dfefa5 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@@ -1,12 -1,61 +1,70 @@@ + 2020-10-16 Rasmus Villemoes + + * config/gthr-vxworks.h: Condition the ___GTHREADS_CXX0X + section on VxWorks >= 6. + * config/gthr-vxworks-thread.c: Condition the entire + implementation on __GTHREAD_CXX0X. + + 2020-10-16 Rasmus Villemoes + + * config/gthr-vxworks.h: Condition the __GTHREAD_HAS_COND + section on VxWorks >= 6. + * config/gthr-vxworks-cond.c: Condition the entire + implementation on __GTHREAD_HAS_COND. + + 2020-10-16 Rasmus Villemoes + + * config/gthr-vxworks.c: #include . + + 2020-10-16 Rasmus Villemoes + + * config/gthr-vxworks.h: Rewrite remaining occurrence + of _VXW_PRE_69 as _VXWORKS_PRE(6,9). + + 2020-10-16 Rasmus Villemoes + Olivier Hainque + + * config/gthr-vxworks-tls.c (VX_ENTER_TLS_DTOR): Nil + except on VxWorks 6. + + 2020-10-16 Olivier Hainque + + * config/t-vxcrtstuff: Remove the -kernel/-rtp specialization. + + 2020-10-14 Alexandre Oliva + + * config/gthr-vxworks-thread.c: Include stdlib.h. + (tls_delete_hook): Prototype it. + (__gthread_cond_signal): Return early if no waiters. Consume + signal in case the semaphore got full. Use semInfoGet instead + of kernel-mode-only semInfo. + (__gthread_cond_timedwait): Use semExchange. Always take the + mutex again before returning. + * config/gthr-vxworks-cond.c (__ghtread_cond_wait): Likewise. + + 2020-10-14 Olivier Hainque + + * config/t-vxworks (LIBGCC2_INCLUDES): Append + $(MULTISUBDIR) to the -I path for fixed headers, as we + arrange to have different sets of such headers for different + multilibs when they are activated. + * config/t-vxworks7: Likewise. + + 2020-10-14 Olivier Hainque + + * config/t-vxworks: Add include-fixed to include search + paths for libgcc on VxWorks. + * config/t-vxworks7: Likewise. + +2010-06-30 Jakub Jelinek + + * config/ia64/lib1funcs.S: Add .note.GNU-stack section on + ia64-linux. + * config/ia64/crtbegin.S: Likewise. + * config/ia64/crtend.S: Likewise. + * config/ia64/crti.S: Likewise. + * config/ia64/crtn.S: Likewise. + 2020-10-09 H.J. Lu PR target/97148