From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Othacehe Subject: bug#39941: Disk-image size increase on core-updates. Date: Sat, 14 Mar 2020 11:54:40 +0100 Message-ID: <87a74jnr4f.fsf@gmail.com> References: <87sgimdjcj.fsf@gmail.com> <87eeu0h8d6.fsf@gmail.com> <87a74nhstf.fsf@gnu.org> <87zhcnympn.fsf@gmail.com> <87r1xyfx7o.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:59478) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jD4Re-00049Q-Mi for bug-guix@gnu.org; Sat, 14 Mar 2020 06:55:27 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54677) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jD4Rb-0006zB-0h for bug-guix@gnu.org; Sat, 14 Mar 2020 06:55:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jD4Ra-0005F3-SP for bug-guix@gnu.org; Sat, 14 Mar 2020 06:55:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87r1xyfx7o.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 39941@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello, Here's a patch that adds a "lib" output to cross-gcc. This was indeed quite tricky! Anyway, with this patch the closure of "hello" for aarch64-linux-gnu is reduced from 469 MiB to 187 MiB. I think we can go further. --8<---------------cut here---------------start------------->8--- mathieu@elbruz ~/guix [env]$ guix size /gnu/store/14ygibryjr7mcly0q9mb8306hlg16nhq-hello-2.10 store item total self /gnu/store/vm2gaw5jk1zr1x9qzj4z52qjxvrh0nk9-glibc-cross-aarch64-linux-gnu-2.31 158.9 71.4 38.2% /gnu/store/w00jb174abikqpznadwzvvgwl3r7qfzd-glibc-2.31 38.4 36.7 19.6% /gnu/store/08vqg0s77dnff7rz90b0h87n2rfyaszg-gcc-7.5.0-lib 71.0 32.6 17.5% /gnu/store/vqsixs9ks4chpjynhizkpdd1gdshv87h-gcc-cross-aarch64-linux-gnu-7.5.0-lib 186.8 27.9 14.9% /gnu/store/fgrpk8r46k34pyqv6xkbi8gbv997dbpx-gcc-cross-sans-libc-aarch64-linux-gnu-7.5.0-lib 80.8 9.8 5.2% /gnu/store/zf5603c5l6ilgyg35gqfkn82v3k9hbri-linux-libre-headers-cross-aarch64-linux-gnu-5.4.20 5.1 5.1 2.7% /gnu/store/6hhsxa3vvbh8gvcfjw4k5sfk1qrhkcrf-bash-static-5.0.16 1.6 1.6 0.9% /gnu/store/nvc3r588745kkj159lm1pa4xz5g99rqd-bash-static-5.0.16 1.6 1.6 0.9% /gnu/store/14ygibryjr7mcly0q9mb8306hlg16nhq-hello-2.10 187.0 0.2 0.1% total: 187.0 MiB --8<---------------cut here---------------end--------------->8--- There are still references to native glibc/gcc and two different bash, that may be removed? WDYT? Thanks, Mathieu --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-cross-gcc-Add-a-lib-output.patch Content-Transfer-Encoding: quoted-printable >From 7df06872de701e1c9237cb7fa36089b1f9e37dd9 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Mar 2020 11:39:52 +0100 Subject: [PATCH] gnu: cross-gcc: Add a "lib" output. Add a "lib" output to cross-gcc. This requires an upstream GCC patch adding support for --with-toolexeclibdir configure option. This option allows to install cross-built GCC libraries in a specific location. This also fixes the computation of TOOLDIR_BASE_PREFIX, that fails when /gnu/store/... directories are involved. * gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-gcc)[source]: Apply it, [outputs]: add a "lib" output, (cross-gcc-snippet): fix TOOLDIR_BASE_PREFIX. --- gnu/local.mk | 3 +- gnu/packages/cross-base.scm | 41 +- .../patches/gcc-7-cross-toolexeclibdir.patch | 36585 ++++++++++++++++ 3 files changed, 36615 insertions(+), 14 deletions(-) create mode 100644 gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch diff --git a/gnu/local.mk b/gnu/local.mk index f2e323c345..4080ac78cc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -14,7 +14,7 @@ # Copyright =C2=A9 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen # Copyright =C2=A9 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice # Copyright =C2=A9 2017, 2018 Cl=C3=A9ment Lassieur -# Copyright =C2=A9 2017 Mathieu Othacehe +# Copyright =C2=A9 2017, 2020 Mathieu Othacehe # Copyright =C2=A9 2017, 2018, 2019 G=C3=A1bor Boskovits # Copyright =C2=A9 2018 Amirouche Boubekki # Copyright =C2=A9 2018, 2019, 2020 Oleg Pykhalov @@ -909,6 +909,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/gcc-6-source-date-epoch-2.patch \ %D%/packages/patches/gcc-7-cross-mingw.patch \ %D%/packages/patches/gcc-7-cross-environment-variables.patch \ + %D%/packages/patches/gcc-7-cross-toolexeclibdir.patch \ %D%/packages/patches/gcc-8-cross-environment-variables.patch \ %D%/packages/patches/gcc-8-strmov-store-file-names.patch \ %D%/packages/patches/gcc-9-asan-fix-limits-include.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 667d1f786a..d373e522d5 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -6,6 +6,7 @@ ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2019, 2020 Marius Bakke ;;; Copyright =C2=A9 2019 Carl Dong +;;; Copyright =C2=A9 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -162,6 +163,13 @@ base compiler and using LIBC (which may be either a li= bc package or #f.)" "--disable-libsanitizer" )) =20 + ;; Install cross-built libraries such as libgcc_s.s= o in + ;; the "lib" output. + ,@(if libc + `((string-append "--with-toolexeclibdir=3D" + (assoc-ref %outputs "lib") + "/" ,target "/lib")) + '()) ;; For a newlib (non-glibc) target ,@(if (cross-newlib? target) '("--with-newlib") @@ -196,12 +204,18 @@ base compiler and using LIBC (which may be either a l= ibc package or #f.)" =20 (define (cross-gcc-snippet target) "Return GCC snippet needed for TARGET." - (cond ((target-mingw? target) - '(begin - (copy-recursively "libstdc++-v3/config/os/mingw32-w64" - "libstdc++-v3/config/os/newlib") - #t)) - (else #f))) + `(begin + ,@(if (target-mingw? target) + '((copy-recursively "libstdc++-v3/config/os/mingw32-w64" + "libstdc++-v3/config/os/newlib")) + '()) + ;; TOOLDIR_BASE_PREFIX is erroneous when using a separate "lib" + ;; output. Specify it correctly, otherwise GCC won't find its shared + ;; libraries installed in the "lib" output. + (substitute* "gcc/Makefile.in" + (("-DTOOLDIR_BASE_PREFIX=3D[^ ]*") + "-DTOOLDIR_BASE_PREFIX=3D\\\"../../../../\\\"")) + #t)) =20 (define* (cross-gcc target #:key @@ -220,18 +234,19 @@ target that libc." (patches (append (origin-patches (package-source xgcc)) - (cons (cond - ((version>=3D? (package-version xgcc) "8.0") (searc= h-patch "gcc-8-cross-environment-variables.patch")) - ((version>=3D? (package-version xgcc) "6.0") (searc= h-patch "gcc-6-cross-environment-variables.patch")) - (else (search-patch "gcc-cross-environment-variabl= es.patch"))) + (append (cond + ((version>=3D? (package-version xgcc) "8.0") + (search-patches "gcc-8-cross-environment-variables= .patch")) + ((version>=3D? (package-version xgcc) "6.0") + (search-patches "gcc-7-cross-toolexeclibdir.patch" + "gcc-6-cross-environment-variables= .patch")) + (else (search-patches "gcc-cross-environment-varia= bles.patch"))) (cross-gcc-patches xgcc target)))) (modules '((guix build utils))) (snippet (cross-gcc-snippet target)))) =20 - ;; For simplicity, use a single output. Otherwise libgcc_s & co. are = not - ;; found by default, etc. - (outputs '("out")) + (outputs '("out" "lib")) =20 (arguments `(#:implicit-inputs? #f diff --git a/gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch b/gnu/pa= ckages/patches/gcc-7-cross-toolexeclibdir.patch new file mode 100644 index 0000000000..2686ca83fb --- /dev/null +++ b/gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch @@ -0,0 +1,36585 @@ +This patch taken from GCC upstream adds support for overriding cross-compi= led +shared libraries installation path. This is needed to have a separate "li= b" +output containing those shared libraries. + +From fe6b5640a52a6e75dddea834e357974c205c737c Mon Sep 17 00:00:00 2001 +From: "Maciej W. Rozycki" +Date: Fri, 24 Jan 2020 11:24:25 +0000 +Subject: [PATCH] Add `--with-toolexeclibdir=3D' configuration option + +Provide means, in the form of a `--with-toolexeclibdir=3D' configuration +option, to override the default installation directory for target +libraries, otherwise known as $toolexeclibdir. This is so that it is +possible to get newly-built libraries, particularly the shared ones, +installed in a common place, so that they can be readily used by the +target system as their host libraries, possibly over NFS, without a need +to manually copy them over from the currently hardcoded location they +would otherwise be installed in. + +In the presence of the `--enable-version-specific-runtime-libs' option +and for configurations building native GCC the option is ignored. + + config/ + * toolexeclibdir.m4: New file. + + gcc/ + * doc/install.texi (Cross-Compiler-Specific Options): Document + `--with-toolexeclibdir' option. + + libada/ + * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * configure: Regenerate. + + libatomic/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.in: Regenerate. + + libffi/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * include/Makefile.in: Regenerate. + * man/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + + libgcc/ + * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * configure: Regenerate. + + libgfortran/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libgomp/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.in: Regenerate. + + libhsail-rt/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libitm/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.in: Regenerate. + + libobjc/ + * Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'. + * aclocal.m4: Include `toolexeclibdir.m4'. + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * configure: Regenerate. + + liboffloadmic/ + * plugin/configure.ac: Handle `--with-toolexeclibdir=3D'. + * plugin/Makefile.in: Regenerate. + * plugin/aclocal.m4: Regenerate. + * plugin/configure: Regenerate. + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libphobos/ + * m4/druntime.m4: Handle `--with-toolexeclibdir=3D'. + * m4/Makefile.in: Regenerate. + * libdruntime/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libquadmath/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libsanitizer/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * asan/Makefile.in: Regenerate. + * interception/Makefile.in: Regenerate. + * libbacktrace/Makefile.in: Regenerate. + * lsan/Makefile.in: Regenerate. + * sanitizer_common/Makefile.in: Regenerate. + * tsan/Makefile.in: Regenerate. + * ubsan/Makefile.in: Regenerate. + + libssp/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + libstdc++-v3/ + * acinclude.m4: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++17/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + + libvtv/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.in: Regenerate. + + zlib/ + * configure.ac: Handle `--with-toolexeclibdir=3D'. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. +--- + config/ChangeLog | 148 +- + config/toolexeclibdir.m4 | 31 + + gcc/ChangeLog | 18710 +++----------------- + gcc/doc/install.texi | 4 + + libada/ChangeLog | 68 +- + libada/Makefile.in | 1 + + libada/configure | 29 +- + libada/configure.ac | 12 +- + libatomic/ChangeLog | 162 +- + libatomic/Makefile.in | 1 + + libatomic/aclocal.m4 | 1 + + libatomic/configure | 33 +- + libatomic/configure.ac | 11 +- + libatomic/testsuite/Makefile.in | 1 + + libffi/ChangeLog | 93 +- + libffi/Makefile.in | 1 + + libffi/aclocal.m4 | 1 + + libffi/configure | 33 +- + libffi/configure.ac | 11 +- + libffi/include/Makefile.in | 1 + + libffi/man/Makefile.in | 1 + + libffi/testsuite/Makefile.in | 1 + + libgcc/ChangeLog | 2051 ++- + libgcc/Makefile.in | 1 + + libgcc/configure | 38 +- + libgcc/configure.ac | 25 +- + libgfortran/ChangeLog | 725 +- + libgfortran/Makefile.in | 1 + + libgfortran/aclocal.m4 | 1 + + libgfortran/configure | 33 +- + libgfortran/configure.ac | 11 +- + libgomp/ChangeLog | 4463 ++++- + libgomp/Makefile.in | 1 + + libgomp/aclocal.m4 | 1 + + libgomp/configure | 33 +- + libgomp/configure.ac | 11 +- + libgomp/testsuite/Makefile.in | 1 + + libhsail-rt/ChangeLog | 64 +- + libhsail-rt/Makefile.in | 1 + + libhsail-rt/aclocal.m4 | 1 + + libhsail-rt/configure | 33 +- + libhsail-rt/configure.ac | 11 +- + libitm/ChangeLog | 178 +- + libitm/Makefile.in | 1 + + libitm/aclocal.m4 | 1 + + libitm/configure | 33 +- + libitm/configure.ac | 11 +- + libitm/testsuite/Makefile.in | 1 + + libobjc/ChangeLog | 300 +- + libobjc/Makefile.in | 1 + + libobjc/aclocal.m4 | 1 + + libobjc/configure | 33 +- + libobjc/configure.ac | 11 +- + liboffloadmic/ChangeLog | 65 +- + liboffloadmic/Makefile.in | 1 + + liboffloadmic/aclocal.m4 | 1 + + liboffloadmic/configure | 33 +- + liboffloadmic/configure.ac | 11 +- + liboffloadmic/plugin/Makefile.in | 1 + + liboffloadmic/plugin/aclocal.m4 | 1 + + liboffloadmic/plugin/configure | 33 +- + liboffloadmic/plugin/configure.ac | 11 +- + libquadmath/ChangeLog | 222 +- + libquadmath/Makefile.in | 1 + + libquadmath/aclocal.m4 | 1 + + libquadmath/configure | 33 +- + libquadmath/configure.ac | 11 +- + libsanitizer/ChangeLog | 624 +- + libsanitizer/Makefile.in | 1 + + libsanitizer/aclocal.m4 | 1 + + libsanitizer/asan/Makefile.in | 1 + + libsanitizer/configure | 33 +- + libsanitizer/configure.ac | 11 +- + libsanitizer/interception/Makefile.in | 1 + + libsanitizer/libbacktrace/Makefile.in | 1 + + libsanitizer/lsan/Makefile.in | 1 + + libsanitizer/sanitizer_common/Makefile.in | 1 + + libsanitizer/tsan/Makefile.in | 1 + + libsanitizer/ubsan/Makefile.in | 1 + + libssp/ChangeLog | 59 +- + libssp/Makefile.in | 1 + + libssp/aclocal.m4 | 1 + + libssp/configure | 33 +- + libssp/configure.ac | 11 +- + libstdc++-v3/ChangeLog | 3997 +---- + libstdc++-v3/Makefile.in | 1 + + libstdc++-v3/acinclude.m4 | 11 +- + libstdc++-v3/aclocal.m4 | 1 + + libstdc++-v3/configure | 44 +- + libstdc++-v3/doc/Makefile.in | 1 + + libstdc++-v3/include/Makefile.in | 1 + + libstdc++-v3/libsupc++/Makefile.in | 1 + + libstdc++-v3/po/Makefile.in | 1 + + libstdc++-v3/python/Makefile.in | 1 + + libstdc++-v3/src/Makefile.in | 1 + + libstdc++-v3/src/c++11/Makefile.in | 1 + + libstdc++-v3/src/c++17/Makefile.in | 1 + + libstdc++-v3/src/c++98/Makefile.in | 1 + + libstdc++-v3/src/filesystem/Makefile.in | 1 + + libstdc++-v3/testsuite/Makefile.in | 1 + + libvtv/ChangeLog | 75 +- + libvtv/Makefile.in | 1 + + libvtv/aclocal.m4 | 1 + + libvtv/configure | 33 +- + libvtv/configure.ac | 11 +- + libvtv/testsuite/Makefile.in | 1 + + zlib/ChangeLog.gcj | 33 + + zlib/Makefile.in | 1 + + zlib/aclocal.m4 | 1 + + zlib/configure | 33 +- + zlib/configure.ac | 11 +- + 111 files changed, 11540 insertions(+), 21364 deletions(-) + create mode 100644 config/toolexeclibdir.m4 + +diff --git a/config/ChangeLog b/config/ChangeLog +index 0a71e399754..9c8e40af124 100644 +--- a/config/ChangeLog ++++ b/config/ChangeLog +@@ -1,30 +1,150 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * toolexeclibdir.m4: New file. +=20 +-2018-12-06 Release Manager ++2019-09-10 Christophe Lyon +=20 +- * GCC 7.4.0 released. ++ * futex.m4: Handle *-uclinux*. ++ * tls.m4 (GCC_CHECK_TLS): Likewise. +=20 +-2018-06-22 Jakub Jelinek ++2019-09-06 Florian Weimer +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ * futex.m4 (GCC_LINUX_FUTEX): Include for the syscall ++ function. ++ ++2019-07-08 Richard Sandiford ++ ++ * bootstrap-Og.mk: New file. ++ ++2019-06-25 Kwok Cheung Yeung ++ Andrew Stubbs ++ ++ * gthr.m4 (GCC_AC_THREAD_HEADER): Add case for gcn. ++ ++2019-05-30 Rainer Orth ++ ++ * ax_count_cpus.m4: New file. ++ ++2019-05-02 Richard Biener ++ ++ PR bootstrap/85574 ++ * bootstrap-lto.mk (extra-compare): Set to gcc/lto1$(exeext). ++ ++2019-04-16 Martin Liska ++ ++ * bootstrap-lto-lean.mk: Filter out -flto in STAGEtrain_CFLAGS. ++ ++2019-04-09 Martin Liska ++ ++ * bootstrap-lto-lean.mk: New file. ++ ++2019-03-02 Johannes Pfau ++ ++ * mh-mingw: Also set __USE_MINGW_ACCESS flag for C++ code. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * math.m4, tls.m4: Use AC_LANG_SOURCE. ++ ++ Merge from binutils-gdb: ++ 2018-06-19 Simon Marchi ++ ++ * override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69. ++ ++2018-10-28 Iain Buclaw ++ ++ * multi.m4: Set GDC. ++ ++2018-07-05 James Clarke ++ ++ * dfp.m4 (enable_decimal_float): Enable for x86_64*-*-gnu* to ++ catch x86_64 kFreeBSD and Hurd. ++ ++2018-06-08 Martin Liska ++ ++ * bootstrap-mpx.mk: Remove. ++ ++2018-05-10 Martin Liska ++ ++ PR bootstrap/64914 ++ * bootstrap-ubsan.mk: Define UBSAN_BOOTSTRAP. ++ ++2018-05-09 Joshua Watt ++ ++ * ax_pthread.m4: Add file. ++ ++2018-05-08 Richard Biener ++ ++ PR bootstrap/85571 ++ * bootstrap-lto-noplugin.mk: Disable compare. ++ * bootstrap-lto.mk: Supply contrib/compare-lto for do-compare. ++ ++2018-04-24 H.J. Lu ++ ++ PR bootstrap/85490 ++ * bootstrap-cet.mk (STAGE4_CFLAGS): New. ++ ++2018-04-24 H.J. Lu ++ ++ PR target/85485 ++ * bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet. ++ (STAGE3_CFLAGS): Likewise. ++ ++2018-04-24 H.J. Lu ++ ++ PR target/85485 ++ * cet.m4 (GCC_CET_FLAGS): Replace -mcet with -mshstk. ++ ++2018-04-19 Jakub Jelinek ++ ++ * cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace ++ --enable-cet=3Ddefault with --enable-cet=3Dauto. ++ ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression. +=20 +-2018-01-25 Release Manager ++2018-04-05 H.J. Lu ++ ++ PR gas/22318 ++ * plugins.m4 (AC_PLUGINS): Use dlsym to check if libdl is needed. ++ ++2018-02-14 Igor Tsimbalist ++ ++ PR target/84148 ++ * cet.m4: Check if target support multi-byte NOPS (SSE). ++ ++2018-02-06 Eric Botcazou ++ ++ * gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Remove -q option passed to grep. ++ ++2017-11-14 Boris Kolpackov ++ ++ * gcc-plugin.m4: Add support for MinGW. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * cet.m4: New file. ++ ++2017-11-15 Alexandre Oliva ++ ++ * bootstrap-debug-lean.mk (do-compare): Use the ++ contrib/compare-debug script. ++ ++2017-10-24 H.J. Lu +=20 +- * GCC 7.3.0 released. ++ * bootstrap-cet.mk: New file. +=20 +-2017-08-14 Release Manager ++2017-06-19 Martin Liska +=20 +- * GCC 7.2.0 released. ++ * bootstrap-lto-noplugin.mk: Enable -flto in all PGO stages. ++ * bootstrap-lto.mk: Likewise. +=20 +-2017-05-02 Release Manager ++2017-06-03 Eric Botcazou +=20 +- * GCC 7.1.0 released. ++ * mt-android: New file. +=20 + 2017-02-13 Richard Biener +=20 +@@ -389,7 +509,7 @@ +=20 + * config/mh-interix: Remove as unneeded. + * config/picflag.m4 (i[[34567]]86-*-interix3*): +- Change triplet to i[[34567]]86-*-interix[[3-9]]*. ++ Change triplet to i[[34567]]86-*-interix[[3-9]]*. +=20 + 2012-01-04 Andreas Krebbel +=20 +diff --git a/config/toolexeclibdir.m4 b/config/toolexeclibdir.m4 +new file mode 100644 +index 00000000000..5dd89786219 +--- /dev/null ++++ b/config/toolexeclibdir.m4 +@@ -0,0 +1,31 @@ ++dnl toolexeclibdir override support. ++dnl Copyright (C) 2020 Free Software Foundation, Inc. ++dnl ++dnl This program is free software; you can redistribute it and/or modify ++dnl it under the terms of the GNU General Public License as published by ++dnl the Free Software Foundation; either version 3, or (at your option) ++dnl any later version. ++dnl ++dnl This program is distributed in the hope that it will be useful, ++dnl but WITHOUT ANY WARRANTY; without even the implied warranty of ++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++dnl GNU General Public License for more details. ++dnl ++dnl You should have received a copy of the GNU General Public License ++dnl along with this program; see the file COPYING3. If not see ++dnl . ++ ++AC_DEFUN([GCC_WITH_TOOLEXECLIBDIR], ++[AC_ARG_WITH(toolexeclibdir, ++ [AS_HELP_STRING([--with-toolexeclibdir=3DDIR], ++ [install libraries built with a cross compiler within DIR])], ++ [dnl ++case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac], ++ [with_toolexeclibdir=3Dno]) ++]) +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index 51fed5508dc..f15f03a4a6d 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1,16523 +1,2517 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * doc/install.texi (Cross-Compiler-Specific Options): Document ++ `--with-toolexeclibdir' option. +=20 +-2019-11-01 Iain Sandoe ++2020-01-24 Hans-Peter Nilsson +=20 +- Backport from mainline +- 2019-10-13 Iain Sandoe +- +- * config/darwin.c (machopic_indirection_name): Rework the +- function to emit linker-visible symbols only for indirections +- in the data section. Clean up the code and update comments. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-10-09 Iain Sandoe +- +- * config/darwin.c (darwin_override_options): Make the check for +- Objective-C ABI version more specific for 64bit code. +- +- Backport from mainline +- 2019-10-06 Iain Sandoe +- +- * config/darwin.c (darwin_override_options): Adjust objective-c +- ABI version error messages to avoid punctuation and contracted +- negations. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-07-03 Iain Sandoe +- +- * config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin. +- (STARTFILE_SPEC): Split crt3 into a separate spec. +- (DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec. +- (DARWIN_CRT2_SPEC): New. +- (DARWIN_CRT3_SPEC): New. +- (MIN_LD64_OMIT_STUBS): Revise to 62.1. +- * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions. +- (DARWIN_CRT3_SPEC): New. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-06-27 Iain Sandoe +- +- * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the +- spec. +- +- Backport from mainline +- 2019-06-25 Iain Sandoe +- +- * config/rs6000/darwin.h (ENDFILE_SPEC): New. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-06-18 Iain Sandoe +- +- * config/darwin.c (darwin_emit_unwind_label): New default to false. +- (darwin_override_options): Set darwin_emit_unwind_label as needed. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-08-13 Iain Sandoe +- +- * config/darwin.c (machopic_indirect_call_target): Rename symbol stub +- flag. +- (darwin_override_options): Likewise. +- * config/darwin.h: Likewise. +- * config/darwin.opt: Likewise. +- * config/i386/i386.c (output_pic_addr_const): Likewise. +- * config/rs6000/darwin.h: Likewise. +- * config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise. +- * config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ... +- ... this TARGET_MACHO_SYMBOL_STUBS. +- (FUNCTION_PROFILER):Likewise. +- * config/i386/i386.h: Likewise. +- +- Backport from mainline +- 2019-06-16 Iain Sandoe +- +- * config/darwin.c (machopic_indirect_call_target): Use renamed +- darwin_picsymbol_stubs to decide on output. +- (darwin_override_options): Handle darwin_picsymbol_stubs. +- * config/darwin.h (MIN_LD64_OMIT_STUBS): New. +- (LD64_VERSION): Revise default. +- * config/darwin.opt: (mpic-symbol-stubs): New option. +- (darwin_picsymbol_stubs): New variable. +- * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS): +- rename to TARGET_MACHO_PICSYM_STUBS. +- * config/i386/i386.c (output_pic_addr_const): Likewise. +- * config/i386/i386.h Likewise. +- * config/rs6000/darwin.h: Likewise. +- * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed +- darwin_picsymbol_stubs. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-06-28 Iain Sandoe +- +- * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove +- override on extra_headers. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-06-27 Iain Sandoe +- +- * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour +- user-specified float mode choice for kernel mode code. +- +-2019-11-01 Iain Sandoe +- +- Backport from mainline +- 2019-06-23 Iain Sandoe +- +- * config/rs6000/darwin.h: Handle GCC target pragma. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-10-17 Iain Sandoe +- +- PR target/65342 +- * config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete. +- (movdi_low_st): Delete. +- * config/rs6000/rs6000.c +- (darwin_rs6000_legitimate_lo_sum_const_p): New. +- (mem_operand_gpr): Validate Mach-O LO_SUM cases separately. +- * config/rs6000/rs6000.md (movsi_low): Delete. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-10-12 Iain Sandoe +- +- PR target/67183 +- * config/darwin.c (machopic_indirection): New field to flag +- non-lazy-symbol-pointers in the data section. +- (machopic_indirection_name): Compute if an indirection should +- appear in the data section. +- (machopic_output_data_section_indirection): New callback split +- from machopic_output_indirection. +- (machopic_output_stub_indirection): Likewise. +- (machopic_output_indirection): Retain the code for non-lazy +- symbol pointers in their regular section. +- (machopic_finish): Use the new callbacks to order the indirection +- output. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-10-12 Iain Sandoe +- +- * config/darwin-protos.h (machopic_finish): Delete. +- * config/darwin.c (machopic_finish): Make static. +- +- Backport from mainline +- 2019-10-09 Iain Sandoe +- +- * config/darwin.c (machopic_indirect_data_reference): Set flag to +- indicate that the new symbol is an indirection. +- (machopic_indirect_call_target): Likewise. +- * config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New. +- (MACHO_SYMBOL_INDIRECTION_P): New. +- (MACHO_SYMBOL_FLAG_STATIC): Adjust bit number. +- +- Backport from mainline +- 2019-10-08 Iain Sandoe +- +- * config/darwin.c (machopic_indirect_data_reference): Check for +- required indirections before making direct access to defined +- values. +- (machopic_output_indirection): Place the indirected pointes for +- required indirections into the non-lazy symbol pointers section. +- (darwin_encode_section_info): +- * config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New. +- (MACHO_SYMBOL_MUST_INDIRECT_P): New. +- +- Backport from mainline +- 2019-10-07 Iain Sandoe +- +- * config/darwin.c (machopic_output_indirection): Don't put +- hidden symbol indirections into the .data section, use the +- non-lazy symbol pointers section as normal. +- (darwin_encode_section_info): Record if a symbol is hidden. +- * config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New. +- (MACHO_SYMBOL_HIDDEN_VIS_P): New. +- +- Backport from mainline +- 2019-10-07 Iain Sandoe +- +- * config/darwin.c (machopic_symbol_defined_p): Use symbol flag +- predicates instead of accessing bits directly. +- (machopic_indirect_call_target): Likewise. +- (machopic_output_indirection): Likewise. +- (darwin_encode_section_info): Improve description. Use renamed +- symbol flags. Use predicate macros for variables and functions. +- * config/darwin.h: +- Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE. +- Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED. +- Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC. +- (MACHO_SYMBOL_VARIABLE_P): New. +- (MACHO_SYMBOL_DEFINED_P):New. +- (MACHO_SYMBOL_STATIC_P): New. +- * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete. +- (SYMBOL_FLAG_SUBT_DEP): New. +- * config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-10-05 Iain Sandoe +- +- PR target/59888 +- * config/darwin.c (darwin_rodata_section): Add relocation flag, +- choose const_data section for constants with relocations. +- (machopic_select_section): Pass relocation flag to +- darwin_rodata_section (). +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-09-21 Iain Sandoe +- +- * config/darwin.c (machopic_legitimize_pic_address): Check +- for lra, rather than reload. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-10-03 Iain Sandoe +- +- PR target/87243 +- * config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New. +- (darwin_driver_init): Use the sysroot provided by SDKROOT when that +- is available and the user has not set one on the command line. +- +-2019-10-29 Iain Sandoe +- +- Backport from mainline +- 2019-07-03 Iain Sandoe +- +- * config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases. +- (RDYNAMIC): Rename to, DARWIN_RDYNAMIC. +- (DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker +- clauses. +- (LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and +- DARWIN_NOPIE_SPEC. +- +- Backport from mainline +- 2019-06-19 Iain Sandoe +- +- * config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC +- and DARWIN_NOPIE_SPEC. +- (RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC. +- (DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h. +- (DARWIN_NOPIE_SPEC): Collate from darwin10.h. +- (DARWIN_NOCOMPACT_UNWIND): New from darwin10.h +- (DARWIN_EXPORT_DYNAMIC): Delete. +- * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind +- and pie options processing to darwin.h. +- * config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h +- +-2019-10-25 Richard Earnshaw +- +- Backport from mainline +- 2019-05-08 Mihail Ionescu +- Richard Earnshaw +- PR target/88167 +- * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New +- function. +- (thumb1_epilogue_unused_call_clobbered_lo_regs): New function. +- (thumb1_compute_save_core_reg_mask): Don't force a spare work +- register if both the epilogue and prologue can use call-clobbered +- regs. +- (thumb1_unexpanded_epilogue): Use +- thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for +- picking temporaries for restoring high regs to match that of the +- prologue where possible. +- (thumb1_expand_prologue): Add any usable call-clobbered low registers to +- the list of work registers. Detect if the return address is still live +- at the end of the prologue and avoid using it for a work register if so. +- If the return address is not live, add LR to the list of pushable regs +- after the first pass. +- +-2019-10-24 Richard Biener +- +- Backport from mainline +- 2019-10-17 Richard Biener +- +- PR debug/91887 +- * dwarf2out.c (gen_formal_parameter_die): Also try to match +- context_die against a DW_TAG_GNU_formal_parameter_pack parent. +- +- 2019-09-19 Richard Biener +- +- PR tree-optimization/91812 +- * tree-ssa-phiprop.c (propagate_with_phi): Do not replace +- volatile loads. +- +-2019-10-23 Eric Botcazou +- +- PR tree-optimization/92131 +- * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting +- range would be symbolic, drop to varying for any explicit overflow +- in the constant part or if neither range is a singleton. +- +-2019-10-18 Georg-Johann Lay +- +- Backport from trunk +- 2019-10-18 Georg-Johann Lay +- +- PR target/86040 +- * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. +- +-2019-10-17 Segher Boessenkool +- +- Backport from trunk +- 2019-03-15 Segher Boessenkool +- +- PR rtl-optimization/89721 +- * lra-constraints (invariant_p): Return false if side_effects_p holds. +- +-2019-10-17 Richard Earnshaw +- +- Backport from mainline +- 2019-05-03 Richard Earnshaw +- +- PR target/89400 +- * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1. +- Restrict 'all' variant to 32-bit configurations. +- (unaligned_loadhiu): Likewise. +- (unaligned_storehi): Likewise. +- (unaligned_storesi): Likewise. +- (unaligned_loadhis): Disable when compiling for thumb1. +- +-2019-10-16 Peter Bergner +- +- Backport from mainline +- 2019-10-08 Tulio Magno Quites Machado Filho +- +- * config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and +- LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and +- MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain. +- +-2019-10-11 Oleg Endo +- +- Backport from mainline +- 2019-10-10 Oleg Endo +- +- PR target/88630 +- * config/sh/sh.h (TARGET_FPU_SH4_300): New macro. +- * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns +- also for TARGET_FPU_SH4_300. +- (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of +- TARGET_SH4_300. +- * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition. +- (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr. +- (*negsf2_i): Split into ... +- (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns. +- (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc. +- (**abssf2_i): Split into ... +- (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns. +- (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr. +- (*negdf2_i): Split into ... +- (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns. +- (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc. +- (**abssf2_i): Split into ... +- (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns. +- +-2019-10-07 Bill Schmidt +- +- Backport from mainline +- 2019-10-01 Bill Schmidt +- +- PR target/91275 +- * config/rs6000/rs6000.c (rtx_is_swappable_p): Don't swap +- vpmsumd. +- +-2019-10-01 Oleg Endo +- +- Backport from mainline +- +- 2019-10-01 Oleg Endo +- +- PR target/88562 +- * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use +- sh_check_add_incdec_notes to preserve REG_INC notes when replacing +- a memory access insn. +- +-2019-09-28 Iain Sandoe +- +- Backport from mainline. +- 2019-05-12 Iain Sandoe +- +- PR target/82920 +- * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for +- Darwin. +- +-2019-09-28 Iain Sandoe +- +- Backport from mainline. +- 2019-05-12 Iain Sandoe +- +- PR target/82920 +- * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New. +- (ix86_output_indirect_branch_via_reg): Use output mechanism +- accounting for __USER_LABEL_PREFIX__. +- (ix86_output_indirect_branch_via_push): Likewise. +- (ix86_output_function_return): Likewise. +- (ix86_output_indirect_function_return): Likewise. +- +-2019-09-28 Oleg Endo +- +- Backport from mainline +- 2019-09-28 Oleg Endo +- +- PR target/80672 +- * config/sh/sh.c (parse_validate_atomic_model_option): Use +- std::string::compare instead of std::string::find. +- +-2019-09-28 Oleg Endo +- +- Backport from mainline +- 2018-07-15 Jeff Law +- +- PR target/85993 +- * config/sh/sh.c (output_mi_thunk): Remove dead conditional +- block. +- +-2019-09-27 Iain Sandoe +- +- Backport from mainline +- 2019-06-16 Iain Sandoe +- +- * config/darwin.opt (prebind, noprebind, seglinkedit, +- noseglinkedit): Add RejectNegative. +- +- Backport from mainline +- 2019-06-14 Iain Sandoe +- +- * config/darwin.opt: Add RejectNegative where needed, reorder +- and add minimal functional descriptions. +- +-2019-09-23 Max Filippov +- +- Backport from mainline +- 2019-06-18 Max Filippov +- +- * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack +- pointer adjustment for the case of no callee-saved registers and +- stack frame bigger than 128 bytes. +- +-2019-09-20 John David Anglin +- +- * config/pa/pa.c (pa_trampoline_init): Remove spurious extended +- characters. +- +-2019-09-20 Andreas Krebbel +- +- Backport from mainline +- 2019-06-06 Andreas Krebbel +- +- PR rtl-optimization/88751 +- * ira.c (ira): Use the number of the actually referenced registers +- when calculating the threshold. +- +-2019-09-11 Eric Botcazou +- +- PR rtl-optimization/89795 +- * rtlanal.c (nonzero_bits1) : Do not propagate results from +- inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set. +- +-2019-09-09 Jakub Jelinek +- +- PR target/87853 +- * config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi +- instead of __v16qs. +- +- PR target/91704 +- * config/i386/avxintrin.h (__v32qs): New typedef. +- * config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs +- instead of __v32qi. +- +-2019-09-08 Iain Sandoe +- +- Backport from mainline +- 2018-12-23 Iain Sandoe +- +- * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New. +- +-2019-08-22 Iain Sandoe +- +- Backport from mainline +- 2019-05-31 Iain Sandoe +- +- * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. +- +-2019-09-05 Iain Sandoe +- +- Backport from mainline +- 2019-08-18 Iain Sandoe +- +- * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts +- for cpu and machine. Factor 64/32b builtins. +- +- Backport from mainline +- 2019-06-23 Iain Sandoe +- +- * config/rs6000/darwin.h: (__PPC__, __PPC64__): New. +- +-2019-09-05 Iain Sandoe +- +- Backport from mainline +- 2019-08-23 Iain Sandoe +- +- PR pch/61250 +- * ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure +- and issue any diagnostics needed before collecting the pre-PCH +- state. +- +-2019-09-05 Iain Sandoe +- +- Backport from mainline +- 2019-07-24 Iain Sandoe +- +- PR bootstrap/87030 +- * config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749. +- +- PR bootstrap/87030 +- * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here... +- * config/i386/darwin32-biarch.h .. to here. +- * config/i386/darwin64-biarch.h: Adjust comments. +- * config/rs6000/darwin32-biarch.h: Likewise. +- * config/rs6000/darwin64-biarch.h: Likewise. +- * config.gcc: Missed commit from r273746 +- (*-*-darwin*): Don't include CPU t-darwin here. +- (i[34567]86-*-darwin*): Adjust to use biarch files. Produce +- an error message if i686-darwin configuration is attempted for +- Darwin >=3D 18. +- +- Backport from mainline +- 2019-07-23 Iain Sandoe +- +- PR bootstrap/87030 +- * config.gcc (*-*-darwin*): Don't include CPU t-darwin here. +- (i[34567]86-*-darwin*): Adjust to use biarch files. Produce +- an error message if i686-darwin configuration is attempted for +- Darwin >=3D 18. +- (x86_64-*-darwin*): Switch to single multilib for Darwin >=3D 18. +- (powerpc-*-darwin*): Use biarch files where needed. +- (powerpc64-*-darwin*): Likewise. +- * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file. +- (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single +- arch case. +- * config/i386/darwin32-biarch.h: New. +- * config/i386/darwin64.h: Rename. +- * gcc/config/i386/darwin64-biarch.h: To this. +- * config/i386/t-darwin: Rename. +- * gcc/config/i386/t-darwin32-biarch: To this. +- * config/i386/t-darwin64: Rename. +- * gcc/config/i386/t-darwin64-biarch: To this. +- * config/rs6000/darwin32-biarch.h: New. +- * config/rs6000/darwin64.h: Rename. +- * config/rs6000/darwin64-biarch.h: To this. +- (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single +- arch case. +- * config/rs6000/t-darwin8: Rename. +- * config/rs6000/t-darwin32-biarch: To this. +- * config/rs6000/t-darwin64 Rename. +- * config/rs6000/t-darwin64-biarch: To this. +- +-2019-09-05 Richard Biener +- +- * lto-streamer.h (LTO_minor_version): Bump. +- +- Backport from mainline +- 2019-05-06 Richard Biener +- +- PR tree-optimization/90328 +- * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest. +- * tree-data-ref.c (dr_may_alias_p): Check whether the clique +- is valid in the loop nest before using it. +- (initialize_data_dependence_relation): Adjust. +- * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing +- loop as loop-nest to dr_may_alias_p. +- +- 2019-03-08 Richard Biener +- +- PR middle-end/89578 +- * cfgloop.h (struct loop): Add owned_clique field. +- * cfgloopmanip.c (copy_loop_info): Copy it. +- * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique +- cliques. +- * tree-inline.c (copy_loops): Remap owned_clique. +- * lto-streamer-in.c (input_cfg): Stream owned_clique. +- * lto-streamer-out.c (output_cfg): Likewise. +- +- 2019-02-22 Richard Biener +- +- PR tree-optimization/87609 +- * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques. +- +- 2019-02-22 Richard Biener +- +- PR middle-end/87609 +- * cfghooks.h (dependence_hash): New typedef. +- (struct copy_bb_data): New type. +- (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument. +- (duplicate_block): Likewise. +- * cfghooks.c (duplicate_block): Pass down copy_bb_data. +- (copy_bbs): Create and pass down copy_bb_data. +- * cfgrtl.c (cfg_layout_duplicate_bb): Adjust. +- (rtl_duplicate_bb): Likewise. +- * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL +- remap dependence info. +- +- 2019-02-22 Richard Biener +- +- PR tree-optimization/87609 +- * tree-core.h (tree_base): Document special clique values. +- * tree-inline.c (remap_dependence_clique): Do not use the +- special clique value of one. +- (maybe_set_dependence_info): Use clique one. +- (clear_dependence_clique): New callback. +- (compute_dependence_clique): Clear clique one from all refs +- before assigning it (again). +- +-2019-08-27 Iain Sandoe +- +- Backport from mainline +- 2019-07-07 Iain Sandoe +- +- * config/darwin.c (darwin_override_options): Make a final check on PIC +- options. +- +-2019-09-04 Iain Sandoe +- +- Backport from mainline +- 2019-07-07 Iain Sandoe +- * config/darwin.c (darwin_override_options): Don't jam symbol stubs +- on for kernel code. +- +-2019-09-04 Iain Sandoe +- +- Backport from mainline +- 2019-06-27 Iain Sandoe +- +- * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not +- use longcall for 64b code. +- +-2019-09-04 Iain Sandoe +- +- Backport from mainline +- 2019-06-19 Iain Sandoe +- +- * config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors +- in computing the number of options to be moved. +- +- Backport from mainline +- 2019-06-13 Iain Sandoe +- +- * config/darwin-driver.c (validate_macosx_version_min): New. +- (darwin_default_min_version): Cleanup and validate supplied version. +- (darwin_driver_init): Likewise and push cleaned version into opts. +- +-2019-09-04 Richard Biener +- +- Backport from mainline +- 2019-03-26 Bin Cheng +- +- PR tree-optimization/81740 +- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): +- In case of outer loop vectorization, check for backward dependence +- at the inner loop if outer loop dependence is reversed. +- +-2019-09-04 Richard Biener +- +- Backport from mainline +- 2018-11-23 Richard Biener +- +- PR tree-optimization/88149 +- * tree-vect-slp.c (vect_slp_analyze_node_operations): Detect +- the case where there are two different def types for the +- same operand at different operand position in the same stmt. +- +-2019-09-04 Richard Biener +- +- Backport from mainline +- 2019-04-09 Richard Sandiford +- +- * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always +- use gimple_expr_type for load and store calls. Skip over the +- condition argument in a conditional internal function. +- Protect use of TREE_INT_CST_LOW. +- +- 2019-04-08 Richard Biener +- +- PR tree-optimization/90006 +- * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle +- calls like lrint. +- +- 2019-03-14 Richard Biener +- +- PR middle-end/89698 +- * fold-const.c (operand_equal_p): For INDIRECT_REF check +- that the access types are similar. +- +- 2019-01-18 Richard Biener +- +- PR tree-optimization/88903 +- * tree-vect-stmts.c (vectorizable_shift): Verify we see all +- scalar stmts a SLP shift amount is composed of when detecting +- shifts by scalars. +- +- 2018-12-11 Richard Biener +- +- PR middle-end/88448 +- PR middle-end/88415 +- * tree-complex.c (update_complex_assignment): Properly transfer +- or clean EH info around gimple_assign_set_rhs_with_ops. +- +- 2018-11-15 Richard Biener +- +- PR tree-optimization/88030 +- * tree-complex.c (need_eh_cleanup): New global. +- (update_complex_assignment): Mark blocks that need EH update. +- (expand_complex_comparison): Likewise. +- (tree_lower_complex): Allocate and deallocate need_eh_cleanup, +- perform EH cleanup and schedule CFG cleanup if that did anything. +- +- 2018-11-08 Richard Biener +- +- PR tree-optimization/87929 +- * tree-complex.c (expand_complex_comparison): Clean EH. +- +- 2017-07-25 Eric Botcazou +- +- * gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace +- to update EH info here. +- +-2019-09-03 Iain Sandoe +- +- Backport from mainline +- 2019-05-18 Iain Sandoe +- +- * config/darwin-c.c (darwin_register_objc_includes): Do not +- prepend the sysroot when building gnu-runtime header search +- paths. +- +-2019-09-03 Iain Sandoe +- +- Backport from mainline +- 2019-05-18 Iain Sandoe +- +- * config/darwin.c (darwin_file_end): Use switch_to_section () +- instead of direct output of the asm. +- +-2019-09-03 Iain Sandoe +- +- Backport from mainline +- 2018-08-22 Iain Sandoe +- +- * config/darwin.h (LINK_COMMAND_SPEC_A): Update lto options +- to match gcc/gcc.c. +- +-2019-09-02 Richard Biener +- +- Backport from mainline +- 2019-03-14 Richard Biener +- +- PR tree-optimization/89710 +- * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use +- safe_dyn_cast. +- +- 2019-03-14 Richard Biener +- +- PR middle-end/89572 +- * tree-scalar-evolution.c (get_loop_exit_condition): Use +- safe_dyn_cast. +- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): +- Use gimple_location_safe. +- +- 2019-02-18 Richard Biener +- +- PR tree-optimization/89296 +- * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting +- of no-warning flag to cases that might emit the bogus warning. +- +- 2019-01-31 Richard Biener +- +- PR tree-optimization/89135 +- * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks +- with abnormal preds. +- +-2019-09-02 Richard Biener +- +- Backport from mainline +- 2019-07-19 Richard Biener +- +- PR tree-optimization/91200 +- * tree-ssa-phiopt.c (cond_store_replacement): Check we have +- no PHI nodes in middle-bb. +- +- 2019-07-15 Richard Biener +- +- PR middle-end/91162 +- * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI +- node make sure to replace all uses with something valid. +- +- 2019-07-11 Richard Biener +- +- PR middle-end/91131 +- * gimplify.c (gimplify_compound_literal_expr): Force a temporary +- when the object is volatile and we have not cleared it even though +- there are no nonzero elements. +- +- 2019-07-10 Richard Biener +- +- PR tree-optimization/91126 +- * tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust +- native encoding offset for BYTES_BIG_ENDIAN. +- (vn_reference_lookup_3): Likewise. +- +- 2019-07-10 Richard Biener +- +- PR tree-optimization/91126 +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Adjust +- native encoding offset for BYTES_BIG_ENDIAN. +- +- 2019-04-29 Richard Biener +- +- PR tree-optimization/90278 +- * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean +- EH on comparison simplification. +- +- 2019-04-11 Richard Biener +- +- PR tree-optimization/90020 +- * tree-ssa-sccvn.c (vn_reference_may_trap): New function. +- * tree-ssa-sccvn.h (vn_reference_may_trap): Declare. +- * tree-ssa-pre.c (compute_avail): Use it to not put +- possibly trapping references after a call that might not +- return into EXP_GEN. +- * gcse.c (compute_hash_table_work): Do not elide +- marking a block containing a call if the call might not +- return. +- +-2019-09-02 Bin Cheng +- +- Backport from mainline +- 2019-07-18 Bin Cheng +- +- PR tree-optimization/91137 +- * tree-ssa-loop-ivopts.c (struct ivopts_data): New field. +- (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize): +- Init, use and fini the above new field. +- (determine_base_object_1): New function. +- (determine_base_object): Reimplement using walk_tree. +- +-2019-08-30 Richard Biener +- +- Backport from mainline +- 2019-05-27 Richard Biener +- +- PR tree-optimization/90637 +- * tree-ssa-sink.c (statement_sink_location): Honor the +- computed sink location for single-uses. +- +- * gcc.dg/gomp/pr90637.c: New testcase. +- +- 2019-06-21 Richard Biener +- +- PR tree-optimization/90930 +- * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited +- flag on new stmts to avoid re-processing them. +- +- 2019-04-25 Richard Biener +- +- PR middle-end/90194 +- * match.pd: Add pattern to simplify view-conversion of an +- empty constructor. +- +- 2019-04-24 Richard Biener +- +- PR middle-end/90213 +- * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication +- by size and BITS_PER_UNIT on poly-wide-ints. +- +- 2019-04-15 Richard Biener +- +- PR tree-optimization/90071 +- * tree-ssa-reassoc.c (init_range_entry): Do not pick up +- abnormal operands from def stmts. +- +- 2019-03-13 Richard Biener +- +- PR middle-end/89677 +- * tree-scalar-evolution.c (simplify_peeled_chrec): Do not +- throw FP expressions at tree-affine. +- +-2019-08-30 Segher Boessenkool +- +- Backport from trunk +- 2019-08-22 Segher Boessenkool +- +- PR target/91481 +- * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, +- and UNSPEC_DARN_RAW. +- (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and +- UNSPECV_DARN_RAW. +- (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32. +- (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW. +- (darn): Use an unspec_volatile, and UNSPECV_DARN. +- +-2019-08-30 Segher Boessenkool +- +- Backport from trunk +- 2019-08-22 Segher Boessenkool +- +- * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, +- UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to... +- * config/rs6000/rs6000.md (unspec): ... here. +- * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb, +- *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, +- cmpeqb, *cmpeqb_internal): Delete, move to... +- * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb, +- *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, +- cmpeqb, *cmpeqb_internal): ... here. +- +-2019-08-30 Jakub Jelinek +- +- Backported from mainline +- 2019-07-30 Jakub Jelinek +- +- PR target/91150 +- * config/i386/i386.c (expand_vec_perm_blend): Change mask type +- from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast +- comparison to unsigned HOST_WIDE_INT before shifting it left. +- +- 2019-07-04 Jakub Jelinek +- +- PR middle-end/78884 +- * gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member. +- (gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd +- loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE. +- (gimplify_adjust_omp_clauses): Add safelen (1) clause if +- ctx->add_safelen1 is set. +- +- PR rtl-optimization/90756 +- * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it +- for VECTOR_TYPE_P. +- +- 2019-06-12 Jakub Jelinek +- +- PR c/90760 +- * symtab.c (symtab_node::set_section): Allow being called on aliases +- as long as they aren't analyzed yet. +- +- 2019-04-19 Jakub Jelinek +- +- PR middle-end/90139 +- * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return +- assign_temp instead of gen_reg_rtx. +- +- 2019-06-11 Jakub Jelinek +- +- PR target/90811 +- * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d +- instead of and.u%d. +- +- 2019-05-29 Jakub Jelinek +- +- PR fortran/90329 +- * lto-streamer.h (LTO_minor_version): Bump to 1. +- +- 2019-05-16 Jakub Jelinek +- +- PR fortran/90329 +- * tree-core.h (struct tree_decl_common): Document +- decl_nonshareable_flag for PARM_DECLs. +- * tree.h (DECL_HIDDEN_STRING_LENGTH): Define. +- * calls.c (expand_call): Don't try tail call if caller +- has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be +- passed on the stack and callee needs to pass any arguments on the +- stack. +- * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use +- else if instead of series of mutually exclusive ifs. Handle +- DECL_HIDDEN_STRING_LENGTH for PARM_DECLs. +- * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. +- +- 2019-04-24 Jakub Jelinek +- +- PR target/90187 +- * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into +- a register if both if_true and if_false are MEMs. +- +- PR tree-optimization/90208 +- * tree-cfg.c (remove_bb): Move forced labels from removed bbs +- after labels of new_bb, not before them. +- +- 2019-04-16 Jakub Jelinek +- +- PR rtl-optimization/90082 +- * dce.c (can_delete_call): New function. +- (deletable_insn_p, mark_insn): Use it. +- +- PR tree-optimization/90090 +- * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can +- throw internally. +- +- 2019-04-09 Jakub Jelinek +- +- PR tree-optimization/89998 +- * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type +- instead of integer_type_node if possible, don't add ranges if return +- type is not compatible with int. +- * gimple-fold.c (gimple_fold_builtin_sprintf, +- gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded +- integer_type_node. +- +- 2019-03-29 Jakub Jelinek +- +- PR c/89872 +- * gimplify.c (gimplify_compound_literal_expr): Don't optimize a +- non-addressable complit into its initializer if it is volatile. +- +- 2019-03-28 Jakub Jelinek +- +- PR middle-end/89621 +- * tree-inline.h (struct copy_body_data): Add +- dont_remap_vla_if_no_change flag. +- * tree-inline.c (remap_type_3, remap_type_2): New functions. +- (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change +- and remap_type_2 returns false. +- * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change. +- +- 2019-03-20 Jakub Jelinek +- +- PR target/89752 +- * lra-constraints.c (process_alt_operands) : For BLKmode, don't +- update this_alternative nor this_alternative_set. +- +- 2019-03-19 Jakub Jelinek +- +- PR rtl-optimization/89768 +- * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode +- instead of GEN_INT. +- (unroll_loop_runtime_iterations): Likewise. +- +- PR target/89752 +- * gimplify.c (gimplify_asm_expr): For output argument with +- TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise +- diagnose error. +- +- PR target/89726 +- * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil +- compensation use x2 +=3D 1 instead of x2 -=3D -1 and when honoring +- signed zeros, do another copysign after the compensation. +- +- 2019-03-15 Jakub Jelinek +- +- PR debug/89704 +- * dwarf2out.c (add_const_value_attribute): Return false for MINUS, +- SIGN_EXTEND and ZERO_EXTEND. +- +- 2019-03-14 Jakub Jelinek +- +- PR rtl-optimization/89679 +- * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it +- would contain a paradoxical SUBREG. +- +- PR tree-optimization/89703 +- * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types +- aren't compatible also with builtin_decl_explicit. Check pure +- or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} +- and BUILT_IN_STPNCPY{,_CHK}. +- +- 2019-03-13 Jakub Jelinek +- +- PR middle-end/88588 +- * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args. +- (ipa_simd_modify_function_body): Handle PHIs. +- +- 2019-03-12 Jakub Jelinek +- +- PR middle-end/89663 +- * builtins.c (expand_builtin_int_roundingfn, +- expand_builtin_int_roundingfn_2): Return NULL_RTX instead of +- gcc_unreachable if validate_arglist fails. +- +- 2019-03-09 Jakub Jelinek +- +- PR c/88568 +- * tree.c (handle_dll_attribute): Don't clear TREE_STATIC for +- dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT. +- +- 2019-03-05 Jakub Jelinek +- +- PR target/89587 +- * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only +- if_multiarch. +- +- PR middle-end/89590 +- * builtins.c (maybe_emit_free_warning): Punt if free doesn't have +- exactly one argument. +- +- 2019-02-28 Jakub Jelinek +- +- PR c/89520 +- * convert.c (convert_to_real_1, convert_to_integer_1): Punt for +- builtins if they don't have a single scalar floating point argument. +- Formatting fixes. +- +- 2019-02-20 Jakub Jelinek +- +- PR middle-end/89412 +- * expr.c (expand_assignment): If result is a MEM, use change_address +- instead of simplify_gen_subreg. +- +- 2019-02-20 Jakub Jelinek +- David Malcolm +- +- PR middle-end/89091 +- * fold-const.c (decode_field_reference): Return NULL_TREE if +- lang_hooks.types.type_for_size returns NULL. Check it before +- overwriting *exp_. Use return NULL_TREE instead of return 0. +- +- 2019-02-20 Jakub Jelinek +- +- PR middle-end/88074 +- PR middle-end/89415 +- * toplev.c (do_compile): Double the emin/emax exponents to workaround +- buggy mpc_norm. +- +- 2019-02-19 Richard Biener +- +- PR middle-end/88074 +- * toplev.c (do_compile): Initialize mpfr's exponent range +- based on available float modes. +- +- 2019-02-18 Jakub Jelinek +-=20 +- PR target/89361 +- * config/s390/s390.c (s390_indirect_branch_attrvalue, +- s390_indirect_branch_settings): Define unconditionally. +- (s390_set_current_function): Likewise, but guard the whole body except +- the s390_indirect_branch_settings call with +- #if S390_USE_TARGET_ATTRIBUTE. +- (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally. +- +- 2019-02-15 Richard Biener +- Jakub Jelinek +- +- PR tree-optimization/89278 +- * tree-loop-distribution.c: Include tree-eh.h. +- (generate_memset_builtin, generate_memcpy_builtin): Call +- rewrite_to_non_trapping_overflow on builtin->size before passing it +- to force_gimple_operand_gsi. +- +- 2019-02-15 Jakub Jelinek +- +- PR other/89342 +- * optc-save-gen.awk: Handle optimize_fast like optimize_size or +- optimize_debug. +- * opth-gen.awk: Likewise. +- +- 2019-02-14 Jakub Jelinek +- +- PR rtl-optimization/89354 +- * combine.c (make_extraction): Punt if extraction_mode is narrower +- than len bits. +- +- PR tree-optimization/89314 +- * fold-const.c (fold_binary_loc): Cast strlen argument to +- const char * before dereferencing it. Formatting fixes. +- +- 2019-02-13 Jakub Jelinek +- +- PR middle-end/89303 +- * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var +- into pt->vars_contains_escaped_heap instead of setting +- pt->vars_contains_escaped_heap to it. +- +- PR middle-end/89281 +- * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of +- INTVAL (size), compare it to GET_MODE_MASK instead of +- 1 << GET_MODE_BITSIZE. +- +- 2019-02-09 Jakub Jelinek +- +- PR middle-end/89246 +- * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): +- If !node->definition and TYPE_ARG_TYPES is non-NULL, use +- TYPE_ARG_TYPES instead of DECL_ARGUMENTS. +- +- 2019-01-16 David Malcolm +- +- PR target/88861 +- * combine.c (delete_noop_moves): Convert to "bool" return, +- returning true if any edges are eliminated. +- (combine_instructions): Also return true if delete_noop_moves +- returns true. +- +- 2019-02-08 Jakub Jelinek +- +- PR rtl-optimization/89234 +- * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn +- is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P. +- (copy_reg_eh_region_note_backward): Likewise. +- +- 2019-02-05 Jakub Jelinek +- +- PR target/89188 +- * dce.c (delete_unmarked_insns): Don't remove no-op moves if they +- can throw, non-call exceptions are enabled and we can't delete +- dead exceptions or alter cfg. Set must_clean if +- delete_insn_and_edges returns true, don't set it blindly for calls. +- +- PR rtl-optimization/89195 +- * combine.c (make_extraction): For MEMs, don't extract bytes outside +- of the original MEM. +- +- PR target/89186 +- * optabs.c (prepare_cmp_insn): Pass x and y to +- emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0). +- +- 2019-02-02 Jakub Jelinek +- +- PR middle-end/87887 +- * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): +- Punt with warning on aggregate return or argument types. Ignore +- type/mode checking for uniform arguments. +- +- 2019-02-01 Jakub Jelinek +- +- PR tree-optimization/88107 +- * tree-cfg.c (find_outermost_region_in_block): Add ALL argument, +- instead of assertion that eh_region_outermost is non-NULL, if it +- is NULL, set *ALL to true and return NULL. +- (move_sese_region_to_fn): Adjust caller, if all is set, call +- duplicate_eh_regions with NULL region. +- +- 2019-01-29 Jakub Jelinek +- +- PR c++/66676 +- PR ipa/89104 +- * omp-simd-clone.c (simd_clone_clauses_extract) +- : Ignore clauses with NULL +- OMP_CLAUSE_ALIGNED_ALIGNMENT. +- +- 2019-01-28 Jakub Jelinek +- +- PR middle-end/89002 +- * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ +- for lastprivate/linear IV, push gimplify context around gimplify_assign +- and, if it needed any temporaries, pop it into a gimple bind around the +- sequence. +- +- 2019-01-27 Jakub Jelinek +- +- PR target/87214 +- * config/i386/sse.md +- (avx512dq_shuf_64x2_1, +- avx512f_shuf_64x2_1): Ensure the +- first constants in pairs are multiples of 2. Formatting fixes. +- (avx512vl_shuf_32x4_1, +- avx512vl_shuf_32x4_1): Ensure the +- first constants in each quadruple are multiples of 4. Formatting fixes. +- +- 2019-01-22 Jakub Jelinek +- +- PR rtl-optimization/49429 +- PR target/49454 +- PR rtl-optimization/86334 +- PR target/88906 +- * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs +- addressable from here... +- (emit_block_op_via_libcall): ... to here. +- +- 2019-01-17 Jakub Jelinek +- +- PR rtl-optimization/88870 +- * dce.c (deletable_insn_p): Never delete const/pure calls that can +- throw if we can't alter the cfg or delete dead exceptions. +- (mark_insn): Don't call find_call_stack_args for such calls. +- +- 2019-01-10 Jakub Jelinek +- +- PR c/88568 +- * tree.c (handle_dll_attribute): Clear TREE_STATIC after setting +- DECL_EXTERNAL. +- +- 2019-01-05 Jakub Jelinek +- +- PR middle-end/82564 +- PR target/88620 +- * expr.c (expand_assignment): For calls returning VLA structures +- if to_rtx is not a MEM, force it into a stack temporary. +- +- 2019-01-04 Jakub Jelinek +- +- PR target/88594 +- * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead +- of GET_MODE (opN) as modes of the libcall arguments. +- +- 2019-01-03 Jakub Jelinek +- +- PR debug/88644 +- * dwarf2out.c (modified_type_die): If type is equal to sizetype, +- change it to qualified_type. +- +- 2018-12-21 Jakub Jelinek +- +- PR middle-end/85594 +- PR middle-end/88553 +- * omp-expand.c (extract_omp_for_update_vars): Regimplify the condition +- if needed. +- (expand_omp_for_generic): Don't clobber t temporary for ordered loops. +- +- PR rtl-optimization/88563 +- * expr.c (expand_expr_real_2) : Swap innermode +- and mode arguments to convert_modes. Likewise swap mode and word_mode +- arguments. Handle both arguments with VOIDmode before convert_modes +- of one of them. Formatting fixes. +- +- 2018-12-13 Jakub Jelinek +- +- PR rtl-optimization/88470 +- * cfgcleanup.c (outgoing_edges_match): If the function is +- shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake +- edge to EXIT, return false. +- +- PR rtl-optimization/88416 +- * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify +- even if !AUTO_INC_DEC. +- +- 2018-12-07 Jakub Jelinek +- +- PR target/85593 +- * final.c (rest_of_handle_final): Don't call collect_fn_hard_reg_usage +- for functions with naked attribute. +- +- 2018-11-20 Jakub Jelinek +- +- PR tree-optimization/87895 +- * omp-simd-clone.c (ipa_simd_modify_function_body): When removing +- or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT. +- (simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that +- redirects edges to EXIT to edges to incr_bb, iterate while EXIT +- has any preds and always use EDGE_PRED (, 0). +- +- 2018-10-20 Jakub Jelinek +- +- PR middle-end/87647 +- * varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR. +- +- 2018-10-19 Jakub Jelinek +- +- PR middle-end/85488 +- PR middle-end/87649 +- * omp-low.c (check_omp_nesting_restrictions): Diagnose ordered without +- depend closely nested inside of loop with ordered clause with +- a parameter. +- +-2019-08-25 Uro=C5=A1 Bizjak +- +- PR target/91533 +- Backport from mainline +- 2019-06-30 Uro=C5=A1 Bizjak +- +- * config/i386/sse.md (ssse3_abs2): Rename from abs2. +- * config/i386/i386-builtin.def (__builtin_ia32_pabsb): +- Use CODE_FOR_ssse3_absv8qi2. +- (__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2. +- (__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2. +- +-2019-08-21 Richard Biener +- +- PR tree-optimization/91510 +- Backport from mainline +- 2017-09-26 Martin Jambor +- +- * tree-sra.c (compare_access_positions): Put integral types first, +- stabilize sorting of integral types, remove conditions putting +- non-full-precision integers last. +- (sort_and_splice_var_accesses): Disable scalarization if a +- non-integert would be represented by a non-full-precision integer. +- +-2019-08-20 Eric Botcazou +- +- PR rtl-optimization/91347 +- * dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls +- before reload if HARD_FRAME_POINTER_IS_ARG_POINTER. +- +-2019-07-22 Martin Liska +- +- Backport from mainline +- 2019-07-22 Martin Liska +- +- PR driver/91172 +- * opts-common.c (decode_cmdline_option): Decode +- argument of -Werror and check it for a wrong language. +- * opts-global.c (complain_wrong_lang): Remove such case. +- +-2019-07-16 Wilco Dijkstra +- +- Backport from mainline +- 2019-03-05 Wilco Dijkstra +- +- PR target/89222 +- * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem +- to decide when to split off a non-zero offset from a symbol. +- * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets +- in function symbols. +- +-2019-07-15 Andreas Krebbel +- +- Backport from mainline +- 2019-07-01 Andreas Krebbel +- +- * config/s390/vector.md: Fix shift count operand printing. +- +-2019-07-12 Eric Botcazou +- +- PR rtl-optimization/91136 +- * df-core.c (ACCESSING REFS): Fix typos in comment. +- * resource.c (mark_target_live_reg): Add artificial defs that occur at +- the beginning of the block to the initial set of live registers. +- +-2019-06-28 Jeff Law +- +- Backport from mainline +- 2019-06-21 Jeff Law +- +- PR tree-optimization/90949 +- * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info. +- * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state. +- +-2019-06-27 Martin Jambor +- +- Backport from mainline +- 2019-06-25 Martin Jambor +- +- PR ipa/90939 +- * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert. +- +-2019-06-16 John David Anglin +- +- PR middle-end/64242 +- * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add +- frame clobbers and schedule block. +- (builtin_longjmp): Likewise. +- +-2019-05-24 John David Anglin +- +- PR target/90530 +- * config/pa/pa.c (pa_cannot_change_mode_class): Accept mode changes +- from DImode to SImode in floating-point registers on 64-bit target. +- * config/pa/pa.md (umulsidi3): Change nonimmediate_operand to +- register_operand in xmpyu patterns. +- +-2019-05-23 Uro=C5=A1 Bizjak +- +- Backported from mainline +- 2019-05-21 Uro=C5=A1 Bizjak +- +- * config/i386/cpuid.h (__cpuid): For 32bit targets, zero +- %ebx and %ecx bafore calling cpuid with leaf 1 or +- non-constant leaf argument. +- +- 2019-05-21 Uro=C5=A1 Bizjak +- +- PR target/90547 +- * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): +- Avoid calling gen_lowpart with CONST operand. +- +-2019-05-20 Kelvin Nilsen +- +- Backport from mainline. +- 2019-05-07 Kelvin Nilsen +- +- PR target/89765 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): +- In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic +- to compute vector element selector for both constant and variable +- operands. +- +-2019-01-03 Iain Sandoe +- +- PR target/86215 +- Backport from mainline +- 2017-09-25 Iain Sandoe +- +- PR target/80556 +- * config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead +- of libgcc_eh for m64. +- * config/i386/darwin64.h: Likewise. +- +-2019-05-15 David Edelsohn +- +- Backport from mainline +- 2019-04-11 David Edelsohn +- * xcoffout.h (xcoff_private_rodata_section_name): Declare. +- * xcoffout.c (xcoff_private_rodata_section_name): Define. +- * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create +- read_only_private_data_section using coff_private_rodata_section_name. +- (rs6000_xcoff_file_start): Generate coff_private_rodata_section_name. +- +- 2018-12-04 David Edelsohn +- 2018-12-13 David Edelsohn +- PR target/61976 +- * config/rs6000/rs6000.c (rs6000_function_arg): Don't pass aggregates +- in FPRs on AIX. Ensure type is non-NULL. +- (rs6000_arg_partial_bytes): Same. +- +-2019-05-15 Sebastian Huber +- +- * config/arm/t-rtems: Replace -march=3Darmv7-m multilibs with +- -mcpu=3Dcortex-m3 and -mcpu=3Dcortex-m4 multilibs. +- +-2019-05-13 Kelvin Nilsen +- +- Backport from mainline. +- 2019-05-06 Kelvin Nilsen +- +- PR target/89424 +- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add +- handling of V1TImode. +- +-2019-05-07 Richard Sandiford +- +- Backport from mainline: +- 2019-01-25 Richard Sandiford +- +- PR middle-end/89037 +- * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi +- instead of accessing TREE_INT_CST_ELT directly. +- +-2019-05-01 Ramana Radhakrishnan +- +- Backport from mainline. +- 2019-04-30 Ramana Radhakrishnan +- PR target/86538 +- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): +- Define __ARM_FEATURE_ATOMICS +- +-2019-04-30 Srinath Parvathaneni +- +- PR target/90075 +- * config/aarch64/iterators.md (V_INT_EQUIV): Add mode for +- integer equivalent of floating point values. +- +- Backport from mainline +- 2018-12-11 Richard Earnshaw +- PR target/37369 +- * config/aarch64/iterators.md (sizem1): Add sizes for +- SFmode and DFmode. +- (Vbtype): Add SFmode mapping. +- * config/aarch64/aarch64.md (copysigndf3, copysignsf3): Delete. +- (copysign3): New expand pattern. +- (copysign3_insn): New insn pattern. +- +-2019-04-22 Kelvin Nilsen +- +- Backport from mainline +- 2019-03-15 Kelvin Nilsen +- +- PR target/87532 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): +- When handling vec_extract, use modular arithmetic to allow +- constant selectors greater than vector length. +- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow +- V1TImode vectors to have constant selector values greater than 0. +- Use modular arithmetic to compute vector index. +- (rs6000_split_vec_extract_var): Use modular arithmetic to compute +- index for in-memory vectors. Correct code generation for +- in-register vectors. Use inner mode of vector rather than mode of +- destination for move instruction. +- (altivec_expand_vec_ext_builtin): Use modular arithmetic to +- compute index. +- +- 2019-04-12 Kelvin Nilsen +- +- PR target/87532 +- * config/rs6000/vsx.md (*vsx_extract__mode_var): +- Use QI inner mode with V16QI vector mode. +- +-2019-04-19 Xiong Hu Luo +- +- Backport from trunk +- 2018-05-23 Segher Boessenkool +- +- * doc/sourcebuild.texi (Endianness): New subsubsection. +- +-2019-04-11 Martin Liska +- +- Backport from mainline +- 2019-03-08 Martin Liska +- +- PR target/86952 +- * config/i386/i386.c (ix86_option_override_internal): Disable +- jump tables when retpolines are used. +- +-2019-04-10 Matthew Malcomson +- +- PR target/90024 +- * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter. +- * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint +- into three. +- * config/arm/neon.md (*neon_mov): Account for TImode and DImode +- differences directly. +- (*smax3_neon, vashl3, vashr3_imm): Use Dm constraint. +- +-2019-04-07 Uro=C5=A1 Bizjak +- +- PR target/89945 +- * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): +- Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand. +- +-2019-04-06 Eric Botcazou +- +- Backport from mainline +- 2019-02-19 Eric Botcazou +- +- * rtlanal.c (get_initial_register_offset): Fall back to the estimate +- as long as the epilogue isn't completed. +- +-2019-04-03 Richard Biener +- +- PR lto/89896 +- * lto-wrapper.c (run_gcc): Avoid implicit rules making +- the all target phony. +- +-2019-04-02 Xiong Hu Luo +- +- Backport from trunk r250477. +- +- 2017-07-24 Carl Love +- +- * config/rs6000/rs6000-c.c: Add support for built-in functions +- vector float vec_extract_fp32_from_shorth (vector unsigned short); +- vector float vec_extract_fp32_from_shortl (vector unsigned short); +- * config/rs6000/altivec.h (vec_extract_fp_from_shorth, +- vec_extract_fp_from_shortl): Add defines for the two builtins. +- * config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH, +- VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1 +- new builtins. +- * config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn. +- (vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands. +- * doc/extend.texi: Update the built-in documentation file for the +- new built-in function. +- +- Backport from trunk r255555. +- +- 2017-12-11 Carl Love +- +- * config/rs6000/altivec.h (vec_extract_fp32_from_shorth, +- vec_extract_fp32_from_shortl]): Add #defines. +- * config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion. +- * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH, +- ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND, +- ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL, +- ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD, +- ALTIVEC_BUILTIN_VEC_SLL): Add expansions. +- * doc/extend.texi: Add documentation for the added builtins. +- +-2019-03-28 Martin Liska +- +- Backport from mainline +- 2018-11-05 Martin Liska +- +- PR web/87829 +- * doc/invoke.texi: Remove options that are +- not disabled with -Os. +- +-2019-02-26 Richard Biener +- +- Backport from mainline +- 2019-02-12 Richard Biener +- +- PR tree-optimization/89253 +- * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can +- duplicate the loop. +- +- 2019-02-08 Richard Biener +- +- PR middle-end/89223 +- * tree-data-ref.c (initialize_matrix_A): Fail if constant +- doesn't fit in HWI. +- (analyze_subscript_affine_affine): Handle failure from +- initialize_matrix_A. +- +- 2019-01-28 Richard Biener +- +- PR tree-optimization/88739 +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating +- BIT_FIELD_REFs of non-mode-precision integral operands. +- +-2019-03-26 Richard Biener +- +- Backport from mainline +- 2019-01-08 Richard Biener +- +- PR tree-optimization/86554 +- * tree-ssa-sccvn.c (visit_nary_op): When value-numbering to +- expressions with different overflow behavior make sure there's an +- available expression on the path. +- +- 2018-11-20 Richard Biener +-=20 +- PR tree-optimization/88105 +- * tree-ssa-dom.c (pass_dominator::execute): Do not walk +- backedges. +- +- 2018-03-08 Richard Biener +- +- PR middle-end/84552 +- * tree-scalar-evolution.c: Include tree-into-ssa.h. +- (follow_copies_to_constant): Do not follow SSA names registered +- for update. +- +-2019-03-21 Bill Schmidt +- +- * config/rs6000/rs6000.c (rs6000_analyze_swaps): Rebuild +- ud- and du-chains between phases. +- +-2019-03-21 Matthias Klose +- +- Backport from mainline +- 2019-02-26 Richard Biener +- +- PR tree-optimization/89505 +- * tree-ssa-structalias.c (compute_dependence_clique): Make sure +- to handle restrict pointed-to vars with multiple subvars +- correctly. +- +-2019-03-17 H.J. Lu +- +- Backport from mainline +- 2019-03-14 H.J. Lu +- +- PR target/89523 +- * config/i386/i386.c (ix86_print_operand): Handle 'M' to add +- addr32 prefix to VSIB address for X32. +- * config/i386/sse.md (*avx512pf_gatherpfsf_mask): Prepend +- "%M2" to opcode. +- (*avx512pf_gatherpfdf_mask): Likewise. +- (*avx512pf_scatterpfsf_mask): Likewise. +- (*avx512pf_scatterpfdf_mask): Likewise. +- (*avx2_gathersi): Prepend "%M3" to opcode. +- (*avx2_gathersi_2): Prepend "%M2" to opcode. +- (*avx2_gatherdi): Prepend "%M3" to opcode. +- (*avx2_gatherdi_2): Prepend "%M2" to opcode. +- (*avx2_gatherdi_3): Prepend "%M3" to opcode. +- (*avx2_gatherdi_4): Prepend "%M2" to opcode.` +- (*avx512f_gathersi): Prepend "%M4" to opcode. +- (*avx512f_gathersi_2): Prepend "%M3" to opcode. +- (*avx512f_gatherdi): Prepend "%M4" to opcode. +- (*avx512f_gatherdi_2): Prepend "%M3" to opcode. +- (*avx512f_scattersi): Prepend "%M0" to opcode. +- (*avx512f_scatterdi): Likewise. +- +-2019-03-14 Martin Jambor +- +- Backport from mainline +- 2019-03-07 Martin Jambor +- +- PR lto/87525 +- * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit +- for extern inline functions. +- +-2019-03-14 Richard Biener +- +- Backport from mainline +- 2018-02-16 Jakub Jelinek +-=20 +- PR target/84272 +- * config/aarch64/cortex-a57-fma-steering.c (fma_forest::merge_forest): +- Use ++iter rather than iter++ for std::list iterators. +- (func_fma_steering::dfs): Likewise. Don't delete nodes right away, +- defer deleting them until all nodes in the forest are processed. Do +- free even leaf nodes. Change to_process into auto_vec. +- +-2019-03-13 Andre Vieira +- +- Backport from mainline +- 2019-03-08 Andre Vieira +- +- * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE +- requirement. +- +-2019-03-11 Martin Liska +- +- Backport from mainline +- 2019-02-11 David Malcolm +- +- PR lto/88147 +- * input.c (selftest::test_line_offset_overflow): New selftest. +- (selftest::input_c_tests): Call it. +- +-2019-03-07 Xiong Hu Luo +- +- Backport of r268834 from mainline to gcc-7-branch. +- 2019-02-13 Xiong Hu Luo +- +- * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be, +- vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines. +- * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator. +- (crypto_vsbox_, crypto__): New define_insns. +- * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1. +- (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE): +- New BU_CRYPTO_2. +- * config/rs6000/rs6000.c (builtin_function_type) +- : New switch options. +- * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be, +- vec_ncipher_be, vec_ncipherlast_be): New builtin functions. +- +-2019-02-27 Uro=C5=A1 Bizjak +- +- PR target/89397 +- * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check +- TARGET_SSE in addition to TARGET_SSE_MATH. +- +- (ix86_excess_precision): Ditto. +- (ix86_float_exceptions_rounding_supported_p): Ditto. +- (use_rsqrt_p): Ditto. +- * config/i386/sse.md (rsqrt2): Ditto. +- +-2019-02-15 Martin Liska +- +- Backport from mainline +- 2019-02-14 Martin Liska +- +- PR rtl-optimization/89242 +- * dce.c (delete_unmarked_insns): Call free_dominance_info we +- process a transformation. +- +-2019-02-15 Martin Liska +- +- Backport from mainline +- 2019-02-11 Martin Liska +- +- PR ipa/89009 +- * ipa-cp.c (build_toporder_info): Remove usage of a param. +- * ipa-inline.c (inline_small_functions): Likewise. +- * ipa-pure-const.c (propagate_pure_const): Likewise. +- (propagate_nothrow): Likewise. +- * ipa-reference.c (propagate): Likewise. +- * ipa-utils.c (struct searchc_env): Remove unused field. +- (searchc): Always search across AVAIL_INTERPOSABLE. +- (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as +- the only called IPA pure const can properly not propagate +- across interposable boundary. +- * ipa-utils.h (ipa_reduced_postorder): Remove param. +- +-2019-02-11 Stefan Agner +- +- Backport from mainline. +- 2019-01-10 Stefan Agner +- +- PR target/88648 +- * config/arm/arm.c (arm_option_override_internal): Force +- opts->x_inline_asm_unified to true only if TARGET_THUMB2_P. +- +-2019-02-09 Alan Modra +- +- PR target/88343 +- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Match +- logic in rs6000_emit_prologue emitting pic_offset_table setup. +- +-2019-02-08 Eric Botcazou +- +- Backport from mainline +- 2018-06-11 Segher Boessenkool +- +- PR target/85755 +- * config/rs6000/rs6000.md (*movdi_internal32): Put constraint modifiers +- on the correct operand. +- (*movdi_internal64): Ditto. +- +-2019-02-06 Kelvin Nilsen +- +- Backport from mainline. +- 2019-01-30 Kelvin Nilsen +- * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin): +- Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to +- type of vector element when vec_extract is implemented by direct +- move. +- +-2019-02-06 Eric Botcazou +- +- * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage +- after restoring registers saved to allocate the frame on Windows. +- +-2019-02-05 Andreas Krebbel +- +- Backport from mainline +- 2019-02-05 Andreas Krebbel +- +- PR target/88856 +- * config/s390/s390.md: Remove load and test FP splitter. +- +-2019-02-04 Bill Schmidt +- +- PR target/87064 +- Backport from mainline +- +- 2019-01-30 Bill Schmidt +- +- PR target/87064 +- * config/rs6000/vsx.md (*vsx_reduc__v4sf_scalar): +- Disable for little-endian. +- +- 2019-01-22 Jakub Jelinek +- +- PR target/87064 +- * config/rs6000/vsx.md (*vsx_reduc__v2df_scalar): +- Disable for little endian. +- +-2018-01-31 Bill Schmidt +- +- Backport from mainline +- 2018-01-31 Bill Schmidt +- +- PR tree-optimization/89008 +- * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't +- process anything of the form X * 0. +- +-2019-01-31 Richard Biener +- +- Backport from mainline +- 2019-01-31 Richard Biener +- +- PR rtl-optimization/89115 +- * lra.c (lra_rtx_hash): Properly hash CONST_INT values. +- +- 2019-01-30 Richard Biener +- +- PR rtl-optimization/89115 +- * opts.c (default_options_optimization): Reduce +- PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1. +- Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative +- to the default. +- +-2019-01-30 Kewen Lin +- +- Backport from mainline. +- 2019-01-17 Kewen Lin +- +- * doc/extend.texi: Add four new prototypes for vec_ld and seven new +- prototypes for vec_st. +- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries +- for scalar address type variants of altivec_vec_ld/altivec_vec_st, +- mainly on signed/unsigned long long and double. +- +-2019-01-27 Uro=C5=A1 Bizjak +- +- PR target/88948 +- * rtl.h (prepare_copy_insn): New prototype. +- * gcse.c (prepare_copy_insn): New function, split out from +- process_insert_insn. +- (process_insert_insn): Use prepare_copy_insn. +- * store-motion.c (replace_store_insn): Use prepare_copy_insn +- instead of gen_move_insn. +- +-2019-01-24 Uro=C5=A1 Bizjak +- +- PR target/88998 +- * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives. +- Disparage MMX alternative. +- (sse2_cvtpd2pi): Ditto. +- (sse2_cvttpd2pi): Ditto. +- +-2019-01-24 Richard Biener +- +- Backport from mainline +- 2019-01-23 Richard Biener +- +- PR tree-optimization/89008 +- * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do +- not leave another stray operand. +- +-2019-01-22 Uro=C5=A1 Bizjak +- +- PR target/88938 +- * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32, +- case IX86_BUILTIN_BEXTRI64]: Sanitize operands. +- +-2019-01-18 Uro=C5=A1 Bizjak +- +- * config/alpha/alpha.c (alpha_gimplify_va_arg): +- Handle split indirect COMPLEX_TYPE arguments. +- +-2019-01-16 Martin Jambor +- +- Backported from mainline +- 2018-12-10 Martin Jambor +- +- PR ipa/88214 +- * ipa-prop.c (determine_locally_known_aggregate_parts): Make sure +- we check pointers against pointers. +- +-2019-01-09 Eric Botcazou +- James Clarke +- +- PR target/84010 +- * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode +- consistently in TLS address generation and adjust code to the renaming +- of patterns. Mark calls to __tls_get_addr as const. +- * config/sparc/sparc.md (tgd_hi22): Turn into... +- (tgd_hi22): ...this and use Pmode throughout. +- (tgd_lo10): Turn into... +- (tgd_lo10): ...this and use Pmode throughout. +- (tgd_add32): Merge into... +- (tgd_add64): Likewise. +- (tgd_add): ...this and use Pmode throughout. +- (tldm_hi22): Turn into... +- (tldm_hi22): ...this and use Pmode throughout. +- (tldm_lo10): Turn into... +- (tldm_lo10): ...this and use Pmode throughout. +- (tldm_add32): Merge into... +- (tldm_add64): Likewise. +- (tldm_add): ...this and use Pmode throughout. +- (tldm_call32): Merge into... +- (tldm_call64): Likewise. +- (tldm_call): ...this and use Pmode throughout. +- (tldo_hix22): Turn into... +- (tldo_hix22): ...this and use Pmode throughout. +- (tldo_lox10): Turn into... +- (tldo_lox10): ...this and use Pmode throughout. +- (tldo_add32): Merge into... +- (tldo_add64): Likewise. +- (tldo_add): ...this and use Pmode throughout. +- (tie_hi22): Turn into... +- (tie_hi22): ...this and use Pmode throughout. +- (tie_lo10): Turn into... +- (tie_lo10): ...this and use Pmode throughout. +- (tie_ld64): Use DImode throughout. +- (tie_add32): Merge into... +- (tie_add64): Likewise. +- (tie_add): ...this and use Pmode throughout. +- (tle_hix22_sp32): Merge into... +- (tle_hix22_sp64): Likewise. +- (tle_hix22): ...this and use Pmode throughout. +- (tle_lox22_sp32): Merge into... +- (tle_lox22_sp64): Likewise. +- (tle_lox22): ...this and use Pmode throughout. +- (*tldo_ldub_sp32): Merge into... +- (*tldo_ldub_sp64): Likewise. +- (*tldo_ldub): ...this and use Pmode throughout. +- (*tldo_ldub1_sp32): Merge into... +- (*tldo_ldub1_sp64): Likewise. +- (*tldo_ldub1): ...this and use Pmode throughout. +- (*tldo_ldub2_sp32): Merge into... +- (*tldo_ldub2_sp64): Likewise. +- (*tldo_ldub2): ...this and use Pmode throughout. +- (*tldo_ldsb1_sp32): Merge into... +- (*tldo_ldsb1_sp64): Likewise. +- (*tldo_ldsb1): ...this and use Pmode throughout. +- (*tldo_ldsb2_sp32): Merge into... +- (*tldo_ldsb2_sp64): Likewise. +- (*tldo_ldsb2): ...this and use Pmode throughout. +- (*tldo_ldub3_sp64): Use DImode throughout. +- (*tldo_ldsb3_sp64): Likewise. +- (*tldo_lduh_sp32): Merge into... +- (*tldo_lduh_sp64): Likewise. +- (*tldo_lduh): ...this and use Pmode throughout. +- (*tldo_lduh1_sp32): Merge into... +- (*tldo_lduh1_sp64): Likewise. +- (*tldo_lduh1): ...this and use Pmode throughout. +- (*tldo_ldsh1_sp32): Merge into... +- (*tldo_ldsh1_sp64): Likewise. +- (*tldo_ldsh1): ...this and use Pmode throughout. +- (*tldo_lduh2_sp64): Use DImode throughout. +- (*tldo_ldsh2_sp64): Likewise. +- (*tldo_lduw_sp32): Merge into... +- (*tldo_lduw_sp64): Likewise. +- (*tldo_lduw): ...this and use Pmode throughout. +- (*tldo_lduw1_sp64): Use DImode throughout. +- (*tldo_ldsw1_sp64): Likewise. +- (*tldo_ldx_sp64): Likewise. +- (*tldo_stb_sp32): Merge into... +- (*tldo_stb_sp64): Likewise. +- (*tldo_stb): ...this and use Pmode throughout. +- (*tldo_sth_sp32): Merge into... +- (*tldo_sth_sp64): Likewise. +- (*tldo_sth): ...this and use Pmode throughout. +- (*tldo_stw_sp32): Merge into... +- (*tldo_stw_sp64): Likewise. +- (*tldo_stw): ...this and use Pmode throughout. +- (*tldo_stx_sp64): Use DImode throughout. +- +-2019-01-09 Eric Botcazou +- +- * doc/invoke.texi (-Os): Add reference to -finline-functions. +- (-finline-small-functions): Add references to -O3 and -Os. +- (-findirect-inlining): Likewise. +- (-finline-functions): Add references to -Os, -fprofile-use and +- -fauto-profile. +- +-2019-01-03 Iain Sandoe +- +- revert: +- 2018-12-30 Iain Sandoe +- +- backport from mainline. +- 2018-12-12 Segher Boessenkool +- Iain Sandoe +- +- PR target/88343 +- * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg +- unless it has been used. +- (first_reg_to_save): Remove dead code. +- +-2019-01-02 Segher Boessenkool +- +- Backport from trunk +- 2018-12-06 Segher Boessenkool +- +- PR inline-asm/55681 +- * doc/extend.texi (Basic Asm): Update grammar. +- (Extended Asm): Update grammar. +- +- Backport from trunk +- 2018-12-06 Segher Boessenkool +- +- * doc/extend.texi (Using Assembly Language with C): Document asm inline. +- (Size of an asm): Fix typo. Document asm inline. +- * gimple-pretty-print.c (dump_gimple_asm): Handle asm inline. +- * gimple.h (enum gf_mask): Add GF_ASM_INLINE. +- (gimple_asm_set_volatile): Fix typo. +- (gimple_asm_inline_p): New. +- (gimple_asm_set_inline): New. +- * gimplify.c (gimplify_asm_expr): Propagate the asm inline flag from +- tree to gimple. +- * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Compare the +- gimple_asm_inline_p flag, too. +- * tree-core.h (tree_base): Document that protected_flag is ASM_INLINE_P +- in an ASM_EXPR. +- * tree-inline.c (estimate_num_insns): If gimple_asm_inline_p return +- a minimum size for an asm. +- * tree.h (ASM_INLINE_P): New. +- +-2018-12-30 Iain Sandoe +- +- backport from mainline. +- 2018-12-12 Segher Boessenkool +- Iain Sandoe +- +- PR target/88343 +- * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg +- unless it has been used. +- (first_reg_to_save): Remove dead code. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-12-06 Iain Sandoe +- +- PR c++/87380 +- * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the +- default. +- * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-12-06 Iain Sandoe +- +- PR target/78444 +- * config/i386/darwin.h (STACK_BOUNDARY): Remove macro. +- * config/i386/i386.c (ix86_compute_frame_layout): Ensure at least 128b +- stack alignment in non-leaf functions. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-08-15 Iain Sandoe +- +- PR target/81685 +- * config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION, +- DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION, +- DEBUG_PUBTYPES_SECTION) update to include GNU variant. +- +-2018-12-21 Uros Bizjak +- +- Backport from mainline +- 2018-12-10 Uros Bizjak +- +- PR target/88418 +- * config/i386/i386.c (ix86_expand_sse_cmp): For vector modes, +- check operand 1 with vector_operand predicate. +- (ix86_expand_sse_movcc): For vector modes, check op_true with +- vector_operand, not nonimmediate_operand. +- +-2018-12-19 Bill Schmidt +- +- Backport from mainline +- 2018-12-18 Bill Schmidt +- +- * doc/extend.texi (PowerPC Altivec/VSX Built-in Functions): +- Describe when a typedef name can be used as the type specifier for +- a vector type, and when it cannot. +- +-2018-12-19 Segher Boessenkool +- +- Backport from trunk +- 2018-12-19 Segher Boessenkool +- +- PR target/88213 +- * config/rs6000/vsx.md (*vsx_extract___load): +- Require TARGET_POWERPC64. +- +-2018-12-17 Senthil Kumar Selvaraj +- +- Backport from trunk +- 2018-12-17 Senthil Kumar Selvaraj +- +- PR rtl-optimization/88253 +- * combine.c (combine_simplify_rtx): Test for side-effects before +- substituting by zero. +- +-2018-12-15 Segher Boessenkool +- +- Backport from trunk +- 2018-12-14 Segher Boessenkool +- +- PR rtl-optimization/88001 +- * function.c (match_asm_constraints_1): Don't invalidly share RTL. +- +-2018-12-13 Andreas Krebbel +- +- Backport from mainline +- 2018-12-13 Andreas Krebbel +- +- * config/s390/s390-builtins.def (s390_vec_double_s64): Map to +- s390_vec_double_s64 instead of s390_vcdgb. +- (s390_vec_double_u64): Map to s390_vec_double_u64 instead of +- s390_vcdlgb. +- +-2018-12-13 Andreas Krebbel +- +- Backport from mainline +- 2018-12-13 Andreas Krebbel +- +- * config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64") +- ("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT. +- ("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT. +- +-2018-12-12 Peter Bergner +- +- Backport from mainline +- 2018-12-07 Peter Bergner +- +- PR target/87496 +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow +- -mabi=3Dieeelongdouble and -mabi=3Dibmlongdouble without -mlong-double-1= 28. +- Do not error for -mabi=3Dibmlongdouble and no ISA 2.06 support. +- * doc/invoke.texi: Document -mabi=3Dibmlongdouble and -mabi=3Dieeelongdo= uble +- require -mlong-double-128. +- +-2018-12-06 Richard Biener +- +- * BASE-VER: Increment to 7.4.1. +- +-2018-12-06 Release Manager +- +- * GCC 7.4.0 released. +- +-2018-11-28 Richard Biener +- +- PR tree-optimization/79351 +- * tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from +- empty CONSTRUCTORs ensure the store is at a constant position. +- +-2018-11-26 Iain Sandoe +- +- Backport from mainline +- 2018-08-22 Iain Sandoe +- +- PR bootstrap/81033 +- PR target/81733 +- PR target/52795 +- * gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New. +- (dwarf2out_switch_text_section): Generate a local label for the second +- function sub-section and apply it as the second FDE start label. +- * gcc/final.c (final_scan_insn_1): Emit second FDE label after the +- second sub-section start. +- +-2018-11-26 Iain Sandoe +- +- 2018-08-15 Iain Sandoe +- +- * config/darwin.c +- (darwin_function_switched_text_sections): Delete. +- * gcc/config/darwin.h +- (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise. +- +-2018-11-26 Andreas Krebbel +- +- Backport from mainline +- 2018-11-20 Andreas Krebbel +- +- * config/s390/s390.md ("clztidi2"): Swap the RTX's written to the +- DImode parts of the target operand. +- +-2018-11-26 Andreas Krebbel +- +- Backport from mainline +- 2018-11-26 Andreas Krebbel +- +- * doc/invoke.texi: Document z14/arch12 -march option. +- +-2018-10-19 Richard Biener +- +- PR middle-end/87645 +- Backport from mainline +- 2018-07-12 Richard Biener +- +- * gimple-match-head.c (gimple_resimplify1): Apply recursion +- limit. +- (gimple_resimplify2): Likewise. +- (gimple_resimplify3): Likewise. +- (gimple_resimplify4): Likewise. +- +-2018-11-26 Richard Biener +- +- Backport from mainline +- 2018-10-15 Richard Biener +- +- PR middle-end/87610 +- * tree-ssa-structalias.c (struct vls_data): Add escaped_p member. +- (visit_loadstore): When a used restrict tag escaped verify that +- the points-to solution of "other" pointers do not include +- escaped. +- (compute_dependence_clique): If a used restrict tag escaped +- communicated that down to visit_loadstore. +- +- 2018-10-25 Richard Biener +- +- PR tree-optimization/87665 +- PR tree-optimization/87745 +- * tree-vectorizer.h (get_earlier_stmt): Remove. +- (get_later_stmt): Pick up UID from the original non-pattern stmt. +- +- 2018-10-24 Richard Biener +- +- PR tree-optimization/87665 +- * tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust +- to reflect reality. +- +-2018-11-26 Richard Biener +- +- Backport from mainline +- 2018-06-14 Richard Biener +- +- PR middle-end/86139 +- * tree-vect-generic.c (build_word_mode_vector_type): Remove +- duplicate and harmful type_hash_canon. +- +- 2018-06-15 Richard Biener +- +- PR middle-end/86076 +- * tree-cfg.c (move_stmt_op): unshare invariant addresses +- before adjusting their block. +- +-2018-11-22 Uros Bizjak +- +- Backport from mainline +- 2018-11-16 Uros Bizjak +- +- PR target/88051 +- * config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC. +- (movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec. +- +-2018-11-22 Tom de Vries +- +- backport from trunk: +- 2017-11-19 Tom de Vries +- +- PR target/82961 +- * vmsdbgout.c (vmsdbgout_early_finish): New function. +- (vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish. +- +-2018-11-21 Mihail Ionescu +- +- PR target/87867 +- Backport from mainiline +- 2018-09-26 Eric Botcazou +- +- * config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks. +- (arm32_output_mi_thunk): Deal with long calls. +- +-2018-11-20 Richard Biener +- +- Backport from mainline +- 2018-03-12 Richard Biener +- +- PR tree-optimization/84777 +- * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For +- force-vectorize loops ignore whether we are optimizing for size. +- +- 2018-01-26 Richard Biener +- +- PR rtl-optimization/84003 +- * dse.c (record_store): Only record redundant stores when +- the earlier store aliases at least all accesses the later one does. +- +-2018-11-20 Xuepeng Guo +- +- Backport from mainline +- 2018-11-05 Xuepeng Guo +- +- PR target/87853 +- * config/i386/emmintrin.h (__v16qs): New to cope with option +- -funsigned-char. +- (_mm_cmpeq_epi8): Replace __v16qi with __v16qs. +- (_mm_cmplt_epi8): Likewise. +- (_mm_cmpgt_epi8): Likewise. +- +-2018-11-20 Eric Botcazou +- +- PR rtl-optimization/85925 +- * rtl.h (word_register_operation_p): New predicate. +- * combine.c (record_dead_and_set_regs_1): Only apply specific handling +- for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX. +- * rtlanal.c (nonzero_bits1): Likewise. Adjust couple of comments. +- (num_sign_bit_copies1): Likewise. +- +-2018-11-18 Uros Bizjak +- +- Backport from mainline +- 2018-11-11 Uros Bizjak +- +- PR target/87928 +- * config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI +- instead of (TARGET_64BIT && ix86_abi =3D=3D MS_ABI). +- * config/i386/darwin.h (STACK_BOUNDARY): Ditto. +- * config/i386/cygming.h (STACK_BOUNDARY): Remove. +- +-2018-11-15 Nathan Sidwell +- +- PR debug/88006 +- PR debug/87462 +- * dwarf2out.c (dwarf2out_finish): Apply resolve_addr to comdat +- type list. +- +-2018-11-11 Uros Bizjak +- +- Backport from mainline +- 2018-11-04 Uros Bizjak +- +- PR middle-end/58372 +- * cfgexpand.c (pass_expand::execute): Move the call to +- finish_eh_generation in front of the call to expand_stack_alignment. +- +-2018-11-07 Max Filippov +- +- Backport from mainline +- 2018-11-05 Max Filippov +- +- * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. +- +-2018-10-26 Bill Schmidt +- +- Backport from mainline +- 2018-10-19 Bill Schmidt +- +- PR tree-optimization/87473 +- * gimple-ssa-strength-reduction.c (record_phi_increments): For +- phi arguments identical to the base expression of the phi +- candidate, record a phi-adjust increment of zero minus the index +- expression of the hidden basis. +- (phi_incr_cost): For phi arguments identical to the base +- expression of the phi candidate, the difference to compare against +- the increment is zero minus the index expression of the hidden +- basis, and there is no potential savings from replacing the (phi) +- statement. +- (ncd_with_phi): For phi arguments identical to the base expression +- of the phi candidate, the difference to compare against the +- increment is zero minus the index expression of the hidden basis. +- (all_phi_incrs_profitable): For phi arguments identical to the +- base expression of the phi candidate, the increment to be checked +- for profitability is zero minus the index expression of the hidden +- basis. +- +-2018-10-19 Andreas Krebbel +- +- Backport from mainline +- 2018-10-15 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_vec_init): Force vector element +- into reg if it isn't a general operand. +- +-2018-10-17 Eric Botcazou +- +- PR middle-end/87623 +- * fold-const.c (fold_truth_andor_1): If the right side is not constant, +- bail out if both sides do not have the same storage order. +- +-2018-10-16 Wilco Dijkstra +- +- Backported from mainline +- PR target/87511 +- * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): +- Use HOST_WIDE_INT_1U for shift. +- +-2018-10-12 Jakub Jelinek +- +- Backported from mainline +- 2018-10-10 Jakub Jelinek +- +- PR target/87550 +- * config/i386/i386-builtin.def (IX86_BUILTIN_RDPMC): Move from args set +- to special_args set. +- +- 2018-09-12 Jakub Jelinek +- +- PR middle-end/87248 +- * fold-const.c (fold_ternary_loc) : Verify also that +- BIT_AND_EXPR's second operand is a power of two. Formatting fix. +- +- 2018-08-27 Jakub Jelinek +- +- PR rtl-optimization/87065 +- * combine.c (simplify_if_then_else): Formatting fix. +- (if_then_else_cond): Guard MULT optimization with SCALAR_INT_MODE_P +- check. +- (known_cond): Don't return const_true_rtx for vector modes. Use +- CONST0_RTX instead of const0_rtx. Formatting fixes. +- +- 2018-07-24 Jakub Jelinek +- +- PR middle-end/86627 +- * expmed.c (expand_divmod): Punt if d =3D=3D HOST_WIDE_INT_MIN +- and size > HOST_BITS_PER_WIDE_INT. For size > HOST_BITS_PER_WIDE_INT +- and abs_d =3D=3D d, do the power of two handling if profitable. +- +- 2018-07-17 Jakub Jelinek +- +- PR middle-end/86542 +- * omp-low.c (create_task_copyfn): Copy over also fields corresponding +- to _looptemp_ clauses, other than the first two. +- +- PR middle-end/86539 +- * gimplify.c (gimplify_omp_for): Ensure taskloop firstprivatized init +- and cond temporaries don't have reference type if iterator has +- pointer type. For init use &for_pre_body instead of pre_p if +- for_pre_body is non-empty. +- +- 2018-07-26 Jakub Jelinek +- +- PR middle-end/86660 +- * omp-low.c (scan_sharing_clauses): Don't ignore map clauses for +- declare target to variables if they have always,{to,from,tofrom} map +- kinds. +- +-2018-10-12 Richard Biener +- +- Backport from mainline +- 2018-08-23 Richard Biener +- +- PR middle-end/87024 +- * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len +- calls. +- +- 2018-08-17 Richard Biener +- +- PR middle-end/86505 +- * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len () +- across a va-arg-pack using call adjust its return value accordingly. +- +-2018-10-09 H.J. Lu +- +- Backport from mainline +- 2018-09-29 H.J. Lu +- +- PR target/87370 +- * config/i386/i386.c (construct_container): Use TImode for +- BLKmode values in 2 integer registers. +- +-2018-10-08 H.J. Lu +- +- Backport from mainline +- 2018-10-08 H.J. Lu +- +- PR target/87517 +- * config/i386/avx512fintrin.h (_mm512_mask_fmaddsub_round_pd): +- Defined with __builtin_ia32_vfmaddsubpd512_mask. +- +-2018-10-05 H.J. Lu +- +- Backport from mainline +- 2018-10-05 H.J. Lu +- +- PR target/87522 +- * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to +- assembler for -mavx. +- * config/i386/gnu-user64.h (ASM_SPEC): Likewise. +- +-2018-10-03 Uros Bizjak +- +- Backport from mainline +- 2018-09-28 Uros Bizjak +- +- * config/i386/i386.h (SSE_REGNO): Fix check for FIRST_REX_SSE_REG. +- (GET_SSE_REGNO): Rename from SSE_REGNO. Update all uses for rename. +- +-2018-10-03 Jonathan Wakely +- +- PR other/87353 +- * doc/invoke.texi (Link Options): Fix formatting and grammar. +- +-2018-10-01 Kyrylo Tkachov +- +- Backport from mainline +- 2018-06-29 Kyrylo Tkachov +- +- * config/arm/arm.c (output_move_double): Don't allow STRD instructions +- if starting source register is not even. +- +-2018-09-29 Jakub Jelinek +- +- PR target/87467 +- * config/i386/avx512fintrin.h (_mm512_abs_pd, _mm512_mask_abs_pd): Use +- __m512d type for __A argument rather than __m512. +- +-2018-09-27 Michael Meissner +- +- Backport from mainline +- 2018-08-20 Michael Meissner +- +- PR target/87033 +- * config/rs6000/rs6000.md (extendsi2): Change constraints +- from 'Y' to 'YZ' to enable the LWAX instruction to be generated +- for indexed loads. +- +-2018-09-21 Eric Botcazou +- +- * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false +- if the call takes a static chain. +- +-2018-09-19 John David Anglin +- +- * config/pa/pa.md (atomic_storeqi): Restore deleted expander. +- (atomic_storehi): Likewise. +- (atomic_storesi): Likewise. +- (atomic_loaddi): Restore compare and swap exchange loop code. +- +-2018-09-12 Segher Boessenkool +- +- Backport from trunk +- 2018-08-24 Segher Boessenkool +- +- PR target/86989 +- * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is +- the TOC register. +- +-2018-09-12 Andreas Krebbel +- +- Backport from mainline +- 2018-09-12 Andreas Krebbel +- +- * config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New +- constants. +- ("trunc2") +- ("trunc2") +- ("extend2") +- ("extend2"): Set proper rounding mode +- according to the target operand type. +- +-2018-09-04 Max Filippov +- +- Backport from mainline +- 2018-09-04 Max Filippov +- +- * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and +- XOR operations in NAND case. +- +-2018-09-04 Jonathan Wakely +- +- * doc/invoke.texi (Option Summary): Add -Waligned-new. +- +-2018-09-03 Tom de Vries +- +- backport from trunk: +- 2018-06-21 Tom de Vries +- +- PR tree-optimization/85859 +- * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call +- test with comment from bb_no_side_effects_p. +- +-2018-08-25 Jozef Lawrynowicz +- +- Backport from mainline +- PR target/86662 +- * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array +- with all enabled __intN types. +- +- * gcc/testsuite/gcc.target/msp430/pr86662.c: New test. +- +-2018-08-21 H.J. Lu +- +- Backport from mainline +- 2018-08-20 H.J. Lu +- +- PR target/87014 +- * config/i386/i386.md (eh_return): Always update EH return +- address in word_mode. +- +-2018-08-17 John David Anglin +- +- Backport from mainline +- 2018-08-11 John David Anglin +- +- * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum. +- Update comment for atomic instructions. +- (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf, +- atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1): +- Remove. +- (atomic_loaddi): Revise fence expansion to only emit fence prior to +- load for __ATOMIC_SEQ_CST model. +- (atomic_loaddi_1): Remove float register target. +- (atomic_storedi): Handle CONST_INT values. +- (atomic_storedi_1): Remove float register source. Add special case +- for zero value. +- (memory_barrier): New expander and insn. +- +-2018-08-13 Segher Boessenkool +- +- Backport from mainline +- 2018-05-09 Segher Boessenkool +- +- PR rtl-optimization/85645 +- * regrename.c (build_def_use): Also kill the chains that include the +- destination of a REG_CFA_REGISTER note. +- +- PR rtl-optimization/85645 +- * regcprop.c (copyprop_hardreg_forward_1): Don't propagate into an +- insn that has a REG_CFA_REGISTER note. +- +-2018-08-10 Segher Boessenkool +- +- Backport from mainline +- 2018-06-19 Segher Boessenkool +- +- PR target/86197 +- * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An +- ieee128 argument takes up only one (vector) register, not two (floating +- point) registers. +- +-2018-08-02 Jozef Lawrynowicz +- +- Backport from mainline +- 2018-07-31 Jozef Lawrynowicz +- +- PR middle-end/86705 +- * gcc/cfgexpand.c (set_parm_rtl): Use the alignment of Pmode when +- MAX_SUPPORTED_STACK_ALIGNMENT would otherwise be exceeded by the +- requested variable alignment. +- (expand_one_ssa_partition): Likewise. +- (expand_one_var): Likewise. +- +-2018-08-01 Richard Biener +- +- PR bootstrap/86724 +- * graphite.h: Include isl/id.h and isl/space.h to allow build +- with ISL 0.20. +- +-2018-07-29 John David Anglin +- +- * config/pa/pa.c (pa_output_addr_vec): Align address table. +- * config/pa/pa.h (JUMP_TABLES_IN_TEXT_SECTION): Revise comment. +- * config/pa/pa32-linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define. +- +-2018-07-17 Kyrylo Tkachov +- +- Backport from mainline +- PR target/84168 +- 2017-09-28 Joseph Myers +- +- * config/aarch64/aarch64.c (aarch64_elf_asm_constructor) +- (aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section +- when creating .init_array and .fini_array sections with priority +- specified. +- +-2018-07-12 Richard Biener +- +- PR target/84829 +- * config/gnu-user.h (GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC): +- Remove -mieee-fp handling. +- +-2018-07-10 Carl Love +- +- Backport from mainline +- 2017-09-07 Carl Love +- +- * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to +- the sldi instruction. +- +-2018-06-29 Martin Liska +- +- Backport from mainline +- 2018-01-10 Kelvin Nilsen +- +- * lex.c (search_line_fast): Remove illegal coercion of an +- unaligned pointer value to vector pointer type and replace with +- use of __builtin_vec_vsx_ld () built-in function, which operates +- on unaligned pointer values. +- +-2018-06-27 David Edelsohn +- +- 2018-06-19 Tony Reix +- Damien Bergamini +- David Edelsohn +- +- * collect2.c (static_obj): New variable. +- (static_libs): New variable. +- (is_in_list): Uncomment declaration. +- (main): Track AIX libraries linked statically. +- (is_in_list): Uncomment definition. +- (scan_prog_file): Don't add AIX shared libraries initializer +- to constructor list if linking statically. +- +-2018-06-26 Kelvin Nilsen +- +- Backported from mainline +- 2018-06-20 Kelvin Nilsen +- +- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change +- behavior of vec_packsu (vector unsigned long long, vector unsigned +- long long) to match behavior of vec_packs with same signature. +- +-2018-06-26 Robin Dapp +- +- * config/s390/s390.h (enum processor_flags): Do not use +- default tune parameter when -march was specified. +- +-2018-06-26 Jakub Jelinek +- +- PR target/86314 +- * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2s): +- Check reg_overlap_mentioned_p in addition to reg_set_p with the same +- operands. +- +-2018-06-25 Michael Meissner +- +- Back port from trunk +- 2018-04-17 Michael Meissner +- +- PR target/85424 +- * config/rs6000/rs6000.md (pack): Do not try handle a pack +- where the inputs overlap with the output. +- +-2018-06-25 Jakub Jelinek +- +- PR target/84786 +- * config/i386/sse.md (vshift_count): New mode attr. +- (3): Use N instead of vN +- as last operand's constraint for VI2_AVX2_AVX512BW shifts. Use YvN +- instead of vN as last operand's constraint for VI48_AVX2 shifts. +- +-2018-06-23 Richard Sandiford +- +- PR tree-optimization/85989 +- * gimple-ssa-backprop.c (backprop::m_visited_phis): New member +- variable. +- (backprop::intersect_uses): Check it when deciding whether this +- is a backedge reference. +- (backprop::process_block): Add each phi to m_visited_phis +- after visiting it, then clear it at the end. +- +-2018-06-22 Jakub Jelinek +- +- Backported from mainline +- 2018-06-20 Jakub Jelinek +- +- PR tree-optimization/86231 +- * tree-vrp.c (union_ranges): For ( [ ) ] or ( )[ ] range and +- anti-range don't overwrite *vr0min before using it to compute *vr0max. +- +- 2018-06-15 Jakub Jelinek +- +- PR middle-end/85878 +- * expr.c (expand_assignment): Only call store_expr for halves if the +- mode is the same. +- +- 2018-06-14 Jakub Jelinek +- +- PR target/85945 +- * lower-subreg.c (find_decomposable_subregs): Don't decompose float +- subregs of multi-word pseudos unless the float mode has word size. +- +- 2018-06-04 Jakub Jelinek +- +- PR c++/86025 +- * tree.c (inchash::add_expr): Handle IDENTIFIER_NODE. +- +- 2018-05-06 Jakub Jelinek +- +- PR c++/85659 +- * cfgexpand.c (expand_asm_stmt): Don't create a temporary if +- the type is addressable. Don't force op into register if it has +- BLKmode. +- +- 2018-05-01 Jakub Jelinek +- +- PR web/85578 +- * doc/install.texi2html: Replace _002d with - and _002a with * in +- generated html files using sed. +- +- 2018-04-27 Jakub Jelinek +- +- PR tree-optimization/85529 +- * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB +- argument. Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE, +- rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious +- zero extension or masking of the MSB bit. +- (optimize_range_tests): Add FIRST_BB argument, pass it through +- to optimize_range_tests_var_bound. +- (maybe_optimize_range_tests, reassociate_bb): Adjust +- optimize_range_tests callers. +- +- 2018-04-19 Jakub Jelinek +- +- PR tree-optimization/85446 +- * match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Require +- the integral and pointer types to have the same precision. +- +- 2018-04-18 David Malcolm +- +- PR jit/85384 +- * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version +- by using gcc_base_ver to generate a gcc_driver_version, and use +- it when generating GCC_DRIVER_NAME. +- * configure: Regenerate. +- +- 2018-04-17 Jakub Jelinek +- +- PR rtl-optimization/85431 +- * dse.c (record_store): Ignore zero width stores. +- +- PR target/85430 +- * config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu. +- +- 2018-04-10 Jakub Jelinek +- +- PR rtl-optimization/85300 +- * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also +- into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if +- simplify_unary_operation fails. +- +- 2018-04-07 Jakub Jelinek +- +- PR tree-optimization/85257 +- * fold-const.c (native_encode_vector): If not all elts could fit +- and off is -1, return 0 rather than offset. +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass +- (offset - offset2) / BITS_PER_UNIT as 4th argument to +- native_encode_expr. Verify len * BITS_PER_UNIT >=3D maxsizei. Don't +- adjust buffer in native_interpret_expr call. +- +- 2018-04-06 Jakub Jelinek +- +- PR debug/85252 +- * dwarf2out.c (rtl_for_decl_init): For STRING_CST initializer only +- build CONST_STRING if TYPE_MAX_VALUE is non-NULL and is INTEGER_CST. +- +- 2018-04-03 Jakub Jelinek +- +- PR rtl-optimization/85167 +- * shrink-wrap.c (move_insn_for_shrink_wrap): Don't set bb_uses and +- bb_defs if *split_p, instead preinitialize it to NULL. +- +- 2018-03-28 Jakub Jelinek +- +- PR target/85095 +- * config/i386/i386.md (*add3_carry_0, *addsi3_carry_zext_0, +- *sub3_carry_0, *subsi3_carry_zext_0): New patterns. +- +- 2018-03-23 Jakub Jelinek +- +- PR inline-asm/85022 +- * emit-rtl.c (init_emit_regs): Indicate that VOIDmode MEMs don't have +- known size by default. +- +- PR inline-asm/85034 +- * function.c (match_asm_constraints_1): Don't optimize if input +- doesn't satisfy general_operand predicate for output's mode. +- +- PR inline-asm/85022 +- * alias.c (write_dependence_p): Don't require for x_canonicalized +- non-VOIDmode if x has VOIDmode. +- +- 2018-03-22 Jakub Jelinek +- +- PR inline-asm/84941 +- * function.c (match_asm_constraints_1): Don't do the optimization +- if input isn't a REG, SUBREG, MEM or constant. +- +- PR sanitizer/85018 +- * dwarf2asm.c (dw2_output_indirect_constant_1): Set +- DECL_INITIAL (decl) to decl at the end. +- * varasm.c (use_blocks_for_decl_p): Revert the 2018-03-20 change, +- adjust the comment. +- +- 2018-03-20 Jakub Jelinek +- +- PR debug/84875 +- * dce.c (delete_unmarked_insns): Don't remove frame related noop moves +- holding REG_CFA_RESTORE notes, instead turn them into a USE. +- +- PR c/84953 +- * builtins.c (fold_builtin_strpbrk): For strpbrk(x, "") use type +- instead of TREE_TYPE (s1) for the return value. +- +- PR target/84990 +- * dwarf2asm.c (dw2_output_indirect_constant_1): Temporarily turn off +- flag_section_anchors. +- * varasm.c (use_blocks_for_decl_p): Remove hack for +- dw2_force_const_mem. +- +- 2018-03-19 Jakub Jelinek +- +- PR sanitizer/78651 +- * dwarf2asm.c: Include fold-const.c. +- (dw2_output_indirect_constant_1): Set DECL_INITIAL (decl) to ADDR_EXPR +- of decl rather than decl itself. +- +- 2018-03-19 Maxim Ostapenko +- +- PR sanitizer/78651 +- * dwarf2asm.c (dw2_output_indirect_constant_1): Disable ASan before +- calling assemble_variable. +- +- 2018-03-16 Jakub Jelinek +- +- PR target/84899 +- * postreload.c (reload_combine_recognize_pattern): Perform +- INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and +- truncate_int_for_mode the result for the destination's mode. +- +- PR tree-optimization/84841 +- * tree-ssa-reassoc.c (INTEGER_CONST_TYPE): Change to 1 << 4 from +- 1 << 3. +- (FLOAT_ONE_CONST_TYPE): Define. +- (constant_type): Return FLOAT_ONE_CONST_TYPE for -1.0 and 1.0. +- (sort_by_operand_rank): Put entries with higher constant_type last +- rather than first to match comments. +- +- 2018-03-15 Jakub Jelinek +- +- PR c++/79085 +- * calls.c (expand_call): For TREE_ADDRESSABLE rettype ignore alignment +- check and use address of target always. +- +- PR target/84860 +- * optabs.c (emit_conditional_move): Pass address of cmode's copy +- rather than address of cmode as last argument to prepare_cmp_insn. +- +- 2018-03-13 Jakub Jelinek +- +- PR middle-end/84834 +- * match.pd ((A & C) !=3D 0 ? D : 0): Use INTEGER_CST@2 instead of +- integer_pow2p@2 and test integer_pow2p in condition. +- (A < 0 ? C : 0): Similarly for @1. +- +- PR target/84827 +- * config/i386/i386.md (round2): For 387 fancy math, disable +- pattern if -ftrapping-math -fno-fp-int-builtin-inexact. +- +- PR target/84786 +- * config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v +- on the last operand. +- +- 2018-03-09 Jakub Jelinek +- +- PR target/84772 +- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Mark va_arg_tmp +- temporary TREE_ADDRESSABLE before gimplification of BUILT_IN_MEMCPY. +- +- PR c++/84767 +- * tree-inline.c (copy_tree_body_r): For INDIRECT_REF of a remapped +- decl, use remap_type if we want to use the type. +- +- 2018-03-08 Jakub Jelinek +- +- PR tree-optimization/84739 +- * tree-tailcall.c (find_tail_calls): Check call arguments against +- DECL_ARGUMENTS (current_function_decl) rather than +- DECL_ARGUMENTS (func) when checking for tail recursion. +- +- 2018-03-05 Jakub Jelinek +- +- PR target/84700 +- * combine.c (combine_simplify_rtx): Don't try to simplify if +- if_then_else_cond returned non-NULL, but either true_rtx or false_rtx +- are equal to x. +- +-2018-06-22 Andre Vieira +- +- Backport from mainline +- 2018-06-05 Andre Vieira +- +- * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to +- __typeof__. +- (cmse_check_pointed_object): Likewise. +- +-2018-06-22 Andre Vieira +- +- Backport from mainline +- 2018-05-17 Jerome Lambourg +- +- * config/arm/arm_cmse.h (cmse_nsfptr_create, cmse_is_nsfptr): Remove +- #include . Replace intptr_t with __INTPTR_TYPE__. +- +-2018-06-21 Sebastian Huber +- +- Backport from mainline +- 2018-06-15 Sebastian Huber +- +- * config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom +- multilibs for *-*-rtems*. +- * config/riscv/t-rtems: New file. +- +-2018-06-19 Max Filippov +- +- Backport from mainline +- 2018-06-19 Max Filippov +- +- * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec +- constant. +- (allocate_stack, frame_blockage, *frame_blockage): New patterns. +- +-2018-06-19 Eric Botcazou +- +- * gimplify.c (gimplify_init_constructor): Really never clear for an +- incomplete constructor if CONSTRUCTOR_NO_CLEARING is set. +- +-2018-06-18 Martin Sebor +- +- PR middle-end/82063 +- * calls.c (alloc_max_size): Correct a logic error/typo. +- Treat excessive arguments as infinite. Warn for invalid arguments. +- * doc/invoke.texi (-Walloc-size-larger-than): Update. +- +-2018-06-14 Sebastian Huber +- +- Backport from mainline +- 2018-06-14 Sebastian Huber +- +- * config/rtems.h (STDINT_LONG32): Define. +- +-2018-06-11 Peter Bergner +- +- Backport from mainline +- 2018-06-08 Peter Bergner +- +- PR target/85755 +- * config/rs6000/rs6000.c (mem_operand_gpr): Enable PRE_INC and PRE_DEC +- addresses. +- +-2018-06-07 Peter Bergner +- +- Backport from mainline +- 2018-06-06 Peter Bergner +- +- PR target/63177 +- * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9. +- Don't handle -mcpu=3Dpower8 if -mpower9-vector is also used. +- +-2018-06-07 Richard Biener +- +- Backport from mainline +- 2018-05-04 Richard Biener +- +- PR middle-end/85588 +- * fold-const.c (negate_expr_p): Restrict negation of operand +- zero of a division to when we know that can happen without +- overflow. +- (fold_negate_expr_1): Likewise. +- +- 2018-05-02 Richard Biener +- +- PR middle-end/85567 +- * gimplify.c (gimplify_save_expr): When in SSA form allow +- SAVE_EXPRs to compute to SSA vars. +- +- 2018-05-02 Richard Biener +- +- PR tree-optimization/85597 +- * tree-vect-stmts.c (vectorizable_operation): For ternary SLP +- do not use split vect_get_vec_defs call but call vect_get_slp_defs +- directly. +- +-2018-06-05 Andreas Krebbel +- +- Backport from mainline +- 2018-06-05 Andreas Krebbel +- +- * config/s390/s390-builtin-types.def: Add void function type. +- * config/s390/s390-builtins.def: Use the function type for the +- tbeginc builtin. +- +-2018-06-01 Bill Schmidt +- +- PR tree-optimization/85712 +- Backport from mainline: +- 2018-05-23 Bill Schmidt +- +- PR tree-optimization/85712 +- * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add +- first_interp field. +- (alloc_cand_and_find_basis): Initialize first_interp field. +- (slsr_process_mul): Modify first_interp field. +- (slsr_process_add): Likewise. +- (slsr_process_cast): Modify first_interp field for each new +- interpretation. +- (slsr_process_copy): Likewise. +- (dump_candidate): Dump first_interp field. +- (replace_mult_candidate): Process all interpretations, not just +- subsequent ones. +- (replace_rhs_if_not_dup): Likewise. +- (replace_one_candidate): Likewise. +- +- Backport from mainline: +- 2018-05-25 Bill Schmidt +- +- PR tree-optimization/85712 +- * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip if +- this candidate has already been replaced in-situ by a copy. +- +-2018-05-24 Uros Bizjak +- +- * config/i386/sse.md (cvtusi264): +- Add {q} suffix to insn mnemonic. +- +-2018-05-24 Uros Bizjak +- +- PR target/85903 +- * config/i386/sse.md (movdi_to_sse): Do not generate pseudo +- when memory input operand is handled. +- +-2018-05-21 Pat Haugen +- +- Backport from mainline +- 2018-05-17 Pat Haugen +- Segher Boessenkool +- +- PR target/85698 +- * config/rs6000/rs6000.c (rs6000_output_move_128bit): Check +- dest operand. +- +-2018-05-17 Martin Jambor +- +- Backport from mainline +- 2018-05-11 Martin Jambor +- +- PR ipa/85655 +- * ipa-cp.c (intersect_with_plats): Check that the lattice contains +- single const. +- +-2018-05-01 Tom de Vries +- +- backport from trunk: +- 2018-04-16 Cesar Philippidis +- Tom de Vries +- +- PR middle-end/84955 +- * omp-expand.c (expand_oacc_for): Add dummy false branch for +- tiled basic blocks without omp continue statements. +- +-2018-04-26 Richard Biener +- +- Backport from mainline +- 2018-04-09 Richard Biener +- +- PR tree-optimization/85284 +- * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): +- Only use the niter constraining form of simple_iv when the exit +- is always executed. +- +- 2018-04-06 Richard Biener +- +- PR middle-end/85244 +- * tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref +- after seeing a component reference with an adjacent field. Treat +- refs to arrays at struct end of external decls similar to +- refs to unconstrained commons. +- +- 2018-04-04 Richard Biener +- +- PR tree-optimization/85168 +- * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Avoid +- propagating abnormals. +- +-2018-04-24 Martin Liska +- +- Backport from mainline +- 2018-04-17 Martin Liska +- +- PR lto/85405 +- * ipa-devirt.c (odr_types_equivalent_p): Remove trailing +- in message, remote space in between '_G' and '('. +- +-2018-04-24 Martin Liska +- +- Backport from mainline +- 2018-04-17 Jan Hubicka +- +- PR lto/85405 +- * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields. +- +-2018-04-24 Martin Liska +- +- Backport from mainline +- 2018-03-28 Jakub Jelinek +- Martin Liska +- +- PR sanitizer/85081 +- * gimplify.c (asan_poison_variable): Don't do the check for +- gimplify_omp_ctxp here. +- (gimplify_decl_expr): Do it here. +- (gimplify_target_expr): Likewise. +- +-2018-04-24 Martin Liska +- +- Backport from mainline +- 2018-03-21 Martin Liska +- +- PR ipa/84963 +- * ipa-icf.c (sem_item_optimizer::fixup_points_to_sets): Remove +- not intended return statement. +- +-2018-04-24 Martin Liska +- +- Backport from mainline +- 2018-03-13 Martin Liska +- +- PR ipa/84658. +- * (sem_item_optimizer::sem_item_optimizer): Initialize new +- vector. +- (sem_item_optimizer::~sem_item_optimizer): Release it. +- (sem_item_optimizer::merge_classes): Register variable aliases. +- (sem_item_optimizer::fixup_pt_set): New function. +- (sem_item_optimizer::fixup_points_to_sets): Likewise. +- * ipa-icf.h: Declare new variables and functions. +- +-2018-04-23 Aaron Sawdey +- +- Backport from mainline +- 2018-04-16 Aaron Sawdey +- +- PR target/83660 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark +- vec_extract expression as having side effects to make sure it gets +- a cleanup point. +- +-2018-04-23 Eric Botcazou +- +- PR middle-end/85496 +- * expr.c (store_field): In the bitfield case, if the value comes from +- a function call and is returned in registers by means of a PARALLEL, +- do not change the mode of the temporary unless BLKmode and VOIDmode. +- +-2018-04-20 Peter Bergner +- +- Backport from mainline +- 2018-03-09 Peter Bergner +- +- PR target/83969 +- * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New prototype. +- Add strict argument and use it. +- (rs6000_split_multireg_move): Update for new strict argument. +- (mem_operand_gpr): Disallow all non-offsettable addresses. +- * config/rs6000/rs6000.md (*movdi_internal64): Use YZ constraint. +- +-2018-04-18 Thomas Preud'homme +- +- Backport from mainline +- 2018-04-11 Thomas Preud'homme +- +- PR target/85261 +- * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand +- into register. +- +-2018-04-12 Andreas Krebbel +- +- Backport from mainline +- 2018-04-12 Andreas Krebbel +- +- * config/s390/s390.c (s390_output_indirect_thunk_function): Check +- also for flag_dwarf2_cfi_asm. +- +-2018-04-11 Uros Bizjak +- +- * config/alpha/alpha.md (stack_probe_internal): Rename +- from "probe_stack". Update all callers. +- +-2018-04-11 Thomas Preud'homme +- +- Backport from mainline +- 2018-04-04 Thomas Preud'homme +- +- PR target/85203 +- * config/arm/arm-builtins.c (arm_expand_builtin): Change +- expansion to perform a bitwise AND of the argument followed by a +- boolean negation of the result. +- +-2018-04-10 Kyrylo Tkachov +- +- Backport from mainline +- 2018-03-08 Kyrylo Tkachov +- +- PR target/84748 +- * config/aarch64/aarch64.md (*compare_cstore_insn): Mark pattern +- as clobbering CC_REGNUM. +- +-2018-04-06 Eric Botcazou +- +- PR target/85196 +- * config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands +- based on LABEL_REF. Remove useless assertion. +- (pic_address_needs_scratch): Fix formatting. +- (sparc_legitimize_pic_address): Minor tweaks. +- (sparc_delegitimize_address): Adjust assertion accordingly. +- * config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand +- into symbolic_operand. +- (movsi_high_pic_label_ref): Likewise. +- (movsi_lo_sum_pic_label_ref): Likewise. +- (movdi_pic_label_ref): Likewise. +- (movdi_high_pic_label_ref): Likewise. +- (movdi_lo_sum_pic_label_ref): Likewise. +- +-2018-04-06 Amaan Cheval +- +- * config.gcc (x86_64-*-rtems*): Add rtems.h to tm_file for +- custom LIB_SPEC setup. +- +-2018-04-05 Uros Bizjak +- +- PR target/85193 +- * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. +- +-2018-04-04 Peter Bergner +- +- Backport from mainline +- 2018-04-04 Peter Bergner +- +- PR rtl-optimization/84878 +- * ddg.c (add_cross_iteration_register_deps): Use DF_REF_BB to determine +- the basic block. Assert the use reference is not artificial and that +- it has an associated insn. +- +-2018-04-03 Uros Bizjak +- +- * config/i386/i386.c (emit_i387_cw_initialization): Always use logic +- instructions when changing rounding bits to preserve precision bits +- in the x87 control word. +- +-2018-04-03 Cesar Philippidis +- +- Backport from mainline +- 2018-03-27 Cesar Philippidis +- +- PR target/85056 +- * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to +- extern array declarations. +- +-2018-04-02 Peter Bergner +- +- Backport from mainline +- 2018-03-28 Peter Bergner +- +- PR target/84912 +- * config/rs6000/rs6000.h: Update copyright date. +- (RS6000_BTM_POWERPC64): New define. +- (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. +- * config/rs6000/rs6000.c: Update copyright date. +- (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64. +- (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64 +- (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64. +- * config/rs6000/rs6000-builtin.def: Update copyright date. +- (BU_P7_POWERPC64_MISC_2): New macro definition. +- (DIVDE): Use it. +- (DIVDEU): Likewise. +- +- Backport from mainline +- 2018-03-28 Peter Bergner +- +- PR target/84912 +- * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion. +- (DIVWEUO): Likewise. +- (DIVDEO): Likewise. +- (DIVDEUO): Likewise. +- * config/rs6000/rs6000.c (builtin_function_type): Remove support for +- DIVWEUO and DIVDEUO. +- * config/rs6000/rs6000.md: Update copyright date. +- (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. +- (UNSPEC_DIV_EXTEND): Remove deleted unspecs. +- (div_extend): Likewise. +- * doc/extend.texi: Update copyright date. +- (__builtin_divweo): Remove documentation for deleted builtin function. +- (__builtin_divweuo): Likewise. +- (__builtin_divdeo): Likewise. +- (__builtin_divdeuo): Likewise. +- +-2018-04-02 Peter Bergner +- +- Backport from mainline +- 2018-03-30 Peter Bergner +- +- PR target/80546 +- * config/rs6000/vsx.md (??r): New mode attribute. +- (*vsx_mov_64bit): Use it. +- (*vsx_mov_32bit): Likewise. +- +-2018-03-29 Sebastian Peryt +- +- PR c++/84783 +- * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64) +- (_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics. +- +-2018-03-29 Sudakshina Das +- +- Backport from mainline +- 2018-03-22 Sudakshina Das +- +- PR target/84826 +- * config/arm/arm.h (machine_function): Add static_chain_stack_bytes. +- * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid +- re-computing once computed. +- (arm_expand_prologue): Compute machine->static_chain_stack_bytes. +- (arm_init_machine_status): Initialize +- machine->static_chain_stack_bytes. +- +-2018-03-28 Sudakshina Das +- +- 2018-03-19 Sudakshina Das +- PR target/81647 +- +- * config/aarch64/aarch64-simd.md (vec_cmp): Modify +- instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED. +- +-2018-03-28 Kyrylo Tkachov +- +- Backport from mainline +- 2018-03-23 Kyrylo Tkachov +- +- PR target/85026 +- * config/arm/arm.md (unaligned_loadhis): Remove first alternative. +- Clean up attributes. +- +-2018-03-28 Segher Boessenkool +- +- Backport from mainline +- 2018-03-08 Segher Boessenkool +- +- PR target/82411 +- * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put +- readonly data in sdata, if that is disabled. +- * config/rs6000/sysv4.opt (mreadonly-in-sdata): New option. +- * doc/invoke.texi (RS/6000 and PowerPC Options): Document +- -mreadonly-in-sdata option. +- +-2018-03-27 Sudakshina Das +- +- Backport from mainline: +- 2018-03-20 Sudakshina Das +- +- PR target/82989 +- * config/arm/neon.md (ashldi3_neon): Update ?s for constraints +- to favor GPR over NEON registers. +- (di3_neon): Likewise. +- +-2018-03-27 Kyrylo Tkachov +- +- Backport from mainline +- 2018-03-20 Kyrylo Tkachov +- +- PR target/82518 +- * config/arm/arm.c (arm_array_mode_supported_p): Return false for +- BYTES_BIG_ENDIAN. +- +-2018-03-23 Peter Bergner +- +- Backport from mainline +- 2018-03-20 Peter Bergner +- +- PR target/83789 +- * config/rs6000/altivec.md (altivec_lvx__2op): Delete define_insn. +- (altivec_lvx__1op): Likewise. +- (altivec_stvx__2op): Likewise. +- (altivec_stvx__1op): Likewise. +- (altivec_lvx_): New define_expand. +- (altivec_stvx_): Likewise. +- (altivec_lvx__2op_): New define_insn. +- (altivec_lvx__1op_): Likewise. +- (altivec_stvx__2op_): Likewise. +- (altivec_stvx__1op_): Likewise. +- * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Likewise. +- (altivec_expand_stv_builtin): Likewise. +- (altivec_expand_builtin): Likewise. +- * config/rs6000/vector.md: Likewise. +- +-2018-03-23 Carl Love +- +- Backport from mainline: +- 2018-03-14 Carl Love +- +- * config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR. +- +-2018-03-22 Tom de Vries +- +- backport from trunk: +- 2018-03-22 Tom de Vries +- +- PR tree-optimization/84956 +- * tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with +- bb_has_abnormal_pred. +- +-2018-03-19 H.J. Lu +- +- Backport from mainline +- 2018-03-15 H.J. Lu +- +- PR target/84574 +- * config/i386/i386.c (indirect_thunk_needed): Update comments. +- (indirect_thunk_bnd_needed): Likewise. +- (indirect_thunks_used): Likewise. +- (indirect_thunks_bnd_used): Likewise. +- (indirect_return_needed): New. +- (indirect_return_bnd_needed): Likewise. +- (output_indirect_thunk_function): Add a bool argument for +- function return. +- (output_indirect_thunk_function): Don't generate alias for +- function return thunk. +- (ix86_code_end): Call output_indirect_thunk_function to generate +- function return thunks. +- (ix86_output_function_return): Set indirect_return_bnd_needed +- and indirect_return_needed instead of indirect_thunk_bnd_needed +- and indirect_thunk_needed. +- +-2018-03-14 John David Anglin +- +- PR target/83451 +- * config/pa/pa.c (pa_emit_move_sequence): Always emit secondary reload +- insn for floating-point loads and stores. +- +-2018-03-12 Jonathan Wakely +- +- * doc/invoke.texi (-mclflushopt): Fix spelling of option. +- +-2018-03-12 Richard Sandiford +- +- PR tree-optimization/84485 +- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Return +- true for zero dependence distances if the step might be zero, +- and if there is no metadata that guarantees correctness. +- (vect_analyze_data_ref_access): Check safelen as well as +- force_vectorize. +- +-2018-03-11 John David Anglin +- +- Backport from mainline +- 2018-02-14 John David Anglin +- +- PR target/83984 +- * config/pa/pa.md: Load address of PIC label using the linkage table +- if the label is nonlocal. +- +- Backport from mainline +- 2018-03-06 John David Anglin +- +- * config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use +- sprint_ul. +- (ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change. +- (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. +- * config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above. +- +-2018-03-09 Kugan Vivekanandarajah +- +- Backport from mainline +- 2017-09-13 Kugan Vivekanandarajah +- +- * config/aarch64/aarch64.c (aarch64_override_options_after_change_1): +- Disable pc relative literal load irrespective of +- TARGET_FIX_ERR_A53_84341 for default. +- +-2018-03-06 Denis Chertykov +- +- Backport from mainline +- 2018-02-07 Georg-Johann Lay +- +- PR target/84209 +- * config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros. +- * config/avr/avr.md: Only post-reload split REG-REG moves if +- either register is GENERAL_REG_P. +- +-2018-03-06 Carl Love +- +- Backport from mainline +- 2/16/18 commit 257748 Carl Love +- +- * config/rs6000/altivec.h: Remove vec_vextract4b and vec_vinsert4b. +- * config/rs6000/rs6000-builtin.def: Remove macro expansion for +- VINSERT4B_DI and VINSERT4B. +- * config/rs6000/rs6000.c: Remove case statements for +- P9V_BUILTIN_VINSERT4B, P9V_BUILTIN_VINSERT4B_DI, +- and P9V_BUILTIN_VEC_VINSERT4B. +- * config/rs6000/rs6000-c.c (altivec_expand_builtin): Remove entries for +- P9V_BUILTIN_VEC_VEXTRACT4B and P9V_BUILTIN_VEC_VINSERT4B. +- * config/rs6000/vsx.md: Remove define_expand vinsert4b, +- define_insn *vinsert4b_internal, define_insn "*vinsert4b_di_internal. +- * doc/extend.texi: Remove vec_vextract4b, non ABI definitions for +- vec_insert4b. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-20 Martin Liska +- +- PR c/84310 +- PR target/79747 +- * final.c (shorten_branches): Build align_tab array with one +- more element. +- * opts.c (finish_options): Add alignment option limit check. +- (MAX_CODE_ALIGN): Likewise. +- (MAX_CODE_ALIGN_VALUE): Likewise. +- * doc/invoke.texi: Document maximum allowed option value for +- all -falign-* options. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-19 Martin Liska +- +- PR other/80589 +- * doc/invoke.texi: Fix typo. +- * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-05 Martin Liska +- +- PR gcov-profile/84137 +- * doc/gcov.texi: Fix typo in documentation. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-05 Martin Liska +- +- PR gcov-profile/83879 +- * doc/gcov.texi: Document necessity of --dynamic-list-data when +- using dlopen functionality. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2017-12-19 Martin Liska +- +- PR rtl-optimization/82675 +- * loop-unroll.c (unroll_loop_constant_iterations): Allocate one +- more element in sbitmap. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-03-05 Martin Liska +- +- * ipa-utils.c (ipa_merge_profiles): Do not merge alias or +- a function without profile. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-21 Jan Hubicka +- +- PR c/84229 +- * ipa-cp.c (determine_versionability): Do not version functions caling +- va_arg_pack. +- +-2018-03-06 Martin Liska +- +- Backport from mainline +- 2018-02-08 Jan Hubicka +- +- PR ipa/81360 +- * cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare +- * symtab.c: Include builtins.h +- (symtab_node::output_to_lto_symbol_table_p): Move here +- from lto-streamer-out.c:output_symbol_p. +- * lto-streamer-out.c (write_symbol): Turn early exit to assert. +- (output_symbol_p): Move all logic to symtab.c +- (produce_symtab): Update. +- +-2018-03-06 Peter Bergner +- +- Backport from mainline +- 2018-02-22 Vladimir Makarov +- +- PR target/81572 +- * lra-int.h (LRA_UNKNOWN_ALT, LRA_NON_CLOBBERED_ALT): New macros. +- * lra.c (lra_set_insn_recog_data, lra_update_insn_recog_data): Use +- LRA_UNKNOWN_ALT. +- * lra-constraints.c (curr_insn_transform): Set up +- LRA_NON_CLOBBERED_ALT for moves processed on the fast path. Use +- LRA_UNKNOWN_ALT. +- (remove_inheritance_pseudos): Use LRA_UNKNOWN_ALT. +- * lra-eliminations.c (spill_pseudos): Ditto. +- (process_insn_for_elimination): Ditto. +- * lra-lives.c (reg_early_clobber_p): Use the new macros. +- * lra-spills.c (spill_pseudos): Use LRA_UNKNOWN_ALT and +- LRA_NON_CLOBBERED_ALT. +- +-2018-03-06 Richard Biener +- +- Backport from mainline +- 2018-03-05 Richard Biener +- +- PR tree-optimization/84486 +- * tree-ssa-pre.c (create_expression_by_pieces): Remove dead code. +- When inserting a __builtin_assume_aligned call set the LHS +- SSA name alignment info accordingly. +- +- 2018-02-28 Richard Biener +- +- PR middle-end/84607 +- * genmatch.c (capture_info::walk_match): Do not mark +- captured expressions without operands as expr_p given +- they act more like predicates and should be subject to +- "lost tail" side-effect preserving. +- +-2018-03-05 Jakub Jelinek +- +- PR target/84524 +- * config/i386/sse.md (*3): Replace with +- orig,vex. +- (*3): Likewise. Remove uses. +- +-2018-03-03 Jakub Jelinek +- +- Backported from mainline +- 2018-03-02 Jakub Jelinek +- Richard Biener +- +- PR ipa/84628 +- * expr.c (expand_expr_real_1) : Don't emit diagnostics +- for error or warning attributes if CALL_FROM_THUNK_P is set. +- Formatting fixes. +- +- 2018-03-02 Jakub Jelinek +- +- PR inline-asm/84625 +- * config/i386/i386.c (ix86_print_operand): Use conditional +- output_operand_lossage instead of gcc_assert if CONST_VECTOR is not +- zero vector. +- +- 2018-02-23 Jakub Jelinek +- +- * ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and +- p->max as pointers rather than using iterative_hash_expr. +- +- 2017-11-10 Jakub Jelinek +- +- PR bootstrap/82916 +- * gimple-ssa-store-merging.c +- (pass_store_merging::terminate_all_aliasing_chains): For +- gimple_store_p stmts also call refs_output_dependent_p. +- +- 2018-02-19 Jakub Jelinek +- +- PR c++/84444 +- * builtins.c (builtin_mathfn_code): Don't check if CALL_EXPR_FN (t) +- is ADDR_EXPR. +- +- 2018-02-16 Jakub Jelinek +- +- PR ipa/84425 +- * ipa-inline.c (inline_small_functions): Fix a typo. +- +- 2018-02-13 Jakub Jelinek +- +- PR c/82210 +- * stor-layout.c (place_field): For variable length fields, adjust +- offset_align afterwards not just based on the field's alignment, +- but also on the size. +- +- 2018-02-10 Jakub Jelinek +- +- PR sanitizer/83987 +- * omp-low.c (maybe_remove_omp_member_access_dummy_vars, +- remove_member_access_dummy_vars): New functions. +- (lower_omp_for, lower_omp_taskreg, lower_omp_target, +- lower_omp_1, execute_lower_omp): Use them. +- +- PR rtl-optimization/84308 +- * shrink-wrap.c (spread_components): Release todo vector. +- +- 2018-02-09 Jakub Jelinek +- +- PR sanitizer/84285 +- * gcc.c (STATIC_LIBASAN_LIBS, STATIC_LIBTSAN_LIBS, +- STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS): Handle -static like +- -static-lib*san. +- +- 2018-02-09 Marek Polacek +- Jakub Jelinek +- +- PR c++/83659 +- * fold-const.c (fold_indirect_ref_1): Use VECTOR_TYPE_P macro. +- Formatting fixes. Verify first that tree_fits_shwi_p (op01). +- Sync some changes from cxx_fold_indirect_ref. +- +- 2018-02-07 Jakub Jelinek +- +- * tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for +- *DIV_EXPR and *MOD_EXPR. +- +- 2018-02-01 Jakub Jelinek +- +- PR tree-optimization/81661 +- PR tree-optimization/84117 +- * tree-eh.h (rewrite_to_non_trapping_overflow): Declare. +- * tree-eh.c: Include gimplify.h. +- (find_trapping_overflow, replace_trapping_overflow, +- rewrite_to_non_trapping_overflow): New functions. +- * tree-vect-loop.c: Include tree-eh.h. +- (vect_get_loop_niters): Use rewrite_to_non_trapping_overflow. +- +- 2018-01-30 Jakub Jelinek +- +- PR rtl-optimization/83986 +- * sched-deps.c (sched_analyze_insn): For frame related insns, add anti +- dependence against last_pending_memory_flush in addition to +- pending_jump_insns. +- +- 2018-01-27 Jakub Jelinek +- +- PR middle-end/84040 +- * sched-deps.c (sched_macro_fuse_insns): Return immediately if +- !insn_set. +- +- 2018-01-24 Jakub Jelinek +- +- PR middle-end/83977 +- * tree-inline.c (tree_function_versioning): Remove "omp declare simd" +- attributes from DECL_ATTRIBUTES (new_decl) without affecting +- DECL_ATTRIBUTES (old_decl). +- +- 2018-01-20 Jakub Jelinek +- +- PR middle-end/83945 +- * tree-emutls.c: Include gimplify.h. +- (lower_emutls_2): New function. +- (lower_emutls_1): If ADDR_EXPR is a gimple invariant and walk_tree +- with lower_emutls_2 callback finds some TLS decl in it, unshare_expr +- it before further processing. +- +- PR target/83930 +- * simplify-rtx.c (simplify_binary_operation_1) : Use +- UINTVAL (trueop1) instead of INTVAL (op1). +- +- 2018-01-09 Jakub Jelinek +- +- PR preprocessor/83722 +- * gcc.c (try_generate_repro): Pass +- &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than +- &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to +- do_report_bug. +- +- 2018-01-05 Jakub Jelinek +- +- PR tree-optimization/83605 +- * gimple-ssa-strength-reduction.c: Include tree-eh.h. +- (find_candidates_dom_walker::before_dom_children): Ignore stmts that +- can throw. +- +-2018-03-01 H.J. Lu +- +- Backport from mainline +- 2018-02-26 H.J. Lu +- +- PR target/84039 +- * config/i386/constraints.md (Bs): Replace +- ix86_indirect_branch_register with +- TARGET_INDIRECT_BRANCH_REGISTER. +- (Bw): Likewise. +- * config/i386/i386.md (indirect_jump): Likewise. +- (tablejump): Likewise. +- (*sibcall_memory): Likewise. +- (*sibcall_value_memory): Likewise. +- Peepholes of indirect call and jump via memory: Likewise. +- (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER. +- (*sibcall_value_GOT_32): Likewise. +- * config/i386/predicates.md (indirect_branch_operand): Likewise. +- (GOT_memory_operand): Likewise. +- (call_insn_operand): Likewise. +- (sibcall_insn_operand): Likewise. +- (GOT32_symbol_operand): Likewise. +- * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New. +- +-2018-03-01 H.J. Lu +- +- Backport from mainline +- 2018-02-26 H.J. Lu +- +- * config/i386/i386.c (ix86_output_indirect_jmp): Update comments. +- +- 2018-02-26 H.J. Lu +- +- PR target/84530 +- * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove +- the bool argument. +- (ix86_output_indirect_function_return): New prototype. +- (ix86_split_simple_return_pop_internal): Likewise. +- * config/i386/i386.c (indirect_return_via_cx): New. +- (indirect_return_via_cx_bnd): Likewise. +- (indirect_thunk_name): Handle return va CX_REG. +- (output_indirect_thunk_function): Create alias for +- __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd. +- (ix86_output_indirect_jmp): Remove the bool argument. +- (ix86_output_indirect_function_return): New function. +- (ix86_split_simple_return_pop_internal): Likewise. +- * config/i386/i386.md (*indirect_jump): Don't pass false +- to ix86_output_indirect_jmp. +- (*tablejump_1): Likewise. +- (simple_return_pop_internal): Change it to define_insn_and_split. +- Call ix86_split_simple_return_pop_internal to split it for +- -mfunction-return=3D. +- (simple_return_indirect_internal): Call +- ix86_output_indirect_function_return instead of +- ix86_output_indirect_jmp. +- +-2017-03-02 Thomas Schwinge +- +- Backport from trunk r256891: +- 2018-01-19 Cesar Philippidis +- +- PR target/83790 +- * config/nvptx/nvptx.c (output_init_frag): Don't use generic address +- spaces for function labels. +- +-2018-02-26 Carl Love +- +- Backport from mainline: commit 257747 on 2018-02-16. +- +- * config/rs6000/altivec.h: Add builtin names vec_extract4b +- vec_insert4b. +- * config/rs6000/rs6000-builtin.def: Add INSERT4B and EXTRACT4B +- definitions. +- * config/rs6000/rs6000-c.c: Add the definitions for +- P9V_BUILTIN_VEC_EXTRACT4B and P9V_BUILTIN_VEC_INSERT4B. +- * config/rs6000/rs6000.c (altivec_expand_builtin): Add +- P9V_BUILTIN_EXTRACT4B and P9V_BUILTIN_INSERT4B case statements. +- * config/rs6000/vsx.md: Add define_insn extract4b. Add define_expand +- definition for insert4b and define insn *insert3b_internal. +- * doc/extend.texi: Add documentation for vec_extract4b. +- +-2018-02-26 Eric Botcazou +- +- PR rtl-optimization/83496 +- * reorg.c (steal_delay_list_from_target): Change REDUNDANT array from +- booleans to RTXes. Call fix_reg_dead_note on every non-null element. +- (steal_delay_list_from_fallthrough): Call fix_reg_dead_note on a +- redundant insn, if any. +- (relax_delay_slots): Likewise. +- (update_reg_unused_notes): Rename REDUNDANT_INSN to OTHER_INSN. +- +-2018-02-22 Sudakshina Das +- Bin Cheng +- +- Backport from mainline: +- 2017-12-14 Sudakshina Das +- Bin Cheng +- +- PR target/81228 +- * config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT to +- CCFPEmode. +- * config/aarch64/aarch64-simd.md (vec_cmp): Add +- LTGT. +- +-2018-02-16 Jozef Lawrynowicz +- +- PR target/79242 +- * machmode.def: Define a complex mode for PARTIAL_INT. +- * genmodes.c (complex_class): Return MODE_COMPLEX_INT for +- MODE_PARTIAL_INT. +- * doc/rtl.texi: Document CSPImode. +- * config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode +- handling. +- (msp430_hard_regno_nregs_with_padding): Likewise. +- +-2018-02-16 Sudakshina Das +- +- Backport from trunk +- 2018-01-10 Sudakshina Das +- +- PR target/82096 +- * expmed.c (emit_store_flag_force): Swap if const op0 +- and change VOIDmode to mode of op0. +- +-2018-02-16 Richard Biener +- +- PR tree-optimization/84190 +- * tree-ssa.c (non_rewritable_mem_ref_base): Do not touch +- volatile accesses if the decl isn't volatile. +- +-2018-02-15 Michael Meissner +- +- Back port from trunk +- 2018-02-07 Michael Meissner +- +- PR target/84154 +- * config/rs6000/rs6000.md (fix_trunc2): +- Convert from define_expand to be define_insn_and_split. Rework +- float/double/_Float128 conversions to QI/HI/SImode to work with +- both ISA 2.07 (power8) or ISA 3.0 (power9). Fix regression where +- conversions to QI/HImode types did a store and then a load to +- truncate the value. For conversions to VSX registers, don't split +- the insn, instead emit the code directly. Use the code iterator +- any_fix to combine signed and unsigned conversions. +- (fix_truncsi2_p8): Likewise. +- (fixuns_trunc2): Likewise. +- (fix_trunc2): Likewise. +- (fix_trunc2): Likewise. +- (fix_di2_hw): Likewise. +- (fixuns_di2_hw): Likewise. +- (fix_si2_hw): Likewise. +- (fixuns_si2_hw): Likewise. +- (fix_2_hw): Likewise. +- (fix_trunc2): Likewise. +- (fctiwz__smallint): Rename fctiwz__smallint to +- fix_truncsi2_p8. +- (fix_trunc2_internal): Delete, no longer +- used. +- (fixuns_trunc2_internal): Likewise. +- (fix__mem): Likewise. +- (fctiwz__mem): Likewise. +- (fix__mem): Likewise. +- (fix_trunc2_mem): On ISA 3.0, prevent +- the register allocator from doing a direct move to the GPRs to do +- a store, and instead use the ISA 3.0 store byte/half-word from +- vector register instruction. For IEEE 128-bit floating point, +- also optimize stores of 32-bit ints. +- (fix_trunc2_mem): Likewise. +- +-2018-02-15 Aaron Sawdey +- +- Back port from mainline +- 2018-01-30 Aaron Sawdey +- +- PR target/83758 +- * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return +- a reg rtx. +- +-2018-02-14 Peter Bergner +- +- Back port from mainline +- 2018-02-13 Peter Bergner +- +- PR target/84279 +- * config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses. +- +-2018-02-14 Martin Jambor +- +- PR c++/83990 +- * ipa-prop.c (ipa_modify_call_arguments): Use location of call +- statements, also set location of a load to a temporary. +- +-2018-02-10 John David Anglin +- +- * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as +- function label. +- +- Backport from mainline +- 2018-02-01 Aldy Hernandez +- +- PR target/84089 +- * config/pa/predicates.md (base14_operand): Handle VOIDmode. +- +-2018-02-09 Martin Jambor +- +- Backport from mainline +- 2018-02-08 Martin Jambor +- +- * hsa-gen.c (get_symbol_for_decl): Set program allocation for +- static local variables. +- +-2018-02-09 Andreas Krebbel +- +- Backport from mainline +- 2018-02-09 Andreas Krebbel +- +- PR target/PR84295 +- * config/s390/s390.c (s390_set_current_function): Invoke +- s390_indirect_branch_settings also if fndecl didn't change. +- +-2018-02-08 Iain Sandoe +- +- PR target/84113 +- * config/rs6000/altivec.md (*restore_world): Remove LR use. +- * config/rs6000/predicates.md (restore_world_operation): Adjust op +- count, remove one USE. +- +-2018-02-08 Andreas Krebbel +- +- Backport from mainline +- 2018-02-08 Andreas Krebbel +- +- * config/s390/s390-opts.h (enum indirect_branch): Define. +- * config/s390/s390-protos.h (s390_return_addr_from_memory) +- (s390_indirect_branch_via_thunk) +- (s390_indirect_branch_via_inline_thunk): Add function prototypes. +- (enum s390_indirect_branch_type): Define. +- * config/s390/s390.c (struct s390_frame_layout, struct +- machine_function): Remove. +- (indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask) +- (indirect_branch_table_label_no, indirect_branch_table_name): +- Define variables. +- (INDIRECT_BRANCH_NUM_OPTIONS): Define macro. +- (enum s390_indirect_branch_option): Define. +- (s390_return_addr_from_memory): New function. +- (s390_handle_string_attribute): New function. +- (s390_attribute_table): Add new attribute handler. +- (s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns. +- (s390_indirect_branch_via_thunk): New function. +- (s390_indirect_branch_via_inline_thunk): New function. +- (s390_function_ok_for_sibcall): When jumping via thunk disallow +- sibling call optimization for non z10 compiles. +- (s390_emit_call): Force indirect branch target to be a single +- register. Add r1 clobber for non-z10 compiles. +- (s390_emit_epilogue): Emit return jump via return_use expander. +- (s390_reorg): Handle JUMP_INSNs as execute targets. +- (s390_option_override_internal): Perform validity checks for the +- new command line options. +- (s390_indirect_branch_attrvalue): New function. +- (s390_indirect_branch_settings): New function. +- (s390_set_current_function): Invoke s390_indirect_branch_settings. +- (s390_output_indirect_thunk_function): New function. +- (s390_code_end): Implement target hook. +- (s390_case_values_threshold): Implement target hook. +- (TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target +- macros. +- * config/s390/s390.h (struct s390_frame_layout) +- (struct machine_function): Move here from s390.c. +- (TARGET_INDIRECT_BRANCH_NOBP_RET) +- (TARGET_INDIRECT_BRANCH_NOBP_JUMP) +- (TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK) +- (TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK) +- (TARGET_INDIRECT_BRANCH_NOBP_CALL) +- (TARGET_DEFAULT_INDIRECT_BRANCH_TABLE) +- (TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL) +- (TARGET_INDIRECT_BRANCH_THUNK_NAME_EX) +- (TARGET_INDIRECT_BRANCH_TABLE): Define macros. +- * config/s390/s390.md (UNSPEC_EXECUTE_JUMP) +- (INDIRECT_BRANCH_THUNK_REGNUM): Define constants. +- (mnemonic attribute): Add values which aren't recognized +- automatically. +- ("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable +- pattern for branch conversion. Fix mnemonic attribute. +- ("*c", "*sibcall_br", "*sibcall_value_br", "*return"): Emit +- indirect branch via thunk if requested. +- ("indirect_jump", ""): Expand patterns for branch conversion. +- ("*indirect_jump"): Disable for branch conversion using out of +- line thunks. +- ("indirect_jump_via_thunk_z10") +- ("indirect_jump_via_thunk") +- ("indirect_jump_via_inlinethunk_z10") +- ("indirect_jump_via_inlinethunk", "*casesi_jump") +- ("casesi_jump_via_thunk_z10", "casesi_jump_via_thunk") +- ("casesi_jump_via_inlinethunk_z10") +- ("casesi_jump_via_inlinethunk", "*basr_via_thunk_z10") +- ("*basr_via_thunk", "*basr_r_via_thunk_z10") +- ("*basr_r_via_thunk", "return_prez10"): New pattern. +- ("*indirect2_jump"): Disable for branch conversion. +- ("casesi_jump"): Turn into expander and expand patterns for branch +- conversion. +- ("return_use"): New expander. +- ("*return"): Emit return via thunk and rename it to ... +- ("*return"): ... this one. +- * config/s390/s390.opt: Add new options and and enum for the +- option values. +- +-2018-02-08 Richard Biener +- +- PR tree-optimization/84233 +- * tree-ssa-phiprop.c (propagate_with_phi): Use separate +- changed flag instead of boguously re-using phi_inserted. +- +-2018-02-07 Bill Schmidt +- +- Backport from mainline +- 2018-02-06 Bill Schmidt +- +- * config/rs6000/rs6000.c (rs6000_option_override_internal): +- Display warning message for -mno-speculate-indirect-jumps. +- +-2018-02-05 Rainer Orth +- +- Backport from mainline +- 2018-01-30 Rainer Orth +- +- PR bootstrap/84017 +- * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. +- * configure: Regenerate. +- +-2018-02-05 Peter Bergner +- +- Back port from mainline +- 2018-02-01 Peter Bergner +- +- PR target/56010 +- PR target/83743 +- * config/rs6000/driver-rs6000.c: #include "diagnostic.h". +- #include "opts.h". +- (rs6000_supported_cpu_names): New static variable. +- (linux_cpu_translation_table): Likewise. +- (elf_platform) : Define new static variable and use it. +- Translate kernel AT_PLATFORM name to canonical name if needed. +- Error if platform name is unknown. +- +-2018-02-02 H.J. Lu +- +- Backport from mainline +- 2018-02-02 H.J. Lu +- +- * config/i386/i386.c (ix86_output_function_return): Pass +- INVALID_REGNUM, instead of -1, as invalid register number to +- indirect_thunk_name and output_indirect_thunk. +- +-2018-02-01 Uros Bizjak +- +- Backport from mainline +- 2018-01-31 Uros Bizjak +- +- PR rtl-optimization/84123 +- * combine.c (change_zero_ext): Check if hard register satisfies +- can_change_dest_mode before calling gen_lowpart_SUBREG. +- +-2018-02-01 Renlin Li +- +- Backport from mainline +- 2018-02-01 Renlin Li +- +- PR target/83370 +- * config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle +- TAILCALL_ADDR_REGS. +- (aarch64_register_move_cost): Likewise. +- * config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to +- TAILCALL_ADDR_REGS. +- (REG_CLASS_NAMES): Likewise. +- (REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to +- TAILCALL_ADDR_REGS. Remove IP registers. +- * config/aarch64/aarch64.md (Ucs): Update register constraint. +- +-2018-02-01 Richard Biener +- +- Backport from mainline +- 2017-11-02 Richard Biener +- +- PR tree-optimization/82795 +- * tree-if-conv.c (predicate_mem_writes): Remove bogus assert. +- +-2018-01-31 Richard Biener +- Kelvin Nilsen +- +- Backport from mainline +- 2018-01-29 Richard Biener +- Kelvin Nilsen +- +- PR bootstrap/80867 +- * tree-vect-stmts.c (vectorizable_call): Don't call +- targetm.vectorize_builtin_md_vectorized_function if callee is +- NULL. +- +-2018-01-31 Eric Botcazou +- +- PR rtl-optimization/84071 +- * doc/tm.texi.in (WORD_REGISTER_OPERATIONS): Add explicit case. +- * doc/tm.texi: Regenerate. +- +-2018-01-31 Eric Botcazou +- +- PR rtl-optimization/84071 +- * combine.c (record_dead_and_set_regs_1): Record the source unmodified +- for a paradoxical SUBREG on a WORD_REGISTER_OPERATIONS target. +- +-2018-01-29 Joseph Myers +- +- Backport from mainline +- 2018-01-24 Joseph Myers +- +- PR target/68467 +- * config/m68k/m68k.c (m68k_promote_function_mode): New function. +- (TARGET_PROMOTE_FUNCTION_MODE): New macro. +- +-2018-01-29 Uros Bizjak +- +- Backport from mainline +- 2018-01-26 Uros Bizjak +- +- PR target/81763 +- * config/i386/i386.md (*andndi3_doubleword): Add earlyclobber +- to (=3D&r,r,rm) alternative. Add (=3Dr,0,rm) and (=3Dr,r,0) alternatives. +- +-2018-01-29 Alan Modra +- +- Backport from mainline +- 2018-01-26 Alan Modra +- PR target/84033 +- * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude +- UNSPEC_VBPERMQ. +- +-2018-01-27 H.J. Lu +- +- Backport from mainline +- 2018-01-27 H.J. Lu +- +- * doc/invoke.texi: Replace -mfunction-return=3D=3D@var{choice} with +- -mfunction-return=3D@var{choice}. +- +-2018-01-27 H.J. Lu +- +- Backport from mainline +- 2018-01-23 H.J. Lu +- +- PR target/83905 +- * config/i386/i386.c (ix86_expand_prologue): Use cost reference +- of struct ix86_frame. +- (ix86_expand_epilogue): Likewise. Add a local variable for +- the reg_save_offset field in struct ix86_frame. +- +-2018-01-26 Jakub Jelinek +- +- PR rtl-optimization/83985 +- * dce.c (deletable_insn_p): Return false for separate shrink wrapping +- REG_CFA_RESTORE insns. +- (delete_unmarked_insns): Don't ignore separate shrink wrapping +- REG_CFA_RESTORE insns here. +- +-2018-01-25 Uros Bizjak +- +- Backport from mainline +- 2018-01-17 Uros Bizjak +- +- * config/i386/i386.c (indirect_thunk_name): Declare regno +- as unsigned int. Compare regno with INVALID_REGNUM. +- (output_indirect_thunk): Ditto. +- (output_indirect_thunk_function): Ditto. +- (ix86_code_end): Declare regno as unsigned int. Use INVALID_REGNUM +- in the call to output_indirect_thunk_function. +- +-2018-01-25 Michael Meissner +- +- Back port from trunk +- 2018-01-22 Michael Meissner +- +- PR target/83862 +- * config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete, +- no longer used. +- * config/rs6000/rs6000.c (rs6000_split_signbit): Likewise. +- * config/rs6000/rs6000.md (signbit2): Change code for IEEE +- 128-bit to produce an UNSPEC move to get the double word with the +- signbit and then a shift directly to do signbit. +- (signbit2_dm): Replace old IEEE 128-bit signbit +- implementation with a new version that just does either a direct +- move or a regular move. Move memory interface to separate insns. +- Move insns so they are next to the expander. +- (signbit2_dm_mem_be): New combiner insns to combine load +- with signbit move. Split big and little endian case. +- (signbit2_dm_mem_le): Likewise. +- (signbit2_dm_ext): Delete, no longer used. +- (signbit2_dm2): Likewise. +- +-2018-01-25 Peter Bergner +- +- Back port from mainline +- 2018-01-10 Peter Bergner +- +- PR target/83399 +- * config/rs6000/rs6000.c (print_operand) <'y'>: Use +- VECTOR_MEM_ALTIVEC_OR_VSX_P. +- * config/rs6000/vsx.md (*vsx_le_perm_load_ for VSX_D): Use +- indexed_or_indirect_operand predicate. +- (*vsx_le_perm_load_ for VSX_W): Likewise. +- (*vsx_le_perm_load_v8hi): Likewise. +- (*vsx_le_perm_load_v16qi): Likewise. +- (*vsx_le_perm_store_ for VSX_D): Likewise. +- (*vsx_le_perm_store_ for VSX_W): Likewise. +- (*vsx_le_perm_store_v8hi): Likewise. +- (*vsx_le_perm_store_v16qi): Likewise. +- (eight unnamed splitters): Likewise. +- +-2018-01-25 Bill Schmidt +- +- Backport from mainline +- 2018-01-02 Bill Schmidt +- +- * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store): +- New function. +- (rs6000_analyze_swaps): Mark a web unoptimizable if it contains a +- swap associated with both a load and a store. +- +-2018-01-25 Richard Biener +- +- * BASE-VER: Increment to 7.3.1. +- +-2018-01-25 Release Manager +- +- * GCC 7.3.0 released. +- +-2018-01-23 Eric Botcazou +- +- PR rtl-optimization/81443 +- * rtlanal.c (num_sign_bit_copies1) : Do not propagate results +- from inner REGs to paradoxical SUBREGs. +- +-2018-01-21 Bill Schmidt +- +- Backport from mainline +- 2018-01-21 Bill Schmidt +- David Edelsohn +- +- PR target/83946 +- * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): +- Change "crset eq" to "crset 2". +- (*call_value_indirect_nonlocal_sysv): Likewise. +- (*call_indirect_aix_nospec): Likewise. +- (*call_value_indirect_aix_nospec): Likewise. +- (*call_indirect_elfv2_nospec): Likewise. +- (*call_value_indirect_elfv2_nospec): Likewise. +- (*sibcall_nonlocal_sysv): Change "crset eq" to "crset 2"; +- change assembly output from . to $. +- (*sibcall_value_nonlocal_sysv): Likewise. +- (indirect_jump_nospec): Change assembly output from . to $. +- (*tablejump_internal1_nospec): Likewise. +- +-2018-01-21 Oleg Endo +- +- Backport from mainline +- 2018-01-21 Oleg Endo +- +- PR target/80870 +- * config/sh/sh_optimize_sett_clrt.cc: +- Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes. +- +-2018-01-17 Bill Schmidt +- +- Backport from mainline +- 2018-01-16 Bill Schmidt +- +- * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for +- -mspeculate-indirect-jumps. +- * config/rs6000/rs6000.md (*call_indirect_elfv2): Disable +- for -mno-speculate-indirect-jumps. +- (*call_indirect_elfv2_nospec): New define_insn. +- (*call_value_indirect_elfv2): Disable for +- -mno-speculate-indirect-jumps. +- (*call_value_indirect_elfv2_nospec): New define_insn. +- (indirect_jump): Emit different RTL for +- -mno-speculate-indirect-jumps. +- (*indirect_jump): Disable for +- -mno-speculate-indirect-jumps. +- (*indirect_jump_nospec): New define_insn. +- (tablejump): Emit different RTL for +- -mno-speculate-indirect-jumps. +- (tablejumpsi): Disable for -mno-speculate-indirect-jumps. +- (tablejumpsi_nospec): New define_expand. +- (tablejumpdi): Disable for -mno-speculate-indirect-jumps. +- (tablejumpdi_nospec): New define_expand. +- (*tablejump_internal1): Disable for +- -mno-speculate-indirect-jumps. +- (*tablejump_internal1_nospec): New define_insn. +- * config/rs6000/rs6000.opt (mspeculate-indirect-jumps): New +- option. +- +- Backport from mainline +- 2018-01-17 Bill Schmidt +- +- * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): +- Generate different code for -mno-speculate-indirect-jumps. +- (*call_value_indirect_nonlocal_sysv): Likewise. +- (*call_indirect_aix): Disable for +- -mno-speculate-indirect-jumps. +- (*call_indirect_aix_nospec): New define_insn. +- (*call_value_indirect_aix): Disable for +- -mno-speculate-indirect-jumps. +- (*call_value_indirect_aix_nospec): New define_insn. +- (*sibcall_nonlocal_sysv): Generate different code for +- -mno-speculate-indirect-jumps. +- (*sibcall_value_nonlocal_sysv): Likewise. +- +-2018-01-17 Richard Biener +- +- Backport from mainline +- 2017-12-18 Richard Biener +- +- PR tree-optimization/81877 +- * tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters. +- (outermost_indep_loop): Adjust. +- (ref_indep_loop_p_1): Likewise. Remove safelen handling again. +- (can_sm_ref_p): Adjust. +- +- 2017-12-08 Richard Biener +- +- PR middle-end/81782 +- * tree-ssa-uninit.c (warn_uninitialized_vars): Properly +- handle accesses outside of zero-sized vars. +- +-2018-01-17 Kyrylo Tkachov +- +- Backport from mailine +- 2018-01-15 Kyrylo Tkachov +- +- PR target/83687 +- * config/arm/iterators.md (VF): New mode iterator. +- * config/arm/neon.md (neon_vabd_2): Use the above. +- Remove integer-related logic from pattern. +- (neon_vabd_3): Likewise. +- +-2018-01-17 Martin Liska +- +- Backport from mainline +- 2018-01-04 Martin Liska +- +- PR ipa/82352 +- * ipa-icf.c (sem_function::merge): Do not cross comdat boundary. +- +-2018-01-17 Martin Liska +- +- Backport from mainline +- 2018-01-03 Martin Liska +- +- PR ipa/83549 +- * cif-code.def (VARIADIC_THUNK): New enum value. +- * ipa-inline-analysis.c (compute_inline_parameters): +- Do not inline variadic thunks. +- +-2018-01-17 Martin Liska +- +- Backport from mainline +- 2017-12-27 Martin Liska +- +- PR tree-optimization/83552 +- * tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result +- of get_string_lenth to a SSA_NAME if not a GIMPLE value. +- +-2018-01-16 Segher Boessenkool +- +- Backport from mainline +- 2017-12-18 Segher Boessenkool +- +- PR rtl-optimization/83424 +- * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. +- +-2018-01-16 H.J. Lu +- +- * config/i386/i386.c (ix86_expand_prologue): Don't use reference +- of struct ix86_frame. +- (ix86_expand_epilogue): Likewise. +- +-2018-01-16 H.J. Lu +- +- Backport from mainline +- 2018-01-14 H.J. Lu +- +- * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow +- -mcmodel=3Dlarge with -mindirect-branch=3Dthunk, +- -mindirect-branch=3Dthunk-extern, -mfunction-return=3Dthunk and +- -mfunction-return=3Dthunk-extern. +- * doc/invoke.texi: Document -mcmodel=3Dlarge is incompatible with +- -mindirect-branch=3Dthunk, -mindirect-branch=3Dthunk-extern, +- -mfunction-return=3Dthunk and -mfunction-return=3Dthunk-extern. +- +-2018-01-16 H.J. Lu +- +- Backport from mainline +- 2018-01-14 H.J. Lu +- +- * config/i386/i386.c (print_reg): Print the name of the full +- integer register without '%'. +- (ix86_print_operand): Handle 'V'. +- * doc/extend.texi: Document 'V' modifier. +- +-2018-01-16 H.J. Lu +- +- Backport from mainline +- 2018-01-15 H.J. Lu +- +- * config/i386/predicates.md (indirect_branch_operand): Rewrite +- ix86_indirect_branch_register logic. +- +- Backport from mainline +- 2018-01-15 H.J. Lu +- +- * config/i386/constraints.md (Bs): Update +- ix86_indirect_branch_register check. Don't check +- ix86_indirect_branch_register with GOT_memory_operand. +- (Bw): Likewise. +- * config/i386/predicates.md (GOT_memory_operand): Don't check +- ix86_indirect_branch_register here. +- (GOT32_symbol_operand): Likewise. +- +- Backport from mainline +- 2018-01-15 H.J. Lu +- +- * config/i386/predicates.md (constant_call_address_operand): +- Rewrite ix86_indirect_branch_register logic. +- (sibcall_insn_operand): Likewise. +- +- Backport from mainline +- 2018-01-15 H.J. Lu +- +- * config/i386/constraints.md (Bs): Replace +- ix86_indirect_branch_thunk_register with +- ix86_indirect_branch_register. +- (Bw): Likewise. +- * config/i386/i386.md (indirect_jump): Likewise. +- (tablejump): Likewise. +- (*sibcall_memory): Likewise. +- (*sibcall_value_memory): Likewise. +- Peepholes of indirect call and jump via memory: Likewise. +- * config/i386/i386.opt: Likewise. +- * config/i386/predicates.md (indirect_branch_operand): Likewise. +- (GOT_memory_operand): Likewise. +- (call_insn_operand): Likewise. +- (sibcall_insn_operand): Likewise. +- (GOT32_symbol_operand): Likewise. +- +- Backport from mainline +- 2018-01-14 H.J. Lu +- +- * config/i386/constraints.md (Bs): Disallow memory operand for +- -mindirect-branch-register. +- (Bw): Likewise. +- * config/i386/predicates.md (indirect_branch_operand): Likewise. +- (GOT_memory_operand): Likewise. +- (call_insn_operand): Likewise. +- (sibcall_insn_operand): Likewise. +- (GOT32_symbol_operand): Likewise. +- * config/i386/i386.md (indirect_jump): Call convert_memory_address +- for -mindirect-branch-register. +- (tablejump): Likewise. +- (*sibcall_memory): Likewise. +- (*sibcall_value_memory): Likewise. +- Disallow peepholes of indirect call and jump via memory for +- -mindirect-branch-register. +- (*call_pop): Replace m with Bw. +- (*call_value_pop): Likewise. +- (*sibcall_pop_memory): Replace m with Bs. +- * config/i386/i386.opt (mindirect-branch-register): New option. +- * doc/invoke.texi: Document -mindirect-branch-register option. +- +-2018-01-16 H.J. Lu +- +- Backport from mainline +- 2018-01-15 H.J. Lu +- +- PR target/83839 +- * config/i386/i386.c (output_indirect_thunk_function): Use +- ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO +- for __x86.return_thunk. +- +- Backport from mainline +- 2018-01-14 H.J. Lu +- +- * config/i386/i386-protos.h (ix86_output_function_return): New. +- * config/i386/i386.c (ix86_set_indirect_branch_type): Also +- set function_return_type. +- (indirect_thunk_name): Add ret_p to indicate thunk for function +- return. +- (output_indirect_thunk_function): Pass false to +- indirect_thunk_name. +- (ix86_output_indirect_branch_via_reg): Likewise. +- (ix86_output_indirect_branch_via_push): Likewise. +- (output_indirect_thunk_function): Create alias for function +- return thunk if regno < 0. +- (ix86_output_function_return): New function. +- (ix86_handle_fndecl_attribute): Handle function_return. +- (ix86_attribute_table): Add function_return. +- * config/i386/i386.h (machine_function): Add +- function_return_type. +- * config/i386/i386.md (simple_return_internal): Use +- ix86_output_function_return. +- (simple_return_internal_long): Likewise. +- * config/i386/i386.opt (mfunction-return=3D): New option. +- (indirect_branch): Mention -mfunction-return=3D. +- * doc/extend.texi: Document function_return function attribute. +- * doc/invoke.texi: Document -mfunction-return=3D option. +- +-2018-01-16 H.J. Lu +- +- Backport from mainline +- 2018-01-14 H.J. Lu +- +- * config/i386/i386-opts.h (indirect_branch): New. +- * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. +- * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone +- with local indirect jump when converting indirect call and jump. +- (ix86_set_indirect_branch_type): New. +- (ix86_set_current_function): Call ix86_set_indirect_branch_type. +- (indirectlabelno): New. +- (indirect_thunk_needed): Likewise. +- (indirect_thunk_bnd_needed): Likewise. +- (indirect_thunks_used): Likewise. +- (indirect_thunks_bnd_used): Likewise. +- (INDIRECT_LABEL): Likewise. +- (indirect_thunk_name): Likewise. +- (output_indirect_thunk): Likewise. +- (output_indirect_thunk_function): Likewise. +- (ix86_output_indirect_branch_via_reg): Likewise. +- (ix86_output_indirect_branch_via_push): Likewise. +- (ix86_output_indirect_branch): Likewise. +- (ix86_output_indirect_jmp): Likewise. +- (ix86_code_end): Call output_indirect_thunk_function if needed. +- (ix86_output_call_insn): Call ix86_output_indirect_branch if +- needed. +- (ix86_handle_fndecl_attribute): Handle indirect_branch. +- (ix86_attribute_table): Add indirect_branch. +- * config/i386/i386.h (machine_function): Add indirect_branch_type +- and has_local_indirect_jump. +- * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump +- to true. +- (tablejump): Likewise. +- (*indirect_jump): Use ix86_output_indirect_jmp. +- (*tablejump_1): Likewise. +- (simple_return_indirect_internal): Likewise. +- * config/i386/i386.opt (mindirect-branch=3D): New option. +- (indirect_branch): New. +- (keep): Likewise. +- (thunk): Likewise. +- (thunk-inline): Likewise. +- (thunk-extern): Likewise. +- * doc/extend.texi: Document indirect_branch function attribute. +- * doc/invoke.texi: Document -mindirect-branch=3D option. +- +-2018-01-16 Richard Biener +- +- Backport from mainline +- 2017-09-29 Vladimir Makarov +- +- PR target/81481 +- * ira-costs.c (scan_one_insn): Don't take into account PIC equiv +- with a symbol for LRA. +- +-2018-01-15 Segher Boessenkool +- +- Backport from mainline +- 2018-01-10 Segher Boessenkool +- +- PR target/83629 +- * config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b, +- load_toc_v4_PIC_3c): Wrap const term in CONST RTL. +- +-2018-01-15 H.J. Lu +- +- Backport from mainline +- PR target/83330 +- * config/i386/i386.c (ix86_function_arg_advance): Set +- outgoing_args_on_stack to true if there are outgoing arguments +- on stack. +- (ix86_function_arg): Likewise. +- (ix86_compute_frame_layout): Align stack frame if argument is +- passed on stack. +- * config/i386/i386.h (machine_function): Add +- outgoing_args_on_stack. +- +-2018-01-15 H.J. Lu +- +- Backport from mainline +- * config/i386/i386.c (ix86_expand_prologue): Use reference of +- struct ix86_frame. +- (ix86_expand_epilogue): Likewise. +- +-2018-01-15 H.J. Lu +- +- Backport from mainline +- 2017-11-06 H.J. Lu +- +- * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference +- of struct ix86_frame. +- (ix86_initial_elimination_offset): Likewise. +- (ix86_expand_split_stack_prologue): Likewise. +- +-2018-01-15 H.J. Lu +- +- Backport from mainline +- 2017-06-01 Bernd Edlinger +- +- * config/i386/i386.c (ix86_frame): Moved to ... +- * config/i386/i386.h (ix86_frame): Here. +- (machine_function): Add frame. +- * config/i386/i386.c (ix86_compute_frame_layout): Repace the +- frame argument with &cfun->machine->frame. +- (ix86_can_use_return_insn_p): Don't pass &frame to +- ix86_compute_frame_layout. Copy frame from cfun->machine->frame. +- (ix86_can_eliminate): Likewise. +- (ix86_expand_prologue): Likewise. +- (ix86_expand_epilogue): Likewise. +- (ix86_expand_split_stack_prologue): Likewise. +- +-2018-01-14 Bill Schmidt +- +- Backport from mainline +- 2018-01-08 Bill Schmidt +- +- PR target/83677 +- * config/rs6000/altivec.md (*altivec_vpermr__internal): +- Reverse order of second and third operands in first alternative. +- * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order +- of first and second elements in UNSPEC_VPERMR vector. +- (altivec_expand_vec_perm_le): Likewise. +- +-2018-01-14 Uros Bizjak +- +- Backport from mainline +- 2018-01-12 Uros Bizjak +- +- PR target/83628 +- * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern. +- (*saddl_se_1): Ditto. +- (*ssubsi_1): Ditto. +- (*ssubl_se_1): Ditto. +- +- Backport from mainline +- 2018-01-09 Uros Bizjak +- +- PR target/83628 +- * combine.c (force_int_to_mode) : Use mode instead of +- op_mode in the force_to_mode call. +- +-2018-01-12 Oleg Endo +- +- Backport from mainline +- 2018-01-12 Oleg Endo +- +- PR target/81819 +- * config/rx/rx.c (rx_is_restricted_memory_address): +- Handle SUBREG case. +- +-2018-01-12 Eric Botcazou +- +- PR rtl-optimization/83565 +- * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do +- not extend the result to a larger mode for rotate operations. +- (num_sign_bit_copies1): Likewise. +- +-2018-01-12 Rainer Orth +- +- Backport from mainline +- 2018-01-04 Rainer Orth +- +- PR bootstrap/81926 +- * cgraphunit.c (symbol_table::compile): Switch to text_section +- before calling assembly_start debug hook. +- +-2018-01-11 Oleg Endo +- +- Backport from mainline +- 2018-01-11 Oleg Endo +- +- PR target/81821 +- * config/rx/rx.md (BW): New mode attribute. +- (sync_lock_test_and_setsi): Add mode suffix to insn output. +- +-2018-01-09 Richard Biener +- +- Backport from mainline +- 2018-01-08 Richard Biener +- +- PR middle-end/83713 +- * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks. +- +-2018-01-08 Jim Wilson +- +- Backport from mainline +- 2018-01-08 Monk Chiang +- Kito Cheng +- +- * config/riscv/riscv.c (machine_function::is_leaf): Remove field. +- (riscv_leaf_function_p): Delete. +- (riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE. +- +-2018-01-08 Kyrylo Tkachov +- +- Backport from mainline +- 2017-12-20 Kyrylo Tkachov +- +- PR target/82975 +- * config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830. +- +-2018-01-08 Sebastian Huber +- +- Backported from mainline +- 2018-01-05 Sebastian Huber +- +- * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration. +- * config/epiphany/rtems.h: New file. +- +-2018-01-04 Uros Bizjak +- +- PR target/83628 +- * config/alpha/alpha.md (*sadd): Use ASHIFT +- instead of MULT rtx. Update all corresponding splitters. +- (*saddl_se): Ditto. +- (*ssub): Ditto. +- (*ssubl_se): Ditto. +- (*cmp_sadd_di): Update split patterns. +- (*cmp_sadd_si): Ditto. +- (*cmp_sadd_sidi): Ditto. +- (*cmp_ssub_di): Ditto. +- (*cmp_ssub_si): Ditto. +- (*cmp_ssub_sidi): Ditto. +- * config/alpha/predicates.md (const23_operand): New predicate. +- * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]: +- Look for ASHIFT, not MULT inner operand. +- (alpha_split_conditional_move): Update for *sadd change. +- +-2018-01-02 Andrew Waterman +- +- * config/riscv/linux.h (ICACHE_FLUSH_FUNC): New. +- * config/riscv/riscv.md (clear_cache): Use it. +- +-2018-01-01 Jakub Jelinek +- +- PR middle-end/83608 +- * expr.c (store_expr_with_bounds): Use simplify_gen_subreg instead of +- convert_modes if target mode has the right side, but different mode +- class. +- +- PR middle-end/83609 +- * expr.c (expand_assignment): Fix up a typo in simplify_gen_subreg +- last argument when extracting from CONCAT. If either from_real or +- from_imag is NULL, use expansion through memory. If result is not +- a CONCAT and simplify_gen_subreg fails, try to simplify_gen_subreg +- the parts directly to inner mode, if even that fails, use expansion +- through memory. +- +- PR middle-end/83623 +- * expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT, +- check for bswap in mode rather than HImode and use that in expand_unop +- too. +- +-2017-12-23 Jakub Jelinek +- +- PR c++/83553 +- * fold-const.c (struct contains_label_data): New type. +- (contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless +- inside of a SWITCH_BODY seen during the walk. +- (contains_label_p): Use walk_tree instead of +- walk_tree_without_duplicates, prepare data for contains_label_1 and +- provide own pset. +- +-2017-12-22 Martin Jambor +- +- PR lto/82027 +- * lto-cgraph.c (output_cgraph_opt_summary_p): Also check former +- clones. +- +-2017-12-22 Jakub Jelinek +- +- Backported from mainline +- 2017-12-21 Jakub Jelinek +- +- PR c/83448 +- * gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index +- if navail is >=3D dir.len. +- +- PR rtl-optimization/80747 +- PR rtl-optimization/83512 +- * cfgrtl.c (force_nonfallthru_and_redirect): When splitting +- succ edge from ENTRY, copy partition from e->dest to the newly +- created bb. +- * bb-reorder.c (reorder_basic_blocks_simple): If last_tail is +- ENTRY, use BB_PARTITION of its successor block as current_partition. +- Don't copy partition when splitting succ edge from ENTRY. +- +- PR tree-optimization/83523 +- * tree-ssa-math-opts.c (is_widening_mult_p): Return false if +- for INTEGER_TYPE TYPE_OVERFLOW_TRAPS. +- (convert_mult_to_fma): Likewise. +- +- PR tree-optimization/83521 +- * tree-ssa-phiopt.c (factor_out_conditional_conversion): Use +- gimple_build_assign without code on result of +- fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create +- a VIEW_CONVERT_EXPR. +- +- 2017-12-19 Jakub Jelinek +- +- PR ipa/82801 +- PR ipa/83346 +- * ipa-inline.c (flatten_remove_node_hook): New function. +- (ipa_inline): Keep only nodes with flatten attribute at the end of +- the array in the order from ipa_reverse_postorder, only walk that +- portion of array for flattening, if there is more than one such +- node, temporarily register a removal hook and ignore removed nodes. +- +-2017-12-21 Uros Bizjak +- +- PR target/83467 +- * config/i386/i386.md (*ashl3_mask): Add operand +- constraints to operand 2. +- (*3_mask): Ditto. +- (*3_mask): Ditto. +- +-2017-12-19 Bin Cheng +- +- Backport from mainline +- 2017-11-15 Bin Cheng +- +- PR tree-optimization/82726 +- PR tree-optimization/70754 +- * tree-predcom.c (order_drefs_by_pos): New function. +- (combine_chains): Move code setting has_max_use_after to... +- (try_combine_chains): ...here. New parameter. Sort combined chains +- according to position information. +- (tree_predictive_commoning_loop): Update call to above function. +- (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New. +- +- 2017-11-15 Bin Cheng +- +- PR tree-optimization/82726 +- Revert +- 2017-01-23 Bin Cheng +- +- PR tree-optimization/70754 +- * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE. +- (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert +- combined stmt before it if not NULL. +- (combine_chains): Process refs reversely and compute dominance point +- for root ref. +- +- Revert +- 2017-02-23 Bin Cheng +- +- PR tree-optimization/79663 +- * tree-predcom.c (combine_chains): Process refs in reverse order +- only for ZERO length chains, and add explaining comment. +- +-2017-12-19 Sebastian Huber +- +- Backport from mainline +- 2017-12-19 Sebastian Huber +- +- PR target/83387 +- * config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float +- multilib. +- +-2017-12-19 Daniel Cederman +- +- Backport from mainline +- 2017-12-19 Daniel Cederman +- +- * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure +- the jump is to a label. +- +-2017-12-17 John David Anglin +- +- Backport from mainline +- 2017-12-03 John David Anglin +- +- * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, +- require base operand is a REG_POINTER prior to reload on targets +- with non-equivalent space registers. +- +-2017-12-15 Jakub Jelinek +- +- PR tree-optimization/83269 +- * fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A +- subtraction in arg0's type if type is signed and arg0 is unsigned. +- Formatting fix. +- +- Backported from mainline +- 2017-12-14 Jakub Jelinek +- +- PR tree-optimization/83198 +- * gimple-ssa-sprintf.c (format_floating): Set type solely based on +- dir.modifier, regardless of TREE_TYPE (arg). Assume non-REAL_CST +- value if arg is a REAL_CST with incompatible type. +- +- 2017-12-12 Jakub Jelinek +- +- PR tree-optimization/80631 +- * tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo. +- (vect_create_epilog_for_reduction): Add INDUC_VAL argument, for +- INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of +- hardcoding zero as the value if COND_EXPR is never true. For +- INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if +- INDUC_VAL is equal to INITIAL_DEF. +- (vectorizable_reduction): Compute INDUC_VAL for +- vect_create_epilog_for_reduction, if no value is suitable, don't +- use INTEGER_INDUC_COND_REDUCTION for now. Formatting fixes. +- +- 2017-12-08 Joseph Myers +- Alexander Monakov +- Jakub Jelinek +- +- PR target/81906 +- * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math. +- +- 2017-12-02 Jakub Jelinek +- +- PR c++/81212 +- * tree-cfg.c (pass_warn_function_return::execute): Handle +- __builtin_ubsan_handle_missing_return like __builtin_unreachable +- with BUILTINS_LOCATION. +- +- PR target/78643 +- PR target/80583 +- * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield +- is BLKmode for vector field with vector raw mode, use TYPE_MODE +- instead of DECL_MODE. +- +- 2017-11-29 Jakub Jelinek +- +- PR target/80819 +- * config/i386/sse.md (vec_concatv2di): Remove * from (=3DYr,0,*rm) +- alternative. +- +- 2017-11-25 Jakub Jelinek +- +- PR rtl-optimization/81553 +- * combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z) +- to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP +- is a shift where C1 has different mode than the whole shift, use C1's +- mode for MULT rather than the shift's mode. +- +- 2017-11-24 Jakub Jelinek +- +- PR sanitizer/83014 +- * ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer +- instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling +- tree_to_uhwi twice. +- +- * tree-object-size.c (pass_through_call): Do not handle +- BUILT_IN_STPNCPY_CHK which is not a pass through call. +- +- 2017-11-23 Jakub Jelinek +- +- PR middle-end/82253 +- * expr.c (expand_assignment): For CONCAT to_rtx, complex type from and +- bitpos/bitsize covering the whole destination, use store_expr only if +- the complex mode is the same. Otherwise, use expand_normal and if +- it returns CONCAT, subreg each part separately instead of trying to +- subreg the whole result. +- +- 2017-11-22 Jakub Jelinek +- +- PR debug/83084 +- * valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset +- debug insns if they would contain UNSPEC_VOLATILE or volatile asm. +- (dead_debug_insert_temp): Likewise, but also ignore even non-volatile +- asm. +- +- 2017-11-21 James Cowgill +- Jakub Jelinek +- +- PR target/82880 +- * config/mips/frame-header-opt.c (mips_register_frame_header_opt): +- Remove static keyword from f variable. +- +-2017-12-15 Richard Biener +- +- PR bootstrap/83439 +- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): +- Adjust remaining gimple_set_modified to use the modified +- variable instead. +- +-2017-12-15 Eric Botcazou +- +- PR target/66488 +- * ggc-page.c (HOST_BITS_PER_PTR): Do not define here... +- * hwint.h (HOST_BITS_PER_PTR): ...but here instead. +- * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete. +- +-2017-12-15 Richard Biener +- +- Backport from mainline +- PR tree-optimization/82060 +- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): +- Move devirtualization after stmt folding and before EH/AB/noreturn +- cleanup to get the stmt refs canonicalized. Use a bool instead +- of gimple_modified_p since that doesn't work for NOPs. Schedule +- NOPs generated by folding for removal. +- +-2017-12-15 Richard Biener +- +- Backport from mainline +- 2017-09-05 Richard Biener +- +- PR tree-optimization/82102 +- * tree-ssa-pre.c (eliminate): Check if lhs is NULL. +- +- 2017-09-13 Richard Biener +- +- PR middle-end/82128 +- * gimple-fold.c (gimple_fold_call): Update SSA name in-place to +- default-def to avoid breaking iterator update with the weird +- interaction with cgraph_update_edges_for_call_stmt_node. +- +-2017-12-15 Richard Biener +- +- Backport from mainline +- 2017-11-24 Richard Biener +- +- PR tree-optimization/82402 +- * tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly +- set SSA_NAME_OCCURS_IN_ABNORMAL_PHI. +- +- 2017-10-24 Richard Biener +- +- PR tree-optimization/82697 +- * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set +- zero for conditional load and unconditional store. +- +- 2017-11-02 Richard Biener +- +- PR middle-end/82765 +- * varasm.c (decode_addr_const): Make offset HOST_WIDE_INT. +- Truncate ARRAY_REF index and element size. +- +- 2017-11-09 Richard Biener +- +- PR tree-optimization/82902 +- * tree-ssa-phiprop.c (propagate_with_phi): Test proper type. +- +-2017-12-14 Peter Bergner +- +- Backport from mainline +- 2017-10-02 Peter Bergner +- +- PR target/80210 +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite +- function to not use the have_cpu variable. Do not set cpu_index, +- rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT +- or the default cpu. +- (rs6000_valid_attribute_p): Remove duplicate initializations of +- old_optimize and func_optimize. +- (rs6000_pragma_target_parse): Call rs6000_activate_target_options (). +- (rs6000_activate_target_options): Make global. +- * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add +- prototype. +- +-2017-12-13 Peter Bergner +- +- Backport from mainline +- 2017-12-13 Peter Bergner +- +- * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. +- * config/rs6000/rs6000.c (cpu_supports_info): Use it. +- +-2017-12-11 Michael Meissner +- +- Back port from trunk +- 2017-12-01 Michael Meissner +- +- PR target/81959 +- * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for +- whether we can allocate pseudos before trying to fix an address. +- * config/rs6000/rs6000.md (float_si2_hw): Make sure the +- memory address is indexed or indirect. +- (floatuns_si2_hw2): Likewise. +- +-2017-12-11 Sudakshina Das +- +- Backported from trunk +- 2017-12-01 Sudakshina Das +- +- * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute. +- +-2017-12-07 Kelvin Nilsen +- +- Backport from trunk +- 2017-05-08 Kelvin Nilsen +- +- PR target/80101 +- * config/rs6000/power6.md: Replace store_data_bypass_p calls with +- rs6000_store_data_bypass_p in seven define_bypass directives and +- in several comments. +- * config/rs6000/rs6000-protos.h: Add prototype for +- rs6000_store_data_bypass_p function. +- * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New +- function implements slightly different (rs6000-specific) semantics +- than store_data_bypass_p, returning false rather than aborting +- with assertion error when arguments do not satisfy the +- requirements of store data bypass. +- (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with +- rs6000_store_data_bypass_p. +- +-2017-12-06 Eric Botcazou +- +- Revert +- 2017-11-29 Martin Aberg +- +- * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length +- to prevent b2bst errata sequence. +- (sqrtdf2_fix): Likewise. +- +-2017-12-05 Max Filippov +- +- Backport from mainline +- 2017-12-05 Max Filippov +- * config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New +- function. +- (TARGET_ASAN_SHADOW_OFFSET): New macro definition. +- * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if +- ASAN is enabled. +- +-2017-12-05 Max Filippov +- +- Backport from mainline +- 2017-05-08 Max Filippov +- * config/xtensa/xtensa-protos.h +- (xtensa_initial_elimination_offset): New declaration. +- * config/xtensa/xtensa.c (xtensa_initial_elimination_offset): +- New function. Move its body from the INITIAL_ELIMINATION_OFFSET +- macro definition, add case for FRAME_POINTER_REGNUM when +- FRAME_GROWS_DOWNWARD. +- * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro +- definition. +- (INITIAL_ELIMINATION_OFFSET): Replace body with call to +- xtensa_initial_elimination_offset. +- +-2017-12-04 Eric Botcazou +- +- * config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref +- instead of MEM_P in a couple more places. Fix formatting issues. +- +-2017-12-04 Sebastian Peryt +- H.J. Lu +- +- Bakcported from trunk +- PR target/82941 +- PR target/82942 +- PR target/82990 +- * config/i386/i386.c (pass_insert_vzeroupper): Remove +- TARGET_AVX512F check from gate condition. +- (ix86_check_avx256_register): Changed to ... +- (ix86_check_avx_upper_register): ... this. Add extra check for +- VALID_AVX512F_REG_OR_XI_MODE. +- (ix86_avx_u128_mode_needed): Changed +- ix86_check_avx256_register to ix86_check_avx_upper_register. +- (ix86_check_avx256_stores): Changed to ... +- (ix86_check_avx_upper_stores): ... this. Changed +- ix86_check_avx256_register to ix86_check_avx_upper_register. +- (ix86_avx_u128_mode_after): Changed +- avx_reg256_found to avx_upper_reg_found. Changed +- ix86_check_avx256_stores to ix86_check_avx_upper_stores. +- (ix86_avx_u128_mode_entry): Changed +- ix86_check_avx256_register to ix86_check_avx_upper_register. +- (ix86_avx_u128_mode_exit): Ditto. +- (ix86_option_override_internal): Set MASK_VZEROUPPER if +- neither -mzeroupper nor -mno-zeroupper is used and +- TARGET_EMIT_VZEROUPPER is set. +- * config/i386/i386.h: (host_detect_local_cpu): New define. +- (TARGET_EMIT_VZEROUPPER): New. +- * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER +- +-2017-12-01 Segher Boessenkool +- +- Backport from mainline +- 2017-11-28 Segher Boessenkool +- +- PR 81288/target +- * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle +- TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. +- +-2017-11-30 Jim Wilson +- +- Backport from mainline +- 2017-11-30 Jim Wilson +- * doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and +- -mno-memcpy options. For -mplt, -mfdiv, -mdiv, -msave-restore, and +- -mstrict-align, add info on default value. Delete redundant lines for +- -mabi. Add missing -mexplicit-relocs docs. +- +- Backport from mainline +- 2017-11-01 Palmer Dabbelt +- * doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB". +- * doc/invoke.texi (RISC-V Options): Explicitly name the medlow +- and medany code models, and describe what they do. +- +- 2017-10-27 Palmer Dabbelt +- PR target/82717 +- * doc/invoke.texi (RISC-V) <-mabi>: Correct and improve. +- +-2017-11-29 Martin Jambor +- +- PR ipa/82808 +- * tree.c (expr_type_first_operand_type_p): New function. +- * tree.h (expr_type_first_operand_type_p): Declare it. +- * ipa-cp.c (ipa_get_jf_pass_through_result): Use it. +- +-2017-11-29 Daniel Cederman +- +- * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the +- movsi_pic_gotdata_op instruction as a load for the UT699 errata +- workaround. +- +-2017-11-29 Martin Aberg +- +- * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length +- to prevent b2bst errata sequence. +- (sqrtdf2_fix): Likewise. +- +-2017-11-29 Daniel Cederman +- +- * config/sparc/sparc.c (fpop_reg_depend_p): New function. +- (div_sqrt_insn_p): New function. +- (sparc_do_work_around_errata): Insert NOP instructions to +- prevent sequences that could trigger the TN-0013 errata for +- certain LEON3 processors. +- (pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt. +- (sparc_option_override): Set sparc_fix_lost_divsqrt appropriately. +- * config/sparc/sparc.md (fix_lost_divsqrt): New attribute. +- (in_branch_delay): Prevent div and sqrt in delay slot if +- fix_lost_divsqrt. +- * config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable. +- +-2017-11-29 Daniel Cederman +- +- * config/sparc/sparc.c (atomic_insn_p): New function. +- (sparc_do_work_around_errata): Insert NOP instructions to +- prevent sequences that could trigger the TN-0010 errata for +- UT700. +- * config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make +- instruction referable in atomic_insns_p. +- +-2017-11-29 Daniel Cederman +- +- * config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc. +- (atomic_compare_and_swap_leon3_1): Likewise. +- (ldstub): Likewise. +- +-2017-11-29 Daniel Cederman +- +- * config/sparc/sparc.c (fpop_insn_p): New function. +- (sparc_do_work_around_errata): Insert NOP instructions to +- prevent sequences that could trigger the TN-0012 errata for +- GR712RC. +- (pass_work_around_errata::gate): Also test sparc_fix_gr712rc. +- * config/sparc/sparc.md (fix_gr712rc): New attribute. +- (in_branch_annul_delay): Prevent floating-point instructions +- in delay slot of annulled integer branch. +- +-2017-11-28 Jim Wilson +- +- Backport from mainline +- 2017-11-04 Andrew Waterman +- +- * config/riscv/riscv.c (riscv_option_override): Conditionally set +- TARGET_STRICT_ALIGN based upon -mtune argument. +- +- Backport from mainline +- 2017-05-04 Andrew Waterman +- +- * config/riscv/riscv.opt (mstrict-align): New option. +- * config/riscv/riscv.h (STRICT_ALIGNMENT): Use it. Update comment. +- (SLOW_UNALIGNED_ACCESS): Define. +- (riscv_slow_unaligned_access): Declare. +- * config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access +- field. +- (riscv_slow_unaligned_access): New variable. +- (rocket_tune_info): Set slow_unaligned_access to true. +- (optimize_size_tune_info): Set slow_unaligned_access to false. +- (riscv_cpu_info_table): Add entry for optimize_size_tune_info. +- (riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN. +- (riscv_option_override): Set riscv_slow_unaligned_access. +- * doc/invoke.texi: Add -mstrict-align to RISC-V. +- +- Backport from mainline +- 2017-11-07 Michael Clark +- +- * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. +- (MUSL_DYNAMIC_LINKER): Likewise. +- +-2017-11-27 Jim Wilson +- +- Backport from mainline +- 2017-10-25 Palmer Dabbelt +- +- * config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define. +- * config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s, +- mark as a sign-extending load. +- (local_pic_load_u): Define. +- +- Backport from mainline +- 2017-11-03 Kito Cheng +- +- * config/riscv/riscv.c (riscv_legitimize_move): Handle +- non-legitimate address. +- +-2017-11-24 Segher Boessenkool +- +- Backport from mainline +- 2017-11-17 Segher Boessenkool +- +- PR rtl-optimization/82621 +- * combine.c (try_combine): Do not split PARALLELs of two SETs if the +- dest of one of those SETs is unused. +- +-2017-11-23 Oleg Endo +- +- Backport from mainline +- 2017-11-23 Oleg Endo +- +- PR target/83111 +- * config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel, +- sibcall_value_pcrel_fdpic): Use local variable instead of +- operands[3]. +- (calli_tbr_rel): Add missing operand 2. +- (call_valuei_tbr_rel): Add missing operand 3. +- +-2017-11-22 Richard Biener +- +- Revert +- 2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-11-21 Martin Liska +- +- PR rtl-optimization/82044 +- PR tree-optimization/82042 +- * dse.c (check_mem_read_rtx): Check for overflow. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-10-27 Martin Liska +- +- PR gcov-profile/82457 +- * doc/invoke.texi: Document that one needs a non-strict ISO mode +- for fork-like functions to be properly instrumented. +- +-2017-11-21 Pat Haugen +- +- Backport from mainline +- 2017-11-21 Pat Haugen +- +- * config/rs6000/ppc-asm.h (f50, vs50): Fix values. +- +-2017-11-21 Thomas Preud'homme +- +- Backport from mainline +- 2017-11-09 Thomas Preud'homme +- +- * config/arm/arm.c (output_return_instruction): Add comments to +- indicate requirement for cmse_nonsecure_entry return to account +- for the size of clearing instruction output here. +- (thumb_exit): Likewise. +- * config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for +- return in hardfloat mode. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-11-21 Martin Liska +- +- PR rtl-optimization/82044 +- PR tree-optimization/82042 +- * dse.c (check_mem_read_rtx): Check for overflow. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-11-08 Martin Liska +- +- * gimplify.c (expand_FALLTHROUGH_r): Simplify usage +- of gimple_call_internal_p. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-11-08 Martin Liska +- +- PR sanitizer/82792 +- * gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-10-31 Martin Liska +- +- PR gcov-profile/82633 +- * doc/gcov.texi: Document -fkeep-{static,inline}-functions and +- their interaction with GCOV infrastructure. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-10-19 Martin Liska +- +- PR driver/81829 +- * file-find.c (remove_prefix): Remove. +- * file-find.h (remove_prefix): Likewise. +- * gcc-ar.c: Remove smartness of lookup. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-10-18 Martin Liska +- +- PR sanitizer/82545 +- * asan.c (asan_expand_poison_ifn): Do not put gimple stmt +- on an abnormal edge. +- +-2017-11-21 Martin Liska +- +- Backport from mainline +- 2017-10-11 Martin Liska +- +- * print-rtl.c (print_insn): Move declaration of idbuf +- to same scope as name. +- +-2017-11-21 Claudiu Zissulescu +- +- Backport from mainline +- 2017-11-17 Vineet Gupta +- +- * config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc +- upstreaming review comments. +- +-2017-11-21 Rainer Orth +- +- Backport from mainline +- 2017-11-14 Rainer Orth +- +- * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since +- Solaris 11. Update comment. +- * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 +- renaming. +- * config/sol2.h (STARTFILE_SPEC): Likewise. +- * configure: Regenerate. +- +-2017-11-20 Segher Boessenkool +- +- Backport from mainline +- 2017-09-20 Segher Boessenkool +- +- PR target/77687 +- * config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch +- address instead of to r1 and r11. +- +-2017-11-17 Vineet Gupta +- +- * config.gcc: Remove uclibc from arc target spec. +- +-2017-11-16 Uros Bizjak +- +- * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop +- explicitly as a stream of bytes. +- +-2017-11-15 Richard Biener +- +- PR tree-optimization/82985 +- Backport from mainline +- 2017-08-15 Richard Biener +- +- PR tree-optimization/81790 +- * tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both +- CONSTRUCTORs from simplifying and VN. +- +-2017-11-15 Pierre-Marie de Rodat +- +- Backport from mainline +- 2017-09-25 Pierre-Marie de Rodat +- +- PR debug/82155 +- * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl +- on the FUNCTION_DECL function context if it has a DIE that is a +- declaration. +- +-2017-11-13 Rainer Orth +- +- Backport from mainline +- 2017-10-26 Rainer Orth +- +- * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler +- supports -xbrace_comment option. +- * configure: Regenerate. +- * config.in: Regenerate. +- * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. +- (ASM_CPU_SPEC): Use it. +- +-2017-11-09 Segher Boessenkool +- +- Backport from mainline +- 2017-11-01 Segher Boessenkool +- +- PR rtl-optimization/64682 +- PR rtl-optimization/69567 +- PR rtl-optimization/69737 +- PR rtl-optimization/82683 +- * combine.c (distribute_notes) : If the new I2 sets the same +- register mentioned in the note, drop the note, unless it came from I3, +- in which case it should go to I3 again. +- +-2017-11-07 Eric Botcazou +- +- Backport from mainline +- 2017-10-31 Matthew Fortune +- Eric Botcazou +- +- PR rtl-optimization/81803 +- * lra-constraints.c (curr_insn_transform): Also reload the whole +- register for a strict subreg no wider than a word if this is for +- a WORD_REGISTER_OPERATIONS target. +- +-2017-11-03 Wilco Dijkstra +- +- PR middle-end/60580 +- * config/aarch64/aarch64.c (aarch64_frame_pointer_required) +- Check special value of flag_omit_frame_pointer. +- (aarch64_can_eliminate): Likewise. +- (aarch64_override_options_after_change_1): Simplify handling of +- -fomit-frame-pointer and -fomit-leaf-frame-pointer. +- +-2017-11-01 Martin Jambor +- +- PR c++/81702 +- * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert. +- +-2017-10-31 Uros Bizjak +- +- PR target/82772 +- * config/alpha/sync.md (fetchop_constr) : Change to "rINM". +- +-2017-10-27 Jakub Jelinek +- +- Backported from mainline +- 2017-10-12 Jakub Jelinek +- +- PR c++/82159 +- * expr.c (store_field): Don't optimize away bitsize =3D=3D 0 store +- from CALL_EXPR with addressable return type. +- +- 2017-09-21 Jakub Jelinek +- +- PR sanitizer/81715 +- * tree-inline.c (expand_call_inline): Emit clobber stmts for +- VAR_DECLs to which addressable non-volatile parameters are mapped +- and for id->retvar after the return value assignment, though +- for -fsanitize=3Dkernel-address only. Clear id->retval and id->retbnd +- after inlining. +- +- 2017-09-18 Jakub Jelinek +- +- PR c/82234 +- * doc/extend.texi: Add @findex entry for __builtin_shuffle. +- +- 2017-09-15 Jakub Jelinek +- +- PR rtl-optimization/82192 +- * combine.c (make_extraction): Don't look through non-paradoxical +- SUBREGs or TRUNCATE if pos + len is or might be bigger than +- inner's mode. +- +-2017-10-27 Jakub Jelinek +- +- PR target/82703 +- * config/i386/i386-protos.h (maybe_get_pool_constant): Removed. +- * config/i386/i386.c (maybe_get_pool_constant): Removed. +- (ix86_split_to_parts): Use avoid_constant_pool_reference instead of +- maybe_get_pool_constant. +- * config/i386/predicates.md (zero_extended_scalar_load_operand): +- Likewise. +- +-2017-10-24 Qing Zhao +- Wilco Dijkstra +- +- * builtins.c (expand_builtin_update_setjmp_buf): Add a +- converstion to Pmode from the buf_addr. +- +-2017-10-20 Richard Biener +- +- PR tree-optimization/82603 +- * tree-if-conv.c (predicate_mem_writes): Make sure to only +- remove false predicated stores. +- +-2017-10-20 Richard Biener +- +- Backport from mainline +- 2017-10-06 Richard Biener +- +- PR tree-optimization/82436 +- * tree-vect-slp.c (vect_supported_load_permutation_p): More +- conservatively choose the vectorization factor when checking +- whether we can perform the required load permutation. +- (vect_transform_slp_perm_load): Assert when we may not fail. +- +-2017-10-19 Richard Earnshaw +- +- PR target/82445 +- * config/arm/arm.c (align_ok_ldrd_strd): New function. +- (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of +- the mem into it. +- (gen_operands_ldrd_strd): Validate the alignment of the accesses. +- +-2017-10-18 Segher Boessenkool +- +- PR rtl-optimization/82602 +- * ira.c (rtx_moveable_p): Return false for volatile asm. +- +-2017-10-18 Vladimir Makarov +- +- PR middle-end/82556 +- * lra-constraints.c (curr_insn_transform): Use non-input operand +- instead of output one for matched reload. +- +-2017-10-17 Jakub Jelinek +- +- PR tree-optimization/82549 +- * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): +- Formatting fixes. Instead of calling make_bit_field_ref with negative +- bitpos return 0. +- +-2017-10-13 Jakub Jelinek +- +- PR target/82274 +- * internal-fn.c (expand_mul_overflow): If both operands have +- the same highpart of -1 or 0 and the topmost bit of lowpart +- is different, overflow is if res <=3D 0 rather than res < 0. +- +- PR target/82524 +- * config/i386/i386.md (addqi_ext_1, andqi_ext_1, +- *andqi_ext_1_cc, *qi_ext_1, *xorqi_ext_1_cc): Change +- =3DQ constraints to +Q and into insn condition add check +- that operands[0] and operands[1] are equal. +- (*addqi_ext_2, *andqi_ext_2, *qi_ext_2): Change +- =3DQ constraints to +Q and into insn condition add check +- that operands[0] is equal to either operands[1] or operands[2]. +- +-2017-10-10 Andreas Tobler +- +- Backported from mainline r253602 +- 2017-10-10 Andreas Tobler +- +- * config.gcc: (armv7*-*-freebsd*): New target. +- (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define. +- +-2017-10-06 Christophe Lyon +- +- Backport from mainline r253242. +- 2017-09-27 Christophe Lyon +- +- PR target/71727 +- * config/aarch64/aarch64.c +- (aarch64_builtin_support_vector_misalignment): Always return false +- when misalignment is unknown. +- +-2017-10-04 Jason Merrill +- +- PR c++/82406 - C++ error with noexcept function type +- PR c++/70029 - ICE with ref-qualifier and -flto +- * langhooks.h (struct lang_hooks_for_types): Add +- copy_lang_qualifiers. +- * attribs.c (build_type_attribute_qual_variant): Use it. +- * langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to +- NULL. +- (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. +- * tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check. +- +-2017-10-02 Bill Schmidt +- +- Backport from mainline +- 2017-09-29 Bill Schmidt +- +- PR tree-optimization/82337 +- * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a +- phi definition if the PHI result appears in an abnormal PHI. +- (find_basis_for_base_expr): Don't record a basis if the LHS of the +- basis appears in an abnormal PHI. +- +-2017-09-30 Jakub Jelinek +- +- * config/i386/i386.c (ix86_split_idivmod): Use mode instead of +- always SImode for DIV and MOD in REG_EQUAL notes. +- +- Backported from mainline +- 2017-09-27 Jakub Jelinek +- +- PR c++/82159 +- * gimplify.c (gimplify_modify_expr): Don't optimize away zero sized +- lhs from calls if the lhs has addressable type. +- +-2017-09-29 Krister Walfridsson +- +- Backport from mainline +- 2017-06-29 Maya Rashish +- +- PR target/77480 +- * config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared +- objects. +- +-2017-09-29 Krister Walfridsson +- +- Backport from mainline +- 2017-09-26 Krister Walfridsson +- +- PR target/39570 +- * gcc/config/netbsd-protos.h: New file. +- * gcc/config/netbsd.c: New file. +- * gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define. +- * gcc/config/t-netbsd: New file. +- * gcc/config.gcc (tm_p_file): Add netbsd-protos.h. +- (tmake_file) Add t-netbsd. +- (extra_objs) Add netbsd.o. +- +-2017-09-28 Krister Walfridsson +- +- Backport from mainline +- 2017-05-14 Krister Walfridsson +- +- PR target/80600 +- * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc. +- +-2017-09-27 Christophe Lyon +- +- Backport from trunk r249639. +- 2017-06-26 Christophe Lyon +- +- * doc/sourcebuild.texi (ARM-specific attributes): Document new +- arm_neon_ok_no_float_abi effective target. +- +-2017-09-26 Richard Biener +- +- Backport from mainline +- 2017-09-19 Richard Biener +- +- PR tree-optimization/82244 +- * tree-vrp.c (remove_range_assertions): Do not propagate +- a constant to abnormals but replace the assert with a copy. +- +- 2017-09-21 Richard Biener +- +- PR tree-optimization/82276 +- PR tree-optimization/82244 +- * tree-vrp.c (build_assert_expr_for): Set +- SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on +- has it set. +- (remove_range_assertions): Revert earlier change. +- +- 2017-09-20 Richard Biener +- +- PR tree-optimization/82264 +- * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check +- for GIMPLE_CONDs. +- (vn_phi_lookup): Likewise. +- (vn_phi_insert): Likewise. +- * is-a.h (safe_dyn_cast): New. +- +- 2017-09-25 Richard Biener +- +- PR tree-optimization/82285 +- * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle +- enumeral types. +- +- 2017-09-22 Richard Biener +- +- PR tree-optimization/82291 +- * tree-if-conv.c (predicate_mem_writes): Make sure to +- remove writes in blocks predicated with false. +- +-2017-09-21 Alan Modra +- +- PR target/81996 +- * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use +- stack_pointer_rtx for count 0. Update comments. Break up +- large rtl expression. +- +-2017-09-21 Wilco Dijkstra +- +- PR target/71951 +- * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define. +- +-2017-09-19 Uros Bizjak +- +- * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H +- to processor_model and "amdfam17h" to arch_names_table. +- * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. +- +-2017-09-19 Martin Liska +- +- PR c++/81355 +- * config/i386/i386.c (sorted_attr_string): Skip empty strings. +- +-2017-09-19 Martin Liska +- +- Revert backport: +- 2017-08-10 Martin Liska +- +- PR c++/81355 +- * c-attribs.c (handle_target_attribute): +- Report warning for an empty string argument of target attribute. +- +-2017-09-18 Richard Biener +- +- Backport from mainline +- 2017-09-04 Richard Biener +- +- PR tree-optimization/82084 +- * fold-const.h (can_native_encode_string_p): Declare. +- * fold-const.c (can_native_encode_string_p): Factor out from ... +- (native_encode_string): ... here. +- * tree-vect-stmts.c (vectorizable_store): Call it to avoid +- vectorizing stores from constants we later cannot handle. +- +- 2017-09-06 Richard Biener +- +- PR tree-optimization/82108 +- * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment +- for gap in the non-permutation SLP case. +- +-2017-09-15 Jakub Jelinek +- +- Backported from mainline +- 2017-09-14 Jakub Jelinek +- +- PR target/81325 +- * cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions +- if and where to split a bb, except for splitting before debug insn +- sequences followed by non-label real insn. Delete debug insns +- in between basic blocks. +- +- 2017-09-12 Jakub Jelinek +- +- PR target/82112 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For +- ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion +- on it early, rather than manual conversion late. For +- ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion +- instead of performing manual conversion. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-09-14 Martin Liska +- +- * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): +- Add proper printf format. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-08-30 Martin Liska +- +- PR inline-asm/82001 +- * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): +- Rename to ... +- (func_checker::compare_asm_inputs_outputs): ... this function. +- (func_checker::compare_gimple_asm): Use the function to compare +- also ASM constrains. +- * ipa-icf-gimple.h: Rename the function. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-08-29 Martin Liska +- +- PR other/39851 +- * gcc.c (driver_handle_option): Add new argument. +- * opts-common.c (handle_option): Pass +- target_option_override_hook. +- * opts-global.c (lang_handle_option): Add new option. +- (set_default_handlers): Add new argument. +- (decode_options): Likewise. +- * opts.c (target_handle_option): Likewise. +- (common_handle_option): Call target_option_override_hook. +- * opts.h (struct cl_option_handler_func): Add hook for +- target option override. +- (struct cl_option_handlers): Likewise. +- (set_default_handlers): Add new argument. +- (decode_options): Likewise. +- (common_handle_option): Likewise. +- (target_handle_option): Likewise. +- * toplev.c (toplev::main): Pass targetm.target_option.override +- hook. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-08-10 Martin Liska +- +- PR c++/81355 +- * c-attribs.c (handle_target_attribute): +- Report warning for an empty string argument of target attribute. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-08-08 Martin Liska +- +- PR tree-opt/81696 +- * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider +- LABEL_DECLs that can be from a different function. +- +-2017-09-15 Martin Liska +- +- Backport from mainline +- 2017-06-28 Martin Liska +- +- PR ipa/81128 +- * ipa-visibility.c (non_local_p): Handle visibility. +- +-2017-09-12 Bill Schmidt +- +- Backport from mainline +- 2017-09-05 Bill Schmidt +- +- PR target/81833 +- * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a +- define_insn to a define_expand. +- (altivec_vsum2sws_direct): New define_insn. +- (altivec_vsumsws): Convert from a define_insn to a define_expand. +- +-2017-09-11 Max Filippov +- +- Backport from mainline +- PR target/82181 +- * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both +- words of DImode object are reachable by xtensa_uimm8x4 access. +- +-2017-09-10 Bill Schmidt +- +- Backport from mainline +- 2017-05-11 Bill Schmidt +- +- PR target/80695 +- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): +- Account for direct move costs for vec_construct of integer +- vectors. +- +- Backport from mainline +- 2017-07-23 Bill Schmidt +- +- PR target/80695 +- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): +- Reduce cost estimate for direct moves. +- +-2017-09-08 Eric Botcazou +- +- PR target/81988 +- * config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32. +- (*mulsi3_sp64): New instruction. +- (mulsi3): New expander. +- +-2017-09-07 Jakub Jelinek +- +- Backported from mainline +- 2017-09-05 Jakub Jelinek +- +- PR middle-end/81768 +- * omp-low.c (lower_omp_for): Recompute tree invariant if +- gimple_omp_for_initial/final is ADDR_EXPR. +- +- PR middle-end/81768 +- * omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR +- into gimple val before gimplification fo the COND_EXPR. +- +- 2017-09-04 Jakub Jelinek +- +- * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. +- +- 2017-09-01 Jakub Jelinek +- +- PR sanitizer/81923 +- * asan.c (create_odr_indicator): Strip name encoding from assembler +- name before appending it after __odr_asan_. +- +- 2017-08-09 Jakub Jelinek +- +- PR c/81687 +- * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL +- LABEL_DECLs. +- * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL +- or DECL_NONLOCAL labels. +- (move_stmt_r) : Adjust DECL_CONTEXT of FORCED_LABEL +- or DECL_NONLOCAL labels here. +- +- 2017-08-03 Jakub Jelinek +- +- PR target/81621 +- * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish +- after setting changeable df flags. +- +- PR driver/81650 +- * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??) +- instead of 10??LU, perform unit multiplication in wide_int, +- don't change alloc_object_size_limit if the limit is larger +- than SSIZE_MAX. +- +- PR middle-end/81052 +- * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. +- (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. +- +-2017-09-06 Bill Schmidt +- +- Backport from mainline: +- 2017-08-30 Bill Schmidt +- +- PR tree-optimization/81987 +- * gimple-ssa-strength-reduction.c (insert_initializers): Don't +- insert an initializer in a location not dominated by the stride +- definition. +- +-2017-09-05 Bill Schmidt +- +- Backport from mainline +- 2017-08-29 Bill Schmidt +- Jakub Jelinek +- Richard Biener +- +- PR tree-optimization/81503 +- * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure +- folded constant fits in the target type; reorder tests for clarity. +- +-2017-09-05 Pierre-Marie de Rodat +- +- Backport from trunk +- PR ada/79542 +- * dwarf2out.c (modified_type_die): For C typedef types that have +- an ultimate origin, process the ultimate origin instead of the +- input type. +- (gen_typedef_die): Assert that input DECLs have no ultimate +- origin. +- (gen_type_die_with_usage): For typedef variants that have an +- ultimate origin, just call gen_decl_die on the original DECL. +- (process_scope_var): Avoid creating DIEs for local typedefs and +- concrete static variables. +- +-2017-08-31 Bill Schmidt +- +- Backport from mainline +- 2017-08-25 Bill Schmidt +- +- PR target/81504 +- * config/rs6000/rs6000.c (find_alignment_op): Add reference +- parameter and_insn and return it. +- (recombine_lvx_pattern): Insert a copy to ensure availability of +- the base register of the copied masking operation at the point of +- the instruction replacement. +- (recombine_stvx_pattern): Likewise. +- +-2017-08-29 Michael Meissner +- +- Back port from trunk +- 2017-08-07 Michael Meissner +- +- PR target/81593 +- * config/rs6000/vsx.md (vsx_concat__1): New combiner insns +- to recognize inserting into a vector from a double word element +- that was extracted from another vector, and eliminate extra +- XXPERMDI instructions. +- (vsx_concat__2): Likewise. +- (vsx_concat__3): Likewise. +- (vsx_set_, VSX_D): Rewrite vector set in terms of vector +- concat to allow optimizing inserts from previous extracts. +- +-2017-08-29 Alan Modra +- +- Apply from mainline +- 2017-08-12 Alan Modra +- PR target/81170 +- PR target/81295 +- * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to +- match gnu-user.h startfile. +- (ENDFILE_LINUX_SPEC): Similarly. +- +- 2017-08-08 Alan Modra +- H.J. Lu +- PR target/81170 +- PR target/81295 +- PR driver/81523 +- * gcc.c (NO_PIE_SPEC): Delete. +- (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r +- exclusion.. +- (LINK_PIE_SPEC): ..to here. +- (LINK_COMMAND_SPEC): Support -no-pie. +- * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct +- chain of crtbegin*.o selection, update for PIE_SPEC changes and +- format. +- (GNU_USER_TARGET_ENDFILE_SPEC): Similarly. +- * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly. +- (ENDFILE_CRTEND_SPEC): Similarly. +- +-2017-08-29 Richard Biener +- +- Backport from mainline +- 2017-08-28 Richard Biener +- +- PR tree-optimization/81977 +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through +- memcpy. +- +- 2017-08-28 Richard Biener +- +- PR debug/81993 +- * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): +- Do nothing for removed DIEs. +- +-2017-08-28 Richard Biener +- +- Backport from mainline +- 2017-06-14 Richard Biener +- +- PR middle-end/81088 +- * fold-const.c (split_tree): Drop TREE_OVERFLOW flag from +- literal constants. +- (fold_binary_loc): When associating do not treat pre-existing +- TREE_OVERFLOW on literal constants as a reason to allow +- TREE_OVERFLOW on associated literal constants. +- +- 2017-06-13 Richard Biener +- +- PR middle-end/81065 +- * fold-const.c (extract_muldiv_1): Remove bogus distribution +- case of C * (x * C2 + C3). +- (fold_addr_of_array_ref_difference): Properly fold index difference. +- +- 2017-06-07 Marek Polacek +- +- PR sanitizer/80932 +- * fold-const.c (extract_muldiv_1) : Add +- TYPE_OVERFLOW_WRAPS check. +- +-2017-08-28 Richard Biener +- +- Backport from mainline +- 2017-08-21 Richard Biener +- +- PR middle-end/81884 +- * tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses +- at struct end conservatively when comparing common bases. +- +- 2017-05-04 Richard Biener +- +- * tree.c (array_at_struct_end_p): Handle arrays at struct +- end with flexarrays more conservatively. Refactor and treat +- arrays of arrays or aggregates more strict. Fix +- VIEW_CONVERT_EXPR handling. Remove allow_compref argument. +- * tree.h (array_at_struct_end_p): Adjust prototype. +- * gimple-fold.c (get_range_strlen): Likewise. +- * tree-chkp.c (chkp_may_narrow_to_field): Likewise. +- +-2017-08-28 Richard Biener +- +- Backport from mainline +- 2017-08-01 Richard Biener +- +- PR tree-optimization/81181 +- * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... +- (compute_antic): ... end of iteration here. +- +- 2017-08-08 Richard Biener +- +- PR tree-optimization/81723 +- * tree-vect-slp.c (struct bst_traits): New hash traits. +- (bst_fail): New global. +- (vect_build_slp_tree_2): New worker, split out from ... +- (vect_build_slp_tree): ... this now wrapping it with using +- bst_fail set to cache SLP tree build fails. Properly handle +- max_tree_size. +- (vect_analyze_slp_instance): Allocate and free bst_fail. +- +- 2017-08-24 Richard Biener +- +- PR target/81921 +- * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h +- and ipa-inline.h. +- (ix86_can_inline_p): When ix86_fpmath flags do not match +- check whether the callee uses FP math at all. +- +-2017-08-23 Peter Bergner +- +- Backport from mainline +- 2017-08-17 Peter Bergner +- +- PR target/72804 +- * config/rs6000/vsx.md (*vsx_le_permute_): Add support for +- operands residing in integer registers. +- (*vsx_le_perm_load_): Likewise. +- (*vsx_le_perm_store_): Likewise. +- (define_peephole2): Add peepholes to optimize the above. +- +-2017-08-22 Peter Bergner +- +- Backport from mainline +- 2017-08-17 Peter Bergner +- +- PR target/80210 +- * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. +- (rs6000_set_current_function): Rewrite function to use it. +- +-2017-08-22 Sebastian Huber +- +- Backport from mainline +- 2017-08-22 Sebastian Huber +- +- * config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt. +- * config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define. +- (DOT_SYMBOLS): Likewise. +- (MINIMAL_TOC_SECTION_ASM_OP): Likewise. +- (RELOCATABLE_NEEDS_FIXUP): Likewise. +- (RS6000_ABI_NAME): Likewise. +- (TARGET_CMODEL): Likewise. +- (TOC_SECTION_ASM_OP): Likewise. +- (SET_CMODEL): New macro. +- (SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options. +- +-2017-08-22 Georg-Johann Lay +- +- Backport from 2017-08-22 trunk r251256. +- +- PR target/81910 +- * config/avr/avr.c (avr_handle_addr_attribute): Early return if +- not VAR_P. Filter attribute warnings with OPT_Wattributes. +- (avr_attribute_table) : Initialize +- .decl_required with true. +- +-2017-08-21 Georg-Johann Lay +- +- PR target/79883 +- * config/avr/avr.c (avr_set_current_function): Typo in diagnostic. +- +-2017-08-19 Uros Bizjak +- +- PR target/81894 +- * doc/extend.texi (x86 Built-in Functions): Correct the name of +- __builtin_ia32_lzcnt_u16. +- +-2017-08-17 Uros Bizjak +- +- Backport from mainline +- 2017-08-17 Maxim Ostapenko +- +- PR target/81861 +- * config/i386/i386.c (ix86_option_override_internal): Save target +- specific options after ix86_stack_protector_guard_reg was changed. +- +-2017-08-16 Bill Schmidt +- +- Backport from mainline +- 2017-08-08 Bill Schmidt +- +- PR tree-optimization/81354 +- * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): +- Insert on edges rather than explicitly creating landing pads. +- (analyze_candidates_and_replace): Commit edge inserts. +- +-2017-08-15 Joseph Myers +- +- PR target/78460 +- PR target/67712 +- * config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for +- constant count if that count is less than 32. +- +-2017-08-14 Richard Biener +- +- * BASE-VER: Set to 7.2.1. +- +-2017-08-14 Release Manager +- +- * GCC 7.2.0 released. +- +-2017-08-08 Richard Biener +- +- PR middle-end/81766 +- * function.c (thread_prologue_and_epilogue_insns): Restore +- behavior of always calling find_many_sub_basic_blocks on +- the inserted prologue. +- +-2017-08-02 Jakub Jelinek +- +- PR middle-end/79499 +- * function.c (thread_prologue_and_epilogue_insns): Determine blocks +- for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN +- of first NONDEBUG_INSN_P in each of the split_prologue_seq and +- prologue_seq sequences - if any. +- +-2017-08-01 Uros Bizjak +- +- PR target/81641 +- * config/i386/i386.c (ix86_print_operand_address_as): For -masm=3Dintel +- print "ds:" only for immediates in generic address space. +- +-2017-08-01 Jakub Jelinek +- +- PR target/81622 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For +- __builtin_vec_cmpne verify both arguments are compatible vectors +- before looking at TYPE_MODE on the element type. For __builtin_vec_ld +- verify arg1_type is a pointer or array type. For __builtin_vec_st, +- move computation of aligned to after checking the argument types. +- Formatting fixes. +- +-2017-08-01 Martin Liska +- +- Backport from mainline +- 2017-07-26 Martin Liska +- +- PR gcov-profile/81561 +- * gcov.c (unblock): Make unblocking safe as we need to preserve +- index correspondence of blocks and block_lists. +- +-2017-08-01 Richard Biener +- +- PR tree-optimization/71752 +- PR tree-optimization/81633 +- * tree-vect-slp.c (vect_get_slp_defs): Handle null operands +- in the original suggested way. +- +-2017-08-01 Richard Sandiford +- +- PR tree-optimization/80769 +- * tree-ssa-strlen.c (strinfo): Document that "stmt" is also used +- for malloc and calloc. Document the new invariant that all related +- strinfos have delayed lengths or none do. +- (get_next_strinfo): New function. +- (verify_related_strinfos): Move earlier in file. +- (set_endptr_and_length): New function, split out from... +- (get_string_length): ...here. Also set the lengths of related +- strinfos. +- +-2017-08-01 Jakub Jelinek +- +- PR tree-optimization/81588 +- * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If +- ranges[i].in_p, invert comparison code ccode. For >/>=3D, +- swap rhs1 and rhs2 and comparison code unconditionally, +- for rank is BIT_IOR_EXPR. +- +-2017-07-31 Andreas Krebbel +- +- Backport from mainline +- 2017-07-31 Andreas Krebbel +- +- * config.gcc: Add z14. +- * config/s390/driver-native.c (s390_host_detect_local_cpu): Add +- CPU model numbers for z13s and z14. +- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace +- arch12 with z14. +- * config/s390/s390-opts.h (enum processor_type): Rename +- PROCESSOR_ARCH12 to PROCESSOR_3906_Z14. +- * config/s390/s390.c (processor_table): Add field for CPU name to +- be passed to Binutils. +- (s390_asm_output_machine_for_arch): Use the new field in +- processor_table for Binutils. +- (s390_expand_builtin): Replace arch12 with z14. +- (s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14. +- (s390_get_sched_attrmask): Likewise. +- (s390_get_unit_mask): Likewise. +- * config/s390/s390.opt: Add z14 to processor_type enum. +- +-2017-07-31 Jakub Jelinek +- +- PR sanitizer/81604 +- * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't +- change type to the element type, instead add eltype variable and +- use it where we are interested in the element type. +- +-2017-07-28 Peter Bergner +- +- Backport from mainline +- 2017-07-28 Peter Bergner +- +- * config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define. +- (PPC_FEATURE2_SCV): Likewise. +- * config/rs6000/rs6000.c (cpu_supports_info): Use them. +- +-2017-07-28 David Edelsohn +- +- Backport from mainline +- 2017-07-25 David Edelsohn +- +- * dwarf2asm.c (dw2_asm_output_nstring): Encode double quote +- character for AIX. +- * dwarf2out.c (output_macinfo): Copy debug_line_section_label +- to dl_section_ref. On AIX, append an expression to subtract +- the size of the section length to dl_section_ref. +- +-2017-07-28 Bin Cheng +- +- Backport from mainline r250496 +- 2017-07-25 Bin Cheng +- +- PR target/81414 +- * config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac +- instructions if no du chain is found. +- +-2017-07-28 Sebastian Huber +- +- Backport from mainline +- 2017-07-28 Sebastian Huber +- +- * config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h. Add +- rs6000/biarch64.h. +- * config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro. +- (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. +- (CRT_CALL_STATIC_FUNCTION): Likewise. +- (ASM_DEFAULT_SPEC): New define. +- (ASM_SPEC32): Likewise. +- (ASM_SPEC64): Likewise. +- (ASM_SPEC_COMMON): Likewise. +- (ASM_SPEC): Likewise. +- (INVALID_64BIT): Likewise. +- (LINK_OS_DEFAULT_SPEC): Likewise. +- (LINK_OS_SPEC32): Likewise. +- (LINK_OS_SPEC64): Likewise. +- (POWERPC_LINUX): Likewise. +- (PTRDIFF_TYPE): Likewise. +- (RESTORE_FP_PREFIX): Likewise. +- (RESTORE_FP_SUFFIX): Likewise. +- (SAVE_FP_PREFIX): Likewise. +- (SAVE_FP_SUFFIX): Likewise. +- (SIZE_TYPE): Likewise. +- (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise. +- (TARGET_64BIT): Likewise. +- (TARGET_64BIT): Likewise. +- (TARGET_AIX): Likewise. +- (WCHAR_TYPE_SIZE): Likewise. +- (WCHAR_TYPE): Undefine. +- (TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines. +- (CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC. +- (CPP_OS_RTEMS_SPEC): Delete. +- (SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems. Add +- asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and +- link_os_spec64. +- * config/rs6000/t-rtems: Add mcpu=3De6500/m64 multilibs. +- +-2017-07-28 Sebastian Huber +- +- Backport from mainline +- 2017-07-27 Sebastian Huber +- +- * config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*). +- * config/riscv/rtems.h: New file. +- +-2017-07-27 Eric Botcazou +- +- * config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag +- earlier and only if MASK_FPU is set. Adjust formatting. +- +-2017-07-27 Andreas Krebbel +- +- Backport from mainline +- 2017-07-27 Andreas Krebbel +- +- PR target/81534 +- * config/s390/s390.md ("*atomic_compare_and_swap_1") +- ("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"): +- Change s_operand to memory_operand. +- +-2017-07-27 Jakub Jelinek +- +- PR tree-optimization/81555 +- PR tree-optimization/81556 +- * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument, +- if true, force CHANGED for the recursive invocation. +- (reassociate_bb): Remember original length of ops array, pass +- len !=3D orig_len as NEXT_CHANGED in rewrite_expr_tree call. +- +-2017-07-27 Martin Liska +- +- Backport from mainline +- 2017-07-17 Martin Liska +- +- PR sanitizer/81302 +- * opts.c (finish_options): Do not allow -fgnu-tm +- w/ -fsanitize=3D{kernel-,}address. Say sorry. +- +-2017-07-27 Martin Liska +- +- Backport from mainline +- 2017-07-26 Martin Liska +- +- PR sanitize/81186 +- * function.c (expand_function_start): Make expansion of +- nonlocal_goto_save_area after parm_birth_insn. +- +-2017-07-27 Martin Liska +- +- Backport from mainline +- 2017-06-30 Martin Liska +- +- PR sanitizer/81021 +- * tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN +- before BUILT_IN_UNWIND_RESUME when ASAN is used. +- +-2017-07-27 Martin Liska +- +- Backport from mainline +- 2017-06-28 Martin Liska +- +- PR sanitizer/81224 +- * asan.c (instrument_derefs): Bail out inner references +- that are hard register variables. +- +-2017-07-26 Sebastian Huber +- +- Backport from mainline +- 2017-07-26 Sebastian Huber +- +- * config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD. +- (sparc_option_override): Honour MASK_FSMULD. +- * config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD. +- * config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD. +- * config/sparc/sparc.opt (mfsmuld): New option. +- * doc/invoke.texi (mfsmuld): Document option. +- +-2017-07-26 Georg-Johann Lay +- +- Backport from 2017-07-25 trunk r250499. +- +- PR 81487 +- * hsa-brig.c (brig_init): Use xasprintf instead of asprintf. +- * gimple-pretty-print.c (dump_probability): Same. +- * tree-ssa-structalias.c (alias_get_name): Same. +- +-2017-07-26 Richard Biener +- +- Backport from mainline +- 2017-06-18 Richard Biener +- +- PR tree-optimization/81410 +- * tree-vect-stmts.c (vectorizable_load): Properly adjust for +- the gap in the ! slp_perm SLP case after each group. +- +- 2017-07-25 Richard Biener +- +- PR tree-optimization/81455 +- * tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to +- not walk in cycles when looking for guards. +- +- 2017-07-25 Richard Biener +- +- PR middle-end/81505 +- * fold-const.c (fold_negate_const): TREE_OVERFLOW should be +- sticky. +- +- 2017-06-28 Jakub Jelinek +- +- PR target/81175 +- * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin +- rather than def_builtin_pure for __builtin_ia32_gatherpf*. +- +- 2017-06-26 Richard Biener +- +- PR target/81175 +- * config/i386/i386.c (ix86_init_mmx_sse_builtins): +- Use def_builtin_pure for all gather builtins. +- +- 2017-06-21 Marc Glisse +- +- * config/i386/i386.c (struct builtin_isa): New field pure_p. +- Reorder for compactness. +- (def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p. +- (def_builtin_pure, def_builtin_pure2): New functions. +- (ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure. +- +-2017-07-26 Sebastian Huber +- +- Backport from mainline +- 2017-07-26 Sebastian Huber +- +- * config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU +- from all CPU target flags enable members. +- +-2017-07-26 Sebastian Huber +- +- Backport from mainline +- 2017-07-25 Sebastian Huber +- +- PR libgcc/61152 +- * config/aarch64/rtems.h: Add GCC Runtime Library Exception. +- Format changes. +- * config/arm/rtems.h: Likewise. +- * config/bfin/rtems.h: Likewise. +- * config/i386/rtemself.h: Likewise. +- * config/lm32/rtems.h: Likewise. +- * config/m32c/rtems.h: Likewise. +- * config/m68k/rtemself.h: Likewise. +- * config/microblaze/rtems.h: Likewise. +- * config/mips/rtems.h: Likewise. +- * config/moxie/rtems.h: Likewise. +- * config/nios2/rtems.h: Likewise. +- * config/rs6000/rtems.h: Likewise. +- * config/rtems.h: Likewise. +- * config/sh/rtems.h: Likewise. +- * config/sh/rtemself.h: Likewise. +- * config/sparc/rtemself.h: Likewise. +- +-2017-07-25 Bill Schmidt +- +- Backport from mainline +- 2017-07-14 Bill Schmidt +- +- PR tree-optimization/81162 +- * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't +- replace a negate with an add. +- +-2017-07-25 Georg-Johann Lay +- +- Backport from 2017-07-12 trunk r250151. +- +- PR target/81407 +- * config/avr/avr.c (avr_encode_section_info) +- [progmem && !TREE_READONLY]: Error if progmem object needs +- constructing. +- +-2017-07-25 Wilco Dijkstra +- +- PR target/79041 +- * config/aarch64/aarch64.c (aarch64_classify_symbol): +- Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals. +- +-2017-07-25 Georg-Johann Lay +- +- Backport from trunk r247719. +- +- 2017-05-06 Richard Sandiford +- +- PR rtl-optimization/75964 +- * simplify-rtx.c (simplify_const_relational_operation): Remove +- invalid handling of comparisons of integer ABS. +- +-2017-07-25 Bin Cheng +- +- Backport from 2017-07-20 trunk r250384. +- +- PR tree-optimization/81388 +- Revert r238585: +- 2016-07-21 Bin Cheng +- +- * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up +- by removing computation of may_be_zero. +- +-2017-07-23 Uros Bizjak +- +- PR target/80569 +- * config/i386/i386.c (ix86_option_override_internal): Disable +- BMI, BMI2 and TBM instructions for -m16. +- +-2017-07-19 Michael Meissner +- +- Back port from trunk +- 2017-07-12 Michael Meissner +- +- PR target/81193 +- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC +- provides the hardware capability bits, define the macro +- __BUILTIN_CPU_SUPPORTS__. +- * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning +- if GLIBC does not provide the hardware capability bits. Add a +- gcc_unreachable call if the built-in cpu function is neither +- __builtin_cpu_is nor __builtin_cpu_supports. +- * doc/extend.texi (PowerPC built-in functions): Document that +- GLIBC 2.23 or newer is needed by __builtin_cpu_is and +- __builtin_cpu_supports. Document the macros defined by GCC if the +- newer GLIBC is available. +- +-2017-07-18 Uros Bizjak +- +- PR target/81471 +- * config/i386/i386.md (rorx_immediate_operand): New mode attribute. +- (*bmi2_rorx3_1): Use rorx_immediate_operand as +- operand 2 predicate. +- (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as +- operand 2 predicate. +- (ror,rol -> rorx splitters): Use const_int_operand as +- operand 2 predicate. +- +-2017-07-18 Tom de Vries +- +- backport from mainline: +- PR target/81069 +- 2017-07-17 Tom de Vries +- +- * config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late +- as possible. +- +-2017-07-18 Georg-Johann Lay +- +- Backport from 2017-07-18 trunk r250301. +- +- PR target/81473 +- * config/avr/avr.c (avr_optimize_casesi): Don't use +- INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX. +- +-2017-07-17 Jakub Jelinek +- +- PR tree-optimization/81428 +- * match.pd (X / X -> one): Don't optimize _Fract divisions, as 1 +- can't be built for those types. +- +- PR tree-optimization/81365 +- * tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting +- aggregate moves onto bb predecessor edges, make sure there are no +- loads that could alias the lhs in between the start of bb and the +- loads from *phi. +- +- Backported from mainline +- 2017-06-30 Jakub Jelinek +- +- PR target/81225 +- * config/i386/sse.md (vec_extract_lo_): For +- V8FI, V16FI and VI8F_256 iterators, use instead +- of nonimmediate_operand and instead of m for +- the input operand. For V8FI iterator, always split if input is a MEM. +- For V16FI and V8SF_256 iterators, don't test if both operands are MEM +- if . For VI4F_256 iterator, use +- instead of register_operand and instead of v for +- the input operand. Make sure both operands aren't MEMs for if not +- . +- +-2017-07-17 Georg-Johann Lay +- +- Backport from 2017-07-17 trunk r250258. +- +- PR 80929 +- * config/avr/avr.c (avr_mul_highpart_cost): New static function. +- (avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost. +- [LSHIFTRT, outer_code =3D TRUNCATE]: Same. +- +-2017-07-17 Sebastian Huber +- +- Backport from mainline +- 2017-07-17 Sebastian Huber +- +- * gcc/config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add +- conditional builtin define __FIX_LEON3FT_B2BST. +- +-2017-07-17 Daniel Cederman +- +- Backport from mainline +- 2017-07-17 Daniel Cederman +- +- * config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace +- MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc +- with -mfix-ut700. +- +-2017-07-16 Eric Botcazou +- +- PR rtl-optimization/81424 +- * optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg +- to remove potential trapping from operands if -fnon-call-exceptions. +- +-2017-07-16 Daniel Cederman +- +- * config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back +- to back store errata sensitive sequence from being generated. +- (sqrtdf2_fix): Likewise. +- +-2017-07-12 Georg-Johann Lay +- +- Backport from 2017-07-12 trunk r250156. +- +- PR target/79883 +- * config/avr/avr.c (avr_set_current_function): In diagnostic +- messages: Quote keywords and (parts of) identifiers. +- [WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or +- "INTERRUPT". +- +-2017-07-11 Daniel Cederman +- +- * config/sparc/sparc.opt (mfix-ut700): New option. +- (mfix-gr712rc): Likewise. +- (sparc_fix_b2bst): New variable. +- * doc/invoke.texi (SPARC options): Document them. +- (ARM options): Fix warnings. +- * config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP +- instructions to prevent sequences that can trigger the store-store +- errata for certain LEON3FT processors. +- (pass_work_around_errata::gate): Also test sparc_fix_b2bst. +- (sparc_option_override): Set sparc_fix_b2bst appropriately. +- * config/sparc/sparc.md (fix_b2bst): New attribute. +- (in_branch_delay): Prevent stores in delay slot if fix_b2bst. +- +-2017-07-10 Uros Bizjak +- +- PR target/81375 +- * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH. +- (rcpps): Ditto. +- (*rsqrtsf2_sse): Ditto. +- (rsqrtsf2): Ditto. +- (div3): Macroize insn from divdf3 and divsf3 +- using MODEF mode iterator. +- +-2017-07-07 Michael Meissner +- +- Backport from mainline +- 2017-07-07 Michael Meissner +- +- PR target/81348 +- * config/rs6000/rs6000.md (HI sign_extend splitter): Use the +- correct operand in doing the split. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/m8.md: New file. +- * config/sparc/sparc.md: Include m8.md. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/sparc.opt: New option -mvis4b. +- * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B. +- (sparc_option_override): Handle VIS4B. +- (enum sparc_builtins): Define +- SPARC_BUILTIN_DICTUNPACK{8,16,32}, +- SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL, +- SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL, +- SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and +- SPARC_BUILTIN_FPCMPUR{8,16,32}SHL. +- (check_constant_argument): New function. +- (sparc_vis_init_builtins): Define builtins +- __builtin_vis_dictunpack{8,16,32}, +- __builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl, +- __builtin_vis_fpcmpu{le,gt}{8,16,32}shl, +- __builtin_vis_fpcmpde{8,16,32}shl and +- __builtin_vis_fpcmpur{8,16,32}shl. +- (sparc_expand_builtin): Check that the constant operands to +- __builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed +- constant and in range. +- * config/sparc/sparc-c.c (sparc_target_macros): Handle +- TARGET_VIS4B. +- * config/sparc/sparc.h (SPARC_IMM2_P): Define. +- (SPARC_IMM5_P): Likewise. +- * config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b". +- (enabled): Handle vis4b. +- (UNSPEC_DICTUNPACK): New unspec. +- (UNSPEC_FPCMPSHL): Likewise. +- (UNSPEC_FPUCMPSHL): Likewise. +- (UNSPEC_FPCMPDESHL): Likewise. +- (UNSPEC_FPCMPURSHL): Likewise. +- (cpu_feature): New CPU feature `vis4b'. +- (dictunpack{8,16,32}): New insns. +- (FPCSMODE): New mode iterator. +- (fpcscond): New code iterator. +- (fpcsucond): Likewise. +- (fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns. +- (fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise. +- (fpcmpde{8,16,32}{si,di}shl): Likewise. +- (fpcmpur{8,16,32}{si,di}shl): Likewise. +- * config/sparc/constraints.md: Define constraints `q' for unsigned +- 2-bit integer constants and `t' for unsigned 5-bit integer +- constants. +- * config/sparc/predicates.md (imm5_operand_dictunpack8): New +- predicate. +- (imm5_operand_dictunpack16): Likewise. +- (imm5_operand_dictunpack32): Likewise. +- (imm2_operand): Likewise. +- * doc/invoke.texi (SPARC Options): Document -mvis4b. +- * doc/extend.texi (SPARC VIS Built-in Functions): Document the +- ditunpack* and fpcmp*shl builtins. +- +-2017-07-07 Jose E. Marchesi +- +- * config.gcc: Handle m8 in --with-{cpu,tune} options. +- * config.in: Add HAVE_AS_SPARC6 define. +- * config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC +- M8. +- * config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for +- TARGET_CPU_m8. +- (ASM_CPU32_DEFAUILT_SPEC): Likewise. +- (CPP_CPU_SPEC): Handle m8. +- (ASM_CPU_SPEC): Likewise. +- * config/sparc/sparc-opts.h (enum processor_type): Add +- PROCESSOR_M8. +- * config/sparc/sparc.c (m8_costs): New struct. +- (sparc_option_override): Handle TARGET_CPU_m8. +- (sparc32_initialize_trampoline): Likewise. +- (sparc64_initialize_trampoline): Likewise. +- (sparc_issue_rate): Likewise. +- (sparc_register_move_cost): Likewise. +- * config/sparc/sparc.h (TARGET_CPU_m8): Define. +- (CPP_CPU64_DEFAULT_SPEC): Define for M8. +- (ASM_CPU64_DEFAULT_SPEC): Likewise. +- (CPP_CPU_SPEC): Handle M8. +- (ASM_CPU_SPEC): Likewise. +- (AS_M8_FLAG): Define. +- * config/sparc/sparc.md: Add m8 to the cpu attribute. +- * config/sparc/sparc.opt: New option -mcpu=3Dm8 for sparc targets. +- * configure.ac (HAVE_AS_SPARC6): Check for assembler support for +- M8 instructions. +- * configure: Regenerate. +- * doc/invoke.texi (SPARC Options): Document -mcpu=3Dm8 and +- -mtune=3Dm8. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/niagara7.md: Rework the DFA scheduler to use insn +- subtypes. +- * config/sparc/sparc.md: Remove the `v3pipe' insn attribute. +- ("*movdi_insn_sp32"): Do not set v3pipe. +- ("*movsi_insn"): Likewise. +- ("*movdi_insn_sp64"): Likewise. +- ("*movsf_insn"): Likewise. +- ("*movdf_insn_sp32"): Likewise. +- ("*movdf_insn_sp64"): Likewise. +- ("*zero_extendsidi2_insn_sp64"): Likewise. +- ("*sign_extendsidi2_insn"): Likewise. +- ("*mov_insn"): Likewise. +- ("*mov_insn_sp64"): Likewise. +- ("*mov_insn_sp32"): Likewise. +- ("3"): Likewise. +- ("3"): Likewise. +- ("*not_3"): Likewise. +- ("*nand_vis"): Likewise. +- ("*_not1_vis"): Likewise. +- ("*_not2_vis"): Likewise. +- ("one_cmpl2"): Likewise. +- ("faligndata_vis"): Likewise. +- ("alignaddrsi_vis"): Likewise. +- ("alignaddrdi_vis"): Likweise. +- ("alignaddrlsi_vis"): Likewise. +- ("alignaddrldi_vis"): Likewise. +- ("fcmp_vis"): Likewise. +- ("bmaskdi_vis"): Likewise. +- ("bmasksi_vis"): Likewise. +- ("bshuffle_vis"): Likewise. +- ("cmask8_vis"): Likewise. +- ("cmask16_vis"): Likewise. +- ("cmask32_vis"): Likewise. +- ("pdistn_vis"): Likewise. +- ("3"): Likewise. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/sparc.md ("subtype"): New insn attribute. +- ("*wrgsr_sp64"): Set insn subtype. +- ("*rdgsr_sp64"): Likewise. +- ("alignaddrsi_vis"): Likewise. +- ("alignaddrdi_vis"): Likewise. +- ("alignaddrlsi_vis"): Likewise. +- ("alignaddrldi_vis"): Likewise. +- ("3"): Likewise. +- ("fexpand_vis"): Likewise. +- ("fpmerge_vis"): Likewise. +- ("faligndata_vis"): Likewise. +- ("bshuffle_vis"): Likewise. +- ("cmask8_vis"): Likewise. +- ("cmask16_vis"): Likewise. +- ("cmask32_vis"): Likewise. +- ("fchksm16_vis"): Likewise. +- ("v3"): Likewise. +- ("fmean16_vis"): Likewise. +- ("fp64_vis"): Likewise. +- ("v8qi3"): Likewise. +- ("3"): Likewise. +- ("3"): Likewise. +- ("3"): Likewise. +- ("v8qi3"): Likewise. +- ("3"): Likewise. +- ("*movqi_insn"): Likewise. +- ("*movhi_insn"): Likewise. +- ("*movsi_insn"): Likewise. +- ("movsi_pic_gotdata_op"): Likewise. +- ("*movdi_insn_sp32"): Likewise. +- ("*movdi_insn_sp64"): Likewise. +- ("movdi_pic_gotdata_op"): Likewise. +- ("*movsf_insn"): Likewise. +- ("*movdf_insn_sp32"): Likewise. +- ("*movdf_insn_sp64"): Likewise. +- ("*zero_extendhisi2_insn"): Likewise. +- ("*zero_extendqihi2_insn"): Likewise. +- ("*zero_extendqisi2_insn"): Likewise. +- ("*zero_extendqidi2_insn"): Likewise. +- ("*zero_extendhidi2_insn"): Likewise. +- ("*zero_extendsidi2_insn_sp64"): Likewise. +- ("ldfsr"): Likewise. +- ("prefetch_64"): Likewise. +- ("prefetch_32"): Likewise. +- ("tie_ld32"): Likewise. +- ("tie_ld64"): Likewise. +- ("*tldo_ldub_sp32"): Likewise. +- ("*tldo_ldub1_sp32"): Likewise. +- ("*tldo_ldub2_sp32"): Likewise. +- ("*tldo_ldub_sp64"): Likewise. +- ("*tldo_ldub1_sp64"): Likewise. +- ("*tldo_ldub2_sp64"): Likewise. +- ("*tldo_ldub3_sp64"): Likewise. +- ("*tldo_lduh_sp32"): Likewise. +- ("*tldo_lduh1_sp32"): Likewise. +- ("*tldo_lduh_sp64"): Likewise. +- ("*tldo_lduh1_sp64"): Likewise. +- ("*tldo_lduh2_sp64"): Likewise. +- ("*tldo_lduw_sp32"): Likewise. +- ("*tldo_lduw_sp64"): Likewise. +- ("*tldo_lduw1_sp64"): Likewise. +- ("*tldo_ldx_sp64"): Likewise. +- ("*mov_insn"): Likewise. +- ("*mov_insn_sp64"): Likewise. +- ("*mov_insn_sp32"): Likewise. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/sparc.md ("type"): New insn type viscmp. +- ("fcmp_vis"): Set insn type to +- viscmp. +- ("fpcmp8_vis"): Likewise. +- ("fucmp8_vis"): Likewise. +- ("fpcmpu_vis"): Likewise. +- * config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle +- viscmp. +- ("n7_vis_logical_11cycle"): Likewise. +- * config/sparc/niagara4.md ("n4_vis_logical"): Likewise. +- * config/sparc/niagara2.md ("niag3_vis": Likewise. +- * config/sparc/niagara.md ("niag_vis"): Likewise. +- * config/sparc/ultra3.md ("us3_fga"): Likewise. +- * config/sparc/ultra1_2.md ("us1_fga_double"): Likewise. +- +-2017-07-07 Jose E. Marchesi +- +- * config/sparc/sparc.md: New instruction type `bmask'. +- (bmaskdi_vis): Use the `bmask' type. +- (bmasksi_vis): Likewise. +- * config/sparc/ultra3.md (us3_array): Likewise. +- * config/sparc/niagara7.md (n7_array): Likewise. +- * config/sparc/niagara4.md (n4_array): Likewise. +- * config/sparc/niagara2.md (niag2_vis): Likewise. +- (niag3_vis): Likewise. +- * config/sparc/niagara.md (niag_vis): Likewise. +- +-2017-07-05 Georg-Johann Lay +- +- Backport from 2017-07-05 trunk r249995. +- +- PR target/81305 +- * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]: +- Don't depend on "optimize > 0". +- (out_movhi_r_mr, out_movqi_mr_r): Same. +- (out_movhi_mr_r, out_movqi_r_mr): Same. +- (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for +- io_address_operand on "optimize > 0". +- +-2017-07-04 Uros Bizjak +- +- PR target/81300 +- * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): +- Require dead FLAGS_REG at the beginning of a peephole. +- +-2017-07-04 Uros Bizjak +- +- PR target/81294 +- * config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y +- arguments in the call to __builtin_ia32_sbb_u32. +- (_subborrow_u64): Swap _X and _Y arguments in the call to +- __builtin_ia32_sbb_u64. +- +-2017-07-03 Segher Boessenkool +- +- Backport from trunk: +- +- 2017-06-15 Segher Boessenkool +- +- * config/rs6000/rs6000.md (add3): Use reg_or_subregno instead +- of REGNO. +- +-2017-07-03 Tom de Vries +- +- backport from mainline: +- PR tree-optimization/81192 +- 2017-07-03 Tom de Vries +- +- * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle +- BB_SAME_SUCC (bb) =3D=3D NULL. +- +-2017-06-29 Michael Meissner +- +- Backport from mainline +- 2017-06-23 Michael Meissner +- +- PR target/80510 +- * config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in +- 32-bit, since indexed is not valid for DImode. +- (mov_hardfloat32): Reorder ISA 2.07 load/stores before ISA +- 3.0 d-form load/stores to be the same as mov_hardfloat64. +- (define_peephole2 for Altivec d-form load): Add 32-bit support. +- (define_peephole2 for Altivec d-form store): Likewise. +- +- Backport from mainline +- 2017-06-20 Michael Meissner +- +- PR target/79799 +- * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support +- for doing vector set of SFmode on ISA 3.0. +- * config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise. +- (vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF +- element. +- (vsx_insert_extract_v4sf_p9): Add an optimization for inserting a +- SFmode value into a V4SF variable that was extracted from another +- V4SF variable without converting the element to double precision +- and back to single precision vector format. +- (vsx_insert_extract_v4sf_p9_2): Likewise. +- +-2017-06-29 Richard Biener +- +- Backport from mainline +- 2017-06-19 Richard Biener +- +- PR ipa/81112 +- * ipa-prop.c (find_constructor_constant_at_offset): Handle +- RANGE_EXPR conservatively. +- +-2017-06-28 Richard Biener +- +- Backport from mainline +- 2017-06-09 Richard Biener +- +- PR middle-end/81007 +- * ipa-polymorphic-call.c +- (ipa_polymorphic_call_context::restrict_to_inner_class): +- Skip FIELD_DECLs with error_mark_node type. +- * passes.def (all_lowering_passes): Run pass_build_cgraph_edges +- last again. +- +- 2017-06-14 Richard Biener +- +- PR tree-optimization/81083 +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals +- as values. +- +-2017-06-27 Segher Boessenkool +- +- Backports from trunk: +- +- 2017-05-17 Segher Boessenkool +- PR middle-end/80692 +- * real.c (do_compare): Give decimal_do_compare preference over +- comparing just the signs. +- +- 2017-05-31 Segher Boessenkool +- PR target/80618 +- * config/rs6000/vector.md (*vector_uneq): Write the nor in the +- splitter result in the canonical way. +- +- 2017-06-09 Segher Boessenkool +- PR target/80966 +- * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that +- gen_add3_insn did not fail. +- * config/rs6000/rs6000.md (add3): If asked to add a constant to +- r0, construct that number in a temporary reg and add that reg to r0. +- If asked to put the result in r0 as well, fail. +- +- 2017-06-23 Segher Boessenkool +- PR middle-end/80902 +- * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after +- a call, force the call to not be a tail call. +- +-2017-06-27 Jakub Jelinek +- +- PR sanitizer/81209 +- * ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var. +- +- PR middle-end/81207 +- * gimple-fold.c (replace_call_with_call_and_fold): Handle +- gimple_vuse copying separately from gimple_vdef copying. +- +-2017-06-24 Jim Wilson +- +- * config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to +- here. +- * config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here. +- * config/arm/arm-cpu-cdata.h: Regenerate. +- * config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise. +- * config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise. +- * config/arm/arm-cpus.in: Delete falkor and qdf24xx entries. +- * config/arm/arm.c (arm_qdf24xx_tune): Delete. +- * config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx +- support. +- * config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx +- support. +- * config/arm/t-rmprofile: Likewise. +- * doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support. +- +-2017-06-24 Marek Polacek +- +- Backport from mainline +- 2017-05-04 Marek Polacek +- +- PR tree-optimization/80612 +- * calls.c (get_size_range): Check for INTEGRAL_TYPE_P. +- +-2017-06-23 Thomas Preud'homme +- +- Backport from mainline +- 2017-05-04 Prakhar Bahuguna +- +- * config/arm/arm-builtins.c (arm_init_builtins): Rename +- __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename +- __builtin_arm_stfscr to __builtin_arm_set_fpscr. +- +-2017-06-23 Jonathan Wakely +- +- PR c++/81187 +- * doc/invoke.texi (-Wnoexcept-type): Fix name of option, from +- -Wnoexcept. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-06-19 Martin Liska +- +- PR sanitizer/80879 +- * gimplify.c (gimplify_switch_expr): +- Initialize live_switch_vars for SWITCH_BODY =3D=3D STATEMENT_LIST. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-31 Martin Liska +- +- PR target/79155 +- * config/i386/cpuid.h: Fix typo in a comment in cpuid.h. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-30 Martin Liska +- +- PR other/80909 +- * auto-profile.c (get_function_decl_from_block): Fix +- parenthesis. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-26 Martin Liska +- +- PR ipa/80663 +- * params.def: Bound partial-inlining-entry-probability param. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-16 Martin Liska +- +- PR ipa/79849. +- PR ipa/79850. +- * ipa-devirt.c (warn_types_mismatch): Fix typo. +- (odr_types_equivalent_p): Likewise. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-15 Martin Liska +- +- PR driver/31468 +- * gcc.c (process_command): Do not allow empty argument of -o option. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-02 Martin Liska +- +- * doc/gcov.texi: Add missing preposition. +- * gcov.c (function_info::function_info): Properly fill up +- all member variables. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-05-02 Martin Liska +- +- PR other/80589 +- * common.opt: Fix typo. +- * doc/invoke.texi: Likewise. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-04-28 Martin Liska +- +- * doc/gcov.texi: Enhance documentation of gcov. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-04-28 Martin Liska +- +- * doc/gcov.texi: Sort options in alphabetic order. +- * doc/gcov-dump.texi: Likewise. +- * doc/gcov-tool.texi: Likewise. +- * gcov.c (print_usage): Likewise. +- * gcov-dump.c (print_usage): Likewise. +- * gcov-tool.c (print_merge_usage_message): Likewise. +- (print_rewrite_usage_message): Likewise. +- (print_overlap_usage_message): Likewise. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-04-28 Martin Liska +- +- PR gcov-profile/53915 +- * gcov.c (format_gcov): Print 'NAN %' when top > bottom. +- +-2017-06-22 Martin Liska +- +- Backport from mainline +- 2017-04-28 Martin Liska +- +- PR driver/56469 +- * coverage.c (coverage_remove_note_file): New function. +- * coverage.h: Declare the function. +- * toplev.c (finalize): Clean if an error has been seen. +- +-2017-06-21 Jakub Jelinek +- +- PR target/81151 +- * config/i386/sse.md (round2): Renumber match_dup and +- operands indexes to avoid gap between operands and match_dups. +- +- PR c++/81130 +- * gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types +- with ctors/dtors if GOVD_SHARED is set. +- +- Backported from mainline +- 2017-06-20 Jakub Jelinek +- +- PR target/81121 +- * config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df} +- splitter): Require TARGET_SSE2 in the condition. +- +- PR sanitizer/81125 +- * ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser +- by removing enum keyword. +- (ubsan_type_descriptor): Likewise. Formatting fix. +- +- 2017-06-19 Jakub Jelinek +- +- PR sanitizer/81125 +- * ubsan.h (enum ubsan_encode_value_phase): New. +- (ubsan_encode_value): Change second argument to +- enum ubsan_encode_value_phase with default value of +- UBSAN_ENCODE_VALUE_GENERIC. +- * ubsan.c (ubsan_encode_value): Change second argument to +- enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P, +- adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just +- create_tmp_var_raw instead of create_tmp_var and use a +- TARGET_EXPR. +- (ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin, +- instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust +- ubsan_encode_value callers. +- +- PR sanitizer/81111 +- * ubsan.c (ubsan_encode_value): If current_function_decl is NULL, +- use create_tmp_var_raw instead of create_tmp_var, mark it addressable +- just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR. +- +-2017-06-20 James Greenhalgh +- +- Backport from Mainline +- * config/aarch64/aarch64-option-extensions.def (fp16): Fix expected +- feature string. +- +-2017-06-20 Andreas Schwab +- +- PR target/80970 +- * config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=3Dd" +- instead of "+d". +- +-2017-06-19 James Greenhalgh +- +- Backport from mainline +- 2017-06-19 James Greenhalgh +- +- PR target/71778 +- * config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET +- if given a non-constant argument for an intrinsic which requires a +- constant. +- +-2017-06-19 Alexander Monakov +- +- * doc/invoke.texi (mcx16): Rewrite. +- +-2017-06-15 Eric Botcazou +- +- PR rtl-optimization/80474 +- * reorg.c (update_block): Do not ignore instructions in a delay slot. +- +-2017-06-14 Eric Botcazou +- +- * config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3. +- (MASK_FEATURES): New macro. +- * config/sparc/sparc.c (sparc_option_override): Remove the special +- handling of -mfpu and generalize it to all MASK_FEATURES switches. +- +-2017-06-14 Eric Botcazou +- +- * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry. +- +-2017-06-12 David S. Miller +- +- PR target/80968 +- * config/sparc/sparc.md (return expander): Emit frame blockage if +- function uses alloca. +- +-2017-06-08 Uros Bizjak +- +- PR target/81015 +- Revert: +- 2016-12-14 Uros Bizjak +- +- PR target/59874 +- * config/i386/i386.md (*ctzhi2): New insn_and_split pattern. +- (*clzhi2): Ditto. +- +-2017-06-08 David Edelsohn +- +- Backport from mainline +- 2017-06-02 David Edelsohn +- +- * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New. +- (dl_section_ref): New. +- (dwarf2out_finish): Copy debug_line_section_label to dl_section_ref. +- On AIX, append an expression to subtract the size of the +- section length to dl_section_ref. +- +-2017-06-07 Richard Biener +- +- Backport from mainline +- 2017-05-02 Richard Biener +- +- PR tree-optimization/80549 +- * tree-cfgcleanup.c (mfb_keep_latches): New helper. +- (cleanup_tree_cfg_noloop): Create forwarders to known loop +- headers if they do not have a preheader. +- +- 2017-05-26 Richard Biener +- +- PR tree-optimization/80842 +- * tree-ssa-ccp.c (set_lattice_value): Always meet with the old +- value. +- +- 2017-05-31 Richard Biener +- +- PR tree-optimization/80906 +- * graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get +- and pass through iv_map. +- (copy_bb_and_scalar_dependences): Adjust. +- (translate_pending_phi_nodes): Likewise. +- (copy_loop_close_phi_args): Handle code-generating IVs instead +- of ICEing. +- +- 2017-05-11 Richard Biener +- +- PR tree-optimization/80705 +- * tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED +- bases are not vectorizable. +- +-2017-06-06 Michael Meissner +- +- Back port from mainline +- 2017-05-19 Michael Meissner +- +- PR target/80718 +- * config/rs6000/vsx.md (vsx_splat_, VSX_D iterator): Prefer +- VSX registers over GPRs, particularly on ISA 2.07 which does not +- have the MTVSRDD instruction. +- +-2017-06-06 David S. Miller +- +- PR target/80968 +- * config/sparc/sparc.c (sparc_expand_prologue): Emit frame +- blockage if function uses alloca. +- +-2017-06-05 Volker Reichelt +- +- * doc/invoke.texi (-Wduplicated-branches): Add to warning list. +- +-2017-06-02 Prakhar Bahuguna +- +- Backport from mainline +- 2017-05-05 Andre Vieira +- Prakhar Bahuguna +- +- PR target/71607 +- * config/arm/arm.md (use_literal_pool): Remove. +- (64-bit immediate split): No longer takes cost into consideration +- if arm_disable_literal_pool is enabled. +- * config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is +- used when arm_disable_literal_pool is enabled. +- (arm_max_const_double_inline_cost): Remove use of +- arm_disable_literal_pool. +- (push_minipool_fix): Add assert. +- (arm_reorg): Add return if arm_disable_literal_pool is enabled. +- * config/arm/vfp.md (no_literal_pool_df_immediate): New. +- (no_literal_pool_sf_immediate): New. +- +-2017-06-02 Jakub Jelinek +- +- PR rtl-optimization/80903 +- * loop-doloop.c (add_test): Unshare sequence. +- +-2017-05-31 Martin Jambor +- +- Backport from mainline +- 2017-04-24 Martin Jambor +- +- PR tree-optimization/80293 +- * tree-sra.c (scalarizable_type_p): New parameter const_decl, make +- char arrays not totally scalarizable if it is false. +- (analyze_all_variable_accesses): Pass correct value in the new +- parameter. Add a statistics counter. +- +-2017-05-30 Max Filippov +- +- Backport from mainline +- 2017-05-29 Max Filippov +- +- * config/xtensa/xtensa.c (xtensa_emit_call): Use +- HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. +- (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld +- format string. +- +-2017-05-29 Eric Botcazou +- +- * doc/install.texi (Options specification): Restore entry of +- --enable-sjlj-exceptions. +- +-2017-05-29 Andreas Krebbel +- +- Backport from mainline +- 2017-05-24 Andreas Krebbel +- +- PR target/80725 +- * config/s390/s390.c (s390_check_qrst_address): Check incoming +- address against address_operand predicate. +- * config/s390/s390.md ("*indirect_jump"): Swap alternatives. +- +-2017-05-28 Uros Bizjak +- +- Backport from mainline +- 2017-05-23 Uros Bizjak +- +- * config/i386/i386.md (*movdi_internal): Remove SSE4 +- alternative 18 (?r, *v). Update insn attributes. +- (*movsi_internal): Remove SSE4 alternative 13 (?r, *v). +- Update insn attributes. +- (*zero_extendsidi2): Remove SSE4 alternative (?r, *x). +- Update insn attributes. +- * config/i386/sse.md (vec_extract_0): Remove SSE4 +- alternative 1 (r, v). Remove isa attribute. +- * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): +- Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC +- and !TARGET_INTER_UNIT_MOVES_TO_VEC targets. +- +- 2017-05-16 Uros Bizjak +- +- * config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative +- to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r) +- and (?*y,m). Update insn attributes. +- +-2017-05-26 Sheldon Lobo +- +- Backported from mainline +- 2017-05-24 Sheldon Lobo +- +- * config/sparc/sparc.md (length): Return the correct value for -mflat +- sibcalls to match output_sibcall. +- +-2017-05-26 Marek Polacek +- +- Backported from mainline +- 2017-05-26 Marek Polacek +- +- PR sanitizer/80875 +- * fold-const.c (fold_binary_loc) : Check if OP1 +- can be negated. +- +-2017-05-26 Jakub Jelinek +- +- Backported from mainline +- 2017-05-22 Jakub Jelinek +- +- PR middle-end/80809 +- * omp-low.c (finish_taskreg_remap): New function. +- (finish_taskreg_scan): If unit size of ctx->record_type +- is non-constant, unshare the size expression and replace +- decls in it with possible outer var refs. +- +- PR middle-end/80809 +- * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use +- GOVD_SHARED rather than GOVD_PRIVATE with it. +- (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect +- GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. +- +- PR middle-end/80853 +- * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE +- as last argument to build_outer_var_ref for pointer bases of array +- section reductions. +- +-2017-05-25 Michael Meissner +- +- Backport from trunk +- 2017-05-18 Michael Meissner +- +- PR target/80510 +- * config/rs6000/predicates.md (simple_offsettable_mem_operand): +- New predicate. +- +- * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. +- (define_peephole2 for Altivec d-form load): Add peepholes to catch +- cases where the register allocator uses a move and an offsettable +- memory operation to/from a FPR register on ISA 2.06/2.07. +- (define_peephole2 for Altivec d-form store): Likewise. +- +- Backport from trunk +- 2017-05-09 Michael Meissner +- +- PR target/68163 +- * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that +- are now unused after splitting mov{sf,sd}_hardfloat. +- (f32_lr2): Likewise. +- (f32_lm): Likewise. +- (f32_lm2): Likewise. +- (f32_li): Likewise. +- (f32_li2): Likewise. +- (f32_lv): Likewise. +- (f32_sr): Likewise. +- (f32_sr2): Likewise. +- (f32_sm): Likewise. +- (f32_sm2): Likewise. +- (f32_si): Likewise. +- (f32_si2): Likewise. +- (f32_sv): Likewise. +- (f32_dm): Likewise. +- (f32_vsx): Likewise. +- (f32_av): Likewise. +- (mov_hardfloat): Split into separate movsf and movsd pieces. +- For movsf, order stores so the VSX stores occur before the GPR +- store which encourages the register allocator to use a traditional +- FPR instead of a GPR. For movsd, order the stores so that the GPR +- store comes before the VSX stores to allow the power6 to work. +- This is due to the power6 not having a 32-bit integer store +- instruction from a FPR. +- (movsf_hardfloat): Likewise. +- (movsd_hardfloat): Likewise. +- +-2017-05-25 Wilco Dijkstra +- +- Backport from mainlin +- PR rtl-optimization/80754 +- * lra-remat.c (do_remat): Add overlap checks for dst_regno. +- +-2017-05-25 Wilco Dijkstra +- +- Backport from mainline +- PR target/80671 +- * config/aarch64/cortex-a57-fma-steering.c (merge_forest): +- Move member access before delete. +- +-2017-05-23 Sheldon Lobo +- +- Backport from mainline +- 2017-05-18 Sheldon Lobo +- +- * config/sparc/sparc.c (sparc_option_override): Set function +- alignment for -mcpu=3Dniagara7 to 64 to match the I$ line. +- * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch +- latency to 1. +- * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch +- latency to 2. +- * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. +- +-2017-05-19 Uros Bizjak +- +- Backport from mainline +- 2017-05-18 Uros Bizjak +- +- PR target/80799 +- * config/i386/mmx.md (*mov_internal): Enable +- alternatives 11, 12, 13 and 14 also for 32bit targets. +- Remove alternatives 15, 16, 17 and 18. +- * config/i386/sse.md (vec_concatv2di): Change +- alternative (!x, *y) to (x, ?!*Yn). +- +-2017-05-14 Uros Bizjak +- +- Backport from mainline +- 2017-05-11 Uros Bizjak +- +- PR target/80706 +- * config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec. +- (UNSPEC_STX_ATOMIC): Ditto. +- (loaddi_via_sse): New insn. +- (storedi_via_sse): Ditto. +- (atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse. +- Update corresponding peephole2 patterns. +- (atomic_storedi_fpu): Ditto. +- +-2017-05-13 Bill Schmidt +- +- Backport from mainline +- 2017-05-05 Bill Schmidt +- +- * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var. +- (rs6000_init_cost): Initialize rs6000_vect_nonmem. +- (rs6000_add_stmt_cost): Update rs6000_vect_nonmem. +- (rs6000_finish_cost): Avoid vectorizing simple copy loops with +- VF=3D2 that require versioning. +- +-2017-05-12 Bill Schmidt +- +- Backport from mainline +- 2017-05-10 Bill Schmidt +- +- * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 +- built-ins for vec_xl and vec_xst with short and char pointer +- arguments. +- +-2017-05-10 John David Anglin +- +- PR target/80090 +- * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, +- handle calling assemble_external ourself. +- +- PR target/79027 +- * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from +- modes with zero size. Enhance comment. +- +-2017-05-09 Michael Meissner +- +- Back port from mainline +- 2017-05-05 Michael Meissner +- +- PR target/79038 +- PR target/79202 +- PR target/79203 +- * config/rs6000/rs6000.md (u code attribute): Add FIX and +- UNSIGNED_FIX. +- (extendsi2): Add support for doing sign extension via +- VUPKHSW and XXPERMDI if the value is in Altivec registers and we +- don't have ISA 3.0 instructions. +- (extendsi2 splitter): Likewise. +- (fix_truncsi2): If we are at ISA 2.07 (VSX small integer), +- generate the normal insns since SImode can now go in vector +- registers. Disallow the special UNSPECs needed for previous +- machines to hide SImode being used. Add new insns +- fctiw{,w}__smallint if SImode can go in vector registers. +- (fix_truncsi2_stfiwx): Likewise. +- (fix_truncsi2_internal): Likewise. +- (fixuns_truncsi2): Likewise. +- (fixuns_truncsi2_stfiwx): Likewise. +- (fctiwz__smallint): Likewise. +- (fctiwz__mem): New combiner pattern to prevent conversion +- of floating point to 32-bit integer from doing a direct move to +- the GPR registers to do a store. +- (fctiwz_): Break long line. +- +-2017-05-08 Tamar Christina +- +- PR middle-end/79665 +- * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR, +- CEIL_MOD_EXPR, ROUND_MOD_EXPR cases. +- +-2017-05-03 Jan Beulich +- +- Backport from mainline +- 2017-05-01 Jan Beulich +- +- * config/i386/sse.md (xop_vpermil23): Do not allow operand +- swapping, add (x,x,m,x,n) alternative. +- +-2017-05-03 Richard Biener +- +- Backport from mainline +- 2017-04-20 Richard Biener +- +- PR tree-optimization/80453 +- * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members. +- * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs +- from the conditions. +- (vn_phi_eq): Pass them down. +- (vn_phi_lookup): Record them. +- (vn_phi_insert): Likewise. +- +- 2017-04-25 Richard Biener +- +- PR tree-optimization/80492 +- * alias.c (compare_base_decls): Handle registers with asm +- specification conservatively. +- +- 2017-04-27 Richard Biener +- +- PR middle-end/80539 +- * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not +- being in loop-closed SSA form conservatively. +- (chrec_fold_multiply_poly_poly): Likewise. +- +-2017-05-02 Uros Bizjak +- +- Backport from mainline +- 2017-05-01 Uros Bizjak +- +- PR target/68491 +- * config/i386/cpuid.h (__get_cpuid): Always return 0 when +- __get_cpuid_max returns 0. +- (__get_cpuid_count): Ditto. +- +-2017-05-02 Jakub Jelinek +- +- Backported from mainline +- 2017-04-25 Jakub Jelinek +- +- * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=3DC in the +- environment. +- +-2017-05-02 Jakub Jelinek +- +- * BASE-VER: Set to 7.1.1. +- +-2017-05-02 Release Manager +- +- * GCC 7.1.0 released. +- +-2017-05-02 Richard Biener +- +- PR tree-optimization/80591 +- Revert +- 2017-04-10 Richard Biener +- +- * tree-ssa-structalias.c (find_func_aliases): Properly handle +- asm inputs. +- +-2017-04-28 Jakub Jelinek +- +- PR bootstrap/80531 +- * cgraph.h (symtab_node::debug_symtab): No longer inline. +- * symtab.c (symtab_node::debug_symtab): Move definition here. +- +-2017-04-27 Richard Earnshaw +- +- PR target/80530 +- * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure +- that the logic for permitting reciprocal estimates matches that +- in use_rsqrt_p. +- +-2017-04-27 Jakub Jelinek +- +- PR c++/80534 +- * tree.c (type_cache_hasher::equal): Only compare +- TYPE_TYPELESS_STORAGE flag on non-aggregate element types. +- (build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on +- non-aggregate element types. +- * tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details +- about the flag on ARRAY_TYPEs in the comment, formatting fix. +- +- PR target/79430 +- * reg-stack.c (emit_swap_insn): If i1src mentions the stack pointer, +- punt if tmp contains autoinc of stack pointer. +- +- PR target/77728 +- * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove. +- (aarch64_function_arg_alignment): Return unsigned int again, but still +- ignore TYPE_FIELDS chain decls other than FIELD_DECLs. +- (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. +- Don't emit -Wpsabi note. +- (aarch64_function_arg_boundary): Likewise. +- (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment +- caller. +- +-2017-04-25 Martin Sebor +- +- PR tree-optimization/80497 +- * gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer +- constants are representable in HOST_WIDE_INT. +- (parse_directive): Ditto. +- +-2017-04-25 Marek Polacek +- +- 2017-04-25 Marek Polacek +- Backport from mainline +- +- PR sanitizer/80349 +- * fold-const.c (fold_binary_loc) : Convert arg0's +- first argument to type. +- +-2017-04-25 Ramana Radhakrishnan +- Jakub Jelinek +- +- PR target/77728 +- * config/arm/arm.c: Include gimple.h. +- (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align +- returns negative, increment ncrn only if it returned positive. +- (arm_needs_doubleword_align): Return int instead of bool, +- ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain +- members, but if there is any such non-FIELD_DECL +- > PARM_BOUNDARY aligned decl, return -1 instead of false. +- (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align +- returns negative, increment nregs only if it returned positive. +- (arm_setup_incoming_varargs): Likewise. +- (arm_function_arg_boundary): Emit -Wpsabi note if +- arm_needs_doubleword_align returns negative, return +- DOUBLEWORD_ALIGNMENT only if it returned positive. +- +-2017-04-25 Bill Seurer +- +- Backport from mainline +- PR target/80482 +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change +- type checks to test for compatibility instead of equality. +- +-2017-04-25 Ramana Radhakrishnan +- Jakub Jelinek +- +- PR target/77728 +- * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New +- type. +- (aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment +- struct. Ignore DECL_ALIGN of decls other than FIELD_DECL for +- the alignment computation, but return their maximum in warn_alignment. +- (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. +- Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment +- is smaller. +- (aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX. +- (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment +- caller. +- +-2017-04-25 Andreas Krebbel +- +- Backport from mainline +- 2017-04-25 Andreas Krebbel +- +- PR target/80464 +- * config/s390/vector.md: Split MEM->GPR vector moves for +- non-s_operand addresses. +- +-2017-04-25 Andreas Krebbel +- +- Backport from mainline +- 2017-04-25 Andreas Krebbel +- +- PR target/79895 +- * config/s390/predicates.md (reload_const_wide_int_operand): New +- predicate. +- * config/s390/s390.md ("movti"): Remove d/P alternative. +- ("movti_bigconst"): New pattern definition. +- +-2017-04-25 Dominik Vogt +- +- Backport from maineline +- 2017-04-25 Dominik Vogt +- +- PR target/80080 +- * s390-protos.h (s390_expand_cs_hqi): Removed. +- (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes. +- * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer +- modes as well as CCZ1mode and CCZmode. +- (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new +- signature of s390_emit_compare_and_swap. +- (s390_expand_cs_hqi): Likewise, make static. +- (s390_expand_cs_tdsi): Generate an explicit compare before trying +- compare-and-swap, in some cases. +- (s390_expand_cs): Wrapper function. +- (s390_expand_atomic_exchange_tdsi): New backend specific expander for +- atomic_exchange. +- (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode. +- * config/s390/s390.md ("atomic_compare_and_swap"): Merge the +- patterns for small and large integers. Forbid symref memory operands. +- Move expander to s390.c. Require cc register. +- ("atomic_compare_and_swap_internal") +- ("*atomic_compare_and_swap_1") +- ("*atomic_compare_and_swapdi_2") +- ("*atomic_compare_and_swapsi_3"): Use s_operand to forbid +- symref memory operands. Remove CC mode and call s390_match_ccmode +- instead. +- ("atomic_exchange"): Allow and implement all integer modes. +- +-2017-04-25 Dominik Vogt +- +- Backport from mainline +- 2017-04-25 Dominik Vogt +- +- * config/s390/s390.md (define_peephole2): New peephole to help +- combining the load-and-test pattern with volatile memory. +- +- +-2017-04-25 Dominik Vogt +- +- Backport from mainline +- 2017-04-25 Dominik Vogt +- +- * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal +- with CCZmode for TARGET_Z196. +- +-2017-04-25 Jakub Jelinek +- +- PR rtl-optimization/80501 +- * combine.c (make_compound_operation_int): Set subreg_code to SET +- even for AND with mask of the sign bit of mode. +- +- PR rtl-optimization/80500 +- * loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on +- sum's initial value. +- +-2017-04-24 Martin Liska +- +- Backport from mainline +- 2017-04-24 Jan Hubicka +- +- PR middle-end/79931 +- * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE. +- +-2017-04-20 Alexander Monakov +- +- Backport from mainline +- 2017-04-20 Alexander Monakov +- +- * omp-low.c (lower_lastprivate_clauses): Correct handling of linear +- and lastprivate clauses in SIMT case. +- +-2017-04-20 Matthew Fortune +- +- Backport from mainline +- 2017-04-20 Matthew Fortune +- +- * config/mips/mips.c (mips_expand_vec_perm_const): Re-fix +- uninitialized variable warning to avoid buffer overrun. +- +-2017-04-20 Jakub Jelinek +- +- * DEV-PHASE: Set to prerelease. +- +-2017-04-20 Thomas Preud'homme +- +- * config/arm/arm.c (arm_elf_asm_cdtor): Create non-default +- priority .init_array and .fini_array section with SECTION_NOTYPE +- flag. +- +-2017-04-20 Jakub Jelinek +- +- PR middle-end/80423 +- * tree.h (build_array_type): Add typeless_storage default argument. +- * tree.c (type_cache_hasher::equal): Also compare +- TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs. +- (build_array_type): Add typeless_storage argument, set +- TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to +- recursive call. +- (build_nonshared_array_type): Adjust build_array_type_1 caller. +- (build_array_type): Likewise. Add typeless_storage argument. +- +-2017-04-19 Eric Botcazou +- Jakub Jelinek +- +- PR tree-optimization/80426 +- * tree-vrp.c (extract_range_from_binary_expr_1): For an additive +- operation on symbolic operands, also compute the overflow for the +- invariant part when the operation degenerates into a negation. +- +-2017-04-19 Jakub Jelinek +- +- PR debug/80461 +- * dwarf2out.c (modified_type_die, gen_type_die_with_usage): +- Check for t with zero TYPE_QUALS_NO_ADDR_SPACE. +- +- PR debug/80436 +- * tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses. +- +-2017-04-19 Georg-Johann Lay +- +- PR target/80462 +- * config/avr/avr.c (tree.h): Include it. +- (cgraph.h): Include it. +- (avr_encode_section_info): Don't warn for uninitialized progmem +- variable if it's just an alias. +- +-2017-04-19 Richard Biener +- +- PR ipa/65972 +- * auto-profile.c (afdo_vpt_for_early_inline): Update SSA +- when needed by AutoPGO. +- +-2017-04-19 Paulo J. Matos +- +- PR lto/50345 +- * doc/lto.texi: Remove an extra 'that'. +- +-2017-04-19 Segher Boessenkool +- +- PR rtl-optimization/80429 +- * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that +- are only used in debug insns. +- +-2017-04-19 Eric Botcazou +- Vladimir Makarov +- +- * config/sparc/predicates.md (input_operand): Add comment. Return +- true for any memory operand when LRA is in progress. +- * config/sparc/sparc.c (sparc_expand_move): Minor formatting fix. +- +-2017-04-18 Jeff Law +- +- PR target/74563 +- * mips.md ({return,simple_return}_internal): Do not overwrite +- operands[0]. +- +-2017-04-18 Jakub Jelinek +- +- PR tree-optimization/80443 +- * tree-vrp.c (intersect_ranges): For signed 1-bit precision type, +- instead of adding 1, subtract -1 and similarly instead of subtracting +- 1 add -1. +- +-2017-04-18 Richard Sandiford +- +- PR rtl-optimization/80357 +- * haifa-sched.c (tmp_bitmap): New variable. +- (model_recompute): Handle duplicate use records. +- (alloc_global_sched_pressure_data): Initialize tmp_bitmap. +- (free_global_sched_pressure_data): Free it. +- +-2017-04-18 Bernd Edlinger +- +- Revert: +- 2017-02-20 Bernd Edlinger +- * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe. +- (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR +- instead of SYSTEM_HEADER_DIR. +- +-2017-04-18 Jeff Law +- +- PR middle-end/80422 +- * cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have +- predecessors after walking up the insn chain. +- +-2017-04-18 Jakub Jelinek +- +- PR debug/80263 +- * dwarf2out.c (modified_type_die): Try harder not to emit internal +- sizetype type into debug info. +- +-2017-04-18 Michael Meissner +- +- PR target/80099 +- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate +- unneeded test for TARGET_UPPER_REGS_SF. +- * config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise. +- +-2017-04-18 Jakub Jelinek +- +- PR sanitizer/80444 +- * sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb +- instead of gsi_after_labels. +- +-2017-04-18 Jeff Law +- +- * regcprop.c (maybe_mode_change): Avoid creating copies of the +- stack pointer. +- +- Revert: +- 2017-04-13 Jeff Law +- * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear +- in operands[1] if it is a MEM and TARGET_MIPS16 is active. +- +-2017-04-18 Georg-Johann Lay +- +- PR target/79453 +- * config/avr/avr.c (intl.h): Include it. +- (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _(). +- +-2017-04-18 Martin Liska +- +- PR gcov-profile/78783 +- * gcov-tool.c (gcov_output_files): Validate that destination +- file is either removed by the tool or by a user. +- +-2017-04-14 Andrew Burgess +- Guy Benyei +- +- * config/arc/arc.c (arc_reorg): Move loop_end_id into a more local +- block, and do not negate it, the stored id is already negative. +- +-2017-04-14 Andrew Burgess +- +- * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax. +- +-2017-04-14 Michael Meissner +- +- PR target/80098 +- * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define +- masks of options that should be turned off if the VSX vector +- options are turned off. +- (OTHER_P8_VECTOR_MASKS): Likewise. +- (OTHER_VSX_VECTOR_MASKS): Likewise. +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Call +- rs6000_disable_incompatible_switches to validate no type switches +- like -mvsx. +- (rs6000_incompatible_switch): New function to disallow turning on +- other vector options if -mno-vsx, -mno-power8-vector, or +- -mno-power9-vector are specified. +- +-2017-04-14 Claudiu Zissulescu +- +- * config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls. +- +-2017-04-14 Claudiu Zissulescu +- +- * config/arc/arc-protos.h (arc_decl_pretend_args): Remove. +- * config/arc/arc.c (arc_decl_pretend_args): Likewise. +- * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise. +- (ARG_POINTER_CFA_OFFSET): Likewise. +- +-2017-04-14 Claudiu Zissulescu +- +- * config/arc/arc.c (arc_mode_dependent_address_p): Relax +- conditions to take advantage of various optimizations. +- +-2017-04-13 Jeff Law +- +- * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear +- in operands[1] if it is a MEM and TARGET_MIPS16 is active. +- (zero_extendsidi2_dext): Likewise. +- +-2017-04-13 Jakub Jelinek +- +- PR sanitizer/80403 +- * fold-const.c (fold_ternary_loc): Revert +- use op0 instead of fold_convert_loc (loc, type, arg0) part of +- 2017-04-12 change. +- +-2017-04-13 Vladimir Makarov +- +- PR rtl-optimization/80343 +- * lra-remat.c (update_scratch_ops): Assign original hard reg to +- new scratch pseudo. +- +-2017-04-13 Denis Khalikov +- +- PR sanitizer/80414 +- * ubsan.c (ubsan_expand_bounds_ifn): Pass original index +- to ubsan_encode_value. +- +-2017-04-13 Jeff Law +- +- * reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs +- appearing in DEBUG_INSNs. +- +-2017-04-13 Martin Liska +- +- PR gcov-profile/80413 +- * gcov-io.c (gcov_write_string): Copy to buffer just when +- allocated size is greater than zero. +- +-2017-04-13 Jakub Jelinek +- +- PR debug/80321 +- * dwarf2out.c (decls_for_scope): Ignore declarations of +- current_function_decl in BLOCK_NONLOCALIZED_VARS. +- +-2017-04-12 Jan Hubicka +- +- PR lto/69953=20 +- * ipa-visibility.c (non_local_p): Fix typos. +- (localize_node): When localizing symbol in same comdat group, +- dissolve the group only when we know external symbols are going +- to be privatized. +- (function_and_variable_visibility): Do not localize DECL_EXTERNAL. +- +-2017-04-12 Jakub Jelinek +- +- PR tree-optimization/79390 +- * optabs.c (emit_conditional_move): If the preferred op2/op3 operand +- order does not result in usable sequence, retry with reversed operand +- order. +- +- PR sanitizer/80403 +- PR sanitizer/80404 +- PR sanitizer/80405 +- * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument +- to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use +- op0 instead of fold_convert_loc (loc, type, arg0). +- +-2017-04-12 Jeff Law +- +- * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still +- has a delay slot in the generated code. +- +- * config/cris/cris.md (cris_preferred_reload_class): Return +- GENNONACR_REGS rather than GENERAL_REGS. +- +-2017-04-12 Jakub Jelinek +- +- PR c/80163 +- * expr.c : For EXPAND_INITIALIZER determine SIGN_EXTEND +- vs. ZERO_EXTEND based on signedness of treeop0's type rather than +- signedness of the result type. +- +-2017-04-12 Richard Biener +- Jeff Law +- +- PR tree-optimization/80359 +- * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not +- trim stores to TARGET_MEM_REFs. +- +-2017-04-12 Richard Biener +- +- PR tree-optimization/79390 +- * gimple-ssa-split-paths.c (is_feasible_trace): Restrict +- threading case even more. +- +-2017-04-12 Segher Boessenkool +- +- PR target/80382 +- * config/rs6000/sync.md (atomic_load, atomic_store +- Bernd Edlinger +- +- PR middle-end/79671 +- * alias.c (component_uses_parent_alias_set_from): Handle +- TYPE_TYPELESS_STORAGE. +- (get_alias_set): Likewise. +- * tree-core.h (tree_type_common): Add typeless_storage flag. +- * tree.h (TYPE_TYPELESS_STORAGE): New macro. +- * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE +- for types containing members with TYPE_TYPELESS_STORAGE. +- (place_field): Likewise. +- (layout_type): Likewise for ARRAY_TYPE. +- * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE. +- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream +- TYPE_TYPELESS_STORAGE. +- * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. +- +-2017-04-12 Jakub Jelinek +- +- PR sanitizer/80349 +- * fold-const.c (fold_binary_loc) : Convert arg0's +- first argument to type. +- +-2017-04-11 Bill Schmidt +- +- PR target/80376 +- PR target/80315 +- * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return +- CONST0_RTX (mode) rather than const0_rtx where appropriate. +- (rs6000_expand_binop_builtin): Likewise. +- (rs6000_expand_ternop_builtin): Likewise; also add missing +- vsx_xxpermdi_* variants; also fix typo (arg1 =3D> arg2) for +- vshasigma built-ins. +- * doc/extend.texi: Document that vec_xxpermdi's third argument +- must be a constant. +- +-2017-04-11 Uros Bizjak +- +- * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain): +- Use shift_const cost parameter when calculating gain of STV shifts. +- +-2017-04-11 Vladimir Makarov +- +- PR rtl-optimization/70478 +- * lra-constraints.c (process_alt_operands): Check memory for +- disfavoring memory insn operand. +- +-2017-04-11 Jakub Jelinek +- +- PR middle-end/80100 +- * simplify-rtx.c (simplify_binary_operation_1) : Perform +- left shift in unsigned HOST_WIDE_INT type. +- +- PR rtl-optimization/80385 +- * simplify-rtx.c (simplify_unary_operation_1): Don't transform +- (not (neg X)) into (plus X -1) for complex or non-integral modes. +- +- PR libgomp/80394 +- * omp-low.c (scan_omp_task): Don't optimize away empty tasks +- if they have any depend clauses. +- +-2017-04-11 Martin Liska +- +- PR ipa/80212 +- * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. +- * ipa-split.c (split_function): Create a local comdat symbol +- if caller is in a comdat group. +- +-2017-04-11 Martin Liska +- +- PR ipa/80212 +- * ipa-cp.c (determine_versionability): Handle calls_comdat_local +- flags. +- +-2017-04-11 Martin Sebor +- +- PR middle-end/80364 +- * gimple-ssa-sprintf.c (get_int_range): Remove second argument and +- always use the int type. Use INTEGRAL_TYPE_P() rather than testing +- for INTEGER_TYPE. +- (directive::set_width, directive::set_precision, format_character): +- Adjust. +- (parse_directive): Use INTEGRAL_TYPE_P() rather than testing for +- INTEGER_TYPE. +- +-2017-04-11 Richard Earnshaw +- +- PR target/80389 +- * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch +- conflict, set target->arch_name instead of target->cpu_name. +- +-2017-04-11 Richard Biener +- +- PR tree-optimization/80374 +- * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use +- build_zero_cst, remove fold_convertible_p check again. +- +-2017-04-11 Martin Liska +- +- PR sanitizer/70878 +- * ubsan.c (instrument_object_size): Do not instrument register +- variables. +- +-2017-04-11 Jakub Jelinek +- +- PR target/80381 +- * config/i386/i386-builtin-types.def +- (V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT, +- V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT, +- V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT, +- V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT, +- V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT, +- V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT, +- V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT, +- V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT, +- V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT, +- V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT, +- V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT, +- V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT, +- V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT, +- V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT, +- V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT, +- V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT, +- V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT, +- V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases. +- * config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask, +- __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask, +- __builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask, +- __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask, +- __builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask, +- __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask, +- __builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask, +- __builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask, +- __builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask, +- __builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask, +- __builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask, +- __builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask, +- __builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask, +- __builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask, +- __builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask, +- __builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask, +- __builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask, +- __builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask, +- __builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask, +- __builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask, +- __builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask, +- __builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask, +- __builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask, +- __builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask, +- __builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask, +- __builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask, +- __builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask, +- __builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type +- aliases. +- * config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count +- flag to second_arg_count, handle 4 argument function type _COUNT +- aliases, handle second_arg_count on second argument rather than last. +- +-2017-04-10 Jeff Law +- +- PR tree-optimization/80374 +- * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to +- record anything if we can not convert integer_zero_node to the +- desired type. +- +-2017-04-10 Kelvin Nilsen +- +- PR target/80108 +- * config/rs6000/rs6000.c (rs6000_option_override_internal): +- Enhance special handling given to the TARGET_P9_MINMAX option in +- relation to certain other options. +- +-2017-04-10 Bin Cheng +- +- PR tree-optimization/80153 +- * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and +- remove POINTER_PLUS_EXPR's base part directly, rather than through +- aff_tree. +- +-2017-04-10 Richard Biener +- Bin Cheng +- +- PR tree-optimization/80153 +- * tree-affine.c (aff_combination_to_tree): Get base pointer from +- the first element of pointer type aff_tree. Build result expr in +- aff_tree's type. +- (add_elt_to_tree): Convert to type unconditionally. Remove other +- fold_convert calls. +- * tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types. +- (rewrite_use_nonlinear_expr): Check invariant using iv information. +- +-2017-04-10 Richard Biener +- +- * tree-ssa-structalias.c (find_func_aliases): Properly handle +- asm inputs. +- +-2017-04-10 Vladimir Makarov +- +- PR rtl-optimization/70478 +- * lra-constraints.c (curr_small_class_check): New. +- (update_and_check_small_class_inputs): New. +- (process_alt_operands): Update curr_small_class_check. Disfavor +- alternative insn memory operands. Check available regs for small +- class operands. +- +-2017-03-31 Matthew Fortune +- +- PR target/80057 +- * config/mips/mips.opt (-mvirt): Update description. +- * doc/invoke.texi (-mvirt): Likewise. +- +-2017-04-10 Richard Biener +- +- PR middle-end/80362 +- * fold-const.c (fold_binary_loc): Look at unstripped ops when +- looking for NEGATE_EXPR in -A / -B to A / B folding. +- +-2017-04-10 Martin Liska +- +- PR gcov-profile/80224 +- * gcov.c (print_usage): Fix usage string. +- (get_gcov_intermediate_filename): Remove. +- (output_gcov_file): Use both for normal and intermediate format. +- (generate_results): Do not initialize special file for +- intermediate format. +- +-2017-04-10 Richard Biener +- +- PR tree-optimization/80304 +- * tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse +- for safelen. +- +-2017-04-10 Nathan Sidwell +- +- PR target/79905 +- * config/rs6000/rs6000.c (rs6000_vector_type): New. +- (rs6000_init_builtins): Use it. +- +-2016-04-10 Kyrylo Tkachov +- +- * config/arm/arm.md (): Add mode to SET source. +- (): Likewise. +- +-2017-04-10 Richard Biener +- +- PR middle-end/80344 +- * gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs. +- +-2017-04-10 Jakub Jelinek +- +- PR target/80324 +- * config/i386/avx512fintrin.h (_mm512_reduce_add_epi32, +- _mm512_reduce_mul_epi32, _mm512_reduce_and_epi32, +- _mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32, +- _mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32, +- _mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32, +- _mm512_reduce_max_epi32, _mm512_reduce_min_epu32, +- _mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32, +- _mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32, +- _mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps, +- _mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps, +- _mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps, +- _mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps, +- _mm512_reduce_add_epi64, _mm512_reduce_mul_epi64, +- _mm512_reduce_and_epi64, _mm512_reduce_or_epi64, +- _mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64, +- _mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64, +- _mm512_reduce_min_epi64, _mm512_reduce_max_epi64, +- _mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64, +- _mm512_reduce_min_epu64, _mm512_reduce_max_epu64, +- _mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64, +- _mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd, +- _mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd, +- _mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics. +- +-2017-04-08 Vladimir Makarov +- +- PR rtl-optimization/70478 +- * lra-constraints.c: Reverse the last patch. +- +-2017-04-08 Andreas Tobler +- +- * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME. +- Add comment for WCHAR_T. +- +-2017-04-08 Martin Liska +- +- Revert: +- 2017-04-07 Martin Liska +- +- PR ipa/80212 +- * ipa-split.c (split_function): Add function part to a same comdat +- group. +- +-2017-04-08 Aaron Sawdey +- +- PR target/80358 +- * config/rs6000/rs6000.c (expand_block_compare): Fix boundary check. +- +-2017-04-07 Pat Haugen +- +- * rs6000/rs6000.c (vec_load_pendulum): Rename... +- (vec_pairing): ...to this. +- (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns. +- (rs6000_sched_init): Adjust for name change. +- (struct rs6000_sched_context): Likewise. +- (rs6000_init_sched_context): Likewise. +- (rs6000_set_sched_context): Likewise. +- +-2017-04-07 Jakub Jelinek +- +- PR target/80322 +- PR target/80323 +- PR target/80325 +- PR target/80326 +- * config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New +- intrinsics. +- * config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int, +- _mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd, +- _mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise. +- +-2017-04-07 Andreas Tobler +- +- * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE. +- +-2017-04-07 Vladimir Makarov +- +- PR rtl-optimization/70703 +- * ira-color.c (update_conflict_hard_regno_costs): Use +- int64_t instead of HOST_WIDE_INT. +- +-2017-04-07 Vladimir Makarov +- +- PR rtl-optimization/70478 +- * lra-constraints.c (process_alt_operands): Disfavor alternative +- insn memory operands. +- +-2017-04-07 Jeff Law +- +- * config/iq2000/iq2000.c (final_prescan_insn): Do not separate a +- CALL and NOTE_INSN_CALL_ARG_LOCATION. +- +-2017-04-07 Martin Liska +- +- PR target/79889 +- * config/aarch64/aarch64.c (aarch64_process_target_attr): +- Show error message instead of an ICE. +- +-2017-04-07 Martin Liska +- +- PR ipa/80212 +- * ipa-split.c (split_function): Add function part to a same comdat +- group. +- +-2017-04-07 Richard Biener +- +- PR middle-end/80341 +- * tree.c (get_unwidened): Also handle ! for_type case for +- INTEGER_CSTs. +- * convert.c (do_narrow): Split out from ... +- (convert_to_integer_1): ... here. Do not pass final truncation +- type to get_unwidened for TRUNC_DIV_EXPR. +- +-2017-04-07 Richard Biener +- +- * tree-affine.c (wide_int_ext_for_comb): Take type rather +- than aff_tree. +- (aff_combination_const): Adjust. +- (aff_combination_scale): Likewise. +- (aff_combination_add_elt): Likewise. +- (aff_combination_add_cst): Likewise. +- (aff_combination_convert): Likewise. +- (add_elt_to_tree): Likewise. Remove unused argument. +- (aff_combination_to_tree): Adjust calls to add_elt_to_tree. +- +-2017-04-07 Sebastian Huber +- +- * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default +- definition. +- * config/arm/arm.c (arm_default_short_enums): Use +- ARM_DEFAULT_SHORT_ENUMS. +- * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define. +- +-2017-04-06 Jakub Jelinek +- +- PR debug/80234 +- * dwarf2out.c (gen_member_die): Handle C++17 inline static data +- members with redundant out-of-class redeclaration. +- +-2017-04-06 Uros Bizjak +- +- PR target/80286 +- * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern. +- * config/i386/i386.md (*zero_extendsidi2): +- Add (?*x,*x) and (?*v,*v) alternatives. +- +-2017-04-06 Uros Bizjak +- +- PR target/79733 +- * config/i386/i386.c (ix86_expand_builtin) +- : Determine insn operand +- mode from insn data. Convert operands to insn operand mode. +- Copy operands that don't satisfy insn predicate to a register. +- +-2017-04-06 Sam Thursfield +- +- * config/rs6000/x-aix: Increase memory limit for genautomata on AIX. +- Update comments. +- +-2017-04-06 Richard Biener +- +- PR tree-optimization/80334 +- * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly +- preserve alignment of accesses. +- +-2017-04-06 Richard Biener +- +- PR tree-optimization/80262 +- * tree-sra.c (build_ref_for_offset): Preserve address-space +- information. +- * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): +- Drop useless address-space information on MEM_REF offsets. +- +-2017-04-05 Andreas Schwab +- +- * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type. +- +-2017-04-05 Vladimir Makarov +- +- PR rtl-optimization/70703 +- * ira-color.c (update_conflict_hard_regno_costs): Use +- HOST_WIDE_INT instead of long. +- +-2017-04-05 Uros Bizjak +- +- PR target/80298 +- * config/i386/mmintrin.h: Add -msse target option when __SSE__ is +- not defined for x86_64 target. Add -mmmx target option when __SSE2__ +- is not defined. +- * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined +- for x86_64 target. Handle -m3dnowa option. +- +-2017-04-05 Vladimir Makarov +- +- PR rtl-optimization/70703 +- * ira-color.c (update_costs_from_allocno): Use the smallest mode. +- (update_conflict_hard_regno_costs): Use long instead of unsigned +- arithmetic for cost calculation. +- +-2017-04-05 Jakub Jelinek +- Bernd Edlinger +- +- PR sanitizer/80308 +- * asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value +- for big endian. +- +-2017-04-05 Eric Botcazou +- +- PR target/78002 +- * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace +- ptr_mode with Pmode throughout. +- * config/aarch64/aarch64.md (probe_stack_range_ +- +- PR target/79890 +- * config/s390/s390.c (s390_register_info_gprtofpr): Return if +- call_eh_return is true. +- +-2017-04-05 Andreas Krebbel +- +- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): +- Initialize last_match_fntype_index. +- +-2017-04-05 Jakub Jelinek +- +- PR target/80310 +- * tree-nvr.c: Include internal-fn.h. +- (pass_return_slot::execute): Ignore internal calls without +- direct optab. +- +-2017-04-04 Jakub Jelinek +- Richard Biener +- +- PR c++/80297 +- * genmatch.c (capture::gen_transform): For GENERIC unshare_expr +- captures used multiple times, except for the last use. +- * generic-match-head.c: Include gimplify.h. +- +-2017-04-04 Jakub Jelinek +- +- PR tree-optimization/79390 +- * target.h (struct noce_if_info): Declare. +- * targhooks.h (default_noce_conversion_profitable_p): Declare. +- * target.def (noce_conversion_profitable_p): New target hook. +- * ifcvt.h (struct noce_if_info): New type, moved from ... +- * ifcvt.c (struct noce_if_info): ... here. +- (noce_conversion_profitable_p): Renamed to ... +- (default_noce_conversion_profitable_p): ... this. No longer +- static nor inline. +- (noce_try_store_flag_constants, noce_try_addcc, +- noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith, +- noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p +- instead of noce_conversion_profitable_p. +- * config/i386/i386.c: Include ifcvt.h. +- (ix86_option_override_internal): Don't override +- PARAM_MAX_RTL_IF_CONVERSION_INSNS default. +- (ix86_noce_conversion_profitable_p): New function. +- (TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine. +- * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment. +- * doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add. +- * doc/tm.texi: Regenerated. +- +-2017-04-04 Bill Schmidt +- +- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar +- correction. +- +-2017-04-04 Thomas Preud'homme +- +- PR target/80307 +- * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32 +- instructions for small multiply cores. +- +-2017-04-04 Jeff Law +- +- * config/mips/mips.c (mips_multi_add): Zero initialize the newly +- added member. +- (mips_expand_vec_perm_const): Initialize elements in orig_perm +- that are not set by the loop over the elements. +- +-2017-04-04 Jakub Jelinek +- +- PR target/80286 +- * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar +- int mode, convert_modes it to mode as unsigned, otherwise use +- lowpart_subreg to mode rather than SImode. +- * config/i386/sse.md (ashr3, +- ashr3, ashr3, 3): +- Use DImode instead of SImode for the shift count operand. +- * config/i386/mmx.md (mmx_ashr3, mmx_3): +- Likewise. +- +-2017-04-04 Richard Biener +- +- PR middle-end/80281 +- * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned +- arithmetic done for the negate or the plus. Simplify. +- (A - (-B) -> A + B): Likewise. +- * fold-const.c (split_tree): Make sure to not negate pointers. +- +-2017-04-04 Segher Boessenkool +- +- PR rtl-optimization/60818 +- * simplify-rtx.c (simplify_binary_operation_1): Do not replace +- a compare of comparisons with the thing compared if this results +- in a different machine mode. +- +-2017-04-03 Jonathan Wakely +- +- * alias.c (base_alias_check): Fix typo in comment. +- * cgraph.h (class ipa_polymorphic_call_context): Likewise. +- * cgraphunit.c (symbol_table::compile): Likewise. +- * collect2.c (maybe_run_lto_and_relink): Likewise. +- * config/arm/arm.c (arm_thumb1_mi_thunk): Likewise. +- * config/avr/avr-arch.h (avr_arch_info_t): Likewise. +- * config/avr/avr.c (avr_map_op_t): Likewise. +- * config/cr16/cr16.h (DATA_ALIGNMENT): Likewise. +- * config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise. +- * config/epiphany/epiphany.md (movcc): Likewise. +- * config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise. +- * config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue): +- Likewise. +- * config/mips/mips.c (mips_save_restore_reg): Likewise. +- * config/rx/rx.c (rx_is_restricted_memory_address): Likewise. +- * config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise. +- * config/sh/sh.c (sh_rtx_costs): Likewise. +- * fold-const.c (fold_truth_andor): Likewise. +- * genautomata.c (collapse_flag): Likewise. +- * gengtype.h (struct type::u::s): Likewise. +- * gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise. +- * input.c (FORMAT_AMOUNT): Likewise. +- * ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector) +- (known_aggs_to_agg_replacement_list): Likewise. +- * ipa-inline-analysis.c: Likewise. +- * ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise. +- * ipa-polymorphic-call.c +- (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise. +- * loop-unroll.c (analyze_insn_to_expand_var): Likewise. +- * lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos): +- Likewise. +- * modulo-sched.c (apply_reg_moves): Likewise. +- * omp-expand.c (build_omp_regions_1): Likewise. +- * trans-mem.c (struct tm_wrapper_hasher): Likewise. +- * tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise. +- * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise. +- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. +- * value-prof.c: Likewise. +- * var-tracking.c (val_reset): Likewise. +- +-2017-04-03 Richard Biener +- +- PR tree-optimization/80275 +- * fold-const.c (split_address_to_core_and_offset): Handle +- POINTER_PLUS_EXPR. +- +-2017-04-03 Eric Botcazou +- +- * tree-nested.c (get_descriptor_type): Make sure that the alignment of +- descriptors is at least equal to that of functions. +- +-2017-04-02 Uros Bizjak +- +- * config/i386/sse.md (movdi_to_sse): Add missing DONE. +- +-2017-04-02 Uros Bizjak +- +- PR target/80250 +- * config/i386/sse.md (mov): Remove insn pattern. +- (mov): New expander. +- (*mov_internal): New insn and split pattern. +- +-2017-03-31 Segher Boessenkool +- +- PR rtl-optimization/79405 +- * fwprop.c (propagations_left): New variable. +- (forward_propagate_into): Decrement it. +- (fwprop_init): Initialize it. +- (fw_prop): If the variable has reached zero, stop propagating. +- (fwprop_addr): Ditto. +- +-2017-03-31 Jakub Jelinek +- +- PR debug/79255 +- * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is +- a FUNCTION_DECL, pass it as decl instead of origin to +- process_scope_var. +- +-2017-03-31 Alexander Monakov +- +- * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format +- string. +- +-2017-03-31 Pat Haugen +- +- PR target/80107 +- * config/rs6000/rs6000.md (extendhi2): Add test for +- TARGET_VSX_SMALL_INTEGER. +- +-2017-03-31 Bill Schmidt +- +- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Add +- reference to the OpenPOWER 64-Bit ELF V2 ABI Specification. +- +-2017-03-31 Matthew Fortune +- +- * config/mips/mips-msa.md (msa_vec_extract_): Update +- extraction from odd-numbered MSA register. +- +-2017-03-31 Jakub Jelinek +- +- PR middle-end/80173 +- * expmed.c (store_bit_field_1): Don't attempt to create +- a word subreg out of hard registers wider than word if they +- have HARD_REGNO_NREGS of 1 for their mode. +- +- PR middle-end/80163 +- * varasm.c (initializer_constant_valid_p_1): Disallow sign-extending +- conversions to integer types wider than word and pointer. +- +- PR debug/80025 +- * cselib.h (rtx_equal_for_cselib_1): Add depth argument. +- (rtx_equal_for_cselib_p): Pass 0 to it. +- * cselib.c (cselib_hasher::equal): Likewise. +- (rtx_equal_for_cselib_1): Add depth argument. If depth +- is 128, don't look up VALUE locs and punt. Increment +- depth in recursive calls when walking VALUE locs. +- +-2017-03-31 Bernd Edlinger +- +- * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes. +- (make_gcov_file_name): Use the canonical path name for generating +- the MD5 value. +- (read_line): Fix handling of files with ascii null bytes. +- +-2017-03-30 Matthew Fortune +- +- * config/mips/mips.c (mips_expand_vector_init): Create a const_vector +- to initialise a vector register instead +- of using a const_int. +- +-2017-03-30 Jakub Jelinek +- +- PR translation/80189 +- * gimplify.c (omp_default_clause): Use %qs instead of %s in +- diagnostic messages. +- +-2017-03-30 Peter Bergner +- +- PR target/80246 +- * config/rs6000/dfp.md (dfp_dxex_): Update mode of operand 0. +- (dfp_diex_): Update mode of operand 1. +- * doc/extend.texi (dxex, dxexq): Document change to return type. +- (diex, diexq): Document change to argument type. +- +-2017-03-30 Martin Jambor +- +- PR ipa/77333 +- * cgraph.h (cgraph_build_function_type_skip_args): Declare. +- * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that +- it reflects the signature changes performed at the callee side. +- * cgraphclones.c (build_function_type_skip_args): Make public, renamed +- to cgraph_build_function_type_skip_args. +- (build_function_decl_skip_args): Adjust call to the above function. +- +-2017-03-30 Jakub Jelinek +- +- PR target/80206 +- * config/i386/sse.md +- (_vextract_mask): Use +- register as dest whenever it is a MEM not rtx_equal_p to the +- corresponding dup operand, and when forcing into reg move the +- reg into the memory afterwards. +- (_vextract_mask): +- Likewise. Use instead of +- for the force_reg mode. +- (avx512vl_vextractf128): Use register as dest either +- always when a MEM, or when it is a MEM not rtx_equal_p to the +- corresponding dup operand, or even not when it is a CONST_VECTOR +- depending on the mode and lo vs. hi. +- (avx512dq_vextract64x2_1_maskm): Remove extraneous +- parens. +- (avx512f_vextract32x4_1_maskm): Likewise. +- (avx512dq_vextract64x2_1): +- Likewise. Require that operands[2] is even. +- (avx512f_vextract32x4_1): +- Remove extraneous parens. Require that operands[2] is a multiple +- of 4. +- (vec_extract_lo_): Don't bother testing if +- operands[0] is a MEM if , the predicates/constraints +- disallow memory then. +- +-2017-03-30 Richard Biener +- +- PR tree-optimization/77498 +- * tree-ssa-pre.c (phi_translate_1): Do not allow simplifications +- to non-constants over backedges. +- +-2017-03-29 Segher Boessenkool +- +- PR rtl-optimization/80233 +- * combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns +- as last_combined_insn. Do not test for BARRIER_P separately. +- +-2017-03-29 Andreas Schwab +- +- PR ada/80146 +- * calls.c (prepare_call_address): Convert funexp to Pmode before +- copying to temp reg. +- +-2017-03-29 Bill Schmidt +- +- PR tree-optimization/80158 +- * gimple-ssa-strength-reduction.c (replace_mult_candidate): +- Handle possible future case of more than one alternate +- interpretation. +- (replace_rhs_if_not_dup): Likewise. +- (replace_one_candidate): Likewise. +- +-2017-03-28 Vladimir Makarov +- +- PR rtl-optimization/80193 +- * ira.c (ira): Do not check allocation for LRA. +- +-2017-03-28 Alexander Monakov +- +- * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare. +- (nvptx_output_simt_exit): Declare. +- * config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use +- cfun->machine->unisimt_location. Handle NULL unisimt_predicate. +- (init_softstack_frame): Move initialization of crtl->is_leaf to... +- (nvptx_declare_function_name): ...here. Emit declaration of local +- memory space buffer for omp_simt_enter insn. +- (nvptx_output_unisimt_switch): New. +- (nvptx_output_softstack_switch): New. +- (nvptx_output_simt_enter): New. +- (nvptx_output_simt_exit): New. +- * config/nvptx/nvptx.h (struct machine_function): New fields +- has_simtreg, unisimt_location, simt_stack_size, simt_stack_align. +- * config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec. +- (UNSPECV_SIMT_EXIT): Ditto. +- (omp_simt_enter_insn): New insn. +- (omp_simt_enter): New expansion. +- (omp_simt_exit): New insn. +- * config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option. +- +- * internal-fn.c (expand_GOMP_SIMT_ENTER): New. +- (expand_GOMP_SIMT_ENTER_ALLOC): New. +- (expand_GOMP_SIMT_EXIT): New. +- * internal-fn.def (GOMP_SIMT_ENTER): New internal function. +- (GOMP_SIMT_ENTER_ALLOC): Ditto. +- (GOMP_SIMT_EXIT): Ditto. +- * target-insns.def (omp_simt_enter): New insn. +- (omp_simt_exit): Ditto. +- * omp-low.c (struct omplow_simd_context): New fields simt_eargs, +- simt_dlist. +- (lower_rec_simd_input_clauses): Implement SIMT privatization. +- (lower_rec_input_clauses): Likewise. +- (lower_lastprivate_clauses): Handle SIMT privatization. +- +- * omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h. +- (ompdevlow_adjust_simt_enter): New. +- (find_simtpriv_var_op): New. +- (execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER, +- IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT. +- +- * tree-inline.h (struct copy_body_data): New field dst_simt_vars. +- * tree-inline.c (expand_call_inline): Handle SIMT privatization. +- (copy_decl_for_dup_finish): Ditto. +- +- * tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER. +- +-2017-03-28 Uros Bizjak +- +- PR target/53383 +- * config/i386/i386.c (ix86_option_override_internal): Always +- allow -mpreferred-stack-boundary=3D3 for 64-bit targets. +- +-2017-03-28 Bin Cheng +- +- * tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop. +- +-2017-03-28 Bin Cheng +- +- * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and +- mark new edge's irreducible flag accordign to it. +- (vect_do_peeling): Check loop preheader edge's irreducible flag +- and pass it to function slpeel_add_loop_guard. +- +-2017-03-28 Richard Sandiford +- +- PR tree-optimization/80218 +- * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): +- Update block frequencies and counts. +- +-2017-03-28 Richard Biener +- +- PR tree-optimization/78644 +- * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value +- of a simplification result we may not use it at all. +- +-2017-03-28 Richard Biener +- +- PR ipa/80205 +- * tree-inline.c (copy_phis_for_bb): Do not create PHI node +- without arguments, generate default definition of a SSA name. +- +-2017-03-28 Richard Biener +- +- PR middle-end/80222 +- * gimple-fold.c (gimple_fold_indirect_ref): Do not touch +- TYPE_REF_CAN_ALIAS_ALL references. +- * fold-const.c (fold_indirect_ref_1): Likewise. +- +-2017-03-28 Martin Liska +- +- PR ipa/80104 +- * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a +- thunk call as DECL_GIMPLE_REG_P when vector or complex type. +- +-2017-03-28 Claudiu Zissulescu +- Thomas Petazzoni +- +- * config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec. +- (EXTRA_SPECS): Define. +- (SUBTARGET_EXTRA_SPECS): Likewise. +- (SUBTARGET_CPP_SPEC): Likewise. +- * config/arc/elf.h (EXTRA_SPECS): Renamed to +- SUBTARGET_EXTRA_SPECS. +- * config/arc/linux.h (SUBTARGET_CPP_SPEC): Define. +- +-2017-03-28 Claudiu Zissulescu +- +- * config/arc/simdext.md (vst64_insn): Update pattern. +- (vld32wh_insn): Likewise. +- (vld32wl_insn): Likewise. +- (vld64_insn): Likewise. +- (vld32_insn): Likewise. +- +-2017-03-28 Marek Polacek +- +- PR sanitizer/80067 +- * fold-const.c (fold_comparison): Use protected_set_expr_location +- instead of SET_EXPR_LOCATION. +- +-2017-03-28 Markus Trippelsdorf +- +- * tree.c (add_expr): Avoid name lookup warning. +- +-2017-03-27 Jeff Law +- +- PR tree-optimization/80216 +- * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in +- function name. Limit recursion depth. +- (record_temporary_equivalences): Corresponding changes. +- +-2017-03-27 Jonathan Wakely +- +- * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is +- covered first. +- +-2017-03-27 Jakub Jelinek +- +- PR target/80102 +- * reg-notes.def (REG_CFA_NOTE): Define. Use it for CFA related +- notes. +- * cfgcleanup.c (reg_note_cfa_p): New array. +- (insns_have_identical_cfa_notes): New function. +- (old_insns_match_p): Don't cross-jump in between /f +- and non-/f instructions. If both i1 and i2 are frame related, +- verify all CFA notes, their order and content. +- +-2017-03-27 Michael Meissner +- +- PR target/78543 +- * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap +- HImode and SImode with zero extend to DImode to one insn. +- (bswap2_extenddi): Likewise. +- (bswapsi2_extenddi): Likewise. +- (bswaphi2_extendsi): Likewise. +- (bswaphi2): Combine bswap HImode and SImode into one insn. +- Separate memory insns from swapping register. +- (bswapsi2): Likewise. +- (bswap2): Likewise. +- (bswaphi2_internal): Delete, no longer used. +- (bswapsi2_internal): Likewise. +- (bswap2_load): Split bswap HImode/SImode into separate load, +- store, and gpr<-gpr swap insns. +- (bswap2_store): Likewise. +- (bswaphi2_reg): Register only splitter, combine with the splitter. +- (bswaphi2 splitter): Likewise. +- (bswapsi2_reg): Likewise. +- (bswapsi2 splitter): Likewise. +- (bswapdi2): If we have the LDBRX and STDBRX instructions, split +- the insns into load, store, and register/register insns. +- (bswapdi2_ldbrx): Likewise. +- (bswapdi2_load): Likewise. +- (bswapdi2_store): Likewise. +- (bswapdi2_reg): Likewise. +- +-2017-03-27 Gunther Nikl +- +- * system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case. +- (HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise. +- +-2017-03-27 Kelvin Nilsen +- +- PR target/80103 +- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and +- add comments. +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Add +- special handling for target option conflicts between dform +- options (-mpower9-dform, -mpower9-dform-vector, +- -mpower9-dform-scalar) and -mno-direct-move. +- +-2017-03-27 Richard Biener +- +- PR tree-optimization/80181 +- * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED. +- +-2017-03-27 Claudiu Zissulescu +- +- * config/arc/predicates.md (move_double_src_operand): Replace the +- call to move_double_src_operand with a call to address_operand. +- +-2017-03-27 Claudiu Zissulescu +- +- * config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define. +- * config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise. +- * config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT. +- +-2017-03-27 Claudiu Zissulescu +- +- * config/arc/predicates.md (long_immediate_loadstore_operand): +- Consider scaled addresses cases. +- +-2017-03-27 Claudiu Zissulescu +- +- * config/arc/arc.c (arc_epilogue_uses): BLINK should be also +- restored when in interrupt. +- * config/arc/arc.md (simple_return): ARCv2 rtie instruction +- doesn't have delay slot. +- +-2017-03-27 Richard Biener +- +- PR ipa/79776 +- * tree-ssa-structalias.c (associate_varinfo_to_alias): Skip +- inlined thunk clones. +- +-2017-03-27 Jakub Jelinek +- +- PR sanitizer/80168 +- * asan.c (instrument_derefs): Copy over last operand from +- original COMPONENT_REF to the new COMPONENT_REF with +- DECL_BIT_FIELD_REPRESENTATIVE. +- * ubsan.c (instrument_object_size): Likewise. +- +-2017-03-27 Richard Biener +- +- PR tree-optimization/80170 +- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make +- sure DR/SCEV didnt fold in constants we do not see when looking +- at the reference base alignment. +- +-2017-03-27 Richard Biener +- +- PR middle-end/80171 +- * gimple-fold.c (fold_ctor_reference): Properly guard against +- NULL return value from canonicalize_constructor_val. +- +-2017-03-25 Uros Bizjak +- +- PR target/80180 +- * config/i386/i386.c (ix86_expand_builtin) +- : Do not expand arg0 between +- flags reg setting and flags reg using instructions. +- : Ditto. Use non-flags reg +- clobbering instructions to zero extend op2. +- +-2017-03-25 Gerald Pfeifer +- +- * doc/install.texi (Configuration) <--with-aix-soname>: +- Update link to AIX ld. +- +-2017-03-25 Bernd Schmidt +- +- PR rtl-optimization/80160 +- PR rtl-optimization/80159 +- * lra-assigns.c (must_not_spill_p): Tighten new test to also take +- reg_alternate_class into account. +- +-2017-03-24 Vladimir Makarov +- +- PR target/80148 +- * lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos +- to consider in curr_insn_transform. +- +-2017-03-24 Jakub Jelinek +- +- * genrecog.c (validate_pattern): Add VEC_SELECT validation. +- * genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits +- and emit_mode_inner. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390-builtins.def: Add VXE builtins. Add a flags +- argument to the overloaded builtin variants. Use the new flag to +- deprecate certain builtin variants. +- * config/s390/s390-builtin-types.def: Add new builtin types. +- * config/s390/s390-builtins.h: Support new flags field for +- overloaded builtins. +- * config/s390/s390-c.c (OB_DEF_VAR): New flags field. +- (s390_macro_to_expand): Enable vector float data type. +- (s390_cpu_cpp_builtins_internal): Indicate support of the new +- builtins by incrementing the __VEC__ version number. +- (s390_expand_overloaded_builtin): Support expansion of vec_xl and +- vec_xst. +- (s390_resolve_overloaded_builtin): Emit error messages depending +- on the builtin flags. +- * config/s390/s390.c (s390_expand_builtin): Support additional +- flags argument. Change error message to match the messages +- emitted in s390-c.c. +- * config/s390/s390.md: New UNSPEC_* constants. +- (op_type): Add new instruction types. +- * config/s390/vecintrin.h: Add new builtins and test data class +- constants. +- * config/s390/vx-builtins.md (V_HW_32_64): Add V4SF. +- (V_HW_4, VEC_HW, VECF_HW): New mode iterators. +- (VEC_INEXACT, VEC_NOINEXACT): New constants. +- ("vec_splats", "vec_insert", "vec_promote") +- ("vec_insert_and_zero", "vec_mergeh") +- ("vec_mergel"): V_HW -> VEC_HW. +- +- ("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di") +- ("vmslg", "*vftci_cconly", "vftci_intcconly") +- ("*vftci", "vftci_intcc", "vec_double_s64") +- ("vec_double_u64", "vfmin", "vfmax"): New definition. +- +- ("and_av2df3", "and_cv2df3", "vec_andc_av2df3") +- ("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3") +- ("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs") +- ("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition. +- +- ("vec_all_v2df", "vec_any_v2df") +- ("vec_scatter_elementv4si_DI", "vec_cmpv2df") +- ("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64") +- ("vfidb", "*vldeb", "*vledb", "*vec_cmpv2df_cconly") +- ("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc") +- ("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc") +- ("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ... +- +- ("vec_all_", "vec_any_") +- ("vec_scatter_element_DI") +- ("vec_cmp", "vcdgb", "vcdlgb", "vclgdb") +- ("vec_fpint", "vflls") +- ("vflrd", "*vec_cmp_cconly", "vec_cmpeq_cc") +- ("vec_cmpeq_cc", "vec_cmph_cc", "vec_cmphe_cc") +- ("*vec_cmpeq_cc", "*vec_cmph_cc") +- ("*vec_cmphe_cc"): ... these. +- +- ("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding +- mode constant instead of magic value. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_vec_compare): Support other +- vector floating point modes than just V2DF. +- (s390_expand_vcond): Likewise. +- (s390_hard_regno_mode_ok): Allow SFmode values in VRs. +- (s390_cannot_change_mode_class): Prevent mode changes between TF +- and V1TF in vector registers. +- * config/s390/s390.md (DF, SF): New mode attributes. +- ("*cmp_ccs", "add3", "sub3", "mul3") +- ("fma4", "fms4", "div3", "*neg2"): Add +- SFmode support for VRs. +- * config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new +- vector fp modes. +- (VFT, VF_HW): New mode iterators. +- (vw, sdx): New mode attributes. +- ("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2") +- ("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2") +- ("smaxv2df3", "sminv2df3", "*vec_cmpv2df_nocc") +- ("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df") +- ("vec_unorderedv2df"): Adjust the v2df only patterns to support +- also the new vector floating point modes. Renaming to ... +- +- ("add3", "sub3", "mul3", "div3") +- ("sqrt2", "fma4", "fms4", "neg2") +- ("abs2", "negabs2", "smax3") +- ("smin3", "*vec_cmp_nocc") +- ("vec_cmpuneq", "vec_cmpltgt", "vec_ordered") +- ("vec_unordered"): ... these. +- +- ("neg_fma4", "neg_fms4", "*smax3_vxe") +- ("*smin3_vxe", "*sminv2df3_vx", "*vec_extendv4sf") +- ("*vec_extendv2df"): New insn definitions. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3") +- ("mulditi3_2", "*muldi3_sign"): New patterns. +- ("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and +- rename the pattern definition. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md ("indirect_jump"): Turn insn definition into +- expander. +- ("*indirect_jump", "*indirect2_jump"): New pattern definitions. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_vec_init): Use vllezl +- instruction if possible. +- * config/s390/vector.md (vec_halfnumelts): New mode +- attribute. +- ("*vec_vllezlf"): New pattern. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/vector.md ("popcountv16qi2", "popcountv8hi2") +- ("popcountv4si2", "popcountv2di2"): Rename to ... +- ("popcount2", "popcountv8hi2_vx", "popcountv4si2_vx") +- ("popcountv2di2_vx"): ... these and add !TARGET_VXE to the +- condition. +- ("popcount2_vxe"): New pattern. +- +-2017-03-24 Andreas Krebbel +- +- * common/config/s390/s390-common.c (processor_flags_table): Add +- arch12. +- * config.gcc: Add arch12. +- * config/s390/driver-native.c (s390_host_detect_local_cpu): +- Default to arch12 for unknown CPU model numbers. +- * config/s390/s390-builtins.def: Add B_VXE builtin flag. +- * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust +- PROCESSOR_max sanity check. +- * config/s390/s390-opts.h (enum processor_type): Add +- PROCESSOR_ARCH12. +- * config/s390/s390.c (processor_table): Add arch12. +- (s390_expand_builtin): Add check for B_VXE flag. +- (s390_issue_rate): Add PROCESSOR_ARCH12. +- (s390_get_sched_attrmask): Likewise. +- (s390_get_unit_mask): Likewise. +- (s390_sched_score): Enable z13 scheduling for arch12. +- (s390_sched_reorder): Likewise. +- (s390_sched_variable_issue): Likewise. +- * config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and +- PF_VXE. +- (s390_tune_attr): Use z13 scheduling also for arch12. +- (TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE) +- (TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE) +- (TARGET_VXE_P): New macros. +- * config/s390/s390.md: Add arch12 to cpu attribute. Add arch12 +- and vxe to cpu_facility. Add arch12 and vxe to enabled attribute. +- * config/s390/s390.opt: Add arch12 as processor_type. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md +- ("fixuns_truncdddi2", "fixuns_trunctddi2") +- ("fixuns_trunc2"): Merge into ... +- ("fixuns_trunc2"): New expander. +- +- ("fixuns_trunc2", "fixuns_truncsi2"): +- Rename expanders to ... +- +- ("fixuns_trunc2_emu") +- ("fixuns_truncdddi2_emu"): ... these. +- +- ("fixuns_truncsi2_emu"): New expander. +- +- ("*fixuns_truncdfdi2_z13"): Rename to ... +- ("*fixuns_truncdfdi2_vx"): ... this. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/2964.md: Remove the single element vector compare +- instructions which are no longer used. +- * config/s390/s390.c (s390_select_ccmode): Remove handling of +- vector CCmodes. +- (s390_canonicalize_comparison): Remove handling of DFmode +- compares. +- (s390_expand_vec_compare_scalar): Remove function. +- (s390_emit_compare): Don't call s390_expand_vec_compare_scalar. +- * config/s390/s390.md ("*vec_cmpdf_cconly"): Remove +- pattern. +- ("*cmp_ccs"): Add wfcdb instruction. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md ("mov_64dfp" DD_DF): Use vleig for loading a +- FP zero. +- ("*mov_64" DD_DF): Remove the vector instructions. These +- will anyway by matched by mov_64dfp. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md ("mov" SD_SF): Change vleg/vsteg to +- vlef/vstef. Add missing operand to vleif. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_vec_init): Enable vector load +- pair for all vector types with 64 bit elements. +- * config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ... +- * config/s390/vector.md (V_HW_64): ... here. +- (V_128_NOSINGLE): New mode iterator. +- ("vec_init"): Use V_128 as mode iterator. +- ("*vec_splat"): Use V_128_NOSINGLE mode iterator. +- ("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions. +- ("*vec_load_pairv2di"): Change to ... +- ("*vec_load_pair"): ... this one. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/constraints.md: Add comments. +- (jKK): Reject element sizes > 8 bytes. +- * config/s390/s390.c (s390_split_ok_p): Enable splitting also for +- s_operands. +- * config/s390/s390.md: Add the s_operand checks formerly in +- s390_split_ok_p to various splitters where they are still +- required. +- * config/s390/vector.md ("mov" V_128): Add GPR alternatives +- for 128 bit vectors. Plus two splitters. +- +-2017-03-24 Andreas Krebbel +- +- * config/s390/s390.md: Rename the cpu facilty vec to vx throughout +- the file. +- +-2017-03-24 Andreas Krebbel +- +- PR target/79893 +- * config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an +- error if the boundary argument is not constant. +- +-2017-03-24 Jakub Jelinek +- +- PR rtl-optimization/80112 +- * loop-doloop.c (doloop_condition_get): Don't check condition +- if cmp isn't SET with IF_THEN_ELSE src. +- +-2017-03-24 Bill Schmidt +- +- PR tree-optimization/80158 +- * gimple-ssa-strength-reduction.c (replace_mult_candidate): When +- replacing a candidate statement, also replace it for the +- candidate's alternate interpretation. +- (replace_rhs_if_not_dup): Likewise. +- (replace_one_candidate): Likewise. +- +-2017-03-24 Richard Biener +- +- PR tree-optimization/80167 +- * graphite-isl-ast-to-gimple.c +- (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs +- properly. +- (translate_isl_ast_to_gimple::get_rename): Likewise. +- +-2017-03-23 Kelvin Nilsen +- +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Change +- handling of certain combinations of target options, including the +- combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs. +- -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector. +- +-2017-03-23 Kyrylo Tkachov +- +- PR target/71436 +- * config/arm/arm.md (*load_multiple): Add reload_completed to +- matching condition. +- +-2017-03-23 Bill Schmidt +- Richard Biener +- +- PR tree-optimization/79908 +- PR tree-optimization/80136 +- * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has +- been cast away, gimplify_and_add suffices. +- +-2017-03-23 Markus Trippelsdorf +- +- * tree-vrp.c (identify_jump_threads): Delete avail_exprs. +- +-2017-03-23 Richard Biener +- +- PR tree-optimization/80032 +- * gimplify.c (gimple_push_cleanup): Forced unconditional +- cleanups still have to go to the conditional_cleanups +- sequence. +- +-2017-03-22 Jakub Jelinek +- +- PR tree-optimization/80072 +- * tree-ssa-reassoc.c (struct operand_entry): Change id field type +- to unsigned int. +- (next_operand_entry_id): Change type to unsigned int. +- (sort_by_operand_rank): Make sure to return the right return value +- even if unsigned fields are bigger than INT_MAX. +- (struct oecount): Change cnt and id type to unsigned int. +- (oecount_hasher::equal): Formatting fix. +- (oecount_cmp): Make sure to return the right return value +- even if unsigned fields are bigger than INT_MAX. +- (undistribute_ops_list): Change next_oecount_id type to unsigned int. +- +- PR c++/80129 +- * gimplify.c (gimplify_modify_expr_rhs) : Clear +- TREE_READONLY on result if writing it more than once. +- +- PR sanitizer/80110 +- * doc/invoke.texi (-fsanitize=3Dthread): Document that with +- -fnon-call-exceptions atomics are not able to throw +- exceptions. +- +- PR sanitizer/80110 +- * tsan.c: Include tree-eh.h. +- (instrument_builtin_call): Call maybe_clean_eh_stmt or +- maybe_clean_or_replace_eh_stmt where needed. +- (instrument_memory_accesses): Add cfg_changed argument. +- Call gimple_purge_dead_eh_edges on each block and set *cfg_changed +- if it returned true. +- (tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed. +- +- PR rtl-optimization/63191 +- * config/i386/i386.c (ix86_delegitimize_address): Turn into small +- wrapper function, moved the whole old content into ... +- (ix86_delegitimize_address_1): ... this. New inline function. +- (ix86_find_base_term): Use ix86_delegitimize_address_1 with +- true as last argument instead of ix86_delegitimize_address. +- +-2017-03-22 Wilco Dijkstra +- +- * config/aarch64/aarch64.c (generic_branch_cost): Copy +- cortexa57_branch_cost. +- +-2017-03-22 Wilco Dijkstra +- +- * config/aarch64/aarch64.c (generic_tunings): Add AES fusion. +- +-2017-03-21 Aaron Sawdey +- +- PR target/80123 +- * doc/md.texi (Constraints): Document wA constraint. +- * config/rs6000/constraints.md (wA): New. +- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. +- (rs6000_init_hard_regno_mode_ok): Init wA constraint. +- * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. +- * config/rs6000/vsx.md (vsx_splat_): Use wA constraint. +- +-2017-03-22 Cesar Philippidis +- +- PR c++/80029 +- * gimplify.c (is_oacc_declared): New function. +- (oacc_default_clause): Use it to set default flags for acc declared +- variables inside parallel regions. +- (gimplify_scan_omp_clauses): Strip firstprivate pointers for acc +- declared variables. +- (gimplify_oacc_declare): Gimplify the declare clauses. Add the +- declare attribute to any decl as necessary. +- +-2017-03-22 Thomas Preud'homme +- +- PR target/80082 +- * config/arm/arm-isa.h (isa_bit_lpae): New feature bit. +- (ISA_ARMv7ve): Add isa_bit_lpae to the definition. +- * config/arm/arm-protos.h (arm_arch7ve): Rename into ... +- (arm_arch_lpae): This. +- * config/arm/arm.c (arm_arch7ve): Rename into ... +- (arm_arch_lpae): This. Define it in term of isa_bit_lpae. +- * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of +- arm_arch_lpae. +- +-2017-03-22 Martin Liska +- +- PR target/79906 +- * config/rs6000/rs6000.c (rs6000_inner_target_options): Show +- error message instead of an ICE. +- +-2017-03-21 Bill Schmidt +- +- * doc/extend.texi (6.11 Additional Floating Types): Revise. +- +-2017-03-21 Kelvin Nilsen +- +- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add +- comments. +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Add +- comments. +- +-2017-03-21 Martin Sebor +- +- * doc/extend.texi: Use "cannot" instead of "can't." +- * doc/hostconfig.texi: Same. +- * doc/install.texi: Same. +- * doc/invoke.texi: Same. +- * doc/loop.texi: Same. +- * doc/md.texi: Same. +- * doc/objc.texi: Same. +- * doc/rtl.texi: Same. +- * doc/tm.texi: Same. +- * doc/tm.texi.in: Same. +- * doc/trouble.texi: Same. +- +-2017-03-21 Alexandre Oliva +- +- PR debug/63238 +- * dwarf2out.c (struct checksum_attributes): Add at_alignment. +- (collect_checksum_attributes): Set it. +- (die_checksum_ordered): Use it. +- +-2017-03-21 Bill Schmidt +- +- PR tree-optimization/79908 +- * tree-stdarg.c (expand_ifn_va_arg_1): Revert the following +- change: For a VA_ARG whose LHS has been cast away, use +- force_gimple_operand to construct the side effects. +- +-2017-03-21 David Malcolm +- +- PR translation/80001 +- * omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics +- more amenable to translation. +- (oacc_loop_auto_partitions): Likewise. +- +-2017-03-21 Marek Polacek +- Martin Sebor +- +- PR tree-optimization/80109 +- * gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info +- on INTEGRAL_TYPE_P. +- +-2017-03-21 Jakub Jelinek +- Segher Boessenkool +- +- PR target/80125 +- * combine.c (can_combine_p): Revert the 2017-03-20 change, only +- check reg_used_between_p between insn and one of succ or succ2 +- depending on if succ is artificial insn not inserted into insn +- stream. +- +-2017-03-21 Martin Liska +- +- PR gcov-profile/80081 +- * Makefile.in: Add gcov-dump and fix installation of gcov-tool. +- * doc/gcc.texi: Include gcov-dump stuff. +- * doc/gcov-dump.texi: New file. +- +-2017-03-21 Toma Tabacu +- +- PR rtl-optimization/79150 +- * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the +- conditional jump, if the jump is the last insn of the loop. +- +-2017-03-21 Bill Schmidt +- Richard Biener +- +- PR tree-optimization/79908 +- * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has +- been cast away, use force_gimple_operand to construct the side +- effects. +- +-2017-03-21 Martin Liska +- +- PR libfortran/79956 +- * simplify-rtx.c (simplify_immed_subreg): Initialize a variable +- to NULL. +- +-2017-03-21 Brad Spengler +- +- PR plugins/80094 +- * plugin.c (htab_hash_plugin): New function. +- (add_new_plugin): Use it and adjust. +- (parse_plugin_arg_opt): Adjust. +- (init_one_plugin): Likewise. +- +-2017-03-21 Richard Biener +- +- PR tree-optimization/80032 +- * gimplify.c (gimple_push_cleanup): Add force_uncond parameter, +- if set force the cleanup to happen unconditionally. +- (gimplify_target_expr): Push inserted clobbers with force_uncond +- to avoid them being removed by control-dependent DCE. +- +-2017-03-21 Richard Biener +- +- PR tree-optimization/80122 +- * tree-inline.c (copy_bb): Do not expans va-arg packs or +- va_arg_pack_len when the inlined call stmt requires pack +- expansion itself. +- * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *. +- +-2017-03-21 Jakub Jelinek +- +- PR sanitizer/78158 +- * tsan.c (instrument_builtin_call): If the memory model argument +- is not a constant, assume it is valid. +- +- PR c/67338 +- * fold-const.c (round_up_loc): Negate divisor in unsigned type to +- avoid UB. +- +-2017-03-20 Segher Boessenkool +- +- PR rtl-optimization/79910 +- * combine.c (can_combine_p): Do not allow combining an I0 or I1 +- if its dest is used by an insn before I2 (other than the combined +- insns themselves, which are properly handled already). +- +-2017-03-20 Segher Boessenkool +- +- Revert: +- 2017-03-17 Bernd Schmidt +- +- * combine.c (record_used_regs): New static function. +- (try_combine): Handle situations where there is an additional +- instruction between I2 and I3 which needs to have a LOG_LINK +- updated. +- +- Revert: +- 2017-03-17 Jim Wilson +- +- * combine.c (try_combine): Delete redundant i1 test. Call +- prev_nonnote_nondebug_insn instead of prev_nonnote_insn. +- +-2017-03-20 Aaron Sawdey +- +- PR target/80083 +- * config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for +- alternatives 13/14. +- +-2017-03-20 Bill Schmidt +- +- PR tree-optimization/80054 +- * gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail +- the optimization if a PHI or any of its arguments is not dominated +- by the candidate's basis. Use gphi* rather than gimple* as +- appropriate. +- (replace_profitable_candidates): Clean up a gimple* variable that +- should be a gphi* variable. +- +-2017-03-20 Martin Sebor +- +- PR c++/52477 +- * doc/extend.texi (attribute constructor): Document present limitation. +- +-2017-03-20 Kelvin Nilsen +- +- PR target/79963 +- * config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and +- __POWER9_VECTOR__ #ifdef control, change template definition to +- use Power9-specific built-in function. +- (vec_any_eq): Likewise. +- * config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used +- to control outcomes from this test. +- (vector_ae_p): For VEC_F modes, likewise. +- +-2017-03-20 Ian Lance Taylor +- +- * config/i386/i386.c (ix86_function_regparm): Save an extra +- register for -fsplit-stack with DECL_STATIC_CHAIN. +- +-2017-03-17 Palmer Dabbelt +- +- PR target/79912 +- * config/riscv/riscv.c (riscv_preferred_reload_class): Remove. +- (TARGET_PREFERRED_RELOAD_CLASS): Likewise. +- +-2017-03-17 Palmer Dabbelt +- +- * config/riscv/riscv.c (riscv_print_operand): Use "fence +- iorw,ow". +- * config/riscv/sync.mc (mem_thread_fence_1): Use "fence +- iorw,iorw". +- +-2017-03-20 Marek Polacek +- +- PR sanitizer/80063 +- * asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0). +- +-2017-03-20 Richard Biener +- +- PR tree-optimization/80113 +- * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not +- allocate extra SSA name for PHI def. +- (add_close_phis_to_outer_loops): Likewise. +- (add_close_phis_to_merge_points): Likewise. +- (copy_loop_close_phi_args): Likewise. +- (copy_cond_phi_nodes): Likewise. +- +-2017-03-20 Martin Liska +- +- PR middle-end/79753 +- * tree-chkp.c (chkp_build_returned_bound): Do not build +- returned bounds for a LHS that's not a BOUNDED_P type. +- +-2017-03-20 Martin Liska +- +- PR target/79769 +- PR target/79770 +- * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, +- COMPLEX_CST and VECTOR_CST. +- +-2017-03-20 Andreas Krebbel +- +- PR target/78857 +- * config/s390/s390.md ("cmp_ccs_0"): Add a clobber of the +- target operand. A new splitter adds the clobber statement in case +- the target operand is dead anyway. +- +-2017-03-19 Gerald Pfeifer +- +- * doc/install.texi (Specific) : No longer refer +- to age-old versions of binutils and glibc. +- +-2017-03-18 Segher Boessenkool +- +- * doc/contrib.texi (Contributors): Remove duplicate entry for myself. +- +-2017-03-18 Gerald Pfeifer +- +- * doc/contrib.texi (Contributors): Add Segher Boessenkool. +- +-2017-03-18 Gerald Pfeifer +- +- * doc/install.texi (Specific) : Remove old +- requirement for binutils 2.13. +- +-2017-03-17 Jim Wilson +- +- * combine.c (try_combine): Delete redundant i1 test. Call +- prev_nonnote_nondebug_insn instead of prev_nonnote_insn. +- +-2017-03-17 Palmer Dabbelt : Add riscv32-*-elf, +- riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of +- contents. +- : Re-arrange section +- : Add a note about requiring binutils 2.28. +- : Likewise. +- : Likewise +- : Likewise. +- +-2017-03-17 Richard Earnshaw +- +- PR target/80052 +- * aarch64.opt(verbose-cost-dump): Fix typo. +- +-2017-03-17 Pat Haugen +- +- PR target/79951 +- * config/rs6000/rs6000.md (copysign3_fcpsgn): Test +- for VECTOR_UNIT_VSX_P (mode) too. +- +-2017-03-17 Bernd Schmidt +- +- * reload.c (find_reloads): When reloading a nonoffsettable address, +- use RELOAD_OTHER for it and its address reloads. +- +- PR rtl-optimization/79910 +- * combine.c (record_used_regs): New static function. +- (try_combine): Handle situations where there is an additional +- instruction between I2 and I3 which needs to have a LOG_LINK +- updated. +- +-2017-03-17 Jeff Law +- +- PR tree-optimization/71437 +- * tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the +- conditional in the hash table first. +- (vrp_dom_walker::before_dom_children): Extract condition from +- ASSERT_EXPR. Record condition, its inverion and any implied +- conditions as well. +- +-2017-03-17 Marek Polacek +- Markus Trippelsdorf +- +- PR tree-optimization/80079 +- * gimple-ssa-store-merging.c (class pass_store_merging): Initialize +- m_stores_head. +- +-2017-03-17 Richard Biener +- +- PR middle-end/80075 +- * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns. +- Properly verify the LHS before the RHS possibly claims to be +- handled. +- (stmt_could_throw_p): Hande gimple conds fully here. Clobbers +- do not throw. +- +-2017-03-17 Martin Jambor +- +- * doc/invoke.texi (Option Options): Include -fipa-vrp in the list. +- (List of -O2 options): Likewise. +- (-fipa-bit-cp): Replace "ipa" with "interprocedural." +- (-fipa-vrp) New. +- +-2017-03-17 Tom de Vries +- +- * gcov-dump.c (print_usage): Print bug_report_url. +- +-2017-03-17 Richard Biener +- +- PR middle-end/80050 +- * genmatch.c (parser::next): Remove pointless check for CPP_EOF. +- (parser::peek): Likewise. +- +-2017-03-17 Richard Biener +- +- PR tree-optimization/80048 +- * sese.c (free_sese_info): Properly release rename_map and +- copied_bb_map elements. +- +-2017-03-16 Alexandre Oliva +- +- * gimple-ssa-store-merging.c (struct imm_store_chain_info): +- Add linked-list forward and backlinks. Insert on +- construction, remove on destruction. +- (class pass_store_merging): Add m_stores_head field. +- (pass_store_merging::terminate_and_process_all_chains): +- Iterate over m_stores_head list. +- (pass_store_merging::terminate_all_aliasing_chains): +- Likewise. +- (pass_store_merging::execute): Check for debug stmts first. +- Push new chains onto the m_stores_head stack. +- +-2017-03-16 Michael Meissner +- +- PR target/71294 +- * config/rs6000/vsx.md (vsx_splat_, VSX_D iterator): Allow a +- SPLAT operation on ISA 2.07 64-bit systems that have direct move, +- but no MTVSRDD support, by doing MTVSRD and XXPERMDI. +- +-2017-03-16 Jeff Law +- +- PR tree-optimization/71437 +- * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge +- member function. Implementation moved into after_dom_children +- member function and into the threader's thread_outgoing_edges +- function. +- (dom_opt_dom_walker::after_dom_children): Simplify by moving +- some code into new thread_outgoing_edges. +- * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify +- definition. Simplify marker handling (do it here). Assume we always +- have the available expression and the const/copies tables. +- (thread_outgoing_edges): New function extracted from tree-ssa-dom.c +- and tree-vrp.c +- * tree-ssa-threadedge.h (thread_outgoing_edges): Declare. +- * tree-vrp.c (equiv_stack): No longer file scoped. +- (vrp_dom_walker): New class. +- (vrp_dom_walker::before_dom_children): New member function. +- (vrp_dom_walker::after_dom_children): Likewise. +- (identify_jump_threads): Setup domwalker. Use it rather than +- walking edges in a random order by hand. Simplify setup/finalization. +- (finalize_jump_threads): Remove. +- (vrp_finalize): Do not call identify_jump_threads here. +- (execute_vrp): Do it here instead and call thread_through_all_blocks +- here too. +- +- PR tree-optimization/71437 +- * tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All +- callers changed. +- (simplify_stmt_for_jump_threading): Add basic_block argument. All +- callers changed. +- (lhs_of_dominating_assert): Moved from here into tree-vrp.c. +- (dom_opt_dom_walker::thread_across_edge): Remove +- handle_dominating_asserts argument. All callers changed. +- (record_temporary_equivalences_from_stmts_at_dest): Corresponding +- changes. Remove calls to lhs_of_dominating_assert. Other +- uses of handle_dominating_asserts turn into unconditional code +- (simplify_control_stmt_condition_1): Likewise. +- (simplify_control_stmt_condition): Likewise. +- (thread_through_normal_block, thread_across_edge): Likewise. +- * tree-ssa-threadedge.h (thread_across_edge): Corresponding changes. +- * tree-vrp.c (lhs_of_dominating_assert): Move here. Return original +- object if it is not an SSA_NAME. +- (simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert +- before calling into the VRP specific simplifiers. +- (identify_jump_threads): Remove handle_dominating_asserts +- argument. +- +-2017-03-16 Jakub Jelinek +- +- PR fortran/79886 +- * tree-diagnostic.c (default_tree_printer): No longer static. +- * tree-diagnostic.h (default_tree_printer): New prototype. +- +-2017-03-16 Tamar Christina +- +- * config/aarch64/aarch64-simd.md (*aarch64_simd_mov) +- Change ins into fmov. +- +-2017-03-16 Kyrylo Tkachov +- +- * config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF. +- * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup): +- Use h_con constraint for operand 1. +- (*aarch64_fnma4_elt_from_dup): Likewise. +- (*aarch64_mulx_elt_from_dup): Likewise for operand 2. +- +-2017-03-15 Jeff Law +- +- PR tree-optimization/71437 +- * tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function. +- (record_temporary_equivalences): Use it. +- +- PR tree-optimization/71437 +- * tree-ssa-dom.c (struct cond_equivalence): Moved from here into +- tree-ssa-scopedtables. +- (lookup_avail_expr, build_and_record_new_cond): Likewise. +- (record_conditions, record_cond, vuse_eq): Likewise. +- (record_edge_info): Adjust to API tweak of record_conditions. +- (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr. +- (record_temporary_equivalences, optimize_stmt): Likewise. +- (eliminate_redundant_computations): Likewise. +- (record_equivalences_from_stmt): Likewise. +- * tree-ssa-scopedtables.c: Include options.h and params.h. +- (vuse_eq): New function, moved from tree-ssa-dom.c +- (build_and_record_new_cond): Likewise. +- (record_conditions): Likewise. Accept vector of conditions rather +- than edge_equivalence structure for first argument. +- for the first argument. +- (avail_exprs_stack::lookup_avail_expr): New member function, moved +- from tree-ssa-dom.c. +- (avail_exprs_stack::record_cond): Likewise. +- * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here +- from tree-ssa-dom.c. +- (avail_exprs_stack): Add new member functions lookup_avail_expr +- and record_cond. +- (record_conditions): Declare. +- +-2017-03-15 Vladimir Makarov +- +- PR target/80017 +- * lra-constraints.c (process_alt_operands): Increase reject for +- reloading an input/output operand. +- +-2017-03-15 Michael Meissner +- +- PR target/79038 +- * config/rs6000/rs6000.md (float2): Define +- insns to convert from signed/unsigned char/short to IEEE 128-bit +- floating point. +- (floatuns2): Likewise. +- +-2017-03-15 Uros Bizjak +- +- PR target/80019 +- * config/i386/i386.c (ix86_vector_duplicate_value): Create +- subreg of inner mode for values already in registers. +- +-2017-03-15 Bernd Schmidt +- +- * config/c6x/c6x.c (hwloop_optimize): Handle case where the old +- iteration reg is used after the loop. +- +-2017-03-14 Martin Sebor +- +- PR tree-optimization/79800 +- * gimple-ssa-sprintf.c (format_floating: Add argument. Handle +- precision in negative-positive range. +- (format_floating): Call non-const overload with adjusted precision. +- +-2017-03-14 Michael Meissner +- +- PR target/79947 +- * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for +- -mpowerpc-gfxopt. +- +-2017-03-14 Martin Sebor +- +- PR middle-end/80020 +- * builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro. +- * builtins.def (aligned_alloc): Use it. +- +- PR c/79936 +- * Makefile.in (GTFILES): Add calls.c. +- * calls.c: Include "gt-calls.h". +- +-2017-03-14 Bernd Schmidt +- +- PR rtl-optimization/79728 +- * regs.h (struct target_regs): New field +- x_contains_allocatable_regs_of_mode. +- (contains_allocatable_regs_of_mode): New macro. +- * reginfo.c (init_reg_sets_1): Initialize it, and change +- contains_reg_of_mode so it includes global regs as well. +- * reload.c (push_reload): Use contains_allocatable_regs_of_mode +- rather than contains_regs_of_mode. +- +-2017-03-14 Martin Liska +- +- * doc/invoke.texi: Document options that can't be combined with +- -fcheck-pointer-bounds. +- +-2017-03-14 Martin Liska +- +- PR middle-end/79831 +- * doc/invoke.texi (-Wchkp): Document the option. +- +-2017-03-14 Martin Liska +- +- * Makefile.in: Install gcov-dump. +- +-2017-03-14 Martin Liska +- +- * multiple_target.c (expand_target_clones): Bail out for +- an invalid attribute. +- +-2017-03-14 Richard Biener +- +- * alias.c (struct alias_set_entry): Pack properly. +- * cfgloop.h (struct loop): Likewise. +- * cse.c (struct set): Likewise. +- * ipa-utils.c (struct searchc_env): Likewise. +- * loop-invariant.c (struct invariant): Likewise. +- * lra-remat.c (struct cand): Likewise. +- * recog.c (struct change_t): Likewise. +- * rtl.h (struct address_info): Likewise. +- * symbol-summary.h (function_summary): Likewise. +- * tree-loop-distribution.c (struct partition): Likewise. +- * tree-object-size.c (struct object_size_info): Likewise. +- * tree-ssa-loop-ivopts.c (struct cost_pair): Likewise. +- * tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise. +- * tree-vect-data-refs.c (struct _vect_peel_info): Likewise. +- * tree-vect-slp.c (struct _slp_oprnd_info): Likewise. +- * tree-vect-stmts.c (struct simd_call_arg_info): Likewise. +- * tree-vectorizer.h (struct _loop_vec_info): Likewise. +- (struct _stmt_vec_info): Likewise. +- +-2017-03-14 Martin Liska +- +- PR target/79892 +- * multiple_target.c (create_dispatcher_calls): Check that +- a target can create a function dispatcher. +- +-2017-03-14 Martin Liska +- +- PR lto/66295 +- * multiple_target.c (expand_target_clones): Drop local.local +- flag for default implementation. +- +-2017-03-14 Richard Biener +- +- PR tree-optimization/80030 +- * tree-vect-stmts.c (vectorizable_store): Plug memleak. +- +-2017-03-13 Kito Cheng +- +- * config/riscv/riscv.c (riscv_emit_float_compare>: Use +- gcc_fallthrough() instead of __attribute__((fallthrough)); +- +-2017-03-13 Gerald Pfeifer +- +- * doc/gcc.texi: Remove "up" link to (DIR). +- * doc/gccint.texi: Ditto. +- +-2017-03-13 Gerald Pfeifer +- +- * doc/install.texi (Specific) : Remove reference to +- binutils 2.13. +- +-2017-03-13 Jeff Law +- +- * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru +- attribute rather than comments. +- +- * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to +- match_scratch operand is highest. +- +-2017-03-13 Martin Liska +- +- PR middle-end/78339 +- * ipa-pure-const.c (warn_function_noreturn): If the declarations +- is a CHKP clone, use original declaration. +- +-2017-03-13 Claudiu Zissulescu +- +- * config/arc/arc.c (arc_init): Use multiplier whenever we have it. +- (arc_conditional_register_usage): Use a different allocation order +- when optimizing for size. +- * common/config/arc/arc-common.c (arc_option_optimization_table): +- Section anchors default on when optimizing for size. +- +-2017-03-13 Claudiu Zissulescu +- +- * config/arc/arc.md (*tst_bitfield_tst): Fix pattern. +- +-2017-03-13 Claudiu Zissulescu +- +- * config/arc/arc.c (arc_output_addsi): Emit code density adds. +- * config/arc/arc.md (cpu_facility): Add cd variant. +- (*movqi_insn): Add code density variant. +- (*movhi_insn): Likewise. +- (*movqi_insn): Likewise. +- (*addsi3_mixed): Likewise. +- (subsi3_insn): Likewise. +- +-2017-03-13 Claudiu Zissulescu +- +- * config/arc/arc.md (movsi_cond_exec): Update constraint. +- +-2017-03-13 Claudiu Zissulescu +- +- * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC +- expressions with MINUS and UNARY ops. +- +-2017-03-13 Kyrylo Tkachov +- +- PR target/79911 +- * config/arm/neon.md (vec_sel_widen_ssum_lo3): +- Rename to... +- (vec_sel_widen_ssum_lo3): ... This. Avoid mismatch +- between vec_select and vector argument. +- (vec_sel_widen_ssum_hi3): Rename to... +- (vec_sel_widen_ssum_hi3): ... This. Likewise. +- (vec_sel_widen_usum_lo3): Rename to... +- (vec_sel_widen_usum_lo3): ... This. +- (vec_sel_widen_usum_hi3): Rename to... +- (vec_sel_widen_usum_hi3): ... This. +- +-2017-03-13 Richard Biener +- +- PR other/79991 +- * params.def (vect-max-peeling-for-alignment): Fix typo. +- +-2017-03-12 Gerald Pfeifer +- +- * doc/install.texi (Specific) : Remove description of +- issue that only occurred with binutils below 2.18. +- +-2017-03-12 Gerald Pfeifer +- +- * doc/install.texi (Specific) : No longer +- refer to binutils 2.11/2.12 minimum. +- +-2017-03-12 Gerald Pfeifer +- +- * doc/install.texi (Specific) : Remove link to +- ftp.kernel.org and simplify binutils requirement. +- +-2017-03-11 Gerald Pfeifer +- +- * doc/invoke.texi (Warning Options): Fix spelling of link-time +- optimization. +- (Optimize Options): Ditto. Also remove redundancy. +- +-2017-03-10 David Malcolm +- +- PR translation/79848 +- * ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to +- "%qs". +- * ipa-pure-const.c (suggest_attribute): Likewise. Convert _ +- to G_ to avoid double translation. +- +-2017-03-10 David Malcolm +- +- PR translation/79923 +- * auto-profile.c (get_combined_location): Convert leading +- character of diagnostics to lower case and remove trailing period. +- (read_profile): Likewise for various diagnostics. +- * config/arm/arm.c (arm_option_override): Remove trailing period +- from various diagnostics. +- * config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise. +- (msp430_expand_delay_cycles): Likewise. +- +-2017-03-10 David Malcolm +- +- PR target/79925 +- * config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the +- full command-line argument, rather than just "str". +- (aarch64_validate_march): Likewise. +- (aarch64_validate_mtune): Likewise. +- +-2017-03-10 Bernd Schmidt +- +- PR rtl-optimization/78911 +- * lra-assigns.c (must_not_spill_p): New function. +- (spill_for): Use it. +- +-2017-03-10 Jakub Jelinek +- +- PR tree-optimization/79981 +- * tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of +- ATOMIC_COMPARE_EXCHANGE ifn result. +- (stmt_interesting_for_vrp, vrp_visit_stmt): Handle +- IFN_ATOMIC_COMPARE_EXCHANGE. +- +-2017-03-10 David Malcolm +- +- PR driver/79875 +- * opts.c (parse_sanitizer_options): Add missing question mark to +- "did you mean" message. +- +-2017-03-10 Bill Schmidt +- +- * config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned +- built-in. +- (VMULEUH_UNS): Likewise. +- (VMULOUB_UNS): Likewise. +- (VMULOUH_UNS): Likewise. +- * config/rs6000/rs6000.c (builtin_function_type): Remove +- references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS. +- +-2017-03-10 David Malcolm +- +- PR bootstrap/79952 +- * read-rtl-function.c (function_reader::read_rtx_operand): Update +- x with result of extra_parsing_for_operand_code_0. +- (function_reader::extra_parsing_for_operand_code_0): Convert +- return type from void to rtx, returning x. When reading +- SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the +- larger size containing struct block_symbol. +- +-2017-03-10 Segher Boessenkool +- +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow +- -mfloat128-hardware without -m64. +- +-2017-03-10 Will Schmidt +- +- PR target/79941 +- * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB] +- entries to the case statement that marks unsigned arguments to +- overloaded functions. +- +-2017-03-10 Kelvin Nilsen +- +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix +- two typographic errors in the handling of TARGET_UPPER_REGS_DI. +- +-2017-03-10 Pat Haugen +- +- PR target/79907 +- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test +- TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass. +- +-2017-03-10 Martin Liska +- +- PR target/65705 +- PR target/69804 +- * toplev.c (process_options): Enable MPX with LSAN and UBSAN. +- * tree-chkp.c (chkp_walk_pointer_assignments): Verify that +- FIELD !=3D NULL. +- +-2017-03-10 Olivier Hainque +- +- * tree-switch-conversion (array_value_type): Start by resetting +- candidate type to it's main variant. +- +-2017-03-10 Jakub Jelinek +- +- PR rtl-optimization/79909 +- * combine.c (try_combine): Use simplify_replace_rtx on individual +- CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx +- of the whole CALL_INSN_FUNCTION_USAGE. +- +- PR tree-optimization/79972 +- * gimple-ssa-warn-alloca.c (alloca_call_type): Only call +- get_range_info on SSA_NAMEs. Formatting fixes. +- +-2017-03-10 Richard Biener +- Jakub Jelinek +- +- PR tree-optimization/77975 +- * tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch +- edge to be constant. +- (get_val_for): For constant x return it. Formatting fix. +- (loop_niter_by_eval): Avoid pointless looping if the next iteration +- would use the same bases as the current one. +- +-2017-03-09 Bill Schmidt +- +- * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate +- instead of vec_select for V1TImode. +- * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no +- longer needed. +- (VSX_LE_128): Add V1TI to this mode iterator. +- (*vsx_le_perm_load_): Change to use VSX_D mode iterator. +- (*vsx_le_perm_store_): Likewise. +- (pre-reload splitter for VSX stores): Likewise. +- (post-reload splitter for VSX stores): Likewise. +- (*vsx_xxpermdi2_le_): Likewise. +- (*vsx_lxvd2x2_le_): Likewise. +- (*vsx_stxvd2x2_le_): Likewise. +- +-2017-03-09 Michael Eager +- +- Correct failures with --enable-checking=3Dyes,rtl. +- +- * config/microblaze/microblaze.c (microblaze_expand_shift): +- Replace GET_CODE test with CONST_INT_P and INTVAL test with +- test for const0_rtx. +- * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone, +- lshrsi3_byone): Replace INTVAL with test for const1_rtx. +- +-2017-03-09 Richard Biener +- +- PR tree-optimization/79977 +- * graphite-scop-detection.c (scop_detection::merge_sese): +- Handle the case of extra exits to blocks dominating the entry. +- +-2017-03-09 Toma Tabacu +- +- * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): +- Document rdynamic. +- +-2017-03-09 Vladimir Makarov +- +- PR rtl-optimization/79949 +- * lra-constraints.c (process_alt_operands): Check memory when +- trying to predict a cycle. Print about the overall increase. +- +-2017-03-09 Richard Biener +- +- PR middle-end/79971 +- * gimple-expr.c (useless_type_conversion_p): Preserve +- TYPE_SATURATING for fixed-point types. +- +-2017-03-09 Richard Biener +- +- PR ipa/79970 +- * ipa-prop.c (ipa_modify_formal_parameters): Avoid changing +- alignment of BLKmode params. +- +-2017-03-09 Kyrylo Tkachov +- +- PR target/79913 +- * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator. +- (VALL_NO_V2Q): Likewise. +- (VDQF_DF): Delete. +- * config/aarch64/aarch64-simd.md +- (aarch64_dup_lane_): Use VALL_F16_NO_V2Q +- iterator. +- (*aarch64_simd_vec_copy_lane_): Use +- VALL_NO_V2Q mode iterator. +- (*aarch64_vgetfmulx): Use VDQF iterator. +- +-2017-03-09 Martin Liska +- +- PR tree-optimization/79631 +- * tree-chkp-opt.c (chkp_is_constant_addr): Call +- tree_int_cst_sign_bit just for INTEGER constants. +- +-2017-03-09 Martin Liska +- +- PR target/65705 +- PR target/69804 +- * toplev.c (process_options): Disable -fcheck-pointer-bounds with +- sanitizers. +- +-2017-03-09 Marek Polacek +- +- PR c++/79672 +- * tree.c (inchash::add_expr): Handle TREE_VEC. +- +-2017-03-09 Martin Liska +- +- PR ipa/79764 +- (chkp_narrow_size_and_offset): New function. +- (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF. +- (void chkp_parse_bit_field_ref): New function. +- (chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF. +- (chkp_process_stmt): Use chkp_parse_bit_field_ref. +- +-2017-03-09 Martin Liska +- +- PR ipa/79761 +- * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. +- (chkp_find_bounds_1): Remove gcc_unreachable. +- +-2017-03-09 Jakub Jelinek +- +- PR sanitizer/79944 +- * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and +- BUILT_IN_SYNC*, determine the access type from the size suffix and +- always build a MEM_REF with that type. Handle forgotten +- BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16. +- +- PR target/79932 +- * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, +- _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, +- _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, +- _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, +- _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, +- _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, +- _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, +- _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, +- _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, +- _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, +- _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, +- _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, +- _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, +- _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, +- _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, +- _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, +- _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, +- _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, +- _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, +- _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, +- _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, +- _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, +- _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, +- _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, +- _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, +- _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, +- _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, +- _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, +- _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, +- _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move +- definitions outside of __OPTIMIZE__ guarded section. +- +- PR target/79932 +- * config/i386/avx512bwintrin.h (_mm512_packs_epi32, +- _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32, +- _mm512_packus_epi32, _mm512_maskz_packus_epi32, +- _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__ +- guarded section. +- +-2017-03-09 Andreas Krebbel +- +- * config/s390/vx-builtins.md ("vfee", "vfeez") +- ("vfenez"): Add missing constraints. +- +-2017-03-08 Martin Sebor +- +- PR target/79928 +- * config/nds32/nds32.c (nds32_option_override): +- Fix misspelled diagnostic. +- +-2017-03-08 Jakub Jelinek +- +- PR c/79940 +- * gimplify.c (gimplify_omp_for): Replace index var in outer +- taskloop statement with an artificial variable and add +- OMP_CLAUSE_PRIVATE clause for it. +- +-2017-03-08 Richard Biener +- +- PR tree-optimization/79955 +- * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn +- for accesses that are completely outside of the variable. +- +-2017-03-08 Andrew Haley +- +- PR tree-optimization/79943 +- * tree-ssa-loop-split.c (compute_new_first_bound): When +- calculating the new upper bound, (END-BEG) should be added, not +- subtracted. +- +-2017-03-08 Jakub Jelinek +- +- * config/avr/avr.md (setmemhi): Make sure match_dup +- operand number comes before match_scratch. +- +-2017-03-08 Richard Biener +- +- PR tree-optimization/79920 +- * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline +- with ncopies =3D=3D 1 to ... +- (vect_transform_slp_perm_load): ... here. Properly compute +- all element loads by iterating VF times over the group. Do +- not handle ncopies (computed in a broken way) in +- vect_create_mask_and_perm. +- +-2017-03-08 Jakub Jelinek +- +- PR sanitizer/79904 +- * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1 +- is a uniform vector, use uniform_vector_p return value instead of +- building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type. +- +-2017-03-07 Marek Polacek +- +- PR middle-end/79809 +- * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT. +- (alloca_call_type): Likewise. +- +-2017-03-07 Martin Liska +- +- * gcov.c (process_args): Put comment to correct location. +- +-2017-03-07 Martin Liska +- +- PR middle-end/68270 +- * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref. +- Use array_at_struct_end_p instead of DECL_CHAIN (field). +- (chkp_narrow_bounds_for_field): Likewise. +- (chkp_parse_array_and_component_ref): Pass one more argument to +- call. +- +-2017-03-07 Richard Biener +- +- * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve +- preheaders. +- +-2017-03-07 Segher Boessenkool +- +- * config/i386/i386.c (ix86_local_alignment): Align most aggregates +- of 16 bytes and more to 16 bytes, not those of 16 bits and more. +- +-2017-03-07 Kyrylo Tkachov +- +- PR c/79855 +- * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop +- to end of description. +- (PARAM_MAX_STORES_TO_MERGE): Likewise. +- +-2017-03-07 Jakub Jelinek +- +- PR rtl-optimization/79901 +- * config/i386/sse.md (*avx512bw_3): Renamed to +- ... +- (*avx512f_3): ... this. +- (3 with maxmin code iterator): Use VI8_AVX2_AVX512F +- iterator instead of VI8_AVX2_AVX512BW. +- +- PR rtl-optimization/79901 +- * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no +- min/max expander, expand it using expand_vec_cond_expr. +- +- PR sanitizer/79897 +- * ubsan.c (ubsan_encode_value): Call mark_addressable on the +- temporary. +- +-2017-03-06 Jakub Jelinek +- +- PR c++/79821 +- * dwarf2out.h (dw_vec_const): Change array type from unsigned char * +- to void * for PCH reasons. +- * dwarf2out.c (output_loc_operands, output_die): Cast +- v.val_vec.array to unsigned char *. +- +-2017-03-06 John David Anglin +- +- PR target/77850 +- * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and +- vector types. +- +-2017-03-06 Vladimir Makarov +- +- PR rtl-optimization/79571 +- * lra-constraints.c (process_alt_operands): Calculate static +- reject and subtract it from overall when only addresses will be +- reloaded. +- +-2017-03-06 Julia Koval +- +- PR target/79793 +- * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set +- incoming stack boundary to 128 for 64-bit targets. +- +-2017-03-06 Richard Biener +- +- PR tree-optimization/79894 +- * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call +- to NULL after folding it. +- +-2017-03-06 Richard Biener +- +- PR tree-optimization/79824 +- * tree-vect-stmts.c (get_group_load_store_type): Fix alignment +- check disabling peeling for gaps. +- +-2017-03-06 Toma Tabacu +- +- * doc/sourcebuild.texi (Effective-Target Keywords, Environment +- attributes): Document gettimeofday. +- +-2017-03-06 Robin Dapp +- +- * config/s390/s390.c (s390_option_override_internal): Set +- PARAM_MIN_VECT_LOOP_BOUND +- +-2017-03-06 Robin Dapp +- +- * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0. +- * config/s390/s390.md: Likewise. +- +-2017-03-06 Jakub Jelinek +- +- PR target/79812 +- * config/i386/sse.md (VI8F_256_512): Remove mode iterator. +- (_perm): Rename to ... +- (avx2_perm): ... this. Use VI8F_256 iterator instead +- of VI8F_256_512. +- (_perm_mask): Rename to ... +- (avx512vl_perm_mask): ... this. Use VI8F_256 iterator instead +- of VI8F_256_512. +- (_perm_1): Rename to ... +- (avx2_perm_1): New define_expand. +- (avx512f_perm_mask): Likewise. +- (avx512f_perm_1): New define_insn. +- (_vec_dup_1): Fix up vec_select mode. +- +-2017-03-06 Prachi Godbole +- +- * config/mips/mips-msa.md (msa_fmax_a_, msa_fmin_a_, +- msa_max_a_, msa_min_a_): Introduce mode interator for +- if_then_else. +- (smin3, smax3): Change operand print code from 'B' to 'E'. +- +-2017-03-06 Martin Liska +- +- PR sanitize/79783 +- * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON +- when having a SSA NAME w/o VAR_DECL assigned to it. +- +-2017-03-06 Prachi Godbole +- +- * config/mips/mips-msa.md (msa_dotp__d, msa_dpadd__d, +- msa_dpsub__d): Fix MODE for vec_select. +- +-2017-03-06 Prachi Godbole +- +- * config/mips/mips.c (mips_gen_const_int_vector): Change type of last +- argument. +- * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise. +- +-2017-03-06 Richard Biener +- +- * lto-streamer.c (lto_check_version): Use %qs in diagnostics. +- * plugin.c (register_plugin_info): Likewise. +- * tree-chkp.c (chkp_make_static_const_bounds): Likewise. +- +-2017-03-05 Jakub Jelinek +- +- * config/i386/sse.md (sse_storehps, sse_storelps, +- avx__, +- avx512f__, +- avx512f__256): Require +- in condition that at least one operand is not a MEM. +- +-2017-03-03 Jakub Jelinek +- +- PR middle-end/79805 +- * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET, +- ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove +- ECF_NOTHROW. +- * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set +- gimple_call_nothrow_p flag based on whether original builtin can throw. +- If it can, emit following stmts on the fallthrough edge. +- * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except +- don't create new bb if inserting just debug stmts on the edge, try to +- insert them on the fallthru bb or just reset debug stmts. +- +-2017-03-03 Segher Boesssenkool +- +- PR target/43763 +- * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and +- restore recog_data (including the operand rtxes inside it) around +- the call to get_insn_template. +- +-2017-03-03 Martin Sebor +- +- PR tree-optimization/79699 +- * context.c (context::~context): Free MPFR caches to avoid +- a memory leak on program exit. +- +-2017-03-03 Kyrylo Tkachov +- +- * config/aarch64/aarch64.c (aarch64_float_const_representable_p): +- Use wide_int::ulow () instead of .elt (0). +- +-2017-03-03 Uros Bizjak +- +- * config/i386/i386.md (*pushtf): Change *roF constraint to *roC. +- (*pushxf): Limit oF constraint to 32bit targets and add oC +- constraint for 64bit targets. +- (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment. +- (*pushdf): Change rmF constraint to rmC. +- +-2017-03-03 Martin Liska +- +- * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute): +- Remove unused variable. +- +-2017-03-03 Jakub Jelinek +- +- PR target/79807 +- * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target +- is a memory operand, increase num_memory. +- (ix86_expand_args_builtin): Likewise. +- +-2017-03-03 Jan Hubicka +- +- PR lto/79760 +- * ipa-devirt.c (maybe_record_node): Properly handle +- __cxa_pure_virtual visibility. +- +-2017-03-03 Martin Liska +- +- PR tree-optimization/79803 +- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove +- assert. +- (pass_loop_prefetch::execute): Disabled optimization if an +- assumption about L1 cache size is not met. +- +-2017-03-03 Martin Liska +- +- PR rtl-optimization/79574 +- * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. +- (hash_scan_set): Likewise. +- (dump_hash_table): Likewise. +- (hoist_code): Likewise. +- +-2017-03-03 Richard Biener +- +- * fixed-value.c (fixed_from_string): Restore use of elt (1) +- in place of uhigh (). +- (fixed_convert_from_real): Likewise. +- +-2017-03-03 Uros Bizjak +- +- PR target/79514 +- * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode. +- +-2017-03-03 Richard Biener +- +- PR middle-end/79818 +- * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing +- TYPE_OVERFLOW_UNDEFINED check. +- +-2017-03-02 Bill Schmidt +- +- * config/rs6000/vector.md (vector_ne__p): Correct operand +- numbers. +- (vector_ae__p): Likewise. +- (vector_nez__p): Likewise. +- (vector_ne_v2di_p): Likewise. +- (vector_ae_v2di_p): Likewise. +- (vector_ne__p): Likewise. +- * config/rs6000/vsx.md (vsx_tsqrt2_fg): Correct operand +- numbers. +- (vsx_tsqrt2_fe): Likewise. +- +-2017-03-02 Uros Bizjak +- +- PR target/79514 +- * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. +- +-2017-03-02 Jakub Jelinek +- +- PR rtl-optimization/79780 +- * cprop.c (one_cprop_pass): When second and further conditional trap +- in a single basic block is turned into an unconditional trap, turn it +- into a deleted note to avoid RTL verification failures. +- +-2017-03-02 Richard Biener +- +- * fold-const.c (const_binop): Use ulow () instead of elt (0). +- +-2017-03-02 Richard Biener +- +- PR tree-optimization/79345 +- PR c++/42000 +- * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit +- param and abort the walk, returning -1 if it is hit. +- (walk_aliased_vdefs): Take a limit param and pass it on. +- * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param, +- defaulting to 0 and return a signed int. +- * tree-ssa-uninit.c (struct check_defs_data): New struct. +- (check_defs): New helper. +- (warn_uninitialized_vars): Use walk_aliased_vdefs to warn +- about uninitialized memory. +- * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid +- bogus uninitialized warning. +- (fixed_convert_from_real): Likewise. +- +-2017-03-02 Bin Cheng +- +- PR tree-optimization/66768 +- * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr +- iv_use if base object can't be determined. +- +-2017-03-02 Jakub Jelinek +- +- PR tree-optimization/79345 +- * gensupport.h (struct pattern_stats): Add min_scratch_opno field. +- * gensupport.c (get_pattern_stats_1) : Update it. +- (get_pattern_stats): Initialize it. +- * genemit.c (gen_expand): Verify match_scratch numbers come after +- match_operand/match_dup numbers. +- * config/i386/i386.md (mul3_highpart): Swap match_dup and +- match_scratch numbers. +- * config/i386/sse.md (avx2_gathersi, avx2_gatherdi): +- Likewise. +- * config/s390/s390.md (trunctdsd2): Likewise. +- +-2017-03-02 Richard Biener +- +- * wide-int.h (wide_int_storage::operator=3D): Implement in terms +- of wi::copy. +- +-2017-03-02 Richard Biener +- +- PR tree-optimization/79777 +- * tree-ssa-pre.c (eliminate_insert): Give up if we simplify +- the to insert expression to sth existing. +- +-2017-03-01 Martin Sebor +- +- PR middle-end/79692 +- * gimple-ssa-sprintf.c +- (directive::known_width_and_precision): New function. +- (format_integer): Use it. +- (get_mpfr_format_length): Consider the full range of precision +- when computing %g output with the # flag. Set the likely byte +- count to 3 rather than 1 when precision is indeterminate. +- (format_floating): Correct the lower bound of precision. +- +-2017-03-01 Bill Schmidt +- +- * doc/invoke.texi: Document default code model for 64-bit Linux. +- +-2017-03-01 Aaron Sawdey +- +- PR target/79752 +- * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit +- udiv rather than div since input pattern is unsigned. +- +-2017-03-01 Uros Bizjak +- +- * config/i386/i386.c (print_reg): Warn for values of +- unsupported size in integer register. +- +-2017-03-01 Michael Meissner +- +- PR target/79439 +- * config/rs6000/predicates.md (current_file_function_operand): Do +- not allow self calls to be local if the function is replaceable. +- +-2017-03-01 Kelvin Nilsen +- +- PR target/79395 +- * config/rs6000/altivec.h (vec_ctz and others): Change the +- preprocessor macro that controls conditional compilation from +- _ARCH_PWR9 to __POWER9_VECTOR__. +- (vec_all_ne): Change parameterization of __altivec_scalar_pred +- macro expansion under preprocessor #ifdef __POWER9_VECTOR__ +- control (instead of _ARCH_PWR9 control) so that template +- definition uses power9-specific function. +- (vec_any_eq): Likewise. +- (vec_all_ne): Change macro definition to use a power9-specific +- expansion under #ifdef __POWER9_VECTOR__ control (instead of +- _ARCH_PWR9 control). +- (vec_any_eq) Likewise. +- * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2 +- expansion for CMPNEF to remove support for xvcmpnesp instruction. +- (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove +- support for xvcmpnedp instruction. +- (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2 +- macro expansion so that Power9 implementation of vec_all_ne does +- not use the AltiVec predicate framework. +- (VCMPNEH_P): Likewise. +- (VCMPNEW_P): Likewise. +- (VCMPNED_P): Likewise. +- (VCMPNEFP_P): Likewise. +- (VCMPNEDP_P): Likewise. +- (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change +- implementation of vec_any_eq to not use AltiVec predicate +- framework. +- (VCMPAEH_P): Likewise. +- (VCMPAEW_P): Likewise. +- (VCMPAED_P): Likewise. +- (VCMPAEFP_P): Likewise. +- (VCMPAEDP_P): Likewise. +- (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with +- BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does +- not use the AltiVec predicate framework. +- (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation +- of vec_any_eq to not use AltiVec predicate framework. +- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add +- support for predefined __POWER9_VECTOR__ macro to indicate that +- Power9 instruction selection is enabled. +- (altivec_overloaded_builtins): Remove extraneous +- ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded +- function argument types RS6000_BTI_bool_V16QI and +- RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE +- entry for overloaded function argument types RS6000_BTI_bool_V4SI +- andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove +- two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to +- P9V_BUILTIN_CMPNEF to force use of instructions not specific to +- Power9 for implementations of vec_cmpne. Change the signature for +- all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function +- (representing vec_all_ne) to remove the previously described first +- argument of type RS6000_BTI_INTSI, as this was an artifact of +- reliance on the AltiVec predicate framework, which is no longer +- used in the implementation of these functions. Add +- P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq +- function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries +- since, unlike the AltiVec predicate framework implementation, we +- do not share function descriptors between vec_alle and vec_anyeq. +- (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the +- set of modes that receive special treatment even when +- TARGET_P9_VECTOR is true. The special treatment emits code that +- does not depend on Power9 instructions. +- * config/rs6000/vector.md (vector_ne__p): Change this +- define_expand to not rely on AltiVec predicate framework. +- (vector_ae_p): New define_expand to represent vec_any_eq +- function. +- (vector_ne_v2di_p): Change this define_expand to not rely on +- AltiVec predicate framework. +- (vector_ae_v2di_p): New define_expand to represent vec_any_eq +- function. +- (vector_ne__p): Change this define_expand to not rely on +- AltiVec predicate framework. +- (vector_ae_p): New define_expand to represent vec_any_eq +- function. +- * config/rs6000/vsx.md (*vsx_ne__p): For modes VSX_EXTRACT_I +- (V16QI, V8HI, V4SI), correct a typo in the code emitted for this +- define_insn pattern. +- (*vsx_ne__p): For modes VSX_F (V4SF and V2DF), remove this +- define_insn pattern because the xvcmpne. instruction is not +- supported. +- (vcmpne): Remove this define_insn because xvcmpne +- instruction is not supported. +- +-2017-03-01 Jakub Jelinek +- +- * config/nvptx/nvptx.c: Include intl.h. +- +-2017-03-01 Martin Jambor +- +- PR lto/78140 +- * ipa-prop.h (ipa_bits): Removed field known. +- (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr +- to pointers. Adjusted their comments to warn about their sharing. +- (ipcp_transformation_summary): Change bits to a vector of pointers. +- (ipa_check_create_edge_args): Moved to ipa-prop.c, declare. +- (ipa_get_ipa_bits_for_value): Declare. +- * tree-vrp.h (value_range): Mark as GTY((for_user)). +- * ipa-prop.c (ipa_bit_ggc_hash_traits): New. +- (ipa_bits_hash_table): Likewise. +- (ipa_vr_ggc_hash_traits): Likewise. +- (ipa_vr_hash_table): Likewise. +- (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr +- being pointers and vr_known being removed. +- (ipa_set_jf_unknown): Likewise. +- (ipa_get_ipa_bits_for_value): New function. +- (ipa_set_jfunc_bits): Likewise. +- (ipa_get_value_range): New overloaded functions. +- (ipa_set_jfunc_vr): Likewise. +- (ipa_compute_jump_functions_for_edge): Use the above functions to +- construct bits and vr parts of jump functions. +- (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate +- ipa_bits_hash_table and ipa_vr_hash_table if they do not already +- exist. +- (ipcp_grow_transformations_if_necessary): Also allocate +- ipa_bits_hash_table and ipa_vr_hash_table if they do not already +- exist. +- (ipa_node_params_t::duplicate): Do not copy bits, just pointers to +- them. Fix too long lines. +- (ipa_write_jump_function): Adjust for bits and m_vr being pointers and +- vr_known being removed. +- (ipa_read_jump_function): Use new setter functions to construct bits +- and vr parts of jump functions or set them to NULL. +- (write_ipcp_transformation_info): Adjust for bits being pointers. +- (read_ipcp_transformation_info): Likewise. +- (ipcp_update_bits): Likewise. Fix excessively long lines a trailing +- space. +- Include gt-ipa-prop.h. +- * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits +- being pointers. +- (ipcp_store_bits_results): Likewise. +- (propagate_vr_across_jump_function): Adjust for m_vr being a pointer. +- Do not write to existing jump functions but use a temporary instead. +- +-2017-03-01 Jakub Jelinek +- +- PR c++/79681 +- * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, +- attempt to use its first operand as BIT_FIELD_REF base. +- +-2017-03-01 Richard Biener +- +- PR middle-end/79721 +- * tree-chrec.c (chrec_evaluate): Perform computation of Newtons +- interpolating formula in wrapping arithmetic. +- (chrec_apply): Convert chrec_evaluate return value to wanted type. +- +-2017-03-01 Jakub Jelinek +- +- PR tree-optimization/79734 +- * tree-vect-generic.c (expand_vector_condition): Optimize +- AVX512 vector boolean VEC_COND_EXPRs into bitwise operations. +- Handle VEC_COND_EXPR where comparison has different inner width from +- type's inner width. +- +-2017-02-28 Sandra Loosemore +- +- * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation, +- markup, and similar issues. Remove @opindex entries for things +- that aren't options. Add missing -mmpy-option entries. +- +-2017-02-28 Jakub Jelinek +- +- PR tree-optimization/79737 +- * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is +- a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear +- tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1 +- instead of byte_size. Formatting fix. +- (shift_bytes_in_array_right): Formatting fix. +- +-2017-02-28 Eric Botcazou +- +- PR target/79749 +- * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing +- condition on optimize for the leaf function test. +- +-2017-02-28 Martin Liska +- +- PR lto/79625 +- * read-rtl-function.c (function_reader::handle_unknown_directive): +- Bail out when one uses -flto. +- +-2017-02-28 Martin Liska +- +- * common.opt: Replace space with tabular for options of +- type. +- * config/i386/i386.opt: Show value for +- -mlarge-data-threshold. +- * opts.c (print_filtered_help): Do not display number in hexadecimal +- format. +- +-2017-02-28 Martin Liska +- +- * common.opt: Fix --help=3Doption -Q for options which are of +- an enum type. +- +-2017-02-28 Uros Bizjak +- +- * config/i386/i386.c (print_reg): Error out for values +- of 8-bit size in invalid integer register. +- +-2017-02-28 Martin Sebor +- +- PR tree-optimization/79691 +- * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length. +- +-2017-02-28 Jakub Jelinek +- +- PR target/79729 +- * config/i386/i386.c (ix86_print_operand) : Replace +- gcc_unreachable with output_operand_lossage. +- +-2017-02-28 Richard Biener +- +- PR tree-optimization/79740 +- * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant +- inserts. +- (visit_nary_op): Insert the nary into the hashtable if we +- pattern-matched sth. +- * tree-ssa-pre.c (eliminate_insert): Robustify. +- +-2017-02-28 Richard Biener +- +- PR middle-end/79731 +- * fold-const.c (decode_field_reference): Reject out-of-bound +- accesses. +- +-2017-02-28 Jakub Jelinek +- +- * config/i386/i386.c: Include intl.h. +- (ix86_option_override_internal): Use cond ? G_("...") : G_("...") +- instead of just cond ? "..." : "...". +- * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise. +- * coverage.c (read_counts_file): Likewise. +- * omp-offload.c: Include intl.h. +- (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead +- of just cond ? "..." : "...". +- * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead +- of just cond ? "..." : "...". +- +-2017-02-28 Richard Earnshaw +- +- PR target/79742 +- * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for' +- entry, if present. +- * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct +- 'tune for' CPU name. +- * config/arm/arm-cpu-data.h: Regenerated. +- +-2017-02-28 Richard Biener +- +- PR tree-optimization/79732 +- * tree-inline.c (expand_call_inline): Do not shadow var. +- +-2017-02-28 Richard Biener +- +- PR tree-optimization/79723 +- * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve +- address-space properly. +- +-2017-02-28 Thomas Schwinge +- +- * doc/optinfo.texi (Optimization groups): Fix option used for +- OPTGROUP_ALL. +- * doc/invoke.texi (-fopt-info): Document "omp". +- * dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC. +- (OPTGROUP_ALL): Add OPTGROUP_OMP. +- * hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP. +- * ipa-hsa.c (pass_data_ipa_hsa): Likewise. +- * omp-simd-clone.c (pass_data_omp_simd_clone): Likewise. +- +- * dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust +- all users. +- * dumpfile.c (optgroup_options): Instead of "openmp", associate +- OPTGROUP_OMP with "omp". +- +-2017-02-27 Pat Haugen +- +- PR target/79544 +- * config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD +- for arithmetic shift of unsigned V2DI. +- +-2017-02-27 Claudiu Zissulescu +- +- * config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and +- arc/linux.h headers. +- * config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove. +- (LINK_SPEC): Likewise. +- (ARC_TLS_EXTRA_START_SPEC): Likewise. +- (EXTRA_SPECS): Likewise. +- (STARTFILE_SPEC): Likewise. +- (ENDFILE_SPEC): Likewise. +- (LIB_SPEC): Likewise. +- (TARGET_SDATA_DEFAULT): Likewise. +- (TARGET_MMEDIUM_CALLS_DEFAULT): Likewise. +- (MULTILIB_DEFAULTS): Likewise. +- (DWARF2_UNWIND_INFO): Likewise. +- * config/arc/big.h: New file. +- * config/arc/elf.h: Likewise. +- * config/arc/linux.h: Likewise. +- * config/arc/t-uClibc: Remove. +- +-2017-02-27 Bin Cheng +- +- PR tree-optimization/77536 +- * tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function. +- (tree_transform_and_unroll_loop): Use above function to compute the +- estimated niter of unrolled loop and use it when scaling profile. +- Also use count info rather than frequency if it's non-zero. +- * tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration. +- * tree-vect-loop.c (scale_profile_for_vect_loop): New function. +- (vect_transform_loop): Call above function. +- +-2017-02-27 Richard Biener +- +- PR tree-optimization/45397 +- * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR. +- * tree-ssa-sccvn.c (valueized_wider_op): New helper. +- (visit_nary_op): Add pattern matching for CSEing sign-changed +- or truncated operations with wider ones. +- +-2017-02-27 Richard Biener +- +- PR tree-optimization/79690 +- * tree-vect-stmts.c (vectorizable_store): Use vector type +- built from the DR with address-space. +- +-2017-02-26 Gerald Pfeifer +- +- * doc/invoke.texi (Optimize Options): Refine the description +- of asan-use-after-return. +- +-2017-02-25 Alan Modra +- +- PR rtl-optimization/79584 +- * lra-constraints.c (base_to_reg): Reload ad->base, the entire +- base, not ad->base_term, the reg within base. Remove assertion +- that ad->base =3D=3D ad->base_term. Replace gen_int_mode using +- bogus mode with const0_rtx. +- +-2017-02-25 Jakub Jelinek +- +- PR middle-end/79396 +- * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle +- FMA_EXPR like tcc_binary or tcc_unary. +- +- * tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning. +- +- PR debug/77589 +- * dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value +- bitfield. +- (size_of_loc_descr): Handle DW_OP_GNU_variable_value. +- (output_loc_operands): Handle DW_OP_call_ref and +- DW_OP_GNU_variable_value. +- (struct variable_value_struct): New type. +- (struct variable_value_hasher): Likewise. +- (variable_value_hash): New variable. +- (string_types): Remove. +- (copy_loc_descr): New function. +- (add_loc_descr_to_each): Clarify comment. Use copy_loc_descr. +- (prepend_loc_descr_to_each): New function. +- (add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each +- instead of add_loc_descr_to_each if the first argument is single +- location list and the second has multiple. +- (resolve_args_picking_1): Handle DW_OP_GNU_variable_value. +- (loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value +- when looking for variable value which doesn't have other location info. +- (loc_list_from_tree): Formatting fix. +- (gen_array_type_die): Simplify DW_AT_string_length handling. +- (adjust_string_types): Remove. +- (gen_subprogram_die): Don't call adjust_string_types nor test/set +- string_types. Call resolve_variable_values. +- (prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value. +- (resolve_addr_in_expr): Likewise. Add A argument. +- (copy_deref_exprloc): Remove deref argument. Adjust for the +- original expression being DW_OP_GNU_variable_value with optionally +- DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref +- optionally after it. +- (optimize_string_length): Rework for DW_OP_GNU_variable_value. +- (resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr +- callers. Set remove_AT_byte_size if removing DW_AT_string_length. +- (variable_value_hasher::hash, variable_value_hasher::equal): New +- methods. +- (resolve_variable_value_in_expr, resolve_variable_value, +- resolve_variable_values, note_variable_value_in_expr, +- note_variable_value): New functions. +- (dwarf2out_early_finish): Call note_variable_value on all toplevel +- DIEs. +- +-2017-02-24 Jakub Jelinek +- +- PR c/79677 +- * opts.h (handle_generated_option): Add GENERATED_P argument. +- * opts-common.c (handle_option): Adjust function comment. +- (handle_generated_option): Add GENERATED_P argument, pass it to +- handle_option. +- (control_warning_option): Pass false to handle_generated_option +- GENERATED_P. +- * opts.c (maybe_default_option): Pass true to handle_generated_option +- GENERATED_P. +- * optc-gen.awk: Likewise. +- +-2017-02-24 Segher Boessenkool +- +- * config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of +- a REG, look at the REG it is a SUBREG of. +- (splitter for cmpeqsi_t): Ditto. +- +-2017-02-24 Segher Boessenkool +- +- * config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make +- the special USEs with the pattern of the insn, not the insn itself. +- +-2017-02-24 Matthew Fortune +- +- PR target/79473 +- * doc/invoke.texi: Document -mload-store-pairs. +- +-2017-02-24 Segher Boessenkool +- Sandra Loosemore +- +- * config/nios2/nios2.c (nios2_simple_const_p): Returns false if the +- argument isn't a CONST_INT. +- (nios2_alternate_compare_const): Assert op is a CONST_INT. +- (nios2_valid_compare_const_p): Assert op is a CONST_INT. +- (nios2_validate_compare): Bypass alternate compare logic if *op2 +- is not a CONST_INT. +- (ldstwm_operation_p): Return false if first_base is not a REG or +- if first_offset is not a CONST_INT. +- +-2017-02-24 Segher Boessenkool +- +- * config/cris/cris.md: Use correct operand in a define_peephole2. +- +-2017-02-24 Segher Boessenkool +- +- * config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL. +- +-2017-02-24 Segher Boessenkool +- +- * config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of +- this_insn if it is an INSN or JUMP_INSN. +- (force_offsettable): Look at base, not at addr. +- * config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL +- on things that aren't necessarily CONST_INTs. +- +-2017-02-24 Uros Bizjak +- +- * doc/invoke.texi (x86 Options, -mfpmath=3Dsse): Mention that +- -mfpmath=3Dsse is the default also for x86-32 targets with SSE2 +- instruction set when @option{-ffast-math} is enabled +- +-2017-02-24 Jeff Law +- +- PR rtl-optimizatoin/79286 +- * ira.c (update_equiv_regs): Drop may_trap_p exception to +- dominance test. +- +-2017-02-24 Richard Biener +- +- PR tree-optimization/79389 +- * gimple-ssa-split-paths.c (is_feasible_trace): Properly skip +- debug insns. +- +-2017-02-24 Aldy Hernandez +- +- * tree-ssa-loop-niter.c (number_of_iterations_exit): Update +- function comment to reflect reality. +- (loop_exits_before_overflow): Fix typo in function description. +- +-2017-02-24 Richard Biener +- +- PR tree-optimization/79389 +- * gimple-ssa-split-paths.c (is_feasible_trace): Verify more +- properly that a threading opportunity exists. Detect conditional +- copy/constant propagation opportunities. +- +-2017-02-23 Eric Botcazou +- +- * config/visium/visium.md (type): Add trap. +- (b): New mode attribute. +- (*btst): Rename into... +- (*btst): ...this and adjust. +- (*cbranchsi4_btst_insn): Rename into... +- (*cbranch4_btst_insn): ...this and adjust. +- (trap): New define_insn. +- +-2017-02-23 Jakub Jelinek +- +- PR tree-optimization/79389 +- * ifcvt.c (struct noce_if_info): Add rev_cond field. +- (noce_reversed_cond_code): New function. +- (noce_emit_store_flag): Use rev_cond if non-NULL instead of +- reversed_comparison_code. Formatting fix. +- (noce_try_store_flag): Test rev_cond !=3D NULL in addition to +- reversed_comparison_code. +- (noce_try_store_flag_constants): Likewise. +- (noce_try_store_flag_mask): Likewise. +- (noce_try_addcc): Use rev_cond if non-NULL instead of +- reversed_comparison_code. +- (noce_try_cmove_arith): Likewise. Formatting fixes. +- (noce_try_minmax, noce_try_abs): Clear rev_cond. +- (noce_find_if_block): Initialize rev_cond. +- (find_cond_trap): Call noce_get_condition with then_bb =3D=3D trap_bb +- instead of false as last argument never attempt to reverse it +- afterwards. +- +-2017-02-23 Bin Cheng +- +- PR tree-optimization/79663 +- * tree-predcom.c (combine_chains): Process refs in reverse order +- only for ZERO length chains, and add explaining comment. +- +-2017-02-23 Jeff Law +- +- PR tree-optimization/79578 +- * tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF +- in call to operand_equal_p. +- +-2017-01-23 Dominique d'Humieres +- +- PR target/71017 +- * config/i386/cpuid.h: Fix another undefined behavior. +- +-2017-02-23 Richard Biener +- +- PR tree-optimization/79683 +- * tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite +- vector types for data-refs. +- +-2017-02-23 Martin Liska +- +- * params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0. +- +-2017-02-23 Jakub Jelinek +- +- PR middle-end/79665 +- * internal-fn.c (get_range_pos_neg): Moved to ... +- * tree.c (get_range_pos_neg): ... here. No longer static. +- * tree.h (get_range_pos_neg): New prototype. +- * expr.c (expand_expr_real_2) : If both arguments +- are known to be in between 0 and signed maximum inclusive, try to +- expand both unsigned and signed divmod and use the cheaper one from +- those. +- +-2017-02-22 Jeff Law +- +- PR tree-optimization/79578 +- * tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p +- to compare base operands. +- +-2017-02-22 Segher Boessenkool +- +- PR target/79211 +- * config/rs6000/rs6000.md (*fsel4): Use +- gpc_reg_operand instead of fpr_reg_operand. +- +-2017-02-22 Sameera Deshpande +- +- * config/mips/mips.c (mips_return_in_memory): Force FP +- vector types to be returned in memory for o32 ABI. +- +-2017-02-22 Jakub Jelinek +- +- * dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable +- instead of DW_TAG_member for static data member declarations and don't +- set no_linkage_name for static inline data members. +- (gen_member_die): For -gdwarf-5 don't change DW_TAG_variable +- to DW_TAG_member. +- +-2017-02-22 Martin Liska +- +- * doc/invoke.texi: Replace inequality signs with square brackets +- for -Wnormalized. +- +-2017-02-22 Matthew Fortune +- +- PR target/78660 +- * lra-constraints.c (simplify_operand_subreg): Handle +- WORD_REGISTER_OPERATIONS targets. +- +-2017-02-22 Jakub Jelinek +- +- PR target/70465 +- * reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F)) +- and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1) +- elimination by swapping fld*. +- +-2017-02-22 Richard Biener +- +- PR tree-optimization/79673 +- * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to +- convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off +- irrelevant address-space qualifiers and avoiding a +- ADDR_SPACE_CONVERT_EXPR from fold_convert. +- +-2017-02-22 Richard Biener +- +- PR tree-optimization/79666 +- * tree-vrp.c (extract_range_from_binary_expr_1): Make sure +- to not symbolically negate if that may introduce undefined +- overflow. +- +-2017-02-22 Martin Liska +- +- PR lto/79587 +- * data-streamer-in.c (streamer_read_gcov_count): Remove assert. +- * data-streamer-out.c (streamer_write_gcov_count_stream): +- Likewise. +- * value-prof.c (stream_out_histogram_value): Make assert more +- precise based on type of counter. +- +-2017-02-21 Uros Bizjak +- +- PR target/79593 +- * config/i386/i386.md (standard_x87sse_constant_load splitter): +- Use nonimmediate_operand instead of memory_operand for operand 1. +- (float-extend standard_x87sse_constant_load splitter): Ditto. +- +-2017-02-21 Jeff Law +- +- PR tree-optimization/79621 +- * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore +- blocks with edges to themselves. +- +-2017-02-21 Jakub Jelinek +- +- PR target/79633 +- * tree-chkp-opt.c (chkp_optimize_string_function_calls): Use +- is_gimple_call instead of comparing gimple_code with GIMPLE_CALL. +- Use gimple_call_builtin_p. +- +- PR target/79570 +- * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head +- on temporarily removed DEBUG_INSNs. +- +- PR tree-optimization/79649 +- * tree-loop-distribution.c (classify_partition): Give up on +- non-generic address space loads/stores. +- +-2017-02-21 Aldy Hernandez +- +- * doc/loop.texi (Loop manipulation): Remove nonexistent +- tree_ssa_loop_version from the documentation. +- * cfgloopmanip.c (loop_version): Document CONDITION_BB argument. +- +-2017-02-21 Jakub Jelinek +- +- PR target/79494 +- * config/i386/i386.c (ix86_expand_split_stack_prologue): Call +- make_reg_eh_region_note_nothrow_nononlocal on call_insn. +- * config/rs6000/rs6000.c: Include except.h. +- (rs6000_expand_split_stack_prologue): Call +- make_reg_eh_region_note_nothrow_nononlocal on the call insn. +- +-2017-02-21 Martin Jambor +- +- PR lto/79579 +- * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges +- have been analyzed. +- +-2017-02-21 Martin Jambor +- +- * common.opt (-fipa-cp-alignment): Mark as ignored and preserved +- for backward compatibility only. +- * doc/invoke.texi (Option Summary): Remove all references to +- -fipa-cp-alignment. +- +-2017-02-21 Matthew Fortune +- +- PR target/78660 +- Revert: +- 2017-02-20 Matthew Fortune +- +- * lra-constraints.c (curr_insn_transform): Handle +- WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs. +- +-2017-02-21 Martin Liska +- +- * config/i386/i386.opt: Replace -masm-dialect with -masm. +- +-2017-02-21 Thomas Schwinge +- +- PR translation/79638 +- * config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y". +- +-2017-02-21 Eric Botcazou +- +- PR ada/67205 +- * config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define. +- (arm_function_ok_for_sibcall): Return false for an indirect call by +- descriptor if all the argument registers are used. +- (arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the +- alignment of the function. +- +-2017-02-21 Jakub Jelinek +- +- PR tree-optimization/61441 +- * simplify-rtx.c (simplify_const_unary_operation): For +- -fsignaling-nans and sNaN operand, return NULL_RTX rather than +- the sNaN unmodified. +- +-2017-02-20 Bernd Edlinger +- +- * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe. +- (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR +- instead of SYSTEM_HEADER_DIR. +- +-2017-02-20 Gerald Pfeifer +- Martin Li=C5=A1ka +- +- * doc/invoke.texi (use-after-scope-direct-emission-threshold): +- Fix typos and grammar, use active voice, and clarify. +- +-2017-02-20 Marek Polacek +- +- PR middle-end/79537 +- * gimplify.c (gimplify_expr): Handle unused *&&L;. +- +- PR sanitizer/79558 +- * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null. +- +-2017-02-20 Jakub Jelinek +- +- PR target/79568 +- * config/i386/i386.c (ix86_expand_builtin): Handle +- OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in +- ix86_builtins_isa[fcode].isa as a requirement of those +- flags and any other flag in the bitmask. +- (ix86_init_mmx_sse_builtins): Use 0 instead of +- ~OPTION_MASK_ISA_64BIT as mask. +- * config/i386/i386-builtin.def (__builtin_ia32_rdtsc, +- __builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi, +- __builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi, +- __builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise. +- +-2017-02-20 Matthew Fortune +- +- PR target/78012 +- * lra-constraints.c (split_reg): Check requested split mode +- is supported by the register. +- +-2017-02-20 Matthew Fortune +- +- * lra-constraints.c (simplify_operand_subreg): Remove early +- return false. +- +-2017-02-20 Matthew Fortune +- +- PR target/78660 +- * lra-constraints.c (curr_insn_transform): Tighten condition +- for converting SUBREG reloads from OP_OUT to OP_INOUT. +- +-2017-02-20 Matthew Fortune +- +- PR target/78660 +- * lra-constraints.c (curr_insn_transform): Handle +- WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs. +- +-2017-02-19 Uros Bizjak +- +- Revert: +- 2016-05-30 Uros Bizjak +- +- * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)". +- +-2017-02-19 Jonathan Wakely +- +- PR c++/69523 +- * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update +- description. +- +-2017-02-19 Prathamesh Kulkarni +- +- * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format +- for FMA_EXPR. +- +-2017-02-18 Jakub Jelinek +- +- * final.c (last_columnnum, override_columnnum): New variables. +- (final_start_function): Set last_columnnum, pass it to begin_prologue +- hook and pass 0 to dwarf2out_begin_prologue. +- (final_scan_insn): Update override_columnnum. Pass last_columnnum +- to source_line debug hook. +- (notice_source_line): Compute last_columnnum and for debug_column_info +- return true on column changes. +- * debug.h (struct gcc_debug_hooks): Add column argument to +- source_line and begin_prologue hooks. +- (debug_nothing_int_charstar_int_bool): Remove prototype. +- (debug_nothing_int_int_charstar, +- debug_nothing_int_int_charstar_int_bool): New prototypes. +- (dwarf2out_begin_prologue): Add column argument. +- * debug.c (do_nothing_debug_hooks): Adjust source_line and +- begin_prologue hooks. +- (debug_nothing_int_charstar_int_bool): Remove. +- (debug_nothing_int_int_charstar, +- debug_nothing_int_int_charstar_int_bool): New functions. +- * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it +- through to dwarf2out_source_line. +- (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook. +- (dwarf2out_source_line): Add column argument, emit it if requested. +- * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column +- arguments. +- * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise. +- * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise. +- * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it +- through to dwarf2out_begin_prologue. +- (vmsdbgout_source_line): Add column argument, pass it through to +- dwarf2out_source_line. +- * dbxout.c (dbxout_begin_prologue): Add column argument, adjust +- dbxout_source_line caller. +- (dbxout_source_line): Add column argument. +- +- * common.opt (gno-column-info, gcolumn-info): New options. +- * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix. +- (check_die): Also test for multiple DW_AT_decl_column attributes. +- (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add +- DW_AT_decl_column if requested. +- (gen_subprogram_die): Compare and/or add also DW_AT_decl_column +- if requested. +- (gen_variable_die): Likewise. +- (add_call_src_coords_attributes): Add DW_AT_call_column if requested. +- * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document. +- +- PR target/79569 +- * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report. +- * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define. +- (ix86_handle_option): Handle OPT_m3dnowa. +- * doc/invoke.texi (-m3dnowa): Document. +- * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use +- -m3dnowa instead of -m3dnow -march=3Dathlon. +- +- PR target/79559 +- * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage +- instead of gcc_assert for K, r and R code checks. Formatting fixes. +- +-2017-02-17 Bill Schmidt +- +- PR target/79261 +- * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add +- support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. +- * config/rs6000/rs6000.md (reload_gpr_from_vsx): Call +- generator for vsx_xxpermdi__be. +- * config/rs6000/vsx.md (vsx_xxpermdi_): Remove logic to +- force big-endian semantics. +- (vsx_xxpermdi__be): New define_expand with same +- implementation as previous version of vsx_xxpermdi_. +- +-2017-02-17 Jakub Jelinek +- +- PR tree-optimization/79327 +- * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust +- variable, its initialization and use. +- +-2017-02-17 Julia Koval +- +- * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New. +- (OPTION_MASK_ISA_PKU_UNSET): New. +- (ix86_handle_option): Handle -mrdpid. +- * config/i386/cpuid.h (bit_RDPID): New. +- * config/i386/driver-i386.c (host_detect_local_cpu): +- Detect RDPID feature. +- * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New. +- * config/i386/i386-c.c (ix86_target_macros_internal): +- Handle RDPID flag. +- * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts. +- (ix86_valid_target_attribute_inner_p): Add "rdpid". +- (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID. +- * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New. +- * config/i386/i386.md (define_insn "rdpid"): New. +- * config/i386/i386.opt Add -mrdpid. +- * config/i386/immintrin.h (_rdpid_u32): New. +- +-2017-02-17 Vladimir Makarov +- +- PR rtl-optimization/79541 +- * lra-constraints.c (curr_insn_transform): Remove wrong asm insn +- instead of transforming it into USE. +- +-2017-02-17 Segher Boessenkool +- +- * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments. +- If HONOR_SNANS (SFmode) force the input to a register. +- (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition. +- (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates +- an frsp or similar insn. +- +-2017-02-17 Martin Liska +- +- PR rtl-optimization/79577 +- * params.def (selsched-max-sched-times): Increase minimum to 1. +- +-2017-02-17 Martin Liska +- +- PR rtl-optimization/79574 +- * gcse.c (want_to_gcse_p): Prevent integer overflow. +- +-2017-02-17 Martin Liska +- +- PR tree-optimization/79529 +- * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use +- ssa_defined_default_def_p to handle cases which are implicitly +- defined. +- * tree-ssa.c (ssa_defined_default_def_p): New function. +- (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases +- which are implicitly defined. +- * tree-ssa.h (ssa_defined_default_def_p): Declare. +- +-2017-02-17 Richard Biener +- +- PR middle-end/79576 +- * params.def (max-ssa-name-query-depth): Limit to 10. +- +-2017-02-17 Richard Biener +- +- PR tree-optimization/79552 +- * tree-ssa-structalias.c (visit_loadstore): Properly verify +- default defs. +- +-2017-02-17 Richard Biener +- +- PR bootstrap/79567 +- * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2. +- +-2017-02-17 Marek Polacek +- +- PR middle-end/79536 +- * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr. +- (fold_negate_expr): New wrapper. +- +-2017-02-16 Sandra Loosemore +- +- * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:=20 +- Correct terminology and de-emphasize pre-standard behavior. +- +-2017-02-16 Alan Modra +- +- PR rtl-optimization/79286 +- * ira.c (def_dominates_uses): New function. +- (update_equiv_regs): Don't create an equivalence for insns that +- may trap where the register def does not dominate the use. +- +-2017-02-16 Vladimir Makarov +- +- PR rtl-optimization/78127 +- * lra.c (lra): Call lra_eliminate before finish the loop after +- lra_constraint. +- +-2017-02-16 Richard Biener +- +- * graphite.h: Do not include isl/isl_val_gmp.h, instead include +- isl/isl_val.h. +- * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove. +- (gcc_expression_from_isl_expr_int): Use generic isl_val interface. +- * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h. +- (isl_val_int_from_wi): New function. +- (extract_affine_gmp): Rename to ... +- (extract_affine_wi): ... this, take a widest_int. +- (extract_affine_int): Just wrap extract_affine_wi. +- (add_param_constraints): Use isl_val_int_from_wi. +- (add_loop_constraints): Likewise, and extract_affine_wi. +- +-2017-02-15 Jeff Law +- +- PR middle-end/79521 +- * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling +- ira_init_register_move_cost_if_necessary. +- +-2017-02-15 Martin Sebor +- +- PR middle-end/32003 +- * doc/invoke.texi (-fdump-final-insns): Replace option accidentally +- removed in a prior commit. +- +-2017-02-15 Bin Cheng +- +- PR tree-optimization/79347 +- * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile +- counters during peeling. +- +-2017-02-15 Thomas Schwinge +- +- * Makefile.in (site.exp): Remove "set ISLVER". +- +-2017-02-15 Jakub Jelinek +- +- PR target/79487 +- * real.c (real_from_integer): Call real_convert even for decimal. +- +-2017-02-15 Dominik Vogt +- +- PR target/79421 +- * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS. +- +-2017-02-14 Andrew Pinski +- +- * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C" +- cores and change the partno/implementer to be correct. +- (thunderx2t99p1): New core which replaces thunderx2t99 and still has +- the 'B" as the implementer. +- * config/aarch64/aarch64-tune.md: Regenerate. +- +-2017-02-14 Carl Love +- +- * config/rs6000/rs6000.c: Add case statement entry to make the +- xvcvuxdsp built-in argument unsigned. +- * config/rs6000/vsx.md: Fix the source and return operand types so they +- match the instruction definitions from the ISA document. Fix typo +- in the instruction generation for the (define_insn "vsx_xvcvuxdsp" +- statement. +- +-2017-02-14 Vladimir Makarov +- +- PR target/79282 +- * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add +- member early_clobber_alts. +- * lra-lives.c (reg_early_clobber_p): New. +- (process_bb_lives): Use it. +- * lra.c (new_insn_reg): New arg early_clobber_alts. Use it. +- (debug_operand_data): Initialize early_clobber_alts. +- (setup_operand_alternative): Set up early_clobber_alts. +- (collect_non_operand_hard_regs): Ditto. Pass early clobber +- alternatives to new_insn_reg. +- (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use +- it. +- (lra_update_insn_regno_info): Pass the new arg. +- +-2017-02-14 Jakub Jelinek +- +- PR middle-end/79505 +- * omp-offload.c (free_oacc_loop): Release loop->ifns vector. +- (new_oacc_loop_raw): Don't clear already cleared fields. +- +- PR target/79481 +- * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, +- _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, +- _mm512_prefetch_i64gather_ps): New inline functions and macros. +- +-2017-02-14 Uros Bizjak +- +- PR target/79495 +- * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative. +- +-2017-02-14 H.J. Lu +- +- PR target/79498 +- * config/i386/i386.c (timode_scalar_chain::convert_insn): Insert +- the extra instruction to the right place to store 128-bit constant +- when needed. +- +-2017-02-14 Martin Sebor +- +- PR middle-end/79448 +- * gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX +- warning for strings of unknown length. +- +-2017-02-13 Segher Boessenkool +- +- * config.gcc (supported_defaults) [powerpc*-*-*]: Update. +- +-2017-02-14 Jeff Law +- +- PR target/79404 +- * ira-costs.c (scan_one_insn): Initialize register move costs +- for pseudos seen in USE/CLOBBER insns. +- +- PR tree-optimization/79095 +- * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR, +- if the numerator has the range ~[0,0] make the resultant range ~[0,0]. +- (extract_range_from_binary_expr): For MINUS_EXPR with no derived range, +- if the operands are known to be not equal, then the resulting range +- is ~[0,0]. +- (intersect_ranges): If the new range is ~[0,0] and the old range is +- wide, then prefer ~[0,0]. +- * tree-vrp.c (overflow_comparison_p_1): New function. +- (overflow_comparison_p): New function. +- * tree-vrp.c (register_edge_assert_for_2): Register additional asserts +- if NAME is used in an overflow test. +- (vrp_evaluate_conditional_warnv_with_ops): If the ops represent an +- overflow check that can be expressed as an equality test, then adjust +- ops to be that equality test. +- +-2017-02-14 Andreas Krebbel +- +- * config/s390/s390-builtin-types.def: Remove flags argument. +- * config/s390/s390.c (s390_init_builtins): Likewise. +- +-2017-02-14 Martin Liska +- +- * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body +- vector. Fix trailing white spaces. +- +-2017-02-14 James Greenhalgh +- +- * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle +- HFmode. +- +-2017-02-14 Kyrylo Tkachov +- +- PR rtl-optimization/68664 +- * config/arm/arm.c (arm_sched_can_speculate_insn): +- New function. Declare prototype. +- (TARGET_SCHED_CAN_SPECULATE_INSN): Define. +- +-2017-02-14 Kyrylo Tkachov +- +- PR rtl-optimization/68664 +- * config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn): +- New function. +- (TARGET_SCHED_CAN_SPECULATE_INSN): Define. +- +-2017-02-14 Amit Pawar +- +- * config/i386/i386.c (znver1_cost): Fix the alignment for function and +- max skip bytes for function, loop and jump. +- +-2017-02-14 Prathamesh Kulkarni +- +- * gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for +- ABS_EXPR for gimple dump. +- +-2017-02-14 Jakub Jelinek +- +- PR target/79462 +- * config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4]. +- +- PR tree-optimization/79408 +- * tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the +- case when on TRUNC_MOD_EXPR op0 is INTEGER_CST. +- (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges +- also if rhs1 is INTEGER_CST. +- +-2017-02-14 Richard Biener +- +- PR middle-end/79432 +- * tree-into-ssa.c (insert_phi_nodes): When the function can +- have abnormal edges rewrite SSA names with broken use-def +- dominance out of SSA and register them for PHI insertion. +- +-2017-02-13 Martin Sebor +- +- PR middle-end/79496 +- * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid +- clearing info.nowrite flag when snprintf size argument is a range. +- +-2017-02-13 Jakub Jelinek +- +- * cprop.c (cprop_jump): Add missing space in string literal. +- * tree-ssa-structalias.c (rewrite_constraints): Likewise. +- (get_constraint_for_component_ref): Likewise. +- * df-core.c (df_worklist_dataflow_doublequeue): Likewise. +- * tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise. +- * lra-constraints.c (process_alt_operands): Likewise. +- * ipa-inline.c (inline_small_functions): Likewise. +- * tree-ssa-sccvn.c (visit_reference_op_store): Likewise. +- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise. +- * trans-mem.c (diagnose_tm_1_op): Likewise. +- * omp-grid.c (grid_find_single_omp_among_assignments): Likewise. +- (grid_parallel_clauses_gridifiable): Likewise. +- +- * config/nvptx/mkoffload.c (process): Add space in between +- , and %d. +- +- * config/i386/i386.h (REG_CLASS_NAMES): Add , in between +- "MOD4_SSE_REGS" and "ALL_REGS". +- +- * spellcheck.c (test_data): Add , in between "foo" and "food". +- +-2017-02-13 Aaron Sawdey +- +- PR target/79449 +- * config/rs6000/rs6000.c (expand_block_compare): Make sure runtime +- boundary crossing check and subsequent code generation agree. +- +-2017-02-13 Kyrylo Tkachov +- +- * config/aarch64/aarch64.c (has_memory_op): Delete. +- (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of +- has_memory_op. +- +-2017-02-13 Jakub Jelinek +- +- PR rtl-optimization/79388 +- PR rtl-optimization/79450 +- * combine.c (distribute_notes): When removing TEM_INSN for which +- corresponding dest has last value recorded, invalidate that last +- value. +- +-2017-02-13 Kyrylo Tkachov +- +- * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead +- of explicit '@'. Add missing assembly comment marker on branch costs +- printout. +- +-2017-02-13 Nathan Sidwell +- +- * gengtype-lex.l (): Add '/'. +- +-2017-02-13 Martin Liska +- +- PR c/79471 +- * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC. +- +-2017-02-13 Richard Biener +- +- * configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS): +- Remove. +- * configure: Re-generate. +- * config.in: Likewise. +- * graphite-dependences.c: Simplify as if +- HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined. +- * graphite-isl-ast-to-gimple.c: Likewise. +- * graphite-optimize-isl.c: Likewise. +- * graphite-poly.c: Likewise. +- * graphite-sese-to-poly.c: Likewise. +- * graphite.h: Likewise. +- * toplev.c: Include isl/version.h and use isl_version () for +- printing the ISL version. +- * doc/install.texi: Update ISL requirement. +- +-2017-02-12 Gerald Pfeifer +- +- * doc/standards.texi (Standards): Update reference to +- Objective-C 2.0. +- +-2017-02-12 Gerald Pfeifer +-=09 +- * doc/extend.texi (Named Address Spaces): sourceware.org now +- defaults to https. +- * doc/install.texi (Binaries): Ditto. +- (Specific): Ditto. +- +-2017-02-11 Sandra Loosemore +- +- * doc/cpp.texi: Replace "stringify"/"stringification" with C=20 +- standard terminology "stringize"/"stringizing" throughout. +- * doc/cppinternals.texi: Likewise. +- +-2017-02-11 Sandra Loosemore +- +- * doc/extend.texi: Fix some spelling mistakes and typos. +- * doc/invoke.texi: Likewise. +- +-2017-02-11 Jan Hubicka +- +- PR ipa/79224 +- * params.def (inline-min-speedup) Change from 10 to 8. +- +-2017-02-11 Jakub Jelinek +- +- * doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to +- 4.5. +- +-2017-02-11 Jan Hubicka +- +- PR ipa/79224 +- * ipa-inline-analysis.c (get_minimal_bb): New function. +- (record_modified): Use it. +- (remap_edge_change_prob): Handle also ancestor functions. +- +-2017-02-11 Gerald Pfeifer +- +- * doc/contrib.texi (Contributors): Remove broken link into +- the Mauve CVS repository. +- +-2017-02-11 Jakub Jelinek +- +- PR middle-end/79454 +- * internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise +- result computation whenever lhs doesn't have vector mode, not +- just when it has BLKmode. +- +-2017-02-10 Gerald Pfeifer +- +- * doc/makefile.texi (profiledbootstrap): Refer to the +- installation instructions only in textual form. +- +-2017-02-10 Aaron Sawdey +- +- PR target/79295 +- * config/rs6000/altivec.md (bcd): Fix constraints. +- +-2017-02-10 Gerald Pfeifer +- +- * doc/install.texi (Specific): Use https for blackfin.uclinux.org. +- (Specific): Update mingw-w64 reference. +- (Binaries): Ditto. +- (Specific): Remove broken link to Renesas RX processor. +- +-2017-02-10 Richard Biener +- +- * toplev.c (process_options): Do not mention obsolete graphite +- options when printing sorry message about missing graphite support. +- Mention -floop-nest-optimize. +- +-2017-02-10 Christophe Lyon +- +- * config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm. +- (vtst_p16): Likewise. +- (vtstq_p8): Likewise. +- (vtstq_p16): Likewise. +- (vtst_p64): New. +- (vtstq_p64): Likewise. +- * config/arm/arm_neon.h (vgetq_lane_p64): New. +- (vset_lane_p64): New. +- (vsetq_lane_p64): New. +- +-2017-02-10 Jakub Jelinek +- +- PR tree-optimization/79411 +- * tree-ssa-reassoc.c (is_reassociable_op): Return false if +- stmt operands are SSA_NAMEs used in abnormal phis. +- (can_reassociate_p): Return false if op is SSA_NAME used in abnormal +- phis. +- +-2017-02-09 Jan Hubicka +- +- PR ipa/70795 +- * cgraphunit.c (cgraph_node::add_new_function): Set externally_visible +- flag if needed. +- +-2017-02-09 Jan Hubicka +- +- * tree-ssa-loop-unswitch.c (hoist_guard): Update profile. +- +-2017-02-09 Jakub Jelinek +- +- * omp-offload.c (oacc_loop_auto_partitions): Use || instead of | +- to avoid warning. +- +- PR c/79413 +- * gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants, +- not arbitrary TREE_CONSTANT. +- +- PR c/79431 +- * gimplify.c (gimplify_adjust_omp_clauses): Ignore +- "omp declare target link" attribute unless is_global_var. +- * omp-offload.c (find_link_var_op): Likewise. +- +-2017-02-09 Nathan Sidwell +- Chung-Lin Tang +- +- * gimplify.c (gimplify_scan_omp_clauses): No special handling for +- OMP_CLAUSE_TILE. +- (gimplify_adjust_omp_clauses): Don't delete TILE. +- (gimplify_omp_for): Deal with TILE. +- * internal-fn.c (expand_GOACC_TILE): New function. +- * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative. +- (GOACC_TILE): New. +- * omp-expand.c (struct oacc_collapse): Add tile and outer fields. +- (expand_oacc_collapse_init): Add LOC paramter. Initialize tile +- element fields. +- (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling, +- avoid DIV for outermost collapse var. +- (expand_oacc_for): Insert tile element loop as needed. Adjust. +- Remove out of date comments, fix whitespace. +- * omp-general.c (omp_extract_for_data): Deal with tiling. +- * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag, +- adjust OLF_DIM_BASE value. +- (struct omp_for_data): Add tiling field. +- * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE. +- (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels +- for auto loops. Remove default auto determining, moved to +- oacc_loop_fixed_partitions. +- * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call +- stmts, add e_mask field. +- (oacc_dim_call): New function, abstracted out from oacc_thread_numbers. +- (oacc_thread_numbers): Use oacc_dim_call. +- (oacc_xform_tile): New. +- (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector. +- (finish_oacc_loop): Adjust for ifns vector. +- (oacc_loop_discover_walk): Append loop abstraction sites to list, +- add case for GOACC_TILE fns. +- (oacc_loop_xform_loop): Delete. +- (oacc_loop_process): Iterate over call list directly, and add +- handling for GOACC_TILE fns. +- (oacc_loop_fixed_partitions): Determine default auto, deal with TILE, +- dump partitioning. +- (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but +- vector partitioning to outer loops. Assign 2 partitions to loops +- when available. Add TILE handling. +- (oacc_loop_partition): Adjust oacc_loop_auto_partitions call. +- (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown spec= s. +- * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE. +- * tree.c (omp_clause_num_ops): Adjust TILE ops. +- * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New. +- +-2017-02-09 Gerald Pfeifer +- +- * configure.ac (ACX_BUGURL): Update. +- * configure: Regenerate. +- +-2017-02-09 Richard Biener +- +- PR tree-optimization/69823 +- * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): +- Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap. +- +-2017-02-09 Andrew Burgess +- +- * config/arc/arc-c.def: Add __NPS400__ definition. +- * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here. +- (TARGET_NPS400): Define. +- +-2017-02-09 Andrew Burgess +- +- * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in +- file. +- (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t +- pointer, arch_info. +- (arc_cpu_types): Fill the arch_info field with a pointer into the +- arc_arch_types table. +- (arc_selected_cpu): Declare. +- * config/arc/arc.c (arc_selected_cpu): Make global. +- (arc_selected_arch): Delete. +- (arc_base_cpu): Delete. +- (arc_override_options): Remove references to deleted variables, +- update access to arch information. +- (ARC_OPT): Update access to arch information. +- (ARC_OPTX): Likewise. +- * config/arc/arc.h (arc_base_cpu): Remove declaration. +- (TARGET_ARC600): Update access to arch information. +- (TARGET_ARC601): Likewise. +- (TARGET_ARC700): Likewise. +- (TARGET_EM): Likewise. +- (TARGET_HS): Likewise. +- * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch +- information. +- +-2017-02-08 Pat Haugen +- +- PR target/78604 +- * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert +- condition/operands for integer GE/LE/GEU/LEU operations. +- +-2017-02-08 Segher Boessenkool +- +- PR translation/79397 +- * config/rs6000/rs6000.opt (maltivec=3Dle, maltivec=3Dbe): Fix spelling +- of AltiVec. +- +-2017-02-08 Martin Jambor +- +- PR ipa/79375 +- * ipa-prop.c (ipa_alloc_node_params): Make static, return bool +- whether allocation happened. +- (ipa_initialize_node_params): Do not call ipa_alloc_node_params if +- nothing was allocated. +- +-2017-02-08 Jakub Jelinek +- +- PR tree-optimization/79408 +- * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not +- constant, but SSA_NAME with a known integer range, use the minimum +- of that range instead of op1 to determine if modulo can be replaced +- with its first operand. +- +-2016-02-08 Kyrylo Tkachov +- +- * config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX. +- +-2017-02-08 Richard Biener +- +- PR tree-optimization/71824 +- * graphite-scop-detection.c (scop_detection::build_scop_breadth): +- Check all loops contained in the merged region. +- +-2017-02-07 Andrew Pinski +- +- * config/aarch64/aarch64.md (popcount2): New pattern. +- +-2017-02-07 Andrew Pinski +- +- * config/aarch64/aarch64-cores.def (thunderx): Disable LSE. +- (thunderxt88): Likewise. +- (thunderxt81): Disable LSE and change v8.1 to v8. +- (thunderxt83): Likewise. +- +-2017-02-07 Jakub Jelinek +- Richard Biener +- +- PR middle-end/79399 +- * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size +- type from int to size_t. +- * ira-costs.c (struct_costs_size): Change type from int to size_t. +- +-2017-02-07 Jakub Jelinek +- +- PR rtl-optimization/79386 +- * cprop.c (bypass_conditional_jumps): Initialize +- bypass_last_basic_block already before splitting bbs after +- unconditional traps... +- (bypass_conditional_jumps): ... rather than here. +- +- PR target/79299 +- * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs. +- (*avx512f_gathersi, *avx512f_gathersi_2, +- *avx512f_gatherdi, *avx512f_gatherdi_2): Use them, +- fix -masm=3Dintel patterns. +- +-2017-02-07 Richard Biener +- +- PR tree-optimization/79256 +- PR middle-end/79278 +- * builtins.c (get_object_alignment_2): Use min_align_of_type +- to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT +- and ADJUST_FIELD_ALIGN. +- +- * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional +- type parameter. +- * doc/tm.texi: Regenerate. +- * stor-layout.c (layout_decl): Adjust. +- (update_alignment_for_field): Likewise. +- (place_field): Likewise. +- (min_align_of_type): Likewise. +- * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust. +- * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise. +- * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/frv/frv.c (frv_adjust_field_align): Likewise. +- * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/i386/i386.c (x86_field_alignment): Likewise. +- * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise. +- * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): +- Likewise. +- +- Revert +- 2017-01-30 Richard Biener +- +- PR tree-optimization/79256 +- * targhooks.c (default_builtin_vector_alignment_reachable): Honor +- BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus +- alignment on TYPE. +- +-2017-02-07 Toma Tabacu +- +- * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode +- argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw +- builtins to SImode and emit a zero-extend, if necessary. +- +-2017-02-06 Palmer Dabbelt +- +- * docs/invoke.texi (RISC-V Options): Alphabetize. +- +-2017-02-06 Palmer Dabbelt +- +- * doc/invoke.texi (RISC-V Options): Use two spaces to separate +- options. +- +-2017-02-06 Palmer Dabbelt +- +- * config/riscv/riscv.c: New file. +- * gcc/common/config/riscv/riscv-common.c: Likewise. +- * config.gcc: Likewise. +- * config/riscv/constraints.md: Likewise. +- * config/riscv/elf.h: Likewise. +- * config/riscv/generic.md: Likewise. +- * config/riscv/linux.h: Likewise. +- * config/riscv/multilib-generator: Likewise. +- * config/riscv/peephole.md: Likewise. +- * config/riscv/pic.md: Likewise. +- * config/riscv/predicates.md: Likewise. +- * config/riscv/riscv-builtins.c: Likewise. +- * config/riscv/riscv-c.c: Likewise. +- * config/riscv/riscv-ftypes.def: Likewise. +- * config/riscv/riscv-modes.def: Likewise. +- * config/riscv/riscv-opts.h: Likewise. +- * config/riscv/riscv-protos.h: Likewise. +- * config/riscv/riscv.h: Likewise. +- * config/riscv/riscv.md: Likewise. +- * config/riscv/riscv.opt: Likewise. +- * config/riscv/sync.md: Likewise. +- * config/riscv/t-elf-multilib: Likewise. +- * config/riscv/t-linux: Likewise. +- * config/riscv/t-linux-multilib: Likewise. +- * config/riscv/t-riscv: Likewise. +- * configure.ac: Likewise. +- * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew +- Waterman as RISC-V maintainers. +- * doc/install.texi: Add RISC-V entries. +- * doc/invoke.texi: Add RISC-V options section. +- * doc/md.texi: Add RISC-V constraints section. +- * configure: Regenerated. +- +-2017-02-06 Michael Meissner +- +- PR target/66144 +- * config/rs6000/vector.md (vcond): Allow the true and +- false values to be constant vectors with all 0 or all 1 bits set. +- (vcondu): Likewise. +- * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New +- predicate. +- (fpmask_comparison_operator): Update comment. +- (vecint_comparison_operator): New predicate. +- * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize +- vector conditionals when the true and false values are constant +- vectors with all 0 bits or all 1 bits set. +- +-2017-02-06 Martin Sebor +- +- PR tree-optimization/79376 +- * gimple-fold.c (get_range_strlen): Set the minimum length to zero. +- +-2017-02-06 Uros Bizjak +- +- * config/i386/sse.md (vector modes -> vec_extract* splitter): Use +- explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate +- to simplify split condition. +- +-2017-02-06 Jakub Jelinek +- +- * omp-expand.c (oxpand_omp_atomic_fetch_op, +- expand_omp_atomic_pipeline): Return false if can_atomic_load_p is +- false. +- +-2017-02-06 Segher Boessenkool +- +- PR rtl-optimization/68664 +- * target.def (can_speculate_insn): New hook. +- * doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook. ++ * target.def (flags_regnum): Also mention effect on delay slot filling. + * doc/tm.texi: Regenerate. +- * sched-rgn.c (can_schedule_ready_p): Use the new hook. +- * config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro. +- (rs6000_sched_can_speculate_insn): New function. +- +-2017-02-06 Jakub Jelinek +- +- PR tree-optimization/79284 +- * tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define. +- * tree-vect-stmts.c (vect_get_vec_def_for_operand, +- vectorizable_mask_load_store, vectorizable_operation, +- vect_is_simple_cond, get_same_sized_vectype): Use it instead +- of comparing TREE_CODE of a type against BOOLEAN_TYPE. +- * tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1, +- vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise. +- * tree-vect-slp.c (vect_get_constant_vectors): Likewise. +- * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise. +- Remove redundant gimple_code (stmt) =3D=3D GIMPLE_ASSIGN test after +- is_gimple_assign (stmt). Replace another such test with +- is_gimple_assign (stmt). +- +-2017-02-06 Georg-Johann Lay +- +- PR target/78883 +- * config/avr/avr.c (rtl-iter.h): Include it. +- (TARGET_LEGITIMATE_COMBINED_INSN): New hook define... +- (avr_legitimate_combined_insn): ...and implementation. +- +-2017-02-06 Dominik Vogt +- +- * config/s390/predicates.md ("larl_operand"): Use macros from hwint.h. +- * config/s390/s390.c (s390_const_operand_ok) +- (s390_canonicalize_comparison, s390_extract_part) +- (s390_single_part, s390_contiguous_bitmask_nowrap_p) +- (s390_contiguous_bitmask_p, s390_rtx_costs) +- (legitimize_pic_address): Likewise. +- * config/s390/s390.md ("clzdi2", "clztidi2"): Likewise. +- * config/s390/vx-builtins.md ("vec_genbytemaskv16qi") +- ("vec_permi", "vfae", "*vfaes", "vstrc") +- ("*vstrcs"): Use UINTVAL() to set unsigned HOST_WIDE_INT. +- * config/s390/vector.md ("vec_vfenes"): Likewise. +- +-2017-02-06 Georg-Johann Lay +- +- * config/avr/avr.md (*addhi3_zero_extend): Add alternative where +- REGNO($0) =3D=3D REGNO($1). +=20 +-2017-02-06 Andreas Krebbel +- +- * config/s390/linux.h(SIZE_TYPE): Add comment. ++2020-01-23 Jeff Law +=20 +-2017-02-06 Julian Brown +- Naveen H.S +- Virendra Pathak ++ * config/h8300/h8300.c (h8300_option_override): Fix diagnostic text. +=20 +- * config/aarch64/aarch64-cores.def: Change the scheduler +- to Thunderx2t99. +- * config/aarch64/aarch64.md: Include thunderx2t99.md. +- * config/aarch64/thunderx2t99.md: New file. ++2020-01-23 Mikael Tillenius +=20 +-2017-02-05 Gerald Pfeifer ++ * config/h8300/h8300.h (FUNCTION_PROFILER): Fix emission of ++ profiling label +=20 +- * doc/standards.texi (Go Language): Update link to language +- standard. ++2020-01-23 Jakub Jelinek +=20 +-2017-02-05 Jan Hubicka ++ PR rtl-optimization/93402 ++ * postreload.c (reload_combine_recognize_pattern): Don't try to adjust ++ USE insns. +=20 +- * tree-eh.c (lower_resx): Sanitize profile. +- (cleanup_empty_eh_move_lp): Likewise. ++2020-01-23 Dragan Mladjenovic +=20 +-2017-02-05 Jan Hubicka ++ * config.in: Regenerated. ++ * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to 1 ++ for TARGET_LIBC_GNUSTACK. ++ * configure: Regenerated. ++ * configure.ac: Define TARGET_LIBC_GNUSTACK if glibc version is ++ found to be 2.31 or greater. +=20 +- PR tree-ssa/79347 +- * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add +- ELSE_PROB. +- * cfgloopmanip.h (loop_version): Update prototype. +- * modulo-sched.c (sms_schedule): Update call of loop_version. +- * tree-if-conv.c(version_loop_for_if_conversion): Likewise. +- * tree-parloops.c (gen_parallel_loop): Likewise. +- * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise. +- * tree-ssa-loop-split.c (split_loop): Likewise. +- * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise. +- * tree-vect-loop-manip.c (vect_loop_versioning): Likewise. +- +-2017-02-05 Martin Liska +- +- PR bootstrap/78985 +- * config/s390/s390.c (s390_gimplify_va_arg): Initialize local +- variable to NULL. +- (print_operand_address): Initialize a struct to zero. +- +-2017-02-05 Gerald Pfeifer +- +- * doc/contrib.texi (Contributors): Refer to Hans Boehm's +- garbage collector only in textual form. ++2020-01-23 Dragan Mladjenovic +=20 +-2017-02-05 Gerald Pfeifer +-=09 +- * doc/extend.texi (x86 specific memory model extensions for +- transactional memory): Simplify a phrase. ++ * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to ++ TARGET_SOFT_FLOAT. ++ * config/mips/mips.c (TARGET_ASM_FILE_END): Define to ... ++ (mips_asm_file_end): New function. Delegate to ++ file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK is true. ++ * config/mips/mips.h (NEED_INDICATE_EXEC_STACK): Define to 0. +=20 +-2017-02-05 Eric Botcazou ++2020-01-23 Jakub Jelinek +=20 +- PR target/79353 +- * config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with +- 'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32. +- (atomic_storedi_1): Likewise. ++ PR target/93376 ++ * config/i386/i386-modes.def (POImode): New mode. ++ (MAX_BITSIZE_MODE_ANY_INT): Change from 128 to 160. ++ * config/i386/i386.md (DPWI): New mode attribute. ++ (addv4, subv4): Use instead of . ++ (QWI): Rename to... ++ (QPWI): ... this. Use POI instead of OI for TImode. ++ (*addv4_doubleword, *addv4_doubleword_1, ++ *subv4_doubleword, *subv4_doubleword_1): Use ++ instead of . +=20 +-2017-02-04 Jakub Jelinek ++2020-01-23 Richard Sandiford +=20 +- PR tree-optimization/79338 +- * tree-parloops.c (gather_scalar_reductions): Don't call +- vect_analyze_loop_form for loop->inner before destroying loop's +- loop_vinfo. ++ PR target/93341 ++ * config/aarch64/aarch64.md (UNSPEC_SPECULATION_TRACKER_REV): New ++ unspec. ++ (speculation_tracker_rev): New pattern. ++ * config/aarch64/aarch64-speculation.cc (aarch64_do_track_speculation): ++ Use speculation_tracker_rev to track the inverse condition. +=20 +-2017-02-03 Martin Sebor ++2020-01-23 Richard Biener +=20 +- PR tree-optimization/79327 +- * gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix +- when precision has resulted in leading zeros. +- (format_integer): Adjust the likely counter to assume an unknown +- argument that may be zero is non-zero. ++ PR tree-optimization/93381 ++ * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Take ++ alias-set of the def as argument and record the first one. ++ (vn_walk_cb_data::first_set): New member. ++ (vn_reference_lookup_3): Pass the alias-set of the current def ++ to push_partial_def. Fix alias-set used in the aggregate copy ++ case. ++ (vn_reference_lookup): Consistently set *last_vuse_ptr. ++ * real.c (clear_significand_below): Fix out-of-bound access. +=20 +-2017-02-03 Jason Merrill ++2020-01-23 Jakub Jelinek +=20 +- PR c++/78689 +- * tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to +- avoid copying non-taken branch. ++ PR target/93346 ++ * config/i386/i386.md (*bmi2_bzhi_3_2, *bmi2_bzhi_3_3): ++ New define_insn patterns. +=20 +-2017-02-03 Jakub Jelinek ++2020-01-23 Richard Sandiford +=20 +- PR tree-optimization/79340 +- * tree-vect-loop.c (vectorizable_reduction): Release +- vec_defs elements after safe_splicing them into other vectors. +- Formatting fixes. ++ * doc/sourcebuild.texi (check-function-bodies): Add an ++ optional target/xfail selector. +=20 +- PR tree-optimization/79327 +- * gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning +- true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of +- dirtype. +- (format_integer): Use wide_int_to_tree instead of build_int_cst +- + to_?hwi. If argmin is NULL, just set argmin and argmax to +- TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation +- of shortest and longest sequence. ++2020-01-23 Richard Sandiford +=20 +-2017-02-03 Uros Bizjak ++ PR rtl-optimization/93124 ++ * auto-inc-dec.c (merge_in_block): Don't add auto inc/decs to ++ bare USE and CLOBBER insns. +=20 +- * config/i386/i386.c (dimode_scalar_chain::convert_reg): +- Use pextrd for TARGET_SSE4_1 when creating scalar copy. ++2020-01-22 Andrew Pinski +=20 +-2017-02-03 Walter Lee ++ * config/arc/arc.c (output_short_suffix): Check insn for nullness. +=20 +- PR target/78862 +- * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage +- after initial stackframe link reg save. +- * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise. ++2020-01-22 David Malcolm +=20 +-2017-02-03 Jakub Jelinek ++ PR analyzer/93307 ++ * gdbinit.in (break-on-saved-diagnostic): Update for move of ++ diagnostic_manager into "ana" namespace. ++ * selftest-run-tests.c (selftest::run_tests): Update for move of ++ selftest::run_analyzer_selftests to ++ ana::selftest::run_analyzer_selftests. +=20 +- PR target/79354 +- * config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of +- wu for stxssp alternative. ++2020-01-22 Richard Sandiford +=20 +-2017-02-03 Martin Sebor ++ * cfgexpand.c (union_stack_vars): Update the size. +=20 +- PR tree-optimization/79352 +- * gimple-fold.c (get_range_strlen): Add argument. +- (get_range_strlen): Change return type to bool. +- (get_maxval_strlen): Pass in a dummy argument. +- * gimple-fold.h (get_range_strlen): Change return type to bool. +- * gimple-ssa-sprintf.c (get_string_length): Set unlikely counter. +- * tree.h (array_at_struct_end_p): Add argument. +- * tree.c (array_at_struct_end_p): Handle it. ++2020-01-22 Richard Biener +=20 +-2017-02-03 Martin Liska ++ PR tree-optimization/93381 ++ * tree-ssa-structalias.c (find_func_aliases): Assume offsetting ++ throughout, handle all conversions the same. +=20 +- PR lto/66295 +- * multiple_target.c (create_dispatcher_calls): Redirect edge +- from a caller of a dispatcher. +- (expand_target_clones): Make the clones local. +- (ipa_target_clone): Do both target clones and resolvers. +- (ipa_dispatcher_calls): Remove the pass. +- (pass_dispatcher_calls::gate): Likewise. +- (make_pass_dispatcher_calls): Likewise. +- * passes.def (pass_target_clone): Put as very first IPA early +- pass. ++2020-01-22 Jakub Jelinek +=20 +-2017-02-03 Martin Liska ++ PR target/93335 ++ * config/aarch64/aarch64.c (aarch64_expand_subvti): Only use ++ gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate ++ predicate, not whenever it is CONST_INT. Otherwise, force_reg it. ++ Call force_reg on high_in2 unconditionally. +=20 +- * symtab.c (symtab_node::binds_to_current_def_p): Bail out +- in case of a function with ifunc attribute. ++2020-01-22 Martin Liska +=20 +-2017-02-03 Martin Liska ++ PR tree-optimization/92924 ++ * profile.c (compute_value_histograms): Divide ++ all counter values. +=20 +- * cgraph.c (cgraph_node::dump): Dump function version info. +- * symtab.c (symtab_node::dump_base): Add missing new line. ++2020-01-22 Jakub Jelinek +=20 +-2017-02-02 Jan Hubicka ++ PR target/91298 ++ * output.h (assemble_name_resolve): Declare. ++ * varasm.c (assemble_name_resolve): New function. ++ (assemble_name): Use it. ++ * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define. +=20 +- * tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function. +- (ifcombine_ifandif): Use it. ++2020-01-22 Joseph Myers +=20 +-2017-02-03 Martin Liska ++ * doc/sourcebuild.texi (Texinfo Manuals, Front End): Refer to ++ update_web_docs_git instead of update_web_docs_svn. +=20 +- * doc/invoke.texi: Document default value for +- use-after-scope-direct-emission-threshold. ++2020-01-21 Andrew Pinski +=20 +-2017-02-03 Martin Liska ++ PR target/9311 ++ * config/aarch64/aarch64.md (tlsgd_small_): Have operand 0 ++ as PTR mode. Have operand 1 as being modeless, it can be P mode. ++ (*tlsgd_small_): Likewise. ++ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately) ++ : Call gen_tlsgd_small_* with a ptr_mode ++ register. Convert that register back to dest using convert_mode. +=20 +- PR tree-optimization/79339 +- * gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear. +- (format_floating): Likewise. ++2020-01-21 Jim Wilson +=20 +-2017-02-03 Martin Liska ++ * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Use INTVAL ++ instead of XINT. +=20 +- PR ipa/79337 +- * ipa-prop.c (ipa_node_params_t::insert): Remove current +- implementation. +- (ipa_node_params_t::remove): Likewise. +- * ipa-prop.h (ipa_node_params::ipa_node_params): Make default +- initialization from removed ipa_node_params_t::insert. +- (ipa_node_params::~ipa_node_params): Move from removed +- ipa_node_params_t::release. +- * symbol-summary.h (symbol_summary::m_released): New member. +- Do not release a summary twice. Do not allow to call finalizer +- for types of a summary that live in GGC memory. ++2020-01-21 H.J. Lu ++ Uros Bizjak +=20 +-2017-02-02 Naveen H.S ++ PR target/93319 ++ * config/i386/i386.c (ix86_tls_module_base): Replace Pmode ++ with ptr_mode. ++ (legitimize_tls_address): Do GNU2 TLS address computation in ++ ptr_mode and zero-extend result to Pmode. ++ * config/i386/i386.md (@tls_dynamic_gnu2_64_): Replace ++ :P with :PTR and Pmode with ptr_mode. ++ (*tls_dynamic_gnu2_lea_64_): Likewise. ++ (*tls_dynamic_gnu2_call_64_): Likewise. ++ (*tls_dynamic_gnu2_combine_64_): Likewise. +=20 +- * config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and +- cmp_branch fusion. +- +-2017-02-02 Martin Sebor +- +- PR middle-end/79275 +- * gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero. +- (format_string): Tighten up the range of output for non-constant +- strings and correct the expected range for wide non-constant strings. +- +-2017-02-02 Martin Sebor ++2020-01-21 Jakub Jelinek +=20 +- * doc/invoke.texi (-maccumulate-args): Fix bad grammar. ++ PR target/93333 ++ * config/riscv/riscv.c (riscv_rtx_costs) : Verify ++ the last two operands are CONST_INT_P before using them as such. +=20 +- PR middle-end/32003 +- * doc/invoke.texi (-fdump-tree-): Remove pass-specific options from +- index. +- (-fdump-tree-@var): Add to index and document how to come up +- with pass-specific option and dump file names. +- (-fdump-passes): Clarify where to look for output. ++2020-01-21 Richard Sandiford +=20 +-2017-02-02 Jan Hubicka ++ * config/aarch64/aarch64-sve-builtins.def: Use get_typenode_from_name ++ to get the integer element types. +=20 +- PR middle-end/77445 +- * tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump +- statistics of the analyzed path; allow threading for speed when +- any of BBs along the path are optimized for speed. ++2020-01-21 Richard Sandiford +=20 +-2017-02-02 Eric Botcazou ++ * config/aarch64/aarch64-sve-builtins.h ++ (function_expander::convert_to_pmode): Declare. ++ * config/aarch64/aarch64-sve-builtins.cc ++ (function_expander::convert_to_pmode): New function. ++ (function_expander::get_contiguous_base): Use it. ++ (function_expander::prepare_gather_address_operands): Likewise. ++ * config/aarch64/aarch64-sve-builtins-sve2.cc ++ (svwhilerw_svwhilewr_impl::expand): Likewise. +=20 +- PR middle-end/78468 +- * emit-rtl.c (init_emit): Add ??? comment for problematic alignment +- settings of the virtual registers. ++2020-01-21 Szabolcs Nagy +=20 +- Revert again +- 2016-08-23 Dominik Vogt ++ PR target/92424 ++ * config/aarch64/aarch64.c (aarch64_declare_function_name): Set ++ cfun->machine->label_is_assembled. ++ (aarch64_print_patchable_function_entry): New. ++ (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define. ++ * config/aarch64/aarch64.h (struct machine_function): New field, ++ label_is_assembled. +=20 +- * explow.c (get_dynamic_stack_size): Take known alignment of stack +- pointer + STACK_DYNAMIC_OFFSET into account when calculating the size +- needed. ++2020-01-21 David Malcolm +=20 +-2017-02-02 Andreas Krebbel ++ PR ipa/93315 ++ * ipa-profile.c (ipa_profile): Delete call_sums and set it to ++ NULL on exit. +=20 +- * config/s390/vx-builtins.md ("vec_ceil", "vec_floor") +- ("vec_trunc", "vec_roundc", "vec_round"): Remove expanders. ++2020-01-18 Jan Hubicka +=20 +-2017-02-02 Andreas Krebbel ++ PR lto/93318=09 ++ * cgraph.c (cgraph_edge::resolve_speculation, ++ cgraph_edge::redirect_call_stmt_to_callee): Fix update of ++ call_stmt_site_hash. +=20 +- * config/s390/s390.md: Add missing comments with the expanded +- mnemonics. +- * config/s390/vector.md: Likewise. +- * config/s390/vx-builtins.md: Likewise. ++2020-01-21 Martin Liska +=20 +-2017-02-02 Jakub Jelinek ++ * config/rs6000/rs6000.c (common_mode_defined): Remove ++ unused variable. +=20 +- PR target/79197 +- * config/rs6000/rs6000.md (*fixuns_truncdi2_fctiduz): Rename to ... +- (fixuns_truncdi2): ... this, remove previous expander. Put all +- conditions on a single line. ++2020-01-21 Richard Biener +=20 +-2017-02-02 Andreas Krebbel ++ PR tree-optimization/92328 ++ * tree-ssa-sccvn.c (vn_reference_lookup_3): Preserve ++ type when value-numbering same-sized store by inserting a ++ VIEW_CONVERT_EXPR. ++ (eliminate_dom_walker::eliminate_stmt): When eliminating ++ a redundant store handle bit-reinterpretation of the same value. +=20 +- * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename +- __S390_VX__ to __VX__. ++2020-01-21 Andrew Pinski +=20 +-2017-02-01 Andrew Pinski +- +- * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass +- stmt_info to record_stmt_cost. +- (vect_get_known_peeling_cost): Pass stmt_info if known to +- record_stmt_cost. +- * config/aarch64/aarch64-protos.h (cpu_vector_cost): Split +- cpu_vector_cost field into +- scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost +- field into vec_int_stmt_cost and vec_fp_stmt_cost. +- * config/aarch64/aarch64.c (generic_vector_cost): Update for the +- splitting of scalar_stmt_cost and vec_stmt_cost. +- (thunderx_vector_cost): Likewise. +- (cortexa57_vector_cost): LIkewise. +- (exynosm1_vector_cost): Likewise. +- (xgene1_vector_cost): Likewise. +- (thunderx2t99_vector_cost): Improve after the splitting of the two +- fields. +- (aarch64_builtin_vectorization_cost): Update for the splitting of +- scalar_stmt_cost and vec_stmt_cost. +- +-2017-02-01 Torvald Riegel +- Richard Henderson +- +- * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free" +- conditional on existance of a fast atomic load. +- * optabs-query.c (can_atomic_load_p): New function. +- * optabs-query.h (can_atomic_load_p): Declare it. +- * optabs.c (expand_atomic_exchange): Always delegate to libatomic if +- no fast atomic load is available for the particular size of access. +- (expand_atomic_compare_and_swap): Likewise. +- (expand_atomic_load): Likewise. +- (expand_atomic_store): Likewise. +- (expand_atomic_fetch_op): Likewise. +- * testsuite/lib/target-supports.exp +- (check_effective_target_sync_int_128): Remove x86 because it provides +- no fast atomic load. +- (check_effective_target_sync_int_128_runtime): Likewise. +- +-2017-02-01 Richard Biener +- +- * graphite.c: Include tree-vectorizer.h for find_loop_location. +- (graphite_transform_loops): Provide opt-info for optimized nests. +- * tree-parloop.c (parallelize_loops): Provide opt-info for +- parallelized loops. +- +-2017-02-01 Richard Biener +- +- PR middle-end/79315 +- * tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it +- was not set before. +- +-2017-02-01 Richard Biener +- +- PR tree-optimization/71824 +- * graphite-scop-detection.c (scop_detection::build_scop_breadth): +- Verify the loops are valid in the merged SESE region. +- (scop_detection::can_represent_loop_1): Check analyzing the +- evolution of the number of iterations in the region succeeds. +- +-2017-01-31 Ian Lance Taylor +- +- * config/i386/i386.c (ix86_expand_split_stack_prologue): Add +- REG_ARGS_SIZE note to 32-bit push insns and call insn. +- +-2017-01-31 David Malcolm +- +- PR preprocessor/79210 +- * input.c (get_substring_ranges_for_loc): Replace line_width +- assertion with error-handling. +- +-2017-01-31 Richard Biener +- +- PR tree-optimization/77318 +- * graphite-sese-to-poly.c (extract_affine): Fix assert. +- (create_pw_aff_from_tree): Take loop parameter. +- (add_condition_to_pbb): Pass loop of the condition to +- create_pw_aff_from_tree. +- +-2017-01-31 Jakub Jelinek +- +- * config/s390/s390.c (s390_asan_shadow_offset): New function. +- (TARGET_ASAN_SHADOW_OFFSET): Redefine. +- +-2017-01-31 Michael Meissner +- +- PR target/78597 +- PR target/79038 +- * config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete, +- no longer used. +- (convert_int_to_float128): Likewise. +- * config/rs6000/rs6000.c (convert_float128_to_int): Likewise. +- (convert_int_to_float128): Likewise. +- * config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise. +- (UNSPEC_IEEE128_CONVERT): Likewise. +- (floatsi2, FLOAT128 iterator): Bypass calling +- rs6000_expand_float128_convert if we have IEEE 128-bit hardware. +- Use local variables for IBM extended format. +- (fix_truncsi2, FLOAT128 iterator): Likewise. +- (fix_truncsi2_fprs): Likewise. +- (fixuns_trunc2): Likewise. +- (floatuns2, IEEE128 iterator): Likewise. +- (fix_si2_hw): Rework the IEEE 128-bt hardware support +- to know that we can now have integers of all sizes in vector +- registers. +- (fix_di2_hw): Likewise. +- (float_si2_hw): Likewise. +- (fix_si2_hw): Likewise. +- (fixuns_si2_hw): Likewise. +- (float_di2_hw): Likewise. +- (float_di2_hw): Likewise. +- (float_si2_hw): Likewise. +- (floatuns_di2_hw): Likewise. +- (floatuns_si2_hw): Likewise. +- (xscvqpwz_): Delete, no longer used. +- (xscvqpdz_): Likewise. +- (xscvdqp_): Likewise. +- (ieee128_mfvsrd_64bit): Likewise. +- (ieee128_mfvsrd_32bit): Likewise. +- (ieee128_mfvsrwz): Likewise. +- (ieee128_mtvsrw): Likewise. +- (ieee128_mtvsrd_64bit): Likewise. +- (ieee128_mtvsrd_32bit): Likewise. +- +-2017-01-31 Martin Liska +- +- PR ipa/79285 +- * ipa-prop.c (ipa_free_all_node_params): Call release method +- instead of ~sumbol_summary to not to trigger double times +- dtor of hash_map. +- +-2017-01-31 Aldy Hernandez +- +- PR tree-optimization/71691 +- * bitmap.h (class auto_bitmap): New. +- * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call +- is_maybe_undefined instead of ssa_undefined_value_p. +- +-2017-01-31 Andreas Krebbel +- +- * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename +- __S390_ARCH_LEVEL__ to __ARCH__. +- +-2017-01-31 Jakub Jelinek +- +- PR tree-optimization/79267 +- * value-prof.c (gimple_ic): Only drop lhs for noreturn calls +- if should_remove_lhs_p is true. +- +-2017-01-30 Alexandre Oliva +- +- PR debug/63238 +- * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment. +- (add_alignment_attribute): New. +- (base_type_die): Add alignment attribute. +- (subrange_type_die): Likewise. +- (modified_type_die): Likewise. +- (gen_array_type_die): Likewise. +- (gen_descr_array_type_die: Likewise. +- (gen_enumeration_type_die): Likewise. +- (gen_subprogram_die): Likewise. +- (gen_variable_die): Likewise. +- (gen_field_die): Likewise. +- (gen_ptr_to_mbr_type_die): Likewise. +- (gen_struct_or_union_type_die): Likewise. +- (gen_subroutine_type_die): Likewise. +- (gen_typedef_die): Likewise. +- (base_type_cmp): Compare alignment attribute. +- +-2017-01-30 Aaron Sawdey +- +- PR target/79170 +- * config/rs6000/altivec.md (*setb_internal): Rename to setb_signed. +- (setb_unsigned) New pattern for setb with CCUNS. +- * config/rs6000/rs6000.c (expand_block_compare): Use a different +- subfc./subfe sequence to avoid overflow problems. Generate a +- shorter sequence with cmpld/setb for power9. +- * config/rs6000/rs6000.md (subf3_carry_dot2): Add a new pattern +- for generating subfc. instruction. +- (cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence +- now uses this instruction. +- +-2017-01-30 Ian Lance Taylor +- +- PR debug/79289 +- * dwarf2out.c (gen_type_die_with_usage): When picking a variant +- for FUNCTION_TYPE/METHOD_TYPE, use the first matching one. +- +-2017-01-30 Martin Sebor +- +- * gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision): +- Move constant to the right of a relational operator. +- (get_mpfr_format_length, format_character, format_string): Ditto. +- (should_warn_p, maybe_warn): Same. +- +- * doc/invoke.texi (-Wformat-truncation=3D1): Fix typo. ++ PR tree-opt/93321 ++ * tree-into-ssa.c (prepare_block_for_update_1): Split out ++ from ... ++ (prepare_block_for_update): This. Use a worklist instead of ++ recursing. +=20 +-2017-01-30 Maxim Ostapenko ++2020-01-21 Mihail-Calin Ionescu +=20 +- PR lto/79061 +- * asan.c (get_translation_unit_decl): Remove function. +- (asan_add_global): Force has_dynamic_init to zero in LTO mode. ++ * gcc/config/arm/arm.c (clear_operation_p): ++ Initialise last_regno, skip first iteration ++ based on the first_set value and use ints instead ++ of the unnecessary HOST_WIDE_INTs. +=20 +-2017-01-30 Martin Liska ++2020-01-21 Jakub Jelinek +=20 +- PR gcov-profile/79259 +- * opts.c (common_handle_option): Enable flag_ipa_bit_cp w/ +- -fprofile-generate. ++ PR target/93073 ++ * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for ++ compare_mode other than SFmode or DFmode. +=20 +-2017-01-30 Martin Liska ++2020-01-21 Kito Cheng +=20 +- PR bootstrap/78985 +- * config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze): +- Initialize variables with NULL value. ++ PR target/93304 ++ * config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New. ++ * config/riscv/riscv.c (riscv_hard_regno_rename_ok): New. ++ * config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined. ++ ++2020-01-20 Wilco Dijkstra ++ ++ * config/aarch64/aarch64.c (neoversen1_tunings): Set jump_align to 4. ++ ++2020-01-20 Andrew Pinski +=20 +-2017-01-30 Richard Earnshaw ++ PR middle-end/93242 ++ * targhooks.c (default_print_patchable_function_entry): Use ++ output_asm_insn to emit the nop instruction. +=20 +- PR target/79260 +- * config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to +- tm_p_file. +- * arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h. ++2020-01-20 Fangrui Song +=20 +-2017-01-30 Richard Biener ++ PR middle-end/93194 ++ * targhooks.c (default_print_patchable_function_entry): Align to ++ POINTER_SIZE. +=20 +- PR tree-optimization/79276 +- * tree-vrp.c (process_assert_insertions): Properly adjust common +- when removing a duplicate. ++2020-01-20 H.J. Lu +=20 +-2017-01-30 Richard Biener ++ PR target/93319 ++ * config/i386/i386.c (legitimize_tls_address): Pass Pmode to ++ gen_tls_dynamic_gnu2_64. Compute GNU2 TLS address in ptr_mode. ++ * config/i386/i386.md (tls_dynamic_gnu2_64): Renamed to ... ++ (@tls_dynamic_gnu2_64_): This. Replace DI with P. ++ (*tls_dynamic_gnu2_lea_64): Renamed to ... ++ (*tls_dynamic_gnu2_lea_64_): This. Replace DI with P. ++ Remove the {q} suffix from lea. ++ (*tls_dynamic_gnu2_call_64): Renamed to ... ++ (*tls_dynamic_gnu2_call_64_): This. Replace DI with P. ++ (*tls_dynamic_gnu2_combine_64): Renamed to ... ++ (*tls_dynamic_gnu2_combine_64_): This. Replace DI with P. ++ Pass Pmode to gen_tls_dynamic_gnu2_64. +=20 +- PR tree-optimization/79256 +- * targhooks.c (default_builtin_vector_alignment_reachable): Honor +- BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus +- alignment on TYPE. +- * tree.c (build_aligned_type): Set TYPE_USER_ALIGN. ++2020-01-20 Wilco Dijkstra +=20 +-2017-01-30 Dominik Vogt ++ * config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1. ++ ++2020-01-20 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve-builtins-base.cc ++ (svld1ro_impl::memory_vector_mode): Remove parameter name. ++ ++2020-01-20 Richard Biener ++ ++ PR debug/92763 ++ * dwarf2out.c (prune_unused_types): Unconditionally mark ++ called function DIEs. +=20 +- PR target/79240 +- * config/s390/s390.md ("*rsbg__srl_bitmask") +- ("*rsbg__sll_bitmask") +- ("*extzv__srl") +- ("*extzv__sll"): +- Use contiguous_bitmask_nowrap_operand. ++2020-01-20 Martin Liska ++ ++ PR tree-optimization/93199 ++ * tree-eh.c (struct leh_state): Add ++ new field outer_non_cleanup. ++ (cleanup_is_dead_in): Pass leh_state instead ++ of eh_region. Add a checking that state->outer_non_cleanup ++ points to outer non-clean up region. ++ (lower_try_finally): Record outer_non_cleanup ++ for this_state. ++ (lower_catch): Likewise. ++ (lower_eh_filter): Likewise. ++ (lower_eh_must_not_throw): Likewise. ++ (lower_cleanup): Likewise. ++ ++2020-01-20 Richard Biener ++ ++ PR tree-optimization/93094 ++ * tree-vectorizer.h (vect_loop_versioning): Adjust. ++ (vect_transform_loop): Likewise. ++ * tree-vectorizer.c (try_vectorize_loop_1): Pass down ++ loop_vectorized_call to vect_transform_loop. ++ * tree-vect-loop.c (vect_transform_loop): Pass down ++ loop_vectorized_call to vect_loop_versioning. ++ * tree-vect-loop-manip.c (vect_loop_versioning): Use ++ the earlier discovered loop_vectorized_call. ++ ++2020-01-19 Eric S. Raymond ++ ++ * doc/contribute.texi: Update for SVN -> Git transition. ++ * doc/install.texi: Likewise. ++ ++2020-01-18 Jan Hubicka ++ ++ PR lto/93318 ++ * cgraph.c (cgraph_edge::make_speculative): Increase number of ++ speculative targets. ++ (verify_speculative_call): New function ++ (cgraph_node::verify_node): Use it. ++ * ipa-profile.c (ipa_profile): Fix formating; do not set number of ++ speculations. ++ ++2020-01-18 Jan Hubicka ++ ++ PR lto/93318 ++ * cgraph.c (cgraph_edge::resolve_speculation): Fix foramting. ++ (cgraph_edge::make_direct): Remove all indirect targets. ++ (cgraph_edge::redirect_call_stmt_to_callee): Use make_direct.. ++ (cgraph_node::verify_node): Verify that only one call_stmt or ++ lto_stmt_uid is set. ++ * cgraphclones.c (cgraph_edge::clone): Set only one call_stmt or ++ lto_stmt_uid. ++ * lto-cgraph.c (lto_output_edge): Simplify streaming of stmt. ++ (lto_output_ref): Simplify streaming of stmt. ++ * lto-streamer-in.c (fixup_call_stmt_edges_1): Clear lto_stmt_uid. ++ ++2020-01-18 Tamar Christina ++ ++ * config/aarch64/aarch64-sve-builtins-base.cc (memory_vector_mode): ++ Mark parameter unused. ++ ++2020-01-18 Hans-Peter Nilsson ++ ++ * config.gcc : Add crisv32-*-* and cris-*-linux* ++ ++2019-01-18 Gerald Pfeifer ++ ++ * varpool.c (ctor_useable_for_folding_p): Fix grammar. ++ ++2020-01-18 Iain Sandoe ++ ++ * Makefile.in: Add coroutine-passes.o. ++ * builtin-types.def (BT_CONST_SIZE): New. ++ (BT_FN_BOOL_PTR): New. ++ (BT_FN_PTR_PTR_CONST_SIZE_BOOL): New. ++ * builtins.def (DEF_COROUTINE_BUILTIN): New. ++ * coroutine-builtins.def: New file. ++ * coroutine-passes.cc: New file. ++ * function.h (struct GTY function): Add a bit to indicate that the ++ function is a coroutine component. ++ * internal-fn.c (expand_CO_FRAME): New. ++ (expand_CO_YIELD): New. ++ (expand_CO_SUSPN): New. ++ (expand_CO_ACTOR): New. ++ * internal-fn.def (CO_ACTOR): New. ++ (CO_YIELD): New. ++ (CO_SUSPN): New. ++ (CO_FRAME): New. ++ * passes.def: Add pass_coroutine_lower_builtins, ++ pass_coroutine_early_expand_ifns. ++ * tree-pass.h (make_pass_coroutine_lower_builtins): New. ++ (make_pass_coroutine_early_expand_ifns): New. ++ * doc/invoke.texi: Document the fcoroutines command line ++ switch. ++ ++2020-01-18 Jakub Jelinek ++ ++ * config/arm/vfp.md (*clear_vfp_multiple): Remove unused variable. ++ ++ PR target/93312 ++ * config/arm/arm.c (clear_operation_p): Don't use REGNO until ++ after checking the argument is a REG. Don't use REGNO (reg) ++ again to set last_regno, reuse regno variable instead. ++ ++2020-01-17 David Malcolm ++ ++ * doc/analyzer.texi (Limitations): Add note about NaN. ++ ++2020-01-17 Mihail-Calin Ionescu ++ Sudakshina Das ++ ++ * config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg ++ and valid immediate. ++ (ashrdi3): Generate thumb2_asrl for both reg and valid immediate. ++ (lshrdi3): Generate thumb2_lsrl for valid immediates. ++ * config/arm/constraints.md (Pg): New. ++ * config/arm/predicates.md (long_shift_imm): New. ++ (arm_reg_or_long_shift_imm): Likewise. ++ * config/arm/thumb2.md (thumb2_asrl): New immediate alternative. ++ (thumb2_lsll): Likewise. ++ (thumb2_lsrl): New. ++ ++2020-01-17 Mihail-Calin Ionescu ++ Sudakshina Das +=20 +-2017-01-29 Bill Schmidt ++ * config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE. ++ (ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE. ++ * config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd ++ register pairs for doubleword quantities for ARMv8.1M-Mainline. ++ * config/arm/thumb2.md (thumb2_asrl): New. ++ (thumb2_lsll): Likewise. ++ ++2020-01-17 Jakub Jelinek ++ ++ * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove ++ unused variable. ++ ++2020-01-17 Alexander Monakov ++ ++ * gdbinit.in (help-gcc-hooks): New command. ++ (pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc, ++ pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update ++ documentation. ++ ++2020-01-17 Matthew Malcomson ++ ++ * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro): Use the ++ correct target macro. +=20 +- PR target/79268 +- * config/rs6000/altivec.h (vec_xl): Revise #define. +- (vec_xst): Likewise. ++2020-01-17 Matthew Malcomson +=20 +-2017-01-27 Uros Bizjak ++ * config/aarch64/aarch64-protos.h ++ (aarch64_sve_ld1ro_operand_p): New. ++ * config/aarch64/aarch64-sve-builtins-base.cc ++ (class load_replicate): New. ++ (class svld1ro_impl): New. ++ (class svld1rq_impl): Change to inherit from load_replicate. ++ (svld1ro): New sve intrinsic function base. ++ * config/aarch64/aarch64-sve-builtins-base.def (svld1ro): ++ New DEF_SVE_FUNCTION. ++ * config/aarch64/aarch64-sve-builtins-base.h ++ (svld1ro): New decl. ++ * config/aarch64/aarch64-sve-builtins.cc ++ (function_expander::add_mem_operand): Modify assert to allow ++ OImode. ++ * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro): New ++ pattern. ++ * config/aarch64/aarch64.c ++ (aarch64_sve_ld1rq_operand_p): Implement in terms of ... ++ (aarch64_sve_ld1rq_ld1ro_operand_p): This. ++ (aarch64_sve_ld1ro_operand_p): New. ++ * config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec. ++ * config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New. ++ * config/aarch64/predicates.md ++ (aarch64_sve_ld1ro_operand_{b,h,w,d}): New. ++ ++2020-01-17 Matthew Malcomson ++ ++ * config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64): ++ Introduce this ACLE specified predefined macro. ++ * config/aarch64/aarch64-option-extensions.def (f64mm): New. ++ (fp): Disabling this disables f64mm. ++ (simd): Disabling this disables f64mm. ++ (fp16): Disabling this disables f64mm. ++ (sve): Disabling this disables f64mm. ++ * config/aarch64/aarch64.h (AARCH64_FL_F64MM): New. ++ (AARCH64_ISA_F64MM): New. ++ (TARGET_F64MM): New. ++ * doc/invoke.texi (f64mm): Document new option. ++ ++2020-01-17 Wilco Dijkstra ++ ++ * config/aarch64/aarch64.c (generic_tunings): Add branch fusion. ++ (neoversen1_tunings): Likewise. ++ ++2020-01-17 Wilco Dijkstra ++ ++ PR target/92692 ++ * config/aarch64/aarch64.c (aarch64_split_compare_and_swap) ++ Add assert to ensure prolog has been emitted. ++ (aarch64_split_atomic_op): Likewise. ++ * config/aarch64/atomics.md (aarch64_compare_and_swap) ++ Use epilogue_completed rather than reload_completed. ++ (aarch64_atomic_exchange): Likewise. ++ (aarch64_atomic_): Likewise. ++ (atomic_nand): Likewise. ++ (aarch64_atomic_fetch_): Likewise. ++ (atomic_fetch_nand): Likewise. ++ (aarch64_atomic__fetch): Likewise. ++ (atomic_nand_fetch): Likewise. ++ ++2020-01-17 Richard Sandiford ++ ++ PR target/93133 ++ * config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false ++ for FP modes. ++ (REVERSE_CONDITION): Delete. ++ * config/aarch64/iterators.md (CC_ONLY): New mode iterator. ++ (CCFP_CCFPE): Likewise. ++ (e): New mode attribute. ++ * config/aarch64/aarch64.md (ccmp): Rename to... ++ (@ccmp): ...this, using CC_ONLY instead of CC. ++ (fccmp, fccmpe): Merge into... ++ (@ccmp): ...this combined pattern. ++ (@ccmp_rev): New pattern. ++ (@ccmp_rev): Likewise. ++ * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update ++ name of generator from gen_ccmpdi to gen_ccmpccdi. ++ (aarch64_gen_ccmp_next): Use code_for_ccmp. If we want to reverse ++ the previous comparison but aren't able to, use the new ccmp_rev ++ patterns instead. ++ ++2020-01-17 Richard Sandiford ++ ++ * gimplify.c (gimplify_return_expr): Use poly_int_tree_p rather ++ than testing directly for INTEGER_CST. ++ (gimplify_target_expr, gimplify_omp_depend): Likewise. ++ ++2020-01-17 Jakub Jelinek ++ ++ PR tree-optimization/93292 ++ * tree-vect-stmts.c (vectorizable_comparison): Punt also if ++ get_vectype_for_scalar_type returns NULL. ++ ++2020-01-16 Jan Hubicka ++ ++ * params.opt (-param=3Dmax-predicted-iterations): Increase range from 0. ++ * predict.c (estimate_loops): Add 1 to param_max_predicted_iterations. ++ ++2020-01-16 Jan Hubicka ++ ++ * ipa-fnsummary.c (estimate_calls_size_and_time): Fix formating of ++ dump. ++ * params.opt: (max-predicted-iterations): Set bounds. ++ * predict.c (real_almost_one, real_br_prob_base, ++ real_inv_br_prob_base, real_one_half, real_bb_freq_max): Remove. ++ (propagate_freq): Add max_cyclic_prob parameter; cap cyclic ++ probabilities; do not truncate to reg_br_prob_bases. ++ (estimate_loops_at_level): Pass max_cyclic_prob. ++ (estimate_loops): Compute max_cyclic_prob. ++ (estimate_bb_frequencies): Do not initialize real_*; update calculation ++ of back edge prob. ++ * profile-count.c (profile_probability::to_sreal): New. ++ * profile-count.h (class sreal): Move up in file. ++ (profile_probability::to_sreal): Declare. ++ ++2020-01-16 Stam Markianos-Wright ++ ++ * config/arm/arm.c ++ (arm_invalid_conversion): New function for target hook. ++ (arm_invalid_unary_op): New function for target hook. ++ (arm_invalid_binary_op): New function for target hook. ++ ++2020-01-16 Stam Markianos-Wright ++ ++ * config.gcc: Add arm_bf16.h. ++ * config/arm/arm-builtins.c (arm_mangle_builtin_type): Fix comment. ++ (arm_simd_builtin_std_type): Add BFmode. ++ (arm_init_simd_builtin_types): Define element types for vector types. ++ (arm_init_bf16_types): New function. ++ (arm_init_builtins): Add arm_init_bf16_types function call. ++ * config/arm/arm-modes.def: Add BFmode and V4BF, V8BF vector modes. ++ * config/arm/arm-simd-builtin-types.def: Add V4BF, V8BF. ++ * config/arm/arm.c (aapcs_vfp_sub_candidate): Add BFmode. ++ (arm_hard_regno_mode_ok): Add BFmode and tidy up statements. ++ (arm_vector_mode_supported_p): Add V4BF, V8BF. ++ (arm_mangle_type): Add __bf16. ++ * config/arm/arm.h: Add V4BF, V8BF to VALID_NEON_DREG_MODE,=20 ++ VALID_NEON_QREG_MODE respectively. Add export arm_bf16_type_node, ++ arm_bf16_ptr_type_node. ++ * config/arm/arm.md: Add BFmode to movhf expand, mov pattern and ++ define_split between ARM registers. ++ * config/arm/arm_bf16.h: New file. ++ * config/arm/arm_neon.h: Add arm_bf16.h and Bfloat vector types. ++ * config/arm/iterators.md: (ANY64_BF, VDXMOV, VHFBF, HFBF, fporbf): New. ++ (VQXMOV): Add V8BF. ++ * config/arm/neon.md: Add BF vector types to movhf NEON move patterns. ++ * config/arm/vfp.md: Add BFmode to movhf patterns. ++ ++2020-01-16 Mihail Ionescu ++ Andre Vieira ++ ++ * config/arm/arm-cpus.in (mve, mve_float): New features. ++ (dsp, mve, mve.fp): New options. ++ * config/arm/arm.h (TARGET_HAVE_MVE, TARGET_HAVE_MVE_FLOAT): Define. ++ * config/arm/t-rmprofile: Map v8.1-M multilibs to v8-M. ++ * doc/invoke.texi: Document the armv8.1-m mve and dps options. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm-cpus.in (ARMv8_1m_main): Redefine as an extension to ++ Armv8-M Mainline. ++ * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove ++ error for using -mcmse when targeting Armv8.1-M Mainline. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm.md (nonsecure_call_internal): Do not force memory ++ address in r4 when targeting Armv8.1-M Mainline. ++ (nonsecure_call_value_internal): Likewise. ++ * config/arm/thumb2.md (nonsecure_call_reg_thumb2): Make memory address ++ a register match_operand again. Emit BLXNS when targeting ++ Armv8.1-M Mainline. ++ (nonsecure_call_value_reg_thumb2): Likewise. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): Declare early. ++ (cmse_nonsecure_call_inline_register_clear): Define new lazy_fpclear ++ variable as true when floating-point ABI is not hard. Replace ++ check against TARGET_HARD_FLOAT_ABI by checks against lazy_fpclear. ++ Generate VLSTM and VLLDM instruction respectively before and ++ after a function call to cmse_nonsecure_call function. ++ * config/arm/unspecs.md (VUNSPEC_VLSTM): Define unspec. ++ (VUNSPEC_VLLDM): Likewise. ++ * config/arm/vfp.md (lazy_store_multiple_insn): New define_insn. ++ (lazy_load_multiple_insn): Likewise. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm.c (vfp_emit_fstmd): Declare early. ++ (arm_emit_vfp_multi_reg_pop): Likewise. ++ (cmse_nonsecure_call_inline_register_clear): Abstract number of VFP ++ registers to clear in max_fp_regno. Emit VPUSH and VPOP to save and ++ restore callee-saved VFP registers. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm.c (arm_emit_multi_reg_pop): Declare early. ++ (cmse_nonsecure_call_clear_caller_saved): Rename into ... ++ (cmse_nonsecure_call_inline_register_clear): This. Save and clear ++ callee-saved GPRs as well as clear ip register before doing a nonsecure ++ call then restore callee-saved GPRs after it when targeting ++ Armv8.1-M Mainline. ++ (arm_reorg): Adapt to function rename. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm-protos.h (clear_operation_p): Adapt prototype. ++ * config/arm/arm.c (clear_operation_p): Extend to be able to check a ++ clear_vfp_multiple pattern based on a new vfp parameter. ++ (cmse_clear_registers): Generate VSCCLRM to clear VFP registers when ++ targeting Armv8.1-M Mainline. ++ (cmse_nonsecure_entry_clear_before_return): Clear VFP registers ++ unconditionally when targeting Armv8.1-M Mainline architecture. Check ++ whether VFP registers are available before looking call_used_regs for a ++ VFP register. ++ * config/arm/predicates.md (clear_multiple_operation): Adapt to change ++ of prototype of clear_operation_p. ++ (clear_vfp_multiple_operation): New predicate. ++ * config/arm/unspecs.md (VUNSPEC_VSCCLRM_VPR): New volatile unspec. ++ * config/arm/vfp.md (clear_vfp_multiple): New define_insn. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm-protos.h (clear_operation_p): Declare. ++ * config/arm/arm.c (clear_operation_p): New function. ++ (cmse_clear_registers): Generate clear_multiple instruction pattern if ++ targeting Armv8.1-M Mainline or successor. ++ (output_return_instruction): Only output APSR register clearing if ++ Armv8.1-M Mainline instructions not available. ++ (thumb_exit): Likewise. ++ * config/arm/predicates.md (clear_multiple_operation): New predicate. ++ * config/arm/thumb2.md (clear_apsr): New define_insn. ++ (clear_multiple): Likewise. ++ * config/arm/unspecs.md (VUNSPEC_CLRM_APSR): New volatile unspec. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm.c (fp_sysreg_names): Declare and define. ++ (use_return_insn): Also return false for Armv8.1-M Mainline. ++ (output_return_instruction): Skip FPSCR clearing if Armv8.1-M ++ Mainline instructions are available. ++ (arm_compute_frame_layout): Allocate space in frame for FPCXTNS ++ when targeting Armv8.1-M Mainline Security Extensions. ++ (arm_expand_prologue): Save FPCXTNS if this is an Armv8.1-M ++ Mainline entry function. ++ (cmse_nonsecure_entry_clear_before_return): Clear IP and r4 if ++ targeting Armv8.1-M Mainline or successor. ++ (arm_expand_epilogue): Fix indentation of caller-saved register ++ clearing. Restore FPCXTNS if this is an Armv8.1-M Mainline ++ entry function. ++ * config/arm/arm.h (TARGET_HAVE_FP_CMSE): New macro. ++ (FP_SYSREGS): Likewise. ++ (enum vfp_sysregs_encoding): Define enum. ++ (fp_sysreg_names): Declare. ++ * config/arm/unspecs.md (VUNSPEC_VSTR_VLDR): New volatile unspec. ++ * config/arm/vfp.md (push_fpsysreg_insn): New define_insn. ++ (pop_fpsysreg_insn): Likewise. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/arm-cpus.in (armv8_1m_main): New feature. ++ (ARMv4, ARMv4t, ARMv5t, ARMv5te, ARMv5tej, ARMv6, ARMv6j, ARMv6k, ++ ARMv6z, ARMv6kz, ARMv6zk, ARMv6t2, ARMv6m, ARMv7, ARMv7a, ARMv7ve, ++ ARMv7r, ARMv7m, ARMv7em, ARMv8a, ARMv8_1a, ARMv8_2a, ARMv8_3a, ++ ARMv8_4a, ARMv8_5a, ARMv8m_base, ARMv8m_main, ARMv8r): Reindent. ++ (ARMv8_1m_main): New feature group. ++ (armv8.1-m.main): New architecture. ++ * config/arm/arm-tables.opt: Regenerate. ++ * config/arm/arm.c (arm_arch8_1m_main): Define and default initialize. ++ (arm_option_reconfigure_globals): Initialize arm_arch8_1m_main. ++ (arm_options_perform_arch_sanity_checks): Error out when targeting ++ Armv8.1-M Mainline Security Extensions. ++ * config/arm/arm.h (arm_arch8_1m_main): Declare. ++ ++2020-01-16 Stam Markianos-Wright ++ ++ * config/aarch64/aarch64-simd-builtins.def (aarch64_bfdot, ++ aarch64_bfdot_lane, aarch64_bfdot_laneq): New. ++ * config/aarch64/aarch64-simd.md (aarch64_bfdot, aarch64_bfdot_lane, ++ aarch64_bfdot_laneq): New. ++ * config/aarch64/arm_bf16.h (vbfdot_f32, vbfdotq_f32, ++ vbfdot_lane_f32, vbfdotq_lane_f32, vbfdot_laneq_f32, ++ vbfdotq_laneq_f32): New. ++ * config/aarch64/iterators.md (UNSPEC_BFDOT, Vbfdottype, ++ VBFMLA_W, VBF): New. ++ (isquadop): Add V4BF, V8BF. ++ ++2020-01-16 Stam Markianos-Wright ++ ++ * config/aarch64/aarch64-builtins.c: (enum aarch64_type_qualifiers): ++ New qualifier_lane_quadtup_index, TYPES_TERNOP_SSUS, ++ TYPES_QUADOPSSUS_LANE_QUADTUP, TYPES_QUADOPSSSU_LANE_QUADTUP. ++ (aarch64_simd_expand_args): Add case SIMD_ARG_LANE_QUADTUP_INDEX. ++ (aarch64_simd_expand_builtin): Add qualifier_lane_quadtup_index. ++ * config/aarch64/aarch64-simd-builtins.def (usdot, usdot_lane, ++ usdot_laneq, sudot_lane,sudot_laneq): New. ++ * config/aarch64/aarch64-simd.md (aarch64_usdot): New. ++ (aarch64_dot_lane): New. ++ * config/aarch64/arm_neon.h (vusdot_s32): New. ++ (vusdotq_s32): New. ++ (vusdot_lane_s32): New. ++ (vsudot_lane_s32): New. ++ * config/aarch64/iterators.md (DOTPROD_I8MM): New iterator. ++ (UNSPEC_USDOT, UNSPEC_SUDOT): New unspecs. +=20 +- * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum. ++2020-01-16 Martin Liska +=20 +-2017-01-27 Bernd Schmidt ++ * value-prof.c (dump_histogram_value): Fix ++ obvious spacing issue. +=20 +- PR rtl-optimization/79194 +- * cprop.c (one_cprop_pass): Move deletion of code after unconditional +- traps before call to bypass_conditional_jumps. ++2020-01-16 Andrew Pinski ++ ++ * tree-ssa-sccvn.c(vn_reference_lookup_3): Check lhs for ++ !storage_order_barrier_p. ++ ++2020-01-16 Andrew Pinski ++ ++ * sched-int.h (_dep): Add unused bit-field field for the padding. ++ * sched-deps.c (init_dep_1): Init unused field. ++ ++2020-01-16 Andrew Pinski +=20 +-2017-01-27 Vladimir Makarov ++ * optabs.h (create_expand_operand): Initialize target field also. +=20 +- PR tree-optimization/71374 +- * lra-constraints.c (check_conflict_input_operands): New. +- (match_reload): Use it. ++2020-01-16 Andre Vieira +=20 +-2017-01-27 Vladimir Makarov ++ PR tree-optimization/92429 ++ * tree-ssa-loop-niter.h (simplify_replace_tree): Add parameter. ++ * tree-ssa-loop-niter.c (simplify_replace_tree): Add parameter to ++ control folding. ++ * tree-vect-loop.c (update_epilogue_vinfo): Do not fold when replacing ++ tree. +=20 +- PR target/79131 +- * lra-assigns.c (find_hard_regno_for_1): Take endianess for into +- account to calculate conflict_set. ++2020-01-16 Richard Sandiford +=20 +-2017-01-27 Bin Cheng ++ * config/aarch64/aarch64.c (aarch64_split_sve_subreg_move): Apply ++ aarch64_sve_int_mode to each mode. +=20 +- PR rtl-optimization/78559 +- * combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for +- other_insn in combine. ++2020-01-15 David Malcolm +=20 +-2017-01-27 Pekka J=C3=A4=C3=A4skel=C3=A4inen ++ * doc/analyzer.texi (Overview): Add note about ++ -fdump-ipa-analyzer. +=20 +- * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use +- uint16_type_node for BT_UINT16. ++2020-01-15 Wilco Dijkstra +=20 +-2017-01-27 David Malcolm ++ PR tree-optimization/93231 ++ * tree-ssa-forwprop.c (optimize_count_trailing_zeroes): Check ++ input_type is unsigned. Use tree_to_shwi for shift constant. ++ Check CST_STRING element size is CHAR_TYPE_SIZE bits. ++ (simplify_count_trailing_zeroes): Add test to handle known non-zero ++ inputs more efficiently. +=20 +- * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and +- "RTL Tests" to menu. +- (GIMPLE Tests): New node. +- (RTL Tests): New node. ++2020-01-15 Uro=C5=A1 Bizjak +=20 +-2017-01-27 Richard Biener ++ * config/i386/i386.md (*movsf_internal): Do not require ++ SSE2 ISA for alternatives 14 and 15. +=20 +- PR tree-optimization/79245 +- * tree-loop-distribution.c (distribute_loop): Apply cost +- modeling also to detected patterns. ++2020-01-15 Richard Biener +=20 +-2017-01-27 Richard Biener ++ PR middle-end/93273 ++ * tree-eh.c (sink_clobbers): If we already visited the destination ++ block do not defer insertion. ++ (pass_lower_eh_dispatch::execute): Maintain BB_VISITED for ++ the purpose of defered insertion. +=20 +- PR tree-optimization/71433 +- * tree-vrp.c (register_new_assert_for): Revert earlier changes. +- (compare_assert_loc): New function. +- (process_assert_insertions): Sort and optimize assert locations +- to remove duplicates and push down identical assertions on +- edges to their destination block. ++2020-01-15 Jakub Jelinek +=20 +-2017-01-27 Richard Biener ++ * BASE-VER: Bump to 10.0.1. +=20 +- PR tree-optimization/79244 +- * tree-vrp.c (remove_range_assertions): Forcefully propagate +- out SSA names even if abnormal. ++2020-01-15 Richard Sandiford +=20 +-2017-01-27 Jakub Jelinek ++ PR tree-optimization/93247 ++ * tree-vect-loop.c (update_epilogue_loop_vinfo): Check the access ++ type of the stmt that we're going to vectorize. +=20 +- * realmpfr.h: Poison MPFR_RND{N,Z,U,D}. +- * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN +- instead of MPFR_RNDN. ++2020-01-15 Richard Sandiford +=20 +-2017-01-27 Richard Earnshaw ++ * tree-vect-slp.c (vectorize_slp_instance_root_stmt): Use a ++ VIEW_CONVERT_EXPR if the vectorized constructor has a diffeent ++ type from the lhs. +=20 +- PR target/79239 +- * arm.c (arm_option_override): Don't call build_target_option_node +- until after doing all option overrides. +- (arm_valid_target_attribute_tree): Likewise. ++2020-01-15 Martin Liska +=20 +-2017-01-27 Martin Liska ++ * ipa-profile.c (ipa_profile_read_edge_summary): Do not allow ++ 2 calls of streamer_read_hwi in a function call. +=20 +- * doc/invoke.texi (-fprofile-arcs): Document profiling support +- for {cd}tors and C++ {cd}tors. ++2020-01-15 Richard Biener +=20 +-2017-01-27 Dominik Vogt ++ * alias.c (record_alias_subset): Avoid redundant work when ++ subset is already recorded. +=20 +- * config/s390/s390.md ("*setmem_long_and") +- ("*setmem_long_and_31z"): Use zero_extend instead of and. ++2020-01-14 David Malcolm +=20 +-2017-01-26 Martin Sebor ++ * doc/invoke.texi (-fdiagnostics-show-cwe): Add note that some of ++ the analyzer options provide CWE identifiers. +=20 +- * gimple-ssa-sprintf.c (format_floating): Simplify the computation +- of precision. ++2020-01-14 David Malcolm +=20 +-2017-01-26 Martin Sebor ++ * tree-diagnostic-path.cc (path_summary::event_range::print): ++ When testing for UNKNOWN_LOCATION, look through ad-hoc wrappers ++ using get_pure_location. +=20 +- * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and +- HAVE_DFmode before using XFmode or DFmode. +- (parse_directive): Avoid using the z length modifier to avoid +- the ISO C++98 does not support the =E2=80=98z=E2=80=99 gnu_printf length= modifier. ++2020-01-15 Jakub Jelinek +=20 +- PR middle-end/78703 +- * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change +- to accept adjustment as an array. +- (get_int_range): New function. +- (struct directive): Make width and prec arrays. +- (directive::set_width, directive::set_precision): Call get_int_range. +- (format_integer, format_floating): Handle width and precision ranges. +- (format_string, parse_directive): Same. +- +-2017-01-26 Jakub Jelinek +- +- PR debug/79129 +- * dwarf2out.c (generate_skeleton_bottom_up): For children with +- comdat_type_p set, just clone them, but keep the children in the +- original DIE. ++ PR tree-optimization/93262 ++ * tree-ssa-dse.c (maybe_trim_memstar_call): For *_chk builtins, ++ perform head trimming only if the last argument is constant, ++ either all ones, or larger or equal to head trim, in the latter ++ case decrease the last argument by head_trim. +=20 +- PR debug/78835 +- * dwarf2out.c (prune_unused_types): Mark all functions with DIEs +- which have direct callers with -fvar-tracking-assignments enabled +- in the current TU. +- (resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin +- inside of type units. +- +-2017-01-26 Martin Sebor ++ PR tree-optimization/93249 ++ * tree-ssa-dse.c: Include builtins.h and gimple-fold.h. ++ (maybe_trim_memstar_call): Move head_trim and tail_trim vars to ++ function body scope, reindent. For BUILTIN_IN_STRNCPY*, don't ++ perform head trim unless we can prove there are no '\0' chars ++ from the source among the first head_trim chars. +=20 +- PR middle-end/78703 +- * gimple-ssa-sprintf.c (struct result_range): Add likely and +- unlikely counters. +- (struct format_result): Replace number_chars, number_chars_min, +- and number_chars_max with a single member of struct result_range. +- Remove bounded. +- (format_result::operator+=3D): Adjust. +- (struct fmtresult): Remove bounded. Handle likely and unlikely +- counters. +- (fmtresult::adjust_for_width_or_precision): New function. +- (fmtresult:type_max_digits): New function. +- (bytes_remaining): Handle likely and unlikely counters. +- (min_bytes_remaining): Remove. +- (format_percent): Simplify. +- (format_integer, format_floating): Set likely and unlikely counters. +- (get_string_length, format_character, format_string): Same. +- (format_plain, should_warn_p): New function. +- (maybe_warn): Call should_warn_p. Update diagnostic messages +- and handle those for all directives, including plain strings. +- (format_directive): Handle likely and unlikely counters. +- Remove unnecessary quoting from diagnostics. Add an informational +- note. +- (add_bytes): Remove. +- (pass_sprintf_length::compute_format_length): Simplify. +- (try_substitute_return_value): Handle likely and unlikely counters. +- +-2017-01-26 Carl Love +- +- * config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove +- bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins ++2020-01-14 David Malcolm +=20 +-2017-01-26 Vladimir Makarov ++ * Makefile.in (ANALYZER_OBJS): Add analyzer/function-set.o. +=20 +- PR target/79131 +- * lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take +- endianess for subregs into account. +- * lra-constraints.c (lra_constraints): Do risky transformations +- always on the first iteration. +- * lra-lives.c (check_pseudos_live_through_calls): Add arg +- last_call_used_reg_set. +- (process_bb_lives): Define and use last_call_used_reg_set. +- * lra.c (lra): Always continue after lra_constraints on the first +- iteration. +- +-2017-01-26 Kirill Yukhin +- +- * gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long +- constant. +- * gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto. +- +-2017-01-26 Jakub Jelinek +- +- * config/i386/avx512fintrin.h (_ktest_mask16_u8, +- _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ... +- * config/i386/avx512dqintrin.h (_ktest_mask16_u8, +- _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here. +- * config/i386/i386-builtin.def (__builtin_ia32_ktestchi, +- __builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use +- OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F. +- * config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator. +- (kadd, ktest): Use it instead of SWI1248_AVX512BWDQ. +- +-2017-01-26 Marek Polacek +- +- PR c/79199 +- * fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL +- for the third operand. +- +-2017-01-26 Jakub Jelinek +- +- PR middle-end/79236 +- * omp-low.c (struct omp_context): Add simt_stmt field. +- (scan_omp_for): Return omp_context *. +- (scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD +- context to the _simt_ SIMD stmt. +- (lower_omp_for): For combined SIMD with sibling _simt_ +- SIMD, make sure to use the same decls in _looptemp_ +- clauses as in the sibling. +- +-2017-01-26 David Sherwood +- +- PR middle-end/79212 +- * gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in +- all contexts. +- +-2017-01-26 Jakub Jelinek +- +- PR target/70465 +- * reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1); +- emit fld b; fld a; if possible. +- +- * brig-builtins.def: Update copyright years. +- * config/arm/arm_acle_builtins.def: Update copyright years. +- +-2017-01-25 Michael Meissner +- +- PR target/79179 +- * config/rs6000/vsx.md (vsx_extract__store): Use wY +- constraint instead of o for the stxsd instruction. +- +-2017-01-25 Carl Love +- +- * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order +- of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD. +- +-2017-01-25 Jonathan Wakely +- +- * doc/invoke.texi (C++ Dialect Options): Fix typo. +- +-2017-01-25 Richard Biener ++2020-01-15 Jakub Jelinek +=20 +- PR tree-optimization/69264 +- * target.def (vector_alignment_reachable): Improve documentation. +- * doc/tm.texi: Regenerate. +- * targhooks.c (default_builtin_vector_alignment_reachable): Simplify +- and add a comment. +- * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert +- earlier changes with respect to TYPE_USER_ALIGN. +- (vector_alignment_reachable_p): Likewise. Improve dumping. +- +-2016-01-25 Kyrylo Tkachov +- +- PR target/79145 +- * config/arm/arm.md (xordi3): Force constant operand into a register +- for TARGET_IWMMXT. +- +-2016-01-25 Kyrylo Tkachov +- +- * doc/invoke.texi (-fstore-merging): Correct default optimization +- levels at which it is enabled. +- (-O): Move -fstore-merging from list to... +- (-O2): ... Here. +- +-2017-01-25 Richard Biener +- +- PR debug/78363 +- * omp-expand.c: Include debug.h. +- (expand_omp_taskreg): Make sure to generate early debug before +- outlining anything from a function. +- (expand_omp_target): Likewise. +- (grid_expand_target_grid_body): Likewise. +- +-2017-01-25 Maxim Ostapenko +- +- PR lto/79061 +- * asan.c (get_translation_unit_decl): New function. +- (asan_add_global): Extract modules file name from globals +- TRANSLATION_UNIT_DECL name. +- +-2017-01-24 Eric Botcazou +- +- PR target/77439 +- * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction +- for long calls with APCS frame and VFP. +- +-2017-01-24 David Malcolm +- +- * cfg.c (original_copy_tables_initialized_p): New function. +- * cfg.h (original_copy_tables_initialized_p): New decl. +- * cfgrtl.c (relink_block_chain): Guard the call to +- free_original_copy_tables with a call to +- original_copy_tables_initialized_p. +- * cgraph.h (symtab_node::native_rtl_p): New decl. +- * cgraphunit.c (symtab_node::native_rtl_p): New function. +- (symtab_node::needed_p): Don't assert for early assembly output +- for __RTL functions. +- (cgraph_node::finalize_function): Set "force_output" for __RTL +- functions. +- (cgraph_node::analyze): Bail out early for __RTL functions. +- (analyze_functions): Update assertion to support __RTL functions. +- (cgraph_node::expand): Bail out early for __RTL functions. +- * final.c (rest_of_clean_state): Don't call delete_tree_ssa for +- __RTL functions. +- * function.h (struct function): Update comment for field +- "pass_startwith". +- * gimple-expr.c: Include "tree-pass.h". +- (gimple_has_body_p): Return false for __RTL functions. +- * Makefile.in (OBJS): Add run-rtl-passes.o. +- * pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New +- accessor. +- (gcc::pass_manager::get_clean_slate): New accessor. +- * passes.c: Include "insn-addr.h". +- (should_skip_pass_p): Add logging. Update logic for running +- "expand" to be compatible with both __GIMPLE and __RTL. Guard +- property-provider override so it is only done for gimple passes. +- Don't skip dfinit. +- (skip_pass): New function. +- (execute_one_pass): Call skip_pass when skipping passes. +- * read-md.c (md_reader::read_char): Support filtering +- the input to a subset of line numbers. +- (md_reader::md_reader): Initialize fields +- m_first_line and m_last_line. +- (md_reader::read_file_fragment): New function. +- * read-md.h (md_reader::read_file_fragment): New decl. +- (md_reader::m_first_line): New field. +- (md_reader::m_last_line): New field. +- * read-rtl-function.c (function_reader::create_function): Only +- create cfun if it doesn't already exist. Set PROP_rtl on cfun's +- curr_properties. Set DECL_INITIAL to a dummy block. +- (read_rtl_function_body_from_file_range): New function. +- * read-rtl-function.h (read_rtl_function_body_from_file_range): +- New decl. +- * run-rtl-passes.c: New file. +- * run-rtl-passes.h: New file. +- +-2017-01-24 Jeff Law +- +- * config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase +- buffer size. +- +-2017-01-24 Bin Cheng +- +- PR tree-optimization/79159 +- * tree-ssa-loop-niter.c (get_cst_init_from_scev): New function. +- (record_nonwrapping_iv): Improve boundary using above function if no +- value range information. +- +-2017-01-24 Pekka J=C3=A4=C3=A4skel=C3=A4inen +- Martin Jambor +- +- * brig-builtins.def: New file. +- * builtins.def (DEF_HSAIL_BUILTIN): New macro. +- (DEF_HSAIL_ATOMIC_BUILTIN): Likewise. +- (DEF_HSAIL_SAT_BUILTIN): Likewise. +- (DEF_HSAIL_INTR_BUILTIN): Likewise. +- (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise. +- * builtin-types.def (BT_INT8): New. +- (BT_INT16): Likewise. +- (BT_UINT8): Likewise. +- (BT_UINT16): Likewise. +- (BT_FN_ULONG): Likewise. +- (BT_FN_UINT_INT): Likewise. +- (BT_FN_UINT_ULONG): Likewise. +- (BT_FN_UINT_LONG): Likewise. +- (BT_FN_UINT_PTR): Likewise. +- (BT_FN_ULONG_PTR): Likewise. +- (BT_FN_INT8_FLOAT): Likewise. +- (BT_FN_INT16_FLOAT): Likewise. +- (BT_FN_UINT32_FLOAT): Likewise. +- (BT_FN_UINT16_FLOAT): Likewise. +- (BT_FN_UINT8_FLOAT): Likewise. +- (BT_FN_UINT64_FLOAT): Likewise. +- (BT_FN_UINT16_UINT32): Likewise. +- (BT_FN_UINT32_UINT16): Likewise. +- (BT_FN_UINT16_UINT16_UINT16): Likewise. +- (BT_FN_INT_PTR_INT): Likewise. +- (BT_FN_UINT_PTR_UINT): Likewise. +- (BT_FN_LONG_PTR_LONG): Likewise. +- (BT_FN_ULONG_PTR_ULONG): Likewise. +- (BT_FN_VOID_UINT64_UINT64): Likewise. +- (BT_FN_UINT8_UINT8_UINT8): Likewise. +- (BT_FN_INT8_INT8_INT8): Likewise. +- (BT_FN_INT16_INT16_INT16): Likewise. +- (BT_FN_INT_INT_INT): Likewise. +- (BT_FN_UINT_FLOAT_UINT): Likewise. +- (BT_FN_FLOAT_UINT_UINT): Likewise. +- (BT_FN_ULONG_UINT_UINT): Likewise. +- (BT_FN_ULONG_UINT_PTR): Likewise. +- (BT_FN_ULONG_ULONG_ULONG): Likewise. +- (BT_FN_UINT_UINT_UINT): Likewise. +- (BT_FN_VOID_UINT_PTR): Likewise. +- (BT_FN_UINT_UINT_PTR: Likewise. +- (BT_FN_UINT32_UINT64_PTR): Likewise. +- (BT_FN_INT_INT_UINT_UINT): Likewise. +- (BT_FN_UINT_UINT_UINT_UINT): Likewise. +- (BT_FN_UINT_UINT_UINT_PTR): Likewise. +- (BT_FN_UINT_ULONG_ULONG_UINT): Likewise. +- (BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise. +- (BT_FN_LONG_LONG_UINT_UINT): Likewise. +- (BT_FN_ULONG_ULONG_UINT_UINT): Likewise. +- (BT_FN_VOID_UINT32_UINT64_PTR): Likewise. +- (BT_FN_VOID_UINT32_UINT32_PTR): Likewise. +- (BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise. +- (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise. +- (BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise. +- * doc/frontends.texi: List BRIG FE. +- * doc/install.texi (Testing): Add BRIG tesring requirements. +- * doc/invoke.texi (Overall Options): Mention BRIG. +- * doc/standards.texi (Standards): Doucment BRIG HSA version. +- +-2017-01-24 Richard Biener +- +- PR translation/79208 +- * ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic. +- +-2017-01-24 Martin Jambor +- +- PR bootstrap/79198 +- * ipa-prop.c (ipa_free_all_node_params): Call summary destructor. +- * ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts +- and known_contexts. +- +-2017-01-24 Aldy Hernandez +- +- PR middle-end/79123 +- * gimple-ssa-warn-alloca.c (alloca_call_type): Make sure +- casts from signed to unsigned really don't have a range. +- +-2017-01-24 Markus Trippelsdorf +- +- * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to +- GMP_RNDx for compatiblity. +- +-2017-01-24 Martin Liska +- +- PR bootstrap/79132 +- * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert +- that would prevent us to call alloca with -1 as argument. +- +-2017-01-24 Jakub Jelinek +- +- * dwarf2out.c (output_compilation_unit_header, output_file_names): +- Avoid -Wformat-security warning. +- +-2017-01-23 Andrew Pinski +- +- * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve +- cost table. +- +-2017-01-23 Martin Sebor +- +- PR middle-end/78703 +- * gimple-ssa-sprintf.c (warn_level): New global. +- (format_integer): Use it here and throughout the rest of the file. +- Use the same switch to compute sign as base. +- (maybe_warn): New function. +- (format_directive): Factor out warnings into maybe_warn. +- Add debugging output. Use warn_level. +- (add_bytes): Use warn_level. +- (pass_sprintf_length::compute_format_length): Add debugging output. +- (try_substitute_return_value): Same. +- (pass_sprintf_length::handle_gimple_call): Set and use warn_level. +- +- PR middle-end/78703 +- * gimple-ssa-sprintf.c (struct format_result): Remove constant member. +- (struct fmtresult, format_integer, format_floating): Adjust. +- (fmtresult::fmtresult): Set max correctly in two argument ctor. +- (get_string_length, format_string,format_directive): Same. +- (pass_sprintf_length::compute_format_length): Same. +- (try_substitute_return_value): Simplify slightly. +- +- PR middle-end/78703 +- * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting. +- (fmtresult::operator+=3D): Outlined. +- (struct fmtresult): Add ctors. +- (struct conversion_spec): Rename... +- (struct directive): ...to this. Add and remove data members. +- (directive::set_width, directive::set_precision): New functions. +- (format_percent): Use fmtresult ctor. +- (get_width_and_precision): Remove. +- (format_integer): Make naming changes. Avoid computing width and +- precision. +- (format_floating): Same. Adjust indentation. +- (format_character, format_none): New functions. +- (format_string): Moved character handling to format_character. +- (format_directive): Remove arguments, change return type. +- (parse_directive): New function. +- (pass_sprintf_length::compute_format_length): Move directive +- parsing to parse_directive. +- +-2017-01-23 Jakub Jelinek +- +- * tree.h (assign_assembler_name_if_neeeded): Rename to ... +- (assign_assembler_name_if_needed): ... this. +- * tree.c (assign_assembler_name_if_neeeded): Rename to ... +- (assign_assembler_name_if_needed): ... this. +- (free_lang_data_in_cgraph): Adjust callers. +- * cgraphunit.c (cgraph_node::analyze): Likewise. +- * omp-expand.c (expand_omp_taskreg, expand_omp_target): ++ PR target/93009 ++ * config/i386/sse.md ++ (*fma_fmadd__bcst_1, ++ *fma_fmsub__bcst_1, ++ *fma_fnmadd__bcst_1, ++ *fma_fnmsub__bcst_1): Use ++ just a single alternative instead of two, make operands 1 and 2 ++ commutative. ++ ++2020-01-14 Jan Hubicka ++ ++ PR lto/91576 ++ * ipa-devirt.c (odr_types_equivalent_p): Compare TREE_ADDRESSABLE and ++ TYPE_MODE. ++ ++2020-01-14 David Malcolm ++ ++ * Makefile.in (lang_opt_files): Add analyzer.opt. ++ (ANALYZER_OBJS): New. ++ (OBJS): Add digraph.o, graphviz.o, ordered-hash-map-tests.o, ++ tristate.o and ANALYZER_OBJS. ++ (TEXI_GCCINT_FILES): Add analyzer.texi. ++ * common.opt (-fanalyzer): New driver option. ++ * config.in: Regenerate. ++ * configure: Regenerate. ++ * configure.ac (--disable-analyzer, ENABLE_ANALYZER): New option. ++ (gccdepdir): Also create depdir for "analyzer" subdir. ++ * digraph.cc: New file. ++ * digraph.h: New file. ++ * doc/analyzer.texi: New file. ++ * doc/gccint.texi ("Static Analyzer") New menu item. ++ (analyzer.texi): Include it. ++ * doc/invoke.texi ("Static Analyzer Options"): New list and new section. ++ ("Warning Options"): Add static analysis warnings to the list. ++ (-Wno-analyzer-double-fclose): New option. ++ (-Wno-analyzer-double-free): New option. ++ (-Wno-analyzer-exposure-through-output-file): New option. ++ (-Wno-analyzer-file-leak): New option. ++ (-Wno-analyzer-free-of-non-heap): New option. ++ (-Wno-analyzer-malloc-leak): New option. ++ (-Wno-analyzer-possible-null-argument): New option. ++ (-Wno-analyzer-possible-null-dereference): New option. ++ (-Wno-analyzer-null-argument): New option. ++ (-Wno-analyzer-null-dereference): New option. ++ (-Wno-analyzer-stale-setjmp-buffer): New option. ++ (-Wno-analyzer-tainted-array-index): New option. ++ (-Wno-analyzer-use-after-free): New option. ++ (-Wno-analyzer-use-of-pointer-in-stale-stack-frame): New option. ++ (-Wno-analyzer-use-of-uninitialized-value): New option. ++ (-Wanalyzer-too-complex): New option. ++ (-fanalyzer-call-summaries): New warning. ++ (-fanalyzer-checker=3D): New warning. ++ (-fanalyzer-fine-grained): New warning. ++ (-fno-analyzer-state-merge): New warning. ++ (-fno-analyzer-state-purge): New warning. ++ (-fanalyzer-transitivity): New warning. ++ (-fanalyzer-verbose-edges): New warning. ++ (-fanalyzer-verbose-state-changes): New warning. ++ (-fanalyzer-verbosity=3D): New warning. ++ (-fdump-analyzer): New warning. ++ (-fdump-analyzer-callgraph): New warning. ++ (-fdump-analyzer-exploded-graph): New warning. ++ (-fdump-analyzer-exploded-nodes): New warning. ++ (-fdump-analyzer-exploded-nodes-2): New warning. ++ (-fdump-analyzer-exploded-nodes-3): New warning. ++ (-fdump-analyzer-supergraph): New warning. ++ * doc/sourcebuild.texi (dg-require-dot): New. ++ (dg-check-dot): New. ++ * gdbinit.in (break-on-saved-diagnostic): New command. ++ * graphviz.cc: New file. ++ * graphviz.h: New file. ++ * ordered-hash-map-tests.cc: New file. ++ * ordered-hash-map.h: New file. ++ * passes.def (pass_analyzer): Add before ++ pass_ipa_whole_program_visibility. ++ * selftest-run-tests.c (selftest::run_tests): Call ++ selftest::ordered_hash_map_tests_cc_tests. ++ * selftest.h (selftest::ordered_hash_map_tests_cc_tests): New ++ decl. ++ * shortest-paths.h: New file. ++ * timevar.def (TV_ANALYZER): New timevar. ++ (TV_ANALYZER_SUPERGRAPH): Likewise. ++ (TV_ANALYZER_STATE_PURGE): Likewise. ++ (TV_ANALYZER_PLAN): Likewise. ++ (TV_ANALYZER_SCC): Likewise. ++ (TV_ANALYZER_WORKLIST): Likewise. ++ (TV_ANALYZER_DUMP): Likewise. ++ (TV_ANALYZER_DIAGNOSTICS): Likewise. ++ (TV_ANALYZER_SHORTEST_PATHS): Likewise. ++ * tree-pass.h (make_pass_analyzer): New decl. ++ * tristate.cc: New file. ++ * tristate.h: New file. ++ ++2020-01-14 Uro=C5=A1 Bizjak ++ ++ PR target/93254 ++ * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for ++ alternatives 9 and 10. ++ ++2020-01-14 David Malcolm ++ ++ * attribs.c (excl_hash_traits::empty_zero_p): New static constant. ++ * gcov.c (function_start_pair_hash::empty_zero_p): Likewise. ++ * graphite.c (struct sese_scev_hash::empty_zero_p): Likewise. ++ * hash-map-tests.c (selftest::test_nonzero_empty_key): New selftest. ++ (selftest::hash_map_tests_c_tests): Call it. ++ * hash-map-traits.h (simple_hashmap_traits::empty_zero_p): ++ New static constant, using the value of =3D H::empty_zero_p. ++ (unbounded_hashmap_traits::empty_zero_p): Likewise, using the value ++ from default_hash_traits . ++ * hash-map.h (hash_map::empty_zero_p): Likewise, using the value ++ from Traits. ++ * hash-set-tests.c (value_hash_traits::empty_zero_p): Likewise. ++ * hash-table.h (hash_table::alloc_entries): Guard the loop of ++ calls to mark_empty with !Descriptor::empty_zero_p. ++ (hash_table::empty_slow): Conditionalize the memset call with a ++ check that Descriptor::empty_zero_p; otherwise, loop through the ++ entries calling mark_empty on them. ++ * hash-traits.h (int_hash::empty_zero_p): New static constant. ++ (pointer_hash::empty_zero_p): Likewise. ++ (pair_hash::empty_zero_p): Likewise. ++ * ipa-devirt.c (default_hash_traits ::empty_zero_p): ++ Likewise. ++ * ipa-prop.c (ipa_bit_ggc_hash_traits::empty_zero_p): Likewise. ++ (ipa_vr_ggc_hash_traits::empty_zero_p): Likewise. ++ * profile.c (location_triplet_hash::empty_zero_p): Likewise. ++ * sanopt.c (sanopt_tree_triplet_hash::empty_zero_p): Likewise. ++ (sanopt_tree_couple_hash::empty_zero_p): Likewise. ++ * tree-hasher.h (int_tree_hasher::empty_zero_p): Likewise. ++ * tree-ssa-sccvn.c (vn_ssa_aux_hasher::empty_zero_p): Likewise. ++ * tree-vect-slp.c (bst_traits::empty_zero_p): Likewise. ++ * tree-vectorizer.h ++ (default_hash_traits::empty_zero_p): + Likewise. +=20 +-2017-01-23 Richard Biener +- +- PR tree-optimization/79088 +- PR tree-optimization/79188 +- * tree-ssa-threadupdate.c (mark_threaded_blocks): Move code +- resetting loop bounds after last path deletion. Reset loop +- bounds of the target loop, make code match the comments. +- * tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute): +- Make sure loops need no fixups. +- +-2017-01-23 Kelvin Nilsen +- +- * config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert +- exponent support with double type for first argument. +- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed +- type returned by __builtin_vec_extract_sig, +- __builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp +- functions from "vector int" to "vector unsigned int" or from +- "vector long long int" to "vector unsigned long long int". +- Changed type returned by __builtin_vec_extract_exp, +- __builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp +- functions from "vector int" to "vector unsigned int" or from +- "vector long long int" to "vector unsigned long long int". +- Changed return type of __builtin_vec_test_data_class, +- __builtin_vec_test_data_class_sp, and +- __builtin_vec_test_data_class_dp from "vector int" to +- "vector bool int" or from "vector long long int" to "vector bool +- long long int" and changed second argument type from "unsigned +- int" to "int". Added new overloaded function forms "vector float +- __builtin_vec_insert_exp (vector float, vector unsigned int)" and +- "vector float __builtin_vec_insert_exp_sp (vector float, vector +- unsigned int)" and "vector double __builtin_vec_insert_exp (vector +- double, vector unsigned long long int)" and "vector double +- __builtin_vec_insert_exp_dp (vector double, vector unsigned long +- long int)". Changed return type of +- __builtin_scalar_test_data_class and +- __builtin_scalar_test_data_class_sp and +- __builtin_scalar_test_data_class_dp from "unsigned int" to "bool +- int" and changed second argument from "unsigned int" to "int". +- Changed type returned by __builtin_scalar_test_neg, +- __builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp +- from "int" to "bool int". Added new overloaded function form +- "double __builtin_scalar_insert_exp (double, unsigned long long int)". +- * config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert +- exponent double-precision with floating point first argument. +- * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust +- documentation of scalar_test_data_class, scalar_test_neg, +- scalar_extract_sig, scalar_extract_exp, scalar_insert_exp, +- vector_extract_exp, vec_extract_sig, vec_insert_exp, and +- vec_test_data_class built-in functions to reflect refinements in +- their type signatures. +- +-2017-01-23 Andreas Tobler +- +- * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase +- size of buf. +- (aarch64_elf_asm_destructor): Likewise. +- +-2017-01-23 Bernd Schmidt +- +- PR rtl-optimization/78634 +- * config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function. +- (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define. +- * ifcvt.c (noce_try_cmove): Add missing cost check. +- +- PR rtl-optimization/71724 +- * combine.c (if_then_else_cond): Look for situations where it is +- beneficial to undo the work of one of the recursive calls. +- +-2017-01-23 Bin Cheng +- +- PR tree-optimization/70754 +- * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE. +- (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert +- combined stmt before it if not NULL. +- (combine_chains): Process refs reversely and compute dominance point +- for root ref. +- +-2017-01-23 Martin Liska +- +- PR tree-optimization/79196 +- * tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ... +- (fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp +- instead of memcmp. +- (strlen_optimize_stmt): Call the renamed function. +- +-2017-01-23 Michael Matz +- +- PR tree-optimization/78384 +- * tree-ssa-loop-split.c (patch_loop_exit): Use correct edge. +- +-2017-01-23 Richard Biener +- +- PR tree-optimization/79186 +- * tree-vrp.c (register_new_assert_for): Make sure we've seen +- both incoming edges before moving an assert. +- +-2017-01-23 Martin Jambor +- +- * ipa-prop.c (load_from_param_1): Removed. +- (load_from_unmodified_param): Bits from load_from_param_1 put back +- here. +- (load_from_param): Removed. +- (compute_complex_assign_jump_func): Removed stmt2 and just replaced it +- with stmt. Reverted back to use of load_from_unmodified_param. +- +-2017-01-23 Martin Jambor +- +- PR ipa/79108 +- * ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()). +- (ipa_node_params): Annotate with GTY((for_user)). Make descriptors +- field a pointer to garbage collected vector, mark lattices and +- ipcp_orig_node with GTY((skip)). +- (ipa_get_param_count): Adjust to descriptors being a pointer. +- (ipa_get_param): Likewise. +- (ipa_get_type): Likewise. +- (ipa_get_param_move_cost): Likewise. +- (ipa_set_param_used): Likewise. +- (ipa_get_controlled_uses): Likewise. +- (ipa_set_controlled_uses): Likewise. +- (ipa_is_param_used): Likewise. +- (ipa_node_params_t): Move into garbage collector. New methods insert +- and remove. +- (ipa_node_params_sum): Annotate wth GTY(()). +- (ipa_check_create_node_params): Adjust to ipa_node_params_sum being +- garbage collected. +- (ipa_load_from_parm_agg): Adjust declaration. +- * ipa-icf.c (param_used_p): Adjust to descriptors being a pointer. +- * ipa-profile.c (ipa_profile): Likewise. +- * ipa-prop.c (ipa_get_param_decl_index_1): Likewise. +- (ipa_populate_param_decls): Make descriptors parameter garbage +- collected. +- (ipa_dump_param): Adjust to descriptors being a pointer. +- (ipa_alloc_node_params): Likewise. +- (ipa_initialize_node_params): Likewise. +- (load_from_param_1): Make descriptors parameter garbage collected. +- (load_from_unmodified_param): Likewise. +- (load_from_param): Likewise. +- (ipa_load_from_parm_agg): Likewise. +- (ipa_node_params::~ipa_node_params): Removed. +- (ipa_free_all_node_params): Remove call to delete operator. +- (ipa_node_params_t::insert): New. +- (ipa_node_params_t::remove): Likewise. +- (ipa_node_params_t::duplicate): Adjust to descriptors being a pointer, +- copy known_csts and known_contexts vectors. +- (ipa_read_node_info): Adjust to descriptors being a pointer. +- (ipcp_modif_dom_walker): Make m_descriptors field garbage +- collected. +- (ipcp_transform_function): Make descriptors variable garbage +- collected. +- +-2017-01-23 Andrew Senkevich +- +- * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics. +- * config/i386/avx512dqintrin.h: Ditto. +- * config/i386/avx512fintrin.h: Ditto. +- * gcc/config/i386/i386.c: Handle new builtins. +- * config/i386/i386-builtin.def: Add new builtins. +- * config/i386/sse.md (ktest, kortest): New. +- (UNSPEC_KORTEST, UNSPEC_KTEST): New. +- +-2017-01-23 Jakub Jelinek +- Martin Liska +- +- * asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE. +- * asan.c (asan_expand_poison_ifn): Support stores and use +- appropriate ASAN report function. +- * internal-fn.c (expand_ASAN_POISON_USE): New function. +- * internal-fn.def (ASAN_POISON_USE): Declare. +- * tree-into-ssa.c (maybe_add_asan_poison_write): New function. +- (maybe_register_def): Create ASAN_POISON_USE when sanitizing. +- * tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove +- ASAN_POISON calls w/o LHS. +- * tree-ssa.c (execute_update_addresses_taken): Create clobber +- for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS +- from ASAN_MARK (POISON, &x, ...) coming to a PHI node. +- * gimplify.c (asan_poison_variables): Add attribute +- use_after_scope_memory to variables that really needs to live +- in memory. +- * tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when +- having the attribute. +- +-2017-01-23 Martin Liska +- +- * asan.c (create_asan_shadow_var): New function. +- (asan_expand_poison_ifn): Likewise. +- * asan.h (asan_expand_poison_ifn): New declaration. +- * internal-fn.c (expand_ASAN_POISON): Likewise. +- * internal-fn.def (ASAN_POISON): New builtin. +- * sanopt.c (pass_sanopt::execute): Expand +- asan_expand_poison_ifn. +- * tree-inline.c (copy_decl_for_dup_finish): Make function +- external. +- * tree-inline.h (copy_decl_for_dup_finish): Likewise. +- * tree-ssa.c (is_asan_mark_p): New function. +- (execute_update_addresses_taken): Rewrite local variables +- (identified just by use-after-scope as addressable) into SSA. +- +-2017-01-22 Gerald Pfeifer +- +- * doc/install.texi (Specific): opensource.apple.com uses https +- now. Remove trailing slash. +- +-2017-01-22 Gerald Pfeifer +- +- * README.Portability: Remove note on an Irix compatibility issue. +- +-2017-01-22 Dimitry Andric +- +- * gcov.c (INCLUDE_ALGORITHM): Define. +- (INCLUDE_VECTOR): Define. +- No longer include and directly. +- +-2017-01-21 Gerald Pfeifer +- +- * doc/extend.texi (Thread-Local): Change www.akkadia.org reference +- to https. +- * doc/invoke.texi (Code Gen Options): Ditto. +- +-2017-01-21 Jan Hubicka +- +- PR lto/78407 +- * cfg.c (update_bb_profile_for_threading): Fix updating of probablity. +- +-2017-01-21 Bernd Schmidt +- +- rtl-optimization/79125 +- * cprop.c (local_cprop_pass): Handle cases where we make an +- unconditional trap. +- +-2017-01-20 Segher Boessenkool +- +- PR target/61729 +- PR target/77850 +- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to +- read from, for big endian. +- +-2017-01-20 Jiong Wang +- +- * config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register +- register pauth builtins for LP64 only. +- +-2017-01-20 Marek Polacek +- +- PR c/79152 +- * gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive +- non-case labels. +- +-2017-01-20 Alexander Monakov +- +- * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless +- of safelen status. +- * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev. +- * passes.c (dump_properties): Handle PROP_gimple_lomp_dev. +- * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev. +- +-2017-01-20 Kyrylo Tkachov +- +- PR target/71270 +- * config/arm/arm.c (neon_valid_immediate): Reject vector constants +- in big-endian mode when they are not a single duplicated value. +- +-2017-01-20 Richard Biener +- +- * BASE-VER: Bump to 7.0.1. +- +-2017-01-20 Alexander Monakov +- +- * omp-low.c (omplow_simd_context): New struct. Use it... +- (lower_rec_simd_input_clauses): ...here and... +- (lower_rec_input_clauses): ...here to hold common data. Adjust all +- references to idx, lane, max_vf, is_simt. +- +-2017-01-20 Graham Markall +- +- * config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when +- mcpu=3Dnps400. +- +-2017-01-20 Martin Jambor +- +- * hsa.h: Renaed to hsa-common.h. Adjusted a comment. +- * hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to +- gt-hsa-common.h. +- * Makefile.in (OBJS): Rename hsa.o to hsa-common.o. +- (GTFILES): Rename hsa.c to hsa-common.c. +- * hsa-brig.c: Change include of hsa.h to hsa-common.h. +- * hsa-dump.c: Likewise. +- * hsa-gen.c: Likewise. +- * hsa-regalloc.c: Likewise. +- * ipa-hsa.c: Likewise. +- * omp-expand.c: Likewise. +- * omp-low.c: Likewise. +- * toplev.c: Likewise. +- +-2017-01-20 Marek Polacek +- +- PR c/64279 +- * doc/invoke.texi: Document -Wduplicated-branches. +- * fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR, +- COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR, +- POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT, +- STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions +- return 0 only when not OEP_LEXICOGRAPHIC. +- (fold_build_cleanup_point_expr): Use the expression +- location when building CLEANUP_POINT_EXPR. +- * tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC. +- * tree.c (add_expr): Handle error_mark_node. +- +-2017-01-20 Martin Liska +- +- PR lto/69188 +- * tree-profile.c (init_ic_make_global_vars): Do not call +- finalize_decl. +- (gimple_init_gcov_profiler): Likewise. +- +-2017-01-20 Martin Liska +- +- PR ipa/71190 +- * cgraph.h (maybe_create_reference): Remove argument and +- update comment. +- * cgraphclones.c (cgraph_node::create_virtual_clone): Remove one +- argument. +- * ipa-cp.c (create_specialized_node): Likewise. +- * symtab.c (symtab_node::maybe_create_reference): Handle +- VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type. +- +-2017-01-20 Martin Liska +- +- * read-rtl-function.c (function_reader::create_function): Use +- build_decl instread of build_decl_stat. +- +-2017-01-20 Andrew Senkevich +- +- * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics. +- * config/i386/avx512dqintrin.h: Ditto. +- * config/i386/avx512fintrin.h: Ditto. +- * config/i386/i386-builtin-types.def: Add new types. +- * gcc/config/i386/i386.c: Handle new types. +- * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi) +- (__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi) +- (__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi) +- (__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi) +- (__builtin_ia32_kshiftridi): New. +- * config/i386/sse.md (k): Rename *k. +- +-2017-01-19 Segher Boessenkool +- +- PR target/78875 +- PR target/79140 +- * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally +- define to rs6000_init_stack_protect_guard. +- (rs6000_init_stack_protect_guard): New function. +- +-2017-01-19 Matthew Fortune +- Yunqiang Su +- +- * config.gcc (supported_defaults): Add madd4. +- (with_madd4): Add validation. +- (all_defaults): Add madd4. +- * config/mips/mips.opt (mmadd4): New option. +- * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for +- mmadd4. +- (TARGET_CPU_CPP_BUILTINS): Add builtin_define for +- __mips_no_madd4. +- (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4. +- (ISA_HAS_FUSED_MADD4): Likewise. +- * gcc/doc/invoke.texi (-mmadd4): Document the new option. +- * gcc/doc/install.texi (--with-madd4): Document the new option. +- +-2017-01-19 Jiong Wang +- +- * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New +- entries for AARCH64_PAUTH_BUILTIN_XPACLRI, +- AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716. +- (aarch64_init_pauth_hint_builtins): New. +- (aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins. +- (aarch64_expand_builtin): Expand new builtins. +- +-2017-01-19 Jiong Wang +- +- * reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note. +- * combine-stack-adj.c (no_unhandled_cfa): Handle +- REG_CFA_TOGGLE_RA_MANGLE. +- * dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE. +- * config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF +- info for return address signing. +- (aarch64_expand_epilogue): Likewise. +- +-2017-01-19 Jiong Wang +- +- * config/aarch64/aarch64-opts.h (aarch64_function_type): New enum. +- * config/aarch64/aarch64-protos.h +- (aarch64_return_address_signing_enabled): New declaration. +- * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled): +- New function. +- (aarch64_expand_prologue): Sign return address before it's pushed onto +- stack. +- (aarch64_expand_epilogue): Authenticate return address fetched from +- stack. +- (aarch64_override_options): Sanity check for ILP32 and ISA level. +- (aarch64_attributes): New function attributes for "sign-return-address". +- * config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP, +- UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs. +- ("*do_return"): Generate combined instructions according to key index. +- ("sp", " +- +- * doc/invoke.texi: Add missing -mlxc1-sxc1 options to +- overall option summary. +- +-2017-01-19 Jiong Wang +- +- * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a". +- * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3, +- AARCH64_ISA_V8_3, TARGET_ARMV8_3): New. +- * doc/invoke.texi (AArch64 Options): Document "armv8.3-a". +- +-2017-01-19 Michael Meissner ++2020-01-14 Kewen Lin ++ ++ * cfgloopanal.c (average_num_loop_insns): Free bbs when early return, ++ fix typo on return value. ++ ++2020-01-14 Xiong Hu Luo ++ ++ PR ipa/69678 ++ * cgraph.c (symbol_table::create_edge): Init speculative_id and ++ target_prob. ++ (cgraph_edge::make_speculative): Add param for setting speculative_id ++ and target_prob. ++ (cgraph_edge::speculative_call_info): Update comments and find reference ++ by speculative_id for multiple indirect targets. ++ (cgraph_edge::resolve_speculation): Decrease the speculations ++ for indirect edge, drop it's speculative if not direct target ++ left. Update comments. ++ (cgraph_edge::redirect_call_stmt_to_callee): Likewise. ++ (cgraph_node::dump): Print num_speculative_call_targets. ++ (cgraph_node::verify_node): Don't report error if speculative ++ edge not include statement. ++ (cgraph_edge::num_speculative_call_targets_p): New function. ++ * cgraph.h (int common_target_id): Remove. ++ (int common_target_probability): Remove. ++ (num_speculative_call_targets): New variable. ++ (make_speculative): Add param for setting speculative_id. ++ (cgraph_edge::num_speculative_call_targets_p): New declare. ++ (target_prob): New variable. ++ (speculative_id): New variable. ++ * ipa-fnsummary.c (analyze_function_body): Create and duplicate ++ call summaries for multiple speculative call targets. ++ * cgraphclones.c (cgraph_node::create_clone): Clone speculative_id. ++ * ipa-profile.c (struct speculative_call_target): New struct. ++ (class speculative_call_summary): New class. ++ (class speculative_call_summaries): New class. ++ (call_sums): New variable. ++ (ipa_profile_generate_summary): Generate indirect multiple targets summa= ries. ++ (ipa_profile_write_edge_summary): New function. ++ (ipa_profile_write_summary): Stream out indirect multiple targets summar= ies. ++ (ipa_profile_dump_all_summaries): New function. ++ (ipa_profile_read_edge_summary): New function. ++ (ipa_profile_read_summary_section): New function. ++ (ipa_profile_read_summary): Stream in indirect multiple targets summarie= s. ++ (ipa_profile): Generate num_speculative_call_targets from ++ profile summaries. ++ * ipa-ref.h (speculative_id): New variable. ++ * ipa-utils.c (ipa_merge_profiles): Update with target_prob. ++ * lto-cgraph.c (lto_output_edge): Remove indirect common_target_id and ++ common_target_probability. Stream out speculative_id and ++ num_speculative_call_targets. ++ (input_edge): Likewise. ++ * predict.c (dump_prediction): Remove edges count assert to be ++ precise. ++ * symtab.c (symtab_node::create_reference): Init speculative_id. ++ (symtab_node::clone_references): Clone speculative_id. ++ (symtab_node::clone_referring): Clone speculative_id. ++ (symtab_node::clone_reference): Clone speculative_id. ++ (symtab_node::clear_stmts_in_references): Clear speculative_id. ++ * tree-inline.c (copy_bb): Duplicate all the speculative edges ++ if indirect call contains multiple speculative targets. ++ * value-prof.h (check_ic_target): Remove. ++ * value-prof.c (gimple_value_profile_transformations): ++ Use void function gimple_ic_transform. ++ * value-prof.c (gimple_ic_transform): Handle topn case. ++ Fix comment typos. Change it to a void function. ++ ++2020-01-13 Andrew Pinski ++ ++ * config/aarch64/aarch64-cores.def (octeontx2): New define. ++ (octeontx2t98): New define. ++ (octeontx2t96): New define. ++ (octeontx2t93): New define. ++ (octeontx2f95): New define. ++ (octeontx2f95n): New define. ++ (octeontx2f95mm): New define. ++ * config/aarch64/aarch64-tune.md: Regenerate. ++ * doc/invoke.texi (-mcpu=3D): Document the new cpu types. ++ ++2020-01-13 Jason Merrill ++ ++ PR c++/33799 - destroy return value if local cleanup throws. ++ * gimplify.c (gimplify_return_expr): Handle COMPOUND_EXPR. ++ ++2020-01-13 Martin Liska ++ ++ * ipa-cp.c (get_max_overall_size): Use newly ++ renamed param param_ipa_cp_unit_growth. ++ * params.opt: Remove legacy param name. ++ ++2020-01-13 Martin Sebor ++ ++ PR tree-optimization/93213 ++ * tree-ssa-strlen.c (handle_store): Only allow single-byte nul-over-nul ++ stores to be eliminated. ++ ++2020-01-13 Martin Liska ++ ++ * opts.c (print_help): Do not print CL_PARAM ++ and CL_WARNING for CL_OPTIMIZATION. ++ ++2020-01-13 Jonathan Wakely ++ ++ PR driver/92757 ++ * doc/invoke.texi (Warning Options): Add caveat about some warnings ++ depending on optimization settings. ++ ++2020-01-13 Jakub Jelinek ++ ++ PR tree-optimization/90838 ++ * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use ++ SCALAR_INT_TYPE_MODE directly in CTZ_DEFINED_VALUE_AT_ZERO macro ++ argument rather than to initialize temporary for targets that ++ don't use the mode argument at all. Initialize ctzval to avoid ++ warning at -O0. ++ ++2020-01-10 Thomas Schwinge ++ ++ * tree.h (OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT): New definition. ++ * tree-core.h: Document it. ++ * gimplify.c (gimplify_omp_workshare): Set it. ++ * omp-low.c (lower_omp_target): Use it. ++ * tree-pretty-print.c (dump_omp_clause): Print it. ++ ++ * omp-low.c (lower_omp_target) : ++ Assert that for OpenACC we always have 'GOMP_MAP_USE_DEVICE_PTR'. ++ ++2020-01-10 David Malcolm ++ ++ * Makefile.in (OBJS): Add tree-diagnostic-path.o. ++ * common.opt (fdiagnostics-path-format=3D): New option. ++ (diagnostic_path_format): New enum. ++ (fdiagnostics-show-path-depths): New option. ++ * coretypes.h (diagnostic_event_id_t): New forward decl. ++ * diagnostic-color.c (color_dict): Add "path". ++ * diagnostic-event-id.h: New file. ++ * diagnostic-format-json.cc (json_from_expanded_location): Make ++ non-static. ++ (json_end_diagnostic): Call context->make_json_for_path if it ++ exists and the diagnostic has a path. ++ (diagnostic_output_format_init): Clear context->print_path. ++ * diagnostic-path.h: New file. ++ * diagnostic-show-locus.c (colorizer::set_range): Special-case ++ when printing a run of events in a diagnostic_path so that they ++ all get the same color. ++ (layout::m_diagnostic_path_p): New field. ++ (layout::layout): Initialize it. ++ (layout::print_any_labels): Don't colorize the label text for an ++ event in a diagnostic_path. ++ (gcc_rich_location::add_location_if_nearby): Add ++ "restrict_to_current_line_spans" and "label" params. Pass the ++ former to layout.maybe_add_location_range; pass the latter ++ when calling add_range. ++ * diagnostic.c: Include "diagnostic-path.h". ++ (diagnostic_initialize): Initialize context->path_format and ++ context->show_path_depths. ++ (diagnostic_show_any_path): New function. ++ (diagnostic_path::interprocedural_p): New function. ++ (diagnostic_report_diagnostic): Call diagnostic_show_any_path. ++ (simple_diagnostic_path::num_events): New function. ++ (simple_diagnostic_path::get_event): New function. ++ (simple_diagnostic_path::add_event): New function. ++ (simple_diagnostic_event::simple_diagnostic_event): New ctor. ++ (simple_diagnostic_event::~simple_diagnostic_event): New dtor. ++ (debug): New overload taking a diagnostic_path *. ++ * diagnostic.def (DK_DIAGNOSTIC_PATH): New. ++ * diagnostic.h (enum diagnostic_path_format): New enum. ++ (json::value): New forward decl. ++ (diagnostic_context::path_format): New field. ++ (diagnostic_context::show_path_depths): New field. ++ (diagnostic_context::print_path): New callback field. ++ (diagnostic_context::make_json_for_path): New callback field. ++ (diagnostic_show_any_path): New decl. ++ (json_from_expanded_location): New decl. ++ * doc/invoke.texi (-fdiagnostics-path-format=3D): New option. ++ (-fdiagnostics-show-path-depths): New option. ++ (-fdiagnostics-color): Add "path" to description of default ++ GCC_COLORS; describe it. ++ (-fdiagnostics-format=3Djson): Document how diagnostic paths are ++ represented in the JSON output format. ++ * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby): ++ Add optional params "restrict_to_current_line_spans" and "label". ++ * opts.c (common_handle_option): Handle ++ OPT_fdiagnostics_path_format_ and ++ OPT_fdiagnostics_show_path_depths. ++ * pretty-print.c: Include "diagnostic-event-id.h". ++ (pp_format): Implement "%@" format code for printing ++ diagnostic_event_id_t *. ++ (selftest::test_pp_format): Add tests for "%@". ++ * selftest-run-tests.c (selftest::run_tests): Call ++ selftest::tree_diagnostic_path_cc_tests. ++ * selftest.h (selftest::tree_diagnostic_path_cc_tests): New decl. ++ * toplev.c (general_init): Initialize global_dc->path_format and ++ global_dc->show_path_depths. ++ * tree-diagnostic-path.cc: New file. ++ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Make ++ non-static. Drop "diagnostic" param in favor of storing the ++ original value of "where" and re-using it. ++ (virt_loc_aware_diagnostic_finalizer): Update for dropped param of ++ maybe_unwind_expanded_macro_loc. ++ (tree_diagnostics_defaults): Initialize context->print_path and ++ context->make_json_for_path. ++ * tree-diagnostic.h (default_tree_diagnostic_path_printer): New ++ decl. ++ (default_tree_make_json_for_path): New decl. ++ (maybe_unwind_expanded_macro_loc): New decl. ++ ++2020-01-10 Jakub Jelinek ++ ++ PR tree-optimization/93210 ++ * fold-const.h (native_encode_initializer, ++ can_native_interpret_type_p): Declare. ++ * fold-const.c (native_encode_string): Fix up handling with off !=3D -1, ++ simplify. ++ (native_encode_initializer): New function, moved from dwarf2out.c. ++ Adjust to native_encode_expr compatible arguments, including dry-run ++ and partial extraction modes. Don't handle STRING_CST. ++ (can_native_interpret_type_p): No longer static. ++ * gimple-fold.c (fold_ctor_reference): For native_encode_expr, verify ++ offset / BITS_PER_UNIT fits into int and don't call it if ++ can_native_interpret_type_p fails. If suboff is NULL and for ++ CONSTRUCTOR fold_{,non}array_ctor_reference returns NULL, retry with ++ native_encode_initializer. ++ (fold_const_aggregate_ref_1): Formatting fix. ++ * dwarf2out.c (native_encode_initializer): Moved to fold-const.c. ++ (tree_add_const_value_attribute): Adjust caller. ++ ++ PR tree-optimization/90838 ++ * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use ++ SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of ++ CTZ_DEFINED_VALUE_AT_ZERO. ++ ++2020-01-10 Vladimir Makarov ++ ++ PR inline-asm/93027 ++ * lra-constraints.c (match_reload): Permit input operands have the ++ same mode as output while other input operands have a different ++ mode. ++ ++2020-01-10 Wilco Dijkstra ++ ++ PR tree-optimization/90838 ++ * tree-ssa-forwprop.c (check_ctz_array): Add new function. ++ (check_ctz_string): Likewise. ++ (optimize_count_trailing_zeroes): Likewise. ++ (simplify_count_trailing_zeroes): Likewise. ++ (pass_forwprop::execute): Try ctz simplification. ++ * match.pd: Add matching for ctz idioms. ++ ++2020-01-10 Stam Markianos-Wright ++ ++ * config/aarch64/aarch64.c (aarch64_invalid_conversion): New function ++ for target hook. ++ (aarch64_invalid_unary_op): New function for target hook. ++ (aarch64_invalid_binary_op): New function for target hook. ++ ++2020-01-10 Stam Markianos-Wright ++ ++ * config.gcc: Add arm_bf16.h. ++ * config/aarch64/aarch64-builtins.c ++ (aarch64_simd_builtin_std_type): Add BFmode. ++ (aarch64_init_simd_builtin_types): Define element types for vector ++ types. ++ (aarch64_init_bf16_types): New function. ++ (aarch64_general_init_builtins): Add arm_init_bf16_types function call. ++ * config/aarch64/aarch64-modes.def: Add BFmode and V4BF, V8BF vector ++ modes. ++ * config/aarch64/aarch64-simd-builtin-types.def: Add BF SIMD types. ++ * config/aarch64/aarch64-simd.md: Add BF vector types to NEON move ++ patterns. ++ * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): Add V4BF. ++ (AARCH64_VALID_SIMD_QREG_MODE): Add V8BF. ++ * config/aarch64/aarch64.c ++ (aarch64_classify_vector_mode): Add support for BF types. ++ (aarch64_gimplify_va_arg_expr): Add support for BF types. ++ (aarch64_vq_mode): Add support for BF types. ++ (aarch64_simd_container_mode): Add support for BF types. ++ (aarch64_mangle_type): Add support for BF scalar type. ++ * config/aarch64/aarch64.md: Add BFmode to movhf pattern. ++ * config/aarch64/arm_bf16.h: New file. ++ * config/aarch64/arm_neon.h: Add arm_bf16.h and Bfloat vector types. ++ * config/aarch64/iterators.md: Add BF types to mode attributes. ++ (HFBF, GPF_TF_F16_MOV, VDMOV, VQMOV, VQMOV_NO2Em VALL_F16MOV): New. +=20 +- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable +- -mpower9-minmax by default for -mcpu=3Dpower9. +- (ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE +- 128-bit floating point. ++2020-01-10 Jason Merrill +=20 +-2017-01-20 Alan Modra ++ PR c++/93173 - incorrect tree sharing. ++ * gimplify.c (copy_if_shared): No longer static. ++ * gimplify.h: Declare it. ++ ++2020-01-10 Richard Sandiford +=20 +- * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if +- optimizing for size. ++ * doc/invoke.texi (-msve-vector-bits=3D): Document that ++ -msve-vector-bits=3D128 now generates VL-specific code for ++ little-endian targets. ++ * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Use ++ build_vector_type_for_mode to construct the data vector types. ++ * config/aarch64/aarch64.c (aarch64_convert_sve_vector_bits): Generate ++ VL-specific code for -msve-vector-bits=3D128 on little-endian targets. ++ (aarch64_simd_container_mode): Always prefer Advanced SIMD modes ++ for 128-bit vectors. +=20 +-2017-01-20 Alan Modra ++2020-01-10 Richard Sandiford +=20 +- PR target/79144 +- * config/rs6000/rs6000.c (expand_strn_compare): Get the asm name +- for strcmp and strncmp from corresponding builtin decl. ++ * config/aarch64/aarch64.c (aarch64_evpc_sel): Fix gen_vcond_mask ++ invocation. +=20 +-2017-01-19 Uros Bizjak ++2020-01-10 Richard Sandiford +=20 +- * config.gcc (x86_64-*-rtems*): Use i386/rtemself.h +- instead of i386/rtems-64.h. +- * config/i386/rtems-64.h: Remove. ++ * config/aarch64/aarch64-builtins.c ++ (aarch64_builtin_vectorized_function): Check for specific vector modes, ++ rather than checking the number of elements and the element mode. ++ ++2020-01-10 Richard Sandiford ++ ++ * tree-vect-loop.c (vect_create_epilog_for_reduction): Use ++ get_related_vectype_for_scalar_type rather than build_vector_type ++ to create the index type for a conditional reduction. ++ ++2020-01-10 Richard Sandiford ++ ++ * tree-vect-loop.c (update_epilogue_loop_vinfo): Update DR_REF ++ for any type of gather or scatter, including strided accesses. ++ ++2020-01-10 Andre Vieira ++ ++ * tree-vectorizer.h (get_dr_vinfo_offset): Add missing function ++ comment. ++ ++2020-01-10 Andre Vieira ++ ++ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Use ++ get_dr_vinfo_offset ++ * tree-vect-loop.c (update_epilogue_loop_vinfo): Remove orig_drs_init ++ parameter and its use to reset DR_OFFSET's. ++ (vect_transform_loop): Remove orig_drs_init argument. ++ * tree-vect-loop-manip.c (vect_update_init_of_dr): Update the offset ++ member of dr_vec_info rather than the offset of the associated ++ data_reference's innermost_loop_behavior. ++ (vect_update_init_of_dr): Pass dr_vec_info instead of data_reference. ++ (vect_do_peeling): Remove orig_drs_init parameter and its construction. ++ * tree-vect-stmts.c (check_scan_store): Replace use of DR_OFFSET with ++ get_dr_vinfo_offset. ++ (vectorizable_store): Likewise. ++ (vectorizable_load): Likewise. ++ ++2020-01-10 Richard Biener ++ ++ * gimple-ssa-store-merging ++ (pass_store_merging::terminate_all_aliasing_chains): Cache alias info. ++ ++2020-01-10 Martin Liska ++ ++ PR ipa/93217 ++ * ipa-inline-analysis.c (offline_size): Make proper parenthesis ++ encapsulation that was there before r280040. ++ ++2020-01-10 Richard Biener ++ ++ PR middle-end/93199 ++ * tree-eh.c (sink_clobbers): Move clobbers to out-of-IL ++ sequences to avoid walking them again for secondary opportunities. ++ (pass_lower_eh_dispatch::execute): Instead actually insert ++ them here. ++ ++2020-01-10 Richard Biener ++ ++ PR middle-end/93199 ++ * tree-eh.c (redirect_eh_edge_1): Avoid some work if possible. ++ (cleanup_all_empty_eh): Walk landing pads in reverse order to ++ avoid quadraticness. ++ ++2020-01-10 Martin Jambor ++ ++ * params.opt (param_ipa_sra_max_replacements): Mark as Optimization. ++ * ipa-sra.c (pull_accesses_from_callee): New parameter caller, use it ++ to get param_ipa_sra_max_replacements. ++ (param_splitting_across_edge): Pass the caller to ++ pull_accesses_from_callee. ++ ++2020-01-10 Martin Jambor ++ ++ * params.opt (param_ipcp_unit_growth): Mark as Optimization. ++ * ipa-cp.c (max_new_size): Removed. ++ (orig_overall_size): New variable. ++ (get_max_overall_size): New function. ++ (estimate_local_effects): Use it. Adjust dump. ++ (decide_about_value): Likewise. ++ (ipcp_propagate_stage): Do not calculate max_new_size, just store ++ orig_overall_size. Adjust dump. ++ (ipa_cp_c_finalize): Clear orig_overall_size instead of max_new_size. ++ ++2020-01-10 Martin Jambor ++ ++ * params.opt (param_ipa_max_agg_items): Mark as Optimization ++ * ipa-cp.c (merge_agg_lats_step): New parameter max_agg_items, use ++ instead of param_ipa_max_agg_items. ++ (merge_aggregate_lattices): Extract param_ipa_max_agg_items from ++ optimization info for the callee. ++ ++2020-01-09 Kwok Cheung Yeung ++ ++ * lto-streamer-in.c (input_function): Remove streamed-in inline debug ++ markers if debug_inline_points is false. ++ ++2020-01-09 Richard Sandiford ++ ++ * config.gcc (aarch64*-*-*): Add aarch64-sve-builtins-sve2.o to ++ extra_objs. ++ * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on ++ aarch64-sve-builtins-base.def, aarch64-sve-builtins-sve2.def and ++ aarch64-sve-builtins-sve2.h. ++ (aarch64-sve-builtins-sve2.o): New rule. ++ * config/aarch64/aarch64.h (AARCH64_ISA_SVE2_AES): New macro. ++ (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3): Likewise. ++ (AARCH64_ISA_SVE2_SM4, TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Likewise. ++ (TARGET_SVE2_SHA, TARGET_SVE2_SM4): Likewise. ++ * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Handle ++ TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3 and ++ TARGET_SVE2_SM4. ++ * config/aarch64/aarch64-sve.md: Update comments with SVE2 ++ instructions that are handled here. ++ (@cond_asrd): Generalize to... ++ (@cond_): ...this. ++ (*cond_asrd_2): Generalize to... ++ (*cond__2): ...this. ++ (*cond_asrd_z): Generalize to... ++ (*cond__z): ...this. ++ * config/aarch64/aarch64.md (UNSPEC_LDNT1_GATHER): New unspec. ++ (UNSPEC_STNT1_SCATTER, UNSPEC_WHILEGE, UNSPEC_WHILEGT): Likewise. ++ (UNSPEC_WHILEHI, UNSPEC_WHILEHS): Likewise. ++ * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): New ++ pattern. ++ (@aarch64_gather_ldnt_) ++ (@aarch64_scatter_stnt): Likewise. ++ (@aarch64_scatter_stnt_) ++ (@aarch64_mul_lane_): Likewise. ++ (@aarch64_sve_suqadd_const): Likewise. ++ (*h): Generalize to... ++ (@aarch64_pred_): ...this ++ new pattern. ++ (@cond_): New expander. ++ (*cond__2): New pattern. ++ (*cond__3): Likewise. ++ (*cond__any): Likewise. ++ (*cond__z): Likewise. ++ (@aarch64_sve_):: Likewise. ++ (@aarch64_sve__lane_): Likewise. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond__2): New pattern. ++ (*cond__3): Likewise. ++ (*cond__any): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve__lane_) ++ (@aarch64_sve_add_mul_lane_): Likewise. ++ (@aarch64_sve_sub_mul_lane_): Likewise. ++ (@aarch64_sve2_xar): Likewise. ++ (@aarch64_sve2_bcax): Likewise. ++ (*aarch64_sve2_eor3): Rename to... ++ (@aarch64_sve2_eor3): ...this. ++ (@aarch64_sve2_bsl): New expander. ++ (@aarch64_sve2_nbsl): Likewise. ++ (@aarch64_sve2_bsl1n): Likewise. ++ (@aarch64_sve2_bsl2n): Likewise. ++ (@aarch64_sve_add_): Likewise. ++ (*aarch64_sve2_sra): Add MOVPRFX support. ++ (@aarch64_sve_add_): New pattern. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve2_aba): New expander. ++ (*aarch64_sve2_aba): New pattern. ++ (@aarch64_sve_): Likewise. ++ (mull): Generalize to... ++ (@aarch64_sve_): ...this new ++ pattern. ++ (@aarch64_sve__lane_) ++ (@aarch64_sve_) ++ (@aarch64_sve_add_) ++ (@aarch64_sve_add__lane_) ++ (@aarch64_sve_qadd_) ++ (@aarch64_sve_qadd__lane_) ++ (@aarch64_sve_sub_) ++ (@aarch64_sve_sub__lane_) ++ (@aarch64_sve_qsub_) ++ (@aarch64_sve_qsub__lane_) ++ (@aarch64_sve_): New patterns. ++ (@aarch64__lane_) ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (shrnb): Generalize to... ++ (@aarch64_sve_): ...this ++ new pattern. ++ (shrnt): Generalize to... ++ (@aarch64_sve_): ...this ++ new pattern. ++ (@aarch64_pred_): New pattern. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond__2): New pattern. ++ (*cond__z): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64__lane_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64__lane_): Likewise. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond_): New pattern. ++ (@aarch64_sve2_cvtnt): Likewise. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond__any): New pattern. ++ (@aarch64_sve2_cvtxnt): Likewise. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond_): New pattern. ++ (@aarch64_pred_): Likewise. ++ (@cond_): New expander. ++ (*cond_): New pattern. ++ (@aarch64_sve2_pmul): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve2_tbl2): Likewise. ++ (@aarch64_sve2_tbx): Likewise. ++ (@aarch64_sve_): Likewise. ++ (@aarch64_sve2_histcnt): Likewise. ++ (@aarch64_sve2_histseg): Likewise. ++ (@aarch64_pred_): Likewise. ++ (*aarch64_pred__cc): Likewise. ++ (*aarch64_pred__ptest): Likewise. ++ (aarch64_sve2_aes): Likewise. ++ (aarch64_sve2_aes): Likewise. ++ (*aarch64_sve2_aese_fused, *aarch64_sve2_aesd_fused): Likewise. ++ (aarch64_sve2_rax1, aarch64_sve2_sm4e, aarch64_sve2_sm4ekey): Likewise. ++ (mulhs3): Update after above pattern name changes. ++ * config/aarch64/iterators.md (VNx16QI_ONLY, VNx4SF_ONLY) ++ (SVE_STRUCT2, SVE_FULL_BHI, SVE_FULL_HSI, SVE_FULL_HDI) ++ (SVE2_PMULL_PAIR_I): New mode iterators. ++ (UNSPEC_ADCLB, UNSPEC_ADCLT, UNSPEC_ADDHNB, UNSPEC_ADDHNT, UNSPEC_BDEP) ++ (UNSPEC_BEXT, UNSPEC_BGRP, UNSPEC_CADD90, UNSPEC_CADD270, UNSPEC_CDOT) ++ (UNSPEC_CDOT90, UNSPEC_CDOT180, UNSPEC_CDOT270, UNSPEC_CMLA) ++ (UNSPEC_CMLA90, UNSPEC_CMLA180, UNSPEC_CMLA270, UNSPEC_COND_FCVTLT) ++ (UNSPEC_COND_FCVTNT, UNSPEC_COND_FCVTX, UNSPEC_COND_FCVTXNT) ++ (UNSPEC_COND_FLOGB, UNSPEC_EORBT, UNSPEC_EORTB, UNSPEC_FADDP) ++ (UNSPEC_FMAXP, UNSPEC_FMAXNMP, UNSPEC_FMLALB, UNSPEC_FMLALT) ++ (UNSPEC_FMLSLB, UNSPEC_FMLSLT, UNSPEC_FMINP, UNSPEC_FMINNMP) ++ (UNSPEC_HISTCNT, UNSPEC_HISTSEG, UNSPEC_MATCH, UNSPEC_NMATCH) ++ (UNSPEC_PMULLB, UNSPEC_PMULLB_PAIR, UNSPEC_PMULLT, UNSPEC_PMULLT_PAIR) ++ (UNSPEC_RADDHNB, UNSPEC_RADDHNT, UNSPEC_RSUBHNB, UNSPEC_RSUBHNT) ++ (UNSPEC_SLI, UNSPEC_SRI, UNSPEC_SABDLB, UNSPEC_SABDLT, UNSPEC_SADDLB) ++ (UNSPEC_SADDLBT, UNSPEC_SADDLT, UNSPEC_SADDWB, UNSPEC_SADDWT) ++ (UNSPEC_SBCLB, UNSPEC_SBCLT, UNSPEC_SMAXP, UNSPEC_SMINP) ++ (UNSPEC_SQCADD90, UNSPEC_SQCADD270, UNSPEC_SQDMULLB, UNSPEC_SQDMULLBT) ++ (UNSPEC_SQDMULLT, UNSPEC_SQRDCMLAH, UNSPEC_SQRDCMLAH90) ++ (UNSPEC_SQRDCMLAH180, UNSPEC_SQRDCMLAH270, UNSPEC_SQRSHRNB) ++ (UNSPEC_SQRSHRNT, UNSPEC_SQRSHRUNB, UNSPEC_SQRSHRUNT, UNSPEC_SQSHRNB) ++ (UNSPEC_SQSHRNT, UNSPEC_SQSHRUNB, UNSPEC_SQSHRUNT, UNSPEC_SQXTNB) ++ (UNSPEC_SQXTNT, UNSPEC_SQXTUNB, UNSPEC_SQXTUNT, UNSPEC_SSHLLB) ++ (UNSPEC_SSHLLT, UNSPEC_SSUBLB, UNSPEC_SSUBLBT, UNSPEC_SSUBLT) ++ (UNSPEC_SSUBLTB, UNSPEC_SSUBWB, UNSPEC_SSUBWT, UNSPEC_SUBHNB) ++ (UNSPEC_SUBHNT, UNSPEC_TBL2, UNSPEC_UABDLB, UNSPEC_UABDLT) ++ (UNSPEC_UADDLB, UNSPEC_UADDLT, UNSPEC_UADDWB, UNSPEC_UADDWT) ++ (UNSPEC_UMAXP, UNSPEC_UMINP, UNSPEC_UQRSHRNB, UNSPEC_UQRSHRNT) ++ (UNSPEC_UQSHRNB, UNSPEC_UQSHRNT, UNSPEC_UQXTNB, UNSPEC_UQXTNT) ++ (UNSPEC_USHLLB, UNSPEC_USHLLT, UNSPEC_USUBLB, UNSPEC_USUBLT) ++ (UNSPEC_USUBWB, UNSPEC_USUBWT): New unspecs. ++ (UNSPEC_SMULLB, UNSPEC_SMULLT, UNSPEC_UMULLB, UNSPEC_UMULLT) ++ (UNSPEC_SMULHS, UNSPEC_SMULHRS, UNSPEC_UMULHS, UNSPEC_UMULHRS) ++ (UNSPEC_RSHRNB, UNSPEC_RSHRNT, UNSPEC_SHRNB, UNSPEC_SHRNT): Move ++ further down file. ++ (VNARROW, Ventype): New mode attributes. ++ (Vewtype): Handle VNx2DI. Fix typo in comment. ++ (VDOUBLE): New mode attribute. ++ (sve_lane_con): Handle VNx8HI. ++ (SVE_INT_UNARY): Include ss_abs and ss_neg for TARGET_SVE2. ++ (SVE_INT_BINARY): Likewise ss_plus, us_plus, ss_minus and us_minus. ++ (sve_int_op, sve_int_op_rev): Handle the above codes. ++ (sve_pred_int_rhs2_operand): Likewise. ++ (MULLBT, SHRNB, SHRNT): Delete. ++ (SVE_INT_SHIFT_IMM): New int iterator. ++ (SVE_WHILE): Add UNSPEC_WHILEGE, UNSPEC_WHILEGT, UNSPEC_WHILEHI ++ and UNSPEC_WHILEHS for TARGET_SVE2. ++ (SVE2_U32_UNARY, SVE2_INT_UNARY_NARROWB, SVE2_INT_UNARY_NARROWT) ++ (SVE2_INT_BINARY, SVE2_INT_BINARY_LANE, SVE2_INT_BINARY_LONG) ++ (SVE2_INT_BINARY_LONG_LANE, SVE2_INT_BINARY_NARROWB) ++ (SVE2_INT_BINARY_NARROWT, SVE2_INT_BINARY_PAIR, SVE2_FP_BINARY_PAIR) ++ (SVE2_INT_BINARY_PAIR_LONG, SVE2_INT_BINARY_WIDE): New int iterators. ++ (SVE2_INT_SHIFT_IMM_LONG, SVE2_INT_SHIFT_IMM_NARROWB): Likewise. ++ (SVE2_INT_SHIFT_IMM_NARROWT, SVE2_INT_SHIFT_INSERT, SVE2_INT_CADD) ++ (SVE2_INT_BITPERM, SVE2_INT_TERNARY, SVE2_INT_TERNARY_LANE): Likewise. ++ (SVE2_FP_TERNARY_LONG, SVE2_FP_TERNARY_LONG_LANE, SVE2_INT_CMLA) ++ (SVE2_INT_CDOT, SVE2_INT_ADD_BINARY_LONG, SVE2_INT_QADD_BINARY_LONG) ++ (SVE2_INT_SUB_BINARY_LONG, SVE2_INT_QSUB_BINARY_LONG): Likewise. ++ (SVE2_INT_ADD_BINARY_LONG_LANE, SVE2_INT_QADD_BINARY_LONG_LANE) ++ (SVE2_INT_SUB_BINARY_LONG_LANE, SVE2_INT_QSUB_BINARY_LONG_LANE) ++ (SVE2_COND_INT_UNARY_FP, SVE2_COND_FP_UNARY_LONG): Likewise. ++ (SVE2_COND_FP_UNARY_NARROWB, SVE2_COND_INT_BINARY): Likewise. ++ (SVE2_COND_INT_BINARY_NOREV, SVE2_COND_INT_BINARY_REV): Likewise. ++ (SVE2_COND_INT_SHIFT, SVE2_MATCH, SVE2_PMULL): Likewise. ++ (optab): Handle the new unspecs. ++ (su, r): Remove entries for UNSPEC_SHRNB, UNSPEC_SHRNT, UNSPEC_RSHRNB ++ and UNSPEC_RSHRNT. ++ (lr): Handle the new unspecs. ++ (bt): Delete. ++ (cmp_op, while_optab_cmp, sve_int_op): Handle the new unspecs. ++ (sve_int_op_rev, sve_int_add_op, sve_int_qadd_op, sve_int_sub_op) ++ (sve_int_qsub_op): New int attributes. ++ (sve_fp_op, rot): Handle the new unspecs. ++ * config/aarch64/aarch64-sve-builtins.h ++ (function_resolver::require_matching_pointer_type): Declare. ++ (function_resolver::resolve_unary): Add an optional boolean argument. ++ (function_resolver::finish_opt_n_resolution): Add an optional ++ type_suffix_index argument. ++ (gimple_folder::redirect_call): Declare. ++ (gimple_expander::prepare_gather_address_operands): Add an optional ++ bool parameter. ++ * config/aarch64/aarch64-sve-builtins.cc: Include ++ aarch64-sve-builtins-sve2.h. ++ (TYPES_b_unsigned, TYPES_b_integer, TYPES_bh_integer): New macros. ++ (TYPES_bs_unsigned, TYPES_hs_signed, TYPES_hs_integer): Likewise. ++ (TYPES_hd_unsigned, TYPES_hsd_signed): Likewise. ++ (TYPES_hsd_integer): Use TYPES_hsd_signed. ++ (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): New macros. ++ (TYPES_s_unsigned): Likewise. ++ (TYPES_s_integer): Use TYPES_s_unsigned. ++ (TYPES_sd_signed, TYPES_sd_unsigned): New macros. ++ (TYPES_sd_integer): Use them. ++ (TYPES_d_unsigned): New macro. ++ (TYPES_d_integer): Use it. ++ (TYPES_d_data, TYPES_cvt_long, TYPES_cvt_narrow_s): New macros. ++ (TYPES_cvt_narrow): Likewise. ++ (DEF_SVE_TYPES_ARRAY): Include the new types macros above. ++ (preds_mx): New variable. ++ (function_builder::add_overloaded_function): Allow the new feature ++ set to be more restrictive than the original one. ++ (function_resolver::infer_pointer_type): Remove qualifiers from ++ the pointer type before printing it. ++ (function_resolver::require_matching_pointer_type): New function. ++ (function_resolver::resolve_sv_displacement): Handle functions ++ that don't support 32-bit vector indices or svint32_t vector offsets. ++ (function_resolver::finish_opt_n_resolution): Take the inferred type ++ as a separate argument. ++ (function_resolver::resolve_unary): Optionally treat all forms in ++ the same way as normal merging functions. ++ (gimple_folder::redirect_call): New function. ++ (function_expander::prepare_gather_address_operands): Add an argument ++ that says whether scaled forms are available. If they aren't, ++ handle scaling of vector indices and don't add the extension and ++ scaling operands. ++ (function_expander::map_to_unspecs): If aarch64_sve isn't available, ++ fall back to using cond_* instead. ++ * config/aarch64/aarch64-sve-builtins-functions.h (rtx_code_function): ++ Split out the member variables into... ++ (rtx_code_function_base): ...this new base class. ++ (rtx_code_function_rotated): Inherit rtx_code_function_base. ++ (unspec_based_function): Split out the member variables into... ++ (unspec_based_function_base): ...this new base class. ++ (unspec_based_function_rotated): Inherit unspec_based_function_base. ++ (unspec_based_function_exact_insn): New class. ++ (unspec_based_add_function, unspec_based_add_lane_function) ++ (unspec_based_lane_function, unspec_based_pred_function) ++ (unspec_based_qadd_function, unspec_based_qadd_lane_function) ++ (unspec_based_qsub_function, unspec_based_qsub_lane_function) ++ (unspec_based_sub_function, unspec_based_sub_lane_function): New ++ typedefs. ++ (unspec_based_fused_function): New class. ++ (unspec_based_mla_function, unspec_based_mls_function): New typedefs. ++ (unspec_based_fused_lane_function): New class. ++ (unspec_based_mla_lane_function, unspec_based_mls_lane_function): New ++ typedefs. ++ (CODE_FOR_MODE1): New macro. ++ (fixed_insn_function): New class. ++ (while_comparison): Likewise. ++ * config/aarch64/aarch64-sve-builtins-shapes.h (binary_long_lane) ++ (binary_long_opt_n, binary_narrowb_opt_n, binary_narrowt_opt_n) ++ (binary_to_uint, binary_wide, binary_wide_opt_n, compare, compare_ptr) ++ (load_ext_gather_index_restricted, load_ext_gather_offset_restricted) ++ (load_gather_sv_restricted, shift_left_imm_long): Declare. ++ (shift_left_imm_to_uint, shift_right_imm_narrowb): Likewise. ++ (shift_right_imm_narrowt, shift_right_imm_narrowb_to_uint): Likewise. ++ (shift_right_imm_narrowt_to_uint, store_scatter_index_restricted) ++ (store_scatter_offset_restricted, tbl_tuple, ternary_long_lane) ++ (ternary_long_opt_n, ternary_qq_lane_rotate, ternary_qq_rotate) ++ (ternary_shift_left_imm, ternary_shift_right_imm, ternary_uint) ++ (unary_convert_narrowt, unary_long, unary_narrowb, unary_narrowt) ++ (unary_narrowb_to_uint, unary_narrowt_to_uint, unary_to_int): Likewise. ++ * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication): ++ Also add an initial argument for unary_convert_narrowt, regardless ++ of the predication type. ++ (build_32_64): Allow loads and stores to specify MODE_none. ++ (build_sv_index64, build_sv_uint_offset): New functions. ++ (long_type_suffix): New function. ++ (binary_imm_narrowb_base, binary_imm_narrowt_base): New classes. ++ (binary_imm_long_base, load_gather_sv_base): Likewise. ++ (shift_right_imm_narrow_wrapper, ternary_shift_imm_base): Likewise. ++ (ternary_resize2_opt_n_base, ternary_resize2_lane_base): Likewise. ++ (unary_narrowb_base, unary_narrowt_base): Likewise. ++ (binary_long_lane_def, binary_long_lane): New shape. ++ (binary_long_opt_n_def, binary_long_opt_n): Likewise. ++ (binary_narrowb_opt_n_def, binary_narrowb_opt_n): Likewise. ++ (binary_narrowt_opt_n_def, binary_narrowt_opt_n): Likewise. ++ (binary_to_uint_def, binary_to_uint): Likewise. ++ (binary_wide_def, binary_wide): Likewise. ++ (binary_wide_opt_n_def, binary_wide_opt_n): Likewise. ++ (compare_def, compare): Likewise. ++ (compare_ptr_def, compare_ptr): Likewise. ++ (load_ext_gather_index_restricted_def, ++ load_ext_gather_index_restricted): Likewise. ++ (load_ext_gather_offset_restricted_def, ++ load_ext_gather_offset_restricted): Likewise. ++ (load_gather_sv_def): Inherit from load_gather_sv_base. ++ (load_gather_sv_restricted_def, load_gather_sv_restricted): New shape. ++ (shift_left_imm_def, shift_left_imm): Likewise. ++ (shift_left_imm_long_def, shift_left_imm_long): Likewise. ++ (shift_left_imm_to_uint_def, shift_left_imm_to_uint): Likewise. ++ (store_scatter_index_restricted_def, ++ store_scatter_index_restricted): Likewise. ++ (store_scatter_offset_restricted_def, ++ store_scatter_offset_restricted): Likewise. ++ (tbl_tuple_def, tbl_tuple): Likewise. ++ (ternary_long_lane_def, ternary_long_lane): Likewise. ++ (ternary_long_opt_n_def, ternary_long_opt_n): Likewise. ++ (ternary_qq_lane_def): Inherit from ternary_resize2_lane_base. ++ (ternary_qq_lane_rotate_def, ternary_qq_lane_rotate): New shape ++ (ternary_qq_opt_n_def): Inherit from ternary_resize2_opt_n_base. ++ (ternary_qq_rotate_def, ternary_qq_rotate): New shape. ++ (ternary_shift_left_imm_def, ternary_shift_left_imm): Likewise. ++ (ternary_shift_right_imm_def, ternary_shift_right_imm): Likewise. ++ (ternary_uint_def, ternary_uint): Likewise. ++ (unary_convert): Fix typo in comment. ++ (unary_convert_narrowt_def, unary_convert_narrowt): New shape. ++ (unary_long_def, unary_long): Likewise. ++ (unary_narrowb_def, unary_narrowb): Likewise. ++ (unary_narrowt_def, unary_narrowt): Likewise. ++ (unary_narrowb_to_uint_def, unary_narrowb_to_uint): Likewise. ++ (unary_narrowt_to_uint_def, unary_narrowt_to_uint): Likewise. ++ (unary_to_int_def, unary_to_int): Likewise. ++ * config/aarch64/aarch64-sve-builtins-base.cc (unspec_cmla) ++ (unspec_fcmla, unspec_cond_fcmla, expand_mla_mls_lane): New functions. ++ (svasrd_impl): Delete. ++ (svcadd_impl::expand): Handle integer operations too. ++ (svcmla_impl::expand, svcmla_lane::expand): Likewise, using the ++ new functions to derive the unspec numbers. ++ (svmla_svmls_lane_impl): Replace with... ++ (svmla_lane_impl, svmls_lane_impl): ...these new classes. Handle ++ integer operations too. ++ (svwhile_impl): Rename to... ++ (svwhilelx_impl): ...this and inherit from while_comparison. ++ (svasrd): Use unspec_based_function. ++ (svmla_lane): Use svmla_lane_impl. ++ (svmls_lane): Use svmls_lane_impl. ++ (svrecpe, svrsqrte): Handle unsigned integer operations too. ++ (svwhilele, svwhilelt): Use svwhilelx_impl. ++ * config/aarch64/aarch64-sve-builtins-sve2.h: New file. ++ * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. ++ * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. ++ * config/aarch64/aarch64-sve-builtins.def: Include ++ aarch64-sve-builtins-sve2.def. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/aarch64-protos.h (aarch64_sve_arith_immediate_p) ++ (aarch64_sve_sqadd_sqsub_immediate_p): Add a machine_mode argument. ++ * config/aarch64/aarch64.c (aarch64_sve_arith_immediate_p) ++ (aarch64_sve_sqadd_sqsub_immediate_p): Likewise. Handle scalar ++ immediates as well as vector ones. ++ * config/aarch64/predicates.md (aarch64_sve_arith_immediate) ++ (aarch64_sve_sub_arith_immediate, aarch64_sve_qadd_immediate) ++ (aarch64_sve_qsub_immediate): Update calls accordingly. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve2.md: Add banner comments. ++ (mulhs3): Move further up file. ++ (mull, shrnb, shrnt) ++ (*aarch64_sve2_sra): Move further down file. ++ * config/aarch64/t-aarch64 (s-check-sve-md): Check aarch64-sve2.md too. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/iterators.md (SVE_WHILE): Add UNSPEC_WHILERW ++ and UNSPEC_WHILEWR. ++ (while_optab_cmp): Handle them. ++ * config/aarch64/aarch64-sve.md ++ (*while__ptest): Make public ++ and add a "@" marker. ++ * config/aarch64/aarch64-sve2.md (check__ptrs): Use it ++ instead of gen_aarch64_sve2_while_ptest. ++ (@aarch64_sve2_while_ptest): Delete. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/aarch64.md (UNSPEC_WHILE_LE): Rename to... ++ (UNSPEC_WHILELE): ...this. ++ (UNSPEC_WHILE_LO): Rename to... ++ (UNSPEC_WHILELO): ...this. ++ (UNSPEC_WHILE_LS): Rename to... ++ (UNSPEC_WHILELS): ...this. ++ (UNSPEC_WHILE_LT): Rename to... ++ (UNSPEC_WHILELT): ...this. ++ * config/aarch64/iterators.md (SVE_WHILE): Update accordingly. ++ (cmp_op, while_optab_cmp): Likewise. ++ * config/aarch64/aarch64.c (aarch64_sve_move_pred_via_while): Likewise. ++ * config/aarch64/aarch64-sve-builtins-base.cc (svwhilele): Likewise. ++ (svwhilelt): Likewise. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve-builtins-shapes.h (unary_count): Delete. ++ (unary_to_uint): Define. ++ * config/aarch64/aarch64-sve-builtins-shapes.cc (unary_count_def) ++ (unary_count): Rename to... ++ (unary_to_uint_def, unary_to_uint): ...this. ++ * config/aarch64/aarch64-sve-builtins-base.def: Update accordingly. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve-builtins-functions.h ++ (code_for_mode_function): New class. ++ (CODE_FOR_MODE0, QUIET_CODE_FOR_MODE0): New macros. ++ * config/aarch64/aarch64-sve-builtins-base.cc (svcompact_impl) ++ (svext_impl, svmul_lane_impl, svsplice_impl, svtmad_impl): Delete. ++ (svcompact, svext, svsplice): Use QUIET_CODE_FOR_MODE0. ++ (svmul_lane, svtmad): Use CODE_FOR_MODE0. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/iterators.md (addsub): New code attribute. ++ * config/aarch64/aarch64-simd.md (aarch64_): ++ Re-express as... ++ (aarch64_q): ...this, making the same change ++ in the asm string and attributes. Fix indentation. ++ * config/aarch64/aarch64-sve.md (@aarch64_): ++ Re-express as... ++ (@aarch64_sve_): ...this. ++ * config/aarch64/aarch64-sve-builtins.h ++ (function_expander::expand_signed_unpred_op): Delete. ++ * config/aarch64/aarch64-sve-builtins.cc ++ (function_expander::expand_signed_unpred_op): Likewise. ++ (function_expander::map_to_rtx_codes): If the optab isn't defined, ++ try using code_for_aarch64_sve instead. ++ * config/aarch64/aarch64-sve-builtins-base.cc (svqadd_impl): Delete. ++ (svqsub_impl): Likewise. ++ (svqadd, svqsub): Use rtx_code_function instead. ++ ++2020-01-09 Richard Sandiford ++ ++ * config/aarch64/iterators.md (SRHSUB, URHSUB): Delete. ++ (HADDSUB, sur, addsub): Remove them. ++ ++2020-01-09 Richard Sandiford ++ ++ * tree-nrv.c (pass_return_slot::execute): Handle all internal ++ functions the same way, rather than singling out those that ++ aren't mapped directly to optabs. ++ ++2020-01-09 Richard Sandiford ++ ++ * target.def (compatible_vector_types_p): New target hook. ++ * hooks.h (hook_bool_const_tree_const_tree_true): Declare. ++ * hooks.c (hook_bool_const_tree_const_tree_true): New function. ++ * doc/tm.texi.in (TARGET_COMPATIBLE_VECTOR_TYPES_P): New hook. ++ * doc/tm.texi: Regenerate. ++ * gimple-expr.c: Include target.h. ++ (useless_type_conversion_p): Use targetm.compatible_vector_types_p. ++ * config/aarch64/aarch64.c (aarch64_compatible_vector_types_p): New ++ function. ++ (TARGET_COMPATIBLE_VECTOR_TYPES_P): Define. ++ * config/aarch64/aarch64-sve-builtins.cc (gimple_folder::convert_pred): ++ Use the original predicate if it already has a suitable type. ++ ++2020-01-09 Martin Jambor ++ ++ * cgraph.h (cgraph_edge): Make remove, set_call_stmt, make_direct, ++ resolve_speculation and redirect_call_stmt_to_callee static. Change ++ return type of set_call_stmt to cgraph_edge *. ++ * auto-profile.c (afdo_indirect_call): Adjust call to ++ redirect_call_stmt_to_callee. ++ * cgraph.c (cgraph_edge::set_call_stmt): Make return cgraph-edge *, ++ make the this pointer explicit, adjust self-recursive calls and the ++ call top make_direct. Return the resulting edge. ++ (cgraph_edge::remove): Make this pointer explicit. ++ (cgraph_edge::resolve_speculation): Likewise, adjust call to remove. ++ (cgraph_edge::make_direct): Likewise, adjust call to ++ resolve_speculation. ++ (cgraph_edge::redirect_call_stmt_to_callee): Likewise, also adjust ++ call to set_call_stmt. ++ (cgraph_update_edges_for_call_stmt_node): Update call to ++ set_call_stmt and remove. ++ * cgraphclones.c (cgraph_node::set_call_stmt_including_clones): ++ Renamed edge to master_edge. Adjusted calls to set_call_stmt. ++ (cgraph_node::create_edge_including_clones): Moved "first" definition ++ of edge to the block where it was used. Adjusted calls to ++ set_call_stmt. ++ (cgraph_node::remove_symbol_and_inline_clones): Adjust call to ++ cgraph_edge::remove. ++ * cgraphunit.c (walk_polymorphic_call_targets): Adjusted calls to ++ make_direct and redirect_call_stmt_to_callee. ++ * ipa-fnsummary.c (redirect_to_unreachable): Adjust calls to ++ resolve_speculation and make_direct. ++ * ipa-inline-transform.c (inline_transform): Adjust call to ++ redirect_call_stmt_to_callee. ++ (check_speculations_1):: Adjust call to resolve_speculation. ++ * ipa-inline.c (resolve_noninline_speculation): Adjust call to ++ resolve-speculation. ++ (inline_small_functions): Adjust call to resolve_speculation. ++ (ipa_inline): Likewise. ++ * ipa-prop.c (ipa_make_edge_direct_to_target): Adjust call to ++ make_direct. ++ * ipa-visibility.c (function_and_variable_visibility): Make iteration ++ safe with regards to edge removal, adjust calls to ++ redirect_call_stmt_to_callee. ++ * ipa.c (walk_polymorphic_call_targets): Adjust calls to make_direct ++ and redirect_call_stmt_to_callee. ++ * multiple_target.c (create_dispatcher_calls): Adjust call to ++ redirect_call_stmt_to_callee ++ (redirect_to_specific_clone): Likewise. ++ * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph): ++ Adjust calls to cgraph_edge::remove. ++ * tree-inline.c (copy_bb): Adjust call to set_call_stmt. ++ (redirect_all_calls): Adjust call to redirect_call_stmt_to_callee. ++ (expand_call_inline): Adjust call to cgraph_edge::remove. ++ ++2020-01-09 Martin Liska ++ ++ * params.opt: Set Optimization for ++ param_max_speculative_devirt_maydefs. ++ ++2020-01-09 Martin Sebor ++ ++ PR middle-end/93200 ++ PR fortran/92956 ++ * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type. ++ ++2020-01-09 Martin Liska ++ ++ * auto-profile.c (auto_profile): Use opt_for_fn ++ for a parameter. ++ * ipa-cp.c (ipcp_lattice::add_value): Likewise. ++ (propagate_vals_across_arith_jfunc): Likewise. ++ (hint_time_bonus): Likewise. ++ (incorporate_penalties): Likewise. ++ (good_cloning_opportunity_p): Likewise. ++ (perform_estimation_of_a_value): Likewise. ++ (estimate_local_effects): Likewise. ++ (ipcp_propagate_stage): Likewise. ++ * ipa-fnsummary.c (decompose_param_expr): Likewise. ++ (set_switch_stmt_execution_predicate): Likewise. ++ (analyze_function_body): Likewise. ++ * ipa-inline-analysis.c (offline_size): Likewise. ++ * ipa-inline.c (early_inliner): Likewise. ++ * ipa-prop.c (ipa_analyze_node): Likewise. ++ (ipcp_transform_function): Likewise. ++ * ipa-sra.c (process_scan_results): Likewise. ++ (ipa_sra_summarize_function): Likewise. ++ * params.opt: Rename ipcp-unit-growth to ++ ipa-cp-unit-growth. Add Optimization for various ++ IPA-related parameters. ++ ++2020-01-09 Richard Biener ++ ++ PR middle-end/93054 ++ * gimplify.c (gimplify_expr): Deal with NOP definitions. ++ ++2020-01-09 Richard Biener ++ ++ PR tree-optimization/93040 ++ * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit. ++ ++2020-01-09 Georg-Johann Lay ++ ++ * common/config/avr/avr-common.c (avr_option_optimization_table) ++ [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early. ++ ++2020-01-09 Martin Liska ++ ++ * cgraphclones.c (symbol_table::materialize_all_clones): ++ Use cgraph_node::dump_name. ++ ++2020-01-09 Jakub Jelinek ++ ++ PR inline-asm/93202 ++ * config/riscv/riscv.c (riscv_print_operand_reloc): Use ++ output_operand_lossage instead of gcc_unreachable. ++ * doc/md.texi (riscv f constraint): Fix typo. ++ ++ PR target/93141 ++ * config/i386/i386.md (subv4): Use SWIDWI iterator instead of ++ SWI. Use instead of . Use ++ CONST_SCALAR_INT_P instead of CONST_INT_P. ++ (*subv4_1): Rename to ... ++ (subv4_1): ... this. ++ (*subv4_doubleword, *addv4_doubleword_1): New ++ define_insn_and_split patterns. ++ (*subv4_overflow_1, *addv4_overflow_2): New define_insn ++ patterns. ++ ++2020-01-08 David Malcolm ++ ++ * vec.c (class selftest::count_dtor): New class. ++ (selftest::test_auto_delete_vec): New test. ++ (selftest::vec_c_tests): Call it. ++ * vec.h (class auto_delete_vec): New class template. ++ (auto_delete_vec::~auto_delete_vec): New dtor. ++ ++2020-01-08 David Malcolm ++ ++ * sbitmap.h (auto_sbitmap): Add operator const_sbitmap. ++ ++2020-01-08 Jim Wilson ++ ++ * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out ++ use of TLS_MODEL_LOCAL_EXEC when not pic. ++ ++2020-01-08 David Malcolm ++ ++ * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix ++ memory leak. ++ ++2020-01-08 Jakub Jelinek +=20 +-2017-01-19 Uros Bizjak ++ PR target/93187 ++ * config/i386/i386.md (*stack_protect_set_2_ peephole2, ++ *stack_protect_set_3 peephole2): Also check that the second ++ insns source is general_operand. ++ ++ PR target/93174 ++ * config/i386/i386.md (addcarry_0): Use nonimmediate_operand ++ predicate for output operand instead of register_operand. ++ (addcarry, addcarry_1): Likewise. Add alternative with ++ memory destination and non-memory operands[2]. ++ ++2020-01-08 Martin Liska ++ ++ * cgraph.c (cgraph_node::dump): Use ::dump_name or ++ ::dump_asm_name instead of (::name or ::asm_name). ++ * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. ++ * cgraphunit.c (walk_polymorphic_call_targets): Likewise. ++ (analyze_functions): Likewise. ++ (expand_all_functions): Likewise. ++ * ipa-cp.c (ipcp_cloning_candidate_p): Likewise. ++ (propagate_bits_across_jump_function): Likewise. ++ (dump_profile_updates): Likewise. ++ (ipcp_store_bits_results): Likewise. ++ (ipcp_store_vr_results): Likewise. ++ * ipa-devirt.c (dump_targets): Likewise. ++ * ipa-fnsummary.c (analyze_function_body): Likewise. ++ * ipa-hsa.c (check_warn_node_versionable): Likewise. ++ (process_hsa_functions): Likewise. ++ * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise. ++ (set_alias_uids): Likewise. ++ * ipa-inline-transform.c (save_inline_function_body): Likewise. ++ * ipa-inline.c (recursive_inlining): Likewise. ++ (inline_to_all_callers_1): Likewise. ++ (ipa_inline): Likewise. ++ * ipa-profile.c (ipa_propagate_frequency_1): Likewise. ++ (ipa_propagate_frequency): Likewise. ++ * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise. ++ (remove_described_reference): Likewise. ++ * ipa-pure-const.c (worse_state): Likewise. ++ (check_retval_uses): Likewise. ++ (analyze_function): Likewise. ++ (propagate_pure_const): Likewise. ++ (propagate_nothrow): Likewise. ++ (dump_malloc_lattice): Likewise. ++ (propagate_malloc): Likewise. ++ (pass_local_pure_const::execute): Likewise. ++ * ipa-visibility.c (optimize_weakref): Likewise. ++ (function_and_variable_visibility): Likewise. ++ * ipa.c (symbol_table::remove_unreachable_nodes): Likewise. ++ (ipa_discover_variable_flags): Likewise. ++ * lto-streamer-out.c (output_function): Likewise. ++ (output_constructor): Likewise. ++ * tree-inline.c (copy_bb): Likewise. ++ * tree-ssa-structalias.c (ipa_pta_execute): Likewise. ++ * varpool.c (symbol_table::remove_unreferenced_decls): Likewise. ++ ++2020-01-08 Richard Biener ++ ++ PR middle-end/93199 ++ * tree-eh.c (sink_clobbers): Update virtual operands for ++ the first and last stmt only. Add a dry-run capability. ++ (pass_lower_eh_dispatch::execute): Perform clobber sinking ++ after CFG manipulations and in RPO order to catch all ++ secondary opportunities reliably. ++ ++2020-01-08 Georg-Johann Lay ++ ++ PR target/93182 ++ * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. ++ ++2019-01-08 Richard Biener ++ ++ PR middle-end/93199 ++ * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified. ++ * tree-ssa-loop-im.c (move_computations_worker): Properly adjust ++ virtual operand, also updating SSA use. ++ * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction): ++ Update stmt after resetting virtual operand. ++ (tree_loop_interchange::move_code_to_inner_loop): Likewise. ++ * gimple-iterator.c (gsi_remove): When not removing the stmt ++ permanently do not delink immediate uses or mark the stmt modified. ++ ++2020-01-08 Martin Liska ++ ++ * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name. ++ (ipa_call_context::estimate_size_and_time): Likewise. ++ (inline_analyze_function): Likewise. ++ ++2020-01-08 Martin Liska ++ ++ * cgraph.c (cgraph_node::dump): Use systematically ++ dump_asm_name. ++ ++2020-01-08 Georg-Johann Lay ++ ++ Add -nodevicespecs option for avr. ++ ++ PR target/93182 ++ * config/avr/avr.opt (-nodevicespecs): New driver option. ++ * config/avr/driver-avr.c (avr_devicespecs_file): Only issue ++ "-specs=3Ddevice-specs/..." if that option is not set. ++ * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. ++ ++2020-01-08 Georg-Johann Lay ++ ++ Implement 64-bit double functions for avr. ++ ++ PR target/92055 ++ * config.gcc (tm_defines) [target=3Davr]: Support --with-libf7, ++ --with-double-comparison. ++ * doc/install.texi: Document them. ++ * config/avr/avr-c.c (avr_cpu_cpp_builtins) ++ ++ : New built-in defines. ++ * doc/invoke.texi (AVR Built-in Macros): Document them. ++ * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New. ++ * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function. ++ * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro. ++ ++2020-01-08 Richard Earnshaw ++ ++ PR target/93188 ++ * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match ++ armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants ++ when only building rm-profile multilibs. ++ ++2020-01-08 Feng Xue ++ ++ PR ipa/93084 ++ * ipa-cp.c (self_recursively_generated_p): Find matched aggregate ++ lattice for a value to check. ++ (propagate_vals_across_arith_jfunc): Add an assertion to ensure ++ finite propagation in self-recursive scc. ++ ++2020-01-08 Luo Xiong Hu ++ ++ * ipa-inline.c (caller_growth_limits): Restore the AND. ++ ++2020-01-07 Andrew Stubbs ++ ++ * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator. ++ (VEC_ALLREG_ALT): New iterator. ++ (VEC_ALLREG_INT_MODE): New iterator. ++ (VCMP_MODE): New iterator. ++ (VCMP_MODE_INT): New iterator. ++ (vec_cmpudi): Use VCMP_MODE_INT. ++ (vec_cmpv64qidi): New define_expand. ++ (vec_cmpdi_exec): Use VCMP_MODE. ++ (vec_cmpudi_exec): New define_expand. ++ (vec_cmpv64qidi_exec): New define_expand. ++ (vec_cmpdi_dup): Use VCMP_MODE. ++ (vec_cmpdi_dup_exec): Use VCMP_MODE. ++ (vcond): Rename ... ++ (vcond): ... to this. ++ (vcond_exec): Rename ... ++ (vcond_exec): ... to this. ++ (vcondu): Rename ... ++ (vcondu): ... to this. ++ (vcondu_exec): Rename ... ++ (vcondu_exec): ... to ++ this. ++ * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes. ++ * config/gcn/gcn.md (expander): Add sign_extend and zero_extend. ++ ++2020-01-07 Andrew Stubbs ++ ++ * config/gcn/constraints.md (DA): Update description and match. ++ (DB): Likewise. ++ (Db): New constraint. ++ * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second ++ parameter. ++ * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter. ++ Implement 'Db' mixed immediate type. ++ * config/gcn/gcn-valu.md (addcv64si3): Rework constraints. ++ (addcv64si3_dup): Delete. ++ (subcv64si3): Rework constraints. ++ (addv64di3): Rework constraints. ++ (addv64di3_exec): Rework constraints. ++ (subv64di3): Rework constraints. ++ (addv64di3_dup): Delete. ++ (addv64di3_dup_exec): Delete. ++ (addv64di3_zext): Rework constraints. ++ (addv64di3_zext_exec): Rework constraints. ++ (addv64di3_zext_dup): Rework constraints. ++ (addv64di3_zext_dup_exec): Rework constraints. ++ (addv64di3_zext_dup2): Rework constraints. ++ (addv64di3_zext_dup2_exec): Rework constraints. ++ (addv64di3_sext_dup2): Rework constraints. ++ (addv64di3_sext_dup2_exec): Rework constraints. ++ ++2020-01-07 Andre Vieira ++ ++ * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented ++ existing target checks. ++ ++2020-01-07 Richard Biener ++ ++ * doc/install.texi: Bump minimal supported MPC version. ++ ++2020-01-07 Richard Sandiford ++ ++ * langhooks-def.h (lhd_simulate_enum_decl): Declare. ++ (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it. ++ * langhooks.c: Include stor-layout.h. ++ (lhd_simulate_enum_decl): New function. ++ * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call ++ handle_arm_sve_h for the LTO frontend. ++ (register_vector_type): Cope with null returns from pushdecl. ++ ++2020-01-07 Richard Sandiford ++ ++ * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p) ++ (aarch64_sve::nvectors_if_data_type): Replace with... ++ (aarch64_sve::builtin_type_p): ...this. ++ * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h. ++ (find_vector_type): Delete. ++ (add_sve_type_attribute): New function. ++ (lookup_sve_type_attribute): Likewise. ++ (register_builtin_types): Add an "SVE type" attribute to each type. ++ (register_tuple_type): Likewise. ++ (svbool_type_p, nvectors_if_data_type): Delete. ++ (mangle_builtin_type): Use lookup_sve_type_attribute. ++ (builtin_type_p): Likewise. Add an overload that returns the ++ number of constituent vector and predicate registers. ++ * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete. ++ (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p ++ instead of aarch64_sve_argument_p. ++ (aarch64_takes_arguments_in_sve_regs_p): Likewise. ++ (aarch64_pass_by_reference): Likewise. ++ (aarch64_function_value_1): Likewise. ++ (aarch64_return_in_memory): Likewise. ++ (aarch64_layout_arg): Likewise. ++ ++2020-01-07 Jakub Jelinek ++ ++ PR tree-optimization/93156 ++ * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second ++ least significant bit is always clear. ++ ++ PR tree-optimization/93118 ++ * match.pd ((x >> c) << c -> x & (-1< ++ ++ * params.opt: Add Optimization for various parameters. ++ ++2020-01-07 Martin Liska ++ ++ PR ipa/83411 ++ * doc/extend.texi: Explain cloning for target_clone ++ attribute. +=20 +- PR target/78478 +- Revert: +- 2013-11-05 Uros Bizjak ++2020-01-07 Martin Liska +=20 +- * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define. ++ PR tree-optimization/92860 ++ * common.opt: Make in Optimization option ++ as it is affected by -O0, which is an Optimization ++ option. ++ * tree-inline.c (tree_inlinable_function_p): ++ Use opt_for_fn for warn_inline. ++ (expand_call_inline): Likewise. +=20 +-2017-01-19 Tamar Christina ++2020-01-07 Martin Liska +=20 +- * config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup): +- Change int to HOST_WIDE_INT. +- * config/aarch64/aarch64-protos.h +- (aarch64_simd_gen_const_vector_dup): Likewise. +- * config/aarch64/aarch64-simd.md: Add copysign3. +- +-2017-01-19 David Malcolm +- +- * langhooks-def.h (lhd_type_for_size): New decl. +- (LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size. +- * langhooks.c (lhd_type_for_size): New function, taken from +- lto_type_for_size. +- +-2017-01-19 Pat Haugen +- +- * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add +- define_bypass for CR latency. +- (power9-cracked-alu): Update bypass latency and remove power9-branch. +- (power9-alu2): Add define_bypass for CR latency. +- (power9-cmp): New. +- (power9-mul): Update insn latency. +- (power9-mul-compare): Update insn latency, bypass latency and remove +- power9-branch. +- +-2016-01-19 Kyrylo Tkachov +- +- * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads): +- Delete. +- * config/aarch64/aarch64.md +- (aarch64_reload_movcp): Delete reference to +- aarch64_nopcrelative_literal_loads. +- (aarch64_reload_movcp): Likewise. +- +-2017-01-19 Chenghua Xu +- +- * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for +- TARGET_LOONGSON_3A. +- (ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A. +- +-2017-01-19 Doug Gilmore +- +- PR target/78176 +- * config.gcc (supported_defaults): Add lxc1-sxc1. +- (with_lxc1_sxc1): Add validation. +- (all_defaults): Add lxc1-sxc1. +- * config/mips/mips.opt (mlxc1-sxc1): New option. +- * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for +- mlxc1-sxc1. +- (TARGET_CPU_CPP_BUILTINS): Add builtin_define for +- __mips_no_lxc1_sxc1. +- (ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1. +- * gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option. +- * doc/install.texi (--with-lxc1-sxc1): Document the new option. +- +-2017-01-19 Richard Biener +- +- PR tree-optimization/72488 +- * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make +- sure to restore SSA info. +- * tree-ssa.c (verify_ssa): Verify SSA info is not shared. +- +-2017-01-19 Richard Earnshaw +- +- PR rtl-optimization/79121 +- * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness +- of the inner type when shifting an extended value. +- +-2017-01-17 Jan Hubicka +- +- PR lto/78407 +- * symtab.c (symtab_node::equal_address_to): Fix comparing of +- interposable aliases. +- +-2017-01-18 Peter Bergner +- +- PR target/78516 +- * config/rs6000/spe.md (mov_si_e500_subreg0): Fix constraints. +- Use the evmergelohi instruction. +- (mov_si_e500_subreg4_2_le): Likewise. +- (mov_sitf_e500_subreg8_2_be): Likewise. +- (mov_sitf_e500_subreg12_2_le): Likewise. +- (mov_si_e500_subreg0_2_le): Fix constraints. +- (mov_si_e500_subreg4_2_be): Likewise. +- (mov_sitf_e500_subreg8_2_le): Likewise. +- (mov_sitf_e500_subreg12_2_be): Likewise. +- +-2017-01-18 Bill Schmidt +- +- * config/rs6000/altivec.md (altivec_vbpermq): Change "type" +- attribute from vecsimple to vecperm. +- (altivec_vbpermq2): Likewise. +- +-2017-01-18 Bill Schmidt +- +- PR target/79040 +- * config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz. +- +-2017-01-18 Aaron Sawdey +- * config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg. +- * config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand +- strcmp. Fix bug where comparison didn't stop with zero byte. Fix +- case where N arg is SIZE_MAX. +- * config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare. +- (cmpstrsi): Add pattern. +- +-2017-01-18 Michael Meissner +- +- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add +- __builtin_vec_revb builtins. +- * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add +- built-in functions to support generation of the ISA 3.0 XXBR +- vector byte reverse instructions. +- (P9V_BUILTIN_XXBRQ_V1TI): Likewise. +- (P9V_BUILTIN_XXBRD_V2DI): Likewise. +- (P9V_BUILTIN_XXBRD_V2DF): Likewise. +- (P9V_BUILTIN_XXBGW_V4SI): Likewise. +- (P9V_BUILTIN_XXBGW_V4SF): Likewise. +- (P9V_BUILTIN_XXBGH_V8HI): Likewise. +- (P9V_BUILTIN_VEC_REVB): Likewise. +- * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to +- generate the ISA 3.0 XXBR vector byte reverse instructions. +- (p9_xxbrq_v16qi): Likewise. +- (p9_xxbrd_, VSX_D iterator): Likewise. +- (p9_xxbrw_, VSX_W iterator): Likewise. +- (p9_xxbrh_v8hi): Likewise. +- * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0. +- * doc/extend.texi (RS/6000 Altivec Built-ins): Document the +- vec_revb built-in functions. +- +-2017-01-18 Uros Bizjak +- +- PR rtl-optimization/78952 +- * config/i386/i386.md (any_extract): New code iterator. +- (*insvqi_2): Use any_extract for source operand. +- (*insvqi_3): Use any_shiftrt for source operand. +- +-2017-01-18 Wilco Dijkstra +- +- * config/aarch64/aarch64.c (aarch64_sched_adjust_priority) +- New function. +- (TARGET_SCHED_ADJUST_PRIORITY): Define target hook. +- +-2017-01-18 Matthias Klose +- +- * doc/install.texi: Allow default for --with-target-bdw-gc-include. +- +-2016-01-18 Bill Schmidt +- +- * config/rs6000/altivec.h (vec_bperm): Change #define. +- * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant. +- (altivec_vbpermq2): New define_insn. +- (altivec_vbpermd): Likewise. +- * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic +- function interface. +- (VBPERMD): Likewise. +- (VBPERM): New polymorphic function interface. +- * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table): +- Add entries for P9V_BUILTIN_VEC_VBPERM. +- * doc/extend.texi: Add interfaces for vec_bperm. +- +-2017-01-18 Andreas Krebbel +- +- * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase +- first letter of error messages. +- (s390_resolve_overloaded_builtin): Likewise. +- * config/s390/s390.c (s390_expand_builtin): Likewise. +- (s390_invalid_arg_for_unprototyped_fn): Likewise. +- (s390_valid_target_attribute_inner_p): Likewise. +- * config/s390/s390.md ("tabort"): Likewise. +- +-2017-01-18 Toma Tabacu +- +- * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro. +- (ISA_AVOID_DIV_HILO): New macro. +- (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro. +- (ISA_HAS_DDIV): Likewise. +- +-2017-01-18 Markus Trippelsdorf +- +- * doc/invoke.texi (fabi-version): Correct number of occurrences. +- +-2017-01-18 Markus Trippelsdorf +- +- * doc/invoke.texi (fabi-version): Spelling fix. +- +-2017-01-18 Markus Trippelsdorf +- +- PR c++/70182 +- * doc/invoke.texi (fabi-version): Mention mangling fix for +- operator names. +- +-2017-01-18 Markus Trippelsdorf +- +- PR c++/77489 +- * doc/invoke.texi (fabi-version): Document discriminator mangling. +- +-2017-01-17 Segher Boessenkool +- +- PR target/78875 +- * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum. +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle +- the new options. +- * config/rs6000/rs6000.md (stack_protect_set): Handle the new more +- flexible settings. +- (stack_protect_test): Ditto. +- * config/rs6000/rs6000.opt (mstack-protector-guard=3D, +- mstack-protector-guard-reg=3D, mstack-protector-guard-offset=3D): New +- options. +- * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]: +- Add -mstack-protector-guard=3D, -mstack-protector-guard-reg=3D, and +- -mstack-protector-guard-offset=3D. +- (RS/6000 and PowerPC Options): Ditto. +- +-2017-01-17 Uros Bizjak +- +- * config/i386/i386.h (MASK_CLASS_P): New define. +- * config/i386/i386.c (inline_secondary_memory_needed): Ensure that +- there are no registers from different register sets also when +- mask registers are used. Update function comment. +- * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative +- to (*k/*r) and (*k/*km) alternatives. +- +-2017-01-17 Wilco Dijkstra +- +- * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter. +- * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove. +- (EH_RETURN_HANDLER_RTX): New define. +- * config/aarch64/aarch64.c (aarch64_frame_pointer_required): +- Force frame pointer in EH return functions. +- (aarch64_expand_epilogue): Add barrier for eh_return. +- (aarch64_final_eh_return_addr): Remove. +- (aarch64_eh_return_handler_rtx): New function. +- * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr): +- Remove. +- (aarch64_eh_return_handler_rtx): New prototype. +- +-2017-01-17 Bill Schmidt +- +- * config/rs6000/altivec.h (vec_rlmi): New #define. +- (vec_vrlnm): Likewise. +- (vec_rlnm): Likewise. +- * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value. +- (UNSPEC_VRLNM): Likewise. +- (VIlong): New mode iterator. +- (altivec_vrlmi): New define_insn. +- (altivec_vrlnm): Likewise. +- * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic +- function entry. +- (VRLDNM): Likewise. +- (RLNM): New polymorphic function entry. +- (VRLWMI): New monomorphic function entry. +- (VRLDMI): Likewise. +- (RLMI): New polymorphic function entry. +- * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add +- new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM. +- * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and +- vec_vrlnm. +- +-2017-01-17 Jakub Jelinek +- +- PR debug/78839 +- * dwarf2out.c (field_byte_offset): Restore the +- PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET +- and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold. +- (analyze_variants_discr, gen_variant_part): Use fold_build2 instead +- of build2 + fold. +- +-2017-01-17 Eric Botcazou +- +- PR ada/67205 +- * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define +- +-2017-01-17 Jakub Jelinek +- +- PR debug/71669 +- * dwarf2out.c (add_data_member_location_attribute): For constant +- offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute +- instead of DW_AT_data_member_location, DW_AT_bit_offset and +- DW_AT_byte_size attributes. +- +-2017-01-17 Eric Botcazou +- +- * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference +- after forcing to constant memory when the code model is medium. +- +-2017-01-17 Julia Koval +- +- PR target/76731 +- * config/i386/avx512fintrin.h +- (_mm512_i32gather_ps): Change __addr type to void const*. +- (_mm512_mask_i32gather_ps): Ditto. +- (_mm512_i32gather_pd): Ditto. +- (_mm512_mask_i32gather_pd): Ditto. +- (_mm512_i64gather_ps): Ditto. +- (_mm512_mask_i64gather_ps): Ditto. +- (_mm512_i64gather_pd): Ditto. +- (_mm512_mask_i64gather_pd): Ditto. +- (_mm512_i32gather_epi32): Ditto. +- (_mm512_mask_i32gather_epi32): Ditto. +- (_mm512_i32gather_epi64): Ditto. +- (_mm512_mask_i32gather_epi64): Ditto. +- (_mm512_i64gather_epi32): Ditto. +- (_mm512_mask_i64gather_epi32): Ditto. +- (_mm512_i64gather_epi64): Ditto. +- (_mm512_mask_i64gather_epi64): Ditto. +- (_mm512_i32scatter_ps): Change __addr type to void*. +- (_mm512_mask_i32scatter_ps): Ditto. +- (_mm512_i32scatter_pd): Ditto. +- (_mm512_mask_i32scatter_pd): Ditto. +- (_mm512_i64scatter_ps): Ditto. +- (_mm512_mask_i64scatter_ps): Ditto. +- (_mm512_i64scatter_pd): Ditto. +- (_mm512_mask_i64scatter_pd): Ditto. +- (_mm512_i32scatter_epi32): Ditto. +- (_mm512_mask_i32scatter_epi32): Ditto. +- (_mm512_i32scatter_epi64): Ditto. +- (_mm512_mask_i32scatter_epi64): Ditto. +- (_mm512_i64scatter_epi32): Ditto. +- (_mm512_mask_i64scatter_epi32): Ditto. +- (_mm512_i64scatter_epi64): Ditto. +- (_mm512_mask_i64scatter_epi64): Ditto. +- * config/i386/avx512pfintrin.h +- (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*. +- (_mm512_mask_prefetch_i32gather_ps): Ditto. +- (_mm512_mask_prefetch_i64gather_pd): Ditto. +- (_mm512_mask_prefetch_i64gather_ps): Ditto. +- (_mm512_prefetch_i32scatter_pd): Change __addr type to void*. +- (_mm512_prefetch_i32scatter_ps): Ditto. +- (_mm512_mask_prefetch_i32scatter_pd): Ditto. +- (_mm512_mask_prefetch_i32scatter_ps): Ditto. +- (_mm512_prefetch_i64scatter_pd): Ditto. +- (_mm512_prefetch_i64scatter_ps): Ditto. +- (_mm512_mask_prefetch_i64scatter_pd): Ditto. +- (_mm512_mask_prefetch_i64scatter_ps): Ditto. +- * config/i386/avx512vlintrin.h +- (_mm256_mmask_i32gather_ps): Change __addr type to void const*. +- (_mm_mmask_i32gather_ps): Ditto. +- (_mm256_mmask_i32gather_pd): Ditto. +- (_mm_mmask_i32gather_pd): Ditto. +- (_mm256_mmask_i64gather_ps): Ditto. +- (_mm_mmask_i64gather_ps): Ditto. +- (_mm256_mmask_i64gather_pd): Ditto. +- (_mm_mmask_i64gather_pd): Ditto. +- (_mm256_mmask_i32gather_epi32): Ditto. +- (_mm_mmask_i32gather_epi32): Ditto. +- (_mm256_mmask_i32gather_epi64): Ditto. +- (_mm_mmask_i32gather_epi64): Ditto. +- (_mm256_mmask_i64gather_epi32): Ditto. +- (_mm_mmask_i64gather_epi32): Ditto. +- (_mm256_mmask_i64gather_epi64): Ditto. +- (_mm_mmask_i64gather_epi64): Ditto. +- (_mm256_i32scatter_ps): Change __addr type to void*. +- (_mm256_mask_i32scatter_ps): Ditto. +- (_mm_i32scatter_ps): Ditto. +- (_mm_mask_i32scatter_ps): Ditto. +- (_mm256_i32scatter_pd): Ditto. +- (_mm256_mask_i32scatter_pd): Ditto. +- (_mm_i32scatter_pd): Ditto. +- (_mm_mask_i32scatter_pd): Ditto. +- (_mm256_i64scatter_ps): Ditto. +- (_mm256_mask_i64scatter_ps): Ditto. +- (_mm_i64scatter_ps): Ditto. +- (_mm_mask_i64scatter_ps): Ditto. +- (_mm256_i64scatter_pd): Ditto. +- (_mm256_mask_i64scatter_pd): Ditto. +- (_mm_i64scatter_pd): Ditto. +- (_mm_mask_i64scatter_pd): Ditto. +- (_mm256_i32scatter_epi32): Ditto. +- (_mm256_mask_i32scatter_epi32): Ditto. +- (_mm_i32scatter_epi32): Ditto. +- (_mm_mask_i32scatter_epi32): Ditto. +- (_mm256_i32scatter_epi64): Ditto. +- (_mm256_mask_i32scatter_epi64): Ditto. +- (_mm_i32scatter_epi64): Ditto. +- (_mm_mask_i32scatter_epi64): Ditto. +- (_mm256_i64scatter_epi32): Ditto. +- (_mm256_mask_i64scatter_epi32): Ditto. +- (_mm_i64scatter_epi32): Ditto. +- (_mm_mask_i64scatter_epi32): Ditto. +- (_mm256_i64scatter_epi64): Ditto. +- (_mm256_mask_i64scatter_epi64): Ditto. +- (_mm_i64scatter_epi64): Ditto. +- (_mm_mask_i64scatter_epi64): Ditto. +- * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) +- (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) +- (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) +- (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) +- (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) +- (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) +- (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) +- (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) +- (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) +- (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) +- (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) +- (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) +- (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) +- (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) +- (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) +- (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) +- (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) +- (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) +- (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) +- (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) +- (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) +- (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) +- (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) +- (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) +- (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) +- (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) +- (VOID_QI_V8DI_PCINT_INT_INT): Remove. +- (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) +- (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) +- (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) +- (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) +- (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) +- (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) +- (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) +- (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) +- (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) +- (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT +- (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) +- (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) +- (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) +- (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) +- (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) +- (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) +- (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) +- (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) +- (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) +- (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) +- (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) +- (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) +- (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) +- (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) +- (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) +- (VOID_QI_V8DI_PCVOID_INT_INT): Add. +- * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin +- definitions accordingly. +- +-2017-01-17 Kito Cheng +- Kuan-Lin Chen +- +- PR target/79079 +- * internal-fn.c (expand_mul_overflow): Use convert_modes instead of +- gen_lowpart. +- +-2017-01-17 Vladimir Makarov +- +- PR target/79058 +- * ira-conflicts.c (ira_build_conflicts): Update total conflict +- hard regs for inner regno. +- +-2017-01-17 Martin Liska +- +- PR ipa/71207 +- * ipa-polymorphic-call.c (contains_type_p): Fix wrong +- assumption and add comment. +- +-2017-01-17 Nathan Sidwell +- +- * ipa-visibility.c (localize_node): New function, broken out of ... +- (function_and_variable_visibility): ... here. Call it. +- +-2017-01-17 Jan Hubicka +- +- PR middle-end/77445 +- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): +- correctly set frequency of oudgoing edge. +- (duplicate_thread_path): Fix profile updating. +- +-2017-01-17 Jakub Jelinek +- +- PR other/79046 +- * configure.ac: Add GCC_BASE_VER. +- * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get +- version from BASE-VER file. +- (CFLAGS-gcc.o): Add -DBASEVER=3D$(BASEVER_s). +- (gcc.o): Depend on $(BASEVER). +- * common.opt (dumpfullversion): New option. +- * gcc.c (driver_handle_option): Handle OPT_dumpfullversion. +- * doc/invoke.texi: Document -dumpfullversion. +- * doc/install.texi: Document --with-gcc-major-version-only. +- * configure: Regenerated. ++ PR tree-optimization/92860 ++ * common.opt: Make flag_ree as optimization ++ attribute.=20 +=20 +-2017-01-17 Richard Biener +- +- PR tree-optimization/71433 +- * tree-vrp.c (register_new_assert_for): Merge same asserts +- on all incoming edges. +- (process_assert_insertions_for): Handle insertions at the +- beginning of BBs. ++2020-01-07 Martin Liska +=20 +-2017-01-17 Gerald Pfeifer ++ PR optimization/92860 ++ * params.opt: Mark param_min_crossjump_insns with Optimization ++ keyword. +=20 +- * config/i386/cygwin.h (LIBGCJ_SONAME): Remove. +- * config/i386/mingw32.h (LIBGCJ_SONAME): Remove. ++2020-01-07 Luo Xiong Hu +=20 +-2017-01-17 Kaz Kojima ++ * ipa-inline-analysis.c (estimate_growth): Fix typo. ++ * ipa-inline.c (caller_growth_limits): Use OR instead of AND. +=20 +- PR target/78633 +- * config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid +- RTL sharing. ++2020-01-06 Michael Meissner +=20 +-2017-01-17 Alan Modra ++ * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New ++ helper function to return the valid addressing formats for a given ++ hard register and mode. ++ (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask. +=20 +- PR target/79066 +- * config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic. +- * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow +- symbolic stack limit when pic. ++ * config/rs6000/constraints.md (Q constraint): Update ++ documentation. ++ * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint ++ documentation. +=20 +-2017-01-16 Martin Sebor ++ * config/rs6000/vsx.md (vsx_extract__var, VSX_D iterator): ++ Use 'Q' for doing vector extract from memory. ++ (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from ++ memory. ++ (vsx_extract__var, VSX_EXTRACT_I iterator): Use 'Q' for ++ doing vector extract from memory. ++ (vsx_extract__mode_var): Use 'Q' for doing vector ++ extract from memory. +=20 +- PR tree-optimization/78608 +- * gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN. ++ * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support ++ for the offset being 34-bits when -mcpu=3Dfuture is used. +=20 +-2017-01-16 Jeff Law ++2020-01-06 John David Anglin +=20 +- Revert: +- 2016-12-02 Tadek Kijkowski +- * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection +- for several include directories that may be relative to sysroot. +- * config/i386/x-mingw32 (gplus_includedir): Define. +- (gplus_tool_includedir, gplus_backward_include_dir): Likewise. +- (native_system_includedir): Likewise. +- * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not +- override if TARGET_SYSTEM_ROOT is defined. +- (NATIVE_SYSTEM_HEADER_DIR): Likewise. ++ * config/pa/pa.md: Revert change to use ordered_comparison_operator ++ instead of cmpib_comparison_operator in cmpib patterns. ++ * config/pa/predicates.md (cmpib_comparison_operator): Revert removal ++ of cmpib_comparison_operator. Revise comment. +=20 +- PR tree-optimization/79090 +- PR tree-optimization/33562 +- PR tree-optimization/61912 +- PR tree-optimization/77485 +- * tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT +- and computed trims into the dump file. ++2020-01-06 Richard Sandiford +=20 +-2017-01-17 Uros Bizjak ++ * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts ++ in an IFN_DIV_POW2 node to be equal. +=20 +- * config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove. ++2020-01-06 Richard Sandiford +=20 +-2017-01-16 Jakub Jelinek ++ * tree-vect-stmts.c (vect_check_load_store_mask): Rename to... ++ (vect_check_scalar_mask): ...this. ++ (vectorizable_store, vectorizable_load): Update call accordingly. ++ (vectorizable_call): Use vect_check_scalar_mask to check the mask ++ argument in calls to conditional internal functions. +=20 +- PR c/79089 +- * gimplify.c (gimplify_init_constructor): If want_value and +- object =3D=3D lhs, unshare lhs to avoid invalid tree sharing. Formatting +- fix. ++2020-01-06 Andrew Stubbs +=20 +- PR target/79080 +- * loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on +- sequence. Formatting fixes. +- (doloop_optimize): Formatting fixes. ++ * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for ++ '0' matching inputs. ++ (subv64di3_exec): Likewise. +=20 +- PR driver/49726 +- * gcc.c (debug_level_greater_than_spec_func): New function. +- (static_spec_functions): Add debug-level-gt spec function. +- (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of +- !g0. +- * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. +- * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. +- * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames, +- gpubnames, ggnu-pubnames, gno-record-gcc-switches, +- grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs, +- gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag. ++2020-01-06 Bryan Stenson +=20 +-2017-01-16 Uros Bizjak ++ * config/mips/mips.c (vr4130_align_insns): Fix typo. ++ * doc/md.texi (movstr): Likewise. +=20 +- * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and +- QImode fixups to general and mask registers only. ++2020-01-06 Andrew Stubbs +=20 +-2017-01-16 Carl Love ++ * config/gcn/gcn-valu.md (vec_extract): Add early ++ clobber. +=20 +- * config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support +- for built-in functions +- vector signed char vec_nabs (vector signed char) +- vector signed short vec_nabs (vector signed short) +- vector signed int vec_nabs (vector signed int) +- vector signed long long vec_nabs (vector signed long long) +- vector float vec_nabs (vector float) +- vector double vec_nabs (vector double) +- * config/rs6000/rs6000-builtin.def: Add definitions for NABS functions +- and NABS overload. +- * config/rs6000/altivec.md: New define_expand nabs2 types +- * config/rs6000/altivec.h: New define for vec_nabs built-in function. +- * doc/extend.texi: Update the documentation file for the new built-in +- functions. ++2020-01-06 Richard Sandiford +=20 +-2017-01-16 Martin Sebor ++ * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md): ++ Depend on... ++ (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents ++ to a temporary file and use move-if-change to update the real ++ file where necessary. +=20 +- * gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning +- message. ++2020-01-06 Richard Sandiford +=20 +-2017-01-16 Bill Schmidt ++ * config/aarch64/aarch64-sve.md (@aarch64_sel_dup): Use Upl ++ rather than Upa for CPY /M. +=20 +- * config/rs6000/rs6000.c (rtx_is_swappable_p): Change +- UNSPEC_VSX__XXSPLTD to require special splat handling. ++2020-01-06 Andrew Stubbs +=20 +-2017-01-16 David Malcolm ++ * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline ++ immediate. +=20 +- PR bootstrap/78616 +- * system.h: Poison strndup. +- +-2017-01-16 Alan Modra ++2020-01-06 Martin Liska +=20 +- PR target/79098 +- * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't +- use a switch. +- +-2017-01-16 Georg-Johann Lay ++ PR tree-optimization/92860 ++ * params.opt: Mark param_max_combine_insns with Optimization ++ keyword.=20 +=20 +- * config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4. ++2020-01-05 Jakub Jelinek +=20 +-2017-01-15 Uros Bizjak ++ PR target/93141 ++ * config/i386/i386.md (SWIDWI): New mode iterator. ++ (DWI, dwi): Add TImode variants. ++ (addv4): Use SWIDWI iterator instead of SWI. Use ++ instead of . Use ++ CONST_SCALAR_INT_P instead of CONST_INT_P. ++ (*addv4_1): Rename to ... ++ (addv4_1): ... this. ++ (QWI): New mode attribute. ++ (*addv4_doubleword, *addv4_doubleword_1): New ++ define_insn_and_split patterns. ++ (*addv4_overflow_1, *addv4_overflow_2): New define_insn ++ patterns. ++ (uaddv4): Use SWIDWI iterator instead of SWI. Use ++ instead of . ++ (*addcarry_1): New define_insn. ++ (*add3_doubleword_cc_overflow_1): New define_insn_and_split. ++ ++2020-01-03 Konstantin Kharlamov ++ ++ * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm): ++ Use "call" instead of "set". ++ ++2020-01-03 Martin Jambor +=20 +- * config/i386/i386.c (ix86_legitimate_combined_insn): Do not +- call recog here. Assert that INSN_CODE (insn) is non-negative. ++ PR ipa/92917 ++ * ipa-cp.c (print_all_lattices): Skip functions without info. ++ ++2020-01-03 Jakub Jelinek +=20 +-2017-01-15 Segher Boessenkool +- +- PR target/72749 +- * cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the +- fallthrough. +- * haifa-sched.c (dump_insn_stream): Don't crash if there is a label +- in the currently scheduled RTL fragment. +- +-2017-01-15 Segher Boessenkool +- +- PR rtl-optimization/78751 +- * ifcvt.c (find_cond_trap): If we generated a non-existing insn, +- give up. +- +-2017-01-14 Jeff Law +- +- PR tree-optimization/79090 +- * tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and +- variable length stores. +- (compute_trims): Delete dead assignment to *trim_tail. +- (dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with +- zero length. +- +-2017-01-14 Bernd Schmidt +- +- PR rtl-optimization/78626 +- PR rtl-optimization/78727 +- * cprop.c (one_cprop_pass): Collect unconditional traps in the middle +- of a block, and split such blocks after everything else is finished. +- +-2017-01-14 Alan Modra +- +- PR target/72749 +- * combine.c (recog_for_combine_1): Set INSN_CODE before calling +- target legitimate_combined_insn. +- * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define. +- (rs6000_legitimate_combined_insn): New function. +- * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove +- all uses. +- (ctr_internal3): Rename from *ctr_internal5. +- (ctr_internal4): Rename from *ctr_internal6. +- (ctr_internal1, ctr_internal2): Remove '*' from name. +- +-2017-01-14 Gerald Pfeifer +- +- * doc/frontends.texi (G++ and GCC): Remove references to Java. +- +-2017-01-13 Jeff Law +- +- PR tree-optimization/33562 +- PR tree-optimization/61912 +- PR tree-optimization/77485 +- * tree-ssa-dse.c (delete_dead_call): Accept gsi rather than +- a statement. +- (delete_dead_assignment): Likewise. +- (dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than +- statement to delete_dead_call and delete_dead_assignment. +- +-2017-01-13 David Malcolm +- +- PR c/78304 +- * substring-locations.c (format_warning_va): Strengthen case 1 so +- that both endpoints of the substring must be within the format +- range for just the substring to be printed. +- +-2017-01-13 Uros Bizjak ++ PR target/93089 ++ * config/i386/i386-options.c (ix86_simd_clone_adjust): If ++ TARGET_PREFER_AVX128, use prefer-vector-width=3D256 for 'c' and 'd' ++ simd clones. If TARGET_PREFER_AVX256, use prefer-vector-width=3D512 ++ for 'e' simd clones. +=20 +- * config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable. +- * config/i386/i386.c (ix86_target_string): Add missing options +- to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to +- isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to +- flags_other and ix86_target_other to flags2_other. Display unknown +- isa2 options. +- (ix86_valid_target_attribute_inner_p): Add missing options and +- reorder options by implied ISAs, as in ix86_target_string. ++ PR target/93089 ++ * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave ++ entry. ++ (mprefer-vector-width=3D): Add Save. ++ * config/i386/i386-options.c (ix86_target_string): Add PVW argument, pri= nt ++ -mprefer-vector-width=3D if non-zero. Fix up -mfpmath=3D comment. ++ (ix86_debug_options, ix86_function_specific_print): Adjust ++ ix86_target_string callers. ++ (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=3D. ++ (ix86_valid_target_attribute_tree): Likewise. ++ * config/i386/i386-options.h (ix86_target_string): Add PVW argument. ++ * config/i386/i386-expand.c (ix86_expand_builtin): Adjust ++ ix86_target_string caller. +=20 +-2017-01-13 Richard Sandiford +- +- * hash-table.h (hash_table::too_empty_p): New function. +- (hash_table::expand): Use it. +- (hash_table::traverse): Likewise. +- (hash_table::empty_slot): Use sizeof (value_type) instead of +- sizeof (PTR) to convert bytes to elements. Shrink the table +- if the current size is excessive for the current number of +- elements. +- +-2017-01-13 Richard Sandiford +- +- * ira-costs.c (record_reg_classes): Break from the inner loop +- early once alt_fail is known to be true. Update outer loop +- handling accordingly. +- +-2017-01-13 Jeff Law +- +- * tree-ssa-dse.c (decrement_count): New function. +- (increment_start_addr, maybe_trim_memstar_call): Likewise. +- (dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly +- when we know the partially dead statement is a mem* function. +- +- PR tree-optimization/61912 +- PR tree-optimization/77485 +- * tree-ssa-dse.c: Include expr.h. +- (maybe_trim_constructor_store): New function. +- (maybe_trim_partially_dead_store): Call maybe_trim_constructor_store. +- +- PR tree-optimization/33562 +- PR tree-optimization/61912 +- PR tree-optimization/77485 +- * doc/invoke.texi: Document new dse-max-object-size param. +- * params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM. +- * tree-ssa-dse.c: Include params.h. +- (dse_store_status): New enum. +- (initialize_ao_ref_for_dse): New, partially extracted from +- dse_optimize_stmt. +- (valid_ao_ref_for_dse, normalize_ref): New. +- (setup_live_bytes_from_ref, compute_trims): Likewise. +- (clear_bytes_written_by, maybe_trim_complex_store): Likewise. +- (maybe_trim_partially_dead_store): Likewise. +- (maybe_trim_complex_store): Likewise. +- (dse_classify_store): Renamed from dse_possibly_dead_store_p. +- Track what bytes live from the original store. Return tri-state +- for dead, partially dead or live. +- (dse_dom_walker): Add constructor, destructor and new private members. +- (delete_dead_call, delete_dead_assignment): New extracted from +- dse_optimize_stmt. +- (dse_optimize_stmt): Make a member of dse_dom_walker. +- Use initialize_ao_ref_for_dse. +- +- PR tree-optimization/33562 +- PR tree-optimization/61912 +- PR tree-optimization/77485 +- * sbitmap.h (bitmap_count_bits): Prototype. +- (bitmap_clear_range, bitmap_set_range): Likewise. +- * sbitmap.c (bitmap_clear_range): New function. +- (bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise. +- +-2017-01-13 Martin Liska +- +- PR ipa/79043 +- * function.c (set_cfun): Add new argument force. +- * function.h (set_cfun): Likewise. +- * ipa-inline-transform.c (inline_call): Use the function when +- strict alising from is dropped for function we inline to. +- +-2017-01-13 Richard Biener +- +- * tree-pretty-print.c (dump_generic_node): Fix inverted condition +- for dumping GIMPLE INTEGER_CSTs. +- +-2017-01-13 Rainer Orth +- +- * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__ +- to 201112L since C++17. +- +-2017-01-13 Maxim Ostapenko +- +- PR sanitizer/78887 +- * asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators +- if -fsanitize=3Dkernel-address is present. +- +-2017-01-13 Richard Biener +- +- * tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs +- as _Literal ( type ) number in case usual suffixes do not +- preserve all information. +- +-2017-01-13 Richard Biener +- +- PR tree-optimization/77283 +- * gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h +- and ssa-iterators.h. +- (is_feasible_trace): Implement a cost model based on joiner +- PHI node uses. +- +-2017-01-12 Michael Meissner +- +- PR target/79004 +- * config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting +- char or short to __float128/_Float128 directly. +- +-2017-01-12 Martin Sebor +- +- to -Wformat-overflow. +- * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust. +- (min_bytes_remaining): Same. +- (get_string_length): Same. +- (format_string): Same. +- (format_directive): Same. +- (add_bytes): Same. +- (pass_sprintf_length::handle_gimple_call): Same. +- +-2017-01-12 Jakub Jelinek +- +- * gimple-ssa-sprintf.c (try_substitute_return_value): Remove +- info.nowrite calls with no lhs that can't throw. Return bool +- whether gsi_remove has been called or not. +- (pass_sprintf_length::handle_gimple_call): Return bool whether +- try_substitute_return_value called gsi_remove. Formatting fix. +- (pass_sprintf_length::execute): Don't use gsi_remove if +- handle_gimple_call returned true. +- +- PR bootstrap/79069 +- * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't +- be removed due to side-effects, don't remove following barrier nor +- turn the successor edge into fallthru edge. +- +-2017-01-12 Bill Schmidt +- +- PR target/79044 +- * config/rs6000/rs6000.c (insn_is_swappable_p): Mark +- element-reversing loads and stores as not swappable. +- +-2017-01-12 Nathan Sidwell +- Nicolai Stange +- +- * combine.c (try_combine): Don't ignore result of overlap checking +- loop. Combine overlap & asm check into single loop. +- +-2017-01-12 Richard Biener +- +- * tree-pretty-print.c (dump_generic_node): Provide -gimple +- variant for MEM_REF. Sanitize INTEGER_CST for -gimple. +- +-2017-01-12 Richard Biener +- +- * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION +- and TS_TARGET_OPTION directly derive from TS_BASE. +- * tree-core.h (tree_optimization_option): Derive from tree_base. +- (tree_target_option): Likewise. +- +-2017-01-11 Uros Bizjak +- +- * config/i386/i386.c (memory_address_length): Increase len +- only when rip_relative_addr_p returns false. +- +-2017-01-11 Julia Koval +- +- * common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New. +- (OPTION_MASK_ISA_SGX_SET): New. +- (ix86_handle_option): Handle OPT_msgx. +- * config.gcc: Added sgxintrin.h. +- * config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx. +- * config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__. +- * config/i386/i386.c (ix86_target_string): Add -msgx. +- (PTA_SGX): New. +- (ix86_option_override_internal): Handle new options. +- (ix86_valid_target_attribute_inner_p): Add sgx. +- * config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New. +- * config/i386/i386.opt: Add msgx. +- * config/i386/sgxintrin.h: New file. +- * config/i386/x86intrin.h: Add sgxintrin.h. +- +-2017-01-11 Jakub Jelinek +- +- PR c++/71537 +- * fold-const.c (maybe_nonzero_address): Return 1 for function +- local objects. +- (tree_single_nonzero_warnv_p): Don't handle function local objects +- here. +- +- PR c++/72813 +- * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps +- of c-header. +- +-2017-01-11 David Malcolm +- +- PR driver/78877 +- * opts.c: Include "spellcheck.h" +- (struct string_fragment): New struct. +- (struct edit_distance_traits): New +- struct. +- (get_closest_sanitizer_option): New function. +- (parse_sanitizer_options): Offer suggestions for unrecognized arguments. +- +-2017-01-11 Jakub Jelinek +- +- * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease +- by 12. +- (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always +- DWARF_COMPILE_UNIT_HEADER_SIZE plus 12. +- (DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define. +- (calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE +- for initial die_offset if dwarf_split_debug_info. +- (output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for +- initial next_die_offset if dwo_id is non-NULL. Don't emit padding +- fields. +- (output_skeleton_debug_sections): Formatting fix. Use +- DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of +- DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding. +- +-2017-01-11 Wilco Dijkstra +- +- * config/arm/cortex-a53.md: Add bypasses for +- cortex_a53_r2f_cvt. +- (cortex_a53_r2f): Only use for transfers. +- (cortex_a53_f2r): Likewise. +- (cortex_a53_r2f_cvt): Add reservation for conversions. +- (cortex_a53_f2r_cvt): Likewise. +- +-2017-01-11 Tamar Christina +- +- * config/arm/arm_neon.h: Add __artificial__ and gnu_inline +- to all inlined functions, change static to extern. +- +-2017-01-11 Christophe Lyon +- +- PR target/78253 +- * config/arm/arm.c (legitimize_pic_address): Handle reference to +- weak symbol. +- (arm_assemble_integer): Likewise. +- +-2017-01-11 Richard Earnshaw +- +- * config.gcc: Use new awk script to check CPU, FPU and architecture +- parameters for --with-... options. +- * config/arm/parsecpu.awk: New file +- * config/arm/arm-cpus.in: New file. +- * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def +- files. +- * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def +- files. +- * config/arm/t-arm: Update dependency rules. +- * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead +- of processing .def files. +- * config/arm/genopt.sh: Deleted. +- * config/arm/gentune.sh: Deleted. +- * config/arm/arm-cores.def: Deleted. +- * config/arm/arm-arches.def: Deleted. +- * config/arm/arm-fpus.def: Deleted. +- * config/arm/arm-tune.md: Regenerated. ++ PR target/93110 ++ * config/i386/i386.md (abs2): Use expand_simple_binop instead of ++ emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode ++ instead of gen_int_shift_amount + convert_modes. ++ ++ PR rtl-optimization/93088 ++ * loop-iv.c (find_single_def_src): Punt after looking through ++ 128 reg copies for regs with single definitions. Move definitions ++ to first uses. ++ ++2020-01-02 Dennis Zhang ++ ++ * config/arm/arm-c.c (arm_cpu_builtins): Define ++ __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC, ++ __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and ++ __ARM_BF16_FORMAT_ALTERNATIVE when enabled. ++ * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features. + * config/arm/arm-tables.opt: Regenerated. +- * config/arm/arm-cpu.h: New generated file. +- * config/arm/arm-cpu-data.h: New generated file. +- * config/arm/arm-cpu-cdata.h: New generated file. +- +-2017-01-11 Maxim Ostapenko +- +- PR lto/79042 +- * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized +- bit. +- (input_varpool_node): Unpack dynamically_initialized bit. +- +-2017-01-11 Eric Botcazou +- +- PR rtl-optimization/79032 +- * lra-constraints.c (simplify_operand_subreg): In the MEM case, test +- the alignment of the adjusted memory reference against that of MODE, +- instead of the alignment of the original memory reference. +- +-2017-01-11 Martin Jambor +- +- * hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL +- test. +- * ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial +- decorated functions. +- +-2017-01-11 Richard Biener +- +- * tree-vrp.c (evrp_dom_walker::before_dom_children): Also +- set range/nonnull info for PHI results. Do not set it on +- stmts marked for removal. +- +-2017-01-10 Eric Botcazou +- +- * expr.c (store_field): In the bitfield case, fetch the return value +- from the registers before applying a single big-endian adjustment. +- Always do a final load for a BLKmode value not larger than a word. +- +-2017-01-10 David Malcolm +- +- PR c++/77949 +- * input.c (selftest::test_accessing_ordinary_linemaps): Verify +- that we correctly handle column numbers greater than +- LINE_MAP_MAX_COLUMN_NUMBER. +- +-2017-01-10 Martin Sebor +- +- PR middle-end/78245 +- * gimple-ssa-sprintf.c (get_destination_size): Call +- {init,fini}object_sizes. +- * tree-object-size.c (addr_object_size): Adjust. +- (pass_through_call): Adjust. +- (pass_object_sizes::execute): Adjust. +- * tree-object-size.h (fini_object_sizes): Declare. +- +-2017-01-10 Martin Sebor +- +- PR tree-optimization/78775 +- * builtins.c (get_size_range): Move... +- * calls.c: ...to here. +- (alloc_max_size): Accept zero argument. +- (operand_signed_p): Remove. +- (maybe_warn_alloc_args_overflow): Call get_size_range. +- * calls.h (get_size_range): Declare. +- +-2017-01-10 Joe Seymour +- +- * config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data +- from TI's devices.csv file as of September 2016. +- * config/msp430/msp430.c (msp430_mcu_data): Likewise. +- +-2017-01-10 Sandra Loosemore +- +- * doc/extend.texi: Tweak formatting to fix overfull hbox warnings. +- * doc/invoke.texi: Likewise. +- * doc/md.texi: Likewise. +- * doc/objc.texi: Likewise. +- +-2017-01-10 Joshua Conner +- +- * config/arm/fuchsia-elf.h: New file. +- * config/fuchsia.h: New file. +- * config.gcc (*-*-fuchsia*): Set native_system_header_dir. +- (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to +- targets. +- * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts. +- +-2016-01-10 Richard Biener +- +- PR tree-optimization/79034 +- * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): +- Propagate out degenerate PHIs in the joiner. +- +-2017-01-10 Martin Liska +- +- * ipa-icf.c (sort_sem_items_by_decl_uid): New function. +- (sort_congruence_classes_by_decl_uid): Likewise. +- (sort_congruence_class_groups_by_decl_uid): Likewise. +- (sem_item_optimizer::merge_classes): Sort class, groups in these +- classes and members in the groups by DECL_UID of declarations. +- This would make merge operations stable. +- +-2017-01-10 Martin Liska +- +- * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove +- usage of m_classes_vec. +- (sem_item_optimizer::~sem_item_optimizer): Likewise. +- (sem_item_optimizer::get_group_by_hash): Likewise. +- (sem_item_optimizer::subdivide_classes_by_equality): Likewise. +- (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise. +- (sem_item_optimizer::verify_classes): Likewise. +- (sem_item_optimizer::process_cong_reduction): Likewise. +- (sem_item_optimizer::dump_cong_classes): Likewise. +- (sem_item_optimizer::merge_classes): Likewise. +- * ipa-icf.h (congruence_class_hash): Rename from +- congruence_class_group_hash. Remove declaration of m_classes_vec. +- +-2017-01-10 Andrew Senkevich +- +- * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET, +- OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New. +- * config.gcc: Add avx512vpopcntdqintrin.h. +- * config/i386/avx512vpopcntdqintrin.h: New. +- * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New. +- * config/i386/i386-builtin-types.def: Add new types. +- * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si, +- __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di, +- __builtin_ia32_vpopcountq_v8di_mask): New. +- * config/i386/i386-c.c (ix86_target_macros_internal): Define +- __AVX512VPOPCNTDQ__. +- * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq. +- (PTA_AVX512VPOPCNTDQ): Define. +- * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ, +- TARGET_AVX512VPOPCNTDQ_P): Define. +- * config/i386/i386.opt: Add mavx512vpopcntdq. +- * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h. +- * config/i386/sse.md (define_insn "vpopcount"): New. +- +-2017-01-01 Jan Hubicka +- +- PR middle-end/77484 +- * predict.def (PRED_CALL): Set to 67. +- +-2017-01-09 Eric Botcazou +- +- * expr.c (store_field): In the bitfield case, if the value comes from +- a function call and is of an aggregate type returned in registers, do +- not modify the field mode; extract the value in all cases if the mode +- is BLKmode and the size is not larger than a word. +- +-2017-01-09 Dominique d'Humieres +- +- PR target/71017 +- * config/i386/cpuid.h: Fix undefined behavior. +- +-2017-01-04 Jeff Law +- +- PR tree-optimization/79007 +- PR tree-optimization/67955 +- * tree-ssa-alias.c (same_addr_size_stores_p): Only need to be +- conservative for pt.null when flag_non_call_exceptions is on. +- +-2017-01-09 Jakub Jelinek +- +- PR translation/79019 +- PR translation/79020 +- * params.def (PARAM_INLINE_MIN_SPEEDUP, +- PARAM_IPA_CP_SINGLE_CALL_PENALTY, +- PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos +- in descriptions. +- * config/avr/avr.opt (maccumulate-args): Likewise. +- * config/msp430/msp430.opt (mwarn-mcu): Likewise. +- * common.opt (freport-bug): Likewise. +- * cif-code.def (CIF_FINAL_ERROR): Likewise. +- * doc/invoke.texi (ipa-cp-single-call-penalty): Likewise. +- * config/s390/s390.c (s390_invalid_binary_op): Fix spelling in +- translatable string. +- * config/i386/i386.c (function_value_32): Likewise. +- * config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise. +- * config/msp430/msp430.c (msp430_option_override, msp430_attr): +- Likewise. +- * config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise. +- * common/config/msp430/msp430-common.c (msp430_handle_option): +- Likewise. +- * symtab.c (symtab_node::verify_base): Likewise. +- * opts.c (set_debug_level): Likewise. +- * tree.c (verify_type_variant): Likewise. Fix typo in comment. +- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add +- missing whitespace to translatable strings. +- * config/avr/avr.md (bswapsi2): Fix typo in comment. +- * config/sh/superh.h: Likewise. +- * config/i386/xopintrin.h: Likewise. +- * config/i386/znver1.md: Likewise. +- * config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise. +- * ipa-inline-analysis.c (compute_inline_parameters): Likewise. +- * double-int.h (struct double_int): Likewise. +- * double-int.c (div_and_round_double): Likewise. +- * wide-int.cc: Likewise. +- * tree-ssa.c (non_rewritable_mem_ref_base): Likewise. +- * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise. +- * cfgcleanup.c (crossjumps_occured): Renamed to ... +- (crossjumps_occurred): ... this. +- (try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg): +- Adjust all uses. +- +- PR tree-optimization/78899 +- * tree-if-conv.c (version_loop_for_if_conversion): Instead of +- returning bool return struct loop *, NULL for failure and the new +- loop on success. +- (versionable_outer_loop_p): Don't version outer loop if it has +- dont_vectorized bit set. +- (tree_if_conversion): When versioning outer loop, ensure +- tree_if_conversion is performed also on the inner loop of the +- non-vectorizable outer loop copy. +- * tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold +- LOOP_VECTORIZED in inner loop of the scalar outer loop and +- prevent vectorization of it. +- (vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure +- the outer loop vectorization of the non-scalar version is attempted +- before vectorization of the inner loop in scalar version. If +- outer LOOP_VECTORIZED guarded loop is not vectorized, prevent +- vectorization of its inner loop. +- * tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop +- has 2 inner loops, rename also on edges from bb whose single pred +- is outer_loop->header. Fix typo in function comment. +- +-2017-01-09 Martin Sebor +- +- PR bootstrap/79033 +- * asan.c (asan_emit_stack_protection): Increase local buffer size +- to avoid snprintf truncation warning. +- +-2017-01-09 Andrew Pinski +- +- * config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan +- to reference thunderx2t99 for the tuning structure +- * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs): +- Rename to ... +- (thunderx2t99_extra_costs): This. +- * config/aarch64/aarch64-tune.md: Regenerate. +- * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ... +- (vulcan_addrcost_table): This. +- (vulcan_regmove_cost): Rename to ... +- (thunderx2t99_regmove_cost): This. +- (vulcan_vector_cost): Rename to ... +- (thunderx2t99_vector_cost): this. +- (vulcan_branch_cost): Rename to ... +- (thunderx2t99_branch_cost): This. +- (vulcan_tunings): Rename to ... +- (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 . +- * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99. +- +-2017-01-09 Martin Jambor +- +- PR ipa/78365 +- PR ipa/78599 +- * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr. +- * ipa-cp.c (ipa_vr_operation_and_type_effects): New function. +- (propagate_vr_accross_jump_function): Use the above function for all +- value range computations for pass-through jump functions and type +- converasion from explicit value range values. +- (ipcp_propagate_stage): Do not attempt to deduce types of formal +- parameters from TYPE_ARG_TYPES. +- * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace. +- (ipa_write_node_info): Stream type of the actual argument. +- (ipa_read_node_info): Likewise. Also remove trailing whitespace. +- +-2017-01-09 Martin Liska +- +- PR pch/78970 +- * gcc.c (driver_handle_option): Handle OPT_E and set have_E. +- (lookup_compiler): Do not show error message with have_E. +- +-2017-01-09 Jakub Jelinek +- +- PR tree-optimization/78938 +- * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR +- where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use +- BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of +- {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting +- fixes. +- +-2017-01-09 Kyrylo Tkachov +- +- * tree-ssa-address.c (gen_addr_rtx): Don't handle index if it +- is const0_rtx. +- +-2017-01-09 Richard Biener +- +- PR tree-optimization/78997 +- * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA +- name condition properly. +- +-2017-01-09 Richard Biener +- +- PR debug/79000 +- * dwarf2out.c (is_cxx): New overload with context. +- (is_naming_typedef_decl): Use it. +- +-2017-01-08 Sandra Loosemore +- +- * invoke.texi (Option Summary): Correct spacing in option lists +- and add line breaks to fix over-long lines. +- +-2017-01-08 Sandra Loosemore +- +- PR middle-end/17660 +- +- * extend.texi (Common Variable Attributes): Add xref to GCC +- Internals manual to explain mode attribute keywords. +- +-2017-01-08 Sandra Loosemore +- +- PR other/16519 +- * doc/invoke.texi (Option Summary): Move -pthread to Linker Options +- and Preprocessor Options. +- (Options for Linking): Document -pthread here.... +- (RS/6000 and PowerPC Options): ...not here. +- (Solaris 2 Options): ...or here. +- * doc/cppopts.texi: Document -pthread. +- +-2017-01-08 Martin Sebor +- +- PR middle-end/77708 +- * doc/invoke.texi (Warning Options): Document -Wformat-truncation. +- * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt): +- New member functions. +- (format_directive): Used them. +- (add_bytes): Same. +- (pass_sprintf_length::handle_gimple_call): Same. +- * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size +- to avoid truncation for any argument. +- (extract_affine_mul): Same. +- * tree.c (get_file_function_name): Same. +- +-2017-01-01 Jan Hubicka +- +- PR middle-end/77484 +- * predict.def (PRED_INDIR_CALL): Set to 86. +- +-2017-01-07 Sandra Loosemore +- +- PR preprocessor/54124 +- * doc/cppopts.texi: Reformat -d subtable to list the full name +- of the options. Add cross-reference to the docs for the general +- compiler -d options. +- * doc/invoke.texi (Developer Options): Add cross-reference to the +- preprocessor-specific -d option documentation. +- +-2017-01-07 Sandra Loosemore +- +- PR preprocessor/13498 +- * doc/cpp.texi (Search Path): Rewrite to remove obsolete and +- redudant material, and reflect new command-line options. +- (System Headers): Likewise. +- +-2017-01-07 Sandra Loosemore +- +- * doc/cppdiropts.texi: Merge documentation of -I, -iquote, +- -isystem, and -idirafter. Copy-edit. +- * doc/cppopts.texi: Copy-edit. Remove contradiction about +- default for -ftrack-macro-expansion. Delete obsolete and +- badly-formatted implementation details about -fdebug-cpp output. +- * doc/cppwarnopts.texi: Copy-edit. +- +-2017-01-07 David Malcolm +- +- PR c++/72803 +- * input.c (selftest::test_accessing_ordinary_linemaps): Verify +- that the transition from a max line width >=3D 1<<10 to narrower +- lines works correctly. +- +-2017-01-07 Alexandre Oliva +- +- * doc/options.texi (PerFunction): New. +- * opt-functions.awk (switch_flags): Map both Optimization and +- PerFunction to CL_OPTIMIZATION. +- * opth-gen.awk: Test for PerFunction flag along with +- Optimization. +- * optc-save-gen.awk: Likewise. Introduce var_opt_hash and set +- it only when the latter is present. Skip those that don't in +- the hash function generator. +- * common.opt (fvar-tracking): Mark as PerFunction instead of +- Optimization. +- (fvar-tracking-assignments): Likewise. +- (fvar-tracking-assignments-toggle): Likewise. +- (fvar-tracking-uninit): Likewise. +- +-2017-01-07 Jakub Jelinek +- +- PR translation/79018 +- * params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between +- the and store. +- +-2017-01-06 Mikael Pettersson +- +- PR target/57583 +- * config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option. +- * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle +- TARGET_LONG_JUMP_TABLE_OFFSETS. +- * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. +- * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. +- * config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise. +- (ASM_OUTPUT_ADDR_DIFF_ELF): Likewise. +- * config/m68k/m68k.md (tablejump expander): Likewise. +- (*tablejump_pcrel_hi): Renamed from unnamed insn, reject +- TARGET_LONG_JUMP_TABLE_OFFSETS. +- (*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS. +- * doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets. +- +-2017-01-06 Edgar E. Iglesias +- David Holsgrove +- +- * common/config/microblaze/microblaze-common.c +- (TARGET_EXCEPT_UNWIND_INFO): Remove. +- * config/microblaze/microblaze-protos.h (microblaze_eh_return): +- New prototype. +- * config/microblaze/microblaze.c (microblaze_must_save_register) +- (microblaze_expand_epilogue, microblaze_return_addr): Handle +- calls_eh_return. +- (microblaze_eh_return): New function. +- * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET) +- (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM) +- (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros. +- * config/microblaze/microblaze.md (eh_return): New pattern. +- +-2017-01-06 Jakub Jelinek +- +- * system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP, +- GCC_DIAGNOSTIC_STRINGIFY): Define. +- +- * read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm.md (): New. +- (): New. +- * config/arm/arm.c (arm_arch5te): New. +- (arm_option_override): Set arm_arch5te. +- (arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc +- and mrrc2. +- * config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to... +- (arm_mcrr_qualifiers): ... this. New. +- (MRRC_QUALIFIERS): Define to... +- (arm_mrrc_qualifiers): ... this. New. +- * config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc, +- __arm_mrrc2): New. +- * config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New. +- * config/arm/iterators.md (MCRRI, mcrr, MCRR): New. +- (MRRCI, mrrc, MRRC): New. +- * config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC, +- VUNSPEC_MRRC2): New. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm.md (): New. +- (): New. +- * config/arm/arm.c (arm_coproc_builtin_available): Add +- support for mcr, mrc, mcr2 and mrc2. +- * config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to... +- (arm_mcr_qualifiers): ... this. New. +- (MRC_QUALIFIERS): Define to ... +- (arm_mrc_qualifiers): ... this. New. +- (MCR_QUALIFIERS): Define to ... +- (arm_mcr_qualifiers): ... this. New. +- * config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2, +- __arm_mrc2): New. +- * config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New. +- * config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New. +- * config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC, +- VUNSPEC_MRC2): New. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm.md (*ldc): New. +- (*stc): New. +- (): New. +- (): New. +- * config/arm/arm.c (arm_coproc_builtin_available): Add +- support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l. +- (arm_coproc_ldc_stc_legitimate_address): New. +- * config/arm/arm-builtins.c (arm_type_qualifiers): Add +- 'qualifier_const_pointer'. +- (LDC_QUALIFIERS): Define to... +- (arm_ldc_qualifiers): ... this. New. +- (STC_QUALIFIERS): Define to... +- (arm_stc_qualifiers): ... this. New. +- * config/arm/arm-protos.h +- (arm_coproc_ldc_stc_legitimate_address): New. +- * config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc, +- __arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New. +- * config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc, +- stc2, stcl, stc2l): New. +- * config/arm/constraints.md (Uz): New. +- * config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New. +- * config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL, +- VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL, +- VUNSPEC_STC2L): New. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm.md (): New. +- * config/arm/arm.c (neon_const_bounds): Rename this ... +- (arm_const_bounds): ... this. +- (arm_coproc_builtin_available): New. +- * config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase. +- (arm_type_qualifiers): Add 'qualifier_unsigned_immediate'. +- (CDP_QUALIFIERS): Define to... +- (arm_cdp_qualifiers): ... this. New. +- (void_UP): Define. +- (arm_expand_builtin_args): Add case for 6 arguments. +- * config/arm/arm-protos.h (neon_const_bounds): Rename this ... +- (arm_const_bounds): ... this. +- (arm_coproc_builtin_available): New. +- * config/arm/arm_acle.h (__arm_cdp): New. +- (__arm_cdp2): New. +- * config/arm/arm_acle_builtins.def (cdp): New. +- (cdp2): New. +- * config/arm/iterators.md (CDPI,CDP,cdp): New. +- * config/arm/neon.md: Rename all 'neon_const_bounds' to +- 'arm_const_bounds'. +- * config/arm/types.md (coproc): New. +- * config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New. +- * gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics. +- * gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok, +- arm_coproc3_ok, arm_coproc4_ok): Document new effective targets. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New. +- (UBINOP_QUALIFIERS): New. +- (si_UP): Define. +- (acle_builtin_data): New. Change comment. +- (arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H, +- ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH, +- ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include +- arm_acle_builtins.def. +- (ARM_BUILTIN_ACLE_PATTERN_START): Define. +- (arm_init_acle_builtins): New. +- (CRC32_BUILTIN): Remove. +- (bdesc_2arg): Remove entries for crc32b, crc32h, crc32w, +- crc32cb, crc32ch and crc32cw. +- (arm_init_crc32_builtins): Remove. +- (arm_init_builtins): Use arm_init_acle_builtins rather +- than arm_init_crc32_builtins. +- (arm_expand_acle_builtin): New. +- (arm_expand_builtin): Use 'arm_expand_acle_builtin'. +- * config/arm/arm_acle_builtins.def: New. +- +-2017-01-06 Andre Vieira +- +- * config/arm/arm-builtins.c (neon_builtin_datum): Rename to .. +- (arm_builtin_datum): ... this. +- (arm_init_neon_builtin): Rename to ... +- (arm_init_builtin): ... this. Add a new parameters PREFIX +- and USE_SIG_IN_NAME. +- (arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with +- 'arm_init_builtin'. Replace type 'neon_builtin_datum' with +- 'arm_builtin_datum'. +- (arm_init_vfp_builtins): Likewise. +- (builtin_arg): Rename enum's replacing 'NEON_ARG' with +- 'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY. +- (arm_expand_neon_args): Rename to ... +- (arm_expand_builtin_args): ... this. Rename builtin_arg +- enum values and differentiate between ARG_BUILTIN_MEMORY +- and ARG_BUILTIN_NEON_MEMORY. +- (arm_expand_neon_builtin_1): Rename to ... +- (arm_expand_builtin_1): ... this. Rename builtin_arg enum +- values, arm_expand_builtin_args and add bool parameter NEON. +- (arm_expand_neon_builtin): Use arm_expand_builtin_1. +- (arm_expand_vfp_builtin): Likewise. +- (NEON_MAX_BUILTIN_ARGS): Remove, it was unused. +- +-2017-01-01 Jan Hubicka +- +- PR middle-end/77484 +- * predict.def (PRED_POLYMORPHIC_CALL): Set to 59. +- * predict.c (tree_estimate_probability_bb): Reverse direction of +- polymorphic call predictor. +- +-2017-01-06 David Malcolm +- +- * passes.c (execute_one_pass): Split out pass-skipping logic into... +- (determine_pass_name_match): ...this new function and... +- (should_skip_pass_p): ...this new function. +- +-2017-01-06 Nathan Sidwell +- +- * ipa-visibility.c (function_and_variable_visibility): Reformat +- comments and long lines. Remove extrneous if. +- * symtab.c (symtab_node::make_decl_local): Fix code format. +- (symtab_node::set_section_for_node): Fix comment typo. +- +-2017-01-06 Martin Liska +- +- PR bootstrap/79003 +- * lra-constraints.c: Rename invariant to lra_invariant. +- * predict.c (set_even_probabilities): Initialize e to NULL. +- +-2017-01-05 Martin Sebor +- +- PR tree-optimization/78910 +- * gimple-ssa-sprintf.c (tree_digits): Add an argument. +- (format_integer): Correct off-by-one error in the handling +- of precision with negative numbers in signed conversions.. +- +-2017-01-05 Eric Botcazou +- +- * doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry. +- +-2017-01-05 Jakub Jelinek +- +- PR tree-optimization/71016 +- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to +- factor_out_conditional_conversion. Formatting fix. +- (factor_out_conditional_conversion): Add cond_stmt argument. +- If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of +- cond_stmt and if arg0_def_stmt is not the only stmt in its bb. +- Formatting fix. +- +-2017-01-05 David Malcolm +- +- * Makefile.in (OBJS): Add read-md.o, read-rtl.o, +- read-rtl-function.o, and selftest-rtl.o. +- * config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h. +- (selftest::aarch64_test_loading_full_dump): New function. +- (selftest::aarch64_run_selftests): New function. +- (TARGET_RUN_TARGET_SELFTESTS): Wire it up to +- selftest::aarch64_run_selftests. +- * config/i386/i386.c +- (selftest::ix86_test_loading_dump_fragment_1): New function. +- (selftest::ix86_test_loading_call_insn): New function. +- (selftest::ix86_test_loading_full_dump): New function. +- (selftest::ix86_test_loading_unspec): New function. +- (selftest::ix86_run_selftests): Call the new functions. +- * emit-rtl.c (maybe_set_max_label_num): New function. +- * emit-rtl.h (maybe_set_max_label_num): New decl. +- * function.c (instantiate_decls): Guard call to +- instantiate_decls_1 with if (DECL_INITIAL (fndecl)). +- * function-tests.c (selftest::verify_three_block_rtl_cfg): Remove +- "static". +- * gensupport.c (gen_reader::gen_reader): Pass "false" +- for new "compact" param of rtx_reader. +- * print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)" +- rather than an empty string for NULL strings. +- * read-md.c: Potentially include config.h rather than bconfig.h. +- Wrap include of errors.h with #ifdef GENERATOR_FILE. +- (have_error): New global, copied from errors.c. +- (md_reader::read_name): Rename to... +- (md_reader::read_name_1): ...this, adding "out_loc" param, +- and converting "missing name or number" to returning false, rather +- than failing. +- (md_reader::read_name): Reimplement in terms of read_name_1. +- (md_reader::read_name_or_nil): New function. +- (md_reader::read_string): Handle "(nil)" by returning NULL. +- (md_reader::md_reader): Add new param "compact". +- (md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE. +- (md_reader::read_file): New method. +- * read-md.h (md_reader::md_reader): Add new param "compact". +- (md_reader::read_file): New method. +- (md_reader::is_compact): New accessor. +- (md_reader::read_name): Convert return type from void to file_location. +- (md_reader::read_name_or_nil): New decl. +- (md_reader::read_name_1): New decl. +- (md_reader::m_compact): New field. +- (noop_reader::noop_reader): Pass "false" for new "compact" param +- of rtx_reader. +- (rtx_reader::rtx_reader): Add new "compact" param. +- (rtx_reader::read_rtx_operand): Make virtual and convert return +- type from void to rtx. +- (rtx_reader::read_until): New decl. +- (rtx_reader::handle_any_trailing_information): New virtual function. +- (rtx_reader::postprocess): New virtual function. +- (rtx_reader::finalize_string): New virtual function. +- (rtx_reader::m_in_call_function_usage): New field. +- (rtx_reader::m_reuse_rtx_by_id): New field. +- * read-rtl-function.c: New file. +- * selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function. +- * selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro. +- (selftest::verify_three_block_rtl_cfg): New decl. +- * read-rtl-function.h: New file. +- * read-rtl.c: Potentially include config.h rather than bconfig.h. +- For host, include function.h, memmodel.h, and emit-rtl.h. +- (one_time_initialization): New function. +- (struct compact_insn_name): New struct. +- (compact_insn_names): New array. +- (find_code): Handle insn codes in compact dumps. +- (apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE. +- (bind_subst_iter_and_attr): Likewise. +- (add_condition_to_string): Likewise. +- (add_condition_to_rtx): Likewise. +- (apply_attribute_uses): Likewise. +- (add_current_iterators): Likewise. +- (apply_iterators): Likewise. +- (initialize_iterators): Guard usage of apply_subst_iterator with +- #ifdef GENERATOR_FILE. +- (read_conditions): Wrap with #ifdef GENERATOR_FILE. +- (md_reader::read_mapping): Likewise. +- (add_define_attr_for_define_subst): Likewise. +- (add_define_subst_attr): Likewise. +- (read_subst_mapping): Likewise. +- (check_code_iterator): Likewise. +- (rtx_reader::read_rtx): Likewise. Move one-time initialization +- logic to... +- (one_time_initialization): New function. +- (rtx_reader::read_until): New method. +- (read_flags): New function. +- (parse_reg_note_name): New function. +- (rtx_reader::read_rtx_code): Initialize "iterator" to NULL. +- Handle reuse_rtx ids. +- Wrap iterator lookup within #ifdef GENERATOR_FILE. +- Add parsing support for RTL dumps, mirroring the special-cases in +- print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID +- values, and calling handle_any_trailing_information. +- (rtx_reader::read_rtx_operand): Convert return type from void +- to rtx, returning return_rtx. Handle case 'e'. Call +- finalize_string on XSTR and XTMPL fields. +- (rtx_reader::read_nested_rtx): Handle dumps in which trailing +- "(nil)" values were omitted. Call the postprocess vfunc on the +- return_rtx. +- (rtx_reader::rtx_reader): Add new "compact" param and pass to base +- class ctor. Initialize m_in_call_function_usage. Call +- one_time_initialization. +- * rtl-tests.c (selftest::test_uncond_jump): Call +- set_new_first_and_last_insn. +- * rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE. +- * selftest-rtl.c: New file. +- * selftest-rtl.h (class selftest::rtl_dump_test): New class. +- (selftest::get_insn_by_uid): New decl. +- * selftest-run-tests.c (selftest::run_tests): Call +- read_rtl_function_c_tests. +- * selftest.h (selftest::read_rtl_function_c_tests): New decl. +- * tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function +- dumps. +- +-2017-01-05 Uros Bizjak +- +- * config/i386/i386.md (*testqi_ext_3): No need to handle memory +- operands in a special way. Assert that pos+len <=3D mode precision. +- +-2017-01-05 Jakub Jelinek +- +- * common.opt (fvect-cost-model): Remove RejectNegative flag, use +- 3 argument Alias with unlimited for the negative form. +- (fno-vect-cost-model): Removed. +- +-2017-01-05 Martin Liska +- +- * hsa-gen.c (gen_hsa_divmod): New function. +- (gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD. +- +-2017-01-05 Martin Liska +- +- PR pch/78970 +- * gcc.c (lookup_compiler): Reject '-' filename for a precompiled +- header. +- +-2017-01-05 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_setmem): Unroll the loop for +- small constant length operands. +- +-2017-01-05 Andreas Krebbel +- +- * config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes +- between loop iterations. +- +-2017-01-05 Martin Liska +- +- PR sanitizer/78815 +- * gimplify.c (gimplify_decl_expr): Compare to +- asan_poisoned_variables instread of checking flags. +- (gimplify_target_expr): Likewise. +- (gimplify_expr): Likewise. +- (gimplify_function_tree): Conditionally initialize +- asan_poisoned_variables. +- +-2017-01-04 Jeff Law +- +- PR tree-optimizatin/78812 +- * rtl.h (contains_mem_rtx_p): Prototype. +- * ifcvt.c (containts_mem_rtx_p): Move from here to... +- * rtlanal.c (contains_mem_rtx_p): Here and remove static linkage. +- * gcse.c (prune_expressions): Use contains_mem_rtx_p to discover +- and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look +- through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs. +- +-2017-01-04 Alexandre Oliva +- +- * input.c (assert_char_at_range): Default-initialize actual_range. +- +-2017-01-04 Alexandre Oliva +- +- * df-scan.c (df_ref_create_structure): Make regno unsigned, +- to match the caller. +- +-2017-01-04 Alexandre Oliva +- +- * cfgexpand.c (expand_gimple_basic_block): Disregard debug +- insns after final jump in test to emit dummy move. +- +-2017-01-04 Alexandre Oliva +- +- * gimple-iterator.h (gsi_one_nondebug_before_end_p): New. +- * tree-eh.c (cleanup_empty_eh): Skip more debug stmts. +- +-2017-01-04 Alexandre Oliva +- +- * multiple_target.c (create_dispatcher_calls): Init e_next. +- * tree-ssa-loop-split.c (split_loop): Init border. +- * tree-vect-loop.c (vect_determine_vectorization_factor): Init +- scalar_type. +- +-2017-01-04 Michael Meissner +- +- PR target/71977 +- PR target/70568 +- PR target/78823 +- * config/rs6000/predicates.md (sf_subreg_operand): New predicate. +- (altivec_register_operand): Do not return true if the operand +- contains a SUBREG mixing SImode and SFmode. +- (vsx_register_operand): Likewise. +- (vsx_reg_sfsubreg_ok): New predicate. +- (vfloat_operand): Do not return true if the operand contains a +- SUBREG mixing SImode and SFmode. +- (vint_operand): Likewise. +- (vlogical_operand): Likewise. +- (gpc_reg_operand): Likewise. +- (int_reg_operand): Likewise. +- * config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration. +- * config/rs6000/rs6000.c (valid_sf_si_move): New function to +- determine if a MOVSI or MOVSF operation contains SUBREGs that mix +- SImode and SFmode. +- (rs6000_emit_move_si_sf_subreg): New helper function. +- (rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily +- fixup SUBREGs involving SImode and SFmode. +- * config/rs6000/vsx.md (SFBOOL_*): New constants that are operand +- numbers for the new peephole2 optimization. +- (peephole2 for SFmode unions): New peephole2 to optimize cases in +- the GLIBC math library that do AND/IOR/XOR operations on single +- precision floating point. +- * config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal +- target macros to say whether we need to avoid SUBREGs mixing +- SImode and SFmode. +- (TARGET_ALLOW_SF_SUBREG): Likewise. +- * config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs. +- (UNSPEC_SI_FROM_SF): Likewise. +- (iorxor): Change spacing. +- (and_ior_xor): New iterator for AND, IOR, and XOR. +- (movsi_from_sf): New insns for SImode/SFmode SUBREG support. +- (movdi_from_sf_zero_ext): Likewise. +- (mov_hardfloat, FMOVE32 iterator): Use register_operand +- instead of gpc_reg_operand. Add SImode/SFmode SUBREG support. +- (movsf_from_si): New insn for SImode/SFmode SUBREG support. +- (fma4): Use gpc_reg_operand instead of register_operand. +- (fms4): Likewise. +- (fnma4): Likewise. +- (fnms4): Likewise. +- (nfma4): Likewise. +- (nfms4): Likewise. +- +-2017-01-04 Marek Polacek +- +- PR c++/64767 +- * doc/invoke.texi: Document -Wpointer-compare. +- +-2017-01-04 Jakub Jelinek +- +- * optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without +- RejectNegative. +- +- * dwarf2out.c (output_loc_list): Don't throw away 64K+ location +- descriptions for -gdwarf-5 and emit them as uleb128 instead of +- 2-byte data. +- +-2017-01-04 Kelvin Nilsen +- +- PR target/78056 +- * doc/sourcebuild.texi (PowerPC-specific attributes): Add +- documentation of the powerpc_popcntb_ok attribute. +- * config/rs6000/rs6000.c (rs6000_option_override_internal): Add +- code to issue warning messages if a requested CPU configuration is +- not supported by the binary (assembler and loader) toolchain. +- (spe_init_builtins): Add two assertions to prevent ICE if attempt is +- made to define a built-in function that has been disabled. +- (paired_init_builtins): Add assertion to prevent ICE if attempt is +- made to define a built-in function that has been disabled. +- (altivec_init_builtins): Add comment explaining why definition +- of the DST built-in functions is not preceded by an assertion +- check. Add assertions to prevent ICE if attempts are made to +- define an altivec predicate or an abs* built-in function that has +- been disabled. +- (htm_init_builtins): Add comment explaining why definition of the +- htm built-in functions is not preceded by an assertion check. +- +-2017-01-04 Jeff Law +- +- PR tree-optimizatin/67955 +- * tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first. +- Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify +- the points-to solution does not include pt_null. Use DECL_PT_UID +- unconditionally. +- +-2017-01-04 Uros Bizjak +- +- * config/i386/i386.md (HI/SImode test with imm to QImode splitters): +- Use gen_int_mode instead of gen_lopwart for const_int operands. +- +-2017-01-04 Jakub Jelinek +- +- PR tree-optimization/71563 +- * match.pd: Simplify X << Y into X if Y is known to be 0 or +- out of range value - has low bits known to be zero. +- +-2017-01-04 Alan Modra +- +- * Makefile.in (aclocal_deps): Update and order as per aclocal.m4. +- * configure: Regenerate. +- * config.in: Regenerate. +- +-2017-01-04 Jakub Jelinek +- +- PR bootstrap/77569 +- * input.c (ebcdic_execution_charset::on_error): Don't use strstr for +- a substring of the message, but strcmp with the whole message. Ifdef +- ENABLE_NLS, translate the message first using dgettext. +- +-2017-01-03 Jeff Law +- +- PR tree-optimizatin/78856 +- * tree-ssa-threadupdate.c: Include tree-vectorizer.h. +- (mark_threaded_blocks): Remove code to truncate thread paths that +- cross multiple loop headers. Instead invalidate the cached loop +- iteration information and handle case of a thread path walking +- into an irreducible region. +- +-2017-01-03 Michael Meissner +- +- PR target/78900 +- * config/rs6000/rs6000.c (rs6000_split_signbit): Change some +- assertions. Add support for doing the signbit if the IEEE 128-bit +- floating point value is in a GPR. +- * config/rs6000/rs6000.md (Fsignbit): Delete. +- (signbit2_dm): Delete using and just use "wa". +- Update the length attribute if the value is in a GPR. +- (signbit2_dm_ext): Add combiner pattern to eliminate +- the sign or zero extension instruction, since the value is always 0/1. +- (signbit2_dm2): Delete using . +- +- PR target/78953 +- * config/rs6000/vsx.md (vsx_extract__store_p9): If we are +- extracting SImode to a GPR register so that we can generate a +- store, limit the vector to be in a traditional Altivec register +- for the vextuwrx instruction. +- +-2017-01-03 Ian Lance Taylor +- +- * godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE. +- +-2017-01-03 Martin Sebor +- +- PR tree-optimization/78696 +- * gimple-ssa-sprintf.c (format_floating): Correct handling of +- precision. Use MPFR for %f for greater fidelity. Correct handling +- of %g. +- (pass_sprintf_length::compute_format_length): Set width and precision +- specified by asrerisk to void_node for vararg functions. +- (try_substitute_return_value): Adjust dump output. +- +-2017-01-03 David Edelsohn +- +- * doc/invoke.texi (RS6000 options): LRA is enabled by default. +- +-2017-01-03 Eric Botcazou +- +- * doc/invoke.texi (SPARC options): Document -mlra as the default. +- * config/sparc/sparc.c (sparc_option_override): Force LRA unless +- -mlra/-mno-lra was passed to the compiler. +- +-2017-01-03 James Cowgill +- +- PR rtl-optimization/65618 +- * emit-rtl.c (try_split): Move initialization of "before" and +- "after" to just before the call to emit_insn_after_setloc. +- +-2017-01-03 Gerald Pfeifer +- +- * doc/md.texi (Standard Names): Remove reference to Java frontend. +- +-2017-01-03 Pierre-Marie de Rodat +- +- * dwarf2out.c (gen_enumeration_type_die): When +- -gno-strict-dwarf, add a DW_AT_encoding attribute. +- +-2017-01-03 Jakub Jelinek +- +- PR tree-optimization/78965 +- * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length): +- Change first argument from const call_info & to call_info &. For %n +- set info.nowrite to false. +- +- PR middle-end/78901 +- * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change +- possibly throwing calls. +- +- * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME +- and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs +- and fns handling, rather than in a separate case SSA_NAME. +- +-2017-01-02 Jeff Law +- +- * config/darwin-driver.c (darwin_driver_init): Const-correctness +- fixes for first_period and second_period variables. +- +-2017-01-02 Uros Bizjak +- +- PR target/78967 +- * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec. +- (*insvqi_1): New insn pattern. +- (*insvqi_1_mem_rex64): Ditto. +- (*insvqi_2): Ditto. +- (*insvqi_3): Rename from *insvqi. +- +- (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag. +- +-2017-01-02 Gerald Pfeifer +- +- * doc/cfg.texi (Edges): Remove reference to Java. +- (Maintaining the CFG): Ditto. +- +-2017-01-01 Jan Hubicka +- +- PR middle-end/77674 +- * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of +- transparent aliases. +- +-2017-01-01 Jan Hubicka +- +- PR middle-end/77484 +- * predict.def (PRED_CALL): Update hitrate. +- (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors. +- * predict.c (tree_estimate_probability_bb): Split CALL predictor +- into direct/indirect/polymorphic variants. +- +-2017-01-01 Jakub Jelinek ++ * config/arm/arm.c (arm_option_reconfigure_globals): Initialize ++ arm_arch_i8mm and arm_arch_bf16 when enabled. ++ * config/arm/arm.h (TARGET_I8MM): New macro. ++ (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise. ++ * config/arm/t-aprofile: Add matching rules for -march=3Darmv8.6-a. ++ * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a. ++ * config/arm/t-multilib: Add matching rules for -march=3Darmv8.6-a. ++ (v8_6_a_simd_variants): New. ++ (v8_*_a_simd_variants): Add i8mm and bf16. ++ * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options. ++ ++2020-01-02 Jakub Jelinek ++ ++ PR ipa/93087 ++ * predict.c (compute_function_frequency): Don't call ++ warn_function_cold on functions that already have cold attribute. ++ ++2020-01-01 John David Anglin ++ ++ PR target/67834 ++ * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to ++ COMDAT group function labels in .data.rel.ro.local section. ++ * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define. ++ ++ PR target/93111 ++ * config/pa/pa.md (scc): Use ordered_comparison_operator instead of ++ comparison_operator in B and S integer comparisons. Likewise, use ++ ordered_comparison_operator instead of cmpib_comparison_operator in ++ cmpib patterns. ++ * config/pa/predicates.md (cmpib_comparison_operator): Remove. ++ ++2020-01-01 Jakub Jelinek +=20 + Update copyright years. +=20 +@@ -16533,8 +2527,22 @@ + * doc/gcov.texi: Ditto. + * doc/install.texi: Ditto. + * doc/invoke.texi: Ditto. ++ ++2020-01-01 Jan Hubicka ++ ++ * ipa.c (walk_polymorphic_call_targets): Fix updating of overall ++ summary. ++ ++2020-01-01 Jakub Jelinek ++ ++ PR tree-optimization/93098 ++ * match.pd (popcount): For shift amounts, use integer_onep ++ or wi::to_widest () =3D=3D cst instead of tree_to_uhwi () =3D=3D cst ++ tests. Make sure that precision is power of two larger than or equal ++ to 16. Ensure shift is never negative. Use HOST_WIDE_INT_UC macro ++ instead of ULL suffixed constants. Formatting fixes. + +-Copyright (C) 2017 Free Software Foundation, Inc. ++Copyright (C) 2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi +index 77ba08d3f21..28cb6d88da8 100644 +--- a/gcc/doc/install.texi ++++ b/gcc/doc/install.texi +@@ -2083,6 +2083,10 @@ shorthand for + The following options only apply to building cross compilers. +=20 + @table @code ++@item --with-toolexeclibdir=3D@var{dir} ++Specify the installation directory for libraries built with a cross compi= ler. ++The default is @option{$@{gcc_tooldir@}/lib}. ++ + @item --with-sysroot + @itemx --with-sysroot=3D@var{dir} + Tells GCC to consider @var{dir} as the root of a tree that contains +diff --git a/libada/ChangeLog b/libada/ChangeLog +index 8e56d7c60ef..8eda1ebe4c1 100644 +--- a/libada/ChangeLog ++++ b/libada/ChangeLog +@@ -1,26 +1,55 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * configure: Regenerate. +=20 +-2018-12-06 Release Manager ++2020-01-01 Jakub Jelinek +=20 +- * GCC 7.4.0 released. ++ Update copyright years. +=20 +-2018-06-22 Jakub Jelinek ++2019-10-01 Maciej W. Rozycki +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ * Makefile.in (toolexecdir, toolexeclibdir): New variables. ++ (LIBADA_FLAGS_TO_PASS): Add `toolexeclibdir'. ++ * configure.ac: Add `--enable-version-specific-runtime-libs'. ++ Update version-specific `toolexecdir' and `toolexeclibdir' from=20 ++ ADA_RTL_OBJ_DIR from gcc/ada/gcc-interface/Makefile.in. ++ * configure: Regenerate. +=20 +- PR jit/85384 ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-12-11 Eric Botcazou ++ ++ PR ada/88429 ++ * configure.ac (default_gnatlib_target): Set to gnatlib instead of ++ gnatlib-plain if --disable-shared. ++ * configure: Regenerate. ++ * Makefile.in (all): Replace gnatlib prerequisite with libada. ++ (ADA_RTS_SUBDIR): Delete. ++ (libada): New target, renamed from... ++ (gnatlib): ...this. Merge with other library targets. ++ (gnatlib-plain): Delete. ++ (install-gnatlib): Rename to... ++ (install-libada): ...this. ++ (install): Replace install-gnatlib prerequisite with install-libada. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * configure.ac: Remove AC_PREREQ. + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-04-18 David Malcolm +=20 +- * GCC 7.3.0 released. ++ PR jit/85384 ++ * configure: Regenerate. +=20 +-2017-08-14 Release Manager ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.2.0 released. ++ Update copyright years. +=20 + 2017-06-01 Eric Botcazou +=20 +@@ -29,9 +58,12 @@ + (have_getipinfo): Tweak. + * configure: Regenerate. +=20 +-2017-05-02 Release Manager ++2017-05-22 Eric Botcazou +=20 +- * GCC 7.1.0 released. ++ * configure.ac: Add check for sys/capability.h header. ++ (have_capability): New substitution. ++ * configure: Regenerate. ++ * Makefile.in (GNATLIBCFLAGS_FOR_C): Add @have_capability@. +=20 + 2017-01-17 Jakub Jelinek +=20 +@@ -199,11 +231,11 @@ +=20 + 2009-04-06 Laurent GUERBY +=20 +- * Makefile.in (ADA_RTS_DIR): Define. +- * Makefile.in (gnatlib-*): Link adainclude and adalib to it. ++ * Makefile.in (ADA_RTS_DIR): Define. ++ * Makefile.in (gnatlib-*): Link adainclude and adalib to it. +=20 + 2008-09-21 Laurent Guerby +- Paolo Bonzini ++ Paolo Bonzini +=20 + PR ada/5911 + * Makefile.in (all, install, mostlyclean, clean, distclean): Add +@@ -417,7 +449,7 @@ +=20 + * New directory, new ChangeLog. + +-Copyright (C) 2003-2017 Free Software Foundation, Inc. ++Copyright (C) 2003-2020 Free Software Foundation, Inc. +=20 + This ChangeLog is free software; the Free Software Foundation gives + unlimited permission to copy, distribute, and modify it. +diff --git a/libada/Makefile.in b/libada/Makefile.in +index 328c067c4cd..004aaf8f993 100644 +--- a/libada/Makefile.in ++++ b/libada/Makefile.in +@@ -192,6 +192,7 @@ configure_deps =3D \ + $(srcdir)/../config/multi.m4 \ + $(srcdir)/../config/override.m4 \ + $(srcdir)/../config/picflag.m4 \ ++ $(srcdir)/../config/toolexeclibdir.m4 \ + $(srcdir)/../config/unwind_ipinfo.m4 +=20 + $(srcdir)/configure: @MAINT@ $(configure_deps) +diff --git a/libada/configure b/libada/configure +index 13e267a7f4e..3135092a73b 100755 +--- a/libada/configure ++++ b/libada/configure +@@ -631,6 +631,7 @@ ac_user_opts=3D' + enable_option_checking + with_build_libsubdir + enable_maintainer_mode ++with_toolexeclibdir + enable_multilib + enable_shared + with_system_libunwind +@@ -1262,6 +1263,9 @@ Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) + --with-build-libsubdir=3DDIR Directory where to find libraries for bui= ld system ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-system-libunwind use installed libunwind + --with-gcc-major-version-only + use only GCC major number in filesystem paths +@@ -1952,6 +1956,22 @@ else + fi +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Default to --enable-multilib + # Check whether --enable-multilib was given. + if test "${enable_multilib+set}" =3D set; then : +@@ -2004,7 +2024,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libada/configure.ac b/libada/configure.ac +index 0020df9d463..a2a4a1f5049 100644 +--- a/libada/configure.ac ++++ b/libada/configure.ac +@@ -19,6 +19,7 @@ sinclude(../config/acx.m4) + sinclude(../config/multi.m4) + sinclude(../config/override.m4) + sinclude(../config/picflag.m4) ++sinclude(../config/toolexeclibdir.m4) + sinclude(../config/unwind_ipinfo.m4) +=20 + AC_INIT +@@ -53,6 +54,8 @@ AC_ARG_ENABLE([maintainer-mode], + [MAINT=3D'#']) + AC_SUBST([MAINT])dnl +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + AM_ENABLE_MULTILIB(, ..) + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir +@@ -69,7 +72,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog +index 0f950731c5c..4aeaadb189c 100644 +--- a/libatomic/ChangeLog ++++ b/libatomic/ChangeLog +@@ -1,45 +1,171 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * testsuite/Makefile.in: Regenerate. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-09-10 Christophe Lyon ++ ++ * configure.tgt: Handle arm*-*-uclinux*. ++ * configure: Regenerate. ++ ++2019-09-03 Chung-Lin Tang ++ ++ PR other/79543 ++ * acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version ++ scanning to conform to the GNU Coding Standards. ++ * configure: Regenerate. ++ ++2019-06-14 Matt Thomas ++ Matthew Green ++ Nick Hudson ++ Maya Rashish ++ ++ * configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ * acinclude.m4: Use AC_LANG_SOURCE. ++ * configure.ac: Remove AC_PREREQ. ++ * testsuite/Makefile.am (RUNTEST): Remove quotes. ++ * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: ++ Regenerate. ++ ++2018-06-21 Christophe Lyon ++ ++ * config/arm/arm-config.h (__ARM_ARCH__): Remove definitions, use ++ __ARM_ARCH instead. Use __ARM_FEATURE_LDREX to define HAVE_STREX ++ and HAVE_STREXBHD ++ ++2018-05-23 Florian Weimer ++ ++ PR libgcc/60790 ++ x86: Do not assume ELF constructors run before IFUNC resolvers. ++ * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx): ++ Remove declarations. ++ (__libat_feat1, __libat_feat1_init): Declare. ++ (FEAT1_REGISTER): Define. ++ (load_feat1): New function. ++ (IFUNC_COND_1): Adjust. ++ * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx) ++ (init_cpuid): Remove definitions. ++ (__libat_feat1): New variable. ++ (__libat_feat1_init): New function. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libatomic.exp: Include scanltranstree.exp. ++ ++2018-05-02 Tom de Vries +=20 +-2018-12-06 Release Manager ++ PR testsuite/85106 ++ * testsuite/lib/libatomic.exp: Include scanwpaipa.exp. +=20 +- * GCC 7.4.0 released. ++2018-04-24 H.J. Lu +=20 +-2018-06-22 Jakub Jelinek ++ * configure: Regenerated. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 + 2018-03-09 Andreas Krebbel +=20 +- Backport from mainline +- 2018-03-09 Andreas Krebbel +- + * config/s390/exch_n.c: New file. + * configure.tgt: Add the config directory for s390. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist ++ ++ PR target/84148 ++ * configure: Regenerate. ++ ++2018-01-03 Jakub Jelinek ++ ++ Update copyright years. ++ ++2017-12-14 Steve Ellcey ++ ++ * Makefile.am (IFUNC_OPTIONS): Change aarch64 ++ option from -march=3Darmv8.1-a to -march=3Darmv8-a+lse. ++ * configure.ac (*aarch64*): Check to see if ++ compiler understands -march=3Darmv8-a+lse option. ++ * configure.tgt (*aarch64*): Only set try_ifunc ++ if compiler understands -march=3Darmv8-a+lse option. ++ * Makefile.in: Regenerate. ++ * testsuite/Makefile.in: Regenerate. ++ * configure: Regenerate. ++ * aclocal.m4: Regenerate. ++ ++2017-12-04 Steve Ellcey ++ ++ * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and ++ libatomic_la_LIBADD. ++ * config/linux/aarch64/host-config.h: New file. ++ * configure.ac (IFUNC_RESOLVER_ARGS): Define. ++ (ARCH_AARCH64_LINUX): New conditional for IFUNC builds. ++ * configure.tgt (aarch64): Set ARCH and try_ifunc. ++ (aarch64*-*-linux*) Update config_path. ++ (aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS. ++ * libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument. ++ * Makefile.in: Regenerate. ++ * auto-config.h.in: Regenerate. ++ * configure: Regenerate. ++ ++2017-11-17 Igor Tsimbalist +=20 +- * GCC 7.3.0 released. ++ * configure.ac: Set CET_FLAGS, update XCFLAGS. ++ * acinclude.m4: Add cet.m4 and enable.m4. ++ * configure: Regenerate. ++ * Makefile.in: Likewise. ++ * testsuite/Makefile.in: Likewise. +=20 +-2017-08-14 Release Manager ++2017-10-20 Richard Earnshaw +=20 +- * GCC 7.2.0 released. ++ * Makefile.am: (IFUNC_OPTIONS): Set the architecture to ++ -march=3Darmv7-a+fp on Linux/Arm. ++ * Makefile.in: Regenerated. ++ ++2017-10-02 Martin Sebor ++ ++ PR c/81854 ++ * acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return ++ a function pointer rather than void* to avoid GCC 8 warnings. ++ * configure: Regenerate. ++ * libatomic_i.h: Declare ifunc resolvers to return function ++ pointers rather than void*. +=20 +-2017-05-02 Release Manager ++2017-05-12 Rainer Orth +=20 +- * GCC 7.1.0 released. ++ * testsuite/lib/libatomic.exp: Load scanlang.exp. +=20 + 2017-02-06 Palmer Dabbelt +=20 + * configure.tgt: Add RISC-V tuple. +=20 + 2017-02-01 Richard Henderson +- Torvald Riegel ++ Torvald Riegel +=20 + * acinclude.m4: Add #define FAST_ATOMIC_LDST_*. + * auto-config.h.in: Regenerate. +@@ -341,7 +467,7 @@ +=20 + * Initial commit. + +-Copyright (C) 2012-2017 Free Software Foundation, Inc. ++Copyright (C) 2012-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in +index f6eeab312ea..86d7ba20c19 100644 +--- a/libatomic/Makefile.in ++++ b/libatomic/Makefile.in +@@ -72,6 +72,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libatomic/aclocal.m4 b/libatomic/aclocal.m4 +index 1363e7b9cbc..f1a3f1dda26 100644 +--- a/libatomic/aclocal.m4 ++++ b/libatomic/aclocal.m4 +@@ -1017,6 +1017,7 @@ m4_include([../config/lthostflags.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libatomic/configure b/libatomic/configure +index 2ae9b8d40f3..0fa531ec4a3 100755 +--- a/libatomic/configure ++++ b/libatomic/configure +@@ -755,6 +755,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1414,6 +1415,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -3185,6 +3189,22 @@ fi + ac_config_commands=3D"$ac_config_commands default-1" +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3200,7 +3220,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -11115,7 +11142,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11118 "configure" ++#line 11145 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11221,7 +11248,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11224 "configure" ++#line 11251 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libatomic/configure.ac b/libatomic/configure.ac +index 023f1727b1e..3c58801ae98 100644 +--- a/libatomic/configure.ac ++++ b/libatomic/configure.ac +@@ -85,6 +85,8 @@ target_alias=3D${target_alias-$host_alias} + AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-overr= ide]) + AM_ENABLE_MULTILIB(, ..) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -100,7 +102,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libatomic/testsuite/Makefile.in b/libatomic/testsuite/Makefil= e.in +index adfc231484a..a2a76e07502 100644 +--- a/libatomic/testsuite/Makefile.in ++++ b/libatomic/testsuite/Makefile.in +@@ -61,6 +61,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libffi/ChangeLog b/libffi/ChangeLog +index cc1444f53a2..47648d31abd 100644 +--- a/libffi/ChangeLog ++++ b/libffi/ChangeLog +@@ -1,30 +1,89 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. +- +-2018-12-06 Release Manager ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * include/Makefile.in: Regenerate. ++ * man/Makefile.in: Regenerate. ++ * testsuite/Makefile.in: Regenerate. +=20 +- * GCC 7.4.0 released. ++2019-09-27 Maciej W. Rozycki +=20 +-2018-06-22 Jakub Jelinek ++ * configure: Regenerate. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2019-09-03 Chung-Lin Tang +=20 +- PR jit/85384 ++ PR other/79543 ++ * acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version ++ scanning to conform to the GNU Coding Standards. + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-10-31 Joseph Myers +=20 +- * GCC 7.3.0 released. ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ (AUTOMAKE_OPTIONS): Add info-in-builddir. ++ (CLEANFILES): Remove doc/libffi.info. ++ * configure.ac: Remove AC_PREREQ. ++ * Makefile.in, aclocal.m4, configure, fficonfig.h.in, ++ include/Makefile.in, man/Makefile.in, testsuite/Makefile.in: ++ Regenerate. +=20 +-2017-08-14 Release Manager ++2018-08-15 Andreas Schwab +=20 +- * GCC 7.2.0 released. ++ Backport of RISC-V support for libffi go closures ++ * src/riscv/ffi.c (ffi_call_go, ffi_prep_go_closure): New ++ functions. ++ (ffi_call_int): Renamed from ffi_call. ++ (ffi_call_asm, ffi_closure_inner): Adjust interface. ++ * src/riscv/ffitarget.h (FFI_GO_CLOSURES): Define. ++ * src/riscv/sysv.S (ffi_go_closure_asm): New function. ++ (ffi_closure_asm, ffi_call_asm): Update for adjusted interfaces. +=20 +-2017-05-02 Release Manager ++2018-05-08 Andreas Schwab ++ ++ Backport of RISC-V support for libffi ++ * configure.host: Add RISC-V support. ++ * Makefile.am: Likewise. ++ * Makefile.in: Regenerate. ++ * src/riscv/ffi.c, src/riscv/ffitarget.h, src/riscv/sysv.S: New ++ files. ++ ++2018-05-04 Alan Modra ++ ++ Import from upstream ++ * src/powerpc/ffi_linux64.c (discover_homogeneous_aggregate): ++ Compile for ELFv1 too, handling single element aggregates. ++ (ffi_prep_cif_linux64_core): Call discover_homogeneous_aggregate ++ for ELFv1. Set FLAG_RETURNS_64BITS for FFI_TYPE_POINTER return. ++ (ffi_prep_args64): Call discover_homogeneous_aggregate for ELFv1, ++ and handle single element structs containing float or double ++ as if the element wasn't wrapped in a struct. Store floats in ++ second word of doubleword slot when big-endian. ++ (ffi_closure_helper_LINUX64): Similarly. ++ ++2018-04-18 David Malcolm ++ ++ PR jit/85384 ++ * configure: Regenerate. +=20 +- * GCC 7.1.0 released. ++2017-08-31 Tony Reix ++ ++ * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and ++ labels for EH. ++ (ffi_call_go_AIX): New function. ++ (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame. ++ * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging ++ pseudo-op and labels for EH. ++ (ffi_go_closure_ASM): New function. ++ (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame. ++ * src/powrpc/ffi_darwin.c (ffi_call_go): New function. ++ (ffi_prep_go_closure): New function. ++ (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN. ++ (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common. ++ (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common. ++ * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define. +=20 + 2017-01-21 Jakub Jelinek +=20 +@@ -435,7 +494,7 @@ + * configure: Rebuild. +=20 + 2012-10-30 James Greenhalgh +- Marcus Shawcroft ++ Marcus Shawcroft +=20 + * README: Add details of aarch64 port. + * src/aarch64/ffi.c: New. +@@ -446,7 +505,7 @@ + * Makefile.in, configure: Rebuilt. +=20 + 2012-10-30 James Greenhalgh +- Marcus Shawcroft ++ Marcus Shawcroft +=20 + * testsuite/lib/libffi.exp: Add support for aarch64. + * testsuite/libffi.call/cls_struct_va1.c: New. +diff --git a/libffi/Makefile.in b/libffi/Makefile.in +index 8a99ee58b68..032dadf4c4a 100644 +--- a/libffi/Makefile.in ++++ b/libffi/Makefile.in +@@ -72,6 +72,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ +diff --git a/libffi/aclocal.m4 b/libffi/aclocal.m4 +index 6d6207eb897..9cd050aaaf5 100644 +--- a/libffi/aclocal.m4 ++++ b/libffi/aclocal.m4 +@@ -1051,6 +1051,7 @@ m4_include([../config/depstand.m4]) + m4_include([../config/lead-dot.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../libtool.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) +diff --git a/libffi/configure b/libffi/configure +index 790a291011f..6e37039e84c 100755 +--- a/libffi/configure ++++ b/libffi/configure +@@ -777,6 +777,7 @@ enable_debug + enable_structs + enable_raw_api + enable_purify_safety ++with_toolexeclibdir + enable_symvers + with_gcc_major_version_only + ' +@@ -1436,6 +1437,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths +=20 +@@ -11390,7 +11394,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11393 "configure" ++#line 11397 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11496,7 +11500,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11499 "configure" ++#line 11507 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -16002,10 +16006,33 @@ $as_echo "#define USING_PURIFY 1" >>confdefs.h + fi +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libffi/configure.ac b/libffi/configure.ac +index a01d8ac16b0..f295d06ab58 100644 +--- a/libffi/configure.ac ++++ b/libffi/configure.ac +@@ -333,10 +333,19 @@ AC_ARG_ENABLE(purify-safety, + AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and w= ant to suppress spurious messages.]) + fi) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libffi/include/Makefile.in b/libffi/include/Makefile.in +index e0c75992327..3762e6c9b68 100644 +--- a/libffi/include/Makefile.in ++++ b/libffi/include/Makefile.in +@@ -62,6 +62,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ +diff --git a/libffi/man/Makefile.in b/libffi/man/Makefile.in +index 0243bdbedfa..12e61e485eb 100644 +--- a/libffi/man/Makefile.in ++++ b/libffi/man/Makefile.in +@@ -60,6 +60,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ +diff --git a/libffi/testsuite/Makefile.in b/libffi/testsuite/Makefile.in +index b7da4b0b3e7..469b251b17f 100644 +--- a/libffi/testsuite/Makefile.in ++++ b/libffi/testsuite/Makefile.in +@@ -60,6 +60,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ +diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog +index 1a6f9ec681c..0920265f60a 100644 +--- a/libgcc/ChangeLog ++++ b/libgcc/ChangeLog +@@ -1,55 +1,1178 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * configure: Regenerate. ++ ++2020-01-23 Dragan Mladjenovic ++ ++ * config/mips/gnustack.h: Check for TARGET_LIBC_GNUSTACK also. ++ ++2020-01-23 Dragan Mladjenovic ++ ++ * config/mips/gnustack.h: New file. ++ * config/mips/crti.S: Include gnustack.h. ++ * config/mips/crtn.S: Likewise. ++ * config/mips/mips16.S: Likewise. ++ * config/mips/vr4120-div.S: Likewise. ++ ++2020-01-23 Martin Liska ++ ++ * libgcov-driver.c (prune_topn_counter): Remove ++ check for -1 as we only prune run-time counters ++ that do not generate an invalid state. ++ ++2020-01-22 Martin Liska ++ ++ PR tree-optimization/92924 ++ * libgcov-profiler.c (__gcov_topn_values_profiler_body): First ++ try to find an existing value, then find an empty slot ++ if not found. ++ ++2020-01-22 Martin Liska ++ ++ PR tree-optimization/92924 ++ * libgcov-driver.c (prune_topn_counter): New. ++ (prune_counters): Likewise. ++ (dump_one_gcov): Prune a run-time counter. ++ * libgcov-profiler.c (__gcov_topn_values_profiler_body): ++ For a known value, add GCOV_TOPN_VALUES to value. ++ Otherwise, decrement all counters by one. ++ ++2020-01-18 Hans-Peter Nilsson ++ ++ * config/cris/arit.c (DS): Apply attribute __fallthrough__. ++ ++2020-01-18 John David Anglin ++ ++ PR libgcc/92988 ++ * crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if ++ DEFAULT_USE_CXA_ATEXIT is true. ++ ++2020-01-16 Mihail-Calin Ionescu ++ Thomas Preud'homme ++ ++ * config/arm/t-arm: Check return value of gcc rather than lack of ++ output. ++ ++2020-01-14 Georg-Johann Lay ++ ++ * config/avr/lib1funcs.S (skip): Simplify. ++ ++2020-01-10 Kwok Cheung Yeung ++ ++ * config/gcn/atomic.c: Remove include of stdint.h. ++ (__sync_val_compare_and_swap_##SIZE): Replace uintptr_t with ++ __UINTPTR_TYPE__. ++ ++2020-01-09 Kwok Cheung Yeung ++ ++ * config/gcn/atomic.c: New. ++ * config/gcn/t-amdgcn (LIB2ADD): Add atomic.c. ++ ++2020-01-08 Georg-Johann Lay ++ ++ Implement 64-bit double functions. ++ ++ PR target/92055 ++ * config.host (tmake_file) [target=3Davr]: Add t-libf7, ++ t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=3D. ++ * config/avr/t-avrlibc: Don't copy libgcc.a if there are modules ++ depending on sizeof (double) or sizeof (long double). ++ * config/avr/libf7: New folder. ++ ++2020-01-05 Olivier Hainque ++ ++ * config/gthr-vxworks.h: Guard #include vxAtomicLib.h ++ by IN_LIBGCC2. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-12-30 Olivier Hainque ++ ++ * config/gthr-vxworks.h: Use _vxworks-versions.h. ++ * config/gthr-vxworks-tls.c: Likewise. ++ ++2019-12-30 Olivier Hainque ++ ++ * config/gthr-vxworks.h (GTHREAD_ONCE_INIT): Use ++ standard zero-initializer syntax. ++ ++2019-12-30 Olivier Hainque ++ ++ * config/gthr-vxworks-tls.c (__gthread_getspecific): Fix ++ reference to the internal VX_GET_TLS_DATA interface. ++ ++2019-12-30 Olivier Hainque ++ ++ * config/vxcrtstuff.c: Fix incorrect spelling of ++ USE_INITFINI_ARRAY in guard. ++ ++2019-12-16 Jozef Lawrynowicz ++ ++ * config.host: s/msp430*-*-elf/msp430-*-elf*. ++ Override default "extra_parts" variable. ++ * configure: Regenerate. ++ * configure.ac: Disable TM clone registry by default for ++ msp430-elfbare. ++ ++2019-12-11 Jozef Lawrynowicz ++ ++ * config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to ++ "extra_parts". ++ * config/msp430/t-msp430: Add rules to build crt{begin,end}_no_eh.o. ++ ++2019-12-11 Jozef Lawrynowicz ++ ++ * crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is ++ true. ++ ++2019-12-09 Jozef Lawrynowicz ++ ++ * crtstuff.c (__do_global_dtors_aux): Check if USE_EH_FRAME_REGISTRY is ++ defined instead of its value. ++ ++2019-12-09 Jozef Lawrynowicz ++ ++ * crtstuff.c (__do_global_dtors_aux): Wrap in #if so it's only defined ++ if it will have contents. ++ ++2019-12-05 Georg-Johann Lay ++ ++ PR target/92055 ++ * config/avr/t-avrlibc (MULTISUBDIR): Search for double, not double64. ++ ++2019-11-18 Szabolcs Nagy ++ ++ PR libgcc/91737 ++ * config.host: Add t-gthr-noweak on *-*-musl*. ++ * config/t-gthr-noweak: New file. ++ ++2019-11-17 John David Anglin ++ ++ * config/pa/linux-atomic.c (__kernel_cmpxchg): Change argument 1 to ++ volatile void *. Remove trap check. ++ (__kernel_cmpxchg2): Likewise. ++ (FETCH_AND_OP_2): Adjust operand types. ++ (OP_AND_FETCH_2): Likewise. ++ (FETCH_AND_OP_WORD): Likewise. ++ (OP_AND_FETCH_WORD): Likewise. ++ (COMPARE_AND_SWAP_2): Likewise. ++ (__sync_val_compare_and_swap_4): Likewise. ++ (__sync_bool_compare_and_swap_4): Likewise. ++ (SYNC_LOCK_TEST_AND_SET_2): Likewise. ++ (__sync_lock_test_and_set_4): Likewise. ++ (SYNC_LOCK_RELEASE_1): Likewise. Use __kernel_cmpxchg2 for release. ++ (__sync_lock_release_4): Adjust operand types. Use __kernel_cmpxchg ++ for release. ++ (__sync_lock_release_8): Remove. ++ ++2019-11-15 Szabolcs Nagy ++ ++ * config/m68k/linux-unwind.h (struct uw_ucontext): Use sigset_t instead ++ of __sigset_t. ++ ++2019-11-14 Jerome Lambourg ++ Doug Rupp ++ Olivier Hainque ++ ++ * config.host: Collapse the arm-vxworks entries into ++ a single arm-wrs-vxworks7* one. ++ * config/arm/unwind-arm-vxworks.c: Update comments. Provide ++ __gnu_Unwind_Find_exidx and a weak dummy __cxa_type_match for ++ kernel modules, to be overriden by libstdc++ when we link with ++ it. Rely on externally provided __exidx_start/end. ++ ++2019-11-14 Doug Rupp ++ Olivier Hainque ++ ++ * config.host: Handle aarch64*-wrs-vxworks7*. ++ ++2019-11-12 Olivier Hainque ++ ++ * config/t-gthr-vxworksae: New file, add all the gthr-vxworks ++ sources except the cxx0x support to LIB2ADDEH. We don't support ++ cxx0x on AE/653. ++ * config/t-vxworksae: New file. ++ * config.host: Handle *-*-vxworksae: Add the two aforementioned ++ Makefile fragment files at their expected position in the tmake_file ++ list, in accordance with what is done for other VxWorks variants. ++ ++2019-11-12 Corentin Gay ++ Jerome Lambourg ++ Olivier Hainque ++ ++ * config/t-gthr-vxworks: New file, add all the gthr-vxworks ++ sources to LIB2ADDEH. ++ * config/t-vxworks: Remove adjustments to LIB2ADDEH. ++ * config/t-vxworks7: Likewise. ++ ++ * config.host: Append a block at the end of the file to add the ++ t-gthr files to the tmake_file list for VxWorks after everything ++ else. ++ ++ * config/vxlib.c: Rename as gthr-vxworks.c. ++ * config/vxlib-tls.c: Rename as gthr-vxworks-tls.c. ++ ++ * config/gthr-vxworks.h: Simplify a few comments. Expose a TAS ++ API and a basic error checking API, both internal. Simplify the ++ __gthread_once_t type definition and initializers. Add sections ++ for condition variables support and for the C++0x thread support, ++ conditioned against Vx653 for the latter. ++ ++ * config/gthr-vxworks.c (__gthread_once): Simplify comments and ++ implementation, leveraging the TAS internal API. ++ * config/gthr-vxworks-tls.c: Introduce an internal TLS data access ++ API, leveraging the general availability of TLS services in VxWorks7 ++ post SR6xxx. ++ (__gthread_setspecific, __gthread_setspecific): Use it. ++ (tls_delete_hook): Likewise, and simplify the enter/leave dtor logic. ++ * config/gthr-vxworks-cond.c: New file. GTHREAD_COND variable ++ support based on VxWorks primitives. ++ * config/gthr-vxworks-thread.c: New file. GTHREAD_CXX0X support ++ based on VxWorks primitives. ++ ++2019-11-06 Jerome Lambourg ++ Olivier Hainque ++ ++ * config/vxcrtstuff.c: New file. ++ * config/t-vxcrtstuff: New Makefile fragment. ++ * config.host: Append t-vxcrtstuff to the tmake_file list ++ on all VxWorks ports using dwarf for table based EH. ++ ++2019-11-07 Georg-Johann Lay ++ ++ Support 64-bit double and 64-bit long double configurations. ++ ++ PR target/92055 ++ * config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Only add -DF=3DSF if ++ long double is a 32-bit type. ++ * config/avr/t-avrlibc: Copy double64 and long-double64 ++ multilib(s) from the vanilla one. ++ * config/avr/t-copy-libgcc: New Makefile snip. ++ ++2019-11-04 Jozef Lawrynowicz ++ ++ * crtstuff.c: Define USE_TM_CLONE_REGISTRY to 0 if it's undefined and ++ the target output object format is not ELF. ++ s/defined(USE_TM_CLONE_REGISTRY)/USE_TM_CLONE_REGISTRY. ++ ++2019-11-03 Oleg Endo ++ ++ PR libgcc/78804 ++ * fp-bit.h: Remove FLOAT_BIT_ORDER_MISMATCH. ++ * fp-bit.c (pack_d, unpack_d): Remove special cases for ++ FLOAT_BIT_ORDER_MISMATCH. ++ * config/arc/t-arc: Remove FLOAT_BIT_ORDER_MISMATCH. ++ ++2019-11-01 Jim Wilson ++ ++ * config/riscv/t-softfp32 (softfp_extra): Add FP divide routines ++ ++2019-10-23 Jozef Lawrynowicz ++ ++ * config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction. ++ s/RESULT_LO/RESLO, s/RESULT_HI/RESHI, s/MPY_OP1/MPY,=20 ++ s/MPY_OP1_S/MPYS, s/MAC_OP1/MAC, s/MPY_OP2/OP2, s/MAC_OP2/OP2. ++ Define symbols for 32-bit and f5series hardware multiply ++ register addresses. ++ Replace hard-coded register addresses with symbols. ++ Fix "_mspabi*" typo. ++ Fix whitespace. ++ * config/msp430/lib2mul.c: Add comment. ++ ++2019-10-15 John David Anglin ++ ++ * config/pa/fptr.c (_dl_read_access_allowed): Change argument to ++ unsigned int. Adjust callers. ++ (__canonicalize_funcptr_for_compare): Change plabel type to volatile ++ unsigned int *. Load relocation offset before function pointer. ++ Add barrier to ensure ordering. ++ ++2019-10-12 John David Anglin ++ ++ * config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21. ++ Load PIC register after branch target. Fix white space. ++ * config/pa/milli64.S ($$dyncall): Separate LINUX and non LINUX ++ implementations. Load PIC register after branch target. Don't ++ clobber function pointer when it points to function descriptor. ++ Use nullification instead of branch in LINUX implementation. ++ ++2019-10-03 John David Anglin ++ ++ * config/pa/fptr.c: Disable -Warray-bounds warning. ++ ++2019-09-25 Richard Henderson ++ ++ * config.in, configure: Re-rebuild with stock autoconf 2.69, ++ not the ubuntu modified 2.69. ++ ++ PR target/91833 ++ * config/aarch64/lse-init.c: Include auto-target.h. Disable ++ initialization if !HAVE_SYS_AUXV_H. ++ * configure.ac (AC_CHECK_HEADERS): Add sys/auxv.h. ++ * config.in, configure: Rebuild. ++ ++ PR target/91834 ++ * config/aarch64/lse.S (LDNM): Ensure STXR output does not ++ overlap the inputs. ++ ++2019-09-25 Shaokun Zhang ++ ++ * config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Add support = for ++ CTR_EL0.IDC and CTR_EL0.DIC. ++ ++2019-09-20 Christophe Lyon ++ ++ Revert: ++ 2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 ++ ++ * config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only ++ architecture. ++ ++2019-09-19 Richard Henderson ++ ++ * config/aarch64/lse-init.c: New file. ++ * config/aarch64/lse.S: New file. ++ * config/aarch64/t-lse: New file. ++ * config.host: Add t-lse to all aarch64 tuples. ++ ++2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 ++ ++ * config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only ++ architecture. ++ ++2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 ++ ++ * unwind-arm-common.inc (ARM_SET_R7_RT_SIGRETURN) ++ (THUMB2_SET_R7_RT_SIGRETURN, FDPIC_LDR_R12_WITH_FUNCDESC) ++ (FDPIC_LDR_R9_WITH_GOT, FDPIC_LDR_PC_WITH_RESTORER) ++ (FDPIC_FUNCDESC_OFFSET, ARM_NEW_RT_SIGFRAME_UCONTEXT) ++ (ARM_UCONTEXT_SIGCONTEXT, ARM_SIGCONTEXT_R0, FDPIC_T2_LDR_R12_WITH_FUNCD= ESC) ++ (FDPIC_T2_LDR_R9_WITH_GOT, FDPIC_T2_LDR_PC_WITH_RESTORER): New. ++ (__gnu_personality_sigframe_fdpic): New. ++ (get_eit_entry): Add FDPIC signal frame support. ++ ++2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 ++ ++ * config/arm/linux-atomic.c (__kernel_cmpxchg): Add FDPIC support. ++ (__kernel_dmb): Likewise. ++ (__fdpic_cmpxchg): New function. ++ (__fdpic_dmb): New function. ++ * config/arm/unwind-arm.h (FDPIC_REGNUM): New define. ++ (gnu_Unwind_Find_got): New function. ++ (_Unwind_decode_typeinfo_ptr): Add FDPIC support. ++ * unwind-arm-common.inc (UCB_PR_GOT): New. ++ (funcdesc_t): New struct. ++ (get_eit_entry): Add FDPIC support. ++ (unwind_phase2): Likewise. ++ (unwind_phase2_forced): Likewise. ++ (__gnu_Unwind_RaiseException): Likewise. ++ (__gnu_Unwind_Resume): Likewise. ++ (__gnu_Unwind_Backtrace): Likewise. ++ * unwind-pe.h (read_encoded_value_with_base): Likewise. ++ ++2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 ++ ++ * libgcc/crtstuff.c: Add support for FDPIC. ++ ++2019-09-10 Christophe Lyon ++ ++ * config.host: Handle *-*-uclinuxfdpiceabi. ++ ++2019-09-09 Jose E. Marchesi ++ ++ * config.host: Set cpu_type for bpf-*-* targets. ++ * config/bpf/t-bpf: Likewise. ++ * config/bpf/crtn.S: Likewise. ++ * config/bpf/crti.S: New file. ++ ++2019-09-06 Jim Wilson ++ ++ * config.host (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file. ++ (riscv*-*-freebsd*): Likewise. ++ ++2019-09-03 Ulrich Weigand ++ ++ * config.host: Remove references to spu. ++ * config/spu/: Remove directory. ++ ++2019-08-23 Jozef Lawrynowicz ++ ++ PR target/91306 ++ * crtstuff.c (__CTOR_LIST__): Align to the "__alignof__" the array ++ element type, instead of "sizeof" the element type. ++ (__DTOR_LIST__): Likewise. ++ (__TMC_LIST__): Likewise. ++ (__do_global_dtors_aux_fini_array_entry): Likewise. ++ (__frame_dummy_init_array_entry): Likewise. ++ (__CTOR_END__): Likewise. ++ (__DTOR_END__): Likweise. ++ (__FRAME_END__): Likewise. ++ (__TMC_END__): Likewise. ++ ++2019-08-20 Lili Cui ++ ++ * config/i386/cpuinfo.h: Add INTEL_COREI7_TIGERLAKE and ++ INTEL_COREI7_COOPERLAKE. ++ ++2019-07-31 Matt Thomas ++ Nick Hudson ++ Matthew Green ++ Maya Rashish ++ ++ * config.host (hppa*-*-netbsd*): New case. ++ * config/pa/t-netbsd: New file. ++ ++2019-07-31 Joel Hutton ++ ++ * config/arm/cmse.c (cmse_check_address_range): Add ++ warn_unused_result attribute. ++ ++2019-07-22 Martin Liska ++ ++ * config/pa/stublib.c: Remove stub symbol __gnu_lto_v1. ++ * config/pa/t-stublib: Likewise. ++ ++2019-07-22 Stafford Horne ++ ++ PR target/90362 ++ * config/or1k/lib1funcs.S (__udivsi3): Change l.sfeqi ++ to l.sfeq and l.sfltsi to l.sflts equivalents as the immediate ++ instructions are not available on every processor. Change a ++ l.bnf to l.bf to fix logic issue. ++ ++2019-07-04 Iain Sandoe ++ ++ * config.host: Remove reference to t-darwin8. ++ ++2019-07-03 Iain Sandoe ++ ++ * config.host (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt ++ list. ++ * config/rs6000/t-darwin: Build crt3_2 for older systems. Revise ++ mmacosx-version-min for crts to run across all system versions. ++ * config/rs6000/t-darwin64 (LIB2ADD): Remove. ++ * config/t-darwin: Revise mmacosx-version-min for crts to run across ++ system versions >=3D 10.4. ++ ++2019-07-03 Martin Liska ++ ++ * Makefile.in: Use topn_values instead of one_value names. ++ * libgcov-merge.c (__gcov_merge_single): Move to ... ++ (__gcov_merge_topn): ... this. ++ (merge_single_value_set): Move to ... ++ (merge_topn_values_set): ... this. ++ * libgcov-profiler.c (__gcov_one_value_profiler_body): Move to ++ ... ++ (__gcov_topn_values_profiler_body): ... this. ++ (__gcov_one_value_profiler_v2): Move to ... ++ (__gcov_topn_values_profiler): ... this. ++ (__gcov_one_value_profiler_v2_atomic): Move to ... ++ (__gcov_topn_values_profiler_atomic): ... this. ++ (__gcov_indirect_call_profiler_v4): Remove. ++ * libgcov-util.c (__gcov_single_counter_op): Move to ... ++ (__gcov_topn_counter_op): ... this. ++ * libgcov.h (L_gcov_merge_single): Remove. ++ (L_gcov_merge_topn): New. ++ (__gcov_merge_single): Remove. ++ (__gcov_merge_topn): New. ++ (__gcov_one_value_profiler_v2): Move to .. ++ (__gcov_topn_values_profiler): ... this. ++ (__gcov_one_value_profiler_v2_atomic): Move to ... ++ (__gcov_topn_values_profiler_atomic): ... this. ++ ++2019-07-03 Martin Liska ++ ++ * libgcov-merge.c (merge_single_value_set): Support N values. ++ * libgcov-profiler.c (__gcov_one_value_profiler_body): Likewise. ++ ++2019-06-27 Ilia Diachkov ++ ++ * Makefile.in (USE_TM_CLONE_REGISTRY): New. ++ (CRTSTUFF_CFLAGS): Use USE_TM_CLONE_REGISTRY. ++ * configure.ac: Add --disable-tm-clone-registry option. ++ * configure: Regenerate. ++ ++2019-06-27 Martin Liska ++ ++ * libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously ++ dead assignments. ++ * libgcov-util.c: Likewise. ++ ++2019-06-27 Martin Liska ++ ++ * libgcov-util.c (gcov_profile_merge): Release allocated ++ memory. ++ (calculate_overlap): Likewise. ++ ++2019-06-25 Iain Sandoe ++ ++ * config.host: Add libef_ppc.a to the extra files for powerpc-darwin. ++ * config/rs6000/t-darwin: (PPC_ENDFILE_SRC, PPC_ENDFILE_OBJS): New. ++ Build objects for the out of line save/restore register functions ++ so that they can be used for any supported Darwin version. ++ * config/t-darwin: Default the build Darwin version to Darwin8 ++ (MacOS 10.4). ++ ++2019-06-25 Martin Liska ++ ++ * libgcov-driver-system.c (replace_filename_variables): Do not ++ call strlen with NULL argument. ++ ++2019-06-25 Andrew Stubbs ++ ++ * config/gcn/t-amdgcn (LIB2ADD): Add unwind-gcn.c. ++ * config/gcn/unwind-gcn.c: New file. ++ ++2019-06-25 Kwok Cheung Yeung ++ Andrew Stubbs ++ ++ * configure: Regenerate. ++ * config/gcn/gthr-gcn.h: New. ++ ++2019-06-18 Tom de Vries ++ ++ * config/nvptx/crt0.c (__main): Declare. ++ ++2019-06-17 Matthew Green ++ Maya Rashish ++ ++ * config.host (aarch64*-*-netbsd*): New case. ++ ++2019-06-16 Jozef Lawrynowicz ++ ++ * config/msp430/slli.S (__mspabi_sllll): New library function for ++ performing a logical left shift of a 64-bit value. ++ * config/msp430/srai.S (__mspabi_srall): New library function for ++ performing a arithmetic right shift of a 64-bit value. ++ * config/msp430/srll.S (__mspabi_srlll): New library function for ++ performing a logical right shift of a 64-bit value. ++ ++2019-06-14 Matt Thomas ++ Matthew Green ++ Nick Hudson ++ Maya Rashish ++ ++ * config.host (arm*-*-netbsdelf*): Add support for EABI configurations. ++ * config/arm/t-netbsd (LIB1ASMFUNCS): Add some additional assembler ++ functions to build. ++ * config/arm/t-netbsd-eabi: New file. ++ ++2019-06-12 Dimitar Dimitrov ++ ++ * config.host: Add PRU target. ++ * config/pru/asri.c: New file. ++ * config/pru/eqd.c: New file. ++ * config/pru/eqf.c: New file. ++ * config/pru/ged.c: New file. ++ * config/pru/gef.c: New file. ++ * config/pru/gtd.c: New file. ++ * config/pru/gtf.c: New file. ++ * config/pru/led.c: New file. ++ * config/pru/lef.c: New file. ++ * config/pru/lib2bitcountHI.c: New file. ++ * config/pru/lib2divHI.c: New file. ++ * config/pru/lib2divQI.c: New file. ++ * config/pru/lib2divSI.c: New file. ++ * config/pru/libgcc-eabi.ver: New file. ++ * config/pru/ltd.c: New file. ++ * config/pru/ltf.c: New file. ++ * config/pru/mpyll.S: New file. ++ * config/pru/pru-abi.h: New file. ++ * config/pru/pru-asm.h: New file. ++ * config/pru/pru-divmod.h: New file. ++ * config/pru/sfp-machine.h: New file. ++ * config/pru/t-pru: New file. ++ ++2019-06-11 Jakub Jelinek ++ ++ * libgcov-merge.c (__gcov_merge_single): Revert previous change. ++ ++2019-06-10 Martin Liska ++ ++ PR bootstrap/90808 ++ * libgcov.h: Add ATTRIBUTE_UNUSED. ++ ++2019-06-10 Martin Liska ++ ++ * Makefile.in: Add __gcov_one_value_profiler_v2, ++ __gcov_one_value_profiler_v2_atomic and ++ __gcov_indirect_call_profiler_v4. ++ * libgcov-merge.c (__gcov_merge_single): Change ++ function signature. ++ (merge_single_value_set): New. ++ * libgcov-profiler.c (__gcov_one_value_profiler_body): ++ Update functionality. ++ (__gcov_one_value_profiler): Remove. ++ (__gcov_one_value_profiler_v2): ... this. ++ (__gcov_one_value_profiler_atomic): Rename to ... ++ (__gcov_one_value_profiler_v2_atomic): this. ++ (__gcov_indirect_call_profiler_v3): Rename to ... ++ (__gcov_indirect_call_profiler_v4): ... this. ++ * libgcov.h (__gcov_one_value_profiler): Remove. ++ (__gcov_one_value_profiler_atomic): Remove. ++ (__gcov_one_value_profiler_v2_atomic): New. ++ (__gcov_indirect_call_profiler_v3): Remove. ++ (__gcov_one_value_profiler_v2): New. ++ (__gcov_indirect_call_profiler_v4): New. ++ (gcov_get_counter_ignore_scaling): New function. ++ ++2019-06-07 Martin Liska ++ ++ * Makefile.in: Remove usage of ++ _gcov_merge_icall_topn. ++ * libgcov-driver.c (gcov_sort_n_vals): Remove. ++ (gcov_sort_icall_topn_counter): Likewise. ++ (gcov_sort_topn_counter_arrays): Likewise. ++ (dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays. ++ * libgcov-merge.c (__gcov_merge_icall_topn): Remove. ++ * libgcov-profiler.c (__gcov_topn_value_profiler_body): ++ Likewise. ++ (GCOV_ICALL_COUNTER_CLEAR_THRESHOLD): Remove. ++ (struct indirect_call_tuple): Remove. ++ (__gcov_indirect_call_topn_profiler): Remove. ++ * libgcov-util.c (__gcov_icall_topn_counter_op): Remove. ++ * libgcov.h (gcov_sort_n_vals): Remove. ++ (L_gcov_merge_icall_topn): Likewise. ++ (__gcov_merge_icall_topn): Likewise. ++ (__gcov_indirect_call_topn_profiler): Likewise. ++ ++2019-06-06 Iain Sandoe ++ ++ * config/rs6000/t-darwin: Ensure that the unwinder is built with ++ altivec enabled. ++ ++2019-06-06 Jozef Lawrynowicz ++ ++ * config/msp430/slli.S (__mspabi_slli_n): Put function in its own ++ section. ++ (__mspabi_slli): Likewise. ++ (__mspabi_slll_n): Likewise. ++ (__mspabi_slll): Likewise. ++ * config/msp430/srai.S (__mspabi_srai_n): Likewise. ++ (__mspabi_srai): Likewise. ++ (__mspabi_sral_n): Likewise. ++ (__mspabi_sral): Likewise. ++ * config/msp430/srli.S (__mspabi_srli_n): Likewise. ++ (__mspabi_srli): Likewise. ++ (__mspabi_srll_n): Likewise. ++ (__mspabi_srll): Likewise. ++ ++2019-06-05 Yoshinori Sato ++ ++ * config.host (rx-*-linux*): Add t-fdpbit to tmake_file ++ Add appropriate tm_file clause as well. ++ * config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Remove. ++ ++2019-06-05 James Clarke ++ ++ * config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss ++ rather than .data/.bss so it can be accessed via gp-relative ++ addressing. ++ ++2019-06-05 David Edelsohn ++ ++ * config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR. ++ (CR2_REGNO): Rename to R_CR2. ++ (XER_REGNO): Rename to R_XER. ++ (FIRST_ALTIVEC_REGNO): Rename to R_FIRST_ALTIVEC. ++ (VRSAVE_REGNO): Rename to R_VRSAVE. ++ (VSCR_REGNO): R_VSCR. ++ ++2019-05-29 Yoshinori Sato ++ ++ * config.host (rx-*-linux*): Add new case. ++ * config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Force DFmode to SFmode. ++ ++2019-05-29 Sam Tebbs ++ ++ * config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key): New ++ function. ++ * config/aarch64/aarch64-unwind.h (aarch64_post_extract_frame_addr, ++ aarch64_post_frob_eh_handler_addr): Add check for b-key. ++ * config/aarch64/aarch64-unwind-h (aarch64_post_extract_frame_addr, ++ aarch64_post_frob_eh_handler_addr, aarch64_post_frob_update_context): ++ Rename RA_A_SIGNED_BIT to RA_SIGNED_BIT. ++ * unwind-dw2-fde.c (get_cie_encoding): Add check for 'B' in augmentation ++ string. ++ * unwind-dw2.c (extract_cie_info): Add check for 'B' in augmentation ++ string. ++ (RA_A_SIGNED_BIT): Rename to RA_SIGNED_BIT. ++ ++2019-05-28 Rainer Orth ++ ++ * config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler): ++ Remove Solaris 9 and 10 support. ++ (sparc_is_sighandler): Likewise. ++ ++2019-05-26 John David Anglin ++ ++ * config/pa/linux-unwind.h (pa32_fallback_frame_state): Add cast. ++ ++2019-05-17 H.J. Lu ++ ++ * soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if ++ 4_FP_W_TYPEs are used for IEEE quad precision. ++ * soft-fp/extendhftf2.c: Likewise. ++ * soft-fp/extendsftf2.c: Likewise. ++ * soft-fp/extendxftf2.c: Likewise. ++ * soft-fp/trunctfdf2.c: Likewise. ++ * soft-fp/trunctfhf2.c: Likewise. ++ * soft-fp/trunctfsf2.c: Likewise. ++ * soft-fp/trunctfxf2.c: Likewise. ++ * config/rs6000/ibm-ldouble.c: Likewise. ++ ++2019-05-14 Rainer Orth ++ ++ * config.host: Simplify various *-*-solaris2.1[0-9]* to ++ *-*-solaris2*. ++ * configure.ac: Likewise. ++ * configure: Regenerate. ++ ++ * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove ++ Solaris 10 and Solaris 11 < snv_125 handling. ++ ++2019-05-12 Iain Sandoe ++ ++ * config/rs6000/darwin-vecsave.S: Set .machine appropriately. ++ ++2019-05-07 Hongtao Liu ++ ++ * config/i386/cpuinfo.c (get_available_features): Detect BF16. ++ * config/i386/cpuinfo.h (enum processor_features): Add ++ FEATURE_AVX512BF16. ++ ++2019-04-23 Ramana Radhakrishnan ++ Bernd Edlinger ++ Jakub Jelinek ++ ++ PR target/89093 ++ * config/arm/pr-support.c: Add #pragma GCC target("general-regs-only"). ++ * config/arm/unwind-arm.c: Likewise. ++ * unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target ++ attribute for ARM. ++ ++2019-04-15 Monk Chiang ++ ++ * config/nds32/linux-unwind.h (SIGRETURN): Remove. ++ (RT_SIGRETURN): Update. ++ (nds32_fallback_frame_state): Update. ++ ++2019-02-21 Martin Sebor ++ ++ * libgcc2.h (__clear_cache): Correct signature. ++ * libgcc2.c (__clear_cache): Same. ++ ++2019-02-20 Uro=C5=A1 Bizjak ++ ++ * config/alpha/linux-unwind.h (alpha_fallback_frame_state): ++ Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. ++ ++2019-02-19 Uro=C5=A1 Bizjak ++ ++ * unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare ++ regno instead of index to DWARF_ZERO_REG. ++ ++2019-02-15 Eric Botcazou ++ ++ * config/visium/lib2funcs.c (__set_trampoline_parity): Replace ++ TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__. ++ ++2019-01-31 Uro=C5=A1 Bizjak ++ ++ * config/alpha/t-linux: Add -mfp-rounding-mode=3Dd ++ to HOST_LIBGCC2_CFLAGS. ++ ++2019-01-23 Joseph Myers ++ ++ PR libgcc/88931 ++ * libgcc2.c (FSTYPE FUNC (DWtype u)): Correct no leading bits case. ++ ++2019-01-18 Martin Liska ++ ++ * libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Rename ++ to ... ++ (__gcov_indirect_call_profiler_v3): ... this. ++ * libgcov.h (__gcov_indirect_call_profiler_v2): Likewise. ++ (__gcov_indirect_call_profiler_v3): Likewise. ++ * Makefile.in: Bump function name. ++ ++2019-01-18 Martin Liska ++ ++ * libgcov-driver.c (GCOV_PROF_PREFIX): Define. ++ (gcov_version): Use in gcov_error. ++ (merge_one_data): Likewise. ++ (dump_one_gcov): Likewise. ++ ++2019-01-18 Martin Liska ++ ++ * libgcov-driver.c (gcov_version_string): New function. ++ (gcov_version): Convert version integer into string. ++ ++2019-01-17 Andrew Stubbs ++ Kwok Cheung Yeung ++ Julian Brown ++ Tom de Vries ++ ++ * config.host: Recognize amdgcn*-*-amdhsa. ++ * config/gcn/crt0.c: New file. ++ * config/gcn/lib2-divmod-hi.c: New file. ++ * config/gcn/lib2-divmod.c: New file. ++ * config/gcn/lib2-gcn.h: New file. ++ * config/gcn/sfp-machine.h: New file. ++ * config/gcn/t-amdgcn: New file. ++ ++2019-01-09 Sandra Loosemore ++ ++ PR other/16615 ++ ++ * config/c6x/libunwind.S: Mechanically replace "can not" with ++ "cannot". ++ * config/tilepro/atomic.h: Likewise. ++ * config/vxlib-tls.c: Likewise. ++ * generic-morestack-thread.c: Likewise. ++ * generic-morestack.c: Likewise. ++ * mkmap-symver.awk: Likewise. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-12-20 H.J. Lu ++ ++ * unwind-pe.h (read_encoded_value_with_base): Add GCC pragma ++ to ignore -Waddress-of-packed-member. ++ ++2018-12-19 Thomas Preud'homme ++ ++ * /config/arm/lib1funcs.S (FUNC_START): Remove unused sp_section ++ parameter and corresponding code. ++ (ARM_FUNC_START): Likewise in both definitions. ++ Also update footer comment about condition that need to match with ++ gcc/config/arm/elf.h to also include libgcc/config/arm/t-arm. ++ * config/arm/ieee754-df.S (muldf3): Also build it if L_arm_muldf3 is ++ defined. Weakly define it in this case. ++ * config/arm/ieee754-sf.S (mulsf3): Likewise with L_arm_mulsf3. ++ * config/arm/t-elf (LIB1ASMFUNCS): Build _arm_muldf3.o and ++ _arm_mulsf3.o before muldiv versions if targeting Thumb-1 only. Add ++ comment to keep condition in sync with the one in ++ libgcc/config/arm/lib1funcs.S and gcc/config/arm/elf.h. ++ ++2018-12-18 Wei Xiao ++ ++ * config/i386/cpuinfo.c (get_intel_cpu): Handle cascadelake. ++ * config/i386/cpuinfo.h: Add INTEL_COREI7_CASCADELAKE. ++ ++2018-12-12 Rasmus Villemoes ++ ++ * config/rs6000/tramp.S (__trampoline_setup): Also emit .size ++ and .cfi_endproc directives for VxWorks targets. ++ ++2018-12-05 Paul Koning ++ ++ * udivmodhi4.c (__udivmodhi4): Fix loop end check. ++ ++2018-11-27 Alan Modra ++ ++ * config/rs6000/morestack.S (__stack_split_initialize), ++ (__morestack_get_guard, __morestack_set_guard), ++ (__morestack_make_guard): Provide CFI covering these functions. ++ * config/rs6000/tramp.S (__trampoline_setup): Likewise. ++ ++2018-11-15 Xianmiao Qu ++ ++ * config/csky/linux-unwind.h (sc_pt_regs): Update for kernel. ++ (sc_pt_regs_lr): Update for kernel. ++ (sc_pt_regs_tls): Update for kernel. ++ ++2018-11-15 Xianmiao Qu ++ ++ * config/csky/linux-unwind.h: Fix coding style. ++ ++2018-11-13 Xianmiao Qu ++ ++ * config/csky/linux-unwind.h (_sig_ucontext_t): Remove. ++ (csky_fallback_frame_state): Modify the check of the ++ instructions to adapt to changes in the kernel ++ ++2018-11-09 Stafford Horne ++ Richard Henderson ++ ++ * config.host: Add OpenRISC support. ++ * config/or1k/*: New. ++ ++2018-11-08 Kito Cheng ++ ++ * soft-fp/adddf3.c: Update from glibc. ++ * soft-fp/addsf3.c: Likewise. ++ * soft-fp/addtf3.c: Likewise. ++ * soft-fp/divdf3.c: Likewise. ++ * soft-fp/divsf3.c: Likewise. ++ * soft-fp/divtf3.c: Likewise. ++ * soft-fp/double.h: Likewise. ++ * soft-fp/eqdf2.c: Likewise. ++ * soft-fp/eqsf2.c: Likewise. ++ * soft-fp/eqtf2.c: Likewise. ++ * soft-fp/extenddftf2.c: Likewise. ++ * soft-fp/extended.h: Likewise. ++ * soft-fp/extendhftf2.c: Likewise. ++ * soft-fp/extendsfdf2.c: Likewise. ++ * soft-fp/extendsftf2.c: Likewise. ++ * soft-fp/extendxftf2.c: Likewise. ++ * soft-fp/fixdfdi.c: Likewise. ++ * soft-fp/fixdfsi.c: Likewise. ++ * soft-fp/fixdfti.c: Likewise. ++ * soft-fp/fixhfti.c: Likewise. ++ * soft-fp/fixsfdi.c: Likewise. ++ * soft-fp/fixsfsi.c: Likewise. ++ * soft-fp/fixsfti.c: Likewise. ++ * soft-fp/fixtfdi.c: Likewise. ++ * soft-fp/fixtfsi.c: Likewise. ++ * soft-fp/fixtfti.c: Likewise. ++ * soft-fp/fixunsdfdi.c: Likewise. ++ * soft-fp/fixunsdfsi.c: Likewise. ++ * soft-fp/fixunsdfti.c: Likewise. ++ * soft-fp/fixunshfti.c: Likewise. ++ * soft-fp/fixunssfdi.c: Likewise. ++ * soft-fp/fixunssfsi.c: Likewise. ++ * soft-fp/fixunssfti.c: Likewise. ++ * soft-fp/fixunstfdi.c: Likewise. ++ * soft-fp/fixunstfsi.c: Likewise. ++ * soft-fp/fixunstfti.c: Likewise. ++ * soft-fp/floatdidf.c: Likewise. ++ * soft-fp/floatdisf.c: Likewise. ++ * soft-fp/floatditf.c: Likewise. ++ * soft-fp/floatsidf.c: Likewise. ++ * soft-fp/floatsisf.c: Likewise. ++ * soft-fp/floatsitf.c: Likewise. ++ * soft-fp/floattidf.c: Likewise. ++ * soft-fp/floattihf.c: Likewise. ++ * soft-fp/floattisf.c: Likewise. ++ * soft-fp/floattitf.c: Likewise. ++ * soft-fp/floatundidf.c: Likewise. ++ * soft-fp/floatundisf.c: Likewise. ++ * soft-fp/floatunditf.c: Likewise. ++ * soft-fp/floatunsidf.c: Likewise. ++ * soft-fp/floatunsisf.c: Likewise. ++ * soft-fp/floatunsitf.c: Likewise. ++ * soft-fp/floatuntidf.c: Likewise. ++ * soft-fp/floatuntihf.c: Likewise. ++ * soft-fp/floatuntisf.c: Likewise. ++ * soft-fp/floatuntitf.c: Likewise. ++ * soft-fp/gedf2.c: Likewise. ++ * soft-fp/gesf2.c: Likewise. ++ * soft-fp/getf2.c: Likewise. ++ * soft-fp/half.h: Likewise. ++ * soft-fp/ledf2.c: Likewise. ++ * soft-fp/lesf2.c: Likewise. ++ * soft-fp/letf2.c: Likewise. ++ * soft-fp/muldf3.c: Likewise. ++ * soft-fp/mulsf3.c: Likewise. ++ * soft-fp/multf3.c: Likewise. ++ * soft-fp/negdf2.c: Likewise. ++ * soft-fp/negsf2.c: Likewise. ++ * soft-fp/negtf2.c: Likewise. ++ * soft-fp/op-1.h: Likewise. ++ * soft-fp/op-2.h: Likewise. ++ * soft-fp/op-4.h: Likewise. ++ * soft-fp/op-8.h: Likewise. ++ * soft-fp/op-common.h: Likewise. ++ * soft-fp/quad.h: Likewise. ++ * soft-fp/single.h: Likewise. ++ * soft-fp/soft-fp.h: Likewise. ++ * soft-fp/subdf3.c: Likewise. ++ * soft-fp/subsf3.c: Likewise. ++ * soft-fp/subtf3.c: Likewise. ++ * soft-fp/truncdfsf2.c: Likewise. ++ * soft-fp/trunctfdf2.c: Likewise. ++ * soft-fp/trunctfhf2.c: Likewise. ++ * soft-fp/trunctfsf2.c: Likewise. ++ * soft-fp/trunctfxf2.c: Likewise. ++ * soft-fp/unorddf2.c: Likewise. ++ * soft-fp/unordsf2.c: Likewise. ++ * soft-fp/unordtf2.c: Likewise. +=20 +-2019-11-01 Iain Sandoe ++2018-11-04 Venkataramanan Kumar +=20 +- Backport from mainline. +- 2019-07-03 Iain Sandoe ++ * config/i386/cpuinfo.c: (get_amd_cpu): Add znver2. ++ * config/i386/cpuinfo.h (processor_types): Add znver2. +=20 +- * config.host (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt +- list. +- * config/rs6000/t-darwin: Build crt3_2 for older systems. Revise +- mmacosx-version-min for crts to run across all system versions. +- * config/rs6000/t-darwin64 (LIB2ADD): Remove. +- * config/t-darwin: Revise mmacosx-version-min for crts to run across +- system versions >=3D 10.4. ++2018-11-01 Paul Koning +=20 +-2019-11-01 Iain Sandoe ++ * config/pdp11/t-pdp11 (LIB2ADD): Add divmod.c. ++ (HOST_LIBGCC2_CFLAGS): Change to optimize for size. +=20 +- Backport from mainline. +- 2019-06-25 Iain Sandoe ++2018-10-31 Joseph Myers +=20 +- * config.host: Add libef_ppc.a to the extra files for powerpc-darwin. +- * config/rs6000/t-darwin: (PPC_ENDFILE_SRC, PPC_ENDFILE_OBJS): New. +- Build objects for the out of line save/restore register functions +- so that they can be used for any supported Darwin version. +- * config/t-darwin: Default the build Darwin version to Darwin8 +- (MacOS 10.4). ++ PR bootstrap/82856 ++ * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE. ++ * configure: Regenerate. +=20 +-2019-09-04 Iain Sandoe ++2018-10-31 Claudiu Zissulescu +=20 +- Backport from mainline. +- 2019-06-06 Iain Sandoe ++ * config/arc/lib1funcs.S (_muldi3): New function. ++ * config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3. +=20 +- * config/rs6000/t-darwin: Ensure that the unwinder is built with +- altivec enabled. ++2018-10-30 Rasmus Villemoes +=20 +-2019-09-03 Iain Sandoe ++ * config/gthr-vxworks.h (__gthread_mutex_destroy): Call semDelete. +=20 +- Backport from mainline. +- 2019-05-12 Iain Sandoe ++2018-10-25 Martin Liska +=20 +- * config/rs6000/darwin-vecsave.S: Set .machine appropriately. ++ PR other/87735 ++ * libgcov-profiler.c: Revert. ++ ++2018-10-24 Martin Liska ++ ++ * libgcov-profiler.c: Start from 1 in order to distinguish ++ functions which were seen and these that were not. ++ ++2018-10-18 Paul Koning ++ ++ * udivmodsi4.c (__udivmodsi4): Rename to conform to coding ++ standard. ++ * divmod.c: Update references to __udivmodsi4. ++ * udivmod.c: Ditto. ++ * udivhi3.c: New file. ++ * udivmodhi4.c: New file. ++ * config/pdp11/t-pdp11 (LIB2ADD): Add the new files. ++ ++2018-10-17 Rasmus Villemoes ++ ++ * Makefile.in (LIB2FUNCS_ST): Filter out LIB2FUNCS_EXCLUDE. ++ ++2018-10-12 Olivier Hainque ++ ++ * config/rs6000/ibm-ldouble.c: Augment the toplevel guard with ++ defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__). ++ ++2018-10-08 Paul Koning ++ ++ * config/pdp11/t-pdp11: Remove -mfloat32 switch. ++ ++2018-10-04 Martin Liska ++ ++ PR gcov-profile/84107 ++ * libgcov-profiler.c (__gcov_indirect_call): ++ Change type to indirect_call_tuple. ++ (struct indirect_call_tuple): New struct. ++ (__gcov_indirect_call_topn_profiler): Change type. ++ (__gcov_indirect_call_profiler_v2): Use the new ++ variables. ++ * libgcov.h (struct indirect_call_tuple): New struct ++ definition. ++ ++2018-10-03 Uros Bizjak ++ ++ * libgcc2.c (isnan): Use __builtin_isnan. ++ (isfinite): Use __builtin_isfinite. ++ (isinf): Use __builtin_isinf. ++ ++2018-09-26 Uros Bizjak ++ ++ * config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw. ++ ++2018-09-21 Alexandre Oliva ++ ++ * config/vxcache.c: New file. Provide __clear_cache, based on ++ the cacheTextUpdate VxWorks service. ++ * config/t-vxworks (LIB2ADD): Add vxcache.c. ++ (LIB2FUNCS_EXCLUDE): Add _clear_cache. ++ * config/t-vxwoks7: Likewise. ++ ++2018-09-21 Martin Liska ++ ++ * libgcov-driver.c (crc32_unsigned): Remove. ++ (gcov_histogram_insert): Likewise. ++ (gcov_compute_histogram): Likewise. ++ (compute_summary): Simplify rapidly. ++ (merge_one_data): Do not handle PROGRAM_SUMMARY tag. ++ (merge_summary): Rapidly simplify. ++ (dump_one_gcov): Ignore gcov_summary. ++ (gcov_do_dump): Do not handle program summary, it's not ++ used. ++ * libgcov-util.c (tag_summary): Remove. ++ (read_gcda_finalize): Fix coding style. ++ (read_gcda_file): Initialize curr_object_summary. ++ (compute_summary): Remove. ++ (calculate_overlap): Remove settings of run_max. ++ ++2018-09-21 Monk Chiang ++ ++ * config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct ++ ucontext_t type instead. ++ (nds32_fallback_frame_state): Remove struct _sigframe statement. ++ ++2018-09-21 Kito Cheng ++ ++ * config/nds32/t-nds32-glibc: New file. ++ ++2018-09-18 Rainer Orth ++ ++ * configure.ac (solaris_ld_v2_maps): New test. ++ * configure: Regenerate. ++ * Makefile.in (solaris_ld_v2_maps): New variable. ++ * config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax ++ if supported. ++ ++2018-08-23 Richard Earnshaw ++ ++ PR target/86951 ++ * config/arm/lib1funcs.asm (speculation_barrier): New function. ++ * config/arm/t-arm (LIB1ASMFUNCS): Add it to list of functions ++ to build. ++ ++2018-08-22 Iain Sandoe ++ ++ * config/unwind-dw2-fde-darwin.c ++ (_darwin10_Unwind_FindEnclosingFunction): move from here ... ++ * config/darwin10-unwind-find-enc-func.c: =E2=80=A6 to here. ++ * config/t-darwin: Build Darwin10 unwinder shim crt. ++ * libgcc/config.host: Add the Darwin10 unwinder shim. ++ ++2018-08-21 Rasmus Villemoes ++ ++ * config.host: Add crtbegin.o and crtend.o for ++ powerpc-wrs-vxworks target. ++ ++2018-08-17 Jojo ++ Huibin Wang ++ Sandra Loosemore ++ Chung-Lin Tang ++ ++ C-SKY port: libgcc +=20 +-2018-12-06 Release Manager ++ * config.host: Add C-SKY support. ++ * config/csky/*: New. +=20 +- * GCC 7.4.0 released. ++2018-08-12 Chung-Ju Wu +=20 +-2018-08-17 John David Anglin ++ * config/nds32/t-nds32-isr: Rearrange object dependency. ++ * config/nds32/initfini.c: Add dwarf2 unwinding support. ++ * config/nds32/isr-library/adj_intr_lvl.inc: Consider new extensions ++ and registers usage. ++ * config/nds32/isr-library/excp_isr.S: Ditto. ++ * config/nds32/isr-library/intr_isr.S: Ditto. ++ * config/nds32/isr-library/reset.S: Ditto. ++ * config/nds32/isr-library/restore_all.inc: Ditto. ++ * config/nds32/isr-library/restore_mac_regs.inc: Ditto. ++ * config/nds32/isr-library/restore_partial.inc: Ditto. ++ * config/nds32/isr-library/restore_usr_regs.inc: Ditto. ++ * config/nds32/isr-library/save_all.inc: Ditto. ++ * config/nds32/isr-library/save_mac_regs.inc: Ditto. ++ * config/nds32/isr-library/save_partial.inc: Ditto. ++ * config/nds32/isr-library/save_usr_regs.inc: Ditto. ++ * config/nds32/isr-library/vec_vid*.S: Consider 4-byte vector size. +=20 +- Backport from mainline +- 2018-08-11 John David Anglin ++2018-08-11 John David Anglin +=20 + * config/pa/linux-atomic.c: Update comment. + (FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD, +@@ -60,27 +1183,269 @@ + unordered store to release lock. + (__sync_lock_release_8): Likewise. + (SYNC_LOCK_RELEASE_2): Remove define. +-=09=20 +-2018-06-22 Jakub Jelinek +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2018-08-02 Nicolas Pitre +=20 +- PR jit/85384 ++ PR libgcc/86512 ++ * config/arm/ieee754-df.S: Don't shortcut denormal handling when ++ exponent goes negative. Update my email address. ++ * config/arm/ieee754-sf.S: Likewise. ++ ++2018-08-01 Martin Liska ++ ++ * libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Do not ++ check that __gcov_indirect_call_callee is non-null. ++ ++2018-07-30 Christophe Lyon ++ ++ * config/arm/ieee754-df.S: Fix comment for code working on ++ architectures >=3D 4. ++ * config/arm/ieee754-sf.S: Likewise. ++ ++2018-07-27 H.J. Lu ++ ++ PR libgcc/85334 ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment): ++ Removed. ++ ++2018-07-05 James Clarke ++ ++ * configure: Regenerated. ++ ++2018-06-27 Rainer Orth ++ ++ * Makefile.in (install_leaf): Use enable_gcov instead of ++ enable_libgcov. ++ ++2018-06-27 Rasmus Villemoes ++ ++ * configure.ac: Add --disable-gcov option. + * configure: Regenerate. ++ * Makefile.in: Honour @enable_gcov@. ++ ++2018-06-21 Christophe Lyon ++ ++ * config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use ++ __ARM_ARCH and __ARM_FEATURE_CLZ instead. ++ (HAVE_ARM_CLZ): Remove definition, use __ARM_FEATURE_CLZ instead. ++ * config/arm/ieee754-df.S: Use __ARM_FEATURE_CLZ instead of ++ __ARM_ARCH__. ++ * config/arm/ieee754-sf.S: Likewise. ++ * config/arm/libunwind.S: Use __ARM_ARCH instead of __ARM_ARCH__. ++ ++2018-06-21 Christophe Lyon ++ ++ * config/arm/ieee754-df.S: Remove code for __ARM_ARCH__ < 4, no ++ longer supported. ++ * config/arm/ieee754-sf.S: Likewise. ++ ++2018-06-20 Than McIntosh ++ ++ PR libgcc/86213 ++ * generic-morestack.c (allocate_segment): Move calls to getenv and ++ getpagesize to __morestack_load_mmap. ++ (__morestack_load_mmap) Initialize static_pagesize and ++ use_guard_page here so as to avoid clobbering SSE regs during a ++ __morestack call. ++ ++2018-06-18 Michael Meissner ++ ++ * config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128 ++ support modules with -mno-gnu-attribute. ++ * config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise. +=20 +-2018-06-22 Andre Vieira ++2018-06-07 Olivier Hainque +=20 +- Backport from mainline +- 2018-05-17 Jerome Lambourg ++ * config/t-vxworks (LIBGCC_INCLUDES): Add ++ -I$(MULTIBUILDTOP)../../gcc/include. ++ * config/t-vxworks7: Likewise. Reformat a bit to match ++ the t-vxworks layout. ++ ++2018-06-07 Olga Makhotina ++ ++ * config/i386/cpuinfo.h (processor_types): Add INTEL_TREMONT. ++ ++2018-06-07 Martin Liska ++ ++ * libgcov-driver.c: Rename cs_all to all and assign it from ++ all_prg. ++ ++2018-06-07 Martin Liska ++ ++ PR bootstrap/86057 ++ * libgcov-driver-system.c (replace_filename_variables): Use ++ memcpy instead of mempcpy. ++ (allocate_filename_struct): Do not allocate filename, allocate ++ prefix and set it. ++ (gcov_exit_open_gcda_file): Allocate memory for gf->filename ++ here and properly copy content into it. ++ * libgcov-driver.c (struct gcov_filename): Remove max_length ++ field, change prefix from size_t into char *. ++ (compute_summary): Do not calculate longest filename. ++ (gcov_do_dump): Release memory of gf.filename after each file. ++ * libgcov-util.c (compute_summary): Use new signature of ++ compute_summary. ++ (calculate_overlap): Likewise. ++ ++2018-06-05 Martin Liska ++ ++ PR gcov-profile/47618 ++ * libgcov-driver-system.c (replace_filename_variables): New ++ function. ++ (gcov_exit_open_gcda_file): Use it. ++ ++2018-06-05 Martin Liska ++ ++ * libgcov-driver.c (gcov_compute_histogram): Remove usage ++ of gcov_ctr_summary. ++ (compute_summary): Do it just for a single summary. ++ (merge_one_data): Likewise. ++ (merge_summary): Simplify as we read just single summary. ++ (dump_one_gcov): Pass proper argument. ++ * libgcov-util.c (compute_one_gcov): Simplify as we have just ++ single summary. ++ (gcov_info_count_all_cold): Likewise. ++ (calculate_overlap): Likewise. ++ ++2018-06-02 Chung-Ju Wu ++ Monk Chiang ++ ++ * config.host (nds32*-linux*): New. ++ * config/nds32/linux-atomic.c: New file. ++ * config/nds32/linux-unwind.h: New file. ++ ++2018-05-31 Uros Bizjak ++ ++ PR target/85591 ++ * config/i386/cpuinfo.c (get_amd_cpu): Return ++ AMDFAM15H_BDVER2 for AMDFAM15H model 0x2. ++ ++2018-05-30 Rasmus Villemoes ++ ++ * crtstuff.c: Remove declaration of _Jv_RegisterClasses. ++ ++2018-05-29 Martin Liska ++ ++ PR gcov-profile/85759 ++ * libgcov-driver-system.c (gcov_error): Introduce usage of ++ GCOV_EXIT_AT_ERROR env. variable. ++ * libgcov-driver.c (merge_one_data): Print error that we ++ overwrite a gcov file with a different timestamp. ++ ++2018-05-23 Kalamatee ++ ++ * config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in ++ path to Lf$finfty. ++ ++2018-05-18 Kito Cheng ++ Monk Chiang ++ Jim Wilson ++ ++ * config/riscv/save-restore.S: Add support for rv32e. ++ ++2018-05-18 Kyrylo Tkachov ++ ++ * config/arm/libunwind.S: Update comment relating to armv5. ++ ++2018-05-17 Jerome Lambourg +=20 + * config/arm/cmse.c (cmse_check_address_range): Replace + UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__. +=20 +-2018-04-02 H.J. Lu ++2018-05-17 Olga Makhotina ++ ++ * config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT_PLUS. ++ * config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont Plus. ++ ++2018-05-08 Olga Makhotina ++ ++ * config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT. ++ * config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont. ++ ++2018-05-07 Amaan Cheval ++ ++ * config.host (x86_64-*-rtems*): Build crti.o and crtn.o. ++ ++2018-04-27 Andreas Tobler ++ Maryse Levavasseur ++ ++ PR libgcc/84292 ++ * config/arm/freebsd-atomic.c (SYNC_OP_AND_FETCH_N): Fix the ++ op_and_fetch to return the right result. ++ ++2018-04-27 Alan Modra +=20 +- Backport from mainline +- 2018-03-29 H.J. Lu ++ PR libgcc/85532 ++ * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add ++ -fno-asynchronous-unwind-tables. ++ ++2018-04-25 Chung-Ju Wu ++ ++ * config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS. ++ * config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv. ++ ++2018-04-24 H.J. Lu ++ ++ * config/i386/linux-unwind.h: Add (__CET__ & 2) !=3D 0 check ++ when including "config/i386/shadow-stack-unwind.h". ++ ++2018-04-24 H.J. Lu ++ ++ * configure: Regenerated. ++ ++2018-04-20 Michael Meissner ++ ++ PR target/85456 ++ * config/rs6000/_powikf2.c: New file. Add support for the ++ __builtin_powil function when long double is IEEE 128-bit floating ++ point. ++ * config/rs6000/float128-ifunc.c (__powikf2_resolve): Add ++ __powikf2 support. ++ (__powikf2): Likewise. ++ * config/rs6000/quad-float128.h (__powikf2_sw): Likewise. ++ (__powikf2_hw): Likewise. ++ (__powikf2): Likewise. ++ * config/rs6000/t-float128 (fp128_ppc_funcs): Likewise. ++ * config/rs6000/t-float128-hw (fp128_hw_func): Likewise. ++ (_powikf2-hw.c): Likewise. ++ ++2018-04-19 H.J. Lu ++ ++ PR libgcc/85334 ++ * unwind-generic.h (_Unwind_Frames_Increment): New. ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment): ++ Likewise. ++ * unwind.inc (_Unwind_RaiseException_Phase2): Increment frame ++ count with _Unwind_Frames_Increment. ++ (_Unwind_ForcedUnwind_Phase2): Likewise. ++ ++2018-04-19 H.J. Lu ++ ++ PR libgcc/85379 ++ * config/i386/morestack.S (__stack_split_initialize): Add ++ _CET_ENDBR. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. ++ ++2018-04-18 David Malcolm ++ ++ PR jit/85384 ++ * configure: Regenerate. ++ ++2018-04-16 Jakub Jelinek ++ ++ PR target/84945 ++ * config/i386/cpuinfo.c (set_feature): Wrap into do while (0) to avoid ++ -Wdangling-else warnings. Mask shift counts to avoid ++ -Wshift-count-negative and -Wshift-count-overflow false positives. ++ ++2018-04-06 Ruslan Bukin ++ ++ * config.host (riscv*-*-freebsd*): Add RISC-V FreeBSD support. ++ ++2018-03-29 H.J. Lu +=20 + PR target/85100 + * config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New. +@@ -95,49 +1460,336 @@ + (get_available_features): Enable AVX and AVX512 features only + if their states are supported by OSXSAVE. +=20 +-2018-03-11 John David Anglin ++2018-03-22 Igor Tsimbalist ++ ++ PR target/85025 ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra): ++ Fix a typo, tmp =3D> 255. +=20 +- Backport from mainline +- 2018-03-06 John David Anglin ++2018-03-20 Jakub Jelinek ++ ++ PR target/84945 ++ * config/i386/cpuinfo.h (__cpu_features2): Declare. ++ * config/i386/cpuinfo.c (__cpu_features2): New variable for ++ ifndef SHARED only. ++ (set_feature): Define. ++ (get_available_features): Use set_feature macro. Set __cpu_features2 ++ to the second word of features ifndef SHARED. ++ ++2018-03-15 Julia Koval ++ ++ * config/i386/cpuinfo.c (get_available_features): Add ++ FEATURE_AVX512VBMI2, FEATURE_GFNI, FEATURE_VPCLMULQDQ, ++ FEATURE_AVX512VNNI, FEATURE_AVX512BITALG. ++ * config/i386/cpuinfo.h (processor_features): Add FEATURE_AVX512VBMI2, ++ FEATURE_GFNI, FEATURE_VPCLMULQDQ, FEATURE_AVX512VNNI, ++ FEATURE_AVX512BITALG. ++ ++2018-03-14 Julia Koval ++ ++ * config/i386/cpuinfo.h (processor_subtypes): Split up icelake on ++ icelake client and icelake server. ++ ++2018-03-06 John David Anglin +=20 + * config/pa/fptr.c (_dl_read_access_allowed): New. + (__canonicalize_funcptr_for_compare): Use it. +-=09 +-2018-02-20 Max Filippov +=20 +- Backport from mainline +- 2018-02-20 Max Filippov ++2018-02-28 Jakub Jelinek ++ ++ PR debug/83917 ++ * configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to ++ $asm_hidden_op if visibility ("hidden") attribute works. ++ (HAVE_AS_CFI_SECTIONS): New AC_DEFINE. ++ * config/i386/i386-asm.h: Don't include auto-host.h. ++ (PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME, ++ PACKAGE_URL): Don't undefine. ++ (USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead ++ guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM. ++ (FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to ++ #ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the ++ definition instead of hardcoded .hidden. ++ * config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections ++ directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than ++ #ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections. ++ (USE_GAS_CFI_DIRECTIVES): Don't define. ++ * configure: Regenerated. ++ * config.in: Likewise. ++ ++2018-02-26 Jakub Jelinek ++ ++ PR debug/83917 ++ * config/i386/i386-asm.h (PACKAGE_VERSION, PACKAGE_NAME, ++ PACKAGE_STRING, PACKAGE_TARNAME, PACKAGE_URL): Undefine between ++ inclusion of auto-target.h and auto-host.h. ++ (USE_GAS_CFI_DIRECTIVES): Define if not defined already based on ++ __GCC_HAVE_DWARF2_CFI_ASM. ++ (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset, ++ cfi_def_cfa_register, cfi_def_cfa, cfi_register, cfi_offset, cfi_push, ++ cfi_pop): Define. ++ * config/i386/cygwin.S: Don't include auto-host.h here, just ++ define USE_GAS_CFI_DIRECTIVES to 1 or 0 and include i386-asm.h. ++ (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset, ++ cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): Remove. ++ * config/i386/resms64fx.h: Add cfi_* directives. ++ * config/i386/resms64x.h: Likewise. ++ ++2018-02-20 Max Filippov +=20 + * config/xtensa/ieee754-df.S (__adddf3_aux): Add + .literal_position directive. + * config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist +=20 +- * GCC 7.3.0 released. ++ PR target/84148 ++ * configure: Regenerate. +=20 +-2018-01-23 Max Filippov ++2018-02-16 Igor Tsimbalist ++ ++ PR target/84239 ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra): ++ Include cetintrin.h not x86intrin.h. ++ ++2018-02-08 Igor Tsimbalist ++ ++ PR target/84239 ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra): ++ Use new _get_ssp and _inc_ssp intrinsics. ++ ++2018-02-02 Julia Koval +=20 +- Backport from mainline +- 2018-01-23 Max Filippov ++ * config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE. ++ ++2018-01-26 Claudiu Zissulescu ++ ++ * config/arc/lib1funcs.S (__udivmodsi4): Use safe version for RF16 ++ option. ++ (__divsi3): Use RF16 safe registers. ++ (__modsi3): Likewise. ++ ++2018-01-23 Max Filippov +=20 + * config/xtensa/ieee754-df.S (__addsf3, __subsf3, __mulsf3) + (__divsf3): Make NaN return value quiet. + * config/xtensa/ieee754-sf.S (__adddf3, __subdf3, __muldf3) + (__divdf3): Make NaN return value quiet. +=20 +-2018-01-08 Sebastian Huber ++2018-01-22 Sebastian Perta ++ ++ * config/rl78/anddi3.S: New assembly file. ++ * config/rl78/t-rl78: Added anddi3.S to LIB2ADD. ++ ++2018-01-22 Sebastian Perta ++ ++ * config/rl78/umindi3.S: New assembly file. ++ * config/rl78/t-rl78: Added umindi3.S to LIB2ADD. ++ ++2018-01-22 Sebastian Perta +=20 +- Backport from mainline +- 2018-01-05 Sebastian Huber ++ * config/rl78/smindi3.S: New assembly file. ++ * config/rl78/t-rl78: Added smindi3.S to LIB2ADD. ++ ++2018-01-22 Sebastian Perta ++ ++ * config/rl78/smaxdi3.S: New assembly file. ++ * config/rl78/t-rl78: Added smaxdi3.S to LIB2ADD. ++ ++2018-01-22 Sebastian Perta ++ ++ * config/rl78/umaxdi3.S: New assembly file. ++ * config/rl78/t-rl78: Added umaxdi3.S to LIB2ADD. ++ ++2018-01-21 John David Anglin ++ ++ PR lto/83452 ++ * config/pa/stublib.c (L_gnu_lto_v1): New stub definition. ++ * config/pa/t-stublib (gnu_lto_v1-stub.o): Add make fragment. ++ ++2018-01-13 Richard Sandiford ++ ++ * config/aarch64/value-unwind.h (aarch64_vg): New function. ++ (DWARF_LAZY_REGISTER_VALUE): Define. ++ * unwind-dw2.c (_Unwind_GetGR): Use DWARF_LAZY_REGISTER_VALUE ++ to provide a fallback register value. ++ ++2018-01-08 Michael Meissner ++ ++ * config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use ++ __ibm128, instead of trying to use long double. ++ (CVT_FLOAT128_TO_IBM128): Use TFtype instead of __float128 to ++ accomidate -mabi=3Dieeelongdouble multilibs. ++ (CVT_IBM128_TO_FLOAT128): Likewise. ++ * config/rs6000/ibm-ldouble.c (IBM128_TYPE): New macro to define ++ the appropriate IBM extended double type. ++ (__gcc_qadd): Change all occurances of long double to IBM128_TYPE. ++ (__gcc_qsub): Likewise. ++ (__gcc_qmul): Likewise. ++ (__gcc_qdiv): Likewise. ++ (pack_ldouble): Likewise. ++ (__gcc_qneg): Likewise. ++ (__gcc_qeq): Likewise. ++ (__gcc_qne): Likewise. ++ (__gcc_qge): Likewise. ++ (__gcc_qle): Likewise. ++ (__gcc_stoq): Likewise. ++ (__gcc_dtoq): Likewise. ++ (__gcc_itoq): Likewise. ++ (__gcc_utoq): Likewise. ++ (__gcc_qunord): Likewise. ++ * config/rs6000/_mulkc3.c (toplevel): Include soft-fp.h and ++ quad-float128.h for the definitions. ++ (COPYSIGN): Use the f128 version instead of the q version. ++ (INFINITY): Likewise. ++ (__mulkc3): Use TFmode/TCmode for float128 scalar/complex types. ++ * config/rs6000/_divkc3.c (toplevel): Include soft-fp.h and ++ quad-float128.h for the definitions. ++ (COPYSIGN): Use the f128 version instead of the q version. ++ (INFINITY): Likewise. ++ (FABS): Likewise. ++ (__divkc3): Use TFmode/TCmode for float128 scalar/complex types. ++ * config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): Likewise. ++ * config/rs6000/trunctfkf2-sw.c (__trunctfkf2_sw): Likewise. ++ ++2018-01-05 Sebastian Huber +=20 + * config.host (epiphany-*-elf*): Add (epiphany-*-rtems*) + configuration. +=20 +-2017-11-21 Rainer Orth ++2018-01-03 Jakub Jelinek ++ ++ Update copyright years. ++ ++2017-12-12 Kito Cheng ++ ++ * config/riscv/t-elf: Use multi3.c instead of multi3.S. ++ * config/riscv/multi3.c: New file. ++ * config/riscv/multi3.S: Remove. ++ ++2017-12-08 Jim Wilson ++ ++ * config/riscv/div.S: Use FUNC_* macros. ++ * config/riscv/muldi3.S, config/riscv/multi3.S: Likewise ++ * config/riscv/save-restore.S: Likewise. ++ * config/riscv/riscv-asm.h: New. ++ ++2017-11-30 Michael Meissner ++ ++ * config/rs6000/_mulkc3.c (__mulkc3): Add forward declaration. ++ * config/rs6000/_divkc3.c (__divkc3): Likewise. ++ ++ PR libgcc/83112 ++ * config/rs6000/float128-ifunc.c (__addkf3_resolve): Use the ++ correct type for all ifunc resolvers to silence -Wattribute-alias ++ warnings. Eliminate the forward declaration of the resolver ++ functions which is no longer needed. ++ (__subkf3_resolve): Likewise. ++ (__mulkf3_resolve): Likewise. ++ (__divkf3_resolve): Likewise. ++ (__negkf2_resolve): Likewise. ++ (__eqkf2_resolve): Likewise. ++ (__nekf2_resolve): Likewise. ++ (__gekf2_resolve): Likewise. ++ (__gtkf2_resolve): Likewise. ++ (__lekf2_resolve): Likewise. ++ (__ltkf2_resolve): Likewise. ++ (__unordkf2_resolve): Likewise. ++ (__extendsfkf2_resolve): Likewise. ++ (__extenddfkf2_resolve): Likewise. ++ (__trunckfsf2_resolve): Likewise. ++ (__trunckfdf2_resolve): Likewise. ++ (__fixkfsi_resolve): Likewise. ++ (__fixkfdi_resolve): Likewise. ++ (__fixunskfsi_resolve): Likewise. ++ (__fixunskfdi_resolve): Likewise. ++ (__floatsikf_resolve): Likewise. ++ (__floatdikf_resolve): Likewise. ++ (__floatunsikf_resolve): Likewise. ++ (__floatundikf_resolve): Likewise. ++ (__extendkftf2_resolve): Likewise. ++ (__trunctfkf2_resolve): Likewise. ++ ++ PR libgcc/83103 ++ * config/rs6000/quad-float128.h (TF): Don't define if long double ++ is IEEE 128-bit floating point. ++ (TCtype): Define as either TCmode or KCmode, depending on whether ++ long double is IEEE 128-bit floating point. ++ (__mulkc3_sw): Add declarations for software/hardware versions of ++ complex multiply/divide. ++ (__divkc3_sw): Likewise. ++ (__mulkc3_hw): Likewise. ++ (__divkc3_hw): Likewise. ++ * config/rs6000/_mulkc3.c (_mulkc3): If we are building ifunc ++ handlers to switch between using software emulation and hardware ++ float128 instructions, build the complex multiply/divide functions ++ for both software and hardware support. ++ * config/rs6000/_divkc3.c (_divkc3): Likewise. ++ * config/rs6000/float128-ifunc.c (__mulkc3_resolve): Likewise. ++ (__divkc3_resolve): Likewise. ++ (__mulkc3): Likewise. ++ (__divkc3): Likewise. ++ * config/rs6000/t-float128-hw (fp128_hardfp_src): Likewise. ++ (fp128_hw_src): Likewise. ++ (fp128_hw_static_obj): Likewise. ++ (fp128_hw_shared_obj): Likewise. ++ (_mulkc3-hw.c): Create _mulkc3-hw.c and _divkc3-hw.c from ++ _mulkc3.c and _divkc3.c, changing the function name. ++ (_divkc3-hw.c): Likewise. ++ * config/rs6000/t-float128 (clean-float128): Delete _mulkc3-hw.c ++ and _divkc3-hw.c. ++ ++2017-11-26 Julia Koval ++ ++ * config/i386/cpuinfo.c (get_intel_cpu): Handle cannonlake. ++ * config/i386/cpuinfo.h (processor_subtypes): Add ++ INTEL_COREI7_CANNONLAKE. ++ ++2017-11-20 Igor Tsimbalist ++ ++ PR bootstrap/83015 ++ * config/cr16/unwind-cr16.c (uw_install_context): Add FRAMES ++ parameter. ++ * config/xtensa/unwind-dw2-xtensa.c: Likewise ++ * config/ia64/unwind-ia64.c: Add frames parameter. ++ * unwind-sjlj.c: Likewise. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * config/i386/linux-unwind.h: Include ++ config/i386/shadow-stack-unwind.h. ++ * config/i386/shadow-stack-unwind.h: New file. ++ * unwind-dw2.c: (uw_install_context): Add a frame parameter and ++ pass it to _Unwind_Frames_Extra. ++ * unwind-generic.h (_Unwind_Frames_Extra): New. ++ * unwind.inc (_Unwind_RaiseException_Phase2): Add frames_p ++ parameter. Add local variable frames to count number of frames. ++ (_Unwind_ForcedUnwind_Phase2): Likewise. ++ (_Unwind_RaiseException): Add local variable frames to count ++ number of frames, pass it to _Unwind_RaiseException_Phase2 and ++ uw_install_context. ++ (_Unwind_ForcedUnwind): Likewise. ++ (_Unwind_Resume): Likewise. ++ (_Unwind_Resume_or_Rethrow): Likewise. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * Makefile.in (configure_deps): Add $(srcdir)/../config/cet.m4. ++ (CET_FLAGS): New. ++ * config/i386/morestack.S: Include . ++ (__morestack_large_model): Add _CET_ENDBR at function entrance. ++ * config/i386/resms64.h: Include . ++ * config/i386/resms64f.h: Likewise. ++ * config/i386/resms64fx.h: Likewise. ++ * config/i386/resms64x.h: Likewise. ++ * config/i386/savms64.h: Likewise. ++ * config/i386/savms64f.h: Likewise. ++ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add $(CET_FLAGS). ++ (CRTSTUFF_T_CFLAGS): Likewise. ++ * configure.ac: Include ../config/cet.m4. ++ Set and substitute CET_FLAGS. ++ * configure: Regenerated. +=20 +- Backport from mainline +- 2017-11-14 Rainer Orth ++2017-11-14 Rainer Orth +=20 + * config.host (*-*-solaris2*): Adapt comment for Solaris 12 + renaming. +@@ -145,14 +1797,22 @@ + * configure.ac (libgcc_cv_solaris_crts): Likewise. + * configure: Regenerate. +=20 +-2017-11-17 Vineet Gupta ++2017-11-07 Tom de Vries +=20 +- * config.host: Remove uclibc from arc target spec. ++ * config/rs6000/aix-unwind.h (REGISTER_CFA_OFFSET_FOR): Remove semicolon ++ after "do {} while (0)". +=20 +-2017-11-05 Andreas Tobler ++2017-11-07 Tom de Vries +=20 +- Backport from mainline +- 2017-11-04 Andreas Tobler ++ PR other/82784 ++ * config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove ++ semicolon after "do {} while (0)". ++ * config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same. ++ * config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same. ++ * config/mips/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same. ++ * config/rs6000/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same. ++ ++2017-11-04 Andreas Tobler +=20 + PR libgcc/82635 + * config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a +@@ -160,6 +1820,23 @@ + Keep the pattern matching method for systems without + KERN_PROC_SIGTRAMP sysctl. +=20 ++2017-11-03 Cupertino Miranda ++ Vineet Gupta ++ ++ * config.host (arc*-*-linux*): Set md_unwind_header variable. ++ * config/arc/linux-unwind-reg.def: New file. ++ * config/arc/linux-unwind-reg.h: Likewise. ++ ++2017-10-23 Sebastian Perta ++ ++ * config/rl78/subdi3.S: New assembly file. ++ * config/rl78/t-rl78: Added subdi3.S to LIB2ADD. ++ ++2017-10-13 Sebastian Perta ++ ++ * config/rl78/adddi3.S: New assembly file. ++ * config/rl78/t-rl78: Added adddi3.S to LIB2ADD. ++ + 2017-10-13 Jakub Jelinek +=20 + PR target/82274 +@@ -167,39 +1844,156 @@ + the same highpart of -1 and the topmost bit of lowpart is 0, + multiplication overflows even if both lowparts are 0. +=20 +-2017-09-28 Krister Walfridsson ++2017-09-28 James Bowman +=20 +- Backport from mainline +- 2017-05-14 Krister Walfridsson ++ * config/ft32/crti-hw.S: Add watchdog vector, FT930 IRQ support. +=20 +- PR target/80600 +- * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file. ++2017-09-26 Joseph Myers +=20 +-2017-08-14 Release Manager ++ * config/microblaze/crti.S, config/microblaze/crtn.S, ++ config/microblaze/divsi3.S, config/microblaze/moddi3.S, ++ config/microblaze/modsi3.S, config/microblaze/muldi3_hard.S, ++ config/microblaze/mulsi3.S, ++ config/microblaze/stack_overflow_exit.S, ++ config/microblaze/udivsi3.S, config/microblaze/umodsi3.S, ++ config/pa/milli64.S: Add .note.GNU-stack section. +=20 +- * GCC 7.2.0 released. ++2017-09-23 Daniel Santos +=20 +-2017-07-28 Sebastian Huber ++ * configure.ac: Add Check for HAVE_AS_AVX. ++ * config.in: Regenerate. ++ * configure: Likewise. ++ * config/i386/i386-asm.h: Include auto-target.h from libgcc. ++ (SSE_SAVE, SSE_RESTORE): Emit .byte sequence for !HAVE_AS_AVX. ++ Correct out-of-date comments. ++ ++2017-09-20 Sebastian Peryt ++ ++ * config/i386/cpuinfo.h (processor_types): Add INTEL_KNM. ++ * config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill. ++ ++2017-09-17 Daniel Santos ++ ++ * config/i386/i386-asm.h (PASTE2): New macro. ++ (ASMNAME): Modify to use PASTE2. ++ (MS2SYSV_STUB_PREFIX): New macro for isa prefix. ++ (MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers. ++ * config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN ++ instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END. ++ * config/i386/resms64f.S: Likewise. ++ * config/i386/resms64fx.S: Likewise. ++ * config/i386/resms64x.S: Likewise. ++ * config/i386/savms64.S: Likewise. ++ * config/i386/savms64f.S: Likewise. ++ * config/i386/avx_resms64.S: New file that only defines a macro and ++ includes it's corresponding header file. ++ * config/i386/avx_resms64f.S: Likewise. ++ * config/i386/avx_resms64fx.S: Likewise. ++ * config/i386/avx_resms64x.S: Likewise. ++ * config/i386/avx_savms64.S: Likewise. ++ * config/i386/avx_savms64f.S: Likewise. ++ * config/i386/sse_resms64.S: Likewise. ++ * config/i386/sse_resms64f.S: Likewise. ++ * config/i386/sse_resms64fx.S: Likewise. ++ * config/i386/sse_resms64x.S: Likewise. ++ * config/i386/sse_savms64.S: Likewise. ++ * config/i386/sse_savms64f.S: Likewise. ++ * config/i386/t-msabi: Modified to add avx and sse versions of stubs. ++ ++2017-09-01 Olivier Hainque ++ * config.host (*-*-vxworks7): Widen scope to vxworks7*. ++ ++2017-08-31 Olivier Hainque ++ ++ * config.host (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now ++ match as powerpc-wrs-vxworks*. ++ ++2017-08-07 Jonathan Yong <10walls@gmail.com> ++ ++ * config.host (*-cygwin): Include file from mingw ++ config/i386/enable-execute-stack-mingw32.c ++ ++2017-08-01 Jerome Lambourg ++ Doug Rupp ++ Olivier Hainque ++ ++ * config.host (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 ++ as well as arm-wrs-vxworks. ++ * config/arm/t-vxworks7: New file. Add unwind-arm-vxworks.c to ++ LIB2ADDEH. ++ * config/arm/unwind-arm-vxworks.c: New file. Provide dummy ++ __exidx_start and __exidx_end for downloadable modules. ++ ++2017-08-01 Olivier Hainque ++ ++ * config/t-vxworks (LIBGCC2_INCLUDES): Start with -I. after -nostdinc. ++ * config/t-vxworks7: Likewise. ++ ++2017-08-01 Olivier Hainque ++ ++ * config/t-vxworks: Instead of redefining LIB2ADD, ++ augment LIB2ADDEH with vxlib.c and vxlib-tls.c. +=20 +- Backport from mainline +- 2017-07-28 Sebastian Huber ++2017-07-28 Sebastian Huber +=20 + * config/rs6000/ibm-ldouble.c: Disable if defined __rtems__. +=20 +-2017-07-20 Peter Bergner ++2017-07-24 Daniel Santos ++ ++ PR testsuite/80759 ++ * config.host: include i386/t-msabi for darwin and solaris. ++ * config/i386/i386-asm.h ++ (ELFFN): Rename to FN_TYPE. ++ (FN_SIZE): New macro. ++ (FN_HIDDEN): Likewise. ++ (ASMNAME): Likewise. ++ (FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with ++ .globl. ++ (HIDDEN_FUNC): Use ASMNAME and .globl instead of .global. ++ (SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60). ++ * config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas ++ .macro. ++ * config/i386/resms64f.S: Likewise. ++ * config/i386/resms64fx.S: Likewise. ++ * config/i386/resms64x.S: Likewise. ++ * config/i386/savms64.S: Likewise. ++ * config/i386/savms64f.S: Likewise. ++ ++2017-07-19 John Marino ++ ++ * config/i386/dragonfly-unwind.h: Handle sigtramp relocation. ++ ++2017-07-12 Michael Meissner ++ ++ PR target/81193 ++ * configure.ac (PowerPC float128 hardware support): Test whether ++ we can use __builtin_cpu_supports before enabling the ifunc ++ handler. ++ * configure: Regenerate. ++ ++2017-07-10 Vineet Gupta +=20 +- Backport from mainline +- 2017-07-07 Peter Bergner ++ * config.host: Remove uclibc from arc target spec. ++ ++2017-07-09 Krister Walfridsson ++ ++ * config.host (*-*-netbsd*): Remove check for aout NetBSD releases. ++ ++2017-07-07 Peter Bergner +=20 + * config/rs6000/float128-ifunc.c: Don't include auxv.h. + (have_ieee_hw_p): Delete function. + (SW_OR_HW) Use __builtin_cpu_supports(). +=20 +-2017-07-19 John Marino ++2017-07-06 Thomas Preud'homme +=20 +- * config/i386/dragonfly-unwind.h: Handle sigtramp relocation. ++ * config/arm/lib1funcs.S: Defined __ARM_ARCH__ to 8 for ARMv8-R. ++ ++2017-07-03 Olivier Hainque ++ ++ * config/t-vxworks7: New file, really. +=20 +-2017-07-04 Joseph Myers ++2017-06-28 Joseph Myers +=20 + * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), + config/alpha/linux-unwind.h (alpha_fallback_frame_state), +@@ -214,10 +2008,22 @@ + config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use + ucontext_t instead of struct ucontext. +=20 +-2017-06-28 Richard Biener ++2017-06-27 Jerome Lambourg +=20 +- Backport from mainline +- 2017-06-21 Richard Biener ++ * config.host (i*86-wrs-vxworks7): Handle new acceptable triplet. ++ (x86_64-wrs-vxworks7): Likewise. ++ ++2017-06-27 Olivier Hainque ++ ++ * config/t-vxworks7: New file. ++ * config.host (*-*-vxworks7): Use it. ++ ++2017-06-22 Matt Turner ++ ++ * config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to ++ skylake case. ++ ++2017-06-21 Richard Biener +=20 + PR gcov-profile/81080 + * configure.ac: Add AC_SYS_LARGEFILE. +@@ -226,15 +2032,46 @@ + * config.in: Regenerate. + * configure: Likewise. +=20 ++2017-06-16 Richard Earnshaw ++ ++ * config/arm/cmse_nonsecure_call.S: Explicitly set the FPU. ++ ++2017-06-09 Martin Liska ++ ++ * libgcov-profiler.c (__gcov_indirect_call_profiler_v2): ++ Reset __gcov_indirect_call_callee to NULL. ++ ++2017-06-08 Olivier Hainque ++ ++ * config/t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to ++ the set of -I options, support for direct inclusions of net/uio.h ++ by VxWorks header files via ioLib.h. ++ ++2017-06-07 Tony Reix ++ Matthieu Sarter ++ David Edelsohn ++ ++ * config/rs6000/aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define ++ unconditionally. ++ (ucontext_for): Add 64-bit AIX 6.1, 7.1, 7.2 support. Add 32-bit ++ AIX 7.2 support. ++ ++2017-06-02 Olivier Hainque ++ ++ * config/vxlib.c (__gthread_once): Add missing value to ++ return statement. ++ ++2017-05-30 Olivier Hainque ++ ++ * config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous ++ dollar sign before $(MULTIDIR). ++ + 2017-05-26 Richard Henderson +=20 + PR libgcc/80037 + * config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New. +=20 +-2017-05-19 Andreas Tobler +- +- Backport from mainline +- 2017-05-17 Andreas Tobler ++2017-05-17 Andreas Tobler +=20 + * config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and + _Unwind_SetIP available as functions for arm*-*-freebsd*. +@@ -245,17 +2082,35 @@ + * config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack + section for a non-executable stack. +=20 +-2017-05-10 Andreas Tobler ++2017-05-14 Krister Walfridsson ++ ++ PR target/80600 ++ * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file. ++ ++2017-05-14 Daniel Santos ++ ++ * config.host: Add i386/t-msabi to i386/t-linux file list. ++ * config/i386/i386-asm.h: New file. ++ * config/i386/resms64.S: New file. ++ * config/i386/resms64f.S: New file. ++ * config/i386/resms64fx.S: New file. ++ * config/i386/resms64x.S: New file. ++ * config/i386/savms64.S: New file. ++ * config/i386/savms64f.S: New file. ++ * config/i386/t-msabi: New file. +=20 +- Backport from mainline +- 2017-05-09 Andreas Tobler ++2017-05-09 Andreas Tobler +=20 + * config.host: Use the generic FreeBSD t-slibgcc-elf-ver for + arm*-*-freebsd* instead of the t-slibgcc-libgcc. +=20 +-2017-05-02 Release Manager ++2017-05-05 Joshua Conner +=20 +- * GCC 7.1.0 released. ++ * config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use ++ pc-relative indirect handling for fuchsia. ++ * config/t-slibgcc-fuchsia: New file. ++ * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*, ++ x86_64-*-fuchsia*): Add definitions. +=20 + 2017-04-19 Martin Liska +=20 +@@ -8675,7 +10530,7 @@ + shared-object.mk, siditi-object.mk, static-object.mk: New files. + * configure: Generated. + +-Copyright (C) 2007-2017 Free Software Foundation, Inc. ++Copyright (C) 2007-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in +index a1a392de88d..3a94dab2fdd 100644 +--- a/libgcc/Makefile.in ++++ b/libgcc/Makefile.in +@@ -163,6 +163,7 @@ AUTOCONF =3D autoconf + configure_deps =3D \ + $(srcdir)/../config/enable.m4 \ + $(srcdir)/../config/tls.m4 \ ++ $(srcdir)/../config/toolexeclibdir.m4 \ + $(srcdir)/../config/acx.m4 \ + $(srcdir)/../config/no-executables.m4 \ + $(srcdir)/../config/lib-ld.m4 \ +diff --git a/libgcc/configure b/libgcc/configure +index 441601a1f76..976827dc57e 100644 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -669,6 +669,7 @@ enable_shared + enable_vtable_verify + with_aix_soname + enable_version_specific_runtime_libs ++with_toolexeclibdir + with_slibdir + enable_maintainer_mode + with_build_libsubdir +@@ -1329,6 +1330,9 @@ Optional Packages: + --with-aix-soname=3Daix|svr4|both + shared library versioning (aka "SONAME") varian= t to + provide on AIX ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-slibdir=3DDIR shared libraries in DIR LIBDIR + --with-build-libsubdir=3DDIR Directory where to find libraries for bui= ld system + --with-system-libunwind use installed libunwind +@@ -2403,6 +2407,22 @@ fi + $as_echo "$version_specific_libs" >&6; } +=20 +=20 ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ ++ + # Check whether --with-slibdir was given. + if test "${with_slibdir+set}" =3D set; then : + withval=3D$with_slibdir; slibdir=3D"$with_slibdir" +@@ -2410,7 +2430,14 @@ else + if test "${version_specific_libs}" =3D yes; then + slibdir=3D'$(libsubdir)' + elif test -n "$with_cross_host" && test x"$with_cross_host" !=3D x"no"; t= hen +- slibdir=3D'$(exec_prefix)/$(host_noncanonical)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ slibdir=3D'$(exec_prefix)/$(host_noncanonical)/lib' ++ ;; ++ *) ++ slibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + slibdir=3D'$(libdir)' + fi +@@ -2640,7 +2667,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_noncanonical)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_noncanonical)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libgcc/configure.ac b/libgcc/configure.ac +index 99b8e15562f..ca833fdc5c1 100644 +--- a/libgcc/configure.ac ++++ b/libgcc/configure.ac +@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure= script. +=20 + sinclude(../config/enable.m4) + sinclude(../config/tls.m4) ++sinclude(../config/toolexeclibdir.m4) + sinclude(../config/acx.m4) + sinclude(../config/no-executables.m4) + sinclude(../config/lib-ld.m4) +@@ -108,16 +109,25 @@ AC_ARG_ENABLE(version-specific-runtime-libs, + [version_specific_libs=3Dno]) + AC_MSG_RESULT($version_specific_libs) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + AC_ARG_WITH(slibdir, + [ --with-slibdir=3DDIR shared libraries in DIR [LIBDIR]], + slibdir=3D"$with_slibdir", +-if test "${version_specific_libs}" =3D yes; then ++[if test "${version_specific_libs}" =3D yes; then + slibdir=3D'$(libsubdir)' + elif test -n "$with_cross_host" && test x"$with_cross_host" !=3D x"no"; t= hen +- slibdir=3D'$(exec_prefix)/$(host_noncanonical)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ slibdir=3D'$(exec_prefix)/$(host_noncanonical)/lib' ++ ;; ++ *) ++ slibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + slibdir=3D'$(libdir)' +-fi) ++fi]) + AC_SUBST(slibdir) +=20 + # Command-line options. +@@ -163,7 +173,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_noncanonical)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_noncanonical)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog +index 1de15a0c710..fe7e48040cd 100644 +--- a/libgfortran/ChangeLog ++++ b/libgfortran/ChangeLog +@@ -1,709 +1,46 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. +- +-2019-04-16 John David Anglin +- +- Backport from mainline +- 2019-03-25 John David Anglin +- +- PR libgfortran/79540 +- * io/write_float.def (build_float_string): Don't copy digits when +- ndigits is negative. +- +-2019-02-03 Uro=C5=A1 Bizjak +- +- PR libfortran/88678 +- Revert: +- 2016-11-16 Szabolcs Nagy +- +- PR libfortran/78314 +- * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept. +- +-2019-02-03 Uro=C5=A1 Bizjak +- +- PR libfortran/88678 +- * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled +- exception flags before changing trap mode. Optimize to call +- feenableexcept and fedisableexcept only once. +- +-2019-01-13 Jerry DeLisle +- +- PR libfortran/88776 +- * io/list_read.c (namelist_read): Use nml_err_ret path on read error +- not based on stdin_unit. +- * io/open.c (newunit): Free format buffer if the unit specified is for +- stdin, stdout, or stderr. +- +-2018-12-06 Janne Blomqvist +- +- Backport from trunk +- PR libfortran/88137 +- * runtime/backtrace.c (show_backtrace): Store backtrace state in a +- static variable, initialize once. +- +-2018-12-06 Release Manager +- +- * GCC 7.4.0 released. +- +-2018-10-13 Gerald Pfeifer +- +- Backport from trunk +- * io/close.c [!HAVE_UNLINK_OPEN_FILE]: Include . +- +-2018-09-18 Kyrylo Tkachov +- +- Backport from trunk +- 2018-09-14 Kyrylo Tkachov +- +- * io/unix.c (fallback_access): Avoid calling close on +- uninitialized file descriptor. +- +-2018-06-22 Jakub Jelinek +- +- Backported from mainline +- 2018-04-18 David Malcolm +- +- PR jit/85384 ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. + * configure: Regenerate. +=20 +-2018-06-09 Jerry DeLisle +- +- Backport from trunk. +- PR libgfortran/86070 +- * io/write_float.def (build_float_string): Initialize *len. +- +-2018-06-01 Jerry DeLisle +- +- Backport from trunk. +- PR libgfortran/85840 +- * io/write.c (write_float_0, write_real, write_real_g0, +- write_complex): Use separate local variables for the float +- string length. +- +-2018-02-18 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/84412 +- * io/transfer.c (finalize_transfer): After completng an internal unit +- I/O operation, clear internal_unit_kind. +- +-2018-01-25 Release Manager +- +- * GCC 7.3.0 released. +- +-2018-01-14 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/83811 +- * write.c (select_buffer): Adjust buffer size up by 1. +- +-2018-01-03 Janne Blomqvist +- +- Backport from trunk +- PR libgfortran/83649 +- * io/unix.c (MAX_CHUNK): New define. +- (raw_read): For reads larger than MAX_CHUNK, loop. +- (raw_write): Write no more than MAX_CHUNK bytes per iteration. +- +-2017-12-29 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/83613 +- * io/unit.c (init_units): Don't forget to unlock the unit locks +- after being inserted. +- +-2017-12-16 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/81937 +- * io/list_read.c (next_char_internal): Don't attempt to read +- from the internal unit stream if no bytes are left. Decrement +- bytes_left in the right place. +- +-2017-12-16 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/78549 +- * io/inquire.c (inquire_via_unit): Adjust test for existence for +- pre-connected internal units. +- * io/transfer.c (finalize_transfer): When done with a transfer +- to internal units, free the format buffer and close the stream. +- (st_read_done): Delete freeing the stream, now handled using +- sclose in finalize_transfer. (st_write_done): Likewise. +- * io/unit.c (get_unit): Return NULL for special reserved unit +- numbers, signifying not accessible to the user. +- (init_units): Insert the two special internal units into the +- unit treap. This makes these unit structures available without +- further allocations for later use by internal unit I/O. These +- units are automatically deleted by normal program termination. +- * io/unix.c (mem_close): Add a guard check to protect from double free. +- +-2017-12-03 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/83168 +- * io/write.c (select_string): Bump size by one to avoid +- overrun. +- +-2017-12-03 Jerry DeLisle +- Dominique d'Humieres +- +- Backport from trunk +- PR libgfortran/83191 +- * io/transfer.c (list_formatted_read_scalar): Do not set +- namelist_mode bit here. (namelist_read): Likewise. +- (data_transfer_init): Clear the mode bit here. +- (finalize_transfer): Do set the mode bit just before any calls +- to namelist_read or namelist_write. It can now be referred to +- in complex_write. +- * io/write.c (write_complex): Suppress the leading blanks when +- namelist_mode bit is not set to 1. +- +-2017-12-02 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/83225 +- * io/io.h (is_internal_unit): Use the unit_is_internal bit. +- * io/transfer.c (data_transfer_init): Set the bit to true for +- internal units. Use that bit for checks for internal unit +- initializations. +- * io/unit.c (insert_unit): As a precaution, set the +- internal_unit_kind to zero when a unit structure is first created. +- +-2017-11-23 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/78549 +- * io/io.h (newunit_free): Add declaration. Clean some whitespace. +- * io/transfer.c (st_read_done, st_write_done): Call newunit_free. +- * io/unit.c (newunit_free): Change type from static void to void. +- +-2017-10-27 Jerry DeLisle +- Rimvydas (RJ) +- +- Backport from trunk +- PR libgfortran/81938 +- io/format.c (free_format_data): Don't try to free vlist +- descriptors past the end of the fnode array. +- +-2017-10-19 Thomas Koenig +- +- Backport from trunk +- PR libfortran/82233 +- * intrinsics/execute_command_line.c (execute_command_line): +- No call to runtime_error if cmdstat is present. +- +-2017-09-19 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/78387 +- * io/list_read.c (nml_read_obj): Remove use of stash. +- * io/transfer.c (st_read_done, st_write_done): Likewise. +- * io/unit.c (stash_internal_unit): Delete function. +- (get_unit): Remove use of stash. +- (init_units): Likewise. +- (close_units): Likewise. +- * io/write.c (nml_write_obj): Likewise: +- +-2017-08-14 Release Manager +- +- * GCC 7.2.0 released. +- +-2017-06-27 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/53029 +- * io/list_read.c(list_formatted_read_scalar: Set the err return +- value to the common.flags error values. +- +-2017-06-26 Jim Wilson +- +- Backport from trunk +- PR libfortran/81195 +- * io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack +- and newunit_tos references. Call __gthread_mutex_unlock afterward. +- +-2017-06-06 Thomas Koenig +- +- Backport from trunk +- PR fortran/80975 +- * m4/matmul_internal.m4: Move zeroing before early return. +- * generated/matmul_c10.c: Regenerated. +- * generated/matmul_c16.c: Regenerated. +- * generated/matmul_c4.c: Regenerated. +- * generated/matmul_c8.c: Regenerated. +- * generated/matmul_i1.c: Regenerated. +- * generated/matmul_i16.c: Regenerated. +- * generated/matmul_i2.c: Regenerated. +- * generated/matmul_i4.c: Regenerated. +- * generated/matmul_i8.c: Regenerated. +- * generated/matmul_r10.c: Regenerated. +- * generated/matmul_r16.c: Regenerated. +- * generated/matmul_r4.c: Regenerated. +- * generated/matmul_r8.c: Regenerated. +- +-2017-05-23 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/80741 +- * transfer.c (finalize_transfer): Reset last_char to 'empty'. +- * file_pos.c (formatted_backspace): Likewise. +- (st_endfile): Likewise. +- (st_rewind): Likewise. +- (st_flush): Likewise. +- +-2017-05-23 Paul Thomas +- Jerry DeLisle +- +- Backport from trunk +- PR fortran/80333 +- * list_read.c (nml_read_obj): Compute pointer into class/type +- arrays from the nl->dim information. Update it for each iteration +- of the loop for the given object. +- +-2017-05-19 Janne Blomqvist +- +- Backport from trunk +- * libgfortran.h: HAVE_SECURE_GETENV: Don't check +- HAVE___SECURE_GETENV. +- * environ/runtime.c (secure_getenv): Use __secure_getenv via a +- weak reference. +- +-2017-05-17 Jerry DeLisle +- +- Backport from trunk +- PR libgfortran/80727 +- * transfer.c (read_sf_internal): Remove bogus code to detect EOR. +- (read_block_form): For internal units, generate EOR if no more +- bytes left in unit and we are trying to read with ADVANCE=3D'NO'. +- +-2017-05-02 Release Manager +- +- * GCC 7.1.0 released. +- +-2017-04-11 Jerry DeLisle +- +- * close.c: Fix white space in pointer declarations and comment +- formats where applicable. +- * fbuf.c: Likewise. +- * fbuf.h: Likewise. +- * format.c: Likewise. +- * inquire.c: Likewise. +- * intrinsics.c: Likewise. +- * list_read.c: Likewise. +- * lock.c: Likewise. +- * open.c: Likewise. +- * read.c: Likewise. +- * transfer.c: Likewise. +- * unit.c: Likewise. +- * unix.c: Likewise. +- * unix.h: Likewise. +- * write.c: Likewise. +- +-2017-03-29 Jerry DeLisle +- +- PR libgfortran/78670 +- * io/list_read.c (nml_get_obj_data): Delete code which calls the +- child read procedure. (nml_read_obj): Insert the code which +- calls the child procedure. Don't need to touch nodes if using +- dtio since parent will not be traversing the components. +- +-2017-03-28 Janus Weil +- +- PR fortran/78661 +- * io/write.c (nml_write_obj): Build a class container only if necessary. +- +-2017-03-27 Dominique d'Humieres +- +- * io/list_read.c: Insert /* Fall through. */ in the macro +- CASE_SEPARATORS in order to silence warnings. +- +-2017-03-25 Jerry DeLisle +- +- PR libgfortran/78881 +- * io/io.h (st_parameter_dt): Rename unused component last_char to +- child_saved_iostat. Move comment to gfc_unit. +- * io/list_read.c (list_formatted_read_scalar): After call to +- child READ procedure, save the returned iostat value for later +- check. (finish_list_read): Only finish READ if child_saved_iostat +- was OK. +- * io/transfer.c (read_sf_internal): If there is a saved character +- in last character, seek back one. Add a new check for EOR +- condition. (read_sf): If there is a saved character +- in last character, seek back one. (formatted_transfer_scalar_read): +- Initialize last character before invoking child procedure. +- (data_transfer_init): If child dtio, set advance +- status to nonadvancing. Move update of size and check for EOR +- condition to before child dtio return. +- +-2017-03-17 Thomas Koenig +- +- PR libfortran/79956 +- * m4/reshape.m4 (reshape_'rtype_ccode`): Correct use +- of GFC_ASSERT. +- * generated/reshape_c10.c: Regenerated. +- * generated/reshape_c16.c: Regenerated. +- * generated/reshape_c4.c: Regenerated. +- * generated/reshape_c8.c: Regenerated. +- * generated/reshape_i16.c: Regenerated. +- * generated/reshape_i4.c: Regenerated. +- * generated/reshape_i8.c: Regenerated. +- * generated/reshape_r10.c: Regenerated. +- * generated/reshape_r16.c: Regenerated. +- * generated/reshape_r4.c: Regenerated. +- * generated/reshape_r8.c: Regenerated. +- +-2017-03-15 NightStrike +- Janne Blomqvist +- +- * intrinsics/random.c (getosrandom): Remove check for __CYGWIN__ +- preprocessor flag. +- * intrinsics/system_clock.c: Likewise. +- (system_clock_4): Likewise. +- (system_clock_8): Likewise. +- * intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is +- defined. +- +-2017-03-10 Thomas Koenig +- +- PR libfortran/79956 +- * libgfortran.h (GFC_ASSERT): New macro. +- * m4/reshape.m4 (reshape_'rtype_ccode`): Use GFC_ASSERT +- to specify that sdim > 0 and rdim > 0. +- * intrinsic/reshape_generic.c (reshape_internal): Likweise. +- * generated/reshape_c10.c: Regenerated. +- * generated/reshape_c16.c: Regenerated. +- * generated/reshape_c4.c: Regenerated. +- * generated/reshape_c8.c: Regenerated. +- * generated/reshape_i16.c: Regenerated. +- * generated/reshape_i4.c: Regenerated. +- * generated/reshape_i8.c: Regenerated. +- * generated/reshape_r10.c: Regenerated. +- * generated/reshape_r16.c: Regenerated. +- * generated/reshape_r4.c: Regenerated. +- * generated/reshape_r8.c: Regenerated. +- +-2017-03-11 Jerry DeLisle +- +- PR libgfortran/78854 +- * io/list_read.c (nml_get_obj_data): Stash internal unit for +- later use by child procedures. +- * io/write.c (nml_write_obj): Likewise. +- * io/tranfer.c (data_transfer_init): Minor whitespace. +- * io/unit.c (set_internal_uit): Look for the stashed internal +- unit and use it if found. +- +-2017-03-10 Thomas Koenig +- +- PR libfortran/79956 +- * m4/iforeach.m4: Change exit condition from loop for +- increasing dimension to >=3D. Fix type in comment. +- * m4/ifunction.m4: Likewise. +- * m4/ifunction_logical.m4: Likewise. +- * generated/all_l1.c: Regenerated. +- * generated/all_l16.c: Regenerated. +- * generated/all_l2.c: Regenerated. +- * generated/all_l4.c: Regenerated. +- * generated/all_l8.c: Regenerated. +- * generated/any_l1.c: Regenerated. +- * generated/any_l16.c: Regenerated. +- * generated/any_l2.c: Regenerated. +- * generated/any_l4.c: Regenerated. +- * generated/any_l8.c: Regenerated. +- * generated/count_16_l.c: Regenerated. +- * generated/count_1_l.c: Regenerated. +- * generated/count_2_l.c: Regenerated. +- * generated/count_4_l.c: Regenerated. +- * generated/count_8_l.c: Regenerated. +- * generated/iall_i1.c: Regenerated. +- * generated/iall_i16.c: Regenerated. +- * generated/iall_i2.c: Regenerated. +- * generated/iall_i4.c: Regenerated. +- * generated/iall_i8.c: Regenerated. +- * generated/iany_i1.c: Regenerated. +- * generated/iany_i16.c: Regenerated. +- * generated/iany_i2.c: Regenerated. +- * generated/iany_i4.c: Regenerated. +- * generated/iany_i8.c: Regenerated. +- * generated/iparity_i1.c: Regenerated. +- * generated/iparity_i16.c: Regenerated. +- * generated/iparity_i2.c: Regenerated. +- * generated/iparity_i4.c: Regenerated. +- * generated/iparity_i8.c: Regenerated. +- * generated/maxloc0_16_i1.c: Regenerated. +- * generated/maxloc0_16_i16.c: Regenerated. +- * generated/maxloc0_16_i2.c: Regenerated. +- * generated/maxloc0_16_i4.c: Regenerated. +- * generated/maxloc0_16_i8.c: Regenerated. +- * generated/maxloc0_16_r10.c: Regenerated. +- * generated/maxloc0_16_r16.c: Regenerated. +- * generated/maxloc0_16_r4.c: Regenerated. +- * generated/maxloc0_16_r8.c: Regenerated. +- * generated/maxloc0_4_i1.c: Regenerated. +- * generated/maxloc0_4_i16.c: Regenerated. +- * generated/maxloc0_4_i2.c: Regenerated. +- * generated/maxloc0_4_i4.c: Regenerated. +- * generated/maxloc0_4_i8.c: Regenerated. +- * generated/maxloc0_4_r10.c: Regenerated. +- * generated/maxloc0_4_r16.c: Regenerated. +- * generated/maxloc0_4_r4.c: Regenerated. +- * generated/maxloc0_4_r8.c: Regenerated. +- * generated/maxloc0_8_i1.c: Regenerated. +- * generated/maxloc0_8_i16.c: Regenerated. +- * generated/maxloc0_8_i2.c: Regenerated. +- * generated/maxloc0_8_i4.c: Regenerated. +- * generated/maxloc0_8_i8.c: Regenerated. +- * generated/maxloc0_8_r10.c: Regenerated. +- * generated/maxloc0_8_r16.c: Regenerated. +- * generated/maxloc0_8_r4.c: Regenerated. +- * generated/maxloc0_8_r8.c: Regenerated. +- * generated/maxloc1_16_i1.c: Regenerated. +- * generated/maxloc1_16_i16.c: Regenerated. +- * generated/maxloc1_16_i2.c: Regenerated. +- * generated/maxloc1_16_i4.c: Regenerated. +- * generated/maxloc1_16_i8.c: Regenerated. +- * generated/maxloc1_16_r10.c: Regenerated. +- * generated/maxloc1_16_r16.c: Regenerated. +- * generated/maxloc1_16_r4.c: Regenerated. +- * generated/maxloc1_16_r8.c: Regenerated. +- * generated/maxloc1_4_i1.c: Regenerated. +- * generated/maxloc1_4_i16.c: Regenerated. +- * generated/maxloc1_4_i2.c: Regenerated. +- * generated/maxloc1_4_i4.c: Regenerated. +- * generated/maxloc1_4_i8.c: Regenerated. +- * generated/maxloc1_4_r10.c: Regenerated. +- * generated/maxloc1_4_r16.c: Regenerated. +- * generated/maxloc1_4_r4.c: Regenerated. +- * generated/maxloc1_4_r8.c: Regenerated. +- * generated/maxloc1_8_i1.c: Regenerated. +- * generated/maxloc1_8_i16.c: Regenerated. +- * generated/maxloc1_8_i2.c: Regenerated. +- * generated/maxloc1_8_i4.c: Regenerated. +- * generated/maxloc1_8_i8.c: Regenerated. +- * generated/maxloc1_8_r10.c: Regenerated. +- * generated/maxloc1_8_r16.c: Regenerated. +- * generated/maxloc1_8_r4.c: Regenerated. +- * generated/maxloc1_8_r8.c: Regenerated. +- * generated/maxval_i1.c: Regenerated. +- * generated/maxval_i16.c: Regenerated. +- * generated/maxval_i2.c: Regenerated. +- * generated/maxval_i4.c: Regenerated. +- * generated/maxval_i8.c: Regenerated. +- * generated/maxval_r10.c: Regenerated. +- * generated/maxval_r16.c: Regenerated. +- * generated/maxval_r4.c: Regenerated. +- * generated/maxval_r8.c: Regenerated. +- * generated/minloc0_16_i1.c: Regenerated. +- * generated/minloc0_16_i16.c: Regenerated. +- * generated/minloc0_16_i2.c: Regenerated. +- * generated/minloc0_16_i4.c: Regenerated. +- * generated/minloc0_16_i8.c: Regenerated. +- * generated/minloc0_16_r10.c: Regenerated. +- * generated/minloc0_16_r16.c: Regenerated. +- * generated/minloc0_16_r4.c: Regenerated. +- * generated/minloc0_16_r8.c: Regenerated. +- * generated/minloc0_4_i1.c: Regenerated. +- * generated/minloc0_4_i16.c: Regenerated. +- * generated/minloc0_4_i2.c: Regenerated. +- * generated/minloc0_4_i4.c: Regenerated. +- * generated/minloc0_4_i8.c: Regenerated. +- * generated/minloc0_4_r10.c: Regenerated. +- * generated/minloc0_4_r16.c: Regenerated. +- * generated/minloc0_4_r4.c: Regenerated. +- * generated/minloc0_4_r8.c: Regenerated. +- * generated/minloc0_8_i1.c: Regenerated. +- * generated/minloc0_8_i16.c: Regenerated. +- * generated/minloc0_8_i2.c: Regenerated. +- * generated/minloc0_8_i4.c: Regenerated. +- * generated/minloc0_8_i8.c: Regenerated. +- * generated/minloc0_8_r10.c: Regenerated. +- * generated/minloc0_8_r16.c: Regenerated. +- * generated/minloc0_8_r4.c: Regenerated. +- * generated/minloc0_8_r8.c: Regenerated. +- * generated/minloc1_16_i1.c: Regenerated. +- * generated/minloc1_16_i16.c: Regenerated. +- * generated/minloc1_16_i2.c: Regenerated. +- * generated/minloc1_16_i4.c: Regenerated. +- * generated/minloc1_16_i8.c: Regenerated. +- * generated/minloc1_16_r10.c: Regenerated. +- * generated/minloc1_16_r16.c: Regenerated. +- * generated/minloc1_16_r4.c: Regenerated. +- * generated/minloc1_16_r8.c: Regenerated. +- * generated/minloc1_4_i1.c: Regenerated. +- * generated/minloc1_4_i16.c: Regenerated. +- * generated/minloc1_4_i2.c: Regenerated. +- * generated/minloc1_4_i4.c: Regenerated. +- * generated/minloc1_4_i8.c: Regenerated. +- * generated/minloc1_4_r10.c: Regenerated. +- * generated/minloc1_4_r16.c: Regenerated. +- * generated/minloc1_4_r4.c: Regenerated. +- * generated/minloc1_4_r8.c: Regenerated. +- * generated/minloc1_8_i1.c: Regenerated. +- * generated/minloc1_8_i16.c: Regenerated. +- * generated/minloc1_8_i2.c: Regenerated. +- * generated/minloc1_8_i4.c: Regenerated. +- * generated/minloc1_8_i8.c: Regenerated. +- * generated/minloc1_8_r10.c: Regenerated. +- * generated/minloc1_8_r16.c: Regenerated. +- * generated/minloc1_8_r4.c: Regenerated. +- * generated/minloc1_8_r8.c: Regenerated. +- * generated/minval_i1.c: Regenerated. +- * generated/minval_i16.c: Regenerated. +- * generated/minval_i2.c: Regenerated. +- * generated/minval_i4.c: Regenerated. +- * generated/minval_i8.c: Regenerated. +- * generated/minval_r10.c: Regenerated. +- * generated/minval_r16.c: Regenerated. +- * generated/minval_r4.c: Regenerated. +- * generated/minval_r8.c: Regenerated. +- * generated/norm2_r10.c: Regenerated. +- * generated/norm2_r16.c: Regenerated. +- * generated/norm2_r4.c: Regenerated. +- * generated/norm2_r8.c: Regenerated. +- * generated/parity_l1.c: Regenerated. +- * generated/parity_l16.c: Regenerated. +- * generated/parity_l2.c: Regenerated. +- * generated/parity_l4.c: Regenerated. +- * generated/parity_l8.c: Regenerated. +- * generated/product_c10.c: Regenerated. +- * generated/product_c16.c: Regenerated. +- * generated/product_c4.c: Regenerated. +- * generated/product_c8.c: Regenerated. +- * generated/product_i1.c: Regenerated. +- * generated/product_i16.c: Regenerated. +- * generated/product_i2.c: Regenerated. +- * generated/product_i4.c: Regenerated. +- * generated/product_i8.c: Regenerated. +- * generated/product_r10.c: Regenerated. +- * generated/product_r16.c: Regenerated. +- * generated/product_r4.c: Regenerated. +- * generated/product_r8.c: Regenerated. +- * generated/sum_c10.c: Regenerated. +- * generated/sum_c16.c: Regenerated. +- * generated/sum_c4.c: Regenerated. +- * generated/sum_c8.c: Regenerated. +- * generated/sum_i1.c: Regenerated. +- * generated/sum_i16.c: Regenerated. +- * generated/sum_i2.c: Regenerated. +- * generated/sum_i4.c: Regenerated. +- * generated/sum_i8.c: Regenerated. +- * generated/sum_r10.c: Regenerated. +- * generated/sum_r16.c: Regenerated. +- * generated/sum_r4.c: Regenerated. +- * generated/sum_r8.c: Regenerated. +- +-2017-03-05 Andre Vehreschild +- Alessandro Fanfarillo +- +- * caf/libcaf.h: Added prototypes and stat codes for failed and stopped +- images. +- * caf/single.c (void _gfortran_caf_fail_image): Add the routine. +- (int _gfortran_caf_image_status): Same. +- (_gfortran_caf_failed_images): Same. +- (_gfortran_caf_stopped_images): Same. +- +-2017-03-02 Thomas Koenig +- Jakub Jelinek +- +- * m4/matmul.m4 (matmul_'rtype_code`): Avoid +- race condition on storing function pointer. +- * generated/matmul_c10.c: Regenerated. +- * generated/matmul_c16.c: Regenerated. +- * generated/matmul_c4.c: Regenerated. +- * generated/matmul_c8.c: Regenerated. +- * generated/matmul_i1.c: Regenerated. +- * generated/matmul_i16.c: Regenerated. +- * generated/matmul_i2.c: Regenerated. +- * generated/matmul_i4.c: Regenerated. +- * generated/matmul_i8.c: Regenerated. +- * generated/matmul_r10.c: Regenerated. +- * generated/matmul_r16.c: Regenerated. +- * generated/matmul_r4.c: Regenerated. +- * generated/matmul_r8.c: Regenerated. +- +-2017-03-02 Thomas Koenig +- +- PR fortran/78379 +- * m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for +- reals. Add fma to target options. +- (matmul_'rtype_code`): Call AVX2 only if FMA is available. +- * generated/matmul_c10.c: Regenerated. +- * generated/matmul_c16.c: Regenerated. +- * generated/matmul_c4.c: Regenerated. +- * generated/matmul_c8.c: Regenerated. +- * generated/matmul_i1.c: Regenerated. +- * generated/matmul_i16.c: Regenerated. +- * generated/matmul_i2.c: Regenerated. +- * generated/matmul_i4.c: Regenerated. +- * generated/matmul_i8.c: Regenerated. +- * generated/matmul_r10.c: Regenerated. +- * generated/matmul_r16.c: Regenerated. +- * generated/matmul_r4.c: Regenerated. +- * generated/matmul_r8.c: Regenerated. +- +-2017-02-27 Janne Blomqvist +- +- * intrinsics/random.c (getosrandom): Don't try to use rand_s on +- CYGWIN. +- +-2017-02-16 Paul Thomas +- +- PR fortran/79382 +- * io/transfer.c (check_dtio_proc): New function. +- (formatted_transfer_scalar_read): Use it. +- (formatted_transfer_scalar_write): ditto. +- +-2017-01-31 Steven G. Kargl +- +- PR fortran/79305 +- * c99_protos.h: Spell HAVE_EXPL correctly. +- * intrinsics/c99_functions.c: Ditto. +- +-2017-01-19 Uros Bizjak +- +- PR target/78478 +- * acinclude.m4: Include ../config/ax_check_define.m4 +- * configure.ac: Check if _SOFT_FLOAT is defined. +- * configure.host (i?86 | x86_64): Use fpu-generic when +- have_soft_float is set. +- * configure: Regenerate. +- +-2017-01-19 Jakub Jelinek +- +- PR target/79127 +- * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers +- some zmm16+ registers to verify they are handled by unwind info +- properly if needed. +- * configure: Regenerated. +- +-2017-01-17 Jakub Jelinek ++2020-01-17 Jerry DeLisle +=20 +- PR other/79046 +- * configure.ac: Add GCC_BASE_VER. +- * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to +- get version from BASE-VER file. +- * configure: Regenerated. +- * Makefile.in: Regenerated. ++ PR libfortran/93234 ++ * io/unit.c (set_internal_unit): Set round and sign flags ++ correctly. +=20 +-2017-01-13 Andre Vehreschild ++2020-01-17 Jerry DeLisle +=20 +- PR fortran/70696 +- * caf/single.c (_gfortran_caf_register): Allocate enough memory for +- the event counter. ++ PR libfortran/90374 ++ * io/format.c (parse_format_list): Zero width not allowed with ++ FMT_D. ++ * io/write_float.def (build_float_string): Include range of ++ higher exponent values that require wider width. +=20 +-2017-01-07 Andre Vehreschild ++2020-01-01 Jerry DeLisle +=20 +- PR fortran/78781 +- PR fortran/78935 +- * caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar +- destination components. ++ PR libfortran/90374 ++ * io/format.c (parse_format_list): Implement the E0 exponent ++ width to provide smallest possible width for exponent fields. ++ Refactor code for correct parsing and better readability of the ++ code. ++ * io/io.h (write_real_w0): Change interface to pass in pointer ++ to fnode. ++ * io/transfer.c: Update all calls to write_real_w0 to use the ++ new interface. ++ * io/write.c ((write_real_w0): Use the new interface with fnode ++ to access both the decimal precision and exponent widths used in ++ build_float_string. ++ * io/write_float.def (build_float_string): Use the passed in ++ exponent width to calculate the used width in the case of E0. +=20 +-2017-01-01 Jakub Jelinek ++2020-01-01 Jakub Jelinek +=20 + Update copyright years. + +-Copyright (C) 2017 Free Software Foundation, Inc. ++Copyright (C) 2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in +index 4914a6f323f..ba700a8002c 100644 +--- a/libgfortran/Makefile.in ++++ b/libgfortran/Makefile.in +@@ -133,6 +133,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/depsta= nd.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/acx.m4 \ +diff --git a/libgfortran/aclocal.m4 b/libgfortran/aclocal.m4 +index 015537ef197..58f0687d7a5 100644 +--- a/libgfortran/aclocal.m4 ++++ b/libgfortran/aclocal.m4 +@@ -1030,6 +1030,7 @@ m4_include([../config/lthostflags.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libgfortran/configure b/libgfortran/configure +index 1db8f5f5224..e28fa82d8d5 100755 +--- a/libgfortran/configure ++++ b/libgfortran/configure +@@ -771,6 +771,7 @@ enable_intermodule + enable_maintainer_mode + enable_multilib + enable_dependency_tracking ++with_toolexeclibdir + enable_symvers + with_gnu_ld + enable_shared +@@ -1436,6 +1437,9 @@ Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) + --with-build-libsubdir=3DDIR Directory where to find libraries for bui= ld system ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] +@@ -4927,6 +4931,22 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6= ; } +=20 +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -4942,7 +4962,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -12421,7 +12448,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12424 "configure" ++#line 12451 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -12527,7 +12554,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12530 "configure" ++#line 12557 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac +index 37b12d2998f..6dee8ef15b0 100644 +--- a/libgfortran/configure.ac ++++ b/libgfortran/configure.ac +@@ -87,6 +87,8 @@ fi +=20 + AC_USE_SYSTEM_EXTENSIONS +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -102,7 +104,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog +index c34a9284081..b8fa7d457d8 100644 +--- a/libgomp/ChangeLog ++++ b/libgomp/ChangeLog +@@ -1,155 +1,4375 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * testsuite/Makefile.in: Regenerate. ++ ++2020-01-24 Frederik Harwath ++ ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c ++ (expect_device_properties): Remove "expected_free_mem" argument, ++ change "expected_total_mem" argument type to size_t; ++ change types of acc_get_property results to size_t, ++ adapt format strings. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: ++ Use %zu instead of %zd to print size_t values. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and ++ rename to ... ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and ++ rename to ... ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. ++ ++2020-01-23 Andrew Stubbs ++ ++ * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for ++ the device id. ++ ++2020-01-20 Andrew Stubbs ++ ++ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. ++ * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): ++ Adjust test dimensions for amdgcn. ++ * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust ++ gang/worker/vector expectations dynamically. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c ++ (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c ++ (acc_gang): Recognise acc_device_radeon. ++ (acc_worker): Likewise. ++ (acc_vector): Likewise. ++ (main): Set expectations for amdgcn. ++ * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c ++ (main): Adjust gang/worker/vector expectations dynamically. ++ * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations ++ for amdgcn. ++ ++2020-01-17 Andrew Stubbs ++ ++ * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to ++ acc_device_radeon. ++ (openacc): Likewise. ++ * openacc.f90 (openacc_kinds): Likewise. ++ (openacc): Likewise. ++ * openacc.h (acc_device_t): Likewise. ++ * openacc_lib.h: Likewise. ++ * testsuite/lib/libgomp.exp ++ (check_effective_target_openacc_amdgcn_accel_present): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c ++ (cb_compute_construct_end): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c ++ (cb_enqueue_launch_start): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c ++ (cb_enter_data_end): Likewise. ++ (cb_exit_data_start): Likewise. ++ (cb_exit_data_end): Likewise. ++ (cb_compute_construct_end): Likewise. ++ (cb_enqueue_launch_start): Likewise. ++ (cb_enqueue_launch_end): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c ++ (main): Likewise. ++ ++2020-01-10 Thomas Schwinge ++ ++ * libgomp-plugin.h (enum goacc_property): New. Adjust all users ++ to use this instead of 'enum gomp_device_property'. ++ (GOMP_OFFLOAD_get_property): Rename to... ++ (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. ++ * libgomp.h (struct gomp_device_descr): Move ++ 'GOMP_OFFLOAD_openacc_get_property'... ++ (struct acc_dispatch_t): ... here. Adjust all users. ++ * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. ++ ++ * target.c (gomp_map_vars_internal) ++ : Clean up/elaborate code ++ paths. ++ ++2020-01-10 Jakub Jelinek ++ ++ PR libgomp/93219 ++ * libgomp.h (gomp_print_string): Change return type from void to int. ++ * affinity-fmt.c (gomp_print_string): Likewise. Return true if ++ not all characters have been written. ++ ++2020-01-08 Tobias Burnus ++ ++ * libgomp.texi: Fix typos, use https. ++ ++2020-01-03 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/optional-map.f90: Add test for ++ unallocated/disassociated actual arguments to nonallocatable/nonpointer ++ dummy arguments; those are/shall be regarded as absent arguments. ++ * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++ * libgomp.texi: Bump @copying's copyright year. ++ ++2019-12-31 Ayush Mittal ++ ++ PR libgomp/93065 ++ * oacc-init.c (goacc_runtime_deinitialize): New function. ++ ++2019-12-28 Jakub Jelinek ++ ++ PR bootstrap/93074 ++ * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. ++ (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. ++ ++2019-12-22 Maciej W. Rozycki ++ Frederik Harwath ++ Thomas Schwinge ++ ++ * libgomp.h (gomp_device_descr): Add `get_property_func' member. ++ * libgomp-plugin.h (gomp_device_property_value): New union. ++ (gomp_device_property_value): New prototype. ++ * openacc.h (acc_device_t): Add `acc_device_current' enumeration ++ constant. ++ (acc_device_property_t): New enum. ++ (acc_get_property, acc_get_property_string): New prototypes. ++ * oacc-init.c (acc_get_device_type): Also assert that result ++ is not `acc_device_current'. ++ (get_property_any, acc_get_property, acc_get_property_string): ++ New functions. ++ * openacc.f90 (openacc_kinds): Add `acc_device_current' and ++ `acc_property_memory', `acc_property_free_memory', ++ `acc_property_name', `acc_property_vendor' and ++ `acc_property_driver' constants. Add `acc_device_property' data ++ type. ++ (openacc_internal): Add `acc_get_property' and ++ `acc_get_property_string' interfaces. Add `acc_get_property_h', ++ `acc_get_property_string_h', `acc_get_property_l' and ++ `acc_get_property_string_l'. ++ * oacc-host.c (host_get_property): New function. ++ (host_dispatch): Wire it. ++ * target.c (gomp_load_plugin_for_device): Handle `get_property'. ++ * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', ++ `acc_get_property_string' and `acc_get_property_string_h_' symbols. ++ * libgomp.texi (OpenACC Runtime Library Routines): Add ++ `acc_get_property'. ++ (acc_get_property): New node. ++ * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New ++ function (stub). ++ * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. ++ * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', ++ `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' ++ calls. ++ (GOMP_OFFLOAD_get_property): New function. ++ (struct ptx_device): Add new field "name". ++ (cuda_driver_version_s): Add new static variable ... ++ (nvptx_init): ... and init from here. ++ ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file ++ with test helper functions. ++ ++ * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. ++ ++2019-12-22 Maciej W. Rozycki ++ ++ * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New ++ variable. ++ ++2019-12-21 Thomas Schwinge ++ ++ * target.c (gomp_map_vars_internal): Restore 'omp declare target ++ link' handling. ++ ++2019-12-19 Julian Brown ++ ++ * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. ++ * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. ++ * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. ++ ++2019-12-19 Julian Brown ++ Cesar Philippidis ++ ++ * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. ++ * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. ++ * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. ++ * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. ++ * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. ++ * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. ++ * testsuite/libgomp.oacc-fortran/update-2.f90: New test. ++ ++2019-12-19 Julian Brown ++ ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. ++ * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. ++ * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. ++ ++2019-12-19 Julian Brown ++ ++ * libgomp.h (struct target_var_desc): Add do_detach flag. ++ * oacc-init.c (acc_shutdown_1): Free aux block if present. ++ * oacc-mem.c (find_group_last): Add SIZES parameter. Support ++ struct components. Tidy up and add some new checks. ++ (goacc_enter_data_internal): Update call to find_group_last. ++ (goacc_exit_data_internal): Support detach operations and ++ GOMP_MAP_STRUCT. ++ (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or ++ GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle ++ attach/detach in enter/exit data detection code. ++ * target.c (gomp_map_vars_existing): Initialise do_detach field of ++ tgt_var_desc. ++ (gomp_map_vars_internal): Support attach. ++ (gomp_unmap_vars_internal): Support detach. ++ ++2019-12-19 Julian Brown ++ Thomas Schwinge ++ ++ * libgomp.h (struct splay_tree_aux): Add attach_count field. ++ (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. ++ * libgomp.map (OACC_2.6): New section. Add acc_attach, ++ acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, ++ acc_detach_finalize_async. ++ * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, ++ acc_detach, acc_detach_async, acc_detach_finalize, ++ acc_detach_finalize_async): New functions. ++ * openacc.h (acc_attach, acc_attach_async, acc_detach, ++ (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add ++ prototypes. ++ * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. ++ (gomp_remove_var_internal): Free attachment counts if present. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. ++ ++2019-12-19 Julian Brown ++ Cesar Philippidis ++ ++ * libgomp.h (gomp_map_val): Add prototype. ++ * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of ++ open-coding device-address calculation. ++ * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in ++ non-present case. ++ ++2019-12-19 Julian Brown ++ ++ * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount ++ field for virtual_refcount. ++ (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. ++ (gomp_free_memmap): Remove prototype. ++ * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var ++ instead of calling gomp_free_memmap. ++ * oacc-mem.c (acc_map_data): Use virtual_refcount instead of ++ dynamic_refcount. ++ (acc_unmap_data): Open code instead of forcing target_mem_desc's ++ to_free field to NULL then calling gomp_unmap_vars. Handle ++ REFCOUNT_INFINITY on target blocks. ++ (goacc_enter_data): Rename to... ++ (goacc_enter_datum): ...this. Remove MAPNUM parameter and special ++ handling for mapping groups. Use virtual_refcount instead of ++ dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for ++ map_map_vars_async call. Re-do lookup for target pointer return value. ++ (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call ++ renamed goacc_enter_datum function. ++ (goacc_exit_data): Rename to... ++ (goacc_exit_datum): ...this. Update for virtual_refcount semantics. ++ (acc_delete, acc_delete_async, acc_delete_finalize, ++ acc_delete_finalize_async, acc_copyout, acc_copyout_async, ++ acc_copyout_finalize, acc_copyout_finalize_async): Call renamed ++ goacc_exit_datum function. ++ (gomp_acc_remove_pointer, find_pointer): Remove functions. ++ (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): ++ New functions. ++ (GOACC_enter_exit_data): Use goacc_enter_data_internal and ++ goacc_exit_data_internal helper functions. ++ * target.c (gomp_map_vars_internal): Handle ++ GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount ++ semantics. ++ (gomp_unmap_vars_internal): Update for virtual_refcount semantics. ++ (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise ++ virtual_refcount field instead of dynamic_refcount. ++ (gomp_free_memmap): Remove function. ++ * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. ++ * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. ++ ++2019-12-19 Julian Brown ++ Thomas Schwinge ++ ++ * libgomp.h (struct splay_tree_aux): New. ++ (struct splay_tree_key_s): Replace link_key field with aux pointer. ++ * target.c (gomp_map_vars_internal): Adjust for link_key being moved ++ to aux struct. ++ (gomp_remove_var_internal): Free aux block if present. ++ (gomp_load_image_to_device): Zero-initialise aux field instead of ++ link_key field. ++ (omp_target_associate_pointer): Zero-initialise aux field. ++ ++2019-12-18 Jakub Jelinek ++ ++ PR middle-end/86416 ++ * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than ++ q or none. ++ * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than ++ L or none. ++ ++2019-12-19 Julian Brown ++ Maciej W. Rozycki ++ Tobias Burnus ++ Thomas Schwinge ++ ++ * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. ++ * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. ++ * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. ++ * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. ++ * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. ++ ++2019-12-18 Thomas Schwinge ++ ++ * oacc-mem.c (goacc_enter_data): Refactor, so that it can be ++ called... ++ (goacc_insert_pointer): ... from here, "present" case. ++ (goacc_insert_pointer): Inline function into... ++ (GOACC_enter_exit_data): ... here, and simplify. ++ ++ * oacc-mem.c (goacc_enter_data): Refactor, so that it can be ++ called... ++ (goacc_insert_pointer): ... from here, "not present" case. ++ ++ * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust ++ all users. ++ ++ * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call ++ 'goacc_enter_data', 'goacc_exit_data'. ++ ++ * oacc-mem.c (delete_copyout): Refactor into... ++ (goacc_exit_data): ... this. Adjust all users. ++ ++ * oacc-mem.c (present_create_copy): Refactor into... ++ (goacc_enter_data): ... this. Adjust all users. ++ ++ * target.c (gomp_unmap_vars_internal): Add a safeguard to ++ 'gomp_remove_var'. ++ ++ * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' ++ like 'GOMP_MAP_FROM'. ++ ++ PR libgomp/92726 ++ PR libgomp/92970 ++ PR libgomp/92984 ++ * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' ++ fails. ++ (GOACC_enter_exit_data): Simplify accordingly. ++ * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, ++ subsuming... ++ * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... ++ * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this ++ file. ++ * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, ++ subsuming... ++ * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... ++ * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this ++ file. ++ * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, ++ subsuming... ++ * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. ++ ++ * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' ++ 'finalize' handling. ++ ++ PR libgomp/92848 ++ * oacc-mem.c (acc_map_data, present_create_copy) ++ (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. ++ (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. ++ * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. ++ * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file ++ * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: ++ Remove "XFAIL"s. ++ ++ * target.c (gomp_unmap_tgt): Make it 'static'. ++ * libgomp.h (gomp_unmap_tgt): Remove. ++ ++2019-12-18 Tobias Burnus ++ ++ PR middle-end/86416 ++ * testsuite/libgomp.c/pr86416-1.c: New. ++ * testsuite/libgomp.c/pr86416-2.c: New. ++ ++2019-12-17 Tobias Burnus ++ ++ * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark ++ all symbols as public except for the 'use =E2=80=A6, only' imported symb= ol, ++ which is private. ++ (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark ++ all symbols from module openacc_kinds as PUBLIC ++ * openacc.f90: Add comment with crossref to that file and openmp_lib.h; ++ fix comment typo. ++ * openacc_lib.h (acc_device_gcn): Add this PARAMETER. ++ ++2019-12-13 Julian Brown ++ ++ PR libgomp/92881 ++ ++ * libgomp.h (gomp_remove_var_async): Add prototype. ++ * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of ++ gomp_remove_var. ++ * target.c (gomp_unref_tgt): Change return type to bool, indicating ++ whether target_mem_desc was unmapped. ++ (gomp_unref_tgt_void): New. ++ (gomp_remove_var): Reimplement in terms of... ++ (gomp_remove_var_internal): ...this new helper function. ++ (gomp_remove_var_async): New, implemented using above helper function. ++ (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of ++ gomp_unref_tgt. ++ ++2019-12-13 Andrew Stubbs ++ ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. ++ * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. ++ ++2019-12-13 Tobias Burnus ++ ++ * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols ++ as public except for the 'use =E2=80=A6, only' imported symbol, which is ++ private. ++ (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark ++ all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC ++ attributes for acc_copyout_finalize and acc_delete_finalize. ++ ++2019-12-11 Jakub Jelinek ++ ++ PR fortran/92899 ++ * testsuite/libgomp.fortran/atomic1.f90: New test. ++ ++2019-12-11 Thomas Schwinge ++ ++ PR libgomp/92843 ++ * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic ++ reference counting for structured 'REFCOUNT_INFINITY'. Add some ++ assertions. ++ (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. ++ * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. ++ * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. ++ * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. ++ ++ * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... ++ * oacc-mem.c: ... here. ++ (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to ++ 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. ++ * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): ++ Remove. ++ * libgomp_g.h: Update. ++ ++ * oacc-parallel.c (GOACC_wait, goacc_wait): Move... ++ * oacc-async.c: ... here. ++ * oacc-int.h (goacc_wait): Declare. ++ * libgomp_g.h: Update ++ ++ PR libgomp/92854 ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: ++ New file. ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: ++ Likewise. ++ ++2019-12-11 Thomas Schwinge ++ Julian Brown ++ ++ * target.c (gomp_load_image_to_device, omp_target_associate_ptr): ++ Initialize 'dynamic_refcount' whenever we initialize 'refcount'. ++ ++2019-12-11 Tobias Burnus ++ ++ * omp_lib.h.in: Fix spelling of function declaration ++ omp_get_cancell(l)ation. ++ * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): ++ Fix typos. ++ * env.c: Fix comment typos. ++ * oacc-host.c: Likewise. ++ * ordered.c: Likewise. ++ * task.c: Likewise. ++ * team.c: Likewise. ++ * config/gcn/task.c: Likewise. ++ * config/gcn/team.c: Likewise. ++ * config/nvptx/task.c: Likewise. ++ * config/nvptx/team.c: Likewise. ++ * plugin/plugin-gcn.c: Likewise. ++ * testsuite/libgomp.fortran/jacobi.f: Likewise. ++ * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. ++ ++2019-12-11 Tobias Burnus ++ ++ * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. ++ * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove ++ unnecessary 'dg-additional-options "-w"'. ++ ++2019-12-09 Thomas Schwinge ++ Julian Brown ++ ++ PR libgomp/92116 ++ PR libgomp/92877 ++ ++ * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. ++ * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. ++ Adjust all users. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: ++ Remove XFAIL. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. ++ ++2019-12-09 Thomas Schwinge ++ ++ PR libgomp/92503 ++ * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New ++ file. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. ++ * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. ++ ++ PR libgomp/92840 ++ * oacc-mem.c (acc_map_data): Clarify reference counting behavior. ++ (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. ++ * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: ++ New file. ++ * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. ++ * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. ++ ++ PR libgomp/92511 ++ * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove ++ this file... ++ * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and ++ this file... ++ * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this ++ file... ++ * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this ++ file... ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: ++ ... with their content moved into, and extended in this new file. ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: ++ New file. ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: ++ Likewise. ++ ++ * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. ++ ++ PR libgomp/92854 ++ * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. ++ ++ * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. ++ ++ * target.c (gomp_exit_data): Use 'gomp_remove_var'. ++ ++2019-12-09 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes ++ unique. ++ * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. ++ ++2019-12-06 Kwok Cheung Yeung ++ ++ * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. ++ ++2019-12-06 Tobias Burnus ++ Kwok Cheung Yeung ++ ++ * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return ++ if input it a NULL pointer. ++ * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on ++ diagnostic of NULL pointer. ++ * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. ++ * testsuite/libgomp.fortran/optional-map.f90: New. ++ * testsuite/libgomp.fortran/use_device_addr-1.f90 ++ (test_dummy_opt_callee_1_absent): New. ++ (test_dummy_opt_call_1): Call it. ++ * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. ++ * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. ++ * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. ++ * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-private.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. ++ * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. ++ ++2019-12-05 Tobias Burnus ++ ++ * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't ++ expect dg-output of 'Error termination.' for GCN. ++ * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. ++ ++2019-12-04 Jakub Jelinek ++ ++ PR fortran/92756 ++ * testsuite/libgomp.fortran/teams1.f90: New test. ++ * testsuite/libgomp.fortran/teams2.f90: New test. ++ ++2019-12-03 Frederik Harwath ++ ++ * oacc-init.c (acc_known_device_type): Add function. ++ (unknown_device_type_error): Add function. ++ (name_of_acc_device_t): Change to call unknown_device_type_error ++ on unknown type. ++ (resolve_device): Use acc_known_device_type. ++ (acc_init): Fail if acc_device_t argument is not valid. ++ (acc_shutdown): Likewise. ++ (acc_get_num_devices): Likewise. ++ (acc_set_device_type): Likewise. ++ (acc_get_device_num): Likewise. ++ (acc_set_device_num): Likewise. ++ (acc_on_device): Add comment that argument validity is not checked. ++ ++2019-12-03 Andrew Stubbs ++ ++ * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): ++ Recognize amdgcn. ++ (check_effective_target_openacc_amdgcn_accel_present): New proc. ++ (check_effective_target_openacc_amdgcn_accel_selected): New proc. ++ * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. ++ * testsuite/libgomp.oacc-c/c.exp: Likewise. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. ++ ++2019-12-03 Szabolcs Nagy ++ ++ PR libgomp/91938 ++ * configure.tgt: Avoid IE tls on *-*-musl*. ++ ++2019-11-29 Tobias Burnus ++ ++ * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by ++ adding a common-block test case. ++ ++2019-11-29 Jakub Jelinek ++ ++ PR c++/60228 ++ * testsuite/libgomp.c++/udr-20.C: New test. ++ * testsuite/libgomp.c++/udr-21.C: New test. ++ ++2019-11-27 Thomas Schwinge ++ ++ * testsuite/lib/libgomp.exp ++ (check_effective_target_offload_target_nvptx): New proc. ++ * testsuite/libgomp.fortran/target-print-1.f90: Use it with ++ 'dg-skip-if'. ++ * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. ++ * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. ++ * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. ++ ++2019-11-21 Rainer Orth ++ ++ * testsuite/libgomp.c/pr39591-1.c: Rename err to e. ++ * testsuite/libgomp.c/pr39591-2.c: Likewise. ++ * testsuite/libgomp.c/pr39591-3.c: Likewise. ++ * testsuite/libgomp.c/private-1.c: Likewise. ++ * testsuite/libgomp.c/task-1.c: Likewise. ++ * testsuite/libgomp.c/task-5.c: Renamed err to serr. ++ ++2019-11-20 Julian Brown ++ ++ * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock ++ aq->mutex here. ++ (queue_push_launch): Lock aq->mutex before calling ++ wait_for_queue_nonfull. ++ (queue_push_callback): Likewise. ++ (queue_push_asyncwait): Likewise. ++ (queue_push_placeholder): Likewise. ++ ++2019-11-20 Julian Brown ++ ++ * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. ++ (copy_data, GOMP_OFFLOAD_host2dev): Use above function. ++ (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy ++ return code. ++ ++2019-11-20 Julian Brown ++ ++ PR libgomp/92511 ++ ++ * oacc-mem.c (present_create_copy): Fix device pointer return value in ++ case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free ++ in non-present/create case. ++ (delete_copyout): Change error condition to fail only on copies outside ++ of mapped block. Adjust error message accordingly. ++ * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error ++ message. ++ * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. ++ * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. ++ ++2019-11-20 Maciej W. Rozycki ++ ++ * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find ++ libatomic in build-tree testing. ++ ++2019-11-18 Maciej W. Rozycki ++ ++ * testsuite/Makefile.in: Regenerate. ++ ++2019-11-15 Andrew Stubbs ++ ++ * testsuite/libgomp.c/target-print-1.c: New file. ++ * testsuite/libgomp.fortran/target-print-1.f90: New file. ++ * testsuite/libgomp.oacc-c/print-1.c: New file. ++ * testsuite/libgomp.oacc-fortran/print-1.f90: New file. ++ ++2019-11-13 Andrew Stubbs ++ Kwok Cheung Yeung ++ Julian Brown ++ Tom de Vries ++ ++ * plugin/Makefrag.am: Add amdgcn plugin support. ++ * plugin/configfrag.ac: Likewise. ++ * plugin/plugin-gcn.c: New file. ++ * configure: Regenerate. ++ * Makefile.in: Regenerate. ++ * testsuite/Makefile.in: Regenerate. ++ ++2019-11-13 Andrew Stubbs ++ ++ * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena ++ and use team_malloc variants. ++ (gomp_gcn_exit_kernel): Use team_free. ++ * libgomp.h (TEAM_ARENA_SIZE): Define. ++ (TEAM_ARENA_START): Define. ++ (TEAM_ARENA_FREE): Define. ++ (TEAM_ARENA_END): Define. ++ (team_malloc): New function. ++ (team_malloc_cleared): New function. ++ (team_free): New function. ++ * team.c (gomp_new_team): Initialize and use team_malloc. ++ (free_team): Use team_free. ++ (gomp_free_thread): Use team_free. ++ (gomp_pause_host): Use team_free. ++ * work.c (gomp_init_work_share): Use team_malloc. ++ (gomp_fini_work_share): Use team_free. ++ ++2019-11-13 Andrew Stubbs ++ Kwok Cheung Yeung ++ Julian Brown ++ Tom de Vries ++ ++ * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. ++ * Makefile.in: Regenerate. ++ * config.h.in (PLUGIN_GCN): Add new undef. ++ * config/accel/openacc.f90 (acc_device_gcn): New parameter. ++ * config/gcn/affinity-fmt.c: New file. ++ * config/gcn/bar.c: New file. ++ * config/gcn/bar.h: New file. ++ * config/gcn/doacross.h: New file. ++ * config/gcn/icv-device.c: New file. ++ * config/gcn/oacc-target.c: New file. ++ * config/gcn/simple-bar.h: New file. ++ * config/gcn/target.c: New file. ++ * config/gcn/task.c: New file. ++ * config/gcn/team.c: New file. ++ * config/gcn/time.c: New file. ++ * configure.ac: Add amdgcn*-*-*. ++ * configure: Regenerate. ++ * configure.tgt: Add amdgcn*-*-*. ++ * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. ++ * libgomp.h (gcn_thrs): Add amdgcn variant. ++ (set_gcn_thrs): Likewise. ++ (gomp_thread): Likewise. ++ * oacc-int.h (goacc_thread): Likewise. ++ * oacc-target.c: New file. ++ * openacc.f90 (acc_device_gcn): New parameter. ++ * openacc.h (acc_device_t): Add acc_device_gcn. ++ * team.c (gomp_free_pool_helper): Add amdgcn support. ++ ++2019-11-13 Andrew Stubbs ++ Julian Brown ++ ++ * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int ++ parameter. ++ * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the ++ queue constructor. ++ * oacc-host.c (host_openacc_async_construct): Add device parameter. ++ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add ++ device parameter. ++ ++2019-11-13 Andrew Stubbs ++ ++ * configure.tgt (nvptx*-*-*): Add "accel" directory. ++ * config/nvptx/libgomp-plugin.c: Move ... ++ * config/accel/libgomp-plugin.c: ... to here. ++ * config/nvptx/lock.c: Move ... ++ * config/accel/lock.c: ... to here. ++ * config/nvptx/mutex.c: Move ... ++ * config/accel/mutex.c: ... to here. ++ * config/nvptx/mutex.h: Move ... ++ * config/accel/mutex.h: ... to here. ++ * config/nvptx/oacc-async.c: Move ... ++ * config/accel/oacc-async.c: ... to here. ++ * config/nvptx/oacc-cuda.c: Move ... ++ * config/accel/oacc-cuda.c: ... to here. ++ * config/nvptx/oacc-host.c: Move ... ++ * config/accel/oacc-host.c: ... to here. ++ * config/nvptx/oacc-init.c: Move ... ++ * config/accel/oacc-init.c: ... to here. ++ * config/nvptx/oacc-mem.c: Move ... ++ * config/accel/oacc-mem.c: ... to here. ++ * config/nvptx/oacc-plugin.c: Move ... ++ * config/accel/oacc-plugin.c: ... to here. ++ * config/nvptx/omp-lock.h: Move ... ++ * config/accel/omp-lock.h: ... to here. ++ * config/nvptx/openacc.f90: Move ... ++ * config/accel/openacc.f90: ... to here. ++ * config/nvptx/pool.h: Move ... ++ * config/accel/pool.h: ... to here. ++ * config/nvptx/proc.c: Move ... ++ * config/accel/proc.c: ... to here. ++ * config/nvptx/ptrlock.c: Move ... ++ * config/accel/ptrlock.c: ... to here. ++ * config/nvptx/ptrlock.h: Move ... ++ * config/accel/ptrlock.h: ... to here. ++ * config/nvptx/sem.c: Move ... ++ * config/accel/sem.c: ... to here. ++ * config/nvptx/sem.h: Move ... ++ * config/accel/sem.h: ... to here. ++ * config/nvptx/thread-stacksize.h: Move ... ++ * config/accel/thread-stacksize.h: ... to here. ++ ++2019-11-12 Maciej W. Rozycki ++ Tobias Burnus ++ Frederik Harwath ++ Thomas Schwinge ++ ++ libgomp/ ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. ++ * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. ++ * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. ++ ++2019-11-11 Tobias Burnus ++ Kwok Cheung Yeung ++ ++ * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. ++ * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. ++ ++2019-11-11 Thomas Schwinge ++ ++ * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. ++ ++ * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do ++ run'. ++ * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. ++ * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. ++ ++2019-11-06 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: ++ Add expected warnings about missing reduction clauses. ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: ++ Likewise. ++ ++2019-11-04 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/pr66199-1.f90: Remove ++ 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. ++ * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop2.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop3.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop4.f90: Ditto. ++ ++2019-11-04 Tobias Burnus ++ ++ PR fortran/92305 ++ * testsuite/libgomp.fortran/allocatable2.f90: Use ++ unique numbers with 'stop'. ++ * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. ++ ++2019-11-01 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, ++ test_dummy_opt_nullptr_callee_1): Add present but unallocated test. ++ * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. ++ * testsuite/libgomp.fortran/use_device_addr-3.f90: New. ++ * testsuite/libgomp.fortran/use_device_addr-4.f90: New. ++ * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. ++ ++2019-10-30 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/target9.f90: New. ++ ++2019-10-30 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. ++ * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. ++ * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. ++ * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable1.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable10.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable11.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable12.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable2.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable3.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable4.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable5.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable6.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable7.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable8.f90: Ditto. ++ * testsuite/libgomp.fortran/allocatable9.f90: Ditto. ++ * testsuite/libgomp.fortran/associate1.f90: Ditto. ++ * testsuite/libgomp.fortran/associate2.f90: Ditto. ++ * testsuite/libgomp.fortran/associate3.f90: Ditto. ++ * testsuite/libgomp.fortran/async_io_4.f90: Ditto. ++ * testsuite/libgomp.fortran/async_io_5.f90: Ditto. ++ * testsuite/libgomp.fortran/async_io_6.f90: Ditto. ++ * testsuite/libgomp.fortran/async_io_7.f90: Ditto. ++ * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. ++ * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. ++ * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. ++ * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. ++ * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. ++ * testsuite/libgomp.fortran/character1.f90: Ditto. ++ * testsuite/libgomp.fortran/character2.f90: Ditto. ++ * testsuite/libgomp.fortran/collapse1.f90: Ditto. ++ * testsuite/libgomp.fortran/collapse2.f90: Ditto. ++ * testsuite/libgomp.fortran/collapse3.f90: Ditto. ++ * testsuite/libgomp.fortran/collapse4.f90: Ditto. ++ * testsuite/libgomp.fortran/crayptr1.f90: Ditto. ++ * testsuite/libgomp.fortran/crayptr2.f90: Ditto. ++ * testsuite/libgomp.fortran/crayptr3.f90: Ditto. ++ * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. ++ * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. ++ * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. ++ * testsuite/libgomp.fortran/depend-1.f90: Ditto. ++ * testsuite/libgomp.fortran/depend-2.f90: Ditto. ++ * testsuite/libgomp.fortran/depend-3.f90: Ditto. ++ * testsuite/libgomp.fortran/do1.f90: Ditto. ++ * testsuite/libgomp.fortran/do2.f90: Ditto. ++ * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. ++ * testsuite/libgomp.fortran/doacross1.f90: Ditto. ++ * testsuite/libgomp.fortran/doacross2.f90: Ditto. ++ * testsuite/libgomp.fortran/doacross3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. ++ * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. ++ * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. ++ * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. ++ * testsuite/libgomp.fortran/lib1.f90: Ditto. ++ * testsuite/libgomp.fortran/lib4.f90: Ditto. ++ * testsuite/libgomp.fortran/lock-1.f90: Ditto. ++ * testsuite/libgomp.fortran/lock-2.f90: Ditto. ++ * testsuite/libgomp.fortran/nested1.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_cond1.f: Ditto. ++ * testsuite/libgomp.fortran/omp_cond2.f: Ditto. ++ * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. ++ * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. ++ * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. ++ * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. ++ * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. ++ * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. ++ * testsuite/libgomp.fortran/pointer1.f90: Ditto. ++ * testsuite/libgomp.fortran/pointer2.f90: Ditto. ++ * testsuite/libgomp.fortran/pr25219.f90: Ditto. ++ * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. ++ * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. ++ * testsuite/libgomp.fortran/pr28390.f: Ditto. ++ * testsuite/libgomp.fortran/pr29629.f90: Ditto. ++ * testsuite/libgomp.fortran/pr32550.f90: Ditto. ++ * testsuite/libgomp.fortran/pr33880.f90: Ditto. ++ * testsuite/libgomp.fortran/pr34020.f90: Ditto. ++ * testsuite/libgomp.fortran/pr35130.f90: Ditto. ++ * testsuite/libgomp.fortran/pr42162.f90: Ditto. ++ * testsuite/libgomp.fortran/pr46753.f90: Ditto. ++ * testsuite/libgomp.fortran/pr48894.f90: Ditto. ++ * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. ++ * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. ++ * testsuite/libgomp.fortran/pr65597.f90: Ditto. ++ * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr71014.f90: Ditto. ++ * testsuite/libgomp.fortran/pr81304.f90: Ditto. ++ * testsuite/libgomp.fortran/pr81841.f90: Ditto. ++ * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. ++ * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. ++ * testsuite/libgomp.fortran/procptr1.f90: Ditto. ++ * testsuite/libgomp.fortran/recursion1.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction1.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction2.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction3.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction4.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction5.f90: Ditto. ++ * testsuite/libgomp.fortran/reduction6.f90: Ditto. ++ * testsuite/libgomp.fortran/reference1.f90: Ditto. ++ * testsuite/libgomp.fortran/reference2.f90: Ditto. ++ * testsuite/libgomp.fortran/retval1.f90: Ditto. ++ * testsuite/libgomp.fortran/retval2.f90: Ditto. ++ * testsuite/libgomp.fortran/sharing1.f90: Ditto. ++ * testsuite/libgomp.fortran/sharing2.f90: Ditto. ++ * testsuite/libgomp.fortran/simd1.f90: Ditto. ++ * testsuite/libgomp.fortran/simd2.f90: Ditto. ++ * testsuite/libgomp.fortran/simd3.f90: Ditto. ++ * testsuite/libgomp.fortran/simd4.f90: Ditto. ++ * testsuite/libgomp.fortran/simd5.f90: Ditto. ++ * testsuite/libgomp.fortran/simd6.f90: Ditto. ++ * testsuite/libgomp.fortran/simd7.f90: Ditto. ++ * testsuite/libgomp.fortran/stack.f90: Ditto. ++ * testsuite/libgomp.fortran/strassen.f90: Ditto. ++ * testsuite/libgomp.fortran/tabs1.f90: Ditto. ++ * testsuite/libgomp.fortran/tabs2.f: Ditto. ++ * testsuite/libgomp.fortran/target1.f90: Ditto. ++ * testsuite/libgomp.fortran/target2.f90: Ditto. ++ * testsuite/libgomp.fortran/target3.f90: Ditto. ++ * testsuite/libgomp.fortran/target4.f90: Ditto. ++ * testsuite/libgomp.fortran/target5.f90: Ditto. ++ * testsuite/libgomp.fortran/target6.f90: Ditto. ++ * testsuite/libgomp.fortran/target7.f90: Ditto. ++ * testsuite/libgomp.fortran/target8.f90: Ditto. ++ * testsuite/libgomp.fortran/task1.f90: Ditto. ++ * testsuite/libgomp.fortran/task2.f90: Ditto. ++ * testsuite/libgomp.fortran/task3.f90: Ditto. ++ * testsuite/libgomp.fortran/task4.f90: Ditto. ++ * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop1.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop2.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop3.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop4.f90: Ditto. ++ * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. ++ * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. ++ * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. ++ * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. ++ * testsuite/libgomp.fortran/udr1.f90: Ditto. ++ * testsuite/libgomp.fortran/udr10.f90: Ditto. ++ * testsuite/libgomp.fortran/udr11.f90: Ditto. ++ * testsuite/libgomp.fortran/udr12.f90: Ditto. ++ * testsuite/libgomp.fortran/udr13.f90: Ditto. ++ * testsuite/libgomp.fortran/udr14.f90: Ditto. ++ * testsuite/libgomp.fortran/udr15.f90: Ditto. ++ * testsuite/libgomp.fortran/udr2.f90: Ditto. ++ * testsuite/libgomp.fortran/udr3.f90: Ditto. ++ * testsuite/libgomp.fortran/udr4.f90: Ditto. ++ * testsuite/libgomp.fortran/udr5.f90: Ditto. ++ * testsuite/libgomp.fortran/udr6.f90: Ditto. ++ * testsuite/libgomp.fortran/udr7.f90: Ditto. ++ * testsuite/libgomp.fortran/udr8.f90: Ditto. ++ * testsuite/libgomp.fortran/udr9.f90: Ditto. ++ * testsuite/libgomp.fortran/vla1.f90: Ditto. ++ * testsuite/libgomp.fortran/vla2.f90: Ditto. ++ * testsuite/libgomp.fortran/vla3.f90: Ditto. ++ * testsuite/libgomp.fortran/vla4.f90: Ditto. ++ * testsuite/libgomp.fortran/vla5.f90: Ditto. ++ * testsuite/libgomp.fortran/vla6.f90: Ditto. ++ * testsuite/libgomp.fortran/vla7.f90: Ditto. ++ * testsuite/libgomp.fortran/vla8.f90: Ditto. ++ * testsuite/libgomp.fortran/workshare1.f90: Ditto. ++ * testsuite/libgomp.fortran/workshare2.f90: Ditto. ++ ++2019-10-30 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. ++ * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: ++ Ditto; add 'dg-do run' for torture testing. ++ * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. ++ * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. ++ * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. ++ * testsuite/libgomp.fortran/pr25219.f90: Ditto. ++ * testsuite/libgomp.fortran/pr28390.f: Ditto. ++ * testsuite/libgomp.fortran/pr35130.f90: Ditto. ++ * testsuite/libgomp.fortran/pr90779.f90: Ditto. ++ * testsuite/libgomp.fortran/task2.f90: Ditto. ++ * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. ++ * testsuite/libgomp.fortran/taskloop1.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. ++ * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. ++ * testsuite/libgomp.fortran/workshare1.f90: Ditto. ++ * testsuite/libgomp.fortran/workshare2.f90: Ditto. ++ ++2019-10-28 Tobias Burnus ++ ++ * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. ++ * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/common-block-1.f90: ++ Use 'stop' not abort(). ++ * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f= 95: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: ++ Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: ++ Likewise and also add 'dg-do run'. ++ * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: ++ Ditto. ++ ++2019-10-25 Cesar Philippidis ++ Tobias Burnus ++ ++ * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. ++ * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. ++ * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. ++ ++2019-10-14 Jakub Jelinek ++ ++ PR libgomp/92081 ++ * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather ++ than 0. ++ ++2019-10-11 Tobias Burnus ++ ++ * testsuite/libgomp.fortran/use_device_addr-1.f90: New. ++ * testsuite/libgomp.fortran/use_device_addr-2.f90: New. ++ ++2019-10-09 Thomas Schwinge ++ ++ PR middle-end/92036 ++ * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New ++ file. ++ ++2019-10-09 Tobias Burnus ++ ++ PR testsuite/91884 ++ * testsuite/libgomp.fortran/fortran.exp: Conditionally ++ add -lquadmath. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. ++ ++2019-10-09 Jakub Jelinek ++ ++ PR libgomp/92028 ++ * target.c (gomp_map_vars_internal): Readd the previous ++ GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, ++ though do that just in the !not_found_cnt case. ++ ++2019-10-08 Tobias Burnus ++ ++ * gfortran.dg/gomp/target-simd.f90: New. ++ ++2019-10-02 Julian Brown ++ Cesar Philippidis ++ ++ * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. ++ * target.c (FIELD_TGT_EMPTY): Define. ++ (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write ++ as switch instead of list of ifs. ++ (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. ++ ++2019-10-02 Andreas Tobler ++ ++ * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h ++ include. Replace alloca () with __builtin_alloca (). ++ * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. ++ ++2019-10-01 Jakub Jelinek ++ ++ * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). ++ * libgomp.h: Include instead of "gstdint.h". ++ * oacc-parallel.c: Don't include "libgomp_g.h". ++ * plugin/plugin-hsa.c: Include instead of "gstdint.h". ++ * plugin/plugin-nvptx.c: Don't include "gstdint.h". ++ * aclocal.m4: Regenerated. ++ * config.h.in: Regenerated. ++ * configure: Regenerated. ++ * Makefile.in: Regenerated. ++ ++2019-09-30 Kwok Cheung Yeung ++ ++ * libgomp_g.h: Include stdint.h instead of gstdint.h. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-09-13 Tobias Burnus ++ ++ * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure ++ string is initialized. ++ ++2019-09-06 Florian Weimer ++ ++ * configure: Regenerate. ++ ++2019-09-03 Chung-Lin Tang ++ ++ PR other/79543 ++ * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version ++ scanning to conform to the GNU Coding Standards. ++ * configure: Regenerate. ++ ++2019-08-28 Jakub Jelinek ++ ++ PR libgomp/91530 ++ * testsuite/libgomp.c/scan-21.c: New test. ++ * testsuite/libgomp.c/scan-22.c: New test. ++ ++2019-08-27 Jakub Jelinek ++ ++ PR libgomp/91530 ++ * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime ++ targets. ++ * testsuite/libgomp.c/scan-12.c: Likewise. ++ * testsuite/libgomp.c/scan-13.c: Likewise. ++ * testsuite/libgomp.c/scan-14.c: Likewise. ++ * testsuite/libgomp.c/scan-15.c: Likewise. ++ * testsuite/libgomp.c/scan-16.c: Likewise. ++ * testsuite/libgomp.c/scan-17.c: Likewise. ++ * testsuite/libgomp.c/scan-18.c: Likewise. ++ * testsuite/libgomp.c/scan-19.c: Likewise. ++ * testsuite/libgomp.c/scan-20.c: Likewise. ++ * testsuite/libgomp.c++/scan-9.C: Likewise. ++ * testsuite/libgomp.c++/scan-10.C: Likewise. ++ * testsuite/libgomp.c++/scan-11.C: Likewise. ++ * testsuite/libgomp.c++/scan-12.C: Likewise. ++ * testsuite/libgomp.c++/scan-14.C: Likewise. ++ * testsuite/libgomp.c++/scan-15.C: Likewise. ++ * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime ++ instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. ++ * testsuite/libgomp.c++/scan-16.C: Likewise. ++ ++2019-08-17 Thomas Koenig ++ ++ PR fortran/91473 ++ * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add ++ -std=3Dlegacy so invalid code in the test case is accepted. ++ ++2019-08-12 Thomas Koenig ++ ++ PR fortran/91422 ++ * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array ++ dimension. ++ ++2019-08-08 Jakub Jelinek ++ ++ * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR ++ perform the lookup in the first loop only if !not_found_cnt, otherwise ++ perform lookups for it in the second loop guarded with ++ if (not_found_cnt || has_firstprivate). ++ * testsuite/libgomp.c/target-37.c: New test. ++ * testsuite/libgomp.c++/target-22.C: New test. ++ ++2019-08-07 Jakub Jelinek ++ ++ * testsuite/libgomp.c/target-18.c (struct S): New type. ++ (foo): Use use_device_addr clause instead of use_device_ptr clause ++ where required by OpenMP 5.0, add further tests for both use_device_ptr ++ and use_device_addr clauses. ++ * testsuite/libgomp.c++/target-9.C (struct S): New type. ++ (foo): Use use_device_addr clause instead of use_device_ptr clause ++ where required by OpenMP 5.0, add further tests for both use_device_ptr ++ and use_device_addr clauses. Add t and u arguments. ++ (main): Adjust caller. ++ ++2019-08-06 Jakub Jelinek ++ ++ * testsuite/libgomp.c++/loop-13.C: New test. ++ * testsuite/libgomp.c++/loop-14.C: New test. ++ * testsuite/libgomp.c++/loop-15.C: New test. ++ ++2019-07-31 Jakub Jelinek ++ ++ PR middle-end/91301 ++ * testsuite/libgomp.c++/for-27.C: New test. ++ ++2019-07-23 Steven G. Kargl ++ ++ * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. ++ * testsuite/libgomp.fortran/reduction5.f90: Ditto. ++ ++2019-07-20 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/loop-1.c: New test. ++ ++2019-07-08 Jakub Jelinek ++ ++ * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. ++ * testsuite/libgomp.c++/scan-16.C: Likewise. ++ ++2019-07-06 Jakub Jelinek ++ ++ * testsuite/libgomp.c/scan-19.c: New test. ++ * testsuite/libgomp.c/scan-20.c: New test. ++ ++ * testsuite/libgomp.c/scan-11.c: New test. ++ * testsuite/libgomp.c/scan-12.c: New test. ++ * testsuite/libgomp.c/scan-13.c: New test. ++ * testsuite/libgomp.c/scan-14.c: New test. ++ * testsuite/libgomp.c/scan-15.c: New test. ++ * testsuite/libgomp.c/scan-16.c: New test. ++ * testsuite/libgomp.c/scan-17.c: New test. ++ * testsuite/libgomp.c/scan-18.c: New test. ++ * testsuite/libgomp.c++/scan-9.C: New test. ++ * testsuite/libgomp.c++/scan-10.C: New test. ++ * testsuite/libgomp.c++/scan-11.C: New test. ++ * testsuite/libgomp.c++/scan-12.C: New test. ++ * testsuite/libgomp.c++/scan-13.C: New test. ++ * testsuite/libgomp.c++/scan-14.C: New test. ++ * testsuite/libgomp.c++/scan-15.C: New test. ++ * testsuite/libgomp.c++/scan-16.C: New test. ++ ++2019-07-04 Jakub Jelinek ++ ++ * testsuite/libgomp.c/scan-9.c: New test. ++ * testsuite/libgomp.c/scan-10.c: New test. ++ ++2019-07-03 Jakub Jelinek ++ ++ * testsuite/libgomp.c++/scan-1.C: New test. ++ * testsuite/libgomp.c++/scan-2.C: New test. ++ * testsuite/libgomp.c++/scan-3.C: New test. ++ * testsuite/libgomp.c++/scan-4.C: New test. ++ * testsuite/libgomp.c++/scan-5.C: New test. ++ * testsuite/libgomp.c++/scan-6.C: New test. ++ * testsuite/libgomp.c++/scan-7.C: New test. ++ * testsuite/libgomp.c++/scan-8.C: New test. ++ * testsuite/libgomp.c/scan-1.c: New test. ++ * testsuite/libgomp.c/scan-2.c: New test. ++ * testsuite/libgomp.c/scan-3.c: New test. ++ * testsuite/libgomp.c/scan-4.c: New test. ++ * testsuite/libgomp.c/scan-5.c: New test. ++ * testsuite/libgomp.c/scan-6.c: New test. ++ * testsuite/libgomp.c/scan-7.c: New test. ++ * testsuite/libgomp.c/scan-8.c: New test. ++ ++2019-06-18 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. ++ * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: ++ Likewise. ++ ++ * testsuite/libgomp.fortran/allocatable3.f90: Add missing results ++ check. ++ ++2019-06-18 Cesar Philippidis ++ ++ * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New ++ file. ++ ++2019-06-18 Thomas Schwinge ++ ++ PR fortran/90743 ++ * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping ++ case. ++ * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. ++ * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. ++ ++ PR testsuite/90861 ++ * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. ++ ++ PR middle-end/90862 ++ * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. ++ ++2019-06-16 Tom de Vries ++ ++ PR tree-optimization/89376 ++ * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. ++ ++2019-06-15 Tom de Vries ++ ++ PR tree-optimization/89713 ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. ++ ++2019-06-15 Jakub Jelinek ++ ++ PR middle-end/90779 ++ * testsuite/libgomp.c/pr90779.c: New test. ++ * testsuite/libgomp.fortran/pr90779.f90: New test. ++ ++2019-06-15 Tom de Vries ++ ++ PR tree-optimization/90009 ++ * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. ++ ++2019-06-13 Feng Xue ++ ++ PR tree-optimization/89713 ++ * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. ++ ++2019-06-11 Jakub Jelinek ++ ++ PR target/90811 ++ * testsuite/libgomp.c/pr90811.c: New test. ++ ++2019-06-05 Jakub Jelinek ++ ++ * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. ++ * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. ++ ++2019-06-04 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. ++ ++2019-05-30 Rainer Orth ++ ++ * configure.ac: Call AX_COUNT_CPUS. ++ Substitute CPU_COUNT. ++ * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor ++ count fallback. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * Makefile.in, testsuite/Makefile.in: Regenerate. ++ ++2019-05-29 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename ++ to ... ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. ++ ++2019-05-27 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. ++ ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. ++ ++ PR libgomp/90641 ++ * work.c (gomp_init_work_share): Instead of aligning final ordered ++ value to multiples of long long alignment, align to that the ++ first part (ordered team ids) and if inline_ordered_team_ids ++ is not on a long long alignment boundary within the structure, ++ use __alignof__ (long long) - 1 pad size always. ++ * loop.c (GOMP_loop_start): Fix *mem computation if ++ inline_ordered_team_ids is not aligned on long long alignment boundary ++ within the structure. ++ * loop-ull.c (GOMP_loop_ull_start): Likewise. ++ * sections.c (GOMP_sections2_start): Likewise. ++ ++2019-05-24 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. ++ * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. ++ ++ PR libgomp/90585 ++ * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if ++ HAVE_INTTYPES_H is defined. ++ (print_uint64_t): New typedef. ++ (PRIu64): Define if HAVE_INTTYPES_H is not defined. ++ (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of ++ "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. ++ (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t ++ before casting to void *. ++ * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. ++ * oacc-mem.c: Don't include config.h nor stdint.h. ++ * target.c: Don't include config.h. ++ * oacc-cuda.c: Likewise. ++ * oacc-host.c: Don't include stdint.h. ++ ++2019-05-20 Jakub Jelinek ++ ++ PR libgomp/90527 ++ * alloc.c (_GNU_SOURCE): Define. ++ ++2019-05-17 Thomas Schwinge ++ ++ * acc_prof.h: New file. ++ * oacc-profiling.c: Likewise. ++ * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): ++ Add these, respectively. ++ * Makefile.in: Regenerate. ++ * env.c (initialize_env): Call goacc_profiling_initialize. ++ * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) ++ (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. ++ * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) ++ (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. ++ * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, ++ acc_prof_register, acc_prof_unregister, and acc_register_library. ++ (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and ++ GOMP_PLUGIN_goacc_thread. ++ * oacc-int.h (struct goacc_thread): Add prof_info, api_info, ++ prof_callbacks_enabled members. ++ (goacc_prof_enabled, goacc_profiling_initialize) ++ (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) ++ (goacc_profiling_dispatch): Declare. ++ (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) ++ (GOACC_PROFILING_SETUP_P): Define. ++ * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) ++ (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for ++ OpenACC Profiling Interface. ++ * oacc-cuda.c (acc_get_current_cuda_device) ++ (acc_get_current_cuda_context, acc_get_cuda_stream) ++ (acc_set_cuda_stream): Likewise. ++ * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) ++ (acc_init, acc_set_device_type, acc_get_device_type) ++ (acc_get_device_num, goacc_lazy_initialize): Likewise. ++ * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) ++ (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) ++ (acc_unmap_data, present_create_copy, delete_copyout) ++ (update_dev_host): Likewise. ++ * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) ++ (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): ++ Likewise. ++ * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) ++ (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): ++ Likewise. ++ * libgomp.texi: Update. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New ++ file. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: ++ Likewise. ++ ++2019-05-13 Chung-Lin Tang ++ ++ * libgomp-plugin.h (struct goacc_asyncqueue): Declare. ++ (struct goacc_asyncqueue_list): Likewise. ++ (goacc_aq): Likewise. ++ (goacc_aq_list): Likewise. ++ (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. ++ (GOMP_OFFLOAD_openacc_async_test): Remove. ++ (GOMP_OFFLOAD_openacc_async_test_all): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_async): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_all): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. ++ (GOMP_OFFLOAD_openacc_async_set_async): Remove. ++ (GOMP_OFFLOAD_openacc_exec): Adjust declaration. ++ (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. ++ (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. ++ (GOMP_OFFLOAD_openacc_async_exec): Declare. ++ (GOMP_OFFLOAD_openacc_async_construct): Declare. ++ (GOMP_OFFLOAD_openacc_async_destruct): Declare. ++ (GOMP_OFFLOAD_openacc_async_test): Declare. ++ (GOMP_OFFLOAD_openacc_async_synchronize): Declare. ++ (GOMP_OFFLOAD_openacc_async_serialize): Declare. ++ (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. ++ (GOMP_OFFLOAD_openacc_async_host2dev): Declare. ++ (GOMP_OFFLOAD_openacc_async_dev2host): Declare. ++ ++ * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. ++ (gomp_acc_insert_pointer): Adjust declaration. ++ (gomp_copy_host2dev): New declaration. ++ (gomp_copy_dev2host): Likewise. ++ (gomp_map_vars_async): Likewise. ++ (gomp_unmap_tgt): Likewise. ++ (gomp_unmap_vars_async): Likewise. ++ (gomp_fini_device): Likewise. ++ ++ * oacc-async.c (get_goacc_thread): New function. ++ (get_goacc_thread_device): New function. ++ (lookup_goacc_asyncqueue): New function. ++ (get_goacc_asyncqueue): New function. ++ (acc_async_test): Adjust code to use new async design. ++ (acc_async_test_all): Likewise. ++ (acc_wait): Likewise. ++ (acc_wait_async): Likewise. ++ (acc_wait_all): Likewise. ++ (acc_wait_all_async): Likewise. ++ (goacc_async_free): New function. ++ (goacc_init_asyncqueues): Likewise. ++ (goacc_fini_asyncqueues): Likewise. ++ * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async ++ design. ++ (acc_set_cuda_stream): Likewise. ++ * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. ++ (host_openacc_register_async_cleanup): Remove. ++ (host_openacc_async_exec): New function. ++ (host_openacc_async_test): Adjust parameters. ++ (host_openacc_async_test_all): Remove. ++ (host_openacc_async_wait): Remove. ++ (host_openacc_async_wait_async): Remove. ++ (host_openacc_async_wait_all): Remove. ++ (host_openacc_async_wait_all_async): Remove. ++ (host_openacc_async_set_async): Remove. ++ (host_openacc_async_synchronize): New function. ++ (host_openacc_async_serialize): New function. ++ (host_openacc_async_host2dev): New function. ++ (host_openacc_async_dev2host): New function. ++ (host_openacc_async_queue_callback): New function. ++ (host_openacc_async_construct): New function. ++ (host_openacc_async_destruct): New function. ++ (struct gomp_device_descr host_dispatch): Remove initialization of old ++ interface, add initialization of new async sub-struct. ++ * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. ++ (goacc_attach_host_thread_to_device): Remove old async code usage. ++ * oacc-int.h (goacc_init_asyncqueues): New declaration. ++ (goacc_fini_asyncqueues): Likewise. ++ (goacc_async_copyout_unmap_vars): Likewise. ++ (goacc_async_free): Likewise. ++ (get_goacc_asyncqueue): Likewise. ++ (lookup_goacc_asyncqueue): Likewise. ++ * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async ++ design. ++ (present_create_copy): Adjust code to use new async design. ++ (delete_copyout): Likewise. ++ (update_dev_host): Likewise. ++ (gomp_acc_insert_pointer): Add async parameter, adjust code to use new ++ async design. ++ (gomp_acc_remove_pointer): Adjust code to use new async design. ++ * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async ++ design. ++ (GOACC_enter_exit_data): Likewise. ++ (goacc_wait): Likewise. ++ (GOACC_update): Likewise. ++ * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail ++ when called, warn as obsolete in comment. ++ * target.c (goacc_device_copy_async): New function. ++ (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, ++ add goacc_device_copy_async case. ++ (gomp_copy_dev2host): Likewise. ++ (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. ++ (gomp_map_pointer): Likewise. ++ (gomp_map_fields_existing): Likewise. ++ (gomp_map_vars_internal): New always_inline function, renamed from ++ gomp_map_vars. ++ (gomp_map_vars): Implement by calling gomp_map_vars_internal. ++ (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, ++ passing goacc_asyncqueue argument. ++ (gomp_unmap_tgt): Remove static, add attribute_hidden. ++ (gomp_unref_tgt): New function. ++ (gomp_unmap_vars_internal): New always_inline function, renamed from ++ gomp_unmap_vars. ++ (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. ++ (gomp_unmap_vars_async): Implement by calling ++ gomp_unmap_vars_internal, passing goacc_asyncqueue argument. ++ (gomp_fini_device): New function. ++ (gomp_exit_data): Adjust gomp_copy_dev2host call. ++ (gomp_load_plugin_for_device): Remove old interface, adjust to load ++ new async interface. ++ (gomp_target_fini): Adjust code to call gomp_fini_device. ++ ++ * plugin/plugin-nvptx.c (struct cuda_map): Remove. ++ (struct ptx_stream): Remove. ++ (struct nvptx_thread): Remove current_stream field. ++ (cuda_map_create): Remove. ++ (cuda_map_destroy): Remove. ++ (map_init): Remove. ++ (map_fini): Remove. ++ (map_pop): Remove. ++ (map_push): Remove. ++ (struct goacc_asyncqueue): Define. ++ (struct nvptx_callback): Define. ++ (struct ptx_free_block): Define. ++ (struct ptx_device): Remove null_stream, active_streams, async_streams, ++ stream_lock, and next fields. ++ (enum ptx_event_type): Remove. ++ (struct ptx_event): Remove. ++ (ptx_event_lock): Remove. ++ (ptx_events): Remove. ++ (init_streams_for_device): Remove. ++ (fini_streams_for_device): Remove. ++ (select_stream_for_async): Remove. ++ (nvptx_init): Remove ptx_events and ptx_event_lock references. ++ (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED ++ case. ++ (nvptx_open_device): Add free_blocks initialization, remove ++ init_streams_for_device call. ++ (nvptx_close_device): Remove fini_streams_for_device call, add ++ free_blocks destruct code. ++ (event_gc): Remove. ++ (event_add): Remove. ++ (nvptx_exec): Adjust parameters and code. ++ (nvptx_free): Likewise. ++ (nvptx_host2dev): Remove. ++ (nvptx_dev2host): Remove. ++ (nvptx_set_async): Remove. ++ (nvptx_async_test): Remove. ++ (nvptx_async_test_all): Remove. ++ (nvptx_wait): Remove. ++ (nvptx_wait_async): Remove. ++ (nvptx_wait_all): Remove. ++ (nvptx_wait_all_async): Remove. ++ (nvptx_get_cuda_stream): Remove. ++ (nvptx_set_cuda_stream): Remove. ++ (GOMP_OFFLOAD_alloc): Adjust code. ++ (GOMP_OFFLOAD_free): Likewise. ++ (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. ++ (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. ++ (GOMP_OFFLOAD_openacc_async_test_all): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_async): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_all): Remove. ++ (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. ++ (GOMP_OFFLOAD_openacc_async_set_async): Remove. ++ (cuda_free_argmem): New function. ++ (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. ++ (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. ++ (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. ++ (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. ++ (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. ++ (cuda_callback_wrapper): New function. ++ (cuda_memcpy_sanity_check): New function. ++ (GOMP_OFFLOAD_host2dev): Remove and re-implement. ++ (GOMP_OFFLOAD_dev2host): Remove and re-implement. ++ (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. ++ (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. ++ ++2019-05-07 Thomas Schwinge ++ ++ PR target/87835 ++ * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. ++ ++2019-05-06 Thomas Schwinge ++ ++ * oacc-parallel.c: Add comments to legacy entry points (GCC 5). ++ ++2019-03-27 Kevin Buettner ++ ++ * team.c (gomp_team_start): Initialize pool->threads[0]. ++ ++2019-02-22 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-c++/c++.exp: Specify ++ "-foffload=3D$offload_target". ++ * testsuite/libgomp.oacc-c/c.exp: Likewise. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. ++ * testsuite/lib/libgomp.exp ++ (check_effective_target_openacc_nvidia_accel_configured): Remove, ++ as (conceptually) merged into ++ check_effective_target_openacc_nvidia_accel_selected. Adjust all ++ users. ++ ++ * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. ++ * testsuite/libgomp-test-support.exp.in: Adjust. ++ * testsuite/lib/libgomp.exp: Likewise. Don't populate ++ openacc_device_types_s. ++ (offload_target_to_openacc_device_type): New proc. ++ * testsuite/libgomp.oacc-c++/c++.exp: Adjust. ++ * testsuite/libgomp.oacc-c/c.exp: Likewise. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. ++ * Makefile.in: Regenerate. ++ * configure: Likewise. ++ * testsuite/Makefile.in: Likewise. ++ ++ * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins ++ instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS ++ instead of OFFLOAD_TARGETS. ++ * target.c (gomp_target_init): Adjust. ++ * testsuite/libgomp-test-support.exp.in: Likewise. ++ * testsuite/lib/libgomp.exp: Likewise. Populate ++ openacc_device_types_s instead of offload_targets_s_openacc. ++ (check_effective_target_openacc_nvidia_accel_selected) ++ (check_effective_target_openacc_host_selected): Adjust. ++ * testsuite/libgomp.oacc-c++/c++.exp: Likewise. ++ * testsuite/libgomp.oacc-c/c.exp: Likewise. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. ++ * Makefile.in: Regenerate. ++ * config.h.in: Likewise. ++ * configure: Likewise. ++ * testsuite/Makefile.in: Likewise. ++ ++ * testsuite/lib/libgomp.exp: Error out for unknown offload target. ++ * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if ++ "offloading: supported, but hardware not accessible". ++ * testsuite/libgomp.oacc-c/c.exp: Likewise. ++ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. ++ ++2019-02-19 Chung-Lin Tang ++ ++ PR c/87924 ++ * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to ++ goacc_wait(). ++ (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call ++ and related adjustment. ++ ++2019-01-30 Jakub Jelinek ++ ++ PR c++/88988 ++ * testsuite/libgomp.c++/pr88988.C: New test. ++ ++2019-01-28 Jakub Jelinek ++ ++ PR middle-end/89002 ++ * testsuite/libgomp.c/pr89002.c: New test. ++ ++2019-01-28 Richard Biener ++ ++ PR testsuite/89064 ++ PR tree-optimization/86865 ++ * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. ++ ++2019-01-24 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices ++ once instantiated_devices drops to 0. ++ ++2019-01-23 Tom de Vries ++ ++ PR target/PR88946 ++ * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for ++ cuMemFree. ++ (nvptx_exec): Don't call map_push if mapnum =3D=3D 0. ++ * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. ++ ++2019-01-23 Tom de Vries ++ ++ PR target/88941 ++ PR target/88939 ++ * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. ++ (map_fini): Remove "assert (!s->map->active)". ++ * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. ++ ++2019-01-23 Tom de Vries ++ ++ PR target/87835 ++ * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. ++ * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. ++ ++2019-01-15 Tom de Vries ++ ++ PR target/80547 ++ * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: ++ New test. ++ ++2019-01-12 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. ++ * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. ++ ++2019-01-12 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (nvptx_exec): Update error message. ++ ++2019-01-12 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. ++ ++2019-01-12 Tom de Vries ++ ++ PR target/85486 ++ * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. ++ ++2019-01-12 Tom de Vries ++ ++ PR target/85381 ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. ++ ++2019-01-12 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. ++ * testsuite/libgomp.oacc-fortran/gemm.f90: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. ++ ++2019-01-12 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. ++ ++2019-01-12 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware ++ resources diagnostic. ++ ++2019-01-12 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect ++ vector length to be 128. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector ++ length 2097152 to be reduced to 1024 instead of 32. ++ ++2019-01-11 Thomas Schwinge ++ James Norris ++ ++ * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime ++ Library Routines", and "Environment Variables". ++ ++2019-01-11 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and ++ num_workers 16. ++ ++2019-01-11 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove ++ -foffload=3D-w. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. ++ ++2019-01-11 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New ++ test. ++ ++2019-01-10 Nathan Sidwell ++ Julian Brown ++ ++ PR lto/71959 ++ * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. ++ * testsuite/libgomp.oacc-c++/pr71959.C: New. ++ ++2019-01-09 Sebastian Huber ++ ++ * config/rtems/bar.c: Include "../linux/bar.c" and delete copy ++ and paste code. ++ ++2019-01-09 Sebastian Huber ++ ++ * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, ++ undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to ++ write. ++ ++2019-01-09 Tom de Vries ++ ++ PR target/88756 ++ * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use ++ #define instead of "const int". ++ * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. ++ ++2019-01-09 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least ++ one worker. ++ ++2019-01-07 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix ++ GOMP_OPENACC_DIM argument. ++ ++2019-01-03 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-01-01 Jakub Jelinek ++ ++ * libgomp.texi: Bump @copying's copyright year. ++ ++2018-12-28 Thomas Schwinge ++ ++ * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) ++ (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) ++ (GOACC_declare): Redefine the "device" argument to "flags". ++ ++2018-12-28 Thomas Schwinge ++ Cesar Philippidis ++ ++ * target.c (struct gomp_coalesce_chunk): New structure. ++ (struct gomp_coalesce_buf): Update the chunks member to use that ++ type. Adjust all users. ++ ++2018-12-19 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. ++ ++2018-12-19 Tom de Vries ++ ++ * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. ++ * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from ++ gcc/testsuite/gcc.dg/goacc. ++ * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. ++ ++2018-12-14 Thomas Schwinge ++ Chung-Lin Tang ++ ++ * oacc-mem.c (acc_present_or_create): Remove definition and change ++ to alias of acc_create. ++ (acc_present_or_copyin): Remove definition and change to alias of ++ acc_copyin. ++ * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead ++ of acc_present_or_create. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. ++ ++2018-12-14 Thomas Schwinge ++ ++ PR libgomp/88495 ++ * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse ++ "identical parameters". ++ * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. ++ * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. ++ ++ PR libgomp/88484 ++ * oacc-parallel.c (GOACC_wait): Correct handling for "async >=3D 0". ++ * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. ++ ++ PR libgomp/88407 ++ * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) ++ (nvptx_wait_async): Unseen async-argument is a no-op. ++ * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. ++ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... ++ * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. ++ * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... ++ * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update ++ ++ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. ++ * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. ++ ++2018-12-14 Chung-Lin Tang ++ ++ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. ++ * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. ++ ++2018-12-14 Thomas Schwinge ++ ++ PR libgomp/88370 ++ * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) ++ (acc_set_cuda_stream): Clarify. ++ * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use ++ "async_valid_p". ++ * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async =3D=3D ++ acc_async_sync". ++ * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. ++ * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. ++ * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. ++ ++2018-12-14 Tom de Vries ++ ++ * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. ++ * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. ++ * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. ++ ++2018-12-13 Tom de Vries ++ ++ * affinity-fmt.c (gomp_print_string): New function, factored out of ... ++ (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... ++ * fortran.c (omp_display_affinity_): ... here. ++ * libgomp.h (gomp_print_string): Declare. ++ * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, ++ undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to ++ write. ++ ++2018-12-13 Jakub Jelinek ++ ++ PR libgomp/88460 ++ * testsuite/libgomp.c++/for-24.C (results): Include it in ++ omp declare target region. ++ (main): Use map (always, tofrom: results) instead of ++ map (tofrom: results). ++ ++2018-12-12 Jakub Jelinek ++ ++ PR fortran/88463 ++ * testsuite/libgomp.fortran/pr88463-1.f90: New test. ++ * testsuite/libgomp.fortran/pr88463-2.f90: New test. ++ ++ * testsuite/libgomp.c-c++-common/for-16.c: New test. ++ ++2018-12-12 Andreas Schwab ++ ++ * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as ++ clobbered. ++ ++2018-12-09 Thomas Koenig ++ ++ PR fortran/88411 ++ * testsuite/libgomp.fortran/async_io_8.f90: New test. ++ ++2018-12-09 Thomas Schwinge ++ Jakub Jelinek ++ ++ * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of ++ devicep->host2dev_func. ++ ++2018-12-08 Jakub Jelinek ++ ++ PR libgomp/87995 ++ * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require ++ tls_runtime effective target. ++ (t): New threadprivate variable. ++ (main): Set t in threads which execute iterations of the worksharing ++ loop. Propagate that to the task after the loop and don't abort ++ if the current taskgroup hasn't been cancelled. ++ ++2018-12-02 Jakub Jelinek ++ ++ * testsuite/libgomp.c/task-reduction-3.c: New test. ++ ++ * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. ++ ++2018-11-30 Cesar Philippidis ++ ++ PR libgomp/88288 ++ * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. ++ * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. ++ ++2018-11-30 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. ++ ++2018-10-19 Richard Biener ++ ++ PR tree-optimization/88182 ++ * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. ++ ++2018-11-26 Jakub Jelinek ++ ++ * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. ++ (RUNTEST): Don't define. ++ (RUNTESTDEFAULTFLAGS): Add. ++ (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. ++ (distclean-am): Depend on distclean-DEJAGNU. ++ (check-am): If -j% option is present in MFLAGS and if ++ `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=3D8. ++ (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. ++ * testsuite/Makefile.in: Regenerated. ++ ++2018-11-26 Richard Biener ++ ++ PR tree-optimization/88182 ++ * testsuite/libgomp.c++/pr88182.C: New testcase. ++ ++2018-11-20 Jakub Jelinek ++ ++ PR bootstrap/88106 ++ * config/mingw32/affinity-fmt.c: New file. ++ ++2018-11-09 Jakub Jelinek ++ ++ * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. ++ (gomp_display_affinity): Use __builtin_choose_expr to handle ++ properly handle argument having integral, or pointer or some other ++ type. If inttypes.h is available and PRIx64 is defined, use PRIx64 ++ with uint64_t type instead of %llx and unsigned long long. ++ ++ * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. ++ ++2018-11-08 Rainer Orth ++ ++ * affinity.c: Include , . ++ (gomp_display_affinity_place): Remove cpusetp. ++ * teams.c: Include . ++ ++2018-11-08 Jakub Jelinek ++ ++ * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add ++ in_reduction clause for s[0]. ++ ++ * affinity.c (gomp_display_affinity_place): New function. ++ * affinity-fmt.c: New file. ++ * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. ++ * config/linux/affinity.c (gomp_display_affinity_place): New function. ++ * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): ++ Move these functions to ... ++ * config/nvptx/teams.c: ... here. New file. ++ * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): ++ New functions. ++ * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New ++ functions. ++ * configure.ac: Check for aligned_alloc, posix_memalign, memalign ++ and _aligned_malloc. ++ (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. ++ * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. ++ * env.c (gomp_display_affinity_var, gomp_affinity_format_var, ++ gomp_affinity_format_len): New variables. ++ (parse_schedule): Parse monotonic and nonmonotonic modifiers in ++ OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. ++ (handle_omp_display_env): Display monotonic/nonmonotonic schedule ++ modifiers. Display (non-default) chunk sizes. Print ++ OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. ++ (initialize_env): Don't call pthread_attr_setdetachstate. Handle ++ OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. ++ * fortran.c: Include stdio.h and string.h. ++ (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. ++ (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. ++ (omp_set_affinity_format_, omp_get_affinity_format_, ++ omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, ++ omp_pause_resource_all_): New functions. ++ * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in ++ switch. ++ * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these ++ functions to ... ++ * teams.c: ... here. New file. ++ * libgomp_g.h: Include gstdint.h. ++ (GOMP_loop_nonmonotonic_runtime_start, ++ GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, ++ GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, ++ GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, ++ GOMP_parallel_loop_nonmonotonic_runtime, ++ GOMP_parallel_loop_maybe_nonmonotonic_runtime, ++ GOMP_loop_ull_nonmonotonic_runtime_start, ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, ++ GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_next, ++ GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, ++ GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, ++ GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, ++ GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, ++ GOMP_teams_reg): Declare. ++ * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless ++ gomp_aligned_alloc uses fallback implementation. ++ (gomp_aligned_alloc, gomp_aligned_free): Declare. ++ (enum gomp_schedule_type): Add GFS_MONOTONIC. ++ (struct gomp_doacross_work_share): Add extra field. ++ (struct gomp_work_share): Add task_reductions field. ++ (struct gomp_taskgroup): Add workshare and reductions fields. ++ (GOMP_NEEDS_THREAD_HANDLE): Define if needed. ++ (gomp_thread_handle): New typedef. ++ (gomp_display_affinity_place, gomp_set_affinity_format, ++ gomp_display_string, gomp_display_affinity, ++ gomp_display_affinity_thread): Declare. ++ (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. ++ (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, ++ gomp_workshare_task_reduction_register): Declare. ++ (gomp_team_start): Add taskgroup argument. ++ (gomp_pause_host): Declare. ++ (gomp_init_work_share, gomp_work_share_start): Change bool argument ++ to size_t. ++ (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. ++ * libgomp.map (GOMP_5.0): Export GOMP_loop_start, ++ GOMP_loop_ordered_start, GOMP_loop_doacross_start, ++ GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, ++ GOMP_loop_ull_doacross_start, ++ GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, ++ GOMP_loop_maybe_nonmonotonic_runtime_next, ++ GOMP_loop_maybe_nonmonotonic_runtime_start, ++ GOMP_loop_nonmonotonic_runtime_next, ++ GOMP_loop_nonmonotonic_runtime_start, ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_next, ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_start, ++ GOMP_loop_ull_nonmonotonic_runtime_next, ++ GOMP_loop_ull_nonmonotonic_runtime_start, ++ GOMP_parallel_loop_maybe_nonmonotonic_runtime, ++ GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, ++ GOMP_taskgroup_reduction_register, ++ GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, ++ GOMP_teams_reg and GOMP_taskwait_depend. ++ (OMP_5.0): Export omp_pause_resource{,_all}{,_}, ++ omp_{capture,display}_affinity{,_}, and ++ omp_[gs]et_affinity_format{,_}. ++ * loop.c: Include string.h. ++ (GOMP_loop_runtime_next): Add ialias. ++ (GOMP_taskgroup_reduction_register): Add ialias_redirect. ++ (gomp_loop_static_start, gomp_loop_dynamic_start, ++ gomp_loop_guided_start, gomp_loop_ordered_static_start, ++ gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, ++ gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, ++ gomp_loop_doacross_guided_start): Adjust gomp_work_share_start ++ or gomp_doacross_init callers. ++ (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, ++ GOMP_loop_doacross_start): New functions. ++ (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, ++ GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): ++ Mask off GFS_MONOTONIC bit. ++ (GOMP_loop_maybe_nonmonotonic_runtime_next, ++ GOMP_loop_maybe_nonmonotonic_runtime_start, ++ GOMP_loop_nonmonotonic_runtime_next, ++ GOMP_loop_nonmonotonic_runtime_start, ++ GOMP_parallel_loop_maybe_nonmonotonic_runtime, ++ GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper ++ functions. ++ (gomp_parallel_loop_start): Pass NULL as taskgroup to ++ gomp_team_start. ++ * loop_ull.c: Include string.h. ++ (GOMP_loop_ull_runtime_next): Add ialias. ++ (GOMP_taskgroup_reduction_register): Add ialias_redirect. ++ (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, ++ gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, ++ gomp_loop_ull_ordered_dynamic_start, ++ gomp_loop_ull_ordered_guided_start, ++ gomp_loop_ull_doacross_static_start, ++ gomp_loop_ull_doacross_dynamic_start, ++ gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start ++ and gomp_doacross_ull_init callers. ++ (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, ++ GOMP_loop_ull_doacross_start): New functions. ++ (GOMP_loop_ull_runtime_start, ++ GOMP_loop_ull_ordered_runtime_start, ++ GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. ++ (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_start, ++ GOMP_loop_ull_nonmonotonic_runtime_next, ++ GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. ++ * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. ++ * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. ++ (omp_pause_resource_t, omp_depend_t): New typedefs. ++ (enum omp_lock_hint_t): Renamed to ... ++ (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* ++ enumerators using numbers and omp_lock_hint_* as their aliases. ++ (omp_lock_hint_t): New typedef. Rename to ... ++ (omp_sync_hint_t): ... this. ++ (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use ++ omp_sync_hint_t instead of omp_lock_hint_t. ++ (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, ++ omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): ++ Declare. ++ (omp_target_is_present, omp_target_disassociate_ptr): ++ Change first argument from void * to const void *. ++ (omp_target_memcpy, omp_target_memcpy_rect): Change second argument ++ from void * to const void *. ++ (omp_target_associate_ptr): Change first and second arguments from ++ void * to const void *. ++ * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, ++ omp_pause_hard): New parameters. ++ (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, ++ omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): ++ New interfaces. ++ * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, ++ omp_pause_hard): New parameters. ++ (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, ++ omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): ++ New externals. ++ * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add ++ EXTRA argument. If not needed to prepare array, if extra is 0, ++ clear ws->doacross, otherwise allocate just doacross structure and ++ extra payload. If array is needed, allocate also extra payload. ++ (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, ++ GOMP_doacross_ull_wait): Handle doacross->array =3D=3D NULL like ++ doacross =3D=3D NULL. ++ * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to ++ gomp_team_start. ++ (GOMP_parallel): Likewise. Formatting fix. ++ (GOMP_parallel_reductions): New function. ++ (GOMP_cancellation_point): If taskgroup has workshare ++ flag set, check cancelled of prev taskgroup if any. ++ (GOMP_cancel): If taskgroup has workshare flag set, set cancelled ++ on prev taskgroup if any. ++ * sections.c: Include string.h. ++ (GOMP_taskgroup_reduction_register): Add ialias_redirect. ++ (GOMP_sections_start): Adjust gomp_work_share_start caller. ++ (GOMP_sections2_start): New function. ++ (GOMP_parallel_sections_start, GOMP_parallel_sections): ++ Pass NULL as taskgroup to gomp_team_start. ++ * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust ++ gomp_work_share_start callers. ++ * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): ++ If taskgroup has workshare flag set, check cancelled on prev ++ taskgroup if any. Guard all cancellation tests with ++ gomp_cancel_var test. ++ (omp_target_is_present, omp_target_disassociate_ptr): ++ Change ptr argument from void * to const void *. ++ (omp_target_memcpy): Change src argument from void * to const void *. ++ (omp_target_memcpy_rect): Likewise. ++ (omp_target_memcpy_rect_worker): Likewise. Use const char * casts ++ instead of char * where needed. ++ (omp_target_associate_ptr): Change host_ptr and device_ptr arguments ++ from void * to const void *. ++ (omp_pause_resource, omp_pause_resource_all): New functions. ++ * task.c (gomp_task_handle_depend): Handle new depend array format ++ in addition to the old. Handle mutexinoutset kinds the same as ++ inout for now, handle unspecified kinds. ++ (gomp_create_target_task): If taskgroup has workshare flag set, check ++ cancelled on prev taskgroup if any. Guard all cancellation tests with ++ gomp_cancel_var test. Handle new depend array format count in ++ addition to the old. ++ (GOMP_task): Likewise. Adjust function comment. ++ (gomp_task_run_pre): If taskgroup has workshare flag set, check ++ cancelled on prev taskgroup if any. Guard all cancellation tests with ++ gomp_cancel_var test. ++ (GOMP_taskwait_depend): New function. ++ (gomp_task_maybe_wait_for_dependencies): Handle new depend array ++ format in addition to the old. Handle mutexinoutset kinds the same as ++ inout for now, handle unspecified kinds. Fix a function comment typo. ++ (gomp_taskgroup_init): New function. ++ (GOMP_taskgroup_start): Use it. ++ (gomp_reduction_register, gomp_create_artificial_team, ++ GOMP_taskgroup_reduction_register, ++ GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, ++ gomp_parallel_reduction_register, ++ gomp_workshare_task_reduction_register, ++ gomp_workshare_taskgroup_start, ++ GOMP_workshare_task_reduction_unregister): New functions. ++ * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, ++ check cancelled on prev taskgroup if any. Guard all cancellation ++ tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag ++ by calling GOMP_taskgroup_reduction_register. ++ * team.c (gomp_thread_attr): Remove comment. ++ (struct gomp_thread_start_data): Add handle field. ++ (gomp_thread_start): Call pthread_detach. ++ (gomp_new_team): Adjust gomp_init_work_share caller. ++ (gomp_free_pool_helper): Call pthread_detach. ++ (gomp_team_start): Add taskgroup argument, initialize implicit ++ tasks' taskgroup field to that. Don't call ++ pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. ++ (gomp_team_end): Determine nesting by thr->ts.level !=3D 0 ++ rather than thr->ts.team !=3D NULL. ++ (gomp_pause_pool_helper, gomp_pause_host): New functions. ++ * work.c (alloc_work_share): Use gomp_aligned_alloc instead of ++ gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. ++ (gomp_init_work_share): Change ORDERED argument from bool to size_t, ++ if more than 1 allocate also extra payload at the end of array. Never ++ keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. ++ (gomp_work_share_start): Change ORDERED argument from bool to size_t, ++ return true instead of ws. ++ * Makefile.in: Regenerated. ++ * configure: Regenerated. ++ * config.h.in: Regenerated. ++ * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier ++ in some cases. ++ * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. ++ * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. ++ * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. ++ * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. ++ * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. ++ * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. ++ * testsuite/libgomp.c-c++-common/depobj-1.c: New test. ++ * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. ++ * testsuite/libgomp.c-c++-common/for-10.c: New test. ++ * testsuite/libgomp.c-c++-common/for-11.c: New test. ++ * testsuite/libgomp.c-c++-common/for-12.c: New test. ++ * testsuite/libgomp.c-c++-common/for-13.c: New test. ++ * testsuite/libgomp.c-c++-common/for-14.c: New test. ++ * testsuite/libgomp.c-c++-common/for-15.c: New test. ++ * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, ++ define a different N(test), don't define N(f0) to N(f14), but instead ++ define N(f20) to N(f34) using !=3D comparisons. ++ * testsuite/libgomp.c-c++-common/for-7.c: New test. ++ * testsuite/libgomp.c-c++-common/for-8.c: New test. ++ * testsuite/libgomp.c-c++-common/for-9.c: New test. ++ * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. ++ * testsuite/libgomp.c-c++-common/pause-1.c: New test. ++ * testsuite/libgomp.c-c++-common/pause-2.c: New test. ++ * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. ++ * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. ++ * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. ++ * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. ++ * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. ++ * testsuite/libgomp.c-c++-common/simd-1.c: New test. ++ * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. ++ * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. ++ * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. ++ * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. ++ * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. ++ * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. ++ * testsuite/libgomp.c++/depend-1.C: New test. ++ * testsuite/libgomp.c++/depend-iterator-1.C: New test. ++ * testsuite/libgomp.c++/depobj-1.C: New test. ++ * testsuite/libgomp.c++/for-16.C: New test. ++ * testsuite/libgomp.c++/for-21.C: New test. ++ * testsuite/libgomp.c++/for-22.C: New test. ++ * testsuite/libgomp.c++/for-23.C: New test. ++ * testsuite/libgomp.c++/for-24.C: New test. ++ * testsuite/libgomp.c++/for-25.C: New test. ++ * testsuite/libgomp.c++/for-26.C: New test. ++ * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. ++ * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. ++ * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. ++ * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. ++ * testsuite/libgomp.c++/task-reduction-10.C: New test. ++ * testsuite/libgomp.c++/task-reduction-11.C: New test. ++ * testsuite/libgomp.c++/task-reduction-12.C: New test. ++ * testsuite/libgomp.c++/task-reduction-13.C: New test. ++ * testsuite/libgomp.c++/task-reduction-14.C: New test. ++ * testsuite/libgomp.c++/task-reduction-15.C: New test. ++ * testsuite/libgomp.c++/task-reduction-16.C: New test. ++ * testsuite/libgomp.c++/task-reduction-17.C: New test. ++ * testsuite/libgomp.c++/task-reduction-18.C: New test. ++ * testsuite/libgomp.c++/task-reduction-19.C: New test. ++ * testsuite/libgomp.c/task-reduction-1.c: New test. ++ * testsuite/libgomp.c++/task-reduction-1.C: New test. ++ * testsuite/libgomp.c/task-reduction-2.c: New test. ++ * testsuite/libgomp.c++/task-reduction-2.C: New test. ++ * testsuite/libgomp.c++/task-reduction-3.C: New test. ++ * testsuite/libgomp.c++/task-reduction-4.C: New test. ++ * testsuite/libgomp.c++/task-reduction-5.C: New test. ++ * testsuite/libgomp.c++/task-reduction-6.C: New test. ++ * testsuite/libgomp.c++/task-reduction-7.C: New test. ++ * testsuite/libgomp.c++/task-reduction-8.C: New test. ++ * testsuite/libgomp.c++/task-reduction-9.C: New test. ++ * testsuite/libgomp.c/teams-1.c: New test. ++ * testsuite/libgomp.c/teams-2.c: New test. ++ * testsuite/libgomp.c/thread-limit-4.c: New test. ++ * testsuite/libgomp.c/thread-limit-5.c: New test. ++ * testsuite/libgomp.fortran/display-affinity-1.f90: New test. ++ ++2018-11-06 Chung-Lin Tang ++ ++ * oacc-mem.c (memcpy_tofrom_device): New function, combined from ++ acc_memcpy_to/from_device functions, now with async parameter. ++ (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. ++ (acc_memcpy_from_device): Likewise. ++ (acc_memcpy_to_device_async): New API function. ++ (acc_memcpy_from_device_async): Likewise. ++ (present_create_copy): Add async parameter and async setting/unsetting. ++ (acc_create): Adjust present_create_copy call. ++ (acc_copyin): Likewise. ++ (acc_present_or_create): Likewise. ++ (acc_present_or_copyin): Likewise. ++ (acc_create_async): New API function. ++ (acc_copyin_async): New API function. ++ (delete_copyout): Add async parameter and async setting/unsetting. ++ (acc_delete): Adjust delete_copyout call. ++ (acc_copyout): Likewise. ++ (acc_delete_async): New API function. ++ (acc_copyout_async): Likewise. ++ (update_dev_host): Add async parameter and async setting/unsetting. ++ (acc_update_device): Adjust update_dev_host call. ++ (acc_update_self): Likewise. ++ (acc_update_device_async): New API function. ++ (acc_update_self_async): Likewise. ++ * openacc.h (acc_copyin_async): Declare new API function. ++ (acc_create_async): Likewise. ++ (acc_copyout_async): Likewise. ++ (acc_delete_async): Likewise. ++ (acc_update_device_async): Likewise. ++ (acc_update_self_async): Likewise. ++ (acc_memcpy_to_device_async): Likewise. ++ (acc_memcpy_from_device_async): Likewise. ++ * openacc_lib.h (acc_copyin_async_32_h): New subroutine. ++ (acc_copyin_async_64_h): New subroutine. ++ (acc_copyin_async_array_h): New subroutine. ++ (acc_create_async_32_h): New subroutine. ++ (acc_create_async_64_h): New subroutine. ++ (acc_create_async_array_h): New subroutine. ++ (acc_copyout_async_32_h): New subroutine. ++ (acc_copyout_async_64_h): New subroutine. ++ (acc_copyout_async_array_h): New subroutine. ++ (acc_delete_async_32_h): New subroutine. ++ (acc_delete_async_64_h): New subroutine. ++ (acc_delete_async_array_h): New subroutine. ++ (acc_update_device_async_32_h): New subroutine. ++ (acc_update_device_async_64_h): New subroutine. ++ (acc_update_device_async_array_h): New subroutine. ++ (acc_update_self_async_32_h): New subroutine. ++ (acc_update_self_async_64_h): New subroutine. ++ (acc_update_self_async_array_h): New subroutine. ++ * openacc.f90 (acc_copyin_async_32_h): New subroutine. ++ (acc_copyin_async_64_h): New subroutine. ++ (acc_copyin_async_array_h): New subroutine. ++ (acc_create_async_32_h): New subroutine. ++ (acc_create_async_64_h): New subroutine. ++ (acc_create_async_array_h): New subroutine. ++ (acc_copyout_async_32_h): New subroutine. ++ (acc_copyout_async_64_h): New subroutine. ++ (acc_copyout_async_array_h): New subroutine. ++ (acc_delete_async_32_h): New subroutine. ++ (acc_delete_async_64_h): New subroutine. ++ (acc_delete_async_array_h): New subroutine. ++ (acc_update_device_async_32_h): New subroutine. ++ (acc_update_device_async_64_h): New subroutine. ++ (acc_update_device_async_array_h): New subroutine. ++ (acc_update_self_async_32_h): New subroutine. ++ (acc_update_self_async_64_h): New subroutine. ++ (acc_update_self_async_array_h): New subroutine. ++ * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, ++ acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, ++ acc_delete_finalize_async*, acc_memcpy_from_device_async*, ++ acc_memcpy_to_device_async*, acc_update_device_async*, and ++ acc_update_self_async* entries. ++ * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. ++ * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am ++ (AUTOMAKE_OPTIONS): Add info-in-builddir. ++ (CLEANFILES): Remove libgomp.info. ++ * configure.ac: Remove AC_PREREQ. ++ * testsuite/Makefile.am (RUNTEST): Remove quotes. ++ * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: ++ Regenerate. ++ ++2018-10-29 Joseph Myers ++ Julian Brown ++ ++ * testsuite/libgomp.oacc-c++/this.C: New. ++ ++2018-09-18 Cesar Philippidis ++ ++ * plugin/plugin-nvptx.c (struct cuda_map): New. ++ (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, ++ h_tail with (cuda_map *) map. ++ (cuda_map_create): New function. ++ (cuda_map_destroy): New function. ++ (map_init): Update to use a linked list of cuda_map objects. ++ (map_fini): Likewise. ++ (map_pop): Likewise. ++ (map_push): Likewise. Return CUdeviceptr instead of void. ++ (init_streams_for_device): Remove stales references to ptx_stream ++ members. ++ (select_stream_for_async): Likewise. ++ (nvptx_exec): Update call to map_init. ++ ++2018-09-09 Cesar Philippidis ++ Julian Brown ++ ++ PR middle-end/86336 ++ * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. ++ ++2018-08-21 Nicolas Koenig ++ Thomas Koenig ++ ++ PR fortran/25829 ++ * testsuite/libgomp.fortran/async_io_1.f90: New test. ++ * testsuite/libgomp.fortran/async_io_2.f90: New test. ++ * testsuite/libgomp.fortran/async_io_3.f90: New test. ++ * testsuite/libgomp.fortran/async_io_4.f90: New test. ++ * testsuite/libgomp.fortran/async_io_5.f90: New test. ++ * testsuite/libgomp.fortran/async_io_6.f90: New test. ++ * testsuite/libgomp.fortran/async_io_7.f90: New test. ++ ++2018-08-13 Cesar Philippidis ++ Tom de Vries ++ ++ PR target/85590 ++ * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. ++ (cuOccupancyMaxPotentialBlockSize): Declare. ++ * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New ++ CUDA_ONE_CALL_MAYBE_NULL. ++ * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define ++ CUoccupancyB2DSize and declare ++ cuOccupancyMaxPotentialBlockSize. ++ (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the ++ default num_gangs and num_workers when the driver supports it. ++ ++2018-08-08 Tom de Vries ++ ++ * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using ++ CUDA_ONE_CALL_MAYBE_NULL. ++ * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. ++ (cuLinkAddData_v2, cuLinkCreate_v2): Declare. ++ (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions ++ are not found. ++ ++2018-08-08 Tom de Vries ++ ++ * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. ++ * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not ++ present. ++ ++2018-08-08 Tom de Vries ++ ++ * plugin/plugin-nvptx.c ++ (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. ++ (nvptx_open_device): Use ++ CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. ++ ++2018-08-08 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorStri= ng ... ++ (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. ++ ++2018-08-07 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (DO_PRAGMA): Define. ++ (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. ++ (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to ++ corresponding call in CUDA_ONE_CALL. Add def/undef of ++ CUDA_ONE_CALL_MAYBE_NULL. ++ (CUDA_CALL_EXISTS): Define. ++ ++2018-08-07 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put ++ CUDA_ONE_CALL defines right before the cuda-lib.def include, and the ++ corresponding undefs right after. ++ ++2018-08-04 Tom de Vries ++ ++ * plugin/configfrag.ac: For --without-cuda-driver, set ++ CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle ++ CUDA_DRIVER_INCLUDE =3D=3D no and CUDA_DRIVER_LIB =3D=3D no. ++ * configure: Regenerate. ++ ++2018-08-02 Tom de Vries ++ ++ PR target/86660 ++ * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. ++ * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. ++ * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: ++ Same. ++ * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. ++ * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. ++ ++2018-08-01 Cesar Philippidis ++ Thomas Schwinge ++ ++ * config/nvptx/oacc-parallel.c: Truncate. ++ ++2018-08-01 Cesar Philippidis ++ James Norris ++ ++ * plugin/plugin-nvptx.c (struct map): Removed. ++ (map_init, map_pop): Remove use of struct map. ++ (map_push): Likewise and change argument list. ++ * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New ++ ++2018-08-01 Tom de Vries ++ ++ * plugin/cuda-lib.def: New file. Factor out of ... ++ * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. ++ (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of ++ using CUDA_CALLS. ++ ++2018-07-31 Andre Vieira ++ ++ Revert 'AsyncI/O patch committed'. ++ 2018-07-25 Nicolas Koenig ++ Thomas Koenig ++ ++ PR fortran/25829 ++ * testsuite/libgomp.fortran/async_io_1.f90: New test. ++ * testsuite/libgomp.fortran/async_io_2.f90: New test. ++ * testsuite/libgomp.fortran/async_io_3.f90: New test. ++ * testsuite/libgomp.fortran/async_io_4.f90: New test. ++ * testsuite/libgomp.fortran/async_io_5.f90: New test. ++ * testsuite/libgomp.fortran/async_io_6.f90: New test. ++ * testsuite/libgomp.fortran/async_io_7.f90: New test. ++ ++2018-07-30 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (MIN, MAX): Redefine. ++ (nvptx_exec): Ensure worker and vector default dims don't exceed ++ targ_fn->max_threads_per_block. ++ ++2018-07-30 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. ++ (nvptx_open_device): Init default_dims for device. ++ (nvptx_exec): Use default_dims from device. ++ ++2018-07-26 Jakub Jelinek ++ ++ PR testsuite/86660 ++ * testsuite/libgomp.c++/for-15.C (results): Include it in ++ omp declare target region. ++ (main): Use map (always, tofrom: results) instead of ++ map (tofrom: results). ++ ++ PR middle-end/86660 ++ * testsuite/libgomp.c/pr86660.c: New test. ++ ++2018-07-26 Cesar Philippidis ++ Tom de Vries ++ ++ * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have ++ sufficient resources to launch a kernel, and give a hint on how to fix ++ it. ++ ++2018-07-26 Cesar Philippidis ++ Tom de Vries ++ ++ * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, ++ max_threads_per_block and max_threads_per_multiprocessor fields. ++ (nvptx_open_device): Initialize new fields. ++ (nvptx_exec): Use num_sms, and new fields. ++ ++2018-07-26 Tom de Vries ++ ++ * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls ++ to correct locations. Remove xfail. ++ ++2018-07-26 Tom de Vries ++ ++ * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with ++ acc_wait. Move acc_async_test calls to correct locations. Remove ++ xfail. ++ ++2018-07-25 Nicolas Koenig ++ Thomas Koenig ++ ++ PR fortran/25829 ++ * testsuite/libgomp.fortran/async_io_1.f90: New test. ++ * testsuite/libgomp.fortran/async_io_2.f90: New test. ++ * testsuite/libgomp.fortran/async_io_3.f90: New test. ++ * testsuite/libgomp.fortran/async_io_4.f90: New test. ++ * testsuite/libgomp.fortran/async_io_5.f90: New test. ++ * testsuite/libgomp.fortran/async_io_6.f90: New test. ++ * testsuite/libgomp.fortran/async_io_7.f90: New test. ++ ++2018-07-17 Jakub Jelinek ++ ++ PR middle-end/86542 ++ * testsuite/libgomp.c++/pr86542.C: New test. ++ ++ PR middle-end/86539 ++ * testsuite/libgomp.c++/pr86539.C: New test. ++ ++2018-07-11 Jakub Jelinek ++ ++ PR c++/86443 ++ * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. ++ (results): Make sure the variable is not inside declare target region. ++ (qux): Remove unused function. ++ ++2018-07-10 Jakub Jelinek ++ ++ PR c++/86443 ++ * testsuite/libgomp.c++/for-15.C: New test. ++ ++2018-06-26 Jakub Jelinek ++ ++ PR c++/86291 ++ * testsuite/libgomp.c++/pr86291.C: New test. ++ ++2018-06-24 Gerald Pfeifer ++ ++ * libgomp.texi (Top): Move www.openmp.org to https. ++ (Enabling OpenMP): Ditto. ++ (omp_get_active_level): Ditto. ++ (omp_get_ancestor_thread_num): Ditto. ++ (omp_get_cancellation): Ditto. ++ (omp_get_default_device): Ditto. ++ (omp_get_dynamic): Ditto. ++ (omp_get_level): Ditto. ++ (omp_get_max_active_levels): Ditto. ++ (omp_get_max_task_priority): Ditto. ++ (omp_get_max_threads): Ditto. ++ (omp_get_nested): Ditto. ++ (omp_get_num_devices): Ditto. ++ (omp_get_num_procs): Ditto. ++ (omp_get_num_teams): Ditto. ++ (omp_get_num_threads): Ditto. ++ (omp_get_proc_bind): Ditto. ++ (omp_get_schedule): Ditto. ++ (omp_get_team_num): Ditto. ++ (omp_get_team_size): Ditto. ++ (omp_get_thread_limit): Ditto. ++ (omp_get_thread_num): Ditto. ++ (omp_in_parallel): Ditto. ++ (omp_in_final): Ditto. ++ (omp_is_initial_device): Ditto. ++ (omp_set_default_device): Ditto. ++ (omp_set_dynamic): Ditto. ++ (omp_set_max_active_levels): Ditto. ++ (omp_set_nested): Ditto. ++ (omp_set_num_threads): Ditto. ++ (omp_set_schedule): Ditto. ++ (omp_init_lock): Ditto. ++ (omp_set_lock): Ditto. ++ (omp_test_lock): Ditto. ++ (omp_unset_lock): Ditto. ++ (omp_destroy_lock): Ditto. ++ (omp_init_nest_lock): Ditto. ++ (omp_set_nest_lock): Ditto. ++ (omp_test_nest_lock): Ditto. ++ (omp_unset_nest_lock): Ditto. ++ (omp_destroy_nest_lock): Ditto. ++ (omp_get_wtick): Ditto. ++ (omp_get_wtime): Ditto. ++ (OMP_CANCELLATION): Ditto. ++ (OMP_DISPLAY_ENV): Ditto. ++ (OMP_DEFAULT_DEVICE): Ditto. ++ (OMP_DYNAMIC): Ditto. ++ (OMP_MAX_ACTIVE_LEVELS): Ditto. ++ (OMP_MAX_TASK_PRIORITY): Ditto. ++ (OMP_NESTED): Ditto. ++ (OMP_NUM_THREADS): Ditto. ++ (OMP_PROC_BIND): Ditto. ++ (OMP_PLACES): Ditto. ++ (OMP_STACKSIZE): Ditto. ++ (OMP_SCHEDULE): Ditto. ++ (OMP_THREAD_LIMIT): Ditto. ++ (OMP_WAIT_POLICY): Ditto. ++ ++2018-06-22 Cesar Philippidis ++ James Norris ++ Julian Brown ++ Thomas Schwinge ++ Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". ++ * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. ++ * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. ++ * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. ++ * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-e= xit.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-= 1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-= 2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-= 3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-= 4.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-= 5.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7= .c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: ++ Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. ++ * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. ++ * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-independent.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f= 95: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: ++ Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. ++ ++2018-06-20 Chung-Lin Tang ++ Thomas Schwinge ++ Cesar Philippidis +=20 +-2019-08-30 Jakub Jelinek ++ * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. ++ (gomp_acc_remove_pointer): Update declaration. ++ (gomp_acc_declare_allocate): Declare. ++ (gomp_remove_var): Declare. ++ * libgomp.map (OACC_2.5): Define. ++ * oacc-mem.c (acc_map_data): Update refcount. ++ (acc_unmap_data): Likewise. ++ (present_create_copy): Likewise. ++ (acc_create): Add FLAG_PRESENT when calling present_create_copy. ++ (acc_copyin): Likewise. ++ (FLAG_FINALIZE): Define. ++ (delete_copyout): Update dynamic refcounts, add support for FINALIZE. ++ (acc_delete_finalize): New function. ++ (acc_delete_finalize_async): New function. ++ (acc_copyout_finalize): New function. ++ (acc_copyout_finalize_async): New function. ++ (gomp_acc_insert_pointer): Update refcounts. ++ (gomp_acc_remove_pointer): Return if data is not present on the ++ accelerator. ++ * oacc-parallel.c (find_pset): Rename to find_pointer. ++ (find_pointer): Add support for GOMP_MAP_POINTER. ++ (handle_ftn_pointers): New function. ++ (GOACC_parallel_keyed): Update refcounts of variables. ++ (GOACC_enter_exit_data): Add support for finalized data mappings. ++ Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling ++ of fortran arrays. ++ (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. ++ (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support ++ for GOMP_MAP_FORCE_FROM. ++ * openacc.f90 (module openacc_internal): Add ++ acc_copyout_finalize_{32_h,64_h,array_h,_l}, and ++ acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for ++ acc_copyout_finalize and acc_delete_finalize. ++ (acc_copyout_finalize_32_h): New subroutine. ++ (acc_copyout_finalize_64_h): New subroutine. ++ (acc_copyout_finalize_array_h): New subroutine. ++ (acc_delete_finalize_32_h): New subroutine. ++ (acc_delete_finalize_64_h): New subroutine. ++ (acc_delete_finalize_array_h): New subroutine. ++ * openacc.h (acc_copyout_finalize): Declare. ++ (acc_copyout_finalize_async): Declare. ++ (acc_delete_finalize): Declare. ++ (acc_delete_finalize_async): Declare. ++ * openacc_lib.h (acc_copyout_finalize): New interface. ++ (acc_delete_finalize): New interface. ++ * target.c (gomp_map_vars): Update dynamic_refcount. ++ (gomp_remove_var): New function. ++ (gomp_unmap_vars): Use it. ++ (gomp_unload_image_from_device): Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test ++ case to utilize OpenACC 2.5 data clause semantics. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. ++ * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-5.f90: New test. ++ * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to ++ utilize OpenACC 2.5 data clause semantics. ++ * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. ++ ++2018-05-21 Janus Weil ++ ++ PR fortran/85841 ++ PR testsuite/85865 ++ * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=3Dlegacy". ++ * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. ++ * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. ++ * testsuite/libgomp.fortran/task2.f90: Ditto. ++ * testsuite/libgomp.fortran/vla1.f90: Ditto. ++ * testsuite/libgomp.fortran/vla2.f90: Ditto. ++ * testsuite/libgomp.fortran/vla3.f90: Ditto. ++ * testsuite/libgomp.fortran/vla4.f90: Ditto. ++ * testsuite/libgomp.fortran/vla5.f90: Ditto. ++ * testsuite/libgomp.fortran/vla6.f90: Ditto. ++ * testsuite/libgomp.fortran/vla8.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. ++ * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. ++ ++2018-05-18 Cesar Philippidis ++ ++ PR c++/85782 ++ * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. ++ ++2018-05-09 Tom de Vries ++ ++ PR libgomp/82901 ++ * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument ++ to GOACC_enter_exit_data. ++ ++2018-05-09 Tom de Vries ++ ++ PR libgomp/83792 ++ * oacc-int.h (async_valid_stream_id_p, async_valid_p) ++ (async_synchronous_p): New function. ++ * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use ++ async_valid_p. ++ * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use ++ async_valid_stream_id_p. ++ * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. ++ * oacc-parallel.c (GOACC_parallel_keyed): Same. ++ ++2018-05-07 Tom de Vries ++ ++ PR testsuite/85677 ++ * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level ++ include directory in ALWAYS_CFLAGS out of $blddir !=3D "" condition. ++ ++2018-05-03 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to ++ extra_tool_flags if it contains an -foffload=3D-fdump-* flag. ++ * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. ++ * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. ++ ++2018-05-02 Tom de Vries ++ ++ PR libgomp/85411 ++ * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of ++ GOMP_OPENACC_DIM ... ++ * env.c (parse_gomp_openacc_dim): ... here. New function. ++ (initialize_env): Call parse_gomp_openacc_dim. ++ (goacc_default_dims): Define. ++ * libgomp.h (goacc_default_dims): Declare. ++ * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. ++ * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. ++ * libgomp.map: New version "GOMP_PLUGIN_1.2". Add ++ GOMP_PLUGIN_acc_default_dim. ++ * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/83791 ++ * testsuite/libgomp.c++/udr-9.C: Update. ++ * testsuite/libgomp.c++/atomic-16.C: Remove. ++ * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. ++ * testsuite/libgomp.c++/loop-13.C: Remove. ++ * testsuite/libgomp.c++/loop-14.C: Remove. ++ * testsuite/libgomp.c++/loop-15.C: Remove. ++ * testsuite/libgomp.c++/monotonic-1.C: Remove. ++ * testsuite/libgomp.c++/monotonic-2.C: Remove. ++ * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. ++ * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. ++ * testsuite/libgomp.c++/ordered-1.C: Remove. ++ * testsuite/libgomp.c++/pr45784.C: Remove. ++ * testsuite/libgomp.c++/pr64824.C: Remove. ++ * testsuite/libgomp.c++/pr64868.C: Remove. ++ * testsuite/libgomp.c++/pr66199-1.C: Remove. ++ * testsuite/libgomp.c++/pr66199-2.C: Remove. ++ * testsuite/libgomp.c++/pr66199-3.C: Remove. ++ * testsuite/libgomp.c++/pr66199-4.C: Remove. ++ * testsuite/libgomp.c++/pr66199-5.C: Remove. ++ * testsuite/libgomp.c++/pr66199-6.C: Remove. ++ * testsuite/libgomp.c++/pr66199-7.C: Remove. ++ * testsuite/libgomp.c++/pr66199-8.C: Remove. ++ * testsuite/libgomp.c++/pr66199-9.C: Remove. ++ * testsuite/libgomp.c++/pr69389.C: Remove. ++ * testsuite/libgomp.c++/simd10.C: Remove. ++ * testsuite/libgomp.c++/simd11.C: Remove. ++ * testsuite/libgomp.c++/simd12.C: Remove. ++ * testsuite/libgomp.c++/simd13.C: Remove. ++ * testsuite/libgomp.c++/target-1.C: Remove. ++ * testsuite/libgomp.c++/target-3.C: Remove. ++ * testsuite/libgomp.c++/target-4.C: Remove. ++ * testsuite/libgomp.c++/target-5.C: Remove. ++ * testsuite/libgomp.c++/taskgroup-1.C: Remove. ++ * testsuite/libgomp.c++/taskloop-1.C: Remove. ++ * testsuite/libgomp.c++/taskloop-2.C: Remove. ++ * testsuite/libgomp.c++/taskloop-3.C: Remove. ++ * testsuite/libgomp.c++/taskloop-4.C: Remove. ++ * testsuite/libgomp.c++/udr-9.C: Remove. ++ * testsuite/libgomp.c++/for-10.C: Remove. ++ * testsuite/libgomp.c++/for-11.C: Remove. ++ * testsuite/libgomp.c++/for-12.C: Remove. ++ * testsuite/libgomp.c++/for-13.C: Remove. ++ * testsuite/libgomp.c++/for-14.C: Remove. ++ * testsuite/libgomp.c++/for-9.C: Remove. ++ * testsuite/libgomp.c/atomic-18.c: Move ... ++ * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. ++ * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. ++ * testsuite/libgomp.c/loop-13.c: Move ... ++ * testsuite/libgomp.c-c++-common/loop-13.c: ... here. ++ * testsuite/libgomp.c/loop-14.c: Move ... ++ * testsuite/libgomp.c-c++-common/loop-14.c: ... here. ++ * testsuite/libgomp.c/loop-15.c: Remove. ++ * testsuite/libgomp.c-c++-common/loop-15.c: New test. ++ * testsuite/libgomp.c/monotonic-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. ++ * testsuite/libgomp.c/monotonic-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. ++ * testsuite/libgomp.c/nonmonotonic-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. ++ * testsuite/libgomp.c/nonmonotonic-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. ++ * testsuite/libgomp.c/ordered-4.c: Move ... ++ * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. ++ * testsuite/libgomp.c/pr45784.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr45784.c: ... here. ++ * testsuite/libgomp.c/pr64824.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr64824.c: ... here. ++ * testsuite/libgomp.c/pr64868.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr64868.c: ... here. ++ * testsuite/libgomp.c/pr66199-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. ++ * testsuite/libgomp.c/pr66199-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. ++ * testsuite/libgomp.c/pr66199-3.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. ++ * testsuite/libgomp.c/pr66199-4.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. ++ * testsuite/libgomp.c/pr66199-5.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. ++ * testsuite/libgomp.c/pr66199-6.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. ++ * testsuite/libgomp.c/pr66199-7.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. ++ * testsuite/libgomp.c/pr66199-8.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. ++ * testsuite/libgomp.c/pr66199-9.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. ++ * testsuite/libgomp.c/pr69389.c: Move ... ++ * testsuite/libgomp.c-c++-common/pr69389.c: ... here. ++ * testsuite/libgomp.c/simd-14.c: Move ... ++ * testsuite/libgomp.c-c++-common/simd-14.c: ... here. ++ * testsuite/libgomp.c/simd-15.c: Move ... ++ * testsuite/libgomp.c-c++-common/simd-15.c: ... here. ++ * testsuite/libgomp.c/simd-16.c: Move ... ++ * testsuite/libgomp.c-c++-common/simd-16.c: ... here. ++ * testsuite/libgomp.c/simd-17.c: Move ... ++ * testsuite/libgomp.c-c++-common/simd-17.c: ... here. ++ * testsuite/libgomp.c/target-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/target-1.c: ... here. ++ * testsuite/libgomp.c/target-10.c: Move ... ++ * testsuite/libgomp.c-c++-common/target-10.c: ... here. ++ * testsuite/libgomp.c/target-13.c: Move ... ++ * testsuite/libgomp.c-c++-common/target-13.c: ... here. ++ * testsuite/libgomp.c/target-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/target-2.c: ... here. ++ * testsuite/libgomp.c/taskgroup-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. ++ * testsuite/libgomp.c/taskloop-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. ++ * testsuite/libgomp.c/taskloop-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. ++ * testsuite/libgomp.c/taskloop-3.c: Move ... ++ * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. ++ * testsuite/libgomp.c/taskloop-4.c: Move ... ++ * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. ++ * testsuite/libgomp.c/udr-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/udr-1.c: ... here. ++ * testsuite/libgomp.c/for-1.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-1.c: ... here. ++ * testsuite/libgomp.c/for-1.h: Move ... ++ * testsuite/libgomp.c-c++-common/for-1.h: ... here. ++ * testsuite/libgomp.c/for-2.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-2.c: ... here. ++ * testsuite/libgomp.c/for-2.h: Move ... ++ * testsuite/libgomp.c-c++-common/for-2.h: ... here. ++ * testsuite/libgomp.c/for-3.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-3.c: ... here. ++ * testsuite/libgomp.c/for-4.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-4.c: ... here. ++ * testsuite/libgomp.c/for-5.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-5.c: ... here. ++ * testsuite/libgomp.c/for-6.c: Move ... ++ * testsuite/libgomp.c-c++-common/for-6.c: ... here. ++ ++2018-05-02 Tom de Vries ++ ++ PR libgomp/82428 ++ * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use ++ __builtin_goacc_parlevel_{id,size}. ++ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libgomp.exp: Include scanltranstree.exp. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. ++ ++2018-04-29 Julian Brown ++ Tom de Vries +=20 +- Backported from mainline +- 2019-05-24 Jakub Jelinek ++ PR testsuite/85527 ++ * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow ++ arbitrary order for iterations of atomic subtract check. +=20 +- PR libgomp/90585 +- * plugin/plugin-hsa.c (print_kernel_dispatch, run_kernel): Use PRIu64 +- macro instead of "lu". +- (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t +- before casting to void *. ++2018-04-28 Tom de Vries +=20 +- 2019-06-11 Jakub Jelinek ++ PR testsuite/85527 ++ * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store ++ atomic capture results obtained in parallel loop to an array, instead of ++ to a scalar. +=20 +- PR target/90811 +- * testsuite/libgomp.c/pr90811.c: New test. ++2018-04-26 Tom de Vries +=20 +- 2019-01-28 Jakub Jelinek ++ PR libgomp/84020 ++ * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. ++ * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. ++ (process_GOMP_NVPTX_JIT): New function. ++ (link_ptx): Use process_GOMP_NVPTX_JIT. +=20 +- PR middle-end/89002 +- * testsuite/libgomp.c/pr89002.c: New test. ++2018-04-26 Richard Biener ++ Tom de Vries +=20 +-2018-12-06 Release Manager ++ PR lto/85422 ++ * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. +=20 +- * GCC 7.4.0 released. ++2018-04-26 Tom de Vries +=20 +-2018-10-12 Jakub Jelinek ++ PR target/85519 ++ * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce ++ recursion depth from 25 to 23. ++ * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. +=20 +- Backported from mainline +- 2018-07-17 Jakub Jelinek ++2018-04-24 H.J. Lu +=20 +- PR middle-end/86542 +- * testsuite/libgomp.c++/pr86542.C: New test. ++ * configure: Regenerated. +=20 +- PR middle-end/86539 +- * testsuite/libgomp.c++/pr86539.C: New test. ++2018-04-20 Nathan Sidwell ++ Tom de Vries +=20 +- 2018-07-26 Jakub Jelinek ++ PR target/85445 ++ * testsuite/libgomp.oacc-c++/ref-1.C: New. +=20 +- PR middle-end/86660 +- * testsuite/libgomp.c/pr86660.c: New test. ++2018-04-19 Thomas Schwinge +=20 +-2018-06-26 Jakub Jelinek ++ PR libgomp/85463 ++ * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. ++ * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. +=20 +- PR c++/86291 +- * testsuite/libgomp.c++/pr86291.C: New test. ++ PR libfortran/85166 ++ * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call ++ abort". ++ * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. ++ ++2018-04-19 Jakub Jelinek +=20 +-2018-06-22 Jakub Jelinek ++ * configure: Regenerated. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-05-01 Tom de Vries ++2018-04-16 Cesar Philippidis ++ Tom de Vries ++ ++ PR middle-end/84955 ++ * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. ++ * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. ++ ++2018-04-12 Thomas Koenig ++ ++ PR fortran/83064 ++ PR testsuite/85346 ++ * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified ++ test from gfortran.dg to here. +=20 +- backport from trunk: +- 2018-04-16 Cesar Philippidis +- Tom de Vries ++2018-04-12 Cesar Philippidis ++ ++ * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. ++ * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. ++ ++2018-04-12 Cesar Philippidis +=20 + PR middle-end/84955 + * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. + * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. +=20 +-2018-03-03 Jakub Jelinek ++2018-04-05 Tom de Vries ++ ++ PR target/85204 ++ * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. ++ ++2018-03-26 Tom de Vries ++ ++ PR tree-optimization/85063 ++ * testsuite/libgomp.c/switch-conversion-2.c: New test. ++ * testsuite/libgomp.c/switch-conversion.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. ++ ++2018-03-25 Thomas Koenig ++ ++ PR fortran/84381 ++ * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard ++ call abort by STOP n. ++ * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. ++ * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. ++ * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable1.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable10.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable11.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable12.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable2.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable3.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable4.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable5.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable6.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable7.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable8.f90: Likewise. ++ * testsuite/libgomp.fortran/allocatable9.f90: Likewise. ++ * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. ++ * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. ++ * testsuite/libgomp.fortran/associate1.f90: Likewise. ++ * testsuite/libgomp.fortran/associate2.f90: Likewise. ++ * testsuite/libgomp.fortran/associate3.f90: Likewise. ++ * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. ++ * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. ++ * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. ++ * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. ++ * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. ++ * testsuite/libgomp.fortran/character1.f90: Likewise. ++ * testsuite/libgomp.fortran/character2.f90: Likewise. ++ * testsuite/libgomp.fortran/collapse1.f90: Likewise. ++ * testsuite/libgomp.fortran/collapse2.f90: Likewise. ++ * testsuite/libgomp.fortran/collapse3.f90: Likewise. ++ * testsuite/libgomp.fortran/collapse4.f90: Likewise. ++ * testsuite/libgomp.fortran/crayptr1.f90: Likewise. ++ * testsuite/libgomp.fortran/crayptr2.f90: Likewise. ++ * testsuite/libgomp.fortran/crayptr3.f90: Likewise. ++ * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. ++ * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. ++ * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. ++ * testsuite/libgomp.fortran/depend-1.f90: Likewise. ++ * testsuite/libgomp.fortran/depend-2.f90: Likewise. ++ * testsuite/libgomp.fortran/depend-3.f90: Likewise. ++ * testsuite/libgomp.fortran/do1.f90: Likewise. ++ * testsuite/libgomp.fortran/do2.f90: Likewise. ++ * testsuite/libgomp.fortran/doacross1.f90: Likewise. ++ * testsuite/libgomp.fortran/doacross2.f90: Likewise. ++ * testsuite/libgomp.fortran/doacross3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. ++ * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. ++ * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. ++ * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. ++ * testsuite/libgomp.fortran/lib1.f90: Likewise. ++ * testsuite/libgomp.fortran/lib2.f: Likewise. ++ * testsuite/libgomp.fortran/lib3.f: Likewise. ++ * testsuite/libgomp.fortran/lib4.f90: Likewise. ++ * testsuite/libgomp.fortran/lock-1.f90: Likewise. ++ * testsuite/libgomp.fortran/lock-2.f90: Likewise. ++ * testsuite/libgomp.fortran/nested1.f90: Likewise. ++ * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. ++ * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. ++ * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. ++ * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. ++ * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_cond1.f: Likewise. ++ * testsuite/libgomp.fortran/omp_cond2.f: Likewise. ++ * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. ++ * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. ++ * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. ++ * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. ++ * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. ++ * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. ++ * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. ++ * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. ++ * testsuite/libgomp.fortran/pointer1.f90: Likewise. ++ * testsuite/libgomp.fortran/pointer2.f90: Likewise. ++ * testsuite/libgomp.fortran/pr25162.f: Likewise. ++ * testsuite/libgomp.fortran/pr25219.f90: Likewise. ++ * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. ++ * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. ++ * testsuite/libgomp.fortran/pr28390.f: Likewise. ++ * testsuite/libgomp.fortran/pr29629.f90: Likewise. ++ * testsuite/libgomp.fortran/pr32550.f90: Likewise. ++ * testsuite/libgomp.fortran/pr33880.f90: Likewise. ++ * testsuite/libgomp.fortran/pr34020.f90: Likewise. ++ * testsuite/libgomp.fortran/pr35130.f90: Likewise. ++ * testsuite/libgomp.fortran/pr42162.f90: Likewise. ++ * testsuite/libgomp.fortran/pr46753.f90: Likewise. ++ * testsuite/libgomp.fortran/pr48894.f90: Likewise. ++ * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. ++ * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. ++ * testsuite/libgomp.fortran/pr65597.f90: Likewise. ++ * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr71014.f90: Likewise. ++ * testsuite/libgomp.fortran/pr81304.f90: Likewise. ++ * testsuite/libgomp.fortran/pr81841.f90: Likewise. ++ * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. ++ * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. ++ * testsuite/libgomp.fortran/procptr1.f90: Likewise. ++ * testsuite/libgomp.fortran/recursion1.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction1.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction2.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction3.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction4.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction5.f90: Likewise. ++ * testsuite/libgomp.fortran/reduction6.f90: Likewise. ++ * testsuite/libgomp.fortran/reference1.f90: Likewise. ++ * testsuite/libgomp.fortran/reference2.f90: Likewise. ++ * testsuite/libgomp.fortran/retval1.f90: Likewise. ++ * testsuite/libgomp.fortran/retval2.f90: Likewise. ++ * testsuite/libgomp.fortran/sharing1.f90: Likewise. ++ * testsuite/libgomp.fortran/sharing2.f90: Likewise. ++ * testsuite/libgomp.fortran/simd1.f90: Likewise. ++ * testsuite/libgomp.fortran/simd2.f90: Likewise. ++ * testsuite/libgomp.fortran/simd3.f90: Likewise. ++ * testsuite/libgomp.fortran/simd4.f90: Likewise. ++ * testsuite/libgomp.fortran/simd5.f90: Likewise. ++ * testsuite/libgomp.fortran/simd6.f90: Likewise. ++ * testsuite/libgomp.fortran/simd7.f90: Likewise. ++ * testsuite/libgomp.fortran/stack.f90: Likewise. ++ * testsuite/libgomp.fortran/strassen.f90: Likewise. ++ * testsuite/libgomp.fortran/tabs1.f90: Likewise. ++ * testsuite/libgomp.fortran/tabs2.f: Likewise. ++ * testsuite/libgomp.fortran/target1.f90: Likewise. ++ * testsuite/libgomp.fortran/target2.f90: Likewise. ++ * testsuite/libgomp.fortran/target3.f90: Likewise. ++ * testsuite/libgomp.fortran/target4.f90: Likewise. ++ * testsuite/libgomp.fortran/target5.f90: Likewise. ++ * testsuite/libgomp.fortran/target6.f90: Likewise. ++ * testsuite/libgomp.fortran/target7.f90: Likewise. ++ * testsuite/libgomp.fortran/target8.f90: Likewise. ++ * testsuite/libgomp.fortran/task1.f90: Likewise. ++ * testsuite/libgomp.fortran/task2.f90: Likewise. ++ * testsuite/libgomp.fortran/task3.f90: Likewise. ++ * testsuite/libgomp.fortran/task4.f90: Likewise. ++ * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. ++ * testsuite/libgomp.fortran/taskloop1.f90: Likewise. ++ * testsuite/libgomp.fortran/taskloop2.f90: Likewise. ++ * testsuite/libgomp.fortran/taskloop3.f90: Likewise. ++ * testsuite/libgomp.fortran/taskloop4.f90: Likewise. ++ * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. ++ * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. ++ * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. ++ * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. ++ * testsuite/libgomp.fortran/udr1.f90: Likewise. ++ * testsuite/libgomp.fortran/udr10.f90: Likewise. ++ * testsuite/libgomp.fortran/udr11.f90: Likewise. ++ * testsuite/libgomp.fortran/udr12.f90: Likewise. ++ * testsuite/libgomp.fortran/udr13.f90: Likewise. ++ * testsuite/libgomp.fortran/udr14.f90: Likewise. ++ * testsuite/libgomp.fortran/udr15.f90: Likewise. ++ * testsuite/libgomp.fortran/udr2.f90: Likewise. ++ * testsuite/libgomp.fortran/udr3.f90: Likewise. ++ * testsuite/libgomp.fortran/udr4.f90: Likewise. ++ * testsuite/libgomp.fortran/udr5.f90: Likewise. ++ * testsuite/libgomp.fortran/udr6.f90: Likewise. ++ * testsuite/libgomp.fortran/udr7.f90: Likewise. ++ * testsuite/libgomp.fortran/udr8.f90: Likewise. ++ * testsuite/libgomp.fortran/udr9.f90: Likewise. ++ * testsuite/libgomp.fortran/vla1.f90: Likewise. ++ * testsuite/libgomp.fortran/vla2.f90: Likewise. ++ * testsuite/libgomp.fortran/vla3.f90: Likewise. ++ * testsuite/libgomp.fortran/vla4.f90: Likewise. ++ * testsuite/libgomp.fortran/vla5.f90: Likewise. ++ * testsuite/libgomp.fortran/vla6.f90: Likewise. ++ * testsuite/libgomp.fortran/vla7.f90: Likewise. ++ * testsuite/libgomp.fortran/vla8.f90: Likewise. ++ * testsuite/libgomp.fortran/workshare1.f90: Likewise. ++ * testsuite/libgomp.fortran/workshare2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. ++ * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Lik= ewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likew= ise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. ++ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. ++ ++2018-03-20 Richard Biener ++ ++ * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one ++ parallelizable loop. ++ ++2018-02-19 Igor Tsimbalist ++ ++ PR target/84148 ++ * configure: Regenerate. +=20 +- Backported from mainline +- 2018-02-16 Jakub Jelinek ++2018-02-16 Jakub Jelinek +=20 + PR fortran/84418 + * libgomp.fortran/pr84418-1.f90: New test. + * libgomp.fortran/pr84418-2.f90: New test. +=20 +- 2018-01-29 Christoph Spiel +- Jakub Jelinek ++2018-02-14 Jakub Jelinek ++ ++ PR fortran/84313 ++ * testsuite/libgomp.fortran/threadprivate4.f90: Add ++ -std=3Df2003 -fall-intrinsics into dg-additional-options. ++ ++2018-02-08 Martin Jambor ++ ++ * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target ++ clonable. ++ ++2018-02-08 Martin Jambor ++ ++ * testsuite/libgomp.hsa.c/staticvar.c: New test. ++ ++2018-02-07 Rainer Orth ++ ++ * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) ++ [__cplusplus]: Declare extern "C". ++ ++2018-02-07 Tom de Vries ++ ++ PR libgomp/84217 ++ * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. ++ ++2018-01-29 Christoph Spiel ++ Jakub Jelinek +=20 + PR libgomp/84096 + * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t + instead of omp_lock_t. +=20 +-2018-02-09 Martin Jambor ++2018-01-25 Tom de Vries +=20 +- Backport from mainline +- 2018-02-08 Martin Jambor ++ PR target/84028 ++ * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. +=20 +- * testsuite/libgomp.hsa.c/staticvar.c: New test. ++2018-01-24 Tom de Vries ++ ++ PR target/83589 ++ * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. ++ ++2018-01-24 Tom de Vries ++ ++ PR target/81352 ++ * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. ++ ++2018-01-19 Tom de Vries ++ Cesar Philippidis ++ ++ PR target/83920 ++ * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. ++ * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. ++ ++2018-01-03 Jakub Jelinek ++ ++ Update copyright years. ++ ++ * libgomp.texi: Bump @copying's copyright year. +=20 +-2018-01-25 Release Manager ++2017-12-30 Tom de Vries +=20 +- * GCC 7.3.0 released. ++ PR libgomp/83046 ++ * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. ++ * testsuite/libgomp.c-c++-common/pr83046.c: New test. +=20 +-2017-12-15 Jakub Jelinek ++2017-12-27 Tom de Vries +=20 +- Backported from mainline +- 2017-11-24 Jakub Jelinek ++ PR c++/83046 ++ * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) ++ (test_nonstatic): Fix return type to workaround PR83046. ++ ++2017-12-05 Jakub Jelinek ++ ++ PR testsuite/83281 ++ * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use ++ j suffix instead of i. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): ++ Likewise. ++ ++2017-12-01 Cesar Philippidis ++ ++ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing ++ call to acc_wait (1). ++ ++2017-11-24 Jakub Jelinek +=20 + PR fortran/81304 + * testsuite/libgomp.fortran/pr81304.f90: New test. +=20 +- 2017-11-23 Jakub Jelinek ++2017-11-23 Jakub Jelinek +=20 + PR fortran/81841 + * libgomp.fortran/pr81841.f90: New test. +=20 +-2017-12-10 Tom de Vries ++2017-11-22 Jakub Jelinek ++ ++ PR libgomp/83106 ++ * target.c (gomp_target_init): Compute lengths just once and ++ use them in both malloc size and subsequent copying. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. ++ * acinclude.m4: Add cet.m4. ++ * configure: Regenerate. ++ * Makefile.in: Likewise. ++ * testsuite/Makefile.in: Likewise. ++ ++2017-11-15 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied ++ from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. ++ * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied ++ from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. ++ * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied ++ from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. ++ ++2017-11-14 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for ++ non-nvidia devices. ++ ++2017-11-07 Jakub Jelinek ++ ++ PR c++/82835 ++ * testsuite/libgomp.c++/pr82835.C: New test. ++ ++2017-11-06 Martin Liska ++ ++ * testsuite/libgomp.c++/loop-2.C: Return a value ++ for functions with non-void return type, or change type to void, ++ or add -Wno-return-type for test. ++ * testsuite/libgomp.c++/loop-4.C: Likewise. ++ * testsuite/libgomp.c++/parallel-1.C: Likewise. ++ * testsuite/libgomp.c++/shared-1.C: Likewise. ++ * testsuite/libgomp.c++/single-1.C: Likewise. ++ * testsuite/libgomp.c++/single-2.C: Likewise. ++ ++2017-10-31 Tom de Vries ++ ++ * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after ++ "do {} while (false)". ++ (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon ++ after HSA_DEBUG call. ++ ++2017-10-28 Jakub Jelinek ++ ++ * target.c (struct gomp_coalesce_buf): New type. ++ (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. ++ (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. ++ (gomp_copy_host2dev): Add CBUF argument, if copying into ++ the cached ranges, memcpy into buffer instead of copying ++ into device. ++ (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): ++ Add CBUF argument, pass it through to other calls. ++ (gomp_map_vars): Aggregate copies from host to device if small enough ++ and with small enough gaps in between into memcpy into a buffer and ++ fewer host to device copies from the buffer. ++ (gomp_update): Adjust gomp_copy_host2dev caller. ++ ++2017-10-17 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do ++ run" directive. ++ * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. ++ ++2017-10-16 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require ++ openacc_nvidia_accel_selected. ++ * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. ++ * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. ++ * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. ++ * testsuite/libgomp.oacc-fortran/declare-4.f90: Same ++ * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. ++ * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require ++ openacc_nvidia_accel_selected. Skip for shared memory device. ++ * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. ++ * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. ++ ++2017-10-09 Martin Jambor ++ ++ PR hsa/82416 ++ * testsuite/libgomp.hsa.c/pr82416.c: New test. ++ ++2017-10-07 Tom de Vries ++ ++ * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): ++ Remove acc_device_nvidia references. ++ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): ++ Same. ++ ++2017-10-05 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove ++ vector_length(32) clause from acc parallel directive. ++ * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. ++ ++2017-10-04 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c ++ (main): Reduce sum of arr elements. Assert that hres is exactly ++ representable in 32-bit floating point. ++ * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c ++ (main): Reduce sum of arr elements. Assert that hres and hmres are ++ exactly representable in 32-bit floating point. ++ * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. ++ ++2017-09-28 Tom de Vries ++ ++ * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option ++ setting. ++ * testsuite/libgomp.c++/pr69393.C: Same. ++ * testsuite/libgomp.c++/taskloop-1.C: Same. ++ * testsuite/libgomp.c++/taskloop-3.C: Same. ++ * testsuite/libgomp.c++/taskloop-4.C: Same. ++ * testsuite/libgomp.c/for-4.c: Same. ++ * testsuite/libgomp.c/pr66199-3.c: Same. ++ * testsuite/libgomp.c/pr66199-4.c: Same. ++ * testsuite/libgomp.c/pr66199-6.c: Same. ++ * testsuite/libgomp.c/taskloop-1.c: Same. ++ * testsuite/libgomp.c/taskloop-3.c: Same. ++ * testsuite/libgomp.c/taskloop-4.c: Same. ++ * testsuite/libgomp.fortran/aligned1.f03: Same. ++ * testsuite/libgomp.fortran/condinc1.f: Same. ++ * testsuite/libgomp.fortran/condinc3.f90: Same. ++ * testsuite/libgomp.fortran/crayptr1.f90: Same. ++ * testsuite/libgomp.fortran/crayptr2.f90: Same. ++ * testsuite/libgomp.fortran/crayptr3.f90: Same. ++ * testsuite/libgomp.fortran/omp_cond1.f: Same. ++ * testsuite/libgomp.fortran/omp_cond3.F90: Same. ++ * testsuite/libgomp.fortran/pr66199-1.f90: Same. ++ * testsuite/libgomp.fortran/pr66199-2.f90: Same. ++ * testsuite/libgomp.fortran/recursion1.f90: Same. ++ * testsuite/libgomp.fortran/target2.f90: Same. ++ * testsuite/libgomp.fortran/target5.f90: Same. ++ * testsuite/libgomp.fortran/task3.f90: Same. ++ ++2017-09-28 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove ++ vector_length(32) clause from acc parallel directive. ++ * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. ++ ++2017-09-27 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): ++ Remove acc_device_nvidia references. ++ ++2017-09-16 Tom de Vries +=20 +- backport from trunk: + PR c/81875 +- 2017-09-16 Tom de Vries ++ * testsuite/libgomp.c-c++-common/pr81875.c: New test. +=20 +- * testsuite/libgomp.c/pr81875.c: New test. ++2017-09-14 Tom de Vries +=20 +-2017-09-15 Jakub Jelinek ++ * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. ++ * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... ++ * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. ++ * testsuite/libgomp.c/c.exp: Include test-cases from ++ libgomp.c-c++-common. ++ * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c ++ files. +=20 +- Backported from mainline +- 2017-09-14 Jakub Jelinek ++2017-09-14 Jakub Jelinek +=20 + PR c++/81314 + * testsuite/libgomp.c++/pr81314.C: New test. +=20 +-2017-09-07 Jakub Jelinek +- +- Backported from mainline +- 2017-08-09 Jakub Jelinek ++2017-09-03 Gerald Pfeifer ++ ++ * libgomp.texi (Top): www.openacc.org now uses https. ++ (Enabling OpenACC): Ditto. ++ (acc_get_num_devices): Ditto. ++ (acc_set_device_type): Ditto. ++ (acc_get_device_type): Ditto. ++ (acc_set_device_num): Ditto. ++ (acc_get_device_num): Ditto. ++ (acc_async_test): Ditto. ++ (acc_async_test_all): Ditto. ++ (acc_wait): Ditto. ++ (acc_wait_all): Ditto. ++ (acc_wait_all_async): Ditto. ++ (acc_wait_async): Ditto. ++ (acc_init): Ditto. ++ (acc_shutdown): Ditto. ++ (acc_on_device): Ditto. ++ (acc_malloc): Ditto. ++ (acc_free): Ditto. ++ (acc_copyin): Ditto. ++ (acc_present_or_copyin): Ditto. ++ (acc_create): Ditto. ++ (acc_present_or_create): Ditto. ++ (acc_copyout): Ditto. ++ (acc_delete): Ditto. ++ (acc_update_device): Ditto. ++ (acc_update_self): Ditto. ++ (acc_map_data): Ditto. ++ (acc_unmap_data): Ditto. ++ (acc_deviceptr): Ditto. ++ (acc_hostptr): Ditto. ++ (acc_is_present): Ditto. ++ (acc_memcpy_to_device): Ditto. ++ (acc_memcpy_from_device): Ditto. ++ (acc_get_current_cuda_device): Ditto. ++ (acc_get_current_cuda_context): Ditto. ++ (acc_get_cuda_stream): Ditto. ++ (acc_set_cuda_stream): Ditto. ++ (ACC_DEVICE_TYPE): Ditto. ++ (ACC_DEVICE_NUM): Ditto. ++ (OpenACC Library Interoperability): Ditto. ++ ++2017-08-09 Jakub Jelinek +=20 + PR c/81687 + * testsuite/libgomp.c/pr81687-1.c: New test. + * testsuite/libgomp.c/pr81687-2.c: New test. +=20 +- 2017-07-27 Jakub Jelinek ++2017-08-07 Jakub Jelinek ++ ++ PR c/69389 ++ * testsuite/libgomp.c/pr69389.c: New test. ++ * testsuite/libgomp.c++/pr69389.C: New test. ++ ++2017-08-07 Tom de Vries ++ ++ PR middle-end/78266 ++ * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. ++ * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. ++ ++2017-07-27 Jakub Jelinek +=20 + PR c/45784 + * testsuite/libgomp.c/pr45784.c: New test. + * testsuite/libgomp.c++/pr45784.C: New test. +=20 +-2017-08-14 Release Manager ++2017-07-19 Tom de Vries ++ ++ * testsuite/libgomp.oacc-c/vec.c: New test. ++ ++2017-07-03 Tom de Vries ++ ++ * plugin/plugin-hsa.c: Fix secure_getenv.h include. ++ ++2017-06-27 Tom de Vries ++ ++ * plugin/plugin-nvptx.c (notify_var): New function. ++ (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. +=20 +- * GCC 7.2.0 released. ++2017-06-27 Tom de Vries ++ ++ * env.c (parse_unsigned_long_1): Factor out of ... ++ (parse_unsigned_long): ... here. ++ (parse_int_1): Factor out of ... ++ (parse_int): ... here. ++ (parse_int_secure): New function. ++ (initialize_env): Use parse_int_secure for GOMP_DEBUG. ++ * secure_getenv.h: Factor out of ... ++ * plugin/plugin-hsa.c: ... here. ++ * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. +=20 + 2017-06-21 Jakub Jelinek +=20 + PR c++/81130 + * testsuite/libgomp.c++/pr81130.C: New test. +=20 +-2017-06-02 Jakub Jelinek ++2017-06-17 Rainer Orth ++ ++ * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if ++ default args. ++ * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove ++ dg-xfail-run-if default args. ++ ++2017-06-02 Bernd Edlinger ++ ++ * testsuite/libgomp.c/pr39591-2.c: Fix test case. ++ * testsuite/libgomp.c/pr39591-3.c: Likewise. +=20 +- Backported from mainline +- 2017-05-30 Jakub Jelinek ++2017-05-30 Jakub Jelinek +=20 + PR libgomp/80822 + * config/linux/affinity.c (gomp_affinity_init_level_1): New function. +@@ -157,10 +4377,63 @@ + sibling lists, depending on level just pick up what CPUs to put + together into a place vs. whether add multiple ordered places. +=20 +-2017-05-26 Jakub Jelinek ++2017-05-24 Thomas Schwinge ++ ++ * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. ++ * libgomp.map (OACC_2.0.1): Add these. ++ * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases ++ for "acc_wait", and "acc_wait_all", respectively. ++ * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces ++ for "acc_wait", and "acc_wait_all", respectively. ++ * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. ++ * libgomp.texi (acc_wait, acc_wait_all): Update. ++ * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. ++ * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. ++ * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. ++ ++ * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to ++ acc_present_or_copyin and acc_present_or_create procedures, ++ respectively. ++ * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and ++ generally different variants of OpenACC Runtime Library functions. ++ * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. ++ ++ * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. ++ * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. ++ ++ * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead ++ of preprocessor definitions. ++ * libgomp.h (strong_alias): Guard by "#ifdef ++ HAVE_ATTRIBUTE_ALIAS". ++ * oacc-mem.c: Provide "acc_pcreate" as alias for ++ "acc_present_or_create", and "acc_pcopyin" as alias for ++ "acc_present_or_copyin". ++ * libgomp.map: New version "OACC_2.0.1". ++ (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". ++ * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging ++ its content into... ++ * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. ++ Extend testing. ++ ++ * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output ++ when disabling nvptx offloading. ++ ++2017-05-23 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. ++ * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. ++ ++ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. ++ * testsuite/lib/libgomp.exp ++ (check_effective_target_openacc_nvidia_accel_configured): New ++ proc. ++ * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) ++ (check_effective_target_c++): New procs. ++ * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) ++ (check_effective_target_c++): Likewise. +=20 +- Backported from mainline +- 2017-05-22 Jakub Jelinek ++2017-05-22 Jakub Jelinek +=20 + PR middle-end/80809 + * testsuite/libgomp.c/pr80809-2.c: New test. +@@ -172,9 +4445,20 @@ + PR middle-end/80853 + * testsuite/libgomp.c/pr80853.c: New test. +=20 +-2017-05-02 Release Manager ++2017-05-19 Thomas Schwinge ++ ++ * testsuite/libgomp.oacc-c++/template-reduction.C: Update. ++ * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. ++ * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. ++ * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. ++ ++ * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): ++ Debug output for failure. ++ ++2017-05-12 Rainer Orth +=20 +- * GCC 7.1.0 released. ++ * testsuite/lib/libgomp.exp: Load scanlang.exp. +=20 + 2017-04-27 Jakub Jelinek +=20 +@@ -184,9 +4468,6 @@ +=20 + 2017-04-20 Alexander Monakov +=20 +- Backport from mainline +- 2017-04-20 Alexander Monakov +- + * testsuite/libgomp.c/target-36.c: New testcase. +=20 + 2017-04-13 Jakub Jelinek +@@ -431,7 +4712,7 @@ + * config/nvptx/affinity.c: Delete to use fallback implementation. +=20 + 2016-11-23 Alexander Monakov +- Jakub Jelinek ++ Jakub Jelinek + Dmitry Melnik +=20 + * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. +@@ -533,7 +4814,7 @@ + * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. +=20 + 2016-11-23 Martin Liska +- Martin Jambor ++ Martin Jambor +=20 + * plugin/hsa.h: New file. + * plugin/hsa_ext_finalize.h: New file. +@@ -583,7 +4864,7 @@ + * testsuite/Makefile.in: Likewise. +=20 + 2016-11-15 Martin Jambor +- Alexander Monakov ++ Alexander Monakov +=20 + * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add + mapping clauses to target constructs. +@@ -973,7 +5254,7 @@ +=20 + 2016-05-16 Martin Jambor +=20 +- * testsuite/libgomp.hsa.c/complex-align-2.c: New test. ++ * testsuite/libgomp.hsa.c/complex-align-2.c: New test. +=20 + 2016-05-02 Nathan Sidwell +=20 +@@ -2639,7 +6920,7 @@ + * libgomp_g.h (GOACC_parallel): Remove. + (GOACC_parallel_keyed): Declare. + * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. +- (stuct targ_gn_descriptor): Replace name field with launch field. ++ (struct targ_gn_descriptor): Replace name field with launch field. + (nvptx_exec): Lose separate geometry args, take array. Process + dynamic dimensions and adjust. + (struct nvptx_tdata): Replace fn_names field with fn_descs. +@@ -2660,7 +6941,7 @@ + 2015-09-08 Aditya Kumar + Sebastian Pop +=20 +- * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to ++ * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to + match o/p. + * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. + * testsuite/libgomp.graphite/force-parallel-4.c: Same. +@@ -2937,7 +7218,7 @@ + * target.c (struct offload_image_descr): Constify target_data. + (gomp_offload_image_to_device): Likewise. + (GOMP_offload_register): Likewise. +- (GOMP_offload_unrefister): Likewise. ++ (GOMP_offload_unregister): Likewise. + * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, + GOMP_OFFLOAD_unload_image): Constify target data. + * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. +@@ -4263,7 +8544,7 @@ + 2014-12-12 Kyrylo Tkachov +=20 + * testsuite/lib/libgomp.exp: Load target-utils.exp. +- Move load of target-supportes.exp earlier. ++ Move load of target-supports.exp earlier. +=20 + 2014-12-10 Ilya Verbin +=20 +@@ -4750,7 +9031,7 @@ +=20 + 2013-12-17 Andreas Tobler +=20 +- * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace ++ * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace + alloca () with __builtin_alloca (). + * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. + * testsuite/libgomp.c/lock-3.c: Likewise. +@@ -4910,7 +9191,7 @@ + (gomp_team_end): Use gomp_managed_threads_lock instead of + gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead + of gomp_team_barrier_wait. If team->team_cancelled, call +- gomp_fini_worshare on ws chain starting at team->work_shares_to_free ++ gomp_fini_workshare on ws chain starting at team->work_shares_to_free + rather than thr->ts.work_share. + (initialize_team): Don't call gomp_sem_init here. + * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start +@@ -7381,7 +11662,7 @@ + PR libgomp/30546 + * configure.ac: Add check for makeinfo + * Makefile.am: Redefined target libgomp.info, build libgomp.info only +- if an appropiate version of makeinfo is found. ++ if an appropriate version of makeinfo is found. + * aclocal.m4: Regenerated. + * configure: Regenerated. + * Makefile.in: Regenerated. +@@ -8285,7 +12566,7 @@ +=20 + * configure.ac: Determine whether -pthread or -lpthread is needed. + * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. +- * Makefine.in, configure: Rebuild. ++ * Makefile.in, configure: Rebuild. +=20 + 2005-09-28 Richard Henderson +=20 +@@ -8717,7 +12998,7 @@ +=20 + Initial implementation and checkin. + +-Copyright (C) 2005-2017 Free Software Foundation, Inc. ++Copyright (C) 2005-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in +index 920d29d1c4c..9deafc4e0ce 100644 +--- a/libgomp/Makefile.in ++++ b/libgomp/Makefile.in +@@ -101,6 +101,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4= \ + $(top_srcdir)/../config/lthostflags.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libgomp/aclocal.m4 b/libgomp/aclocal.m4 +index a1f51f27651..c244c2549e5 100644 +--- a/libgomp/aclocal.m4 ++++ b/libgomp/aclocal.m4 +@@ -998,6 +998,7 @@ m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) + m4_include([../config/tls.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libgomp/configure b/libgomp/configure +index 06166c66120..6b3beae0f63 100755 +--- a/libgomp/configure ++++ b/libgomp/configure +@@ -782,6 +782,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1455,6 +1456,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -3338,6 +3342,22 @@ fi + ac_config_commands=3D"$ac_config_commands default-1" +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3353,7 +3373,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -11155,7 +11182,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11158 "configure" ++#line 11185 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11261,7 +11288,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11264 "configure" ++#line 11295 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libgomp/configure.ac b/libgomp/configure.ac +index a42d4f08b4b..a3500d71480 100644 +--- a/libgomp/configure.ac ++++ b/libgomp/configure.ac +@@ -65,6 +65,8 @@ target_alias=3D${target_alias-$host_alias} + AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-overr= ide]) + AM_ENABLE_MULTILIB(, ..) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -80,7 +82,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libgomp/testsuite/Makefile.in b/libgomp/testsuite/Makefile.in +index 6edb7ae7ade..0492e7788ab 100644 +--- a/libgomp/testsuite/Makefile.in ++++ b/libgomp/testsuite/Makefile.in +@@ -63,6 +63,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lthostflags.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libhsail-rt/ChangeLog b/libhsail-rt/ChangeLog +index 4976473f831..5f32d42e9d7 100644 +--- a/libhsail-rt/ChangeLog ++++ b/libhsail-rt/ChangeLog +@@ -1,30 +1,66 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * configure.ac: Remove AC_PREREQ. ++ * Makefile.in, aclocal.m4, configure: Regenerate. +=20 +-2018-12-06 Release Manager ++2018-05-04 Pekka J=C3=A4=C3=A4skel=C3=A4inen +=20 +- * GCC 7.4.0 released. ++ * include/internal/phsa-rt.h: Whitespace cleanup. ++ * include/internal/workitems.h: Store work item ID data to easily ++ accessible locations. ++ * rt/workitems.c: Same. +=20 +-2018-06-22 Jakub Jelinek ++2018-05-04 Pekka J=C3=A4=C3=A4skel=C3=A4inen +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ * rt/workitems.c: Fix an alloca stack underflow. ++ ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.3.0 released. ++ Update copyright years. ++ ++2017-09-27 Pekka J=C3=A4=C3=A4skel=C3=A4inen ++ ++ * include/internal/phsa-rt.h: Support for improved group segment ++ handling with a stack-like allocation scheme. ++ * include/internal/workitems.h: Likewise. ++ * rt/workitems.c: Likewise. +=20 +-2017-08-14 Release Manager ++2017-09-25 Pekka J=C3=A4=C3=A4skel=C3=A4inen +=20 +- * GCC 7.2.0 released. ++ * rt/workitems.c: Assume the host runtime allocates the work group ++ memory. +=20 +-2017-05-02 Release Manager ++2017-05-03 Pekka J=C3=A4=C3=A4skel=C3=A4inen +=20 +- * GCC 7.1.0 released. ++ * rt/workitems.c: Removed a leftover comment. ++ * rt/arithmetic.c (__hsail_class_f32, __hsail_class_f64): Fix the ++ check for signaling/non-signalling NaN. Add class_f64 default ++ implementation. +=20 + 2017-02-01 Jakub Jelinek +=20 +@@ -108,7 +144,7 @@ + * rt/segment.c: Likewise. + * rt/workitems.c: Likewise. + +-Copyright (C) 2017 Free Software Foundation, Inc. ++Copyright (C) 2017-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libhsail-rt/Makefile.in b/libhsail-rt/Makefile.in +index 528cdb0b423..0b6596b79bc 100644 +--- a/libhsail-rt/Makefile.in ++++ b/libhsail-rt/Makefile.in +@@ -106,6 +106,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4= \ + $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac +diff --git a/libhsail-rt/aclocal.m4 b/libhsail-rt/aclocal.m4 +index 505744c695a..05de587bda2 100644 +--- a/libhsail-rt/aclocal.m4 ++++ b/libhsail-rt/aclocal.m4 +@@ -992,6 +992,7 @@ m4_include([../config/acx.m4]) + m4_include([../config/depstand.m4]) + m4_include([../config/lead-dot.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../libtool.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) +diff --git a/libhsail-rt/configure b/libhsail-rt/configure +index a4fcc10c1f9..1b4f2a953d0 100755 +--- a/libhsail-rt/configure ++++ b/libhsail-rt/configure +@@ -737,6 +737,7 @@ enable_option_checking + enable_maintainer_mode + enable_dependency_tracking + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1395,6 +1396,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -4418,6 +4422,22 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_version_specific= _runtime_libs" >&5 + $as_echo "$enable_version_specific_runtime_libs" >&6; } +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -4433,7 +4453,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -10973,7 +11000,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10976 "configure" ++#line 11003 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11079,7 +11106,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11082 "configure" ++#line 11113 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libhsail-rt/configure.ac b/libhsail-rt/configure.ac +index ed7e3041994..88afd5b56d6 100644 +--- a/libhsail-rt/configure.ac ++++ b/libhsail-rt/configure.ac +@@ -70,6 +70,8 @@ ler-specific directory]), + [enable_version_specific_runtime_libs=3Dno]) + AC_MSG_RESULT($enable_version_specific_runtime_libs) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -85,7 +87,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libitm/ChangeLog b/libitm/ChangeLog +index 414361ba337..feccd160330 100644 +--- a/libitm/ChangeLog ++++ b/libitm/ChangeLog +@@ -1,47 +1,179 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * testsuite/Makefile.in: Regenerate. +=20 +-2019-09-28 Oleg Endo ++2020-01-01 Jakub Jelinek +=20 +- Backport from mainline +- 2018-08-03 Sergei Trofimovich ++ Update copyright years. +=20 +- PR target/86712 +- * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid +- absolute relocation in a shared library. ++ * libitm.texi: Bump @copying's copyright year. +=20 +-2018-12-13 Peter Bergner ++2019-12-03 Szabolcs Nagy ++ ++ PR libgomp/91938 ++ * configure.tgt: Avoid IE tls on *-*-musl*. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-09-10 Christophe Lyon ++ ++ * config/arm/sjlj.S (ldaddr): Add FDPIC support. ++ ++2019-09-10 Christophe Lyon ++ ++ * configure.tgt: Handle *-*-uclinux*. ++ * configure: Regenerate. +=20 +- Backport from mainline +- 2018-12-13 Peter Bergner ++2019-09-06 Florian Weimer ++ ++ * configure: Regenerate. ++ ++2019-09-03 Chung-Lin Tang ++ ++ PR other/79543 ++ * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version ++ scanning to conform to the GNU Coding Standards. ++ * configure: Regenerate. ++ ++2019-05-03 Jakub Jelinek ++ ++ * Makefile.am (finclude): Remove. ++ * Makefile.in: Regenerated. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-01-01 Jakub Jelinek ++ ++ * libitm.texi: Bump @copying's copyright year. ++ ++2018-12-16 Jakub Jelinek ++ ++ PR c++/88482 ++ * eh_cpp.cc (__cxa_throw): Change DEST argument type from ++ void * to void (*) (void *). ++ (_ITM_cxa_throw): Likewise. ++ * libitm.h (_ITM_cxa_throw): Likewise. ++ * libitm.texi (_ITM_cxa_throw): Likewise. ++ ++2018-12-13 Peter Bergner +=20 + * config/powerpc/target.h (htm_available): Add support for + PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available. +=20 +-2018-12-06 Release Manager ++2018-10-31 Joseph Myers +=20 +- * GCC 7.4.0 released. ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ (AUTOMAKE_OPTIONS): Add info-in-builddir. ++ (CLEANFILES): Remove libitm.info. ++ * configure.ac: Remove AC_PREREQ. ++ * testsuite/Makefile.am (RUNTEST): Remove quotes. ++ * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: ++ Regenerate. +=20 +-2018-06-22 Jakub Jelinek ++2018-10-30 Nicholas Krause +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ PR libitm/86293 ++ * method-serial.cc: Mark varible as potentially unused ++ to silence warning. ++ ++2018-08-03 Sergei Trofimovich ++ ++ * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid ++ absolute relocation in a shared library. ++ ++2018-06-12 H.J. Lu ++ ++ PR libitm/85988 ++ * config/linux/x86/tls.h (SEG_READ): Use the offset of ++ __private_tm as base. ++ (SEG_WRITE): Likewise. ++ (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32. ++ (gtm_thr): Replace SEG_READ(10) with SEG_READ(0). ++ (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0). ++ (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1). ++ (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with ++ ++2018-05-17 Jason Merrill ++ ++ * beginend.cc (save): Disable -Werror=3Ddeprecated-copy. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libitm.exp: Include scanltranstree.exp. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libitm.exp: Include scanwpaipa.exp. ++ ++2018-04-24 H.J. Lu ++ ++ * config/x86/sjlj.S (_ITM_beginTransaction): Add ++ (__CET__ & 2) !=3D 0 check for shadow stack. ++ (GTM_longjmp): Likewise. ++ ++2018-04-24 H.J. Lu ++ ++ * configure: Regenerated. ++ ++2018-04-23 H.J. Lu ++ ++ PR target/85489 ++ * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. ++ ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist ++ ++ PR target/84148 ++ * configure: Regenerate. ++ ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.3.0 released. ++ Update copyright years. ++ ++ * libitm.texi: Bump @copying's copyright year. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * Makefile.in: Regenerate. ++ * acinclude.m4: Add enable.m4 and cet.m4. ++ * config/x86/sjlj.S: Include cet.h. ++ (_ITM_beginTransaction): Add _CET_ENDBR. ++ Save Shadow Stack pointer. ++ (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer. ++ * config/x86/target.h (struct gtm_jmpbuf): ++ Add new field for Shadow Stack pointer. ++ * configure: Regenerate. ++ * configure.ac: Set CET_FLAGS. Update XCFLAGS. ++ * configure.ac: Update libtool_VERSION for x86. ++ * testsuite/Makefile.in: Regenerate. +=20 +-2017-08-14 Release Manager ++2017-11-17 Igor Tsimbalist +=20 +- * GCC 7.2.0 released. ++ * libitm/config/x86/target.h: Add new field (ssp). ++ * libitm/config/x86/sjlj.S: Change offsets. +=20 +-2017-05-02 Release Manager ++2017-05-12 Rainer Orth +=20 +- * GCC 7.1.0 released. ++ * testsuite/lib/libitm.exp: Load scanlang.exp. +=20 + 2017-04-03 Jonathan Wakely +=20 +@@ -2081,7 +2213,7 @@ +=20 + * Initial commit. + +-Copyright (C) 2008-2017 Free Software Foundation, Inc. ++Copyright (C) 2008-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libitm/Makefile.in b/libitm/Makefile.in +index bd16ce0cfb8..851c6b37f0b 100644 +--- a/libitm/Makefile.in ++++ b/libitm/Makefile.in +@@ -74,6 +74,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/tls.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/weakref.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ +diff --git a/libitm/aclocal.m4 b/libitm/aclocal.m4 +index 26de26b7808..3b67780342a 100644 +--- a/libitm/aclocal.m4 ++++ b/libitm/aclocal.m4 +@@ -1022,6 +1022,7 @@ m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) + m4_include([../config/tls.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../config/weakref.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) +diff --git a/libitm/configure b/libitm/configure +index 96c494d4a3f..ed47fab3c83 100644 +--- a/libitm/configure ++++ b/libitm/configure +@@ -766,6 +766,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1430,6 +1431,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -3371,6 +3375,22 @@ fi + ac_config_commands=3D"$ac_config_commands default-1" +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3386,7 +3406,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -11794,7 +11821,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11797 "configure" ++#line 11824 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11900,7 +11927,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11903 "configure" ++#line 11934 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libitm/configure.ac b/libitm/configure.ac +index c5ecd394a43..ebd888fbd42 100644 +--- a/libitm/configure.ac ++++ b/libitm/configure.ac +@@ -79,6 +79,8 @@ target_alias=3D${target_alias-$host_alias} + AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-overr= ide]) + AM_ENABLE_MULTILIB(, ..) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -94,7 +96,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libitm/testsuite/Makefile.in b/libitm/testsuite/Makefile.in +index eb9e992279d..88d2120c156 100644 +--- a/libitm/testsuite/Makefile.in ++++ b/libitm/testsuite/Makefile.in +@@ -66,6 +66,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/tls.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/weakref.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ +diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog +index 67485568728..db7fce7df17 100644 +--- a/libobjc/ChangeLog ++++ b/libobjc/ChangeLog +@@ -1,30 +1,102 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'. ++ * aclocal.m4: Include `toolexeclibdir.m4'. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * configure: Regenerate. ++ ++2020-01-01 Andrew Pinski ++ ++ PR libobjc/93099 ++ * objc/objc-decls.h (objc_EXPORT): Define it to ++ extern for DLL_EXPORT define case. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-11-26 Tobias Burnus ++ ++ * Makefile.in (aclocal_deps): Fix path to cet.m4. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-04-23 Ramana Radhakrishnan ++ Bernd Edlinger ++ Jakub Jelinek ++ ++ PR target/89093 ++ * exception.c (PERSONALITY_FUNCTION): Add general-regs-only target ++ attribute for ARM. ++ ++2019-03-06 Uro=C5=A1 Bizjak ++ ++ * encoding.c (DFmode): #undef before #define. ++ ++2019-01-09 Sandra Loosemore ++ ++ PR other/16615 ++ * objc/runtime.h: Change "can not" to "cannot". ++ ++2019-01-09 Sandra Loosemore ++ ++ PR other/16615 ++ ++ * class.c: Mechanically replace "can not" with "cannot". ++ * objc/runtime.h: Likewise. ++ * sendmsg.c: Likewise. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * configure.ac: Remove AC_PREREQ. ++ * aclocal.m4, config.h.in, configure: Regenerate. ++ ++2018-04-24 H.J. Lu +=20 +-2018-12-06 Release Manager ++ * configure: Regenerated. +=20 +- * GCC 7.4.0 released. ++2018-04-19 Jakub Jelinek +=20 +-2018-06-22 Jakub Jelinek ++ * configure: Regenerated. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist ++ ++ PR target/84148 ++ * configure: Regenerate. ++ ++2018-01-03 Jakub Jelinek ++ ++ Update copyright years. ++ ++2017-11-23 Tom de Vries +=20 +- * GCC 7.3.0 released. ++ * class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)". +=20 +-2017-08-14 Release Manager ++2017-11-17 Igor Tsimbalist +=20 +- * GCC 7.2.0 released. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Likeiwse. ++ * configure: Likewise. ++ * configure.ac: Set CET_FLAGS. Update XCFLAGS. +=20 +-2017-05-02 Release Manager ++2017-08-30 Richard Sandiford ++ Alan Hayward ++ David Sherwood +=20 +- * GCC 7.1.0 released. ++ * encoding.c (_darwin_rs6000_special_round_type_align): Prefix mode ++ names with E_ in case statements. +=20 + 2017-02-07 Richard Biener +=20 +@@ -35,11 +107,11 @@ +=20 + 2017-01-18 Matthias Klose +=20 +- PR libobjc/78697 ++ PR libobjc/78697 + * configure.ac: Allow default for --with-target-bdw-gc-include. + * configure: Regenerate. +=20 +- PR libobjc/78698 ++ PR libobjc/78698 + * configure.ac: Use the libgc.la file when available. + * configure: Regenerate. +=20 +@@ -282,7 +354,7 @@ + clang which seems to emit calls to it. +=20 + 2011-10-08 Richard Frith-Macdonald +- Nicola Pero ++ Nicola Pero +=20 + PR libobjc/50428 + * sendmsg.c (__objc_send_initialize): If a class does not have an +@@ -307,7 +379,7 @@ + 2011-08-06 Nicola Pero +=20 + * class.c (class_getSuperclass): Fixed typo in comment. +-=09 ++ + 2011-08-06 Nicola Pero +=20 + PR libobjc/49882 +@@ -333,7 +405,7 @@ +=20 + * objc/README: Updated. + * objc-private/selector.h: Updated comments. +-=09 ++ + 2011-06-07 Nicola Pero +=20 + * sendmsg.c (class_get_instance_method): Removed. +@@ -395,7 +467,7 @@ + * objc/deprecated/struct_objc_protocol_list.h: Removed. + * objc/deprecated/struct_objc_category.h: Removed. + * objc/deprecated/MetaClass.h: Removed. +- * objc/deprecated/objc_msg_sendv.h: Removed.=20=20 ++ * objc/deprecated/objc_msg_sendv.h: Removed. + * objc/deprecated/README: Removed. + * objc/deprecated/struct_objc_class.h: Removed. + * objc/deprecated/struct_objc_protocol.h: Removed. +@@ -441,16 +513,16 @@ + (arglist_t, retval_t): New. (class_get_class_method): Take a + 'Class', not 'MetaClass', argument. + * thr.c: Include module-abi-8.h. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Removed struct_objc_static_instances.h + and objc_get_uninstalled_dtable.h. + * objc/deprecated/struct_objc_static_instances.h: Removed. +- * objc/deprecated/objc_get_uninstalled_dtable.h: Removed.=09 ++ * objc/deprecated/objc_get_uninstalled_dtable.h: Removed. + * objc/objc-api.h: Do not include deprecated/objc_static_instances.h + and deprecated/objc_get_uninstalled_dtable.h. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Removed objc_object_alloc.h. +@@ -460,13 +532,13 @@ + _objc_object_copy): Removed. + * libobjc.def (__objc_object_alloc, __objc_object_copy, + __objc_object_dispose): Removed. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Removed METHOD_NULL.h. + * objc/objc-api.h: Do not include deprecated/METHOD_NULL.h. + * objc/deprecated/METHOD_NULL.h: Removed. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Removed objc_valloc.h, +@@ -483,15 +555,15 @@ + (objc_exception_throw): Do not check for + _objc_unexpected_exception. + * memory.c (objc_valloc, _objc_malloc, _objc_atomic_malloc, +- _objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed.=09 ++ _objc_valloc, _objc_realloc, _objc_calloc, _objc_free): Removed. + * libobjc.def (_objc_unexpected_exception, objc_valloc): Removed. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * objc/objc.h: Do not include deprecated/STR.h. + * objc/deprecated/STR.h: Removed. + * Makefile.in (OBJC_DEPRECATED_H): removed STR.h. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_H): Removed hash.h and sarray.h. +@@ -517,7 +589,7 @@ + * Object.m ([-forward::]): Removed. + * objc/deprecated/Object.h ([-forward::]): Removed. + * sendmsg.c (__objc_forward): Updated comments. +-=09 ++ + 2011-06-03 Nicola Pero +=20 + * Makefile.in (OBJC_H): Removed objc-list.h. +@@ -558,7 +630,7 @@ + objc_write_types, objc_write_unsigned_char, + objc_write_unsigned_int, objc_write_unsigned_long, + objc_write_unsigned_short): Removed. +-=09 ++ + 2011-06-02 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Removed objc_error.h. +@@ -574,7 +646,7 @@ + * objc/deprecated/Object.h: Removed the same methods. + * sendmsg.c (__objc_forward): Do not try to invoke the "error:" + method after trying to invoke the "doesNotRecognize:" method. +-=09 ++ + 2011-05-26 Nicola Pero +=20 + * sendmsg.c: Reindented part of the file. No non-trivial changes +@@ -606,11 +678,11 @@ + new +initialize dispatch table logic. + (__objc_forward): Call get_implementation instead of get_imp. + (prepared_dtable_table): New. +- (__objc_prepare_dtable_for_class): New.=09 ++ (__objc_prepare_dtable_for_class): New. + (__objc_prepared_dtable_for_class): New. + (__objc_get_prepared_imp): New. + (__objc_install_prepared_dtable_for_class): New. +-=09 ++ + 2011-05-24 Nicola Pero +=20 + PR libobjc/48177 +@@ -627,11 +699,11 @@ + * configure: Regenerate. +=20 + 2011-02-28 Nicola Pero +-=09 ++ + * selector.c (sel_getTypedSelector): Return NULL if there are + multiple selectors with conflicting types. + * objc/runtime.h (sel_getTypedSelector): Updated documentation. +-=09 ++ + 2011-02-28 Richard Frith-Macdonald +=20 + PR libobjc/47922 +@@ -652,7 +724,7 @@ + (objc_tree_insert_class): Tidied up loop; return immediately upon + inserting a class. + (__objc_exec_class): Do not set __objc_class_tree_list. +-=09 ++ + 2010-12-24 Nicola Pero +=20 + * selector.c (sel_getTypedSelector): Return NULL if given a NULL +@@ -660,14 +732,14 @@ + (sel_registerTypedName): Same. + (sel_registerName): Same. + * objc/runtime.h: Updated documentation. +-=09 ++ + 2010-12-24 Nicola Pero +=20 + * objc/runtime.h (class_addIvar): Updated documentation. The + alignment is actually the log_2 of the alignment in bytes. + * ivars.c (class_addIvar): Corresponding change to the + implementation. +-=09 ++ + 2010-12-24 Nicola Pero +=20 + * objc/runtime.h (sel_getType): Renamed to sel_getTypeEncoding to +@@ -677,7 +749,7 @@ + * selector.c (sel_getType): Renamed to sel_getTypeEncoding. + (sel_copyTypedSelectorList, sel_getTypedSelector): New. + (sel_get_type): Updated call to sel_getType. +-=09 ++ + 2010-12-24 Nicola Pero +=20 + * objc/runtime.h (class_conformsToProtocol, +@@ -697,7 +769,7 @@ + (__objc_update_dispatch_table_for_class): Added DEBUG_PRINTFs for + tracking updates of dispatch tables. + (__objc_install_dispatch_table_for_class): Same. +-=09 ++ + 2010-12-23 Rainer Orth +=20 + * Makefile.in (libobjc$(libsuffix).la): Link with -Wc,-shared-libgcc. +@@ -747,14 +819,14 @@ + * objc-private/runtime.h (__objc_add_class_to_hash): Updated + declaration. +=20 +-2010-12-21 Nicola Pero =09 ++2010-12-21 Nicola Pero +=20 + * init.c (_objc_load_callback): Initialize with 0. + (__objc_call_callback): Renamed to __objc_call_load_callback. + Check _objc_load_callback only once, and if it is not set, return + immediately. + (objc_send_load): Updated call to __objc_call_callback. +-=09 ++ + 2010-12-21 Nicola Pero +=20 + PR libobjc/16110 +@@ -766,14 +838,14 @@ + (__objc_create_classes_tree): Add the class of any claimed + category that was loaded in the module to the list of classes for + which we try to execute +load. +-=09 ++ + 2010-12-21 Nicola Pero +=20 + * objc-private/common.h: When DEBUG is defined, include . + Updated comments. + * init.c (__objc_tree_insert_class): Use %p, not %x, when printing + a pointer using DEBUG_PRINTF. +-=09 ++ + 2010-12-21 Nicola Pero +=20 + PR libobjc/45953 +@@ -794,17 +866,17 @@ + __sel_register_typed_name. + * selector.c (__objc_register_selectors_from_module): New. + (__sel_register_typed_name): Made static. +-=09 ++ + 2010-12-21 Nicola Pero +=20 + * linking.m: Do not include objc/NXConstStr.h. +=20 + 2010-12-21 Nicola Pero +-=09 ++ + * objc-private/runtime.h (DEBUG_PRINTF): Moved from here ... + * objc-private/common.h (DEBUG_PRINTF): To here. + * hash.c: Do not include objc-private/runtime.h and objc/thr.h. +-=09 ++ + 2010-12-21 Nicola Pero +=20 + * hash.c: Tidied up comments and indentation. No code changes. +@@ -829,7 +901,7 @@ + (__objc_print_dtable_stats): Removed. + (__sel_register_typed_name): Removed. + * sendmsg.c (__objc_print_dtable_stats): Use 'void' as argument. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * init.c (__objc_exec_class): Call __objc_resolve_class_links (), +@@ -843,7 +915,7 @@ +=20 + * objc/message.h: Updated comments. + * objc/runtime.h: Updated comments. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * class.c (objc_lookupClass): Renamed to objc_lookUpClass. +@@ -859,7 +931,7 @@ + * objc/runtime.h (class_ivar_set_gcinvisible): Declare. + * sendmsg.c (_CLS_IN_CONSTRUCTION, CLS_IS_IN_CONSTRUCTION): Do not + define. Updated comments. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * objc/encoding.h: Updated comments. +@@ -878,13 +950,13 @@ + (objc_layout_structure_next_member): Same. + (objc_layout_finish_structure): Same. + (objc_layout_structure_get_info): Same. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * init.c: Updated comments. + * objc/objc-api.h: Updated comments. + * objc/runtime.h (_objc_load_callback): Declare. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * objc/Object.h: Include deprecated/typedstream.h and +@@ -901,7 +973,7 @@ + objc/deprecated/objc_msg_sendv.h instead. Tidied up comments. + * sendmsg.c: Include objc/message.h. + * thr.c: Include objc/message.h. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * objc/objc-exception.h: Include objc-decls.h. Mark all +@@ -916,14 +988,14 @@ + objc/deprecated/Protocol.h. Include objc/deprecated/Protocol.h. + * objc/deprecated/Protocol.h: New. + * Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h. +-=09 ++ + 2010-12-19 Nicola Pero +=20 + * init.c: Include objc-private/selector.h. Do not declare + __sel_register_typed_name. + * objc-private/selector.h (__sel_register_typed_name): Declare. + * selector.c: Include objc-private/selector.h. +-=09 ++ + 2010-12-18 Nicola Pero +=20 + * class.c: Tidied up comments and indentation. No code changes. +@@ -971,7 +1043,7 @@ + instead of 'Module_t'. Use 'struct objc_symtab *' instead of + 'Symtab_t'. Use objc_getClass() instead of objc_lookup_class(). + Use 'struct objc_category *' instead of 'Category_t'. +-=09 ++ + 2010-12-16 Nicola Pero +=20 + * sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h. +@@ -993,7 +1065,7 @@ +=20 + * objc/message.h (objc_super): When using the modern API, do not + define Super and Super_t, and always use 'super_class' for the +- super class field.=09 ++ super class field. + (objc_msg_lookup_super): Updated prototype to use 'struct + objc_super *' instead of 'Super_t'. + * sendmsg.c (objc_msg_lookup_super): Updated prototype to use +@@ -1010,12 +1082,12 @@ + * ivars.c (class_addIvar): Use the 'size' argument instead of + trying to calculate it using objc_sizeof_type(). + * objc/runtime.h (class_addIvar): Updated comments. +-=09 ++ + 2010-12-15 Nicola Pero +=20 + * sendmsg.c: Reindented some code and tidied up comments. No + actual code changes. +-=09 ++ + 2010-12-14 Nicola Pero +=20 + * objc/Object.h: Moved all the methods, with the exception of +@@ -1039,7 +1111,7 @@ + (__objc_register_instance_methods_to_class): Use struct + objc_method_list * instead of MethodList_t and Method instead of + Method_t. +-=09 ++ + 2010-12-14 Nicola Pero +=20 + * selector.c: Reindented some code and tidied up comments. No +@@ -1059,19 +1131,19 @@ + (get_imp): Call __objc_resolve_class_method or + __objc_resolve_instance_method at the appropriate time. + (objc_msg_lookup): Same. +- (class_getClassMethod): Same.=09 ++ (class_getClassMethod): Same. + (class_getInstanceMethod): Same. + (__objc_init_dispatch_tables): Initialize + selector_resolveClassMethod and selector_resolveInstanceMethod. + * objc/runtime.h: Updated documentation of class_getClassMethod, + class_getInstanceMethod and class_getMethodImplementation. +-=09 ++ + 2010-12-11 Nicola Pero +=20 + * objc-private/module-abi-8.h (struct objc_symtab): Updated + description of sel_ref_cnt and refs. + * objc/deprecated/struct_objc_symtab.h (objc_symtab): Same change. +-=09 ++ + 2010-12-06 Dave Korn +=20 + PR target/40125 +@@ -1081,7 +1153,7 @@ + * aclocal.m4: Regenerate. + * configure: Regenerate. +=20 +-2010-12-03 Matthias Klose =20 ++2010-12-03 Matthias Klose +=20 + * configure.ac (VERSION): Bump the version to 3:0:0. + * configure: Regenerate. +@@ -1091,7 +1163,7 @@ + * sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to + pass nil as the receiver since we don't know the receiver at this + point. +-=09 ++ + 2010-11-18 Nicola Pero +=20 + * ivars.c: Include stdlib.h. +@@ -1153,7 +1225,7 @@ + * class.c (class_getSuperclass): Call __objc_resolve_class_links + if the class is not resolved yet. + * ivars.c (class_getInstanceVariable): Use class_getSuperclass. +-=09 ++ + 2010-10-16 Nicola Pero +=20 + * objc/runtime.h (class_getIvarLayout): New. +@@ -1163,10 +1235,10 @@ + * ivars.c (class_getIvarLayout): New. + (class_getWeakIvarLayout): New. + (class_setIvarLayout): New. +- (class_setWeakIvarLayout): New.=09 ++ (class_setWeakIvarLayout): New. +=20 + 2010-10-15 Nicola Pero +-=09 ++ + * objc/runtime.h (class_copyPropertyList): New. + (class_getProperty): New. + (property_getAttributes): New. +@@ -1175,7 +1247,7 @@ + (class_getProperty): New. + (property_getAttributes): New. + (property_getName): New. +-=09 ++ + 2010-10-15 Nicola Pero +=20 + * objc-private/runtime.h (__objc_update_classes_with_methods): New. +@@ -1185,7 +1257,7 @@ + (method_setImplementation): New. + * objc/runtime.h (method_setImplementation): New. + (method_exchangeImplementations): New. +-=09 ++ + 2010-10-15 Nicola Pero +=20 + * Protocol.m: Include objc/runtime.h and +@@ -1201,7 +1273,7 @@ + to compare selectors directly instead of getting names and then + using strcmp. + * objc/Protocol.h: Updated comments. +-=09 ++ + 2010-10-15 Nicola Pero +=20 + * init.c (__objc_init_protocol): New function which fixes up a +@@ -1222,7 +1294,7 @@ + * protocols.c (protocol_getMethodDescription): Same change. + * objc/runtime.h: Updated comments. + (sel_registerTypedName): Fixed typo in function name. +-=09 ++ + 2010-10-13 Nicola Pero +=20 + PR libobjc/23214 +@@ -1249,7 +1321,7 @@ + (method_getReturnType): New. + (method_getArgumentType): New. + (method_getDescription): New. +-=09 ++ + 2010-10-12 Nicola Pero +=20 + * encoding.c: Tidied up comments. +@@ -1266,8 +1338,8 @@ + there is no offset: check that the first offset digit is actually + a digit before skipping it. + (objc_skip_type_qualifiers): Mark as inline. +- (objc_skip_typespec): Mark as inline.=09 +-=09 ++ (objc_skip_typespec): Mark as inline. ++ + 2010-10-12 Nicola Pero +=20 + * Makefile.in (C_SOURCE_FILES): Added methods.c. +@@ -1298,7 +1370,7 @@ + (method_getTypeEncoding): New. + (class_copyMethodList): New. + (method_getNumberOfArguments): New. +-=09 ++ + 2010-10-12 Nicola Pero +=20 + * class.c: Include objc/runtime.h and objc-private/module-abi-8.h +@@ -1362,7 +1434,7 @@ + * sarray.c: Include objc/runtime.h instead of objc/objc-api.h. Do + not include objc/objc.h. + * selector.c: Do not include objc/objc.h. +- * sendmsg.c: Do not include objc/objc.h.=09 ++ * sendmsg.c: Do not include objc/objc.h. + * thr.c: Include objc/runtime.h instead of objc/objc-api.h. + Do not include objc/objc.h. + * objc/objc-decls.h: Reindented code. +@@ -1373,7 +1445,7 @@ + (objc_realloc): New. + (objc_free): New. + * objc-private/runtime.h: Updated comments. +-=09 ++ + 2010-10-12 Nicola Pero +=20 + * Makefile.in (C_SOURCE_FILES): Added protocols.c. +@@ -1406,7 +1478,7 @@ + (protocol_copyProtocolList): New. + * class.c (class_getName): New. + * selector.c (sel_isEqual): New. +-=09 ++ + 2010-10-12 Nicola Pero +=20 + * selector.c (sel_getName): Return "" for a NULL +@@ -1418,7 +1490,7 @@ + removed. + (module_hash_table): Same. + * objc/deprecated/hash.h: Same changes. +-=09 ++ + 2010-10-11 Nicola Pero +=20 + * class.c (objc_getClassList): New. +@@ -1442,7 +1514,7 @@ + * objc-private/runtime.h: Use __objc_private_runtime_INCLUDE_GNU + instead of __objc_runtime_INCLUDE_GNU as include guard. + * objc-private/error.h (_objc_abort): Mark as noreturn. +-=09 ++ + 2010-10-11 Nicola Pero +=20 + * Makefile.in (C_SOURCE_FILES): Added ivars.c. +@@ -1456,14 +1528,14 @@ + (object_getInstanceVariable): New. + (object_setInstanceVariable): New. + (object_getIvar): New. +- (object_setIvar): New.=09 ++ (object_setIvar): New. + (ivar_getName): New. + (ivar_getOffset): New. + (ivar_getTypeEncoding): New. + * objc-private/module-abi-8.h (struct objc_class): Added. + * objects.c (object_getClassName): New. + (object_setClass): New. +-=09 ++ + 2010-10-11 Nicola Pero +=20 + * objc/objc.h: Updated comments. +@@ -1508,7 +1580,7 @@ + (sel_register_typed_name): Call sel_registerTypedName. + (sel_getUid): New. + (sel_get_uid): Call sel_getUid. +-=09 ++ + 2010-10-10 Nicola Pero +=20 + * objc/objc-api.h: Define Method, Method_t, Category and +@@ -1532,7 +1604,7 @@ + objc_layout_structure_next_member, objc_layout_finish_structure, + objc_layout_structure_get_info. Prevent including this file at + the same time as objc/objc-api.h. +-=09 ++ + 2010-10-10 Nicola Pero +=20 + * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h, +@@ -1596,7 +1668,7 @@ + (OBJC_H): Added runtime.h + * objc-foreach.c: New file. + * objc/runtime.h: New file. +-=09 ++ + 2010-09-30 Kai Tietz +=20 + * objc/deprecated/struct_objc_class.h: Add padding +@@ -1605,13 +1677,13 @@ + 2010-09-26 Nicola Pero +=20 + * encoding.c (objc_sizeof_type): Added support for vector type and +- for double long types.=09 ++ for double long types. + (objc_alignof_type): Same change. + (objc_skip_typespec): Same change. + * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE + instead of '!' since '!' is already used for _C_VECTOR. + * objc/objc-api.h (_C_LNG_DBL): Added. +-=09 ++ + 2010-09-26 Nicola Pero +=20 + * libobjc_entry.c: File removed. +@@ -1655,14 +1727,14 @@ + objc/sarray.h. + * sendmsg.c: Include . Include objc-private/sarray.h + instead of objc/sarray.h. +- * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.=09 ++ * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h. +=20 + 2010-09-17 Nicola Pero +=20 + * objc-private/objc-list.h (list_remove_elem): Unused function + removed. (list_nth): Unused function removed. (list_find): + Unused function removed. (list_lenght): Unused function removed. +-=09 ++ + 2010-09-17 Nicola Pero +=20 + * objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h +@@ -1700,7 +1772,7 @@ + * acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4. + * configure: Regenerated. + * config.h.in: Regenerated. +-=09 ++ + 2010-09-12 Nicola Pero +=20 + * Makefile.in (%_gc.lo): New pattern rules to build the +@@ -1712,16 +1784,16 @@ + (INCLUDES): Removed the unused include -I$(srcdir)/objc. +=20 + 2010-09-12 Nicola Pero +-=09 ++ + * memory.c (objc_calloc): Fixed call to GC_malloc when building + with Garbage Colletion. +-=09 ++ + 2010-09-12 Nicola Pero +=20 + * memory.c: Do not include objc-private/runtime.h. +=20 + 2010-09-12 Nicola Pero +-=09 ++ + * objc/deprecated/objc_malloc.h: New file. + * objc/deprecated/objc_valloc.h: New file. + * objc/objc-api.h: Include the files instead of defining +@@ -1732,8 +1804,8 @@ + and similar. + (objc_calloc): Use GC_malloc in the garbage-collected + implementation as GC_malloc returns memory that is already freed. +- (objc_valloc): Deprecated.=09 +-=09 ++ (objc_valloc): Deprecated. ++ + 2010-09-12 Nicola Pero +=20 + * objc/deprecated/objc_error.h: New file. +@@ -1760,7 +1832,7 @@ + (misc_gc.lo): Rule removed. + (error_gc.lo): Rule added. + (memory_gc.lo): Rule added. +-=09 ++ + 2010-09-12 Nicola Pero +=20 + * objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way +@@ -1820,7 +1892,7 @@ + * selector.c: Same change. + * sendmsg.c: Same change. + * thr.c: Same change. +-=09 ++ + 2010-09-11 Nicola Pero +=20 + * objc/deprecated/struct_objc_selector.h: New file. Definition of +@@ -1831,7 +1903,7 @@ + 'struct objc_class' moved here. + * objc/deprecated/MetaClass.h: New file. Definition of MetClass + moved here. +- * objc/deprecated/STR.h: New file. Definition of STR moved here.=09 ++ * objc/deprecated/STR.h: New file. Definition of STR moved here. + * objc/message.h: New file. Definitions for relval_t, apply_t, + arglist, arglist_t and objc_msg_lookup were moved here. + * objc/objc.h: Include the above files instead of defining the +@@ -1848,7 +1920,7 @@ + * objc/objc-exception.h: Updated comments. + * Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header + files. Reindented list of files. +-=09 ++ + 2010-09-10 Nicola Pero +=20 + * objc/objc-api.h (objc_trace): Unused variable removed. +@@ -1862,7 +1934,7 @@ + objc/typedstream.h replaced with a placeholder including the file + from the deprecated/ directory. + * objc/deprecated/objc-unexpected-exception.h: New file with the +- definition of _objc_unexpected_exception.=09 ++ definition of _objc_unexpected_exception. + * objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h + instead of defining _objc_unexpected_exception. + * objc/deprecated/Object.h: New file with the deprecated Object +@@ -1879,7 +1951,7 @@ + 2010-09-10 Nicola Pero +=20 + * objc/objc-exception.h: Fixed include of objc.h. +-=09 ++ + 2010-09-08 Nicola Pero +=20 + * objc/objc-exception.h: New file. +@@ -1944,7 +2016,7 @@ + 2010-09-06 Nicola Pero +=20 + * makefile.dos: Obsolete file removed. +-=09 ++ + 2010-04-02 Ralf Wildenhues +=20 + * aclocal.m4: Regenerate. +@@ -2064,7 +2136,7 @@ + copyright dates. + * libobjc.def (_objc_unexpected_exception): Export hook. + Update copyright dates. +-=09 ++ + 2009-03-01 Ralf Wildenhues +=20 + * configure: Regenerate. +@@ -2086,18 +2158,18 @@ + for noreturn. +=20 + 2008-09-26 Peter O'Gorman +- Steve Ellcey ++ Steve Ellcey +=20 + * configure: Regenerate for new libtool. + * config.h.in: Regenerate for new libtool. +=20 +-2008-07-18 Matthias Klose =20 ++2008-07-18 Matthias Klose +=20 +- * Makefile.in: Ignore missing ../boehm-gc/threads.mk.=20 ++ * Makefile.in: Ignore missing ../boehm-gc/threads.mk. +=20 +-2008-07-18 Matthias Klose =20 ++2008-07-18 Matthias Klose +=20 +- * Makefile.in: Include ../boehm-gc/threads.mk.=20 ++ * Makefile.in: Include ../boehm-gc/threads.mk. + (OBJC_BOEHM_GC_LIBS): Define, (libobjc_gc$(libsuffix).la): Use it. +=20 + 2008-07-06 Ralf Wildenhues +@@ -2225,7 +2297,7 @@ +=20 + * objc/objc-list.h (list_free): Add keyword 'inline' to avoid + unused warning. +-=09 ++ + 2006-10-31 Geoffrey Keating +=20 + * encoding.c (darwin_rs6000_special_round_type_align): New. +@@ -2284,7 +2356,7 @@ + PR libobjc/14382 + * README (+load,+initialize): Fix documentation to reflect + intended and implemented semantics for +load and +initialize. +-=09 ++ + 2005-12-12 Andrew Pinski +=20 + * encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and +@@ -2334,7 +2406,7 @@ + global scope. +=20 + 2005-09-04 Andrew Pinski +- Rasmus Hahn ++ Rasmus Hahn +=20 + PR libobjc/23108 + * archive.c (objc_write_type): Correct the element offset. +@@ -2345,7 +2417,7 @@ + * All files: Update FSF address. +=20 + 2005-08-13 Marcin Koziej +- Andrew Pinski ++ Andrew Pinski +=20 + PR libobjc/22492 + * exception.c (PERSONALITY_FUNCTION): Fix the PC with finally. +@@ -2369,7 +2441,7 @@ +=20 + * objc/NXConstStr.h, objc/Object.h, objc/Protocol.h, + objc/encoding.h, objc/hash.h, objc/objc-api.h, +- objc/runtime.h, objc/sarray.h, objc/thr.h,=20 ++ objc/runtime.h, objc/sarray.h, objc/thr.h, + objc/typedstream.h: Do not include Objective-C headers as + system headers. +=20 +@@ -3495,7 +3567,7 @@ Mon Sep 21 23:27:10 1998 Ovidiu Predescu +=20 + * New directory. Moved files from ../gcc/objc. + +-Copyright (C) 1998-2017 Free Software Foundation, Inc. ++Copyright (C) 1998-2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in +index febc92d4b3c..1a12ebec592 100644 +--- a/libobjc/Makefile.in ++++ b/libobjc/Makefile.in +@@ -291,6 +291,7 @@ aclocal_deps =3D \ + $(srcdir)/../config/multi.m4 \ + $(srcdir)/../config/override.m4 \ + $(srcdir)/../config/proginstall.m4 \ ++ $(srcdir)/../config/toolexeclibdir.m4 \ + $(srcdir)/../ltoptions.m4 \ + $(srcdir)/../ltsugar.m4 \ + $(srcdir)/../ltversion.m4 \ +diff --git a/libobjc/aclocal.m4 b/libobjc/aclocal.m4 +index 174f9b7d0d8..58e4dfce6b6 100644 +--- a/libobjc/aclocal.m4 ++++ b/libobjc/aclocal.m4 +@@ -204,4 +204,5 @@ m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) + m4_include([../lt~obsolete.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([acinclude.m4]) +diff --git a/libobjc/configure b/libobjc/configure +index 84862a82864..b766980e0a5 100755 +--- a/libobjc/configure ++++ b/libobjc/configure +@@ -714,6 +714,7 @@ with_target_subdir + with_cross_host + enable_version_specific_runtime_libs + enable_multilib ++with_toolexeclibdir + enable_maintainer_mode + enable_shared + enable_static +@@ -1368,6 +1369,9 @@ Optional Packages: + --with-target-subdir=3DSUBDIR + configuring in a subdirectory + --with-cross-host=3DHOST configuring with a cross compiler ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -2461,6 +2465,22 @@ case $srcdir in + esac +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -2476,7 +2496,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_noncanonical)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_noncanonical)' + toolexeclibdir=3D'$(libdir)' +@@ -10594,7 +10621,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10597 "configure" ++#line 10628 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -10700,7 +10727,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10703 "configure" ++#line 10738 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libobjc/configure.ac b/libobjc/configure.ac +index c6d48f787ae..79c31562e97 100644 +--- a/libobjc/configure.ac ++++ b/libobjc/configure.ac +@@ -77,6 +77,8 @@ case $srcdir in + esac + AC_SUBST(glibcpp_srcdir) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -92,7 +94,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_noncanonical)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_noncanonical)' + toolexeclibdir=3D'$(libdir)' +diff --git a/liboffloadmic/ChangeLog b/liboffloadmic/ChangeLog +index afe01993539..2c3cfffef2d 100644 +--- a/liboffloadmic/ChangeLog ++++ b/liboffloadmic/ChangeLog +@@ -1,31 +1,64 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * plugin/configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * plugin/Makefile.in: Regenerate. ++ * plugin/aclocal.m4: Regenerate. ++ * plugin/configure: Regenerate. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. +=20 +-2018-12-06 Release Manager ++2020-01-10 Thomas Schwinge +=20 +- * GCC 7.4.0 released. ++ * plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_property): ++ Remove. +=20 +-2018-06-22 Jakub Jelinek ++2019-12-22 Maciej W. Rozycki ++ Frederik Harwath ++ Thomas Schwinge +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ liboffloadmic/ ++ * plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_property): ++ New function. ++ ++2019-10-01 Maciej W. Rozycki ++ ++ * plugin/configure: Regenerate. ++ ++2019-09-27 Maciej W. Rozycki +=20 +- PR jit/85384 + * configure: Regenerate. +- * plugin/confugure: Regenerate. +=20 +-2018-01-25 Release Manager ++2019-01-09 Sandra Loosemore +=20 +- * GCC 7.3.0 released. ++ PR other/16615 +=20 +-2017-08-14 Release Manager ++ * include/coi/common/COIResult_common.h: Mechanically replace ++ "can not" with "cannot". ++ * include/coi/source/COIBuffer_source.h: Likewise. ++ ++2018-12-14 Thomas Schwinge ++ ++ * runtime/offload.h (omp_target_is_present, omp_target_memcpy) ++ (omp_target_memcpy_rect, omp_target_associate_ptr) ++ (omp_target_disassociate_ptr): Adjust to libgomp changes. +=20 +- * GCC 7.2.0 released. ++2018-10-31 Joseph Myers +=20 +-2017-05-02 Release Manager ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ * configure.ac: Remove AC_PREREQ. ++ * plugin/Makefile.am: Include multilib.am. ++ * plugin/configure.ac: Remove AC_PREREQ. ++ * Makefile.in, aclocal.m4, configure, plugin/Makefile.in, ++ plugin/aclocal.m4, plugin/configure: Regenerate. +=20 +- * GCC 7.1.0 released. ++2018-04-18 David Malcolm ++ ++ PR jit/85384 ++ * configure: Regenerate. ++ * plugin/configure: Regenerate. +=20 + 2017-01-31 Thomas Schwinge +=20 +@@ -666,7 +699,7 @@ + * runtime/orsl-lite/version.txt: Ditto. + * runtime/use_mpss2.txt: Ditto. + +-Copyright (C) 2014-2017 Free Software Foundation, Inc. ++Copyright (C) 2014-2018 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/liboffloadmic/Makefile.in b/liboffloadmic/Makefile.in +index f4470c6e4d4..d42745a49e0 100644 +--- a/liboffloadmic/Makefile.in ++++ b/liboffloadmic/Makefile.in +@@ -94,6 +94,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac +diff --git a/liboffloadmic/aclocal.m4 b/liboffloadmic/aclocal.m4 +index 4bb1d43a5e5..c62ed26f6b1 100644 +--- a/liboffloadmic/aclocal.m4 ++++ b/liboffloadmic/aclocal.m4 +@@ -993,6 +993,7 @@ m4_include([../config/depstand.m4]) + m4_include([../config/lead-dot.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../libtool.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) +diff --git a/liboffloadmic/configure b/liboffloadmic/configure +index f873716991b..6dfe9e37642 100644 +--- a/liboffloadmic/configure ++++ b/liboffloadmic/configure +@@ -739,6 +739,7 @@ enable_maintainer_mode + enable_dependency_tracking + enable_multilib + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1397,6 +1398,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -5003,6 +5007,22 @@ else + fi +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -5018,7 +5038,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -11108,7 +11135,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11111 "configure" ++#line 11138 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11214,7 +11241,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11217 "configure" ++#line 11248 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/liboffloadmic/configure.ac b/liboffloadmic/configure.ac +index 64728f1a1a7..14efcdd3290 100644 +--- a/liboffloadmic/configure.ac ++++ b/liboffloadmic/configure.ac +@@ -80,6 +80,8 @@ case "$enable_liboffloadmic" in + esac + AM_CONDITIONAL(LIBOFFLOADMIC_HOST, [test x"$enable_liboffloadmic" =3D xho= st]) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -95,7 +97,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/liboffloadmic/plugin/Makefile.in b/liboffloadmic/plugin/Makef= ile.in +index 2a7c8d2ec6c..6e180f6a23c 100644 +--- a/liboffloadmic/plugin/Makefile.in ++++ b/liboffloadmic/plugin/Makefile.in +@@ -90,6 +90,7 @@ DIST_COMMON =3D $(srcdir)/Makefile.in $(srcdir)/Makefile= .am \ + ACLOCAL_M4 =3D $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps =3D $(top_srcdir)/../../config/acx.m4 \ + $(top_srcdir)/../../config/depstand.m4 \ ++ $(top_srcdir)/../../config/toolexeclibdir.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/multi.m4 \ + $(top_srcdir)/../../config/override.m4 \ +diff --git a/liboffloadmic/plugin/aclocal.m4 b/liboffloadmic/plugin/acloca= l.m4 +index a4179ef40ac..6d90e5d6e16 100644 +--- a/liboffloadmic/plugin/aclocal.m4 ++++ b/liboffloadmic/plugin/aclocal.m4 +@@ -990,6 +990,7 @@ AC_SUBST([am__untar]) +=20 + m4_include([../../config/acx.m4]) + m4_include([../../config/depstand.m4]) ++m4_include([../../config/toolexeclibdir.m4]) + m4_include([../../config/lead-dot.m4]) + m4_include([../../config/multi.m4]) + m4_include([../../config/override.m4]) +diff --git a/liboffloadmic/plugin/configure b/liboffloadmic/plugin/configu= re +index c031eb3e7fa..570758344b4 100644 +--- a/liboffloadmic/plugin/configure ++++ b/liboffloadmic/plugin/configure +@@ -735,6 +735,7 @@ enable_maintainer_mode + enable_dependency_tracking + enable_multilib + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1394,6 +1395,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -4311,6 +4315,22 @@ fi + $as_echo "$enable_version_specific_runtime_libs" >&6; } +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -4326,7 +4346,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -10815,7 +10842,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10818 "configure" ++#line 10845 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -10921,7 +10948,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10924 "configure" ++#line 10955 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/liboffloadmic/plugin/configure.ac b/liboffloadmic/plugin/conf= igure.ac +index 9c48cafd38b..fdac290c5f1 100644 +--- a/liboffloadmic/plugin/configure.ac ++++ b/liboffloadmic/plugin/configure.ac +@@ -96,6 +96,8 @@ AC_ARG_ENABLE([version-specific-runtime-libs], + AC_MSG_RESULT($enable_version_specific_runtime_libs) +=20 +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -111,7 +113,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog +index aac13bda194..0b1db14d8d6 100644 +--- a/libquadmath/ChangeLog ++++ b/libquadmath/ChangeLog +@@ -1,35 +1,223 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++ * libquadmath.texi: Bump @copying's copyright year. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-08-02 Jakub Jelinek ++ ++ * quadmath.h (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, ++ M_PI_2q, M_PI_4q, M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, ++ M_SQRT1_2q): Use two more decimal places. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++ * libquadmath.texi: Bump @copying's copyright year. +=20 +-2018-12-06 Release Manager ++2018-12-11 Jakub Jelinek +=20 +- * GCC 7.4.0 released. ++ PR c/88430 ++ * quadmath_weak.h (__qmath2): Add __quadmath_throw. +=20 +-2018-06-22 Jakub Jelinek ++2018-11-07 Joseph Myers +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ * quadmath-imp.h (ieee854_float128): Use mantissa0, mantissa1, ++ mantissa2 and mantissa3 fields instead of mant_high and mant_low. ++ Change nan field to ieee_nan. ++ * update-quadmath.py (update_sources): Also update fmaq.c. ++ * math/nanq.c (nanq): Use ieee_nan field of union. ++ Zero-initialize f. Set quiet_nan field. ++ * printf/flt1282mpn.c, printf/printf_fphex.c, strtod/mpn2flt128.c, ++ strtod/strtoflt128.c: Use mantissa0, mantissa1, mantissa2 and ++ mantissa3 fields. Use ieee_nan and quiet_nan field. ++ * math/fmaq.c: Regenerate from glibc sources with ++ update-quadmath.py. ++ ++2018-11-05 Joseph Myers ++ ++ PR libquadmath/68686 ++ * Makefile.am: (libquadmath_la_SOURCES): Remove math/isinf_nsq.c. ++ Add math/exp2q.c math/issignalingq.c math/lgammaq_neg.c ++ math/lgammaq_product.c math/tanq_kernel.c math/tgammaq_product.c ++ math/casinhq_kernel.c. ++ * Makefile.in: Regenerate. ++ * libquadmath.texi (exp2q, issignalingq): Document. ++ * quadmath-imp.h: Include , , and ++ . ++ (HIGH_ORDER_BIT_IS_SET_FOR_SNAN, FIX_FLT128_LONG_CONVERT_OVERFLOW) ++ (FIX_FLT128_LLONG_CONVERT_OVERFLOW, __quadmath_kernel_tanq) ++ (__quadmath_gamma_productq, __quadmath_gammaq_r) ++ (__quadmath_lgamma_negq, __quadmath_lgamma_productq) ++ (__quadmath_lgammaq_r, __quadmath_kernel_casinhq, mul_splitq) ++ (math_check_force_underflow_complex, __glibc_likely) ++ (__glibc_unlikely, struct rm_ctx, SET_RESTORE_ROUNDF128) ++ (libc_feholdsetround_ctx, libc_feresetround_ctx): New. ++ (feraiseexcept, fenv_t, feholdexcept, fesetround, feupdateenv) ++ (fesetenv, fetestexcept, feclearexcept): Define if not supported ++ through . ++ (__quadmath_isinf_nsq): Remove. ++ * quadmath.h (exp2q, issignalingq): New. ++ * quadmath.map (QUADMATH_1.2): New. ++ * quadmath_weak.h (exp2q, issignalingq): New. ++ * update-quadmath.py: New file. ++ * math/isinf_nsq.c: Remove file. ++ * math/casinhq_kernel.c, math/exp2q.c, math/expq_table.h, ++ math/issignalingq.c, math/lgammaq_neg.c, math/lgammaq_product.c, ++ math/tanq_kernel.c, math/tgammaq_product.c: New files. Generated ++ from glibc sources with update-quadmath.py. ++ * math/acoshq.c, math/acosq.c, math/asinhq.c, math/asinq.c, ++ math/atan2q.c, math/atanhq.c, math/atanq.c, math/cacoshq.c, ++ math/cacosq.c, math/casinhq.c, math/casinq.c, math/catanhq.c, ++ math/catanq.c, math/cbrtq.c, math/ccoshq.c, math/ceilq.c, ++ math/cexpq.c, math/cimagq.c, math/clog10q.c, math/clogq.c, ++ math/conjq.c, math/copysignq.c, math/coshq.c, math/cosq.c, ++ math/cosq_kernel.c, math/cprojq.c, math/crealq.c, math/csinhq.c, ++ math/csinq.c, math/csqrtq.c, math/ctanhq.c, math/ctanq.c, ++ math/erfq.c, math/expm1q.c, math/expq.c, math/fabsq.c, ++ math/fdimq.c, math/finiteq.c, math/floorq.c, math/fmaxq.c, ++ math/fminq.c, math/fmodq.c, math/frexpq.c, math/hypotq.c, ++ math/ilogbq.c, math/isinfq.c, math/isnanq.c, math/j0q.c, ++ math/j1q.c, math/jnq.c, math/ldexpq.c, math/lgammaq.c, ++ math/llrintq.c, math/llroundq.c, math/log10q.c, math/log1pq.c, ++ math/log2q.c, math/logbq.c, math/logq.c, math/lrintq.c, ++ math/lroundq.c, math/modfq.c, math/nearbyintq.c, ++ math/nextafterq.c, math/powq.c, math/remainderq.c, math/remquoq.c, ++ math/rintq.c, math/roundq.c, math/scalblnq.c, math/scalbnq.c, ++ math/signbitq.c, math/sincos_table.c, math/sincosq.c, ++ math/sincosq_kernel.c, math/sinhq.c, math/sinq.c, ++ math/sinq_kernel.c, math/tanhq.c, math/tanq.c, math/tgammaq.c, ++ math/truncq.c, math/x2y2m1q.c: Regenerate from glibc sources with ++ update-quadmath.py. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ (AUTOMAKE_OPTIONS): Remove 1.8. Add info-in-builddir. ++ (all-local): Define outside conditional code. ++ (CLEANFILES): Remove libquadmath.info. ++ * configure.ac: Remove AC_PREREQ. ++ * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. ++ ++2018-04-24 H.J. Lu ++ ++ * configure: Regenerated. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. ++ ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist +=20 +- * GCC 7.3.0 released. ++ PR target/84148 ++ * configure: Regenerate. +=20 +-2017-08-14 Release Manager ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.2.0 released. ++ * libquadmath.texi: Bump @copying's copyright year. +=20 +-2017-07-20 Jakub Jelinek ++2017-11-17 Igor Tsimbalist +=20 +- PR libquadmath/65757 +- * math/roundq.c: Cherry-pick upstream glibc 2015-04-28 change. ++ * Makefile.am: Update AM_CFLAGS. ++ * Makefile.in: Regenerate: ++ * acinclude.m4: Add enable.m4 and cet.m4. ++ * configure: Regenerate. ++ * configure.ac: Set CET_FLAGS. Update XCFLAGS. ++ ++2017-11-05 Tom de Vries ++ ++ PR other/82784 ++ * printf/gmp-impl.h (MPN_MUL_N_RECURSE): Remove semicolon after ++ "do {} while (0)". +=20 +-2017-05-02 Release Manager ++2017-09-01 Michael Meissner ++ ++ PR libquadmath/81848 ++ * configure.ac (powerpc*-linux*): Use attribute mode KC to create ++ complex __float128 on PowerPC instead of attribute mode TC. ++ * quadmath.h (__complex128): Likewise. ++ * configure: Regenerate. ++ * math/cbrtq.c (CBRT2): Use __float128 not long double. ++ (CBRT4): Likewise. ++ (CBRT2I): Likewise. ++ (CBRT4I): Likewise. ++ * math/j0q.c (U0): Likewise. ++ * math/sqrtq.c (sqrtq): Don't depend on implicit conversion ++ between __float128, instead explicitly convert the __float128 ++ value to long double because the PowerPC does not allow __float128 ++ and long double in the same expression. +=20 +- * GCC 7.1.0 released. ++2017-07-19 Gerald Pfeifer ++ ++ * math/powq.c (powq): Use uint32_t instead of u_int32_t. ++ ++2017-07-19 Jakub Jelinek ++ ++ PR libquadmath/65757 ++ * quadmath-imp.h (math_opt_barrier, math_force_eval, ++ math_narrow_eval, math_check_force_underflow, ++ math_check_force_underflow_nonneg): Define. ++ * math/ceilq.c: Backport changes from upstream glibc ++ between 2012-11-01 and 2017-07-13. ++ * math/remquoq.c: Likewise. ++ * math/expq.c: Likewise. ++ * math/llroundq.c: Likewise. ++ * math/logq.c: Likewise. ++ * math/atanq.c: Likewise. ++ * math/nearbyintq.c: Likewise. ++ * math/scalblnq.c: Likewise. ++ * math/finiteq.c: Likewise. ++ * math/atanhq.c: Likewise. ++ * math/expm1q.c: Likewise. ++ * math/sinhq.c: Likewise. ++ * math/log10q.c: Likewise. ++ * math/rintq.c: Likewise. ++ * math/roundq.c: Likewise. ++ * math/fmaq.c: Likewise. ++ * math/erfq.c: Likewise. ++ * math/log2q.c: Likewise. ++ * math/lroundq.c: Likewise. ++ * math/j1q.c: Likewise. ++ * math/scalbnq.c: Likewise. ++ * math/truncq.c: Likewise. ++ * math/frexpq.c: Likewise. ++ * math/sincosq.c: Likewise. ++ * math/tanhq.c: Likewise. ++ * math/asinq.c: Likewise. ++ * math/coshq.c: Likewise. ++ * math/j0q.c: Likewise. ++ * math/asinhq.c: Likewise. ++ * math/floorq.c: Likewise. ++ * math/sinq_kernel.c: Likewise. ++ * math/powq.c: Likewise. ++ * math/hypotq.c: Likewise. ++ * math/sincos_table.c: Likewise. ++ * math/rem_pio2q.c: Likewise. ++ * math/nextafterq.c: Likewise. ++ * math/log1pq.c: Likewise. ++ * math/sincosq_kernel.c: Likewise. ++ * math/tanq.c: Likewise. ++ * math/acosq.c: Likewise. ++ * math/lrintq.c: Likewise. ++ * math/llrintq.c: Likewise. +=20 + 2017-02-09 Gerald Pfeifer +=20 +@@ -796,7 +984,7 @@ + PR fortran/32049 + Initial implementation and checkin. + +-Copyright (C) 2010-2017 Free Software Foundation, Inc. ++Copyright (C) 2010-2018 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libquadmath/Makefile.in b/libquadmath/Makefile.in +index 428e0158aca..e5c7aba84b7 100644 +--- a/libquadmath/Makefile.in ++++ b/libquadmath/Makefile.in +@@ -67,6 +67,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libquadmath/aclocal.m4 b/libquadmath/aclocal.m4 +index b9ebb8a9ed4..59009468a47 100644 +--- a/libquadmath/aclocal.m4 ++++ b/libquadmath/aclocal.m4 +@@ -1030,6 +1030,7 @@ m4_include([../config/lthostflags.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/no-executables.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libquadmath/configure b/libquadmath/configure +index 76a2c20b7e1..e887071aeb2 100755 +--- a/libquadmath/configure ++++ b/libquadmath/configure +@@ -749,6 +749,7 @@ enable_fast_install + with_gnu_ld + enable_libtool_lock + enable_maintainer_mode ++with_toolexeclibdir + enable_symvers + enable_generated_files_in_srcdir + with_gcc_major_version_only +@@ -1408,6 +1409,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths +=20 +@@ -10572,7 +10576,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10575 "configure" ++#line 10579 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -10678,7 +10682,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10681 "configure" ++#line 10689 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11917,6 +11921,22 @@ ac_link=3D'$CC -o conftest$ac_exeext $CFLAGS $CPP= FLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=3D$ac_cv_c_compiler_gnu +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -11932,7 +11952,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac +index 41fbe1259ee..e27aa8d0389 100644 +--- a/libquadmath/configure.ac ++++ b/libquadmath/configure.ac +@@ -83,6 +83,8 @@ if test "x$GCC" !=3D "xyes"; then + fi + AC_PROG_CPP +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -98,7 +100,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog +index 019919d2908..16b45a48b6f 100644 +--- a/libsanitizer/ChangeLog ++++ b/libsanitizer/ChangeLog +@@ -1,41 +1,428 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * asan/Makefile.in: Regenerate. ++ * interception/Makefile.in: Regenerate. ++ * libbacktrace/Makefile.in: Regenerate. ++ * lsan/Makefile.in: Regenerate. ++ * sanitizer_common/Makefile.in: Regenerate. ++ * tsan/Makefile.in: Regenerate. ++ * ubsan/Makefile.in: Regenerate. +=20 +-2018-12-06 Release Manager ++2019-11-26 Jakub Jelinek +=20 +- * GCC 7.4.0 released. ++ PR sanitizer/92154 ++ * sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick ++ llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce. ++ * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise. +=20 +-2018-08-16 Martin Liska ++2019-11-20 Martin Liska +=20 +- Backport from mainline +- 2018-08-02 Martin Liska ++ * libtool-version: Remove. ++ * lsan/libtool-version: Upate comment to not mention libmudflap. ++ * tsan/libtool-version: Likewise. ++ * ubsan/libtool-version: Likewise. +=20 +- PR sanitizer/86022 +- * sanitizer_common/sanitizer_linux_libcdep.cc (ThreadDescriptorSize): +- Cherry-pick compiler-rt revision 338606. ++2019-11-13 Andreas Schwab +=20 +-2018-06-22 Jakub Jelinek ++ * configure.tgt (riscv64-*-linux*): Enable build. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2019-11-07 Martin Liska ++ ++ * all source files: Reapply all revisions mentioned in LOCAL_PATCHES. ++ ++2019-11-07 Martin Liska ++ ++ * merge.sh: Update to use llvm-project git repository. ++ * all source files: Merge from upstream ++ 82588e05cc32bb30807e480abd4e689b0dee132a. ++ ++2019-11-05 Martin Liska ++ ++ * ubsan/ubsan_flags.cpp (InitializeFlags): Trunk decided to print ++ summary for all sanitizers, but we want to have UBSAN without it. ++ ++2019-11-05 Martin Liska ++ ++ * asan/asan_globals.cpp (CheckODRViolationViaIndicator): Reapply from ++ LOCAL_PATCHES. ++ (CheckODRViolationViaPoisoning): Likewise. ++ (RegisterGlobal): Likewise. ++ * asan/asan_interceptors.h (ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTI= ON): Likewise. ++ (defined): Likewise. ++ * asan/asan_mapping.h: Likewise. ++ * sanitizer_common/sanitizer_linux_libcdep.cpp (defined): Likewise. ++ * sanitizer_common/sanitizer_mac.cpp (defined): Likewise. ++ * sanitizer_common/sanitizer_platform_limits_linux.cpp (defined): Likewi= se. ++ * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. ++ * sanitizer_common/sanitizer_stacktrace.cpp (GetCanonicFrame): Likewise. ++ * tsan/tsan_rtl_ppc64.S: Likewise. ++ * ubsan/ubsan_handlers.cpp (__ubsan::__ubsan_handle_cfi_bad_icall): Like= wise. ++ (__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise. ++ * ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise. ++ (struct CFICheckFailData): Likewise. ++ (RECOVERABLE): Likewise. ++ * ubsan/ubsan_platform.h: Likewise. ++ ++2019-11-05 Martin Liska ++ ++ * tsan/Makefile.am: Rename tsan_interceptors.cpp to ++ tsan_interceptors_posix. ++ * tsan/Makefile.in: Regenerate. ++ ++2019-11-05 Martin Liska ++ ++ * all source files: Merge from upstream r375507. ++ ++2019-10-22 Tamar Christina ++ ++ PR sanitizer/92154 ++ * sanitizer_common/sanitizer_platform_limits_posix.cpp: ++ Cherry-pick compiler-rt revision r375220. ++ ++2019-09-27 Maciej W. Rozycki +=20 +- PR jit/85384 + * configure: Regenerate. +=20 +-2018-06-07 Richard Biener ++2019-09-10 Christophe Lyon ++ Micka=C3=ABl Gu=C3=AAn=C3=A9 +=20 +- Backport from mainline +- 2018-03-19 Jakub Jelinek ++ * configure.tgt (arm*-*-*fdpiceabi): Sanitizers are ++ unsupported in this configuration. +=20 +- PR sanitizer/84761 +- * sanitizer_common/sanitizer_linux_libcdep.cc (__GLIBC_PREREQ): +- Define if not defined. +- (DL_INTERNAL_FUNCTION): Don't define. +- (InitTlsSize): For __i386__ if not compiled against glibc 2.27+ +- determine at runtime whether to use regparm(3), stdcall calling +- convention for older glibcs or normal calling convention for +- newer glibcs for call to _dl_get_tls_static_info. ++2019-08-16 Iain Sandoe ++ ++ * LOCAL_PATCHES: Add r274585. ++ ++2019-08-16 Iain Sandoe ++ ++ * asan/asan_interceptors.h: Reapply r272406. ++ ++2019-08-15 Martin Liska ++ ++ * LOCAL_PATCHES: Add r274540 ++ ++2019-08-15 Martin Liska ++ ++ * tsan/tsan_rtl_ppc64.S: Reapply. ++ ++2019-08-15 Iain Sandoe ++ ++ PR bootstrap/91455 ++ * Makefile.in: Regenerated. ++ * aclocal.m4: Likewise. ++ * asan/Makefile.in: Likewise. ++ * configure: Likewise. ++ * interception/Makefile.in: Likewise. ++ * libbacktrace/Makefile.in: Likewise. ++ * lsan/Makefile.in: Likewise. ++ * sanitizer_common/Makefile.am: Include top_srcdir unconditionally. ++ * sanitizer_common/Makefile.in: Regenerated. ++ * tsan/Makefile.in: Likewise. ++ * ubsan/Makefile.in: Likewise. ++ ++2019-08-14 Martin Liska ++ ++ * LOCAL_PATCHES: Refresh based on what was committed. ++ ++2019-08-14 Martin Liska ++ ++ * asan/asan_globals.cpp (CheckODRViolationViaIndicator): Reapply ++ patch from trunk. ++ (CheckODRViolationViaPoisoning): Likewise. ++ (RegisterGlobal): Likewise. ++ * asan/asan_mapping.h: Likewise. ++ * sanitizer_common/sanitizer_linux_libcdep.cpp (defined): Likewise. ++ * sanitizer_common/sanitizer_mac.cpp (defined): Likewise. ++ * sanitizer_common/sanitizer_platform_limits_linux.cpp (defined): Likewi= se. ++ * sanitizer_common/sanitizer_platform_limits_posix.h (defined): Likewise. ++ * sanitizer_common/sanitizer_stacktrace.cpp (GetCanonicFrame): Likewise. ++ * ubsan/ubsan_handlers.cpp (__ubsan::__ubsan_handle_cfi_bad_icall): Like= wise. ++ (__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise. ++ * ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise. ++ (struct CFICheckFailData): Likewise. ++ (RECOVERABLE): Likewise. ++ * ubsan/ubsan_platform.h: Likewise. ++ ++2019-08-14 Martin Liska ++ ++ PR sanitizer/89832 ++ PR sanitizer/91325 ++ * All source files: Merge from upstream 368656. ++ ++2019-06-26 Rainer Orth ++ ++ * sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick ++ compiler-rt revision 363778. ++ ++2019-06-18 Iain Sandoe ++ ++ PR libsanitizer/87880 ++ * asan/asan_interceptors.h: ++ (ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): New. ++ * asan/Makefile.am (DEFS): Add=20 ++ ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION, defined to 0. ++ * asan/Makefile.in: Regenerated. ++ * asan/libtool-version: Bump version. ++ ++2019-05-27 Segher Boessenkool ++ ++ PR target/90639 ++ * tsan/tsan_rtl_ppc64.S: Add ".machine altivec". ++ ++2019-05-14 Rainer Orth ++ ++ * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* ++ handling. ++ * configure: Regenerate. ++ ++2019-04-08 Martin Liska ++ ++ * LOCAL_PATCHES: Add revision. ++ ++2019-04-08 Martin Liska ++ ++ PR sanitizer/89941 ++ * sanitizer_common/sanitizer_platform_limits_linux.cc (defined): ++ Reapply patch from r259664. ++ * sanitizer_common/sanitizer_platform_limits_posix.h (defined): ++ Likewise. ++ ++2019-03-13 Eric Botcazou ++ ++ PR sanitizer/80953 ++ Merge from LLVM revision 355980 ++ * asan/asan_allocator.h (kAllocatorSpace): Define for SPARC. ++ (kAllocatorSize): Likewise. ++ (DefaultSizeClassMap): Likewise. ++ * asan/asan_mapping.h (kSPARC64_ShadowOffset64): Define. ++ (SHADOW_OFFSET): Define for SPARC. ++ Include asan_mapping_sparc64.h for SPARC 64-bit. ++ * asan/asan_mapping_sparc64.h: New file. ++ ++2019-03-13 Eric Botcazou ++ ++ PR sanitizer/80953 ++ Merge from LLVM revision 355979 ++ * asan/asan_globals.c (GetGlobalsForAddress): Use internal_memcpy to ++ copy Global objects for SPARC with GCC. ++ ++2019-03-13 Eric Botcazou ++ ++ PR sanitizer/80953 ++ Merge from LLVM revision 355978 ++ * sanitizer_common/sanitizer_allocator_primary32.h ++ (class SizeClassAllocator32): Assert that kSpaceSize is power of 2 if ++ SANITIZER_SIGN_EXTENDED_ADDRESSES is set. ++ (PointerIsMine): Deal with SANITIZER_SIGN_EXTENDED_ADDRESSES. ++ (ComputeRegionId): Likewise. ++ * sanitizer_common/sanitizer_linux.cc (GetMaxVirtualAddress): Return ++ appropriate value for SPARC 64-bit. ++ * sanitizer_common/sanitizer_platform.h (SANITIZER_MMAP_RANGE_SIZE): ++ Define for SPARC. ++ (SANITIZER_SIGN_EXTENDED_ADDRESSES): Define to 1 for SPARC 64-bit. ++ ++2019-03-13 Eric Botcazou ++ ++ PR sanitizer/80953 ++ Merge from LLVM revision 355965 ++ * sanitizer_common/sanitizer_linux.cc (GetWriteFlag): Implement for ++ SPARC/Linux. ++ (GetPcSpBp): Likewise. ++ * sanitizer_common/sanitizer_stacktrace.cc (GetNextInstructionPc): ++ Adjust for SPARC. ++ * sanitizer_common/sanitizer_stacktrace.h (SANITIZER_CAN_FAST_UNWIND): ++ Define to 1 for SPARC. ++ * sanitizer_common/sanitizer_stacktrace_sparc.cc: Rewrite. ++ * sanitizer_common/sanitizer_unwind_linux_libcdep.cc (SlowUnwindStack): ++ Adjust the PC address for SPARC with GCC. ++ ++2019-03-06 Martin Liska ++ ++ PR sanitizer/88684 ++ * sanitizer_common/sanitizer_platform.h (defined): Cherry pick. ++ (SANITIZER_NON_UNIQUE_TYPEINFO): Likewise. ++ * ubsan/ubsan_type_hash_itanium.cc (isDerivedFromAtOffset): ++ Likewise. ++ ++2019-02-20 H.J. Lu ++ ++ PR sanitizer/89409 ++ * sanitizer_common/sanitizer_linux.cc (internal_readlink): ++ Cherry-pick compiler-rt r354451. ++ ++2019-01-23 Jonny Grant ++ ++ PR sanitizer/89010 ++ * libsanitizer/README.gcc: Update to current https URLs. ++ ++2018-12-27 Martin Liska ++ ++ PR sanitizer/86229 ++ * asan/asan_errors.cc (ErrorAllocTypeMismatch::Print): Cherry ++ pick rL350085. ++ * asan/asan_errors.h (struct ErrorAllocTypeMismatch): Likewise. ++ ++2018-11-09 Martin Liska ++ ++ * LOCAL_PATCHES: Include one local patch. ++ ++2018-11-09 Martin Liska ++ ++ PR sanitizer/87892 ++ * sanitizer_common/sanitizer_linux_libcdep.cc (defined): Return ++ 1 when CPU_COUNT macro is not defined. ++ ++2018-11-08 Bill Seurer ++ ++ * libsanitizer/sanitizer_common/sanitizer_linux.cc (CheckASLR): ++ Disable ASLR for powerpc64 when using sanitizers. ++ ++2018-11-06 Rainer Orth ++ ++ PR sanitizer/80953 ++ * configure.tgt (sparc*-*-solaris2.11*): Enable. ++ (x86_64-*-solaris2.11* | i?86-*-solaris2.11*): Enable. ++ ++2018-11-06 Rainer Orth ++ ++ PR sanitizer/80953 ++ * sanitizer_common/sanitizer_internal_defs.h, ++ sanitizer_common/sanitizer_platform_limits_solaris.h, ++ sanitizer_common/sanitizer_procmaps_solaris.cc, ++ sanitizer_common/sanitizer_solaris.cc: Cherry-pick compiler-rt ++ revision 346153. ++ * sanitizer_common/sanitizer_stacktrace.h, ++ sanitizer_common/sanitizer_stacktrace_sparc.cc: Cherry-pick ++ compiler-rt revision 346155. ++ ++2018-11-05 Segher Boessenkool ++ ++ * LOCAL_PATCHES: Add r258525. ++ * sanitizer_common/sanitizer_stacktrace.cc ++ (BufferedStackTrace::FastUnwindStack): Use the correct frame offset ++ for PowerPC SYSV ABI. ++ ++2018-11-05 Martin Liska ++ ++ PR sanitizer/87860 ++ * sanitizer_common/sanitizer_linux.cc: Cherry-pick upstream ++ r346129. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE. ++ * Makefile.in, aclocal.m4, asan/Makefile.in, configure, ++ interception/Makefile.in, libbacktrace/Makefile.in, ++ lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in, ++ ubsan/Makefile.in: Regenerate. ++ ++2018-10-31 Martin Liska ++ ++ * LOCAL_PATCHES: Update to installed revisions. ++ ++2018-10-31 Martin Liska ++ ++ * ubsan/ubsan_platform.h: Add ifndef as we define it with ++ -DCAN_SANITIZE_UB CFLAGS. ++ ++2018-10-31 Martin Liska ++ ++ * asan/asan_mapping.h: Revert shadow memory offset to 1 << 41. ++ ++2018-10-31 Martin Liska ++ ++ * LOCAL_PATCHES: Update patch list. ++ * asan/asan_globals.cc (CheckODRViolationViaIndicator): Apply ++ patches from GCC's trunk. ++ (CheckODRViolationViaPoisoning): Likewise. ++ (RegisterGlobal): Likewise. ++ * sanitizer_common/sanitizer_mac.cc (defined): Likewise. ++ * sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Likewise. ++ * ubsan/ubsan_handlers.cc (__ubsan::__ubsan_handle_cfi_bad_icall): Likew= ise. ++ (__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise. ++ * ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise. ++ (struct CFICheckFailData): Likewise. ++ (RECOVERABLE): Likewise. ++ ++2018-10-31 Martin Liska ++ ++ * config.h.in: Regenerate. ++ * configure: Likewise. ++ * sanitizer_common/Makefile.am: Include new files, remove old ++ files. ++ * sanitizer_common/Makefile.in: Regenerate. ++ * ubsan/Makefile.am: Include new files, remove old ++ files. ++ * ubsan/Makefile.in: Likewise. ++ * asan/Makefile.am: Include new files. ++ * asan/Makefile.in: Regenerate. ++ ++2018-10-31 Martin Liska ++ ++ * All source files: Merge from upstream 345033. ++ ++2018-10-31 Martin Liska ++ ++ * HOWTO_MERGE: Enhance documentation. ++ * merge.sh: Add support for git as well. ++ ++2018-08-02 Martin Liska ++ ++ PR sanitizer/86022 ++ * sanitizer_common/sanitizer_linux_libcdep.cc (ThreadDescriptorSize): ++ Cherry-pick compiler-rt revision 338606. ++ ++2018-08-01 Marek Polacek ++ ++ PR sanitizer/86759 ++ * tsan/tsan_platform.h: Cherry-pick compiler-rt revision 318044. ++ * tsan/tsan_platform_linux.cc: Cherry-pick compiler-rt revision ++ 319180. ++ ++2018-07-25 H.J. Lu ++ ++ PR target/86560 ++ * asan/asan_interceptors.cc (swapcontext) Cherry-pick ++ compiler-rt revision 337603. ++ * sanitizer_common/sanitizer_internal_defs.h (__has_attribute): ++ Likewise. ++ ++2018-07-05 Jakub Jelinek ++ ++ Revert ++ 2018-07-04 Maxim Ostapenko ++ ++ PR sanitizer/84250 ++ * Makefile.am: Reorder libs. ++ * Makefile.in: Regenerate. ++ * asan/Makefile.am: Define DCAN_SANITIZE_UB=3D1, add dependancy from ++ libsanitizer_ubsan.la. ++ * asan/Makefile.in: Regenerate. ++ * ubsan/Makefile.am: Define new libsanitizer_ubsan.la library. ++ * ubsan/Makefile.in: Regenerate. ++ ++2018-07-04 Maxim Ostapenko ++ ++ PR sanitizer/84250 ++ * Makefile.am: Reorder libs. ++ * Makefile.in: Regenerate. ++ * asan/Makefile.am: Define DCAN_SANITIZE_UB=3D1, add dependancy from ++ libsanitizer_ubsan.la. ++ * asan/Makefile.in: Regenerate. ++ * ubsan/Makefile.am: Define new libsanitizer_ubsan.la library. ++ * ubsan/Makefile.in: Regenerate. ++ ++2018-06-13 Denis Khalikov ++ ++ PR sanitizer/86090 ++ * configure.ac: Check for lstat and readlink. ++ * configure, config.h.in: Rebuild. +=20 + 2018-05-31 Matthias Klose +=20 +@@ -51,49 +438,186 @@ + (SIZEOF_STRUCT_USTAT): New. + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux. +=20 +-2018-04-24 Martin Liska ++2018-04-26 Hans-Peter Nilsson ++ ++ * configure.tgt : Enable build, excluding ++ mips*64*-*-linux*. ++ ++ * sanitizer_common/sanitizer_platform_limits_linux.cc: Do not ++ take the shortcut to #include for MIPS instead of ++ the kernel . Explain why sys/stat.h is misleading ++ or wrong to get the kernel struct stat. ++ * sanitizer_common/sanitizer_platform_limits_posix.h [__mips__]: ++ Correct the value for 32-bit non-android struct_kernel_stat_sz. +=20 +- Backport from mainline +- 2018-04-18 Bill Seurer ++ * sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM ++ && _MIPS_SIM =3D=3D _ABIO32] (lock): Add initializer for .pad member. ++ ++2018-04-24 H.J. Lu ++ ++ * configure: Regenerated. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. ++ ++2018-04-18 David Malcolm ++ ++ PR jit/85384 ++ * configure: Regenerate. ++ ++2018-04-18 Bill Seurer +=20 + PR sanitizer/85389 + * asan/asan_allocator.h (kAllocatorSpace): For __powerpc64__ change + from 0xa0000000000ULL to ~(uptr)0. +=20 +-2018-01-25 Release Manager ++2018-03-19 Jakub Jelinek +=20 +- * GCC 7.3.0 released. ++ PR sanitizer/84761 ++ * sanitizer_common/sanitizer_linux_libcdep.cc (__GLIBC_PREREQ): ++ Define if not defined. ++ (DL_INTERNAL_FUNCTION): Don't define. ++ (InitTlsSize): For __i386__ if not compiled against glibc 2.27+ ++ determine at runtime whether to use regparm(3), stdcall calling ++ convention for older glibcs or normal calling convention for ++ newer glibcs for call to _dl_get_tls_static_info. ++ ++2018-03-14 Segher Boessenkool ++ ++ * sanitizer_common/sanitizer_stacktrace.cc ++ (BufferedStackTrace::FastUnwindStack): Use the correct frame offset ++ for PowerPC SYSV ABI. ++ ++2018-02-14 Igor Tsimbalist ++ ++ PR target/84148 ++ * configure: Regenerate. ++ ++2018-02-05 Martin Liska ++ ++ * asan/asan_flags.inc: Cherry-pick upstream r323995. ++ * asan/asan_report.cc (CheckForInvalidPointerPair): ++ Cherry-pick upstream r323995. ++ ++2018-01-17 Rainer Orth ++ ++ PR sanitizer/82825 ++ * sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream ++ r324284. ++ ++2018-01-13 Rainer Orth ++ ++ PR sanitizer/82824 ++ * lsan/lsan_common_mac.cc: Cherry-pick upstream r322437. ++ ++2017-12-05 Martin Liska ++ Jakub Jelinek ++ ++ * asan/asan_descriptions.cc: Cherry-pick upstream r319668. ++ * asan/asan_descriptions.h: Likewise. ++ * asan/asan_report.cc: Likewise. ++ * asan/asan_thread.cc: Likewise. ++ * asan/asan_thread.h: Likewise. ++ ++2017-11-17 Igor Tsimbalist ++ ++ * acinclude.m4: Add enable.m4 and cet.m4. ++ * Makefile.in: Regenerate. ++ * asan/Makefile.am: Update AM_CXXFLAGS. ++ * asan/Makefile.in: Regenerate. ++ * configure: Likewise. ++ * configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS, ++ EXTRA_CXXFLAGS, EXTRA_ASFLAGS. ++ * interception/Makefile.am: Update AM_CXXFLAGS. ++ * interception/Makefile.in: Regenerate. ++ * libbacktrace/Makefile.am: Update AM_CFLAGS, AM_CXXFLAGS. ++ * libbacktrace/Makefile.in: Regenerate. ++ * lsan/Makefile.am: Update AM_CXXFLAGS. ++ * lsan/Makefile.in: Regenerate. ++ * sanitizer_common/Makefile.am: Update AM_CXXFLAGS, ++ AM_CCASFLAGS. ++ * sanitizer_common/sanitizer_linux_x86_64.S: Include cet.h. ++ Add _CET_ENDBR macro. ++ * sanitizer_common/Makefile.in: Regenerate. ++ * tsan/Makefile.am: Update AM_CXXFLAGS. ++ * tsan/Makefile.in: Regenerate. ++ * tsan/tsan_rtl_amd64.S Include cet.h. Add _CET_ENDBR macro. ++ * ubsan/Makefile.am: Update AM_CXXFLAGS. ++ * ubsan/Makefile.in: Regenerate. ++ ++2017-11-08 Jakub Jelinek ++ ++ PR bootstrap/82670 ++ * ubsan/Makefile.am (ubsan_files): Remove ubsan_init_standalone.cc ++ and ubsan_signals_standalone.cc. ++ * ubsan/Makefile.in: Regenerated. ++ ++2017-11-05 Tom de Vries ++ ++ PR other/82784 ++ * asan/asan_poisoning.cc (CHECK_SMALL_REGION): Remove semicolon after ++ "do {} while (0)". ++ * lsan/lsan_common.cc (LOG_POINTERS, LOG_THREADS): Same. +=20 + 2017-10-20 Jakub Jelinek +=20 + PR sanitizer/82595 +- * lsan/Makefile.am (lsan_files): Remove lsan_preinit.cc. ++ * lsan/lsan.h (__lsan_init): Add SANITIZER_INTERFACE_ATTRIBUTE. ++ * lsan/Makefile.am (nodist_toolexeclib_HEADERS): Add ++ liblsan_preinit.o. ++ (lsan_files): Remove lsan_preinit.cc. ++ (liblsan_preinit.o): New rule. + * lsan/Makefile.in: Regenerated. +=20 +-2017-10-05 H.J. Lu ++2017-10-19 Jakub Jelinek +=20 +- Backported from mainline +- 2017-10-05 H.J. Lu ++ * All source files: Merge from upstream 315899. ++ * asan/Makefile.am (nodist_saninclude_HEADERS): Add ++ include/sanitizer/tsan_interface.h. ++ * asan/libtool-version: Bump the libasan SONAME. ++ * lsan/Makefile.am (sanitizer_lsan_files): Add lsan_common_mac.cc. ++ (lsan_files): Add lsan_linux.cc, lsan_mac.cc and lsan_malloc_mac.cc. ++ * sanitizer_common/Makefile.am (sanitizer_common_files): Add ++ sancov_flags.cc, sanitizer_allocator_checks.cc, ++ sanitizer_coverage_libcdep_new.cc, sanitizer_errno.cc, ++ sanitizer_file.cc, sanitizer_mac_libcdep.cc and ++ sanitizer_stoptheworld_mac.cc. Remove sanitizer_coverage_libcdep.cc ++ and sanitizer_coverage_mapping_libcdep.cc. ++ * tsan/Makefile.am (tsan_files): Add tsan_external.cc. ++ * ubsan/Makefile.am (DEFS): Add -DUBSAN_CAN_USE_CXXABI=3D1. ++ (ubsan_files): Add ubsan_init_standalone.cc and ++ ubsan_signals_standalone.cc. ++ * ubsan/libtool-version: Bump the libubsan SONAME. ++ * asan/Makefile.in: Regenerate. ++ * lsan/Makefile.in: Regenerate. ++ * sanitizer_common/Makefile.in: Regenerate. ++ * tsan/Makefile.in: Regenerate. ++ * ubsan/Makefile.in: Regenerate. ++ ++2017-10-05 H.J. Lu +=20 + PR sanitizer/82379 + * configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set + to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC. +=20 +-2017-09-07 Jakub Jelinek ++2017-10-02 Jakub Jelinek +=20 +- Backported from mainline +- 2017-08-07 Jakub Jelinek ++ * libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug): ++ Define. +=20 +- * include/system/sys/ptrace.h: New file. ++2017-08-07 Jakub Jelinek +=20 +-2017-08-14 Release Manager ++ * include/system/sys/ptrace.h: New file. +=20 +- * GCC 7.2.0 released. ++2017-07-28 Jakub Jelinek +=20 +-2017-07-17 Jakub Jelinek ++ PR sanitizer/80998 ++ * ubsan/ubsan_handlers.cc: Cherry-pick upstream r304461. ++ * ubsan/ubsan_checks.inc: Likewise. ++ * ubsan/ubsan_handlers.h: Likewise. +=20 +- Backported from mainline +- 2017-07-14 Jakub Jelinek ++2017-07-14 Jakub Jelinek +=20 + PR sanitizer/81066 + * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. +@@ -101,10 +625,6 @@ + * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. + * tsan/tsan_platform_linux.cc: Likewise. +=20 +-2017-05-02 Release Manager +- +- * GCC 7.1.0 released. +- + 2017-04-06 Martin Liska +=20 + PR sanitizer/80166 +@@ -883,7 +1403,7 @@ +=20 + 2013-12-19 Kostya Serebryany +=20 +- * sanitizer_common/sanitizer_platform_limits_posix.cc: ++ * sanitizer_common/sanitizer_platform_limits_posix.cc: + workaround for missing definition of EOWNERDEAD, backport + from upstream r196779. +=20 +@@ -986,10 +1506,10 @@ + 2013-11-15 Kostya Serebryany +=20 + PR sanitizer/58994 +- Backport from upstream revision 194573 +- * asan/asan_interceptors.cc (COMMON_INTERCEPTOR_ENTER): Fall +- back to the original functions in the common libsanitizer +- interceptors and the __cxa_atexit() interceptor on Darwin. ++ Backport from upstream revision 194573 ++ * asan/asan_interceptors.cc (COMMON_INTERCEPTOR_ENTER): Fall ++ back to the original functions in the common libsanitizer ++ interceptors and the __cxa_atexit() interceptor on Darwin. +=20 + 2013-11-13 Peter Bergner +=20 +diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in +index 1f4bb8cd6bb..fb533c253ea 100644 +--- a/libsanitizer/Makefile.in ++++ b/libsanitizer/Makefile.in +@@ -71,6 +71,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/aclocal.m4 b/libsanitizer/aclocal.m4 +index 55e063530f6..f51347671e3 100644 +--- a/libsanitizer/aclocal.m4 ++++ b/libsanitizer/aclocal.m4 +@@ -1017,6 +1017,7 @@ m4_include([../config/libstdc++-raw-cxx.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libsanitizer/asan/Makefile.in b/libsanitizer/asan/Makefile.in +index 4dad60ba1ae..f079e07f0da 100644 +--- a/libsanitizer/asan/Makefile.in ++++ b/libsanitizer/asan/Makefile.in +@@ -66,6 +66,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/configure b/libsanitizer/configure +index a3a08d635f4..5f4cdcad38d 100755 +--- a/libsanitizer/configure ++++ b/libsanitizer/configure +@@ -767,6 +767,7 @@ enable_multilib + enable_version_specific_runtime_libs + enable_dependency_tracking + enable_maintainer_mode ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1425,6 +1426,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -4773,6 +4777,22 @@ fi +=20 +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -4788,7 +4808,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -12032,7 +12059,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12035 "configure" ++#line 12062 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -12138,7 +12165,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12141 "configure" ++#line 12168 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac +index b0c485b0f7b..d69d5aa1c9a 100644 +--- a/libsanitizer/configure.ac ++++ b/libsanitizer/configure.ac +@@ -30,6 +30,8 @@ GCC_LIBSTDCXX_RAW_CXX_FLAGS + AM_INIT_AUTOMAKE(foreign no-dist) + AM_MAINTAINER_MODE +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -45,7 +47,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libsanitizer/interception/Makefile.in b/libsanitizer/intercep= tion/Makefile.in +index c71fb57b8b8..ed9c996b5eb 100644 +--- a/libsanitizer/interception/Makefile.in ++++ b/libsanitizer/interception/Makefile.in +@@ -62,6 +62,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/libbacktrace/Makefile.in b/libsanitizer/libbackt= race/Makefile.in +index dff04cfa3ea..22655306594 100644 +--- a/libsanitizer/libbacktrace/Makefile.in ++++ b/libsanitizer/libbacktrace/Makefile.in +@@ -94,6 +94,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/lsan/Makefile.in b/libsanitizer/lsan/Makefile.in +index baa8367cd40..efae691d3ef 100644 +--- a/libsanitizer/lsan/Makefile.in ++++ b/libsanitizer/lsan/Makefile.in +@@ -63,6 +63,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sani= tizer_common/Makefile.in +index c375f63a380..27c8b410ef7 100644 +--- a/libsanitizer/sanitizer_common/Makefile.in ++++ b/libsanitizer/sanitizer_common/Makefile.in +@@ -68,6 +68,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/tsan/Makefile.in b/libsanitizer/tsan/Makefile.in +index 770c053e64f..a77cda3d0f3 100644 +--- a/libsanitizer/tsan/Makefile.in ++++ b/libsanitizer/tsan/Makefile.in +@@ -65,6 +65,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libsanitizer/ubsan/Makefile.in b/libsanitizer/ubsan/Makefile.= in +index 1664ce9497e..108505c3c67 100644 +--- a/libsanitizer/ubsan/Makefile.in ++++ b/libsanitizer/ubsan/Makefile.in +@@ -64,6 +64,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libssp/ChangeLog b/libssp/ChangeLog +index 39bcae0cfd1..f1ccde4e36f 100644 +--- a/libssp/ChangeLog ++++ b/libssp/ChangeLog +@@ -1,30 +1,61 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ (AUTOMAKE_OPTIONS): Remove 1.9.5. ++ * configure.ac: Remove AC_PREREQ. Quote argument to ++ AC_RUN_IFELSE. ++ * Makefile.in, aclocal.m4, configure: Regenerate. +=20 +-2018-12-06 Release Manager ++2018-04-24 H.J. Lu +=20 +- * GCC 7.4.0 released. ++ * configure: Regenerated. ++ ++2018-04-19 Jakub Jelinek +=20 +-2018-06-22 Jakub Jelinek ++ * configure: Regenerated. +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist +=20 +- * GCC 7.3.0 released. ++ PR target/84148 ++ * configure: Regenerate. +=20 +-2017-08-14 Release Manager ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.2.0 released. ++ Update copyright years. +=20 +-2017-05-02 Release Manager ++2017-11-17 Igor Tsimbalist +=20 +- * GCC 7.1.0 released. ++ * Makefile.am: Update AM_CFLAGS, update ++ libssp_nonshared_la_CFLAGS. ++ * Makefile.in: Regenerate. ++ * configure: Likewise. ++ * aclocal.m4: Likewise. ++ * configure.ac: Set CET_FLAGS. Update XCFLAGS. +=20 + 2017-04-01 Jonathan Yong <10walls@gmail.com> +=20 +@@ -248,7 +279,7 @@ + * configure: Regenerate. +=20 + 2008-09-26 Peter O'Gorman +- Steve Ellcey ++ Steve Ellcey +=20 + * configure: Regenerate for new libtool. + * Makefile.in: Ditto. +diff --git a/libssp/Makefile.in b/libssp/Makefile.in +index 96b03ae1248..c119ef3e8a2 100644 +--- a/libssp/Makefile.in ++++ b/libssp/Makefile.in +@@ -67,6 +67,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac +diff --git a/libssp/aclocal.m4 b/libssp/aclocal.m4 +index 927988e5814..46585360592 100644 +--- a/libssp/aclocal.m4 ++++ b/libssp/aclocal.m4 +@@ -995,6 +995,7 @@ m4_include([../config/lthostflags.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/no-executables.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../libtool.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) +diff --git a/libssp/configure b/libssp/configure +index ee1751d20db..3273cd40ab1 100755 +--- a/libssp/configure ++++ b/libssp/configure +@@ -743,6 +743,7 @@ with_pic + enable_fast_install + with_gnu_ld + enable_libtool_lock ++with_toolexeclibdir + with_gcc_major_version_only + ' + ac_precious_vars=3D'build_alias +@@ -1389,6 +1390,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths +=20 +@@ -10671,7 +10675,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10674 "configure" ++#line 10678 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -10777,7 +10781,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10780 "configure" ++#line 10784 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11039,6 +11043,22 @@ esac +=20 +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -11054,7 +11074,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libssp/configure.ac b/libssp/configure.ac +index 9e4a22a24d4..63538cb8f4e 100644 +--- a/libssp/configure.ac ++++ b/libssp/configure.ac +@@ -159,6 +159,8 @@ ACX_LT_HOST_FLAGS + AC_SUBST(enable_shared) + AC_SUBST(enable_static) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -174,7 +176,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog +index 10173a719f5..2e96d56c12c 100644 +--- a/libstdc++-v3/ChangeLog ++++ b/libstdc++-v3/ChangeLog +@@ -1,3753 +1,302 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. +- +-2019-10-24 Jonathan Wakely +- +- Backport from mainline +- 2019-10-18 Jonathan Wakely +- +- PR libstdc++/92143 +- * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment +- to at least sizeof(void*). +- +- Backport from mainline +- 2019-10-08 Jonathan Wakely +- +- * doc/Makefile.am (doc-html-docbook-regenerate): New target. +- (${docbook_outdir}/html): Do not create unused 'html/ext' directory. +- * doc/Makefile.in: Regenerate. +- * doc/xml/manual/documentation_hacking.xml: Document new target. +- * doc/html/*: Regenerate. +- +- * doc/xml/manual/allocator.xml: Use archived copy of CUJ article. +- +- Backport from mainline +- 2019-05-31 Gerald Pfeifer +- +- * doc/xml/manual/allocator.xml: Move hoard.org back to http. +- +-2019-09-11 Jonathan Wakely +- +- * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__): +- Fix syntax error. +- +-2019-09-02 Jonathan Wakely +- +- PR middle-end/89303 +- * testsuite/20_util/enable_shared_from_this/89303.cc: New test. +- +-2019-09-02 Jonathan Wakely +- +- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error +- with dg-prune-output for enable_if failure. +- * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add +- dg-prune-output for enable_if failure. +- +- Backport from mainline +- 2019-07-31 Jonathan Wakely +- +- PR libstdc++/91308 +- * include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove +- constraints on deleter that should only apply to the constructor. +- (unique_ptr::__safe_conversion_up): Likewise. +- (unique_ptr::unique_ptr(unique_ptr&&)): Restore +- constraints on deleter here. +- * testsuite/20_util/unique_ptr/assign/91308.cc: New test. +- +-2019-09-02 Jonathan Wakely +- +- Backport from mainline +- 2019-07-29 Jonathan Wakely +- +- PR libstdc++/51333 +- * libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define +- constructor inline. +- * libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define +- constructor. +- * testsuite/18_support/51333.cc: New test. +- +-2019-09-02 Jonathan Wakely +- +- Backport from mainline +- 2019-06-07 Jonathan Wakely +- +- PR libstdc++/90770 +- * src/Makefile.am (stamp-debug): Also test for missing makefile. +- * src/Makefile.in: Regenerate. +- +-2019-09-02 Jonathan Wakely +- +- Backport from mainline +- 2019-05-23 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Add feature test macro for +- P0040R3. +- * doc/html/*: Regenerate. +- +- Backport from mainline +- 2019-06-20 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Fix outdated reference to +- C++17 working draft. +- +- Backport from mainline +- 2019-05-21 Jonathan Wakely +- +- * doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants. +- +-2019-09-02 Jonathan Wakely +- +- Backport from mainline +- 2019-05-17 Jonathan Wakely +- +- * include/bits/random.h (seed_seq::param): Fix non-reserved name. +- * include/experimental/type_traits (is_detected_exact) +- (is_detected_exact_v): Likewise. +- * testsuite/17_intro/names.cc: Check for more non-reserved names. +- * testsuite/experimental/names.cc: New test. +- +-2019-06-26 Jonathan Wakely +- +- Backport from mainline +- 2019-05-28 Jonathan Wakely +- +- PR libstdc++/90634 +- * include/experimental/bits/fs_path.h (path::path(path&&)): Only call +- _M_split_cmpts() for a path with multiple components. +- (path::_S_is_dir_sep()): Add missing 'static' keyword to function. +- * src/filesystem/path.cc (path::_M_split_cmpts()): Count number of +- components and reserve space in vector. Return early when there is +- only one component. +- * testsuite/experimental/filesystem/path/construct/90634.cc: New test. +- +-2019-05-23 Jonathan Wakely +- +- Backport from mainline +- 2019-02-27 Jonathan Wakely +- +- PR libstdc++/89466 +- * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local +- stylesheet directories before check for xsltproc. Try to use +- xmlcatalog to find local stylesheet directory before trying hardcoded +- paths. Add path used by suse to hardcoded paths. Adjust xsltproc +- check to look for the same stylesheet as doc/Makefile.am uses. Don't +- use xsltproc if xmlcatalog fails to find a local stylesheet. +- * configure.ac: Check for xmlcatalog. +- * Makefile.in: Regenerate. +- * configure: Likewise. +- * doc/Makefile.in: Likewise. +- * include/Makefile.in: Likewise. +- * libsupc++/Makefile.in: Likewise. +- * po/Makefile.in: Likewise. +- * python/Makefile.in: Likewise. +- * src/Makefile.in: Likewise. +- * src/c++11/Makefile.in: Likewise. +- * src/c++17/Makefile.in: Likewise. +- * src/c++98/Makefile.in: Likewise. +- * src/filesystem/Makefile.in: Likewise. +- * testsuite/Makefile.in: Likewise. +- +-2019-05-23 Jonathan Wakely +- +- Backport from mainline +- 2019-01-22 Jonathan Wakely +- +- PR libstdc++/88740 +- * testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to +- write to stderr instead of using printf. +- +-2019-05-23 Jonathan Wakely +- +- Backport from mainline +- 2019-05-23 Jonathan Wakely +- +- * include/experimental/any (__any_caster): Use RTTI if comparing +- addresses fails, to support non-unique addresses in shared libraries. +- * include/std/any (__any_caster): Likewise. +- * testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error +- line number. +- +-2019-05-23 Jonathan Wakely +- +- Backport from mainline +- 2019-05-23 Jonathan Wakely +- +- PR libstdc++/90220 +- * include/experimental/any (__any_caster): Constrain to only be +- callable for object types. Use remove_cv_t instead of decay_t. +- If the type decays or isn't copy constructible, compare the manager +- function to a dummy specialization. +- (__any_caster): Add overload constrained for non-object types. +- (any::_Manager_internal<_Op>): Add dummy specialization. +- * testsuite/experimental/any/misc/any_cast.cc: Test function types +- and array types. +- +- Backport from mainline +- 2019-04-24 Jonathan Wakely +- +- PR libstdc++/90220 +- * include/std/any (__any_caster): Use remove_cv_t instead of decay_t. +- Avoid a runtime check for types that can never be stored in std::any. +- * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with +- array types. +- +- Backport from mainline +- 2019-04-24 Jonathan Wakely +- +- PR libstdc++/90220 (partial) +- * include/std/any (any_cast(any*), any_cast(const any*)): Do +- not attempt ill-formed static_cast to pointers to non-object types. +- * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with +- function types. +- +-2019-05-23 Jonathan Wakely +- +- Backported from mainline +- 2019-01-15 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2 +- status. +- * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms): +- Define. +- * include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3 +- changes are supported. +- * include/std/optional (__cpp_lib_optional): Likewise. +- * include/std/variant (__cpp_lib_variant): Likewise. +- +-2019-05-08 Jonathan Wakely +- +- Backport from mainline +- 2019-04-17 Jonathan Wakely +- +- PR libstdc++/90105 +- * include/bits/forward_list.tcc (operator=3D=3D): Do not use operator!= =3D to +- compare elements. +- (forward_list::sort(Comp)): When elements are equal take the one +- earlier in the list, so that sort is stable. +- * testsuite/23_containers/forward_list/operations/90105.cc: New test. +- * testsuite/23_containers/forward_list/comparable.cc: Test with +- types that meet the minimum EqualityComparable and LessThanComparable +- requirements. Remove irrelevant comment. +- +- Backport from mainline +- 2019-03-11 Jonathan Wakely +- +- PR libstdc++/89629 +- * libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ =3D=3D 8] (_Hash_bytes): +- Use correct type for len_aligned. +- * testsuite/20_util/hash/89629.cc: New test. +- +-2019-02-22 Jonathan Wakely +- +- PR libstdc++/89446 +- * include/bits/char_traits.h (__constant_char_array): Check index is +- in range before dereferencing. +- * testsuite/21_strings/basic_string_view/operators/char/89446.cc: +- New test. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-12-06 Iain Sandoe +- +- * scripts/make_exports.pl (check names): Don=E2=80=99t try to export +- construction vtable symbols. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-12-06 Jonathan Wakely +- Iain Sandoe +- +- PR libstdc++/64883 +- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test +- always_inline on Darwin. +- * testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise. +- * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. +- * testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise. +- * testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise. +- +-2018-12-24 Iain Sandoe +- +- Backport from mainline +- 2018-08-25 Iain Sandoe +- +- PR libstdc++/70694 +- * configure.host (OPT_LDFLAGS): Don't append +- -fvisibility-inlines-hidden for newer Darwin. +- +-2018-12-06 Release Manager +- +- * GCC 7.4.0 released. +- +-2018-11-28 Fran=C3=A7ois Dumont +- +- PR libstdc++/88199 +- * include/bits/hashtable.h +- (_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate +- former buckets after assignment. +- * testsuite/23_containers/unordered_set/allocator/move_assign.cc +- (test03): New. +- +-2018-10-31 Jonathan Wakely +- +- Backport from mainline +- 2018-10-31 Jonathan Wakely +- +- PR libstdc++/87822 +- * include/bits/stl_pair.h (__pair_base): Change to class template. +- (pair): Make base class type depend on template parameters. +- * testsuite/20_util/pair/87822.cc: New test. +- +-2018-10-25 Jonathan Wakely +- +- PR libstdc++/87749 +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::operator=3D(basic_string&&)): For short strings copy the +- buffer inline. Only fall back to using assign(const basic_string&) to +- do a deep copy when reallocation is needed. +- * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc: +- New test. +- * testsuite/21_strings/basic_string/modifiers/assign/char/ +- move_assign_optim.cc: New test. +- * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc: +- New test. +- * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ +- move_assign_optim.cc: New test. +- +-2018-10-23 Jonathan Wakely +- +- PR libstdc++/87704 +- * include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do +- not delegate to default constructor. +- (unique_ptr::unique_ptr(nullptr_t)): Likewise. +- * testsuite/20_util/unique_ptr/cons/incomplete.cc: New test. +- +-2018-10-22 Jonathan Wakely +- +- Backport from mainline +- 2017-09-12 Jonathan Wakely +- +- PR libstdc++/79433 +- * include/Makefile.am: Remove . +- * include/Makefile.in: Regenerate. +- * include/bits/c++14_warning.h: Remove. +- * include/experimental/algorithm: Do not include . +- * include/experimental/any: Likewise. +- * include/experimental/array: Likewise. +- * include/experimental/bits/erase_if.h: Likewise. +- * include/experimental/bits/lfts_config.h: Likewise. +- * include/experimental/bits/shared_ptr.h: Likewise. +- * include/experimental/bits/string_view.tcc: Likewise. +- * include/experimental/chrono: Likewise. +- * include/experimental/deque: Likewise. +- * include/experimental/filesystem: Do not include . +- * include/experimental/forward_list: Do not include . +- * include/experimental/functional: Likewise. +- * include/experimental/iterator: Likewise. +- * include/experimental/list: Likewise. +- * include/experimental/map: Likewise. +- * include/experimental/memory: Likewise. +- * include/experimental/numeric: Likewise. +- * include/experimental/optional: Likewise. +- * include/experimental/propagate_const: Likewise. +- * include/experimental/ratio: Likewise. +- * include/experimental/regex: Likewise. +- * include/experimental/set: Likewise. +- * include/experimental/string: Likewise. +- * include/experimental/string_view: Likewise. +- * include/experimental/system_error: Likewise. +- * include/experimental/tuple: Likewise. +- * include/experimental/type_traits: Likewise. +- * include/experimental/unordered_map: Likewise. +- * include/experimental/unordered_set: Likewise. +- * include/experimental/vector: Likewise. +- * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error +- line number. +- * testsuite/experimental/array/neg.cc: Likewise. +- * testsuite/experimental/propagate_const/assignment/move_neg.cc: +- Likewise. +- * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. +- * testsuite/experimental/propagate_const/requirements2.cc: Likewise. +- * testsuite/experimental/propagate_const/requirements3.cc: Likewise. +- * testsuite/experimental/propagate_const/requirements4.cc: Likewise. +- * testsuite/experimental/propagate_const/requirements5.cc: Likewise. +- +-2018-10-18 Jonathan Wakely +- +- Backport from mainline +- 2018-10-18 Jonathan Wakely +- +- PR libstdc++/87641 +- * include/bits/valarray_array.h (__valarray_sum): Use first element +- to initialize accumulator instead of value-initializing it. +- * testsuite/26_numerics/valarray/87641.cc: New test. +- +-2018-10-15 Jonathan Wakely +- +- * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to +- account for change to glibc it_IT localedata (glibc bz#10797). +- +-2018-10-12 Jonathan Wakely +- +- Backport from mainline +- 2018-07-31 Jonathan Wakely +- +- PR libstdc++/86751 +- * include/bits/stl_pair.h (__pair_base): New class with deleted copy +- assignment operator. +- (pair): Derive from __pair_base. +- (pair::operator=3D): Remove deleted overload. +- * python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer +- so that new base class isn't shown in GDB. +- * testsuite/20_util/pair/86751.cc: New test. +- * testsuite/20_util/pair/ref_assign.cc: New test. +- +-2018-10-12 Jonathan Wakely +- +- Backport from mainline +- 2018-09-03 Jonathan Wakely +- +- PR libstdc++/78595 +- * include/bits/stl_map.h (map::insert(_Pair&&)) +- (map::insert(const_iterator, _Pair&&)): Do emplace instead of insert. +- * include/bits/stl_multimap.h (multimap::insert(_Pair&&)) +- (multimap::insert(const_iterator, _Pair&&)): Likewise. +- * include/bits/unordered_map.h (unordered_map::insert(_Pair&&)) +- (unordered_map::insert(const_iterator, _Pair&&)) +- (unordered_multimap::insert(_Pair&&)) +- (unordered_multimap::insert(const_iterator, _Pair&&)): Likewise. +- * include/std/type_traits (__enable_if_t): Define for C++11. +- * testsuite/23_containers/map/modifiers/insert/78595.cc: New test. +- * testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test. +- * testsuite/23_containers/unordered_map/modifiers/78595.cc: New test. +- * testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New +- test. +- +-2018-10-12 Jonathan Wakely +- +- Backport from mainline +- 2018-08-30 Jonathan Wakely +- +- * include/ext/pointer.h (_Pointer_adapter): Define operators for +- pointer arithmetic using long long offsets. +- * testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using +- long long values. +- +-2018-10-12 Jonathan Wakely +- +- Backport from mainline +- 2018-08-23 Jonathan Wakely +- +- * testsuite/21_strings/basic_string/init-list.cc: +- Require cxx11-abi. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc: +- Likewise. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: +- Likewise. +- +- Backport from mainline +- 2018-08-22 Jonathan Wakely +- +- PR libstdc++/87061 +- * include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI] +- (experimental::pmr::match_results, experimental::pmr::cmatch) +- (experimental::pmr::smatch, experimental::pmr::wcmatch) +- (experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI, +- because COW strings don't support C++11 allocator model. +- * include/experimental/string [!_GLIBCXX_USE_CXX11_ABI] +- (experimental::pmr::basic_string, experimental::pmr::string) +- (experimental::pmr::u16string, experimental::pmr::u32string) +- (experimental::pmr::wstring): Likewise. +- +- Backport from mainline +- 2018-08-15 Jonathan Wakely +- +- * include/experimental/regex: Remove begin/end macros for namespace. +- * include/experimental/string: Likewise. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_forward_list.cc: New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_multimap.cc: New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_multiset.cc: New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: +- New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_unordered_map.cc: New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_unordered_multimap.cc: New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_unordered_multiset.cc: New test. +- * testsuite/experimental/polymorphic_allocator/ +- pmr_typedefs_unordered_set.cc: New test. +- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc: +- New test. +- +-2018-10-12 Jonathan Wakely +- +- Backport from mainline +- 2018-07-24 Jonathan Wakely +- +- PR libstdc++/70966 +- * include/experimental/memory_resource (__get_default_resource): Use +- placement new to create an object with dynamic storage duration. +- +- Backport from mainline +- 2018-06-20 Jonathan Wakely +- +- PR libstdc++/70966 +- * include/experimental/memory_resource (__resource_adaptor_imp): Add +- static assertions to enforce requirements on pointer types. +- (__resource_adaptor_imp::get_allocator()): Add noexcept. +- (new_delete_resource, null_memory_resource): Return address of an +- object with dynamic storage duration. +- (__null_memory_resource): Remove. +- * testsuite/experimental/memory_resource/70966.cc: New. +- +-2018-10-12 Jonathan Wakely +- +- PR libstdc++/77854 +- * doc/xml/manual/status_cxx1998.xml: Document size_type and +- difference_type for containers. +- * doc/html/*: Regenerate. +- +-2018-10-08 Joseph Myers +- +- Backport from mainline +- 2018-10-02 Joseph Myers +- +- * testsuite/lib/libstdc++.exp (libstdc++_init): Use +- -fno-show-column in default cxxflags. +- +-2018-10-08 Jonathan Wakely +- +- Backport from mainline +- 2018-10-08 Jonathan Wakely +- +- PR libstdc++/87538 +- * include/std/functional (_Not_fn::operator()): Check value of +- __is_nothrow_invocable as well. +- * testsuite/20_util/function_objects/not_fn/87538.cc: New test. +- * testsuite/experimental/functional/87538.cc: New test. +- +-2018-08-13 Jonathan Wakely +- +- Revert +- 2018-08-10 Sebastian Huber +- +- PR target/85904 +- * configure.ac: Define HAVE_ALIGNED_ALLOC if building for +- Newlib. +- * configure: Regenerate. +- +-2018-08-10 Sebastian Huber +- +- Backport from mainline +- 2018-08-10 Sebastian Huber +- +- PR target/85904 +- * configure.ac: Define HAVE_ALIGNED_ALLOC if building for +- Newlib. +- * configure: Regenerate. +- +-2018-08-08 Jonathan Wakely +- +- * libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to +- avoid clashing with an ::aligned_alloc function that was not detected +- by configure. +- +- * doc/xml/manual/using.xml: Remove empty table cell. +- * doc/html/*: Regenerate. +- +- * doc/xml/manual/using.xml: Add missing header to table and fix typo. +- Remove C++17 and C++2a headers not present on gcc-7-branch. +- * doc/html/*: Regenerate. +- +-2018-08-07 Jonathan Wakely +- +- Backport from mainline +- 2018-06-27 Jonathan Wakely +- +- PR libstdc++/86138 +- * include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0] +- Declare explicit instantiations of COW empty reps and I/O functions. +- +- Backport from mainline +- 2018-05-08 Jonathan Wakely +- +- PR libstdc++/85672 +- * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry +- to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero. +- * include/Makefile.in: Regenerate. +- * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition +- within conditional block. +- +- Backport from mainline +- 2018-05-01 Tulio Magno Quites Machado Filho +- +- PR libstdc++/84654 +- * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128. +- * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128. +- * configure: Regenerate. +- * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128 +- based on ENABLE_FLOAT128. +- * include/Makefile.in: Regenerate. +- * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128. +- [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine +- _GLIBCXX_USE_FLOAT128. +- +- Backport from mainline +- 2017-06-17 Jonathan Wakely +- +- PR libstdc++/80893 +- * testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }. +- +- Backport from mainline +- 2017-05-31 Jonathan Wakely +- +- PR libstdc++/80893 +- * include/bits/stl_bvector.h (vector::_M_initialize): Avoid +- null pointer dereference when size is zero. +- * testsuite/23_containers/vector/bool/80893.cc: New. +- * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): +- Add non-explicit constructor from nullptr. +- (PointerBase::derived() const): Add const-qualified overload. +- +- Backport from mainline +- 2017-12-14 Jonathan Wakely +- +- PR libstdc++/68519 +- * include/std/condition_variable (condition_variable::wait_for): +- Convert duration to native clock's duration before addition. +- * testsuite/30_threads/condition_variable/members/68519.cc: New test. +- +- Backport from mainline +- 2018-06-25 Jonathan Wakely +- +- PR libstdc++/86292 +- * include/bits/stl_vector.h (vector::_M_range_initialize): +- Add try-catch block. +- * testsuite/23_containers/vector/cons/86292.cc: New. +- +- Backport from mainline +- 2018-07-31 Jonathan Wakely +- +- * doc/xml/manual/test.xml: Improve documentation on writing tests for +- newer standards. +- * doc/xml/manual/using.xml: Document all headers for C++11 and later. +- * doc/html/*: Regenerate. +- +- Backport from mainline +- 2018-08-03 Jonathan Wakely +- +- * src/c++11/system_error.cc +- (system_error_category::default_error_condition): Add workaround for +- ENOTEMPTY and EEXIST having the same value on AIX. +- * testsuite/19_diagnostics/error_category/system_category.cc: Add +- extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY. +- +- Backport from mainline +- 2018-08-01 Jonathan Wakely +- +- PR libstdc++/60555 +- * src/c++11/system_error.cc +- (system_error_category::default_error_condition): New override to +- check for POSIX errno values. +- * testsuite/19_diagnostics/error_category/generic_category.cc: New +- * testsuite/19_diagnostics/error_category/system_category.cc: New +- test. +- +- Backport from mainline +- 2018-08-07 Jonathan Wakely +- +- PR libstdc++/86861 +- * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc): +- Replace macro with inline function. +- [__sun]: Increase alignment to meet memalign precondition. +- [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN] +- (aligned_alloc): Move check for valid alignment to operator new. +- Remove redundant check for non-zero size, it's enforced by the caller. +- (operator new): Move check for valid alignment here. Use +- __builtin_expect on check for zero size. +- +- Backport from mainline +- 2018-07-30 Jonathan Wakely +- +- * libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add +- workaround for aligned_alloc bug on AIX. +- * testsuite/18_support/new_aligned.cc: New test. +- +- Backport from mainline +- 2018-07-30 Jonathan Wakely +- +- PR libstdc++/86734 +- * include/bits/stl_iterator.h (reverse_iterator::operator->): Use +- addressof (LWG 2188). +- * testsuite/24_iterators/reverse_iterator/dr2188.cc: New test. +- +- Backport from mainline +- 2018-05-19 Jonathan Wakely +- +- * src/c++11/codecvt.cc (__codecvt_utf8_base::do_in) +- [__SIZEOF_WCHAR_T__=3D=3D2 && __BYTE_ORDER__!=3D__ORDER_BIG_ENDIAN__]: S= et +- little_endian element in bitmask. +- * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests. +- * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New. +- +-2018-07-05 Fran=C3=A7ois Dumont +- +- Backport from mainline +- 2018-07-04 Fran=C3=A7ois Dumont +- +- PR libstdc++/86272 +- * include/debug/string +- (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)): +- Use __glibcxx_check_insert_range. +- +-2018-07-04 Jonathan Wakely +- +- Backport from mainline +- 2018-03-09 Jonathan Wakely +- +- src/filesystem/ops.cc (create_dir): Pass error_code to is_directory. +- +- Backport from mainline +- 2018-06-18 Jonathan Wakely +- +- LWG 3050 Fix cv-qualification of convertibility constraints +- * include/std/chrono (duration, operator*, operator/, operator%): Use +- const-qualified type as source type in is_convertible constraints. +- * testsuite/20_util/duration/arithmetic/dr3050.cc: New. +- * testsuite/20_util/duration/cons/dr3050.cc: New. +- * testsuite/20_util/duration/literals/range.cc: Rename to... +- * testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust +- dg-error lineno. +- +- Backport from mainline +- 2018-06-13 Jonathan Wakely +- +- PR libstdc++/86127 +- * include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove +- unused typedef. +- (_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after): +- Use node allocator to create and destroy elements. +- (forward_list::_Tp_alloc_type): Remove unused typedef. +- (forward_list::_Alloc_traits): Use allocator_traits instead of +- __gnu_cxx::__alloc_traits. +- * include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): +- Use node allocator to create and destroy elements. +- +- Backport from mainline +- 2018-05-29 Jonathan Wakely +- +- * include/std/variant (__erased_dtor): Qualify call to __get. +- +- Backport from mainline +- 2018-05-15 Jonathan Wakely +- +- * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify +- __invoke to prevent ADL. +- +- Backport from mainline +- 2018-04-05 Jonathan Wakely +- +- * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify +- __get calls to avoid ADL and avoid ambiguity due to Clang bug. +- +- Backport from mainline +- 2018-03-26 Jonathan Wakely +- +- * include/std/variant (__get): Qualify calls to avoid ADL. +- (__select_index): Adjust whitespace. +- (variant): Add using-declaration to workaround Clang bug. +- +- Backport from mainline +- 2018-05-24 Maya Rashish +- +- PR target/85904 +- * crossconfig.m4: Test for aligned_alloc on netbsd. +- * configure: Regenerate. +- +- Backport from mainline +- 2018-05-18 Jonathan Wakely +- +- PR libstdc++/85098 +- * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase) +- (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate) +- (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended) +- (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add +- definitions. +- * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust +- whitespace. +- * testsuite/28_regex/basic_regex/85098.cc: New +- +- Backport from mainline +- 2018-05-07 Jonathan Wakely +- +- PR libstdc++/85671 +- * include/experimental/bits/fs_path.h (operator/): Likewise. +- +- Backport from mainline +- 2018-06-14 Daniel Trebbien +- Jonathan Wakely +- +- PR libstdc++/83982 +- * include/bits/vector.tcc (vector::_M_default_append(size_type)): +- Default-construct new elements before moving existing ones. +- * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc: +- New. +- +- Backport from mainline +- 2018-05-03 Jonathan Wakely +- +- PR libstdc++/84087 LWG DR 2268 basic_string default arguments +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=3D1] +- (append(const basic_string&, size_type, size_type) +- (assign(const basic_string&, size_type, size_type) +- (insert(size_type, const basic_string&, size_type, size_type) +- (replace(size_type,size_type,const basic_string&,size_type,size_type) +- (compare(size_type,size_type,constbasic_string&,size_type,size_type)): +- Add default arguments (LWG 2268). +- [_GLIBCXX_USE_CXX11_ABI=3D0] +- (append(const basic_string&, size_type, size_type) +- (assign(const basic_string&, size_type, size_type) +- (insert(size_type, const basic_string&, size_type, size_type) +- (replace(size_type,size_type,const basic_string&,size_type,size_type) +- (compare(size_type,size_type,constbasic_string&,size_type,size_type)): +- Likewise. +- * testsuite/21_strings/basic_string/dr2268.cc: New test. +- +-2018-06-22 Jakub Jelinek +- +- Backported from mainline +- 2018-04-18 David Malcolm +- +- PR jit/85384 +- * configure: Regenerate. +- +-2018-06-22 Jonathan Wakely +- +- Backport from mainline +- 2018-06-22 Jonathan Wakely +- +- PR libstdc++/86138 +- * include/bits/basic_string.tcc: +- [__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_Rep::_S_empty_rep_storage) +- (basic_string::_Rep::_S_empty_rep_storage): Add explicit +- instantiation declarations. +- [__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable +- explicit instantiation declarations. +- * testsuite/21_strings/basic_string/cons/char/86138.cc: New. +- * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New. +- +-2018-06-21 Jonathan Wakely +- +- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. +- +-2018-06-19 Jonathan Wakely +- +- * include/std/utility: Remove unused header. +- +-2018-06-15 Jonathan Wakely +- +- PR libstdc++/86169 +- * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] +- (basic_string::data()): Unshare string. +- * testsuite/21_strings/basic_string/operations/data/char/86169.cc: +- New. +- +-2018-06-15 Jonathan Wakely +- +- * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only +- define for C++17 and above. +- +-2018-05-17 Jonathan Wakely +- +- PR libstdc++/85812 +- * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare. +- * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]: +- Refactor to separate non-throwing and throwing implementations. +- [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory +- if constructing the object throws. +- +-2018-05-14 Jonathan Wakely +- +- PR libstdc++/67554 +- * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>) +- (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy. +- +- PR libstdc++/82966 +- * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value +- instead of type. +- * testsuite/23_containers/set/modifiers/node_swap.cc: New. +- +-2018-05-10 Jonathan Wakely +- +- * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer. +- * doc/xml/manual/debug_mode.xml: Add array and forward_list to list +- of C++11 containers with Debug Mode support. +- * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure. +- * doc/html/*: Regenerate. +- +-2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net> +- Jonathan Wakely +- +- Backport from mainline +- 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net> +- +- PR libstdc++/80506 +- * include/bits/random.tcc (gamma_distribution::operator()): Fix magic +- number used in loop condition. +- (gamma_distribution::__generate_impl()): Ditto. +- +-2018-05-03 Jonathan Wakely +- +- PR libstdc++/84769 +- * include/std/variant (visit): Qualify std::get call. +- +- PR libstdc++/85632 use uintmax_t for arithmetic +- * src/filesystem/ops.cc (experimental::filesystem::space): Perform +- arithmetic in result type. +- * testsuite/experimental/filesystem/operations/space.cc: New. +- +-2018-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> +- +- PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values +- * include/tr1/ell_integral.tcc: Correct the nu sign convention +- in ellint_3 and comp_ellint_3. +- * testsuite/tr1/5_numerical_facilities/special_functions/ +- 06_comp_ellint_3/check_value.cc: Regen with correct values. +- * testsuite/tr1/5_numerical_facilities/special_functions/ +- 14_ellint_3/check_value.cc: Ditto. +- * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto. +- * testsuite/special_functions/13_ellint_3/check_value.cc: Ditto. +- * testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New. +- * testsuite/special_functions/13_ellint_3/pr66689.cc: New. +- * testsuite/tr1/5_numerical_facilities/special_functions/ +- 06_comp_ellint_3/pr66689.cc: New. +- * testsuite/tr1/5_numerical_facilities/special_functions/ +- 14_ellint_3/pr66689.cc: New. +- +-2018-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> +- +- PR libstdc++/68397 std::tr1::expint fails ... long double arguments. +- * include/tr1/exp_integral.tcc: Increase iteration limits. +- * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ +- pr68397.cc: New test. +- * testsuite/special_functions/14_expint/pr68397.cc: New test. +- +-2018-04-18 Jonathan Wakely +- Jakub Jelinek +- +- PR libstdc++/85442 +- * src/c++11/Makefile.am: Don't generate debuginfo again for +- cxx11-ios_failure-lt.s and cxx11-ios_failure.s files. +- * src/c++11/Makefile.in: Regenerate. +- +-2018-04-13 Jonathan Wakely +- +- * src/c++11/Makefile.am: Fix sed command. +- * src/c++11/Makefile.in: Regenerate. +- +- * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to +- handle mangled names starting with double underscores on darwin. +- * src/c++11/Makefile.in: Regenerate. +- +-2018-04-12 Jonathan Wakely +- +- * src/c++11/Makefile.am: Fix comment. +- * src/c++11/Makefile.in: Regenerate. +- * src/c++11/cxx11-ios_failure.cc: Fix comment. +- * src/c++98/ios_failure.cc: Likewise. +- +- Backport from mainline +- 2018-04-10 Jonathan Wakely +- +- PR libstdc++/85222 +- * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for +- cxx11-ios_failure.cc to rewrite type info for __ios_failure. +- * src/c++11/Makefile.in: Regenerate. +- * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info): +- New types. +- [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here. +- * src/c++11/ios.cc (__throw_ios_failure): Remove definition. +- (_GLIBCXX_USE_CXX11_ABI): Don't define here. +- * src/c++98/ios_failure.cc (__construct_ios_failure) +- (__destroy_ios_failure, is_ios_failure_handler): New functions. +- [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here. +- * testsuite/27_io/ios_base/failure/dual_abi.cc: New. +- * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to +- handler types, to always catch std::ios_base::failure. +- * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/char/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/ios_base/storage/2.cc: Likewise. +- +-2018-03-22 Rainer Orth +- +- PR libstdc++/77691 +- * testsuite/experimental/memory_resource/resource_adaptor.cc: +- xfail execution on 32-bit Solaris/x86. +- +-2018-03-13 Jonathan Wakely +- +- Backport from mainline +- 2018-03-09 Jonathan Wakely +- +- PR libstdc++/84769 +- * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>): +- Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>. +- +-2018-03-12 Jonathan Wakely +- +- PR libstdc++/84773 +- PR libstdc++/83662 +- * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32. +- * configure: Regenerate. +- * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC] +- (aligned_alloc): Add using-declaration. +- * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test. +- +-2018-03-02 Jonathan Wakely +- +- Backport from mainline +- 2018-03-02 Jonathan Wakely +- +- PR libstdc++/84671 +- * include/bits/parse_numbers.h (_Number_help): Add partial +- specialization to handle digit separators. Adjust partial +- specialization for recursion temrination to require _Pow =3D=3D 1ULL. +- * testsuite/20_util/duration/literals/84671.cc: New +- +-2018-02-26 Jonathan Wakely +- +- Backport from mainline +- 2018-02-23 Jonathan Wakely +- +- PR libstdc++/84532 +- * include/std/thread (thread::__make_invoker): Construct tuple +- directly instead of using make_tuple. +- * testsuite/30_threads/async/84532.cc: New. +- * testsuite/30_threads/thread/84532.cc: New. +- +-2018-02-19 Jonathan Wakely +- +- Backport from mainline +- 2018-02-15 Jonathan Wakely +- +- PR libstdc++/81797 +- * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define. +- * configure: Regenerate. +- * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when +- defined. +- * include/Makefile.in: Regenerate. +- +-2018-01-29 Jonathan Wakely +- +- PR libstdc++/83833 +- * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: +- Add -ffloat-store to options for m68k and ia32. +- +- PR libstdc++/83658 +- * include/std/any (any::__do_emplace): Only set _M_manager after +- constructing the contained object. +- * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line. +- * testsuite/20_util/any/modifiers/83658.cc: New test. +- +- Backport from mainline +- 2018-01-15 Jonathan Wakely +- +- PR libstdc++/83833 +- * include/bits/random.h (chi_squared_distribution::param): Update +- gamma distribution parameter. +- * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New +- test. +- +-2018-01-25 Jonathan Wakely +- +- PR libstdc++/81076 +- * include/c_global/cstddef (__byte_operand): Define primary template. +- * testsuite/18_support/byte/81076.cc: New test. +- +- Backport from mainline +- 2018-01-15 Jonathan Wakely +- +- PR libstdc++/83830 +- * include/std/type_traits (has_unique_object_representations_v): Add +- variable template. +- * testsuite/20_util/has_unique_object_representations/value.cc: Check +- variable template. +- +-2018-01-25 Release Manager +- +- * GCC 7.3.0 released. +- +-2018-01-19 Jonathan Wakely +- +- Backport from mainline +- 2018-01-16 Jonathan Wakely +- +- PR libstdc++/83834 +- * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard +- pattern with exact match for std::cerr. +- +-2018-01-18 Jonathan Wakely +- +- Backport from mainline +- 2017-10-23 Jonathan Wakely +- +- * doc/xml/manual/intro.xml: Include new section. +- * doc/xml/manual/status_cxxis29124.xml: New section on IS 29124 +- status. +- * doc/html/*: Regenerate. +- +- Backport from mainline +- 2017-10-19 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Update references to C++17 +- section numbers. +- +-2018-01-16 Eric Botcazou +- +- * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux. +- +-2018-01-13 Jonathan Wakely +- +- * python/libstdcxx/v6/printers.py (register_type_printers): Remove +- printer for experimental::any. Fix printers for experimental::optional +- and experimental::basic_string_view. +- +- Backport from mainline +- 2018-01-05 Jonathan Wakely +- +- PR libstdc++/83626 +- * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove +- unnecessary symlink_status call. +- (remove_all(const path&, error_code&)): Use filesystem::remove. +- +-2018-01-05 Jonathan Wakely +- +- Backport from mainline +- 2017-10-19 Jonathan Wakely +- +- * testsuite/experimental/filesystem/iterators/ +- recursive_directory_iterator.cc: Ensure that error_code arguments are +- cleared when required. +- * testsuite/experimental/filesystem/operations/create_directory.cc: +- Remove redundant check. +- * testsuite/experimental/filesystem/operations/temp_directory_path.cc: +- Ensure that error_code argument is cleared when required. +- +- Backport from mainline +- 2017-12-27 Jonathan Wakely +- +- PR libstdc++/83600 +- * include/bits/regex.h (match_results::end()): Return valid iterator +- when not ready. +- * testsuite/28_regex/match_results/ctors/char/default.cc: Check that +- unready objects are empty and have equal begin and end iterators. +- * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. +- +- Backport from mainline +- 2017-12-27 Jonathan Wakely +- +- PR libstdc++/83598 +- * include/bits/regex.h (basic_regex): Don't modify flags passed to +- constructors. +- * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. +- +- Backport from mainline +- 2017-12-14 Jonathan Wakely +- +- PR libstdc++/83279 +- * src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not +- copying entire file. +- +- Backport from mainline +- 2018-01-04 Jonathan Wakely +- +- * include/experimental/fs_ops.h (exists(const path&, error_code&))): +- Only check status_known once. +- +- Backport from mainline +- 2018-01-05 Jonathan Wakely +- +- PR libstdc++/83626 +- * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not +- report an error for ENOENT. +- (remove_all(const path&)): Fix type of result variable. +- (remove_all(const path&, error_code&)): Use non-throwing increment +- for directory iterator. Call POSIX remove directly to avoid redundant +- calls to symlink_status. Do not report errors for ENOENT. +- * testsuite/experimental/filesystem/operations/remove_all.cc: Test +- throwing overload. +- +- Backport from mainline +- 2018-01-04 Jonathan Wakely +- +- PR libstdc++/83626 +- * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove +- redundant call to ec.clear(). +- (remove_all(const path&, error_code&))): Do not return an error for +- non-existent paths. +- * testsuite/experimental/filesystem/operations/remove.cc: New test. +- * testsuite/experimental/filesystem/operations/remove_all.cc: Fix +- expected results for non-existent paths. +- +- Backport from mainline +- 2017-10-25 Jonathan Wakely +- +- PR libstdc++/79283 +- * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. +- +-2018-01-04 Ville Voutilainen +- +- Backport from mainline +- 2018-01-03 Ville Voutilainen +- +- Protect optional's deduction guide with the feature macro +- * include/std/optional: Use the feature macro. +- +-2017-12-28 Fran=C3=A7ois Dumont +- +- Backport from mainline +- 2017-12-20 Fran=C3=A7ois Dumont +- +- PR libstdc++/82522 +- * include/debug/map.h (map::insert(value_type&&)) +- (map::insert(const_iterator, value_type&&)): Add overload for rvalues. +- * include/debug/multimap.h (multimap::insert(value_type&&)) +- (multimap::insert(const_iterator, value_type&&)): Likewise. +- * include/debug/unordered_map (unordered_map::insert(value_type&&)) +- (unordered_map::insert(const_iterator, value_type&&)) +- (unordered_multimap::insert(value_type&&)) +- (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. +- * testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New. +- * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02): +- New. +- * testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New. +- * testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02): +- New. +- +-2017-12-14 Jonathan Wakely +- +- PR libstdc++/83427 +- * include/bits/refwrap.h (_Weak_result_type_impl) +- (_Reference_wrapper_base): Deduce noexcept for function types. +- * testsuite/20_util/bind/83427.cc: New test. +- * testsuite/20_util/reference_wrapper/83427.cc: New test. +- +- PR libstdc++/59568 +- * include/std/complex (operator>>): Only use putback if a character +- was successfully extracted and only set the value if a number was +- successfully extracted. +- * testsuite/26_numerics/complex/inserters_extractors/char/59568.cc: +- New test. +- +-2017-12-12 Jonathan Wakely +- +- PR libstdc++/83395 +- * include/std/type_traits (__is_invocable_impl): Remove partial +- specialization for INVOKE and restore is_void check in +- primary template. +- (__is_nt_invocable_impl): Likewise. +- * testsuite/20_util/is_invocable/83395.cc: New test. +- * testsuite/20_util/is_nothrow_invocable/83395.cc: New test. +- +-2017-12-01 Jonathan Wakely +- +- Backport from mainline +- 2017-10-13 Jonathan Wakely +- +- PR libstdc++/82522 +- * doc/xml/manual/intro.xml: Document LWG 2354 changes. +- * include/bits/stl_map.h (map::insert(value_type&&)) +- (map::insert(const_iterator, value_type&&)): Add overload for rvalues. +- * include/bits/stl_multimap.h (multimap::insert(value_type&&)) +- (multimap::insert(const_iterator, value_type&&)): Likewise. +- * include/bits/unordered_map.h (unordered_map::insert(value_type&&)) +- (unordered_map::insert(const_iterator, value_type&&)) +- (unordered_multimap::insert(value_type&&)) +- (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. +- * testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test. +- * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New +- test. +- * testsuite/23_containers/unordered_map/insert/dr2354.cc: New test. +- * testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New +- test. +- +- Backport from mainline +- 2017-11-23 Jonathan Wakely +- +- PR libstdc++/83134 +- * include/std/type_traits (__not_): Explicitly convert to bool. +- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. +- * testsuite/20_util/logical_traits/83134.cc: New test. +- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust +- dg-error. +- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: +- Likewise. +- +- Backport from mainline +- 2017-12-01 Jonathan Wakely +- +- * include/std/type_traits (integral_constant): Make member functions +- noexcept (LWG 2346). +- * include/std/utility (integer_sequence): Likewise. +- +- Backport from mainline +- 2017-11-16 Jonathan Wakely +- +- * include/std/future (shared_future): Add noexcept to copy constructor +- and copy-assignment operator (LWG 2799). +- +- Backport from mainline +- 2017-11-15 Jonathan Wakely +- +- * include/bits/range_access.h (size, empty, data): Add conditional +- noexcept to generic overloads. +- +- Backport from mainline +- 2017-10-24 Jonathan Wakely +- +- PR libstdc++/82685 +- * include/experimental/string_view (operator""sv): Add noexcept. +- * include/std/string_view (operator""sv): Likewise. +- +- Backport from mainline +- 2017-11-30 Jonathan Wakely +- +- PR libstdc++/83226 +- * include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming +- pointer-to-reference types. +- * testsuite/23_containers/map/modifiers/insert/83226.cc: New test. +- +- Backport from mainline +- 2017-11-14 Jonathan Wakely +- +- * include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo. +- * testsuite/22_locale/conversions/buffer/3.cc: New test. +- +- Backport from mainline +- 2017-11-03 Jonathan Wakely +- +- * include/bits/node_handle.h (_Node_insert_return::get): Remove, as +- per P0508R0. +- +-2017-10-25 Jonathan Wakely +- +- * doc/xml/manual/status_cxx1998.xml: Correct statement about +- what the doc covers. +- * doc/xml/manual/status_cxx2011.xml: Likewise. +- * doc/xml/manual/status_cxx2014.xml: Likewise. +- * doc/xml/manual/status_cxx2017.xml: Update C++17 status, and +- information on feature-test macros. +- * doc/xml/manual/status_cxxtr1.xml: Correct statement about what +- the doc covers. +- * doc/xml/manual/status_cxxtr24733.xml: Likewise. +- * doc/html/*: Regenerate. +- +-2017-10-23 Jonathan Wakely +- +- Backport from mainline +- 2017-07-18 Jonathan Wakely +- +- PR libstdc++/81395 +- * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer +- pointers for write mode after reading. +- * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. +- +-2017-10-21 Jonathan Wakely +- +- * testsuite/experimental/filesystem/path/itr/traversal.cc: Do not +- increment past-the-end iterators. +- +-2017-10-20 Jonathan Wakely +- +- * include/std/chrono (__cpp_lib_chrono): Update macro value to +- indicate support for P0505R0. +- * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check +- for updated macro. +- +- * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. +- * testsuite/18_support/byte/requirements.cc: Check macro. +- +- Backport from mainline +- 2017-10-13 Jonathan Wakely +- +- PR libstdc++/82481 +- * include/std/mutex (call_once): Suppress clang-tidy warnings about +- dangling references. +- +- Backport from mainline +- 2017-09-12 Jonathan Wakely +- +- PR libstdc++/79433 +- * doc/xml/manual/status_cxx2017.xml: Update feature-test macros. +- * doc/html/*: Regenerate. +- * include/Makefile.am: Remove . +- * include/Makefile.in: Regenerate. +- * include/bits/c++17_warning.h: Remove. +- * include/bits/string_view.tcc: Do not include +- for pre-C++17 modes. +- * include/std/any: Likewise. +- (__cpp_lib_any): Define. +- * include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new +- SD-6 draft. +- * include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6 +- draft. +- * include/std/optional: Do not include . +- (__cpp_lib_optional): Define. +- * include/std/shared_mutex: Do not include . +- * include/std/string_view: Do not include . +- (__cpp_lib_string_view): Define. +- * include/std/variant: Do not include . +- (__cpp_lib_variant): Define. +- * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line +- numbers. +- * testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm. +- * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line +- numbers. +- * testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm. +- * testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line +- numbers. +- * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust +- expected value of __cpp_lib_scoped_lock. +- +- Backport from mainline +- 2017-10-19 Jonathan Wakely +- +- * include/experimental/bits/fs_path.h (path::iterator++(int)) +- (path::iterator--(int)): Fix for paths with only one component. +- * testsuite/experimental/filesystem/path/itr/traversal.cc: Test +- post-increment and post-decrement. +- +-2017-09-21 Jonathan Wakely +- +- * testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and +- expected results when using predicate defining reverse order. +- * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. +- +-2017-09-20 Jonathan Wakely +- +- Backport from mainline +- 2017-06-14 Jonathan Wakely +- +- * doc/xml/manual/test.xml: Correct instructions on running tests. +- * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Adjust to pass when +- -D_GLIBCXX_USE_CXX11_ABI=3D0 added to RUNTESTFLAGS. +- * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/char/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/ios_base/storage/2.cc: Likewise. +- +- PR libstdc++/79162 +- * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_If_sv): Remove from the overload set when the +- argument is derived from basic_string. +- +- PR libstdc++/79162 +- * include/bits/basic_string.h (basic_string::_If_sv): Remove from the +- overload set when the argument is derived from basic_string. +- * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New +- test. +- * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: +- New test. +- +- * testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do +- and dg-options directives. Fix invalid test. +- +- Backport from mainline +- 2017-09-20 Jonathan Wakely +- +- PR libstdc++/82262 +- * include/std/optional (__optional_hash_call_base): Add template +- parameter for remove_const_t<_Tp> and use it consistently. +- * testsuite/20_util/optional/hash.cc: Test optional. +- +- Backport from mainline +- 2017-09-19 Jonathan Wakely +- +- PR libstdc++/82254 +- * include/std/type_traits (__is_invocable): Add partial specialization +- for INVOKE case and remove is_void check from partial +- specialization for INVOKE case. +- (__is_nt_invocable_impl): New helper for is_nothrow_invocable_r. +- (is_nothrow_invocable_r): Use __is_nt_invocable_impl. +- * testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for +- conversions that can throw or fail to convert. Use static assert +- strings to explain negative results. +- * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use +- is_nothrow_constructible in is_nt_invocable_conv. +- +-2017-09-13 Jonathan Wakely +- +- Backport from mainline +- 2017-09-04 Daniel Kruegler +- +- PR libstdc++/79162 +- Implement LWG 2946, LWG 2758's resolution missed further corrections +- * include/bits/basic_string.h (basic_string::compare): Add missing +- required noexcept specifications. +- (basic_string): Introduce internal _S_to_string_view and __sv_wrapper +- for implicit string_view conversion. +- (basic_string::basic_string): Fix explicit string_view conversion by +- implicit conversion using _S_to_string_view and __sv_wrapper. +- (basic_string): Introduce internal basic_string(__sv_wrapper, Alloc) +- constructor. +- (basic_string): Fix operator=3D(T) template by operator=3D(const T&) +- template for uncopyable types (PR 79162). +- (basic_string::operator+=3D, basic_string::append, basic_string::assign) +- (basic_string::insert, basic_string::replace, basic_string::find) +- (basic_string::rfind, basic_string::find_first_of) +- (basic_string::find_last_of, basic_string::find_first_not_of) +- (basic_string::find_last_not_of, basic_string::compare): Replace +- __sv_type argument by template const T& (LWG 2946) and correct +- documentation describing __sv_type argument. +- (basic_string::find, basic_string::rfind, basic_string::find_first_of) +- (basic_string::find_last_of, basic_string::find_first_not_of) +- (basic_string::find_last_not_of, basic_string::compare): Replace +- unconditional noexcept specification by conditional noexcept +- specification to partially balance the removal of noexcept by LWG 2946. +- * testsuite/21_strings/basic_string/79162.cc: New. +- * testsuite/21_strings/basic_string/lwg2946.cc: New. +- +-2017-09-13 Jonathan Wakely +- +- PR libstdc++/81468 +- * include/std/chrono (time_point(const time_point<_Dur2>&)): Add +- missing constraint from LWG DR 1177. +- * testsuite/20_util/duration/cons/dr1177.cc: New. +- * testsuite/20_util/time_point/cons/81468.cc: New. +- * testsuite/20_util/duration/literals/range.cc: Update dg-error line. +- +- * doc/doxygen/mainpage.html: Fix broken URLs. +- +- PR libstdc++/81835 +- * doc/xml/manual/extensions.xml: Replace unstable URL. +- * doc/html/manual/ext_demangling.html: Regenerate. +- * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. +- +-2017-09-12 Jonathan Wakely +- +- Backport from mainline +- 2017-09-12 Jonathan Wakely +- +- PR libstdc++/70483 +- * include/experimental/bits/string_view.tcc (basic_string_view::find) +- (basic_string_view::rfind, basic_string_view::find_first_of) +- (basic_string_view::find_last_of, basic_string_view::find_first_not_of) +- (basic_string_view::find_last_not_of): Add constexpr specifier. +- * include/experimental/string_view (basic_string_view::remove_prefix) +- (basic_string_view::remove_suffix, basic_string_view::swap) +- (basic_string_view::compare, basic_string_view::find) +- (basic_string_view::rfind, basic_string_view::find_first_of) +- (basic_string_view::find_last_of, basic_string_view::find_first_not_of) +- (basic_string_view::find_last_not_of, operator=3D=3D, operator!=3D) +- (operator<, operator>, operator<=3D, operator>=3D): Likewise. +- * testsuite/experimental/string_view/operations/compare/char/70483.cc: +- New. +- +- Backport from mainline +- 2017-09-11 Jonathan Wakely +- +- PR libstdc++/70483 +- * include/bits/string_view.tcc (basic_string_view::find) +- (basic_string_view::rfind, basic_string_view::find_first_of) +- (basic_string_view::find_last_of, basic_string_view::find_first_not_of) +- (basic_string_view::find_last_not_of): Add constexpr specifier. +- * include/std/string_view (basic_string_view::operator=3D) +- (basic_string_view::rbegin, basic_string_view::rend) +- (basic_string_view::crbegin, basic_string_view::crend) +- (basic_string_view::remove_prefix, basic_string_view::remove_suffix) +- (basic_string_view::swap, basic_string_view::compare) +- (basic_string_view::find, basic_string_view::rfind) +- (basic_string_view::find_first_of, basic_string_view::find_last_of) +- (basic_string_view::find_first_not_of) +- (basic_string_view::find_last_not_of, basic_string_view::_M_check) +- (basic_string_view::_M_limit, operator=3D=3D, operator!=3D, operator<) +- (operator>, operator<=3D, operator>=3D): Likewise. +- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ +- char/1.cc: Repeat tests in constexpr context. +- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ +- wchar_t/1.cc: Likewise. +- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ +- char/1.cc: Likewise. +- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ +- wchar_t/1.cc: Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operators/char/2.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test +- cbegin, cend, rbegin, rend, crbegin and crend. +- * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: +- Likewise. +- * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: +- Remove trailing whitespace. +- * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ +- 1.cc: Likewise. +- * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: +- New. +- * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: +- New. +- * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: +- New. +- * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ +- 2.cc: New. +- +- Backport from mainline +- 2017-06-12 Pedro Alves +- +- * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr +- char_traits status. +- * doc/html/*: Regenerate. +- +- * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if +- not already defined. +- (__cpp_lib_constexpr_char_traits): Uncomment. +- (__constant_string_p, __constant_char_array_p): New. +- (std::char_traits, std::char_traits): Add +- _GLIBCXX17_CONSTEXPR on compare, length and find and use +- __constant_string_p, __constant_char_array_p and +- __builtin_constant_p to defer to __gnu_cxx::char_traits at compile +- time. +- +- * testsuite/21_strings/char_traits/requirements/ +- constexpr_functions_c++17.cc: Uncomment +- __cpp_lib_constexpr_char_traits tests. Uncomment +- test_compare, test_length, test_find, +- test_compare, test_length and test_find +- static_assert tests. +- +-2017-09-04 Jonathan Wakely +- +- Backport from mainline +- 2017-08-31 Jonathan Wakely +- +- PR c++/82039 +- * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): +- Adjust null pointer constant to avoid warning. +- +- Backport from mainline +- 2017-08-21 Jonathan Wakely +- +- PR libstdc++/81912 +- * include/bits/stl_iterator_base_types.h (__iterator_category): Add +- constexpr for C++11 and later. +- * testsuite/24_iterators/container_access.cc: Add target selector. +- * testsuite/24_iterators/range_access.cc: Fix clause number in +- comment. +- * testsuite/24_iterators/range_access_cpp14.cc: Likewise. +- * testsuite/24_iterators/range_access_cpp17.cc: New. +- +- Backport from mainline +- 2017-08-09 Jonathan Wakely +- +- * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): +- Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use +- __is_identifier to set it. +- +- Backport from mainline +- 2017-08-09 Katsuhiko Nishimra +- +- * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use +- __is_identifier instead of __has_builtin. +- +- Backport from mainline +- 2017-08-18 Jonathan Wakely +- +- PR libstdc++/81891 +- * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, +- size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, +- const _ExtractKey&, const allocator_type&)): Let destructor do clean +- up if an exception is thrown. +- * testsuite/23_containers/unordered_map/cons/81891.cc: New. +- +- Backport from mainline +- 2017-07-31 Marek Polacek +- +- PR libstdc++/81599 +- * include/bits/stl_stack.h: Fix typo. +- +- Backport from mainline +- 2017-07-10 Jonathan Wakely +- +- PR libstdc++/81338 +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): +- Declare basic_stringbuf to be a friend. +- * include/bits/sstream.tcc (basic_stringbuf::overflow) +- [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. +- * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string +- length to buffer length. +- * testsuite/27_io/basic_stringstream/assign/81338.cc: New. +- +-2017-08-20 John David Anglin +- +- PR testsuite/81056 +- * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. +- +-2017-08-14 Jonathan Wakely +- +- Backport from mainline +- 2017-08-09 Jonathan Wakely +- +- PR libstdc++/79820 +- PR libstdc++/81751 +- * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): +- Call fflush on the stream instead of calling sync() while _M_cfile is +- null. Restore original value of errno. +- * testsuite/ext/stdio_filebuf/char/79820.cc: New. +- * testsuite/ext/stdio_filebuf/char/81751.cc: New. +- +- Backport from mainline +- 2017-07-25 Jonathan Wakely +- +- PR libstdc++/53984 +- * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. +- * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions +- during construction. +- * include/std/istream: Adjust comments for formatted input functions +- and unformatted input functions. +- * testsuite/27_io/basic_fstream/53984.cc: New. +- * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. +- +-2017-08-14 Release Manager +- +- * GCC 7.2.0 released. +- +-2017-07-26 Richard Biener +- +- Backport from mainline +- 2017-06-02 Richard Biener +- Markus Eisenmann +- +- PR libstdc++/80721 +- * libsupc++/eh_alloc.cc (pool::free): Keep list properly +- sorted and add missing freelist item merging cases. +- +-2017-07-25 Jonathan Wakely +- +- Backport from mainline +- 2017-06-09 Jonathan Wakely +- +- * doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes. +- * include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters +- (LWG 2802). +- * include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter +- (_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise. +- * testsuite/20_util/shared_ptr/cons/lwg2802.cc: New. +- +- Backport from mainline +- 2017-06-05 Jonathan Wakely +- +- * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) +- (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept +- specifiers as per LWG 2873 and LWG 2942. +- * testsuite/20_util/owner_less/noexcept.cc: New. +- * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test +- noexcept guarantees. +- * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. +- +- Backport from mainline +- 2017-04-28 Jonathan Wakely +- +- PR libstdc++/80553 +- * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static +- assertions to ensure type is destructible. +- (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. +- * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): +- Move to stl_construct.h. +- * testsuite/20_util/specialized_algorithms/memory_management_tools/ +- destroy_neg.cc: New test. +- * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. +- +- Backport from mainline +- 2017-05-16 Jonathan Wakely +- +- * configure: Regenerate. +- * doc/xml/manual/status_cxx2017.xml: Update status table. +- * doc/html/*: Regenerate. +- * include/Makefile.am: Add new header. +- * include/Makefile.in: Regenerate. +- * include/experimental/source_location: New header implementing N4519. +- * testsuite/experimental/source_location/1.cc: New test. +- +- Backport from mainline +- 2017-07-06 Jonathan Wakely +- +- * include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add +- deleted overload to prevent dangling references to rvalues. +- * include/experimental/memory_resource +- (polymorphic_allocator::construct): Do not call __use_alloc with +- rvalue arguments. +- +- Backport from mainline +- 2017-06-08 Jonathan Wakely +- +- PR libstdc++/81017 +- * include/bits/std_function.h (function::function(function&&)) +- (function::operator=3D(funtion&&)): Add noexcept. +- * testsuite/20_util/function/assign/move.cc: Check for noexcept. +- * testsuite/20_util/function/cons/move.cc: Likewise. +- +- Backport from mainline +- 2017-07-15 Jonathan Wakely +- +- * include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter +- as per P0739R0. +- * testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments. +- * testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction +- with std::adopt_lock_t. +- * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check +- feature-test macro. +- +- Backport from mainline +- 2017-07-14 Jason Merrill +- Jonathan Wakely +- +- * include/std/variant (variant::variant(_Tp&&)): Constrain to remove +- the constructor for empty variants from the candidate functions +- during class template argument deduction. +- * testsuite/20_util/variant/deduction.cc: New. +- +- Backport from mainline +- 2017-06-02 Jonathan Wakely +- +- PR libstdc++/80939 +- * include/std/variant (__erased_ctor, __erased_assign, __erased_swap) +- (__erased_hash): Remove constexpr specifier and qualify calls to +- __ref_cast. +- (__erased_dtor): Remove constexpr specifier and use _Destroy. +- +- Backport from mainline +- 2017-05-20 Tim Shen +- +- PR libstdc++/80737 +- * include/std/variant(variant::variant): SFINAE on is_same first. +- * testsuite/20_util/variant/any.cc: test case. +- +-2017-07-11 Jonathan Wakely +- +- Backport from mainline +- 2017-04-21 Jonathan Wakely +- +- PR libstdc++/80316 +- * include/std/future (_State_baseV2::_Setter::operator()): Remove +- _S_check calls that are done after the pointer to the shared state is +- already dereferenced. +- (_State_baseV2::_Setter<_Res, void>): Define specialization for void +- as partial specialization so it can be defined within the definition +- of _State_baseV2. +- (_State_baseV2::__setter): Call _S_check. +- (_State_baseV2::__setter(promise*)): Add overload for use by +- promise::set_value and promise::set_value_at_thread_exit. +- (promise, promise, promise): Make _State a friend. +- (_State_baseV2::_Setter): Remove explicit specialization. +- (promise::set_value, promise::set_value_at_thread_exit): +- Use new __setter overload. +- * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. +- * testsuite/30_threads/promise/members/set_exception.cc: Test +- promise and promise specializations. +- * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. +- Test for no_state error condition. +- * testsuite/30_threads/promise/members/set_value2.cc: Likewise. +- +-2017-06-27 Jonathan Wakely +- +- PR libstdc++/81221 +- * include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not +- std. +- * testsuite/25_algorithms/sample/81221.cc: New. +- +-2017-06-21 Ville Voutilainen +- +- Backport from mainline +- 2017-06-21 Ville Voutilainen +- +- PR libstdc++/80675 +- PR libstdc++/80940 +- * include/std/istream: +- (__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New. +- (__do_is_convertible_to_basic_istream_impl): Likewise. +- (__is_convertible_to_basic_istream_impl): Likewise. +- (__is_convertible_to_basic_istream): Use the new base. +- (__rvalue_istream_type): New. +- (operator>>(_Istream&&, _Tp&&)): Use the new helper alias +- for the SFINAE check, convert to the helper alias type before +- doing the actual extraction. +- * include/std/ostream: +- (__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New. +- (__do_is_convertible_to_basic_ostream_impl): Likewise. +- (__is_convertible_to_basic_ostream_impl): Likewise. +- (__is_convertible_to_basic_ostream): Use the new base. +- (__rvalue_ostream_type): New. +- (operator<<(_Ostream&&, const _Tp&)): Use the new helper alias +- for the SFINAE check, convert to the helper alias type before +- doing the actual insertion. +- * testsuite/27_io/rvalue_streams-2.cc: Add new tests. +- +-2017-06-21 Uros Bizjak +- +- * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. +- +-2017-06-21 Jonathan Wakely +- +- PR libstdc++/81092 +- * configure: Regenerate. +- +-2017-06-19 Rainer Orth +- +- * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. +- * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. +- * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. +- * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. +- * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. +- * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: +- Likewise. +- * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. +- * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: +- Likewise. +- +-2017-06-18 H.J. Lu +- +- PR libstdc++/81092 +- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. +- +-2017-06-16 Jakub Jelinek +- +- PR libstdc++/81092 +- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. +- +-2017-06-16 Jonathan Wakely +- +- * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. +- * testsuite/22_locale/conversions/buffer/2.cc: New. +- +- * doc/xml/manual/appendix_contributing.xml: Link to the list of bad +- names, and link to the test docs and note higher DejaGnu version +- requirement. +- * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. +- * doc/xml/manual/mt_allocator.xml: Likewise. +- * doc/xml/manual/test.xml: Correct instructions on running tests. +- * doc/html/*: Regenerate. +- +- PR libstdc++/81092 +- * acinclude.m4: Bump libtool_VERSION. +- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. +- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. +- * config/abi/pre/gnu.ver: Add wstring constructor symbols to new +- GLIBCXX_3.4.24 version. +- * doc/xml/manual/abi.xml: Document new versions. +- * doc/html/*: Regenerate. +- * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object +- constructors to ensure required symbols are exported. +- * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. +- * testsuite/util/testsuite_abi.cc: Add new version. +- +- * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing +- return statement. +- * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: +- Return void. +- * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: +- Likewise. +- * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add +- missing return statements. +- * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: +- Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: +- Return void. +- * testsuite/special_functions/14_expint/pr68397.cc: Likewise. +- +-2017-06-07 Jonathan Wakely +- +- PR libstdc++/81002 +- * include/bits/regex_compiler.h (__compile_nfa): Add template argument +- list to specify traits type. +- * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. +- +-2017-05-19 Jonathan Wakely +- +- PR libstdc++/80796 +- * include/bits/stl_algo.h (search): Add new overload for C++17. +- * testsuite/25_algorithms/search/searcher.cc: New. +- +-2017-05-18 Jonathan Wakely +- +- PR libstdc++/80478 +- * include/std/functional (_Mem_fn_traits_base): Add specializations +- for noexcept member function types. +- * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. +- +-2017-05-18 Jonathan Wakely +- +- * doc/xml/manual/policy_data_structures.xml: Fix typo. +- * doc/xml/manual/test_policy_data_structures.xml: Likewise. +- * doc/html/*: Regenerate. +- +- * doc/xml/manual/abi.xml: Document latest library versions. +- * doc/xml/manual/build_hacking.xml: Document requirement to update +- abi.xml when bumping library versions. +- * doc/html/*: Regenerate. +- +-2017-05-15 Jonathan Wakely +- +- PR libstdc++/80761 +- * include/bits/node_handle.h (_Node_insert_return): Reorder members. +- (tuple_size, tuple_element): Remove partial specializations. +- * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use +- const_iterator for std::set. +- * testsuite/23_containers/map/modifiers/extract.cc: New. +- * testsuite/23_containers/set/modifiers/extract.cc: New. +- * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. +- * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. +- +-2017-05-12 Jonathan Wakely +- +- PR libstdc++/78939 +- * include/std/utility (tuple_size) [__cplusplus > 201402L]: +- Only define partial specializations when tuple_size::value is +- valid. +- * testsuite/20_util/tuple/78939.cc: New. +- +-2017-05-02 Release Manager +- +- * GCC 7.1.0 released. +- +-2017-04-19 Jonathan Wakely +- +- * doc/xml/manual/abi.xml: Rephrase one of the references to the +- Itanium C++ ABI. +- * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. +- * doc/html/*: Regenerate. +- +- * libsupc++/new: Update comment on #endif directive. +- +- PR libstdc++/80448 +- * include/experimental/bits/fs_dir.h (directory_iterator) +- (recursive_directory_iterator): Remove noexcept from defaulted +- constructors. +- +- PR libstdc++/80446 +- * include/std/type_traits (is_aggregate): Change __has_builtin checks. +- * libsupc++/new (launder): Likewise. +- +-2017-04-18 Jonathan Wakely +- +- * include/std/functional (default_searcher, __boyer_moore_array_base) +- (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher) +- (boyer_moore_horspool_searcher): Remove redundant namespace +- qualification. +- (default_searcher::operator()): Construct return value early and +- advance second member in-place. +- (boyer_moore_horspool_searcher::operator()): Increment random access +- iterator directly instead of using std::next. +- (boyer_moore_searcher::operator()): Fix return value. +- * testsuite/20_util/function_objects/searchers.cc: Check both parts +- of return values. +- +-2017-04-12 Gerald Pfeifer +- +- * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. +- * doc/xml/manual/abi.xml. Ditto (thrice). +- +-2017-04-03 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry. +- * doc/html/*: Regenerate. +- +- * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests +- that no longer fail. +- +- * include/bits/ios_base.h: Correct comment. +- * testsuite/util/testsuite_hooks.h: Likewise. +- +- * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. +- * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add +- directories for debug, parallel and profile headers. +- * doc/html/*: Regenerate. +- +- * include/bits/char_traits.h (__gnu_cxx::char_traits): Add +- _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. +- (std::char_traits, std::char_traits): Add +- _GLIBCXX17_CONSTEXPR on assign. +- (std::char_traits, std::char_traits): Add +- _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. +- * testsuite/21_strings/char_traits/requirements/ +- constexpr_functions_c++17.cc: New test. +- +-2017-04-03 Ville Voutilainen +- +- PR libstdc++/79141 +- * include/bits/stl_pair.h (__nonesuch_no_braces): New. +- (operator=3D(typename conditional< +- __and_, +- is_copy_assignable<_T2>>::value, +- const pair&, const __nonesuch&>::type)): Change __nonesuch +- to __nonesuch_no_braces. +- (operator=3D(typename conditional< +- __not_<__and_, +- is_copy_assignable<_T2>>>::value, +- const pair&, const __nonesuch&>::type)): Likewise. +- (operator=3D(typename conditional< +- __and_, +- is_move_assignable<_T2>>::value, +- pair&&, __nonesuch&&>::type)): Likewise. +- * testsuite/20_util/pair/79141.cc: New. +- +-2017-04-03 Ville Voutilainen +- +- Implement std::is_aggregate. +- * include/std/type_traits (is_aggregate, is_aggregate_v): New. +- * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: +- New. +- * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. +- * testsuite/20_util/is_aggregate/value.cc: Likewise. +- +-2017-03-29 Ville Voutilainen +- +- Adjust optional's pretty printer for LWG 2900. +- * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__): +- Look at the nested payload in case of non-experimental optional. +- +-2017-03-29 Ville Voutilainen +- +- Implement LWG 2900, The copy and move constructors +- of optional are not constexpr. +- * include/std/optional (_Optional_payload): New. +- (_Optional_base): Remove the bool parameter. +- (_Optional_base<_Tp, false>): Remove. +- (_Optional_base()): Adjust. +- (_Optional_base(nullopt_t)): Likewise. +- (_Optional_base(in_place_t, _Args&&...)): Likewise. +- (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): +- Likewise. +- (_Optional_base(const _Optional_base&)): Likewise. +- (_Optional_base(_Optional_base&&)): Likewise. +- (operator=3D(const _Optional_base&)): Likewise. +- (operator=3D(_Optional_base&&)): Likewise. +- (~_Optional_base()): Remove. +- (_M_is_engaged()): Adjust. +- (_M_get()): Likewise. +- (_M_construct(_Args&&...)): Likewise. +- (_M_destruct()): Likewise. +- (_M_reset()): Likewise. +- (_Optional_base::_Empty_byte): Remove. +- (_Optional_base::_M_empty): Remove. +- (_Optional_base::_M_payload): Adjust. +- * testsuite/20_util/optional/cons/value_neg.cc: Adjust. +- * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests. +- +-2017-03-28 Jonathan Wakely +- +- PR libstdc++/80137 +- * include/bits/random.tcc (generate_canonical): Use std::nextafter +- or numeric_limits::epsilon() to reduce out-of-range values. +- * testsuite/26_numerics/random/uniform_real_distribution/operators/ +- 64351.cc: Verify complexity requirement is met. +- +- * doc/xml/manual/abi.xml: Add xml:id anchor. +- * doc/xml/manual/using.xml (manual.intro.using.macros): Document +- _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes. +- (concurrency.io.structure): Add markup. +- * doc/html/*: Regenerate. +- +- PR libstdc++/80229 +- * include/bits/shared_ptr_base.h +- (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to +- non-const and then use remove_cv to get unqualified type. +- * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't +- cast away constness on object created const. +- * testsuite/20_util/shared_ptr/cons/80229.cc: New test. +- +-2017-03-26 Markus Trippelsdorf +- +- PR libstdc++/80183 +- * include/bits/stl_tree.h: +- (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color. +- +-2017-03-23 Jonathan Wakely +- +- * testsuite/23_containers/array/tuple_interface/ +- tuple_element_debug_neg.cc: Adjust dg-error. +- * testsuite/23_containers/list/operations/78389.cc: Fix less-than to +- define a valid strict weak ordering. +- * testsuite/23_containers/priority_queue/67085.cc: Disable test for +- Debug Mode, due to debug checks making extra copies of predicate. +- * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: +- Likewise. +- +- * doc/xml/faq.xml: Add link. +- * doc/xml/manual/backwards_compatibility.xml: Remove outdated +- information on pre-ISO headers. Replace broken link to C++ FAQ Lite. +- * doc/xml/manual/io.xml: Update broken link. +- * doc/html/*: Regenerate. +- +-2017-03-23 Daniel Kruegler +- +- Implement LWG 2686, Why is std::hash specialized for error_code, +- but not error_condition? +- * include/std/system_error (hash): Define for C++17. +- * testsuite/20_util/hash/operators/size_t.cc (hash): +- Instantiate test for error_condition. +- * testsuite/20_util/hash/requirements/explicit_instantiation.cc +- (hash): Instantiate hash. +- +- * include/bits/c++config (_GLIBCXX17_INLINE): Define. +- * include/bits/regex_constants.h (All std::regex_constants constants): +- Add _GLIBCXX17_INLINE as per P0607R0. +- * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): +- Likewise. +- * include/bits/stl_pair.h (piecewise_construct): Likewise. +- * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) +- (__is_uses_allocator_constructible_v) +- (__is_nothrow_uses_allocator_constructible_v): Likewise. +- * include/std/chrono (treat_as_floating_point_v): Likewise. +- * include/std/functional (is_bind_expression_v, is_placeholder_v): +- Likewise. +- * include/std/optional (nullopt): Likewise. +- * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) +- ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. +- * include/std/system_error (is_error_code_enum_v) +- (is_error_condition_enum_v): Likewise. +- * include/std/tuple (tuple_size_v, ignore): Likewise. +- (ignore): Declare ignore constexpr as per LWG 2773, declare assignment +- constexpr as per LWG 2933. +- * include/std/type_traits (All variable templates): Add +- _GLIBCXX17_INLINE as per P0607R0. +- * include/std/variant (variant_size_v, variant_npos, __index_of_v) +- (__tuple_count_v, __exactly_once): Likewise. +- * testsuite/18_support/headers/new/synopsis.cc +- (hardware_destructive_interference_size) +- (hardware_constructive_interference_size): Likewise for commented-out +- variables. +- * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new +- test function for constexpr std::ignore (LWG 2773). +- * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New +- test for LWG 2933. +- +-2017-03-22 Jonathan Wakely +- +- * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction +- guides for C++17. +- * include/bits/std_function.h (function): Likewise. +- * include/bits/stl_pair.h (pair): Likewise. +- * include/debug/array (__gnu_debug::array): Likewise. +- * include/std/array (array): Likewise. +- * include/std/functional (make_default_searcher) +- (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher): +- Remove generator functions. +- * include/std/tuple (tuple): Add deduction guides. +- * include/std/valarray (valarray): Likewise. +- * testsuite/20_util/function_objects/searchers.cc: Adjust to use +- class template argument deduction instead of generator functions. +- * testsuite/20_util/function/cons/deduction.cc: New test. +- * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ... +- * testsuite/20_util/optional/cons/deduction.cc: ... here. +- * testsuite/20_util/pair/cons/deduction.cc: New test. +- * testsuite/20_util/shared_ptr/cons/deduction.cc: New test. +- * testsuite/20_util/tuple/cons/deduction.cc: New test. +- * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error. +- * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test. +- * testsuite/20_util/weak_ptr/cons/deduction.cc: New test. +- * testsuite/23_containers/array/cons/deduction.cc: New test. +- * testsuite/23_containers/array/cons/deduction_neg.cc: New test. +- * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: +- Adjust dg-error. +- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. +- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: +- Likewise. +- * testsuite/26_numerics/valarray/deduction.cc: New test. +- * testsuite/30_threads/lock_guard/cons/deduction.cc: New test. +- * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test. +- * testsuite/30_threads/unique_lock/cons/deduction.cc: New test. +- +-2017-03-20 Fran=C3=A7ois Dumont +- +- * include/bits/stl_deque.h (deque): Access allocator value_type only if +- concept checks are enabled. +- * include/bits/stl_stack.h (stack): Likewise. +- * include/bits/stl_vector.h (vector): Likewise. +- * include/bits/stl_list.h (list): Likewise and check +- _SGIAssignableConcept only in C++03. +- * include/bits/stl_map.h (map): Likewise. +- * include/bits/stl_set.h (set): Likewise. +- * include/bits/stl_multimap.h (multimap): Likewise. +- * include/bits/stl_multiset.h (multiset): Likewise. +- * include/bits/stl_queue.h (queue, priority_queue): Likewise. +- +-2017-03-18 Gerald Pfeifer +- +- * doc/xml/manual/appendix_contributing.xml: Convert link to +- ansi.org to https. +- Update link to the C++ standard at ansi.org. +- +- * doc/xml/faq.xml: Remove information redundant with the above; +- instead add a reference. +- +-2017-03-17 Jonathan Wakely +- +- * src/c++11/codecvt.cc (range): Add non-type template parameter and +- define oerloaded operators for reading and writing code units. +- (range): Define partial specialization for accessing +- wide characters in potentially unaligned byte ranges. +- (ucs2_span(const char16_t*, const char16_t*, ...)) +- (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters +- to range in order to avoid unaligned reads. +- (__codecvt_utf16_base::do_out) +- (__codecvt_utf16_base::do_out) +- (__codecvt_utf16_base::do_out): Use range specialization for +- unaligned data to avoid unaligned writes. +- (__codecvt_utf16_base::do_in) +- (__codecvt_utf16_base::do_in) +- (__codecvt_utf16_base::do_in): Likewise for writes. Return +- error if there are unprocessable trailing bytes. +- (__codecvt_utf16_base::do_length) +- (__codecvt_utf16_base::do_length) +- (__codecvt_utf16_base::do_length): Pass arguments of type +- range to span functions. +- * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. +- +-2017-03-16 Jonathan Wakely +- +- PR libstdc++/79980 +- * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. +- +- PR libstdc++/80041 +- * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) +- (__codecvt_utf16_base::do_in): Convert char arguments to +- char16_t to work with UTF-16 instead of UTF-8. +- * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. +- +- * src/c++11/codecvt.cc (codecvt) +- (codecvt, __codecvt_utf8_base) +- (__codecvt_utf8_base, __codecvt_utf8_base) +- (__codecvt_utf16_base, __codecvt_utf16_base) +- (__codecvt_utf16_base, __codecvt_utf8_utf16_base) +- (__codecvt_utf8_utf16_base) +- (__codecvt_utf8_utf16_base): Fix do_encoding() and +- do_max_length() return values. +- * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. +- * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. +- * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. +- +- PR libstdc++/79980 +- * include/bits/locale_conv.h (__do_str_codecvt): Set __count on +- error path. +- * src/c++11/codecvt.cc (operator&=3D, operator|=3D, operator~): Overloads +- for manipulating codecvt_mode values. +- (read_utf16_bom): Compare input to BOM constants instead of integral +- constants that depend on endianness. Take mode parameter by +- reference and adjust it, to distinguish between no BOM present and +- UTF-16BE BOM present. +- (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. +- (surrogates): New enumeration type. +- (utf16_in, utf16_out): Add surrogates parameter to choose between +- UTF-16 and UCS2 behaviour. +- (utf16_span, ucs2_span): Use std::min not std::max. +- (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. +- (ucs2_in): Likewise. Adjust calls to read_utf16_bom. +- * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. +- * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. +- +- PR libstdc++/79511 +- * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff +- as a surrogate pair. +- (__codecvt_utf8_utf16_base::do_in): Use native endianness +- for internal representation. +- (__codecvt_utf8_utf16_base::do_in): Likewise. +- * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. +- +- PR libstdc++/80064 +- * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap) +- (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with +- invalid instantiations using function types for _Compare argument. +- * testsuite/25_algorithms/make_heap/80064.cc: New test. +- +- PR libstdc++/67440 +- * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name +- for GDB 7.6 compatibility, use gdb.Type.unqualified instead. +- +-2017-03-15 Ville Voutilainen +- +- Implement LWG 2857, {variant,optional,any}::emplace should +- return the constructed value. +- * include/std/any (emplace(_Args&&...)): Change the return type and +- return a reference to the constructed value. +- (emplace(initializer_list<_Up>, _Args&&...)): Likewise. +- * include/std/optional (emplace(_Args&&...)): Likewise. +- (emplace(initializer_list<_Up>, _Args&&...)): Likewise. +- * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise. +- (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise. +- (emplace<_Np>(_Args&&...)): Likewise. +- (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise. +- * testsuite/20_util/any/assign/emplace.cc: Add tests for +- checking the return value of emplace. +- * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. +- * testsuite/20_util/optional/assignment/6.cc: Add tests for +- checking the return value of emplace. +- * testsuite/20_util/variant/run.cc: Likewise. +- +-2017-03-15 Xi Ruoyao +- +- PR libstdc++/62045 +- * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp +- (is_heap): Remove. +- (push_heap): Remove the wrong checking using is_heap. +- (make_heap): Remove the assertion using is_heap. +- * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp +- (modify): Ditto. +- (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after +- calling make_heap. +- +-2017-03-15 Jonathan Wakely +- +- PR libstdc++/62045 +- * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: +- New test. +- * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste +- error in comment. +- +-2017-03-15 Jonathan Wakely +- +- * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in +- comment. +- * config.h.in: Regenerate. +- * configure: Regenerate. +- * doc/Makefile.in: Regenerate. +- +-2017-03-14 Jonathan Wakely +- +- PR libstdc++/79162 +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::operator=3D(basic_string_view)): Replace +- with a constrained template. +- [!_GLIBCXX_USE_CXX11_ABI] +- (basic_string::operator=3D(basic_string_view)): Likewise. +- * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. +- * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. +- +-2017-03-13 Ville Voutilainen +- +- PR libstdc++/80034 +- * include/bits/list.tcc (merge(list&&)): Use const for the size_t +- in the catch-block. +- (merge(list&&, _StrictWeakOrdering)): Likewise. +- * testsuite/23_containers/list/operations/80034.cc: New. +- +-2017-03-13 Ville Voutilainen +- +- Implement LWG 2806, Base class of bad_optional_access. +- * include/std/optional (bad_optional_access): +- Derive from std::exception. +- (bad_optional_access::bad_optional_access): Adjust. +- (bad_optional_access::what): New. +- (__throw_bad_optional_access(const char*)): +- Remove the parameter and adjust calls. +- * testsuite/20_util/optional/cons/value_neg.cc: Adjust. +- * testsuite/20_util/optional/typedefs.cc: Likewise. +- +-2017-03-12 Ville Voutilainen +- +- Implement LWG 2934, optional doesn't compare with T. +- * include/std/optional +- (operator=3D=3D(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator=3D=3D(const optional<_Tp>&, const optional<_Up>&). +- (operator!=3D(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator!=3D(const optional<_Tp>&, const optional<_Up>&). +- (operator<(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator<(const optional<_Tp>&, const optional<_Up>&. +- (operator>(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator>(const optional<_Tp>&, const optional<_Up>&. +- (operator<=3D(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator<=3D(const optional<_Tp>&, const optional<_Up>&). +- (operator>=3D(const optional<_Tp>&, const optional<_Tp>&)): +- Turn into operator>=3D(const optional<_Tp>&, const optional<_Up>&). +- (operator=3D=3D(const optional<_Tp>&, const _Tp&)): +- Turn into operator=3D=3D(const optional<_Tp>&, const _Up&). +- (operator=3D=3D(const _Tp&, const optional<_Tp>&)): +- Turn into operator=3D=3D(const _Up&, const optional<_Tp>&). +- (operator!=3D(const optional<_Tp>&, const _Tp&)): +- Turn into operator!=3D(const optional<_Tp>&, const _Up&). +- (operator!=3D(const _Tp&, const optional<_Tp>&)): +- Turn into operator!=3D(const _Up&, const optional<_Tp>&). +- (operator<(const optional<_Tp>&, const _Tp&)): +- Turn into operator<(const optional<_Tp>&, const _Up&). +- (operator<(const _Tp&, const optional<_Tp>&)): +- Turn into operator<(const _Up&, const optional<_Tp>&). +- (operator>(const optional<_Tp>&, const _Tp&)): +- Turn into operator>(const optional<_Tp>&, const _Up&). +- (operator>(const _Tp&, const optional<_Tp>&)): +- Turn into operator>(const _Up&, const optional<_Tp>&). +- (operator<=3D(const optional<_Tp>&, const _Tp&)): +- Turn into operator<=3D(const optional<_Tp>&, const _Up&). +- (operator<=3D(const _Tp&, const optional<_Tp>&)): +- Turn into operator<=3D(const _Up&, const optional<_Tp>&). +- (operator>=3D(const optional<_Tp>&, const _Tp&)): +- Turn into operator>=3D(const optional<_Tp>&, const _Up&). +- (operator>=3D(const _Tp&, const optional<_Tp>&)): +- Turn into operator>=3D(const _Up&, const optional<_Tp>&). +- * testsuite/20_util/optional/relops/7.cc: New. +- +-2017-03-10 Jonathan Wakely +- +- * testsuite/17_intro/names.cc: Undefine macros that clash with +- identifiers in AIX system headers. +- +- * include/bits/invoke.h (__invoke): Use __invoke_result instead of +- result_of, and __is_nothrow_invocable instead of +- __is_nothrow_callable. +- * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable +- instead of __is_callable. +- * include/std/functional (invoke): use invoke_result_t instead of +- result_of_t and is_nothrow_invocable instead of is_nothrow_callable. +- (_Not_fn): Use __invoke_result instead of result_of. +- * include/std/type_traits (__result_of_memobj, __result_of_memfun): +- Remove partial specializations for reference_wrapper types. +- (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. +- (__invoke_result): Define replacement for result_of and then use it to +- define result_of. +- (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace +- with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable +- respectively. +- (invoke_result, invoke_result_t): Define for C++17. +- (is_callable, is_nothrow_callable): Replace with is_invocable, +- is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. +- (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, +- is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. +- * include/std/variant (hash>): Use is_nothrow_invocable_v +- instead of is_nothrow_callable_v. +- * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused +- main function. +- * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable +- instead of is_callable. +- * testsuite/20_util/is_callable/*: Rename directory and adjust tests +- to use new traits. +- * testsuite/20_util/is_nothrow_callable/*: Likewise. +- * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of +- is_callable. +- * testsuite/20_util/variant/hash.cc: Likewise. +- +-2017-03-10 George Lander +- +- * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define +- _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. ++ * acinclude.m4: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. + * configure: Regenerate. +- +-2017-03-09 Jonathan Wakely +- +- * include/std/functional (_Not_fn): Define macro to simplify +- repetitive function definitions. +- +- * doc/xml/manual/status_cxx2017.xml: Document std::byte support. +- * include/c_global/cstddef (std::byte): Define for C++17. +- * testsuite/18_support/byte/global_neg.cc: New test. +- * testsuite/18_support/byte/ops.cc: New test. +- * testsuite/18_support/byte/requirements.cc: New test. +- +-2017-03-05 Jonathan Wakely +- +- * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status. +- * doc/html/*: Regenerate. +- * include/std/mutex (scoped_lock): Implement new C++17 template. +- * testsuite/30_threads/scoped_lock/cons/1.cc: New test. +- * testsuite/30_threads/scoped_lock/requirements/ +- explicit_instantiation.cc: New test. +- * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test. +- +-2017-03-02 Gerald Pfeifer +- Fran=C3=A7ois Dumont +- Jonathan Wakely +- +- * doc/xml/manual/debug_mode.xml: Update and simplify note +- on link- and run-time coexistence. +- +-2017-03-02 Jonathan Wakely +- +- * testsuite/17_intro/headers/names.cc: Rename to ... +- * testsuite/17_intro/names.cc: ... here. +- +- PR libstdc++/79789 +- * include/bits/hashtable_policy.h (__clp2): Use reserved names for +- parameters and local variables. +- * include/bits/ios_base.h (make_error_code, make_error_condition): +- Likewise. +- * include/bits/list.tcc (list::sort): Likewise. +- * include/bits/mask_array.h (mask_array): Likewise. +- * include/bits/regex.h (regex_token_iterator): Likewise. +- * include/bits/slice_array.h (slice_array): Likewise. +- * include/bits/stl_algo.h (__sample): Likewise. +- * include/std/memory (undeclare_no_pointers): Likewise. +- * include/std/type_traits (is_callable_v, is_nothrow_callable_v): +- Likewise. +- * libsupc++/exception_ptr.h (__dest_thunk): Likewise. +- * testsuite/17_intro/headers/names.cc: New test. +- +- PR libstdc++/79798 +- * include/std/functional (bind::_Res_type_impl): Fix incorrect use of +- result_of that loses top-level cv-qualifiers. +- * testsuite/20_util/bind/79798.cc: New test. +- +-2017-03-01 Gerald Pfeifer +- +- * doc/xml/manual/documentation_hacking.xml: Tweak link to +- doxygen.org. +- +-2017-02-23 Jonathan Wakely +- +- * include/experimental/iterator: Include . +- * testsuite/experimental/iterator/requirements.cc: Check for contents +- of . +- +-2017-02-19 Dinka Ranns +- +- C++17 GB50 resolution +- * include/std/chrono (duration::operator++()): Add +- _GLIBCXX17_CONSTEXPR. +- (duration::operator++(int)): Likewise. +- (duration::operator--()): Likewise. +- (duration::operator--(int)): Likewise. +- (duration::operator+=3D(const duration&)): Likewise. +- (duration::operator-=3D(const duration&)): Likewise. +- (duration::operator*=3D(const rep&)): Likewise. +- (duration::operator/=3D(const rep&)): Likewise. +- (duration::operator%=3D(const rep&)): Likewise. +- (duration::operator%=3D(const duration&)): Likewise. +- (time_point::operator+=3D(const duration&)): Likewise. +- (time_point::operator-=3D(const duration&)): Likewise. +- * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test. +- * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. +- * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test. +- +-2017-02-19 Gerald Pfeifer +- +- * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer. +- +-2017-02-18 Gerald Pfeifer +- +- * doc/xml/manual/io.xml: Update link to groups.google.com. +- Tweak link description. +- +-2017-02-18 Gerald Pfeifer +- +- * doc/xml/manual/profile_mode.xml: Fix link. +- +-2017-02-16 Gerald Pfeifer +- +- * doc/xml/manual/policy_data_structures.xml: Simplify and +- standardize references to boost.org. +- * doc/xml/manual/policy_data_structures_biblio.xml: Ditto. +- * doc/xml/manual/shared_ptr.xml: Ditto. +- +-2017-02-16 Jonathan Wakely +- +- PR libstdc++/60936 +- * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length +- written to buffer, not length remaining in buffer. +- +-2017-02-15 Tim Shen +- +- PR libstdc++/78723 +- * include/std/variant (operator<(), operator>(), operator<=3D(), +- operator>=3D(), operator=3D=3D(), operator!=3D()): Implement P0393R3. +- * testsuite/20_util/variant/compile.cc: Adjust tests. +- * testsuite/20_util/variant/run.cc: Adjust tests. +- +-2017-02-15 Tim Shen +- +- PR libstdc++/79513 +- * include/std/variant (visit()): Forward variant types to the return +- type detection code. +- * testsuite/20_util/variant/compile.cc: Add test cases. +- +-2017-02-13 H.J. Lu +- +- PR libstdc++/79348 +- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. +- +-2017-02-13 Jakub Jelinek +- +- PR libstdc++/79348 +- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. +- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. +- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. +- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. +- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. +- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. +- * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. +- * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. +- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. +- +-2017-02-13 Jonathan Wakely +- +- PR libstdc++/79486 +- * include/std/future (__future_base::_Task_state::_M_run) +- (__future_base::_Task_state::_M_run_delayed): Use lvalue types in +- result_of expressions. +- * testsuite/30_threads/packaged_task/79486.cc: New. +- +-2017-02-11 Jonathan Wakely +- +- PR libstdc++/79467 +- * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter)) +- (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in +- __is_callable check. +- * testsuite/20_util/shared_ptr/cons/79467.cc: New. +- +- * include/bits/atomic_base.h: Re-indent. +- +-2017-02-10 Gerald Pfeifer +- +- * doc/xml/manual/profile_mode.xml: Update a paper reference. +- +-2017-02-08 Gerald Pfeifer +- +- * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting. +- +-2017-02-08 Jonathan Wakely +- +- * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's +- name. +- * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove +- broken links to texts that are no longer online. +- * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and +- LCPC 2006 paper. +- * doc/xml/manual/using.xml: Update links to memory model information. +- * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: +- Standard-Library Exception Safety". +- * doc/html/*: Regenerate. +- +-2017-02-08 Gerald Pfeifer +- +- * doc/xml/manual/profile_mode.xml: Unbreak link to +- "Optimizing Sorting with Machine Learning Algorithms". +- +-2017-02-08 Gerald Pfeifer +- +- * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. +- +-2017-02-08 Gerald Pfeifer +- +- * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ +- Migration Guide". +- +-2017-02-07 Gerald Pfeifer +- +- * doc/html/ext/lwg-active.html: Remove. +- * doc/html/ext/lwg-closed.html: Ditto. +- * doc/html/ext/lwg-defects.html: Ditto. +- +- * doc/Makefile.am (xml_extradir): Remove. +- (xml_extra): Ditto. +- (stamp-html-docbook-lwg): Remove recipe... +- (stamp-html-docbook-data): ...and its use here. + * doc/Makefile.in: Regenerate. +- +- * doc/xml/manual/intro.xml: Shorten two paragraphs explaining +- the relationship to the upstream working group. +- Replace a local link to ../ext/lwg-active.html by the upstream one. +- Replace all reference to ../ext/lwg-defects.html by a new entity +- &DR; which refers to the upstream address. +- +-2017-02-07 Gerald Pfeifer +- +- * doc/xml/manual/status_cxx2017.xml: Fix link to N4284. +- +-2017-02-06 Jonathan Wakely +- +- PR libstdc++/79323 +- * testsuite/20_util/duration/literals/range.cc: Prune extra output +- at -O0. +- +-2017-02-06 Gerald Pfeifer +- +- * doc/xml/manual/documentation_hacking.xml: Update URL of the +- DocBook Element Reference. Use that term as link description +- instead of "online". +- epubcheck has moved to GitHub. +- Remove obsolete link to DocBook Publishing Tools. +- +-2017-02-03 Jonathan Wakely +- +- PR libstdc++/66145 +- * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override +- so new ios::failure can be caught even when old ABI is the default. +- * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/char/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/ios_base/storage/2.cc: Likewise. +- +- PR libstdc++/60936 +- * src/c++11/Makefile.am: Add new files. ++ * include/Makefile.in: Regenerate. ++ * libsupc++/Makefile.in: Regenerate. ++ * po/Makefile.in: Regenerate. ++ * python/Makefile.in: Regenerate. ++ * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. +- * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] +- (operator<<, operator>>, getline): Move explicit instantiations to ... +- * src/c++11/cow-string-io-inst.cc: ... new file. +- * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] +- (operator<<, operator>>, getline): Move explicit instantiations to ... +- * src/c++11/cow-wstring-io-inst.cc: ... new file. +- * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) +- (__throw_future_error, __throw_bad_function_call): +- (__throw_regex_error): Move functions for C++11 exceptions to the +- files that define the exception types. +- * src/c++11/functional.cc (__throw_bad_function_call): Move here. +- * src/c++11/future.cc (__throw_future_error): Likewise. +- * src/c++11/ios.cc (__throw_ios_failure): Likewise. +- * src/c++11/regex.cc (__throw_regex_error): Likewise. +- * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal +- representation directly instead of calling __int_to_char. +- * src/c++11/sso_string.cc (__sso_string): New file for definition +- of __sso_string type. +- * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for +- explicit instantiations of narrow string I/O functions. +- * src/c++11/system_error.cc (__throw_system_error): Move here. +- (__sso_string): Move to new file. +- * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for +- explicit instantiations of wide string I/O functions. +- * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) +- (operator>>, getline): Remove explicit instantiations from here. +- +-2017-02-02 H.J. Lu +- +- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. +- +-2017-02-02 Rainer Orth +- +- * configure.host: Separate Solaris/SPARC and x86 baselines. +- * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... +- * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. +- * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... +- * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: +- ... here. +- * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... +- * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. +- * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. +- * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... +- * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. +- * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... +- * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: +- ... here. +- * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... +- * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. +- * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. +- +- * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. +- * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. +- * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. +- * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. +- * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. +- * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. +- +-2017-02-01 Jonathan Wakely ++ * src/c++17/Makefile.in: Regenerate. ++ * src/c++98/Makefile.in: Regenerate. ++ * src/filesystem/Makefile.in: Regenerate. ++ * testsuite/Makefile.in: Regenerate. +=20 +- PR libstdc++/78346 +- * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator +- not its referent. +- (_Iter_comp_to_iter): Likewise. +- * testsuite/25_algorithms/search/78346.cc: New test. ++2020-01-23 Alexandre Oliva +=20 +- PR libstdc++/79254 +- * config/abi/pre/gnu.ver: Remove recently added symbols. +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_M_copy_assign): Remove. +- (basic_string::operator=3D(const basic_string&)): Don't dispatch to +- _M_copy_assign. If source object is small just deallocate, otherwise +- perform new allocation before making any changes. +- * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_M_copy_assign(const basic_string&, true_type)): +- Remove. +- * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: +- Test cases where the allocators are equal or the string is small. +- * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: +- Likewise. ++ * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros. ++ * configure: Rebuild. +=20 +-2017-01-30 Ville Voutilainen ++ * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t. +=20 +- Implement LWG 2825, LWG 2756 breaks class template argument +- deduction for optional. +- * include/std/optional: Add a deduction guide. +- * testsuite/20_util/optional/cons/deduction_guide.cc: New. ++2020-01-23 Jonathan Wakely +=20 +-2017-01-27 Jonathan Wakely +- +- PR libstdc++/79254 +- * config/abi/pre/gnu.ver: Add new symbols. +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_M_copy_assign): New overloaded functions to perform +- copy assignment. +- (basic_string::operator=3D(const basic_string&)): Dispatch to +- _M_copy_assign. +- * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] +- (basic_string::_M_copy_assign(const basic_string&, true_type)): +- Define, performing rollback on exception. +- * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: +- Test exception-safety guarantee. +- * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: +- Likewise. +- * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make +- std::swap visible. +- +-2017-01-26 Jonathan Wakely +- +- PR libstdc++/70607 +- * include/tr1/complex (conj): Remove using-declaration and restore +- overloads, reverting previous change. +- +- * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 +- mode. +- * testsuite/23_containers/priority_queue/requirements/constructible.cc: +- Mark as unsupported in C++98 mode. +- * testsuite/23_containers/queue/requirements/constructible.cc: +- Likewise. +- * testsuite/23_containers/stack/requirements/constructible.cc: +- Likewise. +- * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode. +- +- PR libstdc++/79243 +- * include/bits/c++config (literals::string_view_literals::__7): Add. +- Only declare versioned namespaces for the relevant C++ dialects. +- * include/experimental/bits/erase_if.h (fundamentals_v2::__detail): +- Add versioning macros. +- * include/experimental/bits/lfts_config.h: +- (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add. +- * include/experimental/string_view (fundamentals_v2::__detail): +- Add versioning macros. +- (fundamentals_v2::__detail::__identity): Remove. +- (fundamentals_v2::__detail::__idt): Use common_type instead of +- __detail::__identity. +- * include/std/string_view (__detail::__identity, __detail::__idt): +- Likewise. +- (literals::string_view_literals): Fix nesting of versioning macros. +- +- PR libstdc++/79190 +- * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t)) +- [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN +- && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]: +- Retrieve original pointer value allocated by malloc. +- * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC +- && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN +- && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)): +- Define, adjusting pointer value allocated by malloc and storing for +- retrieval by operator delete. +- +-2017-01-26 Jakub Jelinek +- +- * libsupc++/eh_atomics.h: Update copyright years. +- * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years. +- +-2017-01-25 Jonathan Wakely +- +- PR libstdc++/61791 +- PR libstdc++/70607 +- * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR. +- (proj(T), conj(T)): Change return types per DR 1522. +- * include/tr1/complex (conj): Remove overloads and use std::conj. +- * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to... +- * testsuite/26_numerics/complex/dr781.cc: ... this, and update. +- * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test +- real(T) and imag(T). Allow testing for C++11 too. +- +-2017-01-24 Jonathan Wakely +- +- PR libstdc++/79206 +- * include/experimental/string_view (operator=3D=3D): Check sizes first. +- * include/std/string_view (operator=3D=3D): Likewise. +- +-2017-01-23 Jonathan Wakely +- +- * testsuite/experimental/array/make_array.cc: Restore +- inclusion. +- +-2017-01-23 Thomas Preud'homme +- +- * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins. +- +-2017-01-23 Jonathan Wakely +- +- PR libstdc++/79195 +- * include/experimental/array (__make_array_elem): New class template +- and partial specialization. +- (__is_reference_wrapper): Move into __make_array_elem specialization. +- (make_array): Use __make_array_elem to determine element type and move +- static assertion into specialization. Qualify std::forward call. +- (to_array): Add exception specifiation. +- * testsuite/experimental/array/make_array.cc: Test argument types +- without a common type. +- * testsuite/experimental/array/neg.cc: Adjust expected error message. +- +-2017-01-22 Gerald Pfeifer +- +- * doc/xml/manual/debug.xml: code.google.com uses https now. +- +-2017-01-22 Gerald Pfeifer +- +- * doc/xml/manual/test.xml: Fix link into gccint online manual. +- +-2017-01-21 Ville Voutilainen +- +- Make poisoned hashes SFINAE away the call operator of the hash. +- * include/bits/functional_hash.h +- (__poison_hash::__enable_hash_call): New. +- * include/std/optional (__optional_hash_call_base): New. +- (hash>): Derive from the new base, +- move the hash function into that base. +- * include/std/variant (__variant_hash_call_base_impl): New. +- (__variant_hash_call_base): Likewise. +- (hash>): Derive from the new base, +- move the hash function into that base. +- * testsuite/20_util/optional/hash.cc: Add tests for is_callable. +- * testsuite/20_util/variant/hash.cc: Likewise. +- +-2017-01-20 Joe Seymour +- +- * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. +- * configure: Regenerate. +- +-2017-01-20 Jonathan Wakely +- +- PR libstdc++/69240 +- * include/bits/random.h (uniform_real_distribution::param_type) +- (normal_distribution::param_type, lognormal_distribution::param_type) +- (gamma_distribution::param_type, chi_squared_distribution::param_type) +- (cauchy_distribution::param_type, fisher_f_distribution::param_type) +- (student_t_distribution::param_type) +- (bernoulli_distribution::param_type, binomial_distribution::param_type) +- (geometric_distribution::param_type) +- (negative_binomial_distribution::param_type) +- (poisson_distribution::param_type) +- (exponential_distribution::param_type) +- (weibull_distribution::param_type) +- (extreme_value_distribution::param_type) +- (discrete_distribution::param_type) +- (piecewise_constant_distribution::param_type) +- (piecewise_linear_distribution::param_type): Define operator!=3D. +- * include/bits/uniform_int_dist.h +- (uniform_int_distribution::param_type): Likewise. +- * include/ext/random (beta_distribution::param_type) +- (rice_distribution::param_type, nakagami_distribution::param_type) +- (pareto_distribution::param_type, k_distribution::param_type) +- (arcsine_distribution::param_type, hoyt_distribution::param_type) +- (triangular_distribution::param_type) +- (von_mises_distribution::param_type) +- (hypergeometric_distribution::param_type) +- (logistic_distribution::param_type) +- (uniform_on_sphere_distribution::param_type) +- (uniform_inside_sphere_distribution::param_type): Likewise. +- * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: +- Test construction with param_type. +- * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/extreme_value_distribution/cons/ +- parms.cc: Likewise. +- * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/negative_binomial_distribution/cons/ +- parms.cc: Likewise. +- * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc: +- Likewise. +- * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: +- Likewise. +- * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: +- Likewise. +- * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. +- * testsuite/ext/random/triangular_distribution/cons/parms.cc: +- Likewise. +- * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ +- parms.cc: Likewise. +- * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. +- +- PR libstdc++/72792 +- * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) +- (__allocator_traits_base::__size_type): Remove. +- (allocator_traits::_Ptr): New class template to detect const and void +- pointer types without instantiating pointer_traits::rebind +- unnecessarily. +- (allocator_traits::_Diff): Likewise for detecting difference_type. +- (allocator_traits::_Size): New class template to detect size_type +- without instantiating make_unsigned unnecessarily. +- * include/bits/ptr_traits.h (pointer_traits::element_type): Use +- __detected_or_t instead of __detected_or_t_. +- * include/std/type_traits (__detected_or_t_): Remove. +- * testsuite/20_util/allocator_traits/members/pointers.cc: New test. +- +- PR libstdc++/72792 +- PR libstdc++/72793 +- * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): +- Replace with class template using void_t. +- (__alloc_rebind): Define in terms of +- __allocator_traits_base::__rebind. +- (allocator_traits): Remove unconditional static_assert for +- rebind_alloc. +- * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. +- (pointer_traits::__rebind): Replace with class template using void_t. +- (pointer_traits::rebind): Define in terms of __rebind. +- (pointer_traits): Remove unconditional static_assert for rebind. +- * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. +- * testsuite/20_util/pointer_traits/rebind.cc: New test. +- +- PR libstdc++/69321 +- * include/experimental/any (__any_caster): Avoid instantiating +- manager function for types that can't be stored in any. +- * include/std/any (__any_caster): Likewise. +- * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type. +- * testsuite/experimental/any/misc/any_cast.cc: Likewise. +- +- PR libstdc++/64903 +- * include/bits/stl_algo.h (is_partitioned): Use increment instead of +- std::advance. +- +-2017-01-19 Jonathan Wakely +- +- PR libstdc++/79156 +- * include/bits/shared_ptr_base.h (__enable_shared_from_this_base): +- Fix return type. +- (__enable_shared_from_this): Declare __shared_ptr as a friend. +- * testsuite/ext/shared_ptr/1.cc: New test. +- +- PR libstdc++/64903 +- * include/bits/stl_algo.h (is_partitioned): Don't retest the partition +- point. +- * testsuite/25_algorithms/is_partitioned/2.cc: New test. +- +- * doc/xml/manual/abi.xml: Fix typo. +- * doc/html/manual/abi.html: Likewise. +- +- PR libstdc++/67085 +- * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add +- converting constructors from _Iter_less_iter. +- (_Iter_comp_val, _Val_comp_iter): Add converting constructors from +- _Iter_comp_iter. +- (__iter_comp_val(_Iter_comp_iter): Use converting constructor. +- (__val_comp_iter(_Iter_comp_iter): Likewise. +- * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap) +- (__make_heap, __sort_heap): Change _Compare parameters to references. +- (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap) +- (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison +- functions as lvalues. +- (is_heap): Call __is_heap_until directly to avoid copying __comp. +- * testsuite/23_containers/priority_queue/67085.cc: Adjust test to +- count copies during construction with empty sequence. +- +- PR libstdc++/67085 +- * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE. +- (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops. +- * testsuite/23_containers/priority_queue/67085.cc: Adjust expected +- number of copies. +- * testsuite/25_algorithms/make_heap/movable.cc: New test. +- +- PR libstdc++/67085 +- * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap) +- (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use +- _GLIBCXX_MOVE when passing comparison function to other functions. +- (is_heap_until, is_heap): Use std::move when passing comparison +- function. +- * testsuite/23_containers/priority_queue/67085.cc: New test. +- +- PR libstdc++/78905 +- * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to +- macro names, filenames, and literal values. Document _GLIBCXX_RELEASE. +- Document that the deprecated _GLIBCXX_VERSION macro was removed for +- the 4.0.0 release. +- * doc/html/*: Regenerate. +- * include/Makefile.am (_GLIBCXX_RELEASE): Set value. ++ PR libstdc++/91947 ++ * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify ++ rule. + * include/Makefile.in: Regenerate. +- * include/bits/c++config (_GLIBCXX_RELEASE): Add #define. +- * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in +- dg-error. +- +-2017-01-18 Jonathan Wakely +- +- PR libstdc++/69301 +- * include/std/atomic (atomic::load, atomic::exchange): Use +- aligned buffer instead of default-initialized variable. +- * testsuite/29_atomics/atomic/69301.cc: New test. +- * include/experimental/memory (observer_ptr::release): Use reserved +- name. +- * include/ext/pointer.h (_Pointer_adapter::operator++(int)) +- (_Pointer_adapter::operator--(int)): Likewise. +- +- PR libstdc++/68925 +- * include/experimental/random (randint): Use temporary instead of +- thread_local static. +- +-2017-01-17 Joshua Conner +- +- * crossconfig.m4: Add fuchsia OS. +- * configure: Regenerate. +- +-2017-01-17 Jonathan Wakely +- +- PR libstdc++/69699 +- * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the +- __GLIBCXX__ macro is not useful. Remove redundant date information +- and link to the GCC release timeline. +- (abi.versioning.active): Move partial sentence into the previous +- paragraph. +- * doc/html/*: Regenerate. +- +- PR libstdc++/79114 +- * libsupc++/nested_exception.h (throw_with_nested): Use decay instead +- of remove_reference. +- * testsuite/18_support/nested_exception/79114.cc: New test. +- +-2017-01-17 Jakub Jelinek +- +- PR other/79046 +- * configure.ac: Add GCC_BASE_VER. +- * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to +- get version from BASE-VER file. +- * po/Makefile.in: Regenerated. +- * libsupc++/Makefile.in: Regenerated. +- * testsuite/Makefile.in: Regenerated. +- * src/Makefile.in: Regenerated. +- * configure: Regenerated. +- * Makefile.in: Regenerated. +- * include/Makefile.in: Regenerated. +- * doc/Makefile.in: Regenerated. +- * python/Makefile.in: Regenerated. +- * src/c++11/Makefile.in: Regenerated. +- * src/c++98/Makefile.in: Regenerated. +- * src/filesystem/Makefile.in: Regenerated. +- +-2017-01-16 Jonathan Wakely +- +- PR libstdc++/66145 +- * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure +- exceptions. +- * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI +- for test, so new ios::failure can be caught. +- * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/char/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ +- exceptions_failbit.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/extractors_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. +- * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/char/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ +- exceptions_null.cc: Likewise. +- * testsuite/27_io/ios_base/storage/2.cc: Likewise. +- +- PR libstdc++/78702 +- * include/bits/locale_classes.h (locale::facet::__shim): Change from +- private to protected. +- * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to +- make locale::facet::__shim accessible. +- +-2017-01-16 Ville Voutilainen +- +- PR libstdc++/78389 +- * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. +- (merge(list&&, _StrictWeakOrdering)): Likewise. +- * testsuite/23_containers/list/operations/78389.cc: Add +- better test for the sizes. +- +-2017-01-14 Jonathan Wakely +- +- * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: +- Skip test when -D_GLIBCXX_PROFILE mode is included in options. +- * testsuite/23_containers/map/modifiers/extract.cc: Likewise. +- * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: +- Likewise. +- * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. +- * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. +- * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. +- * testsuite/23_containers/set/modifiers/extract.cc: Likewise. +- * testsuite/23_containers/unordered_map/modifiers/extract.cc: +- Likewise. +- * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: +- Likewise. +- * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: +- Likewise. +- * testsuite/23_containers/unordered_set/modifiers/extract.cc: +- Likewise. +- * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: +- Likewise. +- * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. +- * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. +- * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. +- * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. +- * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. +- * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. +- +-2017-01-13 Jonathan Wakely +- +- PR libstdc++/65411 +- * config/io/basic_file_stdio.cc (__basic_file::close()): Don't +- retry fclose on EINTR. +=20 +- * include/profile/base.h: Remove unused header that leads to header +- cycle in C++17 mode. ++2020-01-20 Jonathan Wakely +=20 +- PR libstdc++/79075 +- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): +- Make _If_sv private. +- [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking +- basic_string_view arguments. +- +- PR libstdc++/79075 +- * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove +- redundant option from cxxflags. +- (check_effective_target_cxx11-abi): Define. +- * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi +- effective target. +- * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. +- * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/char/minimal.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. +- * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: +- Likewise. +- * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: +- Likewise. +- * testsuite/23_containers/list/61347.cc: Likewise. +- * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. +- * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise. +- +-2017-01-13 Ville Voutilainen +- +- PR libstdc++/78389 +- * include/bits/list.tcc (merge(list&&)): +- Adjust list sizes if the comparator throws. +- (merge(list&&, _StrictWeakOrdering)): Likewise. +- (sort()): Splice elements back from the scratch buffers +- if the comparator throws. +- (sort(_StrictWeakOrdering)): Likewise. +- * testsuite/23_containers/list/operations/78389.cc: New. +- +-2017-01-13 Jonathan Wakely +- +- * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark +- XFAIL for C++17 until node reinsertion supports fancy pointers. +- +- PR libstdc++/78361 +- * testsuite/20_util/add_pointer/value.cc: Test forming function +- pointers. +- +-2017-01-13 Michael Brune +- +- PR libstdc++/78361 +- * include/std/type_traits (__is_referenceable): Handle noexcept +- function types. +- +-2017-01-12 Jonathan Wakely +- +- PR libstdc++/77528 +- * include/bits/stl_queue.h (queue, priority_queue): Remove default +- member-initializers and define default constructors as templates with +- constraints. +- * include/bits/stl_stack.h (stack): Likewise. +- * testsuite/23_containers/priority_queue/requirements/constructible.cc: +- New. +- * testsuite/23_containers/priority_queue/requirements/ +- explicit_instantiation/1.cc: Test more instantiations. +- * testsuite/23_containers/priority_queue/requirements/ +- explicit_instantiation/1_c++98.cc: Likewise. +- * testsuite/23_containers/queue/requirements/constructible.cc: New. +- * testsuite/23_containers/stack/requirements/constructible.cc: New. +- +- PR libstdc++/66284 +- * doc/xml/manual/intro.xml: Document LWG 2781 change. ++ * doc/xml/faq.xml: Fix grammar. ++ * doc/xml/manual/appendix_contributing.xml: Improve instructions. ++ * doc/xml/manual/spine.xml: Update copyright years. + * doc/html/*: Regenerate. +- * include/std/functional (_Function_base::_Ref_manager): Remove. +- (_Function_handler): Remove partial specializations for +- reference_wrapper. +- (function::target): Remove special case for const qualification. +- * testsuite/20_util/function/6.cc: Adjust tests for target type. +- * testsuite/20_util/function/7.cc: Likewise. +- * testsuite/20_util/function/8.cc: Likewise. +- +-2017-01-11 Jonathan Wakely +- +- PR libstdc++/78134 +- * include/bits/stl_map.h (map::lower_bound, map::upper_bound) +- (map::equal_range): Fix return type of heterogeneous overloads. +- * include/bits/stl_multimap.h (multimap::lower_bound) +- (multimap::upper_bound, multimap::equal_range): Likewise. +- * include/bits/stl_multiset.h (multiset::lower_bound) +- (multiset::upper_bound, multiset::equal_range): Likewise. +- * include/bits/stl_set.h (set::lower_bound, set::upper_bound) +- (set::equal_range): Likewise. +- * testsuite/23_containers/map/operations/2.cc +- * testsuite/23_containers/multimap/operations/2.cc +- * testsuite/23_containers/multiset/operations/2.cc +- * testsuite/23_containers/set/operations/2.cc +- +- PR libstdc++/78273 +- * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume +- the heterogeneous comparison can only find one match. +- * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. +- * testsuite/23_containers/map/operations/2.cc: Test count works with +- comparison function that just partitions rather than sorting. +- * testsuite/23_containers/set/operations/2.cc: Likewise. +- +-2017-01-11 Ville Voutilainen +=20 +- Reduce the size of variant, it doesn't need an index of +- type size_t internally. +- * include/std/variant (parse_numbers.h): New include. +- (__select_index): New. +- (_Variant_storage::_M_reset_impl): Use +- _index_type for comparison with variant_npos. +- (_Variant_storage::__index_type): New. +- (_Variant_storage::_M_index): Change the +- type from size_t to __index_type. +- (_Variant_storage::__index_type): New. +- (_Variant_storage::_M_index): Change the +- type from size_t to __index_type. +- (_Variant_base::_M_valid): Use _Storage::__index_type +- for comparison with variant_npos. +- (variant::index): Use _Base::_Storage::__index_type +- for comparison with variant_npos. +- * testsuite/20_util/variant/index_type.cc: New. ++2020-01-19 Eric S. Raymond +=20 +-2017-01-10 Jonathan Wakely ++ * doc/xml/faq.xml: Update for SVN -> Git transition. ++ * doc/xml/manual/appendix_contributing.xml: Likewise. ++ * doc/xml/manual/status_cxx1998.xml: Likewise. ++ * doc/xml/manual/status_cxx2011.xml: Likewise. ++ * doc/xml/manual/status_cxx2014.xml: Likewise. ++ * doc/xml/manual/status_cxx2017.xml: Likewise. ++ * doc/xml/manual/status_cxx2020.xml: Likewise. ++ * doc/xml/manual/status_cxxtr1.xml: Likewise. ++ * doc/xml/manual/status_cxxtr24733.xml: Likewise. +=20 +- * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust +- effective target selector to prevent running in C++17 mode. ++2020-01-18 Iain Sandoe +=20 +- PR libstdc++/77528 +- * include/bits/stl_queue.h (queue::c): Add default member initializer. +- (queue::queue()): Add constructor and define as defaulted. +- (queue::queue(_Sequence&&)): Remove default argument. +- (priority_queue::c, priority_queue::comp): Add default member +- initializers. +- (priority_queue::priority_queue()): Add constructor and define as +- defaulted. +- (priority_queue::priority_queue(const _Compare&, _Sequence&&)): +- Remove default argument for first parameter. +- * include/bits/stl_stack.h (stack::c): Add default member initializer. +- (stack::stack()): Add constructor and define as defaulted. +- (stack::stack(const _Sequence&)): Remove default argument. +- * testsuite/23_containers/priority_queue/requirements/ +- explicit_instantiation/1.cc: Test explicit instantiation with +- non-DefaultConstructible sequence. +- * testsuite/23_containers/priority_queue/77528.cc: New test. +- * testsuite/23_containers/priority_queue/requirements/ +- explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc. +- * testsuite/23_containers/queue/77528.cc: New test. +- * testsuite/23_containers/queue/requirements/explicit_instantiation/ +- 1.cc: Test explicit instantiation with non-DefaultConstructible +- sequence. +- * testsuite/23_containers/queue/requirements/explicit_instantiation/ +- 1_c++0x.cc: Replace with 1_c++98.cc. +- * testsuite/23_containers/stack/77528.cc: New test. +- * testsuite/23_containers/stack/requirements/explicit_instantiation/ +- 1.cc: Test explicit instantiation with non-DefaultConstructible +- sequence. +- * testsuite/23_containers/stack/requirements/explicit_instantiation/ +- 1_c++0x.cc: Replace with 1_c++98.cc. ++ * include/Makefile.am: Add coroutine to the std set. ++ * include/Makefile.in: Regenerated. ++ * include/std/coroutine: New file. +=20 +-2017-01-10 Felipe Magno de Almeida ++2020-01-17 Jonathan Wakely +=20 +- * include/bits/locale_facets_nonio.tcc +- (time_get::_M_extract_via_format): Avoid compilation errors with +- non-standard struct tm. ++ PR libstdc++/92376 ++ * include/bits/c++config: Only do PSTL config when the header is ++ present, to fix freestanding. ++ * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation ++ functions if they were detected by configure. +=20 +-2017-01-10 Fran=C3=A7ois Dumont ++2020-01-16 Kai-Uwe Eckhardt ++ Matthew Bauer + Jonathan Wakely +=20 +- * python/libstdcxx/v6/printers.py (_versioned_namespace): Define. +- (is_specialization, strip_versioned_namespace): New helpers functions +- to work with symbols in the versioned namespace. +- (Printer.add_version): Add second name using versioned namespace. +- (add_one_template_type_printer, add_one_type_printer): Add second +- type printers using versioned namespace. +- (register_type_printers): Add template type printer for basic_string. +- (build_libstdcxx_dictionary): Remove dead code. +- * python/libstdcxx/v6/xmethods.py: Make all matchers look for +- versioned namespace. +- * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected +- results. +- * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. +- +-2017-01-09 Jonathan Wakely +- +- PR libstdc++/79017 +- * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround +- functions separately on darwin and if they're missing define +- _GLIBCXX_NO_C99_ROUNDING_FUNCS. +- * config.h.in: Regenerate. +- * configure: Regenerate. +- * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) +- (llrintf, llrintl, llround, llroundf, llroundl): Do not define. +- +- * testsuite/30_threads/condition_variable/members/3.cc: Use new macro +- to detect correct thread_local destructors. +- * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): ++ PR bootstrap/64271 (partial) ++ * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type ++ to unsigned short. ++ (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit) ++ (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync ++ definitions with NetBSD upstream. ++ (ctype_base::blank): Use _CTYPE_BL. ++ * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove ++ Declaration. ++ (ctype::classic_table): Use _C_ctype_tab_ instead of _C_ctype_. ++ (ctype::do_toupper, ctype::do_tolower): Cast char ++ parameters to unsigned char. ++ * config/os/bsd/netbsd/ctype_inline.h (ctype::is): Likewise. ++ ++2020-01-16 Fran=C3=A7ois Dumont ++ ++ PR libstdc++/91263 ++ * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend. ++ * include/bits/hashtable_policy.h: Include . ++ (_Equality_base): Remove. ++ (_Equality<>::_M_equal): Review implementation. Use ++ std::is_permutation. ++ * testsuite/23_containers/unordered_multiset/operators/1.cc ++ (Hash, Equal, test02, test03): New. ++ * testsuite/23_containers/unordered_set/operators/1.cc ++ (Hash, Equal, test02, test03): New. ++ ++2020-01-15 Jonathan Wakely ++ ++ PR libstdc++/93267 ++ * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type): ++ Move here from and define using __int128 when ++ available. ++ (__is_integer_like, __is_signed_integer_like): Move here from ++ . ++ (weakly_incrementable): Use __is_signed_integer_like. ++ * include/bits/range_access.h (__max_diff_type, __max_size_type) ++ (__is_integer_like, __is_signed_integer_like): Move to ++ . ++ (__make_unsigned_like_t): Move here from . ++ * include/std/ranges (__make_unsigned_like_t): Move to ++ . ++ (iota_view): Replace using-directive with using-declarations. ++ * testsuite/std/ranges/iota/93267.cc: New test. ++ * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory. ++ ++2020-01-13 Jonathan Wakely ++ ++ PR libstdc++/93244 ++ * include/bits/fs_path.h (path::generic_string) ++ [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash. ++ * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check ++ root-dir is converted to forward slash in generic pathname. ++ * testsuite/27_io/filesystem/path/generic/utf.cc: New test. ++ * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test. ++ ++ PR libstdc++/58605 ++ * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization): + Define. +- +-2017-01-09 Jonathan Wakely +- Aditya Kumar +- +- PR libstdc++/66414 +- * include/bits/basic_string.tcc +- (basic_string::find(const CharT*, size_type, size_type)): Optimize. +- +-2017-01-06 Jonathan Wakely +- +- * testsuite/21_strings/basic_string/operations/find/char/6.cc: New. +- * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New. +- +- * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: +- Include header. +- +- PR libstdc++/78968 +- * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*. +- * configure: Regenerate. +- +-2017-01-06 Barrett Adair +- Jonathan Wakely +- +- * include/std/variant (variant, swap): Replace __and_ usage with fold +- expressions. +- +-2017-01-06 Rainer Orth +- +- PR go/78978 +- * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove. +- * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of +- GLIBCXX_CHECK_ASSEMBLER_HWCAP. +- * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of +- HWCAP_FLAGS. +- * aclocal.m4: Regenerate. +- * configure: Regenerate. +- * Makefile.in, doc/Makefile.in, include/Makefile.in, +- libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in, +- src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in, +- src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate. +- +-2017-01-06 Jonathan Wakely +- +- * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition. +- +- PR libstdc++/78991 +- * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) +- (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) +- (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and +- move function objects. +- (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter) +- (__iter_comp_val, __iter_comp_iter, __negate): Move function objects. +- * testsuite/25_algorithms/sort/78991.cc: New test. +- +-2017-01-05 Jonathan Wakely +- +- * include/bits/std_function.h (function::_Signature_type): Remove. +- (function::function(_Functor)): Adjust. +- +-2017-01-05 Tim Shen +- +- PR libstdc++/78996 +- * include/std/variant (__gen_vtable_impl): rename __unused to +- __dimensions to avoid naming conflict. +- +-2017-01-04 Jonathan Wakely +- +- PR libstdc++/78968 +- * config.h.in: Regenerate. +- * configure: Likewise. +- * configure.ac: Check for __cxa_thread_atexit. +- * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]: +- Don't define __cxa_thread_atexit if libc provides it. +- +-2017-01-04 Ville Voutilainen +- +- Implement 2801, Default-constructibility of unique_ptr. +- * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New. +- (unique_ptr::_DeleterConstraint): Likewise. +- (unique_ptr()): Constrain. +- (unique_ptr(pointer)): Likewise. +- (unique_ptr(nullptr_t)): Likewise. +- (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New. +- (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain. +- (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise. +- (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise. +- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. +- * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. +- * testsuite/20_util/unique_ptr/cons/default.cc: New. +- * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust. +- +-2017-01-04 Pauli Nieminen +- Jonathan Wakely +- +- PR libstdc++/64735 +- * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. +- * config.h.in: Regenerate. +- * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] +- (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make +- exports for exception_ptr, nested_exception, and future conditional. +- [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add +- exports for exception_ptr, nested_exception, and future conditional. +- * configure: Regenerate. +- * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. +- * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE +- * libsupc++/eh_atomics.h: New file for internal use only. +- (__eh_atomic_inc, __eh_atomic_dec): New. +- * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) +- (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) +- (rethrow_exception): Use eh_atomics.h reference counting helpers. +- * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. +- * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. +- * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. +- * libsupc++/exception_ptr.h: Likewise. +- * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. +- * libsupc++/nested_exception.cc: Remove check for +- ATOMIC_INT_LOCK_FREE. +- * libsupc++/nested_exception.h: Likewise. +- * src/c++11/future.cc: Likewise. +- * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. +- * testsuite/18_support/nested_exception/*: Likewise. +- * testsuite/30_threads/async/*: Likewise. +- * testsuite/30_threads/future/*: Likewise. +- * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. +- * testsuite/30_threads/packaged_task/*: Likewise. +- * testsuite/30_threads/promise/*: Likewise. +- * testsuite/30_threads/shared_future/*: Likewise. +- +-2017-01-03 Gerald Pfeifer +- +- * doc/xml/manual/documentation_hacking.xml: sourceforge.net now +- defaults to https; adjust reference. +- +-2017-01-03 Jonathan Wakely +- +- PR libstdc++/78956 +- * include/std/thread (thread(const thread&&)): Add deleted +- constructor. +- * testsuite/30_threads/thread/cons/lwg2097.cc: New test. +- +- * doc/xml/manual/spine.xml: Update copyright years. +- * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir. +- * doc/xml/manual/test.xml: Likewise. +- * doc/html/*: Regenerate. +- +-2017-01-01 Gerald Pfeifer +- +- * doc/xml/faq.xml: Update address of C++ ABI link. +- * doc/xml/manual/abi.xml: Ditto. +- +-2017-01-01 Jakub Jelinek ++ (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>) ++ (__atomic_float): Add default member initializer for C++20. ++ * include/std/atomic (atomic): Likewise. ++ (atomic::atomic()): Remove noexcept-specifier on default constructor. ++ * include/std/version (__cpp_lib_atomic_value_initialization): Define. ++ * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line ++ number. ++ * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. ++ * testsuite/29_atomics/atomic/cons/value_init.cc: New test. ++ * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test. ++ * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust ++ expected result for is_trivially_default_constructible. ++ * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. ++ * testsuite/29_atomics/atomic_float/value_init.cc: New test. ++ * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. ++ * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. ++ * testsuite/29_atomics/atomic_integral/cons/value_init.cc ++ * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust ++ expected results for is_trivially_default_constructible. ++ * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add ++ new test generator. ++ ++2020-01-10 Jonathan Wakely ++ ++ * testsuite/util/testsuite_iterators.h: Improve comment. ++ ++ * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11 ++ initialization syntax. ++ ++ PR libstdc++/92285 ++ * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type ++ of base class independent of __cplusplus value. ++ [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the ++ type defined in the base class ++ * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test. ++ * testsuite/24_iterators/istreambuf_iterator/requirements/ ++ base_classes.cc: Adjust expected base class for C++98. ++ ++2020-01-09 Olivier Hainque ++ ++ * doc/xml/manual/appendix_contributing.xml: Document _C2 ++ as a reserved identifier, by VxWorks. ++ * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2. ++ * include/bits/stl_multimap.h: Likewise. ++ ++2020-01-09 Jonathan Wakely ++ ++ * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator=3D=3D) ++ (_ExtPtr_allocator::operator!=3D): Add missing const qualifiers. ++ * include/ext/pointer.h (readable_traits<_Pointer_adapter>): Add ++ partial specialization to disambiguate the two constrained ++ specializations. ++ ++ * include/experimental/type_traits (experimental::is_pod_v): Disable ++ -Wdeprecated-declarations warnings around reference to std::is_pod. ++ * include/std/type_traits (is_pod_v): Likewise. ++ * testsuite/18_support/max_align_t/requirements/2.cc: Also check ++ is_standard_layout and is_trivial. Do not check is_pod for C++20. ++ * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc: ++ Add -Wno-deprecated for C++20. ++ * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise. ++ * testsuite/20_util/is_pod/value.cc: Likewise. ++ * testsuite/experimental/type_traits/value.cc: Likewise. ++ ++2020-01-09 JeanHeyd "ThePhD" Meneide ++ ++ * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro. ++ * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20. ++ * testuite/20_util/is_pod/deprecated-2a.cc: New test. ++ ++2020-01-09 Jonathan Wakely ++ ++ PR libstdc++/93205 ++ * include/bits/random.h (operator>>): Check stream operation succeeds. ++ * include/bits/random.tcc (operator<<): Remove redundant __ostream_type ++ typedefs. ++ (operator>>): Remove redundant __istream_type typedefs. Check stream ++ operations succeed. ++ (__extract_params): New function to fill a vector from a stream. ++ * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line. ++ ++ PR libstdc++/93208 ++ * config/abi/pre/gnu.ver: Add new exports. ++ * include/std/memory_resource (memory_resource::~memory_resource()): ++ Do not define inline. ++ (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise. ++ * src/c++17/memory_resource.cc (memory_resource::~memory_resource()): ++ Define. ++ (monotonic_buffer_resource::~monotonic_buffer_resource()): Define. ++ * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test. ++ ++2020-01-09 Fran=C3=A7ois Dumont ++ ++ PR libstdc++/92124 ++ * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New ++ template alias. ++ (_Hashtable<>::__fwd_value_for): New. ++ (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template ++ parameter. ++ (_Hashtable<>::_M_assign<>): Add _Ht template parameter. ++ (_Hashtable<>::operator=3D(const _Hashtable<>&)): Adapt. ++ (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept ++ with std::move. ++ (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt. ++ (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)): ++ Adapt. ++ (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)): ++ Adapt. ++ * testsuite/23_containers/unordered_set/92124.cc: New. ++ ++2020-01-08 Jonathan Wakely ++ ++ PR libstdc++/93201 ++ * src/c++17/fs_ops.cc (do_remove_all): New function implementing more ++ detailed error reporting for remove_all. Check result of recursive ++ call before incrementing iterator. ++ (remove_all(const path&), remove_all(const path&, error_code&)): Use ++ do_remove_all. ++ * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check ++ result of recursive call before incrementing iterator. ++ * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors ++ are reported correctly. ++ * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise. ++ ++2020-01-07 Thomas Rodgers ++ ++ * include/std/condition_variable ++ (condition_variable_any::wait_on): Rename to match current draft ++ standard. ++ (condition_variable_any::wait_on_until): Likewise. ++ (condition_variable_any::wait_on_for): Likewise. ++ * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: ++ Adjust tests to account for renamed methods. ++ ++2020-01-07 Fran=C3=A7ois Dumont ++ ++ PR libstdc++/92124 ++ * include/bits/stl_tree.h ++ (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace ++ std::move_if_noexcept by std::move. ++ * testsuite/23_containers/map/92124.cc: New. ++ * testsuite/23_containers/set/92124.cc: New. ++ ++2020-01-06 Jonathan Wakely ++ ++ * include/std/stop_token (stop_token): Remove operator!=3D (LWG 3254). ++ (stop_source): Likewise (LWG 3362). ++ * testsuite/30_threads/stop_token/stop_source.cc: Test equality ++ comparisons. ++ ++ * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp) ++ (lexicographical_compare_three_way): Do not depend on ++ __cpp_lib_concepts. ++ * include/std/version (__cpp_lib_three_way_comparison): Only define ++ when __cpp_lib_concepts is defined. ++ * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. ++ ++2020-01-03 Jonathan Wakely ++ ++ * include/bits/stl_algobase.h (lexicographical_compare_three_way): ++ Only define four-argument overload when __cpp_lib_concepts is defined. ++ ++2020-01-01 John David Anglin ++ ++ * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. ++ ++2020-01-01 Jakub Jelinek +=20 + Update copyright years. + +-Copyright (C) 2017 Free Software Foundation, Inc. ++Copyright (C) 2020 Free Software Foundation, Inc. +=20 + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright +diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in +index 85d56fb6a04..a4242569962 100644 +--- a/libstdc++-v3/Makefile.in ++++ b/libstdc++-v3/Makefile.in +@@ -74,6 +74,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 +index 08319dc5549..b97ff8db335 100644 +--- a/libstdc++-v3/acinclude.m4 ++++ b/libstdc++-v3/acinclude.m4 +@@ -790,6 +790,8 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [ + [version_specific_libs=3Dno]) + AC_MSG_RESULT($version_specific_libs) +=20 ++ GCC_WITH_TOOLEXECLIBDIR ++ + # Default case for install directory for include files. + if test $version_specific_libs =3D no && test $gxx_include_dir =3D no; = then + gxx_include_dir=3D'include/c++/${gcc_version}' +@@ -820,7 +822,14 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [ + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + glibcxx_toolexecdir=3D'${exec_prefix}/${host_alias}' +- glibcxx_toolexeclibdir=3D'${toolexecdir}/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ glibcxx_toolexeclibdir=3D'${toolexecdir}/lib' ++ ;; ++ *) ++ glibcxx_toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + glibcxx_toolexecdir=3D'${libdir}/gcc/${host_alias}' + glibcxx_toolexeclibdir=3D'${libdir}' +diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4 +index 229d0354116..16c6e61cf7e 100644 +--- a/libstdc++-v3/aclocal.m4 ++++ b/libstdc++-v3/aclocal.m4 +@@ -684,6 +684,7 @@ m4_include([../config/multi.m4]) + m4_include([../config/no-executables.m4]) + m4_include([../config/override.m4]) + m4_include([../config/stdint.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../config/unwind_ipinfo.m4]) + m4_include([../libtool.m4]) + m4_include([../ltoptions.m4]) +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index de8390703e2..88de3f728d4 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -903,6 +903,7 @@ enable_libstdcxx_threads + enable_libstdcxx_filesystem_ts + with_gxx_include_dir + enable_version_specific_runtime_libs ++with_toolexeclibdir + with_gcc_major_version_only + ' + ac_precious_vars=3D'build_alias +@@ -1623,6 +1624,9 @@ Optional Packages: + set the std::string ABI to use by default + --with-gxx-include-dir=3DDIR + installation directory for include files ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths +=20 +@@ -11606,7 +11610,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11609 "configure" ++#line 11613 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11712,7 +11716,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11715 "configure" ++#line 11723 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -15398,7 +15402,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; } + # Fake what AC_TRY_COMPILE does. +=20 + cat > conftest.$ac_ext << EOF +-#line 15401 "configure" ++#line 15409 "configure" + int main() + { + typedef bool atomic_type; +@@ -15433,7 +15437,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; } + rm -f conftest* +=20 + cat > conftest.$ac_ext << EOF +-#line 15436 "configure" ++#line 15440 "configure" + int main() + { + typedef short atomic_type; +@@ -15468,7 +15472,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; } + rm -f conftest* +=20 + cat > conftest.$ac_ext << EOF +-#line 15471 "configure" ++#line 15475 "configure" + int main() + { + // NB: _Atomic_word not necessarily int. +@@ -15504,7 +15508,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } + rm -f conftest* +=20 + cat > conftest.$ac_ext << EOF +-#line 15507 "configure" ++#line 15511 "configure" + int main() + { + typedef long long atomic_type; +@@ -15585,7 +15589,7 @@ $as_echo "$as_me: WARNING: Performance of certain = classes will degrade as a resu + # unnecessary for this test. +=20 + cat > conftest.$ac_ext << EOF +-#line 15588 "configure" ++#line 15592 "configure" + int main() + { + _Decimal32 d1; +@@ -15627,7 +15631,7 @@ ac_compiler_gnu=3D$ac_cv_cxx_compiler_gnu + # unnecessary for this test. +=20 + cat > conftest.$ac_ext << EOF +-#line 15630 "configure" ++#line 15634 "configure" + template + struct same + { typedef T2 type; }; +@@ -15661,7 +15665,7 @@ $as_echo "$enable_int128" >&6; } + rm -f conftest* +=20 + cat > conftest.$ac_ext << EOF +-#line 15664 "configure" ++#line 15668 "configure" + template + struct same + { typedef T2 type; }; +@@ -81674,6 +81678,19 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs= " >&5 + $as_echo "$version_specific_libs" >&6; } +=20 ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ + # Default case for install directory for include files. + if test $version_specific_libs =3D no && test $gxx_include_dir =3D no; = then + gxx_include_dir=3D'include/c++/${gcc_version}' +@@ -81704,7 +81721,14 @@ $as_echo "$version_specific_libs" >&6; } + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + glibcxx_toolexecdir=3D'${exec_prefix}/${host_alias}' +- glibcxx_toolexeclibdir=3D'${toolexecdir}/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ glibcxx_toolexeclibdir=3D'${toolexecdir}/lib' ++ ;; ++ *) ++ glibcxx_toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + glibcxx_toolexecdir=3D'${libdir}/gcc/${host_alias}' + glibcxx_toolexeclibdir=3D'${libdir}' +diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in +index c98c42fce98..c61f0dc1aa0 100644 +--- a/libstdc++-v3/doc/Makefile.in ++++ b/libstdc++-v3/doc/Makefile.in +@@ -69,6 +69,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makef= ile.in +index 980cabb80e2..e57652bbda0 100644 +--- a/libstdc++-v3/include/Makefile.in ++++ b/libstdc++-v3/include/Makefile.in +@@ -69,6 +69,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/M= akefile.in +index 7386771d475..c0296d0a342 100644 +--- a/libstdc++-v3/libsupc++/Makefile.in ++++ b/libstdc++-v3/libsupc++/Makefile.in +@@ -71,6 +71,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in +index d92d8b8ac6a..1166a4f55d1 100644 +--- a/libstdc++-v3/po/Makefile.in ++++ b/libstdc++-v3/po/Makefile.in +@@ -69,6 +69,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefil= e.in +index df8285226fa..188a3ab1a5d 100644 +--- a/libstdc++-v3/python/Makefile.in ++++ b/libstdc++-v3/python/Makefile.in +@@ -70,6 +70,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in +index f0755f015a1..b168f992be8 100644 +--- a/libstdc++-v3/src/Makefile.in ++++ b/libstdc++-v3/src/Makefile.in +@@ -70,6 +70,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/src/c++11/Makefile.in b/libstdc++-v3/src/c++11/M= akefile.in +index 73852e75c25..8dff9e75ab6 100644 +--- a/libstdc++-v3/src/c++11/Makefile.in ++++ b/libstdc++-v3/src/c++11/Makefile.in +@@ -70,6 +70,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/src/c++17/Makefile.in b/libstdc++-v3/src/c++17/M= akefile.in +index 26a4713831d..07a88759fb2 100644 +--- a/libstdc++-v3/src/c++17/Makefile.in ++++ b/libstdc++-v3/src/c++17/Makefile.in +@@ -105,6 +105,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4= \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/src/c++98/Makefile.in b/libstdc++-v3/src/c++98/M= akefile.in +index c0a55171935..1e168815777 100644 +--- a/libstdc++-v3/src/c++98/Makefile.in ++++ b/libstdc++-v3/src/c++98/Makefile.in +@@ -70,6 +70,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/src/filesystem/Makefile.in b/libstdc++-v3/src/fi= lesystem/Makefile.in +index 3312d0306ca..bf32707c781 100644 +--- a/libstdc++-v3/src/filesystem/Makefile.in ++++ b/libstdc++-v3/src/filesystem/Makefile.in +@@ -70,6 +70,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/M= akefile.in +index 5797a55b728..61cd1317a16 100644 +--- a/libstdc++-v3/testsuite/Makefile.in ++++ b/libstdc++-v3/testsuite/Makefile.in +@@ -69,6 +69,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/no-executables.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ +diff --git a/libvtv/ChangeLog b/libvtv/ChangeLog +index c21a70fea54..c0b68784f30 100644 +--- a/libvtv/ChangeLog ++++ b/libvtv/ChangeLog +@@ -1,30 +1,77 @@ +-2019-11-14 Release Manager ++2020-01-24 Maciej W. Rozycki +=20 +- * GCC 7.5.0 released. ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ * testsuite/Makefile.in: Regenerate. ++ ++2020-01-01 Jakub Jelinek ++ ++ Update copyright years. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-02-19 Caroline Tice ++ ++ Fix testsuite ++ * testsuite/libvtv.cc/const_vtable.cc (main): Fix function signature. ++ ++2019-01-01 Jakub Jelinek ++ ++ Update copyright years. +=20 +-2018-12-06 Release Manager ++2018-10-31 Joseph Myers +=20 +- * GCC 7.4.0 released. ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ * configure.ac: Remove AC_PREREQ. ++ * testsuite/Makefile.am (RUNTEST): Remove quotes. ++ * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: ++ Regenerate. +=20 +-2018-06-22 Jakub Jelinek ++2018-05-02 Tom de Vries +=20 +- Backported from mainline +- 2018-04-18 David Malcolm ++ PR testsuite/85106 ++ * testsuite/lib/libvtv.exp: Include scanltranstree.exp. ++ ++2018-05-02 Tom de Vries ++ ++ PR testsuite/85106 ++ * testsuite/lib/libvtv.exp: Include scanwpaipa.exp. ++ ++2018-04-24 H.J. Lu ++ ++ * configure: Regenerated. ++ ++2018-04-19 Jakub Jelinek ++ ++ * configure: Regenerated. ++ ++2018-04-18 David Malcolm +=20 + PR jit/85384 + * configure: Regenerate. +=20 +-2018-01-25 Release Manager ++2018-02-14 Igor Tsimbalist +=20 +- * GCC 7.3.0 released. ++ PR target/84148 ++ * configure: Regenerate. +=20 +-2017-08-14 Release Manager ++2018-01-03 Jakub Jelinek +=20 +- * GCC 7.2.0 released. ++ Update copyright years. +=20 +-2017-05-02 Release Manager ++2017-11-17 Igor Tsimbalist +=20 +- * GCC 7.1.0 released. ++ * acinclude.m4: Add enable.m4 and cet.m4. ++ * Makefile.in: Regenerate. ++ * testsuite/Makefile.in: Likewise. ++ * configure: Likewise. ++ * configure.ac: Set CET_FLAGS. Update XCFLAGS. ++ * testsuite/libvtv.cc/vtv.exp: Add scanlang.exp. +=20 + 2017-01-21 Jakub Jelinek +=20 +@@ -153,7 +200,7 @@ + * libvtv/configure.ac : Add ACX_LT_HOST_FLAGS. Define VTV_CYGMIN. + * libvtv/configure.tgt : (x86_64-*-cygwin*, i?86-*-cygwin*, + x86_64-*-mingw*) +- (i?86-*-mingw*): Add to supported targets. ++ (i?86-*-mingw*): Add to supported targets. + * libvtv/vtv_fail.cc : Skip inclusion of execinfo.h on Cygwin and MinGW. + (log_error_message): Skip calls to backtrace and backtrace_symbols_fd + on Cygwin and MinGW. +diff --git a/libvtv/Makefile.in b/libvtv/Makefile.in +index 59d0b11bdd0..3a529115879 100644 +--- a/libvtv/Makefile.in ++++ b/libvtv/Makefile.in +@@ -68,6 +68,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lthostflags.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/libvtv/aclocal.m4 b/libvtv/aclocal.m4 +index 1e73dcc4a24..b0a3872166f 100644 +--- a/libvtv/aclocal.m4 ++++ b/libvtv/aclocal.m4 +@@ -1030,6 +1030,7 @@ m4_include([../config/libstdc++-raw-cxx.m4]) + m4_include([../config/lthostflags.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/libvtv/configure b/libvtv/configure +index dfb9162c79f..74a728e7aba 100755 +--- a/libvtv/configure ++++ b/libvtv/configure +@@ -754,6 +754,7 @@ enable_version_specific_runtime_libs + enable_vtable_verify + enable_dependency_tracking + enable_maintainer_mode ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1408,6 +1409,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=3DARG] use PACKAGE [ARG=3Dyes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=3Dno) ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] +@@ -4575,6 +4579,22 @@ fi +=20 +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -4590,7 +4610,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +@@ -12066,7 +12093,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12069 "configure" ++#line 12096 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -12172,7 +12199,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12175 "configure" ++#line 12202 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +diff --git a/libvtv/configure.ac b/libvtv/configure.ac +index 33b1e7913c6..005e46e2386 100644 +--- a/libvtv/configure.ac ++++ b/libvtv/configure.ac +@@ -79,6 +79,8 @@ AM_MAINTAINER_MODE +=20 + LIBVTV_CONFIGURE +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -94,7 +96,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" !=3D x"no"; then + # Install a library built with a cross compiler in tooldir, not lib= dir. + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/libvtv/testsuite/Makefile.in b/libvtv/testsuite/Makefile.in +index b5dfd29973c..c296f38f6cb 100644 +--- a/libvtv/testsuite/Makefile.in ++++ b/libvtv/testsuite/Makefile.in +@@ -61,6 +61,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/lthostflags.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ +diff --git a/zlib/ChangeLog.gcj b/zlib/ChangeLog.gcj +index 09bc9c26104..60f0a1d4c10 100644 +--- a/zlib/ChangeLog.gcj ++++ b/zlib/ChangeLog.gcj +@@ -1,3 +1,36 @@ ++2020-01-24 Maciej W. Rozycki ++ ++ * configure.ac: Handle `--with-toolexeclibdir=3D'. ++ * Makefile.in: Regenerate. ++ * aclocal.m4: Regenerate. ++ * configure: Regenerate. ++ ++2019-09-27 Maciej W. Rozycki ++ ++ * configure: Regenerate. ++ ++2019-01-21 Iain Buclaw ++ ++ * Makefile.am (noinst_LTLIBRARIES): Rename libzgcj_convience.la to ++ libz_convenience.la. ++ * Makefile.in: Regenerate. ++ * configure.ac: Remove target_all. ++ * configure: Regenerate. ++ ++2018-10-31 Joseph Myers ++ ++ PR bootstrap/82856 ++ * Makefile.am: Include multilib.am. ++ ++ Merge from binutils-gdb: ++ 2018-06-19 Simon Marchi ++ ++ * configure.ac: Modernize AC_INIT call, remove AC_PREREQ. ++ * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign. ++ * Makefile.in: Re-generate. ++ * aclocal.m4: Re-generate. ++ * configure: Re-generate. ++ + 2017-03-15 Yaakov Selkowitz +=20 + PR bootstrap/79771 +diff --git a/zlib/Makefile.in b/zlib/Makefile.in +index 82b72a16367..5ccc47b1173 100644 +--- a/zlib/Makefile.in ++++ b/zlib/Makefile.in +@@ -62,6 +62,7 @@ am__aclocal_m4_deps =3D $(top_srcdir)/../config/depstand= .m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/multi.m4 \ + $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 \ +diff --git a/zlib/aclocal.m4 b/zlib/aclocal.m4 +index fab04ed5c47..8ce1dc9d31d 100644 +--- a/zlib/aclocal.m4 ++++ b/zlib/aclocal.m4 +@@ -992,6 +992,7 @@ m4_include([../config/depstand.m4]) + m4_include([../config/lead-dot.m4]) + m4_include([../config/multi.m4]) + m4_include([../config/override.m4]) ++m4_include([../config/toolexeclibdir.m4]) + m4_include([../ltoptions.m4]) + m4_include([../ltsugar.m4]) + m4_include([../ltversion.m4]) +diff --git a/zlib/configure b/zlib/configure +index ee5527c4a40..e8d7c00dbcf 100755 +--- a/zlib/configure ++++ b/zlib/configure +@@ -738,6 +738,7 @@ with_pic + enable_fast_install + with_gnu_ld + enable_libtool_lock ++with_toolexeclibdir + enable_host_shared + ' + ac_precious_vars=3D'build_alias +@@ -1385,6 +1386,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=3D= use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=3Dno] ++ --with-toolexeclibdir=3DDIR ++ install libraries built with a cross compiler w= ithin ++ DIR +=20 + Some influential environment variables: + CC C compiler command +@@ -10406,7 +10410,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10409 "configure" ++#line 10413 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -10512,7 +10516,7 @@ else + lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 + lt_status=3D$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10515 "configure" ++#line 10519 "configure" + #include "confdefs.h" +=20 + #if HAVE_DLFCN_H +@@ -11173,10 +11177,33 @@ fi + done +=20 +=20 ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" =3D set; then : ++ withval=3D$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=3D`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=3Dno ++fi ++ ++ ++ + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +diff --git a/zlib/configure.ac b/zlib/configure.ac +index fb8d943905e..c679b37e2a5 100644 +--- a/zlib/configure.ac ++++ b/zlib/configure.ac +@@ -91,10 +91,19 @@ AC_SUBST(target_all) +=20 + AC_CHECK_HEADERS(unistd.h) +=20 ++GCC_WITH_TOOLEXECLIBDIR ++ + if test -n "$with_cross_host" && + test x"$with_cross_host" !=3D x"no"; then + toolexecdir=3D'$(exec_prefix)/$(target_alias)' +- toolexeclibdir=3D'$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir=3D'$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=3D${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir=3D'$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir=3D'$(libdir)' +--=20 +2.24.0 + --=20 2.24.0 --=-=-=--