diff -Nrcpad gcc-9.2.0/ChangeLog gcc-9.3.0/ChangeLog *** gcc-9.2.0/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/INSTALL/build.html gcc-9.3.0/INSTALL/build.html *** gcc-9.2.0/INSTALL/build.html Mon Aug 12 07:40:34 2019 --- gcc-9.3.0/INSTALL/build.html Thu Mar 12 11:08:33 2020 *************** that type mismatches occur, this could b *** 116,122 ****

The solution is not to use such a directory for building GCC.

!

Similarly, when building from SVN or snapshots, or if you modify *.l files, you need the Flex lexical analyzer generator installed. If you do not modify *.l files, releases contain the Flex-generated files and you do not need Flex installed to build --- 116,122 ----

The solution is not to use such a directory for building GCC.

!

Similarly, when building from the source repository or snapshots, or if you modify *.l files, you need the Flex lexical analyzer generator installed. If you do not modify *.l files, releases contain the Flex-generated files and you do not need Flex installed to build *************** them. There is still one Flex-based lex *** 124,130 **** build machinery, not of GCC itself) that is used even if you only build the C front end.

!

When building from SVN or snapshots, or if you modify Texinfo documentation, you need version 4.7 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. --- 124,130 ---- build machinery, not of GCC itself) that is used even if you only build the C front end.

!

When building from the source repository or snapshots, or if you modify Texinfo documentation, you need version 4.7 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. diff -Nrcpad gcc-9.2.0/INSTALL/configure.html gcc-9.3.0/INSTALL/configure.html *** gcc-9.2.0/INSTALL/configure.html Mon Aug 12 07:40:34 2019 --- gcc-9.3.0/INSTALL/configure.html Thu Mar 12 11:08:33 2020 *************** for both native and cross targets. *** 91,99 ****

We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

!

If you obtained the sources via SVN, srcdir must refer to the top ! gcc directory, the one where the MAINTAINERS file can be ! found, and not its gcc subdirectory, otherwise the build will fail.

If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return --- 91,100 ----

We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

!

If you obtained the sources by cloning the repository, srcdir ! must refer to the top gcc directory, the one where the ! MAINTAINERS file can be found, and not its gcc ! subdirectory, otherwise the build will fail.

If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return *************** with --enable-bootstrap. *** 1086,1092 ****

--enable-generated-files-in-srcdir

Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi files are present ! in the SVN development tree. When building GCC from that development tree, or from one of our snapshots, those generated files are placed in your build directory, which allows for the source to be in a readonly directory. --- 1087,1093 ----

--enable-generated-files-in-srcdir

Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi files are present ! in the repository development tree. When building GCC from that development tree, or from one of our snapshots, those generated files are placed in your build directory, which allows for the source to be in a readonly directory. *************** controlled by the Makefiles. *** 1388,1429 ****

--enable-checking
--enable-checking=list
!

When you specify this option, the compiler is built to perform internal ! consistency checks of the requested complexity. This does not change the ! generated code, but adds error checking within the compiler. This will ! slow down the compiler and may only work properly if you are building ! the compiler with GCC. This is ‘yes,extra’ by default when building ! from SVN or snapshots, but ‘release’ for releases. The default ! for building the stage1 compiler is ‘yes’. More control ! over the checks may be had by specifying list. The categories of ! checks available are ‘yes’ (most common checks ! ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at ! all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest ! checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ! Individual checks can be enabled with these flags ‘assert’, ! ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ! ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ! ‘extra’ adds for ‘misc’ checking extra checks that might affect ! code generation and should therefore not differ between stage1 and later ! stages.

!

The ‘valgrind’ check requires the external valgrind ! simulator, available from http://valgrind.org/. The ! ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. ! To disable all checking, ‘--disable-checking’ or ! ‘--enable-checking=none’ must be explicitly requested. Disabling ! assertions will make the compiler and runtime slightly faster but ! increase the risk of undetected internal errors causing wrong code to be ! generated.

--disable-stage1-checking
--enable-stage1-checking
--enable-stage1-checking=list
!

If no --enable-checking option is specified the stage1 ! compiler will be built with ‘yes’ checking enabled, otherwise ! the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. --- 1389,1439 ----

--enable-checking
+
--disable-checking
--enable-checking=list
!

This option controls performing internal consistency checks in the compiler. ! It does not change the generated code, but adds error checking of the ! requested complexity. This slows down the compiler and may only work ! properly if you are building the compiler with GCC.

!

When the option is not specified, the active set of checks depends on context. ! Namely, bootstrap stage 1 defaults to ‘--enable-checking=yes’, builds ! from release branches or release archives default to ! ‘--enable-checking=release’, and otherwise ! ‘--enable-checking=yes,extra’ is used. When the option is ! specified without a list, the result is the same as ! ‘--enable-checking=yes’. Likewise, ‘--disable-checking’ is ! equivalent to ‘--enable-checking=no’. !

!

The categories of checks available in list are ‘yes’ (most common ! checks ‘assert,misc,gc,gimple,rtlflag,runtime,tree,types’), ‘no’ ! (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ ! (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ! ‘release’ checks are always on and to disable them ! ‘--disable-checking’ or ‘--enable-checking=no[,<other checks>]’ ! must be explicitly requested. Disabling assertions makes the compiler and ! runtime slightly faster but increases the risk of undetected internal errors ! causing wrong code to be generated. !

!

Individual checks can be enabled with these flags: ‘assert’, ‘df’, ! ‘extra’, ‘fold’, ‘gc’, ‘gcac’, ‘gimple’, ! ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ! ‘types’ and ‘valgrind’. ‘extra’ extends ‘misc’ ! checking with extra checks that might affect code generation and should ! therefore not differ between stage1 and later stages in bootstrap. !

!

The ‘valgrind’ check requires the external valgrind simulator, ! available from http://valgrind.org/. The ‘rtl’ checks are ! expensive and the ‘df’, ‘gcac’ and ‘valgrind’ checks are very ! expensive.

--disable-stage1-checking
--enable-stage1-checking
--enable-stage1-checking=list
!

This option affects only bootstrap build. If no --enable-checking ! option is specified the stage1 compiler is built with ‘yes’ checking ! enabled, otherwise the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. *************** specifying paths path1, &hell *** 1743,1749 ****

% srcdir/configure \
!     --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
  

If ‘hsa’ is specified as one of the targets, the compiler will be --- 1753,1759 ----

% srcdir/configure \
!     --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none,hsa
  

If ‘hsa’ is specified as one of the targets, the compiler will be diff -Nrcpad gcc-9.2.0/INSTALL/download.html gcc-9.3.0/INSTALL/download.html *** gcc-9.2.0/INSTALL/download.html Mon Aug 12 07:40:33 2019 --- gcc-9.3.0/INSTALL/download.html Thu Mar 12 11:08:32 2020 *************** ul.no-bullet {list-style: none} *** 83,91 **** !

GCC is distributed via SVN and FTP ! tarballs compressed with gzip or ! bzip2.

Please refer to the releases web page for information on how to obtain GCC. --- 83,90 ---- !

GCC is distributed via git and via ! HTTPS as tarballs compressed with gzip or bzip2.

Please refer to the releases web page for information on how to obtain GCC. diff -Nrcpad gcc-9.2.0/INSTALL/prerequisites.html gcc-9.3.0/INSTALL/prerequisites.html *** gcc-9.2.0/INSTALL/prerequisites.html Mon Aug 12 07:40:33 2019 --- gcc-9.3.0/INSTALL/prerequisites.html Thu Mar 12 11:08:32 2020 *************** and up works. *** 193,200 ****

Necessary when regenerating Makefile dependencies in libiberty. Necessary when regenerating libiberty/functions.texi. Necessary when generating manpages from Texinfo manuals. ! Used by various scripts to generate some files included in SVN (mainly ! Unicode-related and rarely changing) from source tables.

Used by automake.

--- 193,201 ----

Necessary when regenerating Makefile dependencies in libiberty. Necessary when regenerating libiberty/functions.texi. Necessary when generating manpages from Texinfo manuals. ! Used by various scripts to generate some files included in the source ! repository (mainly Unicode-related and rarely changing) from source ! tables.

Used by automake.

*************** for more information. This bug has been *** 328,335 ****

Necessary when modifying *.l files.

Necessary to build GCC during development because the generated output ! files are not included in the SVN repository. They are included in ! releases.

Texinfo version 4.7 (or later)
--- 329,336 ----

Necessary when modifying *.l files.

Necessary to build GCC during development because the generated output ! files are not included in the version-controlled source repository. ! They are included in releases.

Texinfo version 4.7 (or later)
*************** create printable documentation in DVI or *** 342,348 **** 4.8 or later is required for make pdf.

Necessary to build GCC documentation during development because the ! generated output files are not included in the SVN repository. They are included in releases.

--- 343,349 ---- 4.8 or later is required for make pdf.

Necessary to build GCC documentation during development because the ! generated output files are not included in the repository. They are included in releases.

*************** DVI or PDF files, respectively. *** 359,369 **** files in the directories below jit/docs.

!
SVN (any version)
SSH (any version)
!

Necessary to access the SVN repository. Public releases and weekly ! snapshots of the development sources are also available via FTP.

GNU diffutils version 2.7 (or later)
--- 360,370 ---- files in the directories below jit/docs.

!
git (any version)
SSH (any version)
!

Necessary to access the source repository. Public releases and weekly ! snapshots of the development sources are also available via HTTPS.

GNU diffutils version 2.7 (or later)
diff -Nrcpad gcc-9.2.0/LAST_UPDATED gcc-9.3.0/LAST_UPDATED *** gcc-9.2.0/LAST_UPDATED Mon Aug 12 07:40:33 2019 --- gcc-9.3.0/LAST_UPDATED Thu Mar 12 11:08:31 2020 *************** *** 1 **** ! Obtained from SVN: tags/gcc_9_2_0_release revision 274275 --- 1 ---- ! Obtained from git: releases/gcc-9.3.0 revision 4212a6a3e44f870412d9025eeb323fd4f50a61da diff -Nrcpad gcc-9.2.0/MD5SUMS gcc-9.3.0/MD5SUMS *** gcc-9.2.0/MD5SUMS Mon Aug 12 07:58:02 2019 --- gcc-9.3.0/MD5SUMS Thu Mar 12 11:25:24 2020 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-9.2.0.tar.xz tarball. # # Besides verifying that all files in the tarball were correctly expanded, # it also can be used to determine if any files have changed since the --- 1,5 ---- # This file contains the MD5 checksums of the files in the ! # gcc-9.3.0.tar.xz tarball. # # Besides verifying that all files in the tarball were correctly expanded, # it also can be used to determine if any files have changed since the *************** e399c6eed967a5699498feb798da61ee .gitat *** 17,43 **** fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 11703d3ccbb5a20d9fc27bc93d50b010 ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README b54df9bfc2e7837cfdec727a84be4835 INSTALL/binaries.html ! b63e241073b84b5d32b49444e31aff03 INSTALL/build.html ! b4035e127c50228c04554163a8ce2050 INSTALL/configure.html ! 4c6f05e3fd1e1128d6f5beaf8437dbd6 INSTALL/download.html 21217d485bf1a98b9c76dcd01852340a INSTALL/finalinstall.html 9ad173ba846ae2495bc565c8e3b5c72b INSTALL/gfdl.html 9fedad0e9418880cf690e3171a61ab5b INSTALL/index.html 2c0f4834602472d41e202221f2973335 INSTALL/old.html ! 6350b4cdff096927810e010d2f0f88f3 INSTALL/prerequisites.html 1c03c2c7732f60e49c9f4fc500ad3089 INSTALL/specific.html 4f086007f929585b190278c5c2f7b43c INSTALL/test.html ! bd2baf84cacaec2aebd61e791bf1032b LAST_UPDATED cd94bf363014d5234ce951236b2eff7e MAINTAINERS babbf63ed4e6324c3ce3ec6ae4852ee2 Makefile.def 1317b9514961375f717373570309ad98 Makefile.in 1476c59b7fd3be8c21d1af1eb4ac036c Makefile.tpl ! 1fb8af26b5e05fe5e07e4068a16ee6f7 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib 500b9244caa7a7ab23ece1db37efa76d compile --- 17,43 ---- fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! f63d09af5ec61572f096c18445ebdd6d ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README b54df9bfc2e7837cfdec727a84be4835 INSTALL/binaries.html ! 9815185c5432adfdaf3fd21062c4940b INSTALL/build.html ! 137a40d9c7c794e6fc9cd477aa283f78 INSTALL/configure.html ! 019978d85be640aa573eff9f0288ee2d INSTALL/download.html 21217d485bf1a98b9c76dcd01852340a INSTALL/finalinstall.html 9ad173ba846ae2495bc565c8e3b5c72b INSTALL/gfdl.html 9fedad0e9418880cf690e3171a61ab5b INSTALL/index.html 2c0f4834602472d41e202221f2973335 INSTALL/old.html ! cb11a407f704c0bfbef64d17128cadd0 INSTALL/prerequisites.html 1c03c2c7732f60e49c9f4fc500ad3089 INSTALL/specific.html 4f086007f929585b190278c5c2f7b43c INSTALL/test.html ! 1d9738c6b0f4d236c5d893aca99c2ea3 LAST_UPDATED cd94bf363014d5234ce951236b2eff7e MAINTAINERS babbf63ed4e6324c3ce3ec6ae4852ee2 Makefile.def 1317b9514961375f717373570309ad98 Makefile.in 1476c59b7fd3be8c21d1af1eb4ac036c Makefile.tpl ! 67d4a908da8fc33478e15cba991d3fe8 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib 500b9244caa7a7ab23ece1db37efa76d compile *************** a657821f65bab77f4fbf3a75cdee6da9 ar-lib *** 45,51 **** 40b5681beb170241cdc60d00932a204f config.guess 040359150cf11493f973a46d8a25b06b config.rpath 028bb6041dfd0ac0e34915870eea93ec config.sub ! 27af02ccb3cf6dc4c917eee207f5f38f config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 2ea0edfde0ce5ce69b49317a5650f048 config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 --- 45,51 ---- 40b5681beb170241cdc60d00932a204f config.guess 040359150cf11493f973a46d8a25b06b config.rpath 028bb6041dfd0ac0e34915870eea93ec config.sub ! 22284ec925ce4df611c8da798fcd58ef config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 2ea0edfde0ce5ce69b49317a5650f048 config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 *************** e2dc6b4fd62b77bff96b7951ef74f78f config *** 141,147 **** 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 1b46e273e388b124e571ee18274eacd5 configure 59a1cf8c425ad9057efc236fa32eeafd configure.ac ! 71e9b3c0e7d234e8a100051d4b8907d0 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 8498c0cdfe3f444ad6f540ec9e11cbec contrib/analyze_brprob.py --- 141,147 ---- 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 1b46e273e388b124e571ee18274eacd5 configure 59a1cf8c425ad9057efc236fa32eeafd configure.ac ! a24f2fb87e7ea8951e2ef97837d639c5 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 8498c0cdfe3f444ad6f540ec9e11cbec contrib/analyze_brprob.py *************** dfceb883caf21f3071f7309ee0ac8a6b contri *** 176,182 **** 61ad7a180a7895f83d32ef7b15cb8386 contrib/gen_autofdo_event.py 7c9fd4d662ccbf417ccfbe1999d8ad71 contrib/gennews 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! 000af0a885b5201ce12f416e57fddfb3 contrib/header-tools/ChangeLog 1ba821a1e480c2f8ac33b68ca1097770 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers --- 176,182 ---- 61ad7a180a7895f83d32ef7b15cb8386 contrib/gen_autofdo_event.py 7c9fd4d662ccbf417ccfbe1999d8ad71 contrib/gennews 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! 65f68f059e15ece1ade21cde5ab362f4 contrib/header-tools/ChangeLog 1ba821a1e480c2f8ac33b68ca1097770 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers *************** a34668cfad9dec733354503fbc67fb24 contri *** 200,206 **** 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh a6f2829359f65be5c182fd414e30fe8a contrib/prerequisites.md5 663d159a25cdcd62d1182f124f0dae82 contrib/prerequisites.sha512 ! 5a345b6f32dd9cc71ed01630b6cd458e contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup --- 200,206 ---- 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh a6f2829359f65be5c182fd414e30fe8a contrib/prerequisites.md5 663d159a25cdcd62d1182f124f0dae82 contrib/prerequisites.sha512 ! 2157c0ec28f1398b28a4933a0ec9dd4d contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup *************** f251d49dd87647250fcd74dd50b7835f contri *** 259,265 **** e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 359c8974e437ebad4aad3592039778ea contrib/regression/ChangeLog 30553bfced1b2b46bf7ca01ef6ba69d1 contrib/regression/GCC_Regression_Tester.wdgt/Default.png ad38ddd771df222eb9d413e3c7f6a751 contrib/regression/GCC_Regression_Tester.wdgt/Icon.png 777bd286c147cc02861811f66b9a4440 contrib/regression/GCC_Regression_Tester.wdgt/Info.plist --- 259,265 ---- e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! ad28d983dfe1aa357977062b1e8b7e7d contrib/regression/ChangeLog 30553bfced1b2b46bf7ca01ef6ba69d1 contrib/regression/GCC_Regression_Tester.wdgt/Default.png ad38ddd771df222eb9d413e3c7f6a751 contrib/regression/GCC_Regression_Tester.wdgt/Icon.png 777bd286c147cc02861811f66b9a4440 contrib/regression/GCC_Regression_Tester.wdgt/Info.plist *************** dc562ddb86567c65e82953825713dc4b contri *** 275,281 **** 7f6418948396f8250447e3e6182322d8 contrib/repro_fail 39442479834f1c02d6ce11eab6889b6e contrib/test_installed 2c2a06a23394c548bb4afba3c25aacce contrib/test_recheck ! d4cd6e25d218d26c1eb5aca9e7b82de3 contrib/test_summary 45bd745cf293127fa6b729c7b58cf11f contrib/testsuite-management/validate_failures.py 0202e4875fa43ec09cf5e8442c873a56 contrib/testsuite-management/x86_64-unknown-linux-gnu.xfail 2c5264fb1400a0a2408fd44a4e345fc6 contrib/texi2pod.pl --- 275,281 ---- 7f6418948396f8250447e3e6182322d8 contrib/repro_fail 39442479834f1c02d6ce11eab6889b6e contrib/test_installed 2c2a06a23394c548bb4afba3c25aacce contrib/test_recheck ! c650e776de65a2de80bbfb0033641805 contrib/test_summary 45bd745cf293127fa6b729c7b58cf11f contrib/testsuite-management/validate_failures.py 0202e4875fa43ec09cf5e8442c873a56 contrib/testsuite-management/x86_64-unknown-linux-gnu.xfail 2c5264fb1400a0a2408fd44a4e345fc6 contrib/texi2pod.pl *************** a0d12be401961a2557883b7c09dc71eb contri *** 290,296 **** 45d4839f2ac702761b88d502311d47ef contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! 7ab487252e46180a082315acfed9e063 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 290,296 ---- 45d4839f2ac702761b88d502311d47ef contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! 71ba78fda5ebbc15cacbb1f8622da862 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** b6e3f4950abc6e254b467063381f6473 fixinc *** 300,315 **** f63405125ac9ed944ecf9c9bd1f24dff fixincludes/configure a319a505bde6920ddb4832cf41af3488 fixincludes/configure.ac 541ba3a63f9359f14ac2b35151ba18db fixincludes/fixfixes.c ! 8a18294371ee69da33042b874d27b77e fixincludes/fixinc.in 1582ffd94ecc91318eebfb3b81e0bcb1 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! e63f50442ad2c6b54fb1f69de77ca43f fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! 47d6d0b39345e65972ef6cdcd7c7ab02 fixincludes/inclhack.def 44bfe955e0fad29af749b16cd12fa743 fixincludes/mkfixinc.sh 5f9960cfe65b2e6bef658f770e52dfef fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c --- 300,315 ---- f63405125ac9ed944ecf9c9bd1f24dff fixincludes/configure a319a505bde6920ddb4832cf41af3488 fixincludes/configure.ac 541ba3a63f9359f14ac2b35151ba18db fixincludes/fixfixes.c ! a316c9d3351e61998fa688dceaf610a3 fixincludes/fixinc.in 1582ffd94ecc91318eebfb3b81e0bcb1 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! c77eb58f00045a80c9395996587f2cd2 fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! b8f73d77126efa8ac3d8f3a33dbbd28c fixincludes/inclhack.def 44bfe955e0fad29af749b16cd12fa743 fixincludes/mkfixinc.sh 5f9960cfe65b2e6bef658f770e52dfef fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c *************** f1160d24e4253643c441ba3a4b227e43 fixinc *** 346,352 **** 7e364ced80dd56f237390965aa7f15d0 fixincludes/tests/base/hsfs/hsfs_spec.h 53be8accb111b5d7b7323bbfc52ed91f fixincludes/tests/base/i386/setjmp.h bfb58e3983fc133c965e434e57aed732 fixincludes/tests/base/ia64/sys/getppdp.h ! 498c99de6daa94738d83e68ec4e0a295 fixincludes/tests/base/inttypes.h 833e9408a49784184bee7981d665c911 fixincludes/tests/base/io-quotes-def-1.h a1c808325bd0d74c2f465bf54db680e2 fixincludes/tests/base/ioLib.h c8dd71b57c3a35b0c6760f7d38af6f42 fixincludes/tests/base/iso/math_c99.h --- 346,352 ---- 7e364ced80dd56f237390965aa7f15d0 fixincludes/tests/base/hsfs/hsfs_spec.h 53be8accb111b5d7b7323bbfc52ed91f fixincludes/tests/base/i386/setjmp.h bfb58e3983fc133c965e434e57aed732 fixincludes/tests/base/ia64/sys/getppdp.h ! 4a2008b1ee18a83a9c19d7bdc9c7f960 fixincludes/tests/base/inttypes.h 833e9408a49784184bee7981d665c911 fixincludes/tests/base/io-quotes-def-1.h a1c808325bd0d74c2f465bf54db680e2 fixincludes/tests/base/ioLib.h c8dd71b57c3a35b0c6760f7d38af6f42 fixincludes/tests/base/iso/math_c99.h *************** a911f5fbb127353024e77149fcf90596 fixinc *** 366,371 **** --- 366,372 ---- f690db296a82aeefa0bfe9ad74a2b71c fixincludes/tests/base/netinet/in.h 2649ccca3396541aeb5e612d4b4a3141 fixincludes/tests/base/netinet/ip.h f4a72388e98f34c098a3467dce9aa4e1 fixincludes/tests/base/obstack.h + c213736f179d8de08a09a9278e048d91 fixincludes/tests/base/os/availability.h c3da2b1720112f2adb1c2bbf65563364 fixincludes/tests/base/os/base.h 294cd5d0b36b2fc66737cc43cd46ed69 fixincludes/tests/base/os/trace.h c24d1be3b5afd871e9f78e1a67b9cb82 fixincludes/tests/base/pixrect/memvar.h *************** a5e817d35ded04a0fb03999b50c0e89e fixinc *** 429,440 **** 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 3be7c8842fbf2eb29a7d358eff03f38e gcc/ABOUT-GCC-NLS ! 1b498650ce711fc8c8e934c6f2de5b55 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 23ab445ab2703a6ebe80269a501e3809 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 --- 430,441 ---- 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 3be7c8842fbf2eb29a7d358eff03f38e gcc/ABOUT-GCC-NLS ! d168f1842ecabdb62e85fd01fb8a7457 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 26c97d703d581c838cd2f311d49cd797 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 *************** fb3fadb88e1d2b3b640cfaaa5ff11780 gcc/Ch *** 465,482 **** 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! c92cd359ce6bbf668baf74e5ee1c7cfa gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 36698274bb69e2ada20f5cc434f3caa5 gcc/FSFChangeLog.11 3acf268f965e22d24dcc4d433aa2fb28 gcc/LANGUAGES ! b13e5121b664e143abd3d5830bbf0695 gcc/Makefile.in ec6799501b2eb2923d5de6a66169dbd2 gcc/ONEWS cdb4caed52ded231a4df6087fa0976bd gcc/README.Portability 69898786da1fa78de919ea62c6931b36 gcc/acinclude.m4 6879fc308101ea4a52d17fb89e463ec2 gcc/aclocal.m4 ! 7fc8d564ad7cd243a297dc6b70b41924 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 --- 466,483 ---- 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! c662b311f4c2a7200cb790bde5cbf083 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 36698274bb69e2ada20f5cc434f3caa5 gcc/FSFChangeLog.11 3acf268f965e22d24dcc4d433aa2fb28 gcc/LANGUAGES ! 45852d1c2a323f19e593c7e93813a4a3 gcc/Makefile.in ec6799501b2eb2923d5de6a66169dbd2 gcc/ONEWS cdb4caed52ded231a4df6087fa0976bd gcc/README.Portability 69898786da1fa78de919ea62c6931b36 gcc/acinclude.m4 6879fc308101ea4a52d17fb89e463ec2 gcc/aclocal.m4 ! 16ae6c18008e5a9490967e8df39f99ec gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 *************** df4fc315733699c07babaf1010a15b40 gcc/ad *** 620,626 **** 59abfd3b0ff64f189c43a6586c5c42df gcc/ada/exp_aggr.ads cb884e0943744d5f300c5c3e4119e4cb gcc/ada/exp_atag.adb 05346332ddf8203a76170e8cbe63e4e2 gcc/ada/exp_atag.ads ! a3c0ca42e6d5e76f0db97ed9f857835b gcc/ada/exp_attr.adb 17fdf392064e44ad852381d1d41aabcc gcc/ada/exp_attr.ads a9c3b0fb5db9737fc7c4d49ce445ef5c gcc/ada/exp_cg.adb 4a26b881a8e33991c84ac37755e194e7 gcc/ada/exp_cg.ads --- 621,627 ---- 59abfd3b0ff64f189c43a6586c5c42df gcc/ada/exp_aggr.ads cb884e0943744d5f300c5c3e4119e4cb gcc/ada/exp_atag.adb 05346332ddf8203a76170e8cbe63e4e2 gcc/ada/exp_atag.ads ! 86a10a6fa643f029d383c57a261388de gcc/ada/exp_attr.adb 17fdf392064e44ad852381d1d41aabcc gcc/ada/exp_attr.ads a9c3b0fb5db9737fc7c4d49ce445ef5c gcc/ada/exp_cg.adb 4a26b881a8e33991c84ac37755e194e7 gcc/ada/exp_cg.ads *************** b27fc7fb18dc63c58abb345c1c35e82d gcc/ad *** 681,687 **** 14e6327768906baf6c2d8a45c8d24bce gcc/ada/exp_util.ads 38a61e6daec3249c850989219db4b822 gcc/ada/expander.adb d0ef0a98c8e17e5c08c7e7d4156c4785 gcc/ada/expander.ads ! 1dbef36c67933d04aa87c4bd220b20ea gcc/ada/expect.c 1a7e21e7282a69202f8b7d069d7b3e32 gcc/ada/fe.h 4fa780949974d74bc9ac4ae0912325ed gcc/ada/final.c 4b65b9f0b0e00a25903e15240e19932e gcc/ada/fmap.adb --- 682,688 ---- 14e6327768906baf6c2d8a45c8d24bce gcc/ada/exp_util.ads 38a61e6daec3249c850989219db4b822 gcc/ada/expander.adb d0ef0a98c8e17e5c08c7e7d4156c4785 gcc/ada/expander.ads ! 3baeaacfb70f043c8753571d397655d0 gcc/ada/expect.c 1a7e21e7282a69202f8b7d069d7b3e32 gcc/ada/fe.h 4fa780949974d74bc9ac4ae0912325ed gcc/ada/final.c 4b65b9f0b0e00a25903e15240e19932e gcc/ada/fmap.adb *************** ddfb37d91a2c83b4ddf4397a881f164c gcc/ad *** 703,716 **** 51c95420b5900990141d2e5705582197 gcc/ada/gcc-interface/ada.h 2962facaf5b9ac376e7335599112a520 gcc/ada/gcc-interface/config-lang.in 786d39e3fbc38a2dc96917857f9a69ef gcc/ada/gcc-interface/cuintp.c ! 29e20ae4b99d0133ce3da9362e8b6cb0 gcc/ada/gcc-interface/decl.c c413d4d50e9563859f4d751a4404b705 gcc/ada/gcc-interface/gadaint.h a97632613b5695725b0e3e72e2447f2e gcc/ada/gcc-interface/gigi.h 145be77c79143445142d7570f0853077 gcc/ada/gcc-interface/lang-specs.h 249eff219f209bb778db640b71035f86 gcc/ada/gcc-interface/lang.opt 32fb77d8eb5942c00f07c79e589e82c9 gcc/ada/gcc-interface/misc.c 56f626f9ee32eba8c2d478af39425ad5 gcc/ada/gcc-interface/targtyps.c ! e33e9258ed8a353d1929a3cf268bb623 gcc/ada/gcc-interface/trans.c cf95cc670cc68bb4fa60debfdfbcd3bd gcc/ada/gcc-interface/utils.c 0e98c3f541bd20833a44c42d83ab1cc7 gcc/ada/gcc-interface/utils2.c fee4442db76b93565815e3b01fe99313 gcc/ada/get_scos.adb --- 704,717 ---- 51c95420b5900990141d2e5705582197 gcc/ada/gcc-interface/ada.h 2962facaf5b9ac376e7335599112a520 gcc/ada/gcc-interface/config-lang.in 786d39e3fbc38a2dc96917857f9a69ef gcc/ada/gcc-interface/cuintp.c ! 011d218c041b29526dc8f19bdfa4c6e7 gcc/ada/gcc-interface/decl.c c413d4d50e9563859f4d751a4404b705 gcc/ada/gcc-interface/gadaint.h a97632613b5695725b0e3e72e2447f2e gcc/ada/gcc-interface/gigi.h 145be77c79143445142d7570f0853077 gcc/ada/gcc-interface/lang-specs.h 249eff219f209bb778db640b71035f86 gcc/ada/gcc-interface/lang.opt 32fb77d8eb5942c00f07c79e589e82c9 gcc/ada/gcc-interface/misc.c 56f626f9ee32eba8c2d478af39425ad5 gcc/ada/gcc-interface/targtyps.c ! 5fa7dd6a52e8f03b2c6f813dcc324c69 gcc/ada/gcc-interface/trans.c cf95cc670cc68bb4fa60debfdfbcd3bd gcc/ada/gcc-interface/utils.c 0e98c3f541bd20833a44c42d83ab1cc7 gcc/ada/gcc-interface/utils2.c fee4442db76b93565815e3b01fe99313 gcc/ada/get_scos.adb *************** b8b0f9c3471d18ee5ac33521fe6f6d31 gcc/ad *** 2335,2341 **** 8fd35713740067b6f3127c9bec70ef2e gcc/ada/link.c fd1c9e241f5bf1bb5655c69153b41133 gcc/ada/live.adb 2ca01c3bc1753caf04cead42adf61dd5 gcc/ada/live.ads ! f3136d6d9793ea359f7f447f97c684c7 gcc/ada/locales.c d5fb038e1bece33829101f5100efb7e4 gcc/ada/make.adb c258892952d80d97ea618936a32b954d gcc/ada/make.ads 68eba17920b77908765320be2dc670e6 gcc/ada/make_util.adb --- 2336,2342 ---- 8fd35713740067b6f3127c9bec70ef2e gcc/ada/link.c fd1c9e241f5bf1bb5655c69153b41133 gcc/ada/live.adb 2ca01c3bc1753caf04cead42adf61dd5 gcc/ada/live.ads ! 2842f4ea8d238b2690181c6f4028426c gcc/ada/locales.c d5fb038e1bece33829101f5100efb7e4 gcc/ada/make.adb c258892952d80d97ea618936a32b954d gcc/ada/make.ads 68eba17920b77908765320be2dc670e6 gcc/ada/make_util.adb *************** d800d07fcc38b2c1d8877ddefe7ad9e6 gcc/ad *** 2465,2471 **** bae8233f73919996f85505d2b1f81f30 gcc/ada/sem_ch6.ads fc840088036165e502272c865950328d gcc/ada/sem_ch7.adb 6640abc1e85fd2f51cb0e46d799d54cb gcc/ada/sem_ch7.ads ! d9bd3c1abdb988a4c61bc11d0ef6382d gcc/ada/sem_ch8.adb 315b4d0642c74feb3e4a37dbf20d9efd gcc/ada/sem_ch8.ads 61764181225c232c53f5fa56b701222a gcc/ada/sem_ch9.adb c825ba457685094a8dcd5a6a443295de gcc/ada/sem_ch9.ads --- 2466,2472 ---- bae8233f73919996f85505d2b1f81f30 gcc/ada/sem_ch6.ads fc840088036165e502272c865950328d gcc/ada/sem_ch7.adb 6640abc1e85fd2f51cb0e46d799d54cb gcc/ada/sem_ch7.ads ! fb37d639ea06e8a542684ef9a021ad35 gcc/ada/sem_ch8.adb 315b4d0642c74feb3e4a37dbf20d9efd gcc/ada/sem_ch8.ads 61764181225c232c53f5fa56b701222a gcc/ada/sem_ch9.adb c825ba457685094a8dcd5a6a443295de gcc/ada/sem_ch9.ads *************** cb2ad8b6db799a49cc48bc471a75aff9 gcc/ad *** 2475,2481 **** d87c8185efb466dbbfbc67f54f240c86 gcc/ada/sem_disp.ads 959b218579b2e64397636ecaceacdaf1 gcc/ada/sem_dist.adb f788ea8d5f0f2470516a642b75557874 gcc/ada/sem_dist.ads ! 501ef196a229762818c6a099f5cf84d5 gcc/ada/sem_elab.adb 2220e7d5382472918d7e034d0779264e gcc/ada/sem_elab.ads 66478f248313a6353438068d57855a4e gcc/ada/sem_elim.adb d7157c9afd35ef3281a9dfcd1bac623e gcc/ada/sem_elim.ads --- 2476,2482 ---- d87c8185efb466dbbfbc67f54f240c86 gcc/ada/sem_disp.ads 959b218579b2e64397636ecaceacdaf1 gcc/ada/sem_dist.adb f788ea8d5f0f2470516a642b75557874 gcc/ada/sem_dist.ads ! d18f35a484ec540cc2c8f00d988dc14d gcc/ada/sem_elab.adb 2220e7d5382472918d7e034d0779264e gcc/ada/sem_elab.ads 66478f248313a6353438068d57855a4e gcc/ada/sem_elim.adb d7157c9afd35ef3281a9dfcd1bac623e gcc/ada/sem_elim.ads *************** e5ab761e522c49025dfb606f056c8183 gcc/ad *** 2493,2504 **** 8bb437f214990c486a66a1fb3aa04ef0 gcc/ada/sem_scil.ads eec98dd7bf03522618e7b69e3cf21789 gcc/ada/sem_smem.adb 9f6d8d4450511a08bdce1cca16d90922 gcc/ada/sem_smem.ads ! ff9d7ad100b6119f6c59b51b98fcd0cc gcc/ada/sem_spark.adb 0d1c73b923f8aff47436c82f78c383cb gcc/ada/sem_spark.ads b6afebd48c265930ef17ad2516659017 gcc/ada/sem_type.adb f43911d13a9704b2643355d02f15c611 gcc/ada/sem_type.ads ! 87661492b160a5db27d0475c87fd5ac1 gcc/ada/sem_util.adb ! aeca6aaa72752b60bb2bb7cfe7ab24ed gcc/ada/sem_util.ads ba643f20ce589877d9af5aec1dc718ef gcc/ada/sem_warn.adb b2a2e814a7d7c70b55e471dce65b8760 gcc/ada/sem_warn.ads b93776be04e6890ae57000449eec5e92 gcc/ada/set_targ.adb --- 2494,2505 ---- 8bb437f214990c486a66a1fb3aa04ef0 gcc/ada/sem_scil.ads eec98dd7bf03522618e7b69e3cf21789 gcc/ada/sem_smem.adb 9f6d8d4450511a08bdce1cca16d90922 gcc/ada/sem_smem.ads ! 8199bf064adee6e3444ff24bf958a7a2 gcc/ada/sem_spark.adb 0d1c73b923f8aff47436c82f78c383cb gcc/ada/sem_spark.ads b6afebd48c265930ef17ad2516659017 gcc/ada/sem_type.adb f43911d13a9704b2643355d02f15c611 gcc/ada/sem_type.ads ! 0b485ea92ce23bef806d4455e17804d4 gcc/ada/sem_util.adb ! dd9b48fde89b390af32d68510b004a12 gcc/ada/sem_util.ads ba643f20ce589877d9af5aec1dc718ef gcc/ada/sem_warn.adb b2a2e814a7d7c70b55e471dce65b8760 gcc/ada/sem_warn.ads b93776be04e6890ae57000449eec5e92 gcc/ada/set_targ.adb *************** efebe7f5d522403a33b850a24dd9cd07 gcc/ad *** 2616,2622 **** a6b6cc6fb2c8e1208fd31f2f607a1a77 gcc/ada/xutil.adb 33170889e5f8d6d706c9860cc6182beb gcc/ada/xutil.ads bdf98fed4b1caf482ba73539059a70c8 gcc/addresses.h ! 41a833681ce49bb8ad1ad2e7d0aad2f6 gcc/alias.c af06312a4680a8f5516a66c65553d484 gcc/alias.h 97e1d797af1c39d9c32c92a073df5a18 gcc/align.h 9c97bcef669ff02c38ee00291aa421ee gcc/alloc-pool.c --- 2617,2623 ---- a6b6cc6fb2c8e1208fd31f2f607a1a77 gcc/ada/xutil.adb 33170889e5f8d6d706c9860cc6182beb gcc/ada/xutil.ads bdf98fed4b1caf482ba73539059a70c8 gcc/addresses.h ! e46b7f87e17fcfbe324f020a0ed566a1 gcc/alias.c af06312a4680a8f5516a66c65553d484 gcc/alias.h 97e1d797af1c39d9c32c92a073df5a18 gcc/align.h 9c97bcef669ff02c38ee00291aa421ee gcc/alloc-pool.c *************** b6512b8f9058087096a75a01c9231b24 gcc/ba *** 2635,2641 **** 431ffeecfc23fc1fd9d4b77938aaa312 gcc/bitmap.c 8a72f59525595f4c2d176dcedacfc0fe gcc/bitmap.h ac2bb9f75aabb5a7d1baacccdc6802f5 gcc/brig-builtins.def ! b11f486a422e2cf9146635874849a783 gcc/brig/ChangeLog 2799840acb52803753cc46e8eb539f02 gcc/brig/Make-lang.in df5d7cac8308be6fbc924b83e784c28d gcc/brig/brig-builtins.h 648c2cdf588c01a32dc637b2e1470b51 gcc/brig/brig-c.h --- 2636,2642 ---- 431ffeecfc23fc1fd9d4b77938aaa312 gcc/bitmap.c 8a72f59525595f4c2d176dcedacfc0fe gcc/bitmap.h ac2bb9f75aabb5a7d1baacccdc6802f5 gcc/brig-builtins.def ! b81af3c7e698822c306321c12654b6ba gcc/brig/ChangeLog 2799840acb52803753cc46e8eb539f02 gcc/brig/Make-lang.in df5d7cac8308be6fbc924b83e784c28d gcc/brig/brig-builtins.h 648c2cdf588c01a32dc637b2e1470b51 gcc/brig/brig-c.h *************** f156fc460a35ae6ee619d5361c188ad5 gcc/br *** 2679,2705 **** 885cb22e704808bec1c6f34bbb733ac3 gcc/bt-load.c ccb5e83fa9be6f84b76daed24fb54d20 gcc/builtin-attrs.def dab194419671867a024b4ce5bc4f218d gcc/builtin-types.def ! 52cb0a29dbc1cb92a22d9453f1398367 gcc/builtins.c 9fbe28b28c50967744c1634709a3875f gcc/builtins.def ! d4c0e64d63c0264060082687a14e0f61 gcc/builtins.h ! 30532a7c91d93ceb2b00be5ab9f95c6a gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes ! 93496fb10cb7c1d3ba6735b8b573cf0d gcc/c-family/c-ada-spec.c 6e16aaf2dba3ab401dacab78a702fb68 gcc/c-family/c-ada-spec.h ! 605bf2fa58673dc7cb7c123ed23ac806 gcc/c-family/c-attribs.c 55c9394548af6c0c6fa800325f7f3ccf gcc/c-family/c-common.c 799db5073f5196fe7a62aaccceca374f gcc/c-family/c-common.def ! 40739b54640d5ab4583d9850d4493849 gcc/c-family/c-common.h 536364844b73784722b7930e788d22f3 gcc/c-family/c-cppbuiltin.c 237c08e2128b1a09a025851af3abd6ed gcc/c-family/c-dump.c ! add8bf9ddb66a53f76024a7f5f97f5ea gcc/c-family/c-format.c 4873be4338f0f425c64066b19f76645f gcc/c-family/c-format.h 9af8ccfecc585f721f492082f479d617 gcc/c-family/c-gimplify.c 177dc34bc751b73d3e783ba62f193936 gcc/c-family/c-indentation.c 9faa45d960f8aa84b4aeb5e45185f2bd gcc/c-family/c-indentation.h ! 0f6d01f0ca3f438d7e4dec5000b6dcac gcc/c-family/c-lex.c 7f146cedb1c97307754dd4bfcfe9478a gcc/c-family/c-objc.h ! 45aae5d5d21d0ade6e934f6f97072e7c gcc/c-family/c-omp.c d295e50a31823c9af918cdd3414489de gcc/c-family/c-opts.c 8a8c085479dcc5c4a071bac6363b632c gcc/c-family/c-pch.c e9957bbe8ab82a16462be3363e6ea8d7 gcc/c-family/c-ppoutput.c --- 2680,2706 ---- 885cb22e704808bec1c6f34bbb733ac3 gcc/bt-load.c ccb5e83fa9be6f84b76daed24fb54d20 gcc/builtin-attrs.def dab194419671867a024b4ce5bc4f218d gcc/builtin-types.def ! 26ac1198e8f865e1b78df3da6f5e00ce gcc/builtins.c 9fbe28b28c50967744c1634709a3875f gcc/builtins.def ! 1f87ccbf352aa59dd341d464a2d1048d gcc/builtins.h ! 02925db51dca3a4dbe586ce57da785e1 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes ! d03318328afefb1e63fa52b33e77fe41 gcc/c-family/c-ada-spec.c 6e16aaf2dba3ab401dacab78a702fb68 gcc/c-family/c-ada-spec.h ! 5f372cd48d63ea7876de0487f30cf552 gcc/c-family/c-attribs.c 55c9394548af6c0c6fa800325f7f3ccf gcc/c-family/c-common.c 799db5073f5196fe7a62aaccceca374f gcc/c-family/c-common.def ! e0faa972cc17549acc84c46d1e1f6c64 gcc/c-family/c-common.h 536364844b73784722b7930e788d22f3 gcc/c-family/c-cppbuiltin.c 237c08e2128b1a09a025851af3abd6ed gcc/c-family/c-dump.c ! 8af256dc570bc06ca5f657394380f8bc gcc/c-family/c-format.c 4873be4338f0f425c64066b19f76645f gcc/c-family/c-format.h 9af8ccfecc585f721f492082f479d617 gcc/c-family/c-gimplify.c 177dc34bc751b73d3e783ba62f193936 gcc/c-family/c-indentation.c 9faa45d960f8aa84b4aeb5e45185f2bd gcc/c-family/c-indentation.h ! b1c435278fe8846e626cdbea827004cc gcc/c-family/c-lex.c 7f146cedb1c97307754dd4bfcfe9478a gcc/c-family/c-objc.h ! 230fa0b76cdfac85c6a4d7e112703dd6 gcc/c-family/c-omp.c d295e50a31823c9af918cdd3414489de gcc/c-family/c-opts.c 8a8c085479dcc5c4a071bac6363b632c gcc/c-family/c-pch.c e9957bbe8ab82a16462be3363e6ea8d7 gcc/c-family/c-ppoutput.c *************** b7b21859ce3d8cc930d96c02039426ef gcc/c- *** 2715,2748 **** 7bd5beb814c1acbd24a164bfd7b19e9b gcc/c-family/c-target.h ad9da752fb4ea30cdf67bf066aff69d5 gcc/c-family/c-ubsan.c 711d982d10f080c7045ecb3c2467adeb gcc/c-family/c-ubsan.h ! 2b5e4e7cc927404207b76da72d51c23b gcc/c-family/c-warn.c 3703fbdadc41ffb57a4ebab41b986168 gcc/c-family/c.opt 17541db9119abf6fdbc75356872eb74d gcc/c-family/cppspec.c aa8b8c0c92776ef568d28cc0be2c118b gcc/c-family/known-headers.cc 1d8729bfb5168940f094c5467d23d18a gcc/c-family/known-headers.h 95d7888b5c91642be153950ead0fe53f gcc/c-family/name-hint.h 486e4e0fe16c4735aa71549fe44e45a4 gcc/c-family/stub-objc.c ! de03028a14ae078369a8cf9a8fef9392 gcc/c/ChangeLog e2986e827d75732d76f60a2f440aea90 gcc/c/Make-lang.in 1052580fc1a5dcf61f5187778cce9e9e gcc/c/c-aux-info.c a6e915d6595e5ce0c6e06196129c5675 gcc/c/c-convert.c ! 57e4e1beabff329a135195a0ef7721ad gcc/c/c-decl.c b95cf4e938fc7503cfcd938fde042586 gcc/c/c-errors.c 573795d93ab1c97cf49af46e3c6aa098 gcc/c/c-fold.c 84e874f6c1c4c67f302338fd3e542121 gcc/c/c-lang.c a50b72cffed5275f6c6a1914bc7b7720 gcc/c/c-lang.h cbbffcf99ee522116b4b2fc498a9956d gcc/c/c-objc-common.c 60515079d4f1f61748b3bd5c040abcc8 gcc/c/c-objc-common.h ! 6d369d006f65234dced93673fc4d6ccf gcc/c/c-parser.c de7fdf850c2558fedc7d6b64ecc3882c gcc/c/c-parser.h 447a07f41ef147bc9a7d003b989fd8bb gcc/c/c-tree.h ! daece10f7f0e6200e9c0381b2bd177ea gcc/c/c-typeck.c e0482ef46be955f4e64ba697cc2b8342 gcc/c/config-lang.in e43f502e14e5a147faaa60e6f382c67e gcc/c/gccspec.c 865df96f45f670f8daa2ed245fc8f64d gcc/c/gimple-parser.c 9f4bd54edc73763195673ac2b1682941 gcc/c/gimple-parser.h 57e7922af2f14669435483a4755927b7 gcc/caller-save.c ! f7eee29ad11ab7dbe01e8de005a66510 gcc/calls.c eff202a658a884feaf3dea6d8628123d gcc/calls.h 001043a9e182f9cf10009b4d3430dd06 gcc/ccmp.c bf3a66c3cab2b1ca9cb7d52392aa5005 gcc/ccmp.h --- 2716,2749 ---- 7bd5beb814c1acbd24a164bfd7b19e9b gcc/c-family/c-target.h ad9da752fb4ea30cdf67bf066aff69d5 gcc/c-family/c-ubsan.c 711d982d10f080c7045ecb3c2467adeb gcc/c-family/c-ubsan.h ! 814c7390423e70cb866bacf8fe041dbe gcc/c-family/c-warn.c 3703fbdadc41ffb57a4ebab41b986168 gcc/c-family/c.opt 17541db9119abf6fdbc75356872eb74d gcc/c-family/cppspec.c aa8b8c0c92776ef568d28cc0be2c118b gcc/c-family/known-headers.cc 1d8729bfb5168940f094c5467d23d18a gcc/c-family/known-headers.h 95d7888b5c91642be153950ead0fe53f gcc/c-family/name-hint.h 486e4e0fe16c4735aa71549fe44e45a4 gcc/c-family/stub-objc.c ! 36dfbc520bf81b073594b37c5983c215 gcc/c/ChangeLog e2986e827d75732d76f60a2f440aea90 gcc/c/Make-lang.in 1052580fc1a5dcf61f5187778cce9e9e gcc/c/c-aux-info.c a6e915d6595e5ce0c6e06196129c5675 gcc/c/c-convert.c ! adad66add1c5765b4bf4bfff0a28436a gcc/c/c-decl.c b95cf4e938fc7503cfcd938fde042586 gcc/c/c-errors.c 573795d93ab1c97cf49af46e3c6aa098 gcc/c/c-fold.c 84e874f6c1c4c67f302338fd3e542121 gcc/c/c-lang.c a50b72cffed5275f6c6a1914bc7b7720 gcc/c/c-lang.h cbbffcf99ee522116b4b2fc498a9956d gcc/c/c-objc-common.c 60515079d4f1f61748b3bd5c040abcc8 gcc/c/c-objc-common.h ! 7f691a864d2e4f293c07776e4f435523 gcc/c/c-parser.c de7fdf850c2558fedc7d6b64ecc3882c gcc/c/c-parser.h 447a07f41ef147bc9a7d003b989fd8bb gcc/c/c-tree.h ! 6d4dc433da12c590ef998348525056c9 gcc/c/c-typeck.c e0482ef46be955f4e64ba697cc2b8342 gcc/c/config-lang.in e43f502e14e5a147faaa60e6f382c67e gcc/c/gccspec.c 865df96f45f670f8daa2ed245fc8f64d gcc/c/gimple-parser.c 9f4bd54edc73763195673ac2b1682941 gcc/c/gimple-parser.h 57e7922af2f14669435483a4755927b7 gcc/caller-save.c ! 880330078325db42d0e941c2f2e70a23 gcc/calls.c eff202a658a884feaf3dea6d8628123d gcc/calls.h 001043a9e182f9cf10009b4d3430dd06 gcc/ccmp.c bf3a66c3cab2b1ca9cb7d52392aa5005 gcc/ccmp.h *************** bf3a66c3cab2b1ca9cb7d52392aa5005 gcc/cc *** 2753,2759 **** dc7a53afb0222a05a0d519157123fcbf gcc/cfganal.h 1c4d111f7b541b317268afd73e47626a gcc/cfgbuild.c e6f59cc79aa2c1bdb16a88e352b6886f gcc/cfgbuild.h ! 0633f29598e0f557b7de3457e9268f7e gcc/cfgcleanup.c f4692b770621730591573a07c4d95fb3 gcc/cfgcleanup.h 43f8baa0a538a92e1e6d6dfaac3e89eb gcc/cfgexpand.c fe629b59c6e094d5d8a88ee7ba383257 gcc/cfgexpand.h --- 2754,2760 ---- dc7a53afb0222a05a0d519157123fcbf gcc/cfganal.h 1c4d111f7b541b317268afd73e47626a gcc/cfgbuild.c e6f59cc79aa2c1bdb16a88e352b6886f gcc/cfgbuild.h ! 3e135eeee929a5bc5aa18f47a0b94544 gcc/cfgcleanup.c f4692b770621730591573a07c4d95fb3 gcc/cfgcleanup.h 43f8baa0a538a92e1e6d6dfaac3e89eb gcc/cfgexpand.c fe629b59c6e094d5d8a88ee7ba383257 gcc/cfgexpand.h *************** d0212d2f39c97e91b55bb8048871b875 gcc/cf *** 2766,2772 **** 05d761d9a2fc9947b911169bb7cd205c gcc/cfgloopmanip.h c3b866bd1d8fd06efa3e0f1b7877efc8 gcc/cfgrtl.c bccd993b0524c368bad380e50210af12 gcc/cfgrtl.h ! 14ce6d093c72ab3aaeb85ea01211d616 gcc/cgraph.c 1efd36e9433bdebdd9e6def2769af746 gcc/cgraph.h 5ab10412c44ddfb5b0f25ca8ea3a0202 gcc/cgraphbuild.c 7a74bbacbd55adadc590f0b83088c09f gcc/cgraphclones.c --- 2767,2773 ---- 05d761d9a2fc9947b911169bb7cd205c gcc/cfgloopmanip.h c3b866bd1d8fd06efa3e0f1b7877efc8 gcc/cfgrtl.c bccd993b0524c368bad380e50210af12 gcc/cfgrtl.h ! fe42a46880c980de109ca92b79260bed gcc/cgraph.c 1efd36e9433bdebdd9e6def2769af746 gcc/cgraph.h 5ab10412c44ddfb5b0f25ca8ea3a0202 gcc/cgraphbuild.c 7a74bbacbd55adadc590f0b83088c09f gcc/cgraphclones.c *************** dcd3e968a11720fd3605b8a83f4c36a2 gcc/cg *** 2776,2786 **** f955fc53f7b1d14e95343fca1c4906cb gcc/collect-utils.h d4e8edbe029cb4d56501e7b8ab5eafe2 gcc/collect2-aix.c 274e2f96171b6e209f0a870f01b0114f gcc/collect2-aix.h ! c65544098d354f73fffdaf0037a80942 gcc/collect2.c 8a9ef178a4b6b91baf4fd905dd9e6fac gcc/collect2.h a490aaf423f221389948b97149327357 gcc/color-macros.h 01d6047755a03366f991859a1f29ef14 gcc/combine-stack-adj.c ! 68c14442605d6fa19d8420b8d66fc4aa gcc/combine.c 0c8753864413a0970cf0c9bedb15e1eb gcc/common.md 5d06f57a508758d3aa5dcede294fca38 gcc/common.opt a8117752467eeae4763990eebb20a666 gcc/common/common-target-def.h --- 2777,2787 ---- f955fc53f7b1d14e95343fca1c4906cb gcc/collect-utils.h d4e8edbe029cb4d56501e7b8ab5eafe2 gcc/collect2-aix.c 274e2f96171b6e209f0a870f01b0114f gcc/collect2-aix.h ! 6ce9b7d5b934bd6eae7f48f1cd76d280 gcc/collect2.c 8a9ef178a4b6b91baf4fd905dd9e6fac gcc/collect2.h a490aaf423f221389948b97149327357 gcc/color-macros.h 01d6047755a03366f991859a1f29ef14 gcc/combine-stack-adj.c ! 6e3231f1e3c0163fc1f2c69900890b97 gcc/combine.c 0c8753864413a0970cf0c9bedb15e1eb gcc/common.md 5d06f57a508758d3aa5dcede294fca38 gcc/common.opt a8117752467eeae4763990eebb20a666 gcc/common/common-target-def.h *************** c7453ce3ee2961e0ac023d5be73e4f14 gcc/co *** 2826,2832 **** 977140fb1d7bfef6f4c9cce761d6623c gcc/common/config/riscv/riscv-common.c cf5d9f577e2ff3f518ec44212de4f88c gcc/common/config/rs6000/rs6000-common.c 5b076a06a013ee9eb027d2e1e38c9fff gcc/common/config/rx/rx-common.c ! d4584987a94c19f924e1d392f43d8c30 gcc/common/config/s390/s390-common.c c814126984da51e1f5fffe9bf14b7114 gcc/common/config/sh/sh-common.c c5ffafae689a9cabd6911ae879006843 gcc/common/config/sparc/sparc-common.c de9956cbd36ab6ac664807fd0cc8ae90 gcc/common/config/spu/spu-common.c --- 2827,2833 ---- 977140fb1d7bfef6f4c9cce761d6623c gcc/common/config/riscv/riscv-common.c cf5d9f577e2ff3f518ec44212de4f88c gcc/common/config/rs6000/rs6000-common.c 5b076a06a013ee9eb027d2e1e38c9fff gcc/common/config/rx/rx-common.c ! fc95e1c22891e358ded1d629dfabda2e gcc/common/config/s390/s390-common.c c814126984da51e1f5fffe9bf14b7114 gcc/common/config/sh/sh-common.c c5ffafae689a9cabd6911ae879006843 gcc/common/config/sparc/sparc-common.c de9956cbd36ab6ac664807fd0cc8ae90 gcc/common/config/spu/spu-common.c *************** d2fe1983a775408a212dcef07d92e930 gcc/co *** 2840,2846 **** 83ba91e4a269133b4daaf46c51daf5d2 gcc/compare-elim.c d1100e835255850a32dd95ed5da4496d gcc/conditions.h 4511acc0026237bb57e2a9b008fe5d44 gcc/config.build ! 95b2e9cf8e3d562e56dd10bbd5544e5c gcc/config.gcc c4271efdeb41a6270bd654eb23d2e339 gcc/config.host 17793c60d6ca8d788ae7a3277634b2ac gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README --- 2841,2847 ---- 83ba91e4a269133b4daaf46c51daf5d2 gcc/compare-elim.c d1100e835255850a32dd95ed5da4496d gcc/conditions.h 4511acc0026237bb57e2a9b008fe5d44 gcc/config.build ! 8d379bce7690277bdbc5cfc8651cf52a gcc/config.gcc c4271efdeb41a6270bd654eb23d2e339 gcc/config.host 17793c60d6ca8d788ae7a3277634b2ac gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README *************** dafef92df94b78e5bde61ec3b4d3870c gcc/co *** 2858,2864 **** d622ad855ab72c4e8951d0c7b2ccc034 gcc/config/aarch64/aarch64-ldpstp.md c4084b7bbc66f67ef62d37961e022fff gcc/config/aarch64/aarch64-linux.h 56e110b91c9035333ac0cde5bd964e36 gcc/config/aarch64/aarch64-modes.def ! dd571367197edac0217373dc2e6bf68e gcc/config/aarch64/aarch64-option-extensions.def 838f1517af2ca6f144fbeb195607045f gcc/config/aarch64/aarch64-opts.h 23b2873f94be769558c521835e53008d gcc/config/aarch64/aarch64-passes.def 4a370c7161690b96ba4538ee8989d313 gcc/config/aarch64/aarch64-protos.h --- 2859,2865 ---- d622ad855ab72c4e8951d0c7b2ccc034 gcc/config/aarch64/aarch64-ldpstp.md c4084b7bbc66f67ef62d37961e022fff gcc/config/aarch64/aarch64-linux.h 56e110b91c9035333ac0cde5bd964e36 gcc/config/aarch64/aarch64-modes.def ! 9c222faec639863a49c612cb794b56f6 gcc/config/aarch64/aarch64-option-extensions.def 838f1517af2ca6f144fbeb195607045f gcc/config/aarch64/aarch64-opts.h 23b2873f94be769558c521835e53008d gcc/config/aarch64/aarch64-passes.def 4a370c7161690b96ba4538ee8989d313 gcc/config/aarch64/aarch64-protos.h *************** a26908792e566ebf4f2479f2ff030739 gcc/co *** 2869,2882 **** 4136e56280157ea13020fd8e26eb6a25 gcc/config/aarch64/aarch64-sve.md 1e592d43a448d2246f2b6890ca72b6bd gcc/config/aarch64/aarch64-tune.md d878a234f4fc01a6cb05dcb7284becb3 gcc/config/aarch64/aarch64-tuning-flags.def ! 66752608a1f94ffbac41215bffbb03a4 gcc/config/aarch64/aarch64.c ! bd19ce459733fb6e474d24a36b838d99 gcc/config/aarch64/aarch64.h ! d6c51033e214a9111a74072906652c1e gcc/config/aarch64/aarch64.md ! d2a9cfe47d563e5309348a045cea8ee2 gcc/config/aarch64/aarch64.opt 4449557b26ddb9c3a60c5516259b8963 gcc/config/aarch64/arm_acle.h 0013b27a5b56f740cec7a9699f584a24 gcc/config/aarch64/arm_fp16.h e4a2f9339577bb6a325f2eff84b42ad2 gcc/config/aarch64/arm_neon.h ! 0170498201f34a6668cea76790f764a7 gcc/config/aarch64/atomics.md 527902a6ecbda3cb905910ea4f3014b5 gcc/config/aarch64/biarchilp32.h c48501049777c4394fa9dccb0587cff3 gcc/config/aarch64/biarchlp64.h 0344cc6033f61ddd319badd9d166defb gcc/config/aarch64/constraints.md --- 2870,2883 ---- 4136e56280157ea13020fd8e26eb6a25 gcc/config/aarch64/aarch64-sve.md 1e592d43a448d2246f2b6890ca72b6bd gcc/config/aarch64/aarch64-tune.md d878a234f4fc01a6cb05dcb7284becb3 gcc/config/aarch64/aarch64-tuning-flags.def ! a6b77fbd48747e45d762a03d66bea093 gcc/config/aarch64/aarch64.c ! 6f7d9f18f80df8dc63848c69ab285ca6 gcc/config/aarch64/aarch64.h ! a56bf24170698b9386ab326b01e5a625 gcc/config/aarch64/aarch64.md ! d7b81febfb8b48efb6d0edcf324bc0a3 gcc/config/aarch64/aarch64.opt 4449557b26ddb9c3a60c5516259b8963 gcc/config/aarch64/arm_acle.h 0013b27a5b56f740cec7a9699f584a24 gcc/config/aarch64/arm_fp16.h e4a2f9339577bb6a325f2eff84b42ad2 gcc/config/aarch64/arm_neon.h ! b4b284259c89346d625b369e35e99671 gcc/config/aarch64/atomics.md 527902a6ecbda3cb905910ea4f3014b5 gcc/config/aarch64/biarchilp32.h c48501049777c4394fa9dccb0587cff3 gcc/config/aarch64/biarchlp64.h 0344cc6033f61ddd319badd9d166defb gcc/config/aarch64/constraints.md *************** dc886975d7cb1689611f58c1887e30e9 gcc/co *** 2900,2906 **** 4daa20a7a6263d32db29e03ce29dd507 gcc/config/alpha/alpha-modes.def 14c0e3ee10644832aea3d08fcdb3edf1 gcc/config/alpha/alpha-passes.def dd943b1b255d6b14254d3498c252421f gcc/config/alpha/alpha-protos.h ! 57d81c902e325fc55fdf57863fc25151 gcc/config/alpha/alpha.c 39ae81157f2e165e09d852fd5117138c gcc/config/alpha/alpha.h d4378571b31f5f2bf5a493cf2676a743 gcc/config/alpha/alpha.md 010c0e6d6a438500e924d803f716e7a9 gcc/config/alpha/alpha.opt --- 2901,2907 ---- 4daa20a7a6263d32db29e03ce29dd507 gcc/config/alpha/alpha-modes.def 14c0e3ee10644832aea3d08fcdb3edf1 gcc/config/alpha/alpha-passes.def dd943b1b255d6b14254d3498c252421f gcc/config/alpha/alpha-protos.h ! e5d132f367cd3b86ff8354812da9c2e8 gcc/config/alpha/alpha.c 39ae81157f2e165e09d852fd5117138c gcc/config/alpha/alpha.h d4378571b31f5f2bf5a493cf2676a743 gcc/config/alpha/alpha.md 010c0e6d6a438500e924d803f716e7a9 gcc/config/alpha/alpha.opt *************** af5a03c7a371fbffa7e34fe76c5396ba gcc/co *** 2927,2941 **** cde6e4f4478719063a32dc4ba28a3e16 gcc/config/arc/arc-c.c d7ecd6ddc7e92d934efbf5bbfabca6e4 gcc/config/arc/arc-c.def 9be7914d23fb7743f42e5c589fbab9fe gcc/config/arc/arc-cpus.def ! f43aabd1fcba994e4a225c1b164b523a gcc/config/arc/arc-modes.def 6fedfd855b8542cdf94e9347f77044e0 gcc/config/arc/arc-options.def 3b2d565f35151ad4acdf9afed00a6523 gcc/config/arc/arc-opts.h 290e74bfd051d65fdd39c687105d9bd2 gcc/config/arc/arc-protos.h a267b4dc3fc31399842ad23dfaa7dbe9 gcc/config/arc/arc-simd.h 8cc83d0aafdf62555514a957f8f7e8cd gcc/config/arc/arc-tables.opt ! 335d1ebd777ff536242e69baea7fa9f9 gcc/config/arc/arc.c ! db49853674821f32d9a95084819809ac gcc/config/arc/arc.h ! e5f49b5ed3f3b8ef4ecd3ff041ae2370 gcc/config/arc/arc.md cf90be9d74224a2cc6182042983f2b5f gcc/config/arc/arc.opt a4bce6d486a1c9a976a7492f50e15b3f gcc/config/arc/arc600.md 14ad418999c835ed974a41d77c1f213e gcc/config/arc/arc700.md --- 2928,2942 ---- cde6e4f4478719063a32dc4ba28a3e16 gcc/config/arc/arc-c.c d7ecd6ddc7e92d934efbf5bbfabca6e4 gcc/config/arc/arc-c.def 9be7914d23fb7743f42e5c589fbab9fe gcc/config/arc/arc-cpus.def ! 00776ace433e126b58d8fc2e413bd2c7 gcc/config/arc/arc-modes.def 6fedfd855b8542cdf94e9347f77044e0 gcc/config/arc/arc-options.def 3b2d565f35151ad4acdf9afed00a6523 gcc/config/arc/arc-opts.h 290e74bfd051d65fdd39c687105d9bd2 gcc/config/arc/arc-protos.h a267b4dc3fc31399842ad23dfaa7dbe9 gcc/config/arc/arc-simd.h 8cc83d0aafdf62555514a957f8f7e8cd gcc/config/arc/arc-tables.opt ! 76001e77698909c6f3fd526252537c70 gcc/config/arc/arc.c ! 8127ad067360a9256c0a2706408652b6 gcc/config/arc/arc.h ! e6aef6e17abfe320f06152bcdb5d2a40 gcc/config/arc/arc.md cf90be9d74224a2cc6182042983f2b5f gcc/config/arc/arc.opt a4bce6d486a1c9a976a7492f50e15b3f gcc/config/arc/arc600.md 14ad418999c835ed974a41d77c1f213e gcc/config/arc/arc700.md *************** e2ff62b1818614bfcd02411e4dd856d3 gcc/co *** 2948,2959 **** a8350a84a5a5181d3088c7eb39dc910f gcc/config/arc/constraints.md 161bfafb088c636cdb10f6d8516fb340 gcc/config/arc/driver-arc.c 4c62c02c19a9ebe7fc4333cdddf4c440 gcc/config/arc/elf.h ! e03d83f9e816bb5db0951d03ecdccb6b gcc/config/arc/fpu.md d8fdc9a33c4bcc5dea81d9082a4b3440 gcc/config/arc/fpx.md 9aa766ebed3c5a504a14c45986206dd6 gcc/config/arc/genmultilib.awk 0ff9d980c06f90da76fdeab962af90d4 gcc/config/arc/genoptions.awk a5477bc783b3e4c9a1e4c90530079426 gcc/config/arc/linux.h ! 7b4483540357a153a1cf7460f533464c gcc/config/arc/predicates.md 729a5c2298cb11a91656725708c1da1f gcc/config/arc/simdext.md 3eeba7339d409e6a42f8f145d413ba32 gcc/config/arc/t-arc 12c35ce0aebace2a14f44d4ea31c991a gcc/config/arc/t-multilib --- 2949,2960 ---- a8350a84a5a5181d3088c7eb39dc910f gcc/config/arc/constraints.md 161bfafb088c636cdb10f6d8516fb340 gcc/config/arc/driver-arc.c 4c62c02c19a9ebe7fc4333cdddf4c440 gcc/config/arc/elf.h ! 56d7e36bbf717b1f73c1fff42bb2d3fd gcc/config/arc/fpu.md d8fdc9a33c4bcc5dea81d9082a4b3440 gcc/config/arc/fpx.md 9aa766ebed3c5a504a14c45986206dd6 gcc/config/arc/genmultilib.awk 0ff9d980c06f90da76fdeab962af90d4 gcc/config/arc/genoptions.awk a5477bc783b3e4c9a1e4c90530079426 gcc/config/arc/linux.h ! ba5307a02ba364d4a7afb0ebf2bde982 gcc/config/arc/predicates.md 729a5c2298cb11a91656725708c1da1f gcc/config/arc/simdext.md 3eeba7339d409e6a42f8f145d413ba32 gcc/config/arc/t-arc 12c35ce0aebace2a14f44d4ea31c991a gcc/config/arc/t-multilib *************** de5def37f28bbb179fec0bd32e6c33b1 gcc/co *** 2973,2991 **** 66fb074d47d486e3953c4de2b1b555dc gcc/config/arm/arm-ldmstm.ml 263cc60e9131bac221e70e5d6dc547cd gcc/config/arm/arm-modes.def e78009a8d13764d219ebfc56144bf0ac gcc/config/arm/arm-opts.h ! 9688a4e7db799ba6d639911b78de95ae gcc/config/arm/arm-protos.h 8e97c44a8af72486a4c5dbf52ec2f910 gcc/config/arm/arm-simd-builtin-types.def 7976a22f8c2764c0fe4b148bd9f24607 gcc/config/arm/arm-tables.opt 5a60221bb6c21b01a1ab3b54d61edba4 gcc/config/arm/arm-tune.md ! a9136cbbecf7f07d4edc395ae3571754 gcc/config/arm/arm.c ! 9a016068215fbf577277f619fb4e9146 gcc/config/arm/arm.h ! de1c51616255ec1afedb4268e4abcb59 gcc/config/arm/arm.md ! 1664fe13ac73903915e00404a97ce8ce gcc/config/arm/arm.opt 4698b3ffbbbfb9f42bf06a3a420fd7d3 gcc/config/arm/arm1020e.md 44ca0240d101cb0eb5d63e2e1427fab9 gcc/config/arm/arm1026ejs.md 62aa008ea48bdd334aff620b69e4aaa6 gcc/config/arm/arm1136jfs.md 66a0492a1ce0455a8cdf0f896b27dc2a gcc/config/arm/arm926ejs.md ! 53cc5e09fcce88b643082b91b6c72736 gcc/config/arm/arm_acle.h 5561eb4cd61fd4f04f4710bbe305c73c gcc/config/arm/arm_acle_builtins.def bd0ff25283d8b97b7aff4b4e5daebb8c gcc/config/arm/arm_cmse.h 0aef6c3a1ddf41c3de6bcbe1bee94c6d gcc/config/arm/arm_fp16.h --- 2974,2992 ---- 66fb074d47d486e3953c4de2b1b555dc gcc/config/arm/arm-ldmstm.ml 263cc60e9131bac221e70e5d6dc547cd gcc/config/arm/arm-modes.def e78009a8d13764d219ebfc56144bf0ac gcc/config/arm/arm-opts.h ! 0839e8dc297ba77a474ca5b54021d430 gcc/config/arm/arm-protos.h 8e97c44a8af72486a4c5dbf52ec2f910 gcc/config/arm/arm-simd-builtin-types.def 7976a22f8c2764c0fe4b148bd9f24607 gcc/config/arm/arm-tables.opt 5a60221bb6c21b01a1ab3b54d61edba4 gcc/config/arm/arm-tune.md ! aacd1872c0b22a6f266afb8e07867dfc gcc/config/arm/arm.c ! 30d086f1ea2f74e10dc923df0a5a618b gcc/config/arm/arm.h ! 547f9ca4d6ce3a07e1896aba043d9d8b gcc/config/arm/arm.md ! 4ccba5fde3d84bab8c82ba954f689e96 gcc/config/arm/arm.opt 4698b3ffbbbfb9f42bf06a3a420fd7d3 gcc/config/arm/arm1020e.md 44ca0240d101cb0eb5d63e2e1427fab9 gcc/config/arm/arm1026ejs.md 62aa008ea48bdd334aff620b69e4aaa6 gcc/config/arm/arm1136jfs.md 66a0492a1ce0455a8cdf0f896b27dc2a gcc/config/arm/arm926ejs.md ! ae7ebe0ef8367ee1e5f9532735c3b249 gcc/config/arm/arm_acle.h 5561eb4cd61fd4f04f4710bbe305c73c gcc/config/arm/arm_acle_builtins.def bd0ff25283d8b97b7aff4b4e5daebb8c gcc/config/arm/arm_cmse.h 0aef6c3a1ddf41c3de6bcbe1bee94c6d gcc/config/arm/arm_fp16.h *************** e25ba0da07f2566ac294ea8eaac817c4 gcc/co *** 3037,3043 **** 64d52eba3e9b59bdffdcd70d788767c7 gcc/config/arm/neon.md 8a125f0bc52191b6835e1a9297a76515 gcc/config/arm/netbsd-elf.h 9728cc28ac9ce55c80a7771a142fbf6c gcc/config/arm/parsecpu.awk ! 4e3ef3ac6f16b95a73a5f63954042ce0 gcc/config/arm/predicates.md c2be33e26eb8292a27bb21a6c92b78ef gcc/config/arm/rtems.h 8c07356b17ea44561571c21c6c253935 gcc/config/arm/semi.h 32340f243e64a90a7534264fd436d9ab gcc/config/arm/symbian.h --- 3038,3044 ---- 64d52eba3e9b59bdffdcd70d788767c7 gcc/config/arm/neon.md 8a125f0bc52191b6835e1a9297a76515 gcc/config/arm/netbsd-elf.h 9728cc28ac9ce55c80a7771a142fbf6c gcc/config/arm/parsecpu.awk ! d47afa13477045fe8008b0584e46d4e7 gcc/config/arm/predicates.md c2be33e26eb8292a27bb21a6c92b78ef gcc/config/arm/rtems.h 8c07356b17ea44561571c21c6c253935 gcc/config/arm/semi.h 32340f243e64a90a7534264fd436d9ab gcc/config/arm/symbian.h *************** dc007b1dbf75597ac2a62d4681e273a0 gcc/co *** 3049,3061 **** 5cb1364a5dad304a16a4f2ea81229215 gcc/config/arm/t-fuchsia e3950ec6bd159734835f8f8fb143efc6 gcc/config/arm/t-linux-androideabi 43347f5a0193bfcfd8a439701fdc16d5 gcc/config/arm/t-linux-eabi ! 0b3068c314e12e2a28d607be2eb228c8 gcc/config/arm/t-multilib 2933b88f6eb66e6cab171a229e4f6ae3 gcc/config/arm/t-phoenix 1f56d95be8ef65bbcf46237398023685 gcc/config/arm/t-rmprofile 6219db2eb3bceea962a45e9f1400f370 gcc/config/arm/t-rtems 0ea5b4f92221a7bd097fa437a0048d3e gcc/config/arm/t-symbian b5539c5e14f1eed60835983547d2b721 gcc/config/arm/t-vxworks ! a5d1e9b421b01f3bfa80ffc2b334a24b gcc/config/arm/thumb1.md f669257064afc30d581080fb012cfddf gcc/config/arm/thumb2.md d9951f54357bbd37880fd67d7fcc1be7 gcc/config/arm/types.md 802ce3cab15454d7b6ed350fc2188fc9 gcc/config/arm/uclinux-eabi.h --- 3050,3062 ---- 5cb1364a5dad304a16a4f2ea81229215 gcc/config/arm/t-fuchsia e3950ec6bd159734835f8f8fb143efc6 gcc/config/arm/t-linux-androideabi 43347f5a0193bfcfd8a439701fdc16d5 gcc/config/arm/t-linux-eabi ! d424f0660f469d6c13a6f84e6b2858cf gcc/config/arm/t-multilib 2933b88f6eb66e6cab171a229e4f6ae3 gcc/config/arm/t-phoenix 1f56d95be8ef65bbcf46237398023685 gcc/config/arm/t-rmprofile 6219db2eb3bceea962a45e9f1400f370 gcc/config/arm/t-rtems 0ea5b4f92221a7bd097fa437a0048d3e gcc/config/arm/t-symbian b5539c5e14f1eed60835983547d2b721 gcc/config/arm/t-vxworks ! 7aac171f324cfacfe0ab5f40c9246975 gcc/config/arm/thumb1.md f669257064afc30d581080fb012cfddf gcc/config/arm/thumb2.md d9951f54357bbd37880fd67d7fcc1be7 gcc/config/arm/types.md 802ce3cab15454d7b6ed350fc2188fc9 gcc/config/arm/uclinux-eabi.h *************** f3dbeecf08e03e13800c60ab264129e3 gcc/co *** 3069,3096 **** 4d9d5fee146611f217378df4b0f52634 gcc/config/arm/vxworks.opt a17a638dc98f3f18b0e13448c69e1e65 gcc/config/arm/x-arm 921d7101ad2ffcc6d45897dae28a53cd gcc/config/arm/xgene1.md ! cf0aae3eedda5508b6b1430eef96e1ac gcc/config/avr/avr-arch.h 94cdce57891ecaaebb970a1da5ac7970 gcc/config/avr/avr-c.c ! 87419f8cb20e30be46642e3c843f3d95 gcc/config/avr/avr-devices.c 88039b38cd494e913f9a41b37a271002 gcc/config/avr/avr-dimode.md 27133d2db9511a14da3d9d79025c79b8 gcc/config/avr/avr-fixed.md 682d4337eafc107d58673403bd4ce75b gcc/config/avr/avr-log.c ! a03e39322b58557248aa2a95961a6e66 gcc/config/avr/avr-mcus.def 8cd797ca10de18e7d17053a797e4ca52 gcc/config/avr/avr-modes.def 75e2953c8a2dbec18eef20ca2178f2e2 gcc/config/avr/avr-passes.def cf381177ea27b56e2f032d3f3c69d6f2 gcc/config/avr/avr-protos.h 7cae73961538029d7400e28dcfd73e3d gcc/config/avr/avr-stdint.h ! 47539abdd31fbe4648789a0889872975 gcc/config/avr/avr.c 744c414540aca3eab77031e0984460f1 gcc/config/avr/avr.h 13e030e4f159649d4b8ef25323df1938 gcc/config/avr/avr.md ! 2a4aa658793d108c0c702bb4a62ae9e7 gcc/config/avr/avr.opt 2ea9764fd73a496089e4704cc84139f4 gcc/config/avr/avrlibc.h b767f5c25ddcf168caa80c9c958f2e6d gcc/config/avr/builtins.def 92ea1d9e02515a1c797344e07d42fda1 gcc/config/avr/constraints.md ! 163a768632b73acba9d68a945f739d12 gcc/config/avr/driver-avr.c f97c82cbdebd2ad214484616e6379dd1 gcc/config/avr/elf.h ! 71ea05dcdada693edeafe2c44fd01acd gcc/config/avr/gen-avr-mmcu-specs.c ! 429582588f0087250493f856dbcf643d gcc/config/avr/gen-avr-mmcu-texi.c d8d0a3bf7a477ffb19099d6a5b0f95a5 gcc/config/avr/genmultilib.awk 7b674996249f08ba00209ac894d408a9 gcc/config/avr/predicates.md d1037b3c39bd38ab74d646e71c6c55f9 gcc/config/avr/specs.h --- 3070,3097 ---- 4d9d5fee146611f217378df4b0f52634 gcc/config/arm/vxworks.opt a17a638dc98f3f18b0e13448c69e1e65 gcc/config/arm/x-arm 921d7101ad2ffcc6d45897dae28a53cd gcc/config/arm/xgene1.md ! ce95fbb072b5617c537bf8a199c3c37f gcc/config/avr/avr-arch.h 94cdce57891ecaaebb970a1da5ac7970 gcc/config/avr/avr-c.c ! 25adcdbc2e6b64676526bc665a688b49 gcc/config/avr/avr-devices.c 88039b38cd494e913f9a41b37a271002 gcc/config/avr/avr-dimode.md 27133d2db9511a14da3d9d79025c79b8 gcc/config/avr/avr-fixed.md 682d4337eafc107d58673403bd4ce75b gcc/config/avr/avr-log.c ! 8b064020d2ea7dbd2c3e95ae46011da0 gcc/config/avr/avr-mcus.def 8cd797ca10de18e7d17053a797e4ca52 gcc/config/avr/avr-modes.def 75e2953c8a2dbec18eef20ca2178f2e2 gcc/config/avr/avr-passes.def cf381177ea27b56e2f032d3f3c69d6f2 gcc/config/avr/avr-protos.h 7cae73961538029d7400e28dcfd73e3d gcc/config/avr/avr-stdint.h ! 2d059507904b4923043bde3ba141708e gcc/config/avr/avr.c 744c414540aca3eab77031e0984460f1 gcc/config/avr/avr.h 13e030e4f159649d4b8ef25323df1938 gcc/config/avr/avr.md ! b342d3e22847ebd699a12dd43104b737 gcc/config/avr/avr.opt 2ea9764fd73a496089e4704cc84139f4 gcc/config/avr/avrlibc.h b767f5c25ddcf168caa80c9c958f2e6d gcc/config/avr/builtins.def 92ea1d9e02515a1c797344e07d42fda1 gcc/config/avr/constraints.md ! a3a2beabc0f9c4ea801cac7fc98dc196 gcc/config/avr/driver-avr.c f97c82cbdebd2ad214484616e6379dd1 gcc/config/avr/elf.h ! 45d3640f7594120ec507c14bc0ea3e75 gcc/config/avr/gen-avr-mmcu-specs.c ! 9b0e6e4024bf3d870c09417391b80063 gcc/config/avr/gen-avr-mmcu-texi.c d8d0a3bf7a477ffb19099d6a5b0f95a5 gcc/config/avr/genmultilib.awk 7b674996249f08ba00209ac894d408a9 gcc/config/avr/predicates.md d1037b3c39bd38ab74d646e71c6c55f9 gcc/config/avr/specs.h *************** e74b0750f0ceb61a5ca4f402148d36a2 gcc/co *** 3191,3207 **** 991cf305b10ad8fd014e7c8a7453f593 gcc/config/csky/t-csky-linux bf59b25dacd21c9fcf2b697e30e7c9c9 gcc/config/csky/t-sysroot-suffix c4532a4134cf07c557904240e6c4728c gcc/config/darwin-c.c ! 826dcfc925e6f5a6d92d1d48a12fee45 gcc/config/darwin-driver.c 412cdcb9c2a2bdedf1f196e2dce1c790 gcc/config/darwin-f.c f73c72be3c214648bc3101dcd648d842 gcc/config/darwin-ppc-ldouble-patch.def ! efac6d6a03d1962a3dec21e6a0ee4247 gcc/config/darwin-protos.h da10c05ac6b57283c3ed0f59b6b5a180 gcc/config/darwin-sections.def ! e104dec79bcb9396f4355bffd92425cc gcc/config/darwin.c ! ea4146d2fefa86e990455f9d5c1362ec gcc/config/darwin.h ! 58cc24a6e1a28a718f58fb978798e0b0 gcc/config/darwin.opt ! 2315a4d1bdd4673bddd999dcee3d6d9d gcc/config/darwin10.h 2f6e298611ba6eadc9c43e12955ebcf5 gcc/config/darwin12.h ! 1b44799aee22c302ecd7e9654f92a467 gcc/config/darwin9.h bdee900a2d429dfef8ca4e9a788ef3b8 gcc/config/dbx.h d3340af10052b7b7cb5c6b3bfc7b003d gcc/config/dbxcoff.h adf6ee22de5728f7c90643affe4c8771 gcc/config/dbxelf.h --- 3192,3208 ---- 991cf305b10ad8fd014e7c8a7453f593 gcc/config/csky/t-csky-linux bf59b25dacd21c9fcf2b697e30e7c9c9 gcc/config/csky/t-sysroot-suffix c4532a4134cf07c557904240e6c4728c gcc/config/darwin-c.c ! 94bfa269b1fb4d999d6e60d05e62742c gcc/config/darwin-driver.c 412cdcb9c2a2bdedf1f196e2dce1c790 gcc/config/darwin-f.c f73c72be3c214648bc3101dcd648d842 gcc/config/darwin-ppc-ldouble-patch.def ! 45db974b6c1a9b2c6990be7431e1ad8f gcc/config/darwin-protos.h da10c05ac6b57283c3ed0f59b6b5a180 gcc/config/darwin-sections.def ! 1bfd41ad09b4e5a92d0d21544b5ac1f8 gcc/config/darwin.c ! 21ebf33f05d434f1baf593d2830f8d5d gcc/config/darwin.h ! 0e5cd48ebe44c4585e83748c0948b2b3 gcc/config/darwin.opt ! 483001c588dd63e97899ef92875d8aa0 gcc/config/darwin10.h 2f6e298611ba6eadc9c43e12955ebcf5 gcc/config/darwin12.h ! 678327f4c169791b244f8c11211f7d49 gcc/config/darwin9.h bdee900a2d429dfef8ca4e9a788ef3b8 gcc/config/dbx.h d3340af10052b7b7cb5c6b3bfc7b003d gcc/config/dbxcoff.h adf6ee22de5728f7c90643affe4c8771 gcc/config/dbxelf.h *************** dc5cfa1f184c65df88ed4d75bad290f8 gcc/co *** 3312,3321 **** dac0941e87c210a03bffaca2a100dd66 gcc/config/i386/athlon.md 604977d7adbb1bd2d40f4f72792ea0fa gcc/config/i386/atom.md 92fffd01755f06a25d4593db95ad7c2c gcc/config/i386/att.h ! 8472ce72add36cdbc49a8c8531d57b3a gcc/config/i386/avx2intrin.h 9cc0069ec2b37141bb262ea05518de80 gcc/config/i386/avx5124fmapsintrin.h 49b42e793e9f57cf83e1d8bbe769ab67 gcc/config/i386/avx5124vnniwintrin.h ! 2057075cd7640edb67bab7997e40ce51 gcc/config/i386/avx512bitalgintrin.h 50a3a566e11262f4c625caa2d14e6e53 gcc/config/i386/avx512bwintrin.h 30236a3956365ca84d335348fe116faf gcc/config/i386/avx512cdintrin.h c29821db0471b45eadd7ab6ec71f4873 gcc/config/i386/avx512dqintrin.h --- 3313,3322 ---- dac0941e87c210a03bffaca2a100dd66 gcc/config/i386/athlon.md 604977d7adbb1bd2d40f4f72792ea0fa gcc/config/i386/atom.md 92fffd01755f06a25d4593db95ad7c2c gcc/config/i386/att.h ! 1297f383921811c7dbf3f7ff7b58f15f gcc/config/i386/avx2intrin.h 9cc0069ec2b37141bb262ea05518de80 gcc/config/i386/avx5124fmapsintrin.h 49b42e793e9f57cf83e1d8bbe769ab67 gcc/config/i386/avx5124vnniwintrin.h ! 4879afffa62e4ce6f8bcc1e9934948d1 gcc/config/i386/avx512bitalgintrin.h 50a3a566e11262f4c625caa2d14e6e53 gcc/config/i386/avx512bwintrin.h 30236a3956365ca84d335348fe116faf gcc/config/i386/avx512cdintrin.h c29821db0471b45eadd7ab6ec71f4873 gcc/config/i386/avx512dqintrin.h *************** c273810a570b8760b3fdc24059ef72d8 gcc/co *** 3324,3331 **** e8268cb64005fed6a678cfbc4642288a gcc/config/i386/avx512ifmaintrin.h ef0a9a8caf7f653ee9a94b583ea058a6 gcc/config/i386/avx512ifmavlintrin.h 46072b8fd27176db907cf49f10afb4d3 gcc/config/i386/avx512pfintrin.h ! 3f1ac5b4e0fdb9a70967a09a75a6306a gcc/config/i386/avx512vbmi2intrin.h ! 03d36f6a5e0914a4f633d232c09df1bb gcc/config/i386/avx512vbmi2vlintrin.h 3aed6430e71b777018c1bba35cd41324 gcc/config/i386/avx512vbmiintrin.h fd98c823f7532611bd71847e8a594369 gcc/config/i386/avx512vbmivlintrin.h c45f16ebc7f9ae690c56dabe5f2362f4 gcc/config/i386/avx512vlbwintrin.h --- 3325,3332 ---- e8268cb64005fed6a678cfbc4642288a gcc/config/i386/avx512ifmaintrin.h ef0a9a8caf7f653ee9a94b583ea058a6 gcc/config/i386/avx512ifmavlintrin.h 46072b8fd27176db907cf49f10afb4d3 gcc/config/i386/avx512pfintrin.h ! b829b8798857e19d7b06f6ad461cae8d gcc/config/i386/avx512vbmi2intrin.h ! 1c4ffc13bbb1fb9799dcfb563924ca01 gcc/config/i386/avx512vbmi2vlintrin.h 3aed6430e71b777018c1bba35cd41324 gcc/config/i386/avx512vbmiintrin.h fd98c823f7532611bd71847e8a594369 gcc/config/i386/avx512vbmivlintrin.h c45f16ebc7f9ae690c56dabe5f2362f4 gcc/config/i386/avx512vlbwintrin.h *************** f3649f1f3731a2ff4e4e41903e9e502b gcc/co *** 3333,3341 **** 93e0dd7808fba06af352b61766402440 gcc/config/i386/avx512vlintrin.h 102fbd70a0d4735563b6e8b4c63bcced gcc/config/i386/avx512vnniintrin.h 5040573cdc903a9b5b6f363ed6fe6015 gcc/config/i386/avx512vnnivlintrin.h ! 659166714e3a4387985f3a8e703cf7df gcc/config/i386/avx512vpopcntdqintrin.h ! aeed43672115e8f8eb1ae19f77e96093 gcc/config/i386/avx512vpopcntdqvlintrin.h ! 640b895406addb6ceeed20182c39281a gcc/config/i386/avxintrin.h c14d6be6414db5d3f6049dd8c55e1d29 gcc/config/i386/avxmath.h cdd5a961d90c60f3971bbea99ec50d1b gcc/config/i386/bdver1.md 06e8d8e4176bd76e65d8e38457503778 gcc/config/i386/bdver3.md --- 3334,3342 ---- 93e0dd7808fba06af352b61766402440 gcc/config/i386/avx512vlintrin.h 102fbd70a0d4735563b6e8b4c63bcced gcc/config/i386/avx512vnniintrin.h 5040573cdc903a9b5b6f363ed6fe6015 gcc/config/i386/avx512vnnivlintrin.h ! c213a22df78b0dd901d9f2195a889ee0 gcc/config/i386/avx512vpopcntdqintrin.h ! 3d24b1690923e1dba539e6cf5c143c14 gcc/config/i386/avx512vpopcntdqvlintrin.h ! 4cc51494f38121a759c15165a6c1f56c gcc/config/i386/avxintrin.h c14d6be6414db5d3f6049dd8c55e1d29 gcc/config/i386/avxmath.h cdd5a961d90c60f3971bbea99ec50d1b gcc/config/i386/bdver1.md 06e8d8e4176bd76e65d8e38457503778 gcc/config/i386/bdver3.md *************** a99686cc9a2f9c92b9a0dcaab28fb455 gcc/co *** 3364,3370 **** a5c77fe32a963c929d893e7a273f62d7 gcc/config/i386/cygwin-w64.h f4d9e14f42b879c669ebe9bd8b4bc21b gcc/config/i386/cygwin.h 58740d7076f1d70d0178ceda20735229 gcc/config/i386/cygwin.opt ! 44f12aa7686464ed05c5d38b686944fa gcc/config/i386/darwin.h 8256997a20c204a0527b521ac183cfc2 gcc/config/i386/darwin32-biarch.h cf642b6e9bac4617209f4bf91245d902 gcc/config/i386/darwin64-biarch.h e145103837be47ad6f925709ecececb7 gcc/config/i386/djgpp-stdint.h --- 3365,3371 ---- a5c77fe32a963c929d893e7a273f62d7 gcc/config/i386/cygwin-w64.h f4d9e14f42b879c669ebe9bd8b4bc21b gcc/config/i386/cygwin.h 58740d7076f1d70d0178ceda20735229 gcc/config/i386/cygwin.opt ! e2ea98d69b1b16fe78539ee226eeea55 gcc/config/i386/darwin.h 8256997a20c204a0527b521ac183cfc2 gcc/config/i386/darwin32-biarch.h cf642b6e9bac4617209f4bf91245d902 gcc/config/i386/darwin64-biarch.h e145103837be47ad6f925709ecececb7 gcc/config/i386/djgpp-stdint.h *************** cef37228f34f595508de3c963449c446 gcc/co *** 3374,3380 **** 2a9c6de5f3838eab78a4c0be68c6cf21 gcc/config/i386/dragonfly.h b8284a88bf4a5cac2d593f95ab20af1b gcc/config/i386/driver-i386.c 1425c4f190f2b023755c2aec96f0b0a5 gcc/config/i386/driver-mingw32.c ! 7c90815ce2bd67e67714032ee3fc815d gcc/config/i386/emmintrin.h adf08cc7a9f8da982b6f17490104534a gcc/config/i386/f16cintrin.h e0da33cac8e8bce8d8bde31a0d532c2b gcc/config/i386/fma4intrin.h d99041261e77672273ebf6ce4f41be50 gcc/config/i386/fmaintrin.h --- 3375,3381 ---- 2a9c6de5f3838eab78a4c0be68c6cf21 gcc/config/i386/dragonfly.h b8284a88bf4a5cac2d593f95ab20af1b gcc/config/i386/driver-i386.c 1425c4f190f2b023755c2aec96f0b0a5 gcc/config/i386/driver-mingw32.c ! f355eee7e86e22e2a1a1d191e376f8ac gcc/config/i386/emmintrin.h adf08cc7a9f8da982b6f17490104534a gcc/config/i386/f16cintrin.h e0da33cac8e8bce8d8bde31a0d532c2b gcc/config/i386/fma4intrin.h d99041261e77672273ebf6ce4f41be50 gcc/config/i386/fmaintrin.h *************** e8b3387e4a60ba30cc185cfb879a44ea gcc/co *** 3397,3418 **** ee299f2180f0db0428cc3ce4fab91db9 gcc/config/i386/host-mingw32.c 64a5d327be2bb0459d15e72f4f25f47b gcc/config/i386/i386-builtin-types.awk e412449d02c534003aff396e1538b3da gcc/config/i386/i386-builtin-types.def ! 9b158e0622a21d082d180be2c4cd7821 gcc/config/i386/i386-builtin.def 608a1b5ba608236659e032a3c11c4aeb gcc/config/i386/i386-c.c f7622adb986e24faa5a97e22468b62ff gcc/config/i386/i386-d.c b3e3a26baaa00d042200fb7171d2ad0b gcc/config/i386/i386-modes.def ebd361a54224f0abb09743cd7d7c87cd gcc/config/i386/i386-opts.h 480131ba2044127fc48ecef37f6b74e8 gcc/config/i386/i386-passes.def e115f008106b73eff935b485b13cc766 gcc/config/i386/i386-protos.h ! 5873ec2a4a026bd6a78662b9b1b7ce2f gcc/config/i386/i386.c ! e72a4d2054d16b05598258048891ff11 gcc/config/i386/i386.h ! e46b224725d2c75d6ad0ac74ac39066f gcc/config/i386/i386.md e1a477f88e849a4c3c9d66ce3d04471d gcc/config/i386/i386.opt cf4401814fee167918ada91933e2cc9e gcc/config/i386/i386elf.h 5768f331267273ad14615e7256f365f6 gcc/config/i386/ia32intrin.h 5a9ab009e81a5ed18bc480155242f91e gcc/config/i386/iamcu.h fd2508696c5784e375d4ed9769771323 gcc/config/i386/immintrin.h ! f9dcc372c04abddad2813b023d968577 gcc/config/i386/intelmic-mkoffload.c 45282ebb64f9efbcc18ba7080b6d206f gcc/config/i386/intelmic-offload.h f4500574dc50722f04334d87632e7cf4 gcc/config/i386/k6.md 39190a9f18abc8b496f08a6b4e70dce4 gcc/config/i386/kfreebsd-gnu.h --- 3398,3419 ---- ee299f2180f0db0428cc3ce4fab91db9 gcc/config/i386/host-mingw32.c 64a5d327be2bb0459d15e72f4f25f47b gcc/config/i386/i386-builtin-types.awk e412449d02c534003aff396e1538b3da gcc/config/i386/i386-builtin-types.def ! cd00d49c58ec93227ecf3cde73ae87d8 gcc/config/i386/i386-builtin.def 608a1b5ba608236659e032a3c11c4aeb gcc/config/i386/i386-c.c f7622adb986e24faa5a97e22468b62ff gcc/config/i386/i386-d.c b3e3a26baaa00d042200fb7171d2ad0b gcc/config/i386/i386-modes.def ebd361a54224f0abb09743cd7d7c87cd gcc/config/i386/i386-opts.h 480131ba2044127fc48ecef37f6b74e8 gcc/config/i386/i386-passes.def e115f008106b73eff935b485b13cc766 gcc/config/i386/i386-protos.h ! 6ab5962000212c011eb7a3f23b92cd90 gcc/config/i386/i386.c ! 8b880484c471417ed112e7d6b1d4bef7 gcc/config/i386/i386.h ! 4bc26bb04525aa639d643ee5ae4a5d68 gcc/config/i386/i386.md e1a477f88e849a4c3c9d66ce3d04471d gcc/config/i386/i386.opt cf4401814fee167918ada91933e2cc9e gcc/config/i386/i386elf.h 5768f331267273ad14615e7256f365f6 gcc/config/i386/ia32intrin.h 5a9ab009e81a5ed18bc480155242f91e gcc/config/i386/iamcu.h fd2508696c5784e375d4ed9769771323 gcc/config/i386/immintrin.h ! 1cea00d4bbaeddc35cc585e30fab85f9 gcc/config/i386/intelmic-mkoffload.c 45282ebb64f9efbcc18ba7080b6d206f gcc/config/i386/intelmic-offload.h f4500574dc50722f04334d87632e7cf4 gcc/config/i386/k6.md 39190a9f18abc8b496f08a6b4e70dce4 gcc/config/i386/kfreebsd-gnu.h *************** f2e2b6ba2829bd6182f45c033a3c70ba gcc/co *** 3432,3438 **** 2c5a8d7ada23fdce030577d79de08244 gcc/config/i386/mingw32.h 2ecb7ea0b66babb0510b4ee1be67616d gcc/config/i386/mm3dnow.h 7b45089ad9aa0a9c12254fa3b52e6491 gcc/config/i386/mmintrin.h ! 6bd15c2a229ff2ce27a6764d93e36884 gcc/config/i386/mmx.md 6a74bf3a6742a37bfc9419e6aceee537 gcc/config/i386/movdirintrin.h 9f146ab9be7c9f630018d49a171d81b7 gcc/config/i386/msformat-c.c 5521c6d346e4dd0a8c8f60f8dee3b197 gcc/config/i386/mwaitxintrin.h --- 3433,3439 ---- 2c5a8d7ada23fdce030577d79de08244 gcc/config/i386/mingw32.h 2ecb7ea0b66babb0510b4ee1be67616d gcc/config/i386/mm3dnow.h 7b45089ad9aa0a9c12254fa3b52e6491 gcc/config/i386/mmintrin.h ! f273d9e50b15042da04399e62f8eed78 gcc/config/i386/mmx.md 6a74bf3a6742a37bfc9419e6aceee537 gcc/config/i386/movdirintrin.h 9f146ab9be7c9f630018d49a171d81b7 gcc/config/i386/msformat-c.c 5521c6d346e4dd0a8c8f60f8dee3b197 gcc/config/i386/mwaitxintrin.h *************** c00c29b960eba25ad7701d5b3779a49b gcc/co *** 3461,3467 **** 98f0c61a3452035fd54874836a63d639 gcc/config/i386/slm.md 6b483574d3f8c038362370f678dc3352 gcc/config/i386/smmintrin.h eef3bf1c23a71ddebdef079e46139a3f gcc/config/i386/sol2.h ! 10b7a9cd4da75261b2810aa6180266d9 gcc/config/i386/sse.md e701af944d5f18cad99e23d7d5ba21c2 gcc/config/i386/ssemath.h 7a75a57a5da77d44a32094f37fe5e855 gcc/config/i386/stringop.def f001f25cc3598b7ef8e3caf37dd64d90 gcc/config/i386/subst.md --- 3462,3468 ---- 98f0c61a3452035fd54874836a63d639 gcc/config/i386/slm.md 6b483574d3f8c038362370f678dc3352 gcc/config/i386/smmintrin.h eef3bf1c23a71ddebdef079e46139a3f gcc/config/i386/sol2.h ! b8d8aa97395acf23d26108cda46bff10 gcc/config/i386/sse.md e701af944d5f18cad99e23d7d5ba21c2 gcc/config/i386/ssemath.h 7a75a57a5da77d44a32094f37fe5e855 gcc/config/i386/stringop.def f001f25cc3598b7ef8e3caf37dd64d90 gcc/config/i386/subst.md *************** e2aba660569dccf803bb911886ce8baa gcc/co *** 3517,3523 **** 4e7c8bda3a4e1b770528c098bc3492e3 gcc/config/i386/xm-djgpp.h 4e545b120ab9b2969a4054d175af5e81 gcc/config/i386/xm-mingw32.h fcc6b5b44aca95dc36c731b5ebeefd2a gcc/config/i386/xmmintrin.h ! 957cff9c457f3ec65aabef77d890e68e gcc/config/i386/xopintrin.h 0531a9fbeb124714bafb91a247aabf29 gcc/config/i386/xsavecintrin.h 2de42817c9f90f522de6fa5830dca525 gcc/config/i386/xsaveintrin.h 290b59a3fffcbbfc2f8335f1ccac89b1 gcc/config/i386/xsaveoptintrin.h --- 3518,3524 ---- 4e7c8bda3a4e1b770528c098bc3492e3 gcc/config/i386/xm-djgpp.h 4e545b120ab9b2969a4054d175af5e81 gcc/config/i386/xm-mingw32.h fcc6b5b44aca95dc36c731b5ebeefd2a gcc/config/i386/xmmintrin.h ! 0b2588cf1e7e108bcae4d1a79da21303 gcc/config/i386/xopintrin.h 0531a9fbeb124714bafb91a247aabf29 gcc/config/i386/xsavecintrin.h 2de42817c9f90f522de6fa5830dca525 gcc/config/i386/xsaveintrin.h 290b59a3fffcbbfc2f8335f1ccac89b1 gcc/config/i386/xsaveoptintrin.h *************** aecd930f5e2726f5bec1fb426197545b gcc/co *** 3728,3736 **** 764226fe1b4f917a978a90e372c0f60a gcc/config/mips/mips-protos.h 8001d509158827dddae86a1ef107a36a gcc/config/mips/mips-ps-3d.md 477dc18cac140a9950d9d880bfab331c gcc/config/mips/mips-tables.opt ! 3b6417562c04b4e80b4b75e94ac4cf67 gcc/config/mips/mips.c ec9d3cae94023262f118d4d58cc16bae gcc/config/mips/mips.h ! a171187f90d3bbf83a3831980f9917a3 gcc/config/mips/mips.md 58a1deebbe708f1c924bc88f260e4a43 gcc/config/mips/mips.opt 2f1c514f6ada332f99d525978fa5f4cb gcc/config/mips/msa.h f68463bc2308878dc219116cf45c90a2 gcc/config/mips/mti-elf.h --- 3729,3737 ---- 764226fe1b4f917a978a90e372c0f60a gcc/config/mips/mips-protos.h 8001d509158827dddae86a1ef107a36a gcc/config/mips/mips-ps-3d.md 477dc18cac140a9950d9d880bfab331c gcc/config/mips/mips-tables.opt ! 9c76523537789bded96533945720f361 gcc/config/mips/mips.c ec9d3cae94023262f118d4d58cc16bae gcc/config/mips/mips.h ! ef8331ba20d805a0d756da3eb5122b0e gcc/config/mips/mips.md 58a1deebbe708f1c924bc88f260e4a43 gcc/config/mips/mips.opt 2f1c514f6ada332f99d525978fa5f4cb gcc/config/mips/msa.h f68463bc2308878dc219116cf45c90a2 gcc/config/mips/mti-elf.h *************** dd1bb27adeb9872d8fab3f4d1388a91f gcc/co *** 3881,3888 **** 1a20d5b5fd8468346446806d5b72c05e gcc/config/nios2/nios2-ldstwm.sml 34214b37f9154cb41a131e34295e1625 gcc/config/nios2/nios2-opts.h 8c694e24713f1de9da0de92cbcdc9aca gcc/config/nios2/nios2-protos.h ! 0b6347b94dc1ae9fb0558291ef6bcc16 gcc/config/nios2/nios2.c ! 482bad0730deb85a1819398900767dae gcc/config/nios2/nios2.h 4c7467827f4eb55fc2237f4368d37519 gcc/config/nios2/nios2.md 5d790b9ac302b6adbf5402890ed0e8e8 gcc/config/nios2/nios2.opt 057d6043108d07d550c4400a5ae81809 gcc/config/nios2/predicates.md --- 3882,3889 ---- 1a20d5b5fd8468346446806d5b72c05e gcc/config/nios2/nios2-ldstwm.sml 34214b37f9154cb41a131e34295e1625 gcc/config/nios2/nios2-opts.h 8c694e24713f1de9da0de92cbcdc9aca gcc/config/nios2/nios2-protos.h ! b93a736cf60935c92fbf82dcb779da60 gcc/config/nios2/nios2.c ! 96cfa82ecc8371bb65e5680cc0118693 gcc/config/nios2/nios2.h 4c7467827f4eb55fc2237f4368d37519 gcc/config/nios2/nios2.md 5d790b9ac302b6adbf5402890ed0e8e8 gcc/config/nios2/nios2.opt 057d6043108d07d550c4400a5ae81809 gcc/config/nios2/predicates.md *************** d5563ed37efabc4113c6d2d52ae069f0 gcc/co *** 3937,3947 **** 221b23af89db8c07ec3d7dedbc5f4b07 gcc/config/pa/pa-openbsd.h 6b83d58f7455656adda798a184b07961 gcc/config/pa/pa-opts.h b61d90d50654c7416ffbc50abb8b19f1 gcc/config/pa/pa-protos.h ! 27c650aeed972e422c5c23f827bfcab5 gcc/config/pa/pa.c ! aecad92b0d23a49cca12a2eb00f68542 gcc/config/pa/pa.h ! ef4f2d135f43a04a63dfb854ba3d6d8c gcc/config/pa/pa.md ! 88bd457a7657c348e414abd81aaefa24 gcc/config/pa/pa.opt ! 08addb62aa1e28ec1df2319962efe906 gcc/config/pa/pa32-linux.h 383d3a99e9a7d8e4a4acc6a9321613a4 gcc/config/pa/pa32-openbsd.h 221d32ea2a8f767e44a2d726dbc0dbef gcc/config/pa/pa32-regs.h 262310aee6b34f2fd0871797c49702c8 gcc/config/pa/pa64-hpux.h --- 3938,3948 ---- 221b23af89db8c07ec3d7dedbc5f4b07 gcc/config/pa/pa-openbsd.h 6b83d58f7455656adda798a184b07961 gcc/config/pa/pa-opts.h b61d90d50654c7416ffbc50abb8b19f1 gcc/config/pa/pa-protos.h ! a0a179e8b7cbfa07d3f53186b1a7d08e gcc/config/pa/pa.c ! df423497f3494376692f3b451902ae72 gcc/config/pa/pa.h ! f214cdd0a0af71d8a9c464d72dd09146 gcc/config/pa/pa.md ! bf462e8a5710a6aafdf81ccefa55fd56 gcc/config/pa/pa.opt ! 720abbdc4cfa6947475c60b33316e8cb gcc/config/pa/pa32-linux.h 383d3a99e9a7d8e4a4acc6a9321613a4 gcc/config/pa/pa32-openbsd.h 221d32ea2a8f767e44a2d726dbc0dbef gcc/config/pa/pa32-regs.h 262310aee6b34f2fd0871797c49702c8 gcc/config/pa/pa64-hpux.h *************** eb9d36b974fb5da522252c2fd83f6add gcc/co *** 3949,3956 **** 2a9c877b50b313f9fe7398888b5c6b0c gcc/config/pa/pa64-linux.h 50d486e69e8da5cd1e913d309a324408 gcc/config/pa/pa64-regs.h a9a6afd79b827565ffb8de8330b4cfe6 gcc/config/pa/pa64-start.h ! 7f4db55414b7919352d4dae90e718da7 gcc/config/pa/predicates.md ! 4204b24bdbb7e291a399d26a2a1a4780 gcc/config/pa/som.h 4104beb84cb7f3a8a5915652c3da66c5 gcc/config/pa/t-dce-thr 6fd25f8c665d2d7390ea94c01dcb8e34 gcc/config/pa/t-linux b6278c3de5f5690b62f0fdb46d14dfde gcc/config/pa/t-pa --- 3950,3957 ---- 2a9c877b50b313f9fe7398888b5c6b0c gcc/config/pa/pa64-linux.h 50d486e69e8da5cd1e913d309a324408 gcc/config/pa/pa64-regs.h a9a6afd79b827565ffb8de8330b4cfe6 gcc/config/pa/pa64-start.h ! ab0afcd45fd4bb30092657caa64d8c43 gcc/config/pa/predicates.md ! dd811cd74da4093bf2efff2e636b4f73 gcc/config/pa/som.h 4104beb84cb7f3a8a5915652c3da66c5 gcc/config/pa/t-dce-thr 6fd25f8c665d2d7390ea94c01dcb8e34 gcc/config/pa/t-linux b6278c3de5f5690b62f0fdb46d14dfde gcc/config/pa/t-pa *************** b633ae2c150c0a7ff32e94677366ac6b gcc/co *** 3980,3989 **** 372fbbf660d5901d0ac9b56f0cb5414c gcc/config/riscv/riscv-ftypes.def afffedc233620fe88ee1b6b5d6670d00 gcc/config/riscv/riscv-modes.def 05684f4f767303bf3e8ee2037e8460a3 gcc/config/riscv/riscv-opts.h ! e5929a50928fd224822c997b287af1ac gcc/config/riscv/riscv-protos.h ! 86097dbf1bbec8faa46980ae30986735 gcc/config/riscv/riscv.c ! 365d11e301f3d45216a9e97f47389b60 gcc/config/riscv/riscv.h ! a9361b093e4240fb11fc7edc29f4c483 gcc/config/riscv/riscv.md d503449a0faaaf29e00e2a90d5d5aa9a gcc/config/riscv/riscv.opt fa44ac898fb39747d9ba92f0cc85fc2d gcc/config/riscv/rtems.h e6cdbfde821d41652865b25c4da8dd71 gcc/config/riscv/sifive-7.md --- 3981,3990 ---- 372fbbf660d5901d0ac9b56f0cb5414c gcc/config/riscv/riscv-ftypes.def afffedc233620fe88ee1b6b5d6670d00 gcc/config/riscv/riscv-modes.def 05684f4f767303bf3e8ee2037e8460a3 gcc/config/riscv/riscv-opts.h ! 6fb3302054530f88042ca648121653be gcc/config/riscv/riscv-protos.h ! 451b03732522d0ac16c477cfd6dbcdae gcc/config/riscv/riscv.c ! 4a844d7ddddd743268554abd432be8aa gcc/config/riscv/riscv.h ! 74dc369ded5dd7872baaa5d6efc4256d gcc/config/riscv/riscv.md d503449a0faaaf29e00e2a90d5d5aa9a gcc/config/riscv/riscv.opt fa44ac898fb39747d9ba92f0cc85fc2d gcc/config/riscv/rtems.h e6cdbfde821d41652865b25c4da8dd71 gcc/config/riscv/sifive-7.md *************** b43fe9b9c3729d83fe44b7ce71ed0876 gcc/co *** 4028,4034 **** 5eea7a0c18fee710ed2f449775387492 gcc/config/rs6000/aix71.h e7c1170f546e1c5c2e054c60799c11eb gcc/config/rs6000/aix72.h e55f0789345e9b72fc8a7b8cb7b19e4a gcc/config/rs6000/altivec.h ! a85e707cc5de9a1714844fb1affcf0b8 gcc/config/rs6000/altivec.md f8a755a4ac201e92796b8d6135392b4a gcc/config/rs6000/amo.h 957423610c96144855faff9547a793e1 gcc/config/rs6000/biarch64.h a915600458fae47869e65eed62c0ef5e gcc/config/rs6000/bmi2intrin.h --- 4029,4035 ---- 5eea7a0c18fee710ed2f449775387492 gcc/config/rs6000/aix71.h e7c1170f546e1c5c2e054c60799c11eb gcc/config/rs6000/aix72.h e55f0789345e9b72fc8a7b8cb7b19e4a gcc/config/rs6000/altivec.h ! 078a59ca1104b58754cc56a1ac407984 gcc/config/rs6000/altivec.md f8a755a4ac201e92796b8d6135392b4a gcc/config/rs6000/amo.h 957423610c96144855faff9547a793e1 gcc/config/rs6000/biarch64.h a915600458fae47869e65eed62c0ef5e gcc/config/rs6000/bmi2intrin.h *************** c95dd9752e41e9258ebaf3b692adada6 gcc/co *** 4036,4043 **** 567f6de64645ab4b1122ae612e5d543e gcc/config/rs6000/cell.md 6d8baadd5e64948caea5c3aa15475ba0 gcc/config/rs6000/constraints.md dfd6eafaab4ad60c780cfef035f0322e gcc/config/rs6000/crypto.md ! cadc7727e5e55e0020f009a5afcc756f gcc/config/rs6000/darwin.h ! 01cf6448def53c6b354f3e29bb258278 gcc/config/rs6000/darwin.md b274f63e1b2447b8058a0bcf2402eb3f gcc/config/rs6000/darwin.opt e2442f7a7d39c650b30c87274f59db87 gcc/config/rs6000/darwin32-biarch.h 3aeaaf4c43f3df11b4fac94ff932c8c1 gcc/config/rs6000/darwin64-biarch.h --- 4037,4044 ---- 567f6de64645ab4b1122ae612e5d543e gcc/config/rs6000/cell.md 6d8baadd5e64948caea5c3aa15475ba0 gcc/config/rs6000/constraints.md dfd6eafaab4ad60c780cfef035f0322e gcc/config/rs6000/crypto.md ! 9f7c2b965f1e1b18f022e30af1668c9a gcc/config/rs6000/darwin.h ! ad5b9c09387e3b630cb1aef9bcc5a9e6 gcc/config/rs6000/darwin.md b274f63e1b2447b8058a0bcf2402eb3f gcc/config/rs6000/darwin.opt e2442f7a7d39c650b30c87274f59db87 gcc/config/rs6000/darwin32-biarch.h 3aeaaf4c43f3df11b4fac94ff932c8c1 gcc/config/rs6000/darwin64-biarch.h *************** b3d939adbe3c24b55301ff602e773471 gcc/co *** 4084,4091 **** 9f28b459a3e622d1b4ae0adfcabbe4dd gcc/config/rs6000/ppc-asm.h 5777c2d902ae4f4ff95446156e481673 gcc/config/rs6000/ppc-auxv.h 3187f46196cebfb604900c1bbe5eae39 gcc/config/rs6000/ppu_intrinsics.h ! b6ba3d6397778fc8a9b95b8cc1a8921d gcc/config/rs6000/predicates.md ! db3a72d4ab08bdecda86fb321131459e gcc/config/rs6000/rs6000-builtin.def 3a99424cba4785c7f3d76710f9c6609b gcc/config/rs6000/rs6000-c.c 348da2d9b5598c03de90a6b5d3b4f37a gcc/config/rs6000/rs6000-cpus.def 35cba9a7bddf0d5252d71953ae76e024 gcc/config/rs6000/rs6000-d.c --- 4085,4092 ---- 9f28b459a3e622d1b4ae0adfcabbe4dd gcc/config/rs6000/ppc-asm.h 5777c2d902ae4f4ff95446156e481673 gcc/config/rs6000/ppc-auxv.h 3187f46196cebfb604900c1bbe5eae39 gcc/config/rs6000/ppu_intrinsics.h ! 75e4ec071f21e961634668614605a4cd gcc/config/rs6000/predicates.md ! ac48c1cbf81ae8b34d00f72a585ee0e5 gcc/config/rs6000/rs6000-builtin.def 3a99424cba4785c7f3d76710f9c6609b gcc/config/rs6000/rs6000-c.c 348da2d9b5598c03de90a6b5d3b4f37a gcc/config/rs6000/rs6000-cpus.def 35cba9a7bddf0d5252d71953ae76e024 gcc/config/rs6000/rs6000-d.c *************** c67f18c015c106b14dacb2ba51479ff7 gcc/co *** 4093,4106 **** 4c247e7d5a6ce74cf83a3fe8aab4f654 gcc/config/rs6000/rs6000-modes.def 15ae2f98aaf815d75cf6c901ae237246 gcc/config/rs6000/rs6000-modes.h 07e2821d2d84428d1d1b6556421c64bc gcc/config/rs6000/rs6000-opts.h ! b7decad9b412bf54a19e72fda0e53102 gcc/config/rs6000/rs6000-p8swap.c e05d5c8a047de2d8fdd1f7ee6af44deb gcc/config/rs6000/rs6000-passes.def f168035749ab2d165f81b6bb536c11f9 gcc/config/rs6000/rs6000-protos.h 3a8f1ad11a0dba7ead152579f7b3da5b gcc/config/rs6000/rs6000-string.c 02c1e43342566e1b7fa224f7a0cf807c gcc/config/rs6000/rs6000-tables.opt ! fac4339c0b9fef13fddf986326e4e379 gcc/config/rs6000/rs6000.c 76927b1dd36d76ab689025e8f53db229 gcc/config/rs6000/rs6000.h ! 4a3514e43b2e5fc573ea0cf33eedf0bf gcc/config/rs6000/rs6000.md f42f20695669f67fccd35baa16ab0310 gcc/config/rs6000/rs6000.opt b54874e2fde6e0300f164482ad632a4b gcc/config/rs6000/rs64.md 424fb74362a73e416da3877193899737 gcc/config/rs6000/rtems.h --- 4094,4107 ---- 4c247e7d5a6ce74cf83a3fe8aab4f654 gcc/config/rs6000/rs6000-modes.def 15ae2f98aaf815d75cf6c901ae237246 gcc/config/rs6000/rs6000-modes.h 07e2821d2d84428d1d1b6556421c64bc gcc/config/rs6000/rs6000-opts.h ! 7bed5a5c20fd6da84667ef7d4fb1c246 gcc/config/rs6000/rs6000-p8swap.c e05d5c8a047de2d8fdd1f7ee6af44deb gcc/config/rs6000/rs6000-passes.def f168035749ab2d165f81b6bb536c11f9 gcc/config/rs6000/rs6000-protos.h 3a8f1ad11a0dba7ead152579f7b3da5b gcc/config/rs6000/rs6000-string.c 02c1e43342566e1b7fa224f7a0cf807c gcc/config/rs6000/rs6000-tables.opt ! 5a36e4f72ac846fd03bea7961574e7b8 gcc/config/rs6000/rs6000.c 76927b1dd36d76ab689025e8f53db229 gcc/config/rs6000/rs6000.h ! 15d64eebbffa950613bebf86a98d9a78 gcc/config/rs6000/rs6000.md f42f20695669f67fccd35baa16ab0310 gcc/config/rs6000/rs6000.opt b54874e2fde6e0300f164482ad632a4b gcc/config/rs6000/rs64.md 424fb74362a73e416da3877193899737 gcc/config/rs6000/rtems.h *************** f11925c88524d2fd457bf77944da1302 gcc/co *** 4136,4142 **** c3054f6c3f5da02827e7daaede36f96c gcc/config/rs6000/titan.md fcd8864ddc626c0896bf07db7cb4b10f gcc/config/rs6000/tmmintrin.h e7c6abe3e4c1f795aea38db6f87100ef gcc/config/rs6000/vec_types.h ! efa30893b5d21cd8ef645501efba3911 gcc/config/rs6000/vector.md 52f0286fece184451b30aa6ecdde7621 gcc/config/rs6000/vsx.md d88c24ce567bf733e4984b96f051df6e gcc/config/rs6000/vxworks.h 1c95cf789023980c7f19ce5c4df89871 gcc/config/rs6000/vxworksae.h --- 4137,4143 ---- c3054f6c3f5da02827e7daaede36f96c gcc/config/rs6000/titan.md fcd8864ddc626c0896bf07db7cb4b10f gcc/config/rs6000/tmmintrin.h e7c6abe3e4c1f795aea38db6f87100ef gcc/config/rs6000/vec_types.h ! 58998952b5554e3a9fbf3ab504a30cce gcc/config/rs6000/vector.md 52f0286fece184451b30aa6ecdde7621 gcc/config/rs6000/vsx.md d88c24ce567bf733e4984b96f051df6e gcc/config/rs6000/vxworks.h 1c95cf789023980c7f19ce5c4df89871 gcc/config/rs6000/vxworksae.h *************** aace25a7a99722370f5bbb4ea8ede17c gcc/co *** 4168,4193 **** 1947bfced8a0f19c9ce13415fe8bc7bd gcc/config/s390/2827.md 8ebbc7301c6c9d7437971588cfbad5d7 gcc/config/s390/2964.md 0bc60c1135764267ff7a18533e9d6d3a gcc/config/s390/3906.md ! 839ea3caff7ba84d1eecd318929597c5 gcc/config/s390/8561.md b9775fb0b786e95500ef4c3282f2d196 gcc/config/s390/constraints.md ! c5b44dd90f3e1980c07169388ad9765c gcc/config/s390/driver-native.c c4723824aac95293fe06a0d0f03e7fcc gcc/config/s390/htmintrin.h 2ac628db9a0722e19db3984cabf0bdd2 gcc/config/s390/htmxlintrin.h 470243daad5f900b9480e6660e40bfcd gcc/config/s390/linux.h 6d6f752891c6a5263db90d432ad1fdc5 gcc/config/s390/predicates.md 04ce79db852e19e8a51c0ab61d156e77 gcc/config/s390/s390-builtin-types.def ! 9003fb028bd2ca54d39b03dc377ee7a7 gcc/config/s390/s390-builtins.def 5f17ced67bad53d0f067cc4a6a9631c9 gcc/config/s390/s390-builtins.h ! 7ebad9a2cce3ae1eb2c9cededa3f4cb4 gcc/config/s390/s390-c.c d62ad81b9b95b971688c1385c878bc31 gcc/config/s390/s390-d.c 0366678280dc8b0477044c81ce524f4e gcc/config/s390/s390-modes.def ! 1328208fac979b3f159cf0f9039e70c5 gcc/config/s390/s390-opts.h 21970edfb4a16e9319b3bf577666397b gcc/config/s390/s390-passes.def 6e21265ae0a20bcc8f3e7ecee4ded227 gcc/config/s390/s390-protos.h ! 44693f728f25bd3a1e38141c3be17229 gcc/config/s390/s390.c ! 2f0538ee39eb709792fe44c1cb564f51 gcc/config/s390/s390.h ! 156584dc3810f540be3e2ee68e5c9773 gcc/config/s390/s390.md ! 01acd928a3dd1619082c6f8f36604b41 gcc/config/s390/s390.opt 3a7d4589eccec5ca0c1509ad826a7645 gcc/config/s390/s390intrin.h 38978838a5b1948ea8a22c90711f0ea8 gcc/config/s390/s390x.h cbd40463e3ea483403791298453fd71e gcc/config/s390/subst.md --- 4169,4194 ---- 1947bfced8a0f19c9ce13415fe8bc7bd gcc/config/s390/2827.md 8ebbc7301c6c9d7437971588cfbad5d7 gcc/config/s390/2964.md 0bc60c1135764267ff7a18533e9d6d3a gcc/config/s390/3906.md ! e62e566004dee2dfaddf5b4abf3cfdb0 gcc/config/s390/8561.md b9775fb0b786e95500ef4c3282f2d196 gcc/config/s390/constraints.md ! 3ae90e048a9b94b111fb0372c3564d6c gcc/config/s390/driver-native.c c4723824aac95293fe06a0d0f03e7fcc gcc/config/s390/htmintrin.h 2ac628db9a0722e19db3984cabf0bdd2 gcc/config/s390/htmxlintrin.h 470243daad5f900b9480e6660e40bfcd gcc/config/s390/linux.h 6d6f752891c6a5263db90d432ad1fdc5 gcc/config/s390/predicates.md 04ce79db852e19e8a51c0ab61d156e77 gcc/config/s390/s390-builtin-types.def ! 6e236c7f87a7df0ad4eeb3b66cb250bf gcc/config/s390/s390-builtins.def 5f17ced67bad53d0f067cc4a6a9631c9 gcc/config/s390/s390-builtins.h ! 5ff9c1018b5bd0324fc851da40fa4daa gcc/config/s390/s390-c.c d62ad81b9b95b971688c1385c878bc31 gcc/config/s390/s390-d.c 0366678280dc8b0477044c81ce524f4e gcc/config/s390/s390-modes.def ! ca961517247358a5ffc34d0c59247348 gcc/config/s390/s390-opts.h 21970edfb4a16e9319b3bf577666397b gcc/config/s390/s390-passes.def 6e21265ae0a20bcc8f3e7ecee4ded227 gcc/config/s390/s390-protos.h ! 51306c1b1436b88c0c69202ac099ae14 gcc/config/s390/s390.c ! 82f9561a6a9f3081fdbb4ee739d174f1 gcc/config/s390/s390.h ! a3a97382432237c66f55a60df5bd1bc4 gcc/config/s390/s390.md ! bdbd5866cc1cf0030217b3d42f505a09 gcc/config/s390/s390.opt 3a7d4589eccec5ca0c1509ad826a7645 gcc/config/s390/s390intrin.h 38978838a5b1948ea8a22c90711f0ea8 gcc/config/s390/s390x.h cbd40463e3ea483403791298453fd71e gcc/config/s390/subst.md *************** c9bbda48804d4713ec85f78f9d2d6e6d gcc/co *** 4197,4204 **** 62076dd49a73c59d5edaf7d215d1c780 gcc/config/s390/tpf.md c07c00818fb5b099d66aaebda265bdbb gcc/config/s390/tpf.opt ea0acfd9c6b6faf70d98bed7a69f30dc gcc/config/s390/vecintrin.h ! f165ba13d6f2e65afa611effc8d91bdd gcc/config/s390/vector.md ! fe7a02218dffbe45ed74aae1a436d5ed gcc/config/s390/vx-builtins.md 19876f77a242921272972ac5b8bd32d0 gcc/config/s390/x-native f4f7b404fcddc18914dae558d104af08 gcc/config/sh/constraints.md cdcba76a08631d945bbc4da7795d5214 gcc/config/sh/divcost-analysis --- 4198,4205 ---- 62076dd49a73c59d5edaf7d215d1c780 gcc/config/s390/tpf.md c07c00818fb5b099d66aaebda265bdbb gcc/config/s390/tpf.opt ea0acfd9c6b6faf70d98bed7a69f30dc gcc/config/s390/vecintrin.h ! 7deb993be73261715bad04e286f721c2 gcc/config/s390/vector.md ! 0c28296e373ef4c0462b02b76e97d264 gcc/config/s390/vx-builtins.md 19876f77a242921272972ac5b8bd32d0 gcc/config/s390/x-native f4f7b404fcddc18914dae558d104af08 gcc/config/sh/constraints.md cdcba76a08631d945bbc4da7795d5214 gcc/config/sh/divcost-analysis *************** f310845fcf532dedab23b0fc91cb3568 gcc/co *** 4219,4227 **** 8b4b0855ed5d1842b5e56ddcd69bc503 gcc/config/sh/sh-mem.cc 5b08d19292c262fd3da797a5590df401 gcc/config/sh/sh-modes.def 5a81a0c3a99d8de465804b5346bdbfdf gcc/config/sh/sh-protos.h ! 2a6d354c4ccc62dcb516f8470f917e9d gcc/config/sh/sh.c ! f385d180679a4ae484d77a7f8123ab26 gcc/config/sh/sh.h ! f0bc2f8917c3daaae78e7cd387f205c9 gcc/config/sh/sh.md 7e7c2018a6c87b994b6e8a14585f0af7 gcc/config/sh/sh.opt 20bf20a289282088598974dc05a5e46e gcc/config/sh/sh1.md 32b66d09c1e01c79eff39b56feaf0bc7 gcc/config/sh/sh4-300.md --- 4220,4228 ---- 8b4b0855ed5d1842b5e56ddcd69bc503 gcc/config/sh/sh-mem.cc 5b08d19292c262fd3da797a5590df401 gcc/config/sh/sh-modes.def 5a81a0c3a99d8de465804b5346bdbfdf gcc/config/sh/sh-protos.h ! e21052b9eced2c0778f1502d289759ba gcc/config/sh/sh.c ! ef560ba32868e2fd6490d682b243afff gcc/config/sh/sh.h ! d3f27a217035f9be4042a2819e02cfb2 gcc/config/sh/sh.md 7e7c2018a6c87b994b6e8a14585f0af7 gcc/config/sh/sh.opt 20bf20a289282088598974dc05a5e46e gcc/config/sh/sh1.md 32b66d09c1e01c79eff39b56feaf0bc7 gcc/config/sh/sh4-300.md *************** d6a9639a16de2f1ae0f263abb58d2eae gcc/co *** 4276,4285 **** aa427cfe3d4647ac44c278f45436ba49 gcc/config/sparc/sparc-modes.def 4d82caaf475b262387af725b2a52e701 gcc/config/sparc/sparc-opts.h 1ca073b706c09a8ae55d2d0ee31091a0 gcc/config/sparc/sparc-passes.def ! 59ef6e842f252c9bb831564db49c3df2 gcc/config/sparc/sparc-protos.h ! c04e4747a299c2f4b7f2b294dea6ee2c gcc/config/sparc/sparc.c ! de3d22a440f256ba4e2d34bfb81f01f6 gcc/config/sparc/sparc.h ! 110a5f2151e4458fb6d95a08006a7df7 gcc/config/sparc/sparc.md 050d31a7b1dbcd95852a707f8ebe3664 gcc/config/sparc/sparc.opt c052a53dc474a5b053d578d0786b423f gcc/config/sparc/sparclet.md 32e66172adfe4887087c0252d7c91228 gcc/config/sparc/supersparc.md --- 4277,4286 ---- aa427cfe3d4647ac44c278f45436ba49 gcc/config/sparc/sparc-modes.def 4d82caaf475b262387af725b2a52e701 gcc/config/sparc/sparc-opts.h 1ca073b706c09a8ae55d2d0ee31091a0 gcc/config/sparc/sparc-passes.def ! e8f3f2e01b0ed58f47eeac35c8e0b772 gcc/config/sparc/sparc-protos.h ! c7a04165ff8ccd0ade80467c687602c1 gcc/config/sparc/sparc.c ! a2ede8e59ead9a217e540e45df14d1d0 gcc/config/sparc/sparc.h ! ea7f7d916e67a76bdf99ac97a56120ac gcc/config/sparc/sparc.md 050d31a7b1dbcd95852a707f8ebe3664 gcc/config/sparc/sparc.opt c052a53dc474a5b053d578d0786b423f gcc/config/sparc/sparclet.md 32e66172adfe4887087c0252d7c91228 gcc/config/sparc/supersparc.md *************** cedce92401c4008c9536106e451ece62 gcc/co *** 4465,4476 **** a8c893ecb112128e2e019ca7925bc177 gcc/config/xtensa/uclinux.h 8fddc00a69db0ebf7f56b72d61f1e14f gcc/config/xtensa/uclinux.opt e2716a9c263d8620df09ed3545363391 gcc/config/xtensa/xtensa-protos.h ! f0b5323b9553fa1139cd29c338a9ea19 gcc/config/xtensa/xtensa.c 9435e37ec4d9b10632cb0274c23733dd gcc/config/xtensa/xtensa.h ec3e3224a3f6496c1a6dd45373ea942d gcc/config/xtensa/xtensa.md 4d2567221429e8ff6bdf03bddaf11294 gcc/config/xtensa/xtensa.opt ! 6ab2cb239daed476bbeff3bdbec2ac4c gcc/configure ! 62e702d44582105b93df359a85debf33 gcc/configure.ac a172c20ab64d456534d82432f8645b86 gcc/context.c efedd3c44c8cd7fc59f7eda74f6fd29d gcc/context.h 37a26a95e18d4e6618aff970a29ca502 gcc/convert.c --- 4466,4477 ---- a8c893ecb112128e2e019ca7925bc177 gcc/config/xtensa/uclinux.h 8fddc00a69db0ebf7f56b72d61f1e14f gcc/config/xtensa/uclinux.opt e2716a9c263d8620df09ed3545363391 gcc/config/xtensa/xtensa-protos.h ! 19177a171b89ec197c2e7619de45899a gcc/config/xtensa/xtensa.c 9435e37ec4d9b10632cb0274c23733dd gcc/config/xtensa/xtensa.h ec3e3224a3f6496c1a6dd45373ea942d gcc/config/xtensa/xtensa.md 4d2567221429e8ff6bdf03bddaf11294 gcc/config/xtensa/xtensa.opt ! db16420fb29002524e72a6ae5aee4dac gcc/configure ! 4121496431f6081ffbd92911480216dd gcc/configure.ac a172c20ab64d456534d82432f8645b86 gcc/context.c efedd3c44c8cd7fc59f7eda74f6fd29d gcc/context.h 37a26a95e18d4e6618aff970a29ca502 gcc/convert.c *************** d1a041b82500893b285a0062712d277b gcc/co *** 4478,4484 **** f36fa6387bfd9a1849583a199f1bbb8b gcc/coretypes.h e78da05a0986f248aff43cbd5b3494f0 gcc/coverage.c 57a63860b2bca8fd7a62d7386a3a92f7 gcc/coverage.h ! 8c196718141396e635f974d0b4030fdd gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 --- 4479,4485 ---- f36fa6387bfd9a1849583a199f1bbb8b gcc/coretypes.h e78da05a0986f248aff43cbd5b3494f0 gcc/coverage.c 57a63860b2bca8fd7a62d7386a3a92f7 gcc/coverage.h ! 7f3ac9ce2acfe782cae23e8037406fb1 gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 *************** c1c7801b9b0f379e702a4f6cb83972e7 gcc/cp *** 4509,4564 **** 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa 927c956157fea028964c8aec368e5ed2 gcc/cp/Make-lang.in a278dbf0995f78e9c037b3c4f1558d27 gcc/cp/NEWS ! 905b009c625bc5d48ec53cf4eda5b561 gcc/cp/call.c bd7a7016228b634d3bb60519ffbdcde6 gcc/cp/cfns.gperf e1aef57a57197c4db859e6bafa97cbfb gcc/cp/cfns.h ! 75f0d7f3ffe607138911abf5db69e3bf gcc/cp/class.c 5bb396c6ffef5b425dc65c47c112fed6 gcc/cp/config-lang.in ! 9a3d67c643e1c142025cdb6e53240c3b gcc/cp/constexpr.c ! 6438b01a449c6c1c8bd5fc7b127be7f3 gcc/cp/constraint.cc ! 3b9ec13706212fb9248903c032e790fb gcc/cp/cp-gimplify.c 8d003f7c56f3b655d27aededf2e31606 gcc/cp/cp-lang.c cc48600f1ca0be9a19049072dd42b85e gcc/cp/cp-name-hint.h ! ba261506b22207389fea2bb55fe402c7 gcc/cp/cp-objcp-common.c c8b9da9c09a506504b0c54beff127041 gcc/cp/cp-objcp-common.h 6ea954ee3f925c4785d3d5857da37472 gcc/cp/cp-tree.def ! fe3d2bf68c7b732aca95952928ab1ecf gcc/cp/cp-tree.h 0783a755e68a2794f241b524e94f3353 gcc/cp/cp-ubsan.c daadab04ea47474c93c89ea05140ebbd gcc/cp/cvt.c 01b7c558a0ac024db7c60c6be62c6182 gcc/cp/cxx-pretty-print.c 7678a47a8d93312c8398e268ffc5f308 gcc/cp/cxx-pretty-print.h ! 537433c6cc08f6a4eb86c9627ea90f56 gcc/cp/decl.c 76de9595bf45ff8c300bb78f7b6e3c45 gcc/cp/decl.h ! 8f138efafaa69a3eb3ff459a60617efb gcc/cp/decl2.c d68784ba349655ce2b051133db1fa676 gcc/cp/dump.c 8cfe3d7f84da7499e66a2551e0e3ee76 gcc/cp/error.c 80a9b2f4c389366bb1f4c40386761718 gcc/cp/except.c 11ce96c0d1e1bf354ec48e2e448664d8 gcc/cp/expr.c 50e91fd6211f17a456f074a8d8327f2d gcc/cp/friend.c 924d92243a92c5fe453452023675f96d gcc/cp/g++spec.c ! 450f9ce2eb9e209abe2c7cf5e5b6d9c3 gcc/cp/init.c ! 4f6397e67b176f88561f4c5a9db0edf7 gcc/cp/lambda.c e7f47fb180b2ce4ccd8d330e3fc7e0fb gcc/cp/lang-specs.h f1a6231ae470a1750e57819b2f004be9 gcc/cp/lex.c 656a41f03fcd123732899b8be272be88 gcc/cp/logic.cc ! d23d8a62b13c842733358e62acf2ea0a gcc/cp/mangle.c c35b9e09bf86e979189e4b4ff320ed81 gcc/cp/method.c ! 68d5e2bf8ce1292bfe6822be7d4dc589 gcc/cp/name-lookup.c 415a1e03948c0a97410e0c8df020777c gcc/cp/name-lookup.h 779f6c0c5ade6968723ca62c0849ab82 gcc/cp/operators.def b9f1b1883295d945297dfce4b04adc55 gcc/cp/optimize.c ! 8a54d70262a68ad148ba3e98414a3f27 gcc/cp/parser.c 61fc5d88549647fbe68ceb0f175b1a6f gcc/cp/parser.h ! 318116e8b34b87e8aa2d628bb097e1ac gcc/cp/pt.c dc36180a1e0205c61709a1dcb3da2bc1 gcc/cp/ptree.c c191067abf9a5a2693dbbe01025ed1e2 gcc/cp/repo.c 37d68656370c1e59494aec59f81a7334 gcc/cp/rtti.c 19996ebc786c9b84189e3750bee1dec1 gcc/cp/search.c ! 6b240f10d994ac15c88702084192d5b9 gcc/cp/semantics.c ! 392210500e68921ed44221a84cc8f07c gcc/cp/tree.c 839663aeac0fb479ddbc961c92afb34d gcc/cp/type-utils.h ! fbe465a5109444d3faf5ca850fb0d3b9 gcc/cp/typeck.c ! 9d59826bb0f162c5568d6c0a27290ec4 gcc/cp/typeck2.c b11f9a133d5862c4062de877470cbc63 gcc/cp/vtable-class-hierarchy.c c7b05adeb502c9e885483461d1e59f99 gcc/cppbuiltin.c fd364bcfc8956c1e8e97417e3d79206a gcc/cppbuiltin.h --- 4510,4565 ---- 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa 927c956157fea028964c8aec368e5ed2 gcc/cp/Make-lang.in a278dbf0995f78e9c037b3c4f1558d27 gcc/cp/NEWS ! d974b491588b595619b0009df675942b gcc/cp/call.c bd7a7016228b634d3bb60519ffbdcde6 gcc/cp/cfns.gperf e1aef57a57197c4db859e6bafa97cbfb gcc/cp/cfns.h ! b3b9592b43f1088212cc109b6ac16fa1 gcc/cp/class.c 5bb396c6ffef5b425dc65c47c112fed6 gcc/cp/config-lang.in ! 9a13064820d3c754f6aef0fb989413f7 gcc/cp/constexpr.c ! 0a465881de25f2f3086e995915c8e33a gcc/cp/constraint.cc ! 803a35301366f3f3af762fd0db61acdc gcc/cp/cp-gimplify.c 8d003f7c56f3b655d27aededf2e31606 gcc/cp/cp-lang.c cc48600f1ca0be9a19049072dd42b85e gcc/cp/cp-name-hint.h ! 9b1647c60e17bf71d36685f45bd35790 gcc/cp/cp-objcp-common.c c8b9da9c09a506504b0c54beff127041 gcc/cp/cp-objcp-common.h 6ea954ee3f925c4785d3d5857da37472 gcc/cp/cp-tree.def ! abb30163c564de1d51a6702465880213 gcc/cp/cp-tree.h 0783a755e68a2794f241b524e94f3353 gcc/cp/cp-ubsan.c daadab04ea47474c93c89ea05140ebbd gcc/cp/cvt.c 01b7c558a0ac024db7c60c6be62c6182 gcc/cp/cxx-pretty-print.c 7678a47a8d93312c8398e268ffc5f308 gcc/cp/cxx-pretty-print.h ! b8e0df9c48834efea8dfbf7b26c94173 gcc/cp/decl.c 76de9595bf45ff8c300bb78f7b6e3c45 gcc/cp/decl.h ! 8a4eeba7c195a85e360078d7c9c9fad2 gcc/cp/decl2.c d68784ba349655ce2b051133db1fa676 gcc/cp/dump.c 8cfe3d7f84da7499e66a2551e0e3ee76 gcc/cp/error.c 80a9b2f4c389366bb1f4c40386761718 gcc/cp/except.c 11ce96c0d1e1bf354ec48e2e448664d8 gcc/cp/expr.c 50e91fd6211f17a456f074a8d8327f2d gcc/cp/friend.c 924d92243a92c5fe453452023675f96d gcc/cp/g++spec.c ! 36b904a9d3aa475cfb02dc0600803db1 gcc/cp/init.c ! 8091451e3b70b38dbb8b5e1790f5374a gcc/cp/lambda.c e7f47fb180b2ce4ccd8d330e3fc7e0fb gcc/cp/lang-specs.h f1a6231ae470a1750e57819b2f004be9 gcc/cp/lex.c 656a41f03fcd123732899b8be272be88 gcc/cp/logic.cc ! 754a1c3b458bc459ef030ea26e079b33 gcc/cp/mangle.c c35b9e09bf86e979189e4b4ff320ed81 gcc/cp/method.c ! 5abb739389554feedce4015cac3e8355 gcc/cp/name-lookup.c 415a1e03948c0a97410e0c8df020777c gcc/cp/name-lookup.h 779f6c0c5ade6968723ca62c0849ab82 gcc/cp/operators.def b9f1b1883295d945297dfce4b04adc55 gcc/cp/optimize.c ! 63b361cb5c0498f965055aadc0b06ac4 gcc/cp/parser.c 61fc5d88549647fbe68ceb0f175b1a6f gcc/cp/parser.h ! 6c906bfac37466d8a0a84c0a1606c45a gcc/cp/pt.c dc36180a1e0205c61709a1dcb3da2bc1 gcc/cp/ptree.c c191067abf9a5a2693dbbe01025ed1e2 gcc/cp/repo.c 37d68656370c1e59494aec59f81a7334 gcc/cp/rtti.c 19996ebc786c9b84189e3750bee1dec1 gcc/cp/search.c ! 18ec5be803a6df3d4f9b50214e690f5d gcc/cp/semantics.c ! da26fb7f723c0dff77d5d6448cc52feb gcc/cp/tree.c 839663aeac0fb479ddbc961c92afb34d gcc/cp/type-utils.h ! 24117d2ca96a515291ace9f5c7b560ea gcc/cp/typeck.c ! d6edd32f4a64fbf1da10c96462e3f753 gcc/cp/typeck2.c b11f9a133d5862c4062de877470cbc63 gcc/cp/vtable-class-hierarchy.c c7b05adeb502c9e885483461d1e59f99 gcc/cppbuiltin.c fd364bcfc8956c1e8e97417e3d79206a gcc/cppbuiltin.h *************** ef3d8fd098598bd0e5755bdfd9f4bf2a gcc/cp *** 4569,4575 **** b1a7078331945dc9fa7c62633b4d7d50 gcc/cselib.c 063a252b68c316f24dc59a07f97e1d2b gcc/cselib.h 1ded054093de910d9786c62bc4fe8cc6 gcc/cstamp-h.in ! 913d267e278467a7fbbae4f9e77e2071 gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 --- 4570,4576 ---- b1a7078331945dc9fa7c62633b4d7d50 gcc/cselib.c 063a252b68c316f24dc59a07f97e1d2b gcc/cselib.h 1ded054093de910d9786c62bc4fe8cc6 gcc/cstamp-h.in ! 07fd812eb63d52699f2b2621931112b6 gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 *************** ab2f5418f1c15c04e6a1d91d968f531b gcc/di *** 4781,4787 **** 94987d85fa0ecfdde6b7640a9f0e6e71 gcc/diagnostic.c 7a208b59c65869bf08fabf581f390197 gcc/diagnostic.def 2a723301855607472ce6ec1bd7dc876d gcc/diagnostic.h ! eea00eaa64d0d73adf4d44b8c928461b gcc/doc/avr-mmcu.texi 2996fde88037296d1a6cf9408a0681ce gcc/doc/bugreport.texi 51fc3b710678b1c1ca23d516762ea568 gcc/doc/cfg.texi c0835a38b8c18669b65faf5efacb98d8 gcc/doc/collect2.texi --- 4782,4788 ---- 94987d85fa0ecfdde6b7640a9f0e6e71 gcc/diagnostic.c 7a208b59c65869bf08fabf581f390197 gcc/diagnostic.def 2a723301855607472ce6ec1bd7dc876d gcc/diagnostic.h ! a87c4af8638789a2ab96fc4e08569594 gcc/doc/avr-mmcu.texi 2996fde88037296d1a6cf9408a0681ce gcc/doc/bugreport.texi 51fc3b710678b1c1ca23d516762ea568 gcc/doc/cfg.texi c0835a38b8c18669b65faf5efacb98d8 gcc/doc/collect2.texi *************** f61fe8bd99c6a1ee739116e65817e9d4 gcc/do *** 4789,4796 **** 85ec518d349577c9ee250bb43a2384bf gcc/doc/configfiles.texi 7b7190fbddc8b4e564f4ae2123abd2a8 gcc/doc/configterms.texi 60795d196c8261eb7d710f4bbdf5b015 gcc/doc/contrib.texi ! 2197383335890ab6f9d97741387a4787 gcc/doc/contribute.texi ! adfc0fa4e81a02197588d582f47e9b94 gcc/doc/cpp.1 4851bbb23c3348de1de4987f269ef888 gcc/doc/cpp.info c9313bba6f7eacee229112ff3b8c8f70 gcc/doc/cpp.texi b5148df3818448706f2b184a97174cad gcc/doc/cppdiropts.texi --- 4790,4797 ---- 85ec518d349577c9ee250bb43a2384bf gcc/doc/configfiles.texi 7b7190fbddc8b4e564f4ae2123abd2a8 gcc/doc/configterms.texi 60795d196c8261eb7d710f4bbdf5b015 gcc/doc/contrib.texi ! c6b2e96df83a0ae7111453ccafa54bd5 gcc/doc/contribute.texi ! 142f6e37be20b6bc017e3d00a970d569 gcc/doc/cpp.1 4851bbb23c3348de1de4987f269ef888 gcc/doc/cpp.info c9313bba6f7eacee229112ff3b8c8f70 gcc/doc/cpp.texi b5148df3818448706f2b184a97174cad gcc/doc/cppdiropts.texi *************** fd3c07c06ef6f5ddefebf71a5528f68d gcc/do *** 4799,4827 **** 598960212ed0c8d73595224d7d76691f gcc/doc/cppinternals.texi f7bb9ac1b5dae60734555eca90a141ca gcc/doc/cppopts.texi 227d2ef483283b21aa396125c6d46af8 gcc/doc/cppwarnopts.texi ! 5b8486d4ec844f76ea0e094a9349baff gcc/doc/extend.texi 9847a0b4ecac8bf01bc1390013fa25f1 gcc/doc/fragments.texi c6bd1ed9265f37784faebba05d829a4f gcc/doc/frontends.texi ! e72b2d74820fc8ccc3e33887f1c69856 gcc/doc/fsf-funding.7 ! 7d09d5437f22d2099ebb7f23f61acf8b gcc/doc/g++.1 ! 7d09d5437f22d2099ebb7f23f61acf8b gcc/doc/gcc.1 ! 906f7ae859d6b42ae4227d486f28c421 gcc/doc/gcc.info e49f40ab3091f625cf3ed09bbd005483 gcc/doc/gcc.texi ! ff758fe6546cdff8044c4a2c1e3d3133 gcc/doc/gccinstall.info ! 4bae601012691d2483dd5692312e8131 gcc/doc/gccint.info b71c697ca91f3744177b1504dd26599c gcc/doc/gccint.texi ! 29ae8a02708edbdda72e8f372daf312a gcc/doc/gcov-dump.1 8a2e1271edd73ce818e66d7603a38736 gcc/doc/gcov-dump.texi ! d5ffd9db475fb7a6b3eea573e19ce4c8 gcc/doc/gcov-tool.1 c8c5612b4f78f5bbbb9094c3ce76017f gcc/doc/gcov-tool.texi ! d201598599cf01b1f667075dd986cf20 gcc/doc/gcov.1 4b1362331fe06b615478dd02a6a38525 gcc/doc/gcov.texi a3b1af463ddc14719f053f2825afcd86 gcc/doc/generic.texi ! 861a3aab5449da30235ae0f508240b19 gcc/doc/gfdl.7 ! 7f39f5e2bfbed0b33c225bc4a8c8d22c gcc/doc/gfortran.1 0162e7820af2a1b1c5ded204215ac77b gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 59465de0f006c3f1c7204c804bcb48eb gcc/doc/gpl.7 dd066b0630411d8431ab6142fd30bbaf gcc/doc/gty.texi 706dcee8b5b7d645197a197c3ef0764d gcc/doc/headerdirs.texi 11553023c3bbd45ec05788fcb50553d0 gcc/doc/hostconfig.texi --- 4800,4828 ---- 598960212ed0c8d73595224d7d76691f gcc/doc/cppinternals.texi f7bb9ac1b5dae60734555eca90a141ca gcc/doc/cppopts.texi 227d2ef483283b21aa396125c6d46af8 gcc/doc/cppwarnopts.texi ! fed566a25b79ec8e5f260fa77efb80ef gcc/doc/extend.texi 9847a0b4ecac8bf01bc1390013fa25f1 gcc/doc/fragments.texi c6bd1ed9265f37784faebba05d829a4f gcc/doc/frontends.texi ! 37e196a82bdedd6a1b63a29321a66a54 gcc/doc/fsf-funding.7 ! 19b62fe2c32c9c0b59b4be662440c4a2 gcc/doc/g++.1 ! 19b62fe2c32c9c0b59b4be662440c4a2 gcc/doc/gcc.1 ! 766adaff478c47aa9b3efd902c2d25e2 gcc/doc/gcc.info e49f40ab3091f625cf3ed09bbd005483 gcc/doc/gcc.texi ! cd2760702b14facfeccf1d723b2b085b gcc/doc/gccinstall.info ! 64b429fb6d6b46fc391503c94e4bc539 gcc/doc/gccint.info b71c697ca91f3744177b1504dd26599c gcc/doc/gccint.texi ! 86c7983b0341a6036915247d090f335a gcc/doc/gcov-dump.1 8a2e1271edd73ce818e66d7603a38736 gcc/doc/gcov-dump.texi ! 40475741182cdf94ae2d52c1ab348e99 gcc/doc/gcov-tool.1 c8c5612b4f78f5bbbb9094c3ce76017f gcc/doc/gcov-tool.texi ! 866c1921d435d6048504a1f2b408782e gcc/doc/gcov.1 4b1362331fe06b615478dd02a6a38525 gcc/doc/gcov.texi a3b1af463ddc14719f053f2825afcd86 gcc/doc/generic.texi ! 033abb801560eaf2c4f52506351c84bb gcc/doc/gfdl.7 ! a27715a36cf212d8d805b5cfde2cf8ca gcc/doc/gfortran.1 0162e7820af2a1b1c5ded204215ac77b gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 75e8d4882f1805ff20f93ff23fb4a26e gcc/doc/gpl.7 dd066b0630411d8431ab6142fd30bbaf gcc/doc/gty.texi 706dcee8b5b7d645197a197c3ef0764d gcc/doc/headerdirs.texi 11553023c3bbd45ec05788fcb50553d0 gcc/doc/hostconfig.texi *************** f0bb2341551b42660d4b8754a7d36ad4 gcc/do *** 4833,4849 **** 5f5adc2c6c4ebdcf03cc0125250f5995 gcc/doc/include/gpl_v3.texi 73819b3930a3d4be5d6234070d02386a gcc/doc/include/texinfo.tex f525208b1949ff445fb4a894794e8e05 gcc/doc/install-old.texi ! 9e97d084cfc56c8b6cec685aa1465f92 gcc/doc/install.texi 0f558b94d69d2b1452bc739b3d8712de gcc/doc/install.texi2html ba0abad9116562664f5e8ea17d3cec7e gcc/doc/interface.texi ! 67898d77690b8cb33bed043be7b58025 gcc/doc/invoke.texi 096755dfefc05752e3fd09c84b9632a8 gcc/doc/languages.texi 7ca1cfbc8d0459fc45e1a53008bd1259 gcc/doc/libgcc.texi d690c5f97dbd9a2c12aed96a27abfdc2 gcc/doc/loop.texi 6a65b736bae210ee6ac699129fef9136 gcc/doc/lto.texi 65e905ced82d6dad1abe88312afd1c02 gcc/doc/makefile.texi 590b29f7568e96895214b8a654823bca gcc/doc/match-and-simplify.texi ! 669f084ee769dabc8cfaa65d11c07ac6 gcc/doc/md.texi a549bd2a5dd250ec64aba752604dab9b gcc/doc/objc.texi 224e14dfabc7a13be6aadf5b1b254e9d gcc/doc/optinfo.texi ef592edb7b25dfd6ee1a108065e8d519 gcc/doc/options.texi --- 4834,4850 ---- 5f5adc2c6c4ebdcf03cc0125250f5995 gcc/doc/include/gpl_v3.texi 73819b3930a3d4be5d6234070d02386a gcc/doc/include/texinfo.tex f525208b1949ff445fb4a894794e8e05 gcc/doc/install-old.texi ! 5cc5e954fc01686e56a9e380c98cb06c gcc/doc/install.texi 0f558b94d69d2b1452bc739b3d8712de gcc/doc/install.texi2html ba0abad9116562664f5e8ea17d3cec7e gcc/doc/interface.texi ! 7d433bdb662c303d0e459f4864766165 gcc/doc/invoke.texi 096755dfefc05752e3fd09c84b9632a8 gcc/doc/languages.texi 7ca1cfbc8d0459fc45e1a53008bd1259 gcc/doc/libgcc.texi d690c5f97dbd9a2c12aed96a27abfdc2 gcc/doc/loop.texi 6a65b736bae210ee6ac699129fef9136 gcc/doc/lto.texi 65e905ced82d6dad1abe88312afd1c02 gcc/doc/makefile.texi 590b29f7568e96895214b8a654823bca gcc/doc/match-and-simplify.texi ! 2f42cb2af0cd7d1fb7c19bcffa3e8895 gcc/doc/md.texi a549bd2a5dd250ec64aba752604dab9b gcc/doc/objc.texi 224e14dfabc7a13be6aadf5b1b254e9d gcc/doc/optinfo.texi ef592edb7b25dfd6ee1a108065e8d519 gcc/doc/options.texi *************** d3b4d592e1f64e102849eebc9abf97d5 gcc/do *** 4868,4881 **** 226fe2bbc73548a505901d13fb46b724 gcc/domwalk.h e869f4b798f66ff3ffba28757ebca299 gcc/double-int.c ecdf03096645bd6f1cebfdc727a686a9 gcc/double-int.h ! 7ba589a37debbbd7c84b01d944eedb85 gcc/dse.c 722f796482283e0c93d4e5000fbfcc00 gcc/dump-context.h 59b7fdb0b0e2a4c1c2ffa9233cb1cf97 gcc/dumpfile.c ac8212e5149b4a43b5514799717c12e8 gcc/dumpfile.h b427cf7950620d2efb54a542b24a040a gcc/dwarf2asm.c 3a904ab05dda79aabc42b47af11cd1d7 gcc/dwarf2asm.h e4864f329de20345a85ba44662e25a91 gcc/dwarf2cfi.c ! 04bdd7d3b1852f032dce783a6296eb45 gcc/dwarf2out.c 51a2795ae1bb809164907da8da55a5c0 gcc/dwarf2out.h 3a65d932448ff362e9e09a4e85f01665 gcc/early-remat.c 084ecabdaf2905b82436533aaaf0b94b gcc/edit-context.c --- 4869,4882 ---- 226fe2bbc73548a505901d13fb46b724 gcc/domwalk.h e869f4b798f66ff3ffba28757ebca299 gcc/double-int.c ecdf03096645bd6f1cebfdc727a686a9 gcc/double-int.h ! 8fb601d26eb9f20278283a0799e74861 gcc/dse.c 722f796482283e0c93d4e5000fbfcc00 gcc/dump-context.h 59b7fdb0b0e2a4c1c2ffa9233cb1cf97 gcc/dumpfile.c ac8212e5149b4a43b5514799717c12e8 gcc/dumpfile.h b427cf7950620d2efb54a542b24a040a gcc/dwarf2asm.c 3a904ab05dda79aabc42b47af11cd1d7 gcc/dwarf2asm.h e4864f329de20345a85ba44662e25a91 gcc/dwarf2cfi.c ! 7c4df4a783d19b5a10dcdcd86ffcdf3b gcc/dwarf2out.c 51a2795ae1bb809164907da8da55a5c0 gcc/dwarf2out.h 3a65d932448ff362e9e09a4e85f01665 gcc/early-remat.c 084ecabdaf2905b82436533aaaf0b94b gcc/edit-context.c *************** af181a02f33e8d4d5264ddc86008d7d1 gcc/em *** 4889,4897 **** 7da8abfbff30af506bd6267c01fd3a32 gcc/except.c e3dbcca9faf05cdec97b81b92a0193e0 gcc/except.h c57c11af41129f87aaf9a8eec7c5b614 gcc/exec-tool.in ! e8cb7a70ebd7ffa119d9588711ca65f7 gcc/explow.c d445c1bb97b86f76c7530964bc3ac62e gcc/explow.h ! 67ac0c4166ae294625b1daddd5190419 gcc/expmed.c 9ff2927efa2e1a0e55558021c26390b5 gcc/expmed.h e03097fa8bab2e0f672c851e349fe506 gcc/expr.c 22a1b040a029cec71713c858072c2d14 gcc/expr.h --- 4890,4898 ---- 7da8abfbff30af506bd6267c01fd3a32 gcc/except.c e3dbcca9faf05cdec97b81b92a0193e0 gcc/except.h c57c11af41129f87aaf9a8eec7c5b614 gcc/exec-tool.in ! 433c0a7e4b3b6fe4be1bffe126a6746f gcc/explow.c d445c1bb97b86f76c7530964bc3ac62e gcc/explow.h ! c9816fbb324ebc697496c853b4149689 gcc/expmed.c 9ff2927efa2e1a0e55558021c26390b5 gcc/expmed.h e03097fa8bab2e0f672c851e349fe506 gcc/expr.c 22a1b040a029cec71713c858072c2d14 gcc/expr.h *************** e4b447e1be275c2eb7ef7a53fff39820 gcc/fi *** 4908,4916 **** 2245c6ff80a16a793e9b5348de6e91f8 gcc/flags.h 62ab96e4969839c0d49207c84e167bdb gcc/fold-const-call.c 6d7b5c94cd6a5d83f71696406018c0a3 gcc/fold-const-call.h ! 6d739e8dc5da8622cdeac73b4dbdee98 gcc/fold-const.c a1a5b70d2d5210db75df2a17bc70430e gcc/fold-const.h ! 14f1527be6a9dfb858a0dcc8222078ac gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 --- 4909,4917 ---- 2245c6ff80a16a793e9b5348de6e91f8 gcc/flags.h 62ab96e4969839c0d49207c84e167bdb gcc/fold-const-call.c 6d7b5c94cd6a5d83f71696406018c0a3 gcc/fold-const-call.h ! 4b5505a0318d2195f34db01b51673d0d gcc/fold-const.c a1a5b70d2d5210db75df2a17bc70430e gcc/fold-const.h ! 846fa27e009f677029eefda3dd649b09 gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 *************** a71efd3e199a80ee07c7f350cc8fcf91 gcc/fo *** 4930,4941 **** 7329983fba9efec50463c1ec516a8bb6 gcc/fortran/ChangeLog-2018 9e0636f92243fb9b3480e27cefc96749 gcc/fortran/ChangeLog.ptr f93ce4ff63aa482acfbf5a258406caf4 gcc/fortran/Make-lang.in ! 1d4cbc1b0cbf7c7c08037328100a1ce8 gcc/fortran/arith.c 6690836eb720015b7835e95cd989703d gcc/fortran/arith.h ! c79cb81381296667682bdb61483e604a gcc/fortran/array.c 05d16522c697cac97b84b91201171e02 gcc/fortran/bbt.c ! 941992d3a6f17bda2786f079c05c0d47 gcc/fortran/check.c ! f0eebb144e133d9bcafe2924d98ab6bb gcc/fortran/class.c 0e917b3713317f87e6dc15b1ad750f62 gcc/fortran/config-lang.in 2eee8a4a70686c5631dc61c35a89d41c gcc/fortran/constructor.c 654703401f8709ab9f4aaa9a8268c9b3 gcc/fortran/constructor.h --- 4931,4942 ---- 7329983fba9efec50463c1ec516a8bb6 gcc/fortran/ChangeLog-2018 9e0636f92243fb9b3480e27cefc96749 gcc/fortran/ChangeLog.ptr f93ce4ff63aa482acfbf5a258406caf4 gcc/fortran/Make-lang.in ! 88530577751506e8debcf03819287351 gcc/fortran/arith.c 6690836eb720015b7835e95cd989703d gcc/fortran/arith.h ! cea296f7d4a8d62899a6dfb6fe7525b4 gcc/fortran/array.c 05d16522c697cac97b84b91201171e02 gcc/fortran/bbt.c ! a300171308727c27e5f4891e177f2b38 gcc/fortran/check.c ! 5c1dc2fdaacf40deea781c111cf16719 gcc/fortran/class.c 0e917b3713317f87e6dc15b1ad750f62 gcc/fortran/config-lang.in 2eee8a4a70686c5631dc61c35a89d41c gcc/fortran/constructor.c 654703401f8709ab9f4aaa9a8268c9b3 gcc/fortran/constructor.h *************** b59fb0736f3f4578927b040ae8f77938 gcc/fo *** 4944,4969 **** c53510898175a735499a6d352eb16ebb gcc/fortran/cpp.h 64504f7c2066290912a3539c510679cb gcc/fortran/data.c 713d22369c1f1fcefd7a1679e3fb3b64 gcc/fortran/data.h ! 7263f6a5d45a82ebc9dae64afd8be25a gcc/fortran/decl.c 55c0619e60ea4f3e4f6e7151b4b26ea7 gcc/fortran/dependency.c e447ed1c3ad604ee5016b65f79ed4c02 gcc/fortran/dependency.h c6fbd637c07d0c8791ae950f824a203f gcc/fortran/dump-parse-tree.c ede6895c89e02d2d9e7349452194899a gcc/fortran/error.c ! 36714ff19ab36f16438459f8efef58c9 gcc/fortran/expr.c 4e03cda963b3169c1fbda02df38964e9 gcc/fortran/f95-lang.c ! d59efc0e442622d5f206b83f61b6a1da gcc/fortran/frontend-passes.c 3fd259abb59ef9e6976c0454605afc0e gcc/fortran/gfc-diagnostic.def 656bf644425fd5feb9342279fbf284c2 gcc/fortran/gfc-internals.texi ! e7da6129ed0678cf956e7ce7c53fd425 gcc/fortran/gfortran.h ! c55957741058c2fcd32872fff50c61c7 gcc/fortran/gfortran.info ! 635ff8ca3ab979159685266e35ccc2b7 gcc/fortran/gfortran.texi 22e71554f803f8d2e62849b4737c3981 gcc/fortran/gfortranspec.c ! 152c33d9871ec5b02888d91725ee27b7 gcc/fortran/interface.c ! 23be2f9d44764e574644d5ffd9824f4f gcc/fortran/intrinsic.c 74c19897e7db71beea588034368e2433 gcc/fortran/intrinsic.h ! 34a17559d3f1d5b6243140db21e0db36 gcc/fortran/intrinsic.texi b697f4eb995ff9d18d91f0ac5f265202 gcc/fortran/invoke.texi ! a995b1899fcd557818f4fc2166d5493a gcc/fortran/io.c d2ac7774e9141113736270e4f5d47262 gcc/fortran/ioparm.def 87b467c06a1b0203d0c84ebd0e75eceb gcc/fortran/iresolve.c c7c109af1ff2fc4892193c9d4e85ebd9 gcc/fortran/iso-c-binding.def --- 4945,4970 ---- c53510898175a735499a6d352eb16ebb gcc/fortran/cpp.h 64504f7c2066290912a3539c510679cb gcc/fortran/data.c 713d22369c1f1fcefd7a1679e3fb3b64 gcc/fortran/data.h ! 43fb3ebc8f5b8b42134fb69d8622488b gcc/fortran/decl.c 55c0619e60ea4f3e4f6e7151b4b26ea7 gcc/fortran/dependency.c e447ed1c3ad604ee5016b65f79ed4c02 gcc/fortran/dependency.h c6fbd637c07d0c8791ae950f824a203f gcc/fortran/dump-parse-tree.c ede6895c89e02d2d9e7349452194899a gcc/fortran/error.c ! 0e7b25050d01599fb5c3fb3dc43a1f5b gcc/fortran/expr.c 4e03cda963b3169c1fbda02df38964e9 gcc/fortran/f95-lang.c ! befbb9db8fe362a60da4088c225ae1ac gcc/fortran/frontend-passes.c 3fd259abb59ef9e6976c0454605afc0e gcc/fortran/gfc-diagnostic.def 656bf644425fd5feb9342279fbf284c2 gcc/fortran/gfc-internals.texi ! b90437665248529477f0bebe66a52a36 gcc/fortran/gfortran.h ! 847c66fd7bf72d8c5471e328d53e8179 gcc/fortran/gfortran.info ! 148c0054609b07ed97a421cdba7fe6e7 gcc/fortran/gfortran.texi 22e71554f803f8d2e62849b4737c3981 gcc/fortran/gfortranspec.c ! d263d8f9bbe0c1f1a5e781ab08920954 gcc/fortran/interface.c ! 82f04402523e414ab21e2a65f37308fe gcc/fortran/intrinsic.c 74c19897e7db71beea588034368e2433 gcc/fortran/intrinsic.h ! 950ec6325d891d28b6af311b37e5037c gcc/fortran/intrinsic.texi b697f4eb995ff9d18d91f0ac5f265202 gcc/fortran/invoke.texi ! 64eec273c98a6e0945d7d0acf9bc9747 gcc/fortran/io.c d2ac7774e9141113736270e4f5d47262 gcc/fortran/ioparm.def 87b467c06a1b0203d0c84ebd0e75eceb gcc/fortran/iresolve.c c7c109af1ff2fc4892193c9d4e85ebd9 gcc/fortran/iso-c-binding.def *************** c7c109af1ff2fc4892193c9d4e85ebd9 gcc/fo *** 4971,5015 **** 18bca2a897c95c53d5180935018750c0 gcc/fortran/lang-specs.h fe6b73b81635da88de16a6202ce2caa1 gcc/fortran/lang.opt cebab3ef54cb3a4c193daa83bdb9a0e4 gcc/fortran/libgfortran.h ! b54895fc90fd578a435706c5990e1387 gcc/fortran/match.c ! be5decbece50f1c7426bd064475247b6 gcc/fortran/match.h b963693d98b80d4cfea882998d563e9a gcc/fortran/matchexp.c 58ffee79d4ae036799bb40633dacf538 gcc/fortran/mathbuiltins.def ! fffccf71fa3690d17190fd8d539f4057 gcc/fortran/misc.c ! 464d78673383f3498d1e957c4b8b1cef gcc/fortran/module.c ! d59a8182843c09502bf82b658b37a4f4 gcc/fortran/openmp.c f095631319d07a3a3936b639e3e1accc gcc/fortran/options.c ! ace2a185d6148df164c5613ce02de386 gcc/fortran/parse.c d1adfddb8878d4805a7fc236b3c20889 gcc/fortran/parse.h ! 7f40a1b8c7787833505e24943d887a17 gcc/fortran/primary.c ! a27b51bbafb5b1d25797a3e7e4cec570 gcc/fortran/resolve.c ! 834a84c626545487c713349bbb1b081f gcc/fortran/scanner.c 9dcd63b70743079da9fc354873d59439 gcc/fortran/scanner.h ! 625a1599ae19520343fddc63896f83d9 gcc/fortran/simplify.c a1f4b55a0b9b527024a4ee138311b639 gcc/fortran/st.c ! 705af2ca43c9fee904d0d7dff6ed9991 gcc/fortran/symbol.c b8dc81d2bb586c45cad96700dac806ac gcc/fortran/target-memory.c cc4a189ff7003dc03b49eeb76a83af99 gcc/fortran/target-memory.h ! 57857b68852392492aa49ef3ffee5059 gcc/fortran/trans-array.c ! ebe97b9df34311444f24aca4643b773b gcc/fortran/trans-array.h 1eda04f5194626de8c17962ab38e146b gcc/fortran/trans-common.c 41a1229f5f63123bd9ead09467d00a34 gcc/fortran/trans-const.c 077cb8eeab5058daa9568ef0fc4a2e14 gcc/fortran/trans-const.h ! f01f9261641d9b7e1d41844c20653a2a gcc/fortran/trans-decl.c ! 4db5ebba52a816d6c70d3aadd41a7cf0 gcc/fortran/trans-expr.c 47dec5a844080c55f7950c313ceadbe8 gcc/fortran/trans-intrinsic.c 2d979e269fb210ca986be1d64ec08a99 gcc/fortran/trans-io.c ! 0b5bc62050d63f45da6f133dff032185 gcc/fortran/trans-openmp.c ! 1cbe3a1cfc9f42935eed30e1bd95a826 gcc/fortran/trans-stmt.c 10db947b29d97f98aa8af08ddb4b5689 gcc/fortran/trans-stmt.h ! 03835df63d6563b412d27abff8693a4b gcc/fortran/trans-types.c c22006170686ea7e7f2a7dd8a4ac0a98 gcc/fortran/trans-types.h ! 89d462f2b5bad02121476e0de349dc66 gcc/fortran/trans.c ! e1ed0805ed897462a3eb494df7b8e9a9 gcc/fortran/trans.h 594746bff0efa8fc539627550bd1ef43 gcc/fortran/types.def 3a98b848a7fc3b3ece25b9a082235cbd gcc/fp-test.c 5f1f378eb488a4b13fa0a03ffe648272 gcc/function-tests.c ! 494796ac024a83781f009d28ed6ac3f0 gcc/function.c ba789f52eda6da4a9ea3b3c7e7a8c013 gcc/function.h 90665aa238aba1ca80f31d5b6ec1d69d gcc/fwprop.c b0db1c7f3007354a89925b222dae0c86 gcc/gcc-ar.c --- 4972,5016 ---- 18bca2a897c95c53d5180935018750c0 gcc/fortran/lang-specs.h fe6b73b81635da88de16a6202ce2caa1 gcc/fortran/lang.opt cebab3ef54cb3a4c193daa83bdb9a0e4 gcc/fortran/libgfortran.h ! 9fe4f89986435790ce7246f2d01bba51 gcc/fortran/match.c ! ce975c33f50128b97854154f09216d54 gcc/fortran/match.h b963693d98b80d4cfea882998d563e9a gcc/fortran/matchexp.c 58ffee79d4ae036799bb40633dacf538 gcc/fortran/mathbuiltins.def ! 7afc3404f714d461fcbd749921ccb98b gcc/fortran/misc.c ! fb02332095eb01a54a4257fd3df45c43 gcc/fortran/module.c ! 8f3165aef2cc1d1f54301fc5dec4e0a3 gcc/fortran/openmp.c f095631319d07a3a3936b639e3e1accc gcc/fortran/options.c ! 80a298d9ee0ea3e0638a1cb03a4e0dc7 gcc/fortran/parse.c d1adfddb8878d4805a7fc236b3c20889 gcc/fortran/parse.h ! 6a7c5e955f35055e239c189ed7b4accb gcc/fortran/primary.c ! eea7d4e1879f462ec0a85945ca2bd012 gcc/fortran/resolve.c ! 9a58a2d73bc89b881362fc2febd07aa8 gcc/fortran/scanner.c 9dcd63b70743079da9fc354873d59439 gcc/fortran/scanner.h ! 4f4a4a40a9c734fde015c1a4388dd902 gcc/fortran/simplify.c a1f4b55a0b9b527024a4ee138311b639 gcc/fortran/st.c ! 7dc6040a9e62e60324547c6be382db29 gcc/fortran/symbol.c b8dc81d2bb586c45cad96700dac806ac gcc/fortran/target-memory.c cc4a189ff7003dc03b49eeb76a83af99 gcc/fortran/target-memory.h ! bece448e206a971c40f97a3608e30309 gcc/fortran/trans-array.c ! e733e4cead324cb4cde3b4f4fc8d7524 gcc/fortran/trans-array.h 1eda04f5194626de8c17962ab38e146b gcc/fortran/trans-common.c 41a1229f5f63123bd9ead09467d00a34 gcc/fortran/trans-const.c 077cb8eeab5058daa9568ef0fc4a2e14 gcc/fortran/trans-const.h ! 251584727cd63fbf720527067cc441ea gcc/fortran/trans-decl.c ! 77b5ee8eea76d46b421df04b9f3398ec gcc/fortran/trans-expr.c 47dec5a844080c55f7950c313ceadbe8 gcc/fortran/trans-intrinsic.c 2d979e269fb210ca986be1d64ec08a99 gcc/fortran/trans-io.c ! 4fbacc437435c7e0fb558b2d508b69ba gcc/fortran/trans-openmp.c ! aeefefb3282f8f46bc66f1824780e700 gcc/fortran/trans-stmt.c 10db947b29d97f98aa8af08ddb4b5689 gcc/fortran/trans-stmt.h ! 8f85db9554ba79b3732fd418a08774d7 gcc/fortran/trans-types.c c22006170686ea7e7f2a7dd8a4ac0a98 gcc/fortran/trans-types.h ! c6af57fdd2686c5488023474bdb7b199 gcc/fortran/trans.c ! ee117a6e3722fc523f17d50ec82cdb52 gcc/fortran/trans.h 594746bff0efa8fc539627550bd1ef43 gcc/fortran/types.def 3a98b848a7fc3b3ece25b9a082235cbd gcc/fp-test.c 5f1f378eb488a4b13fa0a03ffe648272 gcc/function-tests.c ! 3696200441793d62c40897ac6e7938de gcc/function.c ba789f52eda6da4a9ea3b3c7e7a8c013 gcc/function.h 90665aa238aba1ca80f31d5b6ec1d69d gcc/fwprop.c b0db1c7f3007354a89925b222dae0c86 gcc/gcc-ar.c *************** a7ff8581f7bf4ee6fb4f265715228cf7 gcc/gc *** 5026,5032 **** a814d961d7e9e073b252565cde8c155f gcc/gcov-io.h dc992d5b98c495610a6923e7d6415420 gcc/gcov-iov.c 5b23029f96bae333294f9ee4e7411547 gcc/gcov-tool.c ! a78ce8e169e55c44a0c3d55af0443643 gcc/gcov.c 447d863504a25932baff9beb3cfb6e44 gcc/gcse-common.c 5440da13c1de0a22fc48d492d607f66e gcc/gcse-common.h 1902281f513c1362f71da52d1cdc355d gcc/gcse.c --- 5027,5033 ---- a814d961d7e9e073b252565cde8c155f gcc/gcov-io.h dc992d5b98c495610a6923e7d6415420 gcc/gcov-iov.c 5b23029f96bae333294f9ee4e7411547 gcc/gcov-tool.c ! 00a2683fbdc6876da7e9cfe86060eceb gcc/gcov.c 447d863504a25932baff9beb3cfb6e44 gcc/gcse-common.c 5440da13c1de0a22fc48d492d607f66e gcc/gcse-common.h 1902281f513c1362f71da52d1cdc355d gcc/gcse.c *************** bd8939f12fd0f267d28a2bce1345638a gcc/ge *** 5048,5066 **** 6548f323abe184929cddb7902a1b8f59 gcc/genconstants.c c3d3bca3550233dd9af90bed7ccc18c2 gcc/genemit.c cda4b49528909fb1792335767f849280 gcc/genenums.c ! 45746ab34a26ba98cb3f51f6526e1798 gcc/generic-match-head.c 210638ce76e75540f029ab7d8d8b136c gcc/generic-match.h 84f9f809e1190b730831dbc5dfb85e21 gcc/genextract.c 74d89bef10f452419493538163fcba6e gcc/genflags.c 3f6aa70123bbc2cd7943d1af1bb1c7e6 gcc/gengenrtl.c ! c7f086278fad6581dd01054ca269b947 gcc/gengtype-lex.c d6a5c2c81b9e7185f5cb40d1c5a3387f gcc/gengtype-lex.l ef8a85e16c49cc975ea80e6e4401f6ad gcc/gengtype-parse.c 24e7c2757ffbf7927773c712f6788c40 gcc/gengtype-state.c a3f7ab1e6cfc0a4016160da1202eb973 gcc/gengtype.c 3f2249009dc1076056988b32a83f3b3c gcc/gengtype.h 3e082f7c0f0bd75f102586ca082b2d04 gcc/genhooks.c ! 2a63e382a325a378d44cb4fa751fe3d9 gcc/genmatch.c 7a47b261a983d9d5376accfaf8f64da6 gcc/genmddeps.c 02d4c627fc48ee8385e2f33addb85d80 gcc/genmddump.c 10a1385e1eca5f10cc5c7e0a2b5d465c gcc/genmodes.c --- 5049,5067 ---- 6548f323abe184929cddb7902a1b8f59 gcc/genconstants.c c3d3bca3550233dd9af90bed7ccc18c2 gcc/genemit.c cda4b49528909fb1792335767f849280 gcc/genenums.c ! 0ed94e23de50ca15e6c082a4bb0adfe2 gcc/generic-match-head.c 210638ce76e75540f029ab7d8d8b136c gcc/generic-match.h 84f9f809e1190b730831dbc5dfb85e21 gcc/genextract.c 74d89bef10f452419493538163fcba6e gcc/genflags.c 3f6aa70123bbc2cd7943d1af1bb1c7e6 gcc/gengenrtl.c ! 0109dc3c5b853ec3e3a0302360bb89f2 gcc/gengtype-lex.c d6a5c2c81b9e7185f5cb40d1c5a3387f gcc/gengtype-lex.l ef8a85e16c49cc975ea80e6e4401f6ad gcc/gengtype-parse.c 24e7c2757ffbf7927773c712f6788c40 gcc/gengtype-state.c a3f7ab1e6cfc0a4016160da1202eb973 gcc/gengtype.c 3f2249009dc1076056988b32a83f3b3c gcc/gengtype.h 3e082f7c0f0bd75f102586ca082b2d04 gcc/genhooks.c ! 707c317ed9b9bab987b92ca382816307 gcc/genmatch.c 7a47b261a983d9d5376accfaf8f64da6 gcc/genmddeps.c 02d4c627fc48ee8385e2f33addb85d80 gcc/genmddump.c 10a1385e1eca5f10cc5c7e0a2b5d465c gcc/genmodes.c *************** cf7571696e624a579917e310b027f022 gcc/ge *** 5075,5095 **** 50fe26ee0e8459746b74f6bea6d2b94d gcc/gentarget-def.c 8daac863bac22cb746d5394c3b90c941 gcc/ggc-common.c 12758873dd696da0b01cc5e6a2f6bf7f gcc/ggc-internal.h ! b6803a4e7b911ba732d3bd1b63771a2d gcc/ggc-none.c ! 8a80b8a4a843d88ab9571fa4e4746c1b gcc/ggc-page.c 448e6bea5405d417864cd0726098c456 gcc/ggc-tests.c ! 28c0372aa5b4add38e1f093fb60ca24c gcc/ggc.h 14a6dbffee7f53e63f5db225ae19bdda gcc/gimple-builder.c fe776463982ded0d56be76536ca458ab gcc/gimple-builder.h 33cda24a0e46cc4177b621760f46ce2d gcc/gimple-expr.c a026330f3f8e5ac33622b51cdbdf0617 gcc/gimple-expr.h ! 715cf4ea624f3c003b0410775ca213fe gcc/gimple-fold.c 6ca763486e28e598342728afde8faf3d gcc/gimple-fold.h cd8563c27ad3db4bc7c4ea623b39732a gcc/gimple-iterator.c ace1a0d92d6cdd622d3c7bd19303781c gcc/gimple-iterator.h 35c24fecb621723d3515631ac4d34547 gcc/gimple-laddress.c b3fe8f3f4dc718d48211bbda066c6060 gcc/gimple-loop-interchange.cc ! 0f86751d04de4efebdf4de164335fa74 gcc/gimple-loop-jam.c 0be3abb400bc287133905dc6d8017f05 gcc/gimple-loop-versioning.cc 73229265187e7cfa0d2e677f837a2566 gcc/gimple-low.c 5dbc7b9651cef8ed681c4b5d29fc99ce gcc/gimple-low.h --- 5076,5096 ---- 50fe26ee0e8459746b74f6bea6d2b94d gcc/gentarget-def.c 8daac863bac22cb746d5394c3b90c941 gcc/ggc-common.c 12758873dd696da0b01cc5e6a2f6bf7f gcc/ggc-internal.h ! 2025ae588010128a43aea8d3473e57e0 gcc/ggc-none.c ! 71a21368e2520b2c4ad2b9935d1fc6d1 gcc/ggc-page.c 448e6bea5405d417864cd0726098c456 gcc/ggc-tests.c ! 3ea19ac20e57dcb3e6213b07a89957fc gcc/ggc.h 14a6dbffee7f53e63f5db225ae19bdda gcc/gimple-builder.c fe776463982ded0d56be76536ca458ab gcc/gimple-builder.h 33cda24a0e46cc4177b621760f46ce2d gcc/gimple-expr.c a026330f3f8e5ac33622b51cdbdf0617 gcc/gimple-expr.h ! e5172a9cb28e9885e4c9e271f7a2b063 gcc/gimple-fold.c 6ca763486e28e598342728afde8faf3d gcc/gimple-fold.h cd8563c27ad3db4bc7c4ea623b39732a gcc/gimple-iterator.c ace1a0d92d6cdd622d3c7bd19303781c gcc/gimple-iterator.h 35c24fecb621723d3515631ac4d34547 gcc/gimple-laddress.c b3fe8f3f4dc718d48211bbda066c6060 gcc/gimple-loop-interchange.cc ! b62f2be3c07988cd994f1dd2a17300cd gcc/gimple-loop-jam.c 0be3abb400bc287133905dc6d8017f05 gcc/gimple-loop-versioning.cc 73229265187e7cfa0d2e677f837a2566 gcc/gimple-low.c 5dbc7b9651cef8ed681c4b5d29fc99ce gcc/gimple-low.h *************** b2ca5aefc1483eac5180b94247ab87f4 gcc/gi *** 5106,5119 **** 8f9800879105df9af7d2e9a0ff7c54af gcc/gimple-ssa-nonnull-compare.c 323b8f0c8a8da97ca9445a2d5c9ddc88 gcc/gimple-ssa-split-paths.c 8df73dc6abf181e8b2177e62880750ff gcc/gimple-ssa-sprintf.c ! a00653ac70a1e3cf4bf2f3a3631dfe70 gcc/gimple-ssa-store-merging.c 8cb08b09a37b794a52d31195a2d7e325 gcc/gimple-ssa-strength-reduction.c 4cc96ae538fa8489e02efccf68c3e316 gcc/gimple-ssa-warn-alloca.c 89f060b6731dca618debd6520665e51a gcc/gimple-ssa-warn-restrict.c be521991258271129d6ae1067a903600 gcc/gimple-ssa-warn-restrict.h d1d4cc5e4729db91a8ac198f69556aa0 gcc/gimple-ssa.h eb6f2fbedeb227c87ce9704d03c767c5 gcc/gimple-streamer-in.c ! 71c116e0c7fcf1b6566795c5d0f81eda gcc/gimple-streamer-out.c 86c2255ddfc5853ac382e47725e99d49 gcc/gimple-streamer.h ad8d59f22ae7e4e0ee115ba801d34a8d gcc/gimple-walk.c 863cec6b5ac71e6fa3185bde3aea5c17 gcc/gimple-walk.h --- 5107,5120 ---- 8f9800879105df9af7d2e9a0ff7c54af gcc/gimple-ssa-nonnull-compare.c 323b8f0c8a8da97ca9445a2d5c9ddc88 gcc/gimple-ssa-split-paths.c 8df73dc6abf181e8b2177e62880750ff gcc/gimple-ssa-sprintf.c ! bab04ee4d3c4b16eb872f659fd40db61 gcc/gimple-ssa-store-merging.c 8cb08b09a37b794a52d31195a2d7e325 gcc/gimple-ssa-strength-reduction.c 4cc96ae538fa8489e02efccf68c3e316 gcc/gimple-ssa-warn-alloca.c 89f060b6731dca618debd6520665e51a gcc/gimple-ssa-warn-restrict.c be521991258271129d6ae1067a903600 gcc/gimple-ssa-warn-restrict.h d1d4cc5e4729db91a8ac198f69556aa0 gcc/gimple-ssa.h eb6f2fbedeb227c87ce9704d03c767c5 gcc/gimple-streamer-in.c ! b697e447c40f98604761f12179797ce2 gcc/gimple-streamer-out.c 86c2255ddfc5853ac382e47725e99d49 gcc/gimple-streamer.h ad8d59f22ae7e4e0ee115ba801d34a8d gcc/gimple-walk.c 863cec6b5ac71e6fa3185bde3aea5c17 gcc/gimple-walk.h *************** efba4f60d77659f0b4e126b3894344af gcc/gi *** 5122,5128 **** 398d13e61baf9570b3ccb3318454180c gcc/gimple.h 49c11f744d31cc41069cc45dbba1bc25 gcc/gimplify-me.c 43fa6e5094c93aad8036a14d8ac60e20 gcc/gimplify-me.h ! ea47d9908de46496016b8481696c38a6 gcc/gimplify.c c6c0510b3e23b740d9a289269fda55b9 gcc/gimplify.h 87ed659d26854a1857ea25b6233dd522 gcc/ginclude/float.h 8840798a3cd9f1606a7a0d1ef178904d gcc/ginclude/iso646.h --- 5123,5129 ---- 398d13e61baf9570b3ccb3318454180c gcc/gimple.h 49c11f744d31cc41069cc45dbba1bc25 gcc/gimplify-me.c 43fa6e5094c93aad8036a14d8ac60e20 gcc/gimplify-me.h ! 65971fdad0032f307a06edca67eed254 gcc/gimplify.c c6c0510b3e23b740d9a289269fda55b9 gcc/gimplify.h 87ed659d26854a1857ea25b6233dd522 gcc/ginclude/float.h 8840798a3cd9f1606a7a0d1ef178904d gcc/ginclude/iso646.h *************** ad51c6dce046c56b6a8e5d6ac922150b gcc/gi *** 5139,5145 **** e7c24451311a3e2059da9b3e5233e549 gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h d1d7a18eab357274c98cfeb68fb7577f gcc/glimits.h ! 4216c4c4943bb86619ef54ba3eca4862 gcc/go/ChangeLog 5dd2a0d1adf4b7075e03ae31c64bfc47 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 4ce687ab1f7ff58da47bb2be300ecad5 gcc/go/config-lang.in --- 5140,5146 ---- e7c24451311a3e2059da9b3e5233e549 gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h d1d7a18eab357274c98cfeb68fb7577f gcc/glimits.h ! 78406b570818daaddaf21888c89411c2 gcc/go/ChangeLog 5dd2a0d1adf4b7075e03ae31c64bfc47 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 4ce687ab1f7ff58da47bb2be300ecad5 gcc/go/config-lang.in *************** d1758aeae7f1e4621d1c96fe8851d37d gcc/go *** 5161,5171 **** c3269a74f526334a0e4733d04fe0bdd2 gcc/go/gofrontend/ast-dump.cc 456b6d4cc785176b6e3eb0c685a93b39 gcc/go/gofrontend/ast-dump.h fff7f59ee6d62aa83c030fbfb78a39ef gcc/go/gofrontend/backend.h ! 264837ead9749c5b5fc15208dda6a15c gcc/go/gofrontend/escape.cc 83bba961b0c49d06a0bd58b0b2b5ed44 gcc/go/gofrontend/escape.h 84db433eb66dba58d069e4b39d8c39b2 gcc/go/gofrontend/export.cc c479642dcaeb57ea0342e5600eb19b3b gcc/go/gofrontend/export.h ! 2e81a28adefe2f98bae490e7dea38620 gcc/go/gofrontend/expressions.cc bc22cdfdfd6c127d82d985a40d6d3ada gcc/go/gofrontend/expressions.h 7d753b8578fa638c2da1c3f27cae2878 gcc/go/gofrontend/go-diagnostics.cc 6018d89190ca6202e5dd86b2f81f6c42 gcc/go/gofrontend/go-diagnostics.h --- 5162,5172 ---- c3269a74f526334a0e4733d04fe0bdd2 gcc/go/gofrontend/ast-dump.cc 456b6d4cc785176b6e3eb0c685a93b39 gcc/go/gofrontend/ast-dump.h fff7f59ee6d62aa83c030fbfb78a39ef gcc/go/gofrontend/backend.h ! 7612f460a79c9399e8dbe72e1909e7ba gcc/go/gofrontend/escape.cc 83bba961b0c49d06a0bd58b0b2b5ed44 gcc/go/gofrontend/escape.h 84db433eb66dba58d069e4b39d8c39b2 gcc/go/gofrontend/export.cc c479642dcaeb57ea0342e5600eb19b3b gcc/go/gofrontend/export.h ! 3309a717880bc523f1810616b63a7d7b gcc/go/gofrontend/expressions.cc bc22cdfdfd6c127d82d985a40d6d3ada gcc/go/gofrontend/expressions.h 7d753b8578fa638c2da1c3f27cae2878 gcc/go/gofrontend/go-diagnostics.cc 6018d89190ca6202e5dd86b2f81f6c42 gcc/go/gofrontend/go-diagnostics.h *************** c5589f3b74975aeac726e28a73808bc2 gcc/in *** 5260,5274 **** f9f3091082e2a53c0a08ba239ff869a0 gcc/insn-addr.h 3df8df5d249ecd076f17ce534ea79e2d gcc/insn-notes.def a0e0a2a007223e1dd7a3e8b7cea9716a gcc/int-vector-builder.h ! 119bf0e60d62d779205aa474ba1b17e5 gcc/internal-fn.c 75ee69a2fd8729e375c99f58063c915b gcc/internal-fn.def c06275d8a3a38cb5832dd5c2c4713066 gcc/internal-fn.h c635ef2f5753617a60869700b05ff304 gcc/intl.c b830ed3141b82cd7d738c9e1625d3877 gcc/intl.h 0343fae56569bff7d0a1987df3ef21de gcc/ipa-comdats.c ! f743ac80b729b12791571090c5009756 gcc/ipa-cp.c 35c3d9a7af7c266bc122e1e19484e526 gcc/ipa-devirt.c ! 27d85bc6a1b157e1e0c56bb8a286ed84 gcc/ipa-fnsummary.c b231d101383c784df13b08fb9d507308 gcc/ipa-fnsummary.h fb40952a6ce3b62999d6ce91032348fd gcc/ipa-hsa.c a249f6431ab72ad0a8a1236e7a387499 gcc/ipa-icf-gimple.c --- 5261,5275 ---- f9f3091082e2a53c0a08ba239ff869a0 gcc/insn-addr.h 3df8df5d249ecd076f17ce534ea79e2d gcc/insn-notes.def a0e0a2a007223e1dd7a3e8b7cea9716a gcc/int-vector-builder.h ! d0cff08d2458dee6b758effcbdabfd6a gcc/internal-fn.c 75ee69a2fd8729e375c99f58063c915b gcc/internal-fn.def c06275d8a3a38cb5832dd5c2c4713066 gcc/internal-fn.h c635ef2f5753617a60869700b05ff304 gcc/intl.c b830ed3141b82cd7d738c9e1625d3877 gcc/intl.h 0343fae56569bff7d0a1987df3ef21de gcc/ipa-comdats.c ! 2884e52eff1df01dd5f09b2dfa19e12a gcc/ipa-cp.c 35c3d9a7af7c266bc122e1e19484e526 gcc/ipa-devirt.c ! 707034fa2339aa0a74196f27400ed261 gcc/ipa-fnsummary.c b231d101383c784df13b08fb9d507308 gcc/ipa-fnsummary.h fb40952a6ce3b62999d6ce91032348fd gcc/ipa-hsa.c a249f6431ab72ad0a8a1236e7a387499 gcc/ipa-icf-gimple.c *************** d9d77a7cd2abda1024391d72afc05523 gcc/ip *** 5285,5293 **** 9b14467404873b3f1bd5e572fff06380 gcc/ipa-predicate.c 9c1b9ec119d95bb6233896468219ee8a gcc/ipa-predicate.h 58244d38b306c53757b03fda86970d4c gcc/ipa-profile.c ! ba313d55ecd421259ec3b5feb9529e88 gcc/ipa-prop.c ! 997e1590df09a9eef8428cb5a3c94142 gcc/ipa-prop.h ! 26bb45708e6ea46f9354a71df86ff7c4 gcc/ipa-pure-const.c 06f8bbdeab3c11c5d2d7790841b3dbbd gcc/ipa-ref.c 6df3ba98ea16de671956223d72a85acf gcc/ipa-ref.h f28dfd8f7308648578d13498523932ca gcc/ipa-reference.c --- 5286,5294 ---- 9b14467404873b3f1bd5e572fff06380 gcc/ipa-predicate.c 9c1b9ec119d95bb6233896468219ee8a gcc/ipa-predicate.h 58244d38b306c53757b03fda86970d4c gcc/ipa-profile.c ! efefc6f65f1e1a90caa77e2f49f25fcb gcc/ipa-prop.c ! c3613620c90b32afce8736fa308aaddf gcc/ipa-prop.h ! 08c163fa101969c638b8529a27b9e3aa gcc/ipa-pure-const.c 06f8bbdeab3c11c5d2d7790841b3dbbd gcc/ipa-ref.c 6df3ba98ea16de671956223d72a85acf gcc/ipa-ref.h f28dfd8f7308648578d13498523932ca gcc/ipa-reference.c *************** febad586f5f08951e042ff075420b59e gcc/ip *** 5304,5313 **** ea527252c54efc9ee4bc0ef5f9891013 gcc/ira-emit.c 8716b9e7c010b096bd10971411be74f7 gcc/ira-int.h ed8837fcbbe053c18350910f4576cc35 gcc/ira-lives.c ! 21ba1ac3d0177f982c0b6d00323ccb2a gcc/ira.c 21568d492259d37083295ba429e5a425 gcc/ira.h 0a247958e75cc3f70045797573fbaccb gcc/is-a.h ! e95045784f50e74b942611ddf09bf53f gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 1679b6e3887d20d9a2efb258aacbd1e3 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst --- 5305,5314 ---- ea527252c54efc9ee4bc0ef5f9891013 gcc/ira-emit.c 8716b9e7c010b096bd10971411be74f7 gcc/ira-int.h ed8837fcbbe053c18350910f4576cc35 gcc/ira-lives.c ! f3b2cd197795cb4eded5edb7473fd30f gcc/ira.c 21568d492259d37083295ba429e5a425 gcc/ira.h 0a247958e75cc3f70045797573fbaccb gcc/is-a.h ! a4fc32ff717babf88c21e3ffca76bbba gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 1679b6e3887d20d9a2efb258aacbd1e3 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst *************** c5ff1afd8ef8c06eabd2c53cf38eab60 gcc/li *** 5405,5411 **** 72abe9b3dd40d4d259761d3bf8216b72 gcc/loop-doloop.c 2c9c1a0c05e2f76a888ece7f4840f586 gcc/loop-init.c fb8c8db615bb18ab2e5f20e258f2bd93 gcc/loop-invariant.c ! 65f4717d8846374ac1715d557bcc0456 gcc/loop-iv.c d724737212c2ad2b43eccdae2ba8f977 gcc/loop-unroll.c a28e34c069154ac89879de0c398e9b52 gcc/loop-unroll.h 95f945a474f39991f905c8b5b5d276e0 gcc/lower-subreg.c --- 5406,5412 ---- 72abe9b3dd40d4d259761d3bf8216b72 gcc/loop-doloop.c 2c9c1a0c05e2f76a888ece7f4840f586 gcc/loop-init.c fb8c8db615bb18ab2e5f20e258f2bd93 gcc/loop-invariant.c ! 0a6cf297e218d147312cb0f5260fc382 gcc/loop-iv.c d724737212c2ad2b43eccdae2ba8f977 gcc/loop-unroll.c a28e34c069154ac89879de0c398e9b52 gcc/loop-unroll.h 95f945a474f39991f905c8b5b5d276e0 gcc/lower-subreg.c *************** e70b9710876d5eed15fb9d1551734b8b gcc/lo *** 5414,5424 **** dd822c2249139084fa9eec7725fd6640 gcc/lra-coalesce.c 5c6154f3ff4b324480e6a19daaee9445 gcc/lra-constraints.c 8aa49d741fd66b1a4aee38db5c7c8c04 gcc/lra-eliminations.c ! 6e437a64e14740ea3c4f6945e15fe244 gcc/lra-int.h 6ec29f03acb8d52afba070d8cf8049f1 gcc/lra-lives.c ! 534f3d6f4b4bb0caee919de8c328dd91 gcc/lra-remat.c ! 263572e53b93de402bd6af479d33058b gcc/lra-spills.c ! 508824a82895ef85edc7a12630452e09 gcc/lra.c cc84e02c30c6bb6802ad8609aad8bf77 gcc/lra.h 75532e07d685525f1f547158e63cee67 gcc/lto-cgraph.c 8684045dd1802aa2812edd98bc4be110 gcc/lto-compress.c --- 5415,5425 ---- dd822c2249139084fa9eec7725fd6640 gcc/lra-coalesce.c 5c6154f3ff4b324480e6a19daaee9445 gcc/lra-constraints.c 8aa49d741fd66b1a4aee38db5c7c8c04 gcc/lra-eliminations.c ! 63ff47f07181e336d5f50b7d2da5a68c gcc/lra-int.h 6ec29f03acb8d52afba070d8cf8049f1 gcc/lra-lives.c ! 44e9ff058cbf966c827659af7ce02164 gcc/lra-remat.c ! 517b55b3c3ad818054fa5eb03f6b7eb1 gcc/lra-spills.c ! a8e08ac945834c02a48294f9daae46ed gcc/lra.c cc84e02c30c6bb6802ad8609aad8bf77 gcc/lra.h 75532e07d685525f1f547158e63cee67 gcc/lto-cgraph.c 8684045dd1802aa2812edd98bc4be110 gcc/lto-compress.c *************** acdf8a24da1fd6341ed7ea7273449ee3 gcc/lt *** 5428,5457 **** df8a9e2718f16387e20d5af9865c5f3a gcc/lto-section-names.h 5a2439f6217d4332366143de5c9684da gcc/lto-section-out.c d6f8bd96ccc5e6dc5482072e99faa69f gcc/lto-streamer-in.c ! 6323cfe5ebcbfa8b635950bc76ef3c61 gcc/lto-streamer-out.c ea9a63d9999a8189268e9406236adac4 gcc/lto-streamer.c ! 9207ea9e45c2c53dfea902ccf027b4f6 gcc/lto-streamer.h ! a54271f7d1d20b8a9ecfa6353758297f gcc/lto-wrapper.c ! 4fb2474c50692951356990b781b2145e gcc/lto/ChangeLog 0a760452464b48ac5e71eae9a072c5be gcc/lto/Make-lang.in 042176bc09ee78dc5382c75e0e6986dd gcc/lto/common.c 610aacfb6af9f3888f48ce742b264326 gcc/lto/common.h c7cf49d993470721532f2a95651dab33 gcc/lto/config-lang.in 98918a8090a22cf3a61ee3f55cb6019b gcc/lto/lang-specs.h 3bbd8781c4fb65124babb8045a01cc57 gcc/lto/lang.opt ! ba968bb94432da4bd8d9d25753a82fe2 gcc/lto/lto-lang.c 5b2364cfad1530335eab73c3261571c2 gcc/lto/lto-object.c ! da72d28d8cc7ec7a1722f0a2f3eadd57 gcc/lto/lto-partition.c ac2ba702756d361307744dcf2df540b9 gcc/lto/lto-partition.h 93911c5f6ed6197a208e7d21355f20a5 gcc/lto/lto-symtab.c dab154e53d81e05bb7e7ceecd27c4875 gcc/lto/lto-symtab.h a930b10ccbbe0cc4e35fa331105e5ac7 gcc/lto/lto-tree.h ! 7567b00374256e50951d61ef44ccee33 gcc/lto/lto.c b77621f7e33a6f67145e9fcb27739ca3 gcc/lto/lto.h cdfc68fbdc83281ea11a0a17fc5fbcd2 gcc/machmode.def 42f23ead782de538c88f82ea71ff3bcb gcc/machmode.h 83dea027e67504ea7b51b60a2bde9d96 gcc/main.c ! 5f0b433dc96843e550d0d5e5b2a655e9 gcc/match.pd 5f6448efeb306cf4b441915ac49b6780 gcc/mcf.c a02e0e109980581b862198eb814afe94 gcc/mem-stats-traits.h 7731938c5855f3d8c75ae87b9f92bd3b gcc/mem-stats.h --- 5429,5458 ---- df8a9e2718f16387e20d5af9865c5f3a gcc/lto-section-names.h 5a2439f6217d4332366143de5c9684da gcc/lto-section-out.c d6f8bd96ccc5e6dc5482072e99faa69f gcc/lto-streamer-in.c ! edd2591e77259d4572bc5fa52c01965c gcc/lto-streamer-out.c ea9a63d9999a8189268e9406236adac4 gcc/lto-streamer.c ! 4d3cfd5139b6d308c5cfbf0fdedcd99d gcc/lto-streamer.h ! 0f40444884c9a80859fdad361d718132 gcc/lto-wrapper.c ! 4d630d4b4cfe060cce9723000767c000 gcc/lto/ChangeLog 0a760452464b48ac5e71eae9a072c5be gcc/lto/Make-lang.in 042176bc09ee78dc5382c75e0e6986dd gcc/lto/common.c 610aacfb6af9f3888f48ce742b264326 gcc/lto/common.h c7cf49d993470721532f2a95651dab33 gcc/lto/config-lang.in 98918a8090a22cf3a61ee3f55cb6019b gcc/lto/lang-specs.h 3bbd8781c4fb65124babb8045a01cc57 gcc/lto/lang.opt ! 7764070f258ec6eb029cc2f7620bb34b gcc/lto/lto-lang.c 5b2364cfad1530335eab73c3261571c2 gcc/lto/lto-object.c ! a8f131da69b18832e7c1d8e3d3a55a2a gcc/lto/lto-partition.c ac2ba702756d361307744dcf2df540b9 gcc/lto/lto-partition.h 93911c5f6ed6197a208e7d21355f20a5 gcc/lto/lto-symtab.c dab154e53d81e05bb7e7ceecd27c4875 gcc/lto/lto-symtab.h a930b10ccbbe0cc4e35fa331105e5ac7 gcc/lto/lto-tree.h ! fa3bc150cbfddea2229d9f1670b828c7 gcc/lto/lto.c b77621f7e33a6f67145e9fcb27739ca3 gcc/lto/lto.h cdfc68fbdc83281ea11a0a17fc5fbcd2 gcc/machmode.def 42f23ead782de538c88f82ea71ff3bcb gcc/machmode.h 83dea027e67504ea7b51b60a2bde9d96 gcc/main.c ! 137ff4572cf9d7328af713e44a82d05b gcc/match.pd 5f6448efeb306cf4b441915ac49b6780 gcc/mcf.c a02e0e109980581b862198eb814afe94 gcc/mem-stats-traits.h 7731938c5855f3d8c75ae87b9f92bd3b gcc/mem-stats.h *************** a02e0e109980581b862198eb814afe94 gcc/me *** 5461,5469 **** cf3b5b2df4c991b681af33a0072d4c3a gcc/mkconfig.sh b430985133bbb2d1156515bc5d847196 gcc/mode-classes.def 350e71f020af88666db17c55c0e66deb gcc/mode-switching.c ! 42c292d245051f216e5e48a4038797e8 gcc/modulo-sched.c 18252d174482fac7521ebbc9f6298f98 gcc/multiple_target.c ! 931d6bf01ec2d65acd4742f5733cc511 gcc/objc/ChangeLog b957c220c88ba0f2c8f46365b3df098b gcc/objc/Make-lang.in 4aa09aa70d19e60b57528c684006bc78 gcc/objc/config-lang.in ad9e39ae0889f63088c011098dccdae7 gcc/objc/lang-specs.h --- 5462,5470 ---- cf3b5b2df4c991b681af33a0072d4c3a gcc/mkconfig.sh b430985133bbb2d1156515bc5d847196 gcc/mode-classes.def 350e71f020af88666db17c55c0e66deb gcc/mode-switching.c ! 17a38e7676b9c03d5d5af38106cd9ed0 gcc/modulo-sched.c 18252d174482fac7521ebbc9f6298f98 gcc/multiple_target.c ! 0aaccf9c5357e49948443705cff7b2e2 gcc/objc/ChangeLog b957c220c88ba0f2c8f46365b3df098b gcc/objc/Make-lang.in 4aa09aa70d19e60b57528c684006bc78 gcc/objc/config-lang.in ad9e39ae0889f63088c011098dccdae7 gcc/objc/lang-specs.h *************** e13ac2417502f1cd325cac908a8d96c7 gcc/ob *** 5482,5488 **** 7637bb49949015bd1a96412472d6ad33 gcc/objc/objc-runtime-shared-support.c b88d8dbb459057d08e2bfc6795c2b9d6 gcc/objc/objc-runtime-shared-support.h 42012b7a1bcce69478d76aba894ea6df gcc/objc/objc-tree.def ! 9230a5733f6486605d1286296fd32e6e gcc/objcp/ChangeLog 002dccc4b6cd904aa07783ad3dd26389 gcc/objcp/Make-lang.in db38d8ce3bed5cb418fb15b88c359f1c gcc/objcp/config-lang.in e9142f765d98bd6847a7b01f531db273 gcc/objcp/lang-specs.h --- 5483,5489 ---- 7637bb49949015bd1a96412472d6ad33 gcc/objc/objc-runtime-shared-support.c b88d8dbb459057d08e2bfc6795c2b9d6 gcc/objc/objc-runtime-shared-support.h 42012b7a1bcce69478d76aba894ea6df gcc/objc/objc-tree.def ! 3c75361a2d7e5e6187ec993b9edd5ffb gcc/objcp/ChangeLog 002dccc4b6cd904aa07783ad3dd26389 gcc/objcp/Make-lang.in db38d8ce3bed5cb418fb15b88c359f1c gcc/objcp/config-lang.in e9142f765d98bd6847a7b01f531db273 gcc/objcp/lang-specs.h *************** b65ed3137a00381ad36ae192973acb35 gcc/om *** 5496,5506 **** 9285a8a3012098d97afbd4fd2fc0b5fc gcc/omp-general.h e7005cd6099db0d8379847938d5a9e89 gcc/omp-grid.c 88e0dbc1543f1cc02dd20c216f6c5c31 gcc/omp-grid.h ! 316ac21e7ec9a0a4793aaf7e4fa74ad9 gcc/omp-low.c 4f601bdff79f47d83afecc62c35cd8f8 gcc/omp-low.h 54d52698b257f43dc3f27efdd506978d gcc/omp-offload.c 2ff7e715ed89e1f7eb89bf9b4c9ca0a8 gcc/omp-offload.h ! dc36aa32f2923e01dea7654e372e7df6 gcc/omp-simd-clone.c bfadc77c96d490b5dd71d56b5915ce5a gcc/omp-simd-clone.h 56d376b6797d41359a0a648e6ad4d749 gcc/opt-functions.awk e07ab43d79870eb99e81687a425deb95 gcc/opt-gather.awk --- 5497,5507 ---- 9285a8a3012098d97afbd4fd2fc0b5fc gcc/omp-general.h e7005cd6099db0d8379847938d5a9e89 gcc/omp-grid.c 88e0dbc1543f1cc02dd20c216f6c5c31 gcc/omp-grid.h ! 15e8122ba93ed0158781dcf802410079 gcc/omp-low.c 4f601bdff79f47d83afecc62c35cd8f8 gcc/omp-low.h 54d52698b257f43dc3f27efdd506978d gcc/omp-offload.c 2ff7e715ed89e1f7eb89bf9b4c9ca0a8 gcc/omp-offload.h ! 5bac72104152f80b5b134731109bae04 gcc/omp-simd-clone.c bfadc77c96d490b5dd71d56b5915ce5a gcc/omp-simd-clone.h 56d376b6797d41359a0a648e6ad4d749 gcc/opt-functions.awk e07ab43d79870eb99e81687a425deb95 gcc/opt-gather.awk *************** f3e5c1cb5ee8a02c7e2e8209fc88ea85 gcc/op *** 5516,5526 **** bdbea9e383b4076066877aa71c0d2366 gcc/optabs-query.h 8fa4dc0fa0f578eb4ffc2bb60627e398 gcc/optabs-tree.c 30ee144bf56333a1b32b9b029f482a17 gcc/optabs-tree.h ! 6a534c0e2083be7414035180f6dee87e gcc/optabs.c 94f76f231bdbccb14b8cf51635f911e5 gcc/optabs.def 9f4c21163802095802ef777001a49154 gcc/optabs.h 614293f5f23a24a7e0343e82abb193b6 gcc/optc-gen.awk ! 9985cee5d5188e43caf5c6dd6fbfff46 gcc/optc-save-gen.awk 423f11829cf639db6e92252a4d399d16 gcc/opth-gen.awk c064e96c835e59fb275bd8f11f1749a3 gcc/optinfo-emit-json.cc 83c1b1e973536d335274f767d27af618 gcc/optinfo-emit-json.h --- 5517,5527 ---- bdbea9e383b4076066877aa71c0d2366 gcc/optabs-query.h 8fa4dc0fa0f578eb4ffc2bb60627e398 gcc/optabs-tree.c 30ee144bf56333a1b32b9b029f482a17 gcc/optabs-tree.h ! e38484ec4e88767c8f7dd831ed66c19b gcc/optabs.c 94f76f231bdbccb14b8cf51635f911e5 gcc/optabs.def 9f4c21163802095802ef777001a49154 gcc/optabs.h 614293f5f23a24a7e0343e82abb193b6 gcc/optc-gen.awk ! 155d43f460df5da430f3b6a33ea594cd gcc/optc-save-gen.awk 423f11829cf639db6e92252a4d399d16 gcc/opth-gen.awk c064e96c835e59fb275bd8f11f1749a3 gcc/optinfo-emit-json.cc 83c1b1e973536d335274f767d27af618 gcc/optinfo-emit-json.h *************** be3b6f71c158bf3820c911da4adb4695 gcc/op *** 5531,5550 **** 9a2e4a22baa5ddf9aebf347b8f781ce0 gcc/opts-global.c a8983698f217409632b4851b48c5934f gcc/opts.c e9cb364a9a9d8629fac7a9125a55ed1e gcc/opts.h ! 5eb6dc6d38c45a56a688a5f60c22a992 gcc/output.h 350384e6d18600926b1e8063e63d4fe3 gcc/params-enum.h d243929a3c5e1ac544db7839c23b33c6 gcc/params-list.h 310365bd14ae461ae8fba864926aaccb gcc/params-options.h eb3ce0191066addb6f78953fe80b843b gcc/params.c ! 194b8553e13b0a43f0ff79d61652596c gcc/params.def 7108fb7589804e17e8d9b22c6433b592 gcc/params.h f879f40369fe5cc37da2c38955f4c6fd gcc/pass_manager.h ! d6715df9960d1c9fb85d9e6f0b32cca0 gcc/passes.c ! 62478a13a0a53d37e2e9484d9c63325e gcc/passes.def fd818d3d720bafdfaa7770d5fac2d3a0 gcc/plugin.c 1fa9106368c8f95cc930e11b6a3ce4b6 gcc/plugin.def 50ec79e5308c5537ef9876bdb3e3e9bb gcc/plugin.h ! 285ce98498f7324f9e75782a653d5657 gcc/po/ChangeLog 39305724bd042920259dbe00350f65c4 gcc/po/EXCLUDES 7bd3573799f04ef22e9bd587c84913b9 gcc/po/be.gmo f2d4ebc53db42a57d238129bb7b17720 gcc/po/be.po --- 5532,5551 ---- 9a2e4a22baa5ddf9aebf347b8f781ce0 gcc/opts-global.c a8983698f217409632b4851b48c5934f gcc/opts.c e9cb364a9a9d8629fac7a9125a55ed1e gcc/opts.h ! 3b661229fafb8807c43faa08e46861d8 gcc/output.h 350384e6d18600926b1e8063e63d4fe3 gcc/params-enum.h d243929a3c5e1ac544db7839c23b33c6 gcc/params-list.h 310365bd14ae461ae8fba864926aaccb gcc/params-options.h eb3ce0191066addb6f78953fe80b843b gcc/params.c ! f84135f8229983d59483fc0b0bf5df36 gcc/params.def 7108fb7589804e17e8d9b22c6433b592 gcc/params.h f879f40369fe5cc37da2c38955f4c6fd gcc/pass_manager.h ! 650560c2a4802a5511e11f3bb52cc2f9 gcc/passes.c ! 17a2ec9ff7dd59f80eb7409bb8e992a4 gcc/passes.def fd818d3d720bafdfaa7770d5fac2d3a0 gcc/plugin.c 1fa9106368c8f95cc930e11b6a3ce4b6 gcc/plugin.def 50ec79e5308c5537ef9876bdb3e3e9bb gcc/plugin.h ! 90a28d2c434005a23b1263e5537bcb9a gcc/po/ChangeLog 39305724bd042920259dbe00350f65c4 gcc/po/EXCLUDES 7bd3573799f04ef22e9bd587c84913b9 gcc/po/be.gmo f2d4ebc53db42a57d238129bb7b17720 gcc/po/be.po *************** d0a67c2f5d57884d37977c477b5db243 gcc/po *** 5554,5564 **** da55996f2e07e71b19a21da8fc5f2d4f gcc/po/de.po abe042604f7a68b1a09a4e6a868fd381 gcc/po/el.gmo 20955c7240fcc00f705d0ec1051f5b3f gcc/po/el.po ! 4677ee6705d91013a02ac58830845ac2 gcc/po/es.gmo ! e413acd9330ac965fe2d01ce6adde133 gcc/po/es.po 08adf139e1661f359188a1aaf89c8fbc gcc/po/exgettext ! 3e2c0904249e96a02959b87d9685bbd9 gcc/po/fi.gmo ! 97cb9e5d0c414a0843b79b37d650548e gcc/po/fi.po 487f7d68797576ad7e4bf4ba04405771 gcc/po/fr.gmo 512fea5846a0ce2a5d5593520064bee9 gcc/po/fr.po 4bd456b7e0757217b349566b9fae162e gcc/po/gcc.pot --- 5555,5565 ---- da55996f2e07e71b19a21da8fc5f2d4f gcc/po/de.po abe042604f7a68b1a09a4e6a868fd381 gcc/po/el.gmo 20955c7240fcc00f705d0ec1051f5b3f gcc/po/el.po ! a42b4c86fa39ea56b211965972b6284e gcc/po/es.gmo ! 42b8ee4556a745865c26c7fb3ff394d0 gcc/po/es.po 08adf139e1661f359188a1aaf89c8fbc gcc/po/exgettext ! fdf307baa75212fdebf9849d572c571a gcc/po/fi.gmo ! a4125083673cd1780c5806c6f6c18a5e gcc/po/fi.po 487f7d68797576ad7e4bf4ba04405771 gcc/po/fr.gmo 512fea5846a0ce2a5d5593520064bee9 gcc/po/fr.po 4bd456b7e0757217b349566b9fae162e gcc/po/gcc.pot *************** be3d4469c6e21a670c49e44f9f41da51 gcc/po *** 5582,5596 **** 432725e3b5fd8d81799ac862e45babfd gcc/po/uk.po 165a6ea389fb7564dc64feefee18342e gcc/po/vi.gmo fd96fcdae21faada9c8047fdad24b993 gcc/po/vi.po ! 959ec2f0ac3424c32e093aeba4fb87cf gcc/po/zh_CN.gmo ! d11985ddd0e44c02c18a55164da4812c gcc/po/zh_CN.po ! cfc68405fa1812edfa2940e020e261e7 gcc/po/zh_TW.gmo ! 6c08adf73a8095d168367569d665d404 gcc/po/zh_TW.po ad86c1bfe24cb32827b77775fd35546f gcc/poly-int-types.h d5467f59438148d3b13fb0178c550edf gcc/poly-int.h 9032d5ee79e4d028077dd971f5715f6c gcc/postreload-gcse.c ! eb499d719ccf9124b3156c2b37a08e5a gcc/postreload.c ! 91e908ea6cffb7e1638dae8361cef6b6 gcc/predict.c 6bf5877a67029100f11e365a656b24aa gcc/predict.def 44796e54633c0744208ffe45ab70eb83 gcc/predict.h 54d7846aa4d8f728b29c1e048ce71010 gcc/prefix.c --- 5583,5597 ---- 432725e3b5fd8d81799ac862e45babfd gcc/po/uk.po 165a6ea389fb7564dc64feefee18342e gcc/po/vi.gmo fd96fcdae21faada9c8047fdad24b993 gcc/po/vi.po ! 021d42c7a491fc675771bb70eb1c6e0f gcc/po/zh_CN.gmo ! d16e646b371dc72cdd50c957bf9d7fe0 gcc/po/zh_CN.po ! c11b085bf19b67c569198ff1b9cba7a8 gcc/po/zh_TW.gmo ! d85ee44015fcdd800453bc303206ab77 gcc/po/zh_TW.po ad86c1bfe24cb32827b77775fd35546f gcc/poly-int-types.h d5467f59438148d3b13fb0178c550edf gcc/poly-int.h 9032d5ee79e4d028077dd971f5715f6c gcc/postreload-gcse.c ! cb7f4a771b98b52771b66b9ba0095840 gcc/postreload.c ! e6f40aa26c4435aee2c1e65dc81ce000 gcc/predict.c 6bf5877a67029100f11e365a656b24aa gcc/predict.def 44796e54633c0744208ffe45ab70eb83 gcc/predict.h 54d7846aa4d8f728b29c1e048ce71010 gcc/prefix.c *************** c6a44d1349aeae141614121cf075aa55 gcc/rt *** 5641,5647 **** 92b144947611b826c727606492b698da gcc/rtl.c d70cb572ec724d7b4e800b88244efbf7 gcc/rtl.def 4b787cfe02855d4f61cb81005d41d416 gcc/rtl.h ! 202d7c83bc14718f184783c24d9e15ff gcc/rtlanal.c f97ec81129637f5d13ca2acd3fd5202a gcc/rtlhash.c ecbc8bfac976a6bd25063b78bba2879c gcc/rtlhash.h 9884afdd2241d135f7ed89224fb9d084 gcc/rtlhooks-def.h --- 5642,5648 ---- 92b144947611b826c727606492b698da gcc/rtl.c d70cb572ec724d7b4e800b88244efbf7 gcc/rtl.def 4b787cfe02855d4f61cb81005d41d416 gcc/rtl.h ! d8cc390bdfafb77038543f58bc36622d gcc/rtlanal.c f97ec81129637f5d13ca2acd3fd5202a gcc/rtlhash.c ecbc8bfac976a6bd25063b78bba2879c gcc/rtlhash.h 9884afdd2241d135f7ed89224fb9d084 gcc/rtlhooks-def.h *************** d825a21933c1853d88a071327098d0f2 gcc/ru *** 5652,5658 **** e1d2af9464c17f7bcf896aa0e45fd34b gcc/run-rtl-passes.h 449ccadd4fd1ac277ce3202af1490859 gcc/sancov.c df98f11d34f35725432f5dd6eed11474 gcc/sanitizer.def ! 4f7398407786e7244b52bd6ee911cd6c gcc/sanopt.c 07ef0b44ae16fe3a81739ae8f07bd5c5 gcc/sbitmap.c 9e44430c2ddfd5729d692cb6068a7051 gcc/sbitmap.h e3a879745a5769167f35ae991123e645 gcc/sched-deps.c --- 5653,5659 ---- e1d2af9464c17f7bcf896aa0e45fd34b gcc/run-rtl-passes.h 449ccadd4fd1ac277ce3202af1490859 gcc/sancov.c df98f11d34f35725432f5dd6eed11474 gcc/sanitizer.def ! a26b81c8f94625f2c1501a97cfa89f31 gcc/sanopt.c 07ef0b44ae16fe3a81739ae8f07bd5c5 gcc/sbitmap.c 9e44430c2ddfd5729d692cb6068a7051 gcc/sbitmap.h e3a879745a5769167f35ae991123e645 gcc/sched-deps.c *************** f0ba61386fb01cb549bc4d62070c58ab gcc/se *** 5663,5669 **** a4b6d065604126e8775ece10a02efd3c gcc/sel-sched-dump.h 382ac8f74528f4dbbaacf749d7af1a42 gcc/sel-sched-ir.c de93ca3bc51ca692204d8732812b389e gcc/sel-sched-ir.h ! b3bf8c865db5e8c5c8cbfabff9d74ca3 gcc/sel-sched.c 63ec1c26c1a4af8a569e6c594abb3a7b gcc/sel-sched.h f14554713c7a2f2a3131578e773d80f1 gcc/selftest-diagnostic.c b2f845a8d8f2d8ef533e354cd9722311 gcc/selftest-diagnostic.h --- 5664,5670 ---- a4b6d065604126e8775ece10a02efd3c gcc/sel-sched-dump.h 382ac8f74528f4dbbaacf749d7af1a42 gcc/sel-sched-ir.c de93ca3bc51ca692204d8732812b389e gcc/sel-sched-ir.h ! fdb073050722e76dcf10f1ca79def04c gcc/sel-sched.c 63ec1c26c1a4af8a569e6c594abb3a7b gcc/sel-sched.h f14554713c7a2f2a3131578e773d80f1 gcc/selftest-diagnostic.c b2f845a8d8f2d8ef533e354cd9722311 gcc/selftest-diagnostic.h *************** d9b5de9e30b15fdbd08609cf2e39209a gcc/se *** 5677,5683 **** 88df3f18741b5fdf93aaa86a13befaa2 gcc/shrink-wrap.c b2a402431491d372c33413979b082d77 gcc/shrink-wrap.h 8d948238415629a6f139ae806b313f57 gcc/signop.h ! 8fb9345d0eb3b9fa7374beb9adaab60b gcc/simplify-rtx.c eb00da521c8348357cfd5906c8b9fccd gcc/sort.cc e9414aa7962c60effa1170005b9e7e22 gcc/sparseset.c 696e61b88adf33a2a96f076d62592208 gcc/sparseset.h --- 5678,5684 ---- 88df3f18741b5fdf93aaa86a13befaa2 gcc/shrink-wrap.c b2a402431491d372c33413979b082d77 gcc/shrink-wrap.h 8d948238415629a6f139ae806b313f57 gcc/signop.h ! 138fbd29d6f79a6f3cd98acb15f99a50 gcc/simplify-rtx.c eb00da521c8348357cfd5906c8b9fccd gcc/sort.cc e9414aa7962c60effa1170005b9e7e22 gcc/sparseset.c 696e61b88adf33a2a96f076d62592208 gcc/sparseset.h *************** c9623b4d60f21a9ef0b3cf7fa5e7aed9 gcc/st *** 5704,5711 **** b6b3aeb60d16390e93625c615587d0e8 gcc/stringpool.h b52c12c3a38a901b9cbae8b02f5cf575 gcc/substring-locations.c 6d4def6f754fcda7464974d99e9c467a gcc/substring-locations.h ! e460b8b27ff44fec721fdf67b14c67de gcc/symbol-summary.h ! 169132398ec7b84e187b60935d7fc7d5 gcc/symtab.c 0bbf086100e92c55a6fe2bc1f67b06a3 gcc/sync-builtins.def 4598ecf989b8e92ce32a3121d3981925 gcc/system.h 085e06baadf50bdc4a76b93e8da11ce7 gcc/target-def.h --- 5705,5712 ---- b6b3aeb60d16390e93625c615587d0e8 gcc/stringpool.h b52c12c3a38a901b9cbae8b02f5cf575 gcc/substring-locations.c 6d4def6f754fcda7464974d99e9c467a gcc/substring-locations.h ! de8ac0ae6b6ce34ed98aaf046b75a29b gcc/symbol-summary.h ! 828a28ba673b81047e6ca65a601f015b gcc/symtab.c 0bbf086100e92c55a6fe2bc1f67b06a3 gcc/sync-builtins.def 4598ecf989b8e92ce32a3121d3981925 gcc/system.h 085e06baadf50bdc4a76b93e8da11ce7 gcc/target-def.h *************** b4c473a1ecc1bdecb2b76701e7db2735 gcc/ta *** 5718,5724 **** a1af69db4365630ea2e0d96f5e440141 gcc/targhooks.c 4ceeff51ef3de31e77e7a727a0363a37 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! 54f1bde29cb8896d9dd5efa8d6039ec8 gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 --- 5719,5725 ---- a1af69db4365630ea2e0d96f5e440141 gcc/targhooks.c 4ceeff51ef3de31e77e7a727a0363a37 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! ca3ef2b8cdb1bb465174b79baca7c83b gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 *************** f79bc4a80b6890a56ed93a450311aa3f gcc/te *** 8529,8534 **** --- 8530,8536 ---- 80c4ecb8009d5febfdba9eeaee769526 gcc/testsuite/c-c++-common/Wunused-var-14.c 4cf8b02a3b864706401fd6b605f0f57f gcc/testsuite/c-c++-common/Wunused-var-15.c 9836c6883123f86042f04422818c01ae gcc/testsuite/c-c++-common/Wunused-var-16.c + f7cf252f8fb24838c4491a1b681216d3 gcc/testsuite/c-c++-common/Wunused-var-17.c 5f69d6398e9b0fc829351a16f994916d gcc/testsuite/c-c++-common/Wunused-var-2.c 8504217c544401c14012c8e1a1c18970 gcc/testsuite/c-c++-common/Wunused-var-3.c 43839f1fa5726ea0a0d6e063d7980642 gcc/testsuite/c-c++-common/Wunused-var-4.c *************** f79bc4a80b6890a56ed93a450311aa3f gcc/te *** 8540,8545 **** --- 8542,8548 ---- a50d762e53776af1cdd4faaa0f858285 gcc/testsuite/c-c++-common/Wvarargs-2.c f86e3374bdfa46067438564a7eae6a71 gcc/testsuite/c-c++-common/Wvarargs.c e104bcfe21abe9fcad2b191ce9dee6c6 gcc/testsuite/c-c++-common/addrtmp.c + f39ce0b617da5fc9aba69733615ee0de gcc/testsuite/c-c++-common/array-1.c 15b241020a9a5497396b58539b2405ba gcc/testsuite/c-c++-common/array-5.c 9073937bc2452a6045dd4f3c9bc2ce80 gcc/testsuite/c-c++-common/array-6.c b4d1bdfe48ad2f46a924717e65159b86 gcc/testsuite/c-c++-common/array-init.c *************** ccfd13cce4ab8791afda954376d1c8cf gcc/te *** 8696,8701 **** --- 8699,8705 ---- ef95b2391ac4310fde10257ba4f7463b gcc/testsuite/c-c++-common/builtin-shuffle-1.c 3a349fcc5db93dcaf44a93c32735f04a gcc/testsuite/c-c++-common/builtin_location.c 2341b1258f7e71f5aeb2fc1ac6a17b27 gcc/testsuite/c-c++-common/builtins.c + a15893a996b14e9ab79c08a9d37157ee gcc/testsuite/c-c++-common/cold-1.c fc20dcb635dd1e825303cc47593a9155 gcc/testsuite/c-c++-common/conflict-markers-1.c c2ffea9f8039ad1708c1c073f6b3b25a gcc/testsuite/c-c++-common/conflict-markers-10.c c83e3d1d9dca930d44de5fee29a51bbb gcc/testsuite/c-c++-common/conflict-markers-11.c *************** c85025f0def783f70f9bb6a4ea9a23f3 gcc/te *** 8732,8737 **** --- 8736,8743 ---- a72a693524249dca84528ebc132082b5 gcc/testsuite/c-c++-common/cpp/pr63831-2.c fc6312863e2a09e397690651369f617d gcc/testsuite/c-c++-common/cpp/pr65238-1.c f09773d2f7d23b50a4dac013615f3aaa gcc/testsuite/c-c++-common/cpp/pr88974.c + df43df705a8397d72a82fe6d91e8ec64 gcc/testsuite/c-c++-common/cpp/pr92296-1.c + dde08a560ecf3f1c0944037da04f2048 gcc/testsuite/c-c++-common/cpp/pr92296-2.c 791d43cbbb9115404405c22be44e4ae7 gcc/testsuite/c-c++-common/cpp/ucnid-2011-1.c 0f93514d0ad79c03edfd672fb354e619 gcc/testsuite/c-c++-common/cpp/va-opt-2.c d4400c02e16c9ce8399bebed26d20e37 gcc/testsuite/c-c++-common/cpp/va-opt-3.c *************** f518663bb6d3fa214257a2306172d690 gcc/te *** 9139,9146 **** --- 9145,9160 ---- fb9e5ede5d43a206c572fa77be49ff02 gcc/testsuite/c-c++-common/gomp/pr85696.c 5a052f00b5f1b3e9b85f4ae57c40cd3f gcc/testsuite/c-c++-common/gomp/pr85956.c 62a0e309912895235f385cc84af32654 gcc/testsuite/c-c++-common/gomp/pr86025.c + 87ee1aaaafc85753df32bcb01994259d gcc/testsuite/c-c++-common/gomp/pr88203-1.c + 1f30700143a21b49cf9723cf4b9afff4 gcc/testsuite/c-c++-common/gomp/pr88203-2.c + e083342c345fbf82eb1bd2fc11805647 gcc/testsuite/c-c++-common/gomp/pr88203-3.c 0e989c3d25d634c553662814c966233e gcc/testsuite/c-c++-common/gomp/pr88588.c 61ca8b866c491c9064a5bbfddd90f421 gcc/testsuite/c-c++-common/gomp/pr90954.c + 819ef14711cd571111df09cc81f8d206 gcc/testsuite/c-c++-common/gomp/pr91401-1.c + b5b3167776d67985ba91daaee41243de gcc/testsuite/c-c++-common/gomp/pr91401-2.c + e4152974615471671fa0299b4121889f gcc/testsuite/c-c++-common/gomp/pr91920.c + bfdfa56ffe2ff48534494fc41ae0f4d1 gcc/testsuite/c-c++-common/gomp/pr93555-1.c + b31fd83ffcebdfef84e1d323888e9a76 gcc/testsuite/c-c++-common/gomp/pr93555-2.c 5d522e2f1f7455bc45f6c1f230d5a5b0 gcc/testsuite/c-c++-common/gomp/priority-1.c 1dc7bbbafb91e179ac43fa3959ab125f gcc/testsuite/c-c++-common/gomp/reduction-1.c 857f55ab743945a521e3287d1b905b4b gcc/testsuite/c-c++-common/gomp/reduction-task-1.c *************** ee387176acb2650d09f446c7722b79b9 gcc/te *** 9370,9375 **** --- 9384,9390 ---- 331f0a8981efa3c9d46048548df29cb7 gcc/testsuite/c-c++-common/pr83059.c bd3f72430a07d0b5e231d78def646e60 gcc/testsuite/c-c++-common/pr84293.c 0addab8483a2751fe42aeb39bb3e48eb gcc/testsuite/c-c++-common/pr84293.h + 2d96e1440882ef4cd93d76271dcc4b77 gcc/testsuite/c-c++-common/pr84305.c 9dba97555bca18ab93f6efcd421e0a52 gcc/testsuite/c-c++-common/pr84873.c 2ba643064634a79819ce4effedd1fdd3 gcc/testsuite/c-c++-common/pr84982.c 2f717264a94f69b645aabceb21aa58e5 gcc/testsuite/c-c++-common/pr84999.c *************** e1c6090860137d89e82f5f3641323830 gcc/te *** 9385,9390 **** --- 9400,9407 ---- 39e1e4487b61521edeb410a0c9d9958b gcc/testsuite/c-c++-common/pr89946.c 75e121868c2f5a95ffbb0bf6c3de0a20 gcc/testsuite/c-c++-common/pr89985.c 6b55a407d08d3d9c405be8cf45164944 gcc/testsuite/c-c++-common/pr90108.c + 8fd647f51d930e760ae749a56cb10ac5 gcc/testsuite/c-c++-common/pr90677-2.c + d42df05e7fed418c382335210d53f9b8 gcc/testsuite/c-c++-common/pr90677.c b0ba836310044e7b419ef679f0b48d6f gcc/testsuite/c-c++-common/raw-string-1.c 554e7071d2525351de28445762633866 gcc/testsuite/c-c++-common/raw-string-10.c fc54e7227094f307fa566b3a8cd0ba9a gcc/testsuite/c-c++-common/raw-string-11.c *************** cd207cce9213418d57092b0421db04a0 gcc/te *** 10075,10080 **** --- 10092,10098 ---- 09d5c0b39937ef8fcdbd59cc1b8a35f3 gcc/testsuite/g++.dg/abi/mangle70.C bdb7d5e9e8b96f820db6f1caaf850dfc gcc/testsuite/g++.dg/abi/mangle71.C d8f9a5b68d809aa87d02fa7068210f81 gcc/testsuite/g++.dg/abi/mangle72.C + b3ecb552fa1904358ec43eadbf16a954 gcc/testsuite/g++.dg/abi/mangle73.C cc6afae4c242d6e5a9083cec1a9a9907 gcc/testsuite/g++.dg/abi/mangle8.C 7e14b0353ae53e5a5a8bcf850c4fcbc9 gcc/testsuite/g++.dg/abi/mangle9.C d85264fae2b4c2eb4d8629cb29c42e90 gcc/testsuite/g++.dg/abi/no-linkage-expr1.C *************** aaab0b483d6b43b9fb8facfcf01ac3b3 gcc/te *** 10161,10167 **** 573f81866bae96b4c422317d9f9f630c gcc/testsuite/g++.dg/asan/asan_mem_test.cc ae18505cf8bcf60c7595916e5c13ca68 gcc/testsuite/g++.dg/asan/asan_oob_test.cc a21e7d58f33bd86c0ccf7a0bac1f06bf gcc/testsuite/g++.dg/asan/asan_str_test.cc ! 53d7db0db315b5324f6dc211cb85a394 gcc/testsuite/g++.dg/asan/asan_test.C 0fcc90e0914494e1fd2869f9e48e49da gcc/testsuite/g++.dg/asan/asan_test.cc 7b5f694f7ad9cbae4aab558727eaceaf gcc/testsuite/g++.dg/asan/asan_test_config.h 6398e6ad4dd068bfb5be8cc034d1ade0 gcc/testsuite/g++.dg/asan/asan_test_utils.h --- 10179,10185 ---- 573f81866bae96b4c422317d9f9f630c gcc/testsuite/g++.dg/asan/asan_mem_test.cc ae18505cf8bcf60c7595916e5c13ca68 gcc/testsuite/g++.dg/asan/asan_oob_test.cc a21e7d58f33bd86c0ccf7a0bac1f06bf gcc/testsuite/g++.dg/asan/asan_str_test.cc ! 54d2e71b6a6e865e3e7d792985d5931f gcc/testsuite/g++.dg/asan/asan_test.C 0fcc90e0914494e1fd2869f9e48e49da gcc/testsuite/g++.dg/asan/asan_test.cc 7b5f694f7ad9cbae4aab558727eaceaf gcc/testsuite/g++.dg/asan/asan_test_config.h 6398e6ad4dd068bfb5be8cc034d1ade0 gcc/testsuite/g++.dg/asan/asan_test_utils.h *************** f04d73b864d3202dc37ea73ff82f16e3 gcc/te *** 10408,10413 **** --- 10426,10432 ---- 692499c2560134265269b5877c68e133 gcc/testsuite/g++.dg/concepts/class4.C ba3d4854575b45fcffb3c72905ea4efe gcc/testsuite/g++.dg/concepts/class5.C 56a0b73845900d5520e98b230547b786 gcc/testsuite/g++.dg/concepts/class6.C + 5d73f9f5854ca135d48d8f7317f70a59 gcc/testsuite/g++.dg/concepts/concepts-pr88395.C 5abd397f0f456d35458ca2dd797a76f8 gcc/testsuite/g++.dg/concepts/constrained-parm.C 30fee39c3a76fce58fe9f1d338074484 gcc/testsuite/g++.dg/concepts/debug1.C b82ee52925dd16c12bbc02a6a83e9325 gcc/testsuite/g++.dg/concepts/decl-diagnose.C *************** abda548f6cf197b5d004afe0b4fa5557 gcc/te *** 10627,10632 **** --- 10646,10652 ---- 4e8fb17c4bf742706cf3cdf77d845ed9 gcc/testsuite/g++.dg/conversion/op4.C c0f35a8e0a449b69b0039186b48a3942 gcc/testsuite/g++.dg/conversion/op5.C 4abc5f18f6f8a1f4d436b8a6b3150df3 gcc/testsuite/g++.dg/conversion/op6.C + 5c78730bf80025f457f190a83a71fc4e gcc/testsuite/g++.dg/conversion/packed2.C 9b3ae1f3e79f50fca27a3e00a91d2baa gcc/testsuite/g++.dg/conversion/pr16333.C 519c18e7a304cfef222dd6fb78722c0d gcc/testsuite/g++.dg/conversion/pr41426.C 57621b2c950d1c44fdcadc7ab14ae9ac gcc/testsuite/g++.dg/conversion/pr59879.C *************** aebe00f4a175042412bb35a0e940886a gcc/te *** 10816,10821 **** --- 10836,10842 ---- 4481ae71257b80b484816097254a7ecb gcc/testsuite/g++.dg/cpp0x/alignas14.C ff12be74ca1ae28c77d541ad1dc53873 gcc/testsuite/g++.dg/cpp0x/alignas15.C 6b919a388a7f6ff57c7976486c409fb7 gcc/testsuite/g++.dg/cpp0x/alignas16.C + d9734e67258a1ae418f1c09c99e52585 gcc/testsuite/g++.dg/cpp0x/alignas17.C f1354435b9e53f5c5d923994edebb49f gcc/testsuite/g++.dg/cpp0x/alignas2.C af0c02bf93d49e5385b61d3e59a21e28 gcc/testsuite/g++.dg/cpp0x/alignas3.C 4e770e3d245d014c238b07e798e03b36 gcc/testsuite/g++.dg/cpp0x/alignas4.C *************** b9007290e56f8c058df6fc2174bc755b gcc/te *** 10964,10969 **** --- 10985,10991 ---- 8d438a4771a90a79a8bc2ce48909f039 gcc/testsuite/g++.dg/cpp0x/constexpr-87934.C 8b02fdc54cf421462a001ebb0abaa9b9 gcc/testsuite/g++.dg/cpp0x/constexpr-89599.C 7ab875a350cce26e36b1b63c70224b5e gcc/testsuite/g++.dg/cpp0x/constexpr-89709.C + 5a518662f72ee08bfff694cc4d66124c gcc/testsuite/g++.dg/cpp0x/constexpr-92015.C 6aa74413b4ef74580a0a5da7abf23914 gcc/testsuite/g++.dg/cpp0x/constexpr-98.C 1bc1c995533b047ed8df6f6f24905cd1 gcc/testsuite/g++.dg/cpp0x/constexpr-99.C 3ccc1912e7827aae6b55936a3bf3bb24 gcc/testsuite/g++.dg/cpp0x/constexpr-__func__.C *************** a3fe89999694d5e28c05f50283b43674 gcc/te *** 10997,11002 **** --- 11019,11026 ---- 8b3cdd4f7cd1165cdb6c78c54ac301a5 gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C 326904e2b7feccc3245b271683c77260 gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C 687c6e77d4af3cd918c0ff421773a66c gcc/testsuite/g++.dg/cpp0x/constexpr-array2.C + f15a074b6c2f23374821380fa691e3fd gcc/testsuite/g++.dg/cpp0x/constexpr-array23.C + 3ac9c1d9fb2c907fc817b194d0e9d585 gcc/testsuite/g++.dg/cpp0x/constexpr-array24.C 8b7c8e7c1b64cfa0626f7f2311c9fef5 gcc/testsuite/g++.dg/cpp0x/constexpr-array3.C 6451aa5bb5fa736dda3ebad1dc2e8336 gcc/testsuite/g++.dg/cpp0x/constexpr-array4.C 1d46f32449f9e0292d662928246ec784 gcc/testsuite/g++.dg/cpp0x/constexpr-array5.C *************** baf44bb3bbcc1b19835fcba0732c07b8 gcc/te *** 11086,11091 **** --- 11110,11116 ---- 769dc1c8f5dd3fe287febfc28bff67f6 gcc/testsuite/g++.dg/cpp0x/constexpr-empty11.C 381479cfc8a4816cc7ecac86af925b76 gcc/testsuite/g++.dg/cpp0x/constexpr-empty12.C 753e5f64602d5b078b77508da90185f6 gcc/testsuite/g++.dg/cpp0x/constexpr-empty13.C + 2a33a8f9f599ab8ad56bcf27c4f4faa1 gcc/testsuite/g++.dg/cpp0x/constexpr-empty14.C aef682375c033fe1283502c7f213d6ca gcc/testsuite/g++.dg/cpp0x/constexpr-empty2.C f2be36db1d24de846eca69288f8e004a gcc/testsuite/g++.dg/cpp0x/constexpr-empty3.C 933cc130bc4ebc33fb81e8901f604e0a gcc/testsuite/g++.dg/cpp0x/constexpr-empty4.C *************** e30db9bfd86140e4533c65e96fcc3879 gcc/te *** 11181,11186 **** --- 11206,11213 ---- d4c1a5cc0803346fbc25f7a4d5748fd8 gcc/testsuite/g++.dg/cpp0x/constexpr-nullptr.C 9234777336f797ed877671569794ca38 gcc/testsuite/g++.dg/cpp0x/constexpr-object1.C a3363a18129aba2537ab6af225e19a74 gcc/testsuite/g++.dg/cpp0x/constexpr-object2.C + f7d1927790fe9ba9f36fd6bbda3f9ed0 gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C + 13d94e5ae0c04d0ff4b29a4b81f1163b gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C b0f3e3a129a29b94607b7667c179da90 gcc/testsuite/g++.dg/cpp0x/constexpr-overflow.C 49a55dd7856ddc68e96fae9181b210ee gcc/testsuite/g++.dg/cpp0x/constexpr-overflow2.C 9b22329501cdc0c04eb177944b0b9482 gcc/testsuite/g++.dg/cpp0x/constexpr-pedantic.C *************** dd4700728489bec2565506d830e467d8 gcc/te *** 11224,11229 **** --- 11251,11257 ---- 6750ddb6d120c8e7368eaae5150e78c1 gcc/testsuite/g++.dg/cpp0x/constexpr-static10.C 7431d68cb7a29a352611ab8a7cdad67b gcc/testsuite/g++.dg/cpp0x/constexpr-static11.C 323e38ced3137a14df2f9f2f58e82249 gcc/testsuite/g++.dg/cpp0x/constexpr-static12.C + 411fb6dd9e470568da2b5ebae64434b1 gcc/testsuite/g++.dg/cpp0x/constexpr-static13.C 797b8689368a7682042cd629a45f6125 gcc/testsuite/g++.dg/cpp0x/constexpr-static2.C c007c5c7f6d811c5864f3f9c4f7da9a4 gcc/testsuite/g++.dg/cpp0x/constexpr-static3.C c75a35a6482a003b532401a29c58bf6e gcc/testsuite/g++.dg/cpp0x/constexpr-static4.C *************** f05f6314bab056a03c548eb4c50f323a gcc/te *** 11501,11507 **** 6c52dc0b8feff7c3403eed172bec2ebd gcc/testsuite/g++.dg/cpp0x/enum21a.C 52d5ff8d8835de9029291b2e0be36123 gcc/testsuite/g++.dg/cpp0x/enum21b.C 7ff20adcaa2a7e7bc5390f2d01264d25 gcc/testsuite/g++.dg/cpp0x/enum22.C ! 1fce61041d5fe27ecb76803d5fe4e086 gcc/testsuite/g++.dg/cpp0x/enum23.C 6e20f71280665d553eb0b07726a3453d gcc/testsuite/g++.dg/cpp0x/enum24.C d69ddb30d1feb9e35bc7751f26929957 gcc/testsuite/g++.dg/cpp0x/enum25.C 43b0beab61ef041fe4a52745f4a7aff8 gcc/testsuite/g++.dg/cpp0x/enum26.C --- 11529,11535 ---- 6c52dc0b8feff7c3403eed172bec2ebd gcc/testsuite/g++.dg/cpp0x/enum21a.C 52d5ff8d8835de9029291b2e0be36123 gcc/testsuite/g++.dg/cpp0x/enum21b.C 7ff20adcaa2a7e7bc5390f2d01264d25 gcc/testsuite/g++.dg/cpp0x/enum22.C ! 5bb1acca72edaa4854976e419c1c6a64 gcc/testsuite/g++.dg/cpp0x/enum23.C 6e20f71280665d553eb0b07726a3453d gcc/testsuite/g++.dg/cpp0x/enum24.C d69ddb30d1feb9e35bc7751f26929957 gcc/testsuite/g++.dg/cpp0x/enum25.C 43b0beab61ef041fe4a52745f4a7aff8 gcc/testsuite/g++.dg/cpp0x/enum26.C *************** cd13bec4a277695c3f0d055601e86cec gcc/te *** 11517,11522 **** --- 11545,11552 ---- b1410081d8b18a483605fea34ded714b gcc/testsuite/g++.dg/cpp0x/enum35.C 948a96ff04f2a9966e35400fe5a0ae86 gcc/testsuite/g++.dg/cpp0x/enum36.C 9d78eeec0d8fa324ce972cdd1b925d06 gcc/testsuite/g++.dg/cpp0x/enum37.C + 0c1bd3a6f06a95634ee6e7e1c8cfcb43 gcc/testsuite/g++.dg/cpp0x/enum38.C + f520b3c677602a9f4bb925811947dd27 gcc/testsuite/g++.dg/cpp0x/enum39.C 4314a939d182c8ee315404a2d9cf3ec3 gcc/testsuite/g++.dg/cpp0x/enum4.C 771003df84c0886c950718b7f6d81033 gcc/testsuite/g++.dg/cpp0x/enum5.C 67ec15297186c0dc5b419618c460a2f2 gcc/testsuite/g++.dg/cpp0x/enum6.C *************** c157a52995fc54c0b46c8795dea13ada gcc/te *** 11658,11664 **** --- 11688,11697 ---- c75dea1e932fc65c88986652795dcbc3 gcc/testsuite/g++.dg/cpp0x/gen-attrs-64.C 52f82ed142fbe1acdd0fe0b6f0d56e33 gcc/testsuite/g++.dg/cpp0x/gen-attrs-65.C 40fb270687c3b0ccc01dc21db4e07678 gcc/testsuite/g++.dg/cpp0x/gen-attrs-66.C + 322765b108a034880469a5351cdc61a2 gcc/testsuite/g++.dg/cpp0x/gen-attrs-68.C + b76ee20d4e5161664ef1b5b122268e53 gcc/testsuite/g++.dg/cpp0x/gen-attrs-69.C f55fa66c82d267feca5db82dc835210a gcc/testsuite/g++.dg/cpp0x/gen-attrs-7.C + 1e684e9934b01f7c9c53981ab2a9cd8f gcc/testsuite/g++.dg/cpp0x/gen-attrs-71.C e0b4f953ad274eb8ec84b8e630f87d3a gcc/testsuite/g++.dg/cpp0x/gen-attrs-8.C 5dd92815927177080853d47a890f5439 gcc/testsuite/g++.dg/cpp0x/gen-attrs-9.C 941ea69f8ea2184ff55eabc54b7eeb07 gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C *************** eb356bb5e47b9ce813f868c74583298f gcc/te *** 11716,11721 **** --- 11749,11755 ---- 69ad16a291979db5662ea42e8bd7fa16 gcc/testsuite/g++.dg/cpp0x/inh-ctor7.C 3e47bc4c1090a1639f8ab3081f4464c0 gcc/testsuite/g++.dg/cpp0x/inh-ctor8.C 0ad99281a7ad33864f8d659dc86ddbe2 gcc/testsuite/g++.dg/cpp0x/inh-ctor9.C + 5900d3033d3e379599e256c557071368 gcc/testsuite/g++.dg/cpp0x/initlist-array10.C 09f09079c354ad93c3844a14549e0854 gcc/testsuite/g++.dg/cpp0x/initlist-array2.C 2689261b6dbe2bf5875e915ce8a31a53 gcc/testsuite/g++.dg/cpp0x/initlist-array3.C 6c1907913d332611dd16d03002d759f9 gcc/testsuite/g++.dg/cpp0x/initlist-array4.C *************** f8949630a7a02f66d0ceb796b5525cb8 gcc/te *** 11740,11745 **** --- 11774,11780 ---- 65466ce772f6f3dffc7bebcc9d464f50 gcc/testsuite/g++.dg/cpp0x/initlist-lifetime2.C 797ec13acacd7b94b604de1651b198db gcc/testsuite/g++.dg/cpp0x/initlist-n3922.C 75fe6dcf44e6fa0a35cfaa871faa2b15 gcc/testsuite/g++.dg/cpp0x/initlist-new1.C + 7bddf9c6b842f5be4f0dcb028b72f5d6 gcc/testsuite/g++.dg/cpp0x/initlist-new2.C bcbe398391cda8139c8462f46935b7e2 gcc/testsuite/g++.dg/cpp0x/initlist-opt.C a054a7d4e96233b7a3a6591843a8d33f gcc/testsuite/g++.dg/cpp0x/initlist-pmf1.C e3ec7ab89d20e6ccf50aa92954896f07 gcc/testsuite/g++.dg/cpp0x/initlist-postfix-open-square.C *************** f787403dc64b99be9c0c9b763121c4d7 gcc/te *** 11774,11779 **** --- 11809,11815 ---- 69eec03ee9eb1e7dae7248aae0903fd0 gcc/testsuite/g++.dg/cpp0x/initlist113.C 4d9bf62c5a26d090ff28c1f8c54bbfcf gcc/testsuite/g++.dg/cpp0x/initlist114.C 2a71e373ad8beaab8b8cdfe204c0f1fe gcc/testsuite/g++.dg/cpp0x/initlist115.C + f3e3a423075b6d0d03243d7a3125c656 gcc/testsuite/g++.dg/cpp0x/initlist118.C 540183723223acf529878183682623fb gcc/testsuite/g++.dg/cpp0x/initlist12.C a5e64985a46db12492fa03d5e7dfd347 gcc/testsuite/g++.dg/cpp0x/initlist13.C 3071307e831ae441c218cbab9dbc1d8f gcc/testsuite/g++.dg/cpp0x/initlist14.C *************** b8cc2b4775f53161af6fb5ad8dd9aec9 gcc/te *** 12072,12077 **** --- 12108,12114 ---- 377519bbfa40d471fa240ad2fabdc7b4 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template13.C bd42363d4165a48ad99bfda7142b3178 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template14.C 60815d14466a48a5c352df28f6455161 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template15.C + 47be9f019182b953c600aba25cf571cc gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template16.C dbe71301a1e8df7942fe34c5beb4c73e gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template2.C 94cfc36278ab817fd2df7010aa3c83ba gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template3.C e099bfa2ff82527ea9b86eaaab9acb43 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template4.C *************** f834269fe12aa32c10b9a1ccedad58d6 gcc/te *** 12114,12119 **** --- 12151,12157 ---- ad61d0dd81ce64e7dd902f8cbf0238b7 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic6.C 071704dfd41c6352bda4c9fd8242a14e gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic7.C a159ce2083ee6333569e0f552b98c062 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic8.C + b04e79d6eb874572f153681bc89d3eae gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic9.C a667f158c89a42014e4ccc192862b932 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-vla1.C 9da68ff6b459e7ba59b9ed131bcd5fa5 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-vla2.C d1d6585012ce959c2cfe7d34a8d32f1f gcc/testsuite/g++.dg/cpp0x/lambda/lambda-vla3.C *************** b4fac094247fc59b38ba70dd7eb70374 gcc/te *** 12191,12196 **** --- 12229,12235 ---- 027e92cc415497bd946a9aaea76c4cc6 gcc/testsuite/g++.dg/cpp0x/nondeduced3.C d4d2473df78fbcede5b80ef1560e5935 gcc/testsuite/g++.dg/cpp0x/nondeduced4.C c5f62c7fa81e1238df655c66dcf256b6 gcc/testsuite/g++.dg/cpp0x/nontype1.C + 31f2b9732c56a8970a3ac0ca38ec1afa gcc/testsuite/g++.dg/cpp0x/nontype5.C cb5b10af278fbafac78a6d53829b3d37 gcc/testsuite/g++.dg/cpp0x/not_special.C e950526c0d7127f5718072cb9366641e gcc/testsuite/g++.dg/cpp0x/nsdmi-aggr1.C 94c644ef2cfc0af0de150c6699b774ed gcc/testsuite/g++.dg/cpp0x/nsdmi-anon-struct1.C *************** de8f6bc0c1c0ee4d4af6662950dc9f48 gcc/te *** 12221,12226 **** --- 12260,12266 ---- 3c00d9222274c65ab423d76b0d32f706 gcc/testsuite/g++.dg/cpp0x/nsdmi-template16.C e754c2eb76d7ab2dff572da57c588a4d gcc/testsuite/g++.dg/cpp0x/nsdmi-template17.C 5bb35197de42268300623627600348d9 gcc/testsuite/g++.dg/cpp0x/nsdmi-template18.C + 0b3784303bce9e43936f535a111b1d8f gcc/testsuite/g++.dg/cpp0x/nsdmi-template19.C d83133afa9fe5d533ed8b6cecc90cc44 gcc/testsuite/g++.dg/cpp0x/nsdmi-template2.C a4838f227c782d1dc8cc894a19deb0d1 gcc/testsuite/g++.dg/cpp0x/nsdmi-template3.C ecc55c2acf604366d5eab66ebf6a29dd gcc/testsuite/g++.dg/cpp0x/nsdmi-template4.C *************** a752e6374a9b016d0db3cc3d89cb1994 gcc/te *** 12293,12302 **** --- 12333,12345 ---- dd2e11db6d41e95dd646b54bb5547277 gcc/testsuite/g++.dg/cpp0x/nullptr39.C d31a397b7e49ac715bfc08852a1710f3 gcc/testsuite/g++.dg/cpp0x/nullptr40.C cce8d7efe84ba47b6a9a649b7e96db1d gcc/testsuite/g++.dg/cpp0x/nullptr41.C + 563e6aa07672f33e94fe0e1d80404a0e gcc/testsuite/g++.dg/cpp0x/nullptr42.C + afdfafb40dd063d062a20c67e4309ae4 gcc/testsuite/g++.dg/cpp0x/nullptr45.C 9ac544c85b4718bef7e0acbc03dd004f gcc/testsuite/g++.dg/cpp0x/overflow1.C fb7661df85ad6b415b31574c67fa4ee0 gcc/testsuite/g++.dg/cpp0x/overload-conv-1.C 5ca00ae02aa7919e0b3d9730fa9f9ac5 gcc/testsuite/g++.dg/cpp0x/overload-conv-2.C 2c6f9529ab2133b66b083833e669fd58 gcc/testsuite/g++.dg/cpp0x/overload-conv-3.C + 05f8d114c0307676d7d3b227b2e3213d gcc/testsuite/g++.dg/cpp0x/overload-conv-4.C e1598f2c9f261104495d9e7d921f8264 gcc/testsuite/g++.dg/cpp0x/overload.C 15b4148c92763edcf90b0fe0cb6f7742 gcc/testsuite/g++.dg/cpp0x/overload2.C e51fa7b3953a97711f4b666480bad308 gcc/testsuite/g++.dg/cpp0x/overload3.C *************** db21b41ed5477b5b7d2b3c575f29a0ff gcc/te *** 12538,12543 **** --- 12581,12588 ---- ac0f7d877c049ceb6028dbfcf2999027 gcc/testsuite/g++.dg/cpp0x/pr89900-3.C bc534d453c8bf059bcb562e4107fc4b3 gcc/testsuite/g++.dg/cpp0x/pr89900-4.C 65470c1d7f1a642aa59a9a3d753c0270 gcc/testsuite/g++.dg/cpp0x/pr90598.C + cf4d7a0934fa5897248e568b884df620 gcc/testsuite/g++.dg/cpp0x/pr92524.C + b01c3079ace1bdd462b03d3af7906721 gcc/testsuite/g++.dg/cpp0x/pr93905.C 1f725aacb479fe72f5d994446fab5d54 gcc/testsuite/g++.dg/cpp0x/ptrmem-cst-arg1.C 6e8e648c26d9bf237cc152180e88c2c2 gcc/testsuite/g++.dg/cpp0x/range-for1.C 5eec4a19463d582cbc114d93dbff246a gcc/testsuite/g++.dg/cpp0x/range-for11.C *************** bc534d453c8bf059bcb562e4107fc4b3 gcc/te *** 12548,12554 **** e52b898f780ed4b01b2040fda37a40e1 gcc/testsuite/g++.dg/cpp0x/range-for16.C 0e454e1ec2555139c4421d867fea9ce8 gcc/testsuite/g++.dg/cpp0x/range-for17.C fefa8333291f79eeb5c459271d00207d gcc/testsuite/g++.dg/cpp0x/range-for18.C ! f2a4a726a9f93843defe980006f2d5d0 gcc/testsuite/g++.dg/cpp0x/range-for19.C b3f22dfc51eac328e62e1c71d0450302 gcc/testsuite/g++.dg/cpp0x/range-for2.C fc5dc64698e20d2a9cebe70f9538336b gcc/testsuite/g++.dg/cpp0x/range-for20.C 7da87eff4f7e64da58b5263b4a758b3a gcc/testsuite/g++.dg/cpp0x/range-for21.C --- 12593,12599 ---- e52b898f780ed4b01b2040fda37a40e1 gcc/testsuite/g++.dg/cpp0x/range-for16.C 0e454e1ec2555139c4421d867fea9ce8 gcc/testsuite/g++.dg/cpp0x/range-for17.C fefa8333291f79eeb5c459271d00207d gcc/testsuite/g++.dg/cpp0x/range-for18.C ! 9a60c75d3ed2fb2316c2628dd3959cee gcc/testsuite/g++.dg/cpp0x/range-for19.C b3f22dfc51eac328e62e1c71d0450302 gcc/testsuite/g++.dg/cpp0x/range-for2.C fc5dc64698e20d2a9cebe70f9538336b gcc/testsuite/g++.dg/cpp0x/range-for20.C 7da87eff4f7e64da58b5263b4a758b3a gcc/testsuite/g++.dg/cpp0x/range-for21.C *************** ccba3040ed86b5ffae7d72b18f556d1c gcc/te *** 12615,12620 **** --- 12660,12666 ---- 3a02f68ebc48112a74f31983fd72c639 gcc/testsuite/g++.dg/cpp0x/rv-cond3.C 4d78acdd9f4b8ae8afa532ceaf0c07c4 gcc/testsuite/g++.dg/cpp0x/rv-conv1.C 68fdce54ec37dd9c4ce6cc23940e6669 gcc/testsuite/g++.dg/cpp0x/rv-conv2.C + 55bf372aa23fed509d52b517cd46aa98 gcc/testsuite/g++.dg/cpp0x/rv-conv3.C 889a7002f4d78b4abd44856da792f8dc gcc/testsuite/g++.dg/cpp0x/rv-copy1.C de88aaa56b0d394bd02f079bb0f4dddf gcc/testsuite/g++.dg/cpp0x/rv-deduce.C f213598004dcfd0117fecc9593637790 gcc/testsuite/g++.dg/cpp0x/rv-deduce2.C *************** c8339a090dcd3866e3bcee3adaa249a3 gcc/te *** 12749,12754 **** --- 12795,12801 ---- 1045190e7a2a2af12d9111218b20eb11 gcc/testsuite/g++.dg/cpp0x/syntax-err1.C 20984e5b7381310a8855ddc725729c4a gcc/testsuite/g++.dg/cpp0x/temp-constructor-bug.C 2a53ad88d27935cbe876c59fe9bc862e gcc/testsuite/g++.dg/cpp0x/temp-extend1.C + 0430340587418d0e800795c03d5d2841 gcc/testsuite/g++.dg/cpp0x/temp-extend2.C 97ab61118de35ac65f81fc7075a15809 gcc/testsuite/g++.dg/cpp0x/temp-va-arg-bug.C e2c30c506c227664a12cede2fc526492 gcc/testsuite/g++.dg/cpp0x/temp_default1.C b64243df23e4a2b648985cc8fb7842c6 gcc/testsuite/g++.dg/cpp0x/temp_default2.C *************** e47543bd9482646c5c0d1023519e7eb1 gcc/te *** 12890,12895 **** --- 12937,12943 ---- 5ad1db01bdd9d87f2a8276b08cff8db7 gcc/testsuite/g++.dg/cpp0x/variadic-new2.C 9965da4f62ae847ce666120789b29c79 gcc/testsuite/g++.dg/cpp0x/variadic-nondeduce1.C 1441fa6139ca73d25aa889aafd3b483c gcc/testsuite/g++.dg/cpp0x/variadic-nondeduce2.C + 7ef2a770be31e4cfad400f2e8df32ae9 gcc/testsuite/g++.dg/cpp0x/variadic-parm1.C 48eb2c981da41427b39595337f986824 gcc/testsuite/g++.dg/cpp0x/variadic-partial1.C 929e72e50917907d735e84a67d7462fa gcc/testsuite/g++.dg/cpp0x/variadic-ref1.C 0e1a5d3d60669df0ab8d526a879627f5 gcc/testsuite/g++.dg/cpp0x/variadic-rref.C *************** b823b50bc430c6f0253adad46e2b9fea gcc/te *** 13141,13146 **** --- 13189,13195 ---- c8a2c7e8b1e0cbd3443ab02738d85644 gcc/testsuite/g++.dg/cpp1y/69098.C 8cb32d00716e6f14136f2c7d256f5456 gcc/testsuite/g++.dg/cpp1y/Wnarrowing1.C 438090a75b721771fcfd7c5159abbb67 gcc/testsuite/g++.dg/cpp1y/attr-deprecated-2.C + e373712ec656768ee571d2a278d813da gcc/testsuite/g++.dg/cpp1y/attr-deprecated-3.C 27985f1bda815c3234299bd64d8847b2 gcc/testsuite/g++.dg/cpp1y/attr-deprecated-neg.C 668d7e4abca655f37806cd95cf359930 gcc/testsuite/g++.dg/cpp1y/attr-deprecated.C fb2e417a364945cb8149b9526292009b gcc/testsuite/g++.dg/cpp1y/attributes-enum-1.C *************** da8b691c486f119146bd69dc1d417757 gcc/te *** 13196,13201 **** --- 13245,13251 ---- f14e5c551fb573045f545479bf77b0d9 gcc/testsuite/g++.dg/cpp1y/auto-fn53.C 70f00a62c4cade3da04f5da5bae5f7ed gcc/testsuite/g++.dg/cpp1y/auto-fn54.C e8b2e4a51212edac48bff97c2ba40b77 gcc/testsuite/g++.dg/cpp1y/auto-fn55.C + c58aea587f92e9318dcbcd4325ab9500 gcc/testsuite/g++.dg/cpp1y/auto-fn56.C 3861eed28323480e4913eea3d9c0ec00 gcc/testsuite/g++.dg/cpp1y/auto-fn6.C 03b6f2674c38c8f6ed9f7fc03583b1dc gcc/testsuite/g++.dg/cpp1y/auto-fn7.C e9a317fa32e36cef4553b50965e48550 gcc/testsuite/g++.dg/cpp1y/auto-fn8.C *************** d4fc72d059e047077b1d6033d4c13026 gcc/te *** 13264,13269 **** --- 13314,13320 ---- f1a863bb06163b628459fbc6a355ec3f gcc/testsuite/g++.dg/cpp1y/constexpr-empty4.C 995873768089d805df939c03d2be8b1c gcc/testsuite/g++.dg/cpp1y/constexpr-hana1.C f4f6c3d1cdaf2aa67bfa2b8c851853d5 gcc/testsuite/g++.dg/cpp1y/constexpr-incr1.C + af9863e9fca568fa5ae3ad41b051cf84 gcc/testsuite/g++.dg/cpp1y/constexpr-incr2.C 3e9dd485a2a6d99132c92a6d04b96ee9 gcc/testsuite/g++.dg/cpp1y/constexpr-initlist1.C ab56709d31a56066e2a96779bd194779 gcc/testsuite/g++.dg/cpp1y/constexpr-instantiate.C 14b35cb8a87b121f413f22b600d19592 gcc/testsuite/g++.dg/cpp1y/constexpr-local-compound1.C *************** f8cacc42b6d0ee02c4ec28b4871b946c gcc/te *** 13305,13311 **** 516d0cef75f4267f67d755a810807bc2 gcc/testsuite/g++.dg/cpp1y/digit-sep-cxx11-neg.C 72e5ba540e8106a24b1c940578366f90 gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C 2ccf049767734b973a90dea30576d8a8 gcc/testsuite/g++.dg/cpp1y/digit-sep.C - c4436fb0148cf765eb9ae5580af8f058 gcc/testsuite/g++.dg/cpp1y/dr1560.C f76edece5ff5aa3ce9cb5508f587b65c gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C 144ddec296f95158abf3660366239e78 gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C a3ed2dff5176ed6eef5ae2d57cf13c3c gcc/testsuite/g++.dg/cpp1y/feat-cxx14-neg.C --- 13356,13361 ---- *************** e3c04ea33a4074f5cd6955ab214fc656 gcc/te *** 13339,13344 **** --- 13389,13395 ---- c158c48cdc574a61e06922b17254f0d7 gcc/testsuite/g++.dg/cpp1y/lambda-generic-89419.C 7b8a0f9d78b07ded387c1b8722c94c66 gcc/testsuite/g++.dg/cpp1y/lambda-generic-90265.C 3d83ad628fa7a413326bf23651c5bb6e gcc/testsuite/g++.dg/cpp1y/lambda-generic-90548.C + e5ec20a7dc7d9414a0113b4d2f182408 gcc/testsuite/g++.dg/cpp1y/lambda-generic-90842.C 87f3d5397981cf431912aae6490ea63a gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C 18a2431f49a5d003b8c4af0ee1ee26fb gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C 043e19917f87f2b2acd754fc6d7db469 gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C *************** fcdbf299db7426d40d79e7ce91bbbc1e gcc/te *** 13372,13377 **** --- 13423,13429 ---- 79b0200bf1646b28e5d82c30cae3557d gcc/testsuite/g++.dg/cpp1y/lambda-generic-noexcept1.C 52a13a3c9f86f7ceca034afb60b8f785 gcc/testsuite/g++.dg/cpp1y/lambda-generic-nsdmi1.C a43ac25cf9725b9920a2cff31d07a8a7 gcc/testsuite/g++.dg/cpp1y/lambda-generic-pretty1.C + bbd3fddcc74936595e633fdd96432322 gcc/testsuite/g++.dg/cpp1y/lambda-generic-ref1.C db3760d317d0220aeddc9a1ce4072105 gcc/testsuite/g++.dg/cpp1y/lambda-generic-static1.C c6cfff44332b8bfb7c52ace4e1af76c5 gcc/testsuite/g++.dg/cpp1y/lambda-generic-static2.C d91a981f54ab2a15c0e9427ccb338f24 gcc/testsuite/g++.dg/cpp1y/lambda-generic-targ1.C *************** fe118321a9f7ae6d0b7db3dea8fea392 gcc/te *** 13420,13426 **** fabb2b807c750e9106c4bf0957c73eb5 gcc/testsuite/g++.dg/cpp1y/lambda-init14.C ca7e8735db99f7f5fd14ba8748118d88 gcc/testsuite/g++.dg/cpp1y/lambda-init15.C 94541d9e486223ed3e08f03421566a99 gcc/testsuite/g++.dg/cpp1y/lambda-init15a.C ! be21e9afd5b9562ecdf4950349fa5936 gcc/testsuite/g++.dg/cpp1y/lambda-init16.C e0f5a695e9604ed19c20c1e333da6015 gcc/testsuite/g++.dg/cpp1y/lambda-init17.C 5fe011c8566939194cd3e0837e9e34c0 gcc/testsuite/g++.dg/cpp1y/lambda-init18.C 958fe0b6d46088167932b1f19e7a6780 gcc/testsuite/g++.dg/cpp1y/lambda-init19.C --- 13472,13478 ---- fabb2b807c750e9106c4bf0957c73eb5 gcc/testsuite/g++.dg/cpp1y/lambda-init14.C ca7e8735db99f7f5fd14ba8748118d88 gcc/testsuite/g++.dg/cpp1y/lambda-init15.C 94541d9e486223ed3e08f03421566a99 gcc/testsuite/g++.dg/cpp1y/lambda-init15a.C ! d25d17ead640b35eb6d703f530780723 gcc/testsuite/g++.dg/cpp1y/lambda-init16.C e0f5a695e9604ed19c20c1e333da6015 gcc/testsuite/g++.dg/cpp1y/lambda-init17.C 5fe011c8566939194cd3e0837e9e34c0 gcc/testsuite/g++.dg/cpp1y/lambda-init18.C 958fe0b6d46088167932b1f19e7a6780 gcc/testsuite/g++.dg/cpp1y/lambda-init19.C *************** eeda9ed3e95d7a31c74fcdebd07abf15 gcc/te *** 13434,13442 **** --- 13486,13496 ---- c9c747d6c51f186d14465f9e9bb8db01 gcc/testsuite/g++.dg/cpp1y/lambda-init9.C b09f7464f0c692821ff03fb28a825adb gcc/testsuite/g++.dg/cpp1y/lambda-mangle-1.C d13aa7a67136b0f4d673be5df541a2ab gcc/testsuite/g++.dg/cpp1y/lambda-var-templ1.C + a0fd7a682321878b07d220b8dae15ac3 gcc/testsuite/g++.dg/cpp1y/lambda-vla1.C 7686aff0777cf041b8454732d1f17d8e gcc/testsuite/g++.dg/cpp1y/left-shift-1.C 5905dcf4a0cf928e5f5eef8ea574d3ee gcc/testsuite/g++.dg/cpp1y/left-shift-2.C 8505d7bc855e9e02e1d7a75fe803d027 gcc/testsuite/g++.dg/cpp1y/mangle1.C + bedfe39f995dd913a1715072975f6a1c gcc/testsuite/g++.dg/cpp1y/nontype1.C 4707396951c53026c3f457ecd9db5312 gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr1.C 5326d1798f69e0f75031ab294cf8dd21 gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr10.C c9dde900e1dd03846724a7195332d8ea gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr11.C *************** c2718dae92b11fab872ec5fd03528cc2 gcc/te *** 13456,13461 **** --- 13510,13516 ---- b37062a8a2160ab7a8f6b2faf63a7687 gcc/testsuite/g++.dg/cpp1y/paren2.C e8c6da7fb812f06074a9399c95d62136 gcc/testsuite/g++.dg/cpp1y/paren3.C 86a0b848e4db7d7f6ee1c78dcc897448 gcc/testsuite/g++.dg/cpp1y/paren4.C + f5ccbfc0fb9fd723ce3d0565bf79908b gcc/testsuite/g++.dg/cpp1y/paren5.C a59e5fd28eae5235838080483b6939a6 gcc/testsuite/g++.dg/cpp1y/phoobhar.h 7d18afb36bcaa55af2030c6546d5df38 gcc/testsuite/g++.dg/cpp1y/pr57640.C c4165eafc91468f7acbe5ba99603b2e7 gcc/testsuite/g++.dg/cpp1y/pr57644.C *************** d02a4d5b691aff1357a5f77cf5774190 gcc/te *** 13623,13628 **** --- 13678,13684 ---- 49e18036267a0e371976b20d04e1dc29 gcc/testsuite/g++.dg/cpp1y/var-templ60.C d40d9f43eb7820281681023bed02f7ce gcc/testsuite/g++.dg/cpp1y/var-templ61.C dc3178e9e6877534395f10339750116a gcc/testsuite/g++.dg/cpp1y/var-templ62.C + f857aeaa600cb3e85cdb97a6e0963bbd gcc/testsuite/g++.dg/cpp1y/var-templ63.C 3c670164f1a7f8f91ef1db2f80526182 gcc/testsuite/g++.dg/cpp1y/var-templ7.C 7490ba7f2bf9511118a48f52e8c4ceed gcc/testsuite/g++.dg/cpp1y/var-templ8.C c62c3c5ce4dabfb077ffd26896b1d204 gcc/testsuite/g++.dg/cpp1y/var-templ9.C *************** e2a156ae37a7cc2e6e931224eb20400d gcc/te *** 13728,13737 **** 3920e918276476b088679b893b9cde19 gcc/testsuite/g++.dg/cpp1z/class-deduction9.C d09105e6c1f377543e5514e34d2837cd gcc/testsuite/g++.dg/cpp1z/constexpr-83692.C 6962bfa121a4383ee0b7a8f045abde3f gcc/testsuite/g++.dg/cpp1z/constexpr-84684.C b70f4276933d24cd68ae2e047a954ece gcc/testsuite/g++.dg/cpp1z/constexpr-if1.C 1e52ede853069710bb8cc3b5b323de8c gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C 6ad161b09218162d754ac9e397dad17c gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C ! d8d0c9141ffb418e9318ee27c3b3e73e gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C 85458a098e2f29d2dc61dde4d8fd28f1 gcc/testsuite/g++.dg/cpp1z/constexpr-if13.C cad98567f94d53447ca1544e0c0c7115 gcc/testsuite/g++.dg/cpp1z/constexpr-if14.C 4b5a0655efaa90419f80f55074e571b0 gcc/testsuite/g++.dg/cpp1z/constexpr-if15.C --- 13784,13794 ---- 3920e918276476b088679b893b9cde19 gcc/testsuite/g++.dg/cpp1z/class-deduction9.C d09105e6c1f377543e5514e34d2837cd gcc/testsuite/g++.dg/cpp1z/constexpr-83692.C 6962bfa121a4383ee0b7a8f045abde3f gcc/testsuite/g++.dg/cpp1z/constexpr-84684.C + d309961f0255b13605cf111efa2b095a gcc/testsuite/g++.dg/cpp1z/constexpr-if-lambda1.C b70f4276933d24cd68ae2e047a954ece gcc/testsuite/g++.dg/cpp1z/constexpr-if1.C 1e52ede853069710bb8cc3b5b323de8c gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C 6ad161b09218162d754ac9e397dad17c gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C ! ae40cc3f0fed6ea19806c1738da8fd11 gcc/testsuite/g++.dg/cpp1z/constexpr-if12.C 85458a098e2f29d2dc61dde4d8fd28f1 gcc/testsuite/g++.dg/cpp1z/constexpr-if13.C cad98567f94d53447ca1544e0c0c7115 gcc/testsuite/g++.dg/cpp1z/constexpr-if14.C 4b5a0655efaa90419f80f55074e571b0 gcc/testsuite/g++.dg/cpp1z/constexpr-if15.C *************** c9997208712a4c958df813f39510e264 gcc/te *** 13773,13778 **** --- 13830,13836 ---- b304cf37009380270fe9705af58081b3 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda22.C e85ae52cdaf9d0d5b13778ba237ba5c5 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda23.C 58bd2e2abbc1edcb0a954b8ed6ac8821 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda24.C + f4382f5ede902e4b05c952d6a46baa75 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda25.C 7a1275d47f91f21fc9a37f0e47b89dad gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C 5267d9825ab86007a9529cb6214eae5c gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C 7b6d8d9af2ed24c66e7de295c6bd2cf9 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda5.C *************** e10b9849a1874dff3e608a49de0c6088 gcc/te *** 13830,13835 **** --- 13888,13894 ---- b258d9545db271a0090522333d456c2f gcc/testsuite/g++.dg/cpp1z/decomp48.C be58a05c982a80cf0c6b4457f2ee655c gcc/testsuite/g++.dg/cpp1z/decomp49.C af1e704cf45a12bb8c7e2865e6b7debc gcc/testsuite/g++.dg/cpp1z/decomp5.C + 7f5a05827bf70c6aae1a8d8e3d44d7f8 gcc/testsuite/g++.dg/cpp1z/decomp50.C 1bdca83f97c5e15ddd3eda87ca5353f2 gcc/testsuite/g++.dg/cpp1z/decomp6.C 09468d9aa8e4fe8ac0677b17a3c509a2 gcc/testsuite/g++.dg/cpp1z/decomp7.C 0d7ba62c8322f4f98a085026e3ac529a gcc/testsuite/g++.dg/cpp1z/decomp8.C *************** bafa3ed0da0c14fc9337428032934f0f gcc/te *** 13842,13847 **** --- 13901,13907 ---- bb194d9ce590c9e5e69935ebac0f25e4 gcc/testsuite/g++.dg/cpp1z/eval-order2.C 89fdd37f4580457e23eeb34adcf4d4e0 gcc/testsuite/g++.dg/cpp1z/eval-order3.C 6d8d378fedaf65b4cb89952060799280 gcc/testsuite/g++.dg/cpp1z/eval-order4.C + 56af6596678e014cdf3ef38d1427358f gcc/testsuite/g++.dg/cpp1z/eval-order5.C 8aee82acb16c495821151939f3d0d794 gcc/testsuite/g++.dg/cpp1z/fallthrough1.C 6b68e9e86b9760b5a4c8219b35bbf007 gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C ccf8e15dbea694ff2ac1c38763e318b9 gcc/testsuite/g++.dg/cpp1z/fold-ice1.C *************** b1e6554e1fa7e1c40ed33a028d6555dc gcc/te *** 13942,13947 **** --- 14002,14008 ---- e2d27f023f98f0f6d5bbc4b4af73820d gcc/testsuite/g++.dg/cpp1z/noexcept-type2.C b844f1c10ac36bdb44fcc5f47c7ed338 gcc/testsuite/g++.dg/cpp1z/noexcept-type20.C bedc458500693b5518d2b34bdc4de5cb gcc/testsuite/g++.dg/cpp1z/noexcept-type21.C + 67c6b023262a15cbea344311656cb28f gcc/testsuite/g++.dg/cpp1z/noexcept-type22.C a07bd6eee0bbce4f76caa1372e66c614 gcc/testsuite/g++.dg/cpp1z/noexcept-type3.C a1507d2a44a55f27a0e7109b7c2a2c43 gcc/testsuite/g++.dg/cpp1z/noexcept-type4.C 2cbc6352072676c50982358370c66f1e gcc/testsuite/g++.dg/cpp1z/noexcept-type5.C *************** f2e78d3b66c26dddbe62f358e2dfbd05 gcc/te *** 14011,14019 **** 948d69f53be2b901feffe3471235ba88 gcc/testsuite/g++.dg/cpp2a/attr-likely2.C 56ca9ac4b0dd2143a0e1c8217120157f gcc/testsuite/g++.dg/cpp2a/attr-likely3.C 3bd91d09350d4cef4cd92526bb838712 gcc/testsuite/g++.dg/cpp2a/attr-likely4.C efde6c8c1860e6796275cd76c0810b5d gcc/testsuite/g++.dg/cpp2a/bitfield1.C 6459f6af0671a76d588568648ec2536c gcc/testsuite/g++.dg/cpp2a/bitfield2.C ! ef57257e408e06d58bf2de60513b468b gcc/testsuite/g++.dg/cpp2a/bitfield3.C 2a52f543924b11d7fbba0d5b92cdf169 gcc/testsuite/g++.dg/cpp2a/char8_t1.C 6af0af64f6a4543707d9245ae3e3cb2c gcc/testsuite/g++.dg/cpp2a/char8_t2.C 8cdbce536f6ecfcbdb0c5b905216c240 gcc/testsuite/g++.dg/cpp2a/constexpr-inst1.C --- 14072,14082 ---- 948d69f53be2b901feffe3471235ba88 gcc/testsuite/g++.dg/cpp2a/attr-likely2.C 56ca9ac4b0dd2143a0e1c8217120157f gcc/testsuite/g++.dg/cpp2a/attr-likely3.C 3bd91d09350d4cef4cd92526bb838712 gcc/testsuite/g++.dg/cpp2a/attr-likely4.C + fdfceca1c064eeb01d47f6a29cee1f95 gcc/testsuite/g++.dg/cpp2a/attr-likely6.C efde6c8c1860e6796275cd76c0810b5d gcc/testsuite/g++.dg/cpp2a/bitfield1.C 6459f6af0671a76d588568648ec2536c gcc/testsuite/g++.dg/cpp2a/bitfield2.C ! dbb38d79b4b755c3350566626fdf9bd8 gcc/testsuite/g++.dg/cpp2a/bitfield3.C ! 74cc445497f4dd39bb1cc3a9955074a9 gcc/testsuite/g++.dg/cpp2a/bitfield4.C 2a52f543924b11d7fbba0d5b92cdf169 gcc/testsuite/g++.dg/cpp2a/char8_t1.C 6af0af64f6a4543707d9245ae3e3cb2c gcc/testsuite/g++.dg/cpp2a/char8_t2.C 8cdbce536f6ecfcbdb0c5b905216c240 gcc/testsuite/g++.dg/cpp2a/constexpr-inst1.C *************** d74e93a21b21eb22ce0742e9b6bbb923 gcc/te *** 14028,14033 **** --- 14091,14098 ---- 90499949f9ce8adc6318bfabadf24305 gcc/testsuite/g++.dg/cpp2a/constexpr-virtual11.C 39ba616431ef9cb9d44cd94730cf075c gcc/testsuite/g++.dg/cpp2a/constexpr-virtual12.C 49f57461d06a171699e46760a6897b2a gcc/testsuite/g++.dg/cpp2a/constexpr-virtual13.C + 402840205084f07ec2c6bb566171ea8e gcc/testsuite/g++.dg/cpp2a/constexpr-virtual14.C + 951c8b64153a58a8121e2123efa1bf4a gcc/testsuite/g++.dg/cpp2a/constexpr-virtual15.C 8356345162577a74b103ae82b69fde6d gcc/testsuite/g++.dg/cpp2a/constexpr-virtual2.C 387607aa06c3438be11d475781b728ae gcc/testsuite/g++.dg/cpp2a/constexpr-virtual3.C 4d58f9556b7091659bbc5730f1a2697b gcc/testsuite/g++.dg/cpp2a/constexpr-virtual4.C *************** ef0d69f00a9d28bc07bc6d0fcbf840b5 gcc/te *** 14124,14129 **** --- 14189,14195 ---- 0307867d4629113203f10f9bbdbfe9ce gcc/testsuite/g++.dg/cpp2a/nested-inline-ns2.C 4c267e7f3452a21a5fd87bbb17ec9d16 gcc/testsuite/g++.dg/cpp2a/no_unique_address1.C c94ac6fb1a99bf541b66d604620fa09b gcc/testsuite/g++.dg/cpp2a/no_unique_address2.C + 67a61649264fea12fb7cc5c31bc5313e gcc/testsuite/g++.dg/cpp2a/no_unique_address3.C 38454d650fa2d61eb9936f82d48d8e43 gcc/testsuite/g++.dg/cpp2a/nontype-class1.C 27670232ed032d4697dcda1a46e006bd gcc/testsuite/g++.dg/cpp2a/nontype-class10.C 0b5018437c6a0da344ea0dbe3dd7891b gcc/testsuite/g++.dg/cpp2a/nontype-class11.C *************** aa3c5d23779fb7b236f955c1e7e09ac4 gcc/te *** 14138,14144 **** --- 14204,14214 ---- e8d8db2969710fcebdad2b203045f51e gcc/testsuite/g++.dg/cpp2a/nontype-class20.C e214a6e227705189b8298aa5dccd3e2e gcc/testsuite/g++.dg/cpp2a/nontype-class21.C 51f1da7fef1598009140af9576ded743 gcc/testsuite/g++.dg/cpp2a/nontype-class22.C + 62d20304c0732cf963aa8ac10fcb1394 gcc/testsuite/g++.dg/cpp2a/nontype-class23.C + e28f8527c413dd173f65f4e36e3b01dc gcc/testsuite/g++.dg/cpp2a/nontype-class24.C + fe8ba68ddeb121a2bdcddb2e0a2855fa gcc/testsuite/g++.dg/cpp2a/nontype-class26.C 475e0128b5973f3b9cb034e09e7f1702 gcc/testsuite/g++.dg/cpp2a/nontype-class3.C + 24ee72128d9ac9085aba2add87c30681 gcc/testsuite/g++.dg/cpp2a/nontype-class33.C 4fd52bde00b799a128d66f6a76100b0d gcc/testsuite/g++.dg/cpp2a/nontype-class4.C ec58f5751e495c0046ef627360867578 gcc/testsuite/g++.dg/cpp2a/nontype-class5.C be2750e5a930dd0cbbfe41d900aec74c gcc/testsuite/g++.dg/cpp2a/nontype-class6.C *************** b3c6c8b5938eee52a69b07b50478e16c gcc/te *** 14183,14188 **** --- 14253,14264 ---- 65f5d22e74121a74c86b198b50452b12 gcc/testsuite/g++.dg/cpp2a/typename7.C 119a0397640f4f2f7fa34816f5f7c490 gcc/testsuite/g++.dg/cpp2a/typename8.C 5abf788d7226625c5f7c99383518e5a5 gcc/testsuite/g++.dg/cpp2a/typename9.C + 3dbe99cdea34b8fadc3ecd11bb1e1380 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-ctad-neg.C + 62496ff3123793c4630a40a431b4cd85 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-ctad-neg2.C + 4105b2b21629c5122b5eac396ca2ace5 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-ctad.C + 69b7040da7003f90478ccb574f0b7fdf gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg.C + 25ce846e8a8659e35f82a24a896d87ea gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg2.C + 4d45da3e24f1267e48c17658fd5bb4a9 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp.C e71a3440857a0df24410cbe91e45c678 gcc/testsuite/g++.dg/debug/anonunion1.C e4aee91d21a8cdbd286094f893319c70 gcc/testsuite/g++.dg/debug/const1.C 2e4398a10938bba8e5fd13cd2d12e691 gcc/testsuite/g++.dg/debug/const2.C *************** d7ed5be36e8ab58d3d73c325b6ec84ab gcc/te *** 14295,14300 **** --- 14371,14377 ---- 6bacb72669961d72ae42d4e8ef6f3235 gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C a6b0d9b886cd92ee869a01fd967f123e gcc/testsuite/g++.dg/debug/dwarf2/pr87462.C eb8df2f4b1148c5f6b77553d91cb7877 gcc/testsuite/g++.dg/debug/dwarf2/pr88006.C + 1f426b6d87ce5765a45728a91f7e3337 gcc/testsuite/g++.dg/debug/dwarf2/pr91887.C 48e69b012a6da8a3f37c0eea7d671389 gcc/testsuite/g++.dg/debug/dwarf2/ptrdmem-1.C 5d8f03fa19703b37b960eccf4cdd64b6 gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C 76d02e352aba879b4ba37be3e5443ee8 gcc/testsuite/g++.dg/debug/dwarf2/pubnames-2.C *************** dcf67ead0fe2bb68fc518e4789e519f2 gcc/te *** 14390,14395 **** --- 14467,14473 ---- ff81bad5bdaf6ebdf3b91953ac3a3e83 gcc/testsuite/g++.dg/debug/pr88181.C 03aafe60ff9ad349f4207278a1941889 gcc/testsuite/g++.dg/debug/pr89006.C b3911c06633a98c7252ef4d4cd357add gcc/testsuite/g++.dg/debug/pr90914.C + 7ea445d3dffc6b1aa3648e9d5e464e5f gcc/testsuite/g++.dg/debug/pr92763.C a5e8d546d53a780cc3eb41574ea9f263 gcc/testsuite/g++.dg/debug/ra1.C c3f392076ad11f8768ef0321b89abd5f gcc/testsuite/g++.dg/debug/static1.C 7e13d86d33b17cfb7cdf61b7b8cca961 gcc/testsuite/g++.dg/debug/template1.C *************** e3e47848d7edc7d04e996db8969c01c0 gcc/te *** 14405,14410 **** --- 14483,14489 ---- 12ada26f2783bbf28bd0941522b565e2 gcc/testsuite/g++.dg/debug/using5.C 428eb41e10eafbf014126cce3925ce57 gcc/testsuite/g++.dg/debug/using6.C 9ddce3a837af3a01b33e86ac89b2a282 gcc/testsuite/g++.dg/debug/vartrack1.C + dbfe8e0363d42a9802037f3185d74300 gcc/testsuite/g++.dg/debug/verify1.C aaa986692699caef8b3a0fb76a0cc44d gcc/testsuite/g++.dg/delayedfold/builtin-constant1.C be43932f6739cc9bbbf58a055e612eda gcc/testsuite/g++.dg/delayedfold/builtin-constant2.C da0d7c1dfdd1c7020c650fa166f8669f gcc/testsuite/g++.dg/delayedfold/builtin1.C *************** f1fa5cf0ff0d4ecdd2e636f162a3a570 gcc/te *** 14476,14481 **** --- 14555,14562 ---- e6f1beb39c362797a43008d683753438 gcc/testsuite/g++.dg/diagnostic/pr86993.C 5b3831bc052cf03ddc5b5e39f65be1a5 gcc/testsuite/g++.dg/diagnostic/pr87386.C 6353aa551355349c668a14f1198abfd4 gcc/testsuite/g++.dg/diagnostic/pr89390.C + 4ac55408be5d699804ff4f1575d67dfa gcc/testsuite/g++.dg/diagnostic/pr90767-1.C + 033514e06412cda29f05e9038f2c494d gcc/testsuite/g++.dg/diagnostic/pr90767-2.C bb193b240fa78433d956d57357da2858 gcc/testsuite/g++.dg/diagnostic/ref1.C b70b854343c43b4b0eac609476ee8fc1 gcc/testsuite/g++.dg/diagnostic/ref2.C fabec9ff676df7e51a4bfcca57117fa6 gcc/testsuite/g++.dg/diagnostic/ref3.C *************** f131cd45dc233c5c2aea409de5326ad9 gcc/te *** 14670,14675 **** --- 14751,14758 ---- 79679fc1de2104f294f557096237605d gcc/testsuite/g++.dg/expr/cond12.C 272c38f396728c93b39e428a306ee6a7 gcc/testsuite/g++.dg/expr/cond13.C 9db946164c5356f1aa05faa2587c4a26 gcc/testsuite/g++.dg/expr/cond14.C + 3d3186f9075a514cd76973d347f359da gcc/testsuite/g++.dg/expr/cond15.C + f3062d35c6188cd4856b89b8f6662263 gcc/testsuite/g++.dg/expr/cond16.C 9940c2a62890f4870b29a68d36aee007 gcc/testsuite/g++.dg/expr/cond2.C 0ee447faae923ac2c95505c9d02aa9f9 gcc/testsuite/g++.dg/expr/cond3.C d30ef5af28e6363dab6713f12d513bc9 gcc/testsuite/g++.dg/expr/cond4.C *************** f3c9079f1057c4b34602ed3a7b2671f9 gcc/te *** 14866,14871 **** --- 14949,14955 ---- a087d8abbea086449d9ff285e2638cb8 gcc/testsuite/g++.dg/ext/attr-optimize.C 6c46559e7142685ab641751fe1177b7e gcc/testsuite/g++.dg/ext/attr-pure.C 359c96c31d10d777ab488b368388f5fa gcc/testsuite/g++.dg/ext/attr-returns-nonnull.C + dc83c0d6c6079968c8315e6161d79429 gcc/testsuite/g++.dg/ext/attr-trailing1.C 5c2088defb983e68f4b6df2ee178d499 gcc/testsuite/g++.dg/ext/attr-used-1.C 758b042dd0d19638f99e51139b65df3d gcc/testsuite/g++.dg/ext/attr-warning.C 6ce972d5686790fe9c2f5bbd08661b2f gcc/testsuite/g++.dg/ext/attrib1.C *************** f6addddeaf5bf3773bacaf903a33daa7 gcc/te *** 14925,14930 **** --- 15009,15015 ---- 9d918d118a0e75fc50d60f72c8fd456c gcc/testsuite/g++.dg/ext/attrib59.C 76284b29c6fce52f56ddbcc04acd3a97 gcc/testsuite/g++.dg/ext/attrib6.C b6c134d4646b46725f8f4f231df5349f gcc/testsuite/g++.dg/ext/attrib60.C + df4711200e4e7cd7c5366aa4bdd29d74 gcc/testsuite/g++.dg/ext/attrib61.C 7af1e9265de26187b4a3a3880f99ac11 gcc/testsuite/g++.dg/ext/attrib7.C 23c4a640241391acec5a1fd2c3fa5f25 gcc/testsuite/g++.dg/ext/attrib8.C db629587302d47a98b453a1702e900c9 gcc/testsuite/g++.dg/ext/attrib9.C *************** dc55e7eba1b2185bc5a3bc7222592855 gcc/te *** 14967,14972 **** --- 15052,15058 ---- 0159469d5f1eba2e6013c4c9e15f33ea gcc/testsuite/g++.dg/ext/builtin11.C 37c90bd75d238839255f0ee41d62aaab gcc/testsuite/g++.dg/ext/builtin12.C 37b1b92015b909a10a6517be87a9172f gcc/testsuite/g++.dg/ext/builtin13.C + 7f9a7e963d4ae6977084c63ffe84e4eb gcc/testsuite/g++.dg/ext/builtin14.C 4b79f0ca012fab75e5085a3acc4d333d gcc/testsuite/g++.dg/ext/builtin2.C cae0a0827ebd04467735e973f329d79d gcc/testsuite/g++.dg/ext/builtin3.C 7c883048f0ed19d3dcbf405e1cf70cd0 gcc/testsuite/g++.dg/ext/builtin30.C *************** f66f889c43e1cd491c7d66ecdd645529 gcc/te *** 15126,15131 **** --- 15212,15218 ---- 3622bd11de543347af7ad43a5ee1530d gcc/testsuite/g++.dg/ext/flexary32.C 74f6c053c0114f2642098943985dd99c gcc/testsuite/g++.dg/ext/flexary33.C b2c60991d5b6f21b7202a6d5a7c81412 gcc/testsuite/g++.dg/ext/flexary34.C + da96fc262f063d29280b10e42245318e gcc/testsuite/g++.dg/ext/flexary36.C 7c5aa9e0bd6655b7c3b04f320d67e736 gcc/testsuite/g++.dg/ext/flexary4.C 0cdb8ed93bc6d926326dda41fc92d614 gcc/testsuite/g++.dg/ext/flexary5.C 57643e50a930f6d1e7ea68411e707a26 gcc/testsuite/g++.dg/ext/flexary6.C *************** ed1c6dd1affd38da6f57f4982d15f9ec gcc/te *** 15210,15219 **** b579998c84a7b6c9374dbdc81f28e45a gcc/testsuite/g++.dg/ext/is_constructible1.C 604c689e4f6bdf07da7fd4f5a21aa0a2 gcc/testsuite/g++.dg/ext/is_constructible2.C 76eb31665e6c2034d39a3a88d38ad3b1 gcc/testsuite/g++.dg/ext/is_constructible3.C deb5d60ce9955a69d116b30edd2cf933 gcc/testsuite/g++.dg/ext/is_empty.C 51590a59aaf8715b9fe4a7ae06414cb8 gcc/testsuite/g++.dg/ext/is_empty2.C 03f82ac5f5b864878fa0ffa4383fa338 gcc/testsuite/g++.dg/ext/is_enum.C ! f97f6c9ca5287718384b4e75531c54f2 gcc/testsuite/g++.dg/ext/is_final.C d97310b12ece2c21881785f78f44e64a gcc/testsuite/g++.dg/ext/is_literal_type1.C cce82a97f2d80557fc2ee719db6afda2 gcc/testsuite/g++.dg/ext/is_literal_type2.C 23bf9f19377330f98f34038ddb75c870 gcc/testsuite/g++.dg/ext/is_pod.C --- 15297,15307 ---- b579998c84a7b6c9374dbdc81f28e45a gcc/testsuite/g++.dg/ext/is_constructible1.C 604c689e4f6bdf07da7fd4f5a21aa0a2 gcc/testsuite/g++.dg/ext/is_constructible2.C 76eb31665e6c2034d39a3a88d38ad3b1 gcc/testsuite/g++.dg/ext/is_constructible3.C + ed04365b57dec8b58125996aefe86234 gcc/testsuite/g++.dg/ext/is_constructible4.C deb5d60ce9955a69d116b30edd2cf933 gcc/testsuite/g++.dg/ext/is_empty.C 51590a59aaf8715b9fe4a7ae06414cb8 gcc/testsuite/g++.dg/ext/is_empty2.C 03f82ac5f5b864878fa0ffa4383fa338 gcc/testsuite/g++.dg/ext/is_enum.C ! 37398fff65ce2d16df6f0cb340b97987 gcc/testsuite/g++.dg/ext/is_final.C d97310b12ece2c21881785f78f44e64a gcc/testsuite/g++.dg/ext/is_literal_type1.C cce82a97f2d80557fc2ee719db6afda2 gcc/testsuite/g++.dg/ext/is_literal_type2.C 23bf9f19377330f98f34038ddb75c870 gcc/testsuite/g++.dg/ext/is_pod.C *************** c701eeb2a89e68678d091a7a01b3cbab gcc/te *** 15500,15505 **** --- 15588,15594 ---- 56d8136e642cb24cb4da8e83e4f943f7 gcc/testsuite/g++.dg/ext/visibility/pragma.C 14ca1521630ef80a83c404dfb225885d gcc/testsuite/g++.dg/ext/visibility/prop1.C e73aef737d1611387dc8acc194cb682f gcc/testsuite/g++.dg/ext/visibility/redecl1.C + ba36532f7394bf55a85728b40f79ce17 gcc/testsuite/g++.dg/ext/visibility/ref-temp1.C 6014ef7f9e80dffce855a18d78bf2212 gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C f557224265cdd5e5b63d2ff669e9cabe gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C 871b12330fdac390784bb00c45740be6 gcc/testsuite/g++.dg/ext/visibility/symbian1.C *************** fc63cfdc56a33b15fa4d063e5ef655b2 gcc/te *** 15693,15699 **** 135dd9ca392aa9976b7a20570053aa68 gcc/testsuite/g++.dg/gomp/member-4.C 40ddfb4cf46a4ea2a28ece501a9d1b2b gcc/testsuite/g++.dg/gomp/method-1.C badbf609721acd5ee04999023c4af494 gcc/testsuite/g++.dg/gomp/openmp-simd-1.C ! ea8624eaab1d22a16dec629523a83531 gcc/testsuite/g++.dg/gomp/openmp-simd-2.C ad5a2c143fabe766d3848eb100ea6c38 gcc/testsuite/g++.dg/gomp/openmp-simd-3.C 20b058bc3ab390f835dc26da1b4b891e gcc/testsuite/g++.dg/gomp/ordered-1.C ad83350cdd58e73fddf0b7bacdf348a8 gcc/testsuite/g++.dg/gomp/ordered-2.C --- 15782,15788 ---- 135dd9ca392aa9976b7a20570053aa68 gcc/testsuite/g++.dg/gomp/member-4.C 40ddfb4cf46a4ea2a28ece501a9d1b2b gcc/testsuite/g++.dg/gomp/method-1.C badbf609721acd5ee04999023c4af494 gcc/testsuite/g++.dg/gomp/openmp-simd-1.C ! 2e7e4a5c79eb8fe54062fed88c9a9fa3 gcc/testsuite/g++.dg/gomp/openmp-simd-2.C ad5a2c143fabe766d3848eb100ea6c38 gcc/testsuite/g++.dg/gomp/openmp-simd-3.C 20b058bc3ab390f835dc26da1b4b891e gcc/testsuite/g++.dg/gomp/ordered-1.C ad83350cdd58e73fddf0b7bacdf348a8 gcc/testsuite/g++.dg/gomp/ordered-2.C *************** f4af350e7c840b674d4df142d3432e80 gcc/te *** 15818,15823 **** --- 15907,15915 ---- 905a581e462fc775cb2be6623fcacf00 gcc/testsuite/g++.dg/gomp/pr88733.C 4b42a7fda8d3ea41699780101b9c6384 gcc/testsuite/g++.dg/gomp/pr88949.C c1464987d35d87dd8f66e42e5434dd87 gcc/testsuite/g++.dg/gomp/pr89796.C + 3ceb435fbb695a14bdd86c4f3ecd2307 gcc/testsuite/g++.dg/gomp/pr91118-1.C + bc8b7b694dfa419e9a5ac679bb294b77 gcc/testsuite/g++.dg/gomp/pr91118-2.C + 32a827a0f114f3ea9fa6a18789870b5a gcc/testsuite/g++.dg/gomp/pr92504.C a3f91d106380d3bcaf59045bcf7186c6 gcc/testsuite/g++.dg/gomp/predetermined-1.C a6479847f9d522f85cbd16a46d7f9698 gcc/testsuite/g++.dg/gomp/private-1.C d447246d410ae61ed9f733998e77b958 gcc/testsuite/g++.dg/gomp/reference-1.C *************** ec4202dd3ca86defec9ba3dfe4bfdad4 gcc/te *** 16060,16065 **** --- 16152,16161 ---- 98fa23ffe84ada2a813e464e0e252369 gcc/testsuite/g++.dg/init/array50.C 2b3f1fea4a90425e57445a215e670919 gcc/testsuite/g++.dg/init/array51.C 9c10f5904419056635d57eef17d71f07 gcc/testsuite/g++.dg/init/array52.C + a701d12a48efcb4c04b1d49b009e3518 gcc/testsuite/g++.dg/init/array53.C + ff481167daacdca90c86f58cab288895 gcc/testsuite/g++.dg/init/array54.C + 7a6b8f6bf545e055ab066cc6bc5e869b gcc/testsuite/g++.dg/init/array55.C + e7a4920eaa905e671e74b6482c654721 gcc/testsuite/g++.dg/init/array56.C 12f516d0ef7088644b46185bbd83ef4d gcc/testsuite/g++.dg/init/array6.C 02cf876b0b0d2594118addc046b9112a gcc/testsuite/g++.dg/init/array7.C 4ab5bb9dc38b78d749ba584adefbdc33 gcc/testsuite/g++.dg/init/array8.C *************** e4c5ea0b15c77ead9c9fe9212738b9ec gcc/te *** 16528,16533 **** --- 16624,16630 ---- 29db8a93c552179e2118ba4096879c15 gcc/testsuite/g++.dg/ipa/pr88235.C 09c0ea9b37840a41bc30204d7af8c1ef gcc/testsuite/g++.dg/ipa/pr89009.C 68096b3683f7d5d854cba520e7ed2a86 gcc/testsuite/g++.dg/ipa/pr89693.C + 5876d4ac836871fb0c8247b9473d8271 gcc/testsuite/g++.dg/ipa/pr93223.C 36fa3f305af8daf292a5a974b6cd8017 gcc/testsuite/g++.dg/ipa/pure-const-1.C 82a7eaa06c8e9918346a40ce4e5c9881 gcc/testsuite/g++.dg/ipa/pure-const-2.C ee6095015820d87205d7dcbb848a66d1 gcc/testsuite/g++.dg/ipa/pure-const-3.C *************** acece40c5f32aaa3b38f954b91368d3c gcc/te *** 16664,16673 **** 63850d2da277a993459adc90859da456 gcc/testsuite/g++.dg/lookup/missing-std-include-2.C 29a08861fcce5ce8183c96169e17d4c1 gcc/testsuite/g++.dg/lookup/missing-std-include-3.C 2089959ff25a41b6553e2e30bcdab132 gcc/testsuite/g++.dg/lookup/missing-std-include-4.C ! ebd2e188a4e001a51cca4db537fff2bf gcc/testsuite/g++.dg/lookup/missing-std-include-5.C ! a33692eb905167cf0b3191f444e38fd0 gcc/testsuite/g++.dg/lookup/missing-std-include-6.C 3d220622c3cf94c2c856e98e299989ef gcc/testsuite/g++.dg/lookup/missing-std-include-7.C ! 4384463d109035c394e991a08cf3a047 gcc/testsuite/g++.dg/lookup/missing-std-include-8.C ecb804007c1fa8a878d2197cb35a2d89 gcc/testsuite/g++.dg/lookup/missing-std-include.C 6c99bf6f0c2260471ad74e39e36cdf71 gcc/testsuite/g++.dg/lookup/name-clash1.C 51f1b95d6c879739a8fae563ede188d0 gcc/testsuite/g++.dg/lookup/name-clash10.C --- 16761,16770 ---- 63850d2da277a993459adc90859da456 gcc/testsuite/g++.dg/lookup/missing-std-include-2.C 29a08861fcce5ce8183c96169e17d4c1 gcc/testsuite/g++.dg/lookup/missing-std-include-3.C 2089959ff25a41b6553e2e30bcdab132 gcc/testsuite/g++.dg/lookup/missing-std-include-4.C ! 8c9e7cd6068948fc3bc9f18fb4358bbc gcc/testsuite/g++.dg/lookup/missing-std-include-5.C ! 747d4e43728357e44238bb23680126e8 gcc/testsuite/g++.dg/lookup/missing-std-include-6.C 3d220622c3cf94c2c856e98e299989ef gcc/testsuite/g++.dg/lookup/missing-std-include-7.C ! e79584d4c910c70ebcefcd854ff0809f gcc/testsuite/g++.dg/lookup/missing-std-include-8.C ecb804007c1fa8a878d2197cb35a2d89 gcc/testsuite/g++.dg/lookup/missing-std-include.C 6c99bf6f0c2260471ad74e39e36cdf71 gcc/testsuite/g++.dg/lookup/name-clash1.C 51f1b95d6c879739a8fae563ede188d0 gcc/testsuite/g++.dg/lookup/name-clash10.C *************** b0d2b85719be4698bf6dbe4c553cb0fc gcc/te *** 16724,16729 **** --- 16821,16827 ---- 92d8ca6e3168a7b42ef20361e76d5bd7 gcc/testsuite/g++.dg/lookup/pr87531-2.C d85c77d90a65a6ab99636a50096dd54e gcc/testsuite/g++.dg/lookup/pr87531.C 830dbad0afb086773b9afc3c031a5be1 gcc/testsuite/g++.dg/lookup/pr87904.C + 3d384542a620fae8987b3de3d5ed239f gcc/testsuite/g++.dg/lookup/pr91826.C 9fc063d780e4510399927cfe832e8770 gcc/testsuite/g++.dg/lookup/pretty1.C f30dda31dee159f3aebbbc269a5fd8e4 gcc/testsuite/g++.dg/lookup/ptrmem1.C a2c2f830b707488f1f2104abe37f00dc gcc/testsuite/g++.dg/lookup/redecl1.C *************** cb782e35cc277d1b7be31cdb2b766e39 gcc/te *** 17092,17097 **** --- 17190,17196 ---- 4f6e362a864f5ac4f9b9b99e660e0674 gcc/testsuite/g++.dg/lto/pr89358_1.C 71c4e0358186a48bc58fd216bc445a9a gcc/testsuite/g++.dg/lto/pr90939_0.C 52ac5c759138b17ea3fb0b5c2ad3e41c gcc/testsuite/g++.dg/lto/pr90939_1.C + f4fd4f3ad07ffe64bf370d8927987578 gcc/testsuite/g++.dg/lto/pr91572_0.C 6232508298dd20a759cf64fffbca9f5e gcc/testsuite/g++.dg/lto/v1-plugin-api-not-supported_0.C dbe30d4af4bd2caeabf4784c3ef0ca9d gcc/testsuite/g++.dg/missing-return.C 0611288c84e3f846cb789e1b0d0e7706 gcc/testsuite/g++.dg/missing-symbol-2.C *************** dd4b362edbe19cdf29a47f7bb90e6e2a gcc/te *** 17442,17447 **** --- 17541,17550 ---- eea9eb29aff452d80dae491fa69bef1b gcc/testsuite/g++.dg/opt/pr89188.C 3e5f30b9a6314b526d4ca69c9d1c4b95 gcc/testsuite/g++.dg/opt/pr90026.C 7842f073118719d55d2d03e047ef75de gcc/testsuite/g++.dg/opt/pr90090.C + c7c71a3fbb2d149cea91915e55ea97e2 gcc/testsuite/g++.dg/opt/pr91351.C + 3d0bdb8c25ff94901cf3d1d3b911560a gcc/testsuite/g++.dg/opt/pr91838.C + 8dd582fc8ca581a9ea0ed5007dd6eb86 gcc/testsuite/g++.dg/opt/pr92007.C + 0beb3dc8882c0dfccd93122c7371db32 gcc/testsuite/g++.dg/opt/pr92644.C 1451eba24eea82cbd0c1ab87885c0f77 gcc/testsuite/g++.dg/opt/preinc1.C 0841088f825be785d32663d712ecf675 gcc/testsuite/g++.dg/opt/ptrintsum1.C 8ceccf2f02b3f64f372600e32148e146 gcc/testsuite/g++.dg/opt/ptrmem1.C *************** bc5371eb8e8dcf79efb0889828991560 gcc/te *** 17676,17683 **** 3ca5017faf45f39326ff4e30a1ec1ba8 gcc/testsuite/g++.dg/other/i386-1.C 9913a24914ce11f6a0606c70ed58cb96 gcc/testsuite/g++.dg/other/i386-10.C 8925c3efd781e76570846cfd6f817fd2 gcc/testsuite/g++.dg/other/i386-11.C ! cdf089d667fbc8d619d3d71f858939b6 gcc/testsuite/g++.dg/other/i386-2.C ! ab8e94f519de0e2c0c53a7b0dc025bc0 gcc/testsuite/g++.dg/other/i386-3.C a4ad4c2cb3c1448496351241a77aedb7 gcc/testsuite/g++.dg/other/i386-4.C a32a5af1b4c57aabcbdaa817835a698d gcc/testsuite/g++.dg/other/i386-7.C b3ef431f4cf4776208d7042aff2ddb83 gcc/testsuite/g++.dg/other/i386-8.C --- 17779,17786 ---- 3ca5017faf45f39326ff4e30a1ec1ba8 gcc/testsuite/g++.dg/other/i386-1.C 9913a24914ce11f6a0606c70ed58cb96 gcc/testsuite/g++.dg/other/i386-10.C 8925c3efd781e76570846cfd6f817fd2 gcc/testsuite/g++.dg/other/i386-11.C ! c8e556f2f50c7d141a7af4bc139ecd6b gcc/testsuite/g++.dg/other/i386-2.C ! 1c6aa25d2057137dafc4447e71a8c249 gcc/testsuite/g++.dg/other/i386-3.C a4ad4c2cb3c1448496351241a77aedb7 gcc/testsuite/g++.dg/other/i386-4.C a32a5af1b4c57aabcbdaa817835a698d gcc/testsuite/g++.dg/other/i386-7.C b3ef431f4cf4776208d7042aff2ddb83 gcc/testsuite/g++.dg/other/i386-8.C *************** da74c49b9e9037a2ac84a9462002684c gcc/te *** 17799,17804 **** --- 17902,17908 ---- e716b31d86bef260a0d00fd877fbc9cf gcc/testsuite/g++.dg/other/pr88568.C 24ac76b9cd1e6471539e65dc34e63be3 gcc/testsuite/g++.dg/other/pr89560.C a0e823e69e02d21c09fddd6ef53d51e3 gcc/testsuite/g++.dg/other/pr89692.C + 64ff90efb0bd953cbcb7d0d41855c3b3 gcc/testsuite/g++.dg/other/pr92201.C 2b96e0cda3aaa703c284fca6a0dd72c9 gcc/testsuite/g++.dg/other/pragma-re-1.C bdec0c9208af6ee3a9ab1f2c07d3ba19 gcc/testsuite/g++.dg/other/pragma-re-2.C f804e6064a0c7cd94d73f58ba8f6e5e0 gcc/testsuite/g++.dg/other/profile1.C *************** b71aeb26aa9311659d87b7de1be00dcc gcc/te *** 17877,17882 **** --- 17981,17987 ---- 494fd275c1d67e2ced55a80500cbedec gcc/testsuite/g++.dg/overload/arg4.C 2462790168c7dfd3a860d6ca77ecec30 gcc/testsuite/g++.dg/overload/arg5.C 1e41ec11ca00276315dd010f205f9f90 gcc/testsuite/g++.dg/overload/autoptr1.C + 11ea1c2f872eed9fbbeefd46eb0f83a9 gcc/testsuite/g++.dg/overload/bit-field1.C e549b742987ea4bf15156f2ff8b335da gcc/testsuite/g++.dg/overload/builtin1.C 3a79826fd499e94593a88f2c06436f3d gcc/testsuite/g++.dg/overload/builtin2.C a0b8fd80bfd82adaa23c61a98df112fb gcc/testsuite/g++.dg/overload/builtin3.C *************** e91f3d3016e1e200ebed1193330b5657 gcc/te *** 18329,18334 **** --- 18434,18440 ---- 447fc3e462b9b45bbf68e672e2421b3c gcc/testsuite/g++.dg/parse/operator5.C 0578823e3d3e65db335d3144fea8e448 gcc/testsuite/g++.dg/parse/operator6.C 8a4367896acda2c1db8e321d02d4aa92 gcc/testsuite/g++.dg/parse/operator7.C + 90d5ee3d87668accad2338969cd780c5 gcc/testsuite/g++.dg/parse/operator8.C b8b60c6b3d20bc77c7acd224354d653f gcc/testsuite/g++.dg/parse/parameter-declaration-1.C e3ddebbe6b42d002375e551ea770cbdf gcc/testsuite/g++.dg/parse/parameter-declaration-2.C de20c30d40f4cceef57124b5828bf816 gcc/testsuite/g++.dg/parse/parens1.C *************** d0caf9e5362287726dc95d5165f20feb gcc/te *** 18731,18736 **** --- 18837,18843 ---- ed2c407a8454e62219c76dc3c5b72a1e gcc/testsuite/g++.dg/pr89242.C 7287759250de84d3108a523dee756970 gcc/testsuite/g++.dg/pr89790.C 8d5a3269887286ec688e05d86356d904 gcc/testsuite/g++.dg/pr91173.C + 6e8d6b516059e08a5442ff7a7f944b34 gcc/testsuite/g++.dg/pr92022.C 184e70d5635b77134bb901b25ccd4c61 gcc/testsuite/g++.dg/predict-1.C df9c1f0040c84d9c37fd8d281618f2df gcc/testsuite/g++.dg/predict-2.C 9eaee03e6354eabcc7fc34abc5cc11db gcc/testsuite/g++.dg/predict-3.C *************** bc26ef84f5a062823e14f4e50d2e1e8c gcc/te *** 19159,19164 **** --- 19266,19275 ---- a1ee69de58a5087bc0a5772d3b7f8309 gcc/testsuite/g++.dg/template/deduce1.C 3cc52990bce905a42f91a2dab1c65c77 gcc/testsuite/g++.dg/template/deduce2.C 862861bccf9830342f51a0cc243559f2 gcc/testsuite/g++.dg/template/deduce3.C + e734bd4a9592f8ad037cead9d884b5df gcc/testsuite/g++.dg/template/deduce4.C + cefab0d5080f8c427b8e84b645a2beb1 gcc/testsuite/g++.dg/template/deduce5.C + f68387a287f06f28ebf06bcc2f375b1a gcc/testsuite/g++.dg/template/deduce6.C + 13a656ecf3882314fca86ac44ee2b555 gcc/testsuite/g++.dg/template/deduce7.C e56cdb80a6b4148add333d45d0d83d9a gcc/testsuite/g++.dg/template/defarg1.C 1f7a92340a1c2a7cf7f4bb987f326111 gcc/testsuite/g++.dg/template/defarg10.C d4611f4846a0b498f17d4173fb4e9cfb gcc/testsuite/g++.dg/template/defarg11.C *************** cf4f053f829cc77941d9499636dba788 gcc/te *** 20716,20723 **** --- 20827,20840 ---- 28251f0199f94a1606cac696e1db484b gcc/testsuite/g++.dg/torture/pr89303.C 6295f2521ee059610fe7d8e12800e20b gcc/testsuite/g++.dg/torture/pr89698.C 922274fa2bea46eb7cee843b1f139ab8 gcc/testsuite/g++.dg/torture/pr90194.C + 38d5ed9578a5910b56d57c30c896f01f gcc/testsuite/g++.dg/torture/pr90313.cc 8f37bcbeb67682110bfb7b989631551a gcc/testsuite/g++.dg/torture/pr90982.C + c09ff981d388790529f959a054685551 gcc/testsuite/g++.dg/torture/pr91155.C 8512e0d79849c3153a1290024a552a14 gcc/testsuite/g++.dg/torture/pr91280.C + 7782e7a66949621445617364c753a54f gcc/testsuite/g++.dg/torture/pr91355.C + 3d0408f32ee832d98bd0325169fc1951 gcc/testsuite/g++.dg/torture/pr91606.C + 1779028417f5f8e86e290051fd916516 gcc/testsuite/g++.dg/torture/pr92384.C + 128505e31d0c3cfec9b59aafee1a7c1a gcc/testsuite/g++.dg/torture/pr93246.C e47702cb1ff0caccc17257524e8667dc gcc/testsuite/g++.dg/torture/predcom-1.C d28910105d9c9253d94d70eacd5e19d4 gcc/testsuite/g++.dg/torture/pushpop_macro.C a1b47b9c3e69d79d1895ebc4fd11032b gcc/testsuite/g++.dg/torture/stackalign/check.h *************** e3ed0915879efd66bbba74b1ab6c5a0e gcc/te *** 21404,21409 **** --- 21521,21527 ---- 1838324ae4d6c4171b6e67db3068b07b gcc/testsuite/g++.dg/warn/Wsign-conversion-2.C 84cee5930cbd38432830a959aaaae4cf gcc/testsuite/g++.dg/warn/Wsign-conversion-3.C fb0027ea1d09ff6e88b90961d97d2660 gcc/testsuite/g++.dg/warn/Wsign-conversion-4.C + 817fdd7ad31942555dbd1e01b7c17dfe gcc/testsuite/g++.dg/warn/Wsign-conversion-5.C 65bb0b1a539c8d633ac1654e8cb4ac71 gcc/testsuite/g++.dg/warn/Wsign-conversion.C e0c1598f06e0781562c2dec6e2bc4c5a gcc/testsuite/g++.dg/warn/Wsizeof-pointer-memaccess-1.C 44dc4b5572b60846a2322e12b0510783 gcc/testsuite/g++.dg/warn/Wstrict-aliasing-1.C *************** e668b1c05f8d62f23aa769b40e21b385 gcc/te *** 21595,21600 **** --- 21713,21720 ---- d5fcd483303360915cb089b93fa1cd74 gcc/testsuite/g++.dg/warn/ctor-dtor-privacy-1.C ca9f620c9a4fcfd05cfa551f64c2c55c gcc/testsuite/g++.dg/warn/ctor-dtor-privacy-2.C c8c65a2d5647070af20c4a824712c3ec gcc/testsuite/g++.dg/warn/ctor-dtor-privacy-3.C + ef6b448559dfb55f716baaf60ef6e508 gcc/testsuite/g++.dg/warn/ctor-dtor-privacy-4.C + 04c4b9125f6d5753da834bd850607d4b gcc/testsuite/g++.dg/warn/ctor-dtor-privacy-4.h 85dc72a0303b57c698ce2804c195f5b0 gcc/testsuite/g++.dg/warn/ctor-init-1.C 450b64494a8df8181368be08d23e5bf9 gcc/testsuite/g++.dg/warn/ctor1.C e415b9568db9cd79464c85885dc0c9e2 gcc/testsuite/g++.dg/warn/delete-array-1.C *************** a4df5f71f7276c81c3910ad2fc5b65f7 gcc/te *** 21638,21643 **** --- 21758,21764 ---- 91c62256f30105a26fc3b802f591bfa5 gcc/testsuite/g++.dg/warn/incomplete2.C 766fc32fbc1f9be1188efd240c05e45d gcc/testsuite/g++.dg/warn/inline1.C 7c84293b9be13f3fdd30d3803765a5c4 gcc/testsuite/g++.dg/warn/inline2.C + 8b1322d2015c94f92f5ac67482c9a2bd gcc/testsuite/g++.dg/warn/inline3.C 600240b9b1a106c64a4f0127219c78b8 gcc/testsuite/g++.dg/warn/main-2.C 43a7ad018e2ced981acc916d2df8f96b gcc/testsuite/g++.dg/warn/main-3.C b8c62de5dbf97777a789b0e6031264f5 gcc/testsuite/g++.dg/warn/main-4.C *************** a9182e6d928d363b56a91bded6231bb9 gcc/te *** 25099,25104 **** --- 25220,25227 ---- 819ecf07fe897248c2153cdb9dee2292 gcc/testsuite/g++.target/i386/pr82625.C 595e95a52a8e7241531daede25387052 gcc/testsuite/g++.target/i386/pr85329-2.C 83ee00a9e7a064242ad6f43457dfa886 gcc/testsuite/g++.target/i386/pr85329.C + 7eeddec0420d9a51d61e3c4c9be6d594 gcc/testsuite/g++.target/i386/pr85334-1.C + 5721d1e0778ed4e6cfb2c0ec826eac4c gcc/testsuite/g++.target/i386/pr85334-2.C 64e5aae7c0b5f4496c111c1ea220cc12 gcc/testsuite/g++.target/i386/pr88152.C aed6e5e76d30c7296815bcff247c5b1d gcc/testsuite/g++.target/i386/pr88587.C 69ffb8145d9e913332fee168bb43ffef gcc/testsuite/g++.target/i386/pr88636.C *************** e42b1e4bae5852d02674a9f5a44931b3 gcc/te *** 25109,25114 **** --- 25232,25239 ---- e8d8678f29554250ac24dbb0b0a65e98 gcc/testsuite/g++.target/i386/pr89650.C 6a8ecb5087f6e681c993119a988900ef gcc/testsuite/g++.target/i386/pr90187.C ae2a93d8f19ffa52e3299875575fb012 gcc/testsuite/g++.target/i386/pr90303.C + 706d6ce9a5089e7aa1faffbd83f7723b gcc/testsuite/g++.target/i386/pr94046-1.C + 9d95623392a0cfa69554963dbae983f2 gcc/testsuite/g++.target/i386/pr94046-2.C a621b799eff193996043d9d5462e5c27 gcc/testsuite/g++.target/i386/sse4_1-check.h 821d1f6cc7812ffc5220fc45c484c00f gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C 05e47f652ea4bc7c8df9bae20aaaa2b4 gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C *************** ba7ecb97d3019d0ba80490d9c7b12ca8 gcc/te *** 25576,25581 **** --- 25701,25707 ---- 7429d21d7e23ba12a5d6bf3547a80959 gcc/testsuite/gcc.c-torture/compile/20180605-1.c 3e0c7245f685d2f981de013581fd6bf8 gcc/testsuite/gcc.c-torture/compile/20180915-1.c 45fd11790d18669853b3fa78d79b6faa gcc/testsuite/gcc.c-torture/compile/20181114-1.c + 6c8411f42f9f7fcab63cbfd6cba8eb38 gcc/testsuite/gcc.c-torture/compile/20191108-1.c ebed49e0868fa97d60c12191fa496d07 gcc/testsuite/gcc.c-torture/compile/386.c 9681568709601cbb39a156fa04526182 gcc/testsuite/gcc.c-torture/compile/86.c ab32e65ea5976f9083dc8234dae65343 gcc/testsuite/gcc.c-torture/compile/900116-1.c *************** e7f459c4af5a8e616ac0225605a4c7c0 gcc/te *** 26756,26762 **** 6653345387e8315c9c4d66e73583fcf4 gcc/testsuite/gcc.c-torture/compile/pr84136.c 3eb4fea21fdf92acccddbf806adc7973 gcc/testsuite/gcc.c-torture/compile/pr84178-1.c 58f8cb277a91b9b8b3c8ef6a9165546d gcc/testsuite/gcc.c-torture/compile/pr84195.c - 3922ce0e50bd66f1f145e8668f8fe398 gcc/testsuite/gcc.c-torture/compile/pr84305.c 486cfbfb0a89e2546aa7778b27c28024 gcc/testsuite/gcc.c-torture/compile/pr84383.c 88a8aece4f21f4a06af4abec9669bc53 gcc/testsuite/gcc.c-torture/compile/pr84425.c 365283cdff7a6e895b67e7712272be09 gcc/testsuite/gcc.c-torture/compile/pr84845.c --- 26882,26887 ---- *************** fc86c5909e9a80383dab6366a0f8648d gcc/te *** 26789,26794 **** --- 26914,26928 ---- 9e0af4f9e229aa8a0151b863c40f3072 gcc/testsuite/gcc.c-torture/compile/pr89998-1.c 28107e4eddc0810b8c90657b7cca7ab0 gcc/testsuite/gcc.c-torture/compile/pr89998-2.c 99639c63132deca7d94430de65a54739 gcc/testsuite/gcc.c-torture/compile/pr90139.c + e11a1416fe433daf1bcec941d4d1ce98 gcc/testsuite/gcc.c-torture/compile/pr90840.c + a030cf60882ea26ac44f293f1ecbd5e0 gcc/testsuite/gcc.c-torture/compile/pr91001.c + 662f32f637e1c11befa59dbfbf1e1d6e gcc/testsuite/gcc.c-torture/compile/pr92056.c + 105b589b4d60d8ba169ba04cad935b0b gcc/testsuite/gcc.c-torture/compile/pr92231.c + dc8f609dbb0db163caa0e7adfc5d9240 gcc/testsuite/gcc.c-torture/compile/pr93333.c + 38c1d7c24a9a64ca6c6c64c07b774c44 gcc/testsuite/gcc.c-torture/compile/pr93335.c + 156dbb8af2805f1d7b1d39d0088f5b2f gcc/testsuite/gcc.c-torture/compile/pr93348-1.c + 620d5c7d92e3c8bc73e14d8ac589036a gcc/testsuite/gcc.c-torture/compile/pr93505.c + 22928b66796dd98928bd0441207dfe65 gcc/testsuite/gcc.c-torture/compile/pr93949.c 9611ffa8936d9c80d0a9ccde8dd093b2 gcc/testsuite/gcc.c-torture/compile/pret-arg.c b9e6ce52b90320c1c3803c25113844c5 gcc/testsuite/gcc.c-torture/compile/pta-1.c ed716c1d1727fc2c748162e0cbc4ee47 gcc/testsuite/gcc.c-torture/compile/ptr-conv-1.c *************** a024382373a506e7761148108043c429 gcc/te *** 27378,27383 **** --- 27512,27520 ---- 09507ca98613870c046de0e4814d1831 gcc/testsuite/gcc.c-torture/execute/20180921-1.c 03e6abf4c7580822fb8fcbb32c3bb34a gcc/testsuite/gcc.c-torture/execute/20181120-1.c ecbbfd4b186a0dd8448d96f39a543fb4 gcc/testsuite/gcc.c-torture/execute/20190228-1.c + 0e7e458f83ab35a789bf9cae2f121b53 gcc/testsuite/gcc.c-torture/execute/20190820-1.c + 48e80df21591c4156020fdd4a386b2f4 gcc/testsuite/gcc.c-torture/execute/20190901-1.c + 2e368329bfad3d99e406eade7d55032d gcc/testsuite/gcc.c-torture/execute/20191023-1.c 65f01ac7346bd4d47ed9c1ca94ab74ff gcc/testsuite/gcc.c-torture/execute/900409-1.c 5aefab4daab0bd29ecf2a389f3c44f40 gcc/testsuite/gcc.c-torture/execute/920202-1.c 74e2b57e4fb280900b2f9b169dd75b1c gcc/testsuite/gcc.c-torture/execute/920302-1.c *************** fe9cbf88b57bdd9a5bf9c526284225f4 gcc/te *** 28559,28566 **** --- 28696,28717 ---- 4d7dae66f38ff3b1b286c300208b02ed gcc/testsuite/gcc.c-torture/execute/pr89634.c 4165667509c1985c02a5caebd101614d gcc/testsuite/gcc.c-torture/execute/pr89826.c b218aa552a7d53beb1e047811733490d gcc/testsuite/gcc.c-torture/execute/pr90025.c + d26cfc42f19ac5e3ce4db452fd94f09a gcc/testsuite/gcc.c-torture/execute/pr90311.c 5235b3e2d6dd776b53d6a44ba5933a8a gcc/testsuite/gcc.c-torture/execute/pr90949.c 7f239d011b9e98943acdc8e3437ed19c gcc/testsuite/gcc.c-torture/execute/pr91137.c + 3d5a788c848a67ade7bd18ab62494a1a gcc/testsuite/gcc.c-torture/execute/pr91450-1.c + 7a2c17f605bcf1dd060a1a6ea28c2426 gcc/testsuite/gcc.c-torture/execute/pr91450-2.c + ee17bd481fb3fe7371a97d45e7fb1698 gcc/testsuite/gcc.c-torture/execute/pr91597.c + ad7c474351d293f3938a5aff5d1faf91 gcc/testsuite/gcc.c-torture/execute/pr91632.c + af6b84b440f79dbac6f54234769daf51 gcc/testsuite/gcc.c-torture/execute/pr91635.c + a11f543d4a1ab92e9bc0bd9bcd9816f5 gcc/testsuite/gcc.c-torture/execute/pr92904.c + 90c78675453ac190d2a254a078d099c1 gcc/testsuite/gcc.c-torture/execute/pr93402.c + 174f51890ae625613e2e537d9dcddde5 gcc/testsuite/gcc.c-torture/execute/pr93434.c + 13a74d12f5839ced4211c221b624b70f gcc/testsuite/gcc.c-torture/execute/pr93744-1.c + 03c35d47d6c95b626a3218270d720ae5 gcc/testsuite/gcc.c-torture/execute/pr93744-2.c + 0718f4fea607ff381b848dbf0d8407ed gcc/testsuite/gcc.c-torture/execute/pr93744-3.c + b5fa8dac56892459f774433ef510a1ef gcc/testsuite/gcc.c-torture/execute/pr93908.c + 199cf68aba9145124f1de780a0cf7d53 gcc/testsuite/gcc.c-torture/execute/pr93945.c 8587088d2eab0e974762ba6cd20b4f04 gcc/testsuite/gcc.c-torture/execute/printf-1.c c9ea0c1a31433c22b0bdd0a5b832f7e8 gcc/testsuite/gcc.c-torture/execute/printf-2.c 9e89c9802e280d635a7bc6756bbaf6e6 gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c *************** f273410ff764324a50afef028667ebe5 gcc/te *** 29119,29125 **** d45570f5347d0d2fceb2f46d5bb28195 gcc/testsuite/gcc.dg/Wno-c++-compat.c 2843490ca0540e4f75efd19bc45f6423 gcc/testsuite/gcc.dg/Wno-frame-address.c 78b26e55f8111808885390fc48d39f07 gcc/testsuite/gcc.dg/Wno-pointer-sign.c ! 32a3988bca4d90d3b290e472fb83a91a gcc/testsuite/gcc.dg/Wnonnull.c d7f40d768e2fdadb8ed5f332424b19cf gcc/testsuite/gcc.dg/Wobjsize-1.c 964f8252363c2458931200da17eaaa36 gcc/testsuite/gcc.dg/Wobjsize-1.h b92f8933f909c18a277ea167043b2847 gcc/testsuite/gcc.dg/Wold-style-definition-1.c --- 29270,29276 ---- d45570f5347d0d2fceb2f46d5bb28195 gcc/testsuite/gcc.dg/Wno-c++-compat.c 2843490ca0540e4f75efd19bc45f6423 gcc/testsuite/gcc.dg/Wno-frame-address.c 78b26e55f8111808885390fc48d39f07 gcc/testsuite/gcc.dg/Wno-pointer-sign.c ! 12ac8bc4beaf9edbdf04979c8dfcb9e8 gcc/testsuite/gcc.dg/Wnonnull.c d7f40d768e2fdadb8ed5f332424b19cf gcc/testsuite/gcc.dg/Wobjsize-1.c 964f8252363c2458931200da17eaaa36 gcc/testsuite/gcc.dg/Wobjsize-1.h b92f8933f909c18a277ea167043b2847 gcc/testsuite/gcc.dg/Wold-style-definition-1.c *************** d8272e1d572d33a852614f0a74a31345 gcc/te *** 29894,29899 **** --- 30045,30051 ---- f9262f126c900d76cdb16f0afbfc600f gcc/testsuite/gcc.dg/c11-noreturn-5.c d595f49307eb5192b976a26bca7a9c80 gcc/testsuite/gcc.dg/c11-pointer-float-1.c efe9f8d43440cd3d52de742b3f407e19 gcc/testsuite/gcc.dg/c11-static-assert-1.c + 7108e0131dd58f0a0943232e07ae7a08 gcc/testsuite/gcc.dg/c11-static-assert-10.c 1e1c0e1555e17610aa6e95027b7f72c1 gcc/testsuite/gcc.dg/c11-static-assert-2.c ae86538f5b127d2943d01429510fe5ee gcc/testsuite/gcc.dg/c11-static-assert-3.c d7ef98239e7c17e364c10debfa89d9d2 gcc/testsuite/gcc.dg/c11-static-assert-4.c *************** ba2db177292eaaf55d14598ece867f4d gcc/te *** 30013,30018 **** --- 30165,30171 ---- 351160cb991a2541a836d78ff5a3d7a7 gcc/testsuite/gcc.dg/c99-const-expr-12.c be44655002ff53b455ed10f2b01571fe gcc/testsuite/gcc.dg/c99-const-expr-13.c 601921df5dca967e56d6ff0c58d11e1a gcc/testsuite/gcc.dg/c99-const-expr-14.c + 59aa40df8c80917e30f6ec6cca1ecd5b gcc/testsuite/gcc.dg/c99-const-expr-15.c 2b0ea14af55d8b5c0efa00351b0200a5 gcc/testsuite/gcc.dg/c99-const-expr-2.c 1a41201d98b7cec1fa4768ff010f2243 gcc/testsuite/gcc.dg/c99-const-expr-3.c 8a0c3caa2946e119d2ac9291c14b168f gcc/testsuite/gcc.dg/c99-const-expr-4.c *************** aa9dfa39c42ef65a88c0a708412fb842 gcc/te *** 31048,31054 **** 5ca3ca317094442241bdcaf1320473d2 gcc/testsuite/gcc.dg/darwin-minversion-link.c 333be43e38c5b8f9c8bde5d01493902a gcc/testsuite/gcc.dg/darwin-sections.c 3cfa6daebed9a12884613012f50433e4 gcc/testsuite/gcc.dg/darwin-segaddr.c ! c9bd4478d375a6bea777dcc7c9667d5a gcc/testsuite/gcc.dg/darwin-version-1.c 9145b589b54240035dacb7540309d62e gcc/testsuite/gcc.dg/darwin-weakimport-1.c bda7de2e2fd6472aa3ffe7873407e58d gcc/testsuite/gcc.dg/darwin-weakimport-2.c 616f3eafcf2947e4dd54e569654c0721 gcc/testsuite/gcc.dg/darwin-weakimport-3.c --- 31201,31207 ---- 5ca3ca317094442241bdcaf1320473d2 gcc/testsuite/gcc.dg/darwin-minversion-link.c 333be43e38c5b8f9c8bde5d01493902a gcc/testsuite/gcc.dg/darwin-sections.c 3cfa6daebed9a12884613012f50433e4 gcc/testsuite/gcc.dg/darwin-segaddr.c ! 91dd7afa81d8d5b0e0607ca1adeb791c gcc/testsuite/gcc.dg/darwin-version-1.c 9145b589b54240035dacb7540309d62e gcc/testsuite/gcc.dg/darwin-weakimport-1.c bda7de2e2fd6472aa3ffe7873407e58d gcc/testsuite/gcc.dg/darwin-weakimport-2.c 616f3eafcf2947e4dd54e569654c0721 gcc/testsuite/gcc.dg/darwin-weakimport-3.c *************** ba7e6f4007944b95dbec857fc6c74794 gcc/te *** 31278,31283 **** --- 31431,31444 ---- bd803fab76b770802d951e70b61c9696 gcc/testsuite/gcc.dg/dfp/Wbad-function-cast-1.c d898987e43ad43f22c65725bb92ec24f gcc/testsuite/gcc.dg/dfp/Wtraditional-conversion-2.c 8dfa85ff2d4eb5d9335903160b756d39 gcc/testsuite/gcc.dg/dfp/altivec-types.c + 4a0827303faa43749c8cd640dbe780f2 gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-1.c + ddc7d6b63d747557a4e9b308af18f19c gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-2.c + fab5a640c4568914b07985435cbfca57 gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-3.c + 20ea9fa0b5844799db130e6b40771a9b gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-4.c + 7f0c08d8929bcff2716ec6dcb11d6d86 gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-1.c + 50702f1de618fe90570e4d65bdc7306d gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-2.c + 3df60bf7fc5addda94bde087254e63e5 gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-1.c + f0ae4245e06f4788c24978a3b8a12df6 gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-2.c 2d5128bddc0d69a547254935ce84b555 gcc/testsuite/gcc.dg/dfp/builtin-complex.c 1cd0f9502eb6f26f75689878d1315dde gcc/testsuite/gcc.dg/dfp/builtin-tgmath-dfp-err.c 8be219bdc31d596f6310b63d26678f47 gcc/testsuite/gcc.dg/dfp/builtin-tgmath-dfp.c *************** d7416cac7d67876a0d0d2ddd8b64c9d9 gcc/te *** 32125,32130 **** --- 32286,32292 ---- 0c7376f88d06747513e9db1619206c72 gcc/testsuite/gcc.dg/gomp/pr89246-1.c c60bd6d06d92414ccd01870addd85132 gcc/testsuite/gcc.dg/gomp/pr89246-2.c ef3626bfd9a01c1b3e4b0d6ca7d55c1a gcc/testsuite/gcc.dg/gomp/pr89796.c + 37d75bd2c93a4769c375069e84c59ff3 gcc/testsuite/gcc.dg/gomp/pr90637.c 7b7c5619e17caf4ff7de95c0ea515fde gcc/testsuite/gcc.dg/gomp/pr90900.c 05d60743092504cb97cd1b69bc287d30 gcc/testsuite/gcc.dg/gomp/pr91063.c ed760ac8f4b74b9e23f9f524135a1729 gcc/testsuite/gcc.dg/gomp/pr91216.c *************** e9cb995bb14a5d52b9213cdc06457285 gcc/te *** 32704,32709 **** --- 32866,32873 ---- 2eed98dfcc022044e610af32e1c937c1 gcc/testsuite/gcc.dg/inline-4.c b1da3859103cd524b6f06a987437986c gcc/testsuite/gcc.dg/inline-40.c 11fe410fd32445cd4e9ec94bae8bef30 gcc/testsuite/gcc.dg/inline-41.c + ecbb420d135dea5b382c10b3f807ec9f gcc/testsuite/gcc.dg/inline-42.c + 5eb94e96e85a0b595afa6cb4cac5682d gcc/testsuite/gcc.dg/inline-43.c 7fc691c96ff167ea4acaf530fdfd717a gcc/testsuite/gcc.dg/inline-5.c 96b467a4117442b64211f4f3411003a4 gcc/testsuite/gcc.dg/inline-6.c ba66b4f621efcd9fab8ee6d7a3de2f82 gcc/testsuite/gcc.dg/inline-7.c *************** be5489532ad8117e567e1ea5c8ad4b6a gcc/te *** 32838,32843 **** --- 33002,33008 ---- 5204e6cd28c18692d9b78b4d46f02179 gcc/testsuite/gcc.dg/ipa/ipcp-4.c 1d6188a3ce8385221389a004eb653357 gcc/testsuite/gcc.dg/ipa/ipcp-5.c 869bd19c205f2ccf580f8b640709d232 gcc/testsuite/gcc.dg/ipa/ipcp-agg-1.c + 46baba0a48d2f940bd891b54dec15a5c gcc/testsuite/gcc.dg/ipa/ipcp-agg-12.c c71233f7e2ddb4a8889ca1fe57ea62cc gcc/testsuite/gcc.dg/ipa/ipcp-agg-2.c b30637ee2dfddd2f33e1f6f41de2efa3 gcc/testsuite/gcc.dg/ipa/ipcp-agg-3.c 4a75430bf24423bed7faf54d834e000d gcc/testsuite/gcc.dg/ipa/ipcp-agg-4.c *************** db531a9355f9326f8fbafbee1a0c4e91 gcc/te *** 35443,35448 **** --- 35608,35614 ---- 6221838b8b11138e7af5cb053b6f7f42 gcc/testsuite/gcc.dg/pr89410-1.c 747802bbe9a526d7e191d9bd842c1d2e gcc/testsuite/gcc.dg/pr89410-2.c 6dcc3744581a361120681b2c30659453 gcc/testsuite/gcc.dg/pr89434.c + 55a03057d405000b76e3662d6aca0bd8 gcc/testsuite/gcc.dg/pr89435.c b24f1c825f27212c7ae452c5901c9e99 gcc/testsuite/gcc.dg/pr89438.c cc98bc298dae950c2580c111173bf573 gcc/testsuite/gcc.dg/pr89500.c 07b48755dfb71bbe807ce1f7266c69c8 gcc/testsuite/gcc.dg/pr89506.c *************** d59fd07bb22cd966a24bae661a158598 gcc/te *** 35457,35472 **** 7e94f0d5a822303e0339481ee07ad796 gcc/testsuite/gcc.dg/pr89679.c e6faf0945d1f5f965c65759fe557a7d4 gcc/testsuite/gcc.dg/pr89734.c 38fd40b0592192b9fc4163d54c030089 gcc/testsuite/gcc.dg/pr89737.c a24193887db72f1e75b2698c04b4ef32 gcc/testsuite/gcc.dg/pr90010.c 6c043904623c4fbb3870bdf4cf56d084 gcc/testsuite/gcc.dg/pr90037.c 0a4f5fe719bf1ce6ae61fc33e03adf0f gcc/testsuite/gcc.dg/pr90082.c 1da58e3a4fac902964fc884136ff0b30 gcc/testsuite/gcc.dg/pr90095-1.c 3a34ebdf201442368e6b516ca9855124 gcc/testsuite/gcc.dg/pr90095-2.c 007da9cc3379de76a6986f6c8d62f1aa gcc/testsuite/gcc.dg/pr90733.c ! 7c81184e9f0f9dead0859125d7a01a19 gcc/testsuite/gcc.dg/pr90756.c a5cf54d159902a526ee7923257cf4b92 gcc/testsuite/gcc.dg/pr90760.c e2ae67eb39b2578af8765a01c6e6dd08 gcc/testsuite/gcc.dg/pr90892.c 3825638bdc3a2a004aba9b3d95352327 gcc/testsuite/gcc.dg/pr9365-1.c ec1830becced622760bda688ca2bb126 gcc/testsuite/gcc.dg/pr9814-1.c 38d740dd13641c97d4f565dcd6338d23 gcc/testsuite/gcc.dg/pragma-align-2.c 4c08191735eadb7c6ea607dfcc965cf5 gcc/testsuite/gcc.dg/pragma-align.c --- 35623,35653 ---- 7e94f0d5a822303e0339481ee07ad796 gcc/testsuite/gcc.dg/pr89679.c e6faf0945d1f5f965c65759fe557a7d4 gcc/testsuite/gcc.dg/pr89734.c 38fd40b0592192b9fc4163d54c030089 gcc/testsuite/gcc.dg/pr89737.c + 6b4a47585c7d60c9cfe3d8323359f4e4 gcc/testsuite/gcc.dg/pr89795.c a24193887db72f1e75b2698c04b4ef32 gcc/testsuite/gcc.dg/pr90010.c 6c043904623c4fbb3870bdf4cf56d084 gcc/testsuite/gcc.dg/pr90037.c 0a4f5fe719bf1ce6ae61fc33e03adf0f gcc/testsuite/gcc.dg/pr90082.c 1da58e3a4fac902964fc884136ff0b30 gcc/testsuite/gcc.dg/pr90095-1.c 3a34ebdf201442368e6b516ca9855124 gcc/testsuite/gcc.dg/pr90095-2.c + a9ce57b01303a768bbf7a03ccdfc9a9f gcc/testsuite/gcc.dg/pr90648.c 007da9cc3379de76a6986f6c8d62f1aa gcc/testsuite/gcc.dg/pr90733.c ! afa570e1edc03a94c45eb741b09cab0a gcc/testsuite/gcc.dg/pr90756.c a5cf54d159902a526ee7923257cf4b92 gcc/testsuite/gcc.dg/pr90760.c e2ae67eb39b2578af8765a01c6e6dd08 gcc/testsuite/gcc.dg/pr90892.c + f05824bb6a8ee4df57182feba94d6224 gcc/testsuite/gcc.dg/pr90898.c + 127ca7d7d9652887fc59a33f4f13e4e0 gcc/testsuite/gcc.dg/pr91269.c + 33e7e05ba9936ecabdb9d59e8e4ff241 gcc/testsuite/gcc.dg/pr91720.c + 0ce66608741e42c8178cb8a54ad1933c gcc/testsuite/gcc.dg/pr91734.c + 305ad11ca35b234077dc82b97ea160d1 gcc/testsuite/gcc.dg/pr91885.c + eb6ce2423f0e2f3d3f79de3a7730872b gcc/testsuite/gcc.dg/pr92430.c + c4f72ee1103ecf59a0e370d5ea316570 gcc/testsuite/gcc.dg/pr92591-1.c + 324f6e8bdb8eabe75693890f36af369b gcc/testsuite/gcc.dg/pr92591-2.c + 518252496da6c416ea3047044066d6ed gcc/testsuite/gcc.dg/pr92768.c + c6b310d653d3a9d0ecd1fbd653315b60 gcc/testsuite/gcc.dg/pr93054.c + 2461eae71210d5808caccdbf7b68c684 gcc/testsuite/gcc.dg/pr93576.c 3825638bdc3a2a004aba9b3d95352327 gcc/testsuite/gcc.dg/pr9365-1.c + 96f7c73b6cb0b7b5f65e07636845c78b gcc/testsuite/gcc.dg/pr93820.c + 7188ff1454897a578bd9300a88e8188b gcc/testsuite/gcc.dg/pr94002.c ec1830becced622760bda688ca2bb126 gcc/testsuite/gcc.dg/pr9814-1.c 38d740dd13641c97d4f565dcd6338d23 gcc/testsuite/gcc.dg/pragma-align-2.c 4c08191735eadb7c6ea607dfcc965cf5 gcc/testsuite/gcc.dg/pragma-align.c *************** c715efce91706f19891d615f0fb331e6 gcc/te *** 36154,36160 **** cb2b49fc1936604715a1913f13b50a92 gcc/testsuite/gcc.dg/torture/20181024-1.c b151f401ebe15ffdbefdb4db4f4ccae9 gcc/testsuite/gcc.dg/torture/20181029-1.c 946ed087d383d400f7c500563f2ea6d9 gcc/testsuite/gcc.dg/torture/20181029-2.c ! 928952f88c5ff092e17a4fa290fba090 gcc/testsuite/gcc.dg/torture/20190327-1.c 18d092a49330e9a3da34c551be068cfa gcc/testsuite/gcc.dg/torture/Wsizeof-pointer-memaccess1.c d23f5563695ea2b9898397f0244ca90d gcc/testsuite/gcc.dg/torture/alias-1.c 2063dc05a74374000dcf03fc407536e5 gcc/testsuite/gcc.dg/torture/alias-2.c --- 36335,36341 ---- cb2b49fc1936604715a1913f13b50a92 gcc/testsuite/gcc.dg/torture/20181024-1.c b151f401ebe15ffdbefdb4db4f4ccae9 gcc/testsuite/gcc.dg/torture/20181029-1.c 946ed087d383d400f7c500563f2ea6d9 gcc/testsuite/gcc.dg/torture/20181029-2.c ! 0a83143a813c38ed8b23559e47572cd9 gcc/testsuite/gcc.dg/torture/20190327-1.c 18d092a49330e9a3da34c551be068cfa gcc/testsuite/gcc.dg/torture/Wsizeof-pointer-memaccess1.c d23f5563695ea2b9898397f0244ca90d gcc/testsuite/gcc.dg/torture/alias-1.c 2063dc05a74374000dcf03fc407536e5 gcc/testsuite/gcc.dg/torture/alias-2.c *************** a56be250f5d8a4a3f63fad5c8624d2bb gcc/te *** 37257,37264 **** 65e2e781c26cdc8e19de407584ae7097 gcc/testsuite/gcc.dg/torture/pr89779.c 8007fcafda3e8f036b3e842a9a180e2c gcc/testsuite/gcc.dg/torture/pr89789.c 998a987615152e0ebad640146ff97b16 gcc/testsuite/gcc.dg/torture/pr89794.c ! 03ff50043fe9b066d5d9805c81aeed55 gcc/testsuite/gcc.dg/torture/pr90020.c f13f8d9bb577a47a3c6edb46c6c340b5 gcc/testsuite/gcc.dg/torture/pr90071.c 1c6a61da912dfe2711fb64a23a660471 gcc/testsuite/gcc.dg/torture/pr90328.c 745c92ddb25098eaa8987c980ede181f gcc/testsuite/gcc.dg/torture/pr90402-1.c 0b0362f5f040bcbdde9b64197a1dd797 gcc/testsuite/gcc.dg/torture/pr90972.c --- 37438,37446 ---- 65e2e781c26cdc8e19de407584ae7097 gcc/testsuite/gcc.dg/torture/pr89779.c 8007fcafda3e8f036b3e842a9a180e2c gcc/testsuite/gcc.dg/torture/pr89789.c 998a987615152e0ebad640146ff97b16 gcc/testsuite/gcc.dg/torture/pr89794.c ! 0b2f18fec51d2e458fecfeb3b7776dbc gcc/testsuite/gcc.dg/torture/pr90020.c f13f8d9bb577a47a3c6edb46c6c340b5 gcc/testsuite/gcc.dg/torture/pr90071.c + 00e6f1395499e5956a1821ce97b809c7 gcc/testsuite/gcc.dg/torture/pr90278.c 1c6a61da912dfe2711fb64a23a660471 gcc/testsuite/gcc.dg/torture/pr90328.c 745c92ddb25098eaa8987c980ede181f gcc/testsuite/gcc.dg/torture/pr90402-1.c 0b0362f5f040bcbdde9b64197a1dd797 gcc/testsuite/gcc.dg/torture/pr90972.c *************** bd9bc7b117dd395156db0636799b62e1 gcc/te *** 37267,37272 **** --- 37449,37459 ---- b56baaf7b8ad0b8f417806ebccb47e43 gcc/testsuite/gcc.dg/torture/pr91178-2.c 42016ab106da494ff9100e8b0d488dab gcc/testsuite/gcc.dg/torture/pr91178.c 9a517e2a6fabc62383485f161c86b5df gcc/testsuite/gcc.dg/torture/pr91200.c + dfbddc7a97aef8ecbbb45d5a0ff044c7 gcc/testsuite/gcc.dg/torture/pr91445.c + e398c88cb4160ec78fc9362787569fe9 gcc/testsuite/gcc.dg/torture/pr91812.c + 3b43e9e3564d6c0917bee93f0519c90d gcc/testsuite/gcc.dg/torture/pr92222.c + 6c276b4b449ad6fca0e8f9e8705d1baf gcc/testsuite/gcc.dg/torture/pr92704.c + c3582ca835373c2cd0065fc3f8a36154 gcc/testsuite/gcc.dg/torture/pr93381.c d086c3946230ba05df33a45be4862730 gcc/testsuite/gcc.dg/torture/pta-callused-1.c 39620328710fd9ff170741766805e426 gcc/testsuite/gcc.dg/torture/pta-escape-1.c f50cbae53561b1267140f574974f7fc0 gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c *************** f243d107e2781f3dba683465d6b7dd11 gcc/te *** 37297,37302 **** --- 37484,37490 ---- 4844379205910806b383dbde4bb6bb59 gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c 4b4b59cd55751e5743bc4195c9571b78 gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c d902ae1540aab0be308e7ba8052278bf gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c + 05af8afc5d7de164574915304a190d13 gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-2.c a1b47b9c3e69d79d1895ebc4fd11032b gcc/testsuite/gcc.dg/torture/stackalign/check.h fc7edf6af7d557c019daea5a3682f91e gcc/testsuite/gcc.dg/torture/stackalign/comp-goto-1.c 27cb382aa38b2d606ef2b7f107abbf29 gcc/testsuite/gcc.dg/torture/stackalign/fastcall-1.c *************** a9096c4b5b756bdc9dcc196398730d73 gcc/te *** 37814,37828 **** 03b3892ce65f3264531de5b303cbe30e gcc/testsuite/gcc.dg/tree-ssa/forwprop-8.c 2f204af513925825367059c8c7904e98 gcc/testsuite/gcc.dg/tree-ssa/forwprop-9.c c5da678cf578c57faa40129378929cf4 gcc/testsuite/gcc.dg/tree-ssa/fre-vce-1.c ! d945601481b8c401f15a8c2a5064dfa9 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c 8847b784d4afa960614f3abe85f69a6f gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11a.c c4778a5d167ea622bf99df287c4bd701 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11b.c c177f823491b23ed671dd72cae6bdd38 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11c.c 7f9cb4c67e184582150085aca486f32d gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c 1712dcd4bc0231a36d0086b106369e57 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c ! f6dee11122447ee6efa4b79aba910b8c gcc/testsuite/gcc.dg/tree-ssa/gen-vect-26.c ! c17b9d80f40e79087fe5b8d43eb98d13 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-28.c ! 29a72645c60c02fad2b7a0e19384bc7f gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c c700544c3e68a401546cefbdad359728 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-33.c b2e6051605666541fc80985492b002a4 gcc/testsuite/gcc.dg/tree-ssa/ifc-10.c 45abed04f141d506c77bb20d255d1d0c gcc/testsuite/gcc.dg/tree-ssa/ifc-11.c --- 38002,38016 ---- 03b3892ce65f3264531de5b303cbe30e gcc/testsuite/gcc.dg/tree-ssa/forwprop-8.c 2f204af513925825367059c8c7904e98 gcc/testsuite/gcc.dg/tree-ssa/forwprop-9.c c5da678cf578c57faa40129378929cf4 gcc/testsuite/gcc.dg/tree-ssa/fre-vce-1.c ! 37c9c94a0aa7732095325168e35b6241 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c 8847b784d4afa960614f3abe85f69a6f gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11a.c c4778a5d167ea622bf99df287c4bd701 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11b.c c177f823491b23ed671dd72cae6bdd38 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11c.c 7f9cb4c67e184582150085aca486f32d gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c 1712dcd4bc0231a36d0086b106369e57 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c ! 65502107a383bd33d7e4c5fa74adb218 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-26.c ! 6d9760953002e404ef7825de2cd8ec66 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-28.c ! 134e5c6c63933e6efeb5c3336f1167ee gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c c700544c3e68a401546cefbdad359728 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-33.c b2e6051605666541fc80985492b002a4 gcc/testsuite/gcc.dg/tree-ssa/ifc-10.c 45abed04f141d506c77bb20d255d1d0c gcc/testsuite/gcc.dg/tree-ssa/ifc-11.c *************** a8e99357ccf139e15cb199f14791dd62 gcc/te *** 38474,38479 **** --- 38662,38669 ---- 2a36aca5f712a030aa778e7ae5777731 gcc/testsuite/gcc.dg/tree-ssa/pr89725.c e9230122742d9f2e19bb99dcd54db233 gcc/testsuite/gcc.dg/tree-ssa/pr89872.c d23898ffe25f214674f480b4b21f7ebb gcc/testsuite/gcc.dg/tree-ssa/pr91091-1.c + a60a81930642c86cefacf25732a4b3b3 gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c + 7dfc09abf1b28ac3735cb4bd89a16ccd gcc/testsuite/gcc.dg/tree-ssa/pr92930.c e6c9f2dd9d7405dee4bfd5d6d0fc455f gcc/testsuite/gcc.dg/tree-ssa/pred-1.c 90c3c1a872e4566cc043c50e818ef036 gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c ec45787b9b781da6181e7960a8cb76f0 gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c *************** e05c644464252e6362b1708a38739e41 gcc/te *** 38525,38532 **** 32b44bbdba5672497d6837cd3085944c gcc/testsuite/gcc.dg/tree-ssa/reassoc-21.c fc0e281a23796262fa832ffe3ebc4d43 gcc/testsuite/gcc.dg/tree-ssa/reassoc-22.c f39e851c8ff7bbd176d52719bdf1f6a2 gcc/testsuite/gcc.dg/tree-ssa/reassoc-23.c ! 4c02c7914db00d0662b371509d381564 gcc/testsuite/gcc.dg/tree-ssa/reassoc-24.c ! 60043478a50c4f918e4a11ddac3e464a gcc/testsuite/gcc.dg/tree-ssa/reassoc-25.c 5c0e095306f15dfc3883e1e40a90be2d gcc/testsuite/gcc.dg/tree-ssa/reassoc-26.c 5f39498e2df670547f4d7eab95029db3 gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c efe4ddb755a726b0b3a5e3afde8d760a gcc/testsuite/gcc.dg/tree-ssa/reassoc-28.c --- 38715,38722 ---- 32b44bbdba5672497d6837cd3085944c gcc/testsuite/gcc.dg/tree-ssa/reassoc-21.c fc0e281a23796262fa832ffe3ebc4d43 gcc/testsuite/gcc.dg/tree-ssa/reassoc-22.c f39e851c8ff7bbd176d52719bdf1f6a2 gcc/testsuite/gcc.dg/tree-ssa/reassoc-23.c ! 6c1c4722619559de13c32692d8d5608c gcc/testsuite/gcc.dg/tree-ssa/reassoc-24.c ! 7c1b384e62e625aa03a534f1db867839 gcc/testsuite/gcc.dg/tree-ssa/reassoc-25.c 5c0e095306f15dfc3883e1e40a90be2d gcc/testsuite/gcc.dg/tree-ssa/reassoc-26.c 5f39498e2df670547f4d7eab95029db3 gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c efe4ddb755a726b0b3a5e3afde8d760a gcc/testsuite/gcc.dg/tree-ssa/reassoc-28.c *************** c6ae2df6a353c5ac288fcafb37edc450 gcc/te *** 39304,39310 **** 77dbefe7ee6b1de71f451796787f1532 gcc/testsuite/gcc.dg/unroll-6.c a034cbd359de956aef07a36500a255ea gcc/testsuite/gcc.dg/unroll-7.c 204b9be344d219dfaab5a48887ad9516 gcc/testsuite/gcc.dg/unroll-8.c ! 11d3bbbf23cf7d560b4a3903d4aac357 gcc/testsuite/gcc.dg/unroll-and-jam.c 99b212e0df5c61c48b3f2593a23414cc gcc/testsuite/gcc.dg/unsigned-long-compare.c aa7c265797a6b0a2b548e25a531baf92 gcc/testsuite/gcc.dg/unused-1.c 8ba0a7c993176dd2077bdae924adddc8 gcc/testsuite/gcc.dg/unused-2.c --- 39494,39500 ---- 77dbefe7ee6b1de71f451796787f1532 gcc/testsuite/gcc.dg/unroll-6.c a034cbd359de956aef07a36500a255ea gcc/testsuite/gcc.dg/unroll-7.c 204b9be344d219dfaab5a48887ad9516 gcc/testsuite/gcc.dg/unroll-8.c ! d3807c9220842bec164874979c78e9a3 gcc/testsuite/gcc.dg/unroll-and-jam.c 99b212e0df5c61c48b3f2593a23414cc gcc/testsuite/gcc.dg/unsigned-long-compare.c aa7c265797a6b0a2b548e25a531baf92 gcc/testsuite/gcc.dg/unused-1.c 8ba0a7c993176dd2077bdae924adddc8 gcc/testsuite/gcc.dg/unused-2.c *************** bff569b700179c57db87538442b9ced8 gcc/te *** 39905,39910 **** --- 40095,40105 ---- ac67ac2c3d8711dd155a41624852b861 gcc/testsuite/gcc.dg/vect/pr91293-1.c db3576e77c43de369e47976aecb1d53c gcc/testsuite/gcc.dg/vect/pr91293-2.c 37fe9fcd52d12f73ee435eb9aa6d1c71 gcc/testsuite/gcc.dg/vect/pr91293-3.c + 6ff42a5a4a3e60344beb4ee415f9fa95 gcc/testsuite/gcc.dg/vect/pr91665.c + 8592f5133853519281066e3cdcdc9082 gcc/testsuite/gcc.dg/vect/pr92420.c + 01906fed72c9f61c670e936527239bd8 gcc/testsuite/gcc.dg/vect/pr92710.c + 9314244e8dd2629fd52faec10e7e5f47 gcc/testsuite/gcc.dg/vect/pr92723.c + 867fed4c196d4d64384bffad366ae916 gcc/testsuite/gcc.dg/vect/pr93767.c 32d06c886c85516fbdce4ca1bd516496 gcc/testsuite/gcc.dg/vect/section-anchors-pr27770.c d7c598d838a7c98392febc88239e2769 gcc/testsuite/gcc.dg/vect/section-anchors-vect-69.c cd2f0240aaa18dda8ac3a18459c93d29 gcc/testsuite/gcc.dg/vect/slp-1.c *************** cf4a4d6e6cc4b23522c19982266ca248 gcc/te *** 40223,40228 **** --- 40418,40424 ---- 0ad5246c517109cae0c7f2b2f7401f34 gcc/testsuite/gcc.dg/vect/vect-floatint-conversion-2.c aa46a01c430ca6bcb60fb6bc2edfbb1d gcc/testsuite/gcc.dg/vect/vect-fma-1.c b10686cc9cc745d9a4e579ee285eae2d gcc/testsuite/gcc.dg/vect/vect-fma-2.c + f26bda59075ce8ddcb0291dc86a118b3 gcc/testsuite/gcc.dg/vect/vect-fma-3.c f7e0d01143aad0f81b1d1f66c5737e3a gcc/testsuite/gcc.dg/vect/vect-fold-1.c b57bff07bf75c647567f17c15d11e41a gcc/testsuite/gcc.dg/vect/vect-ifcvt-10.c a0b812b43a2a49d603a582c192074c86 gcc/testsuite/gcc.dg/vect/vect-ifcvt-11.c *************** c8c679e672173f52fbc0d86757b5c05a gcc/te *** 41775,41784 **** --- 41971,41982 ---- face3a8c6631236fedad3dce5526b762 gcc/testsuite/gcc.target/aarch64/ngc.c fb19dd57034e67da13f2a5b22815fcc5 gcc/testsuite/gcc.target/aarch64/no-inline-lrint_1.c 56f1cae94d74d605f3127ff54df58e5e gcc/testsuite/gcc.target/aarch64/no-inline-lrint_2.c + 9567b5cb1744b0c5a301604d3a25bbc2 gcc/testsuite/gcc.target/aarch64/no-inline-lrint_3.c 13a63494139cde5273b13f2e4eb58493 gcc/testsuite/gcc.target/aarch64/nofp_1.c 16f10ec9128105b137b7139eec150171 gcc/testsuite/gcc.target/aarch64/noplt_1.c a08d94353bf55af1d22441a406d830ca gcc/testsuite/gcc.target/aarch64/noplt_2.c 5adbb32c5ec104efca72061e09229b8f gcc/testsuite/gcc.target/aarch64/noplt_3.c + 5d43e2829488a18473d4b2ca37cdaf82 gcc/testsuite/gcc.target/aarch64/nosplit-di-const-volatile_1.c 773bc5b0a8368679f7d4856edfb4d60f gcc/testsuite/gcc.target/aarch64/options_set_1.c d6e1d0cb7cb44f50985db131c62ba20b gcc/testsuite/gcc.target/aarch64/options_set_10.c 38913b9d93786135bbb9f14461fcb591 gcc/testsuite/gcc.target/aarch64/options_set_2.c *************** d1d34ae8edbb84b094c7f011971b77f4 gcc/te *** 41851,41856 **** --- 42049,42056 ---- bd8fbfc436e20c74e94a234b1baad093 gcc/testsuite/gcc.target/aarch64/pr87305.c 438fbd8d80e583c9dd8e4b6f03d561d9 gcc/testsuite/gcc.target/aarch64/pr87511.c 0c8e55f8ca526b3ff4c65395e56b96c5 gcc/testsuite/gcc.target/aarch64/pr87839.c + fa96ea78d21fc13d022162f4fb6d0e23 gcc/testsuite/gcc.target/aarch64/pr92424-2.c + cc14caf0fac017855cfb26da3f9bd70f gcc/testsuite/gcc.target/aarch64/pr92424-3.c d3e6defa85b5cd4bb506306377e59a53 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c d38e476730748c653068e7cb2d8d6ca6 gcc/testsuite/gcc.target/aarch64/predefine_small.c *************** d39117d48547f0c8b7dd408a6e5d642b gcc/te *** 43064,43069 **** --- 43264,43270 ---- 2dba2d912122a8f853d97a923bb125e3 gcc/testsuite/gcc.target/arc/cmem-ld.inc 8b3e31bdfff2b63ce252635b1a1fef0b gcc/testsuite/gcc.target/arc/cmem-st.inc ab3e3c633530b0e2e02f20e76907cab4 gcc/testsuite/gcc.target/arc/cond-set-use.c + a8ef1d01a0865b83aab1825f39789150 gcc/testsuite/gcc.target/arc/delay-slot-limm.c d9d9cdf928da4c195b1a99dad0aeda06 gcc/testsuite/gcc.target/arc/extzv-1.c 548254c3a241c8551ebb0aa5d94e45c4 gcc/testsuite/gcc.target/arc/firq-1.c 4e583df9e864022980d99fd265bb3ab5 gcc/testsuite/gcc.target/arc/firq-2.c *************** c2635eb729f09720a184a5826e218569 gcc/te *** 43139,43144 **** --- 43340,43346 ---- 58fc9721ecffbfdff197d4585c412004 gcc/testsuite/gcc.target/arc/nps400-cpu-flag.c a6f761c17339470bb07c2d99265ec06d gcc/testsuite/gcc.target/arc/nv-cache.c 76cbc9fa02438e0b056b240c1acc42a6 gcc/testsuite/gcc.target/arc/pic-1.c + 8ac75d73a43ffeabafa566330b0b646a gcc/testsuite/gcc.target/arc/pic-2.c 9cf31b5a40dc5c0daec2297181924d9c gcc/testsuite/gcc.target/arc/pr89838.c 9bcff0642ee893311d6172e5bdfbc249 gcc/testsuite/gcc.target/arc/pr9000674901.c de1d148fe0e6156b068d3be0465e4657 gcc/testsuite/gcc.target/arc/pr9001090948.c *************** a7f2e5349eb3677d4e532197beb261b8 gcc/te *** 43250,43255 **** --- 43452,43458 ---- 70d3af1373b3a49fb1912dca6e377274 gcc/testsuite/gcc.target/arm/acle/crc32d.c 21b20cecbc6689dc6367a96e210b956e gcc/testsuite/gcc.target/arm/acle/crc32h.c 2d7c8358817ecb57e689202c2e4f2dd6 gcc/testsuite/gcc.target/arm/acle/crc32w.c + 8e835118eed3d1e8f3b8108aac735957 gcc/testsuite/gcc.target/arm/acle/crc_hf_1.c 15caa7f54c3a3e06d97de61aaaa7ca1c gcc/testsuite/gcc.target/arm/acle/ldc.c 343921f8186546d1f5253679431b890b gcc/testsuite/gcc.target/arm/acle/ldc2.c deee7c31c5c250e8d2a4897962cdea6b gcc/testsuite/gcc.target/arm/acle/ldc2l.c *************** c6b1f31177a60b170040e0eddc1787ba gcc/te *** 43626,43632 **** 7b0294d6197317c05cb3accfdbee95d9 gcc/testsuite/gcc.target/arm/movhi_movw.c 484b6553c962caa2f0746fa65de739e8 gcc/testsuite/gcc.target/arm/movsi_movt.c 190ffba53357096715f051384c38965b gcc/testsuite/gcc.target/arm/movsi_movw.c ! e1a3c5f48d9f0b10467986520487f54c gcc/testsuite/gcc.target/arm/multilib.exp a27c7480ff5cba860dda5da683bb3b87 gcc/testsuite/gcc.target/arm/naked-1.c 292c423c2aa66b03398c922259527367 gcc/testsuite/gcc.target/arm/naked-2.c 2d75e6bd9379b6e090e6104b97434376 gcc/testsuite/gcc.target/arm/negdi-1.c --- 43829,43835 ---- 7b0294d6197317c05cb3accfdbee95d9 gcc/testsuite/gcc.target/arm/movhi_movw.c 484b6553c962caa2f0746fa65de739e8 gcc/testsuite/gcc.target/arm/movsi_movt.c 190ffba53357096715f051384c38965b gcc/testsuite/gcc.target/arm/movsi_movw.c ! 48503235aea2f3375e1e33f5156b715f gcc/testsuite/gcc.target/arm/multilib.exp a27c7480ff5cba860dda5da683bb3b87 gcc/testsuite/gcc.target/arm/naked-1.c 292c423c2aa66b03398c922259527367 gcc/testsuite/gcc.target/arm/naked-2.c 2d75e6bd9379b6e090e6104b97434376 gcc/testsuite/gcc.target/arm/negdi-1.c *************** ecfd9e0633dd2f87b4224cd1d4ba57e7 gcc/te *** 43767,43774 **** aeba150bfdf5a821a1b2043e1f4af966 gcc/testsuite/gcc.target/arm/pr44999.c a4c4698a5fe84412c8b996b75146c2b1 gcc/testsuite/gcc.target/arm/pr45094.c 6bf421f50d2e131c53639d3bf5eae6ab gcc/testsuite/gcc.target/arm/pr45447.c ! 6bc7b28310324c51eca103ca4790d010 gcc/testsuite/gcc.target/arm/pr45701-1.c ! e3d48ad1aa4ee130f918951a246c890a gcc/testsuite/gcc.target/arm/pr45701-2.c 18881ad8d2240959127b8e69c0334d9c gcc/testsuite/gcc.target/arm/pr45701-3.c 36686297e5d882e8e063d16c42dff77e gcc/testsuite/gcc.target/arm/pr46329.c af020e627d5f93cc2c57a41e3bc37e28 gcc/testsuite/gcc.target/arm/pr46631.c --- 43970,43977 ---- aeba150bfdf5a821a1b2043e1f4af966 gcc/testsuite/gcc.target/arm/pr44999.c a4c4698a5fe84412c8b996b75146c2b1 gcc/testsuite/gcc.target/arm/pr45094.c 6bf421f50d2e131c53639d3bf5eae6ab gcc/testsuite/gcc.target/arm/pr45447.c ! a06400cfcff1aa0bef2abb6618f3627d gcc/testsuite/gcc.target/arm/pr45701-1.c ! 92fe8f5ec6970acfc7a1234f9e956ddb gcc/testsuite/gcc.target/arm/pr45701-2.c 18881ad8d2240959127b8e69c0334d9c gcc/testsuite/gcc.target/arm/pr45701-3.c 36686297e5d882e8e063d16c42dff77e gcc/testsuite/gcc.target/arm/pr46329.c af020e627d5f93cc2c57a41e3bc37e28 gcc/testsuite/gcc.target/arm/pr46631.c *************** f8d96076841643c7c01ef5410173dbad gcc/te *** 43880,43885 **** --- 44083,44090 ---- e279a2811aa09df5a0ba9cb6b9fd5c6d gcc/testsuite/gcc.target/arm/pr85434.c 33227127167a7e170af10f0beecbff03 gcc/testsuite/gcc.target/arm/pr86487.c 40076045a4c00e49c70de6a7a08bea67 gcc/testsuite/gcc.target/arm/pr86640.c + 13b419ece183c8289f8cd381a21bd825 gcc/testsuite/gcc.target/arm/pr88167-1.c + 061a3fd61673c5c82f24f6000121e426 gcc/testsuite/gcc.target/arm/pr88167-2.c c11a83f6e8e6cfecb2d201bb9832efb3 gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c 7b0e297d62102568ff399d15acdcc21a gcc/testsuite/gcc.target/arm/pr88850-2.c abdf1bb4a331fd1ce60a010f9cea7a9f gcc/testsuite/gcc.target/arm/pr88850.c *************** c9e6771b67edbcdcd59fc69d96f76bd0 gcc/te *** 43897,43904 **** 3a06abeb34fdbba108fe536aeccde735 gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c 5b1a9414b404b74eb5cf36760730cf83 gcc/testsuite/gcc.target/arm/pure-code/ffunction-sections.c 77b405f3713bb420ee5af292f1a977dc gcc/testsuite/gcc.target/arm/pure-code/no-casesi.c ! 9a3c5a4b4bf1b8f81913c8f615eeba6a gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c ! d5e6763a174bc7ef65b91c16238a8956 gcc/testsuite/gcc.target/arm/pure-code/pure-code.exp 639f9aee9e13df807ade02e6ee96c2d3 gcc/testsuite/gcc.target/arm/reg_equal_test.c 3143560976572191d8bba6ba78a45aa6 gcc/testsuite/gcc.target/arm/register-variables.c 3a055b71580ac3ae2460b1e608760a5a gcc/testsuite/gcc.target/arm/require-pic-register-loc.c --- 44102,44109 ---- 3a06abeb34fdbba108fe536aeccde735 gcc/testsuite/gcc.target/arm/pragma_fpu_attribute_2.c 5b1a9414b404b74eb5cf36760730cf83 gcc/testsuite/gcc.target/arm/pure-code/ffunction-sections.c 77b405f3713bb420ee5af292f1a977dc gcc/testsuite/gcc.target/arm/pure-code/no-casesi.c ! 7b8330d6a4b33ec1ebe3d2b0ac6a7d6a gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c ! 1c2474d48edd57baf7c3e1477b3316af gcc/testsuite/gcc.target/arm/pure-code/pure-code.exp 639f9aee9e13df807ade02e6ee96c2d3 gcc/testsuite/gcc.target/arm/reg_equal_test.c 3143560976572191d8bba6ba78a45aa6 gcc/testsuite/gcc.target/arm/register-variables.c 3a055b71580ac3ae2460b1e608760a5a gcc/testsuite/gcc.target/arm/require-pic-register-loc.c *************** c4133ce7c37295b55bc19679306f4e04 gcc/te *** 44084,44090 **** c39b37d2c668f829f8c0107bbb401cae gcc/testsuite/gcc.target/arm/thumb-ifcvt.c 257090e03640d43a6dbc603078350b3a gcc/testsuite/gcc.target/arm/thumb-ltu.c 7184e928dc61e9e887edd32b11343712 gcc/testsuite/gcc.target/arm/thumb-stackframe.c ! 06126a483c856b5dd7ce88c991c9ae01 gcc/testsuite/gcc.target/arm/thumb1-Os-mult.c af684d56e0cd21b9e4295b85b8c6af41 gcc/testsuite/gcc.target/arm/thumb1-far-jump-1.c b4fab83bf7109a1294a6bd49a7d8724a gcc/testsuite/gcc.target/arm/thumb1-far-jump-2.c 620a6821f4b18cc04954fc837f2d5761 gcc/testsuite/gcc.target/arm/thumb1-imm.c --- 44289,44295 ---- c39b37d2c668f829f8c0107bbb401cae gcc/testsuite/gcc.target/arm/thumb-ifcvt.c 257090e03640d43a6dbc603078350b3a gcc/testsuite/gcc.target/arm/thumb-ltu.c 7184e928dc61e9e887edd32b11343712 gcc/testsuite/gcc.target/arm/thumb-stackframe.c ! 4109d3fe587661058bb1fd6ad3677c24 gcc/testsuite/gcc.target/arm/thumb1-Os-mult.c af684d56e0cd21b9e4295b85b8c6af41 gcc/testsuite/gcc.target/arm/thumb1-far-jump-1.c b4fab83bf7109a1294a6bd49a7d8724a gcc/testsuite/gcc.target/arm/thumb1-far-jump-2.c 620a6821f4b18cc04954fc837f2d5761 gcc/testsuite/gcc.target/arm/thumb1-imm.c *************** ab15d222e706bd85c87c037d1e9b6f51 gcc/te *** 44854,44859 **** --- 45059,45065 ---- cb21d2e64c04a9daab66338cc0a66e65 gcc/testsuite/gcc.target/i386/avx-pr82370.c fbcf5aac4ed190f64069f1418687d5f1 gcc/testsuite/gcc.target/i386/avx-pr88189-1.c 811083ceed1ed00408a07db7a4aa3156 gcc/testsuite/gcc.target/i386/avx-pr88189-2.c + 9b926829d7de933c61b0300157acbfc5 gcc/testsuite/gcc.target/i386/avx-pr93637.c 4e3d37bb04b99394790fa9e8caddf790 gcc/testsuite/gcc.target/i386/avx-recip-vec.c 02ae18a66bd7b76f7a651b896f066b70 gcc/testsuite/gcc.target/i386/avx-reduc-1.c 901c452df22c91b2a6a7b58fc968d5f4 gcc/testsuite/gcc.target/i386/avx-rint-sfix-2-vec.c *************** eff00a81e6cb0010baf6a32b833b0772 gcc/te *** 45442,45447 **** --- 45648,45654 ---- e633d2cdd6e46d0e3462ac7fb113c2d2 gcc/testsuite/gcc.target/i386/avx2-pr82370.c 5367c6754763ae7586d8b37d96ef906f gcc/testsuite/gcc.target/i386/avx2-pr88547-1.c c7941de7c7db82290d85b72fa950c1e8 gcc/testsuite/gcc.target/i386/avx2-pr88547-2.c + 7e8ea0369afd1660618e1ee1c9d52107 gcc/testsuite/gcc.target/i386/avx2-pr93418.c 2b83554762241a146df7ccc1617e1bfa gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-1.c 193f0a7d029b84ce4e3b2e58eac8240a gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c 84a46e7f4338347591f1c8fe0aaceda5 gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-1.c *************** f55df70acaaa1a05030d45495848eb2b gcc/te *** 45808,45819 **** 1db2c2106138cc396b1ae8c512625b33 gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c 5052cdd63fbafc27cd3d7534458acaec gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c 925a068450d57f20740e5ce6e8fe217e gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c ! 9de875f6f41e554337ea12937f31b749 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntb-1.c ! fb81b2b2a3a46912d73cc1760be004e7 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntb.c ! 199af992e17bd9c64dcfa9985d1f367e gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntbvl.c ! 8af06593173fa44cb3ccf5e8a4d0ee1a gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntw-1.c ! 80398fed0e3d0fb221f2b8b497ff4150 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntw.c ! 2321f4d32ab673621ab22cd88183f167 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntwvl.c eabafa4926a7abff1e6146a7ef0143e0 gcc/testsuite/gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c 0fc77f0fbea2843ee17f4836823ce2f9 gcc/testsuite/gcc.target/i386/avx512bitalg-vpshufbitqmb.c b2b1fe9e25a1a50c9e88e7a8d168d328 gcc/testsuite/gcc.target/i386/avx512bitalgvl-vpopcntb-1.c --- 46015,46026 ---- 1db2c2106138cc396b1ae8c512625b33 gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c 5052cdd63fbafc27cd3d7534458acaec gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c 925a068450d57f20740e5ce6e8fe217e gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c ! 84a11e540e8533df61152a30c873a575 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntb-1.c ! d728d0693656bb9b505f505356762d3c gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntb.c ! 7f84f82c7512e69110cd9ace71cf5f78 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntbvl.c ! 2840f678f86d3934d9e12bd4efe274c8 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntw-1.c ! 137fee4b6bc1f1276f3a325244117c02 gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntw.c ! 0ed417774de76c917c5a1a3494fb4bdd gcc/testsuite/gcc.target/i386/avx512bitalg-vpopcntwvl.c eabafa4926a7abff1e6146a7ef0143e0 gcc/testsuite/gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c 0fc77f0fbea2843ee17f4836823ce2f9 gcc/testsuite/gcc.target/i386/avx512bitalg-vpshufbitqmb.c b2b1fe9e25a1a50c9e88e7a8d168d328 gcc/testsuite/gcc.target/i386/avx512bitalgvl-vpopcntb-1.c *************** c3390538a58df83dc92017cf0b4fd3fb gcc/te *** 45880,45885 **** --- 46087,46093 ---- c3f19932e24d2aa723b1d3fc00ae4836 gcc/testsuite/gcc.target/i386/avx512bw-pr87138.c f43b98d89586a44186b9c785eedf7a28 gcc/testsuite/gcc.target/i386/avx512bw-pr91150.c 6bad096ebe9551612b83b53e42b2abd8 gcc/testsuite/gcc.target/i386/avx512bw-pr91157.c + e8db4d816e2c3378fdfdbb76bcefc8d4 gcc/testsuite/gcc.target/i386/avx512bw-pr93673.c 186b4d26f65c47b5b328795efe473c71 gcc/testsuite/gcc.target/i386/avx512bw-vdbpsadbw-1.c aa76e419ea439da7ae72280b04d232b8 gcc/testsuite/gcc.target/i386/avx512bw-vdbpsadbw-2.c c8ba4cce715fd7698d0bd8d7cc7eca78 gcc/testsuite/gcc.target/i386/avx512bw-vmovdqu16-1.c *************** d2c68e3327a2157bdcf34a605ff31313 gcc/te *** 46148,46153 **** --- 46356,46362 ---- 5968a85a1eb9c3884b74c71c66a7cf8a gcc/testsuite/gcc.target/i386/avx512dq-pr85918.c a55883cf9460124ef35490ac617f199c gcc/testsuite/gcc.target/i386/avx512dq-pr88465.c 27994cf2e5c4a37ee62a307be6acdb91 gcc/testsuite/gcc.target/i386/avx512dq-pr90991-1.c + 5b7eeade63f43c643092ab9e82d0bc38 gcc/testsuite/gcc.target/i386/avx512dq-pr93673.c 802a65b817227165abdd16614cc84b66 gcc/testsuite/gcc.target/i386/avx512dq-vandnpd-1.c 16658064864d12d7e0b7ea05daac767c gcc/testsuite/gcc.target/i386/avx512dq-vandnpd-2.c f106641a7d12e3bd58bae9ca7a4d556b gcc/testsuite/gcc.target/i386/avx512dq-vandnps-1.c *************** a940544da86cef217be8f69bb1db86fd gcc/te *** 46490,46495 **** --- 46699,46705 ---- d8f5b8a616877bf994ca908404ac88d4 gcc/testsuite/gcc.target/i386/avx512f-pr88547-2.c 845a5a253dac36d4bc2305b59320b360 gcc/testsuite/gcc.target/i386/avx512f-pr89445.c cf8d8483e8f8c207b3c3ece46a4e37a0 gcc/testsuite/gcc.target/i386/avx512f-pr91157.c + d02e54fef14f48afcc720ef0004da5fa gcc/testsuite/gcc.target/i386/avx512f-pr93673.c c03d8cf4fa3fd17be806ad4e6adc4bca gcc/testsuite/gcc.target/i386/avx512f-prefer.c fa779c05cab9a2378601e3ad5ae642ef gcc/testsuite/gcc.target/i386/avx512f-reduce-op-1.c ada32523be27898684e961dc8a530319 gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-1.c *************** c75f41a84b0ff9e1454ea517888cf42e gcc/te *** 47278,47283 **** --- 47488,47495 ---- 901b5f592de42b8641315e7a0e470c78 gcc/testsuite/gcc.target/i386/avx512vbmi-vpermt2b-2.c da943fec8529ab4219ae92fa7701f4f3 gcc/testsuite/gcc.target/i386/avx512vbmi-vpmultishiftqb-1.c b3bb92860a7a7725c03afa6bd022047f gcc/testsuite/gcc.target/i386/avx512vbmi-vpmultishiftqb-2.c + 894c1afa27bde11c6d50e1f6fae905b8 gcc/testsuite/gcc.target/i386/avx512vbmi2-vpshld-1.c + 1a47d56ff1d6271c07878c0fee5ba0e6 gcc/testsuite/gcc.target/i386/avx512vbmi2-vpshrd-1.c 00c640a9ee145099cd26543b8b9bfcff gcc/testsuite/gcc.target/i386/avx512vl-abs-copysign-1.c d2d79308516c8d8c17653303db1b5237 gcc/testsuite/gcc.target/i386/avx512vl-abs-copysign-2.c d54abcf534a735a2ad01ccab68350c63 gcc/testsuite/gcc.target/i386/avx512vl-add-sf-xmm-1.c *************** b6461a6adcacf1878ea8a38e64cabb40 gcc/te *** 47368,47373 **** --- 47580,47587 ---- b4fb4f0d39ccb3c5e1aea928db324129 gcc/testsuite/gcc.target/i386/avx512vl-pr88547-1.c a8a6480fddb95d8b69219774c45cee01 gcc/testsuite/gcc.target/i386/avx512vl-pr88547-2.c af0b2c0a30255ddd7ee911a782d4d90d gcc/testsuite/gcc.target/i386/avx512vl-pr88547-3.c + 4d69d6f7bd71b5e9293c77c434bf19d7 gcc/testsuite/gcc.target/i386/avx512vl-pr93009.c + e83e4ca7bfde31c45ab7a663d2cbb1ee gcc/testsuite/gcc.target/i386/avx512vl-pr93670.c 224ac9323dda6256b6cecaa257324229 gcc/testsuite/gcc.target/i386/avx512vl-sub-sf-xmm-1.c 8f9702be88cd81a245f378c6c354fb8c gcc/testsuite/gcc.target/i386/avx512vl-sub-sf-ymm-1.c eb60351b2f49a1b13a1a93145f192ab8 gcc/testsuite/gcc.target/i386/avx512vl-sub-si-xmm-1.c *************** c292ba048c97e84fe04aa26984af35f1 gcc/te *** 48053,48062 **** 5dd65f3a93c30a9885fc551a4cad76a4 gcc/testsuite/gcc.target/i386/avx512vl-xor-si-ymm-1.c e8b40df1b29caa7e7a5ad3533f175e18 gcc/testsuite/gcc.target/i386/avx512vlbw-pr82370.c 3b56096e93a13615a8ca272bc3ed8e6c gcc/testsuite/gcc.target/i386/avx512vlbw-pr85832.c ! f6b7d0b72d217c57bd0c953b18c2bb51 gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c ! 3f0e9e21f8daf76273838121c569322a gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntd.c ! 302654a622ec78f477d30938f066623b gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c ! 88ad44c8930b8f8ccba5c508e25d4bfa gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntq.c fa2414b7f0b02ba46bfc1187b11b0120 gcc/testsuite/gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c 17d28bf7cef176269dc5873687b13c9f gcc/testsuite/gcc.target/i386/avx512vpopcntdqvl-vpopcntq-1.c 5da8354c1b0f081b6c64be550d4b604e gcc/testsuite/gcc.target/i386/avxfp-1.c --- 48267,48276 ---- 5dd65f3a93c30a9885fc551a4cad76a4 gcc/testsuite/gcc.target/i386/avx512vl-xor-si-ymm-1.c e8b40df1b29caa7e7a5ad3533f175e18 gcc/testsuite/gcc.target/i386/avx512vlbw-pr82370.c 3b56096e93a13615a8ca272bc3ed8e6c gcc/testsuite/gcc.target/i386/avx512vlbw-pr85832.c ! 4ee014789b932f3aea1da6e759de7e75 gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c ! 848d7f2507183d53d35a08030c471c3e gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntd.c ! d8084141e791dfdf62ee3dc66173d458 gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c ! 776a22660c657e8df374084201fce5f6 gcc/testsuite/gcc.target/i386/avx512vpopcntdq-vpopcntq.c fa2414b7f0b02ba46bfc1187b11b0120 gcc/testsuite/gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c 17d28bf7cef176269dc5873687b13c9f gcc/testsuite/gcc.target/i386/avx512vpopcntdqvl-vpopcntq-1.c 5da8354c1b0f081b6c64be550d4b604e gcc/testsuite/gcc.target/i386/avxfp-1.c *************** b56cbb83f01d0feeec0ec874e60a703c gcc/te *** 48463,48506 **** cdd25f9aac1f47c227bf3e42b258efa9 gcc/testsuite/gcc.target/i386/incoming-7.c 74e35cf742c4e2fe9ce50213ed289958 gcc/testsuite/gcc.target/i386/incoming-8.c 9be1a58062ffa2d8454af884da1b9f81 gcc/testsuite/gcc.target/i386/incoming-9.c ! e668f256640d5e24656173167a660930 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c 20988adf9b08c4b293517a2c73863343 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c ! 150cb4e600cb21b8816a8ba105fb5820 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c ! 0e064c305676c18f488018e6828f38a0 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c ! b23891ab5e9e381ed1af78f6fdf8694a gcc/testsuite/gcc.target/i386/indirect-thunk-4.c 76b5340f3d1cae758f7f24f209df6970 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c 44ba2c34bc32936af532c39182517a5f gcc/testsuite/gcc.target/i386/indirect-thunk-6.c cd9517f2fb2890df6ac085a32cef6533 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c 136c6b3bb1163a3077d4207bfc4e5275 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c c6d529ddda0429e0c528b2de3c8384d4 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c ! 708bbdeeba5f45f0a0342764c8f7c86d gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c b346e03904cb1d652c2c4820cca183ee gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c 4bdf208508a160ea7a3791b56b304575 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c fb753199c86d198aa2ebbd9d60100b91 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c 4de4a90f08319415aabcf2779af8c1c9 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c aa62fdf94cd481fde7d2bb03cd3887ce gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c ! 1ecb2608979285031369d9c5f0976592 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c ! 828593c48db480c3b2fc5799f14d7d88 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c ! 9d0bb39c55286bf33e960d483a7c329f gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c ! 5e9b1a09cee5f12b2b6ce8d153fb519c gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c ! 028b85249d541480b1c4d1621e276609 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c 9e211cadb1b686a1d6b8c68737f2cc8f gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c 1a3da150db1b16fc41bda9bbd7ca308e gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c f062bd94d2bcc6229905c541b481a03c gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c ! d1c1656cbb779e6d00134b71155dca7b gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c 3fdd7062ad5b6b04af4107a6cfbce2e2 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c ! 5408de7f996a3ac22c3e51ca2425ee4b gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c ! 39a03832c1589f4b9a2b26dd3c8e8177 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c ! 7c578a9f1b9da303cd7dbcc717ab27ac gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c d60595421b98710f0053736975cb92fb gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c 159efa6bc07479836c1f52e007ec64f0 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c 7caad64af2c8b081cc9641db901f52f1 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c 38223cb82cf9505ad00ae5f39795236b gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c 10472248234411fb1063837b89c71e06 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c ! 2ee9df6250cb2639ae843b62088adb95 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c ! e95f7b90a68144e7a60b7092abb12c4e gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c ! cf34b1c99242035510ff79bc5f7e4650 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c ! 65fbecf1c401a1d2e163d1fae436fe3c gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c 22d3ec31148d7eb42f889f412e80b98e gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c 4bb39d2b0069f6a250bb165c0280899d gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c 9b18301c6819350bef178c74ce5003b1 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c --- 48677,48720 ---- cdd25f9aac1f47c227bf3e42b258efa9 gcc/testsuite/gcc.target/i386/incoming-7.c 74e35cf742c4e2fe9ce50213ed289958 gcc/testsuite/gcc.target/i386/incoming-8.c 9be1a58062ffa2d8454af884da1b9f81 gcc/testsuite/gcc.target/i386/incoming-9.c ! adb09d5162a99729c58768a1bbd44763 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c 20988adf9b08c4b293517a2c73863343 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c ! c95e46383fd5a4501004a0bc1f5d9d21 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c ! 9ff9f61cd5b668186b7c213dca7378ae gcc/testsuite/gcc.target/i386/indirect-thunk-3.c ! 7519f59c10ed77932ed2015e31053234 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c 76b5340f3d1cae758f7f24f209df6970 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c 44ba2c34bc32936af532c39182517a5f gcc/testsuite/gcc.target/i386/indirect-thunk-6.c cd9517f2fb2890df6ac085a32cef6533 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c 136c6b3bb1163a3077d4207bfc4e5275 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c c6d529ddda0429e0c528b2de3c8384d4 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c ! 5f543478181e42734efbd6110e7a3598 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c b346e03904cb1d652c2c4820cca183ee gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c 4bdf208508a160ea7a3791b56b304575 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c fb753199c86d198aa2ebbd9d60100b91 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c 4de4a90f08319415aabcf2779af8c1c9 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c aa62fdf94cd481fde7d2bb03cd3887ce gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c ! 266256bf9c72b3811751520548dcdf0e gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c ! 7ad61ec0982e9eba391693dbb5e52d1c gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c ! 7acc4f7264d2475c20aeb874707181ee gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c ! b97ad0329e6caafdacfeb7480b4b75cc gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c ! c27b27ac0212566fd3133978c6ad8edf gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c 9e211cadb1b686a1d6b8c68737f2cc8f gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c 1a3da150db1b16fc41bda9bbd7ca308e gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c f062bd94d2bcc6229905c541b481a03c gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c ! b56dd85b92863436bb371da8d9f1a9b8 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c 3fdd7062ad5b6b04af4107a6cfbce2e2 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c ! 2965e739e22d2a2f074cf21684e44d79 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c ! 642fe8dc37b80cd5a23db87f2790d7da gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c ! a7eb6eedf20a23f9562103441bfe762e gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c d60595421b98710f0053736975cb92fb gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c 159efa6bc07479836c1f52e007ec64f0 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c 7caad64af2c8b081cc9641db901f52f1 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c 38223cb82cf9505ad00ae5f39795236b gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c 10472248234411fb1063837b89c71e06 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c ! dc38272c2c77f004e9b1432854810cc0 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c ! 3647393dca68e3247168db40d40dfddc gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c ! c0f49c5ea58f441879a0a937ede627ef gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c ! 577426cf82a5f996238328bf79562260 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c 22d3ec31148d7eb42f889f412e80b98e gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c 4bb39d2b0069f6a250bb165c0280899d gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c 9b18301c6819350bef178c74ce5003b1 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c *************** a07b3ac10c2e8d8960d5f94aacc75325 gcc/te *** 48878,48890 **** 694842da5eb4c5254d8b4bfe1dc8c111 gcc/testsuite/gcc.target/i386/pr32065-2.c 1f9ce93e6d6ec25c764294b90cdb8d4a gcc/testsuite/gcc.target/i386/pr32191.c 3ef466a500bee78557e9f8543d11be2f gcc/testsuite/gcc.target/i386/pr32219-1.c ! 6abb8cc0c313706909017ba96248c9ef gcc/testsuite/gcc.target/i386/pr32219-2.c ! 942798b2083ad96b184e19b7fb0caf32 gcc/testsuite/gcc.target/i386/pr32219-3.c ! bde288e27ca1cb7c3cfffe7b0468d441 gcc/testsuite/gcc.target/i386/pr32219-4.c b4936c47ad27f5cfcac7ada484a24cac gcc/testsuite/gcc.target/i386/pr32219-5.c 786db7c45dc2a6ae29200eac1b80c7d3 gcc/testsuite/gcc.target/i386/pr32219-6.c ! 0a22fcd9f354948bd8381b93c4f885b7 gcc/testsuite/gcc.target/i386/pr32219-7.c ! 56481a20c9b8c5e629b4323c67b5f166 gcc/testsuite/gcc.target/i386/pr32219-8.c 0d754f3296fed9daf149740a268d8931 gcc/testsuite/gcc.target/i386/pr32219-9.c d165bed09148366aaa31f611e7089751 gcc/testsuite/gcc.target/i386/pr32268.c 23769d8ea259071995070dc88b8cefc7 gcc/testsuite/gcc.target/i386/pr32280-1.c --- 49092,49104 ---- 694842da5eb4c5254d8b4bfe1dc8c111 gcc/testsuite/gcc.target/i386/pr32065-2.c 1f9ce93e6d6ec25c764294b90cdb8d4a gcc/testsuite/gcc.target/i386/pr32191.c 3ef466a500bee78557e9f8543d11be2f gcc/testsuite/gcc.target/i386/pr32219-1.c ! 79a2e189766746b2f0f07d4459e83e18 gcc/testsuite/gcc.target/i386/pr32219-2.c ! 324eb5d6acff05e4f8056c7dbee9683c gcc/testsuite/gcc.target/i386/pr32219-3.c ! 31e1ff1e1dea7eb33b16e3b0e7b51cc1 gcc/testsuite/gcc.target/i386/pr32219-4.c b4936c47ad27f5cfcac7ada484a24cac gcc/testsuite/gcc.target/i386/pr32219-5.c 786db7c45dc2a6ae29200eac1b80c7d3 gcc/testsuite/gcc.target/i386/pr32219-6.c ! 89fc6d77f9488a3112b71f1d23bc8864 gcc/testsuite/gcc.target/i386/pr32219-7.c ! 51cdace97592cf8fb6a08aa60c3eb253 gcc/testsuite/gcc.target/i386/pr32219-8.c 0d754f3296fed9daf149740a268d8931 gcc/testsuite/gcc.target/i386/pr32219-9.c d165bed09148366aaa31f611e7089751 gcc/testsuite/gcc.target/i386/pr32268.c 23769d8ea259071995070dc88b8cefc7 gcc/testsuite/gcc.target/i386/pr32280-1.c *************** c408d46c72ebb51b0a57ffe0f3de6177 gcc/te *** 49415,49420 **** --- 49629,49635 ---- bac2b79055e3298741ce9969d7ee6b11 gcc/testsuite/gcc.target/i386/pr65671.c c4ad4fe09848c714ef20bd7b3bec80c3 gcc/testsuite/gcc.target/i386/pr65693.c 2ea7c4202a1e5497cafa1c5ff17ba1ae gcc/testsuite/gcc.target/i386/pr65753.c + 78cbe4007cdbf9c2e9d9906666e65340 gcc/testsuite/gcc.target/i386/pr65782.c 6f6047a71bbe57979dd5ffb6dbc92efa gcc/testsuite/gcc.target/i386/pr65871-1.c 4e9323ac4312d95a31dedce674927010 gcc/testsuite/gcc.target/i386/pr65871-2.c 5775c5a6318f1243ca0d6b370dfa80a8 gcc/testsuite/gcc.target/i386/pr65871-3.c *************** b4b72e8bbdacae2a4a51a302193e0b33 gcc/te *** 49966,49976 **** --- 50181,50195 ---- 02d1fa1405e32f0ec5d5143e5a9f439d gcc/testsuite/gcc.target/i386/pr85620-3.c ef26d6c20cd8d62290f57071ec7d3aa3 gcc/testsuite/gcc.target/i386/pr85620-4.c 6ad11c4fec0ee7f96ee7177b031643d0 gcc/testsuite/gcc.target/i386/pr85667-1.c + 91d570a0ad17e88baacfd8df45cf890f gcc/testsuite/gcc.target/i386/pr85667-10.c f6ae1970d5d59d2346e9cc80a1025399 gcc/testsuite/gcc.target/i386/pr85667-2.c 9f89c7c3a99d927e53d6bfe1003c2249 gcc/testsuite/gcc.target/i386/pr85667-3.c 1e62148a68084060b4de71901f6abb3f gcc/testsuite/gcc.target/i386/pr85667-4.c 607300ba762a35449b97cef427bd9b31 gcc/testsuite/gcc.target/i386/pr85667-5.c 0ce7fb923d78058f2f86ecdfc69d1e90 gcc/testsuite/gcc.target/i386/pr85667-6.c + a5786646ba750d22ea879269cc087364 gcc/testsuite/gcc.target/i386/pr85667-7.c + e978d99e64900c57a4fb4fc02c3e26ff gcc/testsuite/gcc.target/i386/pr85667-8.c + 1463aed136a92c4f66cdcc362d839181 gcc/testsuite/gcc.target/i386/pr85667-9.c 2a5c3049bf296b47ae6f148a48bbf32c gcc/testsuite/gcc.target/i386/pr85692.c edd12babef8a1b1ae5cbfcb546f88e8c gcc/testsuite/gcc.target/i386/pr85693.c aeec20794b5881e9807e9a0bab51cf84 gcc/testsuite/gcc.target/i386/pr85694.c *************** d7bcb4fdd0161bda3f8883308852762d gcc/te *** 50027,50032 **** --- 50246,50252 ---- a2e3db16bdc7a25f338922bcd6f76215 gcc/testsuite/gcc.target/i386/pr87657.c a35bf9ac71101c4fd7617105e2022af1 gcc/testsuite/gcc.target/i386/pr87662.c 1820add1be755a939216eaf57b8daf5b gcc/testsuite/gcc.target/i386/pr87759.c + b91162801f7d0d6af855bd692e22ab63 gcc/testsuite/gcc.target/i386/pr87853.c c7fbb8c42391916088505cea2847ff00 gcc/testsuite/gcc.target/i386/pr87918.c 4b54801016bc4b3cc228ac7dd70de407 gcc/testsuite/gcc.target/i386/pr87928.c 4fc2942c48d13b19282e746bb6deb0f5 gcc/testsuite/gcc.target/i386/pr87955.c *************** f529a8c1dee59aa4275d01977b57a0f2 gcc/te *** 50078,50085 **** --- 50298,50317 ---- a9287216d129eff30597718cb0900160 gcc/testsuite/gcc.target/i386/pr90178.c c04294701860868605e6d4177d1f5a28 gcc/testsuite/gcc.target/i386/pr90193.c 71daed2fce58de22bfa193c1d29d8205 gcc/testsuite/gcc.target/i386/pr90547.c + 82fd34c6f4f79a15f4144b67a4507d26 gcc/testsuite/gcc.target/i386/pr90867.c 1d0e83324035b21be27951b192325a1c gcc/testsuite/gcc.target/i386/pr90899.c 214e297c0a7eb9cbfdb0fe5aaefdfaa2 gcc/testsuite/gcc.target/i386/pr91131.c + 0cedb8815ec474ea3a6454ae7fdff46f gcc/testsuite/gcc.target/i386/pr91298-1.c + f0fcd639c26dec3b350ac6bf649264db gcc/testsuite/gcc.target/i386/pr91298-2.c + b1033a73e69ce631508fb5810b3eb39c gcc/testsuite/gcc.target/i386/pr91623.c + acc82a5b459bf1433e5f0d6d4849c00a gcc/testsuite/gcc.target/i386/pr91704.c + 0ff9c02d0f94bbfa2f618e6f4c81567e gcc/testsuite/gcc.target/i386/pr92225.c + b7cac4959f15ba45f067fec51fddab75 gcc/testsuite/gcc.target/i386/pr92615.c + 62ade5dc105d6119dff3a6aa23ee6a45 gcc/testsuite/gcc.target/i386/pr93088.c + 0cbbfb6a80b114bf60fcfd0fce913fdb gcc/testsuite/gcc.target/i386/pr93656.c + 77b9ee8512c8e923363a5e2d927e99b1 gcc/testsuite/gcc.target/i386/pr93696-1.c + b35da961377f3aa60ef57bb47462f48e gcc/testsuite/gcc.target/i386/pr93696-2.c + a830133e19b8979f8f171a4d277b5086 gcc/testsuite/gcc.target/i386/pr93743.c 849234c7a569c1e86023244bc5561263 gcc/testsuite/gcc.target/i386/pr9771-1.c 24ceb6d5f3f5cde4b9d852839bdb98ae gcc/testsuite/gcc.target/i386/prefetchw-1.c f11f4731c396f099373c033ab016a64f gcc/testsuite/gcc.target/i386/prefetchwt1-1.c *************** e47bbd1acfd37236fccff011d4c82e82 gcc/te *** 50115,50122 **** e37a168c17859bf43f180a3cb76b47dc gcc/testsuite/gcc.target/i386/ret-thunk-11.c 7fde81ddca4708120e5f5125ba9c9fbf gcc/testsuite/gcc.target/i386/ret-thunk-12.c 14d89c82cb35544a32336240ef58c500 gcc/testsuite/gcc.target/i386/ret-thunk-13.c ! 7ecac60b0aebd17e5dd866ef3377564d gcc/testsuite/gcc.target/i386/ret-thunk-14.c ! 8ef45c39ce7866f8c203b022a02f775f gcc/testsuite/gcc.target/i386/ret-thunk-15.c 18e90525f1abe3c52128427f9fb39b3e gcc/testsuite/gcc.target/i386/ret-thunk-16.c cc34b9f508b9c8334f3288b096cb78f7 gcc/testsuite/gcc.target/i386/ret-thunk-17.c 7d462469a74829644f625dfd13e56245 gcc/testsuite/gcc.target/i386/ret-thunk-18.c --- 50347,50354 ---- e37a168c17859bf43f180a3cb76b47dc gcc/testsuite/gcc.target/i386/ret-thunk-11.c 7fde81ddca4708120e5f5125ba9c9fbf gcc/testsuite/gcc.target/i386/ret-thunk-12.c 14d89c82cb35544a32336240ef58c500 gcc/testsuite/gcc.target/i386/ret-thunk-13.c ! 8165c1fc58be1608397622f39d926c07 gcc/testsuite/gcc.target/i386/ret-thunk-14.c ! 03f2947228ea023c8f8d07076c33eb4c gcc/testsuite/gcc.target/i386/ret-thunk-15.c 18e90525f1abe3c52128427f9fb39b3e gcc/testsuite/gcc.target/i386/ret-thunk-16.c cc34b9f508b9c8334f3288b096cb78f7 gcc/testsuite/gcc.target/i386/ret-thunk-17.c 7d462469a74829644f625dfd13e56245 gcc/testsuite/gcc.target/i386/ret-thunk-18.c *************** c0e1cf033713f4d9f46705d898afe08a gcc/te *** 50134,50140 **** d51fd9f2d7e7069d77886270f69d0f12 gcc/testsuite/gcc.target/i386/ret-thunk-6.c 4234854200abfc91e34d2fc53f42eff3 gcc/testsuite/gcc.target/i386/ret-thunk-7.c 6f9c6a5223282b22bc65105d4a0e7e53 gcc/testsuite/gcc.target/i386/ret-thunk-8.c ! f665c9dc56b6a42f361219f9f19d12e6 gcc/testsuite/gcc.target/i386/ret-thunk-9.c fe7ee8a9110596ef272c4f9b6ad8adad gcc/testsuite/gcc.target/i386/retarg.c a97704f8e32c5e8bde0ca64585f19254 gcc/testsuite/gcc.target/i386/returninst1.c b6489853439ca195ae81c5bc30919887 gcc/testsuite/gcc.target/i386/returninst2.c --- 50366,50372 ---- d51fd9f2d7e7069d77886270f69d0f12 gcc/testsuite/gcc.target/i386/ret-thunk-6.c 4234854200abfc91e34d2fc53f42eff3 gcc/testsuite/gcc.target/i386/ret-thunk-7.c 6f9c6a5223282b22bc65105d4a0e7e53 gcc/testsuite/gcc.target/i386/ret-thunk-8.c ! 7a7a1d5a4517a13ebf3484508670a5bf gcc/testsuite/gcc.target/i386/ret-thunk-9.c fe7ee8a9110596ef272c4f9b6ad8adad gcc/testsuite/gcc.target/i386/retarg.c a97704f8e32c5e8bde0ca64585f19254 gcc/testsuite/gcc.target/i386/returninst1.c b6489853439ca195ae81c5bc30919887 gcc/testsuite/gcc.target/i386/returninst2.c *************** cf6f0df12b5b7345a2d1247211b0dceb gcc/te *** 50195,50203 **** cc8a162617784a2e883a5e726d28ebde gcc/testsuite/gcc.target/i386/sse-1.c 31f7ce4356be3b5523e49df7d4ad0951 gcc/testsuite/gcc.target/i386/sse-10.c 49bde97b271274cb2bc26697ce2b19be gcc/testsuite/gcc.target/i386/sse-11.c ! 769a782b181b404f593c14e1409cb073 gcc/testsuite/gcc.target/i386/sse-12.c ! 0c03a3c50daaeb9f0ad146cd5fc10a7e gcc/testsuite/gcc.target/i386/sse-13.c ! a138b342438a4100d09e24dd80aff320 gcc/testsuite/gcc.target/i386/sse-14.c 92ad37b5ad7426d489b1b6f1ba0f41ea gcc/testsuite/gcc.target/i386/sse-15.c 2e7b115c4bd7984925f1a8d17a5faf67 gcc/testsuite/gcc.target/i386/sse-16.c f660e67b22cb44e6a6b38a247b1d78c3 gcc/testsuite/gcc.target/i386/sse-17.c --- 50427,50435 ---- cc8a162617784a2e883a5e726d28ebde gcc/testsuite/gcc.target/i386/sse-1.c 31f7ce4356be3b5523e49df7d4ad0951 gcc/testsuite/gcc.target/i386/sse-10.c 49bde97b271274cb2bc26697ce2b19be gcc/testsuite/gcc.target/i386/sse-11.c ! 0fda9371039ad1a80f11530a4dcd4d85 gcc/testsuite/gcc.target/i386/sse-12.c ! 4b4e74dd76fb8c69ffdc4bfe13ee62fd gcc/testsuite/gcc.target/i386/sse-13.c ! 71ab93066487879f46e3ab206d911e61 gcc/testsuite/gcc.target/i386/sse-14.c 92ad37b5ad7426d489b1b6f1ba0f41ea gcc/testsuite/gcc.target/i386/sse-15.c 2e7b115c4bd7984925f1a8d17a5faf67 gcc/testsuite/gcc.target/i386/sse-16.c f660e67b22cb44e6a6b38a247b1d78c3 gcc/testsuite/gcc.target/i386/sse-17.c *************** f660e67b22cb44e6a6b38a247b1d78c3 gcc/te *** 50206,50212 **** bb148b6e9dd40de90aed723794e38216 gcc/testsuite/gcc.target/i386/sse-2.c c23a0ea446a060d55e49e48429513f7d gcc/testsuite/gcc.target/i386/sse-20.c d5e7e4c7d488a953399d853e48aa484e gcc/testsuite/gcc.target/i386/sse-21.c ! 9e9af38e237e398cf8ee3e7afdaedf55 gcc/testsuite/gcc.target/i386/sse-22.c 1c2df57cb3d7d6a3daf4084135ba9b1b gcc/testsuite/gcc.target/i386/sse-22a.c 3c1b81ac1f54becae326a79997fb72df gcc/testsuite/gcc.target/i386/sse-23.c 3fe1d48ff9d52631da56f04cc922a9cb gcc/testsuite/gcc.target/i386/sse-24.c --- 50438,50444 ---- bb148b6e9dd40de90aed723794e38216 gcc/testsuite/gcc.target/i386/sse-2.c c23a0ea446a060d55e49e48429513f7d gcc/testsuite/gcc.target/i386/sse-20.c d5e7e4c7d488a953399d853e48aa484e gcc/testsuite/gcc.target/i386/sse-21.c ! 1f38a5aad13eeda864381389b3880374 gcc/testsuite/gcc.target/i386/sse-22.c 1c2df57cb3d7d6a3daf4084135ba9b1b gcc/testsuite/gcc.target/i386/sse-22a.c 3c1b81ac1f54becae326a79997fb72df gcc/testsuite/gcc.target/i386/sse-23.c 3fe1d48ff9d52631da56f04cc922a9cb gcc/testsuite/gcc.target/i386/sse-24.c *************** cc9f6556f139a09d0fde4192c4bd5898 gcc/te *** 51082,51087 **** --- 51314,51322 ---- 15a6a09f926d9cadc5efa71d9a537bd9 gcc/testsuite/gcc.target/mips/call-saved-7.c b6598997f99e11ea5cde760f16bc51b8 gcc/testsuite/gcc.target/mips/call-saved-8.c 5ef31c16124e446128af2ccfc80a1ceb gcc/testsuite/gcc.target/mips/call-saved-9.c + 251d8644980f5886f8aeb79798fe635a gcc/testsuite/gcc.target/mips/cfgcleanup-jalr1.c + 848a10454fcc4968030b6fee3060abfe gcc/testsuite/gcc.target/mips/cfgcleanup-jalr2.c + ae780e823d07817d6b6704ba974cdd01 gcc/testsuite/gcc.target/mips/cfgcleanup-jalr3.c 0e811556243ef05a090351b71010af15 gcc/testsuite/gcc.target/mips/clear-cache-1.c 10c7701a3904364c72d3dc09d3612abd gcc/testsuite/gcc.target/mips/clear-cache-2.c 44d569798a91e2c06f1ea5e924b754dc gcc/testsuite/gcc.target/mips/code-readable-1.c *************** f5708a14d24fa3ec5113806245448661 gcc/te *** 51203,51208 **** --- 51438,51444 ---- 5dd1ae591090d75e1b427f8aa22f3d0c gcc/testsuite/gcc.target/mips/gcc-have-sync-compare-and-swap-4.c 0b11ee2c842b84b4bc066e44c1cdb1d4 gcc/testsuite/gcc.target/mips/get-fcsr-1.c 0b438608d3e1f6097d6deafb8cc1adcc gcc/testsuite/gcc.target/mips/get-fcsr-2.c + 3e8c2c752342d245655270615111d225 gcc/testsuite/gcc.target/mips/get-fcsr-3.c 16d43ceaf979632be1e1d4b9aa8de52c gcc/testsuite/gcc.target/mips/inline-memcpy-1.c b5002e9e5369181413c9ffddd38c11f9 gcc/testsuite/gcc.target/mips/inline-memcpy-2.c 4bb37f55e916928ff7048e252937636b gcc/testsuite/gcc.target/mips/inline-memcpy-3.c *************** d946887666581a01ba252e6f7f60ff15 gcc/te *** 51461,51466 **** --- 51697,51703 ---- 41d397146106de9f0bde8568f2aa1b58 gcc/testsuite/gcc.target/mips/pr74563.c ae0e3bf279bfdc631da5f4c109d681d3 gcc/testsuite/gcc.target/mips/pr82981.c d16ca6ac6a955a86b18beecc197b9ccf gcc/testsuite/gcc.target/mips/pr88349.c + 883d2c60e32348644a3be6f91c7e2b65 gcc/testsuite/gcc.target/mips/pr91769.c a3d18616f89634c190f4bb31b9165dbc gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c 668f845b2b56ba796d8efa350bd5f072 gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c 32ddce9e3a3bbe0a7c0283da638073ae gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c *************** bb3374c69dde2e7b04fca300c9416620 gcc/te *** 51754,51760 **** af361d9cce9906e7956ed7632c663422 gcc/testsuite/gcc.target/powerpc/20040622-1.c 6255b4c693da499be985b6e9dc83c802 gcc/testsuite/gcc.target/powerpc/20041111-1.c 09142540eea70df1224760101211366e gcc/testsuite/gcc.target/powerpc/20050603-1.c ! 6d295c1f2a0e117b298e9d430e5d902d gcc/testsuite/gcc.target/powerpc/20050603-3.c bc3af82991adbd156bce9e6aa788b9b7 gcc/testsuite/gcc.target/powerpc/20050830-1.c 795922a961666ffadbc122338736a121 gcc/testsuite/gcc.target/powerpc/20081204-1.c cd0f96d09613572877fd9b0a5b9fd2eb gcc/testsuite/gcc.target/powerpc/405-dlmzb-strlen-1.c --- 51991,51997 ---- af361d9cce9906e7956ed7632c663422 gcc/testsuite/gcc.target/powerpc/20040622-1.c 6255b4c693da499be985b6e9dc83c802 gcc/testsuite/gcc.target/powerpc/20041111-1.c 09142540eea70df1224760101211366e gcc/testsuite/gcc.target/powerpc/20050603-1.c ! 9abe3de5b09268d62289d406cd6ff4a5 gcc/testsuite/gcc.target/powerpc/20050603-3.c bc3af82991adbd156bce9e6aa788b9b7 gcc/testsuite/gcc.target/powerpc/20050830-1.c 795922a961666ffadbc122338736a121 gcc/testsuite/gcc.target/powerpc/20081204-1.c cd0f96d09613572877fd9b0a5b9fd2eb gcc/testsuite/gcc.target/powerpc/405-dlmzb-strlen-1.c *************** a3b487e53959665b5ecb0d7ba6138585 gcc/te *** 52130,52135 **** --- 52367,52373 ---- 98101aa2892dd0277597181bcdf59916 gcc/testsuite/gcc.target/powerpc/darn-0.c 9c8b26ff1cc977f0df82bc86998c247b gcc/testsuite/gcc.target/powerpc/darn-1.c 962f878c3237706ffe60710e123880ff gcc/testsuite/gcc.target/powerpc/darn-2.c + 2d3888fb18aac2e8b4172608e0bad7da gcc/testsuite/gcc.target/powerpc/darn-3.c 965986b227062a2b8c664c916a71ad45 gcc/testsuite/gcc.target/powerpc/darwin-abi-1.c 9a0e4836781f28669ddca26eb214c2b2 gcc/testsuite/gcc.target/powerpc/darwin-abi-10.c 66e5cfd1b7491e37c0ef258d09b6634d gcc/testsuite/gcc.target/powerpc/darwin-abi-11.c *************** faf2ed46677346059dd2b7fd42254985 gcc/te *** 52851,52856 **** --- 53089,53099 ---- 10f1493f63e70f52ad8347f840e8b582 gcc/testsuite/gcc.target/powerpc/pr69548.c c12c18f334b92db27768fc61c21a1b4a gcc/testsuite/gcc.target/powerpc/pr69946.c 8de5ffb2d5ac3eef7a5e25cc4282770a gcc/testsuite/gcc.target/powerpc/pr69969.c + 325a069d871f180ee18e5ae4b3e8fadf gcc/testsuite/gcc.target/powerpc/pr70010-1.c + 637826727bac89b90a0f3aa5177f7c16 gcc/testsuite/gcc.target/powerpc/pr70010-2.c + 41104bdcf432978b1bb8217791c89c23 gcc/testsuite/gcc.target/powerpc/pr70010-3.c + f04c5add43326054cacbb6544404890d gcc/testsuite/gcc.target/powerpc/pr70010-4.c + 1de006067bf04677e8e3043c80b99112 gcc/testsuite/gcc.target/powerpc/pr70010.c 7b679fd8b036308859824a29a78c13fd gcc/testsuite/gcc.target/powerpc/pr70117.c 9f0a82f7f84690a18cb82bed87617073 gcc/testsuite/gcc.target/powerpc/pr70640.c 9f7996dd7c38f201960362b08e509c7d gcc/testsuite/gcc.target/powerpc/pr70669.c *************** d9ccfe0048f3d64bbe5861c9aea6294f gcc/te *** 52873,52879 **** ce78835a227344b0ee808a7cd36b8ab3 gcc/testsuite/gcc.target/powerpc/pr71977-1.c c829cbeaf198a3914867f862ff322c1f gcc/testsuite/gcc.target/powerpc/pr71977-2.c f480178203318f682e3a2aa7cf83b28e gcc/testsuite/gcc.target/powerpc/pr72717.c ! 93265198c16d9ecf158a219f866ac902 gcc/testsuite/gcc.target/powerpc/pr72804.c b88472e4cc9299cb4219b90f5b344f69 gcc/testsuite/gcc.target/powerpc/pr72853.c f89f50620562c6f4abc51387af2bb088 gcc/testsuite/gcc.target/powerpc/pr72863.c e3aae05283ea4b10932c86272339b737 gcc/testsuite/gcc.target/powerpc/pr77289.c --- 53116,53122 ---- ce78835a227344b0ee808a7cd36b8ab3 gcc/testsuite/gcc.target/powerpc/pr71977-1.c c829cbeaf198a3914867f862ff322c1f gcc/testsuite/gcc.target/powerpc/pr71977-2.c f480178203318f682e3a2aa7cf83b28e gcc/testsuite/gcc.target/powerpc/pr72717.c ! 9f9690fb00f3af890c2b4af3d6414035 gcc/testsuite/gcc.target/powerpc/pr72804.c b88472e4cc9299cb4219b90f5b344f69 gcc/testsuite/gcc.target/powerpc/pr72853.c f89f50620562c6f4abc51387af2bb088 gcc/testsuite/gcc.target/powerpc/pr72863.c e3aae05283ea4b10932c86272339b737 gcc/testsuite/gcc.target/powerpc/pr77289.c *************** dd95a2250e2db6dba5532882d6c626fd gcc/te *** 52996,53001 **** --- 53239,53254 ---- 185daccfe9cd0171b973121afbc70613 gcc/testsuite/gcc.target/powerpc/pr89225.c c37f43ea14b9c2771195287a84b61d7f gcc/testsuite/gcc.target/powerpc/pr89424-0.c 641d52f8caa1635a7b47a9370f9b19ed gcc/testsuite/gcc.target/powerpc/pr89765-mc.c + 212a3d50b8d112a6d4111e1f90023028 gcc/testsuite/gcc.target/powerpc/pr91275.c + 146b79d794c5eb5a94bc0cd961b416b6 gcc/testsuite/gcc.target/powerpc/pr92090-2.c + b3e3f8dd7576caaad7cff1f382fd583d gcc/testsuite/gcc.target/powerpc/pr92090.c + 83dcd9298e3032c199cff14e43dc88a2 gcc/testsuite/gcc.target/powerpc/pr92098-int-1.c + f41f1edc916eda202b67d7f3d9c4baa6 gcc/testsuite/gcc.target/powerpc/pr92098-int-2.c + 5ca836935ff861e5d765b50e1f687a46 gcc/testsuite/gcc.target/powerpc/pr92398.h + d9fba0ca0fbffbec7b81998c68e37046 gcc/testsuite/gcc.target/powerpc/pr92398.p9+.c + 5d5ca04b37310f5920f3cc8069f68a5a gcc/testsuite/gcc.target/powerpc/pr92398.p9-.c + 6ed2bd11c87cb97b53a02a6da437dd68 gcc/testsuite/gcc.target/powerpc/pr93073.c + 3ba8ef2a92d4982a4dc0e12f6d60290b gcc/testsuite/gcc.target/powerpc/pure-builtin-redundant-load.c f2d0629b5eb04308346c90a52b0dfad9 gcc/testsuite/gcc.target/powerpc/quad-atomic.c 4c4c29d599264356e1c6bc46cac8a876 gcc/testsuite/gcc.target/powerpc/r2_shrink-wrap.c 7659e2d7158a0cc47cd2b58dced8dd34 gcc/testsuite/gcc.target/powerpc/recip-1.c *************** f69ed9814aa0739480a17cf1070d4373 gcc/te *** 53693,53698 **** --- 53946,53953 ---- 31c0ee6a8ca083c03de82b32a5cc0210 gcc/testsuite/gcc.target/riscv/interrupt-umode.c 4aef0f89ffb494d0a744e3b040b6c9c7 gcc/testsuite/gcc.target/riscv/losum-overflow.c 14c90f84d8058b60faff46b00c097a9c gcc/testsuite/gcc.target/riscv/pr84660.c + 1a434ff3440a676fb4f4c586bf3152e5 gcc/testsuite/gcc.target/riscv/pr93202.c + df7314c076701fb65929d4b00b3eb243 gcc/testsuite/gcc.target/riscv/pr93304.c f0f91a28596e2dcf0af2dee634ce81cd gcc/testsuite/gcc.target/riscv/predef-1.c a800b0b2c0a7c1b33ad7379a050995d6 gcc/testsuite/gcc.target/riscv/predef-2.c 7536e7cf6900e49fcec2f3cf4afd1775 gcc/testsuite/gcc.target/riscv/predef-3.c *************** dfc22da14c07c3bda891ed764956ee67 gcc/te *** 53709,53714 **** --- 53964,53971 ---- 0b46a17ee46024f3154dbf8bdd5cbb02 gcc/testsuite/gcc.target/riscv/shift-shift-1.c 04f78f5b27020ebb5749248ba9ac40f0 gcc/testsuite/gcc.target/riscv/shift-shift-2.c 1dfed59e9e4db3db2d143a2eba583e14 gcc/testsuite/gcc.target/riscv/shift-shift-3.c + abf54bfa9c926f5b5adf9ebd76030325 gcc/testsuite/gcc.target/riscv/shift-shift-4.c + d76e761b074fb04aa46d4be42c99a83f gcc/testsuite/gcc.target/riscv/shift-shift-5.c 6dfb9790e241f950ea2aa3291b159220 gcc/testsuite/gcc.target/riscv/switch-qi.c 8fb57c19db131e7052dd356fcaf31c36 gcc/testsuite/gcc.target/riscv/switch-si.c 49941bd45fc4de8389bf599961feafd6 gcc/testsuite/gcc.target/riscv/weak-1.c *************** cf959b4c2853c02daae71fd523c3158f gcc/te *** 53934,53948 **** f61f4c2353779a8836bca364a80c1221 gcc/testsuite/gcc.target/s390/pr89775-1.c b379cd03e188ebd20fb6bfd9e811a8f6 gcc/testsuite/gcc.target/s390/pr89775-2.c 2eee4995a25c86e57cb129b5d45e0138 gcc/testsuite/gcc.target/s390/pr89952.c f9de3c4e9d9e8c3a707e1f51e48901b6 gcc/testsuite/gcc.target/s390/return-addr1.c 5368e8759352b798ae1db6bc79919aa2 gcc/testsuite/gcc.target/s390/return-addr2.c f974e5ff639dd74404435089c4a7a5b2 gcc/testsuite/gcc.target/s390/risbg-ll-1.c 1ec3a9ebd73b807db576d8103d9fce44 gcc/testsuite/gcc.target/s390/risbg-ll-2.c 50b370e2813f2827a79cab95bcd005ea gcc/testsuite/gcc.target/s390/risbg-ll-3.c ! 0aa2931a984db37a916f88d5a021bb28 gcc/testsuite/gcc.target/s390/s390.exp 970ac972bfd816dae5f8b5705abd8ab6 gcc/testsuite/gcc.target/s390/section-anchors.c 2e57c7c23cac49a65eb61077317a2f1b gcc/testsuite/gcc.target/s390/section-anchors2.c 78c4d933475e58d55d22ab5b46b27884 gcc/testsuite/gcc.target/s390/section-anchors3.c 3a9ba61f8844739d1b5989c7c7e2b6c1 gcc/testsuite/gcc.target/s390/stackcheck1.c 440663fed0925afcad33c76bdde54f80 gcc/testsuite/gcc.target/s390/target-attribute/pr82012.c 4a0a569cb86f0820127939aa90fb2469 gcc/testsuite/gcc.target/s390/target-attribute/tattr-1.c --- 54191,54207 ---- f61f4c2353779a8836bca364a80c1221 gcc/testsuite/gcc.target/s390/pr89775-1.c b379cd03e188ebd20fb6bfd9e811a8f6 gcc/testsuite/gcc.target/s390/pr89775-2.c 2eee4995a25c86e57cb129b5d45e0138 gcc/testsuite/gcc.target/s390/pr89952.c + f4792ece0a0aff8add8968cae67374ad gcc/testsuite/gcc.target/s390/pr93908.c f9de3c4e9d9e8c3a707e1f51e48901b6 gcc/testsuite/gcc.target/s390/return-addr1.c 5368e8759352b798ae1db6bc79919aa2 gcc/testsuite/gcc.target/s390/return-addr2.c f974e5ff639dd74404435089c4a7a5b2 gcc/testsuite/gcc.target/s390/risbg-ll-1.c 1ec3a9ebd73b807db576d8103d9fce44 gcc/testsuite/gcc.target/s390/risbg-ll-2.c 50b370e2813f2827a79cab95bcd005ea gcc/testsuite/gcc.target/s390/risbg-ll-3.c ! 1e49e831dee17194fd8925532fced3df gcc/testsuite/gcc.target/s390/s390.exp 970ac972bfd816dae5f8b5705abd8ab6 gcc/testsuite/gcc.target/s390/section-anchors.c 2e57c7c23cac49a65eb61077317a2f1b gcc/testsuite/gcc.target/s390/section-anchors2.c 78c4d933475e58d55d22ab5b46b27884 gcc/testsuite/gcc.target/s390/section-anchors3.c + cf53aab8a3ab2532dd55b65c25e2cda5 gcc/testsuite/gcc.target/s390/sigfpe-eh.c 3a9ba61f8844739d1b5989c7c7e2b6c1 gcc/testsuite/gcc.target/s390/stackcheck1.c 440663fed0925afcad33c76bdde54f80 gcc/testsuite/gcc.target/s390/target-attribute/pr82012.c 4a0a569cb86f0820127939aa90fb2469 gcc/testsuite/gcc.target/s390/target-attribute/tattr-1.c *************** d68a866a15a643eeda4c8be22e4cfd31 gcc/te *** 54037,54042 **** --- 54296,54302 ---- cd87621c97dea4b44990c53afb0e84f0 gcc/testsuite/gcc.target/s390/vector/fp-signedint-convert-1.c 7555086a7e981f40ab0a053876683cc4 gcc/testsuite/gcc.target/s390/vector/fp-unsignedint-convert-1.c 8a6c46e492362a7ae789676034c82a23 gcc/testsuite/gcc.target/s390/vector/int128-1.c + 4fefdb80366d27b600c5e726a3b722da gcc/testsuite/gcc.target/s390/vector/pr92950.c f8ddf98d23fed8fdb81fc0b6b8a34fa4 gcc/testsuite/gcc.target/s390/vector/stpcpy-1.c c6799efe253acc955e2b9dcf44075d99 gcc/testsuite/gcc.target/s390/vector/vcond-shift.c 8fa9b68cf0196b4198ce00a304191744 gcc/testsuite/gcc.target/s390/vector/vec-abi-1.c *************** ffba4a644f6c776dd608a5285349bff8 gcc/te *** 54363,54369 **** a67458660c2ef2010f128fdaa4faaa86 gcc/testsuite/gcc.target/sparc/20160104-1.c 22f916e859ece29a91c18dffaca9e14b gcc/testsuite/gcc.target/sparc/20160104-2.c 5a2e933dbc9688c2c8158a7e45e5462b gcc/testsuite/gcc.target/sparc/20160229-1.c ! f105a9c71ffd58f541747bfe25ebdc89 gcc/testsuite/gcc.target/sparc/20161111-1.c 5b34d024151ffbbd5c3b91733a663c88 gcc/testsuite/gcc.target/sparc/20170205-1.c e470b0a0d1a056b60c3915a6dfcfd4ae gcc/testsuite/gcc.target/sparc/20170228-1.c bf95d536cbad4db92f264aa740abbbbc gcc/testsuite/gcc.target/sparc/20181129-1.c --- 54623,54629 ---- a67458660c2ef2010f128fdaa4faaa86 gcc/testsuite/gcc.target/sparc/20160104-1.c 22f916e859ece29a91c18dffaca9e14b gcc/testsuite/gcc.target/sparc/20160104-2.c 5a2e933dbc9688c2c8158a7e45e5462b gcc/testsuite/gcc.target/sparc/20160229-1.c ! 5b143c3e46fe04901dc0f5da126d1e44 gcc/testsuite/gcc.target/sparc/20161111-1.c 5b34d024151ffbbd5c3b91733a663c88 gcc/testsuite/gcc.target/sparc/20170205-1.c e470b0a0d1a056b60c3915a6dfcfd4ae gcc/testsuite/gcc.target/sparc/20170228-1.c bf95d536cbad4db92f264aa740abbbbc gcc/testsuite/gcc.target/sparc/20181129-1.c *************** a6501f830b7d1b9e944beb9e5db075f6 gcc/te *** 54437,54447 **** 8c00c3335d253fde289d5e07676b4586 gcc/testsuite/gcc.target/sparc/movcc-2.c 06ebc1bfb7ebac800bc8e13a4c96ecdc gcc/testsuite/gcc.target/sparc/niagara7-align.c 27bc21317eeddefa4b9cc41e1c4e363c gcc/testsuite/gcc.target/sparc/noresult.c ! 019b2c91e8d69c544c8425875f80963c gcc/testsuite/gcc.target/sparc/overflow-1.c ! 0d159b72526aa6fb4b1565064261c3d5 gcc/testsuite/gcc.target/sparc/overflow-2.c ! c8f895d6319bbcc6fb06c49142f3c3bf gcc/testsuite/gcc.target/sparc/overflow-3.c ! 3423844e80022f8772b00b4375802c3b gcc/testsuite/gcc.target/sparc/overflow-4.c ! eb30497171b652baaf0fbfdfe639c2aa gcc/testsuite/gcc.target/sparc/overflow-5.c 0e446c8782cfda1bf1b2b7467cdf43af gcc/testsuite/gcc.target/sparc/pdist-2.c 77281e86e797be1ef8a0784c9a4db58a gcc/testsuite/gcc.target/sparc/pdist-3.c 178b0f750e337f74871710d17257944f gcc/testsuite/gcc.target/sparc/pdist.c --- 54697,54707 ---- 8c00c3335d253fde289d5e07676b4586 gcc/testsuite/gcc.target/sparc/movcc-2.c 06ebc1bfb7ebac800bc8e13a4c96ecdc gcc/testsuite/gcc.target/sparc/niagara7-align.c 27bc21317eeddefa4b9cc41e1c4e363c gcc/testsuite/gcc.target/sparc/noresult.c ! a54091faea7a1abd6cd4fbd0ef1b4336 gcc/testsuite/gcc.target/sparc/overflow-1.c ! d0fc65bbbe891276a96818aa810ee61a gcc/testsuite/gcc.target/sparc/overflow-2.c ! 444e8beace1b4de7dfc39e780fc67fac gcc/testsuite/gcc.target/sparc/overflow-3.c ! 2d8b17d688d100fd3cb6453f855222b0 gcc/testsuite/gcc.target/sparc/overflow-4.c ! 8475c91c4d278191b81ca429107475b1 gcc/testsuite/gcc.target/sparc/overflow-5.c 0e446c8782cfda1bf1b2b7467cdf43af gcc/testsuite/gcc.target/sparc/pdist-2.c 77281e86e797be1ef8a0784c9a4db58a gcc/testsuite/gcc.target/sparc/pdist-3.c 178b0f750e337f74871710d17257944f gcc/testsuite/gcc.target/sparc/pdist.c *************** b752d8e0e2616e7a0b0f6cb39057e8f6 gcc/te *** 57157,57163 **** 6d72a54151f72a962bff1910bf0da4fe gcc/testsuite/gdc.test/runnable/xtest55.d 4e7f0de22b7ea65edfc19886e0194745 gcc/testsuite/gdc.test/runnable/xtestenum.d 38343e39577a1d093c40818070ea1d7b gcc/testsuite/gfortran.dg/20181025-1.f ! fe54b6b6c4df6ffbc3faeb4350138a26 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c 3eb61cc5bcca57c89d27b886454f741f gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.f90 59739710cd1fa1946c795ad6d61d5bc4 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_10.c ab61897df959fe950516eff0731b9408 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_10.f90 --- 57417,57423 ---- 6d72a54151f72a962bff1910bf0da4fe gcc/testsuite/gdc.test/runnable/xtest55.d 4e7f0de22b7ea65edfc19886e0194745 gcc/testsuite/gdc.test/runnable/xtestenum.d 38343e39577a1d093c40818070ea1d7b gcc/testsuite/gfortran.dg/20181025-1.f ! ce04570deb62ab215ae3e3f210fa3e05 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c 3eb61cc5bcca57c89d27b886454f741f gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.f90 59739710cd1fa1946c795ad6d61d5bc4 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_10.c ab61897df959fe950516eff0731b9408 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_10.f90 *************** ab61897df959fe950516eff0731b9408 gcc/te *** 57165,57170 **** --- 57425,57435 ---- 0d4f32a7fb98c6f300d234ef07c868a6 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_11.f90 f960ece33e6f461552cdfe23d308516d gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.c 0f997ee918539916d184f0f26ede39dc gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.f90 + 6b0904352bf83bab2f0b90ac1682aeb2 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.c + 1637107e7b04b625884037471be00510 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.f90 + 0590c7c6708c81cca9c50dcfbc485021 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_14.f90 + 6e7b19b5700d90f1ea9027eee720ded2 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_17.c + 83ed5cb8aafa7e28e6f1799d2f9af0c0 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_17.f90 9d0f92e87fb4f26f9b6c6ba44603d69c gcc/testsuite/gfortran.dg/ISO_Fortran_binding_3.c 2b8b1f675c75cbcedd7b9e79adfde6f8 gcc/testsuite/gfortran.dg/ISO_Fortran_binding_3.f90 26bb37cdd8c407bb13011329ec3723aa gcc/testsuite/gfortran.dg/ISO_Fortran_binding_4.f90 *************** fe3a537d232e11c904ccb01a3aab7662 gcc/te *** 57410,57415 **** --- 57675,57683 ---- 7cc510b039d09672cfbf8d1dec88953c gcc/testsuite/gfortran.dg/allocate_zerosize_1.f90 12f3d33d5ae0d7cf655d8f39f073d9a9 gcc/testsuite/gfortran.dg/allocate_zerosize_2.f90 ce98de1957479e069ab10632545c5afa gcc/testsuite/gfortran.dg/allocate_zerosize_3.f + 2aed41bf3197f0940198d4ddf8b5d161 gcc/testsuite/gfortran.dg/allocated_1.f90 + f6b88d144becd396845bef8ec9c702cf gcc/testsuite/gfortran.dg/allocated_2.f90 + c48691ea63fd97e5aeaa840878e94e6f gcc/testsuite/gfortran.dg/allocated_3.f90 6a729cf1f6bf67aa0e2493345f68e5fc gcc/testsuite/gfortran.dg/altreturn_1.f90 35675d46dde8f42af0dccd6d6054d457 gcc/testsuite/gfortran.dg/altreturn_10.f90 7cbc1f043d9ba68898b8a84dff22a6f7 gcc/testsuite/gfortran.dg/altreturn_2.f90 *************** fc8aa36bdfc5dedea8c7e067f3958a4c gcc/te *** 57451,57456 **** --- 57719,57725 ---- 9a6dc039d47b29ccb678823eb76c7e6c gcc/testsuite/gfortran.dg/argument_checking_8.f90 ae5c0c1a40358f4209139ab1ba4c93a1 gcc/testsuite/gfortran.dg/argument_checking_9.f90 f2050f4ab1ae68ef71906c613ddc6d03 gcc/testsuite/gfortran.dg/arith_divide.f + e91a18d295c64b6421d9e76487338fa8 gcc/testsuite/gfortran.dg/arith_divide_2.f90 3130a308b1d1471577ea44bf582c1bec gcc/testsuite/gfortran.dg/arith_divide_no_check.f 9f88f5ececa8e91571e1a769c9375575 gcc/testsuite/gfortran.dg/arithmetic_if.f90 ad54c15b47e17edab3af8726783901c3 gcc/testsuite/gfortran.dg/arithmetic_overflow_1.f90 *************** bf4b33b033f4afc9c22972f4a83b0173 gcc/te *** 57649,57654 **** --- 57918,57924 ---- 6143ba2a228800dde0bd37f3665e0994 gcc/testsuite/gfortran.dg/associate_46.f90 9d5df5da202bebcf02ce0c435182480d gcc/testsuite/gfortran.dg/associate_47.f90 47ae1500d4b97d431462d23e9c5895d0 gcc/testsuite/gfortran.dg/associate_48.f90 + c73b6100086b4db74c5f70aa2b7a9af6 gcc/testsuite/gfortran.dg/associate_49.f90 5dfaf5e9c3d8b8b8f835046ca42ccbf4 gcc/testsuite/gfortran.dg/associate_5.f03 fe80c25bfc4d1e630472420bac3dc836 gcc/testsuite/gfortran.dg/associate_6.f03 ac2154aefe0a4ce981b3fa252235e2dd gcc/testsuite/gfortran.dg/associate_7.f03 *************** f98c4c5663f30de86f0afb3d79ad29d9 gcc/te *** 57779,57787 **** --- 58049,58060 ---- be0405b4a56c0ba1a3fe8a34945a1be5 gcc/testsuite/gfortran.dg/bessel_6.f90 a2a8d60336baf77f1c51872999693b38 gcc/testsuite/gfortran.dg/bessel_7.f90 9969185b5b657469b14a9f67f9a454ce gcc/testsuite/gfortran.dg/besxy.f90 + 7863c890f7dc67b1115c273e64489c85 gcc/testsuite/gfortran.dg/bind-c-intent-out.f90 1e97a2cc549ae76c480c160ef4a2470e gcc/testsuite/gfortran.dg/bind_c_18.f90 5057ed3328fade26b68ee446f3dbc8dc gcc/testsuite/gfortran.dg/bind_c_array_params.f03 0494b0ca6d11d224f65f64f607a53e22 gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 + f6b29bf5e92ef393f02569bb463be585 gcc/testsuite/gfortran.dg/bind_c_array_params_3.f90 + 6b21b4bba3d10945860c6b99ccbc87b2 gcc/testsuite/gfortran.dg/bind_c_array_params_3_aux.c 64b1da6deddc65df427e780f5980935a gcc/testsuite/gfortran.dg/bind_c_bool_1.f90 0be2d54dc75c98c5a88980df010d53b7 gcc/testsuite/gfortran.dg/bind_c_coms.f90 4889c13f805870ea7ba977bf711c64c4 gcc/testsuite/gfortran.dg/bind_c_coms_driver.c *************** f644d887f39031b5af20b0a57a7894c4 gcc/te *** 58155,58161 **** 7552d7512b3e8d60918c3a81c9b7fb02 gcc/testsuite/gfortran.dg/char_pointer_assign_3.f90 96b30f56a9de104b5d79a66d116b672a gcc/testsuite/gfortran.dg/char_pointer_assign_4.f90 37eb7ba9eb77543854f7607067c520c8 gcc/testsuite/gfortran.dg/char_pointer_assign_5.f90 ! 05bbfce165dd596cf7612b34c8952dac gcc/testsuite/gfortran.dg/char_pointer_assign_6.f90 dd8a633154df2c14213e24aa617b08a2 gcc/testsuite/gfortran.dg/char_pointer_assign_icb_1.f90 ddf9f77e66c4a8135a264b7cc863b0b6 gcc/testsuite/gfortran.dg/char_pointer_comp_assign.f90 064ebf7ad523c69997a5cd603b66eb56 gcc/testsuite/gfortran.dg/char_pointer_dependency.f90 --- 58428,58434 ---- 7552d7512b3e8d60918c3a81c9b7fb02 gcc/testsuite/gfortran.dg/char_pointer_assign_3.f90 96b30f56a9de104b5d79a66d116b672a gcc/testsuite/gfortran.dg/char_pointer_assign_4.f90 37eb7ba9eb77543854f7607067c520c8 gcc/testsuite/gfortran.dg/char_pointer_assign_5.f90 ! 28d4409e03b02cb11c0c9a869cc23b95 gcc/testsuite/gfortran.dg/char_pointer_assign_6.f90 dd8a633154df2c14213e24aa617b08a2 gcc/testsuite/gfortran.dg/char_pointer_assign_icb_1.f90 ddf9f77e66c4a8135a264b7cc863b0b6 gcc/testsuite/gfortran.dg/char_pointer_comp_assign.f90 064ebf7ad523c69997a5cd603b66eb56 gcc/testsuite/gfortran.dg/char_pointer_dependency.f90 *************** ced365db03e0b33ad236199eb1a30741 gcc/te *** 58172,58177 **** --- 58445,58451 ---- a8c885ea4e0c6bc88f0ace8c9441b54c gcc/testsuite/gfortran.dg/char_result_16.f90 b04e8da3ed092a0886eb038f4181da94 gcc/testsuite/gfortran.dg/char_result_17.f90 c57ff1e13c323e08a3d7e31aaad2177d gcc/testsuite/gfortran.dg/char_result_18.f90 + c23be0d92be5574c5c53b96a89405886 gcc/testsuite/gfortran.dg/char_result_19.f90 b9fd5c26379f980be6e5d0375d100c1d gcc/testsuite/gfortran.dg/char_result_2.f90 7b4ed16894be70d364eb086487f8813f gcc/testsuite/gfortran.dg/char_result_3.f90 cf6f60622f81de4bec4a3308815ca361 gcc/testsuite/gfortran.dg/char_result_4.f90 *************** a9d96fe47ff920da6b8376da1113bd80 gcc/te *** 58180,58185 **** --- 58454,58460 ---- 8028b8274946e7feb9f3d4850e17af3f gcc/testsuite/gfortran.dg/char_result_7.f90 b0dc2d0a6ea7474b02cb85a70b3ad102 gcc/testsuite/gfortran.dg/char_result_8.f90 5093ae73a32a476b807d4a5128b4ed80 gcc/testsuite/gfortran.dg/char_result_9.f90 + 1ced3da36308e54e5d306659bf14b653 gcc/testsuite/gfortran.dg/char_result_mod_19.f90 053c33c2d1200e52cbe9a4ae1b95d7c3 gcc/testsuite/gfortran.dg/char_spread_1.f90 4506436296784a8aec337002f8009e99 gcc/testsuite/gfortran.dg/char_transpose_1.f90 b63e59c90ea7e532d83d3417eab591c7 gcc/testsuite/gfortran.dg/char_type_len.f90 *************** a8f104492778b738ac5730dd1605432a gcc/te *** 58286,58291 **** --- 58561,58567 ---- 3a4ce235430911afb3b8ccffffda2a7c gcc/testsuite/gfortran.dg/class_69.f90 cc0c048415b8d0593fe7e5b164763dc7 gcc/testsuite/gfortran.dg/class_7.f03 cd9759177f83fe4b6a6a007850b05c80 gcc/testsuite/gfortran.dg/class_70.f03 + 77eb9432daba5a35f6be287dfec77ae3 gcc/testsuite/gfortran.dg/class_71.f90 765b5ae237d318aee8909def266c457e gcc/testsuite/gfortran.dg/class_8.f03 6ad3d2ed9f82c5534e18375c93ce8c03 gcc/testsuite/gfortran.dg/class_9.f03 eff35de84f2c16f8b8abcbc407237414 gcc/testsuite/gfortran.dg/class_alias.f90 *************** a8535ad2a515ec0df0ef730df6f14831 gcc/te *** 58377,58382 **** --- 58653,58659 ---- 5458460c74c7764eb6fc6ca41f3520cb gcc/testsuite/gfortran.dg/coarray/codimension_2.f90 9604ece34279ee35811c44344503ca51 gcc/testsuite/gfortran.dg/coarray/codimension_2a.f90 c2fcd3c1508ec38085828e5481ea280c gcc/testsuite/gfortran.dg/coarray/codimension_2b.f90 + 138b64ab66402dec923a5ed290f9cddc gcc/testsuite/gfortran.dg/coarray/codimension_3.f90 ee39ad592286c583f1d1379691059313 gcc/testsuite/gfortran.dg/coarray/coindexed_1.f90 f3a5dbd5b18b49f30a47e9c6ddf0ef10 gcc/testsuite/gfortran.dg/coarray/collectives_1.f90 57d5669b2d7c4384f4f2cbf7f42c55e5 gcc/testsuite/gfortran.dg/coarray/collectives_2.f90 *************** b696b6e95eca1076292ae33fb0521a93 gcc/te *** 58817,58823 **** ba7bd70d8f9beaa28febfa1d800b3cf7 gcc/testsuite/gfortran.dg/dec_structure_9.f90 cad42db351ade11e383560c34e3e978b gcc/testsuite/gfortran.dg/dec_type_print.f90 70aa90e6c44f5fa5d84842c62c6aa714 gcc/testsuite/gfortran.dg/dec_type_print_2.f03 ! 4bd9c9737b4b51cd88faa2c6ce42ec6a gcc/testsuite/gfortran.dg/dec_type_print_3.f90 8336562dd939d9f2e4d7fa9f352ebdd5 gcc/testsuite/gfortran.dg/dec_union_1.f90 54fa8897424354fe36b1147275b1b014 gcc/testsuite/gfortran.dg/dec_union_10.f90 10c14f289f146d801c8860e6ec73a8f8 gcc/testsuite/gfortran.dg/dec_union_11.f90 --- 59094,59100 ---- ba7bd70d8f9beaa28febfa1d800b3cf7 gcc/testsuite/gfortran.dg/dec_structure_9.f90 cad42db351ade11e383560c34e3e978b gcc/testsuite/gfortran.dg/dec_type_print.f90 70aa90e6c44f5fa5d84842c62c6aa714 gcc/testsuite/gfortran.dg/dec_type_print_2.f03 ! 704b6257a5f0e068ecee3e641a786fd3 gcc/testsuite/gfortran.dg/dec_type_print_3.f90 8336562dd939d9f2e4d7fa9f352ebdd5 gcc/testsuite/gfortran.dg/dec_union_1.f90 54fa8897424354fe36b1147275b1b014 gcc/testsuite/gfortran.dg/dec_union_10.f90 10c14f289f146d801c8860e6ec73a8f8 gcc/testsuite/gfortran.dg/dec_union_11.f90 *************** c872e70a9a84a69ae4b0be8d441bd75e gcc/te *** 58871,58876 **** --- 59148,59154 ---- f405c538ee221b34e2094a843f78c12a gcc/testsuite/gfortran.dg/deferred_character_32.f90 5f82ae5d302549ef737253722a910e61 gcc/testsuite/gfortran.dg/deferred_character_33.f90 c8ca7a67e0b9c502e7883c6187a3b1f3 gcc/testsuite/gfortran.dg/deferred_character_33a.f90 + 78fa09124fe9b69cd259177c36a08282 gcc/testsuite/gfortran.dg/deferred_character_34.f90 5eede6c791f6d272034f9b84850ac6af gcc/testsuite/gfortran.dg/deferred_character_4.f90 981b809300de368e8fac65be4b40099c gcc/testsuite/gfortran.dg/deferred_character_5.f90 b8df78111bec4d4d4b97da6a15228361 gcc/testsuite/gfortran.dg/deferred_character_6.f90 *************** b708a831578a6c876ea16b95695f6103 gcc/te *** 58953,58958 **** --- 59231,59237 ---- e3dcdcb7fb8e68b8ccf780af3eb56518 gcc/testsuite/gfortran.dg/dependency_51.f90 883c7703c879981b223e943c9fdf9b18 gcc/testsuite/gfortran.dg/dependency_52.f90 4e12ffe31088cb1a780ebbce0ec059ef gcc/testsuite/gfortran.dg/dependency_53.f90 + 22ceceb7b00db9dc4208078543dcb9e7 gcc/testsuite/gfortran.dg/dependency_56.f90 03218919538313b26e09fa1b8f0efda0 gcc/testsuite/gfortran.dg/dependency_6.f90 699f1378f5c1fcdc54eb21fdb4a59be1 gcc/testsuite/gfortran.dg/dependency_7.f90 89a3206dfabae1e31ea62ec7fa264ee6 gcc/testsuite/gfortran.dg/dependency_8.f90 *************** ac4ba6f5f598f2a50f552c87ef9cddca gcc/te *** 59033,59039 **** 962a196487d7432027c72bcf5a27c447 gcc/testsuite/gfortran.dg/directive_unroll_2.f90 443d2ce00f080507f110c8f0d9908009 gcc/testsuite/gfortran.dg/directive_unroll_3.f90 2a7df85d6760265f24aa5fdcd9dba5b2 gcc/testsuite/gfortran.dg/directive_unroll_4.f90 ! df0a3db0f5b87c7a64ef9bebbf3723af gcc/testsuite/gfortran.dg/directive_unroll_5.f90 62804b9931608efbe7f6506d1b679e64 gcc/testsuite/gfortran.dg/do_1.f90 b59a9e83027833130c5ee12a722d5ab6 gcc/testsuite/gfortran.dg/do_2.f90 527f706ecad7d9a9178b8e5fb63caac9 gcc/testsuite/gfortran.dg/do_3.F90 --- 59312,59318 ---- 962a196487d7432027c72bcf5a27c447 gcc/testsuite/gfortran.dg/directive_unroll_2.f90 443d2ce00f080507f110c8f0d9908009 gcc/testsuite/gfortran.dg/directive_unroll_3.f90 2a7df85d6760265f24aa5fdcd9dba5b2 gcc/testsuite/gfortran.dg/directive_unroll_4.f90 ! 460a0e1e07ba2992c53257fd2e78e83e gcc/testsuite/gfortran.dg/directive_unroll_5.f90 62804b9931608efbe7f6506d1b679e64 gcc/testsuite/gfortran.dg/do_1.f90 b59a9e83027833130c5ee12a722d5ab6 gcc/testsuite/gfortran.dg/do_2.f90 527f706ecad7d9a9178b8e5fb63caac9 gcc/testsuite/gfortran.dg/do_3.F90 *************** cc944e9209313a0d97bd7bed7198665c gcc/te *** 59062,59067 **** --- 59341,59350 ---- 7d8c65a65d2d7c5bd8b9ada9a3dd140b gcc/testsuite/gfortran.dg/do_pointer_1.f90 8458b67d26bd265665097f2319d6e2f1 gcc/testsuite/gfortran.dg/do_subscript_1.f90 d37e7d4d6baf021e73df70552ca853bf gcc/testsuite/gfortran.dg/do_subscript_2.f90 + 40946126fa175aeab63bea1a283b4b96 gcc/testsuite/gfortran.dg/do_subscript_3.f90 + f08c46fcdc9c46cedf2236a4d87d0465 gcc/testsuite/gfortran.dg/do_subscript_4.f90 + 554ac42462f9f2205e5a0ddfebcdc939 gcc/testsuite/gfortran.dg/do_subscript_5.f90 + f4c22f8620f9cf0541b8ca7a3458969d gcc/testsuite/gfortran.dg/do_subscript_6.f90 a7c723754d10ef5541785fffb91b0578 gcc/testsuite/gfortran.dg/do_while_1.f90 23e59fcc0f241300d3822da5f55f6ab5 gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f eeb8d6e07dce7e2db9e441c445bdd3ac gcc/testsuite/gfortran.dg/dollar_edit_descriptor_2.f *************** ab0027e37c53e4de2faf80a49af5c70e gcc/te *** 59250,59255 **** --- 59533,59539 ---- 13491ddbf6de8262d5d57552a484c85e gcc/testsuite/gfortran.dg/eof_3.f90 80cd70fc61c375df2fe8a3fcac7a55a4 gcc/testsuite/gfortran.dg/eof_4.f90 0a5c2dd5647ff9c0a031479cb94312f1 gcc/testsuite/gfortran.dg/eof_5.f90 + b11c3fe23be2c52dc0068ce168f7f903 gcc/testsuite/gfortran.dg/eof_6.f90 b2cbcfb2f5b6181bb94c3c59ec9d0da3 gcc/testsuite/gfortran.dg/eor_1.f90 aebb8d08fc0b290e576f86423f6ca59f gcc/testsuite/gfortran.dg/eor_handling_1.f90 294ba1a377b97aa6a9b5e6d2fdfefbae gcc/testsuite/gfortran.dg/eor_handling_2.f90 *************** d5c2becdf2a2a9b3476dac72cfc54877 gcc/te *** 59334,59339 **** --- 59618,59624 ---- 400c9de8234ec3d29a78be5af6d85a84 gcc/testsuite/gfortran.dg/extends_type_of_2.f03 3485cc1f6803a287f97032484eec3440 gcc/testsuite/gfortran.dg/extends_type_of_3.f90 df764dd66e24cfa5a1af1a03b983104b gcc/testsuite/gfortran.dg/external_implicit_none.f90 + ce177780ee2e2bc535a2720b3ea4612c gcc/testsuite/gfortran.dg/external_implicit_none_2.f90 4eca303332980555d4132fbdc52d774a gcc/testsuite/gfortran.dg/external_initializer.f90 bd779906b016bd335bbb19a449289c47 gcc/testsuite/gfortran.dg/external_procedure_4.f90 e858d42afb6c6feb41d75f84594d0e1f gcc/testsuite/gfortran.dg/external_procedures_1.f90 *************** c71397aec804c0b5ce001a1d5dbdb76e gcc/te *** 59532,59538 **** cbb70c4ec8b88d436fb61acf9486c6bf gcc/testsuite/gfortran.dg/function_kinds_2.f90 9d6188e05d3cc7589bb0f30729072f80 gcc/testsuite/gfortran.dg/function_kinds_3.f90 c69b86dd6284fc228eebe1af3216f600 gcc/testsuite/gfortran.dg/function_kinds_4.f90 ! ee421b3a0829f99994d3021ff3a4bd48 gcc/testsuite/gfortran.dg/function_kinds_5.f90 3eb2c0453ffd85e9c0c11a2ee865f9bf gcc/testsuite/gfortran.dg/function_optimize_1.f90 0f94c426acf1539c8d60c0bbe4d7a5e4 gcc/testsuite/gfortran.dg/function_optimize_10.f90 6fed503c40eeae1f2a2cff04cc37419b gcc/testsuite/gfortran.dg/function_optimize_11.f90 --- 59817,59823 ---- cbb70c4ec8b88d436fb61acf9486c6bf gcc/testsuite/gfortran.dg/function_kinds_2.f90 9d6188e05d3cc7589bb0f30729072f80 gcc/testsuite/gfortran.dg/function_kinds_3.f90 c69b86dd6284fc228eebe1af3216f600 gcc/testsuite/gfortran.dg/function_kinds_4.f90 ! e0923152a92d6d2a050d4e52180761e3 gcc/testsuite/gfortran.dg/function_kinds_5.f90 3eb2c0453ffd85e9c0c11a2ee865f9bf gcc/testsuite/gfortran.dg/function_optimize_1.f90 0f94c426acf1539c8d60c0bbe4d7a5e4 gcc/testsuite/gfortran.dg/function_optimize_10.f90 6fed503c40eeae1f2a2cff04cc37419b gcc/testsuite/gfortran.dg/function_optimize_11.f90 *************** e5c0af740e47a34c175a9ceb878b8228 gcc/te *** 59748,59753 **** --- 60033,60039 ---- 07b9479faab492f369556d80a29d12e4 gcc/testsuite/gfortran.dg/goacc/asyncwait-3.f95 0084be36b4e094fd83e8998262213cba gcc/testsuite/gfortran.dg/goacc/asyncwait-4.f95 fe2df2ce6e9b837974ec76c54da56c62 gcc/testsuite/gfortran.dg/goacc/asyncwait-5.f + 0ff714bbb2fcd709c6b1bd4d6a4dad15 gcc/testsuite/gfortran.dg/goacc/atomic-1.f90 b5ce38fdd599e1809965f838521def2e gcc/testsuite/gfortran.dg/goacc/branch.f95 109a3ecc87b1bc758772cc9eeee4d842 gcc/testsuite/gfortran.dg/goacc/cache-1.f95 0770d02d65abc7014c30751880ebe628 gcc/testsuite/gfortran.dg/goacc/cache-2.f95 *************** f47a5a2e9ff497a168c9c8d63a06897c gcc/te *** 59838,59849 **** 868181dc4df402dae3cb3e3a052089ea gcc/testsuite/gfortran.dg/goacc/pr77765.f90 e2526aa67803c2d8b8d2af2766ea2d9d gcc/testsuite/gfortran.dg/goacc/pr78027.f90 77b32efd84a7f238f0fa5166b3b2fde1 gcc/testsuite/gfortran.dg/goacc/pr84217.f90 ! 98021166ee2b55420ca83360835ea78c gcc/testsuite/gfortran.dg/goacc/pr84963.f90 967e76184bab415f5ccaee3e8855e4e6 gcc/testsuite/gfortran.dg/goacc/pr85701.f90 69951fe9d02325aab83893b15f14ee22 gcc/testsuite/gfortran.dg/goacc/pr85702.f90 fff3ef606b07a0c12c2323afa6fe446d gcc/testsuite/gfortran.dg/goacc/pr85703.f90 8b11b5d3280af265110281a0a77e18f9 gcc/testsuite/gfortran.dg/goacc/pr85879.f90 1e6397cc1e2bf821ff497ca3cb5b4aa3 gcc/testsuite/gfortran.dg/goacc/pr89773.f90 a70416eb409bcd3ad178b3d0127d84e8 gcc/testsuite/gfortran.dg/goacc/private-3.f95 a63629c8c309d4d181aa7e4d163f30c1 gcc/testsuite/gfortran.dg/goacc/private-explicit-kernels-1.f95 4130cb2ad71b7a29b80b0c75c85f4c11 gcc/testsuite/gfortran.dg/goacc/private-explicit-parallel-1.f95 --- 60124,60137 ---- 868181dc4df402dae3cb3e3a052089ea gcc/testsuite/gfortran.dg/goacc/pr77765.f90 e2526aa67803c2d8b8d2af2766ea2d9d gcc/testsuite/gfortran.dg/goacc/pr78027.f90 77b32efd84a7f238f0fa5166b3b2fde1 gcc/testsuite/gfortran.dg/goacc/pr84217.f90 ! 1a37f54ea403d36fae4f50d189f5369b gcc/testsuite/gfortran.dg/goacc/pr84963.f90 967e76184bab415f5ccaee3e8855e4e6 gcc/testsuite/gfortran.dg/goacc/pr85701.f90 69951fe9d02325aab83893b15f14ee22 gcc/testsuite/gfortran.dg/goacc/pr85702.f90 fff3ef606b07a0c12c2323afa6fe446d gcc/testsuite/gfortran.dg/goacc/pr85703.f90 8b11b5d3280af265110281a0a77e18f9 gcc/testsuite/gfortran.dg/goacc/pr85879.f90 1e6397cc1e2bf821ff497ca3cb5b4aa3 gcc/testsuite/gfortran.dg/goacc/pr89773.f90 + a2ead21242a28e48fc0d90b3af1c1ff7 gcc/testsuite/gfortran.dg/goacc/pr93329.f90 + f456cdcfbddab6f8bef5a32a8ae942c7 gcc/testsuite/gfortran.dg/goacc/pr93463.f90 a70416eb409bcd3ad178b3d0127d84e8 gcc/testsuite/gfortran.dg/goacc/private-3.f95 a63629c8c309d4d181aa7e4d163f30c1 gcc/testsuite/gfortran.dg/goacc/private-explicit-kernels-1.f95 4130cb2ad71b7a29b80b0c75c85f4c11 gcc/testsuite/gfortran.dg/goacc/private-explicit-parallel-1.f95 *************** abcf243d41ab312c5b8bd135bf736ce3 gcc/te *** 60057,60067 **** --- 60345,60358 ---- 28b8381f9a6407f3fbdf2a45fe796f66 gcc/testsuite/gfortran.dg/gomp/pr84116.f90 900e29bb957f49d5b8cee27818655396 gcc/testsuite/gfortran.dg/gomp/pr85313.f90 793bc6a890f694516d4634a933a5cb43 gcc/testsuite/gfortran.dg/gomp/pr85703.f90 + a05658043d2f44626cadb5dc7a817898 gcc/testsuite/gfortran.dg/gomp/pr87752.f90 474faa53ddfedb432c4594b4df78d3f3 gcc/testsuite/gfortran.dg/gomp/pr88377.f90 930610eb3bad9c5b13c011e2a0c6a0d6 gcc/testsuite/gfortran.dg/gomp/pr88933.f90 c2c9b1a1db79eedb25331d3565231b66 gcc/testsuite/gfortran.dg/gomp/pr89027.f90 5ec5bffb9591a9ffd391899e3384e8c4 gcc/testsuite/gfortran.dg/gomp/pr89621.f90 6399dd6d481972c65426ae5a0fe674a2 gcc/testsuite/gfortran.dg/gomp/pr89651.f90 + 1365d33484c21cf6b603f60889b019a4 gcc/testsuite/gfortran.dg/gomp/pr92977.f90 + 6db6e7072dccd0be789b6dc9bd2a586c gcc/testsuite/gfortran.dg/gomp/pr93555.f90 b4be3f9de7631846875a711ae9b67293 gcc/testsuite/gfortran.dg/gomp/proc_ptr_1.f90 87885556568e657ef4c936c53e1c7305 gcc/testsuite/gfortran.dg/gomp/proc_ptr_2.f90 59e444df8ec8f5ea9859b5aef4d75865 gcc/testsuite/gfortran.dg/gomp/reduction1.f90 *************** c525cee40cfdc1d7f1dda5cf299fdde9 gcc/te *** 60074,60082 **** --- 60365,60375 ---- bb19e54aafc9016401c4797e4cb0d75d gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 31d6e090f7c514b28f2656086d853df7 gcc/testsuite/gfortran.dg/gomp/sharing-3.f90 b3d1280c39c6cae9dddab498b1e1eeb4 gcc/testsuite/gfortran.dg/gomp/sharing-4.f90 + 3c3ee23796192e475b1597bfe4ae9d72 gcc/testsuite/gfortran.dg/gomp/target-parallel1.f90 919bd1d4b3eea35828ead5f8cf204a98 gcc/testsuite/gfortran.dg/gomp/target1.f90 b75e4a6eaec211becf176c75768a3f3d gcc/testsuite/gfortran.dg/gomp/target2.f90 4a93baff2b168f10d86571d18de637ba gcc/testsuite/gfortran.dg/gomp/target3.f90 + 888ee0ad8cb0065ba4e9fcce8bb7a890 gcc/testsuite/gfortran.dg/gomp/teams1.f90 86f899863718848e682593290355e6c1 gcc/testsuite/gfortran.dg/gomp/udr1.f90 2aa1076458fe27767e8682a018266e21 gcc/testsuite/gfortran.dg/gomp/udr2.f90 6ddb9641f92715d3a3298771fab84b43 gcc/testsuite/gfortran.dg/gomp/udr3.f90 *************** ccb1954a8e334f76679180ff6418e93d gcc/te *** 60195,60200 **** --- 60488,60494 ---- 3503a9cbe64cf76d3600eb2c05657d98 gcc/testsuite/gfortran.dg/graphite/pr83963.f dbffb0fef9d29324958740fabb2c1064 gcc/testsuite/gfortran.dg/graphite/pr84223.f90 026dc6f7d7072506f4a22a8b02c25c86 gcc/testsuite/gfortran.dg/graphite/pr89182.f90 + 6c765eab5596feb5ef6623e8bbb8ef28 gcc/testsuite/gfortran.dg/graphite/pr93439.f90 2e6f76f3cd539870b471dce2c8e14179 gcc/testsuite/gfortran.dg/graphite/run-id-1.f c5a256733781be2dc88ea518b8758391 gcc/testsuite/gfortran.dg/graphite/run-id-2.f90 6c187a54a92f49b5734ee67b739b6e74 gcc/testsuite/gfortran.dg/graphite/run-id-3.f90 *************** f6acaa4a3e082cac8858ca2288026cca gcc/te *** 60448,60459 **** --- 60742,60755 ---- 46f60ab100688980f23ade8d2b3425f7 gcc/testsuite/gfortran.dg/inquire_9.f90 73d16ea8dadfff89fdb962be9c5810ab gcc/testsuite/gfortran.dg/inquire_internal.f90 1724a18e756515a495e846a6b7144795 gcc/testsuite/gfortran.dg/inquire_iolength.f90 + a34d48eea1d8d4734b2f4fd739f354fc gcc/testsuite/gfortran.dg/inquire_pre.f90 3d02595b1c37f4acb0f0bb9b0db2fba3 gcc/testsuite/gfortran.dg/inquire_recl_f2018.f90 7664349957b7d6787138b3fd95966ad9 gcc/testsuite/gfortran.dg/inquire_size.f90 e5fa8c50769e7fcce10ed8a450b95bed gcc/testsuite/gfortran.dg/inquiry_type_ref_1.f08 47ca9f23756259e27215f6bb354820db gcc/testsuite/gfortran.dg/inquiry_type_ref_2.f90 85efcb0b44b1fc0dbc9bb8062a08ce58 gcc/testsuite/gfortran.dg/inquiry_type_ref_3.f90 962d8a92334a686213a7137fec487e5c gcc/testsuite/gfortran.dg/inquiry_type_ref_4.f90 + 5bcc839204ebb7bdda5b2971ec2fa18a gcc/testsuite/gfortran.dg/inquiry_type_ref_5.f90 7b3179321b390998d95ad39afea45624 gcc/testsuite/gfortran.dg/int_1.f90 237886a0b756c8b89a124de63f69aefc gcc/testsuite/gfortran.dg/int_2.f90 1c33ddb023260200cdcf3434b09db9b0 gcc/testsuite/gfortran.dg/int_3.f90 *************** f2ea8cac46240547e280d6a47be8828d gcc/te *** 60870,60875 **** --- 61166,61172 ---- 3b6165e40be92d1322c9e7feb5c90f0e gcc/testsuite/gfortran.dg/matmul_9.f90 368ecceacb36bc8031de56fda6503830 gcc/testsuite/gfortran.dg/matmul_argument_types.f90 6a883e202e2a5a1a5860d1565dec8edf gcc/testsuite/gfortran.dg/matmul_blas_1.f + 862897f6121e8bc995b9373ab8e7d097 gcc/testsuite/gfortran.dg/matmul_blas_2.f90 6ed82ab65a659c5528ba6467505d80bd gcc/testsuite/gfortran.dg/matmul_bounds_1.f90 558e4b3b400485cd87bcbf000d42d188 gcc/testsuite/gfortran.dg/matmul_bounds_10.f90 4d7f2fcf253e75af46fd09c44b1cd2ee gcc/testsuite/gfortran.dg/matmul_bounds_11.f90 *************** f67cfd0ae4d38f1ca5dc8d7f6e954087 gcc/te *** 61354,61360 **** 68b10a194ff6797eee8ecb042129b08f gcc/testsuite/gfortran.dg/pdt_29.f03 467e7b0f7ffea3a05b9ac591c2ac05ee gcc/testsuite/gfortran.dg/pdt_3.f03 1f42496cb72089bef450a6df6a13c299 gcc/testsuite/gfortran.dg/pdt_30.f90 ! b01b9ceba6ffee67e956395356b126b5 gcc/testsuite/gfortran.dg/pdt_4.f03 c5c92af1413fa2462f388d2ff5077773 gcc/testsuite/gfortran.dg/pdt_5.f03 65d2ad728417ad3174fc1ce2b51a458d gcc/testsuite/gfortran.dg/pdt_6.f03 d2c9dae0c6e2385c5712aba8e12a70ba gcc/testsuite/gfortran.dg/pdt_7.f03 --- 61651,61657 ---- 68b10a194ff6797eee8ecb042129b08f gcc/testsuite/gfortran.dg/pdt_29.f03 467e7b0f7ffea3a05b9ac591c2ac05ee gcc/testsuite/gfortran.dg/pdt_3.f03 1f42496cb72089bef450a6df6a13c299 gcc/testsuite/gfortran.dg/pdt_30.f90 ! 17fa57111f7b9c176c9f9fdf95c974cf gcc/testsuite/gfortran.dg/pdt_4.f03 c5c92af1413fa2462f388d2ff5077773 gcc/testsuite/gfortran.dg/pdt_5.f03 65d2ad728417ad3174fc1ce2b51a458d gcc/testsuite/gfortran.dg/pdt_6.f03 d2c9dae0c6e2385c5712aba8e12a70ba gcc/testsuite/gfortran.dg/pdt_7.f03 *************** bd3571f835db5f5cd3f13d46f65eaf7d gcc/te *** 61610,61615 **** --- 61907,61914 ---- 3446ad679d644b2617b8836226b9d724 gcc/testsuite/gfortran.dg/pr46945.f90 2dbd0baf5cc71bd396aa0b27c82b3aa6 gcc/testsuite/gfortran.dg/pr46985.f90 cca539dda55db1fe3d9ab628330a364e gcc/testsuite/gfortran.dg/pr47008.f03 + 8dc00e13e8017aa32673c1673ad9bb9b gcc/testsuite/gfortran.dg/pr47054_1.f90 + dbb1bf91a8856be53abe8cd67ff0f627 gcc/testsuite/gfortran.dg/pr47054_2.f90 18cfa159030f8b4b160fe0d8e9420c68 gcc/testsuite/gfortran.dg/pr47574.f90 0280bd4bfb5b153f438a9cfd70e3cd82 gcc/testsuite/gfortran.dg/pr47614.f 9ff6a3335f233c3bfe3926ceefc544b9 gcc/testsuite/gfortran.dg/pr47757-1.f90 *************** b9749045f7e8d01ce770bef143077398 gcc/te *** 61763,61768 **** --- 62062,62069 ---- 4dfe5b03dbae8d8845caac4e7f7c0a89 gcc/testsuite/gfortran.dg/pr69155.f90 ed38cfd514aa0a70b18745aff4616ca3 gcc/testsuite/gfortran.dg/pr69395.f90 1f55c100864bc4cf6e4a0f59988d3578 gcc/testsuite/gfortran.dg/pr69398.f90 + 76138edfc2f50c95b9776fd1ddbf7633 gcc/testsuite/gfortran.dg/pr69455_1.f90 + 4888552ee29a6b2e46e1b22d0f8a8483 gcc/testsuite/gfortran.dg/pr69455_2.f90 39a58b86266ffa82ee6ef911ebf3cb11 gcc/testsuite/gfortran.dg/pr69497.f90 b4bcabad8cbf6ed6353970399e848979 gcc/testsuite/gfortran.dg/pr69499.f90 96518037a7c5060a69f1bee697816618 gcc/testsuite/gfortran.dg/pr69514_1.f90 *************** e3df725d919fbea72dd53c26d3c3fc1b gcc/te *** 61780,61786 **** 9e9bc408643c6665aef0267621e54b9e gcc/testsuite/gfortran.dg/pr70330.f90 aa6073708fcde459f6b44a5e294fd6b0 gcc/testsuite/gfortran.dg/pr70409.f90 2761c4711c65ea8a97d2345710e8bf1e gcc/testsuite/gfortran.dg/pr70673.f90 ! b476378eb8250b54f4b3b5f63d128940 gcc/testsuite/gfortran.dg/pr70754.f90 386c85829c4e2571e0db7949c25f5113 gcc/testsuite/gfortran.dg/pr70870_1.f90 0e424f05f2fdeb786b877ace2617112d gcc/testsuite/gfortran.dg/pr70931.f90 768e159c79aa0aa1e1ae6e13122ed1b2 gcc/testsuite/gfortran.dg/pr70937.f90 --- 62081,62087 ---- 9e9bc408643c6665aef0267621e54b9e gcc/testsuite/gfortran.dg/pr70330.f90 aa6073708fcde459f6b44a5e294fd6b0 gcc/testsuite/gfortran.dg/pr70409.f90 2761c4711c65ea8a97d2345710e8bf1e gcc/testsuite/gfortran.dg/pr70673.f90 ! 858edd0f297501435fdd3e07e065201c gcc/testsuite/gfortran.dg/pr70754.f90 386c85829c4e2571e0db7949c25f5113 gcc/testsuite/gfortran.dg/pr70870_1.f90 0e424f05f2fdeb786b877ace2617112d gcc/testsuite/gfortran.dg/pr70931.f90 768e159c79aa0aa1e1ae6e13122ed1b2 gcc/testsuite/gfortran.dg/pr70937.f90 *************** f0bf2e9015ba3f518919bfadd773f284 gcc/te *** 61796,61802 **** 346aef7b9c4b69444314886e127bf700 gcc/testsuite/gfortran.dg/pr71523_2.f90 e8e59f069c4b37c57b85939b49c5f51d gcc/testsuite/gfortran.dg/pr71526.f90 7ba418a27a13483d7dc03ce4a2d4328f gcc/testsuite/gfortran.dg/pr71642.f90 ! 0cc1ff0cd700d2363a2db1360345b7db gcc/testsuite/gfortran.dg/pr71649.f90 dffe49f90e191f0e0d1a1c6f8d53f854 gcc/testsuite/gfortran.dg/pr71688.f90 1aa045033f7cb52ec480e9dcc3daf999 gcc/testsuite/gfortran.dg/pr71730.f90 b310ef8caef5ed95412a60d1546be16a gcc/testsuite/gfortran.dg/pr71764.f90 --- 62097,62103 ---- 346aef7b9c4b69444314886e127bf700 gcc/testsuite/gfortran.dg/pr71523_2.f90 e8e59f069c4b37c57b85939b49c5f51d gcc/testsuite/gfortran.dg/pr71526.f90 7ba418a27a13483d7dc03ce4a2d4328f gcc/testsuite/gfortran.dg/pr71642.f90 ! e43018d3cb0e5cb6a1f0234e0cfdce65 gcc/testsuite/gfortran.dg/pr71649.f90 dffe49f90e191f0e0d1a1c6f8d53f854 gcc/testsuite/gfortran.dg/pr71688.f90 1aa045033f7cb52ec480e9dcc3daf999 gcc/testsuite/gfortran.dg/pr71730.f90 b310ef8caef5ed95412a60d1546be16a gcc/testsuite/gfortran.dg/pr71764.f90 *************** ea6f420ce4d3bbc8e6c948a8f185ace7 gcc/te *** 61808,61814 **** e621f9143e37cc56334096cf3c636382 gcc/testsuite/gfortran.dg/pr71935.f90 66a69fa3f665ad36d8275af5ac99b1ae gcc/testsuite/gfortran.dg/pr77260_1.f90 7262366d4c0e8a739b1ce3e990334144 gcc/testsuite/gfortran.dg/pr77260_2.f90 ! ab680d2f6cc0648921a054114a485973 gcc/testsuite/gfortran.dg/pr77351.f90 0e6eddcfc83690ffde7c6675dbaf7f56 gcc/testsuite/gfortran.dg/pr77380.f90 c80f60155bcb84d08e36147df56ee2a7 gcc/testsuite/gfortran.dg/pr77391.f90 98fa011f3b9cb0fda809c579d18e2aff gcc/testsuite/gfortran.dg/pr77406.f90 --- 62109,62115 ---- e621f9143e37cc56334096cf3c636382 gcc/testsuite/gfortran.dg/pr71935.f90 66a69fa3f665ad36d8275af5ac99b1ae gcc/testsuite/gfortran.dg/pr77260_1.f90 7262366d4c0e8a739b1ce3e990334144 gcc/testsuite/gfortran.dg/pr77260_2.f90 ! d676dbff55fa3a1bfc2c5c723ab4b0e6 gcc/testsuite/gfortran.dg/pr77351.f90 0e6eddcfc83690ffde7c6675dbaf7f56 gcc/testsuite/gfortran.dg/pr77380.f90 c80f60155bcb84d08e36147df56ee2a7 gcc/testsuite/gfortran.dg/pr77391.f90 98fa011f3b9cb0fda809c579d18e2aff gcc/testsuite/gfortran.dg/pr77406.f90 *************** fadb08b8fc33159559b83dbbbb0cff19 gcc/te *** 61843,61848 **** --- 62144,62153 ---- c8893a59741e05d503a560b19c9684a9 gcc/testsuite/gfortran.dg/pr78297.f90 8bc71c8feb7f2720b1feb28cba0c975e gcc/testsuite/gfortran.dg/pr78571.f90 b0372de9ab64f58fe8095fafb7257fab gcc/testsuite/gfortran.dg/pr78619.f90 + e33bc7d617dedd30516f7c6f5c5335a7 gcc/testsuite/gfortran.dg/pr78719_1.f90 + 4e6d2b5a90b6b8115524681e46087853 gcc/testsuite/gfortran.dg/pr78719_2.f90 + f166fdd0a6158ee4997aa03d50735f03 gcc/testsuite/gfortran.dg/pr78719_3.f90 + 5f78649f9610903a91712298193f1ab3 gcc/testsuite/gfortran.dg/pr78739.f90 5b2aa5e5d8aa97b69f0cc98bc9709f3f gcc/testsuite/gfortran.dg/pr78741.f90 18ef55c7791c30ff0793ca246df65036 gcc/testsuite/gfortran.dg/pr78758.f90 ee35970003b8954b57c5ce45c7fd506c gcc/testsuite/gfortran.dg/pr79315.f90 *************** bf416564a457b9444387855732e4d265 gcc/te *** 61889,61895 **** 3daad136d0cfc95d8964dc923c7cc4ac gcc/testsuite/gfortran.dg/pr85521_1.f90 bd361a07290488b6483c3d2cbc61c2dd gcc/testsuite/gfortran.dg/pr85521_2.f90 8a38dba72563cd634a47718362876075 gcc/testsuite/gfortran.dg/pr85542.f90 ! e5468da2525b5c88fb154b0609572950 gcc/testsuite/gfortran.dg/pr85543.f90 1bc0d862fdec041bd3263385555b08c2 gcc/testsuite/gfortran.dg/pr85687.f90 7015fea37cfa3077dcf663f014a04889 gcc/testsuite/gfortran.dg/pr85779_1.f90 cf956ba7ea568a1ec1e49d5d32949c70 gcc/testsuite/gfortran.dg/pr85779_2.f90 --- 62194,62200 ---- 3daad136d0cfc95d8964dc923c7cc4ac gcc/testsuite/gfortran.dg/pr85521_1.f90 bd361a07290488b6483c3d2cbc61c2dd gcc/testsuite/gfortran.dg/pr85521_2.f90 8a38dba72563cd634a47718362876075 gcc/testsuite/gfortran.dg/pr85542.f90 ! b85cfd294e061b2ee8d25c44b7c4e1b5 gcc/testsuite/gfortran.dg/pr85543.f90 1bc0d862fdec041bd3263385555b08c2 gcc/testsuite/gfortran.dg/pr85687.f90 7015fea37cfa3077dcf663f014a04889 gcc/testsuite/gfortran.dg/pr85779_1.f90 cf956ba7ea568a1ec1e49d5d32949c70 gcc/testsuite/gfortran.dg/pr85779_2.f90 *************** d8214bedb5ecef9053ef86971d5501cc gcc/te *** 61920,61931 **** --- 62225,62239 ---- aa095a787c42cdeb4d2b7777cbeccfe3 gcc/testsuite/gfortran.dg/pr87922.f90 f8e6352c1c80659a4023e56075d6f1cc gcc/testsuite/gfortran.dg/pr87945_1.f90 b37e2980deb28560322fe1668580dd8c gcc/testsuite/gfortran.dg/pr87945_2.f90 + 48fd45c2154312b459b658b1686dd7d6 gcc/testsuite/gfortran.dg/pr87991.f90 b64e61e88b486cf88558e16bb151917f gcc/testsuite/gfortran.dg/pr87992.f90 + a9e192b49dbc72e5972a1e60f82ee433 gcc/testsuite/gfortran.dg/pr87993.f90 c842772198f401b528cb6ac0f65c4b5b gcc/testsuite/gfortran.dg/pr87994_1.f90 1bbd8f79e620f6dc8314f507372e92b1 gcc/testsuite/gfortran.dg/pr87994_2.f90 3a118bb4cf0e05ac1d34bf3d8b7a9364 gcc/testsuite/gfortran.dg/pr87994_3.f90 c1733abbc24e42e42fd2d6ae738e6faf gcc/testsuite/gfortran.dg/pr88025.f90 87738ead717ba536de4c455534af755e gcc/testsuite/gfortran.dg/pr88048.f90 + 299cd4b3cd8f981657d37f9d6063d080 gcc/testsuite/gfortran.dg/pr88072.f90 f2f69037301e6e901e6d032542873c68 gcc/testsuite/gfortran.dg/pr88116_1.f90 99c41c8c4fc876568fd7e4f16f44a112 gcc/testsuite/gfortran.dg/pr88116_2.f90 be2e4039f25dfb8ddb1d209b44b9ca1a gcc/testsuite/gfortran.dg/pr88138.f90 *************** eb191e16157f03cba56fb00422bb2852 gcc/te *** 61959,61971 **** --- 62267,62323 ---- 2726f9a132f249a727072d95e5f0aee3 gcc/testsuite/gfortran.dg/pr89344.f90 a93655d239d2dec9eca10adffc8e918f gcc/testsuite/gfortran.dg/pr89451.f90 3d3ae675ea53199229afe3e1ab0a247a gcc/testsuite/gfortran.dg/pr89492.f90 + 4c00d675221b8e119618fd174077c605 gcc/testsuite/gfortran.dg/pr89647.f90 7ebf7d753067f8fb33a012241af298a7 gcc/testsuite/gfortran.dg/pr89664.f90 + 51110a6eedd6a04c8d24b1221f417a4c gcc/testsuite/gfortran.dg/pr89943_1.f90 + c8b61ebc8563f334c25fcd70c0534f36 gcc/testsuite/gfortran.dg/pr89943_2.f90 + 06b2d802f5d95257d8ae61d2b9c466d0 gcc/testsuite/gfortran.dg/pr89943_3.f90 + 76252e955978550643d5d0dc6f7e78e4 gcc/testsuite/gfortran.dg/pr89943_4.f90 831d5fcec1de1ef5c5b043098058d7a8 gcc/testsuite/gfortran.dg/pr89956.f90 f93d3cf614a3e39cf100823554d1a638 gcc/testsuite/gfortran.dg/pr90002.f90 b4b80d372198c955d7e61bb3acdc89e1 gcc/testsuite/gfortran.dg/pr90021.f90 6c40c2e9bce5a1732ce75fa94fa42515 gcc/testsuite/gfortran.dg/pr90290.f90 5fea94bd1571f0284dfaf40f44bde552 gcc/testsuite/gfortran.dg/pr90385.f90 207365a12aa2fd4f78dfbc9891548a86 gcc/testsuite/gfortran.dg/pr91296.f90 + 6900ccfee5c1eaa6333cce805d488872 gcc/testsuite/gfortran.dg/pr91359_1.f + 11df5996d57dc7b34e5ec2b29cc87614 gcc/testsuite/gfortran.dg/pr91359_2.f + 0773165cac6e0831c64c249518bf6e30 gcc/testsuite/gfortran.dg/pr91471.f90 + ad69ec1f0e04791258649d3ead95a16c gcc/testsuite/gfortran.dg/pr91485.f90 + a06dfc186abc7953f44927364980bc00 gcc/testsuite/gfortran.dg/pr91496.f90 + 2a61a5fbe2a82741dc8be0096e201d09 gcc/testsuite/gfortran.dg/pr91552.f90 + 799c912a2c22ba463e19cf37460d25da gcc/testsuite/gfortran.dg/pr91553.f90 + 3fa58646b12fa9300bbdda1471d128d5 gcc/testsuite/gfortran.dg/pr91564.f90 + d708ca79d3f7beddb1b0e1ac5d3c7e40 gcc/testsuite/gfortran.dg/pr91565.f90 + d4c100fd2b0ed3d378cc9208f0f15ec7 gcc/testsuite/gfortran.dg/pr91566.f90 + 76098f4ddb845c9b71d0d0096840eb33 gcc/testsuite/gfortran.dg/pr91568.f + 13a9fca597163bc4551b10a7afedc575 gcc/testsuite/gfortran.dg/pr91587.f90 + a958399f4783bcc65026df1b9158c7c3 gcc/testsuite/gfortran.dg/pr91589.f90 + eaab35f4ed45749ea1a7b76b0b145fea gcc/testsuite/gfortran.dg/pr91641.f90 + 5fdbfa1fb8868061a5c36fea3e74829c gcc/testsuite/gfortran.dg/pr91642.f90 + 5971533db5401692d71e4a03b8eff8e6 gcc/testsuite/gfortran.dg/pr91649.f90 + 369d7228ab7b3ad77b432a7dc6979f04 gcc/testsuite/gfortran.dg/pr91660_1.f90 + 5af600dd01897e512804e99050dc44dc gcc/testsuite/gfortran.dg/pr91660_2.f90 + 6f5531c53b400c1e1a3a8b34306f95ee gcc/testsuite/gfortran.dg/pr91714.f90 + badcae969288e8ec6f2806836897bd05 gcc/testsuite/gfortran.dg/pr91715.f90 + fc3c98984c121218a329dcbf8cc34569 gcc/testsuite/gfortran.dg/pr91727.f90 + 006a7b298fa54253f86a0ff8cead4333 gcc/testsuite/gfortran.dg/pr91785.f90 + 4f2af6b7579556ae683594ebf0c99e65 gcc/testsuite/gfortran.dg/pr91801.f90 + a50919bcdb1d810ce2f68bd6b22ee53b gcc/testsuite/gfortran.dg/pr91802.f90 + 3f85d9e4e647aefd279442e5e5868317 gcc/testsuite/gfortran.dg/pr91864.f90 + 01ee8e553f7a64b04b3a06e2716e084d gcc/testsuite/gfortran.dg/pr91942.f90 + cd47c5f771e296971301643af5583dfa gcc/testsuite/gfortran.dg/pr92050.f90 + 9e6b24c3fb5c77a7500ceae8f3990258 gcc/testsuite/gfortran.dg/pr92208.f90 + 8623fdd6c6daabe9a4f011dbfe739aa7 gcc/testsuite/gfortran.dg/pr92277.f90 + 7383008a151433faa521410955d94a9f gcc/testsuite/gfortran.dg/pr92629.f90 + 4f42dad4b149f18ca843630273713f7d gcc/testsuite/gfortran.dg/pr92781.f90 + 07f97b5c9035f22956d8de6d516ad835 gcc/testsuite/gfortran.dg/pr92897.f90 + 6c549fe6e961f7c6efa0d1c7fc21996f gcc/testsuite/gfortran.dg/pr92898.f90 + 586be212d36e00160fa7287a5a206284 gcc/testsuite/gfortran.dg/pr93263_1.f90 + 8ee3137f282f1f173ac8264cd48c1696 gcc/testsuite/gfortran.dg/pr93263_2.f90 + 044a867e31d2488aef215034fa209478 gcc/testsuite/gfortran.dg/pr93580.f90 + 5ae8cd18044c6e382e1d73b60781e2f9 gcc/testsuite/gfortran.dg/pr93714_1.f90 + 1709f1232d61b6638bf2d8db392c7ed9 gcc/testsuite/gfortran.dg/pr93714_2.f90 + a5b6ce00cd18edc5606fea2eada6c169 gcc/testsuite/gfortran.dg/pr93835.f08 891574fabddfbfea0c1fe4cf0cd69927 gcc/testsuite/gfortran.dg/predcom-1.f 76cb03b4659cc6b4cd2f072860817262 gcc/testsuite/gfortran.dg/predcom-2.f d667c79ea0bad11d2e191cce083c4c1a gcc/testsuite/gfortran.dg/predict-1.f90 *************** b8220e7f001fe7f8144e570e0a24ac0e gcc/te *** 62472,62477 **** --- 62824,62830 ---- 037694f7a50336b18699b176fea4d569 gcc/testsuite/gfortran.dg/select_type_45.f90 cd8c016f6ead596119f334940e6d58e4 gcc/testsuite/gfortran.dg/select_type_46.f90 4f15c72da02b84843e3a7ec6e64b8857 gcc/testsuite/gfortran.dg/select_type_47.f90 + fd6ab0a5e316e2999bc498f35a3c0877 gcc/testsuite/gfortran.dg/select_type_48.f90 652809f8153234254b8b67a7efca979e gcc/testsuite/gfortran.dg/select_type_5.f03 d4874fed6108821dfa28ab998af7855a gcc/testsuite/gfortran.dg/select_type_6.f03 3acc63d3709ace8561c2455ee8125fbc gcc/testsuite/gfortran.dg/select_type_7.f03 *************** d3b8cb87c0d4560033de0eefb87ccd93 gcc/te *** 62572,62577 **** --- 62925,62931 ---- 1d00f5b498cd877e60af5bf7a6780831 gcc/testsuite/gfortran.dg/spread_shape_1.f90 066e3aa75ad023aada1229f37bfa9c17 gcc/testsuite/gfortran.dg/spread_simplify_1.f90 4a6636fb35b05d54b152a2bb04221e10 gcc/testsuite/gfortran.dg/spread_size_limit.f90 + c8b716cee316206a2cc9482d0e553937 gcc/testsuite/gfortran.dg/spread_size_limit_2.f90 660cebcc8ffff86cb4ccb16d81f894fb gcc/testsuite/gfortran.dg/spread_zerosize_1.f90 c261a331f783e0e77510fea0a4181472 gcc/testsuite/gfortran.dg/stat_1.f90 3fe235d1f1fd3811931f6728caac65ba gcc/testsuite/gfortran.dg/stat_2.f90 *************** ce5a21a69bff33360348e98834eb26dd gcc/te *** 62606,62611 **** --- 62960,62966 ---- 809108ab99d66e4cd3c97f5907f5e42d gcc/testsuite/gfortran.dg/streamio_15.f90 5c471a5a2baacf7f5d3e95c36897d15f gcc/testsuite/gfortran.dg/streamio_16.f90 c6e6702db98bfd0226defb828dc129a4 gcc/testsuite/gfortran.dg/streamio_17.f90 + 8ebdb4c891eb318f95a6a53df8df8d8f gcc/testsuite/gfortran.dg/streamio_18.f90 30fbe8f82f3ae117749d33f0cbecb0f9 gcc/testsuite/gfortran.dg/streamio_2.f90 ecc66620574916f4b154ee3802866490 gcc/testsuite/gfortran.dg/streamio_3.f90 ab6b23d963a5b8985972c2fa89516a18 gcc/testsuite/gfortran.dg/streamio_4.f90 *************** abba27a7d6ff9a2b115326ab5eb34647 gcc/te *** 62961,62967 **** c5c095a1207e8ebb9df3221cce7dd889 gcc/testsuite/gfortran.dg/unlimited_polymorphic_25.f90 2962b03e92b8de163aff58cd5c92f4b4 gcc/testsuite/gfortran.dg/unlimited_polymorphic_26.f90 1ed74102999daaa6c4980638954407ec gcc/testsuite/gfortran.dg/unlimited_polymorphic_27.f90 ! ecade1b66b84e107c521641739e3cb99 gcc/testsuite/gfortran.dg/unlimited_polymorphic_28.f90 7e7a7ae9debf426cb9a72de5784be0f1 gcc/testsuite/gfortran.dg/unlimited_polymorphic_29.f90 9416e6463a32e0db92b1430a5ece704c gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03 260aa02b581b990fd7887506c5bb6013 gcc/testsuite/gfortran.dg/unlimited_polymorphic_30.f03 --- 63316,63322 ---- c5c095a1207e8ebb9df3221cce7dd889 gcc/testsuite/gfortran.dg/unlimited_polymorphic_25.f90 2962b03e92b8de163aff58cd5c92f4b4 gcc/testsuite/gfortran.dg/unlimited_polymorphic_26.f90 1ed74102999daaa6c4980638954407ec gcc/testsuite/gfortran.dg/unlimited_polymorphic_27.f90 ! 2b8ad4a091615fdca62fd02b47b05402 gcc/testsuite/gfortran.dg/unlimited_polymorphic_28.f90 7e7a7ae9debf426cb9a72de5784be0f1 gcc/testsuite/gfortran.dg/unlimited_polymorphic_29.f90 9416e6463a32e0db92b1430a5ece704c gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03 260aa02b581b990fd7887506c5bb6013 gcc/testsuite/gfortran.dg/unlimited_polymorphic_30.f03 *************** a5bacc6abd14312805d91c2c53d4d15e gcc/te *** 62987,62993 **** 71259a734476392fd9bd4328063ab4bd gcc/testsuite/gfortran.dg/use_12.f90 4fea03e3aefdee14f32f96947e3173a6 gcc/testsuite/gfortran.dg/use_13.f90 02d37ad899915ac342daefcded6da39a gcc/testsuite/gfortran.dg/use_14.f90 ! 2c3c63fcc3a92bf38c4f22303a13dcd2 gcc/testsuite/gfortran.dg/use_15.f90 d62d0339c456b157f5fc35d29c279441 gcc/testsuite/gfortran.dg/use_16.f90 54a1d7edd2a86a5b4b136fecf18e7a52 gcc/testsuite/gfortran.dg/use_17.f90 2391055bfcc19504801cb22811f2801c gcc/testsuite/gfortran.dg/use_18.f90 --- 63342,63348 ---- 71259a734476392fd9bd4328063ab4bd gcc/testsuite/gfortran.dg/use_12.f90 4fea03e3aefdee14f32f96947e3173a6 gcc/testsuite/gfortran.dg/use_13.f90 02d37ad899915ac342daefcded6da39a gcc/testsuite/gfortran.dg/use_14.f90 ! e6162ed32133772ed718025467840a2b gcc/testsuite/gfortran.dg/use_15.f90 d62d0339c456b157f5fc35d29c279441 gcc/testsuite/gfortran.dg/use_16.f90 54a1d7edd2a86a5b4b136fecf18e7a52 gcc/testsuite/gfortran.dg/use_17.f90 2391055bfcc19504801cb22811f2801c gcc/testsuite/gfortran.dg/use_18.f90 *************** e67a4a11f35c66e08fb4bb3279634a7a gcc/te *** 63027,63033 **** f915c7e347a13904541e64ecfbf96b9e gcc/testsuite/gfortran.dg/use_rename_5.f90 ad43c4d3cb4733e86d9206b28785afd0 gcc/testsuite/gfortran.dg/use_rename_6.f90 da9a5416920599f30fb0c82c34d88084 gcc/testsuite/gfortran.dg/use_rename_7.f90 ! 2101a506b2c2f7a637be977cd5b76008 gcc/testsuite/gfortran.dg/use_rename_8.f90 24db50d437f34fb5fdc1a3b1feded07d gcc/testsuite/gfortran.dg/use_rename_9.f90 3be1aba2041e7638b2f7647c61986b6e gcc/testsuite/gfortran.dg/use_without_only_1.f90 15c120470a7413dda29cbfafbfc57725 gcc/testsuite/gfortran.dg/used_before_typed_1.f90 --- 63382,63388 ---- f915c7e347a13904541e64ecfbf96b9e gcc/testsuite/gfortran.dg/use_rename_5.f90 ad43c4d3cb4733e86d9206b28785afd0 gcc/testsuite/gfortran.dg/use_rename_6.f90 da9a5416920599f30fb0c82c34d88084 gcc/testsuite/gfortran.dg/use_rename_7.f90 ! 873b728d3926112bba93e3638fefd9ee gcc/testsuite/gfortran.dg/use_rename_8.f90 24db50d437f34fb5fdc1a3b1feded07d gcc/testsuite/gfortran.dg/use_rename_9.f90 3be1aba2041e7638b2f7647c61986b6e gcc/testsuite/gfortran.dg/use_without_only_1.f90 15c120470a7413dda29cbfafbfc57725 gcc/testsuite/gfortran.dg/used_before_typed_1.f90 *************** faef1baec47674d096569b4803422d64 gcc/te *** 63202,63207 **** --- 63557,63563 ---- 9cdfca84c19b8b4bfd5f9be4a921f068 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_2.f90 62c8995bb923620e3509b9bd179b618c gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_3.f90 fa2d697a6cf010eb6e082b1cf14cfb0a gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_4.f90 + 1d37c013db4796b65d121229b6e04f40 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_5.f90 a889821a76a43cd0bc42032f92d62143 gcc/testsuite/gfortran.dg/warn_unused_function.f90 babf649d09171c4fca19c8092348ee07 gcc/testsuite/gfortran.dg/warn_unused_function_2.f90 ae95981491a9741922c27b078d9a628c gcc/testsuite/gfortran.dg/warn_unused_function_3.f90 *************** fd5ae9b069107f5cb8fa4adff7b9fb2b gcc/te *** 63685,63690 **** --- 64041,64047 ---- 680a780d9fd1583bce71ba44eb4d55f7 gcc/testsuite/gnat.dg/addr12_b.adb d233a79e52e83a661c83db520be5206a gcc/testsuite/gnat.dg/addr12_b.ads 339c2f773d3a743c92702541a4d0e7f9 gcc/testsuite/gnat.dg/addr12_c.ads + afc2d0740417b768e50304dd00736f2d gcc/testsuite/gnat.dg/addr14.adb f0a1bdb8415a236b8bd801950f678f6e gcc/testsuite/gnat.dg/addr2.adb 87b883a0706741ad3f7d6c6221d18b83 gcc/testsuite/gnat.dg/addr2_p.adb 0193ed7cae4310c99c6658a78453df8d gcc/testsuite/gnat.dg/addr2_p.ads *************** d9ed5d8d94cefc81f6e8f1e096e44c85 gcc/te *** 64568,64573 **** --- 64925,64935 ---- fa0a217ef7773f18e2100deca65155e8 gcc/testsuite/gnat.dg/lto22_pkg1.ads 42c63ff6c62141b282c3de6014c66376 gcc/testsuite/gnat.dg/lto22_pkg2.adb 57519860c7ff9212e8c352b54168aebc gcc/testsuite/gnat.dg/lto22_pkg2.ads + 13d408bc48c1909174c83a543267c21b gcc/testsuite/gnat.dg/lto23.adb + 63d4886915d7f10386bf9acb4c27545a gcc/testsuite/gnat.dg/lto24.adb + 800283c5dd0dcc98963845af2f46f5b1 gcc/testsuite/gnat.dg/lto24_pkg1.ads + 6cc6cb14bbcba172d4f4eeb357613237 gcc/testsuite/gnat.dg/lto24_pkg2.adb + 14d0b11f260b0d1752208a98b741658a gcc/testsuite/gnat.dg/lto24_pkg2.ads 2acb4cc31994f1569a3db6ac6613928d gcc/testsuite/gnat.dg/lto4.adb 9b38247c8e825c514f87e2965d931dad gcc/testsuite/gnat.dg/lto4.ads 959fb8bdf4cd1c34347ecfbab19ea60b gcc/testsuite/gnat.dg/lto5.adb *************** c0f32d5c5e15d348c935773328f10358 gcc/te *** 65073,65079 **** eef18f6f1c14b968b9fbb8d9e15b10b9 gcc/testsuite/gnat.dg/slice9.adb 5f0bf4632c09277729d821e8413a0426 gcc/testsuite/gnat.dg/slice_enum.adb 04d0c566bcfddf32cfb214ddbc7a73bc gcc/testsuite/gnat.dg/small_alignment.adb ! 7859d3d3ffdc14118bb275a43a367d7d gcc/testsuite/gnat.dg/socket1.adb 13735a71837a22e3a3ea62afb2189d81 gcc/testsuite/gnat.dg/socket2.adb 0caf5abcbc500a4037b4b5d2e38923f3 gcc/testsuite/gnat.dg/sort1.adb cc5d9c23cbd067bd3b5f3d7e9a5747a4 gcc/testsuite/gnat.dg/sort1.ads --- 65435,65441 ---- eef18f6f1c14b968b9fbb8d9e15b10b9 gcc/testsuite/gnat.dg/slice9.adb 5f0bf4632c09277729d821e8413a0426 gcc/testsuite/gnat.dg/slice_enum.adb 04d0c566bcfddf32cfb214ddbc7a73bc gcc/testsuite/gnat.dg/small_alignment.adb ! 4e69ba53def9a96e4aeee61b06c97f4d gcc/testsuite/gnat.dg/socket1.adb 13735a71837a22e3a3ea62afb2189d81 gcc/testsuite/gnat.dg/socket2.adb 0caf5abcbc500a4037b4b5d2e38923f3 gcc/testsuite/gnat.dg/sort1.adb cc5d9c23cbd067bd3b5f3d7e9a5747a4 gcc/testsuite/gnat.dg/sort1.ads *************** cf6061ac7a16f74b48144be58c3da5e2 gcc/te *** 65403,65408 **** --- 65765,65771 ---- 83548cc110b5dea61f198392d0b5ba60 gcc/testsuite/gnat.dg/subp_inst.adb 0e21fedbcd64e4f36839cc7fe179d80b gcc/testsuite/gnat.dg/subp_inst_pkg.adb 840b0c423abf6b2fae281aeda3118ba0 gcc/testsuite/gnat.dg/subp_inst_pkg.ads + 9ef2fc6a5b60d79af93069621bd1eac2 gcc/testsuite/gnat.dg/subpools1.adb 222b053d2f80b1a83bb11792bfddb673 gcc/testsuite/gnat.dg/suppress_initialization.adb 4fd092592cfdb014761d607e63995c8a gcc/testsuite/gnat.dg/suppress_initialization_pkg.ads c087d7cad0ff48806e04cef1eb71ab0b gcc/testsuite/gnat.dg/sync1.adb *************** e6321f166b32aa6358ef91407179cccd gcc/te *** 66983,66989 **** 7acc2fe528fd93ffd4e5699c381e4683 gcc/testsuite/lib/scanwpaipa.exp 030dc615f05eb00335a0b2fd066509b0 gcc/testsuite/lib/target-libpath.exp b1611f78cda71099f7cb783fec6036cf gcc/testsuite/lib/target-supports-dg.exp ! 9da1cbb66b93888ac8065f2520238be7 gcc/testsuite/lib/target-supports.exp ba8c0be14d2e93c15f823b8c4c0672d1 gcc/testsuite/lib/target-utils.exp b85604e4e8dd8de681a31f6c7d59204c gcc/testsuite/lib/timeout-dg.exp 53159c18e733a12fd05a5058f29488d5 gcc/testsuite/lib/timeout.exp --- 67346,67352 ---- 7acc2fe528fd93ffd4e5699c381e4683 gcc/testsuite/lib/scanwpaipa.exp 030dc615f05eb00335a0b2fd066509b0 gcc/testsuite/lib/target-libpath.exp b1611f78cda71099f7cb783fec6036cf gcc/testsuite/lib/target-supports-dg.exp ! 357477db01d4831e3ed95339f2d5f412 gcc/testsuite/lib/target-supports.exp ba8c0be14d2e93c15f823b8c4c0672d1 gcc/testsuite/lib/target-utils.exp b85604e4e8dd8de681a31f6c7d59204c gcc/testsuite/lib/timeout-dg.exp 53159c18e733a12fd05a5058f29488d5 gcc/testsuite/lib/timeout.exp *************** a9aabe53382bdf1de0612f8bcf7ef0eb gcc/te *** 67289,67296 **** 4a89061dc402adc311f94d3659a6eaa2 gcc/testsuite/obj-c++.dg/strings/strings-1.mm acda44b06216ac119f6bf3a2e4b8cb98 gcc/testsuite/obj-c++.dg/strings/strings-2.mm 1c9ddf8ebcb389ac0ffe91037d72fa5a gcc/testsuite/obj-c++.dg/strings/strings.exp ! fa70c57e3ccdb714eef96517ba884c54 gcc/testsuite/obj-c++.dg/stubify-1.mm ! 86455888eccfe372be132a4bbd8508df gcc/testsuite/obj-c++.dg/stubify-2.mm 0827dd859e38ad893f65d76bf7a5b5e1 gcc/testsuite/obj-c++.dg/super-class-1.mm 348dead166b98af1745eea549652a4e0 gcc/testsuite/obj-c++.dg/super-class-2.mm 5f7cf7eb1290cd0ac7cc810aca461fcb gcc/testsuite/obj-c++.dg/super-dealloc-1.mm --- 67652,67659 ---- 4a89061dc402adc311f94d3659a6eaa2 gcc/testsuite/obj-c++.dg/strings/strings-1.mm acda44b06216ac119f6bf3a2e4b8cb98 gcc/testsuite/obj-c++.dg/strings/strings-2.mm 1c9ddf8ebcb389ac0ffe91037d72fa5a gcc/testsuite/obj-c++.dg/strings/strings.exp ! 054e0ceae2ad0ae2533b291b1f1d50ab gcc/testsuite/obj-c++.dg/stubify-1.mm ! 562d9abba7e00b15773964756d58bb73 gcc/testsuite/obj-c++.dg/stubify-2.mm 0827dd859e38ad893f65d76bf7a5b5e1 gcc/testsuite/obj-c++.dg/super-class-1.mm 348dead166b98af1745eea549652a4e0 gcc/testsuite/obj-c++.dg/super-class-2.mm 5f7cf7eb1290cd0ac7cc810aca461fcb gcc/testsuite/obj-c++.dg/super-dealloc-1.mm *************** d14e2bc0e149efd8ad9b13c9f1e48081 gcc/te *** 67791,67798 **** 4a89061dc402adc311f94d3659a6eaa2 gcc/testsuite/objc.dg/strings/strings-1.m 5406714e0710bd54d86b2186d1cb98fa gcc/testsuite/objc.dg/strings/strings-2.m b7f12e604b0138477a2121a9a6b05323 gcc/testsuite/objc.dg/strings/strings.exp ! e725bc4ca7d60a0fa96e088c77b44ba3 gcc/testsuite/objc.dg/stubify-1.m ! b9a053b6534bf53cd94aa5a5ae0b528c gcc/testsuite/objc.dg/stubify-2.m 7e68d7fe39ddc6065769f26089764fd6 gcc/testsuite/objc.dg/super-class-1.m ba3105737585d465268d9bf41481fa06 gcc/testsuite/objc.dg/super-class-2.m a1b0dd9c9fb200a066255256ef572225 gcc/testsuite/objc.dg/super-class-3.m --- 68154,68161 ---- 4a89061dc402adc311f94d3659a6eaa2 gcc/testsuite/objc.dg/strings/strings-1.m 5406714e0710bd54d86b2186d1cb98fa gcc/testsuite/objc.dg/strings/strings-2.m b7f12e604b0138477a2121a9a6b05323 gcc/testsuite/objc.dg/strings/strings.exp ! 1028fef4f6067cf3ed3015cb12843bec gcc/testsuite/objc.dg/stubify-1.m ! 14f47f9629e885bc51130d3b4d8a5ffb gcc/testsuite/objc.dg/stubify-2.m 7e68d7fe39ddc6065769f26089764fd6 gcc/testsuite/objc.dg/super-class-1.m ba3105737585d465268d9bf41481fa06 gcc/testsuite/objc.dg/super-class-2.m a1b0dd9c9fb200a066255256ef572225 gcc/testsuite/objc.dg/super-class-3.m *************** f8048ba5e1363a697fba1638825efdda gcc/to *** 68005,68022 **** af2ee3722a9568476164aea9490bddff gcc/tree-affine.c 661d33c210c8a531512c7beb6b96e73c gcc/tree-affine.h c1690c6f804c612c1e6ad8c26b8489d8 gcc/tree-call-cdce.c ! fd657c20b96297042abba02715a7c7f1 gcc/tree-cfg.c cf3fa5a439726d0e73d0651b14a2dd1b gcc/tree-cfg.h ! bcf43d639ae678366922572ff999d4c1 gcc/tree-cfgcleanup.c ee6db89124dff9b0bf2e76468c03eb0e gcc/tree-cfgcleanup.h 64ba3ee03d1c5a6f1958fdad7c8ee694 gcc/tree-chrec.c 7b55d46f115ac2eed2a43554095765e3 gcc/tree-chrec.h d6d3619e6d0d28721a9c5c6a368ee52c gcc/tree-complex.c ! 9ffba5815283744cce13eb21b7e239c1 gcc/tree-core.h 9af67decb941bf8ce444686492527806 gcc/tree-data-ref.c ef7aefae53ef39fa14071dd236e0a6c1 gcc/tree-data-ref.h ! 51125bd5bc54def0cd796c8c76314b26 gcc/tree-dfa.c ! 30a612d5591c7ac87e8ea62051fa68f5 gcc/tree-dfa.h 7d91748613f2693f57dcc989d3ad1416 gcc/tree-diagnostic.c 3668b829319a65e04fa31624410d9b09 gcc/tree-diagnostic.h de5324d205f3d8e4436fad862c4e8cbf gcc/tree-dump.c --- 68368,68385 ---- af2ee3722a9568476164aea9490bddff gcc/tree-affine.c 661d33c210c8a531512c7beb6b96e73c gcc/tree-affine.h c1690c6f804c612c1e6ad8c26b8489d8 gcc/tree-call-cdce.c ! 2b5116d56636e80b59168001d062358e gcc/tree-cfg.c cf3fa5a439726d0e73d0651b14a2dd1b gcc/tree-cfg.h ! 66487f31b19815125207732d79b55d31 gcc/tree-cfgcleanup.c ee6db89124dff9b0bf2e76468c03eb0e gcc/tree-cfgcleanup.h 64ba3ee03d1c5a6f1958fdad7c8ee694 gcc/tree-chrec.c 7b55d46f115ac2eed2a43554095765e3 gcc/tree-chrec.h d6d3619e6d0d28721a9c5c6a368ee52c gcc/tree-complex.c ! c8a0e0c5adae771c3832e3adedf1983b gcc/tree-core.h 9af67decb941bf8ce444686492527806 gcc/tree-data-ref.c ef7aefae53ef39fa14071dd236e0a6c1 gcc/tree-data-ref.h ! e1479e97dde82bebaa8dd0dc3ae45384 gcc/tree-dfa.c ! 57a776e8da826c3b6ae7f8881a3627da gcc/tree-dfa.h 7d91748613f2693f57dcc989d3ad1416 gcc/tree-diagnostic.c 3668b829319a65e04fa31624410d9b09 gcc/tree-diagnostic.h de5324d205f3d8e4436fad862c4e8cbf gcc/tree-dump.c *************** b79825083a3ebc55626e8b11536c4ba6 gcc/tr *** 68026,68034 **** 2d4ed46125756128d55f4b1cb0738c07 gcc/tree-emutls.c 6a6624d33802dfaf68612c39969d7e4c gcc/tree-hash-traits.h b5f8cac4e95ce5662b8305facd72053e gcc/tree-hasher.h ! 9dfaafd9bc843f7d032c418283f9821d gcc/tree-if-conv.c f1194f3c38cd8ea80b953e27866fc331 gcc/tree-if-conv.h ! 6757096cec123413f52e538a6c202692 gcc/tree-inline.c 6715df3b6c3d1a52e89ee84312bb82a4 gcc/tree-inline.h 66872f4ce13076066c8deaa72f57d82b gcc/tree-into-ssa.c d8db8f29a72806d9ef9a7ce2abf423f6 gcc/tree-into-ssa.h --- 68389,68397 ---- 2d4ed46125756128d55f4b1cb0738c07 gcc/tree-emutls.c 6a6624d33802dfaf68612c39969d7e4c gcc/tree-hash-traits.h b5f8cac4e95ce5662b8305facd72053e gcc/tree-hasher.h ! dc1d62afc68881b5529ecbbb84075a36 gcc/tree-if-conv.c f1194f3c38cd8ea80b953e27866fc331 gcc/tree-if-conv.h ! cf23997bede05c81bd2c6b1d88ac4227 gcc/tree-inline.c 6715df3b6c3d1a52e89ee84312bb82a4 gcc/tree-inline.h 66872f4ce13076066c8deaa72f57d82b gcc/tree-into-ssa.c d8db8f29a72806d9ef9a7ce2abf423f6 gcc/tree-into-ssa.h *************** d8db8f29a72806d9ef9a7ce2abf423f6 gcc/tr *** 68038,68053 **** 83da4a6874ca9b4cd45114b5c7361373 gcc/tree-nested.c bdf67051c7eed96122b29fed2a234557 gcc/tree-nested.h e328fa27681700c371368b06726b6240 gcc/tree-nrv.c ! 08a5e095d486a5b2825b292d6a8ff56c gcc/tree-object-size.c 581605d2dd6bb83bfa8850340650b609 gcc/tree-object-size.h 56d40eabfbf48f28cd7a046c887c64db gcc/tree-outof-ssa.c 4140681bb09779084be8e530c4b81429 gcc/tree-outof-ssa.h ! 6791251748b2c670e25f27f66e10d821 gcc/tree-parloops.c 0d7426b0f0e17f2520cdaa847330af7c gcc/tree-parloops.h ! 714722e72aa4f9554c174142faa7c4d8 gcc/tree-pass.h 9c572480fbeacf491cfa0fc39d259ad3 gcc/tree-phinodes.c 9bc2d68918728aa1c82b3b87c59e72f7 gcc/tree-phinodes.h ! 100e2343de977e828d1c9c9e0f38e4cb gcc/tree-predcom.c 35067c56c89aaebeefd37f4193e1b695 gcc/tree-pretty-print.c 493d17fce20d7c46fe093594a3907627 gcc/tree-pretty-print.h 7191536639bfd276bc3527da15ebb458 gcc/tree-profile.c --- 68401,68416 ---- 83da4a6874ca9b4cd45114b5c7361373 gcc/tree-nested.c bdf67051c7eed96122b29fed2a234557 gcc/tree-nested.h e328fa27681700c371368b06726b6240 gcc/tree-nrv.c ! 98ba3328b43c198bd914196eaa783d6e gcc/tree-object-size.c 581605d2dd6bb83bfa8850340650b609 gcc/tree-object-size.h 56d40eabfbf48f28cd7a046c887c64db gcc/tree-outof-ssa.c 4140681bb09779084be8e530c4b81429 gcc/tree-outof-ssa.h ! 7e0f83dd2b7273393e596771de38835d gcc/tree-parloops.c 0d7426b0f0e17f2520cdaa847330af7c gcc/tree-parloops.h ! 8645b61ff48847f16b00836efe389e61 gcc/tree-pass.h 9c572480fbeacf491cfa0fc39d259ad3 gcc/tree-phinodes.c 9bc2d68918728aa1c82b3b87c59e72f7 gcc/tree-phinodes.h ! 83784925d8631d2202c517ff06c54d44 gcc/tree-predcom.c 35067c56c89aaebeefd37f4193e1b695 gcc/tree-pretty-print.c 493d17fce20d7c46fe093594a3907627 gcc/tree-pretty-print.h 7191536639bfd276bc3527da15ebb458 gcc/tree-profile.c *************** a972ba059faad340bcbe01fd547285d7 gcc/tr *** 68056,68064 **** eb66f105c824cefd9bbabb0848c6b196 gcc/tree-sra.c cd2c5878ad9e5f4f953ca0876727446e gcc/tree-ssa-address.c 26a031bfc9047f95d93c2ae4b3863c6a gcc/tree-ssa-address.h ! 8a01fa8d5ee8914788850ea45581f755 gcc/tree-ssa-alias.c ! 0063ee17d6abb9e2049d5363f573c9d0 gcc/tree-ssa-alias.h ! 27f50c3af1a7aef89eedef3b6aa58c06 gcc/tree-ssa-ccp.c 5cb94ea5ab4b0e0aa5c1bd8c5e774099 gcc/tree-ssa-ccp.h 23f1dbac1027552f1fad8371d1c6421a gcc/tree-ssa-coalesce.c bd73e3b6a1d6459aba559373e7d25550 gcc/tree-ssa-coalesce.h --- 68419,68427 ---- eb66f105c824cefd9bbabb0848c6b196 gcc/tree-sra.c cd2c5878ad9e5f4f953ca0876727446e gcc/tree-ssa-address.c 26a031bfc9047f95d93c2ae4b3863c6a gcc/tree-ssa-address.h ! 4e284dc982ebb3a4a9c144728f660031 gcc/tree-ssa-alias.c ! de080bbdbf508c58b6645a26dd5f8cbd gcc/tree-ssa-alias.h ! 13abc08ddb44afc2c5bc74acc7fc2b4c gcc/tree-ssa-ccp.c 5cb94ea5ab4b0e0aa5c1bd8c5e774099 gcc/tree-ssa-ccp.h 23f1dbac1027552f1fad8371d1c6421a gcc/tree-ssa-coalesce.c bd73e3b6a1d6459aba559373e7d25550 gcc/tree-ssa-coalesce.h *************** c44c82bb6bd01c015ca39ae8b7017287 gcc/tr *** 68067,68074 **** 33554b70ccf1bbc32aa7f228515de7a7 gcc/tree-ssa-dce.h 62ca87da3ddb8c15dabc78a46376040c gcc/tree-ssa-dom.c d4d7445af3374048e91bdee947d748a5 gcc/tree-ssa-dom.h ! f552d73c8ab8b19a86455ece5076cd79 gcc/tree-ssa-dse.c ! f78dfdaa7e2cb04a86be1fcc8ec863bf gcc/tree-ssa-forwprop.c 6632895b4e518427e486f20927e19789 gcc/tree-ssa-ifcombine.c 882535983e77f5bb4aa55d36cbbb7a2e gcc/tree-ssa-live.c c621d600df58fcb07ad10ec2c2f606c8 gcc/tree-ssa-live.h --- 68430,68437 ---- 33554b70ccf1bbc32aa7f228515de7a7 gcc/tree-ssa-dce.h 62ca87da3ddb8c15dabc78a46376040c gcc/tree-ssa-dom.c d4d7445af3374048e91bdee947d748a5 gcc/tree-ssa-dom.h ! f7a98771e5d8fb843188063cc8fdf438 gcc/tree-ssa-dse.c ! 274466d6de89c2b1c6d7c7cf63b34bab gcc/tree-ssa-forwprop.c 6632895b4e518427e486f20927e19789 gcc/tree-ssa-ifcombine.c 882535983e77f5bb4aa55d36cbbb7a2e gcc/tree-ssa-live.c c621d600df58fcb07ad10ec2c2f606c8 gcc/tree-ssa-live.h *************** e57adf6c93783e7a9a4c5329e7f70aab gcc/tr *** 68086,68108 **** 0a34a9a261adf7e4567f080f9fa95a12 gcc/tree-ssa-loop-unswitch.c 3dd70e9b5c6b93aa45a0880056bfd0fc gcc/tree-ssa-loop.c 6e344a6eb39582fd9ccf67abc4771d46 gcc/tree-ssa-loop.h ! 6430b8dc91caf314cea7007ccb343502 gcc/tree-ssa-math-opts.c c6e348e48bc6da0fd54bd84f1400c2ac gcc/tree-ssa-operands.c 2e5e0d5c35227d27366a9f075289807d gcc/tree-ssa-operands.h ! 065b84a77ecc300506326bd1fcb0335d gcc/tree-ssa-phiopt.c ! 1ef9642ce41d43348cb6a9805e2e165c gcc/tree-ssa-phiprop.c ! bb98312c48024ae939fa3e7d74d8adde gcc/tree-ssa-pre.c 3f48463407f52911b59898c513e362a6 gcc/tree-ssa-propagate.c e2457942a23f91d5a287e162b3911839 gcc/tree-ssa-propagate.h ! c9d1ef10e74ba7da93e1ab1eea0bbd75 gcc/tree-ssa-reassoc.c ! 544a797db56f7f46979ed99beade7117 gcc/tree-ssa-sccvn.c ! 28fd9378bf562a62cf7b24e67f04decf gcc/tree-ssa-sccvn.h ! d45f8c094bbd3f6f2a9950914b80913f gcc/tree-ssa-scopedtables.c 56680b87422628c7a0a7bd4beafc7e6a gcc/tree-ssa-scopedtables.h ! 353c3f4dab727030793b1d68161b71be gcc/tree-ssa-sink.c 72ff315cc2a08a17fe1331808ada843f gcc/tree-ssa-strlen.c 0d6511564316fc04732d39013b4cb055 gcc/tree-ssa-strlen.h ! 79b6e07a493696b6374657f21535d3ab gcc/tree-ssa-structalias.c 3bccb1e932b23973cd3bfe5ca5b21737 gcc/tree-ssa-tail-merge.c ca804ae9967b39ec65ed1bb4bdbadca6 gcc/tree-ssa-ter.c 4e75bbd30c15801e7db7f9895805362c gcc/tree-ssa-ter.h --- 68449,68471 ---- 0a34a9a261adf7e4567f080f9fa95a12 gcc/tree-ssa-loop-unswitch.c 3dd70e9b5c6b93aa45a0880056bfd0fc gcc/tree-ssa-loop.c 6e344a6eb39582fd9ccf67abc4771d46 gcc/tree-ssa-loop.h ! ad83f46c9cbf76e7985e83df5506fcee gcc/tree-ssa-math-opts.c c6e348e48bc6da0fd54bd84f1400c2ac gcc/tree-ssa-operands.c 2e5e0d5c35227d27366a9f075289807d gcc/tree-ssa-operands.h ! efedfb8d4b6f39e7c042e5ac3a685331 gcc/tree-ssa-phiopt.c ! acb6aa7ce143ae91fbebf78c1b01c517 gcc/tree-ssa-phiprop.c ! ce29b2670697c81f1d702b5ef1455ef2 gcc/tree-ssa-pre.c 3f48463407f52911b59898c513e362a6 gcc/tree-ssa-propagate.c e2457942a23f91d5a287e162b3911839 gcc/tree-ssa-propagate.h ! 2c4d61f8932f41037eb675b45cdedfb2 gcc/tree-ssa-reassoc.c ! 7369613e0e62fe87da239fb56350d918 gcc/tree-ssa-sccvn.c ! 00aa1da9a4734aee088f3ae7a04cbe72 gcc/tree-ssa-sccvn.h ! e8f7441e16b235f14ac6ab9c4c743152 gcc/tree-ssa-scopedtables.c 56680b87422628c7a0a7bd4beafc7e6a gcc/tree-ssa-scopedtables.h ! 2765de718cf340271f1d2693dcf76419 gcc/tree-ssa-sink.c 72ff315cc2a08a17fe1331808ada843f gcc/tree-ssa-strlen.c 0d6511564316fc04732d39013b4cb055 gcc/tree-ssa-strlen.h ! 2b7d269bf626d9f6132406a0c8104c3f gcc/tree-ssa-structalias.c 3bccb1e932b23973cd3bfe5ca5b21737 gcc/tree-ssa-tail-merge.c ca804ae9967b39ec65ed1bb4bdbadca6 gcc/tree-ssa-ter.c 4e75bbd30c15801e7db7f9895805362c gcc/tree-ssa-ter.h *************** c17b4939dff5f391c4735dbc3d69c1ad gcc/tr *** 68123,68147 **** d60db07cf0bd16c97faf0fd226ba5980 gcc/tree-streamer-out.c 98d3d8c48a9b3efe58dfdde689f7c408 gcc/tree-streamer.c b054506e5b8d5ed1b8605d943ac31d12 gcc/tree-streamer.h ! 6cec4bcb30689c682d5865b856703fcf gcc/tree-switch-conversion.c 979b0fbb38ab0a16518112580711689b gcc/tree-switch-conversion.h ! 4e510963643a52dbb15da81ed4a7dbdc gcc/tree-tailcall.c ! 3ab9d8ceff4dd14521eaa63c8fbcaf1b gcc/tree-vect-data-refs.c 3a36b1196f70db5b6b118a555a0c6a39 gcc/tree-vect-generic.c c8f952851187727ac28dc3c21ffb773e gcc/tree-vect-loop-manip.c ! 5c445aad94fae81ccf8490ed49107465 gcc/tree-vect-loop.c ! 8b5080f31c446a3f507f5c76662e7be2 gcc/tree-vect-patterns.c ! 32e75d0c52f144ba054e42235a4c5cc3 gcc/tree-vect-slp.c ! 7b3aef1cae2aa6eae85f176fc754c399 gcc/tree-vect-stmts.c 923de3f5927009f9e3576e15ae880ab0 gcc/tree-vector-builder.c ! 2e6464b0cb823dde1c47fa1d4ea88c11 gcc/tree-vector-builder.h ! eb39064807ca15d5f21e472bde35333c gcc/tree-vectorizer.c ! 0cf706336ae4b15375927b0368349f1b gcc/tree-vectorizer.h ! 7c668c1bee054e58d568a128763a640f gcc/tree-vrp.c 11bb365df114008a6fda07f3787ffb2a gcc/tree-vrp.h ! 2ce0384a491298cf0a176a004ec12afa gcc/tree.c 1e417842f4d580fc7ca0b19e337e2a8f gcc/tree.def ! c6bd2abb7488c926abada7a2bbbada7e gcc/tree.h a632adf0707e5662b38f91c502ebcd9c gcc/treestruct.def a700ac9e89b6cab280947e83afe8304c gcc/tsan.c 369e17dd79820668a84a989973ff7f6c gcc/tsan.h --- 68486,68510 ---- d60db07cf0bd16c97faf0fd226ba5980 gcc/tree-streamer-out.c 98d3d8c48a9b3efe58dfdde689f7c408 gcc/tree-streamer.c b054506e5b8d5ed1b8605d943ac31d12 gcc/tree-streamer.h ! e955d60cc69cccd30e1126c8f011e391 gcc/tree-switch-conversion.c 979b0fbb38ab0a16518112580711689b gcc/tree-switch-conversion.h ! cd1850ab7ebe7611fb2c0b693c64863f gcc/tree-tailcall.c ! 21c9f8c7220ea0068cbe1698d0bc26ea gcc/tree-vect-data-refs.c 3a36b1196f70db5b6b118a555a0c6a39 gcc/tree-vect-generic.c c8f952851187727ac28dc3c21ffb773e gcc/tree-vect-loop-manip.c ! 8c44ced701a7fa40cca8131ec12c899f gcc/tree-vect-loop.c ! 29d895ab943ae309af78dc3a43d3169e gcc/tree-vect-patterns.c ! 439d2ee55317b5ba4ede0c39a6f00256 gcc/tree-vect-slp.c ! 7cb96dbffb76832c92b449b252e3f6f9 gcc/tree-vect-stmts.c 923de3f5927009f9e3576e15ae880ab0 gcc/tree-vector-builder.c ! c7ac3c11f53390dce6cc710eaaac6a52 gcc/tree-vector-builder.h ! 575355cdfb31dedd620f9db37f2a6dd7 gcc/tree-vectorizer.c ! 56ef90d227aaa781ba75e175b65cfa4d gcc/tree-vectorizer.h ! 2f06b198ddaa1c8bb944ea22ca691149 gcc/tree-vrp.c 11bb365df114008a6fda07f3787ffb2a gcc/tree-vrp.h ! 170143e885e8f3313d7ba5cf1dca02e6 gcc/tree.c 1e417842f4d580fc7ca0b19e337e2a8f gcc/tree.def ! cb02e7f2133801e546c8c65a040a3122 gcc/tree.h a632adf0707e5662b38f91c502ebcd9c gcc/treestruct.def a700ac9e89b6cab280947e83afe8304c gcc/tsan.c 369e17dd79820668a84a989973ff7f6c gcc/tsan.h *************** fdfe19949e8ebfe5f14b613f0f65cd6e gcc/va *** 68157,68163 **** c9b17af100e6e8b93fd6f44f3298c444 gcc/value-prof.c 6850a2f89c3044494307d034303972cc gcc/value-prof.h 81d2fc2f16729073ea312642708b81ee gcc/var-tracking.c ! f25ff8dfe49e22dc886f35d637fa3999 gcc/varasm.c 6f964e619afc01dea8b02e5c9e30b044 gcc/varasm.h 618cd72aea132c3e97c596aee2d00ed6 gcc/varpool.c 9639142b99476bc7eaeb8460331b0566 gcc/vec-perm-indices.c --- 68520,68526 ---- c9b17af100e6e8b93fd6f44f3298c444 gcc/value-prof.c 6850a2f89c3044494307d034303972cc gcc/value-prof.h 81d2fc2f16729073ea312642708b81ee gcc/var-tracking.c ! 4e363767a6b571895b88c1a620b53f9a gcc/varasm.c 6f964e619afc01dea8b02e5c9e30b044 gcc/varasm.h 618cd72aea132c3e97c596aee2d00ed6 gcc/varpool.c 9639142b99476bc7eaeb8460331b0566 gcc/vec-perm-indices.c *************** ed35c9dc4d0b16c41b99ebe0eed61dff gcc/wi *** 68184,68194 **** f9f7c952be9b58fa5e9fc7a89cbd0c6e gcc/xcoff.h 2f034ec50b36619b6f38d5c224cb9a42 gcc/xcoffout.c b3d9467b5da1c3d00d28147a04c86dbf gcc/xcoffout.h ! f27cccf3e98f7b22e5230eda2b66de50 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in 8385a4d775aa1b9949c1f88488491c86 gnattools/configure 1e063bb0b806e41cc0ed23d1b7047746 gnattools/configure.ac ! 4b3c499353b07a2c4c4af7f71e1a031e gotools/ChangeLog e6bbff19055ec2e8a53d3a2f4bffdeca gotools/Makefile.am 49d6c95c9b61332be4b77dbfa6c609dc gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README --- 68547,68557 ---- f9f7c952be9b58fa5e9fc7a89cbd0c6e gcc/xcoff.h 2f034ec50b36619b6f38d5c224cb9a42 gcc/xcoffout.c b3d9467b5da1c3d00d28147a04c86dbf gcc/xcoffout.h ! 8c55fe2cd02edde196c4171e2c24e000 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in 8385a4d775aa1b9949c1f88488491c86 gnattools/configure 1e063bb0b806e41cc0ed23d1b7047746 gnattools/configure.ac ! d476aa214b1d2a619467c93fa23b2d85 gotools/ChangeLog e6bbff19055ec2e8a53d3a2f4bffdeca gotools/Makefile.am 49d6c95c9b61332be4b77dbfa6c609dc gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README *************** c4e8176c1964a5ebe0a55900f2141299 gotool *** 68199,68205 **** eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 2413f354f89f3d7a3315971607d698ed include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit eb7ab2f3097121a9154cc0ddecf661b2 include/ansidecl.h --- 68562,68568 ---- eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! b82982149d183ecac42478c20a844bd1 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit eb7ab2f3097121a9154cc0ddecf661b2 include/ansidecl.h *************** b5692912b7f639c8285c77fa6ad84449 includ *** 68244,68250 **** def665a8553c0865c88d58a554d87473 include/xregex2.h 5e7c2e8aca772d2a3ac0791728781298 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! fca1ada2a23aa7d78cd3d970b1649938 intl/ChangeLog cad1d6fab2274517783de7433c0faa74 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 68607,68613 ---- def665a8553c0865c88d58a554d87473 include/xregex2.h 5e7c2e8aca772d2a3ac0791728781298 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! ae8cd32246500dadc3b1a6a85fe9eaa5 intl/ChangeLog cad1d6fab2274517783de7433c0faa74 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** d50a8c6c5b41089930accbdce767d3c0 intl/p *** 68286,68297 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 8368231cf85a285351a82b75ed2cb3c5 libada/ChangeLog 2a453698f4bd6b664ee7c6be22402650 libada/Makefile.in ac7a7dbdb4599e1a98b97c82e372191e libada/configure 2509405c0c4ff558c0d8f66fa41c7e0d libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! 1669b0842bac93622f22d6748111ff97 libatomic/ChangeLog 8e7df66918150dad6d8320f11f4ede36 libatomic/Makefile.am 2f61e67926f726144fd98377c2671b78 libatomic/Makefile.in 6d2b5627e60376680a6923959c375266 libatomic/acinclude.m4 --- 68649,68660 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! efc11f10953ea717feb5d8abaaf3821e libada/ChangeLog 2a453698f4bd6b664ee7c6be22402650 libada/Makefile.in ac7a7dbdb4599e1a98b97c82e372191e libada/configure 2509405c0c4ff558c0d8f66fa41c7e0d libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! 32b68c12b857be4260b9ca71c5878f30 libatomic/ChangeLog 8e7df66918150dad6d8320f11f4ede36 libatomic/Makefile.am 2f61e67926f726144fd98377c2671b78 libatomic/Makefile.in 6d2b5627e60376680a6923959c375266 libatomic/acinclude.m4 *************** c03a072efac9b30f8f8429ac52fd246b libato *** 68377,68383 **** 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! 190866328ef6a26cc49993524ee4480d libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 648838959097e0a8fa1b0b9704a9ae9d libbacktrace/Makefile.am c8a69ac59470cd3f43c0d784a9d4bfde libbacktrace/Makefile.in --- 68740,68746 ---- 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! 89d1c85dac5266f450837add0e3e23c7 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 648838959097e0a8fa1b0b9704a9ae9d libbacktrace/Makefile.am c8a69ac59470cd3f43c0d784a9d4bfde libbacktrace/Makefile.in *************** bdbc7bcfa63dc92b1440fc83c7d769cc libbac *** 68406,68412 **** ecac281ca0efeedd90007bfb7eb3e6b5 libbacktrace/mmap.c aa7b4bbf6702a4805c39977710381515 libbacktrace/mmapio.c d1a9b2c3b342eaa21161e344fd5b7d00 libbacktrace/nounwind.c ! 2818e395c54b6a21d3ae2311993144a2 libbacktrace/pecoff.c d2c2fc9ec0d683241bf5d1b06819f3d2 libbacktrace/posix.c 1ebf0d80127281cc7bd3e14fdabffc5a libbacktrace/print.c 316c63e7638e7dd98bd32a149798634e libbacktrace/read.c --- 68769,68775 ---- ecac281ca0efeedd90007bfb7eb3e6b5 libbacktrace/mmap.c aa7b4bbf6702a4805c39977710381515 libbacktrace/mmapio.c d1a9b2c3b342eaa21161e344fd5b7d00 libbacktrace/nounwind.c ! d1c7eb6b99af77dadb094812519d3a65 libbacktrace/pecoff.c d2c2fc9ec0d683241bf5d1b06819f3d2 libbacktrace/posix.c 1ebf0d80127281cc7bd3e14fdabffc5a libbacktrace/print.c 316c63e7638e7dd98bd32a149798634e libbacktrace/read.c *************** ca9e1886004a1d290b3e205cf7d93e76 libbac *** 68420,68428 **** f917ae4f4a8353f5f6210d4399d333f9 libbacktrace/ttest.c 3c9ad27f02e0ea46aa30f154a430a3f8 libbacktrace/unittest.c 4bcecc9e15528ac37690df80f1f37d8b libbacktrace/unknown.c ! b4b961bd893040c8f1c13c169df3d670 libbacktrace/xcoff.c 2e820a2f5f1db658ccedaaba021d985c libbacktrace/ztest.c ! 37a57e3d9d04f4cd4848f7b59d1244df libcc1/ChangeLog 02ca37e3383de9f5c75e8de63507bb96 libcc1/Makefile.am 783b727d820db2db3b9801e87bfa4f99 libcc1/Makefile.in 951b88f5687afa4f7735d87a83007fc0 libcc1/aclocal.m4 --- 68783,68791 ---- f917ae4f4a8353f5f6210d4399d333f9 libbacktrace/ttest.c 3c9ad27f02e0ea46aa30f154a430a3f8 libbacktrace/unittest.c 4bcecc9e15528ac37690df80f1f37d8b libbacktrace/unknown.c ! cc14c4b26f0a468b4680095c43aff2c1 libbacktrace/xcoff.c 2e820a2f5f1db658ccedaaba021d985c libbacktrace/ztest.c ! b788080af1ff09bfebcc85b7a62a0a1a libcc1/ChangeLog 02ca37e3383de9f5c75e8de63507bb96 libcc1/Makefile.am 783b727d820db2db3b9801e87bfa4f99 libcc1/Makefile.in 951b88f5687afa4f7735d87a83007fc0 libcc1/aclocal.m4 *************** f6e4594f30d0958b989729eaeaf30d13 libcc1 *** 68451,68457 **** 281515e15866eb4506bbbc786f630e0f libcc1/names.hh 504f1417b07f98c5f03ba4c60a9d7a0c libcc1/rpc.hh ea9958db9e43f398aad45b61b850753a libcc1/status.hh ! 26ffcd9e8f1daf33881b78ac8571dbc1 libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 222dba4ab7498ff043c97003b13ec99d libcpp/Makefile.in 5f73e265652f92a8ad72a80124ac7061 libcpp/aclocal.m4 --- 68814,68820 ---- 281515e15866eb4506bbbc786f630e0f libcc1/names.hh 504f1417b07f98c5f03ba4c60a9d7a0c libcc1/rpc.hh ea9958db9e43f398aad45b61b850753a libcc1/status.hh ! 9adfbe80e36a984a73a961a46c49f79b libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 222dba4ab7498ff043c97003b13ec99d libcpp/Makefile.in 5f73e265652f92a8ad72a80124ac7061 libcpp/aclocal.m4 *************** a82e3eb1d8561484e9ba80fe49aaa3d2 libcpp *** 68460,68466 **** f95c591555ed352736370c7a1b6d0f98 libcpp/configure db98df9b3eb19f4fe581a917e87c5a57 libcpp/configure.ac 7b6cb6a7b1b18e5058899d7b0b6c2e29 libcpp/directives-only.c ! 2bd8b9ea9e386ed367d8d23fa767e034 libcpp/directives.c 0a342f3f7b07fb4e763b209333dbb06b libcpp/errors.c 652fec5ae61d9fc04abc72e59c457305 libcpp/expr.c d043d853a1f677a273ca7a9a969dab92 libcpp/files.c --- 68823,68829 ---- f95c591555ed352736370c7a1b6d0f98 libcpp/configure db98df9b3eb19f4fe581a917e87c5a57 libcpp/configure.ac 7b6cb6a7b1b18e5058899d7b0b6c2e29 libcpp/directives-only.c ! 0052b900a16269d3b3d79383fba2857c libcpp/directives.c 0a342f3f7b07fb4e763b209333dbb06b libcpp/errors.c 652fec5ae61d9fc04abc72e59c457305 libcpp/expr.c d043d853a1f677a273ca7a9a969dab92 libcpp/files.c *************** d043d853a1f677a273ca7a9a969dab92 libcpp *** 68469,68476 **** cef329778c5d330ecda50584ccd181ab libcpp/include/line-map.h 7949f963045c91cc3138213bf5ead236 libcpp/include/mkdeps.h 496dd848f33cf3bc1ab5a11e3d25a24b libcpp/include/symtab.h ! 960c1d60b94d543daaecb1a77e5a817b libcpp/init.c ! 3a4173c4ea9cfc8295503104942859a5 libcpp/internal.h be667f46d233f27f0bc302667739df28 libcpp/lex.c d62e382eb7e77997195cc6ba2f1bf242 libcpp/line-map.c 46a07100f95f5e354c7e25cd19d26884 libcpp/location-example.txt --- 68832,68839 ---- cef329778c5d330ecda50584ccd181ab libcpp/include/line-map.h 7949f963045c91cc3138213bf5ead236 libcpp/include/mkdeps.h 496dd848f33cf3bc1ab5a11e3d25a24b libcpp/include/symtab.h ! c9d2656287cb96b4e6422c5fcdaff3a6 libcpp/init.c ! 4af96b20be90ff8cadff4b95fcea0416 libcpp/internal.h be667f46d233f27f0bc302667739df28 libcpp/lex.c d62e382eb7e77997195cc6ba2f1bf242 libcpp/line-map.c 46a07100f95f5e354c7e25cd19d26884 libcpp/location-example.txt *************** d62e382eb7e77997195cc6ba2f1bf242 libcpp *** 68478,68484 **** 4d29f81731f27ee18c8643ab850311f7 libcpp/makeucnid.c 490d1e48a80412dfb3514b94e7f51775 libcpp/mkdeps.c a6e9e77c0524957faba66e24fbf3ed8a libcpp/pch.c ! 3484fa0b63c8aaf91e572fd10bd92678 libcpp/po/ChangeLog 800d45168b428dc83c20c2b9f59ed630 libcpp/po/be.gmo dc05c4bd3c6895e2da9141f65119fb51 libcpp/po/be.po 120a1ad532876abf18a95b8592038fda libcpp/po/ca.gmo --- 68841,68847 ---- 4d29f81731f27ee18c8643ab850311f7 libcpp/makeucnid.c 490d1e48a80412dfb3514b94e7f51775 libcpp/mkdeps.c a6e9e77c0524957faba66e24fbf3ed8a libcpp/pch.c ! 3652e4958cae1dd92819563c0253afb8 libcpp/po/ChangeLog 800d45168b428dc83c20c2b9f59ed630 libcpp/po/be.gmo dc05c4bd3c6895e2da9141f65119fb51 libcpp/po/be.po 120a1ad532876abf18a95b8592038fda libcpp/po/ca.gmo *************** c862ccf544840751be474f16ed6b1963 libcpp *** 68528,68539 **** 628099a1919648a76bead35903e7b89b libcpp/ucnid.h d575d8ea34f81aa9a0af383fdbd9d2ca libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! e99d8966a11d2fccbdf4fc8151ff3c53 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit 141296edcf1deb455bf9aae8e8a8fe04 libdecnumber/Makefile.in 5f9283b55276ee7e43f1b2d807e0d85f libdecnumber/aclocal.m4 0be0d749baced3e33379fb7be2e77f49 libdecnumber/bid/bid-dpd.h ! 4dadff91d38d279436d6339de2f79f2d libdecnumber/bid/bid2dpd_dpd2bid.c d7510cabd0d6275900d764d906e6d12d libdecnumber/bid/bid2dpd_dpd2bid.h 73c2f06952f9bd8f1d470722399dfc56 libdecnumber/bid/decimal128.c 47afd72790bc284aceb5a23597cc6146 libdecnumber/bid/decimal128.h --- 68891,68902 ---- 628099a1919648a76bead35903e7b89b libcpp/ucnid.h d575d8ea34f81aa9a0af383fdbd9d2ca libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! fddb4e5fd375d23e8ba3d690fb318938 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit 141296edcf1deb455bf9aae8e8a8fe04 libdecnumber/Makefile.in 5f9283b55276ee7e43f1b2d807e0d85f libdecnumber/aclocal.m4 0be0d749baced3e33379fb7be2e77f49 libdecnumber/bid/bid-dpd.h ! 739a9e33eca239339afbecfd16013d13 libdecnumber/bid/bid2dpd_dpd2bid.c d7510cabd0d6275900d764d906e6d12d libdecnumber/bid/bid2dpd_dpd2bid.h 73c2f06952f9bd8f1d470722399dfc56 libdecnumber/bid/decimal128.c 47afd72790bc284aceb5a23597cc6146 libdecnumber/bid/decimal128.h *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 68591,68597 **** 74a3833f7f2ae0d269dcacb46972d1f0 libdecnumber/dpd/decimal64.c 4e08638f371cb9b372f3ec903f00fc0e libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 612c6111bc7e25b0698afb92ef78844a libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 --- 68954,68960 ---- 74a3833f7f2ae0d269dcacb46972d1f0 libdecnumber/dpd/decimal64.c 4e08638f371cb9b372f3ec903f00fc0e libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 9bf3ce8df2ec57dac18f8dd86412f065 libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 *************** d47c79b281339983862a8e52d8c73f0f libffi *** 68951,68959 **** 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 0087f4b3e2f0473676d0ed37c1daece4 libgcc/ChangeLog ad1e8cb6d1e59c5bbcc931b5e56711e1 libgcc/Makefile.in ! d59bffbd4d8f0c9e1e40e0ab856dcfc8 libgcc/config.host dbd4c68a64e3be09ab49bad953cf29cd libgcc/config.in 6565c7b497d5f7e6e7f86014d52eadba libgcc/config/aarch64/aarch64-unwind.h a604bdf629139cf288a532d9fb755410 libgcc/config/aarch64/crtfastmath.c --- 69314,69322 ---- 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 2b7baf7c00dda23dda649c0ca7a1d7b6 libgcc/ChangeLog ad1e8cb6d1e59c5bbcc931b5e56711e1 libgcc/Makefile.in ! 9d8f302e61acc277666e756e017a720a libgcc/config.host dbd4c68a64e3be09ab49bad953cf29cd libgcc/config.in 6565c7b497d5f7e6e7f86014d52eadba libgcc/config/aarch64/aarch64-unwind.h a604bdf629139cf288a532d9fb755410 libgcc/config/aarch64/crtfastmath.c *************** c88e8089cef2ae288ee43a31da146ae9 libgcc *** 69265,69271 **** 175f8038676099df3497d2191eeda292 libgcc/config/i386/savms64f.h e28eece912c4f472d66f144e969e4ef7 libgcc/config/i386/sfp-exceptions.c d34238cdb06dae0b56a3a517467683d3 libgcc/config/i386/sfp-machine.h ! bbedcda2a1d836c20e731d6f4c256170 libgcc/config/i386/shadow-stack-unwind.h 9837b233df15ea32018f46eec96d5cc3 libgcc/config/i386/sol2-c1.S 7bd7e1e5fdd51765f4cd0ce4e68aa97b libgcc/config/i386/sol2-unwind.h 597d8ce804b1c2e917fdb1870e7ea0ac libgcc/config/i386/sse_resms64.S --- 69628,69634 ---- 175f8038676099df3497d2191eeda292 libgcc/config/i386/savms64f.h e28eece912c4f472d66f144e969e4ef7 libgcc/config/i386/sfp-exceptions.c d34238cdb06dae0b56a3a517467683d3 libgcc/config/i386/sfp-machine.h ! 007caac335b975d079738b7b52d225d6 libgcc/config/i386/shadow-stack-unwind.h 9837b233df15ea32018f46eec96d5cc3 libgcc/config/i386/sol2-c1.S 7bd7e1e5fdd51765f4cd0ce4e68aa97b libgcc/config/i386/sol2-unwind.h 597d8ce804b1c2e917fdb1870e7ea0ac libgcc/config/i386/sse_resms64.S *************** e708eaae233279e50aca0fb6221aa099 libgcc *** 69336,69342 **** 2499660ca1508fd7a1c0a9c4bf398faf libgcc/config/ia64/vms-unwind.h d542947a4878833a608a7a6c66107af2 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 3c067c132891daa25457482637248c87 libgcc/config/libbid/ChangeLog e09001f7f7eb492bfa91377efc1de072 libgcc/config/libbid/_addsub_dd.c d1ea578ab0ec90a68084bc92256a875a libgcc/config/libbid/_addsub_sd.c 7ec84cbf2be3e6936ecfb988e11678b6 libgcc/config/libbid/_addsub_td.c --- 69699,69705 ---- 2499660ca1508fd7a1c0a9c4bf398faf libgcc/config/ia64/vms-unwind.h d542947a4878833a608a7a6c66107af2 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 5dcd46e2fe5b7987c11c4d5f8919b81c libgcc/config/libbid/ChangeLog e09001f7f7eb492bfa91377efc1de072 libgcc/config/libbid/_addsub_dd.c d1ea578ab0ec90a68084bc92256a875a libgcc/config/libbid/_addsub_sd.c 7ec84cbf2be3e6936ecfb988e11678b6 libgcc/config/libbid/_addsub_td.c *************** d1abad1abb78c23d432daf78ec237cd9 libgcc *** 69873,69885 **** e0ef23bde7dbafa567f4b1303b05a877 libgcc/config/or1k/linux-unwind.h bae0e3b81bed9e3ea4b31a52d222e907 libgcc/config/or1k/sfp-machine.h 6bc916776e1534a9de6d79f6530f0412 libgcc/config/or1k/t-or1k ! 76d6badc981bf87b56d48c6fe4f1bda4 libgcc/config/pa/fptr.c e1de91feb077c33534a9cc4d2fe09657 libgcc/config/pa/gthr-dce.h 12c448d35b960a5650c4ba9a5cf35e07 libgcc/config/pa/hpux-unwind.h ! c834198166c01faa755240c006ac5b00 libgcc/config/pa/lib2funcs.S ! fdd883d06fb1d3d9dc0f2dad94fc51f9 libgcc/config/pa/linux-atomic.c dde3935fa4561cabea432f777774f9ba libgcc/config/pa/linux-unwind.h ! a34fcdc2071d7bb8cdca3c0f97faa911 libgcc/config/pa/milli64.S 8267bac5fc9e32d2e728edbc7d978b51 libgcc/config/pa/pa64-hpux-lib.h 3c5ce73389b2139807c1d2d546229737 libgcc/config/pa/quadlib.c 71c9c291204dc98b7de0ef6b19387db9 libgcc/config/pa/stublib.c --- 70236,70248 ---- e0ef23bde7dbafa567f4b1303b05a877 libgcc/config/or1k/linux-unwind.h bae0e3b81bed9e3ea4b31a52d222e907 libgcc/config/or1k/sfp-machine.h 6bc916776e1534a9de6d79f6530f0412 libgcc/config/or1k/t-or1k ! bd41c9c4e8e855126c292582197016ff libgcc/config/pa/fptr.c e1de91feb077c33534a9cc4d2fe09657 libgcc/config/pa/gthr-dce.h 12c448d35b960a5650c4ba9a5cf35e07 libgcc/config/pa/hpux-unwind.h ! f01c3db454b605b72d1232f39af126ab libgcc/config/pa/lib2funcs.S ! 64a6e5d5843e81a024f9afe766cc713b libgcc/config/pa/linux-atomic.c dde3935fa4561cabea432f777774f9ba libgcc/config/pa/linux-unwind.h ! 704fc661652e30b41dd46eddc0701597 libgcc/config/pa/milli64.S 8267bac5fc9e32d2e728edbc7d978b51 libgcc/config/pa/pa64-hpux-lib.h 3c5ce73389b2139807c1d2d546229737 libgcc/config/pa/quadlib.c 71c9c291204dc98b7de0ef6b19387db9 libgcc/config/pa/stublib.c *************** aa29c1671558b9acd0f64e4a85a8fb88 libgcc *** 70007,70014 **** 85f807ff0364a0c80caa348722990805 libgcc/config/rs6000/sol-cn.S 8e65197842ba39fd658038728475e572 libgcc/config/rs6000/t-aix-cxa 0d6637a7e112c021e7ce371918c7659c libgcc/config/rs6000/t-crtstuff ! b6151b20715687e580fd5fc2f102102b libgcc/config/rs6000/t-darwin ! d7cdc73d7a8e658f872ea07474837bc2 libgcc/config/rs6000/t-darwin64 5e37428787f8a44735ab7c7fb6bbcd27 libgcc/config/rs6000/t-e500v1-fp ce6aba3310e17ec0410a23118775bbab libgcc/config/rs6000/t-e500v2-fp f9c993d20fe30bd0ec55ec5caf62518d libgcc/config/rs6000/t-float128 --- 70370,70377 ---- 85f807ff0364a0c80caa348722990805 libgcc/config/rs6000/sol-cn.S 8e65197842ba39fd658038728475e572 libgcc/config/rs6000/t-aix-cxa 0d6637a7e112c021e7ce371918c7659c libgcc/config/rs6000/t-crtstuff ! bc91baf0523c8475334ca80d6ff265c4 libgcc/config/rs6000/t-darwin ! a0014912b4b08cfbe887d9945460e370 libgcc/config/rs6000/t-darwin64 5e37428787f8a44735ab7c7fb6bbcd27 libgcc/config/rs6000/t-e500v1-fp ce6aba3310e17ec0410a23118775bbab libgcc/config/rs6000/t-e500v2-fp f9c993d20fe30bd0ec55ec5caf62518d libgcc/config/rs6000/t-float128 *************** ada9a39786da3b2e999f7440a17a1ed7 libgcc *** 70115,70121 **** 7f567bcd22705a965e07f79e8f68ebaa libgcc/config/stormy16/umodsi3.c f199b38114ce849b77b38bd475d72cff libgcc/config/t-crtfm 060a49bb5c4a53a2125123d4cbd571de libgcc/config/t-crtstuff-pic ! cbc6f3d27731114bacf21184530579de libgcc/config/t-darwin ee7ad6460936fc6f3f89ecb711376477 libgcc/config/t-dfprules d747115cbcc2bd56b6b4f73c350c2ae3 libgcc/config/t-eh-dw2-dip b9d08c1cbead9131f216accd515ec32c libgcc/config/t-fdpbit --- 70478,70484 ---- 7f567bcd22705a965e07f79e8f68ebaa libgcc/config/stormy16/umodsi3.c f199b38114ce849b77b38bd475d72cff libgcc/config/t-crtfm 060a49bb5c4a53a2125123d4cbd571de libgcc/config/t-crtstuff-pic ! 7fec96c04b71be88732732651ac5dd37 libgcc/config/t-darwin ee7ad6460936fc6f3f89ecb711376477 libgcc/config/t-dfprules d747115cbcc2bd56b6b4f73c350c2ae3 libgcc/config/t-eh-dw2-dip b9d08c1cbead9131f216accd515ec32c libgcc/config/t-fdpbit *************** af87f07c7852b3f285999fc059f8add9 libgcc *** 70368,70374 **** 3141a3583b6db8874e874d333dde6638 libgcc/vtv_end_preinit.c 8a18f995d18c874fc01982af6acf7552 libgcc/vtv_start.c 1fc53b7e6934daf3a6708fd8ac1665a7 libgcc/vtv_start_preinit.c ! ce9200da2f1ae308d902ab7020c3c234 libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 --- 70731,70737 ---- 3141a3583b6db8874e874d333dde6638 libgcc/vtv_end_preinit.c 8a18f995d18c874fc01982af6acf7552 libgcc/vtv_start.c 1fc53b7e6934daf3a6708fd8ac1665a7 libgcc/vtv_start_preinit.c ! dc1326b62f8bcf1d999b7f9fa25edab1 libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 *************** f91822b34847fdd809e608b8c7d3abe7 libgfo *** 71056,71062 **** 89eb7307b38f7de7d92d72be3e65b56a libgfortran/intrinsics/pack_generic.c 9fa720bbef66c669caeea1f1b46dd06b libgfortran/intrinsics/perror.c 5c05986df2cd6ff16a02045a5c0db647 libgfortran/intrinsics/rand.c ! 8bddab74bd50a77080f4ba76fa5d249d libgfortran/intrinsics/random.c d02d4a9ec10c193f87f4052bc16f985f libgfortran/intrinsics/random_init.f90 a2785447274eae2caeb788c9d11aae76 libgfortran/intrinsics/rename.c 78b5e98911da89787ce57c5f4a2fca4a libgfortran/intrinsics/reshape_generic.c --- 71419,71425 ---- 89eb7307b38f7de7d92d72be3e65b56a libgfortran/intrinsics/pack_generic.c 9fa720bbef66c669caeea1f1b46dd06b libgfortran/intrinsics/perror.c 5c05986df2cd6ff16a02045a5c0db647 libgfortran/intrinsics/rand.c ! d95dfc1734926ac22d5886a61a87ebf4 libgfortran/intrinsics/random.c d02d4a9ec10c193f87f4052bc16f985f libgfortran/intrinsics/random_init.f90 a2785447274eae2caeb788c9d11aae76 libgfortran/intrinsics/rename.c 78b5e98911da89787ce57c5f4a2fca4a libgfortran/intrinsics/reshape_generic.c *************** fe30431ece9320fef4897cbf7b85c7c5 libgfo *** 71079,71086 **** 86cf6b0aa8cb79c40585c7fa0aa28189 libgfortran/intrinsics/umask.c b5261934b781670362603cf1d457584a libgfortran/intrinsics/unlink.c 72f59615911df6d0fa9721e4b6630daf libgfortran/intrinsics/unpack_generic.c ! 743156d23f79ce70c8e9585eee086365 libgfortran/io/async.c ! a63f7c879dfe54e9d36cc77b0e206deb libgfortran/io/async.h 73116f4e9931cef70309c9cc03a6ee71 libgfortran/io/close.c c72950c9daf66b9bd3d380f11b16fe4d libgfortran/io/fbuf.c f04fd4c3e1fcdb44926bd74d91646e4b libgfortran/io/fbuf.h --- 71442,71449 ---- 86cf6b0aa8cb79c40585c7fa0aa28189 libgfortran/intrinsics/umask.c b5261934b781670362603cf1d457584a libgfortran/intrinsics/unlink.c 72f59615911df6d0fa9721e4b6630daf libgfortran/intrinsics/unpack_generic.c ! 0b9202c286289cc12f38243e68d93200 libgfortran/io/async.c ! 9b18842ca87a921151aef9062fdc5869 libgfortran/io/async.h 73116f4e9931cef70309c9cc03a6ee71 libgfortran/io/close.c c72950c9daf66b9bd3d380f11b16fe4d libgfortran/io/fbuf.c f04fd4c3e1fcdb44926bd74d91646e4b libgfortran/io/fbuf.h *************** b98969669f06625d7f1649f5dcdb3429 libgfo *** 71095,71103 **** b8a84fa4f708bde73acf7b731adfd17e libgfortran/io/open.c 82b163476fbb8fee0ee45baa6cc00a65 libgfortran/io/read.c c3a84590fc9e05db3ee8edd137ff5b77 libgfortran/io/size_from_kind.c ! 2fa6be5ef0b543d07cefb55f968c1743 libgfortran/io/transfer.c 6503a54c7b76e0b4afb93da1b4e99e11 libgfortran/io/transfer128.c ! 6fa4cb6e3796b5aebe0af73525e1fb5f libgfortran/io/unit.c ec7a3fa5efd004914e6d742ec0fa5d2c libgfortran/io/unix.c a7cac03e5ea5e04ddc1e71230dc8efbf libgfortran/io/unix.h 11a8c5319167fe26d31048a4a06ceb26 libgfortran/io/write.c --- 71458,71466 ---- b8a84fa4f708bde73acf7b731adfd17e libgfortran/io/open.c 82b163476fbb8fee0ee45baa6cc00a65 libgfortran/io/read.c c3a84590fc9e05db3ee8edd137ff5b77 libgfortran/io/size_from_kind.c ! dbffedec25beb930dac6bb8c280f284a libgfortran/io/transfer.c 6503a54c7b76e0b4afb93da1b4e99e11 libgfortran/io/transfer128.c ! 6d87a67293e67e26d19336932bd9077a libgfortran/io/unit.c ec7a3fa5efd004914e6d742ec0fa5d2c libgfortran/io/unix.c a7cac03e5ea5e04ddc1e71230dc8efbf libgfortran/io/unix.h 11a8c5319167fe26d31048a4a06ceb26 libgfortran/io/write.c *************** f61b6a1604c85203c2359d0dc94ff046 libgfo *** 71175,71181 **** cef25b7bceffde6fc5728a173e842a62 libgfortran/mk-kinds-h.sh 764579ddc54916182288fc40bdf0e544 libgfortran/mk-sik-inc.sh f81db480cbfdc2b1d2291623c6cadb5f libgfortran/mk-srk-inc.sh ! 526126620b37c460cedd1555384f47e7 libgfortran/runtime/ISO_Fortran_binding.c e39243fb520e1a732300fc16296958a2 libgfortran/runtime/backtrace.c 34410e0bae9ea796d484d6dbd01c814a libgfortran/runtime/bounds.c 48294478892f154208e59c317dd6bf20 libgfortran/runtime/compile_options.c --- 71538,71544 ---- cef25b7bceffde6fc5728a173e842a62 libgfortran/mk-kinds-h.sh 764579ddc54916182288fc40bdf0e544 libgfortran/mk-sik-inc.sh f81db480cbfdc2b1d2291623c6cadb5f libgfortran/mk-srk-inc.sh ! f2329d7c3a5a998a5496941b22637758 libgfortran/runtime/ISO_Fortran_binding.c e39243fb520e1a732300fc16296958a2 libgfortran/runtime/backtrace.c 34410e0bae9ea796d484d6dbd01c814a libgfortran/runtime/bounds.c 48294478892f154208e59c317dd6bf20 libgfortran/runtime/compile_options.c *************** fbad8136b522abf2ebe4b3314e91ad5e libgo/ *** 72856,72863 **** 793d64a663f57774e79ad07c62d9d7f5 libgo/go/go/internal/gccgoimporter/gccgoinstallation.go 32693376e96a6b80ca2ed06f4e097bf8 libgo/go/go/internal/gccgoimporter/gccgoinstallation_test.go 12f542900528e2c8761c660080a88fb5 libgo/go/go/internal/gccgoimporter/importer.go ! 92c8817cc3cbc35efd1be24ca52fe1fe libgo/go/go/internal/gccgoimporter/importer_test.go ! 56176710a2190b5be2f1f2e3402e6bd3 libgo/go/go/internal/gccgoimporter/parser.go 21dadbf1bff4c2adbb8dc8ec49147ecd libgo/go/go/internal/gccgoimporter/parser_test.go 6b5ad74e54217ee2ce9a4d097b9d0c7d libgo/go/go/internal/gccgoimporter/testdata/aliases.go 08b64ac87a4fec11683ee190a7b23a8a libgo/go/go/internal/gccgoimporter/testdata/aliases.gox --- 73219,73226 ---- 793d64a663f57774e79ad07c62d9d7f5 libgo/go/go/internal/gccgoimporter/gccgoinstallation.go 32693376e96a6b80ca2ed06f4e097bf8 libgo/go/go/internal/gccgoimporter/gccgoinstallation_test.go 12f542900528e2c8761c660080a88fb5 libgo/go/go/internal/gccgoimporter/importer.go ! 21a8556b2ba6ff0c87d3d3eed417c602 libgo/go/go/internal/gccgoimporter/importer_test.go ! 53ed9d28b155790d3367b11237cb2c19 libgo/go/go/internal/gccgoimporter/parser.go 21dadbf1bff4c2adbb8dc8ec49147ecd libgo/go/go/internal/gccgoimporter/parser_test.go 6b5ad74e54217ee2ce9a4d097b9d0c7d libgo/go/go/internal/gccgoimporter/testdata/aliases.go 08b64ac87a4fec11683ee190a7b23a8a libgo/go/go/internal/gccgoimporter/testdata/aliases.gox *************** d3d07d83edba799e6b79f15c3e666977 libgo/ *** 72873,72878 **** --- 73236,73243 ---- 8b06547b78377b6270ef7a613e7389bd libgo/go/go/internal/gccgoimporter/testdata/issue27856.gox c77b4727ff3bdda00268c0e2a4575f47 libgo/go/go/internal/gccgoimporter/testdata/issue29198.go 034244b8d03516c8a861ce8d2d02c009 libgo/go/go/internal/gccgoimporter/testdata/issue29198.gox + 4fcf5fba5c915b0b7ca4ed770cc7f861 libgo/go/go/internal/gccgoimporter/testdata/issue34182.go + 63e817a82266fdf1f5d5ff13f067efdc libgo/go/go/internal/gccgoimporter/testdata/issue34182.gox 90e48df212447c17fa43fd56392e4af4 libgo/go/go/internal/gccgoimporter/testdata/libimportsar.a e8f52c582ba100d6fdf04b4a7bbc6f36 libgo/go/go/internal/gccgoimporter/testdata/nointerface.go 00a05ff4434ba3eab68854cd84fed86b libgo/go/go/internal/gccgoimporter/testdata/nointerface.gox *************** fb40fc675164613c2ce0361a86ebd5d0 libgo/ *** 75283,75289 **** c314cdee3ab16ba76053d8d23b0aabef libgo/mkrsysinfo.sh 48640c9075a0ad806d6e5e4cb112ec7c libgo/mkruntimeinc.sh 81b8b042300eee47fae42dae3d92cf4e libgo/mksigtab.sh ! 5e63e36d2811d5d947bf22b676f55be2 libgo/mksysinfo.sh 9c66bb618ec9c46d7e7dcadd04faf52b libgo/mvifdiff.sh 2562bdd994e9efc56cebdc80e91ae41a libgo/runtime/aeshash.c 06b0ddfbd036dbdfdf8c4c7efb8b746f libgo/runtime/arch.h --- 75648,75654 ---- c314cdee3ab16ba76053d8d23b0aabef libgo/mkrsysinfo.sh 48640c9075a0ad806d6e5e4cb112ec7c libgo/mkruntimeinc.sh 81b8b042300eee47fae42dae3d92cf4e libgo/mksigtab.sh ! 0a579bdc5ff8aa4ce587321b9e28303a libgo/mksysinfo.sh 9c66bb618ec9c46d7e7dcadd04faf52b libgo/mvifdiff.sh 2562bdd994e9efc56cebdc80e91ae41a libgo/runtime/aeshash.c 06b0ddfbd036dbdfdf8c4c7efb8b746f libgo/runtime/arch.h *************** f1f0917f45d626d15a5f129fef3d81e2 libgo/ *** 75343,75355 **** 8ee949b66b618f814424a36e68df976a libgo/testsuite/gotest ead4e721beb57b319fcd7da8ddf10705 libgo/testsuite/lib/libgo.exp 6df485581d2f02246f41b5ca46f5bb5d libgo/testsuite/libgo.testmain/testmain.exp ! d1ced572bf13d9533f5fd9b45240995f libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite d9a2f9477fc09a75dd2d538799f491d8 libgomp/Makefile.am b8b41eee465fa52ffd96c3f358ab15c9 libgomp/Makefile.in fbc6e68e7bd89c3dbe3f538851f8d054 libgomp/acinclude.m4 026249ab3444b07b9f8b4d3bb5f1c2fe libgomp/aclocal.m4 ! 15bcbbf99121f50ec803d5e9511dcf66 libgomp/affinity-fmt.c 781fa7c2f00c88d5779a1c0aa0cc091e libgomp/affinity.c e50482255cf5a7f68e2199101aa075f2 libgomp/alloc.c c9f750a5b99481943fbb0fa04832ca66 libgomp/atomic.c --- 75708,75720 ---- 8ee949b66b618f814424a36e68df976a libgo/testsuite/gotest ead4e721beb57b319fcd7da8ddf10705 libgo/testsuite/lib/libgo.exp 6df485581d2f02246f41b5ca46f5bb5d libgo/testsuite/libgo.testmain/testmain.exp ! bb53c8ac36b753604f921cfc65376808 libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite d9a2f9477fc09a75dd2d538799f491d8 libgomp/Makefile.am b8b41eee465fa52ffd96c3f358ab15c9 libgomp/Makefile.in fbc6e68e7bd89c3dbe3f538851f8d054 libgomp/acinclude.m4 026249ab3444b07b9f8b4d3bb5f1c2fe libgomp/aclocal.m4 ! 6f83360eaec63188c0c5f749c1f01893 libgomp/affinity-fmt.c 781fa7c2f00c88d5779a1c0aa0cc091e libgomp/affinity.c e50482255cf5a7f68e2199101aa075f2 libgomp/alloc.c c9f750a5b99481943fbb0fa04832ca66 libgomp/atomic.c *************** faabbd26a573e96e81dda8363c33e7e0 libgom *** 75458,75464 **** 7009fed834fdf23d327dd29f35a07f4c libgomp/iter_ull.c 9bff1e4d350ff9ea9502f8f430fe47b6 libgomp/libgomp-plugin.c 14d952f1b53baf8f8ed35c87558084fa libgomp/libgomp-plugin.h ! 67533a48b1abebf7fd9e5adfb5eee74b libgomp/libgomp.h 913fd2715d9a6b2585c364fe790a760c libgomp/libgomp.info 72bc80535d4a55dfc4d5841a7e9e0418 libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in --- 75823,75829 ---- 7009fed834fdf23d327dd29f35a07f4c libgomp/iter_ull.c 9bff1e4d350ff9ea9502f8f430fe47b6 libgomp/libgomp-plugin.c 14d952f1b53baf8f8ed35c87558084fa libgomp/libgomp-plugin.h ! 701f81e9565881277737dff88697fd30 libgomp/libgomp.h 913fd2715d9a6b2585c364fe790a760c libgomp/libgomp.info 72bc80535d4a55dfc4d5841a7e9e0418 libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in *************** ab93cecf1aaa0b64c46f0f9aaede435c libgom *** 75471,75477 **** 6acf74336a1a46079ec976f852fabe55 libgomp/oacc-async.c 60cd215a4e0ae755bd1d7c76a1e5d12d libgomp/oacc-cuda.c 08ee40611490c01bab38c84db0b260f3 libgomp/oacc-host.c ! 2b705776f744d18356901a5c0a1a1a11 libgomp/oacc-init.c 9503f3f1358c4af8cb7aa5db5a9bf80c libgomp/oacc-int.h 951aa6dabcfc0f58deabb2762d20534a libgomp/oacc-mem.c fbf5297324364b63d522861579f58537 libgomp/oacc-parallel.c --- 75836,75842 ---- 6acf74336a1a46079ec976f852fabe55 libgomp/oacc-async.c 60cd215a4e0ae755bd1d7c76a1e5d12d libgomp/oacc-cuda.c 08ee40611490c01bab38c84db0b260f3 libgomp/oacc-host.c ! 048c27f6a9e22d385587fb5b365ab2e1 libgomp/oacc-init.c 9503f3f1358c4af8cb7aa5db5a9bf80c libgomp/oacc-int.h 951aa6dabcfc0f58deabb2762d20534a libgomp/oacc-mem.c fbf5297324364b63d522861579f58537 libgomp/oacc-parallel.c *************** fbf5297324364b63d522861579f58537 libgom *** 75479,75485 **** 8de23ba778cf0de79f0f7485cdd011f1 libgomp/oacc-plugin.h bb6e51d0cdfa0273e312a1d94cd8267c libgomp/omp.h.in b37ea42e795b9cbd35f23f5db7acbdf1 libgomp/omp_lib.f90.in ! 76d948815a2f4958dd13bde8f0899a64 libgomp/omp_lib.h.in 1e9fac84b4e9d3f192178e1bdc98476d libgomp/openacc.f90 900ac4f99dff51c6b6c17812ebc01363 libgomp/openacc.h 9e113a865018c4e566739529320a8c12 libgomp/openacc_lib.h --- 75844,75850 ---- 8de23ba778cf0de79f0f7485cdd011f1 libgomp/oacc-plugin.h bb6e51d0cdfa0273e312a1d94cd8267c libgomp/omp.h.in b37ea42e795b9cbd35f23f5db7acbdf1 libgomp/omp_lib.f90.in ! 59883b6c907068628562b409c263848d libgomp/omp_lib.h.in 1e9fac84b4e9d3f192178e1bdc98476d libgomp/openacc.f90 900ac4f99dff51c6b6c17812ebc01363 libgomp/openacc.h 9e113a865018c4e566739529320a8c12 libgomp/openacc_lib.h *************** bb4331c4cc59998041f6d3fba93bf2e3 libgom *** 75499,75505 **** 447c61ca370e8ecb19bd3cb10d9c5ade libgomp/single.c ec301483e40c415b91ec0ece951a5d71 libgomp/splay-tree.c 06e808d378029a1f66b32055a24a5a81 libgomp/splay-tree.h ! e539840319cbc1113f95b1fb40476a06 libgomp/target.c f58f73ebb04b83eaacf69fabf6450cfd libgomp/task.c 383c432e4635d249f8951c0189183d68 libgomp/taskloop.c 61195dc42744d9b5e4e7cf65947c1ce5 libgomp/team.c --- 75864,75870 ---- 447c61ca370e8ecb19bd3cb10d9c5ade libgomp/single.c ec301483e40c415b91ec0ece951a5d71 libgomp/splay-tree.c 06e808d378029a1f66b32055a24a5a81 libgomp/splay-tree.h ! c8e96b8ea763e2e0d60dcd3a2ec629a4 libgomp/target.c f58f73ebb04b83eaacf69fabf6450cfd libgomp/task.c 383c432e4635d249f8951c0189183d68 libgomp/taskloop.c 61195dc42744d9b5e4e7cf65947c1ce5 libgomp/team.c *************** cae1fc2a9354c3a86718128ae4ce239b libgom *** 75723,75728 **** --- 76088,76095 ---- 325bc05f5a92dc21b7b2f0ecf33f9322 libgomp/testsuite/libgomp.c++/udr-18.C 2866cb5ec4c037497e63a1d769f091ff libgomp/testsuite/libgomp.c++/udr-19.C d781578fb089699e0ef346a39952f9ba libgomp/testsuite/libgomp.c++/udr-2.C + 5b4b50c570b25d55796124f11168988d libgomp/testsuite/libgomp.c++/udr-20.C + 66c3ee1d97bf98787c71112cad84a23b libgomp/testsuite/libgomp.c++/udr-21.C 9fbc10fae7a305b6bd8fea38417fa68d libgomp/testsuite/libgomp.c++/udr-3.C ea9d7efadb5b2c25e305ce1e8aee8d04 libgomp/testsuite/libgomp.c++/udr-4.C 237e9df073e4ccf5adf875c41f053cb2 libgomp/testsuite/libgomp.c++/udr-5.C *************** dff7a676c5c7625a109dad1fb29c317d libgom *** 75792,75797 **** --- 76159,76165 ---- 4891b9bdc801db05683bb9bcd26d27c4 libgomp/testsuite/libgomp.c-c++-common/pr69389.c 4066b4a4600721101ac384b659311782 libgomp/testsuite/libgomp.c-c++-common/pr81875.c 08611a968d3d5d8544391a554aa64d2e libgomp/testsuite/libgomp.c-c++-common/pr83046.c + bbbd1b345adde5e2b11d48880c03841d libgomp/testsuite/libgomp.c-c++-common/pr93515.c d66bb650f4953bee67dede99228fb94f libgomp/testsuite/libgomp.c-c++-common/simd-1.c 561437d7d3d7ef8ef34cb872b883ba18 libgomp/testsuite/libgomp.c-c++-common/simd-14.c cbc1c46aca10b5056dd653273e1b22d3 libgomp/testsuite/libgomp.c-c++-common/simd-15.c *************** b4c15022416962dcec51efe75df665a7 libgom *** 76210,76215 **** --- 76578,76584 ---- 5e242c79f8a764b71861a1cef97787ba libgomp/testsuite/libgomp.fortran/async_io_6.f90 975fef1a87fe5f4e45bd6542c0fafca3 libgomp/testsuite/libgomp.fortran/async_io_7.f90 31240ed1ebd26bf4876192a37ac37526 libgomp/testsuite/libgomp.fortran/async_io_8.f90 + 0cf6fc87987dbd18ee6f54a20ad2c091 libgomp/testsuite/libgomp.fortran/atomic1.f90 4d455a0a3b8e0006a359454c3fb17aec libgomp/testsuite/libgomp.fortran/cancel-do-1.f90 dd51543eb89b458e7a62739bd9e26d57 libgomp/testsuite/libgomp.fortran/cancel-do-2.f90 7f4a53305903de225bc7d7bb581cb477 libgomp/testsuite/libgomp.fortran/cancel-parallel-1.f90 *************** ec7407612efe0c12c7b39ced29c5050b libgom *** 76932,76938 **** 587985ef7e9fc6203f8886fbafacf9f5 libgomp/testsuite/libgomp.oacc-fortran/routine-3.f90 576d913af18b8261f765fcf068efc278 libgomp/testsuite/libgomp.oacc-fortran/routine-4.f90 ee7521ad4aa9a4706a403ccbc2d58f80 libgomp/testsuite/libgomp.oacc-fortran/routine-5.f90 ! 9c22090294819b2209bd05c79e5aa014 libgomp/testsuite/libgomp.oacc-fortran/routine-7.f90 33ef2e55343edd608f8494ebf9d3be7c libgomp/testsuite/libgomp.oacc-fortran/routine-9.f90 30b58eb5fb7d0736b1668c7122916117 libgomp/testsuite/libgomp.oacc-fortran/stop-1.f 800bf43223ada211bac30294146695ed libgomp/testsuite/libgomp.oacc-fortran/stop-2.f --- 77301,77307 ---- 587985ef7e9fc6203f8886fbafacf9f5 libgomp/testsuite/libgomp.oacc-fortran/routine-3.f90 576d913af18b8261f765fcf068efc278 libgomp/testsuite/libgomp.oacc-fortran/routine-4.f90 ee7521ad4aa9a4706a403ccbc2d58f80 libgomp/testsuite/libgomp.oacc-fortran/routine-5.f90 ! 72f512627fac89dcf61bcaadae02b3ed libgomp/testsuite/libgomp.oacc-fortran/routine-7.f90 33ef2e55343edd608f8494ebf9d3be7c libgomp/testsuite/libgomp.oacc-fortran/routine-9.f90 30b58eb5fb7d0736b1668c7122916117 libgomp/testsuite/libgomp.oacc-fortran/stop-1.f 800bf43223ada211bac30294146695ed libgomp/testsuite/libgomp.oacc-fortran/stop-2.f *************** ca78ca2ee2a528893865330c2b0d05bc libgom *** 76942,76948 **** e8a3245c095430c8ef2413afe2ee4c48 libgomp/testsuite/libgomp.oacc-fortran/update-1.f90 3a53883f5d7397a99e94574ae6990135 libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90 c2416ae6388a09109404b7dadd83d9e4 libgomp/work.c ! 274c455538f09e4153f31648fc4804fd libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am 5a060d9a3e645ad21b36810ed27d297d libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README --- 77311,77317 ---- e8a3245c095430c8ef2413afe2ee4c48 libgomp/testsuite/libgomp.oacc-fortran/update-1.f90 3a53883f5d7397a99e94574ae6990135 libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90 c2416ae6388a09109404b7dadd83d9e4 libgomp/work.c ! 81cd0cd0fbd91dafdca4c218f9b931c0 libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am 5a060d9a3e645ad21b36810ed27d297d libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README *************** f10d6eb004be00911c69df75394e3d61 libhsa *** 76969,76975 **** ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 5595d8d9c2d2515256376ba3dcf5b860 libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit 1072110de0e01a526aafb095b6560e58 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README --- 77338,77344 ---- ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! f4ddb889abb86555db679b34c8636e5d libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit 1072110de0e01a526aafb095b6560e58 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README *************** f91b8d5d7816eef3e17ef2622beab65e libibe *** 77077,77083 **** 65ca0a3d9be3ce891340f1eae754fa19 libiberty/simple-object-elf.c da5f132ac5b6c17d4a80b113fa724a27 libiberty/simple-object-mach-o.c 3648de68e0eb13c0a308c30c79366a4d libiberty/simple-object-xcoff.c ! 9acdd37de46b645a4ee9bbfac819c317 libiberty/simple-object.c 4863a11e04a2021af582edf86f156954 libiberty/simple-object.txh ad3626eaffd230176312abb2d2f61577 libiberty/snprintf.c c6f7ab2ab64bc6d2555f5ee10045b339 libiberty/sort.c --- 77446,77452 ---- 65ca0a3d9be3ce891340f1eae754fa19 libiberty/simple-object-elf.c da5f132ac5b6c17d4a80b113fa724a27 libiberty/simple-object-mach-o.c 3648de68e0eb13c0a308c30c79366a4d libiberty/simple-object-xcoff.c ! 60d3bb6bb031170ed67c77dcb90c9430 libiberty/simple-object.c 4863a11e04a2021af582edf86f156954 libiberty/simple-object.txh ad3626eaffd230176312abb2d2f61577 libiberty/snprintf.c c6f7ab2ab64bc6d2555f5ee10045b339 libiberty/sort.c *************** b2c289eb14e9197dcad172f3acba12b7 libibe *** 77133,77139 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c b401cc074ea4e0b9d4099f3f76045da0 libiberty/xstrndup.c 9dc48fda00a709b3019aa09eedd3cb6c libiberty/xvasprintf.c ! b2b04fa0f3182864777e784e65003fb7 libitm/ChangeLog 5976dc97f843f5680c4fa615f8c3b1b7 libitm/Makefile.am e52686e01bf9c75ace85d9d5d66a8f26 libitm/Makefile.in c93a1d287ee8fdbc9c0533b3ca5cffb1 libitm/aatree.cc --- 77502,77508 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c b401cc074ea4e0b9d4099f3f76045da0 libiberty/xstrndup.c 9dc48fda00a709b3019aa09eedd3cb6c libiberty/xvasprintf.c ! 1e72ce6db8ac09d00c81af4e830c537f libitm/ChangeLog 5976dc97f843f5680c4fa615f8c3b1b7 libitm/Makefile.am e52686e01bf9c75ace85d9d5d66a8f26 libitm/Makefile.in c93a1d287ee8fdbc9c0533b3ca5cffb1 libitm/aatree.cc *************** b4e503ecfdccc9f13da8f73eeb6f23a9 libitm *** 77236,77242 **** ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c 122a1ebf1162054c022a63be5e3b054a libitm/useraction.cc 513489f9cf00f7f1db7cdd8d19e45c7c libitm/util.cc ! 90bdcadf22d6bb6a3d830dea27d6e1af libobjc/ChangeLog 49cbb3d12e03687aa775d9d5152c4f35 libobjc/Makefile.in c31835938c8e167ea525cd5fdaf375d9 libobjc/NXConstStr.m 6b956f327bd823041a4227f02091dee7 libobjc/Object.m --- 77605,77611 ---- ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c 122a1ebf1162054c022a63be5e3b054a libitm/useraction.cc 513489f9cf00f7f1db7cdd8d19e45c7c libitm/util.cc ! 383e44aa2de03ca321c66102f7e63510 libobjc/ChangeLog 49cbb3d12e03687aa775d9d5152c4f35 libobjc/Makefile.in c31835938c8e167ea525cd5fdaf375d9 libobjc/NXConstStr.m 6b956f327bd823041a4227f02091dee7 libobjc/Object.m *************** ed1131608f0e1f8a6ee6813ddf861c77 libobj *** 77293,77299 **** d21209d281b7fac0c980e2e00fe20da6 libobjc/selector.c 7392129772c6d373ef507e60dd855223 libobjc/sendmsg.c 43acbcc5fb5a8b498cc7ff08057d35b1 libobjc/thr.c ! 83129d1ffc256ac5060ae5701cba98aa liboffloadmic/ChangeLog 99e2b0817f42c602b520261f7dee183b liboffloadmic/Makefile.am 3d4335846c6486ad0e619e33a95c2b1f liboffloadmic/Makefile.in 7b741af741f39418ab3c1f0be89505e1 liboffloadmic/aclocal.m4 --- 77662,77668 ---- d21209d281b7fac0c980e2e00fe20da6 libobjc/selector.c 7392129772c6d373ef507e60dd855223 libobjc/sendmsg.c 43acbcc5fb5a8b498cc7ff08057d35b1 libobjc/thr.c ! 6aef855bffce07fe8298c653075de3fc liboffloadmic/ChangeLog 99e2b0817f42c602b520261f7dee183b liboffloadmic/Makefile.am 3d4335846c6486ad0e619e33a95c2b1f liboffloadmic/Makefile.in 7b741af741f39418ab3c1f0be89505e1 liboffloadmic/aclocal.m4 *************** b1def68202639bd452fb59aea3371fe4 liboff *** 77381,77387 **** 4659326a13bd5fed47bb680ddb6f5dc3 liboffloadmic/runtime/orsl-lite/include/orsl-lite.h cc603cdf253cc686bfcee192bb7630df liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c dff5c8575c49d6aa71e549b0fa021479 liboffloadmic/runtime/orsl-lite/version.txt ! 5307deb271e7f458ed2b1a6fce00b845 libphobos/ChangeLog da627c4c662405d686ccd633f59112a0 libphobos/Makefile.am 11ff255ada45e83558a846f1cebff64b libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc --- 77750,77756 ---- 4659326a13bd5fed47bb680ddb6f5dc3 liboffloadmic/runtime/orsl-lite/include/orsl-lite.h cc603cdf253cc686bfcee192bb7630df liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c dff5c8575c49d6aa71e549b0fa021479 liboffloadmic/runtime/orsl-lite/version.txt ! ff44876b07e439045501f241b8f28501 libphobos/ChangeLog da627c4c662405d686ccd633f59112a0 libphobos/Makefile.am 11ff255ada45e83558a846f1cebff64b libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc *************** e286530c1673eab67616befb2f26f1a7 libpho *** 78036,78042 **** 759b4120c236756d432abefcd2490546 libphobos/testsuite/Makefile.in ada84264d633b7a6efc7406c7f14d833 libphobos/testsuite/config/default.exp d935c59358372092300cc5c5d5660547 libphobos/testsuite/lib/libphobos-dg.exp ! 442b87f318676164fb920ce7890e6f6b libphobos/testsuite/lib/libphobos.exp 3bfe0f9c10561eb84fb1bf6f955f49fe libphobos/testsuite/libphobos.aa/aa.exp bc5e4ff02f931c6e4092411c492a23eb libphobos/testsuite/libphobos.aa/test_aa.d be293a36c3d9678d428d5ff9b4f5c5fa libphobos/testsuite/libphobos.allocations/allocations.exp --- 78405,78411 ---- 759b4120c236756d432abefcd2490546 libphobos/testsuite/Makefile.in ada84264d633b7a6efc7406c7f14d833 libphobos/testsuite/config/default.exp d935c59358372092300cc5c5d5660547 libphobos/testsuite/lib/libphobos-dg.exp ! 094f512d775d18e33e63d4b6c471d1f7 libphobos/testsuite/lib/libphobos.exp 3bfe0f9c10561eb84fb1bf6f955f49fe libphobos/testsuite/libphobos.aa/aa.exp bc5e4ff02f931c6e4092411c492a23eb libphobos/testsuite/libphobos.aa/test_aa.d be293a36c3d9678d428d5ff9b4f5c5fa libphobos/testsuite/libphobos.allocations/allocations.exp *************** be293a36c3d9678d428d5ff9b4f5c5fa libpho *** 78092,78098 **** 76010271744c121fab0096a61bb8f014 libphobos/testsuite/libphobos.typeinfo/typeinfo.exp 668bf1021ddcdd98e1a3977a43a339ff libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! f54dc35adf63b3debf248ef32608fcae libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 9fadb501b88c2f0e9444ac7d2a1d61f9 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 --- 78461,78467 ---- 76010271744c121fab0096a61bb8f014 libphobos/testsuite/libphobos.typeinfo/typeinfo.exp 668bf1021ddcdd98e1a3977a43a339ff libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! 047ff5b53cac1c909a0a0897db128e25 libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 9fadb501b88c2f0e9444ac7d2a1d61f9 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 *************** e1960c6cccb78a5a2d60bdfe428c9d1b libqua *** 78223,78229 **** d2588a7f4e04e453e8926777100a5490 libquadmath/printf/submul_1.c 09d64fc2bb44de8641f6fb46b932ed17 libquadmath/quadmath-imp.h 50709da39971589779199b3433120e3e libquadmath/quadmath-rounding-mode.h ! 9c16aaef658bc695c16e614d6546abab libquadmath/quadmath.h cd139c8f7066ccd99c46052b7b67b2cb libquadmath/quadmath.map a21481cfd0382ef41901608376f2161c libquadmath/quadmath_weak.h e766022f8615b72cbc38335d262e9d3d libquadmath/strtod/grouping.h --- 78592,78598 ---- d2588a7f4e04e453e8926777100a5490 libquadmath/printf/submul_1.c 09d64fc2bb44de8641f6fb46b932ed17 libquadmath/quadmath-imp.h 50709da39971589779199b3433120e3e libquadmath/quadmath-rounding-mode.h ! 5d8430b45b7108d7bc3b0258d2ae154a libquadmath/quadmath.h cd139c8f7066ccd99c46052b7b67b2cb libquadmath/quadmath.map a21481cfd0382ef41901608376f2161c libquadmath/quadmath_weak.h e766022f8615b72cbc38335d262e9d3d libquadmath/strtod/grouping.h *************** a81cc82679e80c86cfbd5575867450d0 libqua *** 78232,78238 **** af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! 79416c953d4793fb2a31c4063eb404d5 libsanitizer/ChangeLog 0e35a2dc2727acc707a3f5ead45c8e12 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 02afc6c39fa03cf9664b477a97d59d38 libsanitizer/LOCAL_PATCHES --- 78601,78607 ---- af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! d5565ce3aa01bd810f896262292968ea libsanitizer/ChangeLog 0e35a2dc2727acc707a3f5ead45c8e12 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 02afc6c39fa03cf9664b477a97d59d38 libsanitizer/LOCAL_PATCHES *************** d15a18f7c46ba2add6148edc5b7563c0 libqua *** 78242,78249 **** 86d7961250addd460750856d5b7b6914 libsanitizer/README.gcc 9fefac8c0974bfaa97f7bd2eba2ecb55 libsanitizer/acinclude.m4 0eb5bd7778e98c268a4bbda729856934 libsanitizer/aclocal.m4 ! 5aaca9440d5995a1523bfe0f78337102 libsanitizer/asan/Makefile.am ! 551c39c3582c8d4521423965b4632fb3 libsanitizer/asan/Makefile.in 4e6a780316e676920638567be59145cd libsanitizer/asan/asan_activation.cc 17e04d539a658df3f9030c441a2a2aae libsanitizer/asan/asan_activation.h 517261ad793374c311a624f2679e24e4 libsanitizer/asan/asan_activation_flags.inc --- 78611,78618 ---- 86d7961250addd460750856d5b7b6914 libsanitizer/README.gcc 9fefac8c0974bfaa97f7bd2eba2ecb55 libsanitizer/acinclude.m4 0eb5bd7778e98c268a4bbda729856934 libsanitizer/aclocal.m4 ! 9e3b279840cc19f536fb70500795017e libsanitizer/asan/Makefile.am ! ac31c5c56671219aaea2ced79db32e48 libsanitizer/asan/Makefile.in 4e6a780316e676920638567be59145cd libsanitizer/asan/asan_activation.cc 17e04d539a658df3f9030c441a2a2aae libsanitizer/asan/asan_activation.h 517261ad793374c311a624f2679e24e4 libsanitizer/asan/asan_activation_flags.inc *************** dba403395f0645ea153ea6ffad6628b3 libsan *** 78264,78270 **** 0d89953ffb150d0b8496d96fdf6ee734 libsanitizer/asan/asan_globals_win.cc 15b2b3b6333646c0365a30c200e68cfa libsanitizer/asan/asan_init_version.h 865b9f377aa29ce5901cfdc83ba625a6 libsanitizer/asan/asan_interceptors.cc ! 2370ea02e2cb0576fd6b17fa57938ac0 libsanitizer/asan/asan_interceptors.h c2f7fad2ce0beb6ccbf3fae74cbf3d9e libsanitizer/asan/asan_interceptors_memintrinsics.cc ac94f07fb2b3f0f5520f9d94bf64478a libsanitizer/asan/asan_interceptors_memintrinsics.h a2db438d49e9555d94a2a31d7a32441e libsanitizer/asan/asan_interface.inc --- 78633,78639 ---- 0d89953ffb150d0b8496d96fdf6ee734 libsanitizer/asan/asan_globals_win.cc 15b2b3b6333646c0365a30c200e68cfa libsanitizer/asan/asan_init_version.h 865b9f377aa29ce5901cfdc83ba625a6 libsanitizer/asan/asan_interceptors.cc ! 05787b5e8e4ceaaba333769a2022626d libsanitizer/asan/asan_interceptors.h c2f7fad2ce0beb6ccbf3fae74cbf3d9e libsanitizer/asan/asan_interceptors_memintrinsics.cc ac94f07fb2b3f0f5520f9d94bf64478a libsanitizer/asan/asan_interceptors_memintrinsics.h a2db438d49e9555d94a2a31d7a32441e libsanitizer/asan/asan_interface.inc *************** b13376bec07960426c192588b83bb501 libsan *** 78311,78317 **** 4d6948c4912be5da16e30aac001b87d7 libsanitizer/config.h.in ac791b019895f2556a9337a31a976abb libsanitizer/configure 65282c60cc518d54fef977442fd5fc47 libsanitizer/configure.ac ! aa80738efd3c894eb4be47c744bf28a5 libsanitizer/configure.tgt f18c0f156937e228997f04bf89131c7b libsanitizer/include/sanitizer/allocator_interface.h 6560d8d3fd7ff220de86a8038a716d3f libsanitizer/include/sanitizer/asan_interface.h 169b5cb142d5b8f7c1d1c2a218250a0e libsanitizer/include/sanitizer/common_interface_defs.h --- 78680,78686 ---- 4d6948c4912be5da16e30aac001b87d7 libsanitizer/config.h.in ac791b019895f2556a9337a31a976abb libsanitizer/configure 65282c60cc518d54fef977442fd5fc47 libsanitizer/configure.ac ! fecbe9ff3f58bad80d49953f7352845d libsanitizer/configure.tgt f18c0f156937e228997f04bf89131c7b libsanitizer/include/sanitizer/allocator_interface.h 6560d8d3fd7ff220de86a8038a716d3f libsanitizer/include/sanitizer/asan_interface.h 169b5cb142d5b8f7c1d1c2a218250a0e libsanitizer/include/sanitizer/common_interface_defs.h *************** ffeec15c30af600cdc42ab4b65bdce94 libsan *** 78471,78478 **** 07da943fa99873be6ba25200d3c96bec libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h 5be769a539054f0f9fb2ff6441bacd50 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.cc 2c43d2575962d527b543028240661533 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.h ! b09e9249c2a4048a2af9c0a5fc459077 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ! 8e696ac2473e659ad9aa09b9ceb6c12b libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2bf65900c91c899af372f1b6688fa5dc libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cc 56b61ae5f649179a135e7b4ded147336 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h 1ab1c2512cb34fa7cadc6bf2261e9b1a libsanitizer/sanitizer_common/sanitizer_posix.cc --- 78840,78847 ---- 07da943fa99873be6ba25200d3c96bec libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h 5be769a539054f0f9fb2ff6441bacd50 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.cc 2c43d2575962d527b543028240661533 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.h ! 8b76649ac638fe2b62e4c72060366e45 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ! 4e5c526c7395532f61b14bf644b1a8fe libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2bf65900c91c899af372f1b6688fa5dc libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cc 56b61ae5f649179a135e7b4ded147336 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h 1ab1c2512cb34fa7cadc6bf2261e9b1a libsanitizer/sanitizer_common/sanitizer_posix.cc *************** b490fcba1d9e0b70baffc8ce1a5c2085 libsan *** 78642,78648 **** 46e3b6415e85a8bbfc9c5ea5256eba29 libsanitizer/ubsan/ubsan_win_dll_thunk.cc a42bfadb27dcd986b87e4c05b987ec4f libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cc 84a8f5fe84b5ea37705699c82d3ceefc libsanitizer/ubsan/ubsan_win_weak_interception.cc ! 004eceff5addcf6c3cd4744a54e7239a libssp/ChangeLog 984b6fe21c33a4aa11a33239eba81164 libssp/Makefile.am 6159efc67a81fc0df755333b60ca43e1 libssp/Makefile.in 8539c68b9af7b02740719b1723cf0b52 libssp/aclocal.m4 --- 79011,79017 ---- 46e3b6415e85a8bbfc9c5ea5256eba29 libsanitizer/ubsan/ubsan_win_dll_thunk.cc a42bfadb27dcd986b87e4c05b987ec4f libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cc 84a8f5fe84b5ea37705699c82d3ceefc libsanitizer/ubsan/ubsan_win_weak_interception.cc ! 00571b7d94e850b7587585cc4d2c3502 libssp/ChangeLog 984b6fe21c33a4aa11a33239eba81164 libssp/Makefile.am 6159efc67a81fc0df755333b60ca43e1 libssp/Makefile.in 8539c68b9af7b02740719b1723cf0b52 libssp/aclocal.m4 *************** baba3a648adc99223302c44e85deca7d libssp *** 78671,78677 **** 443b5ef0da3859ef66145b58138d0bc6 libssp/strncpy-chk.c 236980868c84657cf7f5af6a9b7e2e89 libssp/vsnprintf-chk.c 1a8676d98fbe8ac8bff6649570de529b libssp/vsprintf-chk.c ! c6c3910272086069bd79cbb0905e3690 libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 --- 79040,79046 ---- 443b5ef0da3859ef66145b58138d0bc6 libssp/strncpy-chk.c 236980868c84657cf7f5af6a9b7e2e89 libssp/vsnprintf-chk.c 1a8676d98fbe8ac8bff6649570de529b libssp/vsprintf-chk.c ! 2fc2d844d2292eaf830f0db1996839c8 libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 *************** ced62eb7e4ae82690abb361aefcea876 libstd *** 78696,78740 **** dfed1d768aff6bd27d88698c3f79aed4 libstdc++-v3/Makefile.am cd9b45698c7eca2af0e1532a92a2b2b8 libstdc++-v3/Makefile.in f372af73db4ac0ad88e43199e1f29e08 libstdc++-v3/README ! b2d59b23157dbffd23af3e3f953c273a libstdc++-v3/acinclude.m4 20a060d0ef805a427a0557409e785c64 libstdc++-v3/aclocal.m4 ! 0602e3e6bb540f56527e9c75de05b32a libstdc++-v3/config.h.in 6fda632cdcc18185f5e0591ce3f9f326 libstdc++-v3/config/abi/compatibility.h ! 7a727dc8079da9ef828996d663d2f9c4 libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt ! f5bfb76447e675a88fa1dbb27d052e72 libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt ! 05790affbd0bc0e66e7575fcb3a5a20a libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt ! 397e14cb413f9b2bdc0cc99536f864ad libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt ! a8d1262234034cf8fc6ec6d66b910cb4 libstdc++-v3/config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt ! 4ae0dc03c06abf3f5546d635ff263e2b libstdc++-v3/config/abi/post/i386-solaris2.10/baseline_symbols.txt ! 3d268e117f851d1590e24bb5d1b9c034 libstdc++-v3/config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt ! 281406f5f02a2019551f21d2e01971b0 libstdc++-v3/config/abi/post/i386-solaris2.11/baseline_symbols.txt ! 397e14cb413f9b2bdc0cc99536f864ad libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt dfcfb9f942fd2f3bb708bba897cf44f7 libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt 8d0df175ce03291bc1974a322a1559a7 libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt 61308215d393f11169ace76935f2b034 libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt 725325d7b24195d1e6374ce4e24afdb0 libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt 907face03890009654193fc67fa4e427 libstdc++-v3/config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt 1a34bda2bb4c3a576335343c0a4a9377 libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt ! 79e4319840f33d3997ff467c694bf299 libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt ! 79e4319840f33d3997ff467c694bf299 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt ! e1353394a552e16f06f154deae041229 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt a9aac5694e8c5562c01fd055a7f55f3a libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt ! e1353394a552e16f06f154deae041229 libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt cc65678819ec7ff06eaeed8b1a5455eb libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt ! 4380928964e361590b8c3751d00f8eb0 libstdc++-v3/config/abi/post/sparc-solaris2.10/baseline_symbols.txt ! 289166285c2a6c4a45f0b98a1b71bc74 libstdc++-v3/config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt ! 63c3500b921c30b44234bd5d5294f7ce libstdc++-v3/config/abi/post/sparc-solaris2.11/baseline_symbols.txt ! ef1ea53f10bcfe80bee7d219b86cbcd3 libstdc++-v3/config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt 9f08f35277da85d7af2abcc606521ea7 libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt 1e1b81f23455d260ec278dfe7d20cdde libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt ! 397e14cb413f9b2bdc0cc99536f864ad libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt ! 22b4897d3d96b32159e51c994be69089 libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt ! f1b98dfc6672b72cd4124d9a4f9cebc1 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver 2f5cffd20c416bb77319bb7c5371530d libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver ! 1e72c61de179da3e6d550d9ae211b4c7 libstdc++-v3/config/abi/pre/gnu.ver b01f8da8f4373070847fe317fe8a546e libstdc++-v3/config/abi/pre/none.ver bbbec112af792161a90fe0016f6510f1 libstdc++-v3/config/allocator/bitmap_allocator_base.h 55b281f9fbbd0c12fe5a2e3024a8571f libstdc++-v3/config/allocator/malloc_allocator_base.h --- 79065,79109 ---- dfed1d768aff6bd27d88698c3f79aed4 libstdc++-v3/Makefile.am cd9b45698c7eca2af0e1532a92a2b2b8 libstdc++-v3/Makefile.in f372af73db4ac0ad88e43199e1f29e08 libstdc++-v3/README ! 2d40218a8e803b07e5136b8d2fd08138 libstdc++-v3/acinclude.m4 20a060d0ef805a427a0557409e785c64 libstdc++-v3/aclocal.m4 ! 442b35c24ce843f7659c27efeef15681 libstdc++-v3/config.h.in 6fda632cdcc18185f5e0591ce3f9f326 libstdc++-v3/config/abi/compatibility.h ! aaaea64eea99c4393798e9b001a4785f libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt ! 5020f43324169200833b3209328aab28 libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt ! 6e3e14e884cffc8e7c9af2a34c0bcaba libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt ! 6e4b5a3d0e11bf1937bc15d532f85b34 libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt ! 605dc4cbc13bec5ee34801e69b774d86 libstdc++-v3/config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt ! 3dd017804979b48814893c0620555170 libstdc++-v3/config/abi/post/i386-solaris2.10/baseline_symbols.txt ! a08d324e42a885dfdfed5550fb42a2ad libstdc++-v3/config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt ! 50b1cd4db20a3ed2433a8a67ffba4ace libstdc++-v3/config/abi/post/i386-solaris2.11/baseline_symbols.txt ! 6e4b5a3d0e11bf1937bc15d532f85b34 libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt dfcfb9f942fd2f3bb708bba897cf44f7 libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt 8d0df175ce03291bc1974a322a1559a7 libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt 61308215d393f11169ace76935f2b034 libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt 725325d7b24195d1e6374ce4e24afdb0 libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt 907face03890009654193fc67fa4e427 libstdc++-v3/config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt 1a34bda2bb4c3a576335343c0a4a9377 libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt ! a73d6731a1d687404052085bbed7f808 libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt ! a73d6731a1d687404052085bbed7f808 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt ! 5020f43324169200833b3209328aab28 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt a9aac5694e8c5562c01fd055a7f55f3a libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt ! 5020f43324169200833b3209328aab28 libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt cc65678819ec7ff06eaeed8b1a5455eb libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt ! dc19a7e4589135307caffe840085b0c2 libstdc++-v3/config/abi/post/sparc-solaris2.10/baseline_symbols.txt ! 56fee659cd613d497d9ac71d86610514 libstdc++-v3/config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt ! 6e7523999a4d2fb352d064ee08b68808 libstdc++-v3/config/abi/post/sparc-solaris2.11/baseline_symbols.txt ! 62ef2dd7ce488a45587cb88629136b92 libstdc++-v3/config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt 9f08f35277da85d7af2abcc606521ea7 libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt 1e1b81f23455d260ec278dfe7d20cdde libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt ! 6e4b5a3d0e11bf1937bc15d532f85b34 libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt ! a288ff740c8b6244f5e1808c2787428e libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt ! 3639ed81c7865f15cda54d5319f21e75 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver 2f5cffd20c416bb77319bb7c5371530d libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver ! 31fbc4ce7f565a3742a25f06afe02cb8 libstdc++-v3/config/abi/pre/gnu.ver b01f8da8f4373070847fe317fe8a546e libstdc++-v3/config/abi/pre/none.ver bbbec112af792161a90fe0016f6510f1 libstdc++-v3/config/allocator/bitmap_allocator_base.h 55b281f9fbbd0c12fe5a2e3024a8571f libstdc++-v3/config/allocator/malloc_allocator_base.h *************** fe666dcb7d3f59d5bee84928182b84e4 libstd *** 78891,78902 **** 6274544df634836bfd83ce5df142154f libstdc++-v3/config/os/vxworks/ctype_configure_char.cc e8c064c36ffe6f7cf6de50f5997428f9 libstdc++-v3/config/os/vxworks/ctype_inline.h 7b4a49f873dffd61d3109d92fa8290d6 libstdc++-v3/config/os/vxworks/os_defines.h ! 86db52dc9f2394b05cb5fed524502473 libstdc++-v3/configure ! 3885d17dd7d6b035c825922bc5fb564a libstdc++-v3/configure.ac dee74944513a38ef040d42eefb8abca2 libstdc++-v3/configure.host 144730fdfd14a84d91e900b5789970b8 libstdc++-v3/crossconfig.m4 ! 9b7675bc42dc8990e2ce66ba8975876e libstdc++-v3/doc/Makefile.am ! 66015ce828278d34fc0bb568409a1bdf libstdc++-v3/doc/Makefile.in 3f7ff07f68cc7610addc1921bc125548 libstdc++-v3/doc/doxygen/Intro.3 3215079a853608466e10d602c96ee55e libstdc++-v3/doc/doxygen/doxygroups.cc 520db39aef0e2a59418132af88b897ed libstdc++-v3/doc/doxygen/mainpage.html --- 79260,79271 ---- 6274544df634836bfd83ce5df142154f libstdc++-v3/config/os/vxworks/ctype_configure_char.cc e8c064c36ffe6f7cf6de50f5997428f9 libstdc++-v3/config/os/vxworks/ctype_inline.h 7b4a49f873dffd61d3109d92fa8290d6 libstdc++-v3/config/os/vxworks/os_defines.h ! 608ea05289db98e8995bbe4b2e281c5f libstdc++-v3/configure ! 486afd5bb9dc107aaab77fcb5b6ba258 libstdc++-v3/configure.ac dee74944513a38ef040d42eefb8abca2 libstdc++-v3/configure.host 144730fdfd14a84d91e900b5789970b8 libstdc++-v3/crossconfig.m4 ! d93fc4d32abab60fcb66a95a08c1f45d libstdc++-v3/doc/Makefile.am ! 3cea2fefa238da8d8cf524bf7c52f606 libstdc++-v3/doc/Makefile.in 3f7ff07f68cc7610addc1921bc125548 libstdc++-v3/doc/doxygen/Intro.3 3215079a853608466e10d602c96ee55e libstdc++-v3/doc/doxygen/doxygroups.cc 520db39aef0e2a59418132af88b897ed libstdc++-v3/doc/doxygen/mainpage.html *************** ee599e042e0ab46c3d78dd8675b8ba7f libstd *** 78907,78913 **** edf4fe529876f5d89b6d9b73fe2569dc libstdc++-v3/doc/html/api.html fd168dc2b2d0c12b1e17b40ffec96390 libstdc++-v3/doc/html/bk02.html 47886ba7da131bf3cbf81a27cada5f6f libstdc++-v3/doc/html/bk03.html ! 4105af65ab11d90999c926e6be14ec5f libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png d7f63b43e9f4c39cf71de7585de522ee libstdc++-v3/doc/html/images/pbds_balls_and_bins.png 22eedc841676a98f8ae8b95131ac4d7e libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png --- 79276,79282 ---- edf4fe529876f5d89b6d9b73fe2569dc libstdc++-v3/doc/html/api.html fd168dc2b2d0c12b1e17b40ffec96390 libstdc++-v3/doc/html/bk02.html 47886ba7da131bf3cbf81a27cada5f6f libstdc++-v3/doc/html/bk03.html ! 1d6878273835d3cad196580169aa5f42 libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png d7f63b43e9f4c39cf71de7585de522ee libstdc++-v3/doc/html/images/pbds_balls_and_bins.png 22eedc841676a98f8ae8b95131ac4d7e libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png *************** d7249eb4d31bd107d0b09ea3c80cb723 libstd *** 78988,78998 **** 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/html/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/html/images/pbds_update_seq_diagram.png 2b9c9ea814853f5fd1c9da36542e0c44 libstdc++-v3/doc/html/index.html ! e0aa8760db8fa17a2ef71ec8587b099c libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html 6edd74f143e0f774885896e693b001f1 libstdc++-v3/doc/html/manual/api.html c238d7c6b71eaf7742a7e08d9231e804 libstdc++-v3/doc/html/manual/appendix.html ! 2e203459294270410e5c5c7c6dca5cd5 libstdc++-v3/doc/html/manual/appendix_contributing.html 0b45d6195986f5092b2354c1f678a790 libstdc++-v3/doc/html/manual/appendix_free.html 7bedd2c8f6a4683546db552dc3e8261f libstdc++-v3/doc/html/manual/appendix_gfdl.html 591d326276a88840564b33cbcbd7c4fa libstdc++-v3/doc/html/manual/appendix_gpl.html --- 79357,79367 ---- 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/html/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/html/images/pbds_update_seq_diagram.png 2b9c9ea814853f5fd1c9da36542e0c44 libstdc++-v3/doc/html/index.html ! 20243e14faa1f034304c166dd000395b libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html 6edd74f143e0f774885896e693b001f1 libstdc++-v3/doc/html/manual/api.html c238d7c6b71eaf7742a7e08d9231e804 libstdc++-v3/doc/html/manual/appendix.html ! fd7e395b897066e7d5a445e73654946e libstdc++-v3/doc/html/manual/appendix_contributing.html 0b45d6195986f5092b2354c1f678a790 libstdc++-v3/doc/html/manual/appendix_free.html 7bedd2c8f6a4683546db552dc3e8261f libstdc++-v3/doc/html/manual/appendix_gfdl.html 591d326276a88840564b33cbcbd7c4fa libstdc++-v3/doc/html/manual/appendix_gpl.html *************** a408b4344cc2b3b611b51146c0bab9a9 libstd *** 79014,79020 **** fc2f4ac9d9c05ca8c4dce6b46e259f97 libstdc++-v3/doc/html/manual/debug_mode_semantics.html 33325138d9fa5d5628cdb1dd11cdef77 libstdc++-v3/doc/html/manual/debug_mode_using.html 7bcc35e818f9360d10ecfe70e4dedcc0 libstdc++-v3/doc/html/manual/diagnostics.html ! 791871cc5df1be80a7e278273e67160e libstdc++-v3/doc/html/manual/documentation_hacking.html c472d3d333cea10a613a5177af5b053a libstdc++-v3/doc/html/manual/dynamic_memory.html 55666dfa05ec7aae2596d6968f6fdb38 libstdc++-v3/doc/html/manual/errno.html f5df2458b52ebaa400811787cbf348fa libstdc++-v3/doc/html/manual/ext_algorithms.html --- 79383,79389 ---- fc2f4ac9d9c05ca8c4dce6b46e259f97 libstdc++-v3/doc/html/manual/debug_mode_semantics.html 33325138d9fa5d5628cdb1dd11cdef77 libstdc++-v3/doc/html/manual/debug_mode_using.html 7bcc35e818f9360d10ecfe70e4dedcc0 libstdc++-v3/doc/html/manual/diagnostics.html ! 055988fcbe6cfbad0ef20bd91b43fe20 libstdc++-v3/doc/html/manual/documentation_hacking.html c472d3d333cea10a613a5177af5b053a libstdc++-v3/doc/html/manual/dynamic_memory.html 55666dfa05ec7aae2596d6968f6fdb38 libstdc++-v3/doc/html/manual/errno.html f5df2458b52ebaa400811787cbf348fa libstdc++-v3/doc/html/manual/ext_algorithms.html *************** cf360e652a99b60dfce0e335b47297ed libstd *** 79034,79040 **** 708b45efad00fadde435d7e46fd7dde8 libstdc++-v3/doc/html/manual/facets.html 9b06f8b16b4ba69e1269f98bb22377f2 libstdc++-v3/doc/html/manual/fstreams.html b404abb1e78a27e8a8980eb14ec27bab libstdc++-v3/doc/html/manual/generalized_numeric_operations.html ! e0a0d6969228dab53067aec56b5f62f9 libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html 4f449eda01987147cfad282d538bfe3b libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html --- 79403,79409 ---- 708b45efad00fadde435d7e46fd7dde8 libstdc++-v3/doc/html/manual/facets.html 9b06f8b16b4ba69e1269f98bb22377f2 libstdc++-v3/doc/html/manual/fstreams.html b404abb1e78a27e8a8980eb14ec27bab libstdc++-v3/doc/html/manual/generalized_numeric_operations.html ! d8b244a61f1e7a3880fd5fdd70e054e7 libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html 4f449eda01987147cfad282d538bfe3b libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html *************** e0a0d6969228dab53067aec56b5f62f9 libstd *** 79043,79049 **** ae9b2e57903953c857a0a2314010036c libstdc++-v3/doc/html/manual/license.html 69cfb7ea1d69c38e3d673ba9f4a7c3ba libstdc++-v3/doc/html/manual/localization.html 9d7282a3a92209b987a91b15973414af libstdc++-v3/doc/html/manual/make.html ! b27cc9be60d4ea8b1fc25d28594f3802 libstdc++-v3/doc/html/manual/memory.html 4970f8a0270bd70ee4f48d19c4782afc libstdc++-v3/doc/html/manual/mt_allocator.html 0ade9da6c1a80afa0f9e498caea2faf9 libstdc++-v3/doc/html/manual/mt_allocator_design.html 6cedc0933aa9ffe31dbea517db997b9e libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html --- 79412,79418 ---- ae9b2e57903953c857a0a2314010036c libstdc++-v3/doc/html/manual/license.html 69cfb7ea1d69c38e3d673ba9f4a7c3ba libstdc++-v3/doc/html/manual/localization.html 9d7282a3a92209b987a91b15973414af libstdc++-v3/doc/html/manual/make.html ! 12bf913dfaa6bd27eea7afe4169a4f5e libstdc++-v3/doc/html/manual/memory.html 4970f8a0270bd70ee4f48d19c4782afc libstdc++-v3/doc/html/manual/mt_allocator.html 0ade9da6c1a80afa0f9e498caea2faf9 libstdc++-v3/doc/html/manual/mt_allocator_design.html 6cedc0933aa9ffe31dbea517db997b9e libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html *************** d55e182adbf08772ec85b18d390b0dbb libstd *** 79073,79079 **** 94a606d009c84c4160e2b0557563c305 libstdc++-v3/doc/html/manual/source_code_style.html f875f3f4cddfe4fee6aff2308ccb4563 libstdc++-v3/doc/html/manual/source_design_notes.html f87298c8974ee33f2519348430b786ae libstdc++-v3/doc/html/manual/source_organization.html ! 77a5d8cae2c9d9088c81724c15961637 libstdc++-v3/doc/html/manual/status.html 9e6cce6bed38f62648e12eb77363d1fc libstdc++-v3/doc/html/manual/std_contents.html dbb5f81a9e8864374fbb835eaa4e8b0d libstdc++-v3/doc/html/manual/streambufs.html 47e6a6ef4752e7c7e3ecb2a4948a7514 libstdc++-v3/doc/html/manual/strings.html --- 79442,79448 ---- 94a606d009c84c4160e2b0557563c305 libstdc++-v3/doc/html/manual/source_code_style.html f875f3f4cddfe4fee6aff2308ccb4563 libstdc++-v3/doc/html/manual/source_design_notes.html f87298c8974ee33f2519348430b786ae libstdc++-v3/doc/html/manual/source_organization.html ! 9fdd78db266058bff428231e166e0611 libstdc++-v3/doc/html/manual/status.html 9e6cce6bed38f62648e12eb77363d1fc libstdc++-v3/doc/html/manual/std_contents.html dbb5f81a9e8864374fbb835eaa4e8b0d libstdc++-v3/doc/html/manual/streambufs.html 47e6a6ef4752e7c7e3ecb2a4948a7514 libstdc++-v3/doc/html/manual/strings.html *************** d881fcffb799c09a28d8174ccb1326a2 libstd *** 79097,79103 **** f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml 95d1335e76860d53246f3e400231ec38 libstdc++-v3/doc/xml/chapter.txml 7f8c520dc83013026c671c5c342f73e2 libstdc++-v3/doc/xml/class.txml ! 0ec038713dd673b8c72a2c1264a9f652 libstdc++-v3/doc/xml/faq.xml f7459abb0d4a0265176aaada5a73bd08 libstdc++-v3/doc/xml/gnu/fdl-1.3.xml ce8b7bb016788256ca00fdec28d82bc3 libstdc++-v3/doc/xml/gnu/gpl-3.0.xml 18a6390297702ec8fd75cbcc525d2005 libstdc++-v3/doc/xml/images/confdeps.dot --- 79466,79472 ---- f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml 95d1335e76860d53246f3e400231ec38 libstdc++-v3/doc/xml/chapter.txml 7f8c520dc83013026c671c5c342f73e2 libstdc++-v3/doc/xml/class.txml ! 898d8d638c878045b8e5910dd2490fbd libstdc++-v3/doc/xml/faq.xml f7459abb0d4a0265176aaada5a73bd08 libstdc++-v3/doc/xml/gnu/fdl-1.3.xml ce8b7bb016788256ca00fdec28d82bc3 libstdc++-v3/doc/xml/gnu/gpl-3.0.xml 18a6390297702ec8fd75cbcc525d2005 libstdc++-v3/doc/xml/images/confdeps.dot *************** cc132f90a00a3ca05f64b578f9e332aa libstd *** 79277,79286 **** f63bfdc03ba2b82c74864f02206d7c52 libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find.svg 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png ! 015924354a3e63c14aa1d7c0c240a20e libstdc++-v3/doc/xml/manual/abi.xml 6a68f07a8b8abd9e65846432ed52d646 libstdc++-v3/doc/xml/manual/algorithms.xml ! c6140234fa41c20336cc84667e6939ce libstdc++-v3/doc/xml/manual/allocator.xml ! b06c7d4934846623f43ca218d68492c7 libstdc++-v3/doc/xml/manual/appendix_contributing.xml 2de6516b70a1010a37be27c15ddf0a51 libstdc++-v3/doc/xml/manual/appendix_free.xml fddfbac311009ebd3056c4edd7ee522a libstdc++-v3/doc/xml/manual/appendix_porting.xml e0b6ea09e982758f8a79d0d165939943 libstdc++-v3/doc/xml/manual/atomics.xml --- 79646,79655 ---- f63bfdc03ba2b82c74864f02206d7c52 libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find.svg 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png ! fa233be57b5f3ee6bdef62d585d5fdcc libstdc++-v3/doc/xml/manual/abi.xml 6a68f07a8b8abd9e65846432ed52d646 libstdc++-v3/doc/xml/manual/algorithms.xml ! ec23f5eff319300871b3b27bb48dc740 libstdc++-v3/doc/xml/manual/allocator.xml ! 7118d1ee7ac88107708c3feaedcf0475 libstdc++-v3/doc/xml/manual/appendix_contributing.xml 2de6516b70a1010a37be27c15ddf0a51 libstdc++-v3/doc/xml/manual/appendix_free.xml fddfbac311009ebd3056c4edd7ee522a libstdc++-v3/doc/xml/manual/appendix_porting.xml e0b6ea09e982758f8a79d0d165939943 libstdc++-v3/doc/xml/manual/atomics.xml *************** e0b6ea09e982758f8a79d0d165939943 libstd *** 79297,79303 **** 4906f9b3ace8b160c77a6f2fe898b2d7 libstdc++-v3/doc/xml/manual/debug.xml c2b5fe8f3aba75d63e43dedc1c66c9a1 libstdc++-v3/doc/xml/manual/debug_mode.xml f0323e43ff8fc1ca28dcdfae61b6cb19 libstdc++-v3/doc/xml/manual/diagnostics.xml ! 6c3570773aee30bdffd03aa0fc6741b5 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ad13daa09172cf901cd8d01d9e35c681 libstdc++-v3/doc/xml/manual/evolution.xml 0b02d119b1665c496d206d7b14a57999 libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml --- 79666,79672 ---- 4906f9b3ace8b160c77a6f2fe898b2d7 libstdc++-v3/doc/xml/manual/debug.xml c2b5fe8f3aba75d63e43dedc1c66c9a1 libstdc++-v3/doc/xml/manual/debug_mode.xml f0323e43ff8fc1ca28dcdfae61b6cb19 libstdc++-v3/doc/xml/manual/diagnostics.xml ! 8ca3e75e12c03337498efbb5caef5f62 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ad13daa09172cf901cd8d01d9e35c681 libstdc++-v3/doc/xml/manual/evolution.xml 0b02d119b1665c496d206d7b14a57999 libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml *************** f6cecb4b0cc60cea5bb4c4699b496f74 libstd *** 79315,79329 **** 4e49a8e041ae187579c7683d4b840fc4 libstdc++-v3/doc/xml/manual/prerequisites.xml a8beb27d3ad616a9fb4f867d1d2091f1 libstdc++-v3/doc/xml/manual/profile_mode.xml d006612b2e21ab181c25bc88697b4543 libstdc++-v3/doc/xml/manual/shared_ptr.xml ! 3d5f1e35d73f54bb6ba7e64b227bba00 libstdc++-v3/doc/xml/manual/spine.xml ! dbbc0a4ffa7e564eb59e5595a11a7511 libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! 3859d81c49dcfa127c564d5070831837 libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! 0a178147c06e9eb28044000cb25e4112 libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! 1f7687370c4dd89ee1e1fdf8bccfd9dd libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! fdc6f64bb20e08eb91d244e8e261bd1c libstdc++-v3/doc/xml/manual/status_cxx2020.xml 3c72998c4574690fac280c058a0db757 libstdc++-v3/doc/xml/manual/status_cxxis29124.xml ! 0328d8bf2d7935051ce9dc880ef63b6d libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 716409ea4f3fdc47d1b88cc8ac63b392 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 1ea4904f13ba196db9689534b653622f libstdc++-v3/doc/xml/manual/strings.xml 1e5f588c3483a25ed93d7bca5ba4fa68 libstdc++-v3/doc/xml/manual/support.xml ba5b083d25092e77bbb681596ab0b11b libstdc++-v3/doc/xml/manual/test.xml --- 79684,79698 ---- 4e49a8e041ae187579c7683d4b840fc4 libstdc++-v3/doc/xml/manual/prerequisites.xml a8beb27d3ad616a9fb4f867d1d2091f1 libstdc++-v3/doc/xml/manual/profile_mode.xml d006612b2e21ab181c25bc88697b4543 libstdc++-v3/doc/xml/manual/shared_ptr.xml ! 4fa9d6b0b90d56a3b6ae65a55acee46f libstdc++-v3/doc/xml/manual/spine.xml ! 535d919775ba5f621a0697454cda99c8 libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! e9364d311686c3aef8e20831ae73084e libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! 46e196e15aa47e1e52dee0d1b2fee54f libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! a218e75896cfcdcf4b1dcb68513eab44 libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! 0b60b55bd6d639724fa2890a5f80bc11 libstdc++-v3/doc/xml/manual/status_cxx2020.xml 3c72998c4574690fac280c058a0db757 libstdc++-v3/doc/xml/manual/status_cxxis29124.xml ! 82eea38e37d35e26d98b1325caeacd38 libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 8fea8786b026a0236a93c7f39e17f59f libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 1ea4904f13ba196db9689534b653622f libstdc++-v3/doc/xml/manual/strings.xml 1e5f588c3483a25ed93d7bca5ba4fa68 libstdc++-v3/doc/xml/manual/support.xml ba5b083d25092e77bbb681596ab0b11b libstdc++-v3/doc/xml/manual/test.xml *************** f50322bcc9ac2c9b71d382f81fdbd69f libstd *** 79334,79341 **** 80254a9e37f2856af5a7fecba198327a libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 7bb72420e699e194cf6066457cb6d6a5 libstdc++-v3/fragment.am ! 48484b50f3dbcbb390ab30ecda3d53f2 libstdc++-v3/include/Makefile.am ! 6e37d333dc1a11ed82414c847385e1a5 libstdc++-v3/include/Makefile.in 1c80f026c3f03d8b12b95557de618ef4 libstdc++-v3/include/backward/auto_ptr.h cf3b81a8b4b4437c3efd0eb851fe7193 libstdc++-v3/include/backward/backward_warning.h 122edd98cffad4f51f2e32a63720f80b libstdc++-v3/include/backward/binders.h --- 79703,79710 ---- 80254a9e37f2856af5a7fecba198327a libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 7bb72420e699e194cf6066457cb6d6a5 libstdc++-v3/fragment.am ! 815e48be84f74d1e7c79391153ab2c8c libstdc++-v3/include/Makefile.am ! d0e9c025fc578ccfcd73a1108810df97 libstdc++-v3/include/Makefile.in 1c80f026c3f03d8b12b95557de618ef4 libstdc++-v3/include/backward/auto_ptr.h cf3b81a8b4b4437c3efd0eb851fe7193 libstdc++-v3/include/backward/backward_warning.h 122edd98cffad4f51f2e32a63720f80b libstdc++-v3/include/backward/binders.h *************** e7811add46a2d49e8115eb22c799d036 libstd *** 79344,79350 **** ec90dd6e3da641dbaf974448ecee8cbc libstdc++-v3/include/backward/hash_set a1a3eaa57175d3853264c0bb0865c4a9 libstdc++-v3/include/backward/hashtable.h 37f3332645f4ffce815bbe27cc6690e0 libstdc++-v3/include/backward/strstream ! adcddcb9cd5364abf744d7f8aa4c8516 libstdc++-v3/include/bits/algorithmfwd.h 3fe762b4659df06975c656b0e3d783d5 libstdc++-v3/include/bits/alloc_traits.h 98c4e3748425197926e0f6c2821af531 libstdc++-v3/include/bits/allocated_ptr.h 3c9f3aa3147ad5a9d06a86f367dd8860 libstdc++-v3/include/bits/allocator.h --- 79713,79719 ---- ec90dd6e3da641dbaf974448ecee8cbc libstdc++-v3/include/backward/hash_set a1a3eaa57175d3853264c0bb0865c4a9 libstdc++-v3/include/backward/hashtable.h 37f3332645f4ffce815bbe27cc6690e0 libstdc++-v3/include/backward/strstream ! 07ffaff03714683801c05cec0185ffe6 libstdc++-v3/include/bits/algorithmfwd.h 3fe762b4659df06975c656b0e3d783d5 libstdc++-v3/include/bits/alloc_traits.h 98c4e3748425197926e0f6c2821af531 libstdc++-v3/include/bits/allocated_ptr.h 3c9f3aa3147ad5a9d06a86f367dd8860 libstdc++-v3/include/bits/allocator.h *************** c3326f8e1fa9d5a80edf587591008559 libstd *** 79356,79362 **** 39cfd3a0951c5a63fc14689bc5dc22d7 libstdc++-v3/include/bits/basic_string.tcc 10a9e1a948a50cf2ef7946a010769093 libstdc++-v3/include/bits/boost_concept_check.h 90935a186da6f614cdb1d98856fad3bb libstdc++-v3/include/bits/c++0x_warning.h ! b9cb809a1c673599eb405a05b6bb9323 libstdc++-v3/include/bits/c++config dd461c33108298290974aa7353346de1 libstdc++-v3/include/bits/char_traits.h bc6ad2ba404ac0a6426342fced42c078 libstdc++-v3/include/bits/codecvt.h de4b21ba4f0fae0ad1585cddefd68de6 libstdc++-v3/include/bits/concept_check.h --- 79725,79731 ---- 39cfd3a0951c5a63fc14689bc5dc22d7 libstdc++-v3/include/bits/basic_string.tcc 10a9e1a948a50cf2ef7946a010769093 libstdc++-v3/include/bits/boost_concept_check.h 90935a186da6f614cdb1d98856fad3bb libstdc++-v3/include/bits/c++0x_warning.h ! 40237c266855f1939dcf44dd0b9d64bd libstdc++-v3/include/bits/c++config dd461c33108298290974aa7353346de1 libstdc++-v3/include/bits/char_traits.h bc6ad2ba404ac0a6426342fced42c078 libstdc++-v3/include/bits/codecvt.h de4b21ba4f0fae0ad1585cddefd68de6 libstdc++-v3/include/bits/concept_check.h *************** ad01ba7b1035a93be5e17d58644ed2af libstd *** 79369,79375 **** f5fb19ace357d15cea210b637ae23558 libstdc++-v3/include/bits/fs_dir.h 124ac69361d852dc782040d364d62224 libstdc++-v3/include/bits/fs_fwd.h 23e69de9dd87c43d9145a2893370ba4e libstdc++-v3/include/bits/fs_ops.h ! 3f95422515061304fde4cd0e66abfc18 libstdc++-v3/include/bits/fs_path.h f9b126b6fc8ff7f0617895e5010daa1f libstdc++-v3/include/bits/fstream.tcc d4d40e971f1c1bca9a12118ad7910a1b libstdc++-v3/include/bits/functexcept.h 365995b5e629f2860c719fdd20a31b2b libstdc++-v3/include/bits/functional_hash.h --- 79738,79744 ---- f5fb19ace357d15cea210b637ae23558 libstdc++-v3/include/bits/fs_dir.h 124ac69361d852dc782040d364d62224 libstdc++-v3/include/bits/fs_fwd.h 23e69de9dd87c43d9145a2893370ba4e libstdc++-v3/include/bits/fs_ops.h ! 860ca35f0aa7916ab9e98beb2b30a777 libstdc++-v3/include/bits/fs_path.h f9b126b6fc8ff7f0617895e5010daa1f libstdc++-v3/include/bits/fstream.tcc d4d40e971f1c1bca9a12118ad7910a1b libstdc++-v3/include/bits/functexcept.h 365995b5e629f2860c719fdd20a31b2b libstdc++-v3/include/bits/functional_hash.h *************** d4d40e971f1c1bca9a12118ad7910a1b libstd *** 79379,79385 **** 47225e356ae855f4eb9982b6ad305570 libstdc++-v3/include/bits/hashtable_policy.h 3fef12519174b6dc9874611953cbdcc3 libstdc++-v3/include/bits/indirect_array.h b0b7b5cb6d19f9f714fbfcfffc0f6f45 libstdc++-v3/include/bits/invoke.h ! 58bf144047ab3074d7e119e410259eef libstdc++-v3/include/bits/ios_base.h 5ec633893c2074c4dd059c44d61ab2b6 libstdc++-v3/include/bits/istream.tcc c274ee2a036512dd9feeff31dc21b708 libstdc++-v3/include/bits/list.tcc 35f7b9dafe4d67ed0f894fd85f823a22 libstdc++-v3/include/bits/locale_classes.h --- 79748,79754 ---- 47225e356ae855f4eb9982b6ad305570 libstdc++-v3/include/bits/hashtable_policy.h 3fef12519174b6dc9874611953cbdcc3 libstdc++-v3/include/bits/indirect_array.h b0b7b5cb6d19f9f714fbfcfffc0f6f45 libstdc++-v3/include/bits/invoke.h ! 52166aff43f177286a5bb8df12a5f881 libstdc++-v3/include/bits/ios_base.h 5ec633893c2074c4dd059c44d61ab2b6 libstdc++-v3/include/bits/istream.tcc c274ee2a036512dd9feeff31dc21b708 libstdc++-v3/include/bits/list.tcc 35f7b9dafe4d67ed0f894fd85f823a22 libstdc++-v3/include/bits/locale_classes.h *************** f71f1ed35feeb6158aa62ea1131b4e33 libstd *** 79391,79397 **** 347ef09a01c539409b03ec5a801bf964 libstdc++-v3/include/bits/locale_facets_nonio.tcc 627be1cef1c10a5b4d2f08923edfb5b1 libstdc++-v3/include/bits/localefwd.h 4f894516f50ded8ffbb63a228b6937f2 libstdc++-v3/include/bits/mask_array.h ! a4917b23b29c10cc020a5f714943801a libstdc++-v3/include/bits/memoryfwd.h 1bca2c48e539d08beb48838e8c76c24a libstdc++-v3/include/bits/move.h 850e607682df029115900c70db352cae libstdc++-v3/include/bits/node_handle.h a0afe1c29d30ff2b895c194f384b87d2 libstdc++-v3/include/bits/ostream.tcc --- 79760,79766 ---- 347ef09a01c539409b03ec5a801bf964 libstdc++-v3/include/bits/locale_facets_nonio.tcc 627be1cef1c10a5b4d2f08923edfb5b1 libstdc++-v3/include/bits/localefwd.h 4f894516f50ded8ffbb63a228b6937f2 libstdc++-v3/include/bits/mask_array.h ! 78e925bd1e1fdc54008a15e69260831e libstdc++-v3/include/bits/memoryfwd.h 1bca2c48e539d08beb48838e8c76c24a libstdc++-v3/include/bits/move.h 850e607682df029115900c70db352cae libstdc++-v3/include/bits/node_handle.h a0afe1c29d30ff2b895c194f384b87d2 libstdc++-v3/include/bits/ostream.tcc *************** d7beba2aea9aaa0de3e1c6a601090ca7 libstd *** 79401,79410 **** 0c20464790cf0fbc9380433d2d8780df libstdc++-v3/include/bits/predefined_ops.h e665ffe71c9979a74d17d9a227fdab1c libstdc++-v3/include/bits/ptr_traits.h 2ce8c36ed537421a9a01b30a9b086fac libstdc++-v3/include/bits/quoted_string.h ! 7dcda47733a18025b5569c85fdf305aa libstdc++-v3/include/bits/random.h ! 76765b83e81ef7615d08e2e4220fc037 libstdc++-v3/include/bits/random.tcc e042b2a4753dd515774ad1ba767c631a libstdc++-v3/include/bits/range_access.h ! 6de1e217fb67850ea7566ce54395d9b9 libstdc++-v3/include/bits/refwrap.h a4f4ca31c38cb0321fd0530f76a0225a libstdc++-v3/include/bits/regex.h 0f32168338c6be51f76b4ba8c06fa690 libstdc++-v3/include/bits/regex.tcc 8e375b3b267c2d50279c46b2610f7350 libstdc++-v3/include/bits/regex_automaton.h --- 79770,79779 ---- 0c20464790cf0fbc9380433d2d8780df libstdc++-v3/include/bits/predefined_ops.h e665ffe71c9979a74d17d9a227fdab1c libstdc++-v3/include/bits/ptr_traits.h 2ce8c36ed537421a9a01b30a9b086fac libstdc++-v3/include/bits/quoted_string.h ! 9601a3afc389d5cd1da9cd62884f9b5f libstdc++-v3/include/bits/random.h ! 89b9a8b18f87d4c4ac20f3f1036f8081 libstdc++-v3/include/bits/random.tcc e042b2a4753dd515774ad1ba767c631a libstdc++-v3/include/bits/range_access.h ! bd1e26579367c59076b7424a352102a2 libstdc++-v3/include/bits/refwrap.h a4f4ca31c38cb0321fd0530f76a0225a libstdc++-v3/include/bits/regex.h 0f32168338c6be51f76b4ba8c06fa690 libstdc++-v3/include/bits/regex.tcc 8e375b3b267c2d50279c46b2610f7350 libstdc++-v3/include/bits/regex_automaton.h *************** a69c40dadcc9012e85653cfd6daa3e1a libstd *** 79424,79436 **** b4e125bf6db70cabb3ff01dd592fac0d libstdc++-v3/include/bits/specfun.h 55e377a7aaba11972e70bedb32e3b70a libstdc++-v3/include/bits/sstream.tcc 7932d189fa392fd2a620055ad890bdd1 libstdc++-v3/include/bits/std_abs.h ! 5876d0b51aad351f8767a7f5668d062f libstdc++-v3/include/bits/std_function.h 57417250dba56b74869e4c4d89ca53d0 libstdc++-v3/include/bits/std_mutex.h ! db893da6b8e50447f550508336537196 libstdc++-v3/include/bits/stl_algo.h ! cad14f08418514ec0a53e7185cf25aad libstdc++-v3/include/bits/stl_algobase.h b5223fb7dd6dd139418da3653626b821 libstdc++-v3/include/bits/stl_bvector.h e7eb9cdaef03a0a44d5afad557cfd6a3 libstdc++-v3/include/bits/stl_construct.h ! 59a28a98fab65ddf9f901f7073c3a03e libstdc++-v3/include/bits/stl_deque.h fa656de911e8ee10abbe523fc2650e50 libstdc++-v3/include/bits/stl_function.h 870efdfa8ddf7c4723bda998052ce6e1 libstdc++-v3/include/bits/stl_heap.h bdefd5fd36d2d04a495011d701bb0f13 libstdc++-v3/include/bits/stl_iterator.h --- 79793,79805 ---- b4e125bf6db70cabb3ff01dd592fac0d libstdc++-v3/include/bits/specfun.h 55e377a7aaba11972e70bedb32e3b70a libstdc++-v3/include/bits/sstream.tcc 7932d189fa392fd2a620055ad890bdd1 libstdc++-v3/include/bits/std_abs.h ! 80a083e4294406f3ba8d9f3ea3276d7b libstdc++-v3/include/bits/std_function.h 57417250dba56b74869e4c4d89ca53d0 libstdc++-v3/include/bits/std_mutex.h ! bf1c8d2734cce266643d90df9d150e30 libstdc++-v3/include/bits/stl_algo.h ! 12015a9532bd1ad347748b2f3748bed8 libstdc++-v3/include/bits/stl_algobase.h b5223fb7dd6dd139418da3653626b821 libstdc++-v3/include/bits/stl_bvector.h e7eb9cdaef03a0a44d5afad557cfd6a3 libstdc++-v3/include/bits/stl_construct.h ! af137cc54635ef76d4a76b373f4647c3 libstdc++-v3/include/bits/stl_deque.h fa656de911e8ee10abbe523fc2650e50 libstdc++-v3/include/bits/stl_function.h 870efdfa8ddf7c4723bda998052ce6e1 libstdc++-v3/include/bits/stl_heap.h bdefd5fd36d2d04a495011d701bb0f13 libstdc++-v3/include/bits/stl_iterator.h *************** a02d40c0185d75b6d6abf087fa276cb6 libstd *** 79440,79446 **** 9dbb9e8e8a5c2de6e6294e19802c817e libstdc++-v3/include/bits/stl_map.h 98e4caded07777b83f75056987d54fe8 libstdc++-v3/include/bits/stl_multimap.h 089085d2c03a870ae8b491fe6b1e94d5 libstdc++-v3/include/bits/stl_multiset.h ! f3631a067197131735bb2b4dc0afb427 libstdc++-v3/include/bits/stl_numeric.h 17e15386fd23a497aa1e369bdbc2175b libstdc++-v3/include/bits/stl_pair.h eeabd3c77395dfd7aa066eec455841ba libstdc++-v3/include/bits/stl_queue.h 549a527a0614a0ac74ba13899fee5809 libstdc++-v3/include/bits/stl_raw_storage_iter.h --- 79809,79815 ---- 9dbb9e8e8a5c2de6e6294e19802c817e libstdc++-v3/include/bits/stl_map.h 98e4caded07777b83f75056987d54fe8 libstdc++-v3/include/bits/stl_multimap.h 089085d2c03a870ae8b491fe6b1e94d5 libstdc++-v3/include/bits/stl_multiset.h ! b1e8fb24ff26162b4d76138736231f76 libstdc++-v3/include/bits/stl_numeric.h 17e15386fd23a497aa1e369bdbc2175b libstdc++-v3/include/bits/stl_pair.h eeabd3c77395dfd7aa066eec455841ba libstdc++-v3/include/bits/stl_queue.h 549a527a0614a0ac74ba13899fee5809 libstdc++-v3/include/bits/stl_raw_storage_iter.h *************** cc5448e17c303f1be3390cd94518dd59 libstd *** 79449,79455 **** 0edbb9339cbc50d0c5a1b70373a59401 libstdc++-v3/include/bits/stl_stack.h cd8f2e23dc1110f93a0d0ff326f4c8ca libstdc++-v3/include/bits/stl_tempbuf.h 85e90905fbdf3f62c7b7edbfbe0805f8 libstdc++-v3/include/bits/stl_tree.h ! 1da11d1d2938a1c6bff9d47f518bc627 libstdc++-v3/include/bits/stl_uninitialized.h 1f0977f00f361948b448c8d209ba1f18 libstdc++-v3/include/bits/stl_vector.h 71c6aa7e093756cdee9abdb30947681e libstdc++-v3/include/bits/stream_iterator.h 2a25b39b027e573f0ff51af9ff4ffbff libstdc++-v3/include/bits/streambuf.tcc --- 79818,79824 ---- 0edbb9339cbc50d0c5a1b70373a59401 libstdc++-v3/include/bits/stl_stack.h cd8f2e23dc1110f93a0d0ff326f4c8ca libstdc++-v3/include/bits/stl_tempbuf.h 85e90905fbdf3f62c7b7edbfbe0805f8 libstdc++-v3/include/bits/stl_tree.h ! 0f6bfbf9a439578eccd34bc84603c9b5 libstdc++-v3/include/bits/stl_uninitialized.h 1f0977f00f361948b448c8d209ba1f18 libstdc++-v3/include/bits/stl_vector.h 71c6aa7e093756cdee9abdb30947681e libstdc++-v3/include/bits/stream_iterator.h 2a25b39b027e573f0ff51af9ff4ffbff libstdc++-v3/include/bits/streambuf.tcc *************** a752945fb8e2baa429e28753092d6cbe libstd *** 79458,79464 **** 54d6c192d7aa0b179e3c36dce066db6f libstdc++-v3/include/bits/stringfwd.h 1de8e1e61d40a4738ea48dc507475128 libstdc++-v3/include/bits/uniform_int_dist.h e46d85421e1e7c61a598c9a33e979693 libstdc++-v3/include/bits/unique_lock.h ! af3ba229e4e2dd3d5c7d7744a414441f libstdc++-v3/include/bits/unique_ptr.h 153b61a1c1ff148569ef22d30e908109 libstdc++-v3/include/bits/unordered_map.h b3d7e91fcdf7063c94b272097ed8f455 libstdc++-v3/include/bits/unordered_set.h 1053e71b8fd4aced4cd00e8f7c0e6347 libstdc++-v3/include/bits/uses_allocator.h --- 79827,79833 ---- 54d6c192d7aa0b179e3c36dce066db6f libstdc++-v3/include/bits/stringfwd.h 1de8e1e61d40a4738ea48dc507475128 libstdc++-v3/include/bits/uniform_int_dist.h e46d85421e1e7c61a598c9a33e979693 libstdc++-v3/include/bits/unique_lock.h ! d428381441827a1dd2cb6c25cc66ffad libstdc++-v3/include/bits/unique_ptr.h 153b61a1c1ff148569ef22d30e908109 libstdc++-v3/include/bits/unordered_map.h b3d7e91fcdf7063c94b272097ed8f455 libstdc++-v3/include/bits/unordered_set.h 1053e71b8fd4aced4cd00e8f7c0e6347 libstdc++-v3/include/bits/uses_allocator.h *************** c8977ed6f0a9c5343ac42f9b337617ba libstd *** 79521,79527 **** 54babf2e41c1d594884f9383d1604ce1 libstdc++-v3/include/c_global/ciso646 87ddee333f9d74117bf0a71a3e19b494 libstdc++-v3/include/c_global/climits 4d99161546323135c4843b1179538c41 libstdc++-v3/include/c_global/clocale ! 40a030777dfceed102e7439026fb40bb libstdc++-v3/include/c_global/cmath f6e80a0bc54600e0272b25ab567458ba libstdc++-v3/include/c_global/csetjmp f94d95e7db6577d2676c49613e47fa1d libstdc++-v3/include/c_global/csignal 27b1d266ef05bb83134bc0b8d59bca3f libstdc++-v3/include/c_global/cstdalign --- 79890,79896 ---- 54babf2e41c1d594884f9383d1604ce1 libstdc++-v3/include/c_global/ciso646 87ddee333f9d74117bf0a71a3e19b494 libstdc++-v3/include/c_global/climits 4d99161546323135c4843b1179538c41 libstdc++-v3/include/c_global/clocale ! f4b7216422c35b5109134da0340565c8 libstdc++-v3/include/c_global/cmath f6e80a0bc54600e0272b25ab567458ba libstdc++-v3/include/c_global/csetjmp f94d95e7db6577d2676c49613e47fa1d libstdc++-v3/include/c_global/csignal 27b1d266ef05bb83134bc0b8d59bca3f libstdc++-v3/include/c_global/cstdalign *************** ec80c8c38b0d425428ab03ceacc69d2d libstd *** 79609,79615 **** d3e0048fa336fc22f921d98eda1a39e6 libstdc++-v3/include/experimental/filesystem 1739fbebf9279d1d42460c46db56a961 libstdc++-v3/include/experimental/forward_list 06ca02c43ec6753d62546a098ff593e1 libstdc++-v3/include/experimental/functional ! 77cc0d9c2feb0a14addc33bc64fdd3c4 libstdc++-v3/include/experimental/internet 6411c9cab64e14382d661d3a20094588 libstdc++-v3/include/experimental/io_context 5c55599616632dde0043f0abfba89d33 libstdc++-v3/include/experimental/iterator a5cad267e51913cca6f2508336cd4e83 libstdc++-v3/include/experimental/list --- 79978,79984 ---- d3e0048fa336fc22f921d98eda1a39e6 libstdc++-v3/include/experimental/filesystem 1739fbebf9279d1d42460c46db56a961 libstdc++-v3/include/experimental/forward_list 06ca02c43ec6753d62546a098ff593e1 libstdc++-v3/include/experimental/functional ! 4792e03d7d784c59b5839326070e1561 libstdc++-v3/include/experimental/internet 6411c9cab64e14382d661d3a20094588 libstdc++-v3/include/experimental/io_context 5c55599616632dde0043f0abfba89d33 libstdc++-v3/include/experimental/iterator a5cad267e51913cca6f2508336cd4e83 libstdc++-v3/include/experimental/list *************** c4de512ed3f0926bbcf78aefa61e5199 libstd *** 80010,80017 **** 80db855b3b6cd3b08124d6c50b7290ab libstdc++-v3/include/pstl/glue_execution_defs.h 499e1c23eecafadf8ccb05202821ff30 libstdc++-v3/include/pstl/glue_memory_defs.h 9042813cc5807fd09d8adeb7165437c2 libstdc++-v3/include/pstl/glue_memory_impl.h ! 193c574e36a5e79eedefb29cdf48a6d0 libstdc++-v3/include/pstl/glue_numeric_defs.h ! 84fe54a8fc89434b1c5e1f57de79fb2f libstdc++-v3/include/pstl/glue_numeric_impl.h 382e60efffbb025ddaf0d55061a6e05d libstdc++-v3/include/pstl/memory_impl.h 6536394298c1ee0d7e0353f259ccdb7d libstdc++-v3/include/pstl/numeric_fwd.h 521ecae84d863ef1976932f714bd12d1 libstdc++-v3/include/pstl/numeric_impl.h --- 80379,80386 ---- 80db855b3b6cd3b08124d6c50b7290ab libstdc++-v3/include/pstl/glue_execution_defs.h 499e1c23eecafadf8ccb05202821ff30 libstdc++-v3/include/pstl/glue_memory_defs.h 9042813cc5807fd09d8adeb7165437c2 libstdc++-v3/include/pstl/glue_memory_impl.h ! 811aa9fb28e7a93fa1cc2402344467d9 libstdc++-v3/include/pstl/glue_numeric_defs.h ! e522c3d120d6f53a8091b101827417f6 libstdc++-v3/include/pstl/glue_numeric_impl.h 382e60efffbb025ddaf0d55061a6e05d libstdc++-v3/include/pstl/memory_impl.h 6536394298c1ee0d7e0353f259ccdb7d libstdc++-v3/include/pstl/numeric_fwd.h 521ecae84d863ef1976932f714bd12d1 libstdc++-v3/include/pstl/numeric_impl.h *************** e82fbfc9e96c43ba5afca7b9a56b2b54 libstd *** 80031,80044 **** a63b95e84dd925559a78e490d3df3b7b libstdc++-v3/include/std/charconv 68cb52fefeed3034f42843be40c73806 libstdc++-v3/include/std/chrono 5b08d36e304fe972b1c0b6f10b21aed9 libstdc++-v3/include/std/codecvt ! 4861fb756f14c659c514356a99f3a245 libstdc++-v3/include/std/complex 2d58284fcbf45359e2234a5e4a3545f9 libstdc++-v3/include/std/condition_variable f76aecdb4c2a852064fd430613c5cb3c libstdc++-v3/include/std/deque 24346e84bb941bb85aa7e67f823472ee libstdc++-v3/include/std/execution 202a966ce515c8f9413cb05321d578e7 libstdc++-v3/include/std/filesystem a48f9c06f87761decf6a36f930f6fd51 libstdc++-v3/include/std/forward_list 1d8ae304ed722252004109e945e0e4fe libstdc++-v3/include/std/fstream ! 746b28af6e3744356c6f3e554c46572d libstdc++-v3/include/std/functional 44079449542cbf3c76831335959cd18a libstdc++-v3/include/std/future 9d530cd5fc87512b5a667be18e6c90d5 libstdc++-v3/include/std/iomanip c2c242aec1f37408c35701d73ebc75c6 libstdc++-v3/include/std/ios --- 80400,80413 ---- a63b95e84dd925559a78e490d3df3b7b libstdc++-v3/include/std/charconv 68cb52fefeed3034f42843be40c73806 libstdc++-v3/include/std/chrono 5b08d36e304fe972b1c0b6f10b21aed9 libstdc++-v3/include/std/codecvt ! 0f1fc10b0b7df3aab29c4049821c2f5c libstdc++-v3/include/std/complex 2d58284fcbf45359e2234a5e4a3545f9 libstdc++-v3/include/std/condition_variable f76aecdb4c2a852064fd430613c5cb3c libstdc++-v3/include/std/deque 24346e84bb941bb85aa7e67f823472ee libstdc++-v3/include/std/execution 202a966ce515c8f9413cb05321d578e7 libstdc++-v3/include/std/filesystem a48f9c06f87761decf6a36f930f6fd51 libstdc++-v3/include/std/forward_list 1d8ae304ed722252004109e945e0e4fe libstdc++-v3/include/std/fstream ! d9faeaecd6dd4f6b4000c4128fccca7a libstdc++-v3/include/std/functional 44079449542cbf3c76831335959cd18a libstdc++-v3/include/std/future 9d530cd5fc87512b5a667be18e6c90d5 libstdc++-v3/include/std/iomanip c2c242aec1f37408c35701d73ebc75c6 libstdc++-v3/include/std/ios *************** c2c242aec1f37408c35701d73ebc75c6 libstd *** 80051,80059 **** b0a390471b8008abda2ef17a4670c389 libstdc++-v3/include/std/locale 6d24d442604b219cfdeeedfe9da378f4 libstdc++-v3/include/std/map f78983d4521095e63da01cf200c0ed07 libstdc++-v3/include/std/memory ! 9e91e7b2acba7cc15a400617c0391972 libstdc++-v3/include/std/memory_resource d2333804d6e573c8ee88e7907a6a82d8 libstdc++-v3/include/std/mutex ! be2ae9725317ba3cad90289299098bab libstdc++-v3/include/std/numeric f2c2315846427ddce9a56b94863068c5 libstdc++-v3/include/std/optional b98b3ecbc50df6d02cf8a1bbce109e7a libstdc++-v3/include/std/ostream 39fcb44dab41f9aa0bef997a251c4e29 libstdc++-v3/include/std/queue --- 80420,80428 ---- b0a390471b8008abda2ef17a4670c389 libstdc++-v3/include/std/locale 6d24d442604b219cfdeeedfe9da378f4 libstdc++-v3/include/std/map f78983d4521095e63da01cf200c0ed07 libstdc++-v3/include/std/memory ! 8d8c9605102f78e36b35cf9e0feeaccf libstdc++-v3/include/std/memory_resource d2333804d6e573c8ee88e7907a6a82d8 libstdc++-v3/include/std/mutex ! 5e6b824170af5579c7769a438dc23dbb libstdc++-v3/include/std/numeric f2c2315846427ddce9a56b94863068c5 libstdc++-v3/include/std/optional b98b3ecbc50df6d02cf8a1bbce109e7a libstdc++-v3/include/std/ostream 39fcb44dab41f9aa0bef997a251c4e29 libstdc++-v3/include/std/queue *************** b98b3ecbc50df6d02cf8a1bbce109e7a libstd *** 80062,80068 **** 1881f33afe93fb9e6b2ba0178e030e58 libstdc++-v3/include/std/regex b7b9d90e5a96c10fd75ca50e673f2722 libstdc++-v3/include/std/scoped_allocator 509a8a66f470404780b6c1d30223667e libstdc++-v3/include/std/set ! 7a70f23a3d1aa0e9250beca241cfa491 libstdc++-v3/include/std/shared_mutex 04f9fa1a05b7bed8f797f7bec7555a03 libstdc++-v3/include/std/sstream cce28f8b60e9ed2e900998b12565d2a2 libstdc++-v3/include/std/stack 99f3ce6793ba199a59c4930a534845d0 libstdc++-v3/include/std/stdexcept --- 80431,80437 ---- 1881f33afe93fb9e6b2ba0178e030e58 libstdc++-v3/include/std/regex b7b9d90e5a96c10fd75ca50e673f2722 libstdc++-v3/include/std/scoped_allocator 509a8a66f470404780b6c1d30223667e libstdc++-v3/include/std/set ! d2713d144e81ba31dce999c1c529a674 libstdc++-v3/include/std/shared_mutex 04f9fa1a05b7bed8f797f7bec7555a03 libstdc++-v3/include/std/sstream cce28f8b60e9ed2e900998b12565d2a2 libstdc++-v3/include/std/stack 99f3ce6793ba199a59c4930a534845d0 libstdc++-v3/include/std/stdexcept *************** e3152b05234bb0b1b3ebe01a9b381b88 libstd *** 80072,80078 **** fa4ccc1ecd9a3eee444ae02c5fa8c921 libstdc++-v3/include/std/system_error f1f381bc4a10d4580c3976338bb5ffee libstdc++-v3/include/std/thread f1adc9844c843c09d864da9535c571e5 libstdc++-v3/include/std/tuple ! 23ca38e54ec7cd1b60f51e47ecab31dd libstdc++-v3/include/std/type_traits 67eaa5c4cdcdaa1de1c2652350ab1b7e libstdc++-v3/include/std/typeindex 6619c56f7566124bd6fece25a47e7a15 libstdc++-v3/include/std/unordered_map 978751cff467ba2c2f5c762a9254abaa libstdc++-v3/include/std/unordered_set --- 80441,80447 ---- fa4ccc1ecd9a3eee444ae02c5fa8c921 libstdc++-v3/include/std/system_error f1f381bc4a10d4580c3976338bb5ffee libstdc++-v3/include/std/thread f1adc9844c843c09d864da9535c571e5 libstdc++-v3/include/std/tuple ! 8e0c96f14d566bd3d495a35693b9568b libstdc++-v3/include/std/type_traits 67eaa5c4cdcdaa1de1c2652350ab1b7e libstdc++-v3/include/std/typeindex 6619c56f7566124bd6fece25a47e7a15 libstdc++-v3/include/std/unordered_map 978751cff467ba2c2f5c762a9254abaa libstdc++-v3/include/std/unordered_set *************** f1adc9844c843c09d864da9535c571e5 libstd *** 80080,80086 **** 65f2b095c7f7d08145ac17fe0b04f88b libstdc++-v3/include/std/valarray 8e06a67b5758018be282b1ba145f1c26 libstdc++-v3/include/std/variant 624a3173e77ca9b51ae9ddb764e71af3 libstdc++-v3/include/std/vector ! e101a9880eb914bfe10bdca8456e82ad libstdc++-v3/include/std/version 8356854073cfb6742cd411edadb59a90 libstdc++-v3/include/tr1/array e824ab79488bb70e859dd27c9fcc9d07 libstdc++-v3/include/tr1/bessel_function.tcc 72cfb57c55ba2dfc7175f9c1734f9980 libstdc++-v3/include/tr1/beta_function.tcc --- 80449,80455 ---- 65f2b095c7f7d08145ac17fe0b04f88b libstdc++-v3/include/std/valarray 8e06a67b5758018be282b1ba145f1c26 libstdc++-v3/include/std/variant 624a3173e77ca9b51ae9ddb764e71af3 libstdc++-v3/include/std/vector ! 5ec3321f7230a5d93d618cd819f74905 libstdc++-v3/include/std/version 8356854073cfb6742cd411edadb59a90 libstdc++-v3/include/tr1/array e824ab79488bb70e859dd27c9fcc9d07 libstdc++-v3/include/tr1/bessel_function.tcc 72cfb57c55ba2dfc7175f9c1734f9980 libstdc++-v3/include/tr1/beta_function.tcc *************** f168f26650ada6685f41eac0bdbbcf53 libstd *** 80145,80152 **** 599d3be23e6a02235e4b18ac06a05c96 libstdc++-v3/include/tr1/wctype.h 64235cbd20d2f37dead284c1e1435703 libstdc++-v3/include/tr2/bool_set af5f7fe59221263c7a4474d3a54bcf86 libstdc++-v3/include/tr2/bool_set.tcc ! db228adb8f1c0916ab377a75951eeed8 libstdc++-v3/include/tr2/dynamic_bitset ! 7f9ee2384e7712ddf08cd2936c4f6f51 libstdc++-v3/include/tr2/dynamic_bitset.tcc 901a73bc94b0e3a6bebe72a24788814f libstdc++-v3/include/tr2/ratio d4508ff93e006ae962b6d53fc1c6f551 libstdc++-v3/include/tr2/type_traits e3f65be86f108bbcebb50013dfce68f0 libstdc++-v3/libsupc++/Makefile.am --- 80514,80521 ---- 599d3be23e6a02235e4b18ac06a05c96 libstdc++-v3/include/tr1/wctype.h 64235cbd20d2f37dead284c1e1435703 libstdc++-v3/include/tr2/bool_set af5f7fe59221263c7a4474d3a54bcf86 libstdc++-v3/include/tr2/bool_set.tcc ! f443fdcac0b391cd70b003558c04415c libstdc++-v3/include/tr2/dynamic_bitset ! 677e0aa0c56338f039b62ab64caba644 libstdc++-v3/include/tr2/dynamic_bitset.tcc 901a73bc94b0e3a6bebe72a24788814f libstdc++-v3/include/tr2/ratio d4508ff93e006ae962b6d53fc1c6f551 libstdc++-v3/include/tr2/type_traits e3f65be86f108bbcebb50013dfce68f0 libstdc++-v3/libsupc++/Makefile.am *************** f88246646f5c57c98394af3aadc2cc4e libstd *** 80187,80194 **** f8c2dfa3714258350cb6d9dcb2c41c13 libstdc++-v3/libsupc++/eh_globals.cc aa62fb12940347e03565d69fbbd0c632 libstdc++-v3/libsupc++/eh_personality.cc e19a61eb0ece23eb5aa96496b13cf4e2 libstdc++-v3/libsupc++/eh_ptr.cc ! 86c6c8a3d15f814895868e3bc1a0d921 libstdc++-v3/libsupc++/eh_term_handler.cc ! d3391ce2a74a84362da371152d85478a libstdc++-v3/libsupc++/eh_terminate.cc fae5716ddd5b8d6d272692ff58cbd6f5 libstdc++-v3/libsupc++/eh_throw.cc 91491f94ad6acf74fb19126794e79913 libstdc++-v3/libsupc++/eh_tm.cc 6ccc667ab93d145cc21623c21470ebf8 libstdc++-v3/libsupc++/eh_type.cc --- 80556,80564 ---- f8c2dfa3714258350cb6d9dcb2c41c13 libstdc++-v3/libsupc++/eh_globals.cc aa62fb12940347e03565d69fbbd0c632 libstdc++-v3/libsupc++/eh_personality.cc e19a61eb0ece23eb5aa96496b13cf4e2 libstdc++-v3/libsupc++/eh_ptr.cc ! b6915b3060615343228eb73353b333d5 libstdc++-v3/libsupc++/eh_term_handler.cc ! b84e23f69f4b8a70ba6f3ea8e7cac5cd libstdc++-v3/libsupc++/eh_term_handler.h ! b928fefe8880b6e1026e760817472380 libstdc++-v3/libsupc++/eh_terminate.cc fae5716ddd5b8d6d272692ff58cbd6f5 libstdc++-v3/libsupc++/eh_throw.cc 91491f94ad6acf74fb19126794e79913 libstdc++-v3/libsupc++/eh_tm.cc 6ccc667ab93d145cc21623c21470ebf8 libstdc++-v3/libsupc++/eh_type.cc *************** b42d11f3b0b1a65afa3a8b369b106d7b libstd *** 80210,80216 **** 17825152951cdb4819a509976d4e450c libstdc++-v3/libsupc++/new 49305094837a54498c42b41b7b480705 libstdc++-v3/libsupc++/new_handler.cc 3a1dd06da4785d3d26e0bbd099746fa5 libstdc++-v3/libsupc++/new_op.cc ! 9600f167d8f402f0ae5be4fd15128326 libstdc++-v3/libsupc++/new_opa.cc 524961cd3553c71f0366c17495387353 libstdc++-v3/libsupc++/new_opant.cc aa440e7d61e1b63a9f064c020ec915dc libstdc++-v3/libsupc++/new_opnt.cc 3e5d98f263353a9df7643aecde6877cf libstdc++-v3/libsupc++/new_opv.cc --- 80580,80586 ---- 17825152951cdb4819a509976d4e450c libstdc++-v3/libsupc++/new 49305094837a54498c42b41b7b480705 libstdc++-v3/libsupc++/new_handler.cc 3a1dd06da4785d3d26e0bbd099746fa5 libstdc++-v3/libsupc++/new_op.cc ! 8741677c99fcca0289dc9da0073a95a6 libstdc++-v3/libsupc++/new_opa.cc 524961cd3553c71f0366c17495387353 libstdc++-v3/libsupc++/new_opant.cc aa440e7d61e1b63a9f064c020ec915dc libstdc++-v3/libsupc++/new_opnt.cc 3e5d98f263353a9df7643aecde6877cf libstdc++-v3/libsupc++/new_opv.cc *************** c5aa239d148e0ec8118110bbf0dc9c50 libstd *** 80245,80251 **** 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py c091eab0af8aaea90c5da6e2b3bbd282 libstdc++-v3/python/libstdcxx/v6/__init__.py e3aa328f1b3fe7054d20a1b4ac69c1e5 libstdc++-v3/python/libstdcxx/v6/printers.py ! a7aba966efaf327f1bef8b800e9d054e libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile 135cc633b60b1fe91bcc3ea62a5ff845 libstdc++-v3/scripts/check_performance c8baf1949b54838161dbcca0103641f4 libstdc++-v3/scripts/create_testsuite_files --- 80615,80621 ---- 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py c091eab0af8aaea90c5da6e2b3bbd282 libstdc++-v3/python/libstdcxx/v6/__init__.py e3aa328f1b3fe7054d20a1b4ac69c1e5 libstdc++-v3/python/libstdcxx/v6/printers.py ! 7f88188428746f393aecb88137f09de3 libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile 135cc633b60b1fe91bcc3ea62a5ff845 libstdc++-v3/scripts/check_performance c8baf1949b54838161dbcca0103641f4 libstdc++-v3/scripts/create_testsuite_files *************** b60703370d8a9146b05f4d1cbe07fd75 libstd *** 80286,80292 **** e4f3b15a48efef3d7980d3417e67768e libstdc++-v3/src/c++11/cxx11-shim_facets.cc 63490935c15daee9f5abf955508ba110 libstdc++-v3/src/c++11/cxx11-stdexcept.cc d628780879d81c06b38972c4e1fef06c libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc ! b81c3e756368b097eb11c6060bc35d45 libstdc++-v3/src/c++11/debug.cc 3dc7ef08fca5552802fe27e16693ca60 libstdc++-v3/src/c++11/ext11-inst.cc 5aea38bc338b1cba873a9b4905ec9302 libstdc++-v3/src/c++11/fstream-inst.cc d1a4b03efa880910d0fe3c80c93852d7 libstdc++-v3/src/c++11/functexcept.cc --- 80656,80662 ---- e4f3b15a48efef3d7980d3417e67768e libstdc++-v3/src/c++11/cxx11-shim_facets.cc 63490935c15daee9f5abf955508ba110 libstdc++-v3/src/c++11/cxx11-stdexcept.cc d628780879d81c06b38972c4e1fef06c libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc ! a8d585182791b6f20538c2782b802609 libstdc++-v3/src/c++11/debug.cc 3dc7ef08fca5552802fe27e16693ca60 libstdc++-v3/src/c++11/ext11-inst.cc 5aea38bc338b1cba873a9b4905ec9302 libstdc++-v3/src/c++11/fstream-inst.cc d1a4b03efa880910d0fe3c80c93852d7 libstdc++-v3/src/c++11/functexcept.cc *************** cdb42d548fb68dcc8d8b2b19f4e3b838 libstd *** 80326,80337 **** 973bdc15344c7c47dac0825e5dd3ae14 libstdc++-v3/src/c++17/cow-fs_path.cc 9dd26b0a968f9d1f3ad03241a9479a36 libstdc++-v3/src/c++17/cow-string-inst.cc 21e22ff1ddec6a91c7b379d6f6398649 libstdc++-v3/src/c++17/default_resource.h ! 44311054522bc1fcc8f8c2d6d245fb1e libstdc++-v3/src/c++17/fs_dir.cc ! 6012582d6d236fb87a1db9800075149c libstdc++-v3/src/c++17/fs_ops.cc ! 37d4ba4018059e2b568837efcc446d79 libstdc++-v3/src/c++17/fs_path.cc ! c2553aa3ff07335e6cf5ffcee00fe81f libstdc++-v3/src/c++17/memory_resource.cc 1af5792e5d30c803b2b43f569aa2009b libstdc++-v3/src/c++17/ostream-inst.cc ! 40f1c35dfa9dde3a48f23c6fd45542b7 libstdc++-v3/src/c++17/string-inst.cc 8d282274e0b6d23e9542665403044445 libstdc++-v3/src/c++98/Makefile.am a2fd7de992c4399521b32730e2b35e41 libstdc++-v3/src/c++98/Makefile.in 1d9f314d0aed319a9768431520e7a60a libstdc++-v3/src/c++98/allocator-inst.cc --- 80696,80707 ---- 973bdc15344c7c47dac0825e5dd3ae14 libstdc++-v3/src/c++17/cow-fs_path.cc 9dd26b0a968f9d1f3ad03241a9479a36 libstdc++-v3/src/c++17/cow-string-inst.cc 21e22ff1ddec6a91c7b379d6f6398649 libstdc++-v3/src/c++17/default_resource.h ! f9225d1d0650af954dadbf3297b37d6a libstdc++-v3/src/c++17/fs_dir.cc ! 5ee09a391ca0d195f10304f3b764a79e libstdc++-v3/src/c++17/fs_ops.cc ! 59d48310e4eb8e1170ffe35366a091ad libstdc++-v3/src/c++17/fs_path.cc ! 7df4e01e883db4c5dff71d6a45a8fc24 libstdc++-v3/src/c++17/memory_resource.cc 1af5792e5d30c803b2b43f569aa2009b libstdc++-v3/src/c++17/ostream-inst.cc ! 03c3e39c0074fb9169a185b2a6545476 libstdc++-v3/src/c++17/string-inst.cc 8d282274e0b6d23e9542665403044445 libstdc++-v3/src/c++98/Makefile.am a2fd7de992c4399521b32730e2b35e41 libstdc++-v3/src/c++98/Makefile.in 1d9f314d0aed319a9768431520e7a60a libstdc++-v3/src/c++98/allocator-inst.cc *************** f099e5c78b8b9d2b79df90e10a5e0dbb libstd *** 80361,80367 **** 9a1670bed5bdb2bcd17f410769049793 libstdc++-v3/src/c++98/list_associated.cc ec57cc82f1490fdbcc54b37211117a4a libstdc++-v3/src/c++98/locale.cc 08fd80e15b044fb9f75c025d6f6f75e2 libstdc++-v3/src/c++98/locale_facets.cc ! 48af7854421487e127c560ae5c7a6c0e libstdc++-v3/src/c++98/locale_init.cc 325cfd90dc0043f14fee45dac9cc7f4b libstdc++-v3/src/c++98/localename.cc 7501f233715233f4d555620bea71991f libstdc++-v3/src/c++98/math_stubs_float.cc cc447a83a1e35f414f0211548055b1af libstdc++-v3/src/c++98/math_stubs_long_double.cc --- 80731,80737 ---- 9a1670bed5bdb2bcd17f410769049793 libstdc++-v3/src/c++98/list_associated.cc ec57cc82f1490fdbcc54b37211117a4a libstdc++-v3/src/c++98/locale.cc 08fd80e15b044fb9f75c025d6f6f75e2 libstdc++-v3/src/c++98/locale_facets.cc ! 4eb4a337f80a8dc59376067c737fd0fd libstdc++-v3/src/c++98/locale_init.cc 325cfd90dc0043f14fee45dac9cc7f4b libstdc++-v3/src/c++98/localename.cc 7501f233715233f4d555620bea71991f libstdc++-v3/src/c++98/math_stubs_float.cc cc447a83a1e35f414f0211548055b1af libstdc++-v3/src/c++98/math_stubs_long_double.cc *************** ac77507691a841d710049cb24b2ed527 libstd *** 80380,80388 **** 53935e3b007cf8063263b6152a8c77c9 libstdc++-v3/src/filesystem/cow-ops.cc 9c44300a7935727646b1219e128ac526 libstdc++-v3/src/filesystem/cow-path.cc 76ee6c2fd20867443ece5c2d4d96592b libstdc++-v3/src/filesystem/dir-common.h ! dcad43451e6bcc72bad1f84e4dc8a1fa libstdc++-v3/src/filesystem/dir.cc ! 43686f627198cf8f07f20bb6fd3956a6 libstdc++-v3/src/filesystem/ops-common.h ! 2f3d78abd4cdfffc6f390a21857c654d libstdc++-v3/src/filesystem/ops.cc 8061bbd7c2c95ce6c0a1e524ec6cf1f1 libstdc++-v3/src/filesystem/path.cc d49521ccf869845cbde641d81c74b920 libstdc++-v3/src/shared/hashtable-aux.cc e9b48a79435ee0015728938dfbe34881 libstdc++-v3/testsuite/17_intro/freestanding.cc --- 80750,80758 ---- 53935e3b007cf8063263b6152a8c77c9 libstdc++-v3/src/filesystem/cow-ops.cc 9c44300a7935727646b1219e128ac526 libstdc++-v3/src/filesystem/cow-path.cc 76ee6c2fd20867443ece5c2d4d96592b libstdc++-v3/src/filesystem/dir-common.h ! 8a8c5048db6c6875388e2242e3928474 libstdc++-v3/src/filesystem/dir.cc ! c826c6f6afdd752be89fb2cb09226fc2 libstdc++-v3/src/filesystem/ops-common.h ! ce07726060ebf2ef01a5812f7b121667 libstdc++-v3/src/filesystem/ops.cc 8061bbd7c2c95ce6c0a1e524ec6cf1f1 libstdc++-v3/src/filesystem/path.cc d49521ccf869845cbde641d81c74b920 libstdc++-v3/src/shared/hashtable-aux.cc e9b48a79435ee0015728938dfbe34881 libstdc++-v3/testsuite/17_intro/freestanding.cc *************** b0ca459b19eb56402e8822ca0dfde465 libstd *** 80393,80399 **** 00689a459e3db4b995fb8217024d1798 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc be8caaa58c03de9d9889e157a7a73149 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc 32aa77c24d114aa66d53ae9a74289275 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc ! ef6315c5db03663c3dda103e6d9a1a6e libstdc++-v3/testsuite/17_intro/headers/c++1998/charset.cc cb8af63bc4021e369097278b1388f8b5 libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc 189493a986a35cda1ee1b088846d327c libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc 3368e2ec8895e24b31bbfd0c87e0abcb libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc --- 80763,80769 ---- 00689a459e3db4b995fb8217024d1798 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc be8caaa58c03de9d9889e157a7a73149 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc 32aa77c24d114aa66d53ae9a74289275 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc ! b8a53b2b8da32d102d69cbedea3d2216 libstdc++-v3/testsuite/17_intro/headers/c++1998/charset.cc cb8af63bc4021e369097278b1388f8b5 libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc 189493a986a35cda1ee1b088846d327c libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc 3368e2ec8895e24b31bbfd0c87e0abcb libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc *************** ba21d20428d0d1984ce40d06da169548 libstd *** 80405,80411 **** 2cfd499fd77551bec96c7281ce76dab7 libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc a4685c2b5bbe26019571f5071db5003c libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc b62b712f00c395de4a5dc42f9daf4619 libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc ! ef6315c5db03663c3dda103e6d9a1a6e libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc 16479a37506a26218204ee6beef103d9 libstdc++-v3/testsuite/17_intro/headers/c++2011/linkage.cc c9df10ffbee966605e6dc4a93e6338de libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc 13bdd89f1562c9bf326360392bbb872c libstdc++-v3/testsuite/17_intro/headers/c++2011/parallel_mode.cc --- 80775,80781 ---- 2cfd499fd77551bec96c7281ce76dab7 libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc a4685c2b5bbe26019571f5071db5003c libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc b62b712f00c395de4a5dc42f9daf4619 libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc ! b8a53b2b8da32d102d69cbedea3d2216 libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc 16479a37506a26218204ee6beef103d9 libstdc++-v3/testsuite/17_intro/headers/c++2011/linkage.cc c9df10ffbee966605e6dc4a93e6338de libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc 13bdd89f1562c9bf326360392bbb872c libstdc++-v3/testsuite/17_intro/headers/c++2011/parallel_mode.cc *************** df1228f7215643eb4f3971d902b047f2 libstd *** 80415,80421 **** 708ee0c4e455030fd008bedc242e4f07 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc 5e9a997546a64c5199f49ab142a92505 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc 4de6d01cea7405cac003bddb5955e74d libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc ! ef6315c5db03663c3dda103e6d9a1a6e libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc 994cd9e76bf90d04ecc991bcccd96cd6 libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc 87c7f43af9b660f407070623c8749b5e libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc 0b8b3a2b1715d531ec072970e3d535e1 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc --- 80785,80791 ---- 708ee0c4e455030fd008bedc242e4f07 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc 5e9a997546a64c5199f49ab142a92505 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc 4de6d01cea7405cac003bddb5955e74d libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc ! b8a53b2b8da32d102d69cbedea3d2216 libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc 994cd9e76bf90d04ecc991bcccd96cd6 libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc 87c7f43af9b660f407070623c8749b5e libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc 0b8b3a2b1715d531ec072970e3d535e1 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc *************** a55e3d52e908e716d58e753ea5b17945 libstd *** 80424,80430 **** 9c3d6b2f414f82bc82bb3d968c202f4f libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc 2ada393d8fc6dac293d432f678e37c43 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc a535132edf5dd9de05acb7cb47f79ed5 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc ! ef6315c5db03663c3dda103e6d9a1a6e libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc b926ec774212c7e516469521b7c9a315 libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc 1552db45ee00b6cddab87e2a77a0e303 libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc 3fff818cd4f6cc5bc8787e17c0e10f4b libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc --- 80794,80800 ---- 9c3d6b2f414f82bc82bb3d968c202f4f libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc 2ada393d8fc6dac293d432f678e37c43 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc a535132edf5dd9de05acb7cb47f79ed5 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc ! b8a53b2b8da32d102d69cbedea3d2216 libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc b926ec774212c7e516469521b7c9a315 libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc 1552db45ee00b6cddab87e2a77a0e303 libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc 3fff818cd4f6cc5bc8787e17c0e10f4b libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc *************** e3f8eafa410d3179ba137cbd8d52eba1 libstd *** 80433,80443 **** 06b4c7064b790b687cf98ae4b6cf30f4 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc ce527f97b65d4acd78962b47a5857a4a libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc 40a4bfef466dde302d82ffbf0aafe667 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc ! ef6315c5db03663c3dda103e6d9a1a6e libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc e3ed3e41d5f226929e61703c27f693c5 libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc 6a82d8566c6680259cdb820ea85115d2 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc 1acef44ca839d7e2dfea0ab04ee4e360 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc ! b10da0ada82b1fb18021c69d2f19742e libstdc++-v3/testsuite/17_intro/names.cc 3152ffd9fa3e4f32132af4217744b741 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 5d70096baecf4449bb06506ff42b42a3 libstdc++-v3/testsuite/17_intro/static.cc ae7c07c2da8f2b7bcb60cf84d2ebc4b3 libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc --- 80803,80813 ---- 06b4c7064b790b687cf98ae4b6cf30f4 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc ce527f97b65d4acd78962b47a5857a4a libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc 40a4bfef466dde302d82ffbf0aafe667 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc ! b8a53b2b8da32d102d69cbedea3d2216 libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc e3ed3e41d5f226929e61703c27f693c5 libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc 6a82d8566c6680259cdb820ea85115d2 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc 1acef44ca839d7e2dfea0ab04ee4e360 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc ! ceab911f8e198c0b93402433e028191d libstdc++-v3/testsuite/17_intro/names.cc 3152ffd9fa3e4f32132af4217744b741 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 5d70096baecf4449bb06506ff42b42a3 libstdc++-v3/testsuite/17_intro/static.cc ae7c07c2da8f2b7bcb60cf84d2ebc4b3 libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc *************** f1c6ac1bad988ccd25f6d4f2a50fb4a7 libstd *** 80560,80565 **** --- 80930,80937 ---- d179fda5a417e8aa4304b8440f6d6e31 libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc 080df4efaac422ccd30682f20eeceda1 libstdc++-v3/testsuite/18_support/pthread_guard.cc b74bbd344a41e4d24f6dba8fa2865d33 libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc + cb19b463a5f7176a93989a509b76a5ee libstdc++-v3/testsuite/18_support/set_terminate.cc + 25ba4c5e27878a241d8e9a663b218fd5 libstdc++-v3/testsuite/18_support/set_unexpected.cc f4c7e2ec98b0513fa60a918351886c40 libstdc++-v3/testsuite/18_support/terminate_handler.cc 53f8544514cf89eee48967d0405a51ec libstdc++-v3/testsuite/18_support/type_info/52562.cc 906adc39b36cccbbff919b63e511e9af libstdc++-v3/testsuite/18_support/type_info/fundamental.cc *************** b4572a3dea7c692b615cb5e0ea9a85ef libstd *** 80835,80840 **** --- 81207,81213 ---- 0109b00b0987ad872de0343634bf8aae libstdc++-v3/testsuite/20_util/function/77322.cc 0758349dd8a59e86424606de1502f331 libstdc++-v3/testsuite/20_util/function/8.cc 37a9c2f578ee907b6b1a7acefd5ca929 libstdc++-v3/testsuite/20_util/function/9.cc + b3d185762c2d0c396d9bbf7ac3d721b7 libstdc++-v3/testsuite/20_util/function/91456.cc e46ffbee3f41a37702c41f2ebca8f035 libstdc++-v3/testsuite/20_util/function/assign/move.cc 9f2e22ac70e44dc01e018cfa27560de2 libstdc++-v3/testsuite/20_util/function/assign/move_target.cc 479f858b3933cad61df02bb2b614b65c libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc *************** fe80d13906335a4a376251c8737dd128 libstd *** 80853,80859 **** 373773252af538febb66e81fe1e7751a libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc 83ce65f876e52735db301ec751569022 libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc 655cf2ea5bbb8d8c0bc8c85afa418186 libstdc++-v3/testsuite/20_util/function_objects/83607.cc ! 1b1d914a5bb1e55887b39ad866cabe06 libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc 4162f45c9ea1d1152cc5208a5f6e05ef libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc 609c52c1060d5048c2c456f2c355339d libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc 67ea82776af66aa7c4b5afe452f890b1 libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc --- 81226,81233 ---- 373773252af538febb66e81fe1e7751a libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc 83ce65f876e52735db301ec751569022 libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc 655cf2ea5bbb8d8c0bc8c85afa418186 libstdc++-v3/testsuite/20_util/function_objects/83607.cc ! ea3e58e2aabec0b9c060c0d4a821c8df libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc ! 7827680793191bca9cfac69dec60b4da libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc 4162f45c9ea1d1152cc5208a5f6e05ef libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc 609c52c1060d5048c2c456f2c355339d libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc 67ea82776af66aa7c4b5afe452f890b1 libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc *************** fe80d13906335a4a376251c8737dd128 libstd *** 80861,80867 **** 6089937752fa08405fe44e3f50c3df18 libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc 59fb2c50e4387e59249311b67b9ea51c libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc 792cb2bfafdcd52d83c4e83f43ae2969 libstdc++-v3/testsuite/20_util/function_objects/dr660.cc ! f448a80e703c8bf91eec784645c28d61 libstdc++-v3/testsuite/20_util/function_objects/invoke/1.cc e0a7ff2697cee950cd4f16aa6041eb33 libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc e56bcbbaeefdf20e12ed30ad01f50cb1 libstdc++-v3/testsuite/20_util/function_objects/invoke/ref_ext.cc 713a7549388fc488a4a3098ecc5c3f2d libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc --- 81235,81242 ---- 6089937752fa08405fe44e3f50c3df18 libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc 59fb2c50e4387e59249311b67b9ea51c libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc 792cb2bfafdcd52d83c4e83f43ae2969 libstdc++-v3/testsuite/20_util/function_objects/dr660.cc ! e3bbe73f3d2a650d7d108e54824ac3a4 libstdc++-v3/testsuite/20_util/function_objects/invoke/1.cc ! 5716d03ae6db1473a46ff17b81ca33f4 libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc e0a7ff2697cee950cd4f16aa6041eb33 libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc e56bcbbaeefdf20e12ed30ad01f50cb1 libstdc++-v3/testsuite/20_util/function_objects/invoke/ref_ext.cc 713a7549388fc488a4a3098ecc5c3f2d libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc *************** d32debafcd0ac9b1044984678dfb86a6 libstd *** 81004,81009 **** --- 81379,81385 ---- 62f5ab1e648c3b821ed133ea62d5082f libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc a77eddbcdeb3bf81f0617b62b3238756 libstdc++-v3/testsuite/20_util/is_integral/value.cc 70c2591f92ce83a23fb2a0481afddb98 libstdc++-v3/testsuite/20_util/is_invocable/83395.cc + 9ede60a63093976a3ac485a6ca68dd49 libstdc++-v3/testsuite/20_util/is_invocable/91456.cc f8d2bfff8a982bf04ea18b3a199e1e3f libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc 3e1337fad7b76fb3116506404139b830 libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation_ext.cc ae5f137d9c641acb5ccc1013a6ae80f8 libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc *************** eabbd40d37a11f7efe76de9b5258c0fc libstd *** 81057,81063 **** e39909063441ccd5da10824bf69d1e69 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation_ext.cc 48f13eb3633a7d93f899088a5b0ac018 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc ce42a963cdd7072977adce26ead73298 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs_ext.cc ! 1f724371745af7bb0860811a9a17b129 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc 7f8be3703309fcb16042b557c951f8f1 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value_ext.cc 10eefc62e4ac2403136ee7ae07ecbbd5 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc a2248e6657e7c07f92364cae7e0aa586 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc --- 81433,81439 ---- e39909063441ccd5da10824bf69d1e69 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation_ext.cc 48f13eb3633a7d93f899088a5b0ac018 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc ce42a963cdd7072977adce26ead73298 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs_ext.cc ! 40f2e37ff950367d6035121e36b61c86 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc 7f8be3703309fcb16042b557c951f8f1 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value_ext.cc 10eefc62e4ac2403136ee7ae07ecbbd5 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc a2248e6657e7c07f92364cae7e0aa586 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc *************** b623f090f447900e4e448950ce0ab77a libstd *** 81183,81188 **** --- 81559,81565 ---- 900694c63ae9f946160ab22ad0cfcc59 libstdc++-v3/testsuite/20_util/memory_resource/1.cc ea1569f22452ebf174a243272f8761d3 libstdc++-v3/testsuite/20_util/memory_resource/2.cc 011535ea65fe4acefcd54bb58fca218e libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/1.cc + 4829daa7e9cd22ef9a4ba54cf04d6084 libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/93208.cc b42ca12f0907d7142d67bf065c310236 libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/allocate.cc 7e03214e07eee7ea3ef018577a8e8494 libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/deallocate.cc d67a9a7b842464965f09fb010c8847cc libstdc++-v3/testsuite/20_util/monotonic_buffer_resource/release.cc *************** d868626e33bdfcfa676957d2ec1a414f libstd *** 81483,81500 **** 7d5ae9d4e9816ea70d21f1ea7bdfcfe1 libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc 37320bdcf7e7cd6fac5c10e3d2a5faa8 libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc ac45025630049aab48b86635fe951b1f libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc ! 434c7fca165e1885ca720c1142b8025f libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc 360a0bf40c45c669b5245c9040a3ce13 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc b04bec6f015ac29e9f5ff7cbe78c996b libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc 61acfb18667a91a163130c7d2defd23f libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc 90f00903a6476eda90093b1cc8b671ce libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc 0cc08c819d4efb40e76acc284be53253 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc fc86cf35e77db5499bc0114f260636ad libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc a23a1774386d48be204d4c075825e9ac libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc a1922244babc47837534fb2b909aa466 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc 7f37336585d7259dc61cadef748ac194 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc 4bd848223a1efe80672984e6f6db12cf libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc 8c6685f1e486b0d1b2fe60bab3783933 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc df9cb374f7036a0dfafd0d07d609b643 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc 022f73f2383f7421f1c18682885a06ee libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc d30cf9f2ef95d98262ffe4c699a1bb57 libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate.cc --- 81860,81881 ---- 7d5ae9d4e9816ea70d21f1ea7bdfcfe1 libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc 37320bdcf7e7cd6fac5c10e3d2a5faa8 libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc ac45025630049aab48b86635fe951b1f libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc ! 3633fe1d5e2d8c86ded40aa976146582 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc 360a0bf40c45c669b5245c9040a3ce13 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc b04bec6f015ac29e9f5ff7cbe78c996b libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc 61acfb18667a91a163130c7d2defd23f libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc 90f00903a6476eda90093b1cc8b671ce libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc + 9e677429c4d25aa98ab458de7183ea9a libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc 0cc08c819d4efb40e76acc284be53253 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc fc86cf35e77db5499bc0114f260636ad libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc + aaabba48ddb78dd9c7be42d20a54ccc7 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc a23a1774386d48be204d4c075825e9ac libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc a1922244babc47837534fb2b909aa466 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc 7f37336585d7259dc61cadef748ac194 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc + 9f8372520072a6e82abfa9a402dd4e98 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc 4bd848223a1efe80672984e6f6db12cf libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc 8c6685f1e486b0d1b2fe60bab3783933 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc + 576de8a4581859e138c0df15f970a2c1 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/89164.cc df9cb374f7036a0dfafd0d07d609b643 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc 022f73f2383f7421f1c18682885a06ee libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc d30cf9f2ef95d98262ffe4c699a1bb57 libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate.cc *************** cd94f1a52cb6c2392d19116ef68ec1e2 libstd *** 81642,81647 **** --- 82023,82029 ---- 2b1afddd884ea81eb33855621f6baef6 libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc f342f67e461fdfecfcf2699a25fe62ad libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc 02cce06cc2338a8ce1a1d8e75b7c786f libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc + 652a945e3e33dd9445a13cebd0009ed8 libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/93562.cc cdab5e3664ccd5407fa1df48cda78375 libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc 4823a4418620b004eb342f2b9c58a31a libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc 4e2de09ee77cf1b8507aa7cdf10ee3e7 libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc *************** e14c315910dd69bd73b13fc5c7fcbd3a libstd *** 82855,82865 **** c0efa34281c3817dd017e12f99d9329c libstdc++-v3/testsuite/23_containers/deque/range_access.cc 6f05fecc94690fe3369a8b408944ba0b libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc 8b384ee530369e1823cf257266d16d75 libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc ! 8f835d0cc14ae89570fbc0c81d78dffe libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc 6f65bc76a167dd70e6d739b200f5b1ab libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc ! 23450a3a9321a3765981289102e5186a libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc ! 6ffb84cda4f9d6dc95b266fb3d601a45 libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc ! 76c4fddc6d6c3fc3664525dbfe1df3bb libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc 2dc162efbb6ae410fba2dc25ba5f06b9 libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc d50eb53de1642c3e01726a56f046f1ef libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc 7abb0b1cd9daf50b6dbefe5c6003db39 libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc --- 83237,83247 ---- c0efa34281c3817dd017e12f99d9329c libstdc++-v3/testsuite/23_containers/deque/range_access.cc 6f05fecc94690fe3369a8b408944ba0b libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc 8b384ee530369e1823cf257266d16d75 libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc ! c8f67ae8882ab94d05bea524fca8e88a libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc 6f65bc76a167dd70e6d739b200f5b1ab libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc ! 43cadc28b8e287c4d93c7cf8a9db9095 libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc ! 3065b0df3a199f9ae0a5422bfa97674f libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc ! de98705f419884a708ddcb5e6b7926ce libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc 2dc162efbb6ae410fba2dc25ba5f06b9 libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc d50eb53de1642c3e01726a56f046f1ef libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc 7abb0b1cd9daf50b6dbefe5c6003db39 libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc *************** c08521b0c9f983283924134a2d84099e libstd *** 82871,82876 **** --- 83253,83259 ---- 144289405c494fbacd003524098ba04e libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc ad41e1466339051bcfaf9b907ef875a9 libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc 94df16587d4c8239e5b00aa107fcbdd4 libstdc++-v3/testsuite/23_containers/deque/types/1.cc + 9a9586408c20c0b2e27943bf5d65cf61 libstdc++-v3/testsuite/23_containers/deque/types/92267.cc 34e37fc2b9948e48731f3fc9ce42ddc8 libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs.cc 2ce4486cda413ad1719d852e65a675ff libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs_debug.cc a351adaaa2aa7deb1e33f4fca24668d0 libstdc++-v3/testsuite/23_containers/forward_list/48101-2_neg.cc *************** d2378b7a97e77bcc8a53835680b25f35 libstd *** 83109,83119 **** 7e708981502e01000af37da27c868381 libstdc++-v3/testsuite/23_containers/list/range_access.cc d6fc4811d02b3e088f3d99ed25fa003e libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc 6283af1e5e69268fe0f7e0f358e0b99c libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc ! b63f884856bfe20ed77bd81e51aec541 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc 3d2ce3b533115d8e32a4b0754708eca3 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc ! 8b83610e57ce07551049e36b85b26506 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc ! 28d4e26f4e46ecc4677efabdc5b8d945 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc ! 8121dcaae02a67acedd5b73254ed51f9 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc cddc8ebf68801830271a9ac495d13b0b libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc 5d21f0713cfcbaedc8b25f5095364ce9 libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc bfbf41917afddf8e7e733583994fe44e libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc --- 83492,83502 ---- 7e708981502e01000af37da27c868381 libstdc++-v3/testsuite/23_containers/list/range_access.cc d6fc4811d02b3e088f3d99ed25fa003e libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc 6283af1e5e69268fe0f7e0f358e0b99c libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc ! 369dafb895d383ff8efeedf227cf1376 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc 3d2ce3b533115d8e32a4b0754708eca3 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc ! f84e590d5daf6e7da45cb80095e0eb21 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc ! db387874b16e064af28bc8d4bf49d5f9 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc ! 89def9bd79717f9202e6f494335d9699 libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc cddc8ebf68801830271a9ac495d13b0b libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc 5d21f0713cfcbaedc8b25f5095364ce9 libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc bfbf41917afddf8e7e733583994fe44e libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc *************** fdf68709d646551f0edeab8108cb941d libstd *** 83558,83564 **** c6b13542ed1701cb95624b06bab17179 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc 273b201e760d41873032bdb86be01686 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc 4810a885e633cce9f3b452989586e438 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc ! 42e10dd26913e808974bad12649c3a3e libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc 1acd33ad65681f64bf51c66065265b57 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc 0d0c0e2fd1a1c7afd7577415bfc71cb4 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc b67073b1d18fbfba537a038d9d53d465 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc --- 83941,83947 ---- c6b13542ed1701cb95624b06bab17179 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc 273b201e760d41873032bdb86be01686 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc 4810a885e633cce9f3b452989586e438 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc ! f1da446854aa450a1f57328594dc36a1 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc 1acd33ad65681f64bf51c66065265b57 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc 0d0c0e2fd1a1c7afd7577415bfc71cb4 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc b67073b1d18fbfba537a038d9d53d465 libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc *************** a581c301a90cc1b8a100ac4f5736f52f libstd *** 83746,83752 **** 7b09154a05fe6222e87173a6dead7b2d libstdc++-v3/testsuite/23_containers/unordered_set/85965.cc 2e4170496e1e0a7e9c0c2bf9e3a55789 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc a78ae206fb82a2a89506c611bc9972e9 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc ! 025824ca5bbd7c6320560ed437349172 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc a6fc8006b400a778b851f9fb96abd081 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc 25a7d270e0f0f8061a7b239340ad4749 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc 3d362f85422cfda700550c1249ab4d89 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc --- 84129,84135 ---- 7b09154a05fe6222e87173a6dead7b2d libstdc++-v3/testsuite/23_containers/unordered_set/85965.cc 2e4170496e1e0a7e9c0c2bf9e3a55789 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc a78ae206fb82a2a89506c611bc9972e9 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc ! 773aec3017e92a11b90ff429bb2fe7a4 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc a6fc8006b400a778b851f9fb96abd081 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc 25a7d270e0f0f8061a7b239340ad4749 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc 3d362f85422cfda700550c1249ab4d89 libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc *************** cb7932d8c2420b3d7087ee4b8d353e1d libstd *** 83921,83926 **** --- 84304,84311 ---- 63f124b6cfa6b691fac8e5cd28592ee7 libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc f2ad0afad74789c6fed8e6d6d4588ff5 libstdc++-v3/testsuite/23_containers/vector/cons/86292.cc f6442b52d08d8d26ef1ea6d34aeef79e libstdc++-v3/testsuite/23_containers/vector/cons/87809.cc + 53ec406f28247028f51e535e3c149462 libstdc++-v3/testsuite/23_containers/vector/cons/89164.cc + a995f6ccef34e3fb27b9d769f4c8f24d libstdc++-v3/testsuite/23_containers/vector/cons/89164_c++17.cc 84c90c81e71fd3b15f7576319e837448 libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc 80b03c034add6856b2978cc5c8dde6bd libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc 06b5a60ede775b041361daf03188d386 libstdc++-v3/testsuite/23_containers/vector/cons/deduction.cc *************** f52b0bea9f603c6f6edc8c2556862be4 libstd *** 84011,84021 **** bc0616bb286b6aa7e2953f8b879f6c8b libstdc++-v3/testsuite/23_containers/vector/range_access.cc 67109ed7fb0e14043026aa43a5fc1deb libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc 8d273507069681e4d3cfa0e24b250e2b libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc ! eaba74ac97e6c5222e6fa836feb57ba1 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc d100b99769ea9edd4c0a3a3fd1aa3ede libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc ! 12cdf7c49c376a0bd32af05716d0444d libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc ! c1eec9e0f1b7166b6f0a483fc57568a8 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc ! df109a45947cd4c1a6a190e609ec1fb2 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc 779850e561444e42fb46698cb57e0031 libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc 8a3b19ae9af7295473b9ad1a40e8e59e libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc 80b580ea434fa79ab938fe407e1acd24 libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc --- 84396,84406 ---- bc0616bb286b6aa7e2953f8b879f6c8b libstdc++-v3/testsuite/23_containers/vector/range_access.cc 67109ed7fb0e14043026aa43a5fc1deb libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc 8d273507069681e4d3cfa0e24b250e2b libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc ! 5a244592fa439ed047a2738b649a68ad libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc d100b99769ea9edd4c0a3a3fd1aa3ede libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc ! 9f0039841e10ff46509a40c5d5627811 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc ! c252e02def68804ab2ba46831a83ba74 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc ! 440d3fe3b2528e232cb10982b7e47288 libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc 779850e561444e42fb46698cb57e0031 libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc 8a3b19ae9af7295473b9ad1a40e8e59e libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc 80b580ea434fa79ab938fe407e1acd24 libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc *************** b9880944c2d685dc9b91825d98372be4 libstd *** 84256,84261 **** --- 84641,84648 ---- 347caf4120c897c264071a3f77bdd49f libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc a55eb584c9200b32538e2145c05abd9a libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc e1ff08d6f860650baa378a5ee8ce3714 libstdc++-v3/testsuite/25_algorithms/for_each/1.cc + 961242f27d7ffe9c72808f0d8aee5df2 libstdc++-v3/testsuite/25_algorithms/for_each/for_each_n.cc + fad2a3b6ab1d7f3986f9833c2b32d476 libstdc++-v3/testsuite/25_algorithms/for_each/for_each_n_debug.cc 050557010f8b4950bb8ff0969f9ac2bc libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc 6a413277bfa9dbd1d7bd3c4af9e56a68 libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc b7a5b631a156cbe148ced043fba3b4d3 libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc *************** e4e4819f322a09c16bc6ced8ab8f19ab libstd *** 84696,84701 **** --- 85083,85089 ---- aea7e4679fe6504205b79370fe66eeb6 libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc 6f047f42df943b41ba171433d0f4c807 libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc 906619ecf0877a7ff5302dd409c34714 libstdc++-v3/testsuite/26_numerics/complex/pow.cc + ad998807698b684ffaf4910021533db7 libstdc++-v3/testsuite/26_numerics/complex/proj.cc c3ae14f68b0a7fabff2e897062c53f59 libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc bf1343e6dcd353d37390997a0de8e1ed libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc ef3c1be87613289079633fdfafeb651c libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc *************** cbf6ff43e61c99e5a6dcc56cd4511960 libstd *** 84708,84713 **** --- 85096,85102 ---- eaa0a1a04a61f2081a741a598eaab59e libstdc++-v3/testsuite/26_numerics/endian/2.cc 0c06aef107859980f09b0ae1f47685f1 libstdc++-v3/testsuite/26_numerics/endian/3.cc cf108086d33eec89096345c3bfcf5089 libstdc++-v3/testsuite/26_numerics/endian/4.cc + 980a8d6e736c43536fe5c02521613130 libstdc++-v3/testsuite/26_numerics/exclusive_scan/1.cc 2c63db07de996c8934d1a40dfbdbbe79 libstdc++-v3/testsuite/26_numerics/gcd/1.cc 63969dc273bd319c90844bf46d356c4f libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc f547d9a9ff639c05aa4ccfec557779b3 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc *************** e3335fc99819ea3d758072e163163ea4 libstd *** 84769,84774 **** --- 85158,85164 ---- 761c7751ab23dab94aa8f8a6b5ff27a8 libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc d400eefdb61255164a8286205141d151 libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc d7245923821ce399a0f0834592c9b453 libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc + 10ceeb9fd3110a8bb1044642f0dc703f libstdc++-v3/testsuite/26_numerics/inclusive_scan/1.cc 3aeb27c6bef4172e16e52e5744699429 libstdc++-v3/testsuite/26_numerics/inner_product/1.cc 2f0bcf2b62cd4af708f23efc54495edd libstdc++-v3/testsuite/26_numerics/inner_product/lwg2055.cc cdb662025e2eb4a21f9f835ef47ff536 libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc *************** dff1dc8addf390dc989367bbe873578b libstd *** 84988,84994 **** 99a096156afad85deb0de7b7c9c98433 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc 7ec7ffd9a621ef7b033b72d24ec70481 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc e29347d9b926e85f61dcf10a0fcf5dc3 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc ! aaf9d3b019467c788c2c04e9210c8706 libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc 514c931524173d52147a744c1a57ee89 libstdc++-v3/testsuite/26_numerics/random/random_device/85494.cc 34abe834479107130d20403dd0a0a30f libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc 0204570051e43eefd41e8489804d941d libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc --- 85378,85384 ---- 99a096156afad85deb0de7b7c9c98433 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc 7ec7ffd9a621ef7b033b72d24ec70481 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc e29347d9b926e85f61dcf10a0fcf5dc3 libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc ! e65779d70ce8b3532f49d991bcd2f8a0 libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc 514c931524173d52147a744c1a57ee89 libstdc++-v3/testsuite/26_numerics/random/random_device/85494.cc 34abe834479107130d20403dd0a0a30f libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc 0204570051e43eefd41e8489804d941d libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc *************** d60e1ac682cb461b077b2c65569ce28b libstd *** 85062,85071 **** --- 85452,85466 ---- 99f6f25f905871bda000c50123132568 libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc 6398e43f3e04a4bd54d00591cf43ec2e libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc d4ba4b8775d80f67c1d9081513fe0a63 libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc + e3030088e45081f457ea78cbf5edbcd4 libstdc++-v3/testsuite/26_numerics/reduce/1.cc + 805405231bca44805fe9e2e473130647 libstdc++-v3/testsuite/26_numerics/reduce/2.cc 536c83acd464c44227e84ed3845f9a8d libstdc++-v3/testsuite/26_numerics/slice/1.cc 2ca22959caa6b57422957322a0fd270f libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc 782936d7433625674da221747313e2ea libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc 2f9c3f6bcac7165b98cebe6b8fc757c2 libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc + b52bc3f1320025b79e45216a824e3876 libstdc++-v3/testsuite/26_numerics/transform_exclusive_scan/1.cc + 42034ef601770d6067b85fe4ddd9d663 libstdc++-v3/testsuite/26_numerics/transform_inclusive_scan/1.cc + c18937e375f08daa771eb9839b9aee62 libstdc++-v3/testsuite/26_numerics/transform_reduce/1.cc bff2289be906d937be2005cb7fd98afe libstdc++-v3/testsuite/26_numerics/valarray/27867.cc 65d53f2d5f09d90390048764a3381a3e libstdc++-v3/testsuite/26_numerics/valarray/28277.cc ce6811bb22379494a10f1f7d4d4b000e libstdc++-v3/testsuite/26_numerics/valarray/30416.cc *************** f22b4ab71f29d68dbcda730171c952cf libstd *** 85856,85871 **** c7877ee0b9748bedb3f01b1cba32ac04 libstdc++-v3/testsuite/27_io/filesystem/file_status/1.cc cbef87296e4389dadc6a213c0d455129 libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/cons.cc eff26d4b635cd75899b17a4f154bc55d libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/copy.cc ! 235df56a9d8fcf6aadf7321f1cfe2586 libstdc++-v3/testsuite/27_io/filesystem/iterators/91067.cc 4d8d56108a486100c75e7a332fcf4565 libstdc++-v3/testsuite/27_io/filesystem/iterators/caching.cc af9455c6379de221d047366d4442f1e9 libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc 64d16ac86811b57a5e79fdd13590e6b4 libstdc++-v3/testsuite/27_io/filesystem/iterators/pop.cc 3b6075916ca6e6896527a1bad34f7ca4 libstdc++-v3/testsuite/27_io/filesystem/iterators/recursion_pending.cc 00cb0aa01b3824351005c3a92127faf2 libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc 3181124f76230a9e2c775540aa6fc459 libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc ! 52e9a6f0108eac656fd1f4752ff0263f libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc dad76e629e8094f265a9225228c3ff17 libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc ! 5213bfc3da08d5f75b9c1ab30063b0ee libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc 97660b02e6ae488f2cd1282d374807b9 libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc 57312fa642928f87de2f61c9861c449c libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc 3a1c28e30b8f41de4a519a6b9b33d545 libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc --- 86251,86266 ---- c7877ee0b9748bedb3f01b1cba32ac04 libstdc++-v3/testsuite/27_io/filesystem/file_status/1.cc cbef87296e4389dadc6a213c0d455129 libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/cons.cc eff26d4b635cd75899b17a4f154bc55d libstdc++-v3/testsuite/27_io/filesystem/filesystem_error/copy.cc ! a64e5a6a67af266d16ce88f0548abdd2 libstdc++-v3/testsuite/27_io/filesystem/iterators/91067.cc 4d8d56108a486100c75e7a332fcf4565 libstdc++-v3/testsuite/27_io/filesystem/iterators/caching.cc af9455c6379de221d047366d4442f1e9 libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc 64d16ac86811b57a5e79fdd13590e6b4 libstdc++-v3/testsuite/27_io/filesystem/iterators/pop.cc 3b6075916ca6e6896527a1bad34f7ca4 libstdc++-v3/testsuite/27_io/filesystem/iterators/recursion_pending.cc 00cb0aa01b3824351005c3a92127faf2 libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc 3181124f76230a9e2c775540aa6fc459 libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc ! fd0c60e7f32afa28aaa100803f4de0d2 libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc dad76e629e8094f265a9225228c3ff17 libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc ! cb00f573c7a47ee58a71cdd93f3cd388 libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc 97660b02e6ae488f2cd1282d374807b9 libstdc++-v3/testsuite/27_io/filesystem/operations/copy_file.cc 57312fa642928f87de2f61c9861c449c libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc 3a1c28e30b8f41de4a519a6b9b33d545 libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc *************** dad76e629e8094f265a9225228c3ff17 libstd *** 85873,85879 **** 195a3b80f65841299cf2c1bccee868b4 libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc 9cfc433f846c4185ec98cfd208076135 libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc 34d3c456587d4b34c295ab342590caf8 libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc ! 32f8da1b885b340f55ec87213a3490ac libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc 816d12e6fc24ffa87418f2d8bda80d26 libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc a509ba4328519d124aa7f1441964aa80 libstdc++-v3/testsuite/27_io/filesystem/operations/last_write_time.cc dfc1c8b93b41bf9cacb15c205226ea51 libstdc++-v3/testsuite/27_io/filesystem/operations/permissions.cc --- 86268,86274 ---- 195a3b80f65841299cf2c1bccee868b4 libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc 9cfc433f846c4185ec98cfd208076135 libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc 34d3c456587d4b34c295ab342590caf8 libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc ! ece5b61c05bad63616f3c1a208dd21ea libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc 816d12e6fc24ffa87418f2d8bda80d26 libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc a509ba4328519d124aa7f1441964aa80 libstdc++-v3/testsuite/27_io/filesystem/operations/last_write_time.cc dfc1c8b93b41bf9cacb15c205226ea51 libstdc++-v3/testsuite/27_io/filesystem/operations/permissions.cc *************** e43c40074f8ee450ee1a39e8e510a27f libstd *** 85881,85887 **** 17c0a3bd8b8a48449ce26c73bb3b8e20 libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc 1502ae9ef398b90cb2353d212fae9aaf libstdc++-v3/testsuite/27_io/filesystem/operations/relative.cc 9fcae74991887b3ac9f17466452df98f libstdc++-v3/testsuite/27_io/filesystem/operations/remove.cc ! 55022dc925095d58b14d22c67a5ab35c libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc 781edf8b8f5d71f6c73c6d8b99ac9631 libstdc++-v3/testsuite/27_io/filesystem/operations/resize_file.cc ceeedb00a04716967fb9702dad6de91c libstdc++-v3/testsuite/27_io/filesystem/operations/space.cc 2d84a5fe364e0d14deceacb4fad058f1 libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc --- 86276,86282 ---- 17c0a3bd8b8a48449ce26c73bb3b8e20 libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc 1502ae9ef398b90cb2353d212fae9aaf libstdc++-v3/testsuite/27_io/filesystem/operations/relative.cc 9fcae74991887b3ac9f17466452df98f libstdc++-v3/testsuite/27_io/filesystem/operations/remove.cc ! f38e80e62f548689138b1602c7802eae libstdc++-v3/testsuite/27_io/filesystem/operations/remove_all.cc 781edf8b8f5d71f6c73c6d8b99ac9631 libstdc++-v3/testsuite/27_io/filesystem/operations/resize_file.cc ceeedb00a04716967fb9702dad6de91c libstdc++-v3/testsuite/27_io/filesystem/operations/space.cc 2d84a5fe364e0d14deceacb4fad058f1 libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc *************** c95af3a83f36f41cd3abd01b88396667 libstd *** 85896,85903 **** 0196b4dec478bf9926b4a54013fe6ede libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc 3753e76644147c7e72b5458e04587185 libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc bc9f5c7f9be56e3e6b62143566bbd82c libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc ! 5f1d0ba745cb9cf11b5a2f40021b5f79 libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc ! c5054b020983fbc74c2935073aa5a722 libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc cf4da13811559cff87d3248ab22e8c4f libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc 63b49d2b56ac69ca112e63acac76bc2f libstdc++-v3/testsuite/27_io/filesystem/path/construct/90281.cc 333bfb426a30c5534864bc79da8d12b3 libstdc++-v3/testsuite/27_io/filesystem/path/construct/90634.cc --- 86291,86299 ---- 0196b4dec478bf9926b4a54013fe6ede libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc 3753e76644147c7e72b5458e04587185 libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc bc9f5c7f9be56e3e6b62143566bbd82c libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc ! 5ef1e89bad52959d4c9e37fd95e3dc82 libstdc++-v3/testsuite/27_io/filesystem/path/concat/92853.cc ! 35cfe6b39e538402ef5c71e1b39d97ef libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc ! 6e899878c7bfb27f9440331d3e8073af libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc cf4da13811559cff87d3248ab22e8c4f libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc 63b49d2b56ac69ca112e63acac76bc2f libstdc++-v3/testsuite/27_io/filesystem/path/construct/90281.cc 333bfb426a30c5534864bc79da8d12b3 libstdc++-v3/testsuite/27_io/filesystem/path/construct/90634.cc *************** c6a39b4349bcda208aba4964fd6607ce libstd *** 86570,86575 **** --- 86966,86972 ---- caa873c44c0d4568e348f2e4bc121e91 libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc 2ae509df39a10a102bdfc8f1baa15884 libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc 2c4bab892054122039a5a0d79e26e77b libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc + 9f9deaeeafc35ae4a0ded4bc99d859ca libstdc++-v3/testsuite/30_threads/shared_timed_mutex/94069.cc 36d6a1facee3a1555d426a21cebf0a6e libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc 82247cb2f72ef91d3e36f3ccea8b2235 libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc 1c6d7815815100662e48a4019b4175a3 libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc *************** a54a77da1721096ac0268733de1ed8f8 libstd *** 86854,86860 **** 03ec1e990d0bba3ac2b29c9b807e6b97 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 19c5b0c2a3474325d0362fd341bf452e libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc c34645f173cd9ba72067a61855dce0a7 libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc ! f9e9655faaffef0b683897e2b6f791d2 libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc 3ef03acbb3e8a82fffe5836d29ca3ca3 libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc cc2c5051f0747bc4afb8a77fbb796c10 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc b1676f1f0ccefc9239c6aac1d14d5dd7 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc --- 87251,87257 ---- 03ec1e990d0bba3ac2b29c9b807e6b97 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 19c5b0c2a3474325d0362fd341bf452e libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc c34645f173cd9ba72067a61855dce0a7 libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc ! f3ddff81c43ac49c4cefc5b21cb588f0 libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc 3ef03acbb3e8a82fffe5836d29ca3ca3 libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc cc2c5051f0747bc4afb8a77fbb796c10 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc b1676f1f0ccefc9239c6aac1d14d5dd7 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc *************** b1676f1f0ccefc9239c6aac1d14d5dd7 libstd *** 86862,86874 **** 03c8a94a2ce11846e7fe971dc29b2ac7 libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc f0bb18699a6eba56ebd284d28c06c79b libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc 64a1af9938c238068f034955a7c5c05d libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc ! eb780b091f0f104c660daac980814e58 libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc 89af849b00f6a3ea41c972a060f07bed libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc 327904ea213d06c57f5cbdf4331c2d17 libstdc++-v3/testsuite/experimental/filesystem/operations/last_write_time.cc 59cfc520beb22e5ef24b442f367dd245 libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc 71ea860899af497e82283cacca3c5543 libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc 510a44598120bd5904ec2aca5bb464bb libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc ! 46855aca552f6f0b1a5c872ee3618151 libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc 4e076a3d3faa0551039764a597049e57 libstdc++-v3/testsuite/experimental/filesystem/operations/space.cc 6e78422ad5a55959f711c5c206dca334 libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc 905231703cd72bfff70dede2a593f5e2 libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc --- 87259,87271 ---- 03c8a94a2ce11846e7fe971dc29b2ac7 libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc f0bb18699a6eba56ebd284d28c06c79b libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc 64a1af9938c238068f034955a7c5c05d libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc ! cbf7880b6fd08bb4f4b9315efcbc2c0e libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc 89af849b00f6a3ea41c972a060f07bed libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc 327904ea213d06c57f5cbdf4331c2d17 libstdc++-v3/testsuite/experimental/filesystem/operations/last_write_time.cc 59cfc520beb22e5ef24b442f367dd245 libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc 71ea860899af497e82283cacca3c5543 libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc 510a44598120bd5904ec2aca5bb464bb libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc ! 8be3812f0b8306af12ec173f9ebde8ab libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc 4e076a3d3faa0551039764a597049e57 libstdc++-v3/testsuite/experimental/filesystem/operations/space.cc 6e78422ad5a55959f711c5c206dca334 libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc 905231703cd72bfff70dede2a593f5e2 libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc *************** b152cffb3fae54fccd04f7aef3c92a43 libstd *** 86967,86973 **** 648a8ea821d33e1675f302758e56dffa libstdc++-v3/testsuite/experimental/memory_resource/new_delete_resource.cc ddec0c7d2d5aa1c859bfe857d6c377d9 libstdc++-v3/testsuite/experimental/memory_resource/null_memory_resource.cc 9ec32bf93e5e67bfef61a292df35feec libstdc++-v3/testsuite/experimental/memory_resource/resource_adaptor.cc ! 42c952b32fb145b5e4dc6a4efee7891f libstdc++-v3/testsuite/experimental/names.cc 32adc522f4269bae829ef5c9ddc957ae libstdc++-v3/testsuite/experimental/net/buffer/arithmetic.cc 3e6ce04cb2ddc4d42fbfc3443f332af6 libstdc++-v3/testsuite/experimental/net/buffer/const.cc a9c910688383d40b47c34e07454d3af0 libstdc++-v3/testsuite/experimental/net/buffer/creation.cc --- 87364,87370 ---- 648a8ea821d33e1675f302758e56dffa libstdc++-v3/testsuite/experimental/memory_resource/new_delete_resource.cc ddec0c7d2d5aa1c859bfe857d6c377d9 libstdc++-v3/testsuite/experimental/memory_resource/null_memory_resource.cc 9ec32bf93e5e67bfef61a292df35feec libstdc++-v3/testsuite/experimental/memory_resource/resource_adaptor.cc ! 8fd5a0e922d44f66dcf28bcce9705e21 libstdc++-v3/testsuite/experimental/names.cc 32adc522f4269bae829ef5c9ddc957ae libstdc++-v3/testsuite/experimental/net/buffer/arithmetic.cc 3e6ce04cb2ddc4d42fbfc3443f332af6 libstdc++-v3/testsuite/experimental/net/buffer/const.cc a9c910688383d40b47c34e07454d3af0 libstdc++-v3/testsuite/experimental/net/buffer/creation.cc *************** ed46bdd93d198fcd4752fb7970a35ab9 libstd *** 87170,87176 **** 17535ffeba51abad153e7b0939987a5b libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc 71efe24f8f1189145f017e2acaea65a9 libstdc++-v3/testsuite/ext/bitmap_allocator/overaligned.cc 7957a4ad39807ef679314afe83f49eed libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc ! 87c8da63ad1e51a0f767666354e4d9f9 libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc d02d9e0110417648b8c0fef7f72d7b30 libstdc++-v3/testsuite/ext/codecvt/1.cc 6d14e5b1733b9f805af97e7b7988d0e4 libstdc++-v3/testsuite/ext/codecvt/char-1.cc c65033f08f201683eae9c1b34e1cba1e libstdc++-v3/testsuite/ext/codecvt/char-2.cc --- 87567,87573 ---- 17535ffeba51abad153e7b0939987a5b libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc 71efe24f8f1189145f017e2acaea65a9 libstdc++-v3/testsuite/ext/bitmap_allocator/overaligned.cc 7957a4ad39807ef679314afe83f49eed libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc ! 846dc8224edb857bb6953efa8b4cdb2d libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc d02d9e0110417648b8c0fef7f72d7b30 libstdc++-v3/testsuite/ext/codecvt/1.cc 6d14e5b1733b9f805af97e7b7988d0e4 libstdc++-v3/testsuite/ext/codecvt/char-1.cc c65033f08f201683eae9c1b34e1cba1e libstdc++-v3/testsuite/ext/codecvt/char-2.cc *************** c6eee4d95fb8fcc1b2db5c9d694159ab libstd *** 87529,87535 **** baab890c84819e856948838512a7bbf1 libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc 9681187a7801bc76b42070af623f4ad2 libstdc++-v3/testsuite/libstdc++-prettyprinters/59161.cc a2901a4320a2e11fc634c70ceeb100f0 libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc ! 03cfbfc34b8447d94d3b6d3f0b759603 libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc 4bbeb98daab4b184cf810f8e927f3e7d libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc 2ffc6e33f500652eee6cb30df4f95c96 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc 99a17df5377354c15f46c73049564905 libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc --- 87926,87932 ---- baab890c84819e856948838512a7bbf1 libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc 9681187a7801bc76b42070af623f4ad2 libstdc++-v3/testsuite/libstdc++-prettyprinters/59161.cc a2901a4320a2e11fc634c70ceeb100f0 libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc ! 272108e124ca1f021ceaf7ad77a79281 libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc 4bbeb98daab4b184cf810f8e927f3e7d libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc 2ffc6e33f500652eee6cb30df4f95c96 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc 99a17df5377354c15f46c73049564905 libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc *************** ab19ad81e8ec8dacc60f724660172545 libstd *** 88327,88334 **** --- 88724,88736 ---- b5491fa6799592e74401e73a8101aef7 libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc 315350f91e31a8e1afc303b3f5b6fe0b libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc 70a5458c1b15cdd3b16a8438b94a6ed8 libstdc++-v3/testsuite/tr2/direct_bases/value.cc + f627b801f76df3b9b3617855769dd497 libstdc++-v3/testsuite/tr2/dynamic_bitset/cmp.cc + 55b17815da3734a92aabf30752f4c282 libstdc++-v3/testsuite/tr2/dynamic_bitset/cons.cc + 6671d3e9585abbb1e56141510a0fc388 libstdc++-v3/testsuite/tr2/dynamic_bitset/copy.cc + 16179fe5ad0342cfee85f57bae428e2e libstdc++-v3/testsuite/tr2/dynamic_bitset/move.cc 8fb8f2d196c9a2e517c977f6444cc968 libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc fd0a6f6de9fac47eaa6ac70c73f20fa9 libstdc++-v3/testsuite/tr2/dynamic_bitset/pr87784.cc + f6df263b2b53ef17d5d912257af81895 libstdc++-v3/testsuite/tr2/dynamic_bitset/pr92059.cc e44ec1f29f89d413079589c9c469651e libstdc++-v3/testsuite/tr2/headers/all.cc 3ffeba405b6f18376ea1a9e9e3f4ddd8 libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc 435f5acb2ddabc2bf909b19349fe26bc libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp *************** b5759a1f69aa73c131c920c1d35788eb libstd *** 88422,88432 **** ded08332055566a6a059af888d235e33 libstdc++-v3/testsuite/util/statistic/sample_mean.hpp 1b3a0ef7a20ba6a838c235e904e1237e libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp 288fb9042be3b33077331e78aa153123 libstdc++-v3/testsuite/util/statistic/sample_variance.hpp ! 4cae4bcaccc3feb2f4090d3ee1dbeffb libstdc++-v3/testsuite/util/testsuite_abi.cc 86b7d15140154957ba48eb0d9cc1b873 libstdc++-v3/testsuite/util/testsuite_abi.h b23a956d9a00583971e3e3bf5d51e367 libstdc++-v3/testsuite/util/testsuite_abi_check.cc f5a78f8128c93d96257ff88d5738114b libstdc++-v3/testsuite/util/testsuite_allocator.cc ! 3b2d4df257f4f7f697208e1b5ff9d788 libstdc++-v3/testsuite/util/testsuite_allocator.h 01d8d7110680d49c852cc0487a979c1a libstdc++-v3/testsuite/util/testsuite_api.h e2ed2610a0c7e50e154cb3df5e3fa3ce libstdc++-v3/testsuite/util/testsuite_character.cc 4c916d132216fa27ea8931faf429fb63 libstdc++-v3/testsuite/util/testsuite_character.h --- 88824,88834 ---- ded08332055566a6a059af888d235e33 libstdc++-v3/testsuite/util/statistic/sample_mean.hpp 1b3a0ef7a20ba6a838c235e904e1237e libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp 288fb9042be3b33077331e78aa153123 libstdc++-v3/testsuite/util/statistic/sample_variance.hpp ! 2be70e0406e322db1a3eda72d8adc5b7 libstdc++-v3/testsuite/util/testsuite_abi.cc 86b7d15140154957ba48eb0d9cc1b873 libstdc++-v3/testsuite/util/testsuite_abi.h b23a956d9a00583971e3e3bf5d51e367 libstdc++-v3/testsuite/util/testsuite_abi_check.cc f5a78f8128c93d96257ff88d5738114b libstdc++-v3/testsuite/util/testsuite_allocator.cc ! c2ccacbde246fa74b22628d26584fa04 libstdc++-v3/testsuite/util/testsuite_allocator.h 01d8d7110680d49c852cc0487a979c1a libstdc++-v3/testsuite/util/testsuite_api.h e2ed2610a0c7e50e154cb3df5e3fa3ce libstdc++-v3/testsuite/util/testsuite_character.cc 4c916d132216fa27ea8931faf429fb63 libstdc++-v3/testsuite/util/testsuite_character.h *************** bbc922e8eb583558c65fd40cbae1250f libstd *** 88441,88447 **** 721b82d1c0c8e1e97d967764ed54d336 libstdc++-v3/testsuite/util/testsuite_hooks.cc 0163ca9796e23a0e4c412229ab121aaa libstdc++-v3/testsuite/util/testsuite_hooks.h a738a2fb3dad147443f05f69f26732de libstdc++-v3/testsuite/util/testsuite_io.h ! ffe7425199ccc4dc7535c67ca63db80f libstdc++-v3/testsuite/util/testsuite_iterators.h c0f9a9bdae34b75dcbf3e373042f35ff libstdc++-v3/testsuite/util/testsuite_new_operators.h 938deaf341cccdc8df24516f6de96269 libstdc++-v3/testsuite/util/testsuite_performance.h 793e9bc55786b84f93db18953ee9a7f5 libstdc++-v3/testsuite/util/testsuite_random.h --- 88843,88849 ---- 721b82d1c0c8e1e97d967764ed54d336 libstdc++-v3/testsuite/util/testsuite_hooks.cc 0163ca9796e23a0e4c412229ab121aaa libstdc++-v3/testsuite/util/testsuite_hooks.h a738a2fb3dad147443f05f69f26732de libstdc++-v3/testsuite/util/testsuite_io.h ! 9e2939e6cc8d50c0f28fd0dbe29fecb7 libstdc++-v3/testsuite/util/testsuite_iterators.h c0f9a9bdae34b75dcbf3e373042f35ff libstdc++-v3/testsuite/util/testsuite_new_operators.h 938deaf341cccdc8df24516f6de96269 libstdc++-v3/testsuite/util/testsuite_performance.h 793e9bc55786b84f93db18953ee9a7f5 libstdc++-v3/testsuite/util/testsuite_random.h *************** e6293fd7591a55b3e443423d4ab263aa libstd *** 88453,88459 **** aee4f8b71130a80ebdfc21168f4a9d09 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 47ecfe321fad45e79df28e3545dec650 libtool.m4 ! 4daa2b5aa39b4075f3f0b9179e6afde5 libvtv/ChangeLog 3925e26bd0380754b9ba82cad98854b9 libvtv/Makefile.am f0dcdf677be6f1ef329ff74d740ea4eb libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 --- 88855,88861 ---- aee4f8b71130a80ebdfc21168f4a9d09 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 47ecfe321fad45e79df28e3545dec650 libtool.m4 ! c16341e8103af8254c6bcbad50c86b38 libvtv/ChangeLog 3925e26bd0380754b9ba82cad98854b9 libvtv/Makefile.am f0dcdf677be6f1ef329ff74d740ea4eb libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 *************** a317e957f6643aa8ccea2dc901b5cdb4 libvtv *** 88536,88542 **** e9f5d4b7990250a14c410038615b7897 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 87f3355387aff1fb857503a8aa3a0900 ltmain.sh ! f74a7b8ef31c9384e4472bd2a108ea70 lto-plugin/ChangeLog 1d51b0f01f4db0f88d302ab0d691514e lto-plugin/Makefile.am 80423554a39cbd842c3d9464b3723033 lto-plugin/Makefile.in e60b1443b7156a65450aa31b80bb99fe lto-plugin/aclocal.m4 --- 88938,88944 ---- e9f5d4b7990250a14c410038615b7897 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 87f3355387aff1fb857503a8aa3a0900 ltmain.sh ! f59907839a3101c6b9907fc724cdda63 lto-plugin/ChangeLog 1d51b0f01f4db0f88d302ab0d691514e lto-plugin/Makefile.am 80423554a39cbd842c3d9464b3723033 lto-plugin/Makefile.in e60b1443b7156a65450aa31b80bb99fe lto-plugin/aclocal.m4 *************** dee72a6a60e99528b0d17bf3ff9a1e15 ltopti *** 88548,88559 **** bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 4a490ae05b4044db453dd44aec2b6411 maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 1c3f2c7d87d076b4209a2a03844292e5 maintainer-scripts/bugzilla-close-candidate.py c5ab0e8e81e81d0d367d5ee595214eb5 maintainer-scripts/crontab ! dfd420d29ffb93df9ba459391b6fb2f6 maintainer-scripts/gcc_release 4b085aa82b5f2fe789828063eed76560 maintainer-scripts/generate_libstdcxx_web_docs 33d97164a8610c7abf67eff7d28f47ff maintainer-scripts/maintainer-addresses 9277094fc32569de284ee22055219dbd maintainer-scripts/update_version_svn --- 88950,88961 ---- bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 008c087d32c7a31acb531dc556f64ec6 maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 1c3f2c7d87d076b4209a2a03844292e5 maintainer-scripts/bugzilla-close-candidate.py c5ab0e8e81e81d0d367d5ee595214eb5 maintainer-scripts/crontab ! 620ae3c62e6c74ccb247213dc969810e maintainer-scripts/gcc_release 4b085aa82b5f2fe789828063eed76560 maintainer-scripts/generate_libstdcxx_web_docs 33d97164a8610c7abf67eff7d28f47ff maintainer-scripts/maintainer-addresses 9277094fc32569de284ee22055219dbd maintainer-scripts/update_version_svn *************** cf2baa0854f564a7785307e79f155efc symlin *** 88568,88574 **** 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! fd6f154ab5e0aa5414ea57920a1e44a4 zlib/ChangeLog 969dcade0d3b806b7eaf5f16573a528d zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ --- 88970,88976 ---- 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! c8b4d7fe4fa0b5836971dc592bc92cde zlib/ChangeLog 969dcade0d3b806b7eaf5f16573a528d zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ diff -Nrcpad gcc-9.2.0/NEWS gcc-9.3.0/NEWS *** gcc-9.2.0/NEWS Mon Aug 12 07:41:01 2019 --- gcc-9.3.0/NEWS Thu Mar 12 11:08:55 2020 *************** see ONEWS. *** 8,28 **** http://gcc.gnu.org/gcc-9/index.html GCC 9 Release Series ! Aug 12, 2019 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 9.2. This release is a bug-fix release, containing fixes for regressions in ! GCC 9.1 relative to previous releases of GCC. Release History GCC 9.2 ! Aug 12, 2019 ([2]changes, [3]documentation) GCC 9.1 ! May 3, 2019 ([4]changes, [5]documentation) References and Acknowledgements --- 8,31 ---- http://gcc.gnu.org/gcc-9/index.html GCC 9 Release Series ! Mar 12, 2020 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 9.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 9.2 relative to previous releases of GCC. Release History + GCC 9.3 + Mar 12, 2020 ([2]changes, [3]documentation) + GCC 9.2 ! Aug 12, 2019 ([4]changes, [5]documentation) GCC 9.1 ! May 3, 2019 ([6]changes, [7]documentation) References and Acknowledgements *************** References and Acknowledgements *** 30,94 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [6]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [7]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [8]GCC project ! web site or contact the [9]GCC development mailing list. ! To obtain GCC please use [10]our mirror sites or [11]our SVN server. For questions related to the use of GCC, please consult these web ! pages and the [12]GCC manuals. If that fails, the ! [13]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [14]gcc@gcc.gnu.org. All of [15]our lists have public archives. ! Copyright (C) [16]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [17]maintained by the GCC team. Last modified ! 2019-08-12[18]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-9/changes.html ! 3. http://gcc.gnu.org/onlinedocs/9.2.0/ 4. http://gcc.gnu.org/gcc-9/changes.html ! 5. http://gcc.gnu.org/onlinedocs/9.1.0/ ! 6. http://gcc.gnu.org/gcc-9/buildstat.html ! 7. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html ! 8. http://gcc.gnu.org/index.html ! 9. mailto:gcc@gcc.gnu.org ! 10. http://gcc.gnu.org/mirrors.html ! 11. http://gcc.gnu.org/svn.html ! 12. https://gcc.gnu.org/onlinedocs/ ! 13. mailto:gcc-help@gcc.gnu.org ! 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/lists.html ! 16. https://www.fsf.org/ ! 17. https://gcc.gnu.org/about.html ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-9/changes.html GCC 9 Release Series Changes, New Features, and Fixes This page is a "brief" summary of some of the huge number of ! improvements in GCC 9. Caveats ! * On Arm targets (arm*-*-*), [1]a bug in the implementation of the procedure call standard (AAPCS) in the GCC 6, 7 and 8 releases has been fixed: a structure containing a bit-field based on a 64-bit integral type and where no other element in a structure required --- 33,101 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [8]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [9]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [10]GCC ! project web site or contact the [11]GCC development mailing list. ! To obtain GCC please use [12]our mirror sites or [13]our version ! control system. For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [16]gcc@gcc.gnu.org. All of [17]our lists have public archives. ! Copyright (C) [18]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [19]maintained by the GCC team. Last modified ! 2020-03-12[20]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-9/changes.html ! 3. http://gcc.gnu.org/onlinedocs/9.3.0/ 4. http://gcc.gnu.org/gcc-9/changes.html ! 5. http://gcc.gnu.org/onlinedocs/9.2.0/ ! 6. http://gcc.gnu.org/gcc-9/changes.html ! 7. http://gcc.gnu.org/onlinedocs/9.1.0/ ! 8. http://gcc.gnu.org/gcc-9/buildstat.html ! 9. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html ! 10. http://gcc.gnu.org/index.html ! 11. mailto:gcc@gcc.gnu.org ! 12. http://gcc.gnu.org/mirrors.html ! 13. http://gcc.gnu.org/git.html ! 14. https://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gcc.gnu.org ! 17. https://gcc.gnu.org/lists.html ! 18. https://www.fsf.org/ ! 19. https://gcc.gnu.org/about.html ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-9/changes.html GCC 9 Release Series Changes, New Features, and Fixes This page is a "brief" summary of some of the huge number of ! improvements in GCC 9. You may also want to check out our [1]Porting to ! GCC 9 page and the [2]full GCC documentation. Caveats ! * On Arm targets (arm*-*-*), [3]a bug in the implementation of the procedure call standard (AAPCS) in the GCC 6, 7 and 8 releases has been fixed: a structure containing a bit-field based on a 64-bit integral type and where no other element in a structure required *************** Caveats *** 103,122 **** The following ports for individual systems on particular architectures have been obsoleted: + Solaris 10 (*-*-solaris2.10). Details can be found in the ! [2]announcement. + Cell Broadband Engine SPU (spu*-*-*). Details can be found in ! the [3]announcement. * A change to the C++ std::rotate algorithm in GCC 9.1.0 can cause ABI incompatibilities with object files compiled with other versions of GCC. If the std::rotate algorithm is called with an empty range then it might cause a divide-by-zero error (as a SIGFPE signal) and crash. The change has been reverted for GCC 9.2.0 and ! future releases. For more details see [4]Bug 90920. The problem can be avoided by recompiling any objects that might call std::rotate with an empty range, so that the GCC 9.1.0 definition of std::rotate is not used. ! * The automatic template instantiation at link time ([5]-frepo) has been deprecated and will be removed in a future release. General Improvements --- 110,135 ---- The following ports for individual systems on particular architectures have been obsoleted: + Solaris 10 (*-*-solaris2.10). Details can be found in the ! [4]announcement. + Cell Broadband Engine SPU (spu*-*-*). Details can be found in ! the [5]announcement. * A change to the C++ std::rotate algorithm in GCC 9.1.0 can cause ABI incompatibilities with object files compiled with other versions of GCC. If the std::rotate algorithm is called with an empty range then it might cause a divide-by-zero error (as a SIGFPE signal) and crash. The change has been reverted for GCC 9.2.0 and ! future releases. For more details see [6]Bug 90920. The problem can be avoided by recompiling any objects that might call std::rotate with an empty range, so that the GCC 9.1.0 definition of std::rotate is not used. ! * The automatic template instantiation at link time ([7]-frepo) has been deprecated and will be removed in a future release. + * The --with-default-libstdcxx-abi=gcc4-compatible configure option + is broken in the 9.1 and 9.2 releases, producing a shared library + with missing symbols (see [8]Bug 90361). As a workaround, configure + without that option and build GCC as normal, then edit the + installed headers to define the + _GLIBCXX_USE_CXX11_ABI macro to 0. General Improvements *************** General Improvements *** 125,142 **** * All command line options that take a byte-size argument accept 64-bit integers as well as standard SI and IEC suffixes such as kb and KiB, MB and MiB, or GB and GiB denoting the corresponding ! multiples of bytes. See [6]Invoking GCC for more. ! * A new option, [7]-flive-patching=[inline-only-static|inline-clone], ! has been introduced to provide a safe compilation for ! live-patching. At the same time, provides multiple-level control on ! the enabled IPA optimizations. See the user guide for more details ! about the option. * A new option, --completion, has been added to provide more fine option completion in a shell. It is intended to be used by Bash-completion. * GCC's diagnostics now print source code with a left margin showing line numbers, configurable with ! [8]-fno-diagnostics-show-line-numbers. GCC's diagnostics can also now label regions of the source code to show pertinent information, such as the types within an expression. $ g++ t.cc --- 138,156 ---- * All command line options that take a byte-size argument accept 64-bit integers as well as standard SI and IEC suffixes such as kb and KiB, MB and MiB, or GB and GiB denoting the corresponding ! multiples of bytes. See [9]Invoking GCC for more. ! * A new option, ! [10]-flive-patching=[inline-only-static|inline-clone], has been ! introduced to provide a safe compilation for live-patching. At the ! same time, provides multiple-level control on the enabled IPA ! optimizations. See the user guide for more details about the ! option. * A new option, --completion, has been added to provide more fine option completion in a shell. It is intended to be used by Bash-completion. * GCC's diagnostics now print source code with a left margin showing line numbers, configurable with ! [11]-fno-diagnostics-show-line-numbers. GCC's diagnostics can also now label regions of the source code to show pertinent information, such as the types within an expression. $ g++ t.cc *************** e>' and 'boxed_value') *** 152,172 **** | | | boxed_value<[...]> ! These labels can be disabled via [9]-fno-diagnostics-show-labels. ! * A new option [10]-fdiagnostics-format=json has been introduced for emitting diagnostics in a machine-readable format. ! * The alignment-related options [11]-falign-functions, ! [12]-falign-labels, [13]-falign-loops, and [14]-falign-jumps received support for a secondary alignment (e.g. -falign-loops=n:m:n2:m2). ! * New pair of profiling options ([15]-fprofile-filter-files and ! [16]-fprofile-exclude-files) has been added. The options help to filter which source files are instrumented. * AddressSanitizer generates more compact redzones for automatic variables. That helps to reduce memory footprint of a sanitized binary. * Numerous improvements have been made to the output of ! [17]-fopt-info. Messages are now prefixed with optimized, missed, or note, rather than the old behavior of all being prefixed with note. The output from -fopt-info can now contain information on inlining --- 166,186 ---- | | | boxed_value<[...]> ! These labels can be disabled via [12]-fno-diagnostics-show-labels. ! * A new option [13]-fdiagnostics-format=json has been introduced for emitting diagnostics in a machine-readable format. ! * The alignment-related options [14]-falign-functions, ! [15]-falign-labels, [16]-falign-loops, and [17]-falign-jumps received support for a secondary alignment (e.g. -falign-loops=n:m:n2:m2). ! * New pair of profiling options ([18]-fprofile-filter-files and ! [19]-fprofile-exclude-files) has been added. The options help to filter which source files are instrumented. * AddressSanitizer generates more compact redzones for automatic variables. That helps to reduce memory footprint of a sanitized binary. * Numerous improvements have been made to the output of ! [20]-fopt-info. Messages are now prefixed with optimized, missed, or note, rather than the old behavior of all being prefixed with note. The output from -fopt-info can now contain information on inlining *************** mory"); *** 202,228 **** The old behavior can be obtained via a new -internals suboption of -fopt-info. ! * A new option, [18]-fsave-optimization-record has been added, which writes a SRCFILE.opt-record.json.gz file describing the optimization decisions made by GCC. This is similar to the output of -fopt-info, but with additional metadata such as the inlining chain, and profile information (if available). * Inter-procedural propagation of stack alignment can now be ! controlled by [19]-fipa-stack-alignment. * Propagation of addressability, readonly and writeonly flags on static variables can now be controlled by ! [20]-fipa-reference-addressable. The following built-in functions have been introduced. ! * [21]__builtin_expect_with_probability to provide branch prediction probability hints to the optimizer. ! * [22]__builtin_has_attribute determines whether a function, type, or variable has been declared with some attribute. ! * [23]__builtin_speculation_safe_value can be used to help mitigate against unsafe speculative execution. The following attributes have been introduced. ! * The [24]copy function attribute has been added. The attribute can also be applied to type definitions and to variable declarations. A large number of improvements to code generation have been made, --- 216,242 ---- The old behavior can be obtained via a new -internals suboption of -fopt-info. ! * A new option, [21]-fsave-optimization-record has been added, which writes a SRCFILE.opt-record.json.gz file describing the optimization decisions made by GCC. This is similar to the output of -fopt-info, but with additional metadata such as the inlining chain, and profile information (if available). * Inter-procedural propagation of stack alignment can now be ! controlled by [22]-fipa-stack-alignment. * Propagation of addressability, readonly and writeonly flags on static variables can now be controlled by ! [23]-fipa-reference-addressable. The following built-in functions have been introduced. ! * [24]__builtin_expect_with_probability to provide branch prediction probability hints to the optimizer. ! * [25]__builtin_has_attribute determines whether a function, type, or variable has been declared with some attribute. ! * [26]__builtin_speculation_safe_value can be used to help mitigate against unsafe speculative execution. The following attributes have been introduced. ! * The [27]copy function attribute has been added. The attribute can also be applied to type definitions and to variable declarations. A large number of improvements to code generation have been made, *************** mory"); *** 230,236 **** * Switch expansion has been improved by using a different strategy (jump table, bit test, decision tree) for a subset of switch cases. * A linear function expression defined as a switch statement can be ! transformed by [25]-ftree-switch-conversion. For example: int foo (int how) --- 244,250 ---- * Switch expansion has been improved by using a different strategy (jump table, bit test, decision tree) for a subset of switch cases. * A linear function expression defined as a switch statement can be ! transformed by [28]-ftree-switch-conversion. For example: int foo (int how) *************** foo (int how) *** 257,265 **** + Improved scalability for very large translation units (especially when link-time optimizing large programs). * Profile driven optimization improvements: ! + [26]-fprofile-use now enables [27]-fversion-loops-for-strides, ! [28]-floop-interchange, [29]-floop-unroll-and-jam, ! [30]-ftree-loop-distribution. + Streaming of counter histograms was removed. This reduces the size of profile files. Histogram is computed on the fly with link-time optimization. Parameter hot-bb-count-ws-permille was --- 271,279 ---- + Improved scalability for very large translation units (especially when link-time optimizing large programs). * Profile driven optimization improvements: ! + [29]-fprofile-use now enables [30]-fversion-loops-for-strides, ! [31]-floop-interchange, [32]-floop-unroll-and-jam, ! [33]-ftree-loop-distribution. + Streaming of counter histograms was removed. This reduces the size of profile files. Histogram is computed on the fly with link-time optimization. Parameter hot-bb-count-ws-permille was *************** foo (int how) *** 287,331 **** The following improvements to the gcov command-line utility have been made. ! * The gcov tool received a new option [31]--use-hotness-colors (-q) that can provide perf-like coloring of hot functions. * The gcov tool has changed its intermediate format to a new JSON format. New Languages and Language specific improvements ! [32]OpenACC support in C, C++, and Fortran continues to be maintained and improved. Most of the OpenACC 2.5 specification is implemented. See ! the [33]implementation status section on the OpenACC wiki page for further information. C family ! * Version 5.0 of the [34]OpenMP specification is now partially supported in the C and C++ compilers. For details which features of OpenMP 5.0 are and which are not supported in the GCC 9 release see ! [35]this mail. * New extensions: ! + [36]__builtin_convertvector built-in for vector conversions has been added. * New warnings: ! + [37]-Waddress-of-packed-member, enabled by default, warns about an unaligned pointer value from the address of a packed member of a struct or union. * Enhancements to existing warnings: ! + [38]-Warray-bounds detects more instances of out-of-bounds indices. ! + [39]-Wattribute-alias also detects attribute mismatches between alias declarations and their targets, in addition to mismatches between their types. ! + [40]-Wformat-overflow and [41]-Wformat-truncation have been extended to all formatted input/output functions (where applicable) and enhanced to detect a subset of instances of reading past the end of unterminated constant character arrays in %s directives. ! + [42]-Wmissing-attributes detects instances of missing function attributes on declarations of aliases and weak references. ! + [43]-Wstringop-truncation also detects a subset of instances of reading past the end of unterminated constant character arrays, * If a macro is used with the wrong argument count, the C and C++ --- 301,345 ---- The following improvements to the gcov command-line utility have been made. ! * The gcov tool received a new option [34]--use-hotness-colors (-q) that can provide perf-like coloring of hot functions. * The gcov tool has changed its intermediate format to a new JSON format. New Languages and Language specific improvements ! [35]OpenACC support in C, C++, and Fortran continues to be maintained and improved. Most of the OpenACC 2.5 specification is implemented. See ! the [36]implementation status section on the OpenACC wiki page for further information. C family ! * Version 5.0 of the [37]OpenMP specification is now partially supported in the C and C++ compilers. For details which features of OpenMP 5.0 are and which are not supported in the GCC 9 release see ! [38]this mail. * New extensions: ! + [39]__builtin_convertvector built-in for vector conversions has been added. * New warnings: ! + [40]-Waddress-of-packed-member, enabled by default, warns about an unaligned pointer value from the address of a packed member of a struct or union. * Enhancements to existing warnings: ! + [41]-Warray-bounds detects more instances of out-of-bounds indices. ! + [42]-Wattribute-alias also detects attribute mismatches between alias declarations and their targets, in addition to mismatches between their types. ! + [43]-Wformat-overflow and [44]-Wformat-truncation have been extended to all formatted input/output functions (where applicable) and enhanced to detect a subset of instances of reading past the end of unterminated constant character arrays in %s directives. ! + [45]-Wmissing-attributes detects instances of missing function attributes on declarations of aliases and weak references. ! + [46]-Wstringop-truncation also detects a subset of instances of reading past the end of unterminated constant character arrays, * If a macro is used with the wrong argument count, the C and C++ *************** New Languages and Language specific impr *** 346,352 **** added in C2X (such warnings are also enabled by use of -Wpedantic if not using -std=c2x or -std=gnu2x). * New warnings: ! + [44]-Wabsolute-value warns for calls to standard functions that compute the absolute value of an argument when a more appropriate standard function is available. For example, calling abs(3.14) triggers the warning because the appropriate --- 360,366 ---- added in C2X (such warnings are also enabled by use of -Wpedantic if not using -std=c2x or -std=gnu2x). * New warnings: ! + [47]-Wabsolute-value warns for calls to standard functions that compute the absolute value of an argument when a more appropriate standard function is available. For example, calling abs(3.14) triggers the warning because the appropriate *************** New Languages and Language specific impr *** 359,377 **** C++ * New warnings: ! + [45]-Wdeprecated-copy, implied by -Wextra, warns about the C++11 deprecation of implicitly declared copy constructor and assignment operator if one of them is user-provided. -Wdeprecated-copy-dtor also warns if the destructor is user-provided, as specified in C++11. ! + [46]-Winit-list-lifetime, on by default, warns about uses of std::initializer_list that are likely to result in a dangling pointer, such as returning or assigning from a temporary list. ! + [47]-Wredundant-move, implied by -Wextra, warns about redundant calls to std::move. ! + [48]-Wpessimizing-move, implied by -Wall, warns when a call to std::move prevents copy elision. ! + [49]-Wclass-conversion, on by default, warns when a conversion function will never be called due to the type it converts to. * The C++ front end has experimental support for some of the upcoming C++2a draft features with the -std=c++2a or -std=gnu++2a flags, --- 373,391 ---- C++ * New warnings: ! + [48]-Wdeprecated-copy, implied by -Wextra, warns about the C++11 deprecation of implicitly declared copy constructor and assignment operator if one of them is user-provided. -Wdeprecated-copy-dtor also warns if the destructor is user-provided, as specified in C++11. ! + [49]-Winit-list-lifetime, on by default, warns about uses of std::initializer_list that are likely to result in a dangling pointer, such as returning or assigning from a temporary list. ! + [50]-Wredundant-move, implied by -Wextra, warns about redundant calls to std::move. ! + [51]-Wpessimizing-move, implied by -Wall, warns when a call to std::move prevents copy elision. ! + [52]-Wclass-conversion, on by default, warns when a conversion function will never be called due to the type it converts to. * The C++ front end has experimental support for some of the upcoming C++2a draft features with the -std=c++2a or -std=gnu++2a flags, *************** New Languages and Language specific impr *** 382,388 **** attributes, class types in non-type template parameters, allowing virtual function calls in constant expressions, explicit(bool), std::is_constant_evaluated, nested inline namespaces, etc. For a ! full list of new features, see [50]the C++ status page. * The C++ front end now preserves source locations for literals, id-expression, and mem-initializer for longer. For example it is now able to pin-point the pertinent locations for bad --- 396,402 ---- attributes, class types in non-type template parameters, allowing virtual function calls in constant expressions, explicit(bool), std::is_constant_evaluated, nested inline namespaces, etc. For a ! full list of new features, see [53]the C++ status page. * The C++ front end now preserves source locations for literals, id-expression, and mem-initializer for longer. For example it is now able to pin-point the pertinent locations for bad *************** d*, int)' *** 442,448 **** 3 | void callee (int, void *, int) | ^~~~~~ ! * The C++ front end's implementation of [51]-Wformat now shows precise locations within string literals, and underlines the pertinent arguments at bogus call sites (the C front end has been doing this since GCC 7). For example: --- 456,462 ---- 3 | void callee (int, void *, int) | ^~~~~~ ! * The C++ front end's implementation of [54]-Wformat now shows precise locations within string literals, and underlines the pertinent arguments at bogus call sites (the C front end has been doing this since GCC 7). For example: *************** _SIZE'? *** 528,534 **** * Improved support for C++17, including: + The C++17 implementation is no longer experimental. ! + Parallel algorithms and (requires [52]Thread Building Blocks 2018 or newer). + . + Using the types and functions in does not require --- 542,548 ---- * Improved support for C++17, including: + The C++17 implementation is no longer experimental. ! + Parallel algorithms and (requires [55]Thread Building Blocks 2018 or newer). + . + Using the types and functions in does not require *************** _SIZE'? *** 583,602 **** specific way, one needs to explicitly check for NaN's before calling MAX or MIN, e.g. by using the IEEE_IS_NAN function from the intrinsic module IEEE_ARITHMETIC. ! * A new command-line option [53]-fdec-include, set also by the ! [54]-fdec option, has been added to increase compatibility with legacy code. With this option, an INCLUDE directive is also parsed as a statement, which allows the directive to be spread across multiple source lines with line continuations. ! * A new [55]BUILTIN directive, has been added. The purpose of the directive is to provide an API between the GCC compiler and the GNU C Library which would define vector implementations of math routines. libgccjit * The libgccjit API gained a new entry point: ! [56]gcc_jit_context_add_driver_option. New Targets and Target Specific Improvements --- 597,621 ---- specific way, one needs to explicitly check for NaN's before calling MAX or MIN, e.g. by using the IEEE_IS_NAN function from the intrinsic module IEEE_ARITHMETIC. ! * A new command-line option [56]-fdec-include, set also by the ! [57]-fdec option, has been added to increase compatibility with legacy code. With this option, an INCLUDE directive is also parsed as a statement, which allows the directive to be spread across multiple source lines with line continuations. ! * A new [58]BUILTIN directive, has been added. The purpose of the directive is to provide an API between the GCC compiler and the GNU C Library which would define vector implementations of math routines. + Go + + * GCC 9 provides a complete implementation of the Go 1.12.2 user + packages. + libgccjit * The libgccjit API gained a new entry point: ! [59]gcc_jit_context_add_driver_option. New Targets and Target Specific Improvements *************** New Targets and Target Specific Improvem *** 637,643 **** * Support has been added for the Arm Neoverse E1 processor (-mcpu=neoverse-e1). * The AArch64 port now has support for stack clash protection using ! the [57]-fstack-clash-protection option. The probing interval/guard size can be set by using --param stack-clash-protection-guard-size=12|16. The value of this parameter must be in bytes represented as a power of two. The two --- 656,662 ---- * Support has been added for the Arm Neoverse E1 processor (-mcpu=neoverse-e1). * The AArch64 port now has support for stack clash protection using ! the [60]-fstack-clash-protection option. The probing interval/guard size can be set by using --param stack-clash-protection-guard-size=12|16. The value of this parameter must be in bytes represented as a power of two. The two *************** New Targets and Target Specific Improvem *** 650,656 **** option can now be used to enable the return address signing as well as the new Branch Target Identification feature of Armv8.5-A architecture. For more information on the arguments accepted by ! this option, please refer to [58]AArch64-Options. * The following optional extensions to Armv8.5-A architecture are now supported and only affect the assembler. + Random Number Generation instructions through the --- 669,675 ---- option can now be used to enable the return address signing as well as the new Branch Target Identification feature of Armv8.5-A architecture. For more information on the arguments accepted by ! this option, please refer to [61]AArch64-Options. * The following optional extensions to Armv8.5-A architecture are now supported and only affect the assembler. + Random Number Generation instructions through the *************** New Targets and Target Specific Improvem *** 696,701 **** --- 715,726 ---- * Support of Intel MPX (Memory Protection Extensions) has been removed. + * New ISA extension support for Intel PTWRITE was added to GCC. + PTWRITE intrinsics are available via the -mptwrite compiler switch. + * GCC now supports the Intel CPU named Cascade Lake with AVX512 + extensions through -march=cascadelake. The switch enables the + following ISA extensions: AVX512F, AVX512VL, AVX512CD, AVX512BW, + AVX512DQ, AVX512VNNI. OpenRISC *************** Operating Systems *** 747,753 **** Windows ! * A C++ Microsoft ABI bitfield layout bug, [59]PR87137 has been fixed. A non-field declaration could cause the current bitfield allocation unit to be completed, incorrectly placing a following bitfield into a new allocation unit. The Microsoft ABI is selected --- 772,778 ---- Windows ! * A C++ Microsoft ABI bitfield layout bug, [62]PR87137 has been fixed. A non-field declaration could cause the current bitfield allocation unit to be completed, incorrectly placing a following bitfield into a new allocation unit. The Microsoft ABI is selected *************** Improvements for plugin authors *** 763,770 **** * GCC's diagnostic subsystem now has a way to logically group together related diagnostics, auto_diagnostic_group. Such diagnostics will be nested by the output of ! [60]-fdiagnostics-format=json. ! * GCC now has a set of [61]user experience guidelines for GCC, with information and advice on implementing new diagnostics. Other significant improvements --- 788,795 ---- * GCC's diagnostic subsystem now has a way to logically group together related diagnostics, auto_diagnostic_group. Such diagnostics will be nested by the output of ! [63]-fdiagnostics-format=json. ! * GCC now has a set of [64]user experience guidelines for GCC, with information and advice on implementing new diagnostics. Other significant improvements *************** Other significant improvements *** 774,900 **** GCC 9.1 ! This is the [62]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 9.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). GCC 9.2 ! This is the [63]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 9.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). For questions related to the use of GCC, please consult these web ! pages and the [64]GCC manuals. If that fails, the ! [65]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [66]gcc@gcc.gnu.org. All of [67]our lists have public archives. ! Copyright (C) [68]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [69]maintained by the GCC team. Last modified ! 2019-08-12[70]. References ! 1. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469 ! 2. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html ! 3. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html ! 4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90920 ! 5. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-frepo ! 6. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-GCC.html#Invoking-GCC ! 7. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-flive-patching ! 8. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-line-numbers ! 9. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-labels ! 10. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 11. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-functions ! 12. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-labels ! 13. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-loops ! 14. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-jumps ! 15. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fprofile-filter-files ! 16. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fprofile-exclude-files ! 17. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fopt-info ! 18. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record ! 19. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fipa-stack-alignment ! 20. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fipa-reference-addressable ! 21. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fexpect_005fwith_005fprobability ! 22. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fhas_005fattribute-1 ! 23. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fspeculation_005fsafe_005fvalue-1 ! 24. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Common-Function-Attributes.html#index-copy-function-attribute ! 25. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-switch-conversion ! 26. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fprofile-use ! 27. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fversion-loops-for-strides ! 28. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-floop-interchange ! 29. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-floop-unroll-and-jam ! 30. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-loop-distribution ! 31. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-Gcov.html#Invoking-Gcov ! 32. https://www.openacc.org/ ! 33. https://gcc.gnu.org/wiki/OpenACC#status-9 ! 34. https://www.openmp.org/specifications/ ! 35. https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00628.html ! 36. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Vector-Extensions.html#index-_005f_005fbuiltin_005fconvertvector ! 37. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Waddress-of-packed-member ! 38. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Warray-bounds ! 39. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wattribute-alias ! 40. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat-overflow ! 41. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat-truncation ! 42. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wmissing-attributes ! 43. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wstringop-truncation ! 44. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wabsolute-value ! 45. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wdeprecated-copy ! 46. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Winit-list-lifetime ! 47. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move ! 48. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move ! 49. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion ! 50. http://gcc.gnu.org/projects/cxx-status.html#cxx2a ! 51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat ! 52. https://www.threadingbuildingblocks.org/ ! 53. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include ! 54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec ! 55. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/BUILTIN-directive.html#BUILTIN-directive ! 56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/jit/topics/contexts.html#gcc_jit_context_add_driver_option ! 57. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fstack-protector ! 58. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/AArch64-Options.html#AArch64-Options ! 59. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 ! 60. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 61. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gccint/User-Experience-Guidelines.html ! 62. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.0 ! 63. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.2 ! 64. https://gcc.gnu.org/onlinedocs/ ! 65. mailto:gcc-help@gcc.gnu.org ! 66. mailto:gcc@gcc.gnu.org ! 67. https://gcc.gnu.org/lists.html ! 68. https://www.fsf.org/ ! 69. https://gcc.gnu.org/about.html ! 70. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-8/index.html GCC 8 Release Series ! Feb 22, 2019 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 8.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 8.2 relative to previous releases of GCC. Release History GCC 8.3 ! Feb 22, 2019 ([2]changes, [3]documentation) GCC 8.2 ! Jul 14, 2018 ([4]changes, [5]documentation) GCC 8.1 ! May 2, 2018 ([6]changes, [7]documentation) References and Acknowledgements --- 799,939 ---- GCC 9.1 ! This is the [65]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 9.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). GCC 9.2 ! This is the [66]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 9.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). + GCC 9.3 + + This is the [67]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 9.3 release. This list might + not be complete (that is, it is possible that some PRs that have been + fixed are not listed here). + For questions related to the use of GCC, please consult these web ! pages and the [68]GCC manuals. If that fails, the ! [69]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [70]gcc@gcc.gnu.org. All of [71]our lists have public archives. ! Copyright (C) [72]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [73]maintained by the GCC team. Last modified ! 2020-03-12[74]. References ! 1. http://gcc.gnu.org/gcc-9/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current ! 3. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469 ! 4. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html ! 5. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html ! 6. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90920 ! 7. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-frepo ! 8. https://gcc.gnu.org/PR90361 ! 9. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-GCC.html#Invoking-GCC ! 10. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-flive-patching ! 11. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-line-numbers ! 12. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fno-diagnostics-show-labels ! 13. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 14. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-functions ! 15. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-labels ! 16. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-loops ! 17. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-falign-jumps ! 18. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fprofile-filter-files ! 19. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fprofile-exclude-files ! 20. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fopt-info ! 21. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Developer-Options.html#index-fsave-optimization-record ! 22. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fipa-stack-alignment ! 23. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fipa-reference-addressable ! 24. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fexpect_005fwith_005fprobability ! 25. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fhas_005fattribute-1 ! 26. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fspeculation_005fsafe_005fvalue-1 ! 27. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Common-Function-Attributes.html#index-copy-function-attribute ! 28. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-switch-conversion ! 29. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fprofile-use ! 30. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-fversion-loops-for-strides ! 31. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-floop-interchange ! 32. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-floop-unroll-and-jam ! 33. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Optimize-Options.html#index-ftree-loop-distribution ! 34. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Invoking-Gcov.html#Invoking-Gcov ! 35. https://www.openacc.org/ ! 36. https://gcc.gnu.org/wiki/OpenACC#status-9 ! 37. https://www.openmp.org/specifications/ ! 38. https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00628.html ! 39. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Vector-Extensions.html#index-_005f_005fbuiltin_005fconvertvector ! 40. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Waddress-of-packed-member ! 41. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Warray-bounds ! 42. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wattribute-alias ! 43. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat-overflow ! 44. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat-truncation ! 45. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wmissing-attributes ! 46. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wstringop-truncation ! 47. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wabsolute-value ! 48. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wdeprecated-copy ! 49. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Winit-list-lifetime ! 50. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move ! 51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move ! 52. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion ! 53. http://gcc.gnu.org/projects/cxx-status.html#cxx2a ! 54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat ! 55. https://github.com/intel/tbb ! 56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include ! 57. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec ! 58. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/BUILTIN-directive.html#BUILTIN-directive ! 59. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/jit/topics/contexts.html#gcc_jit_context_add_driver_option ! 60. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Instrumentation-Options.html#index-fstack-protector ! 61. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/AArch64-Options.html#AArch64-Options ! 62. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 ! 63. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 64. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gccint/User-Experience-Guidelines.html ! 65. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.0 ! 66. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.2 ! 67. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=9.3 ! 68. https://gcc.gnu.org/onlinedocs/ ! 69. mailto:gcc-help@gcc.gnu.org ! 70. mailto:gcc@gcc.gnu.org ! 71. https://gcc.gnu.org/lists.html ! 72. https://www.fsf.org/ ! 73. https://gcc.gnu.org/about.html ! 74. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-8/index.html GCC 8 Release Series ! Mar 4, 2020 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 8.4. This release is a bug-fix release, containing fixes for regressions in ! GCC 8.3 relative to previous releases of GCC. Release History + GCC 8.4 + Mar 4, 2020 ([2]changes, [3]documentation) + GCC 8.3 ! Feb 22, 2019 ([4]changes, [5]documentation) GCC 8.2 ! Jul 26, 2018 ([6]changes, [7]documentation) GCC 8.1 ! May 2, 2018 ([8]changes, [9]documentation) References and Acknowledgements *************** References and Acknowledgements *** 902,957 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [8]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [9]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [10]GCC ! project web site or contact the [11]GCC development mailing list. ! To obtain GCC please use [12]our mirror sites or [13]our SVN server. For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [16]gcc@gcc.gnu.org. All of [17]our lists have public archives. ! Copyright (C) [18]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [19]maintained by the GCC team. Last modified ! 2019-02-22[20]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-8/changes.html ! 3. http://gcc.gnu.org/onlinedocs/8.3.0/ 4. http://gcc.gnu.org/gcc-8/changes.html ! 5. http://gcc.gnu.org/onlinedocs/8.2.0/ 6. http://gcc.gnu.org/gcc-8/changes.html ! 7. http://gcc.gnu.org/onlinedocs/8.1.0/ ! 8. http://gcc.gnu.org/gcc-8/buildstat.html ! 9. http://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Contributors.html ! 10. http://gcc.gnu.org/index.html ! 11. mailto:gcc@gcc.gnu.org ! 12. http://gcc.gnu.org/mirrors.html ! 13. http://gcc.gnu.org/svn.html ! 14. https://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gcc.gnu.org ! 17. https://gcc.gnu.org/lists.html ! 18. https://www.fsf.org/ ! 19. https://gcc.gnu.org/about.html ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-8/changes.html GCC 8 Release Series --- 941,999 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [10]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [11]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [12]GCC ! project web site or contact the [13]GCC development mailing list. ! To obtain GCC please use [14]our mirror sites or [15]our version ! control system. For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [18]gcc@gcc.gnu.org. All of [19]our lists have public archives. ! Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [21]maintained by the GCC team. Last modified ! 2020-03-04[22]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-8/changes.html ! 3. http://gcc.gnu.org/onlinedocs/8.4.0/ 4. http://gcc.gnu.org/gcc-8/changes.html ! 5. http://gcc.gnu.org/onlinedocs/8.3.0/ 6. http://gcc.gnu.org/gcc-8/changes.html ! 7. http://gcc.gnu.org/onlinedocs/8.2.0/ ! 8. http://gcc.gnu.org/gcc-8/changes.html ! 9. http://gcc.gnu.org/onlinedocs/8.1.0/ ! 10. http://gcc.gnu.org/gcc-8/buildstat.html ! 11. http://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Contributors.html ! 12. http://gcc.gnu.org/index.html ! 13. mailto:gcc@gcc.gnu.org ! 14. http://gcc.gnu.org/mirrors.html ! 15. http://gcc.gnu.org/git.html ! 16. https://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. https://gcc.gnu.org/lists.html ! 20. https://www.fsf.org/ ! 21. https://gcc.gnu.org/about.html ! 22. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-8/changes.html GCC 8 Release Series *************** Caveats *** 974,980 **** std::make_exception_ptr should be used instead. * Support for the powerpc*-*-*spe* target ports which have been recently unmaintained and untested in GCC has been declared ! obsolete in GCC 8 as announced [3]here. Unless there is activity to revive them, the next release of GCC will have their sources permanently removed. --- 1016,1022 ---- std::make_exception_ptr should be used instead. * Support for the powerpc*-*-*spe* target ports which have been recently unmaintained and untested in GCC has been declared ! obsolete in GCC 8 as [3]announced. Unless there is activity to revive them, the next release of GCC will have their sources permanently removed. *************** GCC 8.3 *** 1995,2014 **** resolve only those regressions, we decided to resolve all the cases of this defect in single change. For questions related to the use of GCC, please consult these web ! pages and the [37]GCC manuals. If that fails, the ! [38]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [39]gcc@gcc.gnu.org. All of [40]our lists have public archives. ! Copyright (C) [41]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [42]maintained by the GCC team. Last modified ! 2019-04-17[43]. References --- 2037,2063 ---- resolve only those regressions, we decided to resolve all the cases of this defect in single change. + GCC 8.4 + + This is the [37]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 8.4 release. This list might + not be complete (that is, it is possible that some PRs that have been + fixed are not listed here). + For questions related to the use of GCC, please consult these web ! pages and the [38]GCC manuals. If that fails, the ! [39]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [40]gcc@gcc.gnu.org. All of [41]our lists have public archives. ! Copyright (C) [42]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [43]maintained by the GCC team. Last modified ! 2020-03-04[44]. References *************** References *** 2048,2085 **** 34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413 35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3 36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 ! 37. https://gcc.gnu.org/onlinedocs/ ! 38. mailto:gcc-help@gcc.gnu.org ! 39. mailto:gcc@gcc.gnu.org ! 40. https://gcc.gnu.org/lists.html ! 41. https://www.fsf.org/ ! 42. https://gcc.gnu.org/about.html ! 43. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/index.html GCC 7 Release Series ! Dec 6, 2018 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 7.4. This release is a bug-fix release, containing fixes for regressions in ! GCC 7.3 relative to previous releases of GCC. Release History GCC 7.4 ! Dec 6, 2018 ([2]changes, [3]documentation) GCC 7.3 ! Jan 25, 2018 ([4]changes, [5]documentation) GCC 7.2 ! Aug 14, 2017 ([6]changes, [7]documentation) GCC 7.1 ! May 2, 2017 ([8]changes, [9]documentation) References and Acknowledgements --- 2097,2138 ---- 34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413 35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3 36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 ! 37. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.4 ! 38. https://gcc.gnu.org/onlinedocs/ ! 39. mailto:gcc-help@gcc.gnu.org ! 40. mailto:gcc@gcc.gnu.org ! 41. https://gcc.gnu.org/lists.html ! 42. https://www.fsf.org/ ! 43. https://gcc.gnu.org/about.html ! 44. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/index.html GCC 7 Release Series ! Nov 14, 2019 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 7.5. This release is a bug-fix release, containing fixes for regressions in ! GCC 7.4 relative to previous releases of GCC. Release History + GCC 7.5 + Nov 14, 2019 ([2]changes, [3]documentation) + GCC 7.4 ! Dec 6, 2018 ([4]changes, [5]documentation) GCC 7.3 ! Jan 25, 2018 ([6]changes, [7]documentation) GCC 7.2 ! Aug 14, 2017 ([8]changes, [9]documentation) GCC 7.1 ! May 2, 2017 ([10]changes, [11]documentation) References and Acknowledgements *************** References and Acknowledgements *** 2087,2144 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [10]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [11]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [12]GCC ! project web site or contact the [13]GCC development mailing list. ! To obtain GCC please use [14]our mirror sites or [15]our SVN server. For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [18]gcc@gcc.gnu.org. All of [19]our lists have public archives. ! Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [21]maintained by the GCC team. Last modified ! 2018-12-06[22]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-7/changes.html ! 3. http://gcc.gnu.org/onlinedocs/7.4.0/ 4. http://gcc.gnu.org/gcc-7/changes.html ! 5. http://gcc.gnu.org/onlinedocs/7.3.0/ 6. http://gcc.gnu.org/gcc-7/changes.html ! 7. http://gcc.gnu.org/onlinedocs/7.2.0/ 8. http://gcc.gnu.org/gcc-7/changes.html ! 9. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 10. http://gcc.gnu.org/gcc-7/buildstat.html ! 11. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 12. http://gcc.gnu.org/index.html ! 13. mailto:gcc@gcc.gnu.org ! 14. http://gcc.gnu.org/mirrors.html ! 15. http://gcc.gnu.org/svn.html ! 16. https://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. https://gcc.gnu.org/lists.html ! 20. https://www.fsf.org/ ! 21. https://gcc.gnu.org/about.html ! 22. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/changes.html GCC 7 Release Series --- 2140,2200 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [12]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [13]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [14]GCC ! project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web ! pages and the [18]GCC manuals. If that fails, the ! [19]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [20]gcc@gcc.gnu.org. All of [21]our lists have public archives. ! Copyright (C) [22]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-7/changes.html ! 3. http://gcc.gnu.org/onlinedocs/7.5.0/ 4. http://gcc.gnu.org/gcc-7/changes.html ! 5. http://gcc.gnu.org/onlinedocs/7.4.0/ 6. http://gcc.gnu.org/gcc-7/changes.html ! 7. http://gcc.gnu.org/onlinedocs/7.3.0/ 8. http://gcc.gnu.org/gcc-7/changes.html ! 9. http://gcc.gnu.org/onlinedocs/7.2.0/ ! 10. http://gcc.gnu.org/gcc-7/changes.html ! 11. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 12. http://gcc.gnu.org/gcc-7/buildstat.html ! 13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. http://gcc.gnu.org/index.html ! 15. mailto:gcc@gcc.gnu.org ! 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html ! 18. https://gcc.gnu.org/onlinedocs/ ! 19. mailto:gcc-help@gcc.gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. https://gcc.gnu.org/lists.html ! 22. https://www.fsf.org/ ! 23. https://gcc.gnu.org/about.html ! 24. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/changes.html GCC 7 Release Series *************** GCC 7.4 *** 3188,3207 **** not be complete (that is, it is possible that some PRs that have been fixed are not listed here). For questions related to the use of GCC, please consult these web ! pages and the [28]GCC manuals. If that fails, the ! [29]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [30]gcc@gcc.gnu.org. All of [31]our lists have public archives. ! Copyright (C) [32]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [33]maintained by the GCC team. Last modified ! 2018-12-06[34]. References --- 3244,3270 ---- not be complete (that is, it is possible that some PRs that have been fixed are not listed here). + GCC 7.5 + + This is the [28]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 7.5 release. This list might + not be complete (that is, it is possible that some PRs that have been + fixed are not listed here). + For questions related to the use of GCC, please consult these web ! pages and the [29]GCC manuals. If that fails, the ! [30]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [31]gcc@gcc.gnu.org. All of [32]our lists have public archives. ! Copyright (C) [33]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [34]maintained by the GCC team. Last modified ! 2019-11-28[35]. References *************** References *** 3232,3244 **** 25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.3 26. https://www.gaisler.com/index.php/information/app-tech-notes 27. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.4 ! 28. https://gcc.gnu.org/onlinedocs/ ! 29. mailto:gcc-help@gcc.gnu.org ! 30. mailto:gcc@gcc.gnu.org ! 31. https://gcc.gnu.org/lists.html ! 32. https://www.fsf.org/ ! 33. https://gcc.gnu.org/about.html ! 34. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-6/index.html GCC 6 Release Series --- 3295,3308 ---- 25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.3 26. https://www.gaisler.com/index.php/information/app-tech-notes 27. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.4 ! 28. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.5 ! 29. https://gcc.gnu.org/onlinedocs/ ! 30. mailto:gcc-help@gcc.gnu.org ! 31. mailto:gcc@gcc.gnu.org ! 32. https://gcc.gnu.org/lists.html ! 33. https://www.fsf.org/ ! 34. https://gcc.gnu.org/about.html ! 35. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-6/index.html GCC 6 Release Series *************** References and Acknowledgements *** 3287,3293 **** For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web --- 3351,3358 ---- For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 3302,3308 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-06-09[24]. References --- 3367,3373 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References *************** References *** 3322,3328 **** 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 3387,3393 ---- 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** Operating Systems *** 4040,4046 **** provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2018-10-31[33]. References --- 4105,4111 ---- provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2019-11-28[33]. References *************** References and Acknowledgements *** 4125,4131 **** For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web --- 4190,4197 ---- For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 4140,4146 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-06-09[24]. References --- 4206,4212 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References *************** References *** 4160,4166 **** 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 4226,4232 ---- 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** Target Specific Changes *** 5050,5056 **** provided this notice is preserved. These pages are [51]maintained by the GCC team. Last modified ! 2018-09-30[52]. References --- 5116,5122 ---- provided this notice is preserved. These pages are [51]maintained by the GCC team. Last modified ! 2019-11-28[52]. References *************** References and Acknowledgements *** 5154,5160 **** For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web --- 5220,5227 ---- For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 5169,5175 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-06-09[24]. References --- 5236,5242 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References *************** References *** 5189,5195 **** 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 5256,5262 ---- 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** GCC 4.9.4 *** 5808,5814 **** provided this notice is preserved. These pages are [34]maintained by the GCC team. Last modified ! 2018-12-01[35]. References --- 5875,5881 ---- provided this notice is preserved. These pages are [34]maintained by the GCC team. Last modified ! 2019-11-28[35]. References *************** References and Acknowledgements *** 5898,5904 **** For additional information about GCC please refer to the [16]GCC project web site or contact the [17]GCC development mailing list. ! To obtain GCC please use [18]our mirror sites or [19]our SVN server. For questions related to the use of GCC, please consult these web --- 5965,5972 ---- For additional information about GCC please refer to the [16]GCC project web site or contact the [17]GCC development mailing list. ! To obtain GCC please use [18]our mirror sites or [19]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 5913,5919 **** provided this notice is preserved. These pages are [25]maintained by the GCC team. Last modified ! 2019-06-09[26]. References --- 5981,5987 ---- provided this notice is preserved. These pages are [25]maintained by the GCC team. Last modified ! 2020-01-14[26]. References *************** References *** 5935,5941 **** 16. http://gcc.gnu.org/index.html 17. mailto:gcc@gcc.gnu.org 18. http://gcc.gnu.org/mirrors.html ! 19. http://gcc.gnu.org/svn.html 20. https://gcc.gnu.org/onlinedocs/ 21. mailto:gcc-help@gcc.gnu.org 22. mailto:gcc@gcc.gnu.org --- 6003,6009 ---- 16. http://gcc.gnu.org/index.html 17. mailto:gcc@gcc.gnu.org 18. http://gcc.gnu.org/mirrors.html ! 19. http://gcc.gnu.org/git.html 20. https://gcc.gnu.org/onlinedocs/ 21. mailto:gcc-help@gcc.gnu.org 22. mailto:gcc@gcc.gnu.org *************** GCC 4.8.5 *** 6668,6674 **** provided this notice is preserved. These pages are [43]maintained by the GCC team. Last modified ! 2018-09-30[44]. References --- 6736,6742 ---- provided this notice is preserved. These pages are [43]maintained by the GCC team. Last modified ! 2019-11-28[44]. References *************** References and Acknowledgements *** 6764,6770 **** For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web --- 6832,6839 ---- For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 6779,6785 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-06-09[24]. References --- 6848,6854 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References *************** References *** 6799,6805 **** 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 6868,6874 ---- 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** GCC 4.7.4 *** 7600,7606 **** provided this notice is preserved. These pages are [54]maintained by the GCC team. Last modified ! 2019-07-10[55]. References --- 7669,7675 ---- provided this notice is preserved. These pages are [54]maintained by the GCC team. Last modified ! 2019-11-28[55]. References *************** References and Acknowledgements *** 7707,7713 **** For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web --- 7776,7783 ---- For additional information about GCC please refer to the [14]GCC project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 7722,7728 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-06-09[24]. References --- 7792,7798 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2020-01-14[24]. References *************** References *** 7742,7748 **** 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 7812,7818 ---- 14. http://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** GCC 4.6.4 *** 8646,8652 **** provided this notice is preserved. These pages are [29]maintained by the GCC team. Last modified ! 2018-09-30[30]. References --- 8716,8722 ---- provided this notice is preserved. These pages are [29]maintained by the GCC team. Last modified ! 2019-11-28[30]. References *************** References and Acknowledgements *** 8728,8734 **** For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our SVN server. For questions related to the use of GCC, please consult these web --- 8798,8805 ---- For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 8743,8749 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2019-06-09[19]. References --- 8814,8820 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2020-01-14[19]. References *************** References *** 8758,8764 **** 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/svn.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 8829,8835 ---- 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** GCC 4.5.4 *** 9415,9421 **** provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2018-09-30[33]. References --- 9486,9492 ---- provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2019-11-28[33]. References *************** References and Acknowledgements *** 9509,9515 **** For additional information about GCC please refer to the [12]GCC project web site or contact the [13]GCC development mailing list. ! To obtain GCC please use [14]our mirror sites or [15]our SVN server. For questions related to the use of GCC, please consult these web --- 9580,9587 ---- For additional information about GCC please refer to the [12]GCC project web site or contact the [13]GCC development mailing list. ! To obtain GCC please use [14]our mirror sites or [15]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 9524,9530 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2019-06-09[22]. References --- 9596,9602 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2020-01-14[22]. References *************** References *** 9542,9548 **** 12. http://gcc.gnu.org/index.html 13. mailto:gcc@gcc.gnu.org 14. http://gcc.gnu.org/mirrors.html ! 15. http://gcc.gnu.org/svn.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org --- 9614,9620 ---- 12. http://gcc.gnu.org/index.html 13. mailto:gcc@gcc.gnu.org 14. http://gcc.gnu.org/mirrors.html ! 15. http://gcc.gnu.org/git.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org *************** GCC 4.4.7 *** 10154,10160 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2018-09-30[24]. References --- 10226,10232 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2019-11-28[24]. References *************** References and Acknowledgements *** 10236,10242 **** For additional information about GCC please refer to the [11]GCC project web site or contact the [12]GCC development mailing list. ! To obtain GCC please use [13]our mirror sites or [14]our SVN server. For questions related to the use of GCC, please consult these web --- 10308,10315 ---- For additional information about GCC please refer to the [11]GCC project web site or contact the [12]GCC development mailing list. ! To obtain GCC please use [13]our mirror sites or [14]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 10251,10257 **** provided this notice is preserved. These pages are [20]maintained by the GCC team. Last modified ! 2019-06-09[21]. References --- 10324,10330 ---- provided this notice is preserved. These pages are [20]maintained by the GCC team. Last modified ! 2020-01-14[21]. References *************** References *** 10268,10274 **** 11. http://gcc.gnu.org/index.html 12. mailto:gcc@gcc.gnu.org 13. http://gcc.gnu.org/mirrors.html ! 14. http://gcc.gnu.org/svn.html 15. https://gcc.gnu.org/onlinedocs/ 16. mailto:gcc-help@gcc.gnu.org 17. mailto:gcc@gcc.gnu.org --- 10341,10347 ---- 11. http://gcc.gnu.org/index.html 12. mailto:gcc@gcc.gnu.org 13. http://gcc.gnu.org/mirrors.html ! 14. http://gcc.gnu.org/git.html 15. https://gcc.gnu.org/onlinedocs/ 16. mailto:gcc-help@gcc.gnu.org 17. mailto:gcc@gcc.gnu.org *************** GCC 4.3.6 *** 11056,11062 **** provided this notice is preserved. These pages are [30]maintained by the GCC team. Last modified ! 2018-09-30[31]. References --- 11129,11135 ---- provided this notice is preserved. These pages are [30]maintained by the GCC team. Last modified ! 2019-11-28[31]. References *************** References and Acknowledgements *** 11139,11145 **** For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our SVN server. For questions related to the use of GCC, please consult these web --- 11212,11219 ---- For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 11154,11160 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2019-06-09[19]. References --- 11228,11234 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2020-01-14[19]. References *************** References *** 11169,11175 **** 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/svn.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 11243,11249 ---- 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** Other significant improvements *** 11482,11488 **** provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2018-09-30[12]. References --- 11556,11562 ---- provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2019-11-28[12]. References *************** References and Acknowledgements *** 11540,11546 **** For additional information about GCC please refer to the [7]GCC project web site or contact the [8]GCC development mailing list. ! To obtain GCC please use [9]our mirror sites or [10]our SVN server. For questions related to the use of GCC, please consult these web --- 11614,11621 ---- For additional information about GCC please refer to the [7]GCC project web site or contact the [8]GCC development mailing list. ! To obtain GCC please use [9]our mirror sites or [10]our version control ! system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 11555,11561 **** provided this notice is preserved. These pages are [16]maintained by the GCC team. Last modified ! 2019-06-09[17]. References --- 11630,11636 ---- provided this notice is preserved. These pages are [16]maintained by the GCC team. Last modified ! 2020-01-14[17]. References *************** References *** 11568,11574 **** 7. http://gcc.gnu.org/index.html 8. mailto:gcc@gcc.gnu.org 9. http://gcc.gnu.org/mirrors.html ! 10. http://gcc.gnu.org/svn.html 11. https://gcc.gnu.org/onlinedocs/ 12. mailto:gcc-help@gcc.gnu.org 13. mailto:gcc@gcc.gnu.org --- 11643,11649 ---- 7. http://gcc.gnu.org/index.html 8. mailto:gcc@gcc.gnu.org 9. http://gcc.gnu.org/mirrors.html ! 10. http://gcc.gnu.org/git.html 11. https://gcc.gnu.org/onlinedocs/ 12. mailto:gcc-help@gcc.gnu.org 13. mailto:gcc@gcc.gnu.org *************** GCC 4.1.2 *** 12118,12124 **** provided this notice is preserved. These pages are [12]maintained by the GCC team. Last modified ! 2018-09-30[13]. References --- 12193,12199 ---- provided this notice is preserved. These pages are [12]maintained by the GCC team. Last modified ! 2019-11-28[13]. References *************** References and Acknowledgements *** 12183,12189 **** For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites, or [12]our SVN server. For questions related to the use of GCC, please consult these web --- 12258,12265 ---- For additional information about GCC please refer to the [9]GCC project web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites, or [12]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 12198,12204 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2019-06-09[19]. References --- 12274,12280 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2020-01-14[19]. References *************** References *** 12213,12219 **** 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/svn.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 12289,12295 ---- 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** GCC 4.0.4 *** 12724,12730 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2018-09-30[22]. References --- 12800,12806 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2019-11-28[22]. References *************** References and Acknowledgements *** 12809,12815 **** For additional information about GCC please refer to the [13]GCC project web site or contact the [14]GCC development mailing list. ! To obtain GCC please use [15]our mirror sites, or [16]our SVN server. For questions related to the use of GCC, please consult these web --- 12885,12892 ---- For additional information about GCC please refer to the [13]GCC project web site or contact the [14]GCC development mailing list. ! To obtain GCC please use [15]our mirror sites, or [16]our version ! control system. For questions related to the use of GCC, please consult these web *************** References and Acknowledgements *** 12824,12830 **** provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2019-06-09[23]. References --- 12901,12907 ---- provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2020-01-14[23]. References *************** References *** 12843,12849 **** 13. http://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org 15. http://gcc.gnu.org/mirrors.html ! 16. http://gcc.gnu.org/svn.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org --- 12920,12926 ---- 13. http://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org 15. http://gcc.gnu.org/mirrors.html ! 16. http://gcc.gnu.org/git.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org *************** GCC 3.4.6 *** 14612,14618 **** provided this notice is preserved. These pages are [416]maintained by the GCC team. Last modified ! 2018-09-30[417]. References --- 14689,14695 ---- provided this notice is preserved. These pages are [416]maintained by the GCC team. Last modified ! 2019-11-28[417]. References *************** References and Acknowledgements *** 15108,15114 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2019-06-09[22]. References --- 15185,15191 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2019-11-28[22]. References *************** GCC 3.3.6 *** 16483,16489 **** provided this notice is preserved. These pages are [556]maintained by the GCC team. Last modified ! 2018-09-30[557]. References --- 16560,16566 ---- provided this notice is preserved. These pages are [556]maintained by the GCC team. Last modified ! 2019-11-28[557]. References *************** References and Acknowledgements *** 17113,17119 **** provided this notice is preserved. These pages are [17]maintained by the GCC team. Last modified ! 2019-06-09[18]. References --- 17190,17196 ---- provided this notice is preserved. These pages are [17]maintained by the GCC team. Last modified ! 2019-11-28[18]. References *************** GCC 3.2 *** 17736,17742 **** provided this notice is preserved. These pages are [251]maintained by the GCC team. Last modified ! 2018-09-30[252]. References --- 17813,17819 ---- provided this notice is preserved. These pages are [251]maintained by the GCC team. Last modified ! 2019-11-28[252]. References *************** http://gcc.gnu.org/gcc-3.1/index.html *** 18041,18047 **** provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2019-06-09[15]. References --- 18118,18124 ---- provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2019-11-28[15]. References *************** Documentation improvements *** 18395,18401 **** provided this notice is preserved. These pages are [13]maintained by the GCC team. Last modified ! 2018-09-30[14]. References --- 18472,18478 ---- provided this notice is preserved. These pages are [13]maintained by the GCC team. Last modified ! 2019-11-28[14]. References *************** Previous 3.0.x Releases *** 18469,18475 **** provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2019-06-09[15]. References --- 18546,18552 ---- provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2019-11-28[15]. References *************** Other significant improvements *** 18660,18666 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2018-09-30[19]. References --- 18737,18743 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2019-11-28[19]. References *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 18731,18737 **** provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2018-09-30[8]. References --- 18808,18814 ---- provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2019-11-28[8]. References *************** References and Acknowledgements *** 18813,18819 **** provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2019-06-09[16]. References --- 18890,18896 ---- provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2019-11-28[16]. References *************** Additional Changes in GCC 2.95.3 *** 19078,19084 **** provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2018-09-30[23]. References --- 19155,19161 ---- provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2019-11-28[23]. References *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 19161,19167 **** provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2018-09-30[8]. References --- 19238,19244 ---- provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2019-11-28[8]. References *************** http://gcc.gnu.org/egcs-1.1/index.html *** 19382,19388 **** provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2018-09-30[16]. References --- 19459,19465 ---- provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2019-11-28[16]. References *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 19481,19487 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2018-09-30[11]. References --- 19558,19564 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2019-11-28[11]. References *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 19535,19541 **** provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2018-09-30[7]. References --- 19612,19618 ---- provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2019-11-28[7]. References *************** http://gcc.gnu.org/egcs-1.0/index.html *** 19731,19737 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2018-09-30[11]. References --- 19808,19814 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2019-11-28[11]. References *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 19797,19803 **** provided this notice is preserved. These pages are [8]maintained by the GCC team. Last modified ! 2018-09-30[9]. References --- 19874,19880 ---- provided this notice is preserved. These pages are [8]maintained by the GCC team. Last modified ! 2019-11-28[9]. References *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 19850,19856 **** provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2018-09-30[7]. References --- 19927,19933 ---- provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2019-11-28[7]. References diff -Nrcpad gcc-9.2.0/config/ChangeLog gcc-9.3.0/config/ChangeLog *** gcc-9.2.0/config/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/config/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/contrib/ChangeLog gcc-9.3.0/contrib/ChangeLog *** gcc-9.2.0/contrib/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/contrib/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,11 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2019-08-16 Uros Bizjak + + * test_summary: Do not escape "=". + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/contrib/header-tools/ChangeLog gcc-9.3.0/contrib/header-tools/ChangeLog *** gcc-9.2.0/contrib/header-tools/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/contrib/header-tools/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/contrib/reghunt/ChangeLog gcc-9.3.0/contrib/reghunt/ChangeLog *** gcc-9.2.0/contrib/reghunt/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/contrib/reghunt/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/contrib/regression/ChangeLog gcc-9.3.0/contrib/regression/ChangeLog *** gcc-9.2.0/contrib/regression/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/contrib/regression/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/contrib/test_summary gcc-9.3.0/contrib/test_summary *** gcc-9.2.0/contrib/test_summary Wed Mar 21 08:47:12 2018 --- gcc-9.3.0/contrib/test_summary Thu Mar 12 11:07:20 2020 *************** NR == 1 { *** 127,133 **** if (lang == "") lang = " "$2" "; else lang = " "; } $2 == "version" { save = $0; $1 = ""; $2 = ""; version = $0; gsub(/^ */, "", version); gsub(/\r$/, "", version); $0 = save; } ! /\===.*Summary/ { print ""; print; blanks=1; } /tests ===/ || /^(Target|Host|Native)/ || $2 == "version" { print; blanks=1; } /^(XPASS|FAIL|UNRESOLVED|WARNING|ERROR|# of )/ { sub ("\r", ""); print; } /^using:/ { print ""; print; print ""; } --- 127,133 ---- if (lang == "") lang = " "$2" "; else lang = " "; } $2 == "version" { save = $0; $1 = ""; $2 = ""; version = $0; gsub(/^ */, "", version); gsub(/\r$/, "", version); $0 = save; } ! /===.*Summary/ { print ""; print; blanks=1; } /tests ===/ || /^(Target|Host|Native)/ || $2 == "version" { print; blanks=1; } /^(XPASS|FAIL|UNRESOLVED|WARNING|ERROR|# of )/ { sub ("\r", ""); print; } /^using:/ { print ""; print; print ""; } diff -Nrcpad gcc-9.2.0/fixincludes/ChangeLog gcc-9.3.0/fixincludes/ChangeLog *** gcc-9.2.0/fixincludes/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/fixincludes/ChangeLog Thu Mar 12 11:08:02 2020 *************** *** 1,3 **** --- 1,37 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-02-26 Segher Boessenkool + + Backport from trunk + 2020-02-13 Matheus Castanho + + * fixinc.in: Skip machine_name fix on powerpc*-*-linux*. + + 2020-01-01 John David Anglin + + Backport from mainline + 2019-12-30 John David Anglin + + PR libgomp/93066 + * inclhack.def (hpux_c99_inttypes3): Fix defines for INTPTR_MAX + and UINTPTR_MAX, and missing define for SIZE_MAX. + * fixincl.x: Regenerate. + * tests/base/inttypes.h: Update for above fix. + + 2019-08-21 Iain Sandoe + + Backport from mainline. + 2019-08-18 C.G. Dogan + Iain Sandoe + + PR target/83531 + * inclhack.def (darwin_api_availability): New; strip leading + underscores from API_XXXX defines. + * fixincl.x: Regenerate. + * tests/base/os/availability.h: New file. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/fixincludes/fixinc.in gcc-9.3.0/fixincludes/fixinc.in *** gcc-9.2.0/fixincludes/fixinc.in Fri Oct 13 15:28:41 2017 --- gcc-9.3.0/fixincludes/fixinc.in Thu Mar 12 11:07:20 2020 *************** fi *** 136,142 **** # disable the fix. case "${target_canonical}" in ! *-*-vxworks*) test -f ${MACRO_LIST} && echo > ${MACRO_LIST} ;; esac --- 136,142 ---- # disable the fix. case "${target_canonical}" in ! *-*-vxworks* | powerpc*-*-linux*) test -f ${MACRO_LIST} && echo > ${MACRO_LIST} ;; esac diff -Nrcpad gcc-9.2.0/fixincludes/fixincl.x gcc-9.3.0/fixincludes/fixincl.x *** gcc-9.2.0/fixincludes/fixincl.x Sat Aug 3 19:21:08 2019 --- gcc-9.3.0/fixincludes/fixincl.x Thu Mar 12 11:07:20 2020 *************** *** 2,12 **** * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed July 7, 2019 at 11:43:37 AM by AutoGen 5.17.4 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Sun Jul 7 11:43:37 BST 2019 * * You must regenerate it. Use the ./genfixes script. * --- 2,12 ---- * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed January 1, 2020 at 11:59:56 AM by AutoGen 5.18.16 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Wed Jan 1 11:59:56 EST 2020 * * You must regenerate it. Use the ./genfixes script. * *************** *** 15,21 **** * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * ! * This file contains 255 fixup descriptions. * * See README for more information. * --- 15,21 ---- * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * ! * This file contains 257 fixup descriptions. * * See README for more information. * *************** static const char* apzAab_Darwin7_9_Long *** 269,274 **** --- 269,324 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Darwin_Api_Availability fix + */ + tSCC zDarwin_Api_AvailabilityName[] = + "darwin_api_availability"; + + /* + * File name selection pattern + */ + tSCC zDarwin_Api_AvailabilityList[] = + "os/availability.h\0"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzDarwin_Api_AvailabilityMachs[] = { + "*-*-darwin*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zDarwin_Api_AvailabilitySelect0[] = + " *#define __API_AVAILABLE.*\n\ + *#define __API_DEPRECATED.*\n\ + *#define __API_DEPRECATED_WITH_REPLACEMENT.*\n\ + *#define __API_UNAVAILABLE.*\n"; + + /* + * content bypass pattern - skip fix if pattern found + */ + tSCC zDarwin_Api_AvailabilityBypass0[] = + "__IPHONE_OS_VERSION_MIN_REQUIRED"; + + #define DARWIN_API_AVAILABILITY_TEST_CT 2 + static tTestDesc aDarwin_Api_AvailabilityTests[] = { + { TT_NEGREP, zDarwin_Api_AvailabilityBypass0, (regex_t*)NULL }, + { TT_EGREP, zDarwin_Api_AvailabilitySelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Darwin_Api_Availability + */ + static const char* apzDarwin_Api_AvailabilityPatch[] = { + "format", + " #define API_AVAILABLE(...)\n\ + #define API_DEPRECATED(...)\n\ + #define API_DEPRECATED_WITH_REPLACEMENT(...)\n\ + #define API_UNAVAILABLE(...)\n", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix */ tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] = *************** static const char* apzHpux_C99_Inttypes2 *** 5099,5104 **** --- 5149,5203 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Hpux_C99_Inttypes3 fix + */ + tSCC zHpux_C99_Inttypes3Name[] = + "hpux_c99_inttypes3"; + + /* + * File name selection pattern + */ + tSCC zHpux_C99_Inttypes3List[] = + "inttypes.h\0"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzHpux_C99_Inttypes3Machs[] = { + "hppa*-hp-hpux11*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zHpux_C99_Inttypes3Select0[] = + "#define[ \t]INTPTR_MAX[ \t]*\n\ + #define[ \t]UINTPTR_MAX[ \t]*\n"; + + #define HPUX_C99_INTTYPES3_TEST_CT 1 + static tTestDesc aHpux_C99_Inttypes3Tests[] = { + { TT_EGREP, zHpux_C99_Inttypes3Select0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Hpux_C99_Inttypes3 + */ + static const char* apzHpux_C99_Inttypes3Patch[] = { + "format", + "#undef SIZE_MAX\n\ + #define SIZE_MAX __SIZE_MAX__\n\ + #ifdef __INTPTR_MAX__\n\ + # undef INTPTR_MAX\n\ + # define INTPTR_MAX __INTPTR_MAX__\n\ + # undef INTPTR_MIN\n\ + # define INTPTR_MIN (-INTPTR_MAX - 1)\n\ + #endif\n\ + #ifdef __UINTPTR_MAX__\n\ + # undef UINTPTR_MAX\n\ + # define UINTPTR_MAX __UINTPTR_MAX__\n\ + #endif\n", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Hpux_Ctype_Macros fix */ tSCC zHpux_Ctype_MacrosName[] = *************** static const char* apzX11_SprintfPatch[] *** 10346,10354 **** * * List of all fixes */ ! #define REGEX_COUNT 293 #define MACH_LIST_SIZE_LIMIT 187 ! #define FIX_COUNT 255 /* * Enumerate the fixes --- 10445,10453 ---- * * List of all fixes */ ! #define REGEX_COUNT 296 #define MACH_LIST_SIZE_LIMIT 187 ! #define FIX_COUNT 257 /* * Enumerate the fixes *************** typedef enum { *** 10357,10362 **** --- 10456,10462 ---- AAB_AIX_STDIO_FIXIDX, AAB_AIX_FCNTL_FIXIDX, AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX, + DARWIN_API_AVAILABILITY_FIXIDX, AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX, AAB_FD_ZERO_GNU_TYPES_H_FIXIDX, AAB_FD_ZERO_SELECTBITS_H_FIXIDX, *************** typedef enum { *** 10476,10481 **** --- 10576,10582 ---- HPUX_C99_INTPTR_FIXIDX, HPUX_C99_INTTYPES_FIXIDX, HPUX_C99_INTTYPES2_FIXIDX, + HPUX_C99_INTTYPES3_FIXIDX, HPUX_CTYPE_MACROS_FIXIDX, HPUX_EXTERN_ERRNO_FIXIDX, HPUX_HTONL_FIXIDX, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 10627,10632 **** --- 10728,10738 ---- AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 }, + { zDarwin_Api_AvailabilityName, zDarwin_Api_AvailabilityList, + apzDarwin_Api_AvailabilityMachs, + DARWIN_API_AVAILABILITY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aDarwin_Api_AvailabilityTests, apzDarwin_Api_AvailabilityPatch, 0 }, + { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList, apzAab_Fd_Zero_Asm_Posix_Types_HMachs, AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 11222,11227 **** --- 11328,11338 ---- HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY, aHpux_C99_Inttypes2Tests, apzHpux_C99_Inttypes2Patch, 0 }, + { zHpux_C99_Inttypes3Name, zHpux_C99_Inttypes3List, + apzHpux_C99_Inttypes3Machs, + HPUX_C99_INTTYPES3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_C99_Inttypes3Tests, apzHpux_C99_Inttypes3Patch, 0 }, + { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList, apzHpux_Ctype_MacrosMachs, HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff -Nrcpad gcc-9.2.0/fixincludes/inclhack.def gcc-9.3.0/fixincludes/inclhack.def *** gcc-9.2.0/fixincludes/inclhack.def Sat Aug 3 19:21:08 2019 --- gcc-9.3.0/fixincludes/inclhack.def Thu Mar 12 11:07:20 2020 *************** fix = { *** 195,200 **** --- 195,227 ---- }; /* + * SDKs for 10.13 and 10.14 omit the definitions for API_AVAILABLE where + * __attribute__((availability)) is not supported. + */ + fix = { + hackname = darwin_api_availability; + mach = "*-*-darwin*"; + files = os/availability.h; + bypass = "__IPHONE_OS_VERSION_MIN_REQUIRED"; + select = + " *#define __API_AVAILABLE.*\n" + " *#define __API_DEPRECATED.*\n" + " *#define __API_DEPRECATED_WITH_REPLACEMENT.*\n" + " *#define __API_UNAVAILABLE.*\n"; + c_fix = format; + c_fix_arg = + " #define API_AVAILABLE(...)\n" + " #define API_DEPRECATED(...)\n" + " #define API_DEPRECATED_WITH_REPLACEMENT(...)\n" + " #define API_UNAVAILABLE(...)\n"; + test_text = + "#define __API_AVAILABLE(...)\n" + "#define __API_DEPRECATED(...)\n" + "#define __API_DEPRECATED_WITH_REPLACEMENT(...)\n" + "#define __API_UNAVAILABLE(...)\n"; + }; + + /* * This fixes __FD_ZERO bug for linux 2.x.y (x <= 2 && y <= some n) */ fix = { *************** fix = { *** 2561,2566 **** --- 2588,2619 ---- }; /* + * Fix broken and missing defines in inttypes.h + */ + fix = { + hackname = hpux_c99_inttypes3; + mach = "hppa*-hp-hpux11*"; + files = inttypes.h; + select = "#define[ \t]INTPTR_MAX[ \t]*\n" + "#define[ \t]UINTPTR_MAX[ \t]*\n"; + c_fix = format; + c_fix_arg = "#undef SIZE_MAX\n" + "#define SIZE_MAX __SIZE_MAX__\n" + "#ifdef __INTPTR_MAX__\n" + "# undef INTPTR_MAX\n" + "# define INTPTR_MAX __INTPTR_MAX__\n" + "# undef INTPTR_MIN\n" + "# define INTPTR_MIN (-INTPTR_MAX - 1)\n" + "#endif\n" + "#ifdef __UINTPTR_MAX__\n" + "# undef UINTPTR_MAX\n" + "# define UINTPTR_MAX __UINTPTR_MAX__\n" + "#endif\n"; + test_text = "#define INTPTR_MAX\n" + "#define UINTPTR_MAX\n"; + }; + + /* * Fix hpux broken ctype macros */ fix = { diff -Nrcpad gcc-9.2.0/fixincludes/tests/base/inttypes.h gcc-9.3.0/fixincludes/tests/base/inttypes.h *** gcc-9.2.0/fixincludes/tests/base/inttypes.h Tue Apr 28 15:17:49 2009 --- gcc-9.3.0/fixincludes/tests/base/inttypes.h Thu Mar 12 11:07:20 2020 *************** *** 16,18 **** --- 16,35 ---- #define UINT32_C(__c) __CONCAT__(__c,u) #endif /* HPUX_C99_INTTYPES_CHECK */ + + + #if defined( HPUX_C99_INTTYPES3_CHECK ) + #undef SIZE_MAX + #define SIZE_MAX __SIZE_MAX__ + #ifdef __INTPTR_MAX__ + # undef INTPTR_MAX + # define INTPTR_MAX __INTPTR_MAX__ + # undef INTPTR_MIN + # define INTPTR_MIN (-INTPTR_MAX - 1) + #endif + #ifdef __UINTPTR_MAX__ + # undef UINTPTR_MAX + # define UINTPTR_MAX __UINTPTR_MAX__ + #endif + + #endif /* HPUX_C99_INTTYPES3_CHECK */ diff -Nrcpad gcc-9.2.0/fixincludes/tests/base/os/availability.h gcc-9.3.0/fixincludes/tests/base/os/availability.h *** gcc-9.2.0/fixincludes/tests/base/os/availability.h Thu Jan 1 00:00:00 1970 --- gcc-9.3.0/fixincludes/tests/base/os/availability.h Thu Mar 12 11:07:20 2020 *************** *** 0 **** --- 1,18 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/os/availability.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( DARWIN_API_AVAILABILITY_CHECK ) + #define API_AVAILABLE(...) + #define API_DEPRECATED(...) + #define API_DEPRECATED_WITH_REPLACEMENT(...) + #define API_UNAVAILABLE(...) + + #endif /* DARWIN_API_AVAILABILITY_CHECK */ diff -Nrcpad gcc-9.2.0/gcc/BASE-VER gcc-9.3.0/gcc/BASE-VER *** gcc-9.2.0/gcc/BASE-VER Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/BASE-VER Thu Mar 12 11:08:04 2020 *************** *** 1 **** ! 9.2.0 --- 1 ---- ! 9.3.0 diff -Nrcpad gcc-9.2.0/gcc/ChangeLog gcc-9.3.0/gcc/ChangeLog *** gcc-9.2.0/gcc/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,2355 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-03-05 Jakub Jelinek + + PR target/94046 + * config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of + SRC and MASK arguments to __m128 from __m128d. + (_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256 + from __m256d. + (_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128 + from __m128d. + * config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C + argument to __m128i from __m128d. + (_mm256_permute2_pd): Fix first cast of C argument to __m256i from + __m256d. + (_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128. + (_mm256_permute2_ps): Fix first cast of C argument to __m256i from + __m256. + + 2020-03-05 Richard Earnshaw + + PR target/90311 + Backport from master + 2019-07-18 Richard Earnshaw + + * config/arm/predicates.md (arm_borrow_operation): New predicate. + * config/arm/arm.c (subdi3_compare1): Use CCmode for the split. + (arm_subdi3, subdi_di_zesidi, subdi_di_sesidi): Likewise. + (subdi_zesidi_zesidi): Likewise. + (negdi2_compare, negdi2_insn): Likewise. + (negdi_extensidi): Likewise. + (negdi_zero_extendsidi): Likewise. + (arm_cmpdi_insn): Likewise. + (subsi3_carryin): Use arm_borrow_operation. + (subsi3_carryin_const): Likewise. + (subsi3_carryin_const0): Likewise. + (subsi3_carryin_compare): Likewise. + (subsi3_carryin_compare_const): Likewise. + (subsi3_carryin_compare_const0): Likewise. + (subsi3_carryin_shift): Likewise. + (rsbsi3_carryin_shift): Likewise. + (negsi2_carryin_compare): Likewise. + + 2020-03-04 Marek Polacek + + Backport from mainline + 2020-01-26 Marek Polacek + + PR sanitizer/93436 + * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on + null DECL_NAME. + + 2020-03-03 Jakub Jelinek + + PR rtl-optimization/94002 + * explow.c (plus_constant): Punt if cst has VOIDmode and + get_pool_mode is different from mode. + + 2020-03-02 Jason Merrill + + PR c++/92601 + * tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING + of complete types. + + 2020-02-29 Peter Bergner + + Revert + 2020-02-20 Peter Bergner + + PR target/93658 + * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX + vector modes. + + 2020-02-05 Michael Meissner + + PR target/93568 + * config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert + to use "mem". + + Backport from master + 2020-02-03 Michael Meissner + + * config/rs6000/rs6000.c (get_vector_offset): New helper function + to calculate the offset in memory from the start of a vector of a + particular element. Add code to keep the element number in + bounds if the element number is variable. + (rs6000_adjust_vec_address): Move calculation of offset of the + vector element to get_vector_offset. + (rs6000_split_vec_extract_var): Do not do the initial AND of + element here, move the code to get_vector_offset. + + 2020-01-06 Michael Meissner + + * 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. + + 2020-02-28 Martin Liska + + Backport from mainline + 2020-02-28 Martin Liska + + PR other/93965 + * configure.ac: Improve detection of ld_date by requiring + either two dashes or none. + * configure: Regenerate. + + 2020-02-27 Jakub Jelinek + + PR c/93949 + * gimplify.c (gimplify_init_constructor): Don't promote readonly + DECL_REGISTER variables to TREE_STATIC. + + 2020-02-27 Jakub Jelinek + + PR tree-optimization/93945 + * tree-ssa-sccvn.c (vn_reference_lookup_3): For memset with non-zero + second operand, require ref->size to be a multiple of BITS_PER_UNIT. + + 2020-02-26 Carl Love + + PR target/91276 + * doc/extend.texi (PowerPC AltiVec Built-in Functions Available on ISA + 3.0): The builtin-function name __builtin_crypto_vpmsumb is only for + the vector unsigned short arguments. It is also listed as the name of + the built-in for arguments vector unsigned short, + vector unsigned int and vector unsigned long long built-ins. The + name of the builtins for these arguments should be: + __builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and + __builtin_crypto_vpmsumd respectively. + + 2020-02-26 Jason Merrill + + PR c++/92003 + * symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has + non-zero address even if weak and not yet defined. + + 2020-02-26 Jiufu Guo + + PR target/93047 + * config/rs6000/rs6000.md (untyped_call): Add emit_clobber. + + 2020-02-26 Jakub Jelinek + + PR tree-optimization/93820 + * gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE + argument to ALL_INTEGER_CST_P boolean. + (imm_store_chain_info::try_coalesce_bswap): Adjust caller. + (imm_store_chain_info::coalesce_immediate_stores): Likewise. Handle + adjacent INTEGER_CST store into merged_store->only_constants like + overlapping one. + + 2020-02-25 Christophe Lyon + + Backport from mainline + 2020-02-25 Christophe Lyon + + * config/arm/arm.md (required_for_purecode): New attribute. + (enabled): Handle required_for_purecode. + * config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to + work with -mpure-code. + + 2020-02-25 Christophe Lyon + + Backport from mainline + 2019-12-17 Christophe Lyon + + * config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype. + * config/arm/arm.c (arm_option_check_internal): Remove restriction + on MOVT for -mpure-code. + (thumb1_gen_const_int): New function. + (thumb1_legitimate_address_p): Support -mpure-code. + (thumb1_rtx_costs): Likewise. + (thumb1_size_rtx_costs): Likewise. + (arm_thumb1_mi_thunk): Likewise. + * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise. + * config/arm/thumb1.md (thumb1_movsi_symbol_ref): New. + (*thumb1_movhf): Support -mpure-code. + * doc/invoke.texi (-mpure-code): Remove restriction on MOVT. + + 2020-02-25 Jakub Jelinek + + PR rtl-optimization/93908 + * combine.c (find_split_point): For store into ZERO_EXTRACT, and src + with mask. + + 2019-02-25 Eric Botcazou + + * dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode. + + 2020-02-25 Roman Zhuykov + + Backport from master + 2020-02-24 Roman Zhuykov + + * doc/install.texi (--enable-checking): Properly document current + behavior. + (--enable-stage1-checking): Minor clarification about bootstrap. + + 2020-02-24 Richard Sandiford + + Backport from mainline + 2020-02-19 Richard Sandiford + + PR tree-optimization/93767 + * tree-vect-data-refs.c (vect_compile_time_alias): Remove the + access-size bias from the offset calculations for negative strides. + + 2020-02-24 Bernd Edlinger + + * collect2.c (tool_cleanup): Avoid calling not signal-safe + functions. + (maybe_run_lto_and_relink): Avoid possible signal handler + access to unintialzed memory (lto_o_files). + + 2020-02-23 Peter Bergner + + Backport from master + 2020-02-20 Peter Bergner + + PR target/93658 + * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX + vector modes. + + 2020-02-23 Peter Bergner + + Backport from master + 2020-02-05 Michael Meissner + + PR target/93568 + * config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert + to use "mem". + + Backport from master + 2020-02-03 Michael Meissner + + * config/rs6000/rs6000.c (get_vector_offset): New helper function + to calculate the offset in memory from the start of a vector of a + particular element. Add code to keep the element number in + bounds if the element number is variable. + (rs6000_adjust_vec_address): Move calculation of offset of the + vector element to get_vector_offset. + (rs6000_split_vec_extract_var): Do not do the initial AND of + element here, move the code to get_vector_offset. + + 2020-02-23 Peter Bergner + + Backport from master + 2020-01-06 Michael Meissner + + * 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. + + 2020-02-21 John David Anglin + + * gcc/config/pa/pa.c (pa_function_value): Fix check for word and + double-word size when handling aggregate return values. + * gcc/config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate + that homogeneous SFmode and DFmode aggregates are passed and returned + in general registers. + + 2020-02-20 Uroš Bizjak + + PR target/93828 + * config/i386/mmx.md (*vec_extractv2sf_1): Match source operand + to destination operand for shufps alternative. + (*vec_extractv2si_1): Ditto. + + 2020-02-20 H.J. Lu + + Backport from master + 2020-02-13 H.J. Lu + + PR target/93656 + * config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at + the target function entry. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2019-12-05 Richard Sandiford + + PR middle-end/92768 + * tree-core.h (OEP_BITWISE): New flag. + * fold-const.c (operand_compare::operand_equal_p): Handle it. + * tree-vector-builder.h (tree_vector_builder::equal_p): Pass it. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2019-08-09 Richard Sandiford + + PR middle-end/90313 + * tree-tailcall.c (find_tail_calls): Reject calls that might + read from an escaped RESULT_DECL. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2020-01-28 Richard Sandiford + + PR tree-optimization/93434 + * tree-predcom.c (split_data_refs_to_components): Record which + components have had aliasing loads removed. Prevent store-store + commoning for all such components. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2019-11-29 Richard Sandiford + + PR tree-optimization/92710 + * tree-vect-stmts.c (vectorizable_simd_clone_call): Reject + vector mask arguments. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2019-11-11 Richard Sandiford + + PR tree-optimization/92420 + * tree-vect-stmts.c (get_negative_load_store_type): Move further + up file. + (get_group_load_store_type): Use it for reversed SLP accesses. + + 2020-02-18 Richard Sandiford + + Backport from mainline + 2019-08-21 Prathamesh Kulkarni + + PR target/90724 + * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y + in reg if it fails aarch64_plus_operand predicate. + + 2020-02-14 Hongtao Liu + + PR target/93724 + * config/i386/avx512vbmi2intrin.h + (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16, + _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32, + _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, + _m512_shrdi_epi64, _m512_mask_shrdi_epi64, + _m512_maskz_shrdi_epi64, _mm512_shldi_epi16, + _mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, + _mm512_shldi_epi32, _mm512_mask_shldi_epi32, + _mm512_maskz_shldi_epi32, _mm512_shldi_epi64, + _mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo + of lacking a closing parenthesis. + * config/i386/avx512vbmi2vlintrin.h + (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16, + _mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32, + _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, + _m256_shrdi_epi64, _m256_mask_shrdi_epi64, + _m256_maskz_shrdi_epi64, _mm256_shldi_epi16, + _mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16, + _mm256_shldi_epi32, _mm256_mask_shldi_epi32, + _mm256_maskz_shldi_epi32, _mm256_shldi_epi64, + _mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, + _mm_shrdi_epi16, _mm_mask_shrdi_epi16, + _mm_maskz_shrdi_epi16, _mm_shrdi_epi32, + _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, + _mm_shrdi_epi64, _mm_mask_shrdi_epi64, + _m_maskz_shrdi_epi64, _mm_shldi_epi16, + _mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, + _mm_shldi_epi32, _mm_mask_shldi_epi32, + _mm_maskz_shldi_epi32, _mm_shldi_epi64, + _mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto. + + 2020-02-16 Uroš Bizjak + + PR target/93743 + * config/i386/i386.md (atan2xf3): Swap operands 1 and 2. + (atan23): Update operand order in the call to gen_atan2xf3. + + 2020-02-15 Jakub Jelinek + + PR tree-optimization/93744 + * match.pd (((m1 >/=/<= m2) * d -> (m1 >/=/<= m2) ? d : 0): For + GENERIC, make sure @2 in the first and @1 in the other patterns has no + side-effects. + + 2020-02-14 Eric Botcazou + + PR target/93704 + * config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in + conjunction with TARGET_GNU_TLS in early return. + + 2020-02-14 Alexander Monakov + + Backport from mainline + PR rtl-optimization/88879 + * sel-sched.c (sel_target_adjust_priority): Remove assert. + + 2020-02-14 Richard Biener + + Backport from mainline + 2020-02-05 Richard Biener + + PR middle-end/90648 + * genmatch.c (dt_node::gen_kids_1): Emit number of argument + checks before matching calls. + + 2020-02-14 Richard Biener + + Backport from mainline + 2020-01-22 Richard Biener + + PR tree-optimization/93381 + * tree-ssa-structalias.c (find_func_aliases): Assume offsetting + throughout, handle all conversions the same. + + 2020-02-14 Richard Biener + + Backport from mainline + 2020-01-28 Richard Biener + + PR tree-optimization/93439 + * tree-parloops.c (create_loop_fn): Move clique bookkeeping... + * tree-cfg.c (move_sese_region_to_fn): ... here. + (verify_types_in_gimple_reference): Verify used cliques are + tracked. + + 2020-02-14 Richard Biener + + Backport from mainline + 2020-01-09 Richard Biener + + PR middle-end/93054 + * gimplify.c (gimplify_expr): Deal with NOP definitions. + + 2020-02-14 Richard Biener + + Backport from mainline + 2020-01-20 Richard Biener + + PR debug/92763 + * dwarf2out.c (prune_unused_types): Unconditionally mark + called function DIEs. + + 2020-02-14 Richard Biener + + Backport from mainline + 2019-11-29 Richard Biener + + PR tree-optimization/92704 + * tree-if-conv.c (combine_blocks): Deal with virtual PHIs + in loops performing only loads. + + 2020-02-14 Richard Biener + + Backport from mainline + 2019-11-27 Richard Biener + + PR middle-end/92674 + * tree-inline.c (expand_call_inline): Delay purging EH/abnormal + edges and instead record blocks in bitmap. + (gimple_expand_calls_inline): Adjust. + (fold_marked_statements): Delay EH cleanup until all folding is + done. + (optimize_inline_calls): Do EH/abnormal cleanup for calls after + inlining finished. + + 2020-02-13 Jakub Jelinek + + PR target/93696 + * config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8, + _mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8, + _mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8, + _mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W, + pass __A to the builtin followed by __W instead of __A followed by + __B. + * config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32, + _mm512_mask_popcnt_epi64): Likewise. + * config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32, + _mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64, + _mm256_mask_popcnt_epi64): Likewise. + + PR target/93673 + * config/i386/sse.md (k): Drop mode from last operand and + use const_0_to_255_operand predicate instead of immediate_operand. + (avx512dq_fpclass, + avx512dq_vmfpclass, + vgf2p8affineinvqb_, + vgf2p8affineqb_): Drop mode from + const_0_to_255_operand predicated operands. + + Backported from mainline + 2020-02-12 Jakub Jelinek + + PR target/93670 + * config/i386/sse.md (VI48F_256_DQ): New mode iterator. + (avx512vl_vextractf128): Use it instead of VI48F_256. Remove + TARGET_AVX512DQ from condition. + (vec_extract_lo_): Use + instead of in condition. If + TARGET_AVX512DQ is false, emit vextract*64x4 instead of + vextract*32x8. + (vec_extract_lo_): Drop + from condition. + + 2020-02-10 Jakub Jelinek + + PR target/93637 + * config/i386/sse.md (VI_256_AVX2): New mode iterator. + (vcond_mask_): Use it instead of VI_256. + Change condition from TARGET_AVX2 to TARGET_AVX. + + 2020-02-08 Uroš Bizjak + Jakub Jelinek + + PR target/65782 + * config/i386/i386.h (CALL_USED_REGISTERS): Make + xmm16-xmm31 call-used even in 64-bit ms-abi. + + 2020-02-06 Jakub Jelinek + + PR libgomp/93515 + * omp-low.c (use_pointer_for_field): For nested constructs, also + look for map clauses on target construct. + (scan_omp_1_stmt) : Bump temporarily + taskreg_nesting_level. + + PR libgomp/93515 + * gimplify.c (gimplify_scan_omp_clauses) : If adding + shared clause, call omp_notice_variable on outer context if any. + + 2020-02-05 Jakub Jelinek + + PR middle-end/93555 + * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or + simd_clone_create failed when i == 0, adjust clone->nargs by + clone->inbranch. + + 2020-01-30 Jakub Jelinek + + PR middle-end/93505 + * combine.c (simplify_comparison) : Punt on out of range + rotate counts. + + 2020-01-28 Jakub Jelinek + + PR target/93418 + * config/i386/i386.c (ix86_fold_builtin) : If mask is not + -1 or is_vshift is true, use new_vector with number of elts npatterns + rather than new_unary_operation. + + 2020-01-23 Jakub Jelinek + + PR rtl-optimization/93402 + * postreload.c (reload_combine_recognize_pattern): Don't try to adjust + USE insns. + + 2020-02-11 Tamar Christina + + Backport from mainline + 2020-01-31 Tamar Christina + + PR rtl-optimization/91838 + * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case + to truncate if allowed or reject combination. + + 2020-02-07 H.J. Lu + + Backport from mainline + 2020-02-07 H.J. Lu + + PR target/85667 + * config/i386/i386.c (function_arg_ms_64): Add a type argument. + Don't return aggregates with only SFmode and DFmode in SSE + register. + (ix86_function_arg): Pass type to function_arg_ms_64. + + 2020-01-30 John David Anglin + + * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers + without a DECL in .data.rel.ro.local. + + 2020-01-30 Kito Cheng + + Backport from mainline + 2020-01-21 Kito Cheng + + 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-29 Szabolcs Nagy + + Backport from mainline + 2020-01-21 Szabolcs Nagy + + 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. + + 2020-01-27 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-22 Jakub Jelinek + + 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. + + 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. + + Backported from mainline + 2020-01-21 Jakub Jelinek + + PR target/93333 + * config/riscv/riscv.c (riscv_rtx_costs) : Verify + the last two operands are CONST_INT_P before using them as such. + + PR target/93073 + * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for + compare_mode other than SFmode or DFmode. + + 2020-01-15 Jakub Jelinek + + 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-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. + + 2020-01-03 Jakub Jelinek + + 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 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-20 Richard Biener + + Backport from mainline + PR middle-end/93246 + * alias.c (record_component_aliases): Take superset to record + into, recurse for alias-set zero fields. + (record_component_aliases): New oveerload wrapping around the above. + + 2020-01-19 Eric S. Raymond + Sandra Loosemore + + Backport from mainline: + + 2020-01-19 Eric S. Raymond + + * doc/contribute.texi: Update for SVN -> Git transition. + * doc/install.texi: Likewise. + + 2020-01-15 Uroš Bizjak + + PR target/93254 + * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for + alternatives 9 and 10. Do not require SSE2 ISA for alternatives + 14 and 15. + + 2020-01-14 Martin Jambor + + Backport from mainline + 2020-01-13 Martin Jambor + + PR ipa/93223 + * ipa-cp.c (devirtualization_time_bonus): Check whether isummary is + NULL. + + 2020-01-10 Martin Jambor + + Backport from mainline + 2019-12-17 Martin Jambor + + PR ipa/92971 + * Ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix + definition of values, release memory on exit. + + 2020-01-10 Przemyslaw Wirkus + + Backport from trunk + 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-10 Przemyslaw Wirkus + + Backport from trunk + * config/arm/t-multilib: Use arm->thumb multilib reuse rules + on a-profile. + + 2020-01-09 Martin Liska + + Backport from mainline + 2019-12-12 Jan Hubicka + + * ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering + of execution of function call parameters. + + 2020-01-08 Georg-Johann Lay + + Backport from 2020-01-08 trunk r279995. + + 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=device-specs/..." if that option is not set. + * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. + + 2020-01-06 John David Anglin + + * 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. + + 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. + + 2019-12-25 Iain Sandoe + + Backport from mainline. + 2019-12-14 Iain Sandoe + + * config/darwin.h (DARWIN_EXTRA_SPECS): Add new + bundle spec. (DARWIN_BUNDLE1_SPEC): New. + (STARTFILE_SPEC): Use darwin bundle spec. + * config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New. + (DARWIN_DYLIB1_SPEC): Delete duplicate. + + 2019-12-20 Jakub Jelinek + + PR fortran/92756 + * omp-low.c (check_omp_nesting_restrictions): If lang_GNU_Fortran, + diagnose teams not closely nested inside of target. + + Backported from mainline + 2019-12-14 Jakub Jelinek + + PR ipa/92357 + * ipa-fnsummary.c (ipa_fn_summary_write): Use + lto_symtab_encoder_iterator with lsei_start_function_in_partition and + lsei_next_function_in_partition instead of walking all cgraph nodes + in encoder. + + PR tree-optimization/92930 + * ipa-pure-const.c (special_builtin_state): Don't handle + BUILT_IN_APPLY. + + 2019-12-12 Jakub Jelinek + + PR target/92904 + * config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and + not need_temp, decrease alignment of the read because the GPR save + area only guarantees 8-byte alignment. + + 2019-12-11 Jakub Jelinek + + PR target/92723 + * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not + vect_internal_def, use oprnd1 as is, without trying to cast it. + Formatting fix. + + 2019-11-27 Jakub Jelinek + + PR debug/92664 + * dwarf2out.c (lookup_filename): Use "" instead of "". + + 2019-11-26 Jakub Jelinek + + PR tree-optimization/92644 + * tree-ssa-phiopt.c (minmax_replacement): Add INTEGRAL_TYPE_P check + next to INTEGER_CST checks. + + 2019-11-23 Jakub Jelinek + + PR target/92615 + * config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is + GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not + register_operand, force x into register before storing it into dest. + Formatting fix. + + 2019-12-20 Roman Zhuykov + + Backport from mainline + 2019-12-13 Roman Zhuykov + + PR rtl-optimization/92591 + * modulo-sched.c (ps_add_node_check_conflicts): Improve checking + for history > 0 case. + * params.def (sms-dfa-history): Limit to 16. + + 2019-12-19 Georg-Johann Lay + + Backport support for some AVR devices from avrxmega3 family + from SVN trunk r279309, r278387, r278389, r278478. + + PR target/92545 + * config/avr/avr-arch.h (avr_mcu_t) : New field. + * config/avr/avr-devices.c (avr_mcu_types): Adjust initializers. + * config/avr/avr-mcus.def (AVR_MCU): Add respective field. + * config/avr/gen-avr-mmcu-specs.c (print_mcu) + <*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code + for spec definitions. + * config/avr/gen-avr-mmcu-texi.c: Rewrite. + * doc/avr-mmcu.texi: Regenerate. + + 2019-12-17 Andreas Krebbel + + Backport from mainline + 2019-12-16 Andreas Krebbel + + PR target/92950 + * config/s390/vector.md ("mov" for V_8): Replace lh, lhy, + and lhrl with llc. + + 2019-12-12 Vineet Gupta + + Backport from mainline + * config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which + helps codegen generate exceptions even for quiet NaN. + * config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode. + (get_arc_condition_code): Likewise. + (arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode. + * config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode. + * config/arc/predicates.md (proper_comparison_operator): Likewise. + * config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE. + (cmpdf_fpu_trap): Likewise. + + 2019-12-12 Claudiu Zissulescu + + Backport from mainline + * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. + (cstoredi4): Use TARGET_HARD_FLOAT. + + 2019-12-10 Kewen Lin + + Backport from mainline + 2019-11-27 Kewen Lin + + PR tree-optimization/91790 + * gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for + vect_setup_realignment when first_stmt_info is different from + first_stmt_info_for_drptr. + + 2019-12-09 Eric Botcazou + + * tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute + TYPE_CANONICAL from the element type only if it is true. Remove a few + obsolete lines and adjust recursive call. + (fld_process_array_type): Adjust call to build_array_type_1. + (build_array_type): Likewise. + (build_nonshared_array_type): Likewise. + + 2019-12-02 Sandra Loosemore + + Fix bugs relating to flexibly-sized objects in nios2 backend. + + PR target/92499 + * config/nios2/nios2.c (nios2_in_small_data_p): Do not consider + objects of flexible types to be small if they have internal linkage + or are declared extern. + * config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with... + (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this. Use targetm.in_small_data_p + instead of the size of the object initializer. + * tree.c (flexible_array_type_p): Move from C front end, and + generalize to handle fields in non-C structures. + * tree.h (flexible_array_type_p): Declare. + + 2019-12-02 Li Jia He + + Partial backport from mainline + PR target/92098 + 2019-11-08 Kewen Lin + + PR target/92132 + * config/rs6000/predicates.md + (signed_or_equality_comparison_operator): New predicate. + (unsigned_or_equality_comparison_operator): Likewise. + * config/rs6000/rs6000.md (one_cmpl2): Remove expand. + (one_cmpl3_internal): Rename to one_cmpl2. + * config/rs6000/vector.md + (vcond_mask_ for VEC_I and VEC_I): New expand. + (vec_cmp for VEC_I and VEC_I): Likewise. + (vec_cmpu for VEC_I and VEC_I): Likewise. + + 2019-11-27 Richard Biener + + Backport from mainline + 2019-10-25 Richard Biener + + PR tree-optimization/92222 + * tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove. + (_slp_oprnd_info::second_pattern): Likewise. + (_slp_oprnd_info::any_pattern): New. + (vect_create_oprnd_info): Adjust. + (vect_get_and_check_slp_defs): Compute whether any stmt is + in a pattern. + (vect_build_slp_tree_2): Avoid building up a node from scalars + if any of the operand defs, not just the first, is in a pattern. + + 2019-11-21 Jakub Jelinek + + PR tree-optimization/91355 + * tree-ssa-sink.c (select_best_block): Use >= rather than > + for early_bb scaled count with best_bb count comparison. + + 2019-11-21 Richard Biener + + Revert + 2019-09-17 Richard Biener + + PR tree-optimization/91790 + * tree-vect-stmts.c (vectorizable_load): For BB vectorization + use the correct DR for setting up realignment. + + 2019-11-20 Peter Bergner + + Backport from mainline + 2019-11-07 Peter Bergner + + PR other/92090 + * config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT + modes for integer constants. + + 2019-11-20 Michael Matz + + Backport from mainline + PR middle-end/90796 + * gimple-loop-jam.c (any_access_function_variant_p): New function. + (adjust_unroll_factor): Use it to constrain safety, new parameter. + (tree_loop_unroll_and_jam): Adjust call and profitable unroll factor. + + 2019-11-20 Joseph Myers + + * doc/invoke.texi (-Wc11-c2x-compat): Document. + + 2019-11-20 Jakub Jelinek + + PR middle-end/90840 + * expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM + and has a mode that doesn't have corresponding integral type. + + PR target/90867 + * config/i386/i386.c (ix86_valid_target_attribute_tree): Don't + clear opts->x_ix86_isa_flags{,2} here... + (ix86_valid_target_attribute_inner_p): ... but here when seeing + arch=. Also clear opts->x_ix86_isa_flags{,2}_explicit. + + PR c/90898 + * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove + assertion. + (insert_clobbers_for_var): Fix a typo in function comment. + + 2019-11-19 Jakub Jelinek + + PR middle-end/91450 + * internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one + operand is negative and one non-negative, compare the non-negative + one against 0 rather than comparing s1 & s2 against 0. Otherwise, + don't compare (s1 & s2) == 0, but compare separately both s1 == 0 + and s2 == 0, unless one of them is known to be negative. Remove + tem2 variable, use tem where tem2 has been used before. + + 2019-11-19 Eric Botcazou + + * doc/invoke.texi (-gno-internal-reset-location-views): Fix typo. + + 2019-11-18 Segher Boessenkool + + Backport from trunk + 2019-11-12 Segher Boessenkool + + * config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big + hexadecimal literal. + + 2019-11-15 Tamar Christina + + Backport from mainline + 2019-09-24 Stamatis Markianos-Wright + + * config/aarch64/aarch64-option-extensions.def (fp16fml): + Update hwcap string for fp16fml. + + 2019-11-15 Ilya Leoshkevich + + Backport from mainline + PR rtl-optimization/92430 + * cfgcleanup.c (pass_jump_after_combine::gate): New function. + (pass_jump_after_combine::execute): Free + dominance info at the beginning. + + 2019-11-13 Claudiu Zissulescu + + Backport from mainline + * config/arc/arc.md (movsi_ne): Reorder instruction variants and + use new register constraint letters. + * config/arc/arc.c (arc_legitimize_pic_address): Consider UNSPECs + as well, if interesting recover the symbol and re-legitimize the + pic address. + + 2019-11-14 Martin Liska + + Backport from mainline + 2019-11-14 Martin Liska + + PR target/92389 + * config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to + PTA_ICELAKE_CLIENT which is later interited by + PTA_ICELAKE_SERVER and PTA_TIGERLAKE. + + 2019-11-13 Dragan Mladjenovic + + Backport from mainline + * config/mips/mips.md (rotr3): Sanitize the constant argument + instead of asserting its value. + + 2019-11-11 Richard Biener + + Backport from mainline + 2019-06-25 Richard Biener + + PR tree-optimization/90930 + * tree-ssa-reassoc.c (reassociate_bb): Only rewrite expression + into parallel form in the last pass instance. + + 2019-11-11 H.J. Lu + + Backport from trunk: + PR target/87833 + * config/i386/intelmic-mkoffload.c (prepare_target_image): Put + -fPIC and -shared the last to create offload image. + + 2019-11-11 Thomas Schwinge + + Backport from trunk: + * gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead + of 'offset'. + + Backport from trunk: + * Makefile.in (LANG_CONFIGUREFRAGS): Define. + (config.status): Use/depend on it. + * configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'. + * configure: Regenerate. + + 2019-11-09 John David Anglin + + Backport from mainline + 2019-11-07 John David Anglin + + * config/pa/pa.md (memory_barrier): Revise to use ldcw barriers. + Enhance comment. + (memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New + insn patterns using ldcw instruction. + (memory_barrier): Remove insn pattern using sync instruction. + * config/pa/pa.opt (coherent-ldcw): New option. + (ordered): New option. + + 2019-11-08 Jakub Jelinek + + PR c++/92384 + * function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't + copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm + slot. + (assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type + force creation of a unique data.stack_parm slot. + + Backported from mainline + 2019-10-31 Jakub Jelinek + + PR middle-end/92231 + * tree.h (fndecl_built_in_p): Use fndecl_built_in_p instead of + DECL_BUILT_IN in comment. Remove redundant ()s around return + argument. + * tree.c (free_lang_data_in_decl): Check if var is FUNCTION_DECL + before calling fndecl_built_in_p. + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Check if + TREE_OPERAND (fn, 0) is a FUNCTION_DECL before calling + fndecl_built_in_p on it. + + PR c++/90947 + * tree.h (type_initializer_zero_p): Remove. + * tree.c (type_initializer_zero_p): Remove. + + 2019-10-29 Jakub Jelinek + + * doc/install.texi (--enable-offload-targets): Fix up a typo in the + example, use actual names of supported offload targets. + + 2019-11-08 Eric Botcazou + + PR target/92095 + * config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare. + * config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest + change. + (got_helper_needed): New static variable. + (output_load_pcrel_sym): New function. + (get_pc_thunk_name): Remove after inlining... + (load_got_register): ...here. Rework the initialization of the GOT + register and of the GOT helper. + (save_local_or_in_reg_p): Test the REGNO of the GOT register. + (sparc_file_end): Test got_helper_needed to decide whether the GOT + helper must be emitted. Use output_asm_insn instead of fprintf. + (sparc_init_pic_reg): In PIC mode, always initialize the PIC register + if optimization is enabled. + * config/sparc/sparc.md (load_pcrel_sym): Emit the assembly + by calling output_load_pcrel_sym. + + 2019-11-06 Ilya Leoshkevich + + Backport from mainline + * config/s390/s390.c (s390_canonicalize_comparison): Use XEXP + (*op0, 1) instead of XEXP (*op1, 0). + + 2019-11-05 Segher Boessenkool + + Backport from trunk + 2019-10-24 Segher Boessenkool + + * config/rs6000/altivec.md (altivec_vavgu): Rename to... + (uavg3_ceil): ... This. + (altivec_vavgs): Rename to... + (avg3_ceil): ... This. + * config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH, + VAVGUW, VAVGSW): Adjust. + + 2019-11-05 Segher Boessenkool + + Backport from trunk + 2019-10-26 Segher Boessenkool + + PR target/91289 + * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't add an + immediate to r0; use r11 instead. Save and restore r11 to r0 around + this. + + 2019-11-05 Andreas Krebbel + + Backport from mainline + 2019-11-05 Andreas Krebbel + + * config/s390/s390.c (s390_vector_alignment): Check if the value + fits into uhwi before using it. + + 2019-11-01 John David Anglin + + Backport from mainline + 2019-10-03 John David Anglin + + * config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence. + (pa_attr_length_call): Adjust length for 64-bit plabel sequence. + + 2019-11-01 John David Anglin + + Backport from mainline + 2019-10-03 John David Anglin + + * config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust. + + 2019-10-30 Iain Sandoe + + 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-10-30 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-10-30 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-10-30 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-10-30 Iain Sandoe + + Backport from mainline + 2019-06-18 Iain Sandoe + + * config/darwin.c (darwin_emit_unwind_label): New. + (darwin_override_options): Set darwin_emit_unwind_label as needed. + + 2019-10-30 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-10-30 Dragan Mladjenovic + + Backport from mainline + 2019-07-09 Dragan Mladjenovic + + * cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal + for both call instructions. + + 2019-10-30 Thomas Schwinge + + Backport from trunk: + + 2019-05-06 Richard Biener + + * dwarf2out.c (mem_loc_descriptor): Initialize int_mode. + + 2019-10-28 Uroš Bizjak + + PR target/92225 + * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2 + condition for V2DImode. + + 2019-10-28 Ilya Leoshkevich + + Backport from mainline + PR rtl-optimization/92007 + * cfgcleanup.c (thread_jump): Add an assertion that we don't + call it after reload if hot/cold partitioning has been done. + (class pass_postreload_jump): Rename to + pass_jump_after_combine. + (make_pass_postreload_jump): Rename to + make_pass_jump_after_combine. + * passes.def(pass_postreload_jump): Move before reload, rename + to pass_jump_after_combine. + * tree-pass.h (make_pass_postreload_jump): Rename to + make_pass_jump_after_combine. + + 2019-10-28 Peter Bergner + Jiufu Guo + + PR target/70010 + * config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if + the callee explicitly disables some isa_flags the caller is using. + + 2019-10-27 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-27 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-27 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-25 Jan Hubicka + + Backport from mainline + 2019-10-11 Jan Hubicka + * gimple-streamer-out.c (output_gimple_stmt): Add explicit function + parameter. + * lto-streamer-out.c: Include tree-dfa.h. + (output_cfg): Do not use cfun. + (lto_prepare_function_for_streaming): New. + (output_function): Do not push cfun; do not initialize loop optimizer. + * lto-streamer.h (lto_prepare_function_for_streaming): Declare. + * passes.c (ipa_write_summaries): Use it. + (ipa_write_optimization_summaries): Do not modify bodies. + * tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter. + * tree.dfa.h (renumber_gimple_stmt_uids): Update prototype. + * tree-ssa-dse.c (pass_dse::execute): Update use of + renumber_gimple_stmt_uids. + * tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise. + + 2019-10-12 Jan Hubicka + * lto-streamer-out.c (collect_block_tree_leafs): Renumber statements + so non-virutal are before virutals. + (output_function): Avoid body modifications. + + 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-25 Jan Hubicka + + Backport from mainline + 2019-10-24 Jan Hubicka + * symbols-summary.h (fast_function_summary::release, + fast_call_summary::release): Free m_vector. + + 2019-10-25 Jan Hubicka + + Backport from mainline + + 2019-10-18 Jakub Jelinek + PR middle-end/92153 + * ggc-page.c (release_pages): Read g->alloc_size before free rather + than after it. + + 2019-10-11 Jan Hubicka + * ggc-page.c (release_pages): Output statistics when !quiet_flag. + (ggc_collect): Dump later to not interfere with release_page dump. + (ggc_trim): New function. + * ggc-none.c (ggc_trim): New. + * ggc.h (ggc_trim): Declare. + + 2019-10-24 Mihail Ionescu + + Backport from mainline + 2019-10-18 Andre Vieira + + * config/arm/t-multilib: Add new multilib variants and new + mappings. + + 2019-10-24 Iain Sandoe + + Backport from mainline + 2019-10-23 Iain Sandoe + * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard + against out of range max skip or log values. + + 2019-10-23 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-23 Martin Liska + + Backport from mainline + 2019-09-26 Martin Liska + + PR tree-optimization/91885 + * tree-vectorizer.c (try_vectorize_loop_1): + Add TODO_update_ssa_only_virtuals similarly to what slp + pass does. + + 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-23 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-10-21 Jakub Jelinek + + Backported from mainline + 2019-10-17 Jakub Jelinek + + PR tree-optimization/92056 + * tree-object-size.c (cond_expr_object_size): Return early if then_ + processing resulted in unknown size. + + 2019-10-05 Jakub Jelinek + + PR tree-optimization/91734 + * generic-match-head.c: Include fold-const-call.h. + * match.pd (sqrt(x) cmp c): Check the boundary value and + in case inexact computation of c*c affects comparison of the boundary, + turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR + or GT_EXPR into GE_EXPR. Punt for sqrt comparisons against NaN and + for -frounding-math. For c2, try the next smaller or larger floating + point constant depending on comparison code and if it has the same + sqrt as c2, use it instead of c2. + + 2019-09-29 Jakub Jelinek + + PR bootstrap/90543 + * optc-save-gen.awk: Fix up printing string option differences. + + 2019-09-27 Jakub Jelinek + + PR middle-end/91920 + * gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL + variables as shared. + + 2019-09-11 Jakub Jelinek + + PR tree-optimization/91723 + * tree-vect-stmts.c (vectorizable_call): Use types_compatible_p check + instead of pointer equality when checking if argument vectypes are + the same. + + 2019-09-07 Jakub Jelinek + + PR tree-optimization/91665 + * tree-vect-loop.c (vectorizable_reduction): Punt if base has type + incompatible with the type of PHI result. + + 2019-09-06 Jakub Jelinek + + * function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P + before testing TYPE_TRANSPARENT_AGGR. + * calls.c (initialize_argument_information, load_register_parameters): + Likewise. + + 2019-09-05 Jakub Jelinek + + PR middle-end/91001 + PR middle-end/91105 + PR middle-end/91106 + * calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR + types, use type of their first field instead of type of + args[i].tree_value. + + 2019-09-02 Jakub Jelinek + + PR go/91617 + * fold-const.c (range_check_type): For enumeral and boolean + type, pass 1 to type_for_size langhook instead of + TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever + etype isn't TYPE_UNSIGNED INTEGER_TYPE. + (build_range_check): Don't call unsigned_type_for for pointer types. + * match.pd (X / C1 op C2): Don't call unsigned_type_for on + range_check_type result. + + 2019-09-01 Jakub Jelinek + + PR middle-end/91623 + * optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only + EQ_EXPR/NE_EXPR is supported, verify that op0 only contains + zeros or negative elements and use NE_EXPR instead of LT_EXPR against + zero vector. + + PR lto/91572 + * tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of + GIMPLE_ASM TREE_LIST operands. + + 2019-08-29 Jakub Jelinek + + PR tree-optimization/91351 + * tree-cfg.c (generate_range_test): Use range_check_type instead of + unsigned_type_for. + * tree-cfgcleanup.c (convert_single_case_switch): Punt if + range_check_type returns NULL. + * tree-switch-conversion.c (switch_conversion::build_one_array): + Use range_check_type instead of unsigned_type_for, don't perform + linear opt if it returns NULL. + (bit_test_cluster::find_bit_tests): Formatting fix. + (bit_test_cluster::emit): Use range_check_type instead of + unsigned_type_for. + (switch_decision_tree::try_switch_expansion): Punt if range_check_type + returns NULL. + + 2019-10-18 Georg-Johann Lay + + Backport from 2019-10-18 trunk r277143. + + PR target/86040 + * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. + + 2019-10-18 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-18 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-17 John David Anglin + + * config/pa/pa.c (pa_output_indirect_call): Fix typos in last change. + + 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 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-16 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-16 Richard Biener + + Backport from mainline + 2019-10-04 Richard Biener + + PR lto/91968 + * tree.c (find_decls_types_r): Do not remove LABEL_DECLs from + BLOCK_VARS. + + 2019-09-19 Richard Biener + + PR tree-optimization/91812 + * tree-ssa-phiprop.c (propagate_with_phi): Do not replace + volatile loads. + + 2019-09-17 Richard Biener + + PR debug/91772 + * dwarf2out.c (dwarf2out_late_global_decl): If early dwarf + was missing generate locations only once. + + 2019-09-17 Richard Biener + + PR tree-optimization/91790 + * tree-vect-stmts.c (vectorizable_load): For BB vectorization + use the correct DR for setting up realignment. + + 2019-10-14 Will Schmidt + + Backport from trunk + 2019-09-26 Will Schmidt + + * config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX, + LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, + LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, + LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI, + LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI, + LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF, + LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI, + LD_ELEMREV_V16QI): Use the PURE attribute. + + 2019-10-10 Uroš Bizjak + + PR target/92022 + * config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN. + + 2019-10-10 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-10 Andreas Krebbel + + Backport from mainline + 2019-10-10 Andreas Krebbel + + * common/config/s390/s390-common.c (PF_ARCH13): Rename to... + (PF_Z15): ... this. + * config.gcc: Add z15 as option for --with-arch and --with-tune + configure switches. + * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add + error reporting for unsupported builtins. + * config/s390/s390-opts.h (enum processor_type): Rename + PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15. + * config/s390/8561.md: Rename arch13 to z15 throughout the file. + * config/s390/driver-native.c (s390_host_detect_local_cpu): + Likewise. + * config/s390/s390-builtins.def: Likewise. + * config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative. + (s390_expand_builtin): Add missing check for unsupported builtins. + (s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15. + (s390_rtx_costs): Likewise. + (s390_get_sched_attrmask): Rename arch13 to z15. + (s390_get_unit_mask): Likewise. + (s390_is_fpd): Likewise. + (s390_is_fxd): Likewise. + * config/s390/s390.h (enum processor_flags): Likewise. + * config/s390/s390.md: Likewise. + * config/s390/vector.md: Likewise. + * config/s390/vx-builtins.md: Likewise. + * config/s390/s390.opt: Add z15 to processor_type value. + + 2019-10-07 Bill Schmidt + + Backport from mainline + 2019-10-01 Bill Schmidt + + PR target/91275 + * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap + vpmsumd. + + 2019-10-05 Andrea Corallo + + Backport from mainline + 2019-10-03 Andrea Corallo + * gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum + when finished. + * ipa-prop.c (ipcp_free_transformation_sum): New function. + * ipa-prop.h (ipcp_free_transformation_sum): Add declaration. + + 2019-10-04 Dragan Mladjenovic + + Backport from mainline + 2019-10-03 Dragan Mladjenovic + + PR target/91769 + * config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p + instead of REGNO equality check on addr.reg. + + 2019-10-04 Dragan Mladjenovic + + Backport from mainline + 2019-07-07 Richard Sandiford + + * config/mips/mips.c (mips_split_move): Zero-initialize addr + and check whether addr.reg is nonnull before using it. + + 2019-10-02 Bernd Edlinger + + Backport from mainline + + 2019-09-13 Bernd Edlinger + + PR fortran/91716 + * trans-array.c (gfc_conv_array_initializer): Always assign the + array type of the field to the string constant. + + 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-10-01 Kyrylo Tkachov + + Backport from mainline + 2019-09-24 Kyrylo Tkachov + + * config/aarch64/aarch64.md (mov): Don't call + aarch64_split_dimode_const_store on volatile MEM. + + 2019-10-01 Kyrylo Tkachov + + Backport from mainline + 2019-09-26 Matt Turner + + PR driver/69471 + * config/aarch64/aarch64.opt (march=): Add Negative(march=). + (mtune=): Add Negative(mtune=). + (mcpu=): Add Negative(mcpu=). + * config/arm/arm.opt: Likewise. + + 2019-09-28 Oleg Endo + + Backport from mainline + 2019-09-28 Oleg Endo + + PR target/86805 + * config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define. + + 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-25 Kyrylo Tkachov + + Backport from mainline + 2019-08-22 Kyrylo Tkachov + + * config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32 + intrinsics if __ARM_FP. + Use __ARM_FEATURE_CRC32 ifdef guard. + + 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-22 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-20 John David Anglin + + * config/pa/pa.c (pa_trampoline_init): Remove spurious extended + character. + + 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-20 Kito Cheng + + Backport from mainline + 2019-09-18 Jim Wilson + + PR target/91683 + * config/riscv/riscv-protos.h (riscv_split_symbol): New bool parameter. + (riscv_move_integer): Likewise. + * config/riscv/riscv.c (riscv_split_integer): Pass FALSE for new + riscv_move_integer arg. + (riscv_legitimize_move): Likewise. + (riscv_force_temporary): New parameter in_splitter. Don't call + force_reg if true. + (riscv_unspec_offset_high): Pass FALSE for new riscv_force_temporary + arg. + (riscv_add_offset): Likewise. + (riscv_split_symbol): New parameter in_splitter. Pass to + riscv_force_temporary. + (riscv_legitimize_address): Pass FALSE for new riscv_split_symbol + arg. + (riscv_move_integer): New parameter in_splitter. New local + can_create_psuedo. Don't call riscv_split_integer or force_reg when + in_splitter TRUE. + (riscv_legitimize_const_move): Pass FALSE for new riscv_move_integer, + riscv_split_symbol, and riscv_force_temporary args. + * config/riscv/riscv.md (low+1): Pass TRUE for new + riscv_move_integer arg. + (low+2): Pass TRUE for new riscv_split_symbol arg. + + 2019-09-20 Eric Botcazou + + PR target/91269 + * config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Define. + + 2019-09-19 Kito Cheng + + Backport from mainline + 2019-09-05 Jakub Jelinek + Jim Wilson + + PR target/91635 + * config/riscv/riscv.md (zero_extendsidi2, zero_extendhi2, + extend2): Don't split if + paradoxical_subreg_p (operands[0]). + (*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and + use as intermediate value. + + 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-04 Wilco Dijkstra + + Backport from mainline + 2019-08-13 Wilco Dijkstra + + PR target/81800 + * gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF + operand is larger than a long int. + + 2019-09-03 Jakub Jelinek + + PR tree-optimization/91597 + * tree-vrp.c (extract_range_from_binary_expr): Remove unsafe + BIT_AND_EXPR optimization for pointers, even if both operand + ranges don't include NULL, the result can be NULL. + + 2019-09-02 Martin Liska + + Backport from mainline + 2019-09-02 Martin Liska + + PR gcov-profile/91601 + * gcov.c (path_contains_zero_cycle_arc): Rename to ... + (path_contains_zero_or_negative_cycle_arc): ... this and handle + also negative edges. + (circuit): Handle also negative edges as they can happen + in some situations. + + 2019-09-01 Eric Botcazou + + PR target/91472 + * config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true + during LRA/reload in PIC mode if the PIC register hasn't been used yet. + (sparc_pic_register_p): Test reload_in_progress for consistency's sake. + + 2019-08-31 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-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 Richard Biener + + Backport from mainline + 2019-04-29 Richard Biener + + PR tree-optimization/90278 + * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean + EH on comparison simplification. + + 2019-08-29 Richard Biener + + PR tree-optimization/91568 + * tree-vectorizer.h (_slp_tree::max_nunits): Add. + (vect_update_max_nunits): Add overload for poly_uint64. + * tree-vect-slp.c (vect_create_new_slp_node): Initialize it. + (vect_build_slp_tree): Record max_nunits into the subtree + and merge it upwards. + (vect_print_slp_tree): Print max_nunits. + + 2019-08-28 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. + + 2019-08-26 Xiong Hu Luo + + Backport r274411 from trunk to gcc-9-branch. + 2019-08-14 Xiong Hu Luo + + PR lto/91287 + * builtins.c (builtin_with_linkage_p): New function. + * builtins.h (builtin_with_linkage_p): New function. + * symtab.c (write_symbol): Remove redundant assert. + * lto-streamer-out.c (symtab_node::output_to_lto_symbol_table_p): + Remove FIXME and use builtin_with_linkage_p. + + 2019-08-25 Uroš Bizjak + + PR target/91533 + Backport from mainline + 2019-06-30 Uroš 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-23 Mihailo Stojanovic + + Backport from mainline + 2019-08-23 Mihailo Stojanovic + + * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI + machine mode for unspec_volatile operand. + + 2019-08-23 Martin Liska + + PR ipa/91508 + Backport from mainline + 2019-08-15 Martin Liska + + PR ipa/91438 + * cgraph.c (cgraph_node::remove): When setting + n->origin = NULL for all nested functions, reset + also next_nested. + + 2019-08-23 Martin Liska + + Backport from mainline + 2019-08-15 Martin Liska + + * cgraph.c (cgraph_node::verify_node): Verify origin, nested + and next_nested. + + 2019-08-23 Martin Liska + + Backport from mainline + 2019-08-15 Martin Liska + + PR ipa/91404 + * passes.c (order): Remove. + (uid_hash_t): Likewise). + (remove_cgraph_node_from_order): Remove from set + of pointers (cgraph_node *). + (insert_cgraph_node_to_order): New. + (duplicate_cgraph_node_to_order): New. + (do_per_function_toporder): Register all 3 cgraph hooks. + Skip removed_nodes now as we know about all of them. + + 2019-08-21 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. + + 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-08-19 Richard Earnshaw + + Backport from mainline + 2019-09-09 Richard Earnshaw + + PR target/91386 + * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Use copy_rtx + to preserve the contents of the original insns. + + 2019-08-16 Bernd Edlinger + + Backport from mainline + 2019-08-16 Bernd Edlinger + + PR tree-optimization/91109 + * lra-int.h (lra_need_for_scratch_reg_p): Declare. + * lra.c (lra): Use lra_need_for_scratch_reg_p. + * lra-spills.c (lra_need_for_scratch_reg_p): New function. + + 2019-08-07 Bernd Edlinger + + PR tree-optimization/91109 + * lra-remat.c (update_scratch_ops): Remove assignment of the + hard register. + + 2019-08-15 Steve Ellcey + + Backport from mainline + 2019-08-02 Steve Ellcey + + * omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to + build_distinct_type_copy. + (simd_clone_adjust_argument_types): Ditto. + (simd_clone_adjust): Call build_distinct_type_copy here. + (expand_simd_clones): Ditto. + + 2019-08-15 Richard Biener + + PR tree-optimization/91445 + Backport from mainline + 2019-07-05 Richard Biener + + PR tree-optimization/91091 + * tree-ssa-alias.h (get_continuation_for_phi): Add tbaa_p parameter. + (walk_non_aliased_vuses): Likewise. + * tree-ssa-alias.c (maybe_skip_until): Pass down tbaa_p. + (get_continuation_for_phi): New tbaa_p parameter and pass + it down. + (walk_non_aliased_vuses): Likewise. + * tree-ssa-pre.c (translate_vuse_through_block): Likewise. + * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): + Likewise. + * tree-ssa-sccvn.c (struct vn_walk_cb_data): Add tbaa_p flag. + (vn_reference_lookup_3): Handle and pass down tbaa_p flag. + (vn_reference_lookup_pieces): Adjust. + (vn_reference_lookup): Remove alias-set altering, instead pass + down false as tbaa_p. + + 2019-07-04 Richard Biener + + * tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr + argument. + * tree-ssa-sccvn.c (last_vuse_ptr, vn_walk_kind): Move + globals into... + (struct vn_walk_cb_data): New callback data struct. + (vn_reference_lookup_2): Adjust. + (vn_reference_lookup_3): Likewise. + (vn_reference_lookup_pieces): Likewise. + (vn_reference_lookup): Likewise, get last_vuse_ptr argument. + (visit_reference_op_load): Adjust. + + 2019-08-14 Martin Sebor + + Backport from mainline + + 2019-08-01 Martin Sebor + + PR c++/90947 + * tree.c (type_initializer_zero_p): Define. + * tree.h (type_initializer_zero_p): New function. + + 2019-08-05 Martin Sebor + + * doc/extend.texi (Common Variable Attributes): Document alias + attribute. + + 2019-08-12 Richard Biener + + Backport from mainline + 2019-08-12 Richard Biener + + PR lto/91375 + * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on + flag_devirtualize. + + 2019-08-12 Richard Biener + + PR driver/91130 + * lto-wrapper.c (get_options_from_collect_gcc_options): Remove + lang_mask option, always use CL_DRIVER. + (find_and_merge_options): Adjust. + (run_gcc): Likewise. + + 2019-08-07 Richard Earnshaw + + PR driver/91130 + * lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when + processing COLLECT_GCC_OPTIONS. + (run_gcc): Likewise. + + 2019-08-12 Jakub Jelinek + + * BASE-VER: Set to 9.2.1. + 2019-08-12 Release Manager * GCC 9.2.0 released. *************** *** 513,519 **** 2019-07-11 Uroš Bizjak ! Backported from mainline 2019-07-06 Richard Sandiford * config/i386/sse.md (*andnot3_bcst): Fix VI/VI48_AVX512VL typo. --- 2865,2871 ---- 2019-07-11 Uroš Bizjak ! Backport from mainline 2019-07-06 Richard Sandiford * config/i386/sse.md (*andnot3_bcst): Fix VI/VI48_AVX512VL typo. diff -Nrcpad gcc-9.2.0/gcc/DATESTAMP gcc-9.3.0/gcc/DATESTAMP *** gcc-9.2.0/gcc/DATESTAMP Mon Aug 12 00:16:21 2019 --- gcc-9.3.0/gcc/DATESTAMP Thu Mar 12 11:07:20 2020 *************** *** 1 **** ! 20190812 --- 1 ---- ! 20200312 diff -Nrcpad gcc-9.2.0/gcc/Makefile.in gcc-9.3.0/gcc/Makefile.in *** gcc-9.2.0/gcc/Makefile.in Thu Apr 25 14:32:16 2019 --- gcc-9.3.0/gcc/Makefile.in Thu Mar 12 11:07:20 2020 *************** endif *** 1120,1125 **** --- 1120,1126 ---- # Support for additional languages (other than C). # C can be supported this way too (leave for later). + LANG_CONFIGUREFRAGS = @all_lang_configurefrags@ LANG_MAKEFRAGS = @all_lang_makefrags@ # Used by gcc/jit/Make-lang.in *************** cstamp-h: config.in config.status *** 1894,1900 **** # Really, really stupid make features, such as SUN's KEEP_STATE, may force # a target to build even if it is up-to-date. So we must verify that # config.status does not exist before failing. ! config.status: $(srcdir)/configure $(srcdir)/config.gcc @if [ ! -f config.status ] ; then \ echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \ false; \ --- 1895,1901 ---- # Really, really stupid make features, such as SUN's KEEP_STATE, may force # a target to build even if it is up-to-date. So we must verify that # config.status does not exist before failing. ! config.status: $(srcdir)/configure $(srcdir)/config.gcc $(LANG_CONFIGUREFRAGS) @if [ ! -f config.status ] ; then \ echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \ false; \ diff -Nrcpad gcc-9.2.0/gcc/ada/ChangeLog gcc-9.3.0/gcc/ada/ChangeLog *** gcc-9.2.0/gcc/ada/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/ada/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,66 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-03-11 Richard Wai + + * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on + the Alias of the entitiy, if it is present, in the main assertion. + + 2019-11-29 Eric Botcazou + + PR ada/92489 + Backport from mainline + 2019-07-01 Ed Schonberg + + * exp_attr.adb (Expand_Attribute_Reference, case Invalid_Value): + Resolve result of call to Get_Simple_Init_Val, which may be a + conversion of a literal. + + 2019-11-25 Eric Botcazou + + PR ada/92362 + * gcc-interface/trans.c (gnat_to_gnu) : + Use a temporary instead of clobbering the result with a freeze node. + + 2019-11-25 Eric Botcazou + + PR ada/92575 + * expect.c (__gnat_expect_poll [VMS, HPUX]): Fix typo. + + 2019-11-08 Jakub Jelinek + + Backported from mainline + 2019-10-27 Jakub Jelinek + + * locales.c (iso_3166): Add missing comma after "United-States". + + 2019-10-12 Eric Botcazou + + PR ada/91995 + * sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls + to Defining_Entity. + * sem_elab.adb (Find_Unit_Entity): Likewise. Deal with N_Subunit + here in lieu of in Defining_Entity. + * sem_spark.adb (Check_Callable_Body): Likewise. + (Check_Package_Body): Likewise. + * sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters. + * sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters, + and adjust accordingly. Deal with N_Compilation_Unit. + + 2019-10-11 Eric Botcazou + + * gcc-interface/decl.c (annotate_value) : Really test the + sign of the value when deciding to build a NEGATE_EXPR. + : Remove redundant line. + : Do the negation here. + + 2019-09-23 Eric Botcazou + + * gcc-interface/trans.c (Attribute_to_gnu): Test Can_Use_Internal_Rep + on the underlying type of the node. + (Call_to_gnu): Likewise with the type of the prefix. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/ada/exp_attr.adb gcc-9.3.0/gcc/ada/exp_attr.adb *** gcc-9.2.0/gcc/ada/exp_attr.adb Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/exp_attr.adb Thu Mar 12 11:07:20 2020 *************** package body Exp_Attr is *** 4242,4247 **** --- 4242,4252 ---- when Attribute_Invalid_Value => Rewrite (N, Get_Simple_Init_Val (Ptyp, N)); + -- The value produced may be a conversion of a literal, which + -- must be resolved to establish its proper type. + + Analyze_And_Resolve (N); + ---------- -- Last -- ---------- diff -Nrcpad gcc-9.2.0/gcc/ada/expect.c gcc-9.3.0/gcc/ada/expect.c *** gcc-9.2.0/gcc/ada/expect.c Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/expect.c Thu Mar 12 11:07:20 2020 *************** __gnat_expect_poll (int *fd, *** 265,271 **** if ((status & 1) != 1) { ready = -1; ! dead_process = i + 1; return ready; } } --- 265,271 ---- if ((status & 1) != 1) { ready = -1; ! *dead_process = i + 1; return ready; } } *************** __gnat_expect_poll (int *fd, *** 450,456 **** if (ei.request == TIOCCLOSE) { ioctl (fd[i], TIOCREQSET, &ei); ! dead_process = i + 1; return -1; } --- 450,456 ---- if (ei.request == TIOCCLOSE) { ioctl (fd[i], TIOCREQSET, &ei); ! *dead_process = i + 1; return -1; } diff -Nrcpad gcc-9.2.0/gcc/ada/gcc-interface/decl.c gcc-9.3.0/gcc/ada/gcc-interface/decl.c *** gcc-9.2.0/gcc/ada/gcc-interface/decl.c Sat Jun 29 09:05:43 2019 --- gcc-9.3.0/gcc/ada/gcc-interface/decl.c Thu Mar 12 11:07:20 2020 *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 445,459 **** /* If we get here, it means we have not yet done anything with this entity. If we are not defining it, it must be a type or an entity that is defined ! elsewhere or externally, otherwise we should have defined it already. */ gcc_assert (definition - || type_annotate_only || is_type || kind == E_Discriminant || kind == E_Component || kind == E_Label || (kind == E_Constant && Present (Full_View (gnat_entity))) ! || Is_Public (gnat_entity)); /* Get the name of the entity and set up the line number and filename of the original definition for use in any decl we make. Make sure we do --- 445,466 ---- /* If we get here, it means we have not yet done anything with this entity. If we are not defining it, it must be a type or an entity that is defined ! elsewhere or externally, otherwise we should have defined it already. ! ! One exception is for an entity, typically an inherited operation, which is ! a local alias for the parent's operation. It is neither defined, since it ! is an inherited operation, nor public, since it is declared in the current ! compilation unit, so we test Is_Public on the Alias entity instead. */ gcc_assert (definition || is_type || kind == E_Discriminant || kind == E_Component || kind == E_Label || (kind == E_Constant && Present (Full_View (gnat_entity))) ! || Is_Public (gnat_entity) ! || (Present (Alias (gnat_entity)) ! && Is_Public (Alias (gnat_entity))) ! || type_annotate_only); /* Get the name of the entity and set up the line number and filename of the original definition for use in any decl we make. Make sure we do *************** annotate_value (tree gnu_size) *** 8255,8263 **** { case INTEGER_CST: /* For negative values, build NEGATE_EXPR of the opposite. Such values ! can appear for discriminants in expressions for variants. Note that, ! sizetype being unsigned, we don't directly use tree_int_cst_sgn. */ ! if (tree_int_cst_sign_bit (gnu_size)) { tree t = wide_int_to_tree (sizetype, -wi::to_wide (gnu_size)); tcode = Negate_Expr; --- 8262,8269 ---- { case INTEGER_CST: /* For negative values, build NEGATE_EXPR of the opposite. Such values ! can appear for discriminants in expressions for variants. */ ! if (tree_int_cst_sgn (gnu_size) < 0) { tree t = wide_int_to_tree (sizetype, -wi::to_wide (gnu_size)); tcode = Negate_Expr; *************** annotate_value (tree gnu_size) *** 8335,8343 **** && tree_int_cst_sign_bit (TREE_OPERAND (gnu_size, 1))) { tcode = Minus_Expr; ! ops[0] = annotate_value (TREE_OPERAND (gnu_size, 0)); ! wide_int op1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ! ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); break; } --- 8341,8348 ---- && tree_int_cst_sign_bit (TREE_OPERAND (gnu_size, 1))) { tcode = Minus_Expr; ! wide_int wop1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ! ops[1] = annotate_value (wide_int_to_tree (sizetype, wop1)); break; } *************** annotate_value (tree gnu_size) *** 8378,8386 **** Such values can appear in expressions with aligning patterns. */ if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST) { ! wide_int op1 = wi::sext (wi::to_wide (TREE_OPERAND (gnu_size, 1)), ! TYPE_PRECISION (sizetype)); ! ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); } break; --- 8383,8391 ---- Such values can appear in expressions with aligning patterns. */ if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST) { ! wide_int wop1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ! tree op1 = wide_int_to_tree (sizetype, wop1); ! ops[1] = annotate_value (build1 (NEGATE_EXPR, sizetype, op1)); } break; diff -Nrcpad gcc-9.2.0/gcc/ada/gcc-interface/trans.c gcc-9.3.0/gcc/ada/gcc-interface/trans.c *** gcc-9.2.0/gcc/ada/gcc-interface/trans.c Sat Jun 29 07:38:08 2019 --- gcc-9.3.0/gcc/ada/gcc-interface/trans.c Thu Mar 12 11:07:20 2020 *************** Attribute_to_gnu (Node_Id gnat_node, tre *** 2248,2279 **** /* For other address attributes applied to a nested function, find an inner ADDR_EXPR and annotate it so that we can issue a useful warning with -Wtrampolines. */ ! else if (FUNC_OR_METHOD_TYPE_P (TREE_TYPE (gnu_prefix))) { ! gnu_expr = remove_conversions (gnu_result, false); ! ! if (TREE_CODE (gnu_expr) == ADDR_EXPR ! && decl_function_context (TREE_OPERAND (gnu_expr, 0))) ! { ! set_expr_location_from_node (gnu_expr, gnat_node); ! /* Also check the inlining status. */ ! check_inlining_for_nested_subprog (TREE_OPERAND (gnu_expr, 0)); ! /* Moreover, for 'Access or 'Unrestricted_Access with non- ! foreign-compatible representation, mark the ADDR_EXPR so ! that we can build a descriptor instead of a trampoline. */ ! if ((attribute == Attr_Access ! || attribute == Attr_Unrestricted_Access) ! && targetm.calls.custom_function_descriptors > 0 ! && Can_Use_Internal_Rep (Etype (gnat_node))) ! FUNC_ADDR_BY_DESCRIPTOR (gnu_expr) = 1; ! /* Otherwise, we need to check that we are not violating the ! No_Implicit_Dynamic_Code restriction. */ ! else if (targetm.calls.custom_function_descriptors != 0) ! Check_Implicit_Dynamic_Code_Allowed (gnat_node); ! } } break; --- 2248,2276 ---- /* For other address attributes applied to a nested function, find an inner ADDR_EXPR and annotate it so that we can issue a useful warning with -Wtrampolines. */ ! else if (FUNC_OR_METHOD_TYPE_P (TREE_TYPE (gnu_prefix)) ! && (gnu_expr = remove_conversions (gnu_result, false)) ! && TREE_CODE (gnu_expr) == ADDR_EXPR ! && decl_function_context (TREE_OPERAND (gnu_expr, 0))) { ! set_expr_location_from_node (gnu_expr, gnat_node); ! /* Also check the inlining status. */ ! check_inlining_for_nested_subprog (TREE_OPERAND (gnu_expr, 0)); ! /* Moreover, for 'Access or 'Unrestricted_Access with non- ! foreign-compatible representation, mark the ADDR_EXPR so ! that we can build a descriptor instead of a trampoline. */ ! if ((attribute == Attr_Access ! || attribute == Attr_Unrestricted_Access) ! && targetm.calls.custom_function_descriptors > 0 ! && Can_Use_Internal_Rep (Underlying_Type (Etype (gnat_node)))) ! FUNC_ADDR_BY_DESCRIPTOR (gnu_expr) = 1; ! /* Otherwise, we need to check that we are not violating the ! No_Implicit_Dynamic_Code restriction. */ ! else if (targetm.calls.custom_function_descriptors != 0) ! Check_Implicit_Dynamic_Code_Allowed (gnat_node); } break; *************** Call_to_gnu (Node_Id gnat_node, tree *gn *** 5103,5109 **** /* If the access type doesn't require foreign-compatible representation, be prepared for descriptors. */ if (targetm.calls.custom_function_descriptors > 0 ! && Can_Use_Internal_Rep (Etype (Prefix (Name (gnat_node))))) by_descriptor = true; } else if (Nkind (Name (gnat_node)) == N_Attribute_Reference) --- 5100,5107 ---- /* If the access type doesn't require foreign-compatible representation, be prepared for descriptors. */ if (targetm.calls.custom_function_descriptors > 0 ! && Can_Use_Internal_Rep ! (Underlying_Type (Etype (Prefix (Name (gnat_node)))))) by_descriptor = true; } else if (Nkind (Name (gnat_node)) == N_Attribute_Reference) *************** gnat_to_gnu (Node_Id gnat_node) *** 8310,8316 **** gnat_temp = Entity (Name (gnat_node)); if (Freeze_Node (gnat_temp)) { ! tree gnu_address = gnat_to_gnu (Expression (gnat_node)); /* Get the value to use as the address and save it as the equivalent for the object; when it is frozen, gnat_to_gnu_entity will do the --- 8308,8314 ---- gnat_temp = Entity (Name (gnat_node)); if (Freeze_Node (gnat_temp)) { ! tree gnu_address = gnat_to_gnu (Expression (gnat_node)), gnu_temp; /* Get the value to use as the address and save it as the equivalent for the object; when it is frozen, gnat_to_gnu_entity will do the *************** gnat_to_gnu (Node_Id gnat_node) *** 8320,8326 **** of the object is limited and it is initialized with the result of a function call. */ if (Is_Subprogram (gnat_temp)) ! gnu_result = gnu_address; else { tree gnu_type = gnat_to_gnu_type (Etype (gnat_temp)); --- 8318,8324 ---- of the object is limited and it is initialized with the result of a function call. */ if (Is_Subprogram (gnat_temp)) ! gnu_temp = gnu_address; else { tree gnu_type = gnat_to_gnu_type (Etype (gnat_temp)); *************** gnat_to_gnu (Node_Id gnat_node) *** 8329,8339 **** gnu_type = build_reference_type_for_mode (gnu_type, ptr_mode, true); gnu_address = convert (gnu_type, gnu_address); ! gnu_result = build_unary_op (INDIRECT_REF, NULL_TREE, gnu_address); } ! save_gnu_tree (gnat_temp, gnu_result, true); } break; --- 8327,8337 ---- gnu_type = build_reference_type_for_mode (gnu_type, ptr_mode, true); gnu_address = convert (gnu_type, gnu_address); ! gnu_temp = build_unary_op (INDIRECT_REF, NULL_TREE, gnu_address); } ! save_gnu_tree (gnat_temp, gnu_temp, true); } break; diff -Nrcpad gcc-9.2.0/gcc/ada/locales.c gcc-9.3.0/gcc/ada/locales.c *** gcc-9.2.0/gcc/ada/locales.c Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/locales.c Thu Mar 12 11:07:21 2020 *************** static char* iso_3166[] = *** 529,535 **** "UM", "United States Minor Outlying Islands", "US", "United States", "US", "United States of America", ! "US", "United-States" "UY", "Uruguay", "UZ", "Uzbekistan", --- 529,535 ---- "UM", "United States Minor Outlying Islands", "US", "United States", "US", "United States of America", ! "US", "United-States", "UY", "Uruguay", "UZ", "Uzbekistan", diff -Nrcpad gcc-9.2.0/gcc/ada/sem_ch8.adb gcc-9.3.0/gcc/ada/sem_ch8.adb *** gcc-9.2.0/gcc/ada/sem_ch8.adb Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/sem_ch8.adb Thu Mar 12 11:07:21 2020 *************** package body Sem_Ch8 is *** 4256,4271 **** -- Common case for compilation unit ! elsif Defining_Entity (N => Parent (N), ! Empty_On_Errors => True) = Current_Scope ! then null; else -- If declaration appears in some other scope, it must be in some -- parent unit when compiling a child. ! Pack := Defining_Entity (Parent (N), Empty_On_Errors => True); if not In_Open_Scopes (Pack) then null; --- 4256,4269 ---- -- Common case for compilation unit ! elsif Defining_Entity (Parent (N)) = Current_Scope then null; else -- If declaration appears in some other scope, it must be in some -- parent unit when compiling a child. ! Pack := Defining_Entity (Parent (N)); if not In_Open_Scopes (Pack) then null; diff -Nrcpad gcc-9.2.0/gcc/ada/sem_elab.adb gcc-9.3.0/gcc/ada/sem_elab.adb *** gcc-9.2.0/gcc/ada/sem_elab.adb Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/sem_elab.adb Thu Mar 12 11:07:21 2020 *************** package body Sem_Elab is *** 5544,5556 **** N_Procedure_Instantiation) and then Nkind (Context) = N_Compilation_Unit then ! return ! Related_Instance (Defining_Entity (N, Concurrent_Subunit => True)); -- Otherwise the proper entity is the defining entity else ! return Defining_Entity (N, Concurrent_Subunit => True); end if; end Find_Unit_Entity; --- 5544,5566 ---- N_Procedure_Instantiation) and then Nkind (Context) = N_Compilation_Unit then ! return Related_Instance (Defining_Entity (N)); ! ! -- The unit denotes a concurrent body acting as a subunit. Such bodies ! -- are generally rewritten into null statements. The proper entity is ! -- that of the "original node". ! ! elsif Nkind (N) = N_Subunit ! and then Nkind (Proper_Body (N)) = N_Null_Statement ! and then Nkind_In (Original_Node (Proper_Body (N)), N_Protected_Body, ! N_Task_Body) ! then ! return Defining_Entity (Original_Node (Proper_Body (N))); -- Otherwise the proper entity is the defining entity else ! return Defining_Entity (N); end if; end Find_Unit_Entity; diff -Nrcpad gcc-9.2.0/gcc/ada/sem_spark.adb gcc-9.3.0/gcc/ada/sem_spark.adb *** gcc-9.2.0/gcc/ada/sem_spark.adb Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/sem_spark.adb Thu Mar 12 11:07:21 2020 *************** package body Sem_SPARK is *** 804,810 **** if Present (SPARK_Pragma (Defining_Entity (Body_N))) then if Get_SPARK_Mode_From_Annotation ! (SPARK_Pragma (Defining_Entity (Body_N, False))) /= Opt.On then return; end if; --- 804,810 ---- if Present (SPARK_Pragma (Defining_Entity (Body_N))) then if Get_SPARK_Mode_From_Annotation ! (SPARK_Pragma (Defining_Entity (Body_N))) /= Opt.On then return; end if; *************** package body Sem_SPARK is *** 1914,1920 **** CorSp : Node_Id; begin ! if Present (SPARK_Pragma (Defining_Entity (Pack, False))) then if Get_SPARK_Mode_From_Annotation (SPARK_Pragma (Defining_Entity (Pack))) /= Opt.On then --- 1914,1920 ---- CorSp : Node_Id; begin ! if Present (SPARK_Pragma (Defining_Entity (Pack))) then if Get_SPARK_Mode_From_Annotation (SPARK_Pragma (Defining_Entity (Pack))) /= Opt.On then diff -Nrcpad gcc-9.2.0/gcc/ada/sem_util.adb gcc-9.3.0/gcc/ada/sem_util.adb *** gcc-9.2.0/gcc/ada/sem_util.adb Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/sem_util.adb Thu Mar 12 11:07:21 2020 *************** package body Sem_Util is *** 5827,5837 **** -- Defining_Entity -- --------------------- ! function Defining_Entity ! (N : Node_Id; ! Empty_On_Errors : Boolean := False; ! Concurrent_Subunit : Boolean := False) return Entity_Id ! is begin case Nkind (N) is when N_Abstract_Subprogram_Declaration --- 5827,5833 ---- -- Defining_Entity -- --------------------- ! function Defining_Entity (N : Node_Id) return Entity_Id is begin case Nkind (N) is when N_Abstract_Subprogram_Declaration *************** package body Sem_Util is *** 5882,5905 **** => return Defining_Identifier (N); ! when N_Subunit => ! declare ! Bod : constant Node_Id := Proper_Body (N); ! Orig_Bod : constant Node_Id := Original_Node (Bod); ! ! begin ! -- Retrieve the entity of the original protected or task body ! -- if requested by the caller. ! if Concurrent_Subunit ! and then Nkind (Bod) = N_Null_Statement ! and then Nkind_In (Orig_Bod, N_Protected_Body, N_Task_Body) ! then ! return Defining_Entity (Orig_Bod); ! else ! return Defining_Entity (Bod); ! end if; ! end; when N_Function_Instantiation | N_Function_Specification --- 5878,5888 ---- => return Defining_Identifier (N); ! when N_Compilation_Unit => ! return Defining_Entity (Unit (N)); ! when N_Subunit => ! return Defining_Entity (Proper_Body (N)); when N_Function_Instantiation | N_Function_Specification *************** package body Sem_Util is *** 5925,5938 **** -- can continue semantic analysis. elsif Nam = Error then ! if Empty_On_Errors then ! return Empty; ! else ! Err := Make_Temporary (Sloc (N), 'T'); ! Set_Defining_Unit_Name (N, Err); ! return Err; ! end if; -- If not an entity, get defining identifier --- 5908,5917 ---- -- can continue semantic analysis. elsif Nam = Error then ! Err := Make_Temporary (Sloc (N), 'T'); ! Set_Defining_Unit_Name (N, Err); ! return Err; -- If not an entity, get defining identifier *************** package body Sem_Util is *** 5947,5957 **** return Entity (Identifier (N)); when others => ! if Empty_On_Errors then ! return Empty; ! else ! raise Program_Error; ! end if; end case; end Defining_Entity; --- 5926,5932 ---- return Entity (Identifier (N)); when others => ! raise Program_Error; end case; end Defining_Entity; diff -Nrcpad gcc-9.2.0/gcc/ada/sem_util.ads gcc-9.3.0/gcc/ada/sem_util.ads *** gcc-9.2.0/gcc/ada/sem_util.ads Tue Jan 8 09:54:04 2019 --- gcc-9.3.0/gcc/ada/sem_util.ads Thu Mar 12 11:07:21 2020 *************** package Sem_Util is *** 543,552 **** -- in the case of a descendant of a generic formal type (returns Int'Last -- instead of 0). ! function Defining_Entity ! (N : Node_Id; ! Empty_On_Errors : Boolean := False; ! Concurrent_Subunit : Boolean := False) return Entity_Id; -- Given a declaration N, returns the associated defining entity. If the -- declaration has a specification, the entity is obtained from the -- specification. If the declaration has a defining unit name, then the --- 543,549 ---- -- in the case of a descendant of a generic formal type (returns Int'Last -- instead of 0). ! function Defining_Entity (N : Node_Id) return Entity_Id; -- Given a declaration N, returns the associated defining entity. If the -- declaration has a specification, the entity is obtained from the -- specification. If the declaration has a defining unit name, then the *************** package Sem_Util is *** 557,578 **** -- local entities declared during loop expansion. These entities need -- debugging information, generated through Qualify_Entity_Names, and -- the loop declaration must be placed in the table Name_Qualify_Units. - -- - -- Set flag Empty_On_Error to change the behavior of this routine as - -- follows: - -- - -- * True - A declaration that lacks a defining entity returns Empty. - -- A node that does not allow for a defining entity returns Empty. - -- - -- * False - A declaration that lacks a defining entity is given a new - -- internally generated entity which is subsequently returned. A node - -- that does not allow for a defining entity raises Program_Error. - -- - -- The former semantics is appropriate for the back end; the latter - -- semantics is appropriate for the front end. - -- - -- Set flag Concurrent_Subunit to handle rewritings of concurrent bodies - -- which act as subunits. Such bodies are generally rewritten as null. function Denotes_Discriminant (N : Node_Id; --- 554,559 ---- diff -Nrcpad gcc-9.2.0/gcc/alias.c gcc-9.3.0/gcc/alias.c *** gcc-9.2.0/gcc/alias.c Wed Jan 9 21:37:45 2019 --- gcc-9.3.0/gcc/alias.c Thu Mar 12 11:07:21 2020 *************** record_alias_subset (alias_set_type supe *** 1186,1200 **** } } ! /* Record that component types of TYPE, if any, are part of that type for aliasing purposes. For record types, we only record component types for fields that are not marked non-addressable. For array types, we only record the component type if it is not marked non-aliased. */ void ! record_component_aliases (tree type) { - alias_set_type superset = get_alias_set (type); tree field; if (superset == 0) --- 1186,1199 ---- } } ! /* Record that component types of TYPE, if any, are part of SUPERSET for aliasing purposes. For record types, we only record component types for fields that are not marked non-addressable. For array types, we only record the component type if it is not marked non-aliased. */ void ! record_component_aliases (tree type, alias_set_type superset) { tree field; if (superset == 0) *************** record_component_aliases (tree type) *** 1244,1250 **** == get_alias_set (TREE_TYPE (field))); } ! record_alias_subset (superset, get_alias_set (t)); } break; --- 1243,1263 ---- == get_alias_set (TREE_TYPE (field))); } ! alias_set_type set = get_alias_set (t); ! record_alias_subset (superset, set); ! /* If the field has alias-set zero make sure to still record ! any componets of it. This makes sure that for ! struct A { ! struct B { ! int i; ! char c[4]; ! } b; ! }; ! in C++ even though 'B' has alias-set zero because ! TYPE_TYPELESS_STORAGE is set, 'A' has the alias-set of ! 'int' as subset. */ ! if (set == 0) ! record_component_aliases (t, superset); } break; *************** record_component_aliases (tree type) *** 1260,1265 **** --- 1273,1291 ---- } } + /* Record that component types of TYPE, if any, are part of that type for + aliasing purposes. For record types, we only record component types + for fields that are not marked non-addressable. For array types, we + only record the component type if it is not marked non-aliased. */ + + void + record_component_aliases (tree type) + { + alias_set_type superset = get_alias_set (type); + record_component_aliases (type, superset); + } + + /* Allocate an alias set for use in storing and reading from the varargs spill area. */ diff -Nrcpad gcc-9.2.0/gcc/brig/ChangeLog gcc-9.3.0/gcc/brig/ChangeLog *** gcc-9.2.0/gcc/brig/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/brig/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/builtins.c gcc-9.3.0/gcc/builtins.c *** gcc-9.2.0/gcc/builtins.c Thu Jul 4 09:03:56 2019 --- gcc-9.3.0/gcc/builtins.c Thu Mar 12 11:07:21 2020 *************** target_char_cst_p (tree t, char *p) *** 11236,11238 **** --- 11236,11325 ---- *p = (char)tree_to_uhwi (t); return true; } + + /* Return true if the builtin DECL is implemented in a standard library. + Otherwise returns false which doesn't guarantee it is not (thus the list of + handled builtins below may be incomplete). */ + + bool + builtin_with_linkage_p (tree decl) + { + if (DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL) + switch (DECL_FUNCTION_CODE (decl)) + { + CASE_FLT_FN (BUILT_IN_ACOS): + CASE_FLT_FN (BUILT_IN_ACOSH): + CASE_FLT_FN (BUILT_IN_ASIN): + CASE_FLT_FN (BUILT_IN_ASINH): + CASE_FLT_FN (BUILT_IN_ATAN): + CASE_FLT_FN (BUILT_IN_ATANH): + CASE_FLT_FN (BUILT_IN_ATAN2): + CASE_FLT_FN (BUILT_IN_CBRT): + CASE_FLT_FN (BUILT_IN_CEIL): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_CEIL): + CASE_FLT_FN (BUILT_IN_COPYSIGN): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_COPYSIGN): + CASE_FLT_FN (BUILT_IN_COS): + CASE_FLT_FN (BUILT_IN_COSH): + CASE_FLT_FN (BUILT_IN_ERF): + CASE_FLT_FN (BUILT_IN_ERFC): + CASE_FLT_FN (BUILT_IN_EXP): + CASE_FLT_FN (BUILT_IN_EXP2): + CASE_FLT_FN (BUILT_IN_EXPM1): + CASE_FLT_FN (BUILT_IN_FABS): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_FABS): + CASE_FLT_FN (BUILT_IN_FDIM): + CASE_FLT_FN (BUILT_IN_FLOOR): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_FLOOR): + CASE_FLT_FN (BUILT_IN_FMA): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_FMA): + CASE_FLT_FN (BUILT_IN_FMAX): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_FMAX): + CASE_FLT_FN (BUILT_IN_FMIN): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_FMIN): + CASE_FLT_FN (BUILT_IN_FMOD): + CASE_FLT_FN (BUILT_IN_FREXP): + CASE_FLT_FN (BUILT_IN_HYPOT): + CASE_FLT_FN (BUILT_IN_ILOGB): + CASE_FLT_FN (BUILT_IN_LDEXP): + CASE_FLT_FN (BUILT_IN_LGAMMA): + CASE_FLT_FN (BUILT_IN_LLRINT): + CASE_FLT_FN (BUILT_IN_LLROUND): + CASE_FLT_FN (BUILT_IN_LOG): + CASE_FLT_FN (BUILT_IN_LOG10): + CASE_FLT_FN (BUILT_IN_LOG1P): + CASE_FLT_FN (BUILT_IN_LOG2): + CASE_FLT_FN (BUILT_IN_LOGB): + CASE_FLT_FN (BUILT_IN_LRINT): + CASE_FLT_FN (BUILT_IN_LROUND): + CASE_FLT_FN (BUILT_IN_MODF): + CASE_FLT_FN (BUILT_IN_NAN): + CASE_FLT_FN (BUILT_IN_NEARBYINT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_NEARBYINT): + CASE_FLT_FN (BUILT_IN_NEXTAFTER): + CASE_FLT_FN (BUILT_IN_NEXTTOWARD): + CASE_FLT_FN (BUILT_IN_POW): + CASE_FLT_FN (BUILT_IN_REMAINDER): + CASE_FLT_FN (BUILT_IN_REMQUO): + CASE_FLT_FN (BUILT_IN_RINT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_RINT): + CASE_FLT_FN (BUILT_IN_ROUND): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_ROUND): + CASE_FLT_FN (BUILT_IN_SCALBLN): + CASE_FLT_FN (BUILT_IN_SCALBN): + CASE_FLT_FN (BUILT_IN_SIN): + CASE_FLT_FN (BUILT_IN_SINH): + CASE_FLT_FN (BUILT_IN_SINCOS): + CASE_FLT_FN (BUILT_IN_SQRT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_SQRT): + CASE_FLT_FN (BUILT_IN_TAN): + CASE_FLT_FN (BUILT_IN_TANH): + CASE_FLT_FN (BUILT_IN_TGAMMA): + CASE_FLT_FN (BUILT_IN_TRUNC): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_TRUNC): + return true; + default: + break; + } + return false; + } diff -Nrcpad gcc-9.2.0/gcc/builtins.h gcc-9.3.0/gcc/builtins.h *** gcc-9.2.0/gcc/builtins.h Sat Feb 16 11:20:33 2019 --- gcc-9.3.0/gcc/builtins.h Thu Mar 12 11:07:21 2020 *************** extern internal_fn replacement_internal_ *** 150,154 **** --- 150,155 ---- extern void warn_string_no_nul (location_t, const char *, tree, tree); extern tree unterminated_array (tree, tree * = NULL, bool * = NULL); + extern bool builtin_with_linkage_p (tree); #endif /* GCC_BUILTINS_H */ diff -Nrcpad gcc-9.2.0/gcc/c/ChangeLog gcc-9.3.0/gcc/c/ChangeLog *** gcc-9.2.0/gcc/c/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/c/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,87 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-02-13 Jakub Jelinek + + PR c/93576 + * c-decl.c (grokdeclarator): If this_size_varies, only push size into + *expr if it has side effects. + + 2020-01-22 Joseph Myers + + Backport from mainline: + 2020-01-22 Joseph Myers + + PR c/93348 + * c-typeck.c (build_c_cast): Call remove_c_maybe_const_expr on + argument with integer operands. + + 2020-01-15 Joseph Myers + + Backport from mainline: + 2020-01-15 Joseph Myers + + PR c/93072 + * c-decl.c (pushdecl): Use TREE_PUBLIC, not DECL_EXTERNAL, to + determine whether to set DECL_CONTEXT. + + 2020-01-13 Joseph Myers + + Backport from mainline: + 2020-01-13 Joseph Myers + + PR c/93241 + * c-typeck.c (build_c_cast): Check for expressions with integer + operands that can occur in an unevaluated part of an integer + constant expression and call note_integer_operands as needed. + + 2019-12-20 Jakub Jelinek + + Backported from mainline + 2019-11-22 Jakub Jelinek + + PR c/90677 + * c-decl.c (identifier_global_tag): Define. + + 2019-12-02 Sandra Loosemore + + Fix bugs relating to flexibly-sized objects in nios2 backend. + + PR target/92499 + + * c-decl.c (flexible_array_type_p): Move to common code. + + 2019-10-21 Jakub Jelinek + + Backported from mainline + 2019-09-27 Jakub Jelinek + + PR c++/88203 + * c-parser.c (c_parser_predefined_identifier): New function. + (c_parser_postfix_expression): Use it. + (c_parser_omp_variable_list): Parse predefined identifiers. + * c-typeck.c (c_finish_omp_clauses): Allow predefined variables + in shared and firstprivate clauses, even when they are predetermined + shared. + + 2019-08-09 Jakub Jelinek + + PR c/91401 + * c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the + check_no_duplicate_clause call. Comment it out, instead emit a + warning for duplicate dist_schedule clauses. + + 2019-08-31 Iain Sandoe + + Backport from mainline. + 2019-08-23 Iain Sandoe + + PR pch/61250 + * c-parser.c (c_parse_file): Call c_common_no_more_pch () + after determining that the first token is not + PRAGMA_GCC_PCH_PREPROCESS. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/c/c-decl.c gcc-9.3.0/gcc/c/c-decl.c *** gcc-9.2.0/gcc/c/c-decl.c Sat Jul 20 18:50:20 2019 --- gcc-9.3.0/gcc/c/c-decl.c Thu Mar 12 11:07:21 2020 *************** pushdecl (tree x) *** 3044,3050 **** unless they have initializers (which generate code). */ if (current_function_decl && (!VAR_OR_FUNCTION_DECL_P (x) ! || DECL_INITIAL (x) || !DECL_EXTERNAL (x))) DECL_CONTEXT (x) = current_function_decl; /* Anonymous decls are just inserted in the scope. */ --- 3044,3050 ---- unless they have initializers (which generate code). */ if (current_function_decl && (!VAR_OR_FUNCTION_DECL_P (x) ! || DECL_INITIAL (x) || !TREE_PUBLIC (x))) DECL_CONTEXT (x) = current_function_decl; /* Anonymous decls are just inserted in the scope. */ *************** check_compound_literal_type (location_t *** 5586,5624 **** "defining a type in a compound literal is invalid in C++"); } - /* Determine whether TYPE is a structure with a flexible array member, - or a union containing such a structure (possibly recursively). */ - - static bool - flexible_array_type_p (tree type) - { - tree x; - switch (TREE_CODE (type)) - { - case RECORD_TYPE: - x = TYPE_FIELDS (type); - if (x == NULL_TREE) - return false; - while (DECL_CHAIN (x) != NULL_TREE) - x = DECL_CHAIN (x); - if (TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE - && TYPE_SIZE (TREE_TYPE (x)) == NULL_TREE - && TYPE_DOMAIN (TREE_TYPE (x)) != NULL_TREE - && TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (x))) == NULL_TREE) - return true; - return false; - case UNION_TYPE: - for (x = TYPE_FIELDS (type); x != NULL_TREE; x = DECL_CHAIN (x)) - { - if (flexible_array_type_p (TREE_TYPE (x))) - return true; - } - return false; - default: - return false; - } - } - /* Performs sanity checks on the TYPE and WIDTH of the bit-field NAME, replacing with appropriate values if they are invalid. */ --- 5586,5591 ---- *************** grokdeclarator (const struct c_declarato *** 6401,6411 **** } if (this_size_varies) { ! if (*expr) ! *expr = build2 (COMPOUND_EXPR, TREE_TYPE (size), ! *expr, size); ! else ! *expr = size; *expr_const_operands &= size_maybe_const; } } --- 6368,6381 ---- } if (this_size_varies) { ! if (TREE_SIDE_EFFECTS (size)) ! { ! if (*expr) ! *expr = build2 (COMPOUND_EXPR, TREE_TYPE (size), ! *expr, size); ! else ! *expr = size; ! } *expr_const_operands &= size_maybe_const; } } *************** identifier_global_value (tree t) *** 9971,9976 **** --- 9941,9960 ---- if (B_IN_FILE_SCOPE (b) || B_IN_EXTERNAL_SCOPE (b)) return b->decl; + return NULL_TREE; + } + + /* Return the global value of tag T as a symbol. */ + + tree + identifier_global_tag (tree t) + { + struct c_binding *b; + + for (b = I_TAG_BINDING (t); b; b = b->shadowed) + if (B_IN_FILE_SCOPE (b) || B_IN_EXTERNAL_SCOPE (b)) + return b->decl; + return NULL_TREE; } diff -Nrcpad gcc-9.2.0/gcc/c/c-parser.c gcc-9.3.0/gcc/c/c-parser.c *** gcc-9.2.0/gcc/c/c-parser.c Thu Aug 1 06:31:54 2019 --- gcc-9.3.0/gcc/c/c-parser.c Thu Mar 12 11:07:21 2020 *************** enum tgmath_parm_kind *** 8012,8017 **** --- 8012,8052 ---- tgmath_fixed, tgmath_real, tgmath_complex }; + /* Helper function for c_parser_postfix_expression. Parse predefined + identifiers. */ + + static struct c_expr + c_parser_predefined_identifier (c_parser *parser) + { + location_t loc = c_parser_peek_token (parser)->location; + switch (c_parser_peek_token (parser)->keyword) + { + case RID_FUNCTION_NAME: + pedwarn (loc, OPT_Wpedantic, "ISO C does not support %qs predefined " + "identifier", "__FUNCTION__"); + break; + case RID_PRETTY_FUNCTION_NAME: + pedwarn (loc, OPT_Wpedantic, "ISO C does not support %qs predefined " + "identifier", "__PRETTY_FUNCTION__"); + break; + case RID_C99_FUNCTION_NAME: + pedwarn_c90 (loc, OPT_Wpedantic, "ISO C90 does not support " + "%<__func__%> predefined identifier"); + break; + default: + gcc_unreachable (); + } + + struct c_expr expr; + expr.original_code = ERROR_MARK; + expr.original_type = NULL; + expr.value = fname_decl (loc, c_parser_peek_token (parser)->keyword, + c_parser_peek_token (parser)->value); + set_c_expr_source_range (&expr, loc, loc); + c_parser_consume_token (parser); + return expr; + } + /* Parse a postfix expression (C90 6.3.1-6.3.2, C99 6.5.1-6.5.2, C11 6.5.1-6.5.2). Compound literals aren't handled here; callers have to call c_parser_postfix_expression_after_paren_type on encountering them. *************** c_parser_postfix_expression (c_parser *p *** 8232,8262 **** switch (c_parser_peek_token (parser)->keyword) { case RID_FUNCTION_NAME: - pedwarn (loc, OPT_Wpedantic, "ISO C does not support " - "%<__FUNCTION__%> predefined identifier"); - expr.value = fname_decl (loc, - c_parser_peek_token (parser)->keyword, - c_parser_peek_token (parser)->value); - set_c_expr_source_range (&expr, loc, loc); - c_parser_consume_token (parser); - break; case RID_PRETTY_FUNCTION_NAME: - pedwarn (loc, OPT_Wpedantic, "ISO C does not support " - "%<__PRETTY_FUNCTION__%> predefined identifier"); - expr.value = fname_decl (loc, - c_parser_peek_token (parser)->keyword, - c_parser_peek_token (parser)->value); - set_c_expr_source_range (&expr, loc, loc); - c_parser_consume_token (parser); - break; case RID_C99_FUNCTION_NAME: ! pedwarn_c90 (loc, OPT_Wpedantic, "ISO C90 does not support " ! "%<__func__%> predefined identifier"); ! expr.value = fname_decl (loc, ! c_parser_peek_token (parser)->keyword, ! c_parser_peek_token (parser)->value); ! set_c_expr_source_range (&expr, loc, loc); ! c_parser_consume_token (parser); break; case RID_VA_ARG: { --- 8267,8275 ---- switch (c_parser_peek_token (parser)->keyword) { case RID_FUNCTION_NAME: case RID_PRETTY_FUNCTION_NAME: case RID_C99_FUNCTION_NAME: ! expr = c_parser_predefined_identifier (parser); break; case RID_VA_ARG: { *************** c_parser_omp_variable_list (c_parser *pa *** 11950,11964 **** { auto_vec tokens; unsigned int tokens_avail = 0; ! if (kind != OMP_CLAUSE_DEPEND ! && (c_parser_next_token_is_not (parser, CPP_NAME) ! || c_parser_peek_token (parser)->id_kind != C_ID_ID)) ! c_parser_error (parser, "expected identifier"); ! ! while (kind == OMP_CLAUSE_DEPEND ! || (c_parser_next_token_is (parser, CPP_NAME) ! && c_parser_peek_token (parser)->id_kind == C_ID_ID)) { bool array_section_p = false; if (kind == OMP_CLAUSE_DEPEND) --- 11963,11971 ---- { auto_vec tokens; unsigned int tokens_avail = 0; + bool first = true; ! while (1) { bool array_section_p = false; if (kind == OMP_CLAUSE_DEPEND) *************** c_parser_omp_variable_list (c_parser *pa *** 11979,11984 **** --- 11986,11992 ---- break; c_parser_consume_token (parser); + first = false; continue; } *************** c_parser_omp_variable_list (c_parser *pa *** 12029,12044 **** parser->tokens_avail = tokens.length (); } ! tree t = lookup_name (c_parser_peek_token (parser)->value); ! if (t == NULL_TREE) { ! undeclared_variable (c_parser_peek_token (parser)->location, ! c_parser_peek_token (parser)->value); ! t = error_mark_node; ! } ! c_parser_consume_token (parser); if (t == error_mark_node) ; --- 12037,12071 ---- parser->tokens_avail = tokens.length (); } ! tree t = NULL_TREE; ! if (c_parser_next_token_is (parser, CPP_NAME) ! && c_parser_peek_token (parser)->id_kind == C_ID_ID) { ! t = lookup_name (c_parser_peek_token (parser)->value); ! if (t == NULL_TREE) ! { ! undeclared_variable (c_parser_peek_token (parser)->location, ! c_parser_peek_token (parser)->value); ! t = error_mark_node; ! } ! ! c_parser_consume_token (parser); ! } ! else if (c_parser_next_token_is (parser, CPP_KEYWORD) ! && (c_parser_peek_token (parser)->keyword == RID_FUNCTION_NAME ! || (c_parser_peek_token (parser)->keyword ! == RID_PRETTY_FUNCTION_NAME) ! || (c_parser_peek_token (parser)->keyword ! == RID_C99_FUNCTION_NAME))) ! t = c_parser_predefined_identifier (parser).value; ! else ! { ! if (first) ! c_parser_error (parser, "expected identifier"); ! break; ! } if (t == error_mark_node) ; *************** c_parser_omp_variable_list (c_parser *pa *** 12176,12181 **** --- 12203,12209 ---- break; c_parser_consume_token (parser); + first = false; } return list; *************** c_parser_omp_clause_dist_schedule (c_par *** 14707,14713 **** c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, "expected %<,%> or %<)%>"); ! check_no_duplicate_clause (list, OMP_CLAUSE_SCHEDULE, "schedule"); if (t == error_mark_node) return list; --- 14735,14744 ---- c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, "expected %<,%> or %<)%>"); ! /* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, ! "dist_schedule"); */ ! if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE)) ! warning_at (loc, 0, "too many %qs clauses", "dist_schedule"); if (t == error_mark_node) return list; *************** c_parse_file (void) *** 19859,19864 **** --- 19890,19897 ---- if (c_parser_peek_token (&tparser)->pragma_kind == PRAGMA_GCC_PCH_PREPROCESS) c_parser_pragma_pch_preprocess (&tparser); + else + c_common_no_more_pch (); the_parser = ggc_alloc (); *the_parser = tparser; diff -Nrcpad gcc-9.2.0/gcc/c/c-typeck.c gcc-9.3.0/gcc/c/c-typeck.c *** gcc-9.2.0/gcc/c/c-typeck.c Fri Aug 2 17:05:34 2019 --- gcc-9.3.0/gcc/c/c-typeck.c Thu Mar 12 11:07:21 2020 *************** build_c_cast (location_t loc, tree type, *** 5702,5711 **** --- 5702,5715 ---- { tree value; + bool int_operands = EXPR_INT_CONST_OPERANDS (expr); + if (TREE_CODE (expr) == EXCESS_PRECISION_EXPR) expr = TREE_OPERAND (expr, 0); value = expr; + if (int_operands) + value = remove_c_maybe_const_expr (value); if (type == error_mark_node || expr == error_mark_node) return error_mark_node; *************** build_c_cast (location_t loc, tree type, *** 5936,5941 **** --- 5940,5953 ---- || TREE_CODE (expr) == COMPLEX_CST))) value = build1 (NOP_EXPR, type, value); + /* If the expression has integer operands and so can occur in an + unevaluated part of an integer constant expression, ensure the + return value reflects this. */ + if (int_operands + && INTEGRAL_TYPE_P (type) + && !EXPR_INT_CONST_OPERANDS (value)) + value = note_integer_operands (value); + protected_set_expr_location (value, loc); return value; } *************** c_finish_omp_clauses (tree clauses, enum *** 14713,14718 **** --- 14725,14737 ---- case OMP_CLAUSE_DEFAULT_UNSPECIFIED: break; case OMP_CLAUSE_DEFAULT_SHARED: + if ((OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED + || OMP_CLAUSE_CODE (c) == OMP_CLAUSE_FIRSTPRIVATE) + && c_omp_predefined_variable (t)) + /* The __func__ variable and similar function-local + predefined variables may be listed in a shared or + firstprivate clause. */ + break; share_name = "shared"; break; case OMP_CLAUSE_DEFAULT_PRIVATE: diff -Nrcpad gcc-9.2.0/gcc/c-family/ChangeLog gcc-9.3.0/gcc/c-family/ChangeLog *** gcc-9.2.0/gcc/c-family/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/c-family/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,73 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-01-29 Jason Merrill + + PR c++/89357 + * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove. + + 2019-12-20 Jakub Jelinek + + Backported from mainline + 2019-11-26 Jakub Jelinek + + PR c++/61414 + * c-attribs.c (handle_mode_attribute): Add mode attribute to + ENUMERAL_TYPEs. + + 2019-11-22 Jakub Jelinek + + PR c/90677 + * c-common.h (identifier_global_tag): Declare. + * c-format.c (get_pointer_to_named_type): Renamed to ... + (get_named_type): ... this. Use identifier_global_tag instead of + identifier_global_value, handle the return value being a TYPE_P. + (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers + to call get_named_type instead. Formatting fixes. + + 2019-11-13 Eric Botcazou + + * c-ada-spec.c (get_underlying_decl): Do not look through typedefs. + (dump_forward_type): Do not generate a declaration for function types. + (dump_nested_type) : Do not generate a nested declaration + of the component type if it is declared in another file. + + 2019-10-21 Jakub Jelinek + + Backported from mainline + 2019-10-01 Jakub Jelinek + + PR c++/91925 + * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs + with NULL DECL_FIELD_OFFSET. + + 2019-09-27 Jakub Jelinek + + PR c++/88203 + * c-common.h (c_omp_predefined_variable): Declare. + * c-omp.c (c_omp_predefined_variable): New function. + (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED + for predefined variables. + + 2019-09-02 Martin Liska + + Backport from mainline + 2019-09-02 Martin Liska + + PR c++/91155 + * c-common.c (fname_as_string): Use cxx_printable_name for + __PRETTY_FUNCTION__ same as was used before r265711. + + 2019-08-31 Iain Sandoe + + Backport from mainline + 2019-08-23 Iain Sandoe + + PR pch/61250 + * c-lex.c (c_lex_with_flags): Don't call + c_common_no_more_pch () from here. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/c-family/c-ada-spec.c gcc-9.3.0/gcc/c-family/c-ada-spec.c *** gcc-9.2.0/gcc/c-family/c-ada-spec.c Thu May 23 10:35:30 2019 --- gcc-9.3.0/gcc/c-family/c-ada-spec.c Thu Mar 12 11:07:21 2020 *************** get_underlying_decl (tree type) *** 1025,1031 **** if (TYPE_P (type)) { ! type = TYPE_MAIN_VARIANT (type); /* type is a typedef. */ if (TYPE_NAME (type) && DECL_P (TYPE_NAME (type))) --- 1025,1033 ---- if (TYPE_P (type)) { ! /* Strip qualifiers but do not look through typedefs. */ ! if (TYPE_QUALS_NO_ADDR_SPACE (type)) ! type = TYPE_MAIN_VARIANT (type); /* type is a typedef. */ if (TYPE_NAME (type) && DECL_P (TYPE_NAME (type))) *************** dump_forward_type (pretty_printer *buffe *** 2451,2456 **** --- 2453,2461 ---- if (DECL_SOURCE_FILE (decl) != DECL_SOURCE_FILE (t)) return; + if (TREE_CODE (type) == FUNCTION_TYPE) + return; + /* Generate an incomplete type declaration. */ pp_string (buffer, "type "); dump_ada_node (buffer, decl, NULL_TREE, spc, false, true); *************** dump_nested_type (pretty_printer *buffer *** 2519,2525 **** while (TREE_CODE (tmp) == ARRAY_TYPE) tmp = TREE_TYPE (tmp); decl = get_underlying_decl (tmp); ! if (decl && !DECL_NAME (decl) && !TREE_VISITED (decl)) { /* Generate full declaration. */ dump_nested_type (buffer, decl, t, parent, spc); --- 2524,2533 ---- while (TREE_CODE (tmp) == ARRAY_TYPE) tmp = TREE_TYPE (tmp); decl = get_underlying_decl (tmp); ! if (decl ! && !DECL_NAME (decl) ! && DECL_SOURCE_FILE (decl) == DECL_SOURCE_FILE (t) ! && !TREE_VISITED (decl)) { /* Generate full declaration. */ dump_nested_type (buffer, decl, t, parent, spc); diff -Nrcpad gcc-9.2.0/gcc/c-family/c-attribs.c gcc-9.3.0/gcc/c-family/c-attribs.c *** gcc-9.2.0/gcc/c-family/c-attribs.c Fri Apr 12 22:37:12 2019 --- gcc-9.3.0/gcc/c-family/c-attribs.c Thu Mar 12 11:07:21 2020 *************** handle_mode_attribute (tree *node, tree *** 1843,1848 **** --- 1843,1849 ---- typefm = make_signed_type (TYPE_PRECISION (typefm)); TREE_TYPE (typefm) = type; } + *no_add_attrs = false; } else if (VECTOR_MODE_P (mode) ? TREE_CODE (type) != TREE_CODE (TREE_TYPE (typefm)) *************** fail: *** 1921,1985 **** return NULL_TREE; } - /* If in c++-11, check if the c++-11 alignment constraint with respect - to fundamental alignment (in [dcl.align]) are satisfied. If not in - c++-11 mode, does nothing. - - [dcl.align]2/ says: - - [* if the constant expression evaluates to a fundamental alignment, - the alignment requirement of the declared entity shall be the - specified fundamental alignment. - - * if the constant expression evaluates to an extended alignment - and the implementation supports that alignment in the context - of the declaration, the alignment of the declared entity shall - be that alignment - - * if the constant expression evaluates to an extended alignment - and the implementation does not support that alignment in the - context of the declaration, the program is ill-formed]. */ - - static bool - check_cxx_fundamental_alignment_constraints (tree node, - unsigned align_log, - int flags) - { - bool alignment_too_large_p = false; - unsigned requested_alignment = (1U << align_log) * BITS_PER_UNIT; - unsigned max_align = 0; - - if ((!(flags & ATTR_FLAG_CXX11) && !warn_cxx_compat) - || (node == NULL_TREE || node == error_mark_node)) - return true; - - if (cxx_fundamental_alignment_p (requested_alignment)) - return true; - - if (VAR_P (node)) - { - if (TREE_STATIC (node) || DECL_EXTERNAL (node)) - /* For file scope variables and static members, the target supports - alignments that are at most MAX_OFILE_ALIGNMENT. */ - max_align = MAX_OFILE_ALIGNMENT; - else - /* For stack variables, the target supports at most - MAX_STACK_ALIGNMENT. */ - max_align = MAX_STACK_ALIGNMENT; - if (requested_alignment > max_align) - alignment_too_large_p = true; - } - /* Let's be liberal for types and fields; don't limit their alignment any - more than check_user_alignment already did. */ - - if (alignment_too_large_p) - pedwarn (input_location, OPT_Wattributes, - "requested alignment %d is larger than %d", - requested_alignment / BITS_PER_UNIT, max_align / BITS_PER_UNIT); - - return !alignment_too_large_p; - } - /* Common codes shared by handle_warn_if_not_aligned_attribute and handle_aligned_attribute. */ --- 1922,1927 ---- *************** common_handle_aligned_attribute (tree *n *** 2023,2030 **** /* Log2 of specified alignment. */ int pow2align = check_user_alignment (align_expr, objfile, /* warn_zero = */ true); ! if (pow2align == -1 ! || !check_cxx_fundamental_alignment_constraints (*node, pow2align, flags)) { *no_add_attrs = true; return NULL_TREE; --- 1965,1971 ---- /* Log2 of specified alignment. */ int pow2align = check_user_alignment (align_expr, objfile, /* warn_zero = */ true); ! if (pow2align == -1) { *no_add_attrs = true; return NULL_TREE; diff -Nrcpad gcc-9.2.0/gcc/c-family/c-common.h gcc-9.3.0/gcc/c-family/c-common.h *** gcc-9.2.0/gcc/c-family/c-common.h Fri Apr 19 11:56:07 2019 --- gcc-9.3.0/gcc/c-family/c-common.h Thu Mar 12 11:07:21 2020 *************** extern void c_register_addr_space (const *** 800,805 **** --- 800,806 ---- extern bool in_late_binary_op; extern const char *c_addr_space_name (addr_space_t as); extern tree identifier_global_value (tree); + extern tree identifier_global_tag (tree); extern tree c_linkage_bindings (tree); extern void record_builtin_type (enum rid, const char *, tree); extern tree build_void_list_node (void); *************** extern void c_omp_split_clauses (locatio *** 1184,1189 **** --- 1185,1191 ---- tree, tree *); extern tree c_omp_declare_simd_clauses_to_numbers (tree, tree); extern void c_omp_declare_simd_clauses_to_decls (tree, tree); + extern bool c_omp_predefined_variable (tree); extern enum omp_clause_default_kind c_omp_predetermined_sharing (tree); /* Return next tree in the chain for chain_next walking of tree nodes. */ diff -Nrcpad gcc-9.2.0/gcc/c-family/c-format.c gcc-9.3.0/gcc/c-family/c-format.c *** gcc-9.2.0/gcc/c-family/c-format.c Mon Feb 25 23:43:51 2019 --- gcc-9.3.0/gcc/c-family/c-format.c Thu Mar 12 11:07:21 2020 *************** init_dynamic_gfc_info (void) *** 3909,3939 **** } } ! /* Lookup the type named NAME and return a pointer-to-NAME type if found. ! Otherwise, return void_type_node if NAME has not been used yet, or NULL_TREE if ! NAME is not a type (issuing an error). */ static tree ! get_pointer_to_named_type (const char *name) { ! tree result; ! if ((result = maybe_get_identifier (name))) { ! result = identifier_global_value (result); if (result) { ! if (TREE_CODE (result) != TYPE_DECL) { error ("%qs is not defined as a type", name); result = NULL_TREE; } - else - result = TREE_TYPE (result); } } else ! result = void_type_node; ! return result; } /* Determine the types of "tree" and "location_t" in the code being --- 3909,3940 ---- } } ! /* Lookup the type named NAME and return a NAME type if found. ! Otherwise, return void_type_node if NAME has not been used yet, ! or NULL_TREE if NAME is not a type (issuing an error). */ static tree ! get_named_type (const char *name) { ! if (tree result = maybe_get_identifier (name)) { ! result = identifier_global_tag (result); if (result) { ! if (TYPE_P (result)) ! ; ! else if (TREE_CODE (result) == TYPE_DECL) ! result = TREE_TYPE (result); ! else { error ("%qs is not defined as a type", name); result = NULL_TREE; } } + return result; } else ! return void_type_node; } /* Determine the types of "tree" and "location_t" in the code being *************** init_dynamic_diag_info (void) *** 3963,3985 **** an extra type level. */ if ((local_tree_type_node = maybe_get_identifier ("tree"))) { ! local_tree_type_node = identifier_global_value (local_tree_type_node); if (local_tree_type_node) { if (TREE_CODE (local_tree_type_node) != TYPE_DECL) { error ("% is not defined as a type"); ! local_tree_type_node = 0; } else if (TREE_CODE (TREE_TYPE (local_tree_type_node)) != POINTER_TYPE) { error ("% is not defined as a pointer type"); ! local_tree_type_node = 0; } else ! local_tree_type_node = ! TREE_TYPE (TREE_TYPE (local_tree_type_node)); } } else --- 3964,3987 ---- an extra type level. */ if ((local_tree_type_node = maybe_get_identifier ("tree"))) { ! local_tree_type_node ! = identifier_global_value (local_tree_type_node); if (local_tree_type_node) { if (TREE_CODE (local_tree_type_node) != TYPE_DECL) { error ("% is not defined as a type"); ! local_tree_type_node = NULL_TREE; } else if (TREE_CODE (TREE_TYPE (local_tree_type_node)) != POINTER_TYPE) { error ("% is not defined as a pointer type"); ! local_tree_type_node = NULL_TREE; } else ! local_tree_type_node ! = TREE_TYPE (TREE_TYPE (local_tree_type_node)); } } else *************** init_dynamic_diag_info (void) *** 3989,4000 **** /* Similar to the above but for gimple*. */ if (!local_gimple_ptr_node || local_gimple_ptr_node == void_type_node) ! local_gimple_ptr_node = get_pointer_to_named_type ("gimple"); /* Similar to the above but for cgraph_node*. */ if (!local_cgraph_node_ptr_node || local_cgraph_node_ptr_node == void_type_node) ! local_cgraph_node_ptr_node = get_pointer_to_named_type ("cgraph_node"); static tree hwi; --- 3991,4002 ---- /* Similar to the above but for gimple*. */ if (!local_gimple_ptr_node || local_gimple_ptr_node == void_type_node) ! local_gimple_ptr_node = get_named_type ("gimple"); /* Similar to the above but for cgraph_node*. */ if (!local_cgraph_node_ptr_node || local_cgraph_node_ptr_node == void_type_node) ! local_cgraph_node_ptr_node = get_named_type ("cgraph_node"); static tree hwi; diff -Nrcpad gcc-9.2.0/gcc/c-family/c-lex.c gcc-9.3.0/gcc/c-family/c-lex.c *** gcc-9.2.0/gcc/c-family/c-lex.c Mon Jan 14 19:55:51 2019 --- gcc-9.3.0/gcc/c-family/c-lex.c Thu Mar 12 11:07:21 2020 *************** enum cpp_ttype *** 394,400 **** c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags, int lex_flags) { - static bool no_more_pch; const cpp_token *tok; enum cpp_ttype type; unsigned char add_flags = 0; --- 394,399 ---- *************** c_lex_with_flags (tree *value, location_ *** 628,639 **** if (cpp_flags) *cpp_flags = tok->flags | add_flags; - if (!no_more_pch) - { - no_more_pch = true; - c_common_no_more_pch (); - } - timevar_pop (TV_CPP); return type; --- 627,632 ---- diff -Nrcpad gcc-9.2.0/gcc/c-family/c-omp.c gcc-9.3.0/gcc/c-family/c-omp.c *** gcc-9.2.0/gcc/c-family/c-omp.c Sun Jul 14 08:29:38 2019 --- gcc-9.3.0/gcc/c-family/c-omp.c Thu Mar 12 11:07:21 2020 *************** c_omp_declare_simd_clauses_to_decls (tre *** 2023,2028 **** --- 2023,2047 ---- } } + /* Return true for __func__ and similar function-local predefined + variables (which are in OpenMP predetermined shared, allowed in + shared/firstprivate clauses). */ + + bool + c_omp_predefined_variable (tree decl) + { + if (VAR_P (decl) + && DECL_ARTIFICIAL (decl) + && TREE_READONLY (decl) + && TREE_STATIC (decl) + && DECL_NAME (decl) + && (DECL_NAME (decl) == ridpointers[RID_C99_FUNCTION_NAME] + || DECL_NAME (decl) == ridpointers[RID_FUNCTION_NAME] + || DECL_NAME (decl) == ridpointers[RID_PRETTY_FUNCTION_NAME])) + return true; + return false; + } + /* True if OpenMP sharing attribute of DECL is predetermined. */ enum omp_clause_default_kind *************** c_omp_predetermined_sharing (tree decl) *** 2036,2040 **** --- 2055,2062 ---- && INTEGRAL_TYPE_P (TREE_TYPE (decl))) return OMP_CLAUSE_DEFAULT_SHARED; + if (c_omp_predefined_variable (decl)) + return OMP_CLAUSE_DEFAULT_SHARED; + return OMP_CLAUSE_DEFAULT_UNSPECIFIED; } diff -Nrcpad gcc-9.2.0/gcc/c-family/c-warn.c gcc-9.3.0/gcc/c-family/c-warn.c *** gcc-9.2.0/gcc/c-family/c-warn.c Fri Apr 19 11:56:07 2019 --- gcc-9.3.0/gcc/c-family/c-warn.c Thu Mar 12 11:07:21 2020 *************** check_alignment_of_packed_member (tree t *** 2784,2789 **** --- 2784,2791 ---- /* Check alignment of the data member. */ if (TREE_CODE (field) == FIELD_DECL && (DECL_PACKED (field) || TYPE_PACKED (TREE_TYPE (field))) + /* Ignore FIELDs not laid out yet. */ + && DECL_FIELD_OFFSET (field) && (!rvalue || TREE_CODE (TREE_TYPE (field)) == ARRAY_TYPE)) { /* Check the expected alignment against the field alignment. */ diff -Nrcpad gcc-9.2.0/gcc/calls.c gcc-9.3.0/gcc/calls.c *** gcc-9.2.0/gcc/calls.c Wed May 29 15:55:12 2019 --- gcc-9.3.0/gcc/calls.c Thu Mar 12 11:07:21 2020 *************** initialize_argument_information (int num *** 1971,1978 **** /* If TYPE is a transparent union or record, pass things the way we would pass the first field of the union or record. We have already verified that the modes are the same. */ ! if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE) ! && TYPE_TRANSPARENT_AGGR (type)) type = TREE_TYPE (first_field (type)); /* Decide where to pass this arg. --- 1971,1977 ---- /* If TYPE is a transparent union or record, pass things the way we would pass the first field of the union or record. We have already verified that the modes are the same. */ ! if (RECORD_OR_UNION_TYPE_P (type) && TYPE_TRANSPARENT_AGGR (type)) type = TREE_TYPE (first_field (type)); /* Decide where to pass this arg. *************** load_register_parameters (struct arg_dat *** 2750,2755 **** --- 2749,2757 ---- poly_int64 size = 0; HOST_WIDE_INT const_size = 0; rtx_insn *before_arg = get_last_insn (); + tree type = TREE_TYPE (args[i].tree_value); + if (RECORD_OR_UNION_TYPE_P (type) && TYPE_TRANSPARENT_AGGR (type)) + type = TREE_TYPE (first_field (type)); /* Set non-negative if we must move a word at a time, even if just one word (e.g, partial == 4 && mode == DFmode). Set to -1 if we just use a normal move insn. This value can be *************** load_register_parameters (struct arg_dat *** 2762,2772 **** gcc_assert (partial % UNITS_PER_WORD == 0); nregs = partial / UNITS_PER_WORD; } ! else if (TYPE_MODE (TREE_TYPE (args[i].tree_value)) == BLKmode) { /* Variable-sized parameters should be described by a PARALLEL instead. */ ! const_size = int_size_in_bytes (TREE_TYPE (args[i].tree_value)); gcc_assert (const_size >= 0); nregs = (const_size + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD; size = const_size; --- 2764,2774 ---- gcc_assert (partial % UNITS_PER_WORD == 0); nregs = partial / UNITS_PER_WORD; } ! else if (TYPE_MODE (type) == BLKmode) { /* Variable-sized parameters should be described by a PARALLEL instead. */ ! const_size = int_size_in_bytes (type); gcc_assert (const_size >= 0); nregs = (const_size + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD; size = const_size; *************** load_register_parameters (struct arg_dat *** 2893,2900 **** if (GET_CODE (reg) == PARALLEL) use_group_regs (call_fusage, reg); else if (nregs == -1) ! use_reg_mode (call_fusage, reg, ! TYPE_MODE (TREE_TYPE (args[i].tree_value))); else if (nregs > 0) use_regs (call_fusage, REGNO (reg), nregs); } --- 2895,2901 ---- if (GET_CODE (reg) == PARALLEL) use_group_regs (call_fusage, reg); else if (nregs == -1) ! use_reg_mode (call_fusage, reg, TYPE_MODE (type)); else if (nregs > 0) use_regs (call_fusage, REGNO (reg), nregs); } diff -Nrcpad gcc-9.2.0/gcc/cfgcleanup.c gcc-9.3.0/gcc/cfgcleanup.c *** gcc-9.2.0/gcc/cfgcleanup.c Fri Apr 12 07:27:25 2019 --- gcc-9.3.0/gcc/cfgcleanup.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 53,58 **** --- 53,59 ---- #include "dce.h" #include "dbgcnt.h" #include "rtl-iter.h" + #include "regs.h" #define FORWARDER_BLOCK_P(BB) ((BB)->flags & BB_FORWARDER_BLOCK) *************** thread_jump (edge e, basic_block b) *** 257,262 **** --- 258,267 ---- bool failed = false; reg_set_iterator rsi; + /* Jump threading may cause fixup_partitions to introduce new crossing edges, + which is not allowed after reload. */ + gcc_checking_assert (!reload_completed || !crtl->has_bb_partition); + if (b->flags & BB_NONTHREADABLE_BLOCK) return NULL; *************** old_insns_match_p (int mode ATTRIBUTE_UN *** 1224,1229 **** --- 1229,1242 ---- } } } + + HARD_REG_SET i1_used, i2_used; + + get_call_reg_set_usage (i1, &i1_used, call_used_reg_set); + get_call_reg_set_usage (i2, &i2_used, call_used_reg_set); + + if (!hard_reg_set_equal_p (i1_used, i2_used)) + return dir_none; } /* If both i1 and i2 are frame related, verify all the CFA notes *************** make_pass_jump (gcc::context *ctxt) *** 3269,3278 **** namespace { ! const pass_data pass_data_postreload_jump = { RTL_PASS, /* type */ ! "postreload_jump", /* name */ OPTGROUP_NONE, /* optinfo_flags */ TV_JUMP, /* tv_id */ 0, /* properties_required */ --- 3282,3291 ---- namespace { ! const pass_data pass_data_jump_after_combine = { RTL_PASS, /* type */ ! "jump_after_combine", /* name */ OPTGROUP_NONE, /* optinfo_flags */ TV_JUMP, /* tv_id */ 0, /* properties_required */ *************** const pass_data pass_data_postreload_jum *** 3282,3312 **** 0, /* todo_flags_finish */ }; ! class pass_postreload_jump : public rtl_opt_pass { public: ! pass_postreload_jump (gcc::context *ctxt) ! : rtl_opt_pass (pass_data_postreload_jump, ctxt) {} /* opt_pass methods: */ virtual unsigned int execute (function *); ! }; // class pass_postreload_jump unsigned int ! pass_postreload_jump::execute (function *) { ! cleanup_cfg (flag_thread_jumps ? CLEANUP_THREADING : 0); return 0; } } // anon namespace rtl_opt_pass * ! make_pass_postreload_jump (gcc::context *ctxt) { ! return new pass_postreload_jump (ctxt); } namespace { --- 3295,3328 ---- 0, /* todo_flags_finish */ }; ! class pass_jump_after_combine : public rtl_opt_pass { public: ! pass_jump_after_combine (gcc::context *ctxt) ! : rtl_opt_pass (pass_data_jump_after_combine, ctxt) {} /* opt_pass methods: */ + virtual bool gate (function *) { return flag_thread_jumps; } virtual unsigned int execute (function *); ! }; // class pass_jump_after_combine unsigned int ! pass_jump_after_combine::execute (function *) { ! /* Jump threading does not keep dominators up-to-date. */ ! free_dominance_info (CDI_DOMINATORS); ! cleanup_cfg (CLEANUP_THREADING); return 0; } } // anon namespace rtl_opt_pass * ! make_pass_jump_after_combine (gcc::context *ctxt) { ! return new pass_jump_after_combine (ctxt); } namespace { diff -Nrcpad gcc-9.2.0/gcc/cgraph.c gcc-9.3.0/gcc/cgraph.c *** gcc-9.2.0/gcc/cgraph.c Fri Jul 12 14:42:14 2019 --- gcc-9.3.0/gcc/cgraph.c Thu Mar 12 11:07:21 2020 *************** cgraph_node::release_body (bool keep_arg *** 1779,1786 **** void cgraph_node::remove (void) { - cgraph_node *n; - if (symtab->ipa_clones_dump_file && symtab->cloned_nodes.contains (this)) fprintf (symtab->ipa_clones_dump_file, "Callgraph removal;%s;%d;%s;%d;%d\n", asm_name (), order, --- 1779,1784 ---- *************** cgraph_node::remove (void) *** 1797,1804 **** */ force_output = false; forced_by_abi = false; ! for (n = nested; n; n = n->next_nested) n->origin = NULL; nested = NULL; if (origin) { --- 1795,1807 ---- */ force_output = false; forced_by_abi = false; ! cgraph_node *next = nested; ! for (cgraph_node *n = nested; n; n = next) ! { ! next = n->next_nested; n->origin = NULL; + n->next_nested = NULL; + } nested = NULL; if (origin) { *************** cgraph_node::remove (void) *** 1852,1858 **** */ if (symtab->state != LTO_STREAMING) { ! n = cgraph_node::get (decl); if (!n || (!n->clones && !n->clone_of && !n->global.inlined_to && ((symtab->global_info_ready || in_lto_p) --- 1855,1861 ---- */ if (symtab->state != LTO_STREAMING) { ! cgraph_node *n = cgraph_node::get (decl); if (!n || (!n->clones && !n->clone_of && !n->global.inlined_to && ((symtab->global_info_ready || in_lto_p) *************** cgraph_node::verify_node (void) *** 3449,3454 **** --- 3452,3481 ---- e->aux = 0; } } + + if (nested != NULL) + { + for (cgraph_node *n = nested; n != NULL; n = n->next_nested) + { + if (n->origin == NULL) + { + error ("missing origin for a node in a nested list"); + error_found = true; + } + else if (n->origin != this) + { + error ("origin points to a different parent"); + error_found = true; + break; + } + } + } + if (next_nested != NULL && origin == NULL) + { + error ("missing origin for a node in a nested list"); + error_found = true; + } + if (error_found) { dump (stderr); diff -Nrcpad gcc-9.2.0/gcc/collect2.c gcc-9.3.0/gcc/collect2.c *** gcc-9.2.0/gcc/collect2.c Wed Apr 17 18:11:06 2019 --- gcc-9.3.0/gcc/collect2.c Thu Mar 12 11:07:21 2020 *************** static void scan_prog_file (const char * *** 384,389 **** --- 384,393 ---- void tool_cleanup (bool from_signal) { + /* maybe_unlink may call notice, which is not signal safe. */ + if (from_signal) + verbose = false; + if (c_file != 0 && c_file[0]) maybe_unlink (c_file); *************** maybe_run_lto_and_relink (char **lto_ld_ *** 743,749 **** ++num_files; } ! lto_o_files = XNEWVEC (char *, num_files + 1); lto_o_files[num_files] = NULL; start = XOBFINISH (&temporary_obstack, char *); for (i = 0; i < num_files; ++i) --- 747,756 ---- ++num_files; } ! /* signal handler may access uninitialized memory ! and delete whatever it points to, if lto_o_files ! is not allocated with calloc. */ ! lto_o_files = XCNEWVEC (char *, num_files + 1); lto_o_files[num_files] = NULL; start = XOBFINISH (&temporary_obstack, char *); for (i = 0; i < num_files; ++i) diff -Nrcpad gcc-9.2.0/gcc/combine.c gcc-9.3.0/gcc/combine.c *** gcc-9.2.0/gcc/combine.c Thu Apr 18 12:29:56 2019 --- gcc-9.3.0/gcc/combine.c Thu Mar 12 11:07:21 2020 *************** find_split_point (rtx *loc, rtx_insn *in *** 5138,5147 **** { HOST_WIDE_INT pos = INTVAL (XEXP (SET_DEST (x), 2)); unsigned HOST_WIDE_INT len = INTVAL (XEXP (SET_DEST (x), 1)); - unsigned HOST_WIDE_INT src = INTVAL (SET_SRC (x)); rtx dest = XEXP (SET_DEST (x), 0); ! unsigned HOST_WIDE_INT mask ! = (HOST_WIDE_INT_1U << len) - 1; rtx or_mask; if (BITS_BIG_ENDIAN) --- 5138,5146 ---- { HOST_WIDE_INT pos = INTVAL (XEXP (SET_DEST (x), 2)); unsigned HOST_WIDE_INT len = INTVAL (XEXP (SET_DEST (x), 1)); rtx dest = XEXP (SET_DEST (x), 0); ! unsigned HOST_WIDE_INT mask = (HOST_WIDE_INT_1U << len) - 1; ! unsigned HOST_WIDE_INT src = INTVAL (SET_SRC (x)) & mask; rtx or_mask; if (BITS_BIG_ENDIAN) *************** simplify_comparison (enum rtx_code code, *** 12424,12430 **** bit. This will be converted into a ZERO_EXTRACT. */ if (const_op == 0 && sign_bit_comparison_p && CONST_INT_P (XEXP (op0, 1)) ! && mode_width <= HOST_BITS_PER_WIDE_INT) { op0 = simplify_and_const_int (NULL_RTX, mode, XEXP (op0, 0), (HOST_WIDE_INT_1U --- 12423,12430 ---- bit. This will be converted into a ZERO_EXTRACT. */ if (const_op == 0 && sign_bit_comparison_p && CONST_INT_P (XEXP (op0, 1)) ! && mode_width <= HOST_BITS_PER_WIDE_INT ! && UINTVAL (XEXP (op0, 1)) < mode_width) { op0 = simplify_and_const_int (NULL_RTX, mode, XEXP (op0, 0), (HOST_WIDE_INT_1U diff -Nrcpad gcc-9.2.0/gcc/common/config/s390/s390-common.c gcc-9.3.0/gcc/common/config/s390/s390-common.c *** gcc-9.2.0/gcc/common/config/s390/s390-common.c Tue Apr 2 10:50:03 2019 --- gcc-9.3.0/gcc/common/config/s390/s390-common.c Thu Mar 12 11:07:21 2020 *************** EXPORTED_CONST int processor_flags_table *** 47,55 **** /* z14 */ PF_IEEE_FLOAT | PF_ZARCH | PF_LONG_DISPLACEMENT | PF_EXTIMM | PF_DFP | PF_Z10 | PF_Z196 | PF_ZEC12 | PF_TX | PF_Z13 | PF_VX | PF_VXE | PF_Z14, ! /* arch13 */ PF_IEEE_FLOAT | PF_ZARCH | PF_LONG_DISPLACEMENT | PF_EXTIMM | PF_DFP | PF_Z10 | PF_Z196 | PF_ZEC12 | PF_TX ! | PF_Z13 | PF_VX | PF_VXE | PF_Z14 | PF_VXE2 | PF_ARCH13 }; /* Change optimizations to be performed, depending on the --- 47,55 ---- /* z14 */ PF_IEEE_FLOAT | PF_ZARCH | PF_LONG_DISPLACEMENT | PF_EXTIMM | PF_DFP | PF_Z10 | PF_Z196 | PF_ZEC12 | PF_TX | PF_Z13 | PF_VX | PF_VXE | PF_Z14, ! /* z15 */ PF_IEEE_FLOAT | PF_ZARCH | PF_LONG_DISPLACEMENT | PF_EXTIMM | PF_DFP | PF_Z10 | PF_Z196 | PF_ZEC12 | PF_TX ! | PF_Z13 | PF_VX | PF_VXE | PF_Z14 | PF_VXE2 | PF_Z15 }; /* Change optimizations to be performed, depending on the diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/aarch64-option-extensions.def gcc-9.3.0/gcc/config/aarch64/aarch64-option-extensions.def *** gcc-9.2.0/gcc/config/aarch64/aarch64-option-extensions.def Fri Mar 1 13:34:14 2019 --- gcc-9.3.0/gcc/config/aarch64/aarch64-option-extensions.def Thu Mar 12 11:07:21 2020 *************** AARCH64_OPT_EXTENSION("sm4", AARCH64_FL_ *** 108,114 **** /* Enabling "fp16fml" also enables "fp" and "fp16". Disabling "fp16fml" just disables "fp16fml". */ ! AARCH64_OPT_EXTENSION("fp16fml", AARCH64_FL_F16FML, AARCH64_FL_FP | AARCH64_FL_F16, 0, false, "asimdfml") /* Enabling "sve" also enables "fp16", "fp" and "simd". Disabling "sve" just disables "sve". */ --- 108,114 ---- /* Enabling "fp16fml" also enables "fp" and "fp16". Disabling "fp16fml" just disables "fp16fml". */ ! AARCH64_OPT_EXTENSION("fp16fml", AARCH64_FL_F16FML, AARCH64_FL_FP | AARCH64_FL_F16, 0, false, "asimdfhm") /* Enabling "sve" also enables "fp16", "fp" and "simd". Disabling "sve" just disables "sve". */ diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/aarch64.c gcc-9.3.0/gcc/config/aarch64/aarch64.c *** gcc-9.2.0/gcc/config/aarch64/aarch64.c Fri Jul 5 15:06:11 2019 --- gcc-9.3.0/gcc/config/aarch64/aarch64.c Thu Mar 12 11:07:21 2020 *************** aarch64_gen_compare_reg_maybe_ze (RTX_CO *** 1910,1915 **** --- 1910,1918 ---- } } + if (!aarch64_plus_operand (y, y_mode)) + y = force_reg (y_mode, y); + return aarch64_gen_compare_reg (code, x, y); } *************** aarch64_declare_function_name (FILE *str *** 15343,15348 **** --- 15346,15379 ---- /* Don't forget the type directive for ELF. */ ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "function"); ASM_OUTPUT_LABEL (stream, name); + + cfun->machine->label_is_assembled = true; + } + + /* Implement PRINT_PATCHABLE_FUNCTION_ENTRY. Check if the patch area is after + the function label and emit a BTI if necessary. */ + + void + aarch64_print_patchable_function_entry (FILE *file, + unsigned HOST_WIDE_INT patch_area_size, + bool record_p) + { + if (cfun->machine->label_is_assembled + && aarch64_bti_enabled () + && !cgraph_node::get (cfun->decl)->only_called_directly_p ()) + { + /* Remove the BTI that follows the patch area and insert a new BTI + before the patch area right after the function label. */ + rtx_insn *insn = next_real_nondebug_insn (get_insns ()); + if (insn + && INSN_P (insn) + && GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE + && XINT (PATTERN (insn), 1) == UNSPECV_BTI_C) + delete_insn (insn); + asm_fprintf (file, "\thint\t34 // bti c\n"); + } + + default_print_patchable_function_entry (file, patch_area_size, record_p); } /* Implement ASM_OUTPUT_DEF_FROM_DECLS. Output .variant_pcs for aliases. */ *************** aarch64_emit_post_barrier (enum memmodel *** 15504,15509 **** --- 15535,15543 ---- void aarch64_split_compare_and_swap (rtx operands[]) { + /* Split after prolog/epilog to avoid interactions with shrinkwrapping. */ + gcc_assert (epilogue_completed); + rtx rval, mem, oldval, newval, scratch; machine_mode mode; bool is_weak; *************** void *** 15620,15625 **** --- 15654,15662 ---- aarch64_split_atomic_op (enum rtx_code code, rtx old_out, rtx new_out, rtx mem, rtx value, rtx model_rtx, rtx cond) { + /* Split after prolog/epilog to avoid interactions with shrinkwrapping. */ + gcc_assert (epilogue_completed); + machine_mode mode = GET_MODE (mem); machine_mode wmode = (mode == DImode ? DImode : SImode); const enum memmodel model = memmodel_from_int (INTVAL (model_rtx)); *************** aarch64_expand_subvti (rtx op0, rtx low_ *** 17247,17260 **** } else { ! if (CONST_INT_P (low_in2)) { ! high_in2 = force_reg (DImode, high_in2); ! emit_insn (gen_subdi3_compare1_imm (low_dest, low_in1, low_in2, ! GEN_INT (-INTVAL (low_in2)))); } ! else ! emit_insn (gen_subdi3_compare1 (low_dest, low_in1, low_in2)); if (unsigned_p) emit_insn (gen_usubdi3_carryinC (high_dest, high_in1, high_in2)); --- 17284,17298 ---- } else { ! if (aarch64_plus_immediate (low_in2, DImode)) ! emit_insn (gen_subdi3_compare1_imm (low_dest, low_in1, low_in2, ! GEN_INT (-INTVAL (low_in2)))); ! else { ! low_in2 = force_reg (DImode, low_in2); ! emit_insn (gen_subdi3_compare1 (low_dest, low_in1, low_in2)); } ! high_in2 = force_reg (DImode, high_in2); if (unsigned_p) emit_insn (gen_usubdi3_carryinC (high_dest, high_in1, high_in2)); *************** aarch64_gen_adjusted_ldpstp (rtx *operan *** 18162,18180 **** /* Sort the operands. */ qsort (temp_operands, 4, 2 * sizeof (rtx *), aarch64_ldrstr_offset_compare); if (load) { ! mem_1 = temp_operands[1]; ! mem_2 = temp_operands[3]; ! mem_3 = temp_operands[5]; ! mem_4 = temp_operands[7]; } else { ! mem_1 = temp_operands[0]; ! mem_2 = temp_operands[2]; ! mem_3 = temp_operands[4]; ! mem_4 = temp_operands[6]; gcc_assert (code == UNKNOWN); } --- 18200,18220 ---- /* Sort the operands. */ qsort (temp_operands, 4, 2 * sizeof (rtx *), aarch64_ldrstr_offset_compare); + /* Copy the memory operands so that if we have to bail for some + reason the original addresses are unchanged. */ if (load) { ! mem_1 = copy_rtx (temp_operands[1]); ! mem_2 = copy_rtx (temp_operands[3]); ! mem_3 = copy_rtx (temp_operands[5]); ! mem_4 = copy_rtx (temp_operands[7]); } else { ! mem_1 = copy_rtx (temp_operands[0]); ! mem_2 = copy_rtx (temp_operands[2]); ! mem_3 = copy_rtx (temp_operands[4]); ! mem_4 = copy_rtx (temp_operands[6]); gcc_assert (code == UNKNOWN); } *************** aarch64_run_selftests (void) *** 18944,18949 **** --- 18984,18992 ---- #undef TARGET_ASM_TRAMPOLINE_TEMPLATE #define TARGET_ASM_TRAMPOLINE_TEMPLATE aarch64_asm_trampoline_template + #undef TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY + #define TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY aarch64_print_patchable_function_entry + #undef TARGET_BUILD_BUILTIN_VA_LIST #define TARGET_BUILD_BUILTIN_VA_LIST aarch64_build_builtin_va_list diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/aarch64.h gcc-9.3.0/gcc/config/aarch64/aarch64.h *** gcc-9.2.0/gcc/config/aarch64/aarch64.h Fri Jul 5 15:06:11 2019 --- gcc-9.3.0/gcc/config/aarch64/aarch64.h Thu Mar 12 11:07:21 2020 *************** typedef struct GTY (()) machine_function *** 731,736 **** --- 731,737 ---- struct aarch64_frame frame; /* One entry for each hard register. */ bool reg_is_wrapped_separately[LAST_SAVED_REGNUM]; + bool label_is_assembled; } machine_function; #endif diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/aarch64.md gcc-9.3.0/gcc/config/aarch64/aarch64.md *** gcc-9.2.0/gcc/config/aarch64/aarch64.md Thu Apr 11 18:02:41 2019 --- gcc-9.3.0/gcc/config/aarch64/aarch64.md Thu Mar 12 11:07:21 2020 *************** *** 1059,1066 **** (match_operand:GPI 1 "general_operand" ""))] "" " ! if (MEM_P (operands[0]) && CONST_INT_P (operands[1]) ! && mode == DImode && aarch64_split_dimode_const_store (operands[0], operands[1])) DONE; --- 1059,1066 ---- (match_operand:GPI 1 "general_operand" ""))] "" " ! if (MEM_P (operands[0]) && !MEM_VOLATILE_P (operands[0]) ! && CONST_INT_P (operands[1]) && mode == DImode && aarch64_split_dimode_const_store (operands[0], operands[1])) DONE; *************** *** 6304,6310 **** [(match_operand:GPI 0 "register_operand") (match_operand:GPF 1 "register_operand")] "TARGET_FLOAT ! && ((GET_MODE_SIZE (mode) <= GET_MODE_SIZE (mode)) || !flag_trapping_math || flag_fp_int_builtin_inexact)" { rtx cvt = gen_reg_rtx (mode); --- 6304,6310 ---- [(match_operand:GPI 0 "register_operand") (match_operand:GPF 1 "register_operand")] "TARGET_FLOAT ! && ((GET_MODE_BITSIZE (mode) <= LONG_TYPE_SIZE) || !flag_trapping_math || flag_fp_int_builtin_inexact)" { rtx cvt = gen_reg_rtx (mode); diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/aarch64.opt gcc-9.3.0/gcc/config/aarch64/aarch64.opt *** gcc-9.2.0/gcc/config/aarch64/aarch64.opt Thu Apr 11 10:56:08 2019 --- gcc-9.3.0/gcc/config/aarch64/aarch64.opt Thu Mar 12 11:07:21 2020 *************** EnumValue *** 119,133 **** Enum(aarch64_tls_size) String(48) Value(48) march= ! Target RejectNegative ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. mcpu= ! Target RejectNegative ToLower Joined Var(aarch64_cpu_string) Use features of and optimize for CPU. mtune= ! Target RejectNegative ToLower Joined Var(aarch64_tune_string) Optimize for CPU. mabi= --- 119,133 ---- Enum(aarch64_tls_size) String(48) Value(48) march= ! Target RejectNegative Negative(march=) ToLower Joined Var(aarch64_arch_string) Use features of architecture ARCH. mcpu= ! Target RejectNegative Negative(mcpu=) ToLower Joined Var(aarch64_cpu_string) Use features of and optimize for CPU. mtune= ! Target RejectNegative Negative(mtune=) ToLower Joined Var(aarch64_tune_string) Optimize for CPU. mabi= diff -Nrcpad gcc-9.2.0/gcc/config/aarch64/atomics.md gcc-9.3.0/gcc/config/aarch64/atomics.md *** gcc-9.2.0/gcc/config/aarch64/atomics.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/aarch64/atomics.md Thu Mar 12 11:07:21 2020 *************** *** 56,62 **** (clobber (match_scratch:SI 7 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_compare_and_swap (operands); --- 56,62 ---- (clobber (match_scratch:SI 7 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_compare_and_swap (operands); *************** *** 80,86 **** (clobber (match_scratch:SI 7 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_compare_and_swap (operands); --- 80,86 ---- (clobber (match_scratch:SI 7 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_compare_and_swap (operands); *************** *** 166,172 **** (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (SET, operands[0], NULL, operands[1], --- 166,172 ---- (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (SET, operands[0], NULL, operands[1], *************** *** 254,260 **** (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (, NULL, operands[3], operands[0], --- 254,260 ---- (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (, NULL, operands[3], operands[0], *************** *** 310,316 **** (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, NULL, operands[3], operands[0], --- 310,316 ---- (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, NULL, operands[3], operands[0], *************** *** 380,386 **** (clobber (match_scratch:SI 5 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (, operands[0], operands[4], operands[1], --- 380,386 ---- (clobber (match_scratch:SI 5 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (, operands[0], operands[4], operands[1], *************** *** 427,433 **** (clobber (match_scratch:SI 5 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, operands[0], operands[4], operands[1], --- 427,433 ---- (clobber (match_scratch:SI 5 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, operands[0], operands[4], operands[1], *************** *** 480,486 **** (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (, NULL, operands[0], operands[1], --- 480,486 ---- (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (, NULL, operands[0], operands[1], *************** *** 504,510 **** (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& reload_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, NULL, operands[0], operands[1], --- 504,510 ---- (clobber (match_scratch:SI 4 "=&r"))] "" "#" ! "&& epilogue_completed" [(const_int 0)] { aarch64_split_atomic_op (NOT, NULL, operands[0], operands[1], diff -Nrcpad gcc-9.2.0/gcc/config/alpha/alpha.c gcc-9.3.0/gcc/config/alpha/alpha.c *** gcc-9.2.0/gcc/config/alpha/alpha.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/alpha/alpha.c Thu Mar 12 11:07:21 2020 *************** alpha_handle_trap_shadows (void) *** 8839,8844 **** --- 8839,8847 ---- case CODE_LABEL: goto close_shadow; + case DEBUG_INSN: + break; + default: gcc_unreachable (); } diff -Nrcpad gcc-9.2.0/gcc/config/arc/arc-modes.def gcc-9.3.0/gcc/config/arc/arc-modes.def *** gcc-9.2.0/gcc/config/arc/arc-modes.def Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/arc/arc-modes.def Thu Mar 12 11:07:21 2020 *************** VECTOR_MODES (INT, 16); /* V16QI V *** 38,41 **** --- 38,42 ---- /* FPU condition flags. */ CC_MODE (CC_FPU); + CC_MODE (CC_FPUE); CC_MODE (CC_FPU_UNEQ); diff -Nrcpad gcc-9.2.0/gcc/config/arc/arc.c gcc-9.3.0/gcc/config/arc/arc.c *** gcc-9.2.0/gcc/config/arc/arc.c Mon Jul 22 07:21:24 2019 --- gcc-9.3.0/gcc/config/arc/arc.c Thu Mar 12 11:07:21 2020 *************** get_arc_condition_code (rtx comparison) *** 1445,1450 **** --- 1445,1451 ---- default : gcc_unreachable (); } case E_CC_FPUmode: + case E_CC_FPUEmode: switch (GET_CODE (comparison)) { case EQ : return ARC_CC_EQ; *************** arc_select_cc_mode (enum rtx_code op, rt *** 1567,1577 **** case UNLE: case UNGT: case UNGE: case LT: case LE: case GT: case GE: ! return CC_FPUmode; case LTGT: case UNEQ: --- 1568,1580 ---- case UNLE: case UNGT: case UNGE: + return CC_FPUmode; + case LT: case LE: case GT: case GE: ! return CC_FPUEmode; case LTGT: case UNEQ: *************** arc_init_reg_tables (void) *** 1725,1731 **** if (i == (int) CCmode || i == (int) CC_ZNmode || i == (int) CC_Zmode || i == (int) CC_Cmode || i == CC_FP_GTmode || i == CC_FP_GEmode || i == CC_FP_ORDmode ! || i == CC_FPUmode || i == CC_FPU_UNEQmode) arc_mode_class[i] = 1 << (int) C_MODE; else arc_mode_class[i] = 0; --- 1728,1734 ---- if (i == (int) CCmode || i == (int) CC_ZNmode || i == (int) CC_Zmode || i == (int) CC_Cmode || i == CC_FP_GTmode || i == CC_FP_GEmode || i == CC_FP_ORDmode ! || i == CC_FPUmode || i == CC_FPUEmode || i == CC_FPU_UNEQmode) arc_mode_class[i] = 1 << (int) C_MODE; else arc_mode_class[i] = 0; *************** arc_legitimize_pic_address (rtx addr) *** 5992,5997 **** --- 5995,6016 ---- switch (GET_CODE (addr)) { + case UNSPEC: + /* Can be one or our GOT or GOTOFFPC unspecs. This situation + happens when an address is not a legitimate constant and we + need the resolve it via force_reg in + prepare_move_operands. */ + switch (XINT (addr, 1)) + { + case ARC_UNSPEC_GOT: + case ARC_UNSPEC_GOTOFFPC: + /* Recover the symbol ref. */ + addr = XVECEXP (addr, 0, 0); + break; + default: + return addr; + } + /* Fall through. */ case SYMBOL_REF: /* TLS symbols are handled in different place. */ if (SYMBOL_REF_TLS_MODEL (addr)) *************** arc_reorg (void) *** 8217,8222 **** --- 8236,8242 ---- /* Avoid FPU instructions. */ if ((GET_MODE (XEXP (XEXP (pc_target, 0), 0)) == CC_FPUmode) + || (GET_MODE (XEXP (XEXP (pc_target, 0), 0)) == CC_FPUEmode) || (GET_MODE (XEXP (XEXP (pc_target, 0), 0)) == CC_FPU_UNEQmode)) continue; diff -Nrcpad gcc-9.2.0/gcc/config/arc/arc.h gcc-9.3.0/gcc/config/arc/arc.h *** gcc-9.2.0/gcc/config/arc/arc.h Tue Apr 16 10:21:15 2019 --- gcc-9.3.0/gcc/config/arc/arc.h Thu Mar 12 11:07:21 2020 *************** enum arc_function_type { *** 1530,1536 **** (((MODE) == CC_FP_GTmode || (MODE) == CC_FP_GEmode \ || (MODE) == CC_FP_UNEQmode || (MODE) == CC_FP_ORDmode \ || (MODE) == CC_FPXmode || (MODE) == CC_FPU_UNEQmode \ ! || (MODE) == CC_FPUmode) \ ? reverse_condition_maybe_unordered ((CODE)) \ : reverse_condition ((CODE))) --- 1530,1536 ---- (((MODE) == CC_FP_GTmode || (MODE) == CC_FP_GEmode \ || (MODE) == CC_FP_UNEQmode || (MODE) == CC_FP_ORDmode \ || (MODE) == CC_FPXmode || (MODE) == CC_FPU_UNEQmode \ ! || (MODE) == CC_FPUmode || (MODE) == CC_FPUEmode) \ ? reverse_condition_maybe_unordered ((CODE)) \ : reverse_condition ((CODE))) diff -Nrcpad gcc-9.2.0/gcc/config/arc/arc.md gcc-9.3.0/gcc/config/arc/arc.md *** gcc-9.2.0/gcc/config/arc/arc.md Tue Jun 25 11:02:21 2019 --- gcc-9.3.0/gcc/config/arc/arc.md Thu Mar 12 11:07:21 2020 *************** core_3, archs4x, archs4xd, archs4xd_slow *** 3674,3680 **** }) (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE") ! (DF "TARGET_OPTFPE")]) (define_expand "cstore4" [(set (reg:CC CC_REG) --- 3674,3680 ---- }) (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE") ! (DF "TARGET_FP_DP_BASE || TARGET_OPTFPE")]) (define_expand "cstore4" [(set (reg:CC CC_REG) *************** core_3, archs4x, archs4xd, archs4xd_slow *** 3684,3690 **** (match_operator:SI 1 "comparison_operator" [(reg CC_REG) (const_int 0)]))] ! "TARGET_FP_SP_BASE || TARGET_OPTFPE" { gcc_assert (XEXP (operands[1], 0) == operands[2]); gcc_assert (XEXP (operands[1], 1) == operands[3]); --- 3684,3690 ---- (match_operator:SI 1 "comparison_operator" [(reg CC_REG) (const_int 0)]))] ! "TARGET_HARD_FLOAT || TARGET_OPTFPE" { gcc_assert (XEXP (operands[1], 0) == operands[2]); gcc_assert (XEXP (operands[1], 1) == operands[3]); *************** core_3, archs4x, archs4xd, archs4xd_slow *** 3742,3761 **** ; cond_exec patterns (define_insn "*movsi_ne" [(cond_exec ! (ne (match_operand:CC_Z 2 "cc_use_register" "Rcc, Rcc, Rcc,Rcc,Rcc") (const_int 0)) ! (set (match_operand:SI 0 "dest_reg_operand" "=Rcq#q,Rcq#q,Rcq#q, w,w") ! (match_operand:SI 1 "nonmemory_operand" "C_0, h, ?Cal, Lc,?Cal")))] "" "@ ! * current_insn_predicate = 0; return \"sub%?.ne %0,%0,%0%&\"; ! * current_insn_predicate = 0; return \"mov%?.ne %0,%1\"; ! * current_insn_predicate = 0; return \"mov%?.ne %0,%1\"; ! mov.ne %0,%1 ! mov.ne %0,%1" [(set_attr "type" "cmove") ! (set_attr "iscompact" "true,true,true_limm,false,false") ! (set_attr "length" "2,2,6,4,8") ! (set_attr "cpu_facility" "*,av2,av2,*,*")]) (define_insn "*movsi_cond_exec" [(cond_exec --- 3742,3761 ---- ; cond_exec patterns (define_insn "*movsi_ne" [(cond_exec ! (ne (match_operand:CC_Z 2 "cc_use_register" "Rcc,Rcc,Rcc,Rcc,Rcc") (const_int 0)) ! (set (match_operand:SI 0 "dest_reg_operand" "=q, q, r, q, r") ! (match_operand:SI 1 "nonmemory_operand" "C_0, h, Lr,Cal,Cal")))] "" "@ ! * current_insn_predicate = 0; return \"sub%?.ne\\t%0,%0,%0\"; ! * current_insn_predicate = 0; return \"mov%?.ne\\t%0,%1\"; ! mov.ne\\t%0,%1 ! * current_insn_predicate = 0; return \"mov%?.ne\\t%0,%1\"; ! mov.ne\\t%0,%1" [(set_attr "type" "cmove") ! (set_attr "iscompact" "true,true,false,true_limm,false") ! (set_attr "length" "2,2,4,6,8") ! (set_attr "cpu_facility" "*,av2,*,av2,*")]) (define_insn "*movsi_cond_exec" [(cond_exec diff -Nrcpad gcc-9.2.0/gcc/config/arc/fpu.md gcc-9.3.0/gcc/config/arc/fpu.md *** gcc-9.2.0/gcc/config/arc/fpu.md Wed Jul 25 14:31:16 2018 --- gcc-9.3.0/gcc/config/arc/fpu.md Thu Mar 12 11:07:21 2020 *************** *** 242,247 **** --- 242,259 ---- (set_attr "type" "fpu") (set_attr "predicable" "yes")]) + (define_insn "*cmpsf_fpu_trap" + [(set (reg:CC_FPUE CC_REG) + (compare:CC_FPUE (match_operand:SF 0 "register_operand" "r, r,r") + (match_operand:SF 1 "nonmemory_operand" "r,CfZ,F")))] + "TARGET_FP_SP_BASE" + "fscmpf%?\\t%0,%1" + [(set_attr "length" "4,4,8") + (set_attr "iscompact" "false") + (set_attr "cond" "set") + (set_attr "type" "fpu") + (set_attr "predicable" "yes")]) + (define_insn "*cmpsf_fpu_uneq" [(set (reg:CC_FPU_UNEQ CC_REG) (compare:CC_FPU_UNEQ *************** *** 335,340 **** --- 347,364 ---- [(set_attr "length" "4") (set_attr "iscompact" "false") (set_attr "cond" "set") + (set_attr "type" "fpu") + (set_attr "predicable" "yes")]) + + (define_insn "*cmpdf_fpu_trap" + [(set (reg:CC_FPUE CC_REG) + (compare:CC_FPUE (match_operand:DF 0 "even_register_operand" "r") + (match_operand:DF 1 "even_register_operand" "r")))] + "TARGET_FP_DP_BASE" + "fdcmpf%? %0, %1" + [(set_attr "length" "4") + (set_attr "iscompact" "false") + (set_attr "cond" "set") (set_attr "type" "fpu") (set_attr "predicable" "yes")]) diff -Nrcpad gcc-9.2.0/gcc/config/arc/predicates.md gcc-9.3.0/gcc/config/arc/predicates.md *** gcc-9.2.0/gcc/config/arc/predicates.md Wed Jan 9 21:37:45 2019 --- gcc-9.3.0/gcc/config/arc/predicates.md Thu Mar 12 11:07:21 2020 *************** *** 437,442 **** --- 437,443 ---- || code == ORDERED || code == UNORDERED); case E_CC_FPUmode: + case E_CC_FPUEmode: return 1; case E_CC_FPU_UNEQmode: return 1; diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm-protos.h gcc-9.3.0/gcc/config/arm/arm-protos.h *** gcc-9.2.0/gcc/config/arm/arm-protos.h Thu Feb 7 14:54:15 2019 --- gcc-9.3.0/gcc/config/arm/arm-protos.h Thu Mar 12 11:07:21 2020 *************** extern bool arm_small_register_classes_f *** 66,71 **** --- 66,72 ---- extern int const_ok_for_arm (HOST_WIDE_INT); extern int const_ok_for_op (HOST_WIDE_INT, enum rtx_code); extern int const_ok_for_dimode_op (HOST_WIDE_INT, enum rtx_code); + extern void thumb1_gen_const_int (rtx, HOST_WIDE_INT); extern int arm_split_constant (RTX_CODE, machine_mode, rtx, HOST_WIDE_INT, rtx, rtx, int); extern int legitimate_pic_operand_p (rtx); diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm.c gcc-9.3.0/gcc/config/arm/arm.c *** gcc-9.2.0/gcc/config/arm/arm.c Tue Apr 23 10:03:41 2019 --- gcc-9.3.0/gcc/config/arm/arm.c Thu Mar 12 11:07:21 2020 *************** arm_option_check_internal (struct gcc_op *** 2904,2916 **** { const char *flag = (target_pure_code ? "-mpure-code" : "-mslow-flash-data"); ! /* We only support -mpure-code and -mslow-flash-data on M-profile targets ! with MOVT. */ ! if (!TARGET_HAVE_MOVT || arm_arch_notm || flag_pic || TARGET_NEON) error ("%s only supports non-pic code on M-profile targets with the " "MOVT instruction", flag); /* Cannot load addresses: -mslow-flash-data forbids literal pool and -mword-relocations forbids relocation of MOVT/MOVW. */ if (target_word_relocations) --- 2904,2921 ---- { const char *flag = (target_pure_code ? "-mpure-code" : "-mslow-flash-data"); + bool common_unsupported_modes = arm_arch_notm || flag_pic || TARGET_NEON; ! /* We only support -mslow-flash-data on M-profile targets with ! MOVT. */ ! if (target_slow_flash_data && (!TARGET_HAVE_MOVT || common_unsupported_modes)) error ("%s only supports non-pic code on M-profile targets with the " "MOVT instruction", flag); + /* We only support -mpure-code on M-profile targets. */ + if (target_pure_code && common_unsupported_modes) + error ("%s only supports non-pic code on M-profile targets", flag); + /* Cannot load addresses: -mslow-flash-data forbids literal pool and -mword-relocations forbids relocation of MOVT/MOVW. */ if (target_word_relocations) *************** const_ok_for_dimode_op (HOST_WIDE_INT i, *** 4316,4321 **** --- 4321,4358 ---- } } + /* Emit a sequence of movs/adds/shift to produce a 32-bit constant. + Avoid generating useless code when one of the bytes is zero. */ + void + thumb1_gen_const_int (rtx op0, HOST_WIDE_INT op1) + { + bool mov_done_p = false; + int i; + + /* Emit upper 3 bytes if needed. */ + for (i = 0; i < 3; i++) + { + int byte = (op1 >> (8 * (3 - i))) & 0xff; + + if (byte) + { + emit_set_insn (op0, mov_done_p + ? gen_rtx_PLUS (SImode,op0, GEN_INT (byte)) + : GEN_INT (byte)); + mov_done_p = true; + } + + if (mov_done_p) + emit_set_insn (op0, gen_rtx_ASHIFT (SImode, op0, GEN_INT (8))); + } + + /* Emit lower byte if needed. */ + if (!mov_done_p) + emit_set_insn (op0, GEN_INT (op1 & 0xff)); + else if (op1 & 0xff) + emit_set_insn (op0, gen_rtx_PLUS (SImode, op0, GEN_INT (op1 & 0xff))); + } + /* Emit a sequence of insns to handle a large constant. CODE is the code of the operation required, it can be any of SET, PLUS, IOR, AND, XOR, MINUS; *************** thumb1_legitimate_address_p (machine_mod *** 8325,8331 **** /* This is PC relative data before arm_reorg runs. */ else if (GET_MODE_SIZE (mode) >= 4 && CONSTANT_P (x) && GET_CODE (x) == SYMBOL_REF ! && CONSTANT_POOL_ADDRESS_P (x) && !flag_pic) return 1; /* This is PC relative data after arm_reorg runs. */ --- 8362,8369 ---- /* This is PC relative data before arm_reorg runs. */ else if (GET_MODE_SIZE (mode) >= 4 && CONSTANT_P (x) && GET_CODE (x) == SYMBOL_REF ! && CONSTANT_POOL_ADDRESS_P (x) && !flag_pic ! && !arm_disable_literal_pool) return 1; /* This is PC relative data after arm_reorg runs. */ *************** thumb1_legitimate_address_p (machine_mod *** 8393,8398 **** --- 8431,8437 ---- && GET_MODE_SIZE (mode) == 4 && GET_CODE (x) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (x) + && !arm_disable_literal_pool && ! (flag_pic && symbol_mentioned_p (get_pool_constant (x)) && ! pcrel_constant_p (get_pool_constant (x)))) *************** thumb1_rtx_costs (rtx x, enum rtx_code c *** 9028,9034 **** return 0; if (thumb_shiftable_const (INTVAL (x))) return COSTS_N_INSNS (2); ! return COSTS_N_INSNS (3); } else if ((outer == PLUS || outer == COMPARE) && INTVAL (x) < 256 && INTVAL (x) > -256) --- 9067,9075 ---- return 0; if (thumb_shiftable_const (INTVAL (x))) return COSTS_N_INSNS (2); ! return arm_disable_literal_pool ! ? COSTS_N_INSNS (8) ! : COSTS_N_INSNS (3); } else if ((outer == PLUS || outer == COMPARE) && INTVAL (x) < 256 && INTVAL (x) > -256) *************** thumb1_size_rtx_costs (rtx x, enum rtx_c *** 9185,9191 **** /* See split "TARGET_THUMB1 && satisfies_constraint_K". */ if (thumb_shiftable_const (INTVAL (x))) return COSTS_N_INSNS (2); ! return COSTS_N_INSNS (3); } else if ((outer == PLUS || outer == COMPARE) && INTVAL (x) < 256 && INTVAL (x) > -256) --- 9226,9234 ---- /* See split "TARGET_THUMB1 && satisfies_constraint_K". */ if (thumb_shiftable_const (INTVAL (x))) return COSTS_N_INSNS (2); ! return arm_disable_literal_pool ! ? COSTS_N_INSNS (8) ! : COSTS_N_INSNS (3); } else if ((outer == PLUS || outer == COMPARE) && INTVAL (x) < 256 && INTVAL (x) > -256) *************** arm_compute_save_core_reg_mask (void) *** 19670,19675 **** --- 19713,19747 ---- return save_reg_mask; } + /* Return a mask for the call-clobbered low registers that are unused + at the end of the prologue. */ + static unsigned long + thumb1_prologue_unused_call_clobbered_lo_regs (void) + { + unsigned long mask = 0; + + for (int reg = 0; reg <= LAST_LO_REGNUM; reg++) + if (!callee_saved_reg_p (reg) + && !REGNO_REG_SET_P (df_get_live_out (ENTRY_BLOCK_PTR_FOR_FN (cfun)), + reg)) + mask |= 1 << reg; + return mask; + } + + /* Similarly for the start of the epilogue. */ + static unsigned long + thumb1_epilogue_unused_call_clobbered_lo_regs (void) + { + unsigned long mask = 0; + + for (int reg = 0; reg <= LAST_LO_REGNUM; reg++) + if (!callee_saved_reg_p (reg) + && !REGNO_REG_SET_P (df_get_live_in (EXIT_BLOCK_PTR_FOR_FN (cfun)), + reg)) + mask |= 1 << reg; + return mask; + } + /* Compute a bit mask of which core registers need to be saved on the stack for the current function. */ static unsigned long *************** thumb1_compute_save_core_reg_mask (void) *** 19701,19710 **** if (mask & 0xff || thumb_force_lr_save ()) mask |= (1 << LR_REGNUM); ! /* Make sure we have a low work register if we need one. ! We will need one if we are going to push a high register, ! but we are not currently intending to push a low register. */ if ((mask & 0xff) == 0 && ((mask & 0x0f00) || TARGET_BACKTRACE)) { /* Use thumb_find_work_register to choose which register --- 19773,19791 ---- if (mask & 0xff || thumb_force_lr_save ()) mask |= (1 << LR_REGNUM); ! bool call_clobbered_scratch ! = (thumb1_prologue_unused_call_clobbered_lo_regs () ! && thumb1_epilogue_unused_call_clobbered_lo_regs ()); ! ! /* Make sure we have a low work register if we need one. We will ! need one if we are going to push a high register, but we are not ! currently intending to push a low register. However if both the ! prologue and epilogue have a spare call-clobbered low register, ! then we won't need to find an additional work register. It does ! not need to be the same register in the prologue and ! epilogue. */ if ((mask & 0xff) == 0 + && !call_clobbered_scratch && ((mask & 0x0f00) || TARGET_BACKTRACE)) { /* Use thumb_find_work_register to choose which register *************** thumb1_unexpanded_epilogue (void) *** 24930,24941 **** unsigned long mask = live_regs_mask & 0xff; int next_hi_reg; ! /* The available low registers depend on the size of the value we are ! returning. */ ! if (size <= 12) ! mask |= 1 << 3; ! if (size <= 8) ! mask |= 1 << 2; if (mask == 0) /* Oh dear! We have no low registers into which we can pop --- 25011,25017 ---- unsigned long mask = live_regs_mask & 0xff; int next_hi_reg; ! mask |= thumb1_epilogue_unused_call_clobbered_lo_regs (); if (mask == 0) /* Oh dear! We have no low registers into which we can pop *************** thumb1_unexpanded_epilogue (void) *** 24943,24949 **** internal_error ("no low registers available for popping high registers"); ! for (next_hi_reg = 8; next_hi_reg < 13; next_hi_reg++) if (live_regs_mask & (1 << next_hi_reg)) break; --- 25019,25025 ---- internal_error ("no low registers available for popping high registers"); ! for (next_hi_reg = 12; next_hi_reg > LAST_LO_REGNUM; next_hi_reg--) if (live_regs_mask & (1 << next_hi_reg)) break; *************** thumb1_unexpanded_epilogue (void) *** 24951,24957 **** { /* Find lo register(s) into which the high register(s) can be popped. */ ! for (regno = 0; regno <= LAST_LO_REGNUM; regno++) { if (mask & (1 << regno)) high_regs_pushed--; --- 25027,25033 ---- { /* Find lo register(s) into which the high register(s) can be popped. */ ! for (regno = LAST_LO_REGNUM; regno >= 0; regno--) { if (mask & (1 << regno)) high_regs_pushed--; *************** thumb1_unexpanded_epilogue (void) *** 24959,24978 **** break; } ! mask &= (2 << regno) - 1; /* A noop if regno == 8 */ /* Pop the values into the low register(s). */ thumb_pop (asm_out_file, mask); /* Move the value(s) into the high registers. */ ! for (regno = 0; regno <= LAST_LO_REGNUM; regno++) { if (mask & (1 << regno)) { asm_fprintf (asm_out_file, "\tmov\t%r, %r\n", next_hi_reg, regno); ! for (next_hi_reg++; next_hi_reg < 13; next_hi_reg++) if (live_regs_mask & (1 << next_hi_reg)) break; } --- 25035,25056 ---- break; } ! if (high_regs_pushed == 0 && regno >= 0) ! mask &= ~((1 << regno) - 1); /* Pop the values into the low register(s). */ thumb_pop (asm_out_file, mask); /* Move the value(s) into the high registers. */ ! for (regno = LAST_LO_REGNUM; regno >= 0; regno--) { if (mask & (1 << regno)) { asm_fprintf (asm_out_file, "\tmov\t%r, %r\n", next_hi_reg, regno); ! for (next_hi_reg--; next_hi_reg > LAST_LO_REGNUM; ! next_hi_reg--) if (live_regs_mask & (1 << next_hi_reg)) break; } *************** thumb1_expand_prologue (void) *** 25354,25363 **** break; /* Here we need to mask out registers used for passing arguments ! even if they can be pushed. This is to avoid using them to stash the high ! registers. Such kind of stash may clobber the use of arguments. */ pushable_regs = l_mask & (~arg_regs_mask); ! if (lr_needs_saving) pushable_regs &= ~(1 << LR_REGNUM); if (pushable_regs == 0) --- 25432,25451 ---- break; /* Here we need to mask out registers used for passing arguments ! even if they can be pushed. This is to avoid using them to ! stash the high registers. Such kind of stash may clobber the ! use of arguments. */ pushable_regs = l_mask & (~arg_regs_mask); ! pushable_regs |= thumb1_prologue_unused_call_clobbered_lo_regs (); ! ! /* Normally, LR can be used as a scratch register once it has been ! saved; but if the function examines its own return address then ! the value is still live and we need to avoid using it. */ ! bool return_addr_live ! = REGNO_REG_SET_P (df_get_live_out (ENTRY_BLOCK_PTR_FOR_FN (cfun)), ! LR_REGNUM); ! ! if (lr_needs_saving || return_addr_live) pushable_regs &= ~(1 << LR_REGNUM); if (pushable_regs == 0) *************** thumb1_expand_prologue (void) *** 25398,25403 **** --- 25486,25496 ---- push_mask |= 1 << LR_REGNUM; real_regs_mask |= 1 << LR_REGNUM; lr_needs_saving = false; + /* If the return address is not live at this point, we + can add LR to the list of registers that we can use + for pushes. */ + if (!return_addr_live) + pushable_regs |= 1 << LR_REGNUM; } insn = thumb1_emit_multi_reg_push (push_mask, real_regs_mask); *************** arm_thumb1_mi_thunk (FILE *file, tree, H *** 26782,26795 **** /* push r3 so we can use it as a temporary. */ /* TODO: Omit this save if r3 is not used. */ fputs ("\tpush {r3}\n", file); ! fputs ("\tldr\tr3, ", file); } else { fputs ("\tldr\tr12, ", file); } ! assemble_name (file, label); ! fputc ('\n', file); if (flag_pic) { /* If we are generating PIC, the ldr instruction below loads --- 26875,26915 ---- /* push r3 so we can use it as a temporary. */ /* TODO: Omit this save if r3 is not used. */ fputs ("\tpush {r3}\n", file); ! ! /* With -mpure-code, we cannot load the address from the ! constant pool: we build it explicitly. */ ! if (target_pure_code) ! { ! fputs ("\tmovs\tr3, #:upper8_15:#", file); ! assemble_name (file, XSTR (XEXP (DECL_RTL (function), 0), 0)); ! fputc ('\n', file); ! fputs ("\tlsls r3, #8\n", file); ! fputs ("\tadds\tr3, #:upper0_7:#", file); ! assemble_name (file, XSTR (XEXP (DECL_RTL (function), 0), 0)); ! fputc ('\n', file); ! fputs ("\tlsls r3, #8\n", file); ! fputs ("\tadds\tr3, #:lower8_15:#", file); ! assemble_name (file, XSTR (XEXP (DECL_RTL (function), 0), 0)); ! fputc ('\n', file); ! fputs ("\tlsls r3, #8\n", file); ! fputs ("\tadds\tr3, #:lower0_7:#", file); ! assemble_name (file, XSTR (XEXP (DECL_RTL (function), 0), 0)); ! fputc ('\n', file); ! } ! else ! fputs ("\tldr\tr3, ", file); } else { fputs ("\tldr\tr12, ", file); } ! ! if (!target_pure_code) ! { ! assemble_name (file, label); ! fputc ('\n', file); ! } ! if (flag_pic) { /* If we are generating PIC, the ldr instruction below loads diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm.h gcc-9.3.0/gcc/config/arm/arm.h *** gcc-9.2.0/gcc/config/arm/arm.h Tue Apr 23 10:03:41 2019 --- gcc-9.3.0/gcc/config/arm/arm.h Thu Mar 12 11:07:21 2020 *************** enum arm_auto_incmodes *** 1854,1862 **** for the index in the tablejump instruction. */ #define CASE_VECTOR_MODE Pmode ! #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ ! || (TARGET_THUMB1 \ ! && (optimize_size || flag_pic))) #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ (TARGET_THUMB1 \ --- 1854,1864 ---- for the index in the tablejump instruction. */ #define CASE_VECTOR_MODE Pmode ! #define CASE_VECTOR_PC_RELATIVE ((TARGET_THUMB2 \ ! || (TARGET_THUMB1 \ ! && (optimize_size || flag_pic))) \ ! && (!target_pure_code)) ! #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ (TARGET_THUMB1 \ diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm.md gcc-9.3.0/gcc/config/arm/arm.md *** gcc-9.2.0/gcc/config/arm/arm.md Tue Mar 19 10:05:10 2019 --- gcc-9.3.0/gcc/config/arm/arm.md Thu Mar 12 11:07:21 2020 *************** *** 94,99 **** --- 94,104 ---- ; an IT block in their expansion which is not a short IT. (define_attr "enabled_for_short_it" "no,yes" (const_string "yes")) + ; Mark an instruction sequence as the required way of loading a + ; constant when -mpure-code is enabled (which implies + ; arm_disable_literal_pool) + (define_attr "required_for_purecode" "no,yes" (const_string "no")) + ;; Operand number of an input operand that is shifted. Zero if the ;; given instruction does not shift one of its input operands. (define_attr "shift" "" (const_int 0)) *************** *** 237,242 **** --- 242,251 ---- (match_test "arm_restrict_it")) (const_string "no") + (and (eq_attr "required_for_purecode" "yes") + (not (match_test "arm_disable_literal_pool"))) + (const_string "no") + (eq_attr "arch_enabled" "no") (const_string "no")] (const_string "yes"))) *************** *** 1110,1116 **** (parallel [(set (reg:CC CC_REGNUM) (compare:CC (match_dup 4) (match_dup 5))) (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (match_dup 5)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))])] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1119,1125 ---- (parallel [(set (reg:CC CC_REGNUM) (compare:CC (match_dup 4) (match_dup 5))) (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (match_dup 5)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))])] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1141,1147 **** [(set (match_operand:SI 0 "s_register_operand" "=r,r,r") (minus:SI (minus:SI (match_operand:SI 1 "reg_or_int_operand" "r,I,Pz") (match_operand:SI 2 "s_register_operand" "r,r,r")) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "@ sbc%?\\t%0, %1, %2 --- 1150,1156 ---- [(set (match_operand:SI 0 "s_register_operand" "=r,r,r") (minus:SI (minus:SI (match_operand:SI 1 "reg_or_int_operand" "r,I,Pz") (match_operand:SI 2 "s_register_operand" "r,r,r")) ! (match_operand:SI 3 "arm_borrow_operation" "")))] "TARGET_32BIT" "@ sbc%?\\t%0, %1, %2 *************** *** 1155,1163 **** (define_insn "*subsi3_carryin_const" [(set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (plus:SI (match_operand:SI 1 "s_register_operand" "r") ! (match_operand:SI 2 "arm_neg_immediate_operand" "L")) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "sbc\\t%0, %1, #%n2" [(set_attr "conds" "use") --- 1164,1173 ---- (define_insn "*subsi3_carryin_const" [(set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (plus:SI ! (match_operand:SI 1 "s_register_operand" "r") ! (match_operand:SI 2 "arm_neg_immediate_operand" "L")) ! (match_operand:SI 3 "arm_borrow_operation" "")))] "TARGET_32BIT" "sbc\\t%0, %1, #%n2" [(set_attr "conds" "use") *************** *** 1166,1173 **** (define_insn "*subsi3_carryin_const0" [(set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (match_operand:SI 1 "s_register_operand" "r") ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "sbc\\t%0, %1, #0" [(set_attr "conds" "use") --- 1176,1183 ---- (define_insn "*subsi3_carryin_const0" [(set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (match_operand:SI 1 "s_register_operand" "r") ! (match_operand:SI 2 "arm_borrow_operation" "")))] "TARGET_32BIT" "sbc\\t%0, %1, #0" [(set_attr "conds" "use") *************** *** 1176,1187 **** (define_insn "*subsi3_carryin_compare" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "s_register_operand" "r") ! (match_operand:SI 2 "s_register_operand" "r"))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (minus:SI (match_dup 1) ! (match_dup 2)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "sbcs\\t%0, %1, %2" [(set_attr "conds" "set") --- 1186,1196 ---- (define_insn "*subsi3_carryin_compare" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "s_register_operand" "r") ! (match_operand:SI 2 "s_register_operand" "r"))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (minus:SI (match_dup 1) (match_dup 2)) ! (match_operand:SI 3 "arm_borrow_operation" "")))] "TARGET_32BIT" "sbcs\\t%0, %1, %2" [(set_attr "conds" "set") *************** *** 1190,1201 **** (define_insn "*subsi3_carryin_compare_const" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "reg_or_int_operand" "r") ! (match_operand:SI 2 "const_int_I_operand" "I"))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (plus:SI (match_dup 1) ! (match_operand:SI 3 "arm_neg_immediate_operand" "L")) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT && (INTVAL (operands[2]) == trunc_int_for_mode (-INTVAL (operands[3]), SImode))" --- 1199,1211 ---- (define_insn "*subsi3_carryin_compare_const" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "reg_or_int_operand" "r") ! (match_operand:SI 2 "const_int_I_operand" "I"))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (plus:SI ! (match_dup 1) ! (match_operand:SI 3 "arm_neg_immediate_operand" "L")) ! (match_operand:SI 4 "arm_borrow_operation" "")))] "TARGET_32BIT && (INTVAL (operands[2]) == trunc_int_for_mode (-INTVAL (operands[3]), SImode))" *************** *** 1206,1216 **** (define_insn "*subsi3_carryin_compare_const0" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "reg_or_int_operand" "r") (const_int 0))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (match_dup 1) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "sbcs\\t%0, %1, #0" [(set_attr "conds" "set") --- 1216,1226 ---- (define_insn "*subsi3_carryin_compare_const0" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_operand:SI 1 "reg_or_int_operand" "r") (const_int 0))) (set (match_operand:SI 0 "s_register_operand" "=r") ! (minus:SI (match_dup 1) ! (match_operand:SI 2 "arm_borrow_operation" "")))] "TARGET_32BIT" "sbcs\\t%0, %1, #0" [(set_attr "conds" "set") *************** *** 1220,1247 **** (define_insn "*subsi3_carryin_shift" [(set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI ! (match_operand:SI 1 "s_register_operand" "r") ! (match_operator:SI 2 "shift_operator" ! [(match_operand:SI 3 "s_register_operand" "r") ! (match_operand:SI 4 "reg_or_int_operand" "rM")])) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_32BIT" "sbc%?\\t%0, %1, %3%S2" [(set_attr "conds" "use") (set_attr "predicable" "yes") (set (attr "type") (if_then_else (match_operand 4 "const_int_operand" "") ! (const_string "alu_shift_imm") ! (const_string "alu_shift_reg")))] ) (define_insn "*rsbsi3_carryin_shift" [(set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI ! (match_operator:SI 2 "shift_operator" ! [(match_operand:SI 3 "s_register_operand" "r") ! (match_operand:SI 4 "reg_or_int_operand" "rM")]) (match_operand:SI 1 "s_register_operand" "r")) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_ARM" "rsc%?\\t%0, %1, %3%S2" [(set_attr "conds" "use") --- 1230,1257 ---- (define_insn "*subsi3_carryin_shift" [(set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI ! (match_operand:SI 1 "s_register_operand" "r") ! (match_operator:SI 2 "shift_operator" ! [(match_operand:SI 3 "s_register_operand" "r") ! (match_operand:SI 4 "reg_or_int_operand" "rM")])) ! (match_operand:SI 5 "arm_borrow_operation" "")))] "TARGET_32BIT" "sbc%?\\t%0, %1, %3%S2" [(set_attr "conds" "use") (set_attr "predicable" "yes") (set (attr "type") (if_then_else (match_operand 4 "const_int_operand" "") ! (const_string "alu_shift_imm") ! (const_string "alu_shift_reg")))] ) (define_insn "*rsbsi3_carryin_shift" [(set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI ! (match_operator:SI 2 "shift_operator" ! [(match_operand:SI 3 "s_register_operand" "r") ! (match_operand:SI 4 "reg_or_int_operand" "rM")]) (match_operand:SI 1 "s_register_operand" "r")) ! (match_operand:SI 5 "arm_borrow_operation" "")))] "TARGET_ARM" "rsc%?\\t%0, %1, %3%S2" [(set_attr "conds" "use") *************** *** 1311,1317 **** (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (match_dup 5)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1321,1327 ---- (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (match_dup 5)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1338,1344 **** (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (match_dup 4) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1348,1354 ---- (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (match_dup 4) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1365,1371 **** (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (ashiftrt:SI (match_dup 2) (const_int 31))) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1375,1381 ---- (set (match_dup 3) (minus:SI (minus:SI (match_dup 4) (ashiftrt:SI (match_dup 2) (const_int 31))) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1392,1398 **** (compare:CC (match_dup 2) (match_dup 1))) (set (match_dup 0) (minus:SI (match_dup 2) (match_dup 1)))]) (set (match_dup 3) (minus:SI (minus:SI (const_int 0) (match_dup 4)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1402,1408 ---- (compare:CC (match_dup 2) (match_dup 1))) (set (match_dup 0) (minus:SI (match_dup 2) (match_dup 1)))]) (set (match_dup 3) (minus:SI (minus:SI (const_int 0) (match_dup 4)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1422,1428 **** (ashiftrt:SI (match_dup 2) (const_int 31)) (match_dup 4)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1432,1438 ---- (ashiftrt:SI (match_dup 2) (const_int 31)) (match_dup 4)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 1448,1454 **** (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (minus:SI (match_dup 1) (match_dup 1)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 1458,1464 ---- (compare:CC (match_dup 1) (match_dup 2))) (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))]) (set (match_dup 3) (minus:SI (minus:SI (match_dup 1) (match_dup 1)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 4483,4544 **** ; ARMv6+ unaligned load/store instructions (used for packed structure accesses). (define_insn "unaligned_loadsi" ! [(set (match_operand:SI 0 "s_register_operand" "=l,r") ! (unspec:SI [(match_operand:SI 1 "memory_operand" "Uw,m")] UNSPEC_UNALIGNED_LOAD))] "unaligned_access" ! "ldr%?\t%0, %1\t@ unaligned" ! [(set_attr "arch" "t2,any") ! (set_attr "length" "2,4") ! (set_attr "predicable" "yes") ! (set_attr "predicable_short_it" "yes,no") (set_attr "type" "load_4")]) (define_insn "unaligned_loadhis" [(set (match_operand:SI 0 "s_register_operand" "=r") (sign_extend:SI (unspec:HI [(match_operand:HI 1 "memory_operand" "Uh")] UNSPEC_UNALIGNED_LOAD)))] ! "unaligned_access" "ldrsh%?\t%0, %1\t@ unaligned" [(set_attr "predicable" "yes") (set_attr "type" "load_byte")]) (define_insn "unaligned_loadhiu" ! [(set (match_operand:SI 0 "s_register_operand" "=l,r") (zero_extend:SI ! (unspec:HI [(match_operand:HI 1 "memory_operand" "Uw,m")] UNSPEC_UNALIGNED_LOAD)))] "unaligned_access" ! "ldrh%?\t%0, %1\t@ unaligned" ! [(set_attr "arch" "t2,any") ! (set_attr "length" "2,4") ! (set_attr "predicable" "yes") ! (set_attr "predicable_short_it" "yes,no") (set_attr "type" "load_byte")]) (define_insn "unaligned_storesi" ! [(set (match_operand:SI 0 "memory_operand" "=Uw,m") ! (unspec:SI [(match_operand:SI 1 "s_register_operand" "l,r")] UNSPEC_UNALIGNED_STORE))] "unaligned_access" ! "str%?\t%1, %0\t@ unaligned" ! [(set_attr "arch" "t2,any") ! (set_attr "length" "2,4") ! (set_attr "predicable" "yes") ! (set_attr "predicable_short_it" "yes,no") (set_attr "type" "store_4")]) (define_insn "unaligned_storehi" ! [(set (match_operand:HI 0 "memory_operand" "=Uw,m") ! (unspec:HI [(match_operand:HI 1 "s_register_operand" "l,r")] UNSPEC_UNALIGNED_STORE))] "unaligned_access" ! "strh%?\t%1, %0\t@ unaligned" ! [(set_attr "arch" "t2,any") ! (set_attr "length" "2,4") ! (set_attr "predicable" "yes") ! (set_attr "predicable_short_it" "yes,no") (set_attr "type" "store_4")]) --- 4493,4570 ---- ; ARMv6+ unaligned load/store instructions (used for packed structure accesses). (define_insn "unaligned_loadsi" ! [(set (match_operand:SI 0 "s_register_operand" "=l,l,r") ! (unspec:SI [(match_operand:SI 1 "memory_operand" "m,Uw,m")] UNSPEC_UNALIGNED_LOAD))] "unaligned_access" ! "@ ! ldr\t%0, %1\t@ unaligned ! ldr%?\t%0, %1\t@ unaligned ! ldr%?\t%0, %1\t@ unaligned" ! [(set_attr "arch" "t1,t2,32") ! (set_attr "length" "2,2,4") ! (set_attr "predicable" "no,yes,yes") ! (set_attr "predicable_short_it" "no,yes,no") (set_attr "type" "load_4")]) + ;; The 16-bit Thumb1 variant of ldrsh requires two registers in the + ;; address (there's no immediate format). That's tricky to support + ;; here and we don't really need this pattern for that case, so only + ;; enable for 32-bit ISAs. (define_insn "unaligned_loadhis" [(set (match_operand:SI 0 "s_register_operand" "=r") (sign_extend:SI (unspec:HI [(match_operand:HI 1 "memory_operand" "Uh")] UNSPEC_UNALIGNED_LOAD)))] ! "unaligned_access && TARGET_32BIT" "ldrsh%?\t%0, %1\t@ unaligned" [(set_attr "predicable" "yes") (set_attr "type" "load_byte")]) (define_insn "unaligned_loadhiu" ! [(set (match_operand:SI 0 "s_register_operand" "=l,l,r") (zero_extend:SI ! (unspec:HI [(match_operand:HI 1 "memory_operand" "m,Uw,m")] UNSPEC_UNALIGNED_LOAD)))] "unaligned_access" ! "@ ! ldrh\t%0, %1\t@ unaligned ! ldrh%?\t%0, %1\t@ unaligned ! ldrh%?\t%0, %1\t@ unaligned" ! [(set_attr "arch" "t1,t2,32") ! (set_attr "length" "2,2,4") ! (set_attr "predicable" "no,yes,yes") ! (set_attr "predicable_short_it" "no,yes,no") (set_attr "type" "load_byte")]) (define_insn "unaligned_storesi" ! [(set (match_operand:SI 0 "memory_operand" "=m,Uw,m") ! (unspec:SI [(match_operand:SI 1 "s_register_operand" "l,l,r")] UNSPEC_UNALIGNED_STORE))] "unaligned_access" ! "@ ! str\t%1, %0\t@ unaligned ! str%?\t%1, %0\t@ unaligned ! str%?\t%1, %0\t@ unaligned" ! [(set_attr "arch" "t1,t2,32") ! (set_attr "length" "2,2,4") ! (set_attr "predicable" "no,yes,yes") ! (set_attr "predicable_short_it" "no,yes,no") (set_attr "type" "store_4")]) (define_insn "unaligned_storehi" ! [(set (match_operand:HI 0 "memory_operand" "=m,Uw,m") ! (unspec:HI [(match_operand:HI 1 "s_register_operand" "l,l,r")] UNSPEC_UNALIGNED_STORE))] "unaligned_access" ! "@ ! strh\t%1, %0\t@ unaligned ! strh%?\t%1, %0\t@ unaligned ! strh%?\t%1, %0\t@ unaligned" ! [(set_attr "arch" "t1,t2,32") ! (set_attr "length" "2,2,4") ! (set_attr "predicable" "no,yes,yes") ! (set_attr "predicable_short_it" "no,yes,no") (set_attr "type" "store_4")]) *************** *** 4645,4651 **** (set (match_dup 2) (minus:SI (minus:SI (const_int 0) (match_dup 3)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))])] { operands[2] = gen_highpart (SImode, operands[0]); --- 4671,4677 ---- (set (match_dup 2) (minus:SI (minus:SI (const_int 0) (match_dup 3)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))])] { operands[2] = gen_highpart (SImode, operands[0]); *************** *** 4687,4693 **** (compare:CC (const_int 0) (match_dup 1))) (set (match_dup 0) (minus:SI (const_int 0) (match_dup 1)))]) (set (match_dup 2) (minus:SI (minus:SI (const_int 0) (match_dup 3)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[2] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 4713,4719 ---- (compare:CC (const_int 0) (match_dup 1))) (set (match_dup 0) (minus:SI (const_int 0) (match_dup 1)))]) (set (match_dup 2) (minus:SI (minus:SI (const_int 0) (match_dup 3)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[2] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 4706,4712 **** (set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI (const_int 0) (match_dup 1)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] "TARGET_ARM" "rscs\\t%0, %1, #0" [(set_attr "conds" "set") --- 4732,4738 ---- (set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI (minus:SI (const_int 0) (match_dup 1)) ! (match_operand:SI 2 "arm_borrow_operation" "")))] "TARGET_ARM" "rscs\\t%0, %1, #0" [(set_attr "conds" "set") *************** *** 4783,4789 **** asr Rhi, Rin, #31 rsbs Rlo, Rin, #0 rsc Rhi, Rhi, #0 (thumb2: sbc Rhi, Rhi, Rhi, lsl #1). */ ! rtx cc_reg = gen_rtx_REG (CC_Cmode, CC_REGNUM); emit_insn (gen_rtx_SET (high, gen_rtx_ASHIFTRT (SImode, operands[1], --- 4809,4815 ---- asr Rhi, Rin, #31 rsbs Rlo, Rin, #0 rsc Rhi, Rhi, #0 (thumb2: sbc Rhi, Rhi, Rhi, lsl #1). */ ! rtx cc_reg = gen_rtx_REG (CCmode, CC_REGNUM); emit_insn (gen_rtx_SET (high, gen_rtx_ASHIFTRT (SImode, operands[1], *************** *** 4845,4854 **** ;; since we just need to propagate the carry. "&& reload_completed" [(parallel [(set (reg:CC CC_REGNUM) ! (compare:CC (const_int 0) (match_dup 1))) ! (set (match_dup 0) (minus:SI (const_int 0) (match_dup 1)))]) (set (match_dup 2) (minus:SI (minus:SI (match_dup 2) (match_dup 2)) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))] { operands[2] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 4871,4880 ---- ;; since we just need to propagate the carry. "&& reload_completed" [(parallel [(set (reg:CC CC_REGNUM) ! (compare:CC (const_int 0) (match_dup 1))) ! (set (match_dup 0) (minus:SI (const_int 0) (match_dup 1)))]) (set (match_dup 2) (minus:SI (minus:SI (match_dup 2) (match_dup 2)) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))] { operands[2] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); *************** *** 7429,7440 **** "#" ; "cmp\\t%Q0, %Q1\;sbcs\\t%2, %R0, %R1" "&& reload_completed" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_dup 0) (match_dup 1))) (parallel [(set (reg:CC CC_REGNUM) ! (compare:CC (match_dup 3) (match_dup 4))) ! (set (match_dup 2) ! (minus:SI (match_dup 5) ! (ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))])] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); --- 7455,7466 ---- "#" ; "cmp\\t%Q0, %Q1\;sbcs\\t%2, %R0, %R1" "&& reload_completed" [(set (reg:CC CC_REGNUM) ! (compare:CC (match_dup 0) (match_dup 1))) (parallel [(set (reg:CC CC_REGNUM) ! (compare:CC (match_dup 3) (match_dup 4))) ! (set (match_dup 2) ! (minus:SI (match_dup 5) ! (ltu:SI (reg:CC CC_REGNUM) (const_int 0))))])] { operands[3] = gen_highpart (SImode, operands[0]); operands[0] = gen_lowpart (SImode, operands[0]); diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm.opt gcc-9.3.0/gcc/config/arm/arm.opt *** gcc-9.2.0/gcc/config/arm/arm.opt Tue Apr 23 10:03:41 2019 --- gcc-9.3.0/gcc/config/arm/arm.opt Thu Mar 12 11:07:21 2020 *************** mapcs-stack-check *** 82,88 **** Target Report Mask(APCS_STACK) Undocumented march= ! Target RejectNegative ToLower Joined Var(arm_arch_string) Specify the name of the target architecture. ; Other arm_arch values are loaded from arm-tables.opt --- 82,88 ---- Target Report Mask(APCS_STACK) Undocumented march= ! Target RejectNegative Negative(march=) ToLower Joined Var(arm_arch_string) Specify the name of the target architecture. ; Other arm_arch values are loaded from arm-tables.opt *************** Target Report Mask(CALLER_INTERWORKING) *** 107,113 **** Thumb: Assume function pointers may go to non-Thumb aware code. mcpu= ! Target RejectNegative ToLower Joined Var(arm_cpu_string) Specify the name of the target CPU. mfloat-abi= --- 107,113 ---- Thumb: Assume function pointers may go to non-Thumb aware code. mcpu= ! Target RejectNegative Negative(mcpu=) ToLower Joined Var(arm_cpu_string) Specify the name of the target CPU. mfloat-abi= *************** Target Report Mask(TPCS_LEAF_FRAME) *** 232,238 **** Thumb: Generate (leaf) stack frames even if not needed. mtune= ! Target RejectNegative ToLower Joined Var(arm_tune_string) Tune code for the given processor. mprint-tune-info --- 232,238 ---- Thumb: Generate (leaf) stack frames even if not needed. mtune= ! Target RejectNegative Negative(mtune=) ToLower Joined Var(arm_tune_string) Tune code for the given processor. mprint-tune-info diff -Nrcpad gcc-9.2.0/gcc/config/arm/arm_acle.h gcc-9.3.0/gcc/config/arm/arm_acle.h *** gcc-9.2.0/gcc/config/arm/arm_acle.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/arm/arm_acle.h Thu Mar 12 11:07:21 2020 *************** __arm_mrrc2 (const unsigned int __coproc *** 174,181 **** #endif /* (!__thumb__ || __thumb2__) && __ARM_ARCH >= 4. */ #pragma GCC push_options ! #if __ARM_ARCH >= 8 #pragma GCC target ("arch=armv8-a+crc") __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) __crc32b (uint32_t __a, uint8_t __b) --- 174,185 ---- #endif /* (!__thumb__ || __thumb2__) && __ARM_ARCH >= 4. */ #pragma GCC push_options ! #ifdef __ARM_FEATURE_CRC32 ! #ifdef __ARM_FP ! #pragma GCC target ("arch=armv8-a+crc+simd") ! #else #pragma GCC target ("arch=armv8-a+crc") + #endif __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) __crc32b (uint32_t __a, uint8_t __b) *************** __crc32cd (uint32_t __a, uint64_t __b) *** 235,241 **** } #endif ! #endif /* __ARM_ARCH >= 8. */ #pragma GCC pop_options #ifdef __cplusplus --- 239,245 ---- } #endif ! #endif /* __ARM_FEATURE_CRC32 */ #pragma GCC pop_options #ifdef __cplusplus diff -Nrcpad gcc-9.2.0/gcc/config/arm/predicates.md gcc-9.3.0/gcc/config/arm/predicates.md *** gcc-9.2.0/gcc/config/arm/predicates.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/arm/predicates.md Thu Mar 12 11:07:21 2020 *************** *** 358,363 **** --- 358,384 ---- (define_special_predicate "lt_ge_comparison_operator" (match_code "lt,ge")) + ;; Match a "borrow" operation for use with SBC. The precise code will + ;; depend on the form of the comparison. This is generally the inverse of + ;; a carry operation, since the logic of SBC uses "not borrow" in it's + ;; calculation. + (define_special_predicate "arm_borrow_operation" + (match_code "geu,ltu") + { + if (XEXP (op, 1) != const0_rtx) + return false; + rtx op0 = XEXP (op, 0); + if (!REG_P (op0) || REGNO (op0) != CC_REGNUM) + return false; + machine_mode ccmode = GET_MODE (op0); + if (ccmode == CC_Cmode) + return GET_CODE (op) == GEU; + else if (ccmode == CCmode) + return GET_CODE (op) == LTU; + return false; + } + ) + ;; The vsel instruction only accepts the ARM condition codes listed below. (define_special_predicate "arm_vsel_comparison_operator" (and (match_operand 0 "expandable_comparison_operator") diff -Nrcpad gcc-9.2.0/gcc/config/arm/t-multilib gcc-9.3.0/gcc/config/arm/t-multilib *** gcc-9.2.0/gcc/config/arm/t-multilib Fri Jan 18 11:49:56 2019 --- gcc-9.3.0/gcc/config/arm/t-multilib Thu Mar 12 11:07:21 2020 *************** *** 24,29 **** --- 24,31 ---- # values during the configure step. We enforce this during the # top-level configury. + s-mlib: $(srcdir)/config/arm/t-multilib $(srcdir)/config/arm/t-aprofile $(srcdir)/config/arm/t-rmprofile + MULTILIB_OPTIONS = MULTILIB_DIRNAMES = MULTILIB_EXCEPTIONS = *************** all_early_arch := armv5tej armv6 armv6j *** 63,68 **** --- 65,72 ---- v7_a_arch_variants := $(call all_feat_combs, mp sec) v7_a_nosimd_variants := +fp +vfpv3 +vfpv3-d16-fp16 +vfpv3-fp16 +vfpv4-d16 +vfpv4 v7_a_simd_variants := +simd +neon-fp16 +neon-vfpv4 + v7_r_sp_variants := +fp.sp +fp.sp+idiv +vfpv3xd-fp16 +vfpv3xd-fp16+idiv + v7_r_dp_variants := +fp +fp+idiv +vfpv3-d16-fp16 +vfpv3-d16-fp16+idiv v7ve_nosimd_variants := +vfpv3-d16 +vfpv3 +vfpv3-d16-fp16 +vfpv3-fp16 +fp +vfpv4 v7ve_vfpv3_simd_variants := +neon +neon-fp16 v7ve_vfpv4_simd_variants := +simd *************** SEP := $(and $(HAS_APROFILE),$(HAS_RMPRO *** 86,93 **** MULTILIB_OPTIONS += marm/mthumb MULTILIB_DIRNAMES += arm thumb ! MULTILIB_OPTIONS += march=armv5te+fp/march=armv7/march=armv7+fp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM) ! MULTILIB_DIRNAMES += v5te v7 v7+fp $(MULTI_ARCH_DIRS_A) $(MULTI_ARCH_DIRS_RM) MULTILIB_OPTIONS += mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard MULTILIB_DIRNAMES += nofp softfp hard --- 90,97 ---- MULTILIB_OPTIONS += marm/mthumb MULTILIB_DIRNAMES += arm thumb ! MULTILIB_OPTIONS += march=armv5te+fp/march=armv7/march=armv7+fp/march=armv7-r+fp.sp/$(MULTI_ARCH_OPTS_A)$(SEP)$(MULTI_ARCH_OPTS_RM) ! MULTILIB_DIRNAMES += v5te v7 v7+fp v7-r+fp.sp $(MULTI_ARCH_DIRS_A) $(MULTI_ARCH_DIRS_RM) MULTILIB_OPTIONS += mfloat-abi=soft/mfloat-abi=softfp/mfloat-abi=hard MULTILIB_DIRNAMES += nofp softfp hard *************** MULTILIB_REQUIRED += mthumb/march=armv7/ *** 100,128 **** MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=softfp MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=hard ! # Map v7-r down onto common v7 code. MULTILIB_MATCHES += march?armv7=march?armv7-r MULTILIB_MATCHES += march?armv7=march?armv7-r+idiv ! MULTILIB_MATCHES += march?armv7+fp=march?armv7-r+fp ! MULTILIB_MATCHES += march?armv7+fp=march?armv7-r+fp+idiv MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ march?armv5te+fp=march?$(ARCH)+fp) ! # Map v8-r down onto common v7 code. MULTILIB_MATCHES += march?armv7=march?armv8-r MULTILIB_MATCHES += $(foreach ARCH, $(v8_r_nosimd_variants), \ march?armv7=march?armv8-r$(ARCH)) MULTILIB_MATCHES += $(foreach ARCH,+simd +crypto, \ march?armv7+fp=march?armv8-r$(ARCH) \ march?armv7+fp=march?armv8-r+crc$(ARCH)) ! ifeq (,$(HAS_APROFILE)) # Map all v7-a MULTILIB_MATCHES += march?armv7=march?armv7-a MULTILIB_MATCHES += $(foreach ARCH, $(v7_a_nosimd_variants) $(v7_a_simd_variants), \ march?armv7+fp=march?armv7-a$(ARCH)) MULTILIB_MATCHES += march?armv7=march?armv7ve # ARMv7ve FP/SIMD variants: map down to v7+fp --- 104,150 ---- MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=softfp MULTILIB_REQUIRED += mthumb/march=armv7+fp/mfloat-abi=hard ! MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=softfp ! MULTILIB_REQUIRED += mthumb/march=armv7-r+fp.sp/mfloat-abi=hard ! ! # Map v7-r with double precision down onto common v7 code. MULTILIB_MATCHES += march?armv7=march?armv7-r MULTILIB_MATCHES += march?armv7=march?armv7-r+idiv ! MULTILIB_MATCHES += $(foreach ARCH, $(v7_r_dp_variants), \ ! march?armv7+fp=march?armv7-r$(ARCH)) ! ! # Map v7-r single precision variants to v7-r with single precision. ! MULTILIB_MATCHES += $(foreach ARCH, \ ! $(filter-out +fp.sp, $(v7_r_sp_variants)), \ ! march?armv7-r+fp.sp=march?armv7-r$(ARCH)) MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \ march?armv5te+fp=march?$(ARCH)+fp) ! # Map v8-r down onto common v7 code or v7-r sp. MULTILIB_MATCHES += march?armv7=march?armv8-r MULTILIB_MATCHES += $(foreach ARCH, $(v8_r_nosimd_variants), \ march?armv7=march?armv8-r$(ARCH)) MULTILIB_MATCHES += $(foreach ARCH,+simd +crypto, \ march?armv7+fp=march?armv8-r$(ARCH) \ march?armv7+fp=march?armv8-r+crc$(ARCH)) ! MULTILIB_MATCHES += march?armv7-r+fp.sp=march?armv8-r+fp.sp ! MULTILIB_MATCHES += march?armv7-r+fp.sp=march?armv8-r+crc+fp.sp ifeq (,$(HAS_APROFILE)) # Map all v7-a + MULTILIB_MATCHES += march?armv7=march?armv7-a + + MULTILIB_MATCHES += $(foreach ARCH, $(v7_a_arch_variants), \ + march?armv7=march?armv7-a$(ARCH)) + MULTILIB_MATCHES += $(foreach ARCH, $(v7_a_nosimd_variants) $(v7_a_simd_variants), \ march?armv7+fp=march?armv7-a$(ARCH)) + MULTILIB_MATCHES += $(foreach ARCHVAR, $(v7_a_arch_variants), \ + $(foreach ARCH, $(v7_a_nosimd_variants) $(v7_a_simd_variants), \ + march?armv7+fp=march?armv7-a$(ARCHVAR)$(ARCH))) + MULTILIB_MATCHES += march?armv7=march?armv7ve # ARMv7ve FP/SIMD variants: map down to v7+fp *************** MULTILIB_MATCHES += march?armv7=march?ar *** 172,183 **** MULTILIB_MATCHES += $(foreach ARCH, $(v8_5_a_simd_variants), \ march?armv7+fp=march?armv8.5-a$(ARCH)) # Use Thumb libraries for everything. MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.soft=marm/march.armv7/mfloat-abi.soft MULTILIB_REUSE += $(foreach ABI, hard softfp, \ ! $(foreach ARCH, armv7+fp, \ mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI))) # Softfp but no FP, use the soft-float libraries. --- 194,207 ---- MULTILIB_MATCHES += $(foreach ARCH, $(v8_5_a_simd_variants), \ march?armv7+fp=march?armv8.5-a$(ARCH)) + endif # Not APROFILE. + # Use Thumb libraries for everything. MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.soft=marm/march.armv7/mfloat-abi.soft MULTILIB_REUSE += $(foreach ABI, hard softfp, \ ! $(foreach ARCH, armv7+fp armv7-r+fp\.sp, \ mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI))) # Softfp but no FP, use the soft-float libraries. *************** MULTILIB_REUSE += $(foreach MODE, arm t *** 185,188 **** $(foreach ARCH, armv7, \ mthumb/march.$(ARCH)/mfloat-abi.soft=m$(MODE)/march.$(ARCH)/mfloat-abi.softfp)) - endif # Not APROFILE. --- 209,211 ---- diff -Nrcpad gcc-9.2.0/gcc/config/arm/thumb1.md gcc-9.3.0/gcc/config/arm/thumb1.md *** gcc-9.2.0/gcc/config/arm/thumb1.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/arm/thumb1.md Thu Mar 12 11:07:21 2020 *************** *** 43,48 **** --- 43,83 ---- + (define_insn "thumb1_movsi_symbol_ref" + [(set (match_operand:SI 0 "register_operand" "=l") + (match_operand:SI 1 "general_operand" "")) + ] + "TARGET_THUMB1 + && arm_disable_literal_pool + && GET_CODE (operands[1]) == SYMBOL_REF" + "* + output_asm_insn (\"movs\\t%0, #:upper8_15:%1\", operands); + output_asm_insn (\"lsls\\t%0, #8\", operands); + output_asm_insn (\"adds\\t%0, #:upper0_7:%1\", operands); + output_asm_insn (\"lsls\\t%0, #8\", operands); + output_asm_insn (\"adds\\t%0, #:lower8_15:%1\", operands); + output_asm_insn (\"lsls\\t%0, #8\", operands); + output_asm_insn (\"adds\\t%0, #:lower0_7:%1\", operands); + return \"\"; + " + [(set_attr "length" "14") + (set_attr "conds" "clob")] + ) + + (define_split + [(set (match_operand:SI 0 "register_operand" "") + (match_operand:SI 1 "immediate_operand" ""))] + "TARGET_THUMB1 + && arm_disable_literal_pool + && GET_CODE (operands[1]) == CONST_INT + && !satisfies_constraint_I (operands[1])" + [(clobber (const_int 0))] + " + thumb1_gen_const_int (operands[0], INTVAL (operands[1])); + DONE; + " + ) + (define_insn "*thumb1_adddi3" [(set (match_operand:DI 0 "register_operand" "=l") (plus:DI (match_operand:DI 1 "register_operand" "%0") *************** *** 656,663 **** ) (define_insn "*thumb1_movsi_insn" ! [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,r,l,l,l,>,l, m,*l*h*k") ! (match_operand:SI 1 "general_operand" "l, I,j,J,K,>,l,mi,l,*l*h*k"))] "TARGET_THUMB1 && ( register_operand (operands[0], SImode) || register_operand (operands[1], SImode))" --- 691,698 ---- ) (define_insn "*thumb1_movsi_insn" ! [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,r,l,l,l,>,l, l, m,*l*h*k") ! (match_operand:SI 1 "general_operand" "l, I,j,J,K,>,l,i, mi,l,*l*h*k"))] "TARGET_THUMB1 && ( register_operand (operands[0], SImode) || register_operand (operands[1], SImode))" *************** *** 669,682 **** # ldmia\\t%1, {%0} stmia\\t%0, {%1} ldr\\t%0, %1 str\\t%1, %0 mov\\t%0, %1" ! [(set_attr "length" "2,2,4,4,4,2,2,2,2,2") ! (set_attr "type" "mov_reg,mov_imm,mov_imm,multiple,multiple,load_4,store_4,load_4,store_4,mov_reg") ! (set_attr "pool_range" "*,*,*,*,*,*,*,1018,*,*") ! (set_attr "arch" "t1,t1,v8mb,t1,t1,t1,t1,t1,t1,t1") ! (set_attr "conds" "set,clob,nocond,*,*,nocond,nocond,nocond,nocond,nocond")]) ; Split the load of 64-bit constant into two loads for high and low 32-bit parts respectively ; to see if we can load them in fewer instructions or fewer cycles. --- 704,719 ---- # ldmia\\t%1, {%0} stmia\\t%0, {%1} + movs\\t%0, #:upper8_15:%1; lsls\\t%0, #8; adds\\t%0, #:upper0_7:%1; lsls\\t%0, #8; adds\\t%0, #:lower8_15:%1; lsls\\t%0, #8; adds\\t%0, #:lower0_7:%1 ldr\\t%0, %1 str\\t%1, %0 mov\\t%0, %1" ! [(set_attr "length" "2,2,4,4,4,2,2,14,2,2,2") ! (set_attr "type" "mov_reg,mov_imm,mov_imm,multiple,multiple,load_4,store_4,alu_sreg,load_4,store_4,mov_reg") ! (set_attr "pool_range" "*,*,*,*,*,*,*, *,1018,*,*") ! (set_attr "arch" "t1,t1,v8mb,t1,t1,t1,t1,t1,t1,t1,t1") ! (set_attr "required_for_purecode" "no,no,no,no,no,no,no,yes,no,no,no") ! (set_attr "conds" "set,clob,nocond,*,*,nocond,nocond,nocond,nocond,nocond,nocond")]) ; Split the load of 64-bit constant into two loads for high and low 32-bit parts respectively ; to see if we can load them in fewer instructions or fewer cycles. *************** *** 829,836 **** (set_attr "conds" "clob,nocond,nocond,nocond,nocond,clob")]) (define_insn "*thumb1_movhf" ! [(set (match_operand:HF 0 "nonimmediate_operand" "=l,l,m,*r,*h") ! (match_operand:HF 1 "general_operand" "l,mF,l,*h,*r"))] "TARGET_THUMB1 && ( s_register_operand (operands[0], HFmode) || s_register_operand (operands[1], HFmode))" --- 866,873 ---- (set_attr "conds" "clob,nocond,nocond,nocond,nocond,clob")]) (define_insn "*thumb1_movhf" ! [(set (match_operand:HF 0 "nonimmediate_operand" "=l,l,l,m,*r,*h") ! (match_operand:HF 1 "general_operand" "l, m,F,l,*h,*r"))] "TARGET_THUMB1 && ( s_register_operand (operands[0], HFmode) || s_register_operand (operands[1], HFmode))" *************** *** 855,868 **** } return \"ldrh\\t%0, %1\"; } ! case 2: return \"strh\\t%1, %0\"; default: return \"mov\\t%0, %1\"; } " ! [(set_attr "length" "2") ! (set_attr "type" "mov_reg,load_4,store_4,mov_reg,mov_reg") ! (set_attr "pool_range" "*,1018,*,*,*") ! (set_attr "conds" "clob,nocond,nocond,nocond,nocond")]) ;;; ??? This should have alternatives for constants. (define_insn "*thumb1_movsf_insn" [(set (match_operand:SF 0 "nonimmediate_operand" "=l,l,>,l, m,*r,*h") --- 892,925 ---- } return \"ldrh\\t%0, %1\"; } ! case 2: ! { ! int bits; ! int high; ! rtx ops[3]; ! ! bits = real_to_target (NULL, CONST_DOUBLE_REAL_VALUE (operands[1]), ! HFmode); ! ops[0] = operands[0]; ! high = (bits >> 8) & 0xff; ! ops[1] = GEN_INT (high); ! ops[2] = GEN_INT (bits & 0xff); ! if (high != 0) ! output_asm_insn (\"movs\\t%0, %1\;lsls\\t%0, #8\;adds\\t%0, %2\", ops); ! else ! output_asm_insn (\"movs\\t%0, %2\", ops); ! ! return \"\"; ! } ! case 3: return \"strh\\t%1, %0\"; default: return \"mov\\t%0, %1\"; } " ! [(set_attr "length" "2,2,6,2,2,2") ! (set_attr "type" "mov_reg,load_4,mov_reg,store_4,mov_reg,mov_reg") ! (set_attr "pool_range" "*,1018,*,*,*,*") ! (set_attr "conds" "clob,nocond,nocond,nocond,nocond,nocond")]) ! ;;; ??? This should have alternatives for constants. (define_insn "*thumb1_movsf_insn" [(set (match_operand:SF 0 "nonimmediate_operand" "=l,l,>,l, m,*r,*h") diff -Nrcpad gcc-9.2.0/gcc/config/avr/avr-arch.h gcc-9.3.0/gcc/config/avr/avr-arch.h *** gcc-9.2.0/gcc/config/avr/avr-arch.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/avr/avr-arch.h Thu Mar 12 11:07:21 2020 *************** typedef struct *** 126,131 **** --- 126,134 ---- /* Flash size in bytes. */ int flash_size; + + /* Offset where flash is seen in the RAM address space. */ + int flash_pm_offset; } avr_mcu_t; /* AVR device specific features. diff -Nrcpad gcc-9.2.0/gcc/config/avr/avr-devices.c gcc-9.3.0/gcc/config/avr/avr-devices.c *** gcc-9.2.0/gcc/config/avr/avr-devices.c Fri Mar 8 10:51:28 2019 --- gcc-9.3.0/gcc/config/avr/avr-devices.c Thu Mar 12 11:07:21 2020 *************** avr_texinfo[] = *** 117,128 **** const avr_mcu_t avr_mcu_types[] = { ! #define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE)\ ! { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE }, #include "avr-mcus.def" #undef AVR_MCU /* End of list. */ ! { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0 } }; --- 117,128 ---- const avr_mcu_t avr_mcu_types[] = { ! #define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE, PMOFF) \ ! { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE, PMOFF }, #include "avr-mcus.def" #undef AVR_MCU /* End of list. */ ! { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0, 0 } }; diff -Nrcpad gcc-9.2.0/gcc/config/avr/avr-mcus.def gcc-9.3.0/gcc/config/avr/avr-mcus.def *** gcc-9.2.0/gcc/config/avr/avr-mcus.def Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/avr/avr-mcus.def Thu Mar 12 11:07:21 2020 *************** *** 23,30 **** This will regenerate / update the following source files: ! - $(srcdir)/config/avr/t-multilib ! - $(srcdir)/doc/avr-mmcu.texi After that, rebuild everything and check-in the new sources to the repo. The device list below should be kept in sync with AVR-LibC. --- 23,30 ---- This will regenerate / update the following source files: ! - $(srcdir)/config/avr/t-multilib ! - $(srcdir)/doc/avr-mmcu.texi After that, rebuild everything and check-in the new sources to the repo. The device list below should be kept in sync with AVR-LibC. *************** *** 36,373 **** Before including this file, define a macro: ! AVR_MCU (NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, N_FLASH) where the arguments are the fields of avr_mcu_t: ! NAME Name of the device as specified by -mmcu=. Also ! used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for ! - the name of the device specific specs file ! in -specs=device-specs/spec- ! - the name of the startup file crt.o ! - to link the device library by means of -l ! ARCH Specifies the multilib variant together with AVR_SHORT_SP ! DEV_ATTRIBUTE Specifies the device specific features ! - additional ISA, short SP, errata skip etc., ! MACRO If NULL, this is a core and not a device. If non-NULL, ! supply respective built-in macro. ! DATA_START First address of SRAM, used in -Tdata=. ! TEXT_START First address of Flash, used in -Ttext=. ! FLASH_SIZE Flash size in bytes. "avr2" must be first for the "0" default to work as intended. */ /* Classic, <= 8K. */ ! AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x60000) ! AVR_MCU ("at90s2313", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 0x800) ! AVR_MCU ("at90s2323", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 0x800) ! AVR_MCU ("at90s2333", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 0x800) ! AVR_MCU ("at90s2343", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny22", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny22__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny26", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny26__", 0x0060, 0x0, 0x800) ! AVR_MCU ("at90s4414", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4414__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("at90s4433", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S4433__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("at90s4434", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4434__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("at90s8515", ARCH_AVR2, AVR_ERRATA_SKIP, "__AVR_AT90S8515__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("at90c8534", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90C8534__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("at90s8535", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S8535__", 0x0060, 0x0, 0x2000) /* Classic + MOVW, <= 8K. */ ! AVR_MCU ("avr25", ARCH_AVR25, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000) ! AVR_MCU ("ata5272", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA5272__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("ata6616c", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA6616C__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("attiny13", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny13a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13A__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny2313", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny2313a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313A__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny24", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny24a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24A__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny4313", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny4313__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny44", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny44a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44A__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny441", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny441__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("attiny84", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("attiny84a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84A__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("attiny25", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny25__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny45", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny45__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny85", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny85__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("attiny261", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny261a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261A__", 0x0060, 0x0, 0x800) ! AVR_MCU ("attiny461", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny461a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461A__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny861", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("attiny861a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861A__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("attiny43u", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny43U__", 0x0060, 0x0, 0x1000) ! AVR_MCU ("attiny87", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny87__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("attiny48", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny48__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("attiny88", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny88__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("attiny828", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny828__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("attiny841", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny841__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at86rf401", ARCH_AVR25, AVR_ISA_NONE, "__AVR_AT86RF401__", 0x0060, 0x0, 0x800) /* Classic, > 8K, <= 64K. */ ! AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x6000) ! AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT43USB355__", 0x0060, 0x0, 0x6000) ! AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT76C711__", 0x0060, 0x0, 0x4000) /* Classic, == 128K. */ ! AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x20000) ! AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP, "__AVR_ATmega103__", 0x0060, 0x0, 0x20000) ! AVR_MCU ("at43usb320", ARCH_AVR31, AVR_ISA_NONE, "__AVR_AT43USB320__", 0x0060, 0x0, 0x10000) /* Classic + MOVW + JMP/CALL. */ ! AVR_MCU ("avr35", ARCH_AVR35, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata5505", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA5505__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata6617c", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA6617C__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata664251", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA664251__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("at90usb82", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB82__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90usb162", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB162__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega8u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega8U2__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega16u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega16U2__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega32u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega32U2__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("attiny167", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny167__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000) /* Enhanced, <= 8K. */ ! AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000) ! AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("atmega48", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("atmega48a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48A__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("atmega48p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48P__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("atmega48pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PA__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("atmega48pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PB__", 0x0100, 0x0, 0x1000) ! AVR_MCU ("atmega88", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega88a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88A__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega88p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88P__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega88pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PA__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega88pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PB__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("atmega8515", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8515__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("atmega8535", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8535__", 0x0060, 0x0, 0x2000) ! AVR_MCU ("atmega8hva", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8HVA__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm1", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM1__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm2", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm2b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2B__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm3", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm3b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3B__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000) /* Enhanced, > 8K, <= 64K. */ ! AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000) ! AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x0, 0x10000) ! AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000) ! AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata5795", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000) ! AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000) ! AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000) ! AVR_MCU ("ata8510", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8510__", 0x0200, 0x8000, 0xd000) ! AVR_MCU ("atmega16", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16__", 0x0060, 0x0, 0x4000) ! AVR_MCU ("atmega16a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16A__", 0x0060, 0x0, 0x4000) ! AVR_MCU ("atmega161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega161__", 0x0060, 0x0, 0x4000) ! AVR_MCU ("atmega162", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega162__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega163", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega163__", 0x0060, 0x0, 0x4000) ! AVR_MCU ("atmega164a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164A__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega164p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164P__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega164pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164PA__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega165", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega165a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165A__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega165p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165P__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega165pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165PA__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega168", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega168a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168A__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega168p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168P__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega168pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PA__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega168pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PB__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega169", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega169a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169A__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega169p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169P__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega169pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169PA__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega16hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVB__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega16hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVBREVB__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega16m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16M1__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega16u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16U4__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega32a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32A__", 0x0060, 0x0, 0x8000) ! AVR_MCU ("atmega32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32__", 0x0060, 0x0, 0x8000) ! AVR_MCU ("atmega323", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega323__", 0x0060, 0x0, 0x8000) ! AVR_MCU ("atmega324a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324A__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega324p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega324pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324PA__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega325", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega325a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325A__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega325p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega325pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325PA__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3250", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3250a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250A__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3250p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3250pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250PA__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega328", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega328p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega328pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328PB__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega329", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega329a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329A__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega329p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega329pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329PA__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3290", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3290a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290A__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3290p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290P__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega3290pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290PA__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega32c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32C1__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega32m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32M1__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega32u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U4__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega32u6", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U6__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega406", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega406__", 0x0100, 0x0, 0xa000) ! AVR_MCU ("atmega64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega640", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega640__", 0x0200, 0x0, 0x10000) ! AVR_MCU ("atmega644", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega644a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega644p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644P__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega644pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644PA__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega645", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega645a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega645p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645P__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega6450", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega6450a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega6450p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450P__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega649", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega649a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega649p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649P__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega6490", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega16hva", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega16hva2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA2__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("atmega32hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVB__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("atmega6490a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490A__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega6490p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490P__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64C1__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64M1__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64hve", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64hve2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE2__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("atmega64rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64RFR2__", 0x0200, 0x0, 0x10000) ! AVR_MCU ("atmega644rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644RFR2__", 0x0200, 0x0, 0x10000) ! AVR_MCU ("atmega32hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVBREVB__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("at90can32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN32__", 0x0100, 0x0, 0x8000) ! AVR_MCU ("at90can64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN64__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("at90pwm161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM161__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("at90pwm216", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM216__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("at90pwm316", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM316__", 0x0100, 0x0, 0x4000) ! AVR_MCU ("at90scr100", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90SCR100__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("at90usb646", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB646__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("at90usb647", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB647__", 0x0100, 0x0, 0x10000) ! AVR_MCU ("at94k", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT94K__", 0x0060, 0x0, 0x8000) ! AVR_MCU ("m3000", ARCH_AVR5, AVR_ISA_NONE, "__AVR_M3000__", 0x1000, 0x0, 0x10000) /* Enhanced, == 128K. */ ! AVR_MCU ("avr51", ARCH_AVR51, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x20000) ! AVR_MCU ("atmega128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("atmega128a", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128A__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("atmega1280", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1280__", 0x0200, 0x0, 0x20000) ! AVR_MCU ("atmega1281", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1281__", 0x0200, 0x0, 0x20000) ! AVR_MCU ("atmega1284", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("atmega1284p", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284P__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("atmega128rfa1", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFA1__", 0x0200, 0x0, 0x20000) ! AVR_MCU ("atmega128rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFR2__", 0x0200, 0x0, 0x20000) ! AVR_MCU ("atmega1284rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284RFR2__", 0x0200, 0x0, 0x20000) ! AVR_MCU ("at90can128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90CAN128__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("at90usb1286", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1286__", 0x0100, 0x0, 0x20000) ! AVR_MCU ("at90usb1287", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1287__", 0x0100, 0x0, 0x20000) /* 3-Byte PC. */ ! AVR_MCU ("avr6", ARCH_AVR6, AVR_ISA_NONE, NULL, 0x0200, 0x0, 0x40000) ! AVR_MCU ("atmega2560", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2560__", 0x0200, 0x0, 0x40000) ! AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000) ! AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000) ! AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000) /* Xmega, 16K <= Flash < 64K, RAM <= 64K */ ! AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800) ! AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000) ! AVR_MCU ("atxmega16d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16D4__", 0x2000, 0x0, 0x5000) ! AVR_MCU ("atxmega16e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16E5__", 0x2000, 0x0, 0x5000) ! AVR_MCU ("atxmega32a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32A4__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega32c3", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C3__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega32d3", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D3__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega32d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D4__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega16a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16A4U__", 0x2000, 0x0, 0x5000) ! AVR_MCU ("atxmega16c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16C4__", 0x2000, 0x0, 0x5000) ! AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000) ! AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000) /* Xmega, Flash + RAM < 64K, flash visible in RAM address space */ ! AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000) ! AVR_MCU ("attiny212", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny212__", 0x3f80, 0x0, 0x800) ! AVR_MCU ("attiny214", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny214__", 0x3f80, 0x0, 0x800) ! AVR_MCU ("attiny412", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny412__", 0x3f00, 0x0, 0x1000) ! AVR_MCU ("attiny414", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny414__", 0x3f00, 0x0, 0x1000) ! AVR_MCU ("attiny416", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416__", 0x3f00, 0x0, 0x1000) ! AVR_MCU ("attiny417", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny417__", 0x3f00, 0x0, 0x1000) ! AVR_MCU ("attiny814", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny814__", 0x3e00, 0x0, 0x2000) ! AVR_MCU ("attiny816", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny816__", 0x3e00, 0x0, 0x2000) ! AVR_MCU ("attiny817", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny817__", 0x3e00, 0x0, 0x2000) ! AVR_MCU ("attiny1614", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1614__", 0x3800, 0x0, 0x4000) ! AVR_MCU ("attiny1616", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1616__", 0x3800, 0x0, 0x4000) ! AVR_MCU ("attiny1617", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1617__", 0x3800, 0x0, 0x4000) ! AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000) ! AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000) ! AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000) /* Xmega, 64K < Flash <= 128K, RAM <= 64K */ ! AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64d3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D3__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64a3u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A3U__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64a4u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A4U__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64b1", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B1__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000) /* Xmega, 64K < Flash <= 128K, RAM > 64K */ ! AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000) ! AVR_MCU ("atxmega64a1u", ARCH_AVRXMEGA5, AVR_ISA_RMW, "__AVR_ATxmega64A1U__", 0x2000, 0x0, 0x11000) /* Xmega, 128K < Flash, RAM <= 64K */ ! AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x60000) ! AVR_MCU ("atxmega128a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128A3__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D3__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega192a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192A3__", 0x2000, 0x0, 0x32000) ! AVR_MCU ("atxmega192d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192D3__", 0x2000, 0x0, 0x32000) ! AVR_MCU ("atxmega256a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3B__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3BU__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256D3__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128A3U__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B1__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128b3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B3__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128C3__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128d4", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D4__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega192a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192A3U__", 0x2000, 0x0, 0x32000) ! AVR_MCU ("atxmega192c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192C3__", 0x2000, 0x0, 0x32000) ! AVR_MCU ("atxmega256a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256A3U__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega256c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256C3__", 0x2000, 0x0, 0x42000) ! AVR_MCU ("atxmega384c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega384C3__", 0x2000, 0x0, 0x62000) ! AVR_MCU ("atxmega384d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega384D3__", 0x2000, 0x0, 0x62000) /* Xmega, 128K < Flash, RAM > 64K RAM. */ ! AVR_MCU ("avrxmega7", ARCH_AVRXMEGA7, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128a1", ARCH_AVRXMEGA7, AVR_ISA_NONE, "__AVR_ATxmega128A1__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128a1u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A1U__", 0x2000, 0x0, 0x22000) ! AVR_MCU ("atxmega128a4u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A4U__", 0x2000, 0x0, 0x22000) /* Tiny family */ ! AVR_MCU ("avrtiny", ARCH_AVRTINY, AVR_ISA_NONE, NULL, 0x0040, 0x0, 0x400) ! AVR_MCU ("attiny4", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny4__", 0x0040, 0x0, 0x200) ! AVR_MCU ("attiny5", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny5__", 0x0040, 0x0, 0x200) ! AVR_MCU ("attiny9", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny9__", 0x0040, 0x0, 0x400) ! AVR_MCU ("attiny10", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny10__", 0x0040, 0x0, 0x400) ! AVR_MCU ("attiny20", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny20__", 0x0040, 0x0, 0x800) ! AVR_MCU ("attiny40", ARCH_AVRTINY, AVR_ISA_NONE, "__AVR_ATtiny40__", 0x0040, 0x0, 0x1000) /* Assembler only. */ ! AVR_MCU ("avr1", ARCH_AVR1, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x400) ! AVR_MCU ("at90s1200", ARCH_AVR1, AVR_ISA_NONE, "__AVR_AT90S1200__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny11", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny11__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny12", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny12__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny15", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny15__", 0x0060, 0x0, 0x400) ! AVR_MCU ("attiny28", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny28__", 0x0060, 0x0, 0x800) --- 36,399 ---- Before including this file, define a macro: ! AVR_MCU (NAME, ARCH, ATTR, MACRO, TDATA, TTEXT, FLASH_SIZE, PM_OFFSET) where the arguments are the fields of avr_mcu_t: ! NAME Name of the device as specified by -mmcu=. Also ! used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for ! - the name of the device specific specs file ! in -specs=device-specs/spec- ! - the name of the startup file crt.o ! - the name of the device library to be linked with -l ! ARCH Specifies the multilib variant together with AVR_SHORT_SP ! ATTR Specifies the device specific features ! - additional ISA, short SP, errata skip etc., ! MACRO If NULL, this is a core and not a device. If non-NULL, ! supply respective built-in macro. ! TDATA First address of SRAM, used in -Tdata=. ! TTEXT First address of Flash, used in -Ttext=. ! FLASH_SIZE ! Flash size in bytes. ! ! PM_OFFSET ! Either 0x0 or the offset where flash memory is mirrored ! into the RAM address space accessible by LD, LDD and LDS. ! This is only needed if that value deviates from the ! value for the respective device family. "avr2" must be first for the "0" default to work as intended. */ /* Classic, <= 8K. */ ! AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x60000, 0) ! AVR_MCU ("at90s2313", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("at90s2323", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("at90s2333", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("at90s2343", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny22", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny22__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny26", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny26__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("at90s4414", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4414__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("at90s4433", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S4433__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("at90s4434", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4434__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("at90s8515", ARCH_AVR2, AVR_ERRATA_SKIP, "__AVR_AT90S8515__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("at90c8534", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90C8534__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("at90s8535", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S8535__", 0x0060, 0x0, 0x2000, 0) /* Classic + MOVW, <= 8K. */ ! AVR_MCU ("avr25", ARCH_AVR25, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("ata5272", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA5272__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6616c", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA6616C__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("attiny13", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny13a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13A__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny2313", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny2313a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313A__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny24", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny24a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24A__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny4313", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny4313__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny44", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny44a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44A__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny441", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny441__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("attiny84", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("attiny84a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84A__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("attiny25", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny25__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny45", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny45__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny85", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny85__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("attiny261", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny261a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261A__", 0x0060, 0x0, 0x800, 0) ! AVR_MCU ("attiny461", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny461a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461A__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny861", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("attiny861a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861A__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("attiny43u", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny43U__", 0x0060, 0x0, 0x1000, 0) ! AVR_MCU ("attiny87", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny87__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("attiny48", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny48__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("attiny88", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny88__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("attiny828", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny828__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("attiny841", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny841__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at86rf401", ARCH_AVR25, AVR_ISA_NONE, "__AVR_AT86RF401__", 0x0060, 0x0, 0x800, 0) /* Classic, > 8K, <= 64K. */ ! AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x6000, 0) ! AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT43USB355__", 0x0060, 0x0, 0x6000, 0) ! AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT76C711__", 0x0060, 0x0, 0x4000, 0) /* Classic, == 128K. */ ! AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x20000, 0) ! AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP, "__AVR_ATmega103__", 0x0060, 0x0, 0x20000, 0) ! AVR_MCU ("at43usb320", ARCH_AVR31, AVR_ISA_NONE, "__AVR_AT43USB320__", 0x0060, 0x0, 0x10000, 0) /* Classic + MOVW + JMP/CALL. */ ! AVR_MCU ("avr35", ARCH_AVR35, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata5505", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA5505__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata6617c", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA6617C__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata664251", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA664251__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("at90usb82", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB82__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90usb162", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB162__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega8u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega8U2__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega16u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega16U2__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega32u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega32U2__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("attiny167", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny167__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000, 0) /* Enhanced, <= 8K. */ ! AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("atmega48", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("atmega48a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48A__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("atmega48p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48P__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("atmega48pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PA__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("atmega48pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PB__", 0x0100, 0x0, 0x1000, 0) ! AVR_MCU ("atmega88", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega88a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88A__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega88p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88P__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega88pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PA__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega88pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PB__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("atmega8515", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8515__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("atmega8535", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8535__", 0x0060, 0x0, 0x2000, 0) ! AVR_MCU ("atmega8hva", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8HVA__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm1", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM1__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm2", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm2b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2B__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm3", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm3b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3B__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000, 0) /* Enhanced, > 8K, <= 64K. */ ! AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x0, 0x10000, 0) ! AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000, 0) ! AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata5795", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000, 0) ! AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000, 0) ! AVR_MCU ("ata8510", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8510__", 0x0200, 0x8000, 0xd000, 0) ! AVR_MCU ("atmega16", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16__", 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16A__", 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("atmega161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega161__", 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("atmega162", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega162__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega163", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega163__", 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("atmega164a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164A__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega164p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164P__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega164pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164PA__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega165", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega165a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165A__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega165p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165P__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega165pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165PA__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega168", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega168a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168A__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega168p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168P__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega168pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PA__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega168pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PB__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega169", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega169a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169A__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega169p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169P__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega169pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169PA__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVB__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVBREVB__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16M1__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16U4__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega32a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32A__", 0x0060, 0x0, 0x8000, 0) ! AVR_MCU ("atmega32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32__", 0x0060, 0x0, 0x8000, 0) ! AVR_MCU ("atmega323", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega323__", 0x0060, 0x0, 0x8000, 0) ! AVR_MCU ("atmega324a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324A__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega324p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega324pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324PA__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega325", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega325a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325A__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega325p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega325pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325PA__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3250", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3250a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250A__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3250p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3250pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250PA__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega328", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega328p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega328pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328PB__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega329", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega329a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329A__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega329p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega329pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329PA__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3290", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3290a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290A__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3290p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290P__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega3290pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290PA__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega32c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32C1__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega32m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32M1__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega32u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U4__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega32u6", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U6__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega406", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega406__", 0x0100, 0x0, 0xa000, 0) ! AVR_MCU ("atmega64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega640", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega640__", 0x0200, 0x0, 0x10000, 0) ! AVR_MCU ("atmega644", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega644a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega644p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644P__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega644pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644PA__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega645", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega645a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega645p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645P__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega6450", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega6450a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega6450p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450P__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega649", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega649a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega649p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649P__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega6490", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega16hva", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega16hva2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA2__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("atmega32hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVB__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("atmega6490a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490A__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega6490p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490P__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64C1__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64M1__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64hve", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64hve2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE2__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("atmega64rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64RFR2__", 0x0200, 0x0, 0x10000, 0) ! AVR_MCU ("atmega644rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644RFR2__", 0x0200, 0x0, 0x10000, 0) ! AVR_MCU ("atmega32hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVBREVB__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("at90can32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN32__", 0x0100, 0x0, 0x8000, 0) ! AVR_MCU ("at90can64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN64__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("at90pwm161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM161__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("at90pwm216", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM216__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("at90pwm316", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM316__", 0x0100, 0x0, 0x4000, 0) ! AVR_MCU ("at90scr100", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90SCR100__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("at90usb646", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB646__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("at90usb647", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB647__", 0x0100, 0x0, 0x10000, 0) ! AVR_MCU ("at94k", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT94K__", 0x0060, 0x0, 0x8000, 0) ! AVR_MCU ("m3000", ARCH_AVR5, AVR_ISA_NONE, "__AVR_M3000__", 0x1000, 0x0, 0x10000, 0) /* Enhanced, == 128K. */ ! AVR_MCU ("avr51", ARCH_AVR51, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("atmega128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("atmega128a", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128A__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("atmega1280", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1280__", 0x0200, 0x0, 0x20000, 0) ! AVR_MCU ("atmega1281", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1281__", 0x0200, 0x0, 0x20000, 0) ! AVR_MCU ("atmega1284", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("atmega1284p", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284P__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("atmega128rfa1", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFA1__", 0x0200, 0x0, 0x20000, 0) ! AVR_MCU ("atmega128rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFR2__", 0x0200, 0x0, 0x20000, 0) ! AVR_MCU ("atmega1284rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284RFR2__", 0x0200, 0x0, 0x20000, 0) ! AVR_MCU ("at90can128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90CAN128__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("at90usb1286", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1286__", 0x0100, 0x0, 0x20000, 0) ! AVR_MCU ("at90usb1287", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1287__", 0x0100, 0x0, 0x20000, 0) /* 3-Byte PC. */ ! AVR_MCU ("avr6", ARCH_AVR6, AVR_ISA_NONE, NULL, 0x0200, 0x0, 0x40000, 0) ! AVR_MCU ("atmega2560", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2560__", 0x0200, 0x0, 0x40000, 0) ! AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000, 0) ! AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000, 0) ! AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000, 0) /* Xmega, 16K <= Flash < 64K, RAM <= 64K */ ! AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800, 0) ! AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000, 0) ! AVR_MCU ("atxmega16d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16D4__", 0x2000, 0x0, 0x5000, 0) ! AVR_MCU ("atxmega16e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16E5__", 0x2000, 0x0, 0x5000, 0) ! AVR_MCU ("atxmega32a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32A4__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega32c3", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C3__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega32d3", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D3__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega32d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D4__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega16a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16A4U__", 0x2000, 0x0, 0x5000, 0) ! AVR_MCU ("atxmega16c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16C4__", 0x2000, 0x0, 0x5000, 0) ! AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000, 0) /* Xmega, Flash + RAM < 64K, flash visible in RAM address space */ ! AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000, 0) ! AVR_MCU ("attiny202", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny202__", 0x3f80, 0x0, 0x800, 0x8000) ! AVR_MCU ("attiny204", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny204__", 0x3f80, 0x0, 0x800, 0x8000) ! AVR_MCU ("attiny402", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny402__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny404", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny404__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny406", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny406__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny804", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny804__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny806", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny806__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny807", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny807__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny1604", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1604__", 0x3c00, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny1606", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1606__", 0x3c00, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny1607", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1607__", 0x3c00, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny212", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny212__", 0x3f80, 0x0, 0x800, 0x8000) ! AVR_MCU ("attiny214", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny214__", 0x3f80, 0x0, 0x800, 0x8000) ! AVR_MCU ("attiny412", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny412__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny414", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny414__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny416", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny417", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny417__", 0x3f00, 0x0, 0x1000, 0x8000) ! AVR_MCU ("attiny814", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny814__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny816", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny816__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny817", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny817__", 0x3e00, 0x0, 0x2000, 0x8000) ! AVR_MCU ("attiny1614", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1614__", 0x3800, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny1616", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1616__", 0x3800, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny1617", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1617__", 0x3800, 0x0, 0x4000, 0x8000) ! AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000, 0x8000) ! AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000, 0x8000) ! AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000, 0x8000) ! AVR_MCU ("atmega808", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega808__", 0x3c00, 0x0, 0x2000, 0x4000) ! AVR_MCU ("atmega809", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega809__", 0x3c00, 0x0, 0x2000, 0x4000) ! AVR_MCU ("atmega1608", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1608__", 0x3800, 0x0, 0x4000, 0x4000) ! AVR_MCU ("atmega1609", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1609__", 0x3800, 0x0, 0x4000, 0x4000) ! AVR_MCU ("atmega3208", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3208__", 0x3800, 0x0, 0x8000, 0x4000) ! AVR_MCU ("atmega3209", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3209__", 0x3800, 0x0, 0x8000, 0x4000) ! AVR_MCU ("atmega4808", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4808__", 0x2800, 0x0, 0xc000, 0x4000) ! AVR_MCU ("atmega4809", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4809__", 0x2800, 0x0, 0xc000, 0x4000) /* Xmega, 64K < Flash <= 128K, RAM <= 64K */ ! AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64d3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D3__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64a3u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A3U__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64a4u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A4U__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64b1", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B1__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000, 0) /* Xmega, 64K < Flash <= 128K, RAM > 64K */ ! AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("atxmega64a1u", ARCH_AVRXMEGA5, AVR_ISA_RMW, "__AVR_ATxmega64A1U__", 0x2000, 0x0, 0x11000, 0) /* Xmega, 128K < Flash, RAM <= 64K */ ! AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x60000, 0) ! AVR_MCU ("atxmega128a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128A3__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D3__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega192a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192A3__", 0x2000, 0x0, 0x32000, 0) ! AVR_MCU ("atxmega192d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192D3__", 0x2000, 0x0, 0x32000, 0) ! AVR_MCU ("atxmega256a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3B__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3BU__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256D3__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128A3U__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B1__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128b3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B3__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128C3__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128d4", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D4__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega192a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192A3U__", 0x2000, 0x0, 0x32000, 0) ! AVR_MCU ("atxmega192c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192C3__", 0x2000, 0x0, 0x32000, 0) ! AVR_MCU ("atxmega256a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256A3U__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega256c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256C3__", 0x2000, 0x0, 0x42000, 0) ! AVR_MCU ("atxmega384c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega384C3__", 0x2000, 0x0, 0x62000, 0) ! AVR_MCU ("atxmega384d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega384D3__", 0x2000, 0x0, 0x62000, 0) /* Xmega, 128K < Flash, RAM > 64K RAM. */ ! AVR_MCU ("avrxmega7", ARCH_AVRXMEGA7, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128a1", ARCH_AVRXMEGA7, AVR_ISA_NONE, "__AVR_ATxmega128A1__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128a1u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A1U__", 0x2000, 0x0, 0x22000, 0) ! AVR_MCU ("atxmega128a4u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A4U__", 0x2000, 0x0, 0x22000, 0) /* Tiny family */ ! AVR_MCU ("avrtiny", ARCH_AVRTINY, AVR_ISA_NONE, NULL, 0x0040, 0x0, 0x400, 0) ! AVR_MCU ("attiny4", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny4__", 0x0040, 0x0, 0x200, 0) ! AVR_MCU ("attiny5", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny5__", 0x0040, 0x0, 0x200, 0) ! AVR_MCU ("attiny9", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny9__", 0x0040, 0x0, 0x400, 0) ! AVR_MCU ("attiny10", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny10__", 0x0040, 0x0, 0x400, 0) ! AVR_MCU ("attiny20", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny20__", 0x0040, 0x0, 0x800, 0) ! AVR_MCU ("attiny40", ARCH_AVRTINY, AVR_ISA_NONE, "__AVR_ATtiny40__", 0x0040, 0x0, 0x1000, 0) /* Assembler only. */ ! AVR_MCU ("avr1", ARCH_AVR1, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("at90s1200", ARCH_AVR1, AVR_ISA_NONE, "__AVR_AT90S1200__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny11", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny11__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny12", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny12__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny15", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny15__", 0x0060, 0x0, 0x400, 0) ! AVR_MCU ("attiny28", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny28__", 0x0060, 0x0, 0x800, 0) diff -Nrcpad gcc-9.2.0/gcc/config/avr/avr.c gcc-9.3.0/gcc/config/avr/avr.c *** gcc-9.2.0/gcc/config/avr/avr.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/avr/avr.c Thu Mar 12 11:07:21 2020 *************** avr_out_lpm (rtx_insn *insn, rtx *op, in *** 3797,3809 **** gcc_unreachable(); case 1: ! return avr_asm_len ("%4lpm %0,%a2", xop, plen, 1); case 2: if (REGNO (dest) == REG_Z) ! return avr_asm_len ("%4lpm %5,%a2+" CR_TAB ! "%4lpm %B0,%a2" CR_TAB ! "mov %A0,%5", xop, plen, 3); else { avr_asm_len ("%4lpm %A0,%a2+" CR_TAB --- 3797,3810 ---- gcc_unreachable(); case 1: ! avr_asm_len ("%4lpm %0,%a2", xop, plen, 1); ! break; case 2: if (REGNO (dest) == REG_Z) ! avr_asm_len ("%4lpm %5,%a2+" CR_TAB ! "%4lpm %B0,%a2" CR_TAB ! "mov %A0,%5", xop, plen, 3); else { avr_asm_len ("%4lpm %A0,%a2+" CR_TAB *************** avr_out_lpm (rtx_insn *insn, rtx *op, in *** 3832,3840 **** "%4lpm %B0,%a2+", xop, plen, 2); if (REGNO (dest) == REG_Z - 2) ! return avr_asm_len ("%4lpm %5,%a2+" CR_TAB ! "%4lpm %C0,%a2" CR_TAB ! "mov %D0,%5", xop, plen, 3); else { avr_asm_len ("%4lpm %C0,%a2+" CR_TAB --- 3833,3841 ---- "%4lpm %B0,%a2+", xop, plen, 2); if (REGNO (dest) == REG_Z - 2) ! avr_asm_len ("%4lpm %5,%a2+" CR_TAB ! "%4lpm %C0,%a2" CR_TAB ! "mov %D0,%5", xop, plen, 3); else { avr_asm_len ("%4lpm %C0,%a2+" CR_TAB diff -Nrcpad gcc-9.2.0/gcc/config/avr/avr.opt gcc-9.3.0/gcc/config/avr/avr.opt *** gcc-9.2.0/gcc/config/avr/avr.opt Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/avr/avr.opt Thu Mar 12 11:07:21 2020 *************** Assume that all data in static storage c *** 118,120 **** --- 118,124 ---- nodevicelib Driver Target Report RejectNegative Do not link against the device-specific library lib.a. + + nodevicespecs + Driver Target Report RejectNegative + Do not use the device-specific specs file device-specs/specs-. diff -Nrcpad gcc-9.2.0/gcc/config/avr/driver-avr.c gcc-9.3.0/gcc/config/avr/driver-avr.c *** gcc-9.2.0/gcc/config/avr/driver-avr.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/avr/driver-avr.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 26,33 **** #include "diagnostic.h" #include "tm.h" ! // Remove -nodevicelib from the command line if not needed ! #define X_NODEVLIB "%\n" "#\n" "# will include the desired device header. For ATmega8A the supplement\n" ! "# to *cpp would read\n" "#\n" "# -D__AVR_DEV_LIB_NAME__=m8a\n" "\n"; --- 97,103 ---- "# #include \n" "#\n" "# will include the desired device header. For ATmega8A the supplement\n" ! "# to *cpp_avrlibc would read\n" "#\n" "# -D__AVR_DEV_LIB_NAME__=m8a\n" "\n"; *************** print_mcu (const avr_mcu_t *mcu) *** 140,145 **** --- 132,145 ---- bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL); bool is_arch = mcu->macro == NULL; bool is_device = ! is_arch; + int flash_pm_offset = 0; + + if (arch->flash_pm_offset + && mcu->flash_pm_offset + && mcu->flash_pm_offset != arch->flash_pm_offset) + { + flash_pm_offset = mcu->flash_pm_offset; + } if (is_arch && (ARCH_AVR2 == arch_id *************** print_mcu (const avr_mcu_t *mcu) *** 253,259 **** fprintf (f, "*link_relax:\n\t%s\n\n", LINK_RELAX_SPEC); ! fprintf (f, "*link_arch:\n\t%s\n\n", LINK_ARCH_SPEC); if (is_device) { --- 253,263 ---- fprintf (f, "*link_relax:\n\t%s\n\n", LINK_RELAX_SPEC); ! fprintf (f, "*link_arch:\n\t%s", LINK_ARCH_SPEC); ! if (is_device ! && flash_pm_offset) ! fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); ! fprintf (f, "\n\n"); if (is_device) { *************** print_mcu (const avr_mcu_t *mcu) *** 281,290 **** #if defined (WITH_AVRLIBC) fprintf (f, "%s\n", help_dev_lib_name); #endif // WITH_AVRLIBC fprintf (f, "*cpp:\n"); ! fprintf (f, "\t-D%s -D__AVR_DEVICE_NAME__=%s", mcu->macro, mcu->name); fprintf (f, "\n\n"); } --- 285,310 ---- #if defined (WITH_AVRLIBC) fprintf (f, "%s\n", help_dev_lib_name); + + fprintf (f, "*cpp_avrlibc:\n"); + fprintf (f, "\t-D__AVR_DEVICE_NAME__=%s", mcu->name); + fprintf (f, "\n\n"); #endif // WITH_AVRLIBC + fprintf (f, "*cpp_mcu:\n"); + fprintf (f, "\t-D%s", mcu->macro); + if (flash_pm_offset) + { + fprintf (f, " -U__AVR_PM_BASE_ADDRESS__"); + fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", flash_pm_offset); + } + fprintf (f, "\n\n"); + fprintf (f, "*cpp:\n"); ! fprintf (f, "\t%%(cpp_mcu)"); ! #if defined (WITH_AVRLIBC) ! fprintf (f, " %%(cpp_avrlibc)"); ! #endif // WITH_AVRLIBC fprintf (f, "\n\n"); } diff -Nrcpad gcc-9.2.0/gcc/config/avr/gen-avr-mmcu-texi.c gcc-9.3.0/gcc/config/avr/gen-avr-mmcu-texi.c *** gcc-9.2.0/gcc/config/avr/gen-avr-mmcu-texi.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/avr/gen-avr-mmcu-texi.c Thu Mar 12 11:07:21 2020 *************** *** 25,32 **** #include "avr-devices.c" ! static const char* ! mcu_name[sizeof avr_mcu_types / sizeof avr_mcu_types[0]]; static int letter (char c) { --- 25,32 ---- #include "avr-devices.c" ! static const avr_mcu_t* ! mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]]; static int letter (char c) { *************** static int digit (char c) *** 39,62 **** } static int comparator (const void *va, const void *vb) { ! const char *a = *(const char* const*) va; ! const char *b = *(const char* const*) vb; while (*a && *b) { ! /* Make letters smaller than digits so that `atmega16a' follows ! `atmega16' without `atmega161' etc. between them. */ ! ! if (letter (*a) && digit (*b)) ! return -1; ! ! if (digit (*a) && letter (*b)) ! return 1; if (*a != *b) ! return *a - *b; a++; b++; --- 39,121 ---- } static int + str_prefix_p (const char *str, const char *prefix) + { + return strncmp (str, prefix, strlen (prefix)) == 0; + } + + + /* Used by string comparator to group MCUs by their + name prefix like "attiny" or "atmega". */ + + static int + c_prefix (const char *str) + { + static const char *const prefixes[] = + { + "attiny", "atmega", "atxmega", "ata", "at90" + }; + + int i, n = (int) (sizeof (prefixes) / sizeof (*prefixes)); + + for (i = 0; i < n; i++) + if (str_prefix_p (str, prefixes[i])) + return i; + + return n; + } + + + /* If A starts a group of digits, return their value as a number. */ + + static int + c_number (const char *a) + { + int val = 0; + + if (digit (*a) && ! digit (*(a-1))) + { + while (digit (*a)) + val = 10 * val + (*a++) - '0'; + } + + return val; + } + + + /* Compare two MCUs and order them for easy lookup. */ + + static int comparator (const void *va, const void *vb) { ! const avr_mcu_t *mcu_a = *(const avr_mcu_t* const*) va; ! const avr_mcu_t *mcu_b = *(const avr_mcu_t* const*) vb; ! const char *a = mcu_a->name; ! const char *b = mcu_b->name; ! ! // First, group MCUs according to their pure-letter prefix. ! ! int c = c_prefix (a) - c_prefix (b); ! if (c) ! return c; ! ! // Second, if their prefixes are the same, group according to ! // their flash size. ! ! c = (int) mcu_a->flash_size - (int) mcu_b->flash_size; ! if (c) ! return c; ! ! // Third, group according to aligned groups of digits. while (*a && *b) { ! c = c_number (a) - c_number (b); ! if (c) ! return c; if (*a != *b) ! return *a - *b; a++; b++; *************** print_mcus (size_t n_mcus) *** 74,94 **** if (!n_mcus) return; ! qsort (mcu_name, n_mcus, sizeof (char*), comparator); printf ("@*@var{mcu}@tie{}="); for (i = 0; i < n_mcus; i++) { ! printf (" @code{%s}%s", mcu_name[i], i == n_mcus-1 ? ".\n\n" : ","); ! if (i && !strcmp (mcu_name[i], mcu_name[i-1])) ! { ! /* Sanity-check: Fail on devices that are present more than once. */ ! duplicate = 1; ! fprintf (stderr, "error: duplicate device: %s\n", mcu_name[i]); ! } } if (duplicate) --- 133,153 ---- if (!n_mcus) return; ! qsort (mcus, n_mcus, sizeof (avr_mcu_t*), comparator); printf ("@*@var{mcu}@tie{}="); for (i = 0; i < n_mcus; i++) { ! printf (" @code{%s}%s", mcus[i]->name, i == n_mcus-1 ? ".\n\n" : ","); ! if (i && !strcmp (mcus[i]->name, mcus[i-1]->name)) ! { ! // Sanity-check: Fail on devices that are present more than once. ! duplicate = 1; ! fprintf (stderr, "error: duplicate device: %s\n", mcus[i]->name); ! } } if (duplicate) *************** int main (void) *** 104,116 **** printf ("@c Copyright (C) 2012-2019 Free Software Foundation, Inc.\n"); printf ("@c This is part of the GCC manual.\n"); printf ("@c For copying conditions, see the file " ! "gcc/doc/include/fdl.texi.\n\n"); printf ("@c This file is generated automatically using\n"); printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n"); ! printf ("@c gcc/config/avr/avr-arch.h\n"); ! printf ("@c gcc/config/avr/avr-devices.c\n"); ! printf ("@c gcc/config/avr/avr-mcus.def\n\n"); printf ("@c Please do not edit manually.\n\n"); --- 163,175 ---- printf ("@c Copyright (C) 2012-2019 Free Software Foundation, Inc.\n"); printf ("@c This is part of the GCC manual.\n"); printf ("@c For copying conditions, see the file " ! "gcc/doc/include/fdl.texi.\n\n"); printf ("@c This file is generated automatically using\n"); printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n"); ! printf ("@c gcc/config/avr/avr-arch.h\n"); ! printf ("@c gcc/config/avr/avr-devices.c\n"); ! printf ("@c gcc/config/avr/avr-mcus.def\n\n"); printf ("@c Please do not edit manually.\n\n"); *************** int main (void) *** 119,140 **** for (mcu = avr_mcu_types; mcu->name; mcu++) { if (mcu->macro == NULL) ! { ! arch_id = mcu->arch_id; ! ! /* Start a new architecture: Flush the MCUs collected so far. */ ! print_mcus (n_mcus); ! n_mcus = 0; ! for (i = 0; i < sizeof (avr_texinfo) / sizeof (*avr_texinfo); i++) ! if (arch_id == avr_texinfo[i].arch_id) ! printf ("@item %s\n%s\n", mcu->name, avr_texinfo[i].texinfo); ! } else if (arch_id == (enum avr_arch_id) mcu->arch_id) ! { ! mcu_name[n_mcus++] = mcu->name; ! } } print_mcus (n_mcus); --- 178,198 ---- for (mcu = avr_mcu_types; mcu->name; mcu++) { if (mcu->macro == NULL) ! { ! arch_id = mcu->arch_id; ! // Start a new architecture: Flush the MCUs collected so far. ! print_mcus (n_mcus); ! n_mcus = 0; ! for (i = 0; i < sizeof (avr_texinfo) / sizeof (*avr_texinfo); i++) ! if (arch_id == avr_texinfo[i].arch_id) ! printf ("@item %s\n%s\n", mcu->name, avr_texinfo[i].texinfo); ! } else if (arch_id == (enum avr_arch_id) mcu->arch_id) ! { ! mcus[n_mcus++] = mcu; ! } } print_mcus (n_mcus); diff -Nrcpad gcc-9.2.0/gcc/config/darwin-driver.c gcc-9.3.0/gcc/config/darwin-driver.c *** gcc-9.2.0/gcc/config/darwin-driver.c Fri Aug 2 14:54:57 2019 --- gcc-9.3.0/gcc/config/darwin-driver.c Thu Mar 12 11:07:21 2020 *************** darwin_default_min_version (void) *** 210,215 **** --- 210,237 ---- return new_flag; } + /* See if we can find the sysroot from the SDKROOT environment variable. */ + + static const char * + maybe_get_sysroot_from_sdkroot () + { + const char *maybe_sysroot = getenv ("SDKROOT"); + + /* We'll use the same rules as the clang driver, for compatibility. + 1) The path must be absolute + 2) Ignore "/", that is the default anyway and we do not want the + sysroot semantics to be applied to it. + 3) It must exist (actually, we'll check it's readable too). */ + + if (maybe_sysroot == NULL + || *maybe_sysroot != '/' + || strlen (maybe_sysroot) == 1 + || access (maybe_sysroot, R_OK) == -1) + return NULL; + + return xstrndup (maybe_sysroot, strlen (maybe_sysroot)); + } + /* Translate -filelist and -framework options in *DECODED_OPTIONS (size *DECODED_OPTIONS_COUNT) to use -Xlinker so that they are considered to be linker inputs in the case that no other inputs are *************** darwin_driver_init (unsigned int *decode *** 234,239 **** --- 256,262 ---- bool appendM64 = false; const char *vers_string = NULL; bool seen_version_min = false; + bool seen_sysroot_p = false; for (i = 1; i < *decoded_options_count; i++) { *************** darwin_driver_init (unsigned int *decode *** 314,319 **** --- 337,347 ---- --*decoded_options_count; break; + case OPT__sysroot_: + case OPT_isysroot: + seen_sysroot_p = true; + break; + default: break; } *************** darwin_driver_init (unsigned int *decode *** 375,380 **** --- 403,424 ---- &(*decoded_options)[*decoded_options_count - 1]); } + if (! seen_sysroot_p) + { + /* We will pick up an SDKROOT if we didn't specify a sysroot and treat + it as overriding any configure-time --with-sysroot. */ + const char *sdkroot = maybe_get_sysroot_from_sdkroot (); + if (sdkroot) + { + ++*decoded_options_count; + *decoded_options = XRESIZEVEC (struct cl_decoded_option, + *decoded_options, + *decoded_options_count); + generate_option (OPT__sysroot_, sdkroot, 1, CL_DRIVER, + &(*decoded_options)[*decoded_options_count - 1]); + } + } + /* We will need to know the OS X version we're trying to build for here so that we can figure out the mechanism and source for the sysroot to be used. */ diff -Nrcpad gcc-9.2.0/gcc/config/darwin-protos.h gcc-9.3.0/gcc/config/darwin-protos.h *** gcc-9.2.0/gcc/config/darwin-protos.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/darwin-protos.h Thu Mar 12 11:07:21 2020 *************** extern void darwin_set_default_type_attr *** 53,60 **** #endif /* TREE_CODE */ - extern void machopic_finish (FILE *); - extern int machopic_reloc_rw_mask (void); extern section *machopic_select_section (tree, int, unsigned HOST_WIDE_INT); --- 53,58 ---- diff -Nrcpad gcc-9.2.0/gcc/config/darwin.c gcc-9.3.0/gcc/config/darwin.c *** gcc-9.2.0/gcc/config/darwin.c Sat Aug 3 20:05:21 2019 --- gcc-9.3.0/gcc/config/darwin.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 75,89 **** setting the second word in the .non_lazy_symbol_pointer data structure to symbol. See indirect_data for the code that handles the extra indirection, and machopic_output_indirection and its use ! of MACHO_SYMBOL_STATIC for the code that handles @code{static} symbol indirection. */ - /* For darwin >= 9 (OSX 10.5) the linker is capable of making the necessary - branch islands and we no longer need to emit darwin stubs. - However, if we are generating code for earlier systems (or for use in the - kernel) the stubs might still be required, and this will be set true. */ - int darwin_emit_branch_islands = false; - typedef struct GTY(()) cdtor_record { rtx symbol; int priority; /* [con/de]structor priority */ --- 75,83 ---- setting the second word in the .non_lazy_symbol_pointer data structure to symbol. See indirect_data for the code that handles the extra indirection, and machopic_output_indirection and its use ! of MACHO_SYMBOL_FLAG_STATIC for the code that handles @code{static} symbol indirection. */ typedef struct GTY(()) cdtor_record { rtx symbol; int priority; /* [con/de]structor priority */ *************** int generating_for_darwin_version ; *** 105,110 **** --- 99,108 ---- for weak or single-definition items. */ static bool ld_uses_coal_sects = false; + /* Very old (ld_classic) linkers need a symbol to mark the start of + each FDE. */ + static bool ld_needs_eh_markers = false; + /* Section names. */ section * darwin_sections[NUM_DARWIN_SECTIONS]; *************** name_needs_quotes (const char *name) *** 250,256 **** int machopic_symbol_defined_p (rtx sym_ref) { ! if (SYMBOL_REF_FLAGS (sym_ref) & MACHO_SYMBOL_FLAG_DEFINED) return true; /* If a symbol references local and is not an extern to this --- 248,254 ---- int machopic_symbol_defined_p (rtx sym_ref) { ! if (MACHO_SYMBOL_DEFINED_P (sym_ref)) return true; /* If a symbol references local and is not an extern to this *************** machopic_symbol_defined_p (rtx sym_ref) *** 259,265 **** { /* If the symbol references a variable and the variable is a common symbol, then this symbol is not defined. */ ! if (SYMBOL_REF_FLAGS (sym_ref) & MACHO_SYMBOL_FLAG_VARIABLE) { tree decl = SYMBOL_REF_DECL (sym_ref); if (!decl) --- 257,263 ---- { /* If the symbol references a variable and the variable is a common symbol, then this symbol is not defined. */ ! if (MACHO_SYMBOL_VARIABLE_P (sym_ref)) { tree decl = SYMBOL_REF_DECL (sym_ref); if (!decl) *************** typedef struct GTY ((for_user)) machopic *** 455,460 **** --- 453,465 ---- bool stub_p; /* True iff this stub or pointer has been referenced. */ bool used; + /* True iff a non-lazy symbol pointer should be emitted into the .data + section, rather than the non-lazy symbol pointers section. The cases + for which this occurred seem to have been unintentional, and later + toolchains emit all of the indirections to the 'usual' section. We + are keeping this in case it is necessary to preserve compatibility with + older toolchains. */ + bool nlsp_in_data_section; } machopic_indirection; struct indirection_hasher : ggc_ptr_hash *************** indirection_hasher::equal (machopic_indi *** 489,495 **** /* Return the name of the non-lazy pointer (if STUB_P is false) or stub (if STUB_B is true) corresponding to the given name. ! If we have a situation like: global_weak_symbol: .... --- 494,500 ---- /* Return the name of the non-lazy pointer (if STUB_P is false) or stub (if STUB_B is true) corresponding to the given name. ! PR71767 - If we have a situation like: global_weak_symbol: .... *************** Lnon_weak_local: *** 498,533 **** ld64 will be unable to split this into two atoms (because the "L" makes the second symbol 'invisible'). This means that legitimate direct accesses ! to the second symbol will appear to be non-allowed direct accesses to an ! atom of type weak, global which are not allowed. ! ! To avoid this, we make the indirections have a leading 'l' (lower-case L) ! which has a special meaning: linker can see this and use it to determine ! atoms, but it is not placed into the final symbol table. ! The implementation here is somewhat heavy-handed in that it will also mark ! indirections to the __IMPORT,__pointers section the same way which is ! really unnecessary, since ld64 _can_ split those into atoms as they are ! fixed size. FIXME: determine if this is a penalty worth extra code to ! fix. */ const char * machopic_indirection_name (rtx sym_ref, bool stub_p) { - char *buffer; const char *name = XSTR (sym_ref, 0); ! size_t namelen = strlen (name); ! machopic_indirection *p; ! bool needs_quotes; ! const char *suffix; ! char L_or_l = 'L'; ! const char *prefix = user_label_prefix; ! const char *quote = ""; ! tree id; ! ! id = maybe_get_identifier (name); if (id) { tree id_orig = id; --- 503,524 ---- ld64 will be unable to split this into two atoms (because the "L" makes the second symbol 'invisible'). This means that legitimate direct accesses ! to the second symbol will appear to be direct accesses to an atom of type ! weak, global which are not allowed. ! To avoid this, we make any data-section indirections have a leading 'l' ! (lower-case L) which has a special meaning: linker can see this and use ! it to determine atoms, but it is not placed into the final symbol table. + Symbols in the non-lazy symbol pointers section (or stubs) do not have this + problem because ld64 already knows the size of each entry. */ const char * machopic_indirection_name (rtx sym_ref, bool stub_p) { const char *name = XSTR (sym_ref, 0); ! tree id = maybe_get_identifier (name); if (id) { tree id_orig = id; *************** machopic_indirection_name (rtx sym_ref, *** 535,577 **** while (IDENTIFIER_TRANSPARENT_ALIAS (id)) id = TREE_CHAIN (id); if (id != id_orig) ! { ! name = IDENTIFIER_POINTER (id); ! namelen = strlen (name); ! } } if (name[0] == '*') { prefix = ""; ++name; - --namelen; } ! needs_quotes = name_needs_quotes (name); ! if (needs_quotes) ! { ! quote = "\""; ! } ! ! if (stub_p) ! suffix = STUB_SUFFIX; ! else ! { ! suffix = NON_LAZY_POINTER_SUFFIX; ! /* Let the linker see this. */ ! L_or_l = 'l'; ! } ! buffer = XALLOCAVEC (char, 2 /* strlen ("&L") or ("&l") */ ! + strlen (prefix) ! + namelen ! + strlen (suffix) ! + 2 * strlen (quote) ! + 1 /* '\0' */); /* Construct the name of the non-lazy pointer or stub. */ ! sprintf (buffer, "&%s%c%s%s%s%s", quote, L_or_l, prefix, name, suffix, quote); if (!machopic_indirections) machopic_indirections = hash_table::create_ggc (37); --- 526,572 ---- while (IDENTIFIER_TRANSPARENT_ALIAS (id)) id = TREE_CHAIN (id); if (id != id_orig) ! name = IDENTIFIER_POINTER (id); } + const char *prefix = user_label_prefix; + /* If we are emitting the label 'verbatim' then omit the U_L_P and count + the name without the leading '*'. */ if (name[0] == '*') { prefix = ""; ++name; } ! /* Here we are undoing a number of causes that placed some indirections ! (apparently erroneously) into the .data section. Specifically, some ! symbols that are ABI mandated indirections and some hidden symbols ! were being placed there - which cause difficulties with later ! versions of ld64. Iff (after these checks) some symbol still gets an ! indirection in the data section, we want to adjust the indirection ! name to be linker visible to deal with PR71767 (notes above). */ ! bool nlsp_in_data_section = ! ! MACHO_SYMBOL_MUST_INDIRECT_P (sym_ref) ! && ! MACHO_SYMBOL_HIDDEN_VIS_P (sym_ref) ! && (machopic_symbol_defined_p (sym_ref) || SYMBOL_REF_LOCAL_P (sym_ref)) ! && ! indirect_data (sym_ref); ! const char *suffix = stub_p ? STUB_SUFFIX : NON_LAZY_POINTER_SUFFIX; ! /* If the indirection is in the data section, let the linker see it. */ ! char L_or_l = (!stub_p && nlsp_in_data_section) ? 'l' : 'L'; ! /* We have mangled symbols with spaces and punctuation which typically ! need surrounding in quotes for the assembler to consume them. */ ! const char *quote = name_needs_quotes (name) ? "\"" : ""; ! char *buffer = XALLOCAVEC (char, 2 /* strlen ("&L") or ("&l") */ ! + strlen (prefix) ! + strlen (name) ! + strlen (suffix) ! + 2 * strlen (quote) ! + 1 /* '\0' */); /* Construct the name of the non-lazy pointer or stub. */ ! sprintf (buffer, "&%s%c%s%s%s%s", quote, L_or_l, prefix, name, ! suffix, quote); if (!machopic_indirections) machopic_indirections = hash_table::create_ggc (37); *************** machopic_indirection_name (rtx sym_ref, *** 580,589 **** = machopic_indirections->find_slot_with_hash (buffer, htab_hash_string (buffer), INSERT); if (*slot) ! { ! p = *slot; ! } else { p = ggc_alloc (); --- 575,583 ---- = machopic_indirections->find_slot_with_hash (buffer, htab_hash_string (buffer), INSERT); + machopic_indirection *p; if (*slot) ! p = *slot; else { p = ggc_alloc (); *************** machopic_indirection_name (rtx sym_ref, *** 591,596 **** --- 585,591 ---- p->ptr_name = xstrdup (buffer); p->stub_p = stub_p; p->used = false; + p->nlsp_in_data_section = nlsp_in_data_section; *slot = p; } *************** machopic_indirect_data_reference (rtx or *** 666,672 **** /* some other cpu -- writeme! */ gcc_unreachable (); } ! else if (defined) { rtx offset = NULL; if (DARWIN_PPC || HAVE_lo_sum) --- 661,667 ---- /* some other cpu -- writeme! */ gcc_unreachable (); } ! else if (defined && ! MACHO_SYMBOL_MUST_INDIRECT_P (orig)) { rtx offset = NULL; if (DARWIN_PPC || HAVE_lo_sum) *************** machopic_indirect_data_reference (rtx or *** 708,713 **** --- 703,709 ---- machopic_indirection_name (orig, /*stub_p=*/false))); SYMBOL_REF_DATA (ptr_ref) = SYMBOL_REF_DATA (orig); + SYMBOL_REF_FLAGS (ptr_ref) |= MACHO_SYMBOL_FLAG_INDIRECTION; ptr_ref = gen_const_mem (Pmode, ptr_ref); machopic_define_symbol (ptr_ref); *************** machopic_indirect_data_reference (rtx or *** 790,796 **** rtx machopic_indirect_call_target (rtx target) { ! if (! darwin_emit_branch_islands) return target; if (GET_CODE (target) != MEM) --- 786,792 ---- rtx machopic_indirect_call_target (rtx target) { ! if (! darwin_symbol_stubs) return target; if (GET_CODE (target) != MEM) *************** machopic_indirect_call_target (rtx targe *** 798,805 **** if (MACHOPIC_INDIRECT && GET_CODE (XEXP (target, 0)) == SYMBOL_REF ! && !(SYMBOL_REF_FLAGS (XEXP (target, 0)) ! & MACHO_SYMBOL_FLAG_DEFINED)) { rtx sym_ref = XEXP (target, 0); const char *stub_name = machopic_indirection_name (sym_ref, --- 794,800 ---- if (MACHOPIC_INDIRECT && GET_CODE (XEXP (target, 0)) == SYMBOL_REF ! && ! MACHO_SYMBOL_DEFINED_P (XEXP (target, 0))) { rtx sym_ref = XEXP (target, 0); const char *stub_name = machopic_indirection_name (sym_ref, *************** machopic_indirect_call_target (rtx targe *** 808,813 **** --- 803,809 ---- XEXP (target, 0) = gen_rtx_SYMBOL_REF (mode, stub_name); SYMBOL_REF_DATA (XEXP (target, 0)) = SYMBOL_REF_DATA (sym_ref); + SYMBOL_REF_FLAGS (XEXP (target, 0)) |= MACHO_SYMBOL_FLAG_INDIRECTION; MEM_READONLY_P (target) = 1; MEM_NOTRAP_P (target) = 1; } *************** machopic_legitimize_pic_address (rtx ori *** 844,850 **** { if (reg == 0) { ! gcc_assert (!reload_in_progress); reg = gen_reg_rtx (Pmode); } --- 840,846 ---- { if (reg == 0) { ! gcc_assert (!lra_in_progress); reg = gen_reg_rtx (Pmode); } *************** machopic_legitimize_pic_address (rtx ori *** 928,934 **** emit_use (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM)); #endif ! if (reload_in_progress) df_set_regs_ever_live (REGNO (pic), true); pic_ref = gen_rtx_PLUS (Pmode, pic, machopic_gen_offset (XEXP (orig, 0))); --- 924,930 ---- emit_use (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM)); #endif ! if (lra_in_progress) df_set_regs_ever_live (REGNO (pic), true); pic_ref = gen_rtx_PLUS (Pmode, pic, machopic_gen_offset (XEXP (orig, 0))); *************** machopic_legitimize_pic_address (rtx ori *** 952,958 **** if (reg == 0) { ! gcc_assert (!reload_in_progress); reg = gen_reg_rtx (Pmode); } --- 948,954 ---- if (reg == 0) { ! gcc_assert (!lra_in_progress); reg = gen_reg_rtx (Pmode); } *************** machopic_legitimize_pic_address (rtx ori *** 998,1004 **** #if 0 emit_use (pic_offset_table_rtx); #endif ! if (reload_in_progress) df_set_regs_ever_live (REGNO (pic), true); pic_ref = gen_rtx_PLUS (Pmode, pic, --- 994,1000 ---- #if 0 emit_use (pic_offset_table_rtx); #endif ! if (lra_in_progress) df_set_regs_ever_live (REGNO (pic), true); pic_ref = gen_rtx_PLUS (Pmode, pic, *************** machopic_legitimize_pic_address (rtx ori *** 1069,1197 **** return pic_ref; } ! /* Output the stub or non-lazy pointer in *SLOT, if it has been used. ! DATA is the FILE* for assembly output. Called from ! htab_traverse. */ int ! machopic_output_indirection (machopic_indirection **slot, FILE *asm_out_file) { machopic_indirection *p = *slot; - rtx symbol; - const char *sym_name; - const char *ptr_name; ! if (!p->used) return 1; ! symbol = p->symbol; ! sym_name = XSTR (symbol, 0); ! ptr_name = p->ptr_name; ! if (p->stub_p) ! { ! char *sym; ! char *stub; ! tree id; ! id = maybe_get_identifier (sym_name); ! if (id) ! { ! tree id_orig = id; ! while (IDENTIFIER_TRANSPARENT_ALIAS (id)) ! id = TREE_CHAIN (id); ! if (id != id_orig) ! sym_name = IDENTIFIER_POINTER (id); ! } ! sym = XALLOCAVEC (char, strlen (sym_name) + 2); ! if (sym_name[0] == '*' || sym_name[0] == '&') ! strcpy (sym, sym_name + 1); ! else if (sym_name[0] == '-' || sym_name[0] == '+') ! strcpy (sym, sym_name); ! else ! sprintf (sym, "%s%s", user_label_prefix, sym_name); ! stub = XALLOCAVEC (char, strlen (ptr_name) + 2); ! if (ptr_name[0] == '*' || ptr_name[0] == '&') ! strcpy (stub, ptr_name + 1); ! else ! sprintf (stub, "%s%s", user_label_prefix, ptr_name); ! machopic_output_stub (asm_out_file, sym, stub); ! } ! else if (! indirect_data (symbol) ! && (machopic_symbol_defined_p (symbol) ! || SYMBOL_REF_LOCAL_P (symbol))) { ! switch_to_section (data_section); ! assemble_align (GET_MODE_ALIGNMENT (Pmode)); ! assemble_label (asm_out_file, ptr_name); ! assemble_integer (gen_rtx_SYMBOL_REF (Pmode, sym_name), ! GET_MODE_SIZE (Pmode), ! GET_MODE_ALIGNMENT (Pmode), 1); } else ! { ! rtx init = const0_rtx; ! switch_to_section (darwin_sections[machopic_nl_symbol_ptr_section]); ! /* Mach-O symbols are passed around in code through indirect ! references and the original symbol_ref hasn't passed through ! the generic handling and reference-catching in ! output_operand, so we need to manually mark weak references ! as such. */ ! if (SYMBOL_REF_WEAK (symbol)) ! { ! tree decl = SYMBOL_REF_DECL (symbol); ! gcc_assert (DECL_P (decl)); ! if (decl != NULL_TREE ! && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl) ! /* Handle only actual external-only definitions, not ! e.g. extern inline code or variables for which ! storage has been allocated. */ ! && !TREE_STATIC (decl)) ! { ! fputs ("\t.weak_reference ", asm_out_file); ! assemble_name (asm_out_file, sym_name); ! fputc ('\n', asm_out_file); ! } ! } ! assemble_name (asm_out_file, ptr_name); ! fprintf (asm_out_file, ":\n"); ! fprintf (asm_out_file, "\t.indirect_symbol "); ! assemble_name (asm_out_file, sym_name); ! fprintf (asm_out_file, "\n"); ! /* Variables that are marked with MACHO_SYMBOL_STATIC need to ! have their symbol name instead of 0 in the second entry of ! the non-lazy symbol pointer data structure when they are ! defined. This allows the runtime to rebind newer instances ! of the translation unit with the original instance of the ! symbol. */ ! if ((SYMBOL_REF_FLAGS (symbol) & MACHO_SYMBOL_STATIC) ! && machopic_symbol_defined_p (symbol)) ! init = gen_rtx_SYMBOL_REF (Pmode, sym_name); ! assemble_integer (init, GET_MODE_SIZE (Pmode), ! GET_MODE_ALIGNMENT (Pmode), 1); } return 1; } ! void machopic_finish (FILE *asm_out_file) { ! if (machopic_indirections) ! machopic_indirections ! ->traverse_noresize (asm_out_file); } int --- 1065,1224 ---- return pic_ref; } ! /* Callbacks to output the stub or non-lazy pointers. ! Each works on the item in *SLOT,if it has been used. ! DATA is the FILE* for assembly output. ! Called from htab_traverses, invoked from machopic_finish(). */ int ! machopic_output_data_section_indirection (machopic_indirection **slot, ! FILE *asm_out_file) { machopic_indirection *p = *slot; ! if (!p->used || !p->nlsp_in_data_section) return 1; ! rtx symbol = p->symbol; ! /* The original symbol name. */ ! const char *sym_name = XSTR (symbol, 0); ! /* The name of the indirection symbol. */ ! const char *ptr_name = p->ptr_name; ! switch_to_section (data_section); ! assemble_align (GET_MODE_ALIGNMENT (Pmode)); ! assemble_label (asm_out_file, ptr_name); ! assemble_integer (gen_rtx_SYMBOL_REF (Pmode, sym_name), ! GET_MODE_SIZE (Pmode), ! GET_MODE_ALIGNMENT (Pmode), 1); ! return 1; ! } ! int ! machopic_output_stub_indirection (machopic_indirection **slot, ! FILE *asm_out_file) ! { ! machopic_indirection *p = *slot; ! if (!p->used || !p->stub_p) ! return 1; ! rtx symbol = p->symbol; ! /* The original symbol name. */ ! const char *sym_name = XSTR (symbol, 0); ! /* The name of the stub symbol. */ ! const char *ptr_name = p->ptr_name; ! tree id = maybe_get_identifier (sym_name); ! if (id) { ! tree id_orig = id; ! ! while (IDENTIFIER_TRANSPARENT_ALIAS (id)) ! id = TREE_CHAIN (id); ! if (id != id_orig) ! sym_name = IDENTIFIER_POINTER (id); } + + char *sym = XALLOCAVEC (char, strlen (sym_name) + 2); + if (sym_name[0] == '*' || sym_name[0] == '&') + strcpy (sym, sym_name + 1); + else if (sym_name[0] == '-' || sym_name[0] == '+') + strcpy (sym, sym_name); else ! sprintf (sym, "%s%s", user_label_prefix, sym_name); ! char *stub = XALLOCAVEC (char, strlen (ptr_name) + 2); ! if (ptr_name[0] == '*' || ptr_name[0] == '&') ! strcpy (stub, ptr_name + 1); ! else ! sprintf (stub, "%s%s", user_label_prefix, ptr_name); ! machopic_output_stub (asm_out_file, sym, stub); ! return 1; ! } ! int ! machopic_output_indirection (machopic_indirection **slot, FILE *asm_out_file) ! { ! machopic_indirection *p = *slot; ! if (!p->used || p->stub_p || p->nlsp_in_data_section) ! return 1; ! rtx symbol = p->symbol; ! /* The original symbol name. */ ! const char *sym_name = XSTR (symbol, 0); ! /* The nonlazy-stub symbol name. */ ! const char *ptr_name = p->ptr_name; ! switch_to_section (darwin_sections[machopic_nl_symbol_ptr_section]); ! /* Mach-O symbols are passed around in code through indirect references and ! the original symbol_ref hasn't passed through the generic handling and ! reference-catching in output_operand, so we need to manually mark weak ! references as such. */ ! ! if (SYMBOL_REF_WEAK (symbol)) ! { ! tree decl = SYMBOL_REF_DECL (symbol); ! gcc_checking_assert (DECL_P (decl)); ! ! if (decl != NULL_TREE ! && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl) ! /* Handle only actual external-only definitions, not ! e.g. extern inline code or variables for which ! storage has been allocated. */ ! && !TREE_STATIC (decl)) ! { ! fputs ("\t.weak_reference ", asm_out_file); ! assemble_name (asm_out_file, sym_name); ! fputc ('\n', asm_out_file); ! } } + assemble_name (asm_out_file, ptr_name); + fprintf (asm_out_file, ":\n"); + + fprintf (asm_out_file, "\t.indirect_symbol "); + assemble_name (asm_out_file, sym_name); + fprintf (asm_out_file, "\n"); + + /* Variables that are marked with MACHO_SYMBOL_FLAG_STATIC need to + have their symbol name instead of 0 in the second entry of + the non-lazy symbol pointer data structure when they are + defined. This allows the runtime to rebind newer instances + of the translation unit with the original instance of the + symbol. */ + + rtx init = const0_rtx; + if (MACHO_SYMBOL_STATIC_P (symbol) && machopic_symbol_defined_p (symbol)) + init = gen_rtx_SYMBOL_REF (Pmode, sym_name); + + assemble_integer (init, GET_MODE_SIZE (Pmode), + GET_MODE_ALIGNMENT (Pmode), 1); + return 1; } ! static void machopic_finish (FILE *asm_out_file) { ! if (!machopic_indirections) ! return; ! ! /* First output an symbol indirections that have been placed into .data ! (we don't expect these now). */ ! machopic_indirections->traverse_noresize ! (asm_out_file); ! ! machopic_indirections->traverse_noresize ! (asm_out_file); ! ! machopic_indirections->traverse_noresize ! (asm_out_file); } int *************** machopic_operand_p (rtx op) *** 1206,1230 **** && XINT (XEXP (op, 0), 1) == UNSPEC_MACHOPIC_OFFSET); } ! /* This function records whether a given name corresponds to a defined ! or undefined function or variable, for machopic_classify_ident to ! use later. */ void ! darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) { ! rtx sym_ref; ! /* Do the standard encoding things first. */ default_encode_section_info (decl, rtl, first); ! if (TREE_CODE (decl) != FUNCTION_DECL && TREE_CODE (decl) != VAR_DECL) return; ! sym_ref = XEXP (rtl, 0); ! if (TREE_CODE (decl) == VAR_DECL) SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_VARIABLE; if (!DECL_EXTERNAL (decl) && (!TREE_PUBLIC (decl) || !DECL_WEAK (decl)) && ! lookup_attribute ("weakref", DECL_ATTRIBUTES (decl)) --- 1233,1283 ---- && XINT (XEXP (op, 0), 1) == UNSPEC_MACHOPIC_OFFSET); } ! /* This function: ! computes and caches a series of flags that characterise the symbol's ! properties that affect Mach-O code gen (including accidental cases ! from older toolchains). ! ! TODO: ! Here we also need to do enough analysis to determine if a symbol's ! name needs to be made linker-visible. This is more tricky - since ! it depends on whether we've previously seen a global weak definition ! in the same section. ! */ void ! darwin_encode_section_info (tree decl, rtx rtl, int first) { ! /* Careful not to prod global register variables. */ ! if (!MEM_P (rtl)) ! return; ! /* Do the standard encoding things first; this sets: ! SYMBOL_FLAG_FUNCTION, ! SYMBOL_FLAG_LOCAL, (binds_local_p) ! TLS_MODEL, SYMBOL_FLAG_SMALL ! SYMBOL_FLAG_EXTERNAL. */ default_encode_section_info (decl, rtl, first); ! if (! VAR_OR_FUNCTION_DECL_P (decl)) return; ! rtx sym_ref = XEXP (rtl, 0); ! if (VAR_P (decl)) SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_VARIABLE; + /* Only really common if there's no initialiser. */ + bool really_common_p = (DECL_COMMON (decl) + && (DECL_INITIAL (decl) == NULL + || (!in_lto_p + && DECL_INITIAL (decl) == error_mark_node))); + + /* For Darwin, if we have specified visibility and it's not the default + that's counted 'hidden'. */ + if (DECL_VISIBILITY_SPECIFIED (decl) + && DECL_VISIBILITY (decl) != VISIBILITY_DEFAULT) + SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_HIDDEN_VIS; + if (!DECL_EXTERNAL (decl) && (!TREE_PUBLIC (decl) || !DECL_WEAK (decl)) && ! lookup_attribute ("weakref", DECL_ATTRIBUTES (decl)) *************** darwin_encode_section_info (tree decl, r *** 1235,1241 **** SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_DEFINED; if (! TREE_PUBLIC (decl)) ! SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_STATIC; } void --- 1288,1300 ---- SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_DEFINED; if (! TREE_PUBLIC (decl)) ! SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_STATIC; ! ! /* Short cut check for Darwin 'must indirect' rules. */ ! if (really_common_p ! || (DECL_WEAK (decl) && ! MACHO_SYMBOL_HIDDEN_VIS_P (sym_ref)) ! || lookup_attribute ("weakref", DECL_ATTRIBUTES (decl))) ! SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_MUST_INDIRECT; } void *************** darwin_mark_decl_preserved (const char * *** 1252,1263 **** } static section * ! darwin_rodata_section (int use_coal, bool zsize) { return (use_coal ? darwin_sections[const_coal_section] : (zsize ? darwin_sections[zobj_const_section] ! : darwin_sections[const_section])); } static section * --- 1311,1323 ---- } static section * ! darwin_rodata_section (int use_coal, bool zsize, int reloc) { return (use_coal ? darwin_sections[const_coal_section] : (zsize ? darwin_sections[zobj_const_section] ! : reloc ? darwin_sections[const_data_section] ! : darwin_sections[const_section])); } static section * *************** machopic_select_section (tree decl, *** 1550,1556 **** case SECCAT_RODATA: case SECCAT_SRODATA: ! base_section = darwin_rodata_section (use_coal, zsize); break; case SECCAT_RODATA_MERGE_STR: --- 1610,1616 ---- case SECCAT_RODATA: case SECCAT_SRODATA: ! base_section = darwin_rodata_section (use_coal, zsize, reloc); break; case SECCAT_RODATA_MERGE_STR: *************** darwin_emit_unwind_label (FILE *file, tr *** 2086,2096 **** static int invok_count = 0; static tree last_fun_decl = NULL_TREE; ! /* We use the linker to emit the .eh labels for Darwin 9 and above. */ ! if (! for_eh || generating_for_darwin_version >= 9) return; ! /* FIXME: This only works when the eh for all sections of a function is emitted at the same time. If that changes, we would need to use a lookup table of some form to determine what to do. Also, we should emit the unadorned label for the partition containing the public label for a --- 2146,2156 ---- static int invok_count = 0; static tree last_fun_decl = NULL_TREE; ! /* Modern linkers can produce distinct FDEs without compiler support. */ ! if (! for_eh || ! ld_needs_eh_markers) return; ! /* FIXME: This only works when the eh for all sections of a function are emitted at the same time. If that changes, we would need to use a lookup table of some form to determine what to do. Also, we should emit the unadorned label for the partition containing the public label for a *************** darwin_override_options (void) *** 3148,3164 **** : (generating_for_darwin_version >= 9) ? 1 : 0); - /* Objective-C family ABI 2 is only valid for next/m64 at present. */ if (global_options_set.x_flag_objc_abi && flag_next_runtime) { ! if (TARGET_64BIT && global_options.x_flag_objc_abi < 2) ! error_at (UNKNOWN_LOCATION, "%<-fobjc-abi-version%> >= 2 must be" ! " used for %<-m64%> targets with" ! " %<-fnext-runtime%>"); ! if (!TARGET_64BIT && global_options.x_flag_objc_abi >= 2) ! error_at (UNKNOWN_LOCATION, "%<-fobjc-abi-version%> >= 2 is not" ! " supported on %<-m32%> targets with" ! " %<-fnext-runtime%>"); } /* Don't emit DWARF3/4 unless specifically selected. This is a --- 3208,3226 ---- : (generating_for_darwin_version >= 9) ? 1 : 0); if (global_options_set.x_flag_objc_abi && flag_next_runtime) { ! if (TARGET_64BIT && global_options.x_flag_objc_abi != 2) ! /* The Objective-C family ABI 2 is the only valid version NeXT/m64. */ ! error_at (UNKNOWN_LOCATION, ! "%<-fobjc-abi-version%> 2 must be used for 64 bit targets" ! " with %<-fnext-runtime%>"); ! else if (!TARGET_64BIT && global_options.x_flag_objc_abi >= 2) ! /* ABI versions 0 and 1 are the only valid versions NeXT/m32. */ ! error_at (UNKNOWN_LOCATION, ! "%<-fobjc-abi-version%> %d is not supported for 32 bit" ! " targets with %<-fnext-runtime%>", ! global_options.x_flag_objc_abi); } /* Don't emit DWARF3/4 unless specifically selected. This is a *************** darwin_override_options (void) *** 3261,3271 **** flag_pic = 2; } ! /* It is assumed that branch island stubs are needed for earlier systems. */ ! if (generating_for_darwin_version < 9) ! darwin_emit_branch_islands = true; ! else ! emit_aligned_common = true; /* Later systems can support aligned common. */ /* The c_dialect...() macros are not available to us here. */ darwin_running_cxx = (strstr (lang_hooks.name, "C++") != 0); --- 3323,3366 ---- flag_pic = 2; } ! /* Linkers >= ld64-62.1 (at least) are capable of making the necessary PIC ! indirections and we no longer need to emit pic symbol stubs. ! However, if we are generating code for earlier ones (or for use in the ! kernel) the stubs might still be required, and this will be set true. ! If the user sets it on or off - then that takes precedence. ! ! Linkers that don't need stubs, don't need the EH symbol markers either. ! */ ! ! if (!global_options_set.x_darwin_symbol_stubs) ! { ! if (darwin_target_linker) ! { ! if (strverscmp (darwin_target_linker, MIN_LD64_OMIT_STUBS) < 0) ! { ! darwin_symbol_stubs = true; ! ld_needs_eh_markers = true; ! } ! } ! else if (generating_for_darwin_version < 9) ! { ! /* If we don't know the linker version and we're targeting an old ! system, we know no better than to assume the use of an earlier ! linker. */ ! darwin_symbol_stubs = true; ! ld_needs_eh_markers = true; ! } ! } ! else if (DARWIN_X86 && darwin_symbol_stubs && TARGET_64BIT) ! { ! inform (input_location, ! "%<-msymbol-stubs%> is not required for 64b code (ignored)"); ! darwin_symbol_stubs = false; ! } ! ! if (generating_for_darwin_version >= 9) ! /* Later systems can support aligned common. */ ! emit_aligned_common = true; /* The c_dialect...() macros are not available to us here. */ darwin_running_cxx = (strstr (lang_hooks.name, "C++") != 0); diff -Nrcpad gcc-9.2.0/gcc/config/darwin.h gcc-9.3.0/gcc/config/darwin.h *** gcc-9.2.0/gcc/config/darwin.h Tue Apr 9 10:27:14 2019 --- gcc-9.3.0/gcc/config/darwin.h Thu Mar 12 11:07:21 2020 *************** extern GTY(()) int darwin_ms_struct; *** 126,131 **** --- 126,149 ---- "%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform} \ %= 10.5 mmacosx-version-min= -pie) }} " + + #define DARWIN_NOPIE_SPEC \ + "%{no-pie|fno-pie|fno-PIE: \ + %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) }" + #define DARWIN_CC1_SPEC \ "%{findirect-virtual-calls: -fapple-kext} %= 10.6 mmacosx-version-min= -no_compact_unwind) " ! ! /* In Darwin linker specs we can put -lcrt0.o and ld will search the library ! path for crt0.o or -lcrtx.a and it will search for for libcrtx.a. As for ! other ports, we can also put xxx.{o,a}%s and get the appropriate complete ! startfile absolute directory. This latter point is important when we want ! to override ld's rule of .dylib being found ahead of .a and the user wants ! the convenience library to be linked. */ ! ! /* The LINK_COMMAND spec is mostly a clone of the standard LINK_COMMAND_SPEC, ! plus precomp, libtool, and fat build additions. In general, random Darwin linker flags should go into LINK_SPEC instead of LINK_COMMAND_SPEC. The command spec is better for specifying the handling of options understood by generic Unix linkers, and for positional arguments like libraries. */ #define LINK_COMMAND_SPEC_A \ "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ %(linker)" \ *************** extern GTY(()) int darwin_ms_struct; *** 190,199 **** %{%:sanitize(address): -lasan } \ %{%:sanitize(undefined): -lubsan } \ %(link_ssp) \ - " DARWIN_EXPORT_DYNAMIC " % 10.5 mmacosx-version-min= -lgcc_s.10.4) \ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ! %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ -lgcc ; \ :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ! %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ -lgcc }" ! /* We specify crt0.o as -lcrt0.o so that ld will search the library path. ! ! crt3.o provides __cxa_atexit on systems that don't have it. Since ! it's only used with C++, which requires passing -shared-libgcc, key ! off that to avoid unnecessarily adding a destructor to every ! powerpc program built. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{Zdynamiclib: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}} \ ! %{!Zdynamiclib:%{Zbundle:%{!static: \ ! %:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \ ! %{fgnu-tm: -lcrttms.o}}} \ %{!Zbundle:%{pg:%{static:-lgcrt0.o} \ %{!static:%{object:-lgcrt0.o} \ %{!object:%{preload:-lgcrt0.o} \ --- 357,398 ---- /* Support -mmacosx-version-min by supplying different (stub) libgcc_s.dylib libraries to link against, and by not linking against libgcc_s on ! earlier-than-10.3.9. If we need exceptions, prior to 10.3.9, then we have ! to link the static eh lib, since there's no shared version on the system. ! Note that by default, except as above, -lgcc_eh is not linked against. ! This is because,in general, we need to unwind through system libraries that ! are linked with the shared unwinder in libunwind (or libgcc_s for 10.4/5). ! The static version of the current libgcc unwinder (which differs from the ! implementation in libunwind.dylib on systems Darwin10 [10.6]+) can be used ! by specifying -static-libgcc. ! ! If libgcc_eh is linked against, it has to be before -lgcc, because it might need symbols from -lgcc. */ + #undef REAL_LIBGCC_SPEC #define REAL_LIBGCC_SPEC \ "%{static-libgcc|static: -lgcc_eh -lgcc; \ ! shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \ ! %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \ ! %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ! %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ -lgcc ; \ :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ! %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ -lgcc }" ! /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{Zdynamiclib: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}} \ ! %{!Zdynamiclib:%{Zbundle:%(darwin_bundle1)} \ %{!Zbundle:%{pg:%{static:-lgcrt0.o} \ %{!static:%{object:-lgcrt0.o} \ %{!object:%{preload:-lgcrt0.o} \ *************** extern GTY(()) int darwin_ms_struct; *** 377,383 **** %{!object:%{preload:-lcrt0.o} \ %{!preload: %(darwin_crt1) \ %(darwin_crt2)}}}}}} \ ! %{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}" /* We want a destructor last in the list. */ #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}" --- 404,410 ---- %{!object:%{preload:-lcrt0.o} \ %{!preload: %(darwin_crt1) \ %(darwin_crt2)}}}}}} \ ! %(darwin_crt3)" /* We want a destructor last in the list. */ #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}" *************** extern GTY(()) int darwin_ms_struct; *** 385,395 **** #define DARWIN_EXTRA_SPECS \ { "darwin_crt1", DARWIN_CRT1_SPEC }, \ ! { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, ! ! #define DARWIN_DYLIB1_SPEC \ ! "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ ! %:version-compare(>< 10.5 10.6 mmacosx-version-min= -ldylib1.10.5.o)" #define DARWIN_CRT1_SPEC \ "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \ --- 412,421 ---- #define DARWIN_EXTRA_SPECS \ { "darwin_crt1", DARWIN_CRT1_SPEC }, \ ! { "darwin_crt2", DARWIN_CRT2_SPEC }, \ ! { "darwin_crt3", DARWIN_CRT3_SPEC }, \ ! { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, \ ! { "darwin_bundle1", DARWIN_BUNDLE1_SPEC }, #define DARWIN_CRT1_SPEC \ "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \ *************** extern GTY(()) int darwin_ms_struct; *** 397,402 **** --- 423,446 ---- %:version-compare(>< 10.6 10.8 mmacosx-version-min= -lcrt1.10.6.o) \ %{fgnu-tm: -lcrttms.o}" + #define DARWIN_CRT2_SPEC "" + + /* crt3.o provides __cxa_atexit on systems that don't have it (and a fix + up for faulty versions on 10.4). Since it's only used with C++, which + requires passing -shared-libgcc, key off that to avoid unnecessarily + adding a destructor to every program built for 10.4 or earlier. */ + + #define DARWIN_CRT3_SPEC \ + "%{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}" + + #define DARWIN_DYLIB1_SPEC \ + "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ + %:version-compare(>< 10.5 10.6 mmacosx-version-min= -ldylib1.10.5.o)" + + #define DARWIN_BUNDLE1_SPEC \ + "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \ + %{fgnu-tm: -lcrttms.o}}" + #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION /* Emit macosx version (but only major). */ #define ASM_MMACOSX_VERSION_MIN_SPEC \ *************** extern GTY(()) section * darwin_sections *** 762,782 **** #undef TARGET_ASM_MARK_DECL_PRESERVED #define TARGET_ASM_MARK_DECL_PRESERVED darwin_mark_decl_preserved ! /* Set on a symbol with SYMBOL_FLAG_FUNCTION or ! MACHO_SYMBOL_FLAG_VARIABLE to indicate that the function or ! variable has been defined in this translation unit. ! When porting Mach-O to new architectures you need to make ! sure these aren't clobbered by the backend. */ ! #define MACHO_SYMBOL_FLAG_VARIABLE (SYMBOL_FLAG_MACH_DEP) ! #define MACHO_SYMBOL_FLAG_DEFINED ((SYMBOL_FLAG_MACH_DEP) << 1) /* Set on a symbol to indicate when fix-and-continue style code generation is being used and the symbol refers to a static symbol that should be rebound from new instances of a translation unit to the original instance of the data. */ ! #define MACHO_SYMBOL_STATIC ((SYMBOL_FLAG_MACH_DEP) << 2) /* Symbolic names for various things we might know about a symbol. */ --- 806,857 ---- #undef TARGET_ASM_MARK_DECL_PRESERVED #define TARGET_ASM_MARK_DECL_PRESERVED darwin_mark_decl_preserved ! /* Any port using this header needs to define the first available ! subtarget symbol bit: SYMBOL_FLAG_SUBT_DEP. */ ! /* Is a variable. */ ! #define MACHO_SYMBOL_FLAG_VARIABLE (SYMBOL_FLAG_SUBT_DEP) ! #define MACHO_SYMBOL_VARIABLE_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_VARIABLE) != 0) ! ! /* Set on a symbol that must be indirected, even when there is a ! definition in the TU. The ABI mandates that common symbols are so ! indirected, as are weak. If 'fix-and-continue' is operational then ! data symbols might also be. */ ! ! #define MACHO_SYMBOL_FLAG_MUST_INDIRECT ((SYMBOL_FLAG_SUBT_DEP) << 1) ! #define MACHO_SYMBOL_MUST_INDIRECT_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_MUST_INDIRECT) != 0) ! ! /* Set on a symbol with SYMBOL_FLAG_FUNCTION or MACHO_SYMBOL_FLAG_VARIABLE ! to indicate that the function or variable is considered defined in this ! translation unit. */ ! ! #define MACHO_SYMBOL_FLAG_DEFINED ((SYMBOL_FLAG_SUBT_DEP) << 2) ! #define MACHO_SYMBOL_DEFINED_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_DEFINED) != 0) ! ! /* Set on a symbol that has specified non-default visibility. */ ! ! #define MACHO_SYMBOL_FLAG_HIDDEN_VIS ((SYMBOL_FLAG_SUBT_DEP) << 3) ! #define MACHO_SYMBOL_HIDDEN_VIS_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_HIDDEN_VIS) != 0) ! ! /* Set on a symbol that is a pic stub or symbol indirection (i.e. the ! L_xxxxx${stub,non_lazy_ptr,lazy_ptr}. */ ! ! #define MACHO_SYMBOL_FLAG_INDIRECTION ((SYMBOL_FLAG_SUBT_DEP) << 5) ! #define MACHO_SYMBOL_INDIRECTION_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_INDIRECTION) != 0) /* Set on a symbol to indicate when fix-and-continue style code generation is being used and the symbol refers to a static symbol that should be rebound from new instances of a translation unit to the original instance of the data. */ ! #define MACHO_SYMBOL_FLAG_STATIC ((SYMBOL_FLAG_SUBT_DEP) << 6) ! #define MACHO_SYMBOL_STATIC_P(RTX) \ ! ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_STATIC) != 0) /* Symbolic names for various things we might know about a symbol. */ *************** extern void darwin_driver_init (unsigned *** 969,976 **** _tested_ version known to support this so far. */ #define MIN_LD64_NO_COAL_SECTS "236.4" #ifndef LD64_VERSION ! #define LD64_VERSION "85.2" #else #define DEF_LD64 LD64_VERSION #endif --- 1044,1055 ---- _tested_ version known to support this so far. */ #define MIN_LD64_NO_COAL_SECTS "236.4" + /* From at least version 62.1, ld64 can build symbol indirection stubs as + needed, and there is no need for the compiler to emit them. */ + #define MIN_LD64_OMIT_STUBS "85.2" + #ifndef LD64_VERSION ! #define LD64_VERSION "62.1" #else #define DEF_LD64 LD64_VERSION #endif diff -Nrcpad gcc-9.2.0/gcc/config/darwin.opt gcc-9.3.0/gcc/config/darwin.opt *** gcc-9.2.0/gcc/config/darwin.opt Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/darwin.opt Thu Mar 12 11:07:21 2020 *************** *** 18,257 **** ; along with GCC; see the file COPYING3. If not see ; . ! ; Various linker options have a -Z added so that they can get to specs ! ; processing without interference. Note that an option name with a ! ; prefix that matches another option name, that also takes an ! ; argument, being mapped to a -Z linker option, needs to be modified ! ; so the prefix is different, otherwise a '*' after the shorter option ! ; will match with the longer one. all_load ! Driver Alias(Zall_load) allowable_client ! Driver Separate Alias(Zallowable_client) arch Driver RejectNegative Separate arch_errors_fatal ! Driver Alias(Zarch_errors_fatal) asm_macosx_version_min= Driver RejectNegative Joined bind_at_load ! Driver Alias(Zbind_at_load) bundle ! Driver Alias(Zbundle) bundle_loader ! Driver Separate Alias(Zbundle_loader) ! dead_strip ! Driver Alias(Zdead_strip) ! dependency-file ! C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs) dylib_file Driver Separate Alias(Zdylib_file) dylinker ! Driver dynamic ! Driver Alias(Zdynamic) dynamiclib ! Driver Alias(Zdynamiclib) exported_symbols_list ! Driver Separate Alias(Zexported_symbols_list) filelist Driver RejectNegative Separate findirect-virtual-calls Driver RejectNegative flat_namespace Driver RejectNegative Alias(Zflat_namespace) force_cpusubtype_ALL Driver RejectNegative Alias(Zforce_cpusubtype_ALL) force_flat_namespace Driver RejectNegative Alias(Zforce_flat_namespace) framework Driver RejectNegative Separate fterminated-vtables Driver RejectNegative gfull Driver RejectNegative gused Driver RejectNegative headerpad_max_install_names ! Driver image_base ! Driver Separate Alias(Zimage_base) init ! Driver Separate Alias(Zinit) install_name ! Driver Separate Alias(Zinstall_name) keep_private_externs ! Driver ! ! mconstant-cfstrings ! Target Report Var(darwin_constant_cfstrings) Init(1) ! Generate compile-time CFString objects. multi_module Driver RejectNegative Alias(Zmulti_module) multiply_defined Driver RejectNegative Separate Alias(Zmultiply_defined) multiply_defined_unused Driver RejectNegative Separate Alias(Zmultiplydefinedunused) no_dead_strip_inits_and_terms ! Driver Alias(Zno_dead_strip_inits_and_terms) nofixprebinding ! Driver nomultidefs ! Driver noprebind ! Driver noseglinkedit ! Driver object ! Driver prebind ! Driver prebind_all_twolevel_modules ! Driver preload ! Driver private_bundle ! Driver pthread ! Driver rdynamic ! Driver seg_addr_table ! Driver Separate Alias(Zseg_addr_table) seg_addr_table_filename ! Driver Separate Alias(Zfn_seg_addr_table_filename) segaddr ! Driver Separate Args(2) Alias(Zsegaddr) seglinkedit ! Driver segs_read_only_addr ! Driver Separate Alias(Zsegs_read_only_addr) segs_read_write_addr ! Driver Separate Alias(Zsegs_read_write_addr) single_module ! Driver Alias(Zsingle_module) twolevel_namespace ! Driver twolevel_namespace_hints ! Driver umbrella ! Driver Separate Alias(Zumbrella) unexported_symbols_list ! Driver Separate Alias(Zunexported_symbols_list) weak_reference_mismatches ! Driver Separate Alias(Zweak_reference_mismatches) whatsloaded ! Driver whyload ! Driver y ! Driver Joined Mach ! Driver ! ! Wnonportable-cfstrings ! Target Report Var(darwin_warn_nonportable_cfstrings) Init(1) Warning ! Warn if constant CFString objects contain non-portable characters. ! ! ; Use new-style pic stubs if this is true, x86 only so far. ! matt-stubs ! Target Report Var(darwin_macho_att_stub) Init(1) ! Generate AT&T-style stubs for Mach-O. ! ! mdynamic-no-pic ! Target Common Report Mask(MACHO_DYNAMIC_NO_PIC) ! Generate code suitable for executables (NOT shared libs). ! ! mfix-and-continue ! Target Report Var(darwin_fix_and_continue) ! Generate code suitable for fast turn around debugging. ! ! ; The Init here is for the convenience of GCC developers, so that cc1 ! ; and cc1plus don't crash if no -mmacosx-version-min is passed. The ! ; driver will always pass a -mmacosx-version-min, so in normal use the ! ; Init is never used. ! mmacosx-version-min= ! Target Joined Report Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION) ! The earliest MacOS X version on which this program will run. ! ! mone-byte-bool ! Target RejectNegative Report Var(darwin_one_byte_bool) ! Set sizeof(bool) to 1. ! ! fapple-kext ! Target Report C++ Var(flag_apple_kext) ! Generate code for darwin loadable kernel extensions. ! ! mkernel ! Target Report Var(flag_mkernel) ! Generate code for the kernel or loadable kernel extensions. ! ! iframework ! Target RejectNegative C ObjC C++ ObjC++ Joined Separate ! -iframework Add to the end of the system framework include path. ! X ! Driver Zall_load Driver --- 18,399 ---- ; along with GCC; see the file COPYING3. If not see ; . ! ; We have a lot of Driver options, many of which are obsolete or very very ! ; rarely used so, to keep this file easier to manage: ! ! ; Please place all Non-driver options first (in alphabetical order), followed ! ; by Driver-only options. ! ! ; Non-driver options. ! ! dependency-file ! C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs) ! ! fapple-kext ! Target Report C++ Var(flag_apple_kext) ! Generate code for darwin loadable kernel extensions. ! ! iframework ! Target RejectNegative C ObjC C++ ObjC++ Joined Separate ! -iframework Add to the end of the system framework include path. ! ! mconstant-cfstrings ! Target Report Var(darwin_constant_cfstrings) Init(1) ! Generate compile-time CFString objects. ! ! Wnonportable-cfstrings ! Target Report Var(darwin_warn_nonportable_cfstrings) Init(1) Warning ! Warn if constant CFString objects contain non-portable characters. ! ! ; Use new-style pic stubs if this is true, x86 only so far. ! matt-stubs ! Target Report Var(darwin_macho_att_stub) Init(1) ! Generate AT&T-style stubs for Mach-O. ! ! mdynamic-no-pic ! Target Common Report Mask(MACHO_DYNAMIC_NO_PIC) ! Generate code suitable for executables (NOT shared libs). ! ! mfix-and-continue ! Target Report Var(darwin_fix_and_continue) ! Generate code suitable for fast turn around debugging. ! ! mkernel ! Target Report Var(flag_mkernel) ! Generate code for the kernel or loadable kernel extensions. ! ! ; The Init here is for the convenience of GCC developers, so that cc1 ! ; and cc1plus don't crash if no -mmacosx-version-min is passed. The ! ; driver will always pass a -mmacosx-version-min, so in normal use the ! ; Init is never used. ! mmacosx-version-min= ! Target RejectNegative Joined Report Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION) ! The earliest MacOS X version on which this program will run. ! ! ; Really, only relevant to PowerPC which has a 4 byte bool by default. ! mone-byte-bool ! Target RejectNegative Report Var(darwin_one_byte_bool) ! Set sizeof(bool) to 1. ! ! msymbol-stubs ! Target Report Var(darwin_symbol_stubs) Init(0) ! Force generation of external symbol indirection stubs. ! ! ; Some code-gen may be improved / adjusted if the linker is sufficiently modern. ! mtarget-linker= ! Target RejectNegative Joined Report Alias(mtarget-linker) ! ! mtarget-linker ! Target RejectNegative Joined Separate Report Var(darwin_target_linker) Init(LD64_VERSION) ! The version of ld64 in use for this toolchain. ! ! ; Driver options. all_load ! Driver RejectNegative Alias(Zall_load) ! Loads all members of archive libraries allowable_client ! Driver RejectNegative Separate Alias(Zallowable_client) ! -allowable_client The output dylib is private to the client(s) named arch Driver RejectNegative Separate + -arch Specify that the output file should be generated for architecture \"name\" arch_errors_fatal ! Driver RejectNegative Alias(Zarch_errors_fatal) ! Mismatches between file architecture and the \"-arch\" are errors instead of warnings asm_macosx_version_min= Driver RejectNegative Joined + The earliest MacOS X version on which this program will run (formatted for the assembler) bind_at_load ! Driver RejectNegative Alias(Zbind_at_load) ! Produce an output file that will bind symbols on load, rather than lazily. bundle ! Driver RejectNegative Alias(Zbundle) ! Produce a Mach-O bundle (file type MH_BUNDLE) bundle_loader ! Driver RejectNegative Separate Alias(Zbundle_loader) ! -bundle_loader Treat \"executable\" (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution ! client_name ! Driver RejectNegative Separate ! -client_name Enable the executable being built to link against a private dylib (using allowable_client) ! compatibility_version ! Driver RejectNegative Separate ! -compatibility_version Set the minimum version for the client interface. Clients must record a greater number than this or the binding will fail at runtime ! ! current_version ! Driver RejectNegative Separate ! -current_version Set the current version for the library. ! ! dead_strip ! Driver RejectNegative Alias(Zdead_strip) ! Remove code and data that is unreachable from any exported symbol (including the entry point) dylib_file Driver Separate Alias(Zdylib_file) dylinker ! Driver RejectNegative ! Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld. ! ! dylinker_install_name ! Driver RejectNegative Separate ! -dylinker_install_name Only used for building dyld. dynamic ! Driver RejectNegative Alias(Zdynamic) ! The default (and opposite of -static), implied by user mode executables, shared libraries and bundles. dynamiclib ! Driver RejectNegative Alias(Zdynamiclib) ! Produce a Mach-O shared library (file type MH_DYLIB), synonym for -shared exported_symbols_list ! Driver RejectNegative Separate Alias(Zexported_symbols_list) ! -exported_symbols_list Global symbols in \"filename\" will be exported from the linked output file, any symbols not mentioned will be treated as hidden. filelist Driver RejectNegative Separate + Supply a list of objects to be linked from a file, rather than the command line findirect-virtual-calls Driver RejectNegative + Used for generating code for some older kernel revisions. flat_namespace Driver RejectNegative Alias(Zflat_namespace) + Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol. force_cpusubtype_ALL Driver RejectNegative Alias(Zforce_cpusubtype_ALL) + For the assembler (and linker) permit any architecture sub-variant to be used without error. force_flat_namespace Driver RejectNegative Alias(Zforce_flat_namespace) + Set the output object such that, on loading, dyld will ignore any two-level information and resolve symbols in the discovery order for loaded libs. framework Driver RejectNegative Separate + -framework The linker should search for the named framework in the framework search path. fterminated-vtables Driver RejectNegative + Used for generating code for some older kernel revisions. gfull Driver RejectNegative + Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\" gused Driver RejectNegative + Abbreviation for \"-g -feliminate-unused-debug-symbols\" headerpad_max_install_names ! Driver RejectNegative ! Automatically adds space for longer path names in load commands (up to MAXPATHLEN) image_base ! Driver RejectNegative Separate Alias(Zimage_base) ! -image_base
Choose a base address for a dylib or bundle. init ! Driver RejectNegative Separate Alias(Zinit) ! -init The symbol \"symbol_name\" will be used as the first initialiser for a dylib. install_name ! Driver RejectNegative Separate Alias(Zinstall_name) ! -install_name Set the install name for a dylib. keep_private_externs ! Driver RejectNegative ! Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported. multi_module Driver RejectNegative Alias(Zmulti_module) + (Obsolete after 10.4) Multi modules are ignored at runtime since MacOS 10.4 multiply_defined Driver RejectNegative Separate Alias(Zmultiply_defined) + (Obsolete after 10.4) -multiply_defined Provided a mechanism for warning about symbols defined in multiple dylibs. multiply_defined_unused Driver RejectNegative Separate Alias(Zmultiplydefinedunused) + (Obsolete after 10.4) -multiply_defined_unused Provided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs. no_dead_strip_inits_and_terms ! Driver RejectNegative Alias(Zno_dead_strip_inits_and_terms) ! (Obsolete) The linker never dead strips these items, so the option is not needed. nofixprebinding ! Driver RejectNegative ! (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an exectuable. nomultidefs ! Driver RejectNegative ! (Obsolete after 10.4) Set MH_NOMULTIDEFS in an umbrella framework. noprebind ! Driver RejectNegative Negative(prebind) ! (Obsolete) LD_PREBIND is no longer supported. noseglinkedit ! Driver RejectNegative Negative(seglinkedit) ! (Obsolete) This is the default. object ! Driver RejectNegative ! ! pagezero_size ! Driver RejectNegative Separate ! -pagezero_size size Allows setting the page 0 size to 4kb for certain special cases. prebind ! Driver RejectNegative Negative(noprebind) ! (Obsolete) LD_PREBIND is no longer supported. prebind_all_twolevel_modules ! Driver RejectNegative ! (Obsolete) LD_PREBIND is no longer supported. preload ! Driver RejectNegative ! Produces a Mach-O file suitable for embedded/ROM use. private_bundle ! Driver RejectNegative ! (Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable. pthread ! Driver RejectNegative rdynamic ! Driver RejectNegative ! Synonym for \"-export-dynamic\" for linker versions that support it. ! ! read_only_relocs ! Driver RejectNegative Separate ! -read_only_relocs This will allow relocs in read-only pages (not advisable). ! ! sectalign ! Driver RejectNegative Separate Args(3) ! -sectalign Set section \"sectname\" in segment \"segname\" to have alignment \"value\" which must be an integral power of two expressed in hexadecimal form. ! ! sectcreate ! Driver RejectNegative Separate Args(3) ! -sectcreate Create section \"sectname\" in segment \"segname\" from the contents of \"file\". ! ! sectobjectsymbols ! Driver RejectNegative Separate Args(2) ! (Obsolete) -sectobjectsymbols Setting a local symbol at the start of a section is no longer supported. ! ! sectorder ! Driver RejectNegative Separate Args(3) ! (Obsolete) -sectorder orderfile Replaced by a more general option \"-order_file\". seg_addr_table ! Driver RejectNegative Separate Alias(Zseg_addr_table) ! -seg_addr_table Specify the base addresses for dynamic libraries, \"file\" contains a line for each library. + ; This is only usable by the ld_classic linker. seg_addr_table_filename ! Driver RejectNegative Separate Alias(Zfn_seg_addr_table_filename) ! (Obsolete, ld_classic only) -seg_addr_table_filename ! ! seg1addr ! Driver RejectNegative Separate ! Synonym for \"image_base\" segaddr ! Driver RejectNegative Separate Args(2) Alias(Zsegaddr) ! -segaddr
Set the base address of segment \"name\" to \"address\" which must be aligned to a page boundary (currently 4kb). ! ! ; This is only usable by the ld_classic linker. ! segcreate ! Driver RejectNegative Separate Args(3) ! (Obsolete, ld_classic only) -sectcreate segname sectname file seglinkedit ! Driver RejectNegative Negative(noseglinkedit) ! (Obsolete) Object files with LINKEDIT sections are no longer supported. ! ! segprot ! Driver RejectNegative Separate Args(3) ! -segprot max_prot init_prot The protection values are \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\". segs_read_only_addr ! Driver RejectNegative Separate Alias(Zsegs_read_only_addr) ! -segs_read_only_addr address Allows specifying the address of the read only portion of a dylib. segs_read_write_addr ! Driver RejectNegative Separate Alias(Zsegs_read_write_addr) ! -segs_read_write_addr address Allows specifying the address of the read/write portion of a dylib. single_module ! Driver RejectNegative Alias(Zsingle_module) ! (Obsolete) This is the default. ! ! sub_library ! Driver RejectNegative Separate ! -sub_library Library named \"name\" will be re-exported (only useful for dylibs). ! ! sub_umbrella ! Driver RejectNegative Separate ! -sub_umbrella Framework named \"name\" will be re-exported (only useful for dylibs). twolevel_namespace ! Driver RejectNegative ! This is the default twolevel_namespace_hints ! Driver RejectNegative ! Specifies content that can speed up dynamic loading when the binaries are unchanged. umbrella ! Driver RejectNegative Separate Alias(Zumbrella) ! -umbrella The specified framework will be re-exported. ! ! undefined ! Driver RejectNegative Separate ! -undefined Specify the handling for undefined symbols (default is error). unexported_symbols_list ! Driver RejectNegative Separate Alias(Zunexported_symbols_list) ! -unexported_symbols_list Don't export global symbols listed in filename. weak_reference_mismatches ! Driver RejectNegative Separate Alias(Zweak_reference_mismatches) ! -weak_reference_mismatches Specifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak. whatsloaded ! Driver RejectNegative ! Logs the object files the linker loads whyload ! Driver RejectNegative ! Logs which symbol(s) caused an object to be loaded. ! ! ;(Obsolete, ignored) Strip symbols starting with "L", this is the default. ! X ! Driver RejectNegative y ! Driver RejectNegative Joined ! (Obsolete, ignored) Old support similar to whyload. Mach ! Driver RejectNegative ! (Obsolete and unhandled by ld64, ignored) ld should produce an executable (only handled by ld_classic). ! ;; These are not "real" options, but placeholders used to hide the real options ! ;; from generic options processing... FIXME: they can be eliminated now. Zall_load Driver *************** Driver Separate *** 343,404 **** Zweak_reference_mismatches Driver Separate - client_name - Driver Separate - - compatibility_version - Driver Separate - - current_version - Driver Separate - - dylinker_install_name - Driver Separate - - pagezero_size - Driver Separate - - read_only_relocs - Driver Separate - - sectalign - Driver Separate Args(3) - - sectcreate - Driver Separate Args(3) - - sectobjectsymbols - Driver Separate Args(2) - - sectorder - Driver Separate Args(3) - - seg1addr - Driver Separate - - segcreate - Driver Separate Args(3) - - segprot - Driver Separate Args(3) - - segs_read_only_addr - Driver Separate - - segs_read_write_addr - Driver Separate - - sub_library - Driver Separate - - sub_umbrella - Driver Separate - - ; Certain aspects of code-gen may be improved / adjusted if the version of ld64 - ; is sufficiently modern. - mtarget-linker - Target RejectNegative Joined Separate Report Var(darwin_target_linker) Init(LD64_VERSION) - The version of ld64 in use for this toolchain. - - undefined - Driver Separate --- 485,487 ---- diff -Nrcpad gcc-9.2.0/gcc/config/darwin10.h gcc-9.3.0/gcc/config/darwin10.h *** gcc-9.2.0/gcc/config/darwin10.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/darwin10.h Thu Mar 12 11:07:21 2020 *************** You should have received a copy of the G *** 18,34 **** along with GCC; see the file COPYING3. If not see . */ ! /* Fix PR41260 by passing -no_compact_unwind on darwin10 and later until ! unwinder in libSystem is fixed to digest new epilog unwinding notes. - Fix PR47558 by linking against libSystem ahead of libgcc_ext. */ #undef LINK_GCC_C_SEQUENCE_SPEC #define LINK_GCC_C_SEQUENCE_SPEC \ ! "%:version-compare(>= 10.6 mmacosx-version-min= -no_compact_unwind) \ ! %{!static:%{!static-libgcc: \ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \ - %{fno-pic|fno-PIC|fno-pie|fno-PIE|fapple-kext|mkernel|static|mdynamic-no-pic: \ - %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) } \ %{!nostdlib:%:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o)} \ %G %{!nolibc:%L}" --- 18,29 ---- along with GCC; see the file COPYING3. If not see . */ ! /* Fix PR47558 by linking against libSystem ahead of libgcc_ext. */ #undef LINK_GCC_C_SEQUENCE_SPEC #define LINK_GCC_C_SEQUENCE_SPEC \ ! "%{!static:%{!static-libgcc: \ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \ %{!nostdlib:%:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o)} \ %G %{!nolibc:%L}" diff -Nrcpad gcc-9.2.0/gcc/config/darwin9.h gcc-9.3.0/gcc/config/darwin9.h *** gcc-9.2.0/gcc/config/darwin9.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/darwin9.h Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 35,46 **** /* Tell collect2 to run dsymutil for us as necessary. */ #define COLLECT_RUN_DSYMUTIL 1 - #undef DARWIN_PIE_SPEC - #define DARWIN_PIE_SPEC \ - "%{fpie|pie|fPIE: \ - %{mdynamic-no-pic: %n'-mdynamic-no-pic' overrides '-pie', '-fpie' or '-fPIE'; \ - :-pie}}" - /* Only ask as for debug data if the debug style is stabs (since as doesn't yet generate dwarf.) */ --- 35,40 ---- diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx2intrin.h gcc-9.3.0/gcc/config/i386/avx2intrin.h *** gcc-9.2.0/gcc/config/i386/avx2intrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx2intrin.h Thu Mar 12 11:07:21 2020 *************** extern __inline __m256i *** 258,264 **** __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi8 (__m256i __A, __m256i __B) { ! return (__m256i) ((__v32qi)__A > (__v32qi)__B); } extern __inline __m256i --- 258,264 ---- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi8 (__m256i __A, __m256i __B) { ! return (__m256i) ((__v32qs)__A > (__v32qs)__B); } extern __inline __m256i *************** _mm256_mask_i64gather_epi32 (__m128i __s *** 1736,1745 **** (int)SCALE) #define _mm_mask_i32gather_ps(SRC, BASE, INDEX, MASK, SCALE) \ ! (__m128) __builtin_ia32_gathersiv4sf ((__v4sf)(__m128d)SRC, \ (float const *)BASE, \ (__v4si)(__m128i)INDEX, \ ! (__v4sf)(__m128d)MASK, \ (int)SCALE) #define _mm256_i32gather_ps(BASE, INDEX, SCALE) \ --- 1736,1745 ---- (int)SCALE) #define _mm_mask_i32gather_ps(SRC, BASE, INDEX, MASK, SCALE) \ ! (__m128) __builtin_ia32_gathersiv4sf ((__v4sf)(__m128)SRC, \ (float const *)BASE, \ (__v4si)(__m128i)INDEX, \ ! (__v4sf)(__m128)MASK, \ (int)SCALE) #define _mm256_i32gather_ps(BASE, INDEX, SCALE) \ *************** _mm256_mask_i64gather_epi32 (__m128i __s *** 1754,1760 **** (__m256) __builtin_ia32_gathersiv8sf ((__v8sf)(__m256)SRC, \ (float const *)BASE, \ (__v8si)(__m256i)INDEX, \ ! (__v8sf)(__m256d)MASK, \ (int)SCALE) #define _mm_i64gather_ps(BASE, INDEX, SCALE) \ --- 1754,1760 ---- (__m256) __builtin_ia32_gathersiv8sf ((__v8sf)(__m256)SRC, \ (float const *)BASE, \ (__v8si)(__m256i)INDEX, \ ! (__v8sf)(__m256)MASK, \ (int)SCALE) #define _mm_i64gather_ps(BASE, INDEX, SCALE) \ *************** _mm256_mask_i64gather_epi32 (__m128i __s *** 1769,1775 **** (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf)(__m128)SRC, \ (float const *)BASE, \ (__v2di)(__m128i)INDEX, \ ! (__v4sf)(__m128d)MASK, \ (int)SCALE) #define _mm256_i64gather_ps(BASE, INDEX, SCALE) \ --- 1769,1775 ---- (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf)(__m128)SRC, \ (float const *)BASE, \ (__v2di)(__m128i)INDEX, \ ! (__v4sf)(__m128)MASK, \ (int)SCALE) #define _mm256_i64gather_ps(BASE, INDEX, SCALE) \ diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx512bitalgintrin.h gcc-9.3.0/gcc/config/i386/avx512bitalgintrin.h *** gcc-9.2.0/gcc/config/i386/avx512bitalgintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx512bitalgintrin.h Thu Mar 12 11:07:21 2020 *************** _mm512_popcnt_epi16 (__m512i __A) *** 61,70 **** extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi8 (__m512i __A, __mmask64 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A, ! (__v64qi) __B, (__mmask64) __U); } --- 61,70 ---- extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi8 (__m512i __W, __mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A, ! (__v64qi) __W, (__mmask64) __U); } *************** _mm512_maskz_popcnt_epi8 (__mmask64 __U, *** 79,88 **** } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi16 (__m512i __A, __mmask32 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A, ! (__v32hi) __B, (__mmask32) __U); } --- 79,88 ---- } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi16 (__m512i __W, __mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A, ! (__v32hi) __W, (__mmask32) __U); } *************** _mm512_mask_bitshuffle_epi64_mask (__mma *** 127,136 **** extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi8 (__m256i __A, __mmask32 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A, ! (__v32qi) __B, (__mmask32) __U); } --- 127,136 ---- extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi8 (__m256i __W, __mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A, ! (__v32qi) __W, (__mmask32) __U); } *************** _mm_popcnt_epi16 (__m128i __A) *** 222,231 **** extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi16 (__m256i __A, __mmask16 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A, ! (__v16hi) __B, (__mmask16) __U); } --- 222,231 ---- extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi16 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A, ! (__v16hi) __W, (__mmask16) __U); } *************** _mm256_maskz_popcnt_epi16 (__mmask16 __U *** 241,250 **** extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi8 (__m128i __A, __mmask16 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A, ! (__v16qi) __B, (__mmask16) __U); } --- 241,250 ---- extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi8 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A, ! (__v16qi) __W, (__mmask16) __U); } *************** _mm_maskz_popcnt_epi8 (__mmask16 __U, __ *** 259,268 **** } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi16 (__m128i __A, __mmask8 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A, ! (__v8hi) __B, (__mmask8) __U); } --- 259,268 ---- } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi16 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A, ! (__v8hi) __W, (__mmask8) __U); } diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx512vbmi2intrin.h gcc-9.3.0/gcc/config/i386/avx512vbmi2intrin.h *** gcc-9.2.0/gcc/config/i386/avx512vbmi2intrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx512vbmi2intrin.h Thu Mar 12 11:07:21 2020 *************** _mm512_maskz_shldi_epi64 (__mmask8 __A, *** 151,200 **** #else #define _mm512_shrdi_epi16(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)(__m512i)(A), \ ! (__v32hi)(__m512i)(B),(int)(C)) #define _mm512_shrdi_epi32(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)(__m512i)(A), \ ! (__v16si)(__m512i)(B),(int)(C)) #define _mm512_mask_shrdi_epi32(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(C), \ ! (__v16si)(__m512i)(D), (int)(E), (__v16si)(__m512i)(A),(__mmask16)(B)) #define _mm512_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(B), \ ! (__v16si)(__m512i)(C),(int)(D), \ ! (__v16si)(__m512i)_mm512_setzero_si512 (), (__mmask16)(A)) #define _mm512_shrdi_epi64(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)(__m512i)(A), \ ! (__v8di)(__m512i)(B),(int)(C)) #define _mm512_mask_shrdi_epi64(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(C), \ ! (__v8di)(__m512i)(D), (int)(E), (__v8di)(__m512i)(A),(__mmask8)(B)) #define _mm512_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(B), \ ! (__v8di)(__m512i)(C),(int)(D), \ ! (__v8di)(__m512i)_mm512_setzero_si512 (), (__mmask8)(A)) #define _mm512_shldi_epi16(A, B, C) \ ((__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)(__m512i)(A), \ ! (__v32hi)(__m512i)(B),(int)(C)) #define _mm512_shldi_epi32(A, B, C) \ ! ((__m512i) __builtin_ia32_vpshld_v16si ((__v16si)(__m512i)(A), \ ! (__v16si)(__m512i)(B),(int)(C)) #define _mm512_mask_shldi_epi32(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(C), \ ! (__v16si)(__m512i)(D), (int)(E), (__v16si)(__m512i)(A),(__mmask16)(B)) #define _mm512_maskz_shldi_epi32(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(B), \ ! (__v16si)(__m512i)(C),(int)(D), \ ! (__v16si)(__m512i)_mm512_setzero_si512 (), (__mmask16)(A)) #define _mm512_shldi_epi64(A, B, C) \ ((__m512i) __builtin_ia32_vpshld_v8di ((__v8di)(__m512i)(A), \ ! (__v8di)(__m512i)(B),(int)(C)) #define _mm512_mask_shldi_epi64(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(C), \ ! (__v8di)(__m512i)(D), (int)(E), (__v8di)(__m512i)(A),(__mmask8)(B)) #define _mm512_maskz_shldi_epi64(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(B), \ ! (__v8di)(__m512i)(C),(int)(D), \ ! (__v8di)(__m512i)_mm512_setzero_si512 (), (__mmask8)(A)) #endif extern __inline __m512i --- 151,218 ---- #else #define _mm512_shrdi_epi16(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)(__m512i)(A), \ ! (__v32hi)(__m512i)(B),(int)(C))) #define _mm512_shrdi_epi32(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)(__m512i)(A), \ ! (__v16si)(__m512i)(B),(int)(C))) #define _mm512_mask_shrdi_epi32(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(C), \ ! (__v16si)(__m512i)(D), \ ! (int)(E), \ ! (__v16si)(__m512i)(A), \ ! (__mmask16)(B))) #define _mm512_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(B), \ ! (__v16si)(__m512i)(C),(int)(D), \ ! (__v16si)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask16)(A))) #define _mm512_shrdi_epi64(A, B, C) \ ((__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)(__m512i)(A), \ ! (__v8di)(__m512i)(B),(int)(C))) #define _mm512_mask_shrdi_epi64(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(C), \ ! (__v8di)(__m512i)(D), (int)(E), \ ! (__v8di)(__m512i)(A), \ ! (__mmask8)(B))) #define _mm512_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(B), \ ! (__v8di)(__m512i)(C),(int)(D), \ ! (__v8di)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask8)(A))) #define _mm512_shldi_epi16(A, B, C) \ ((__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)(__m512i)(A), \ ! (__v32hi)(__m512i)(B),(int)(C))) #define _mm512_shldi_epi32(A, B, C) \ ! ((__m512i) __builtin_ia32_vpshld_v16si ((__v16si)(__m512i)(A), \ ! (__v16si)(__m512i)(B),(int)(C))) #define _mm512_mask_shldi_epi32(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(C), \ ! (__v16si)(__m512i)(D), \ ! (int)(E), \ ! (__v16si)(__m512i)(A), \ ! (__mmask16)(B))) #define _mm512_maskz_shldi_epi32(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(B), \ ! (__v16si)(__m512i)(C),(int)(D), \ ! (__v16si)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask16)(A))) #define _mm512_shldi_epi64(A, B, C) \ ((__m512i) __builtin_ia32_vpshld_v8di ((__v8di)(__m512i)(A), \ ! (__v8di)(__m512i)(B), (int)(C))) #define _mm512_mask_shldi_epi64(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(C), \ ! (__v8di)(__m512i)(D), (int)(E), \ ! (__v8di)(__m512i)(A), \ ! (__mmask8)(B))) #define _mm512_maskz_shldi_epi64(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(B), \ ! (__v8di)(__m512i)(C),(int)(D), \ ! (__v8di)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask8)(A))) #endif extern __inline __m512i *************** _mm512_maskz_shldi_epi16 (__mmask32 __A, *** 474,491 **** #else #define _mm512_mask_shrdi_epi16(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(C), \ ! (__v32hi)(__m512i)(D), (int)(E), (__v32hi)(__m512i)(A),(__mmask32)(B)) #define _mm512_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(B), \ ! (__v32hi)(__m512i)(C),(int)(D), \ ! (__v32hi)(__m512i)_mm512_setzero_si512 (), (__mmask32)(A)) #define _mm512_mask_shldi_epi16(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(C), \ ! (__v32hi)(__m512i)(D), (int)(E), (__v32hi)(__m512i)(A),(__mmask32)(B)) #define _mm512_maskz_shldi_epi16(A, B, C, D) \ ! ((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(B), \ ! (__v32hi)(__m512i)(C),(int)(D), \ ! (__v32hi)(__m512i)_mm512_setzero_si512 (), (__mmask32)(A)) #endif extern __inline __m512i --- 492,519 ---- #else #define _mm512_mask_shrdi_epi16(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(C), \ ! (__v32hi)(__m512i)(D), \ ! (int)(E), \ ! (__v32hi)(__m512i)(A), \ ! (__mmask32)(B))) #define _mm512_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(B), \ ! (__v32hi)(__m512i)(C),(int)(D), \ ! (__v32hi)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask32)(A))) #define _mm512_mask_shldi_epi16(A, B, C, D, E) \ ((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(C), \ ! (__v32hi)(__m512i)(D), \ ! (int)(E), \ ! (__v32hi)(__m512i)(A), \ ! (__mmask32)(B))) #define _mm512_maskz_shldi_epi16(A, B, C, D) \ ! ((__m512i) \ ! __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(B), \ ! (__v32hi)(__m512i)(C),(int)(D), \ ! (__v32hi)(__m512i)_mm512_setzero_si512 (), \ ! (__mmask32)(A))) #endif extern __inline __m512i diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx512vbmi2vlintrin.h gcc-9.3.0/gcc/config/i386/avx512vbmi2vlintrin.h *** gcc-9.2.0/gcc/config/i386/avx512vbmi2vlintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx512vbmi2vlintrin.h Thu Mar 12 11:07:21 2020 *************** _mm_shldi_epi64 (__m128i __A, __m128i __ *** 498,621 **** #else #define _mm256_shrdi_epi16(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v16hi ((__v16hi)(__m256i)(A), \ ! (__v16hi)(__m256i)(B),(int)(C)) #define _mm256_mask_shrdi_epi16(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(C), \ ! (__v16hi)(__m256i)(D), (int)(E), (__v16hi)(__m256i)(A),(__mmask16)(B)) #define _mm256_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(B), \ ! (__v16hi)(__m256i)(C),(int)(D), \ ! (__v16hi)(__m256i)_mm256_setzero_si256 (), (__mmask16)(A)) #define _mm256_shrdi_epi32(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v8si ((__v8si)(__m256i)(A), \ ! (__v8si)(__m256i)(B),(int)(C)) #define _mm256_mask_shrdi_epi32(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(C), \ ! (__v8si)(__m256i)(D), (int)(E), (__v8si)(__m256i)(A),(__mmask8)(B)) #define _mm256_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(B), \ ! (__v8si)(__m256i)(C),(int)(D), \ ! (__v8si)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) #define _mm256_shrdi_epi64(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v4di ((__v4di)(__m256i)(A), \ ! (__v4di)(__m256i)(B),(int)(C)) #define _mm256_mask_shrdi_epi64(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(C), \ ! (__v4di)(__m256i)(D), (int)(E), (__v4di)(__m256i)(A),(__mmask8)(B)) #define _mm256_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(B), \ ! (__v4di)(__m256i)(C),(int)(D), \ ! (__v4di)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) #define _mm_shrdi_epi16(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v8hi ((__v8hi)(__m128i)(A), \ ! (__v8hi)(__m128i)(B),(int)(C)) #define _mm_mask_shrdi_epi16(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(C), \ ! (__v8hi)(__m128i)(D), (int)(E), (__v8hi)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(B), \ ! (__v8hi)(__m128i)(C),(int)(D), \ ! (__v8hi)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #define _mm_shrdi_epi32(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v4si ((__v4si)(__m128i)(A), \ ! (__v4si)(__m128i)(B),(int)(C)) #define _mm_mask_shrdi_epi32(A, B, C, D, E) \ ! ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(C), \ ! (__v4si)(__m128i)(D), (int)(E), (__v4si)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(B), \ ! (__v4si)(__m128i)(C),(int)(D), \ ! (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #define _mm_shrdi_epi64(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v2di ((__v2di)(__m128i)(A), \ ! (__v2di)(__m128i)(B),(int)(C)) #define _mm_mask_shrdi_epi64(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(C), \ ! (__v2di)(__m128i)(D), (int)(E), (__v2di)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(B), \ ! (__v2di)(__m128i)(C),(int)(D), \ ! (__v2di)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #define _mm256_shldi_epi16(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v16hi ((__v16hi)(__m256i)(A), \ ! (__v16hi)(__m256i)(B),(int)(C)) #define _mm256_mask_shldi_epi16(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(C), \ ! (__v16hi)(__m256i)(D), (int)(E), (__v16hi)(__m256i)(A),(__mmask16)(B)) #define _mm256_maskz_shldi_epi16(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(B), \ ! (__v16hi)(__m256i)(C),(int)(D), \ ! (__v16hi)(__m256i)_mm256_setzero_si256 (), (__mmask16)(A)) #define _mm256_shldi_epi32(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v8si ((__v8si)(__m256i)(A), \ ! (__v8si)(__m256i)(B),(int)(C)) #define _mm256_mask_shldi_epi32(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(C), \ ! (__v8si)(__m256i)(D), (int)(E), (__v8si)(__m256i)(A),(__mmask8)(B)) #define _mm256_maskz_shldi_epi32(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(B), \ ! (__v8si)(__m256i)(C),(int)(D), \ ! (__v8si)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) #define _mm256_shldi_epi64(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v4di ((__v4di)(__m256i)(A), \ ! (__v4di)(__m256i)(B),(int)(C)) #define _mm256_mask_shldi_epi64(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(C), \ ! (__v4di)(__m256i)(D), (int)(E), (__v4di)(__m256i)(A),(__mmask8)(B)) #define _mm256_maskz_shldi_epi64(A, B, C, D) \ ! ((__m256i) __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(B), \ ! (__v4di)(__m256i)(C),(int)(D), \ ! (__v4di)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) #define _mm_shldi_epi16(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v8hi ((__v8hi)(__m128i)(A), \ ! (__v8hi)(__m128i)(B),(int)(C)) #define _mm_mask_shldi_epi16(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(C), \ ! (__v8hi)(__m128i)(D), (int)(E), (__v8hi)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shldi_epi16(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(B), \ ! (__v8hi)(__m128i)(C),(int)(D), \ ! (__v8hi)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #define _mm_shldi_epi32(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v4si ((__v4si)(__m128i)(A), \ ! (__v4si)(__m128i)(B),(int)(C)) #define _mm_mask_shldi_epi32(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(C), \ ! (__v4si)(__m128i)(D), (int)(E), (__v4si)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shldi_epi32(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(B), \ ! (__v4si)(__m128i)(C),(int)(D), \ ! (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #define _mm_shldi_epi64(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v2di ((__v2di)(__m128i)(A), \ ! (__v2di)(__m128i)(B),(int)(C)) #define _mm_mask_shldi_epi64(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(C), \ ! (__v2di)(__m128i)(D), (int)(E), (__v2di)(__m128i)(A),(__mmask8)(B)) #define _mm_maskz_shldi_epi64(A, B, C, D) \ ! ((__m128i) __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(B), \ ! (__v2di)(__m128i)(C),(int)(D), \ ! (__v2di)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) #endif extern __inline __m256i --- 498,672 ---- #else #define _mm256_shrdi_epi16(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v16hi ((__v16hi)(__m256i)(A), \ ! (__v16hi)(__m256i)(B),(int)(C))) #define _mm256_mask_shrdi_epi16(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(C), \ ! (__v16hi)(__m256i)(D), \ ! (int)(E), \ ! (__v16hi)(__m256i)(A), \ ! (__mmask16)(B))) #define _mm256_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(B), \ ! (__v16hi)(__m256i)(C),(int)(D), \ ! (__v16hi)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask16)(A))) #define _mm256_shrdi_epi32(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v8si ((__v8si)(__m256i)(A), \ ! (__v8si)(__m256i)(B),(int)(C))) #define _mm256_mask_shrdi_epi32(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(C), \ ! (__v8si)(__m256i)(D), \ ! (int)(E), \ ! (__v8si)(__m256i)(A), \ ! (__mmask8)(B))) #define _mm256_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(B), \ ! (__v8si)(__m256i)(C),(int)(D), \ ! (__v8si)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask8)(A))) #define _mm256_shrdi_epi64(A, B, C) \ ((__m256i) __builtin_ia32_vpshrd_v4di ((__v4di)(__m256i)(A), \ ! (__v4di)(__m256i)(B),(int)(C))) #define _mm256_mask_shrdi_epi64(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(C), \ ! (__v4di)(__m256i)(D), (int)(E), \ ! (__v4di)(__m256i)(A), \ ! (__mmask8)(B))) #define _mm256_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(B), \ ! (__v4di)(__m256i)(C),(int)(D), \ ! (__v4di)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask8)(A))) #define _mm_shrdi_epi16(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v8hi ((__v8hi)(__m128i)(A), \ ! (__v8hi)(__m128i)(B),(int)(C))) #define _mm_mask_shrdi_epi16(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(C), \ ! (__v8hi)(__m128i)(D), (int)(E), \ ! (__v8hi)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shrdi_epi16(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(B), \ ! (__v8hi)(__m128i)(C),(int)(D), \ ! (__v8hi)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #define _mm_shrdi_epi32(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v4si ((__v4si)(__m128i)(A), \ ! (__v4si)(__m128i)(B),(int)(C))) #define _mm_mask_shrdi_epi32(A, B, C, D, E) \ ! ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(C), \ ! (__v4si)(__m128i)(D), (int)(E), \ ! (__v4si)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shrdi_epi32(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(B), \ ! (__v4si)(__m128i)(C),(int)(D), \ ! (__v4si)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #define _mm_shrdi_epi64(A, B, C) \ ((__m128i) __builtin_ia32_vpshrd_v2di ((__v2di)(__m128i)(A), \ ! (__v2di)(__m128i)(B),(int)(C))) #define _mm_mask_shrdi_epi64(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(C), \ ! (__v2di)(__m128i)(D), (int)(E), \ ! (__v2di)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shrdi_epi64(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(B), \ ! (__v2di)(__m128i)(C),(int)(D), \ ! (__v2di)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #define _mm256_shldi_epi16(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v16hi ((__v16hi)(__m256i)(A), \ ! (__v16hi)(__m256i)(B),(int)(C))) #define _mm256_mask_shldi_epi16(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(C), \ ! (__v16hi)(__m256i)(D), \ ! (int)(E), \ ! (__v16hi)(__m256i)(A), \ ! (__mmask16)(B))) #define _mm256_maskz_shldi_epi16(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(B), \ ! (__v16hi)(__m256i)(C),(int)(D), \ ! (__v16hi)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask16)(A))) #define _mm256_shldi_epi32(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v8si ((__v8si)(__m256i)(A), \ ! (__v8si)(__m256i)(B),(int)(C))) #define _mm256_mask_shldi_epi32(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(C), \ ! (__v8si)(__m256i)(D), (int)(E), \ ! (__v8si)(__m256i)(A), \ ! (__mmask8)(B))) #define _mm256_maskz_shldi_epi32(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(B), \ ! (__v8si)(__m256i)(C),(int)(D), \ ! (__v8si)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask8)(A))) #define _mm256_shldi_epi64(A, B, C) \ ((__m256i) __builtin_ia32_vpshld_v4di ((__v4di)(__m256i)(A), \ ! (__v4di)(__m256i)(B),(int)(C))) #define _mm256_mask_shldi_epi64(A, B, C, D, E) \ ((__m256i) __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(C), \ ! (__v4di)(__m256i)(D), (int)(E), \ ! (__v4di)(__m256i)(A), \ ! (__mmask8)(B))) #define _mm256_maskz_shldi_epi64(A, B, C, D) \ ! ((__m256i) \ ! __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(B), \ ! (__v4di)(__m256i)(C),(int)(D), \ ! (__v4di)(__m256i)_mm256_setzero_si256 (), \ ! (__mmask8)(A))) #define _mm_shldi_epi16(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v8hi ((__v8hi)(__m128i)(A), \ ! (__v8hi)(__m128i)(B),(int)(C))) #define _mm_mask_shldi_epi16(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(C), \ ! (__v8hi)(__m128i)(D), (int)(E), \ ! (__v8hi)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shldi_epi16(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(B), \ ! (__v8hi)(__m128i)(C),(int)(D), \ ! (__v8hi)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #define _mm_shldi_epi32(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v4si ((__v4si)(__m128i)(A), \ ! (__v4si)(__m128i)(B),(int)(C))) #define _mm_mask_shldi_epi32(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(C), \ ! (__v4si)(__m128i)(D), (int)(E), \ ! (__v4si)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shldi_epi32(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(B), \ ! (__v4si)(__m128i)(C),(int)(D), \ ! (__v4si)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #define _mm_shldi_epi64(A, B, C) \ ((__m128i) __builtin_ia32_vpshld_v2di ((__v2di)(__m128i)(A), \ ! (__v2di)(__m128i)(B),(int)(C))) #define _mm_mask_shldi_epi64(A, B, C, D, E) \ ((__m128i) __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(C), \ ! (__v2di)(__m128i)(D), (int)(E), \ ! (__v2di)(__m128i)(A), \ ! (__mmask8)(B))) #define _mm_maskz_shldi_epi64(A, B, C, D) \ ! ((__m128i) \ ! __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(B), \ ! (__v2di)(__m128i)(C),(int)(D), \ ! (__v2di)(__m128i)_mm_setzero_si128 (), \ ! (__mmask8)(A))) #endif extern __inline __m256i diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx512vpopcntdqintrin.h gcc-9.3.0/gcc/config/i386/avx512vpopcntdqintrin.h *** gcc-9.2.0/gcc/config/i386/avx512vpopcntdqintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx512vpopcntdqintrin.h Thu Mar 12 11:07:21 2020 *************** _mm512_popcnt_epi32 (__m512i __A) *** 43,52 **** extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi32 (__m512i __A, __mmask16 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A, ! (__v16si) __B, (__mmask16) __U); } --- 43,52 ---- extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A, ! (__v16si) __W, (__mmask16) __U); } *************** _mm512_popcnt_epi64 (__m512i __A) *** 69,78 **** extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi64 (__m512i __A, __mmask8 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A, ! (__v8di) __B, (__mmask8) __U); } --- 69,78 ---- extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm512_mask_popcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A, ! (__v8di) __W, (__mmask8) __U); } diff -Nrcpad gcc-9.2.0/gcc/config/i386/avx512vpopcntdqvlintrin.h gcc-9.3.0/gcc/config/i386/avx512vpopcntdqvlintrin.h *** gcc-9.2.0/gcc/config/i386/avx512vpopcntdqvlintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avx512vpopcntdqvlintrin.h Thu Mar 12 11:07:21 2020 *************** _mm_popcnt_epi32 (__m128i __A) *** 43,52 **** extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi32 (__m128i __A, __mmask16 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A, ! (__v4si) __B, (__mmask16) __U); } --- 43,52 ---- extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi32 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A, ! (__v4si) __W, (__mmask16) __U); } *************** _mm256_popcnt_epi32 (__m256i __A) *** 69,78 **** extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi32 (__m256i __A, __mmask16 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A, ! (__v8si) __B, (__mmask16) __U); } --- 69,78 ---- extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi32 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A, ! (__v8si) __W, (__mmask16) __U); } *************** _mm_popcnt_epi64 (__m128i __A) *** 95,104 **** extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi64 (__m128i __A, __mmask8 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A, ! (__v2di) __B, (__mmask8) __U); } --- 95,104 ---- extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm_mask_popcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A, ! (__v2di) __W, (__mmask8) __U); } *************** _mm256_popcnt_epi64 (__m256i __A) *** 121,130 **** extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi64 (__m256i __A, __mmask8 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A, ! (__v4di) __B, (__mmask8) __U); } --- 121,130 ---- extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ! _mm256_mask_popcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A, ! (__v4di) __W, (__mmask8) __U); } *************** _mm256_maskz_popcnt_epi64 (__mmask8 __U, *** 144,147 **** #endif /* __DISABLE_AVX512VPOPCNTDQVL__ */ #endif /* _AVX512VPOPCNTDQVLINTRIN_H_INCLUDED */ - --- 144,146 ---- diff -Nrcpad gcc-9.2.0/gcc/config/i386/avxintrin.h gcc-9.3.0/gcc/config/i386/avxintrin.h *** gcc-9.2.0/gcc/config/i386/avxintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/avxintrin.h Thu Mar 12 11:07:21 2020 *************** typedef unsigned int __v8su __attribute_ *** 47,52 **** --- 47,53 ---- typedef short __v16hi __attribute__ ((__vector_size__ (32))); typedef unsigned short __v16hu __attribute__ ((__vector_size__ (32))); typedef char __v32qi __attribute__ ((__vector_size__ (32))); + typedef signed char __v32qs __attribute__ ((__vector_size__ (32))); typedef unsigned char __v32qu __attribute__ ((__vector_size__ (32))); /* The Intel API is flexible enough that we must allow aliasing with other diff -Nrcpad gcc-9.2.0/gcc/config/i386/darwin.h gcc-9.3.0/gcc/config/i386/darwin.h *** gcc-9.2.0/gcc/config/i386/darwin.h Sat Aug 3 20:16:22 2019 --- gcc-9.3.0/gcc/config/i386/darwin.h Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 90,103 **** #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 ! /* Generate branch islands stubs if this is true. */ ! extern int darwin_emit_branch_islands; ! ! #undef TARGET_MACHO_BRANCH_ISLANDS ! #define TARGET_MACHO_BRANCH_ISLANDS darwin_emit_branch_islands /* For compatibility with OSX system tools, use the new style of pic stub ! if this is set. */ #undef MACHOPIC_ATT_STUB #define MACHOPIC_ATT_STUB (darwin_macho_att_stub) --- 90,101 ---- #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 ! /* Generate pic symbol indirection stubs if this is true. */ ! #undef TARGET_MACHO_SYMBOL_STUBS ! #define TARGET_MACHO_SYMBOL_STUBS (darwin_symbol_stubs) /* For compatibility with OSX system tools, use the new style of pic stub ! if this is set (default). */ #undef MACHOPIC_ATT_STUB #define MACHOPIC_ATT_STUB (darwin_macho_att_stub) *************** extern int darwin_emit_branch_islands; *** 245,251 **** #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE, LABELNO) \ do { \ ! if (TARGET_MACHO_BRANCH_ISLANDS \ && MACHOPIC_INDIRECT && !TARGET_64BIT) \ { \ const char *name = machopic_mcount_stub_name (); \ --- 243,249 ---- #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE, LABELNO) \ do { \ ! if (TARGET_MACHO_SYMBOL_STUBS \ && MACHOPIC_INDIRECT && !TARGET_64BIT) \ { \ const char *name = machopic_mcount_stub_name (); \ *************** extern int darwin_emit_branch_islands; *** 326,335 **** } \ } ! /* This needs to move since i386 uses the first flag and other flags are ! used in Mach-O. */ ! #undef MACHO_SYMBOL_FLAG_VARIABLE ! #define MACHO_SYMBOL_FLAG_VARIABLE ((SYMBOL_FLAG_MACH_DEP) << 3) #undef MACHOPIC_NL_SYMBOL_PTR_SECTION #define MACHOPIC_NL_SYMBOL_PTR_SECTION \ --- 324,331 ---- } \ } ! /* First available SYMBOL flag bit for use by subtargets. */ ! #define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP << 5) #undef MACHOPIC_NL_SYMBOL_PTR_SECTION #define MACHOPIC_NL_SYMBOL_PTR_SECTION \ diff -Nrcpad gcc-9.2.0/gcc/config/i386/emmintrin.h gcc-9.3.0/gcc/config/i386/emmintrin.h *** gcc-9.2.0/gcc/config/i386/emmintrin.h Fri Mar 8 15:53:47 2019 --- gcc-9.3.0/gcc/config/i386/emmintrin.h Thu Mar 12 11:07:21 2020 *************** _mm_xor_si128 (__m128i __A, __m128i __B) *** 1308,1314 **** extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi8 (__m128i __A, __m128i __B) { ! return (__m128i) ((__v16qs)__A == (__v16qs)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) --- 1308,1314 ---- extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi8 (__m128i __A, __m128i __B) { ! return (__m128i) ((__v16qi)__A == (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) diff -Nrcpad gcc-9.2.0/gcc/config/i386/i386-builtin.def gcc-9.3.0/gcc/config/i386/i386-builtin.def *** gcc-9.2.0/gcc/config/i386/i386-builtin.def Fri Mar 22 10:08:40 2019 --- gcc-9.3.0/gcc/config/i386/i386-builtin.def Thu Mar 12 11:07:21 2020 *************** BDESC (OPTION_MASK_ISA_SSE3, 0, CODE_FOR *** 818,828 **** /* SSSE3 */ BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv16qi2, "__builtin_ia32_pabsb128", IX86_BUILTIN_PABSB128, UNKNOWN, (int) V16QI_FTYPE_V16QI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_absv8qi2, "__builtin_ia32_pabsb", IX86_BUILTIN_PABSB, UNKNOWN, (int) V8QI_FTYPE_V8QI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv8hi2, "__builtin_ia32_pabsw128", IX86_BUILTIN_PABSW128, UNKNOWN, (int) V8HI_FTYPE_V8HI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_absv4hi2, "__builtin_ia32_pabsw", IX86_BUILTIN_PABSW, UNKNOWN, (int) V4HI_FTYPE_V4HI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv4si2, "__builtin_ia32_pabsd128", IX86_BUILTIN_PABSD128, UNKNOWN, (int) V4SI_FTYPE_V4SI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_absv2si2, "__builtin_ia32_pabsd", IX86_BUILTIN_PABSD, UNKNOWN, (int) V2SI_FTYPE_V2SI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_ssse3_phaddwv8hi3, "__builtin_ia32_phaddw128", IX86_BUILTIN_PHADDW128, UNKNOWN, (int) V8HI_FTYPE_V8HI_V8HI) BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_ssse3_phaddwv4hi3, "__builtin_ia32_phaddw", IX86_BUILTIN_PHADDW, UNKNOWN, (int) V4HI_FTYPE_V4HI_V4HI) --- 818,828 ---- /* SSSE3 */ BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv16qi2, "__builtin_ia32_pabsb128", IX86_BUILTIN_PABSB128, UNKNOWN, (int) V16QI_FTYPE_V16QI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_ssse3_absv8qi2, "__builtin_ia32_pabsb", IX86_BUILTIN_PABSB, UNKNOWN, (int) V8QI_FTYPE_V8QI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv8hi2, "__builtin_ia32_pabsw128", IX86_BUILTIN_PABSW128, UNKNOWN, (int) V8HI_FTYPE_V8HI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_ssse3_absv4hi2, "__builtin_ia32_pabsw", IX86_BUILTIN_PABSW, UNKNOWN, (int) V4HI_FTYPE_V4HI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_absv4si2, "__builtin_ia32_pabsd128", IX86_BUILTIN_PABSD128, UNKNOWN, (int) V4SI_FTYPE_V4SI) ! BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_ssse3_absv2si2, "__builtin_ia32_pabsd", IX86_BUILTIN_PABSD, UNKNOWN, (int) V2SI_FTYPE_V2SI) BDESC (OPTION_MASK_ISA_SSSE3, 0, CODE_FOR_ssse3_phaddwv8hi3, "__builtin_ia32_phaddw128", IX86_BUILTIN_PHADDW128, UNKNOWN, (int) V8HI_FTYPE_V8HI_V8HI) BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, 0, CODE_FOR_ssse3_phaddwv4hi3, "__builtin_ia32_phaddw", IX86_BUILTIN_PHADDW, UNKNOWN, (int) V4HI_FTYPE_V4HI_V4HI) diff -Nrcpad gcc-9.2.0/gcc/config/i386/i386.c gcc-9.3.0/gcc/config/i386/i386.c *** gcc-9.2.0/gcc/config/i386/i386.c Thu Aug 1 06:29:22 2019 --- gcc-9.3.0/gcc/config/i386/i386.c Thu Mar 12 11:07:21 2020 *************** ix86_valid_target_attribute_inner_p (tre *** 5423,5429 **** ret = false; } else ! p_strings[opt] = xstrdup (p + opt_len); } else if (type == ix86_opt_enum) --- 5423,5447 ---- ret = false; } else ! { ! p_strings[opt] = xstrdup (p + opt_len); ! if (opt == IX86_FUNCTION_SPECIFIC_ARCH) ! { ! /* If arch= is set, clear all bits in x_ix86_isa_flags, ! except for ISA_64BIT, ABI_64, ABI_X32, and CODE16 ! and all bits in x_ix86_isa_flags2. */ ! opts->x_ix86_isa_flags &= (OPTION_MASK_ISA_64BIT ! | OPTION_MASK_ABI_64 ! | OPTION_MASK_ABI_X32 ! | OPTION_MASK_CODE16); ! opts->x_ix86_isa_flags_explicit &= (OPTION_MASK_ISA_64BIT ! | OPTION_MASK_ABI_64 ! | OPTION_MASK_ABI_X32 ! | OPTION_MASK_CODE16); ! opts->x_ix86_isa_flags2 = 0; ! opts->x_ix86_isa_flags2_explicit = 0; ! } ! } } else if (type == ix86_opt_enum) *************** ix86_valid_target_attribute_tree (tree a *** 5498,5515 **** /* If we are using the default tune= or arch=, undo the string assigned, and use the default. */ if (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]) ! { ! opts->x_ix86_arch_string ! = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]); ! ! /* If arch= is set, clear all bits in x_ix86_isa_flags, ! except for ISA_64BIT, ABI_64, ABI_X32, and CODE16. */ ! opts->x_ix86_isa_flags &= (OPTION_MASK_ISA_64BIT ! | OPTION_MASK_ABI_64 ! | OPTION_MASK_ABI_X32 ! | OPTION_MASK_CODE16); ! opts->x_ix86_isa_flags2 = 0; ! } else if (!orig_arch_specified) opts->x_ix86_arch_string = NULL; --- 5516,5523 ---- /* If we are using the default tune= or arch=, undo the string assigned, and use the default. */ if (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]) ! opts->x_ix86_arch_string ! = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]); else if (!orig_arch_specified) opts->x_ix86_arch_string = NULL; *************** function_arg_64 (const CUMULATIVE_ARGS * *** 8657,8663 **** static rtx function_arg_ms_64 (const CUMULATIVE_ARGS *cum, machine_mode mode, ! machine_mode orig_mode, bool named, HOST_WIDE_INT bytes) { unsigned int regno; --- 8665,8671 ---- static rtx function_arg_ms_64 (const CUMULATIVE_ARGS *cum, machine_mode mode, ! machine_mode orig_mode, bool named, const_tree type, HOST_WIDE_INT bytes) { unsigned int regno; *************** function_arg_ms_64 (const CUMULATIVE_ARG *** 8677,8683 **** if (TARGET_SSE && (mode == SFmode || mode == DFmode)) { if (named) ! regno = cum->regno + FIRST_SSE_REG; else { rtx t1, t2; --- 8685,8694 ---- if (TARGET_SSE && (mode == SFmode || mode == DFmode)) { if (named) ! { ! if (type == NULL_TREE || !AGGREGATE_TYPE_P (type)) ! regno = cum->regno + FIRST_SSE_REG; ! } else { rtx t1, t2; *************** ix86_function_arg (cumulative_args_t cum *** 8765,8771 **** enum calling_abi call_abi = cum ? cum->call_abi : ix86_abi; if (call_abi == MS_ABI) ! arg = function_arg_ms_64 (cum, mode, omode, named, bytes); else arg = function_arg_64 (cum, mode, omode, type, named); } --- 8776,8782 ---- enum calling_abi call_abi = cum ? cum->call_abi : ix86_abi; if (call_abi == MS_ABI) ! arg = function_arg_ms_64 (cum, mode, omode, named, type, bytes); else arg = function_arg_64 (cum, mode, omode, type, named); } *************** ix86_gimplify_va_arg (tree valist, tree *** 9823,9828 **** --- 9834,9840 ---- tree ptrtype; machine_mode nat_mode; unsigned int arg_boundary; + unsigned int type_align; /* Only 64bit target needs something special. */ if (is_va_list_char_pointer (TREE_TYPE (valist))) *************** ix86_gimplify_va_arg (tree valist, tree *** 9880,9885 **** --- 9892,9898 ---- /* Pull the value out of the saved registers. */ addr = create_tmp_var (ptr_type_node, "addr"); + type_align = TYPE_ALIGN (type); if (container) { *************** ix86_gimplify_va_arg (tree valist, tree *** 10050,10055 **** --- 10063,10071 ---- t = build2 (PLUS_EXPR, TREE_TYPE (gpr), gpr, build_int_cst (TREE_TYPE (gpr), needed_intregs * 8)); gimplify_assign (gpr, t, pre_p); + /* The GPR save area guarantees only 8-byte alignment. */ + if (!need_temp) + type_align = MIN (type_align, 64); } if (needed_sseregs) *************** ix86_gimplify_va_arg (tree valist, tree *** 10094,10099 **** --- 10110,10116 ---- if (container) gimple_seq_add_stmt (pre_p, gimple_build_label (lab_over)); + type = build_aligned_type (type, type_align); ptrtype = build_pointer_type_for_mode (type, ptr_mode, true); addr = fold_convert (ptrtype, addr); *************** output_pic_addr_const (FILE *file, rtx x *** 16960,16966 **** break; case SYMBOL_REF: ! if (TARGET_64BIT || ! TARGET_MACHO_BRANCH_ISLANDS) output_addr_const (file, x); else { --- 16977,16983 ---- break; case SYMBOL_REF: ! if (TARGET_64BIT || ! TARGET_MACHO_SYMBOL_STUBS) output_addr_const (file, x); else { *************** ix86_trampoline_init (rtx m_tramp, tree *** 30272,30280 **** the stack, we need to skip the first insn which pushes the (call-saved) register static chain; this push is 1 byte. */ offset += 5; disp = expand_binop (SImode, sub_optab, fnaddr, plus_constant (Pmode, XEXP (m_tramp, 0), ! offset - (MEM_P (chain) ? 1 : 0)), NULL_RTX, 1, OPTAB_DIRECT); emit_move_insn (mem, disp); } --- 30289,30302 ---- the stack, we need to skip the first insn which pushes the (call-saved) register static chain; this push is 1 byte. */ offset += 5; + int skip = MEM_P (chain) ? 1 : 0; + /* Skip ENDBR32 at the entry of the target function. */ + if (need_endbr + && !cgraph_node::get (fndecl)->only_called_directly_p ()) + skip += 4; disp = expand_binop (SImode, sub_optab, fnaddr, plus_constant (Pmode, XEXP (m_tramp, 0), ! offset - skip), NULL_RTX, 1, OPTAB_DIRECT); emit_move_insn (mem, disp); } *************** ix86_fold_builtin (tree fndecl, int n_ar *** 33401,33408 **** countt = build_int_cst (integer_type_node, count); } tree_vector_builder builder; ! builder.new_unary_operation (TREE_TYPE (args[0]), args[0], ! false); unsigned int cnt = builder.encoded_nelts (); for (unsigned int i = 0; i < cnt; ++i) { --- 33423,33435 ---- countt = build_int_cst (integer_type_node, count); } tree_vector_builder builder; ! if (mask != HOST_WIDE_INT_M1U || is_vshift) ! builder.new_vector (TREE_TYPE (args[0]), ! TYPE_VECTOR_SUBPARTS (TREE_TYPE (args[0])), ! 1); ! else ! builder.new_unary_operation (TREE_TYPE (args[0]), args[0], ! false); unsigned int cnt = builder.encoded_nelts (); for (unsigned int i = 0; i < cnt; ++i) { *************** ix86_md_asm_adjust (vec &outputs, v *** 44377,44387 **** { x = force_reg (dest_mode, const0_rtx); ! emit_insn (gen_movstrictqi ! (gen_lowpart (QImode, x), destqi)); } else ! x = gen_rtx_ZERO_EXTEND (dest_mode, destqi); } if (dest_mode != GET_MODE (dest)) --- 44404,44418 ---- { x = force_reg (dest_mode, const0_rtx); ! emit_insn (gen_movstrictqi (gen_lowpart (QImode, x), destqi)); } else ! { ! x = gen_rtx_ZERO_EXTEND (dest_mode, destqi); ! if (dest_mode == GET_MODE (dest) ! && !register_operand (dest, GET_MODE (dest))) ! x = force_reg (dest_mode, x); ! } } if (dest_mode != GET_MODE (dest)) diff -Nrcpad gcc-9.2.0/gcc/config/i386/i386.h gcc-9.3.0/gcc/config/i386/i386.h *** gcc-9.2.0/gcc/config/i386/i386.h Fri Feb 22 12:49:21 2019 --- gcc-9.3.0/gcc/config/i386/i386.h Thu Mar 12 11:07:21 2020 *************** extern tree x86_mfence; *** 640,646 **** /* Replace MACH-O, ifdefs by in-line tests, where possible. (a) Macros defined in config/i386/darwin.h */ #define TARGET_MACHO 0 ! #define TARGET_MACHO_BRANCH_ISLANDS 0 #define MACHOPIC_ATT_STUB 0 /* (b) Macros defined in config/darwin.h */ #define MACHO_DYNAMIC_NO_PIC_P 0 --- 640,646 ---- /* Replace MACH-O, ifdefs by in-line tests, where possible. (a) Macros defined in config/i386/darwin.h */ #define TARGET_MACHO 0 ! #define TARGET_MACHO_SYMBOL_STUBS 0 #define MACHOPIC_ATT_STUB 0 /* (b) Macros defined in config/darwin.h */ #define MACHO_DYNAMIC_NO_PIC_P 0 *************** extern const char *host_detect_local_cpu *** 1082,1090 **** /*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \ 6, 6, 6, 6, 6, 6, 6, 6, \ /*xmm16,xmm17,xmm18,xmm19,xmm20,xmm21,xmm22,xmm23*/ \ ! 6, 6, 6, 6, 6, 6, 6, 6, \ /*xmm24,xmm25,xmm26,xmm27,xmm28,xmm29,xmm30,xmm31*/ \ ! 6, 6, 6, 6, 6, 6, 6, 6, \ /* k0, k1, k2, k3, k4, k5, k6, k7*/ \ 1, 1, 1, 1, 1, 1, 1, 1 } --- 1082,1090 ---- /*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \ 6, 6, 6, 6, 6, 6, 6, 6, \ /*xmm16,xmm17,xmm18,xmm19,xmm20,xmm21,xmm22,xmm23*/ \ ! 1, 1, 1, 1, 1, 1, 1, 1, \ /*xmm24,xmm25,xmm26,xmm27,xmm28,xmm29,xmm30,xmm31*/ \ ! 1, 1, 1, 1, 1, 1, 1, 1, \ /* k0, k1, k2, k3, k4, k5, k6, k7*/ \ 1, 1, 1, 1, 1, 1, 1, 1 } *************** extern int const svr4_dbx_register_map[F *** 2205,2210 **** --- 2205,2235 ---- #define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ ix86_asm_output_function_label ((FILE), (NAME), (DECL)) + /* A C statement (sans semicolon) to output a reference to SYMBOL_REF SYM. + If not defined, assemble_name will be used to output the name of the + symbol. This macro may be used to modify the way a symbol is referenced + depending on information encoded by TARGET_ENCODE_SECTION_INFO. */ + + #ifndef ASM_OUTPUT_SYMBOL_REF + #define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \ + do { \ + const char *name \ + = assemble_name_resolve (XSTR (x, 0)); \ + /* In -masm=att wrap identifiers that start with $ \ + into parens. */ \ + if (ASSEMBLER_DIALECT == ASM_ATT \ + && name[0] == '$' \ + && user_label_prefix[0] == '\0') \ + { \ + fputc ('(', (FILE)); \ + assemble_name_raw ((FILE), name); \ + fputc (')', (FILE)); \ + } \ + else \ + assemble_name_raw ((FILE), name); \ + } while (0) + #endif + /* Under some conditions we need jump tables in the text section, because the assembler cannot handle label differences between sections. This is the case for x86_64 on Mach-O for example. */ *************** const wide_int_bitmask PTA_CANNONLAKE = *** 2380,2386 **** | PTA_AVX512VBMI | PTA_AVX512IFMA | PTA_SHA; const wide_int_bitmask PTA_ICELAKE_CLIENT = PTA_CANNONLAKE | PTA_AVX512VNNI | PTA_GFNI | PTA_VAES | PTA_AVX512VBMI2 | PTA_VPCLMULQDQ | PTA_AVX512BITALG ! | PTA_RDPID | PTA_CLWB; const wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT | PTA_PCONFIG | PTA_WBNOINVD; const wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF | PTA_AVX512ER --- 2405,2411 ---- | PTA_AVX512VBMI | PTA_AVX512IFMA | PTA_SHA; const wide_int_bitmask PTA_ICELAKE_CLIENT = PTA_CANNONLAKE | PTA_AVX512VNNI | PTA_GFNI | PTA_VAES | PTA_AVX512VBMI2 | PTA_VPCLMULQDQ | PTA_AVX512BITALG ! | PTA_RDPID | PTA_CLWB | PTA_AVX512VPOPCNTDQ; const wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT | PTA_PCONFIG | PTA_WBNOINVD; const wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF | PTA_AVX512ER diff -Nrcpad gcc-9.2.0/gcc/config/i386/i386.md gcc-9.3.0/gcc/config/i386/i386.md *** gcc-9.2.0/gcc/config/i386/i386.md Wed May 22 18:49:22 2019 --- gcc-9.3.0/gcc/config/i386/i386.md Thu Mar 12 11:07:21 2020 *************** *** 3653,3659 **** } } [(set (attr "isa") ! (cond [(eq_attr "alternative" "14,15") (const_string "sse2") ] (const_string "*"))) --- 3653,3659 ---- } } [(set (attr "isa") ! (cond [(eq_attr "alternative" "9,10") (const_string "sse2") ] (const_string "*"))) *************** *** 15422,15431 **** (define_insn "atan2xf3" [(set (match_operand:XF 0 "register_operand" "=f") ! (unspec:XF [(match_operand:XF 1 "register_operand" "0") ! (match_operand:XF 2 "register_operand" "f")] UNSPEC_FPATAN)) ! (clobber (match_scratch:XF 3 "=2"))] "TARGET_USE_FANCY_MATH_387 && flag_unsafe_math_optimizations" "fpatan" --- 15422,15431 ---- (define_insn "atan2xf3" [(set (match_operand:XF 0 "register_operand" "=f") ! (unspec:XF [(match_operand:XF 2 "register_operand" "0") ! (match_operand:XF 1 "register_operand" "f")] UNSPEC_FPATAN)) ! (clobber (match_scratch:XF 3 "=1"))] "TARGET_USE_FANCY_MATH_387 && flag_unsafe_math_optimizations" "fpatan" *************** *** 15449,15455 **** emit_insn (gen_extendxf2 (op2, operands[2])); emit_insn (gen_extendxf2 (op1, operands[1])); ! emit_insn (gen_atan2xf3 (op0, op2, op1)); emit_insn (gen_truncxf2 (operands[0], op0)); DONE; }) --- 15449,15455 ---- emit_insn (gen_extendxf2 (op2, operands[2])); emit_insn (gen_extendxf2 (op1, operands[1])); ! emit_insn (gen_atan2xf3 (op0, op1, op2)); emit_insn (gen_truncxf2 (operands[0], op0)); DONE; }) diff -Nrcpad gcc-9.2.0/gcc/config/i386/intelmic-mkoffload.c gcc-9.3.0/gcc/config/i386/intelmic-mkoffload.c *** gcc-9.2.0/gcc/config/i386/intelmic-mkoffload.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/intelmic-mkoffload.c Thu Mar 12 11:07:21 2020 *************** prepare_target_image (const char *target *** 453,460 **** if (verbose) obstack_ptr_grow (&argv_obstack, "-v"); obstack_ptr_grow (&argv_obstack, "-xlto"); - obstack_ptr_grow (&argv_obstack, "-shared"); - obstack_ptr_grow (&argv_obstack, "-fPIC"); obstack_ptr_grow (&argv_obstack, opt1); for (int i = 1; i < argc; i++) { --- 453,458 ---- *************** prepare_target_image (const char *target *** 466,471 **** --- 464,472 ---- if (!out_obj_filename) fatal_error (input_location, "output file not specified"); obstack_ptr_grow (&argv_obstack, opt2); + /* NB: Put -fPIC and -shared the last to create shared library. */ + obstack_ptr_grow (&argv_obstack, "-fPIC"); + obstack_ptr_grow (&argv_obstack, "-shared"); obstack_ptr_grow (&argv_obstack, "-o"); obstack_ptr_grow (&argv_obstack, target_so_filename); compile_for_target (&argv_obstack); diff -Nrcpad gcc-9.2.0/gcc/config/i386/mmx.md gcc-9.3.0/gcc/config/i386/mmx.md *** gcc-9.2.0/gcc/config/i386/mmx.md Sat Feb 16 20:29:24 2019 --- gcc-9.3.0/gcc/config/i386/mmx.md Thu Mar 12 11:07:21 2020 *************** *** 626,638 **** (define_insn "*vec_extractv2sf_1" [(set (match_operand:SF 0 "nonimmediate_operand" "=y,x,x,y,x,f,r") (vec_select:SF ! (match_operand:V2SF 1 "nonimmediate_operand" " 0,x,x,o,o,o,o") (parallel [(const_int 1)])))] "TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ punpckhdq\t%0, %0 %vmovshdup\t{%1, %0|%0, %1} ! shufps\t{$0xe5, %1, %0|%0, %1, 0xe5} # # # --- 626,638 ---- (define_insn "*vec_extractv2sf_1" [(set (match_operand:SF 0 "nonimmediate_operand" "=y,x,x,y,x,f,r") (vec_select:SF ! (match_operand:V2SF 1 "nonimmediate_operand" " 0,x,0,o,o,o,o") (parallel [(const_int 1)])))] "TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ punpckhdq\t%0, %0 %vmovshdup\t{%1, %0|%0, %1} ! shufps\t{$0xe5, %0, %0|%0, %0, 0xe5} # # # *************** *** 1320,1332 **** (define_insn "*vec_extractv2si_1" [(set (match_operand:SI 0 "nonimmediate_operand" "=y,x,x,y,x,r") (vec_select:SI ! (match_operand:V2SI 1 "nonimmediate_operand" " 0,x,x,o,o,o") (parallel [(const_int 1)])))] "TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ punpckhdq\t%0, %0 %vpshufd\t{$0xe5, %1, %0|%0, %1, 0xe5} ! shufps\t{$0xe5, %1, %0|%0, %1, 0xe5} # # #" --- 1320,1332 ---- (define_insn "*vec_extractv2si_1" [(set (match_operand:SI 0 "nonimmediate_operand" "=y,x,x,y,x,r") (vec_select:SI ! (match_operand:V2SI 1 "nonimmediate_operand" " 0,x,0,o,o,o") (parallel [(const_int 1)])))] "TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ punpckhdq\t%0, %0 %vpshufd\t{$0xe5, %1, %0|%0, %1, 0xe5} ! shufps\t{$0xe5, %0, %0|%0, %0, 0xe5} # # #" diff -Nrcpad gcc-9.2.0/gcc/config/i386/sse.md gcc-9.3.0/gcc/config/i386/sse.md *** gcc-9.2.0/gcc/config/i386/sse.md Thu Jul 11 20:49:13 2019 --- gcc-9.3.0/gcc/config/i386/sse.md Thu Mar 12 11:07:21 2020 *************** *** 1610,1616 **** [(set (match_operand:SWI1248_AVX512BWDQ 0 "register_operand" "=k") (any_lshift:SWI1248_AVX512BWDQ (match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k") ! (match_operand:QI 2 "immediate_operand" "n"))) (unspec [(const_int 0)] UNSPEC_MASKOP)] "TARGET_AVX512F" "k\t{%2, %1, %0|%0, %1, %2}" --- 1610,1616 ---- [(set (match_operand:SWI1248_AVX512BWDQ 0 "register_operand" "=k") (any_lshift:SWI1248_AVX512BWDQ (match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k") ! (match_operand 2 "const_0_to_255_operand" "n"))) (unspec [(const_int 0)] UNSPEC_MASKOP)] "TARGET_AVX512F" "k\t{%2, %1, %0|%0, %1, %2}" *************** *** 2625,2631 **** ;; Modes handled by reduc_sm{in,ax}* patterns. (define_mode_iterator REDUC_SSE_SMINMAX_MODE [(V4SF "TARGET_SSE") (V2DF "TARGET_SSE") ! (V2DI "TARGET_SSE") (V4SI "TARGET_SSE") (V8HI "TARGET_SSE") (V16QI "TARGET_SSE")]) (define_expand "reduc__scal_" --- 2625,2631 ---- ;; Modes handled by reduc_sm{in,ax}* patterns. (define_mode_iterator REDUC_SSE_SMINMAX_MODE [(V4SF "TARGET_SSE") (V2DF "TARGET_SSE") ! (V2DI "TARGET_SSE4_2") (V4SI "TARGET_SSE") (V8HI "TARGET_SSE") (V16QI "TARGET_SSE")]) (define_expand "reduc__scal_" *************** *** 3180,3192 **** (match_operand: 3 "register_operand")))] "TARGET_AVX512BW") (define_expand "vcond_mask_" ! [(set (match_operand:VI_256 0 "register_operand") ! (vec_merge:VI_256 ! (match_operand:VI_256 1 "nonimmediate_operand") ! (match_operand:VI_256 2 "nonimm_or_0_operand") (match_operand: 3 "register_operand")))] ! "TARGET_AVX2" { ix86_expand_sse_movcc (operands[0], operands[3], operands[1], operands[2]); --- 3180,3198 ---- (match_operand: 3 "register_operand")))] "TARGET_AVX512BW") + ;; As vcondv4div4df and vcondv8siv8sf are enabled already with TARGET_AVX, + ;; and their condition can be folded late into a constant, we need to + ;; support vcond_mask_v4div4di and vcond_mask_v8siv8si for TARGET_AVX. + (define_mode_iterator VI_256_AVX2 [(V32QI "TARGET_AVX2") (V16HI "TARGET_AVX2") + V8SI V4DI]) + (define_expand "vcond_mask_" ! [(set (match_operand:VI_256_AVX2 0 "register_operand") ! (vec_merge:VI_256_AVX2 ! (match_operand:VI_256_AVX2 1 "nonimmediate_operand") ! (match_operand:VI_256_AVX2 2 "nonimm_or_0_operand") (match_operand: 3 "register_operand")))] ! "TARGET_AVX" { ix86_expand_sse_movcc (operands[0], operands[3], operands[1], operands[2]); *************** *** 3914,3925 **** (set_attr "mode" "")]) (define_insn "*fma_fmadd__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v,v") (fma:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "0,v") ! (match_operand:VF_AVX512 2 "register_operand" "v,0") (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m,m"))))] "TARGET_AVX512F && " "vfmadd213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") --- 3920,3931 ---- (set_attr "mode" "")]) (define_insn "*fma_fmadd__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v") (fma:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "%0") ! (match_operand:VF_AVX512 2 "register_operand" "v") (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m"))))] "TARGET_AVX512F && " "vfmadd213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") *************** *** 4031,4043 **** (set_attr "mode" "")]) (define_insn "*fma_fmsub__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v,v") (fma:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "0,v") ! (match_operand:VF_AVX512 2 "register_operand" "v,0") (neg:VF_AVX512 (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m,m")))))] "TARGET_AVX512F && " "vfmsub213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") --- 4037,4049 ---- (set_attr "mode" "")]) (define_insn "*fma_fmsub__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v") (fma:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "%0") ! (match_operand:VF_AVX512 2 "register_operand" "v") (neg:VF_AVX512 (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m")))))] "TARGET_AVX512F && " "vfmsub213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") *************** *** 4153,4165 **** (set_attr "mode" "")]) (define_insn "*fma_fnmadd__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v,v") (fma:VF_AVX512 (neg:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "0,v")) ! (match_operand:VF_AVX512 2 "register_operand" "v,0") (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m,m"))))] "TARGET_AVX512F && " "vfnmadd213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") --- 4159,4171 ---- (set_attr "mode" "")]) (define_insn "*fma_fnmadd__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v") (fma:VF_AVX512 (neg:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "%0")) ! (match_operand:VF_AVX512 2 "register_operand" "v") (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m"))))] "TARGET_AVX512F && " "vfnmadd213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") *************** *** 4277,4290 **** (set_attr "mode" "")]) (define_insn "*fma_fnmsub__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v,v") (fma:VF_AVX512 (neg:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "0,v")) ! (match_operand:VF_AVX512 2 "register_operand" "v,0") (neg:VF_AVX512 (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m,m")))))] "TARGET_AVX512F && " "vfnmsub213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") --- 4283,4296 ---- (set_attr "mode" "")]) (define_insn "*fma_fnmsub__bcst_1" ! [(set (match_operand:VF_AVX512 0 "register_operand" "=v") (fma:VF_AVX512 (neg:VF_AVX512 ! (match_operand:VF_AVX512 1 "register_operand" "%0")) ! (match_operand:VF_AVX512 2 "register_operand" "v") (neg:VF_AVX512 (vec_duplicate:VF_AVX512 ! (match_operand: 3 "memory_operand" "m")))))] "TARGET_AVX512F && " "vfnmsub213\t{%3, %2, %0|%0, %2, %3}" [(set_attr "type" "ssemuladd") *************** *** 8214,8226 **** (set_attr "prefix" "evex") (set_attr "mode" "")]) (define_expand "avx512vl_vextractf128" [(match_operand: 0 "nonimmediate_operand") ! (match_operand:VI48F_256 1 "register_operand") (match_operand:SI 2 "const_0_to_1_operand") (match_operand: 3 "nonimm_or_0_operand") (match_operand:QI 4 "register_operand")] ! "TARGET_AVX512DQ && TARGET_AVX512VL" { rtx (*insn)(rtx, rtx, rtx, rtx); rtx dest = operands[0]; --- 8220,8235 ---- (set_attr "prefix" "evex") (set_attr "mode" "")]) + (define_mode_iterator VI48F_256_DQ + [V8SI V8SF (V4DI "TARGET_AVX512DQ") (V4DF "TARGET_AVX512DQ")]) + (define_expand "avx512vl_vextractf128" [(match_operand: 0 "nonimmediate_operand") ! (match_operand:VI48F_256_DQ 1 "register_operand") (match_operand:SI 2 "const_0_to_1_operand") (match_operand: 3 "nonimm_or_0_operand") (match_operand:QI 4 "register_operand")] ! "TARGET_AVX512VL" { rtx (*insn)(rtx, rtx, rtx, rtx); rtx dest = operands[0]; *************** *** 8288,8301 **** (const_int 4) (const_int 5) (const_int 6) (const_int 7)])))] "TARGET_AVX512F ! && && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" { if ( || (!TARGET_AVX512VL && !REG_P (operands[0]) && EXT_REX_SSE_REG_P (operands[1]))) ! return "vextract32x8\t{$0x0, %1, %0|%0, %1, 0x0}"; else return "#"; } --- 8297,8315 ---- (const_int 4) (const_int 5) (const_int 6) (const_int 7)])))] "TARGET_AVX512F ! && && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" { if ( || (!TARGET_AVX512VL && !REG_P (operands[0]) && EXT_REX_SSE_REG_P (operands[1]))) ! { ! if (TARGET_AVX512DQ) ! return "vextract32x8\t{$0x0, %1, %0|%0, %1, 0x0}"; ! else ! return "vextract64x4\t{$0x0, %1, %0|%0, %1, 0x0}"; ! } else return "#"; } *************** *** 8405,8411 **** (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)])))] "TARGET_AVX ! && && && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" { if () --- 8419,8425 ---- (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)])))] "TARGET_AVX ! && && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" { if () *************** *** 16241,16247 **** } }) ! (define_insn "abs2" [(set (match_operand:MMXMODEI 0 "register_operand" "=y") (abs:MMXMODEI (match_operand:MMXMODEI 1 "nonimmediate_operand" "ym")))] --- 16255,16261 ---- } }) ! (define_insn "ssse3_abs2" [(set (match_operand:MMXMODEI 0 "register_operand" "=y") (abs:MMXMODEI (match_operand:MMXMODEI 1 "nonimmediate_operand" "ym")))] *************** *** 21116,21122 **** [(set (match_operand: 0 "register_operand" "=k") (unspec: [(match_operand:VF_AVX512VL 1 "register_operand" "v") ! (match_operand:QI 2 "const_0_to_255_operand" "n")] UNSPEC_FPCLASS))] "TARGET_AVX512DQ" "vfpclass\t{%2, %1, %0|%0, %1, %2}"; --- 21130,21136 ---- [(set (match_operand: 0 "register_operand" "=k") (unspec: [(match_operand:VF_AVX512VL 1 "register_operand" "v") ! (match_operand 2 "const_0_to_255_operand" "n")] UNSPEC_FPCLASS))] "TARGET_AVX512DQ" "vfpclass\t{%2, %1, %0|%0, %1, %2}"; *************** *** 21130,21136 **** (and: (unspec: [(match_operand:VF_128 1 "register_operand" "v") ! (match_operand:QI 2 "const_0_to_255_operand" "n")] UNSPEC_FPCLASS) (const_int 1)))] "TARGET_AVX512DQ" --- 21144,21150 ---- (and: (unspec: [(match_operand:VF_128 1 "register_operand" "v") ! (match_operand 2 "const_0_to_255_operand" "n")] UNSPEC_FPCLASS) (const_int 1)))] "TARGET_AVX512DQ" *************** *** 21735,21741 **** (unspec:VI1_AVX512F [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") ! (match_operand:QI 3 "const_0_to_255_operand" "n,n,n")] UNSPEC_GF2P8AFFINEINV))] "TARGET_GFNI" "@ --- 21749,21755 ---- (unspec:VI1_AVX512F [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") ! (match_operand 3 "const_0_to_255_operand" "n,n,n")] UNSPEC_GF2P8AFFINEINV))] "TARGET_GFNI" "@ *************** *** 21753,21759 **** (unspec:VI1_AVX512F [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") ! (match_operand:QI 3 "const_0_to_255_operand" "n,n,n")] UNSPEC_GF2P8AFFINE))] "TARGET_GFNI" "@ --- 21767,21773 ---- (unspec:VI1_AVX512F [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") ! (match_operand 3 "const_0_to_255_operand" "n,n,n")] UNSPEC_GF2P8AFFINE))] "TARGET_GFNI" "@ diff -Nrcpad gcc-9.2.0/gcc/config/i386/xopintrin.h gcc-9.3.0/gcc/config/i386/xopintrin.h *** gcc-9.2.0/gcc/config/i386/xopintrin.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/i386/xopintrin.h Thu Mar 12 11:07:21 2020 *************** _mm256_permute2_ps (__m256 __X, __m256 _ *** 814,838 **** #define _mm_permute2_pd(X, Y, C, I) \ ((__m128d) __builtin_ia32_vpermil2pd ((__v2df)(__m128d)(X), \ (__v2df)(__m128d)(Y), \ ! (__v2di)(__m128d)(C), \ (int)(I))) #define _mm256_permute2_pd(X, Y, C, I) \ ((__m256d) __builtin_ia32_vpermil2pd256 ((__v4df)(__m256d)(X), \ (__v4df)(__m256d)(Y), \ ! (__v4di)(__m256d)(C), \ (int)(I))) #define _mm_permute2_ps(X, Y, C, I) \ ((__m128) __builtin_ia32_vpermil2ps ((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), \ ! (__v4si)(__m128)(C), \ (int)(I))) #define _mm256_permute2_ps(X, Y, C, I) \ ((__m256) __builtin_ia32_vpermil2ps256 ((__v8sf)(__m256)(X), \ (__v8sf)(__m256)(Y), \ ! (__v8si)(__m256)(C), \ (int)(I))) #endif /* __OPTIMIZE__ */ --- 814,838 ---- #define _mm_permute2_pd(X, Y, C, I) \ ((__m128d) __builtin_ia32_vpermil2pd ((__v2df)(__m128d)(X), \ (__v2df)(__m128d)(Y), \ ! (__v2di)(__m128i)(C), \ (int)(I))) #define _mm256_permute2_pd(X, Y, C, I) \ ((__m256d) __builtin_ia32_vpermil2pd256 ((__v4df)(__m256d)(X), \ (__v4df)(__m256d)(Y), \ ! (__v4di)(__m256i)(C), \ (int)(I))) #define _mm_permute2_ps(X, Y, C, I) \ ((__m128) __builtin_ia32_vpermil2ps ((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), \ ! (__v4si)(__m128i)(C), \ (int)(I))) #define _mm256_permute2_ps(X, Y, C, I) \ ((__m256) __builtin_ia32_vpermil2ps256 ((__v8sf)(__m256)(X), \ (__v8sf)(__m256)(Y), \ ! (__v8si)(__m256i)(C), \ (int)(I))) #endif /* __OPTIMIZE__ */ diff -Nrcpad gcc-9.2.0/gcc/config/mips/mips.c gcc-9.3.0/gcc/config/mips/mips.c *** gcc-9.2.0/gcc/config/mips/mips.c Mon Jun 17 17:27:30 2019 --- gcc-9.3.0/gcc/config/mips/mips.c Thu Mar 12 11:07:21 2020 *************** mips_split_move (rtx dest, rtx src, enum *** 4849,4855 **** can forward SRC for DEST. This is most useful if the next insn is a simple store. */ rtx_insn *insn = (rtx_insn *)insn_; ! struct mips_address_info addr; if (insn) { rtx_insn *next = next_nonnote_nondebug_insn_bb (insn); --- 4849,4855 ---- can forward SRC for DEST. This is most useful if the next insn is a simple store. */ rtx_insn *insn = (rtx_insn *)insn_; ! struct mips_address_info addr = {}; if (insn) { rtx_insn *next = next_nonnote_nondebug_insn_bb (insn); *************** mips_split_move (rtx dest, rtx src, enum *** 4862,4868 **** { rtx tmp = XEXP (src, 0); mips_classify_address (&addr, tmp, GET_MODE (tmp), true); ! if (REGNO (addr.reg) != REGNO (dest)) validate_change (next, &SET_SRC (set), src, false); } else --- 4862,4868 ---- { rtx tmp = XEXP (src, 0); mips_classify_address (&addr, tmp, GET_MODE (tmp), true); ! if (addr.reg && !reg_overlap_mentioned_p (dest, addr.reg)) validate_change (next, &SET_SRC (set), src, false); } else diff -Nrcpad gcc-9.2.0/gcc/config/mips/mips.md gcc-9.3.0/gcc/config/mips/mips.md *** gcc-9.2.0/gcc/config/mips/mips.md Fri Feb 22 16:38:43 2019 --- gcc-9.3.0/gcc/config/mips/mips.md Thu Mar 12 11:07:21 2020 *************** *** 5836,5843 **** "ISA_HAS_ROR" { if (CONST_INT_P (operands[2])) ! gcc_assert (INTVAL (operands[2]) >= 0 ! && INTVAL (operands[2]) < GET_MODE_BITSIZE (mode)); return "ror\t%0,%1,%2"; } --- 5836,5843 ---- "ISA_HAS_ROR" { if (CONST_INT_P (operands[2])) ! operands[2] = GEN_INT (INTVAL (operands[2]) ! & (GET_MODE_BITSIZE (mode) - 1)); return "ror\t%0,%1,%2"; } *************** *** 7588,7594 **** ;; __builtin_mips_get_fcsr: move the FCSR into operand 0. (define_expand "mips_get_fcsr" [(set (match_operand:SI 0 "register_operand") ! (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT_ABI" { if (TARGET_MIPS16) --- 7588,7594 ---- ;; __builtin_mips_get_fcsr: move the FCSR into operand 0. (define_expand "mips_get_fcsr" [(set (match_operand:SI 0 "register_operand") ! (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT_ABI" { if (TARGET_MIPS16) *************** *** 7600,7606 **** (define_insn "*mips_get_fcsr" [(set (match_operand:SI 0 "register_operand" "=d") ! (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT" "cfc1\t%0,$31") --- 7600,7606 ---- (define_insn "*mips_get_fcsr" [(set (match_operand:SI 0 "register_operand" "=d") ! (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] "TARGET_HARD_FLOAT" "cfc1\t%0,$31") diff -Nrcpad gcc-9.2.0/gcc/config/nios2/nios2.c gcc-9.3.0/gcc/config/nios2/nios2.c *** gcc-9.2.0/gcc/config/nios2/nios2.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/nios2/nios2.c Thu Mar 12 11:07:21 2020 *************** nios2_in_small_data_p (const_tree exp) *** 2373,2378 **** --- 2373,2394 ---- if (nios2_small_section_name_p (section)) return true; } + else if (flexible_array_type_p (TREE_TYPE (exp)) + && (!TREE_PUBLIC (exp) || DECL_EXTERNAL (exp))) + { + /* We really should not consider any objects of any flexibly-sized + type to be small data, but pre-GCC 10 did not test + for this and just fell through to the next case. Thus older + code compiled with -mgpopt=global could contain GP-relative + accesses to objects defined in this compilation unit with + external linkage. We retain the possible small-data treatment + of such definitions for backward ABI compatibility, but + no longer generate GP-relative accesses for external + references (so that the ABI could be changed in the future + with less potential impact), or objects with internal + linkage. */ + return false; + } else { HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (exp)); diff -Nrcpad gcc-9.2.0/gcc/config/nios2/nios2.h gcc-9.3.0/gcc/config/nios2/nios2.h *** gcc-9.2.0/gcc/config/nios2/nios2.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/nios2/nios2.h Thu Mar 12 11:07:21 2020 *************** while (0) *** 467,476 **** the linker seems to want the alignment of data objects to depend on their types. We do exactly that here. */ ! #undef ASM_OUTPUT_ALIGNED_LOCAL ! #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ do { \ ! if ((SIZE) <= nios2_section_threshold) \ switch_to_section (sbss_section); \ else \ switch_to_section (bss_section); \ --- 467,476 ---- the linker seems to want the alignment of data objects to depend on their types. We do exactly that here. */ ! #undef ASM_OUTPUT_ALIGNED_DECL_LOCAL ! #define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \ do { \ ! if (targetm.in_small_data_p (DECL)) \ switch_to_section (sbss_section); \ else \ switch_to_section (bss_section); \ diff -Nrcpad gcc-9.2.0/gcc/config/pa/pa.c gcc-9.3.0/gcc/config/pa/pa.c *** gcc-9.2.0/gcc/config/pa/pa.c Thu Jul 18 00:10:27 2019 --- gcc-9.3.0/gcc/config/pa/pa.c Thu Mar 12 11:07:21 2020 *************** static bool pa_hard_regno_mode_ok (unsig *** 206,211 **** --- 206,212 ---- static bool pa_modes_tieable_p (machine_mode, machine_mode); static bool pa_can_change_mode_class (machine_mode, machine_mode, reg_class_t); static HOST_WIDE_INT pa_starting_frame_offset (void); + static section* pa_elf_select_rtx_section(machine_mode, rtx, unsigned HOST_WIDE_INT) ATTRIBUTE_UNUSED; /* The following extra sections are only used for SOM. */ static GTY(()) section *som_readonly_data_section; *************** pa_attr_length_call (rtx_insn *insn, int *** 7856,7862 **** /* 64-bit plabel sequence. */ else if (TARGET_64BIT && !local_call) ! length += sibcall ? 28 : 24; /* non-pic long absolute branch sequence. */ else if ((TARGET_LONG_ABS_CALL || local_call) && !flag_pic) --- 7857,7863 ---- /* 64-bit plabel sequence. */ else if (TARGET_64BIT && !local_call) ! length += 24; /* non-pic long absolute branch sequence. */ else if ((TARGET_LONG_ABS_CALL || local_call) && !flag_pic) *************** pa_output_call (rtx_insn *insn, rtx call *** 7928,7965 **** xoperands[0] = pa_get_deferred_plabel (call_dest); xoperands[1] = gen_label_rtx (); ! /* If this isn't a sibcall, we put the load of %r27 into the ! delay slot. We can't do this in a sibcall as we don't ! have a second call-clobbered scratch register available. ! We don't need to do anything when generating fast indirect ! calls. */ ! if (seq_length != 0 && !sibcall) { final_scan_insn (NEXT_INSN (insn), asm_out_file, optimize, 0, NULL); /* Now delete the delay insn. */ SET_INSN_DELETED (NEXT_INSN (insn)); - seq_length = 0; } output_asm_insn ("addil LT'%0,%%r27", xoperands); output_asm_insn ("ldd RT'%0(%%r1),%%r1", xoperands); output_asm_insn ("ldd 0(%%r1),%%r1", xoperands); ! ! if (sibcall) ! { ! output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); ! output_asm_insn ("ldd 16(%%r1),%%r1", xoperands); ! output_asm_insn ("bve (%%r1)", xoperands); ! } ! else ! { ! output_asm_insn ("ldd 16(%%r1),%%r2", xoperands); ! output_asm_insn ("bve,l (%%r2),%%r2", xoperands); ! output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); ! seq_length = 1; ! } } else { --- 7929,7952 ---- xoperands[0] = pa_get_deferred_plabel (call_dest); xoperands[1] = gen_label_rtx (); ! /* Put the load of %r27 into the delay slot. We don't need to ! do anything when generating fast indirect calls. */ ! if (seq_length != 0) { final_scan_insn (NEXT_INSN (insn), asm_out_file, optimize, 0, NULL); /* Now delete the delay insn. */ SET_INSN_DELETED (NEXT_INSN (insn)); } output_asm_insn ("addil LT'%0,%%r27", xoperands); output_asm_insn ("ldd RT'%0(%%r1),%%r1", xoperands); output_asm_insn ("ldd 0(%%r1),%%r1", xoperands); ! output_asm_insn ("ldd 16(%%r1),%%r2", xoperands); ! output_asm_insn ("bve,l (%%r2),%%r2", xoperands); ! output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); ! seq_length = 1; } else { *************** pa_output_call (rtx_insn *insn, rtx call *** 8052,8071 **** { output_asm_insn ("addil LT'%0,%%r19", xoperands); output_asm_insn ("ldw RT'%0(%%r1),%%r1", xoperands); ! output_asm_insn ("ldw 0(%%r1),%%r1", xoperands); } else { output_asm_insn ("addil LR'%0-$global$,%%r27", xoperands); ! output_asm_insn ("ldw RR'%0-$global$(%%r1),%%r1", xoperands); } ! output_asm_insn ("bb,>=,n %%r1,30,.+16", xoperands); ! output_asm_insn ("depi 0,31,2,%%r1", xoperands); ! output_asm_insn ("ldw 4(%%sr0,%%r1),%%r19", xoperands); ! output_asm_insn ("ldw 0(%%sr0,%%r1),%%r1", xoperands); if (!sibcall && !TARGET_PA_20) { --- 8039,8060 ---- { output_asm_insn ("addil LT'%0,%%r19", xoperands); output_asm_insn ("ldw RT'%0(%%r1),%%r1", xoperands); ! output_asm_insn ("ldw 0(%%r1),%%r22", xoperands); } else { output_asm_insn ("addil LR'%0-$global$,%%r27", xoperands); ! output_asm_insn ("ldw RR'%0-$global$(%%r1),%%r22", xoperands); } ! output_asm_insn ("bb,>=,n %%r22,30,.+16", xoperands); ! output_asm_insn ("depi 0,31,2,%%r22", xoperands); ! /* Should this be an ordered load to ensure the target ! address is loaded before the global pointer? */ ! output_asm_insn ("ldw 0(%%r22),%%r1", xoperands); ! output_asm_insn ("ldw 4(%%r22),%%r19", xoperands); if (!sibcall && !TARGET_PA_20) { *************** pa_attr_length_indirect_call (rtx_insn * *** 8158,8167 **** if (TARGET_PORTABLE_RUNTIME) return 16; - /* Inline version of $$dyncall. */ - if ((TARGET_NO_SPACE_REGS || TARGET_PA_20) && !optimize_size) - return 20; - if (!TARGET_LONG_CALLS && ((TARGET_PA_20 && !TARGET_SOM && distance < 7600000) || distance < MAX_PCREL17F_OFFSET)) --- 8147,8152 ---- *************** pa_attr_length_indirect_call (rtx_insn * *** 8171,8182 **** if (!flag_pic) return 12; ! /* Inline version of $$dyncall. */ ! if (TARGET_NO_SPACE_REGS || TARGET_PA_20) ! return 20; ! if (!optimize_size) ! return 36; /* Long PIC pc-relative call. */ return 20; --- 8156,8170 ---- if (!flag_pic) return 12; ! /* Inline versions of $$dyncall. */ if (!optimize_size) ! { ! if (TARGET_NO_SPACE_REGS) ! return 28; ! ! if (TARGET_PA_20) ! return 32; ! } /* Long PIC pc-relative call. */ return 20; *************** pa_output_indirect_call (rtx_insn *insn, *** 8214,8235 **** return "blr %%r0,%%r2\n\tbv,n %%r0(%%r31)"; } - /* Maybe emit a fast inline version of $$dyncall. */ - if ((TARGET_NO_SPACE_REGS || TARGET_PA_20) && !optimize_size) - { - output_asm_insn ("bb,>=,n %%r22,30,.+12\n\t" - "ldw 2(%%r22),%%r19\n\t" - "ldw -2(%%r22),%%r22", xoperands); - pa_output_arg_descriptor (insn); - if (TARGET_NO_SPACE_REGS) - { - if (TARGET_PA_20) - return "bve,l,n (%%r22),%%r2\n\tnop"; - return "ble 0(%%sr4,%%r22)\n\tcopy %%r31,%%r2"; - } - return "bve,l (%%r22),%%r2\n\tstw %%r2,-24(%%sp)"; - } - /* Now the normal case -- we can reach $$dyncall directly or we're sure that we can get there via a long-branch stub. --- 8202,8207 ---- *************** pa_output_indirect_call (rtx_insn *insn, *** 8258,8292 **** return "ble R'$$dyncall(%%sr4,%%r2)\n\tcopy %%r31,%%r2"; } ! /* Maybe emit a fast inline version of $$dyncall. The long PIC ! pc-relative call sequence is five instructions. The inline PA 2.0 ! version of $$dyncall is also five instructions. The PA 1.X versions ! are longer but still an overall win. */ ! if (TARGET_NO_SPACE_REGS || TARGET_PA_20 || !optimize_size) { - output_asm_insn ("bb,>=,n %%r22,30,.+12\n\t" - "ldw 2(%%r22),%%r19\n\t" - "ldw -2(%%r22),%%r22", xoperands); if (TARGET_NO_SPACE_REGS) { pa_output_arg_descriptor (insn); ! if (TARGET_PA_20) ! return "bve,l,n (%%r22),%%r2\n\tnop"; ! return "ble 0(%%sr4,%%r22)\n\tcopy %%r31,%%r2"; } if (TARGET_PA_20) { pa_output_arg_descriptor (insn); ! return "bve,l (%%r22),%%r2\n\tstw %%r2,-24(%%sp)"; } - output_asm_insn ("bl .+8,%%r2\n\t" - "ldo 16(%%r2),%%r2\n\t" - "ldsid (%%r22),%%r1\n\t" - "mtsp %%r1,%%sr0", xoperands); - pa_output_arg_descriptor (insn); - return "be 0(%%sr0,%%r22)\n\tstw %%r2,-24(%%sp)"; } ! /* We need a long PIC call to $$dyncall. */ xoperands[0] = gen_rtx_SYMBOL_REF (Pmode, "$$dyncall"); xoperands[1] = gen_rtx_REG (Pmode, 2); --- 8230,8269 ---- return "ble R'$$dyncall(%%sr4,%%r2)\n\tcopy %%r31,%%r2"; } ! /* The long PIC pc-relative call sequence is five instructions. So, ! let's use an inline version of $$dyncall when the calling sequence ! has a roughly similar number of instructions and we are not optimizing ! for size. We need two instructions to load the return pointer plus ! the $$dyncall implementation. */ ! if (!optimize_size) { if (TARGET_NO_SPACE_REGS) { pa_output_arg_descriptor (insn); ! output_asm_insn ("bl .+8,%%r2\n\t" ! "ldo 20(%%r2),%%r2\n\t" ! "extru,<> %%r22,30,1,%%r0\n\t" ! "bv,n %%r0(%%r22)\n\t" ! "ldw -2(%%r22),%%r21\n\t" ! "bv %%r0(%%r21)\n\t" ! "ldw 2(%%r22),%%r19", xoperands); ! return ""; } if (TARGET_PA_20) { pa_output_arg_descriptor (insn); ! output_asm_insn ("bl .+8,%%r2\n\t" ! "ldo 24(%%r2),%%r2\n\t" ! "stw %%r2,-24(%%sp)\n\t" ! "extru,<> %r22,30,1,%%r0\n\t" ! "bve,n (%%r22)\n\t" ! "ldw -2(%%r22),%%r21\n\t" ! "bve (%%r21)\n\t" ! "ldw 2(%%r22),%%r19", xoperands); ! return ""; } } ! /* We need a long PIC call to $$dyncall. */ xoperands[0] = gen_rtx_SYMBOL_REF (Pmode, "$$dyncall"); xoperands[1] = gen_rtx_REG (Pmode, 2); *************** pa_function_value (const_tree valtype, *** 9366,9372 **** HOST_WIDE_INT valsize = int_size_in_bytes (valtype); /* Handle aggregates that fit exactly in a word or double word. */ ! if ((valsize & (UNITS_PER_WORD - 1)) == 0) return gen_rtx_REG (TYPE_MODE (valtype), 28); if (TARGET_64BIT) --- 9343,9349 ---- HOST_WIDE_INT valsize = int_size_in_bytes (valtype); /* Handle aggregates that fit exactly in a word or double word. */ ! if (valsize == UNITS_PER_WORD || valsize == 2 * UNITS_PER_WORD) return gen_rtx_REG (TYPE_MODE (valtype), 28); if (TARGET_64BIT) *************** pa_select_section (tree exp, int reloc, *** 9871,9876 **** --- 9848,9873 ---- return data_section; } + /* Implement pa_elf_select_rtx_section. If X is a function label operand + and the function is in a COMDAT group, place the plabel reference in the + .data.rel.ro.local section. The linker ignores references to symbols in + discarded sections from this section. */ + + static section * + pa_elf_select_rtx_section (machine_mode mode, rtx x, + unsigned HOST_WIDE_INT align) + { + if (function_label_operand (x, VOIDmode)) + { + tree decl = SYMBOL_REF_DECL (x); + + if (!decl || (DECL_P (decl) && DECL_COMDAT_GROUP (decl))) + return get_named_section (NULL, ".data.rel.ro.local", 1); + } + + return default_elf_select_rtx_section (mode, x, align); + } + /* Implement pa_reloc_rw_mask. */ static int *************** pa_modes_tieable_p (machine_mode mode1, *** 10048,10054 **** /* Length in units of the trampoline instruction code. */ ! #define TRAMPOLINE_CODE_SIZE (TARGET_64BIT ? 24 : (TARGET_PA_20 ? 32 : 40)) /* Output assembler code for a block containing the constant parts --- 10045,10051 ---- /* Length in units of the trampoline instruction code. */ ! #define TRAMPOLINE_CODE_SIZE (TARGET_64BIT ? 24 : (TARGET_PA_20 ? 36 : 48)) /* Output assembler code for a block containing the constant parts *************** pa_asm_trampoline_template (FILE *f) *** 10069,10095 **** { if (!TARGET_64BIT) { - fputs ("\tldw 36(%r22),%r21\n", f); - fputs ("\tbb,>=,n %r21,30,.+16\n", f); - if (ASSEMBLER_DIALECT == 0) - fputs ("\tdepi 0,31,2,%r21\n", f); - else - fputs ("\tdepwi 0,31,2,%r21\n", f); - fputs ("\tldw 4(%r21),%r19\n", f); - fputs ("\tldw 0(%r21),%r21\n", f); if (TARGET_PA_20) { ! fputs ("\tbve (%r21)\n", f); ! fputs ("\tldw 40(%r22),%r29\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); } else { fputs ("\tldsid (%r21),%r1\n", f); fputs ("\tmtsp %r1,%sr0\n", f); ! fputs ("\tbe 0(%sr0,%r21)\n", f); ! fputs ("\tldw 40(%r22),%r29\n", f); } fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); --- 10066,10111 ---- { if (!TARGET_64BIT) { if (TARGET_PA_20) { ! fputs ("\tmfia %r20\n", f); ! fputs ("\tldw 48(%r20),%r22\n", f); ! fputs ("\tcopy %r22,%r21\n", f); ! fputs ("\tbb,>=,n %r22,30,.+16\n", f); ! fputs ("\tdepwi 0,31,2,%r22\n", f); ! fputs ("\tldw 0(%r22),%r21\n", f); ! fputs ("\tldw 4(%r22),%r19\n", f); ! fputs ("\tbve (%r21)\n", f); ! fputs ("\tldw 52(%r1),%r29\n", f); ! fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); } else { + if (ASSEMBLER_DIALECT == 0) + { + fputs ("\tbl .+8,%r20\n", f); + fputs ("\tdepi 0,31,2,%r20\n", f); + } + else + { + fputs ("\tb,l .+8,%r20\n", f); + fputs ("\tdepwi 0,31,2,%r20\n", f); + } + fputs ("\tldw 40(%r20),%r22\n", f); + fputs ("\tcopy %r22,%r21\n", f); + fputs ("\tbb,>=,n %r22,30,.+16\n", f); + if (ASSEMBLER_DIALECT == 0) + fputs ("\tdepi 0,31,2,%r22\n", f); + else + fputs ("\tdepwi 0,31,2,%r22\n", f); + fputs ("\tldw 0(%r22),%r21\n", f); + fputs ("\tldw 4(%r22),%r19\n", f); fputs ("\tldsid (%r21),%r1\n", f); fputs ("\tmtsp %r1,%sr0\n", f); ! fputs ("\tbe 0(%sr0,%r21)\n", f); ! fputs ("\tldw 44(%r20),%r29\n", f); } fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); *************** pa_asm_trampoline_template (FILE *f) *** 10103,10113 **** fputs ("\t.dword 0\n", f); fputs ("\t.dword 0\n", f); fputs ("\tmfia %r31\n", f); ! fputs ("\tldd 24(%r31),%r1\n", f); ! fputs ("\tldd 24(%r1),%r27\n", f); ! fputs ("\tldd 16(%r1),%r1\n", f); ! fputs ("\tbve (%r1)\n", f); fputs ("\tldd 32(%r31),%r31\n", f); fputs ("\t.dword 0 ; fptr\n", f); fputs ("\t.dword 0 ; static link\n", f); } --- 10119,10129 ---- fputs ("\t.dword 0\n", f); fputs ("\t.dword 0\n", f); fputs ("\tmfia %r31\n", f); ! fputs ("\tldd 24(%r31),%r27\n", f); fputs ("\tldd 32(%r31),%r31\n", f); + fputs ("\tldd 16(%r27),%r1\n", f); + fputs ("\tbve (%r1)\n", f); + fputs ("\tldd 24(%r27),%r27\n", f); fputs ("\t.dword 0 ; fptr\n", f); fputs ("\t.dword 0 ; static link\n", f); } *************** pa_asm_trampoline_template (FILE *f) *** 10117,10126 **** FNADDR is an RTX for the address of the function's pure code. CXT is an RTX for the static chain value for the function. ! Move the function address to the trampoline template at offset 36. ! Move the static chain value to trampoline template at offset 40. ! Move the trampoline address to trampoline template at offset 44. ! Move r19 to trampoline template at offset 48. The latter two words create a plabel for the indirect call to the trampoline. A similar sequence is used for the 64-bit port but the plabel is --- 10133,10142 ---- FNADDR is an RTX for the address of the function's pure code. CXT is an RTX for the static chain value for the function. ! Move the function address to the trampoline template at offset 48. ! Move the static chain value to trampoline template at offset 52. ! Move the trampoline address to trampoline template at offset 56. ! Move r19 to trampoline template at offset 60. The latter two words create a plabel for the indirect call to the trampoline. A similar sequence is used for the 64-bit port but the plabel is *************** pa_trampoline_init (rtx m_tramp, tree fn *** 10146,10160 **** if (!TARGET_64BIT) { ! tmp = adjust_address (m_tramp, Pmode, 36); emit_move_insn (tmp, fnaddr); ! tmp = adjust_address (m_tramp, Pmode, 40); emit_move_insn (tmp, chain_value); /* Create a fat pointer for the trampoline. */ ! tmp = adjust_address (m_tramp, Pmode, 44); emit_move_insn (tmp, r_tramp); ! tmp = adjust_address (m_tramp, Pmode, 48); emit_move_insn (tmp, gen_rtx_REG (Pmode, 19)); /* fdc and fic only use registers for the address to flush, --- 10162,10176 ---- if (!TARGET_64BIT) { ! tmp = adjust_address (m_tramp, Pmode, 48); emit_move_insn (tmp, fnaddr); ! tmp = adjust_address (m_tramp, Pmode, 52); emit_move_insn (tmp, chain_value); /* Create a fat pointer for the trampoline. */ ! tmp = adjust_address (m_tramp, Pmode, 56); emit_move_insn (tmp, r_tramp); ! tmp = adjust_address (m_tramp, Pmode, 60); emit_move_insn (tmp, gen_rtx_REG (Pmode, 19)); /* fdc and fic only use registers for the address to flush, *************** pa_trampoline_init (rtx m_tramp, tree fn *** 10206,10225 **** } #ifdef HAVE_ENABLE_EXECUTE_STACK !  emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), LCT_NORMAL, VOIDmode, XEXP (m_tramp, 0), Pmode); #endif } /* Perform any machine-specific adjustment in the address of the trampoline. ADDR contains the address that was passed to pa_trampoline_init. ! Adjust the trampoline address to point to the plabel at offset 44. */ static rtx pa_trampoline_adjust_address (rtx addr) { if (!TARGET_64BIT) ! addr = memory_address (Pmode, plus_constant (Pmode, addr, 46)); return addr; } --- 10222,10241 ---- } #ifdef HAVE_ENABLE_EXECUTE_STACK ! emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), LCT_NORMAL, VOIDmode, XEXP (m_tramp, 0), Pmode); #endif } /* Perform any machine-specific adjustment in the address of the trampoline. ADDR contains the address that was passed to pa_trampoline_init. ! Adjust the trampoline address to point to the plabel at offset 56. */ static rtx pa_trampoline_adjust_address (rtx addr) { if (!TARGET_64BIT) ! addr = memory_address (Pmode, plus_constant (Pmode, addr, 58)); return addr; } diff -Nrcpad gcc-9.2.0/gcc/config/pa/pa.h gcc-9.3.0/gcc/config/pa/pa.h *** gcc-9.2.0/gcc/config/pa/pa.h Fri Jun 7 23:20:44 2019 --- gcc-9.3.0/gcc/config/pa/pa.h Thu Mar 12 11:07:21 2020 *************** extern int may_call_alloca; *** 689,695 **** /* Length in units of the trampoline for entering a nested function. */ ! #define TRAMPOLINE_SIZE (TARGET_64BIT ? 72 : 52) /* Alignment required by the trampoline. */ --- 689,695 ---- /* Length in units of the trampoline for entering a nested function. */ ! #define TRAMPOLINE_SIZE (TARGET_64BIT ? 72 : 64) /* Alignment required by the trampoline. */ *************** do { \ *** 1293,1305 **** #endif /* The maximum offset in bytes for a PA 1.X pc-relative call to the ! head of the preceding stub table. The selected offsets have been ! chosen so that approximately one call stub is allocated for every ! 86.7 instructions. A long branch stub is two instructions when ! not generating PIC code. For HP-UX and ELF targets, PIC stubs are ! seven and four instructions, respectively. */ ! #define MAX_PCREL17F_OFFSET \ ! (flag_pic ? (TARGET_HPUX ? 198164 : 221312) : 240000) #define NEED_INDICATE_EXEC_STACK 0 --- 1293,1304 ---- #endif /* The maximum offset in bytes for a PA 1.X pc-relative call to the ! head of the preceding stub table. A long branch stub is two or three ! instructions for non-PIC and PIC, respectively. Import stubs are ! seven and five instructions for HP-UX and ELF targets, respectively. ! The default stub group size for ELF targets is 217856 bytes. ! FIXME: We need an option to set the maximum offset. */ ! #define MAX_PCREL17F_OFFSET (TARGET_HPUX ? 198164 : 217856) #define NEED_INDICATE_EXEC_STACK 0 diff -Nrcpad gcc-9.2.0/gcc/config/pa/pa.md gcc-9.3.0/gcc/config/pa/pa.md *** gcc-9.2.0/gcc/config/pa/pa.md Sun Jun 16 21:44:08 2019 --- gcc-9.3.0/gcc/config/pa/pa.md Thu Mar 12 11:07:21 2020 *************** *** 765,771 **** (define_insn "scc" [(set (match_operand:SI 0 "register_operand" "=r") ! (match_operator:SI 3 "comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]))] "" --- 765,771 ---- (define_insn "scc" [(set (match_operand:SI 0 "register_operand" "=r") ! (match_operator:SI 3 "ordered_comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]))] "" *************** *** 775,781 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (match_operator:DI 3 "comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]))] "TARGET_64BIT" --- 775,781 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (match_operator:DI 3 "ordered_comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]))] "TARGET_64BIT" *************** *** 785,794 **** (define_insn "iorscc" [(set (match_operand:SI 0 "register_operand" "=r") ! (ior:SI (match_operator:SI 3 "comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]) ! (match_operator:SI 6 "comparison_operator" [(match_operand:SI 4 "reg_or_0_operand" "rM") (match_operand:SI 5 "arith11_operand" "rI")])))] "" --- 785,794 ---- (define_insn "iorscc" [(set (match_operand:SI 0 "register_operand" "=r") ! (ior:SI (match_operator:SI 3 "ordered_comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]) ! (match_operator:SI 6 "ordered_comparison_operator" [(match_operand:SI 4 "reg_or_0_operand" "rM") (match_operand:SI 5 "arith11_operand" "rI")])))] "" *************** *** 798,807 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (ior:DI (match_operator:DI 3 "comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]) ! (match_operator:DI 6 "comparison_operator" [(match_operand:DI 4 "reg_or_0_operand" "rM") (match_operand:DI 5 "arith11_operand" "rI")])))] "TARGET_64BIT" --- 798,807 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (ior:DI (match_operator:DI 3 "ordered_comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]) ! (match_operator:DI 6 "ordered_comparison_operator" [(match_operand:DI 4 "reg_or_0_operand" "rM") (match_operand:DI 5 "arith11_operand" "rI")])))] "TARGET_64BIT" *************** *** 813,819 **** ;; from an scc insn (negscc and incscc). (define_insn "negscc" [(set (match_operand:SI 0 "register_operand" "=r") ! (neg:SI (match_operator:SI 3 "comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")])))] "" --- 813,819 ---- ;; from an scc insn (negscc and incscc). (define_insn "negscc" [(set (match_operand:SI 0 "register_operand" "=r") ! (neg:SI (match_operator:SI 3 "ordered_comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")])))] "" *************** *** 823,829 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (neg:DI (match_operator:DI 3 "comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")])))] "TARGET_64BIT" --- 823,829 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") ! (neg:DI (match_operator:DI 3 "ordered_comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")])))] "TARGET_64BIT" *************** *** 904,910 **** (define_insn "incscc" [(set (match_operand:SI 0 "register_operand" "=r,r") ! (plus:SI (match_operator:SI 4 "comparison_operator" [(match_operand:SI 2 "register_operand" "r,r") (match_operand:SI 3 "arith11_operand" "rI,rI")]) (match_operand:SI 1 "register_operand" "0,?r")))] --- 904,910 ---- (define_insn "incscc" [(set (match_operand:SI 0 "register_operand" "=r,r") ! (plus:SI (match_operator:SI 4 "ordered_comparison_operator" [(match_operand:SI 2 "register_operand" "r,r") (match_operand:SI 3 "arith11_operand" "rI,rI")]) (match_operand:SI 1 "register_operand" "0,?r")))] *************** *** 917,923 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r") ! (plus:DI (match_operator:DI 4 "comparison_operator" [(match_operand:DI 2 "register_operand" "r,r") (match_operand:DI 3 "arith11_operand" "rI,rI")]) (match_operand:DI 1 "register_operand" "0,?r")))] --- 917,923 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r") ! (plus:DI (match_operator:DI 4 "ordered_comparison_operator" [(match_operand:DI 2 "register_operand" "r,r") (match_operand:DI 3 "arith11_operand" "rI,rI")]) (match_operand:DI 1 "register_operand" "0,?r")))] *************** *** 1062,1068 **** (define_insn "decscc" [(set (match_operand:SI 0 "register_operand" "=r,r") (minus:SI (match_operand:SI 1 "register_operand" "0,?r") ! (match_operator:SI 4 "comparison_operator" [(match_operand:SI 2 "register_operand" "r,r") (match_operand:SI 3 "arith11_operand" "rI,rI")])))] "" --- 1062,1068 ---- (define_insn "decscc" [(set (match_operand:SI 0 "register_operand" "=r,r") (minus:SI (match_operand:SI 1 "register_operand" "0,?r") ! (match_operator:SI 4 "ordered_comparison_operator" [(match_operand:SI 2 "register_operand" "r,r") (match_operand:SI 3 "arith11_operand" "rI,rI")])))] "" *************** *** 1075,1081 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r") (minus:DI (match_operand:DI 1 "register_operand" "0,?r") ! (match_operator:DI 4 "comparison_operator" [(match_operand:DI 2 "register_operand" "r,r") (match_operand:DI 3 "arith11_operand" "rI,rI")])))] "TARGET_64BIT" --- 1075,1081 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r") (minus:DI (match_operand:DI 1 "register_operand" "0,?r") ! (match_operator:DI 4 "ordered_comparison_operator" [(match_operand:DI 2 "register_operand" "r,r") (match_operand:DI 3 "arith11_operand" "rI,rI")])))] "TARGET_64BIT" *************** *** 1242,1248 **** (define_expand "movsicc" [(set (match_operand:SI 0 "register_operand" "") (if_then_else:SI ! (match_operand 1 "comparison_operator" "") (match_operand:SI 2 "reg_or_cint_move_operand" "") (match_operand:SI 3 "reg_or_cint_move_operand" "")))] "" --- 1242,1248 ---- (define_expand "movsicc" [(set (match_operand:SI 0 "register_operand" "") (if_then_else:SI ! (match_operand 1 "ordered_comparison_operator" "") (match_operand:SI 2 "reg_or_cint_move_operand" "") (match_operand:SI 3 "reg_or_cint_move_operand" "")))] "" *************** *** 1264,1270 **** (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") (if_then_else:SI ! (match_operator 2 "comparison_operator" [(match_operand:SI 3 "register_operand" "r,r,r,r") (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI")]) (match_operand:SI 1 "reg_or_cint_move_operand" "0,J,N,K") --- 1264,1270 ---- (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") (if_then_else:SI ! (match_operator 2 "ordered_comparison_operator" [(match_operand:SI 3 "register_operand" "r,r,r,r") (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI")]) (match_operand:SI 1 "reg_or_cint_move_operand" "0,J,N,K") *************** *** 1281,1287 **** (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r,r,r,r,r,r,r,r") (if_then_else:SI ! (match_operator 5 "comparison_operator" [(match_operand:SI 3 "register_operand" "r,r,r,r,r,r,r,r") (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) (match_operand:SI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") --- 1281,1287 ---- (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r,r,r,r,r,r,r,r") (if_then_else:SI ! (match_operator 5 "ordered_comparison_operator" [(match_operand:SI 3 "register_operand" "r,r,r,r,r,r,r,r") (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) (match_operand:SI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") *************** *** 1302,1308 **** (define_expand "movdicc" [(set (match_operand:DI 0 "register_operand" "") (if_then_else:DI ! (match_operand 1 "comparison_operator" "") (match_operand:DI 2 "reg_or_cint_move_operand" "") (match_operand:DI 3 "reg_or_cint_move_operand" "")))] "TARGET_64BIT" --- 1302,1308 ---- (define_expand "movdicc" [(set (match_operand:DI 0 "register_operand" "") (if_then_else:DI ! (match_operand 1 "ordered_comparison_operator" "") (match_operand:DI 2 "reg_or_cint_move_operand" "") (match_operand:DI 3 "reg_or_cint_move_operand" "")))] "TARGET_64BIT" *************** *** 1318,1324 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r") (if_then_else:DI ! (match_operator 2 "comparison_operator" [(match_operand:DI 3 "register_operand" "r,r,r,r,r") (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI")]) (match_operand:DI 1 "reg_or_cint_move_operand" "0,r,J,N,K") --- 1318,1324 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r") (if_then_else:DI ! (match_operator 2 "ordered_comparison_operator" [(match_operand:DI 3 "register_operand" "r,r,r,r,r") (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI")]) (match_operand:DI 1 "reg_or_cint_move_operand" "0,r,J,N,K") *************** *** 1336,1342 **** (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r,r,r,r") (if_then_else:DI ! (match_operator 5 "comparison_operator" [(match_operand:DI 3 "register_operand" "r,r,r,r,r,r,r,r") (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) (match_operand:DI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") --- 1336,1342 ---- (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r,r,r,r") (if_then_else:DI ! (match_operator 5 "ordered_comparison_operator" [(match_operand:DI 3 "register_operand" "r,r,r,r,r,r,r,r") (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) (match_operand:DI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") *************** *** 1413,1419 **** (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith5_operand" "rL")]) (label_ref (match_operand 0 "" "")) --- 1413,1419 ---- (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "ordered_comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith5_operand" "rL")]) (label_ref (match_operand 0 "" "")) *************** *** 1442,1448 **** (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith5_operand" "rL")]) (pc) --- 1442,1448 ---- (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "ordered_comparison_operator" [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith5_operand" "rL")]) (pc) *************** *** 1469,1475 **** (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "reg_or_0_operand" "rM")]) (label_ref (match_operand 0 "" "")) --- 1469,1475 ---- (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "ordered_comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "reg_or_0_operand" "rM")]) (label_ref (match_operand 0 "" "")) *************** *** 1498,1504 **** (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "reg_or_0_operand" "rM")]) (pc) --- 1498,1504 ---- (define_insn "" [(set (pc) (if_then_else ! (match_operator 3 "ordered_comparison_operator" [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "reg_or_0_operand" "rM")]) (pc) *************** add,l %2,%3,%3\;bv,n %%r0(%3)" *** 9062,9068 **** (define_insn "decrement_and_branch_until_zero" [(set (pc) (if_then_else ! (match_operator 2 "comparison_operator" [(plus:SI (match_operand:SI 0 "reg_before_reload_operand" "+!r,!*f,*Q") (match_operand:SI 1 "int5_operand" "L,L,L")) --- 9062,9068 ---- (define_insn "decrement_and_branch_until_zero" [(set (pc) (if_then_else ! (match_operator 2 "ordered_comparison_operator" [(plus:SI (match_operand:SI 0 "reg_before_reload_operand" "+!r,!*f,*Q") (match_operand:SI 1 "int5_operand" "L,L,L")) *************** add,l %2,%3,%3\;bv,n %%r0(%3)" *** 10091,10113 **** (set_attr "length" "4,16")]) ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so ! ;; we need a memory barrier to enforce program order for memory references. ! ;; Since we want PA 1.x code to be PA 2.0 compatible, we also need the ! ;; barrier when generating PA 1.x code. (define_expand "memory_barrier" ! [(set (match_dup 0) ! (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))] "" { ! operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); MEM_VOLATILE_P (operands[0]) = 1; }) ! (define_insn "*memory_barrier" [(set (match_operand:BLK 0 "" "") ! (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))] ! "" ! "sync" [(set_attr "type" "binary") (set_attr "length" "4")]) --- 10091,10145 ---- (set_attr "length" "4,16")]) ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so ! ;; we need memory barriers to enforce program order for memory references ! ;; when the TLB and PSW O bits are not set. We assume all PA 2.0 systems ! ;; are weakly ordered since neither HP-UX or Linux set the PSW O bit. Since ! ;; we want PA 1.x code to be PA 2.0 compatible, we also need barriers when ! ;; generating PA 1.x code even though all PA 1.x systems are strongly ordered. ! ! ;; When barriers are needed, we use a strongly ordered ldcw instruction as ! ;; the barrier. Most PA 2.0 targets are cache coherent. In that case, we ! ;; can use the coherent cache control hint and avoid aligning the ldcw ! ;; address. In spite of its description, it is not clear that the sync ! ;; instruction works as a barrier. (define_expand "memory_barrier" ! [(parallel ! [(set (match_dup 0) (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ! (clobber (match_dup 1))])] "" { ! /* We don't need a barrier if the target uses ordered memory references. */ ! if (TARGET_ORDERED) ! FAIL; ! operands[1] = gen_reg_rtx (Pmode); ! operands[0] = gen_rtx_MEM (BLKmode, operands[1]); MEM_VOLATILE_P (operands[0]) = 1; }) ! (define_insn "*memory_barrier_coherent" [(set (match_operand:BLK 0 "" "") ! (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ! (clobber (match_operand 1 "pmode_register_operand" "=r"))] ! "TARGET_PA_20 && TARGET_COHERENT_LDCW" ! "ldcw,co 0(%%sp),%1" [(set_attr "type" "binary") (set_attr "length" "4")]) + + (define_insn "*memory_barrier_64" + [(set (match_operand:BLK 0 "" "") + (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) + (clobber (match_operand 1 "pmode_register_operand" "=&r"))] + "TARGET_64BIT" + "ldo 15(%%sp),%1\n\tdepd %%r0,63,3,%1\n\tldcw 0(%1),%1" + [(set_attr "type" "binary") + (set_attr "length" "12")]) + + (define_insn "*memory_barrier_32" + [(set (match_operand:BLK 0 "" "") + (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) + (clobber (match_operand 1 "pmode_register_operand" "=&r"))] + "" + "ldo 15(%%sp),%1\n\t{dep|depw} %%r0,31,3,%1\n\tldcw 0(%1),%1" + [(set_attr "type" "binary") + (set_attr "length" "12")]) diff -Nrcpad gcc-9.2.0/gcc/config/pa/pa.opt gcc-9.3.0/gcc/config/pa/pa.opt *** gcc-9.2.0/gcc/config/pa/pa.opt Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/pa/pa.opt Thu Mar 12 11:07:21 2020 *************** mcaller-copies *** 45,50 **** --- 45,54 ---- Target Report Mask(CALLER_COPIES) Caller copies function arguments passed by hidden reference. + mcoherent-ldcw + Target Report Var(TARGET_COHERENT_LDCW) Init(1) + Use ldcw/ldcd coherent cache-control hint. + mdisable-fpregs Target Report Mask(DISABLE_FPREGS) Disable FP regs. *************** mno-space-regs *** 90,95 **** --- 94,103 ---- Target RejectNegative Report Mask(NO_SPACE_REGS) Disable space regs. + mordered + Target Report Var(TARGET_ORDERED) Init(0) + Assume memory references are ordered and barriers are not needed. + mpa-risc-1-0 Target RejectNegative Generate PA1.0 code. diff -Nrcpad gcc-9.2.0/gcc/config/pa/pa32-linux.h gcc-9.3.0/gcc/config/pa/pa32-linux.h *** gcc-9.2.0/gcc/config/pa/pa32-linux.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/pa/pa32-linux.h Thu Mar 12 11:07:21 2020 *************** call_ ## FUNC (void) \ *** 76,78 **** --- 76,83 ---- rodata when generating non-PIC code. */ #undef JUMP_TABLES_IN_TEXT_SECTION #define JUMP_TABLES_IN_TEXT_SECTION (flag_pic) + + /* We need to override default selection to put references to functions + in COMDAT groups in .data.rel.ro.local. */ + #undef TARGET_ASM_SELECT_RTX_SECTION + #define TARGET_ASM_SELECT_RTX_SECTION pa_elf_select_rtx_section diff -Nrcpad gcc-9.2.0/gcc/config/pa/predicates.md gcc-9.3.0/gcc/config/pa/predicates.md *** gcc-9.2.0/gcc/config/pa/predicates.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/pa/predicates.md Thu Mar 12 11:07:21 2020 *************** *** 662,669 **** (and (match_code "symbol_ref") (match_test "SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC"))) ! ;; True iff this is a comparison operator. This allows the use of ! ;; MATCH_OPERATOR to recognize all the branch insns. (define_predicate "cmpib_comparison_operator" (match_code "eq,ne,lt,le,leu,gt,gtu,ge")) --- 662,669 ---- (and (match_code "symbol_ref") (match_test "SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC"))) ! ;; True iff OP is an operator suitable for use in a double-word cmpib ! ;; instruction. (define_predicate "cmpib_comparison_operator" (match_code "eq,ne,lt,le,leu,gt,gtu,ge")) diff -Nrcpad gcc-9.2.0/gcc/config/pa/som.h gcc-9.3.0/gcc/config/pa/som.h *** gcc-9.2.0/gcc/config/pa/som.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/pa/som.h Thu Mar 12 11:07:21 2020 *************** do { \ *** 98,105 **** #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ ! do { tree fntype = TREE_TYPE (TREE_TYPE (DECL)); \ ! tree tree_type = TREE_TYPE (DECL); \ tree parm; \ int i; \ if (TREE_PUBLIC (DECL) || TARGET_GAS) \ --- 98,105 ---- #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ ! do { tree tree_type = TREE_TYPE (DECL); \ ! tree fntype = TREE_TYPE (tree_type); \ tree parm; \ int i; \ if (TREE_PUBLIC (DECL) || TARGET_GAS) \ *************** do { \ *** 121,129 **** { \ tree type = DECL_ARG_TYPE (parm); \ machine_mode mode = TYPE_MODE (type); \ ! if (mode == SFmode && ! TARGET_SOFT_FLOAT) \ fprintf (FILE, ",ARGW%d=FR", i++); \ ! else if (mode == DFmode && ! TARGET_SOFT_FLOAT) \ { \ if (i <= 2) \ { \ --- 121,131 ---- { \ tree type = DECL_ARG_TYPE (parm); \ machine_mode mode = TYPE_MODE (type); \ ! if (!AGGREGATE_TYPE_P (type) \ ! && mode == SFmode && ! TARGET_SOFT_FLOAT) \ fprintf (FILE, ",ARGW%d=FR", i++); \ ! else if (!AGGREGATE_TYPE_P (type) \ ! && mode == DFmode && ! TARGET_SOFT_FLOAT) \ { \ if (i <= 2) \ { \ *************** do { \ *** 158,166 **** for (; i < 4; i++) \ fprintf (FILE, ",ARGW%d=GR", i); \ } \ ! if (TYPE_MODE (fntype) == DFmode && ! TARGET_SOFT_FLOAT) \ fputs (DFMODE_RETURN_STRING, FILE); \ ! else if (TYPE_MODE (fntype) == SFmode && ! TARGET_SOFT_FLOAT) \ fputs (SFMODE_RETURN_STRING, FILE); \ else if (fntype != void_type_node) \ fputs (",RTNVAL=GR", FILE); \ --- 160,172 ---- for (; i < 4; i++) \ fprintf (FILE, ",ARGW%d=GR", i); \ } \ ! if (!AGGREGATE_TYPE_P (fntype) \ ! && TYPE_MODE (fntype) == DFmode \ ! && ! TARGET_SOFT_FLOAT) \ fputs (DFMODE_RETURN_STRING, FILE); \ ! else if (!AGGREGATE_TYPE_P (fntype) \ ! && TYPE_MODE (fntype) == SFmode \ ! && ! TARGET_SOFT_FLOAT) \ fputs (SFMODE_RETURN_STRING, FILE); \ else if (fntype != void_type_node) \ fputs (",RTNVAL=GR", FILE); \ diff -Nrcpad gcc-9.2.0/gcc/config/riscv/riscv-protos.h gcc-9.3.0/gcc/config/riscv/riscv-protos.h *** gcc-9.2.0/gcc/config/riscv/riscv-protos.h Tue Mar 26 19:41:02 2019 --- gcc-9.3.0/gcc/config/riscv/riscv-protos.h Thu Mar 12 11:07:21 2020 *************** extern int riscv_const_insns (rtx); *** 44,53 **** extern int riscv_split_const_insns (rtx); extern int riscv_load_store_insns (rtx, rtx_insn *); extern rtx riscv_emit_move (rtx, rtx); ! extern bool riscv_split_symbol (rtx, rtx, machine_mode, rtx *); extern bool riscv_split_symbol_type (enum riscv_symbol_type); extern rtx riscv_unspec_address (rtx, enum riscv_symbol_type); ! extern void riscv_move_integer (rtx, rtx, HOST_WIDE_INT); extern bool riscv_legitimize_move (machine_mode, rtx, rtx); extern rtx riscv_subword (rtx, bool); extern bool riscv_split_64bit_move_p (rtx, rtx); --- 44,53 ---- extern int riscv_split_const_insns (rtx); extern int riscv_load_store_insns (rtx, rtx_insn *); extern rtx riscv_emit_move (rtx, rtx); ! extern bool riscv_split_symbol (rtx, rtx, machine_mode, rtx *, bool); extern bool riscv_split_symbol_type (enum riscv_symbol_type); extern rtx riscv_unspec_address (rtx, enum riscv_symbol_type); ! extern void riscv_move_integer (rtx, rtx, HOST_WIDE_INT, bool); extern bool riscv_legitimize_move (machine_mode, rtx, rtx); extern rtx riscv_subword (rtx, bool); extern bool riscv_split_64bit_move_p (rtx, rtx); *************** extern void riscv_init_builtins (void); *** 88,91 **** --- 88,93 ---- /* Routines implemented in riscv-common.c. */ extern std::string riscv_arch_str (); + extern bool riscv_hard_regno_rename_ok (unsigned, unsigned); + #endif /* ! GCC_RISCV_PROTOS_H */ diff -Nrcpad gcc-9.2.0/gcc/config/riscv/riscv.c gcc-9.3.0/gcc/config/riscv/riscv.c *** gcc-9.2.0/gcc/config/riscv/riscv.c Mon Aug 5 07:54:31 2019 --- gcc-9.3.0/gcc/config/riscv/riscv.c Thu Mar 12 11:07:21 2020 *************** riscv_split_integer (HOST_WIDE_INT val, *** 508,515 **** unsigned HOST_WIDE_INT hival = sext_hwi ((val - loval) >> 32, 32); rtx hi = gen_reg_rtx (mode), lo = gen_reg_rtx (mode); ! riscv_move_integer (hi, hi, hival); ! riscv_move_integer (lo, lo, loval); hi = gen_rtx_fmt_ee (ASHIFT, mode, hi, GEN_INT (32)); hi = force_reg (mode, hi); --- 508,515 ---- unsigned HOST_WIDE_INT hival = sext_hwi ((val - loval) >> 32, 32); rtx hi = gen_reg_rtx (mode), lo = gen_reg_rtx (mode); ! riscv_move_integer (hi, hi, hival, FALSE); ! riscv_move_integer (lo, lo, loval, FALSE); hi = gen_rtx_fmt_ee (ASHIFT, mode, hi, GEN_INT (32)); hi = force_reg (mode, hi); *************** riscv_force_binary (machine_mode mode, e *** 1021,1029 **** are allowed, copy it into a new register, otherwise use DEST. */ static rtx ! riscv_force_temporary (rtx dest, rtx value) { ! if (can_create_pseudo_p ()) return force_reg (Pmode, value); else { --- 1021,1032 ---- are allowed, copy it into a new register, otherwise use DEST. */ static rtx ! riscv_force_temporary (rtx dest, rtx value, bool in_splitter) { ! /* We can't call gen_reg_rtx from a splitter, because this might realloc ! the regno_reg_rtx array, which would invalidate reg rtx pointers in the ! combine undo buffer. */ ! if (can_create_pseudo_p () && !in_splitter) return force_reg (Pmode, value); else { *************** static rtx *** 1082,1088 **** riscv_unspec_offset_high (rtx temp, rtx addr, enum riscv_symbol_type symbol_type) { addr = gen_rtx_HIGH (Pmode, riscv_unspec_address (addr, symbol_type)); ! return riscv_force_temporary (temp, addr); } /* Load an entry from the GOT for a TLS GD access. */ --- 1085,1091 ---- riscv_unspec_offset_high (rtx temp, rtx addr, enum riscv_symbol_type symbol_type) { addr = gen_rtx_HIGH (Pmode, riscv_unspec_address (addr, symbol_type)); ! return riscv_force_temporary (temp, addr, FALSE); } /* Load an entry from the GOT for a TLS GD access. */ *************** static rtx riscv_tls_add_tp_le (rtx dest *** 1130,1136 **** is guaranteed to be a legitimate address for mode MODE. */ bool ! riscv_split_symbol (rtx temp, rtx addr, machine_mode mode, rtx *low_out) { enum riscv_symbol_type symbol_type; --- 1133,1140 ---- is guaranteed to be a legitimate address for mode MODE. */ bool ! riscv_split_symbol (rtx temp, rtx addr, machine_mode mode, rtx *low_out, ! bool in_splitter) { enum riscv_symbol_type symbol_type; *************** riscv_split_symbol (rtx temp, rtx addr, *** 1146,1152 **** case SYMBOL_ABSOLUTE: { rtx high = gen_rtx_HIGH (Pmode, copy_rtx (addr)); ! high = riscv_force_temporary (temp, high); *low_out = gen_rtx_LO_SUM (Pmode, high, addr); } break; --- 1150,1156 ---- case SYMBOL_ABSOLUTE: { rtx high = gen_rtx_HIGH (Pmode, copy_rtx (addr)); ! high = riscv_force_temporary (temp, high, in_splitter); *low_out = gen_rtx_LO_SUM (Pmode, high, addr); } break; *************** riscv_add_offset (rtx temp, rtx reg, HOS *** 1205,1212 **** overflow, so we need to force a sign-extension check. */ high = gen_int_mode (CONST_HIGH_PART (offset), Pmode); offset = CONST_LOW_PART (offset); ! high = riscv_force_temporary (temp, high); ! reg = riscv_force_temporary (temp, gen_rtx_PLUS (Pmode, high, reg)); } return plus_constant (Pmode, reg, offset); } --- 1209,1217 ---- overflow, so we need to force a sign-extension check. */ high = gen_int_mode (CONST_HIGH_PART (offset), Pmode); offset = CONST_LOW_PART (offset); ! high = riscv_force_temporary (temp, high, FALSE); ! reg = riscv_force_temporary (temp, gen_rtx_PLUS (Pmode, high, reg), ! FALSE); } return plus_constant (Pmode, reg, offset); } *************** riscv_legitimize_address (rtx x, rtx old *** 1315,1321 **** return riscv_legitimize_tls_address (x); /* See if the address can split into a high part and a LO_SUM. */ ! if (riscv_split_symbol (NULL, x, mode, &addr)) return riscv_force_address (addr, mode); /* Handle BASE + OFFSET using riscv_add_offset. */ --- 1320,1326 ---- return riscv_legitimize_tls_address (x); /* See if the address can split into a high part and a LO_SUM. */ ! if (riscv_split_symbol (NULL, x, mode, &addr, FALSE)) return riscv_force_address (addr, mode); /* Handle BASE + OFFSET using riscv_add_offset. */ *************** riscv_legitimize_address (rtx x, rtx old *** 1337,1353 **** /* Load VALUE into DEST. TEMP is as for riscv_force_temporary. */ void ! riscv_move_integer (rtx temp, rtx dest, HOST_WIDE_INT value) { struct riscv_integer_op codes[RISCV_MAX_INTEGER_OPS]; machine_mode mode; int i, num_ops; rtx x; mode = GET_MODE (dest); num_ops = riscv_build_integer (codes, value, mode); ! if (can_create_pseudo_p () && num_ops > 2 /* not a simple constant */ && num_ops >= riscv_split_integer_cost (value)) x = riscv_split_integer (value, mode); else --- 1342,1364 ---- /* Load VALUE into DEST. TEMP is as for riscv_force_temporary. */ void ! riscv_move_integer (rtx temp, rtx dest, HOST_WIDE_INT value, ! bool in_splitter) { struct riscv_integer_op codes[RISCV_MAX_INTEGER_OPS]; machine_mode mode; int i, num_ops; rtx x; + /* We can't call gen_reg_rtx from a splitter, because this might realloc + the regno_reg_rtx array, which would invalidate reg rtx pointers in the + combine undo buffer. */ + bool can_create_pseudo = can_create_pseudo_p () && ! in_splitter; + mode = GET_MODE (dest); num_ops = riscv_build_integer (codes, value, mode); ! if (can_create_pseudo && num_ops > 2 /* not a simple constant */ && num_ops >= riscv_split_integer_cost (value)) x = riscv_split_integer (value, mode); else *************** riscv_move_integer (rtx temp, rtx dest, *** 1357,1363 **** for (i = 1; i < num_ops; i++) { ! if (!can_create_pseudo_p ()) x = riscv_emit_set (temp, x); else x = force_reg (mode, x); --- 1368,1374 ---- for (i = 1; i < num_ops; i++) { ! if (!can_create_pseudo) x = riscv_emit_set (temp, x); else x = force_reg (mode, x); *************** riscv_legitimize_const_move (machine_mod *** 1381,1392 **** /* Split moves of big integers into smaller pieces. */ if (splittable_const_int_operand (src, mode)) { ! riscv_move_integer (dest, dest, INTVAL (src)); return; } /* Split moves of symbolic constants into high/low pairs. */ ! if (riscv_split_symbol (dest, src, MAX_MACHINE_MODE, &src)) { riscv_emit_set (dest, src); return; --- 1392,1403 ---- /* Split moves of big integers into smaller pieces. */ if (splittable_const_int_operand (src, mode)) { ! riscv_move_integer (dest, dest, INTVAL (src), FALSE); return; } /* Split moves of symbolic constants into high/low pairs. */ ! if (riscv_split_symbol (dest, src, MAX_MACHINE_MODE, &src, FALSE)) { riscv_emit_set (dest, src); return; *************** riscv_legitimize_const_move (machine_mod *** 1407,1413 **** if (offset != const0_rtx && (targetm.cannot_force_const_mem (mode, src) || can_create_pseudo_p ())) { ! base = riscv_force_temporary (dest, base); riscv_emit_move (dest, riscv_add_offset (NULL, base, INTVAL (offset))); return; } --- 1418,1424 ---- if (offset != const0_rtx && (targetm.cannot_force_const_mem (mode, src) || can_create_pseudo_p ())) { ! base = riscv_force_temporary (dest, base, FALSE); riscv_emit_move (dest, riscv_add_offset (NULL, base, INTVAL (offset))); return; } *************** riscv_legitimize_const_move (machine_mod *** 1416,1422 **** /* When using explicit relocs, constant pool references are sometimes not legitimate addresses. */ ! riscv_split_symbol (dest, XEXP (src, 0), mode, &XEXP (src, 0)); riscv_emit_move (dest, src); } --- 1427,1433 ---- /* When using explicit relocs, constant pool references are sometimes not legitimate addresses. */ ! riscv_split_symbol (dest, XEXP (src, 0), mode, &XEXP (src, 0), FALSE); riscv_emit_move (dest, src); } *************** riscv_rtx_costs (rtx x, machine_mode mod *** 1601,1607 **** case ZERO_EXTRACT: /* This is an SImode shift. */ ! if (outer_code == SET && (INTVAL (XEXP (x, 2)) > 0) && (INTVAL (XEXP (x, 1)) + INTVAL (XEXP (x, 2)) == 32)) { *total = COSTS_N_INSNS (SINGLE_SHIFT_COST); --- 1612,1621 ---- case ZERO_EXTRACT: /* This is an SImode shift. */ ! if (outer_code == SET ! && CONST_INT_P (XEXP (x, 1)) ! && CONST_INT_P (XEXP (x, 2)) ! && (INTVAL (XEXP (x, 2)) > 0) && (INTVAL (XEXP (x, 1)) + INTVAL (XEXP (x, 2)) == 32)) { *total = COSTS_N_INSNS (SINGLE_SHIFT_COST); *************** riscv_print_operand_reloc (FILE *file, r *** 3078,3084 **** break; default: ! gcc_unreachable (); } fprintf (file, "%s(", reloc); --- 3092,3099 ---- break; default: ! output_operand_lossage ("invalid use of '%%%c'", hi_reloc ? 'h' : 'R'); ! return; } fprintf (file, "%s(", reloc); *************** riscv_promote_function_mode (const_tree *** 4892,4897 **** --- 4907,4925 ---- return mode; } + /* Return nonzero if register FROM_REGNO can be renamed to register + TO_REGNO. */ + + bool + riscv_hard_regno_rename_ok (unsigned from_regno ATTRIBUTE_UNUSED, + unsigned to_regno) + { + /* Interrupt functions can only use registers that have already been + saved by the prologue, even if they would normally be + call-clobbered. */ + return !cfun->machine->interrupt_handler_p || df_regs_ever_live_p (to_regno); + } + /* Initialize the GCC target structure. */ #undef TARGET_ASM_ALIGNED_HI_OP #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t" diff -Nrcpad gcc-9.2.0/gcc/config/riscv/riscv.h gcc-9.3.0/gcc/config/riscv/riscv.h *** gcc-9.2.0/gcc/config/riscv/riscv.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/riscv/riscv.h Thu Mar 12 11:07:21 2020 *************** extern unsigned riscv_stack_boundary; *** 908,911 **** --- 908,913 ---- #define SWSP_REACH (4LL << C_SxSP_BITS) #define SDSP_REACH (8LL << C_SxSP_BITS) + #define HARD_REGNO_RENAME_OK(FROM, TO) riscv_hard_regno_rename_ok (FROM, TO) + #endif /* ! GCC_RISCV_H */ diff -Nrcpad gcc-9.2.0/gcc/config/riscv/riscv.md gcc-9.3.0/gcc/config/riscv/riscv.md *** gcc-9.2.0/gcc/config/riscv/riscv.md Thu Jul 18 07:00:32 2019 --- gcc-9.3.0/gcc/config/riscv/riscv.md Thu Mar 12 11:07:21 2020 *************** *** 1051,1057 **** "@ # lwu\t%0,%1" ! "&& reload_completed && REG_P (operands[1])" [(set (match_dup 0) (ashift:DI (match_dup 1) (const_int 32))) (set (match_dup 0) --- 1051,1059 ---- "@ # lwu\t%0,%1" ! "&& reload_completed ! && REG_P (operands[1]) ! && !paradoxical_subreg_p (operands[0])" [(set (match_dup 0) (ashift:DI (match_dup 1) (const_int 32))) (set (match_dup 0) *************** *** 1068,1074 **** "@ # lhu\t%0,%1" ! "&& reload_completed && REG_P (operands[1])" [(set (match_dup 0) (ashift:GPR (match_dup 1) (match_dup 2))) (set (match_dup 0) --- 1070,1078 ---- "@ # lhu\t%0,%1" ! "&& reload_completed ! && REG_P (operands[1]) ! && !paradoxical_subreg_p (operands[0])" [(set (match_dup 0) (ashift:GPR (match_dup 1) (match_dup 2))) (set (match_dup 0) *************** *** 1117,1123 **** "@ # l\t%0,%1" ! "&& reload_completed && REG_P (operands[1])" [(set (match_dup 0) (ashift:SI (match_dup 1) (match_dup 2))) (set (match_dup 0) (ashiftrt:SI (match_dup 0) (match_dup 2)))] { --- 1121,1129 ---- "@ # l\t%0,%1" ! "&& reload_completed ! && REG_P (operands[1]) ! && !paradoxical_subreg_p (operands[0])" [(set (match_dup 0) (ashift:SI (match_dup 1) (match_dup 2))) (set (match_dup 0) (ashiftrt:SI (match_dup 0) (match_dup 2)))] { *************** *** 1278,1284 **** "" [(const_int 0)] { ! riscv_move_integer (operands[2], operands[0], INTVAL (operands[1])); DONE; }) --- 1284,1290 ---- "" [(const_int 0)] { ! riscv_move_integer (operands[2], operands[0], INTVAL (operands[1]), TRUE); DONE; }) *************** *** 1287,1297 **** [(set (match_operand:P 0 "register_operand") (match_operand:P 1)) (clobber (match_operand:P 2 "register_operand"))] ! "riscv_split_symbol (operands[2], operands[1], MAX_MACHINE_MODE, NULL)" [(set (match_dup 0) (match_dup 3))] { riscv_split_symbol (operands[2], operands[1], ! MAX_MACHINE_MODE, &operands[3]); }) ;; 64-bit integer moves --- 1293,1303 ---- [(set (match_operand:P 0 "register_operand") (match_operand:P 1)) (clobber (match_operand:P 2 "register_operand"))] ! "riscv_split_symbol (operands[2], operands[1], MAX_MACHINE_MODE, NULL, TRUE)" [(set (match_dup 0) (match_dup 3))] { riscv_split_symbol (operands[2], operands[1], ! MAX_MACHINE_MODE, &operands[3], TRUE); }) ;; 64-bit integer moves *************** *** 1765,1779 **** ;; Handle AND with 2^N-1 for N from 12 to XLEN. This can be split into ;; two logical shifts. Otherwise it requires 3 instructions: lui, ;; xor/addi/srli, and. (define_split [(set (match_operand:GPR 0 "register_operand") (and:GPR (match_operand:GPR 1 "register_operand") ! (match_operand:GPR 2 "p2m1_shift_operand")))] "" ! [(set (match_dup 0) (ashift:GPR (match_dup 1) (match_dup 2))) (set (match_dup 0) ! (lshiftrt:GPR (match_dup 0) (match_dup 2)))] { /* Op2 is a VOIDmode constant, so get the mode size from op1. */ operands[2] = GEN_INT (GET_MODE_BITSIZE (GET_MODE (operands[1])) --- 1771,1790 ---- ;; Handle AND with 2^N-1 for N from 12 to XLEN. This can be split into ;; two logical shifts. Otherwise it requires 3 instructions: lui, ;; xor/addi/srli, and. + + ;; Generating a temporary for the shift output gives better combiner results; + ;; and also fixes a problem where op0 could be a paradoxical reg and shifting + ;; by amounts larger than the size of the SUBREG_REG doesn't work. (define_split [(set (match_operand:GPR 0 "register_operand") (and:GPR (match_operand:GPR 1 "register_operand") ! (match_operand:GPR 2 "p2m1_shift_operand"))) ! (clobber (match_operand:GPR 3 "register_operand"))] "" ! [(set (match_dup 3) (ashift:GPR (match_dup 1) (match_dup 2))) (set (match_dup 0) ! (lshiftrt:GPR (match_dup 3) (match_dup 2)))] { /* Op2 is a VOIDmode constant, so get the mode size from op1. */ operands[2] = GEN_INT (GET_MODE_BITSIZE (GET_MODE (operands[1])) *************** *** 1785,1796 **** (define_split [(set (match_operand:DI 0 "register_operand") (and:DI (match_operand:DI 1 "register_operand") ! (match_operand:DI 2 "high_mask_shift_operand")))] "TARGET_64BIT" ! [(set (match_dup 0) (lshiftrt:DI (match_dup 1) (match_dup 2))) (set (match_dup 0) ! (ashift:DI (match_dup 0) (match_dup 2)))] { operands[2] = GEN_INT (ctz_hwi (INTVAL (operands[2]))); }) --- 1796,1808 ---- (define_split [(set (match_operand:DI 0 "register_operand") (and:DI (match_operand:DI 1 "register_operand") ! (match_operand:DI 2 "high_mask_shift_operand"))) ! (clobber (match_operand:DI 3 "register_operand"))] "TARGET_64BIT" ! [(set (match_dup 3) (lshiftrt:DI (match_dup 1) (match_dup 2))) (set (match_dup 0) ! (ashift:DI (match_dup 3) (match_dup 2)))] { operands[2] = GEN_INT (ctz_hwi (INTVAL (operands[2]))); }) diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/altivec.md gcc-9.3.0/gcc/config/rs6000/altivec.md *** gcc-9.2.0/gcc/config/rs6000/altivec.md Thu Jan 24 22:48:06 2019 --- gcc-9.3.0/gcc/config/rs6000/altivec.md Thu Mar 12 11:07:21 2020 *************** *** 80,88 **** UNSPEC_VUPKHPX UNSPEC_VUPKLPX UNSPEC_CONVERT_4F32_8I16 - UNSPEC_DARN - UNSPEC_DARN_32 - UNSPEC_DARN_RAW UNSPEC_DST UNSPEC_DSTT UNSPEC_DSTST --- 80,85 ---- *************** *** 161,169 **** UNSPEC_BCDADD UNSPEC_BCDSUB UNSPEC_BCD_OVERFLOW - UNSPEC_CMPRB - UNSPEC_CMPRB2 - UNSPEC_CMPEQB UNSPEC_VRLMI UNSPEC_VRLNM ]) --- 158,163 ---- *************** *** 566,572 **** [(set_attr "type" "vecsimple")]) ;; ! (define_insn "altivec_vavgu" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] --- 560,566 ---- [(set_attr "type" "vecsimple")]) ;; ! (define_insn "uavg3_ceil" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] *************** *** 575,581 **** "vavgu %0,%1,%2" [(set_attr "type" "vecsimple")]) ! (define_insn "altivec_vavgs" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] --- 569,575 ---- "vavgu %0,%1,%2" [(set_attr "type" "vecsimple")]) ! (define_insn "avg3_ceil" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] *************** *** 4101,4323 **** "bcd. %0,%1,%2,%3" [(set_attr "type" "vecsimple")]) - (define_insn "darn_32" - [(set (match_operand:SI 0 "register_operand" "=r") - (unspec:SI [(const_int 0)] UNSPEC_DARN_32))] - "TARGET_P9_MISC" - "darn %0,0" - [(set_attr "type" "integer")]) - - (define_insn "darn_raw" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))] - "TARGET_P9_MISC && TARGET_64BIT" - "darn %0,2" - [(set_attr "type" "integer")]) - - (define_insn "darn" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec:DI [(const_int 0)] UNSPEC_DARN))] - "TARGET_P9_MISC && TARGET_64BIT" - "darn %0,1" - [(set_attr "type" "integer")]) - - ;; Test byte within range. - ;; - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the range specified by operand 2. - ;; The bytes of operand 2 are organized as xx:xx:hi:lo. - ;; - ;; Return in target register operand 0 a value of 1 if lo <= vv and - ;; vv <= hi. Otherwise, set register operand 0 to 0. - ;; - ;; Though the instructions to which this expansion maps operate on - ;; 64-bit registers, the current implementation only operates on - ;; SI-mode operands as the high-order bits provide no information - ;; that is not already available in the low-order bits. To avoid the - ;; costs of data widening operations, future enhancements might allow - ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. - (define_expand "cmprb" - [(set (match_dup 3) - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:SI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPRB)) - (set (match_operand:SI 0 "gpc_reg_operand" "=r") - (if_then_else:SI (lt (match_dup 3) - (const_int 0)) - (const_int -1) - (if_then_else (gt (match_dup 3) - (const_int 0)) - (const_int 1) - (const_int 0))))] - "TARGET_P9_MISC" - { - operands[3] = gen_reg_rtx (CCmode); - }) - - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the range specified by operand 2. - ;; The bytes of operand 2 are organized as xx:xx:hi:lo. - ;; - ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if - ;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other - ;; 3 bits of the target CR register are all set to 0. - (define_insn "*cmprb_internal" - [(set (match_operand:CC 0 "cc_reg_operand" "=y") - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:SI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPRB))] - "TARGET_P9_MISC" - "cmprb %0,0,%1,%2" - [(set_attr "type" "logical")]) - - ;; Set operand 0 register to -1 if the LT bit (0x8) of condition - ;; register operand 1 is on. Otherwise, set operand 0 register to 1 - ;; if the GT bit (0x4) of condition register operand 1 is on. - ;; Otherwise, set operand 0 to 0. Note that the result stored into - ;; register operand 0 is non-zero iff either the LT or GT bits are on - ;; within condition register operand 1. - (define_insn "setb_signed" - [(set (match_operand:SI 0 "gpc_reg_operand" "=r") - (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y") - (const_int 0)) - (const_int -1) - (if_then_else (gt (match_dup 1) - (const_int 0)) - (const_int 1) - (const_int 0))))] - "TARGET_P9_MISC" - "setb %0,%1" - [(set_attr "type" "logical")]) - - (define_insn "setb_unsigned" - [(set (match_operand:SI 0 "gpc_reg_operand" "=r") - (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y") - (const_int 0)) - (const_int -1) - (if_then_else (gtu (match_dup 1) - (const_int 0)) - (const_int 1) - (const_int 0))))] - "TARGET_P9_MISC" - "setb %0,%1" - [(set_attr "type" "logical")]) - - ;; Test byte within two ranges. - ;; - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the range specified by operand 2. - ;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. - ;; - ;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and - ;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register - ;; operand 0 to 0. - ;; - ;; Though the instructions to which this expansion maps operate on - ;; 64-bit registers, the current implementation only operates on - ;; SI-mode operands as the high-order bits provide no information - ;; that is not already available in the low-order bits. To avoid the - ;; costs of data widening operations, future enhancements might allow - ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. - (define_expand "cmprb2" - [(set (match_dup 3) - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:SI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPRB2)) - (set (match_operand:SI 0 "gpc_reg_operand" "=r") - (if_then_else:SI (lt (match_dup 3) - (const_int 0)) - (const_int -1) - (if_then_else (gt (match_dup 3) - (const_int 0)) - (const_int 1) - (const_int 0))))] - "TARGET_P9_MISC" - { - operands[3] = gen_reg_rtx (CCmode); - }) - - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the ranges specified by operand 2. - ;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. - ;; - ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if - ;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). - ;; Otherwise, set the GT bit to 0. The other 3 bits of the target - ;; CR register are all set to 0. - (define_insn "*cmprb2_internal" - [(set (match_operand:CC 0 "cc_reg_operand" "=y") - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:SI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPRB2))] - "TARGET_P9_MISC" - "cmprb %0,1,%1,%2" - [(set_attr "type" "logical")]) - - ;; Test byte membership within set of 8 bytes. - ;; - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the set specified by operand 2. - ;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. - ;; - ;; Return in target register operand 0 a value of 1 if vv equals one - ;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set - ;; register operand 0 to 0. Note that the 8 byte values held within - ;; operand 2 need not be unique. - ;; - ;; Though the instructions to which this expansion maps operate on - ;; 64-bit registers, the current implementation requires that operands - ;; 0 and 1 have mode SI as the high-order bits provide no information - ;; that is not already available in the low-order bits. To avoid the - ;; costs of data widening operations, future enhancements might allow - ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. - (define_expand "cmpeqb" - [(set (match_dup 3) - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:DI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPEQB)) - (set (match_operand:SI 0 "gpc_reg_operand" "=r") - (if_then_else:SI (lt (match_dup 3) - (const_int 0)) - (const_int -1) - (if_then_else (gt (match_dup 3) - (const_int 0)) - (const_int 1) - (const_int 0))))] - "TARGET_P9_MISC && TARGET_64BIT" - { - operands[3] = gen_reg_rtx (CCmode); - }) - - ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx - ;; represents a byte whose value is ignored in this context and - ;; vv, the least significant byte, holds the byte value that is to - ;; be tested for membership within the set specified by operand 2. - ;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. - ;; - ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv - ;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, - ;; set the GT bit to zero. The other 3 bits of the target CR register - ;; are all set to 0. - (define_insn "*cmpeqb_internal" - [(set (match_operand:CC 0 "cc_reg_operand" "=y") - (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") - (match_operand:DI 2 "gpc_reg_operand" "r")] - UNSPEC_CMPEQB))] - "TARGET_P9_MISC && TARGET_64BIT" - "cmpeqb %0,%1,%2" - [(set_attr "type" "logical")]) - (define_expand "bcd_" [(parallel [(set (reg:CCFP CR6_REGNO) (compare:CCFP --- 4095,4100 ---- diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/darwin.h gcc-9.3.0/gcc/config/rs6000/darwin.h *** gcc-9.2.0/gcc/config/rs6000/darwin.h Sat Aug 3 20:16:22 2019 --- gcc-9.3.0/gcc/config/rs6000/darwin.h Thu Mar 12 11:07:21 2020 *************** *** 53,71 **** #define TARGET_OS_CPP_BUILTINS() \ do \ { \ - if (!TARGET_64BIT) builtin_define ("__ppc__"); \ - if (!TARGET_64BIT) builtin_define ("__PPC__"); \ - if (TARGET_64BIT) builtin_define ("__ppc64__"); \ - if (TARGET_64BIT) builtin_define ("__PPC64__"); \ builtin_define ("__POWERPC__"); \ builtin_define ("__NATURAL_ALIGNMENT__"); \ darwin_cpp_builtins (pfile); \ } \ while (0) - /* Generate branch islands stubs if this is true. */ - extern int darwin_emit_branch_islands; - #define SUBTARGET_OVERRIDE_OPTIONS darwin_rs6000_override_options () #define C_COMMON_OVERRIDE_OPTIONS do { \ --- 53,80 ---- #define TARGET_OS_CPP_BUILTINS() \ do \ { \ builtin_define ("__POWERPC__"); \ + builtin_define ("__PPC__"); \ + if (TARGET_64BIT) \ + { \ + builtin_define ("__ppc64__"); \ + builtin_define ("__PPC64__"); \ + builtin_define ("__powerpc64__"); \ + builtin_assert ("cpu=powerpc64"); \ + builtin_assert ("machine=powerpc64"); \ + } \ + else \ + { \ + builtin_define ("__ppc__"); \ + builtin_define_std ("PPC"); \ + builtin_assert ("cpu=powerpc"); \ + builtin_assert ("machine=powerpc"); \ + } \ builtin_define ("__NATURAL_ALIGNMENT__"); \ darwin_cpp_builtins (pfile); \ } \ while (0) #define SUBTARGET_OVERRIDE_OPTIONS darwin_rs6000_override_options () #define C_COMMON_OVERRIDE_OPTIONS do { \ *************** extern int darwin_emit_branch_islands; *** 127,135 **** %:version-compare(>< 10.5 10.7 mmacosx-version-min= -lcrt1.10.5.o) \ %{fgnu-tm: -lcrttms.o}" ! /* crt2.o is at least partially required for 10.3.x and earlier. */ #define DARWIN_CRT2_SPEC \ ! "%{!m64:%:version-compare(!> 10.4 mmacosx-version-min= crt2.o%s)}" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ --- 136,177 ---- %:version-compare(>< 10.5 10.7 mmacosx-version-min= -lcrt1.10.5.o) \ %{fgnu-tm: -lcrttms.o}" ! /* crt2.o is at least partially required for 10.3.x and earlier. ! It deals with registration of the unwind frames, where this is not ! automatically provided by the system. So we need it for any case that ! might use exceptions. */ ! #undef DARWIN_CRT2_SPEC #define DARWIN_CRT2_SPEC \ ! "%{!m64:%{shared-libgcc|static-libstdc++|fexceptions|fobjc-exceptions|fgnu-runtime: \ ! %:version-compare(!> 10.4 mmacosx-version-min= crt2.o%s) \ ! }}" ! ! /* crt3 deals with providing cxa_atexit on earlier systems (or fixing it up, ! for broken versions). It's only needed for c++ code, so we can make it ! conditional on shared-libgcc since that's forced on for c++. */ ! #undef DARWIN_CRT3_SPEC ! #define DARWIN_CRT3_SPEC \ ! "%{!m64:%{shared-libgcc|static-libstdc++: \ ! %:version-compare(>< 10.4 10.5 mmacosx-version-min= crt3.o%s) \ ! %:version-compare(!> 10.4 mmacosx-version-min= crt3_2.o%s) \ ! }}" ! ! /* As for crt1, we need to force the dylib crt for 10.6. */ ! #undef DARWIN_DYLIB1_SPEC ! #define DARWIN_DYLIB1_SPEC \ ! "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ ! %:version-compare(>< 10.5 10.7 mmacosx-version-min= -ldylib1.10.5.o)" ! ! /* Likewise, the bundle crt. */ ! #undef DARWIN_BUNDLE1_SPEC ! #define DARWIN_BUNDLE1_SPEC \ ! "%{!static:%:version-compare(< 10.7 mmacosx-version-min= -lbundle1.o) \ ! %{fgnu-tm: -lcrttms.o}}" ! ! /* The PPC regs save/restore functions are leaves and could, conceivably ! be used by the tm destructor. */ ! #undef ENDFILE_SPEC ! #define ENDFILE_SPEC TM_DESTRUCTOR " -lef_ppc" #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ *************** extern int darwin_emit_branch_islands; *** 138,149 **** { "darwin_crt2", DARWIN_CRT2_SPEC }, \ { "darwin_subarch", DARWIN_SUBARCH_SPEC }, - /* We need to jam the dylib crt to 10.5 for 10.6 (Rosetta) use. */ - #undef DARWIN_DYLIB1_SPEC - #define DARWIN_DYLIB1_SPEC \ - "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ - %:version-compare(>< 10.5 10.7 mmacosx-version-min= -ldylib1.10.5.o)" - /* Output a .machine directive. */ #undef TARGET_ASM_FILE_START #define TARGET_ASM_FILE_START rs6000_darwin_file_start --- 180,185 ---- *************** extern int darwin_emit_branch_islands; *** 279,287 **** /* This is supported in cctools 465 and later. The macro test above prevents using it in earlier build environments. */ #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ ! if ((LOG) != 0) \ { \ ! if ((MAX_SKIP) == 0) \ fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ else \ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ --- 315,323 ---- /* This is supported in cctools 465 and later. The macro test above prevents using it in earlier build environments. */ #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ ! if ((LOG) > 0) \ { \ ! if ((MAX_SKIP) <= 0) \ fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ else \ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ *************** do { \ *** 456,461 **** --- 492,500 ---- this will need to be modified similar to the x86 case. */ #define TARGET_FOLD_BUILTIN SUBTARGET_FOLD_BUILTIN + /* First available SYMBOL flag bit for use by subtargets. */ + #define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP) + /* Use standard DWARF numbering for DWARF debugging information. */ #define RS6000_USE_DWARF_NUMBERING diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/darwin.md gcc-9.3.0/gcc/config/rs6000/darwin.md *** gcc-9.2.0/gcc/config/rs6000/darwin.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/rs6000/darwin.md Thu Mar 12 11:07:21 2020 *************** You should have received a copy of the G *** 122,154 **** [(set_attr "type" "store")]) ;; 64-bit MachO load/store support - (define_insn "movdi_low" - [(set (match_operand:DI 0 "gpc_reg_operand" "=r,*!d") - (mem:DI (lo_sum:DI (match_operand:DI 1 "gpc_reg_operand" "b,b") - (match_operand 2 "" ""))))] - "TARGET_MACHO && TARGET_64BIT" - "@ - ld %0,lo16(%2)(%1) - lfd %0,lo16(%2)(%1)" - [(set_attr "type" "load")]) - - (define_insn "movsi_low_st" - [(set (mem:SI (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b") - (match_operand 2 "" ""))) - (match_operand:SI 0 "gpc_reg_operand" "r"))] - "TARGET_MACHO && ! TARGET_64BIT" - "stw %0,lo16(%2)(%1)" - [(set_attr "type" "store")]) - - (define_insn "movdi_low_st" - [(set (mem:DI (lo_sum:DI (match_operand:DI 1 "gpc_reg_operand" "b,b") - (match_operand 2 "" ""))) - (match_operand:DI 0 "gpc_reg_operand" "r,*!d"))] - "TARGET_MACHO && TARGET_64BIT" - "@ - std %0,lo16(%2)(%1) - stfd %0,lo16(%2)(%1)" - [(set_attr "type" "store")]) ;; Mach-O PIC trickery. (define_expand "macho_high" --- 122,127 ---- diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/predicates.md gcc-9.3.0/gcc/config/rs6000/predicates.md *** gcc-9.2.0/gcc/config/rs6000/predicates.md Thu Jan 24 22:48:06 2019 --- gcc-9.3.0/gcc/config/rs6000/predicates.md Thu Mar 12 11:07:21 2020 *************** *** 1053,1060 **** return 1; /* Allow any integer constant. */ ! if (GET_MODE_CLASS (mode) == MODE_INT ! && CONST_SCALAR_INT_P (op)) return 1; /* Allow easy vector constants. */ --- 1053,1059 ---- return 1; /* Allow any integer constant. */ ! if (SCALAR_INT_MODE_P (mode) && CONST_SCALAR_INT_P (op)) return 1; /* Allow easy vector constants. */ *************** *** 1154,1159 **** --- 1153,1168 ---- (define_predicate "signed_comparison_operator" (match_code "lt,gt,le,ge")) + ;; Return 1 if OP is a signed comparison or an equality operator. + (define_predicate "signed_or_equality_comparison_operator" + (ior (match_operand 0 "equality_operator") + (match_operand 0 "signed_comparison_operator"))) + + ;; Return 1 if OP is an unsigned comparison or an equality operator. + (define_predicate "unsigned_or_equality_comparison_operator" + (ior (match_operand 0 "equality_operator") + (match_operand 0 "unsigned_comparison_operator"))) + ;; Return 1 if OP is a comparison operation that is valid for an SCC insn -- ;; it must be a positive comparison. (define_predicate "scc_comparison_operator" diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/rs6000-builtin.def gcc-9.3.0/gcc/config/rs6000/rs6000-builtin.def *** gcc-9.2.0/gcc/config/rs6000/rs6000-builtin.def Wed Feb 13 06:31:01 2019 --- gcc-9.3.0/gcc/config/rs6000/rs6000-builtin.def Thu Mar 12 11:07:21 2020 *************** BU_ALTIVEC_2 (VADDUWS, "vadduws", *** 1002,1013 **** BU_ALTIVEC_2 (VADDSWS, "vaddsws", CONST, altivec_vaddsws) BU_ALTIVEC_2 (VAND, "vand", CONST, andv4si3) BU_ALTIVEC_2 (VANDC, "vandc", CONST, andcv4si3) ! BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, altivec_vavgub) ! BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, altivec_vavgsb) ! BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, altivec_vavguh) ! BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, altivec_vavgsh) ! BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, altivec_vavguw) ! BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, altivec_vavgsw) BU_ALTIVEC_2 (VCFUX, "vcfux", CONST, altivec_vcfux) BU_ALTIVEC_2 (VCFSX, "vcfsx", CONST, altivec_vcfsx) BU_ALTIVEC_2 (VCMPBFP, "vcmpbfp", CONST, altivec_vcmpbfp) --- 1002,1013 ---- BU_ALTIVEC_2 (VADDSWS, "vaddsws", CONST, altivec_vaddsws) BU_ALTIVEC_2 (VAND, "vand", CONST, andv4si3) BU_ALTIVEC_2 (VANDC, "vandc", CONST, andcv4si3) ! BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, uavgv16qi3_ceil) ! BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, avgv16qi3_ceil) ! BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, uavgv8hi3_ceil) ! BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, avgv8hi3_ceil) ! BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, uavgv4si3_ceil) ! BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, avgv4si3_ceil) BU_ALTIVEC_2 (VCFUX, "vcfux", CONST, altivec_vcfux) BU_ALTIVEC_2 (VCFSX, "vcfsx", CONST, altivec_vcfsx) BU_ALTIVEC_2 (VCMPBFP, "vcmpbfp", CONST, altivec_vcmpbfp) *************** BU_ALTIVEC_X (MTVSCR, "mtvscr", MIS *** 1177,1202 **** BU_ALTIVEC_X (MFVSCR, "mfvscr", MISC) BU_ALTIVEC_X (DSSALL, "dssall", MISC) BU_ALTIVEC_X (DSS, "dss", MISC) ! BU_ALTIVEC_X (LVSL, "lvsl", MEM) ! BU_ALTIVEC_X (LVSR, "lvsr", MEM) ! BU_ALTIVEC_X (LVEBX, "lvebx", MEM) ! BU_ALTIVEC_X (LVEHX, "lvehx", MEM) ! BU_ALTIVEC_X (LVEWX, "lvewx", MEM) ! BU_ALTIVEC_X (LVXL, "lvxl", MEM) ! BU_ALTIVEC_X (LVXL_V2DF, "lvxl_v2df", MEM) ! BU_ALTIVEC_X (LVXL_V2DI, "lvxl_v2di", MEM) ! BU_ALTIVEC_X (LVXL_V4SF, "lvxl_v4sf", MEM) ! BU_ALTIVEC_X (LVXL_V4SI, "lvxl_v4si", MEM) ! BU_ALTIVEC_X (LVXL_V8HI, "lvxl_v8hi", MEM) ! BU_ALTIVEC_X (LVXL_V16QI, "lvxl_v16qi", MEM) ! BU_ALTIVEC_X (LVX, "lvx", MEM) ! BU_ALTIVEC_X (LVX_V1TI, "lvx_v1ti", MEM) ! BU_ALTIVEC_X (LVX_V2DF, "lvx_v2df", MEM) ! BU_ALTIVEC_X (LVX_V2DI, "lvx_v2di", MEM) ! BU_ALTIVEC_X (LVX_V4SF, "lvx_v4sf", MEM) ! BU_ALTIVEC_X (LVX_V4SI, "lvx_v4si", MEM) ! BU_ALTIVEC_X (LVX_V8HI, "lvx_v8hi", MEM) ! BU_ALTIVEC_X (LVX_V16QI, "lvx_v16qi", MEM) BU_ALTIVEC_X (STVX, "stvx", MEM) BU_ALTIVEC_X (STVX_V2DF, "stvx_v2df", MEM) BU_ALTIVEC_X (STVX_V2DI, "stvx_v2di", MEM) --- 1177,1202 ---- BU_ALTIVEC_X (MFVSCR, "mfvscr", MISC) BU_ALTIVEC_X (DSSALL, "dssall", MISC) BU_ALTIVEC_X (DSS, "dss", MISC) ! BU_ALTIVEC_X (LVSL, "lvsl", PURE) ! BU_ALTIVEC_X (LVSR, "lvsr", PURE) ! BU_ALTIVEC_X (LVEBX, "lvebx", PURE) ! BU_ALTIVEC_X (LVEHX, "lvehx", PURE) ! BU_ALTIVEC_X (LVEWX, "lvewx", PURE) ! BU_ALTIVEC_X (LVXL, "lvxl", PURE) ! BU_ALTIVEC_X (LVXL_V2DF, "lvxl_v2df", PURE) ! BU_ALTIVEC_X (LVXL_V2DI, "lvxl_v2di", PURE) ! BU_ALTIVEC_X (LVXL_V4SF, "lvxl_v4sf", PURE) ! BU_ALTIVEC_X (LVXL_V4SI, "lvxl_v4si", PURE) ! BU_ALTIVEC_X (LVXL_V8HI, "lvxl_v8hi", PURE) ! BU_ALTIVEC_X (LVXL_V16QI, "lvxl_v16qi", PURE) ! BU_ALTIVEC_X (LVX, "lvx", PURE) ! BU_ALTIVEC_X (LVX_V1TI, "lvx_v1ti", PURE) ! BU_ALTIVEC_X (LVX_V2DF, "lvx_v2df", PURE) ! BU_ALTIVEC_X (LVX_V2DI, "lvx_v2di", PURE) ! BU_ALTIVEC_X (LVX_V4SF, "lvx_v4sf", PURE) ! BU_ALTIVEC_X (LVX_V4SI, "lvx_v4si", PURE) ! BU_ALTIVEC_X (LVX_V8HI, "lvx_v8hi", PURE) ! BU_ALTIVEC_X (LVX_V16QI, "lvx_v16qi", PURE) BU_ALTIVEC_X (STVX, "stvx", MEM) BU_ALTIVEC_X (STVX_V2DF, "stvx_v2df", MEM) BU_ALTIVEC_X (STVX_V2DI, "stvx_v2di", MEM) *************** BU_ALTIVEC_X (STVX_V4SF, "stvx_v4sf", *** 1204,1213 **** BU_ALTIVEC_X (STVX_V4SI, "stvx_v4si", MEM) BU_ALTIVEC_X (STVX_V8HI, "stvx_v8hi", MEM) BU_ALTIVEC_X (STVX_V16QI, "stvx_v16qi", MEM) ! BU_ALTIVEC_C (LVLX, "lvlx", MEM) ! BU_ALTIVEC_C (LVLXL, "lvlxl", MEM) ! BU_ALTIVEC_C (LVRX, "lvrx", MEM) ! BU_ALTIVEC_C (LVRXL, "lvrxl", MEM) BU_ALTIVEC_X (STVEBX, "stvebx", MEM) BU_ALTIVEC_X (STVEHX, "stvehx", MEM) BU_ALTIVEC_X (STVEWX, "stvewx", MEM) --- 1204,1213 ---- BU_ALTIVEC_X (STVX_V4SI, "stvx_v4si", MEM) BU_ALTIVEC_X (STVX_V8HI, "stvx_v8hi", MEM) BU_ALTIVEC_X (STVX_V16QI, "stvx_v16qi", MEM) ! BU_ALTIVEC_C (LVLX, "lvlx", PURE) ! BU_ALTIVEC_C (LVLXL, "lvlxl", PURE) ! BU_ALTIVEC_C (LVRX, "lvrx", PURE) ! BU_ALTIVEC_C (LVRXL, "lvrxl", PURE) BU_ALTIVEC_X (STVEBX, "stvebx", MEM) BU_ALTIVEC_X (STVEHX, "stvehx", MEM) BU_ALTIVEC_X (STVEWX, "stvewx", MEM) *************** BU_VSX_P (XVCMPGEDP_P, "xvcmpgedp_ *** 1718,1732 **** BU_VSX_P (XVCMPGTDP_P, "xvcmpgtdp_p", CONST, vector_gt_v2df_p) /* VSX builtins that are handled as special cases. */ ! BU_VSX_X (LXSDX, "lxsdx", MEM) ! BU_VSX_X (LXVD2X_V1TI, "lxvd2x_v1ti", MEM) ! BU_VSX_X (LXVD2X_V2DF, "lxvd2x_v2df", MEM) ! BU_VSX_X (LXVD2X_V2DI, "lxvd2x_v2di", MEM) ! BU_VSX_X (LXVDSX, "lxvdsx", MEM) ! BU_VSX_X (LXVW4X_V4SF, "lxvw4x_v4sf", MEM) ! BU_VSX_X (LXVW4X_V4SI, "lxvw4x_v4si", MEM) ! BU_VSX_X (LXVW4X_V8HI, "lxvw4x_v8hi", MEM) ! BU_VSX_X (LXVW4X_V16QI, "lxvw4x_v16qi", MEM) BU_VSX_X (STXSDX, "stxsdx", MEM) BU_VSX_X (STXVD2X_V1TI, "stxvd2x_v1ti", MEM) BU_VSX_X (STXVD2X_V2DF, "stxvd2x_v2df", MEM) --- 1718,1732 ---- BU_VSX_P (XVCMPGTDP_P, "xvcmpgtdp_p", CONST, vector_gt_v2df_p) /* VSX builtins that are handled as special cases. */ ! BU_VSX_X (LXSDX, "lxsdx", PURE) ! BU_VSX_X (LXVD2X_V1TI, "lxvd2x_v1ti", PURE) ! BU_VSX_X (LXVD2X_V2DF, "lxvd2x_v2df", PURE) ! BU_VSX_X (LXVD2X_V2DI, "lxvd2x_v2di", PURE) ! BU_VSX_X (LXVDSX, "lxvdsx", PURE) ! BU_VSX_X (LXVW4X_V4SF, "lxvw4x_v4sf", PURE) ! BU_VSX_X (LXVW4X_V4SI, "lxvw4x_v4si", PURE) ! BU_VSX_X (LXVW4X_V8HI, "lxvw4x_v8hi", PURE) ! BU_VSX_X (LXVW4X_V16QI, "lxvw4x_v16qi", PURE) BU_VSX_X (STXSDX, "stxsdx", MEM) BU_VSX_X (STXVD2X_V1TI, "stxvd2x_v1ti", MEM) BU_VSX_X (STXVD2X_V2DF, "stxvd2x_v2df", MEM) *************** BU_VSX_X (STXVW4X_V4SF, "stxvw4x_v *** 1735,1747 **** BU_VSX_X (STXVW4X_V4SI, "stxvw4x_v4si", MEM) BU_VSX_X (STXVW4X_V8HI, "stxvw4x_v8hi", MEM) BU_VSX_X (STXVW4X_V16QI, "stxvw4x_v16qi", MEM) ! BU_VSX_X (LD_ELEMREV_V1TI, "ld_elemrev_v1ti", MEM) ! BU_VSX_X (LD_ELEMREV_V2DF, "ld_elemrev_v2df", MEM) ! BU_VSX_X (LD_ELEMREV_V2DI, "ld_elemrev_v2di", MEM) ! BU_VSX_X (LD_ELEMREV_V4SF, "ld_elemrev_v4sf", MEM) ! BU_VSX_X (LD_ELEMREV_V4SI, "ld_elemrev_v4si", MEM) ! BU_VSX_X (LD_ELEMREV_V8HI, "ld_elemrev_v8hi", MEM) ! BU_VSX_X (LD_ELEMREV_V16QI, "ld_elemrev_v16qi", MEM) BU_VSX_X (ST_ELEMREV_V1TI, "st_elemrev_v1ti", MEM) BU_VSX_X (ST_ELEMREV_V2DF, "st_elemrev_v2df", MEM) BU_VSX_X (ST_ELEMREV_V2DI, "st_elemrev_v2di", MEM) --- 1735,1747 ---- BU_VSX_X (STXVW4X_V4SI, "stxvw4x_v4si", MEM) BU_VSX_X (STXVW4X_V8HI, "stxvw4x_v8hi", MEM) BU_VSX_X (STXVW4X_V16QI, "stxvw4x_v16qi", MEM) ! BU_VSX_X (LD_ELEMREV_V1TI, "ld_elemrev_v1ti", PURE) ! BU_VSX_X (LD_ELEMREV_V2DF, "ld_elemrev_v2df", PURE) ! BU_VSX_X (LD_ELEMREV_V2DI, "ld_elemrev_v2di", PURE) ! BU_VSX_X (LD_ELEMREV_V4SF, "ld_elemrev_v4sf", PURE) ! BU_VSX_X (LD_ELEMREV_V4SI, "ld_elemrev_v4si", PURE) ! BU_VSX_X (LD_ELEMREV_V8HI, "ld_elemrev_v8hi", PURE) ! BU_VSX_X (LD_ELEMREV_V16QI, "ld_elemrev_v16qi", PURE) BU_VSX_X (ST_ELEMREV_V1TI, "st_elemrev_v1ti", MEM) BU_VSX_X (ST_ELEMREV_V2DF, "st_elemrev_v2df", MEM) BU_VSX_X (ST_ELEMREV_V2DI, "st_elemrev_v2di", MEM) diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/rs6000-p8swap.c gcc-9.3.0/gcc/config/rs6000/rs6000-p8swap.c *** gcc-9.2.0/gcc/config/rs6000/rs6000-p8swap.c Fri Mar 8 19:47:05 2019 --- gcc-9.3.0/gcc/config/rs6000/rs6000-p8swap.c Thu Mar 12 11:07:21 2020 *************** rtx_is_swappable_p (rtx op, unsigned int *** 791,796 **** --- 791,801 ---- case UNSPEC_REDUC_PLUS: case UNSPEC_REDUC: return 1; + case UNSPEC_VPMSUM: + /* vpmsumd is not swappable, but vpmsum[bhw] are. */ + if (GET_MODE (op) == V2DImode) + return 0; + break; } } diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/rs6000.c gcc-9.3.0/gcc/config/rs6000/rs6000.c *** gcc-9.2.0/gcc/config/rs6000/rs6000.c Sun Aug 4 19:23:59 2019 --- gcc-9.3.0/gcc/config/rs6000/rs6000.c Thu Mar 12 11:07:21 2020 *************** address_offset (rtx op) *** 7671,7676 **** --- 7671,7774 ---- return NULL_RTX; } + /* This tests that a lo_sum {constant, symbol, symbol+offset} is valid for + the mode. If we can't find (or don't know) the alignment of the symbol + we assume (optimistically) that it's sufficiently aligned [??? maybe we + should be pessimistic]. Offsets are validated in the same way as for + reg + offset. */ + static bool + darwin_rs6000_legitimate_lo_sum_const_p (rtx x, machine_mode mode) + { + /* We should not get here with this. */ + gcc_checking_assert (! mode_supports_dq_form (mode)); + + if (GET_CODE (x) == CONST) + x = XEXP (x, 0); + + if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_MACHOPIC_OFFSET) + x = XVECEXP (x, 0, 0); + + rtx sym = NULL_RTX; + unsigned HOST_WIDE_INT offset = 0; + + if (GET_CODE (x) == PLUS) + { + sym = XEXP (x, 0); + if (! SYMBOL_REF_P (sym)) + return false; + if (!CONST_INT_P (XEXP (x, 1))) + return false; + offset = INTVAL (XEXP (x, 1)); + } + else if (SYMBOL_REF_P (x)) + sym = x; + else if (CONST_INT_P (x)) + offset = INTVAL (x); + else if (GET_CODE (x) == LABEL_REF) + offset = 0; // We assume code labels are Pmode aligned + else + return false; // not sure what we have here. + + /* If we don't know the alignment of the thing to which the symbol refers, + we assume optimistically it is "enough". + ??? maybe we should be pessimistic instead. */ + unsigned align = 0; + + if (sym) + { + tree decl = SYMBOL_REF_DECL (sym); + #if TARGET_MACHO + if (MACHO_SYMBOL_INDIRECTION_P (sym)) + /* The decl in an indirection symbol is the original one, which might + be less aligned than the indirection. Our indirections are always + pointer-aligned. */ + ; + else + #endif + if (decl && DECL_ALIGN (decl)) + align = DECL_ALIGN_UNIT (decl); + } + + unsigned int extra = 0; + switch (mode) + { + case E_DFmode: + case E_DDmode: + case E_DImode: + /* If we are using VSX scalar loads, restrict ourselves to reg+reg + addressing. */ + if (VECTOR_MEM_VSX_P (mode)) + return false; + + if (!TARGET_POWERPC64) + extra = 4; + else if ((offset & 3) || (align & 3)) + return false; + break; + + case E_TFmode: + case E_IFmode: + case E_KFmode: + case E_TDmode: + case E_TImode: + case E_PTImode: + extra = 8; + if (!TARGET_POWERPC64) + extra = 12; + else if ((offset & 3) || (align & 3)) + return false; + break; + + default: + break; + } + + /* We only care if the access(es) would cause a change to the high part. */ + offset = ((offset & 0xffff) ^ 0x8000) - 0x8000; + return IN_RANGE (offset, -(HOST_WIDE_INT_1 << 15), + (HOST_WIDE_INT_1 << 15) - 1 - extra); + } + /* Return true if the MEM operand is a memory operand suitable for use with a (full width, possibly multiple) gpr load/store. On powerpc64 this means the offset must be divisible by 4. *************** mem_operand_gpr (rtx op, machine_mode mo *** 7705,7711 **** && legitimate_indirect_address_p (XEXP (addr, 0), false)) return true; ! /* Don't allow non-offsettable addresses. See PRs 83969 and 84279. */ if (!rs6000_offsettable_memref_p (op, mode, false)) return false; --- 7803,7815 ---- && legitimate_indirect_address_p (XEXP (addr, 0), false)) return true; ! /* We need to look through Mach-O PIC unspecs to determine if a lo_sum is ! really OK. Doing this early avoids teaching all the other machinery ! about them. */ ! if (TARGET_MACHO && GET_CODE (addr) == LO_SUM) ! return darwin_rs6000_legitimate_lo_sum_const_p (XEXP (addr, 1), mode); ! ! /* Only allow offsettable addresses. See PRs 83969 and 84279. */ if (!rs6000_offsettable_memref_p (op, mode, false)) return false; *************** print_operand (FILE *file, rtx x, int co *** 21330,21336 **** { const char *name = XSTR (x, 0); #if TARGET_MACHO ! if (darwin_emit_branch_islands && MACHOPIC_INDIRECT && machopic_classify_symbol (x) == MACHOPIC_UNDEFINED_FUNCTION) name = machopic_indirection_name (x, /*stub_p=*/true); --- 21434,21440 ---- { const char *name = XSTR (x, 0); #if TARGET_MACHO ! if (darwin_symbol_stubs && MACHOPIC_INDIRECT && machopic_classify_symbol (x) == MACHOPIC_UNDEFINED_FUNCTION) name = machopic_indirection_name (x, /*stub_p=*/true); *************** rs6000_emit_cmove (rtx dest, rtx op, rtx *** 23151,23156 **** --- 23255,23265 ---- /* At this point we know we can use fsel. */ + /* Don't allow compare_mode other than SFmode or DFmode, for others there + is no fsel instruction. */ + if (compare_mode != SFmode && compare_mode != DFmode) + return 0; + /* Reduce the comparison to a comparison against zero. */ if (! is_against_zero) { *************** rs6000_emit_allocate_stack (HOST_WIDE_IN *** 25729,25738 **** stack_limit_rtx, GEN_INT (size))); ! emit_insn (gen_elf_high (tmp_reg, toload)); ! emit_insn (gen_elf_low (tmp_reg, tmp_reg, toload)); ! emit_insn (gen_cond_trap (LTU, stack_reg, tmp_reg, ! const0_rtx)); } else warning (0, "stack limit expression is not supported"); --- 25838,25851 ---- stack_limit_rtx, GEN_INT (size))); ! /* We cannot use r0 with elf_low. Lamely solve this problem by ! moving registers around. */ ! rtx r11_reg = gen_rtx_REG (Pmode, 11); ! emit_move_insn (tmp_reg, r11_reg); ! emit_insn (gen_elf_high (r11_reg, toload)); ! emit_insn (gen_elf_low (r11_reg, r11_reg, toload)); ! emit_insn (gen_cond_trap (LTU, stack_reg, r11_reg, const0_rtx)); ! emit_move_insn (r11_reg, tmp_reg); } else warning (0, "stack limit expression is not supported"); *************** rs6000_can_inline_p (tree caller, tree c *** 37762,37786 **** tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller); tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); ! /* If callee has no option attributes, then it is ok to inline. */ if (!callee_tree) ret = true; - /* If caller has no option attributes, but callee does then it is not ok to - inline. */ - else if (!caller_tree) - ret = false; - else { ! struct cl_target_option *caller_opts = TREE_TARGET_OPTION (caller_tree); struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree); ! /* Callee's options should a subset of the caller's, i.e. a vsx function ! can inline an altivec function but a non-vsx function can't inline a ! vsx function. */ ! if ((caller_opts->x_rs6000_isa_flags & callee_opts->x_rs6000_isa_flags) ! == callee_opts->x_rs6000_isa_flags) ret = true; } --- 37875,37905 ---- tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller); tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); ! /* If the callee has no option attributes, then it is ok to inline. */ if (!callee_tree) ret = true; else { ! HOST_WIDE_INT caller_isa; struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree); + HOST_WIDE_INT callee_isa = callee_opts->x_rs6000_isa_flags; + HOST_WIDE_INT explicit_isa = callee_opts->x_rs6000_isa_flags_explicit; ! /* If the caller has option attributes, then use them. ! Otherwise, use the command line options. */ ! if (caller_tree) ! caller_isa = TREE_TARGET_OPTION (caller_tree)->x_rs6000_isa_flags; ! else ! caller_isa = rs6000_isa_flags; ! ! /* The callee's options must be a subset of the caller's options, i.e. ! a vsx function may inline an altivec function, but a no-vsx function ! must not inline a vsx function. However, for those options that the ! callee has explicitly enabled or disabled, then we must enforce that ! the callee's and caller's options match exactly; see PR70010. */ ! if (((caller_isa & callee_isa) == callee_isa) ! && (caller_isa & explicit_isa) == (callee_isa & explicit_isa)) ret = true; } *************** rs6000_call_darwin_1 (rtx value, rtx fun *** 38273,38279 **** if ((cookie_val & CALL_LONG) != 0 && GET_CODE (func_desc) == SYMBOL_REF) { ! if (darwin_emit_branch_islands && TARGET_32BIT) make_island = true; /* Do nothing yet, retain the CALL_LONG flag. */ else { --- 38392,38399 ---- if ((cookie_val & CALL_LONG) != 0 && GET_CODE (func_desc) == SYMBOL_REF) { ! /* FIXME: the longcall opt should not hang off picsymbol stubs. */ ! if (darwin_symbol_stubs && TARGET_32BIT) make_island = true; /* Do nothing yet, retain the CALL_LONG flag. */ else { diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/rs6000.md gcc-9.3.0/gcc/config/rs6000/rs6000.md *** gcc-9.2.0/gcc/config/rs6000/rs6000.md Sun Apr 21 08:25:44 2019 --- gcc-9.3.0/gcc/config/rs6000/rs6000.md Thu Mar 12 11:07:21 2020 *************** *** 137,142 **** --- 137,145 ---- UNSPEC_LSQ UNSPEC_FUSION_GPR UNSPEC_STACK_CHECK + UNSPEC_CMPRB + UNSPEC_CMPRB2 + UNSPEC_CMPEQB UNSPEC_ADD_ROUND_TO_ODD UNSPEC_SUB_ROUND_TO_ODD UNSPEC_MUL_ROUND_TO_ODD *************** *** 164,169 **** --- 167,175 ---- UNSPECV_EH_RR ; eh_reg_restore UNSPECV_ISYNC ; isync instruction UNSPECV_MFTB ; move from time base + UNSPECV_DARN ; darn 1 (deliver a random number) + UNSPECV_DARN_32 ; darn 2 + UNSPECV_DARN_RAW ; darn 0 UNSPECV_NLGR ; non-local goto receiver UNSPECV_MFFS ; Move from FPSCR UNSPECV_MFFSL ; Move from FPSCR light instruction version *************** *** 5930,5936 **** /* Insert new RN mode into FSCPR. */ emit_insn (gen_rs6000_mffs (tmp_df)); tmp_di = simplify_gen_subreg (DImode, tmp_df, DFmode, 0); ! emit_insn (gen_anddi3 (tmp_di, tmp_di, GEN_INT (0xFFFFFFF8FFFFFFFF))); emit_insn (gen_iordi3 (tmp_di, tmp_di, tmp_rn)); /* Need to write to field 7. The fields are [0:15]. The equation to --- 5936,5942 ---- /* Insert new RN mode into FSCPR. */ emit_insn (gen_rs6000_mffs (tmp_df)); tmp_di = simplify_gen_subreg (DImode, tmp_df, DFmode, 0); ! emit_insn (gen_anddi3 (tmp_di, tmp_di, GEN_INT (0xFFFFFFF8FFFFFFFFULL))); emit_insn (gen_iordi3 (tmp_di, tmp_di, tmp_rn)); /* Need to write to field 7. The fields are [0:15]. The equation to *************** *** 6424,6435 **** "" "") - (define_expand "one_cmpl2" - [(set (match_operand:BOOL_128 0 "vlogical_operand") - (not:BOOL_128 (match_operand:BOOL_128 1 "vlogical_operand")))] - "" - "") - (define_expand "nor3" [(set (match_operand:BOOL_128 0 "vlogical_operand") (and:BOOL_128 --- 6430,6435 ---- *************** *** 6724,6730 **** (const_string "16")))]) ;; 128-bit one's complement ! (define_insn_and_split "*one_cmpl3_internal" [(set (match_operand:BOOL_128 0 "vlogical_operand" "=") (not:BOOL_128 (match_operand:BOOL_128 1 "vlogical_operand" "")))] --- 6724,6730 ---- (const_string "16")))]) ;; 128-bit one's complement ! (define_insn_and_split "one_cmpl2" [(set (match_operand:BOOL_128 0 "vlogical_operand" "=") (not:BOOL_128 (match_operand:BOOL_128 1 "vlogical_operand" "")))] *************** *** 6818,6830 **** ;; do the load 16-bits at a time. We could do this by loading from memory, ;; and this is even supposed to be faster, but it is simpler not to get ;; integers in the TOC. - (define_insn "movsi_low" - [(set (match_operand:SI 0 "gpc_reg_operand" "=r") - (mem:SI (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b") - (match_operand 2 "" ""))))] - "TARGET_MACHO && ! TARGET_64BIT" - "lwz %0,lo16(%2)(%1)" - [(set_attr "type" "load")]) ;; MR LA LWZ LFIWZX LXSIWZX ;; STW STFIWX STXSIWX LI LIS --- 6818,6823 ---- *************** *** 10662,10667 **** --- 10655,10664 ---- emit_call_insn (gen_call (operands[0], const0_rtx, const0_rtx)); + for (int i = 0; i < XVECLEN (operands[2], 0); i++) + emit_clobber (SET_SRC (XVECEXP (operands[2], 0, i))); + emit_insn (gen_blockage ()); + for (i = 0; i < XVECLEN (operands[2], 0); i++) { rtx set = XVECEXP (operands[2], 0, i); *************** *** 14322,14328 **** --- 14319,14543 ---- "xscmpuqp %0,%1,%2" [(set_attr "type" "veccmp") (set_attr "size" "128")]) + + ;; Miscellaneous ISA 3.0 (power9) instructions + + (define_insn "darn_32" + [(set (match_operand:SI 0 "register_operand" "=r") + (unspec_volatile:SI [(const_int 0)] UNSPECV_DARN_32))] + "TARGET_P9_MISC" + "darn %0,0" + [(set_attr "type" "integer")]) + + (define_insn "darn_raw" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN_RAW))] + "TARGET_P9_MISC && TARGET_64BIT" + "darn %0,2" + [(set_attr "type" "integer")]) + (define_insn "darn" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN))] + "TARGET_P9_MISC && TARGET_64BIT" + "darn %0,1" + [(set_attr "type" "integer")]) + + ;; Test byte within range. + ;; + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the range specified by operand 2. + ;; The bytes of operand 2 are organized as xx:xx:hi:lo. + ;; + ;; Return in target register operand 0 a value of 1 if lo <= vv and + ;; vv <= hi. Otherwise, set register operand 0 to 0. + ;; + ;; Though the instructions to which this expansion maps operate on + ;; 64-bit registers, the current implementation only operates on + ;; SI-mode operands as the high-order bits provide no information + ;; that is not already available in the low-order bits. To avoid the + ;; costs of data widening operations, future enhancements might allow + ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. + (define_expand "cmprb" + [(set (match_dup 3) + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:SI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPRB)) + (set (match_operand:SI 0 "gpc_reg_operand" "=r") + (if_then_else:SI (lt (match_dup 3) + (const_int 0)) + (const_int -1) + (if_then_else (gt (match_dup 3) + (const_int 0)) + (const_int 1) + (const_int 0))))] + "TARGET_P9_MISC" + { + operands[3] = gen_reg_rtx (CCmode); + }) + + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the range specified by operand 2. + ;; The bytes of operand 2 are organized as xx:xx:hi:lo. + ;; + ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if + ;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other + ;; 3 bits of the target CR register are all set to 0. + (define_insn "*cmprb_internal" + [(set (match_operand:CC 0 "cc_reg_operand" "=y") + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:SI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPRB))] + "TARGET_P9_MISC" + "cmprb %0,0,%1,%2" + [(set_attr "type" "logical")]) + + ;; Set operand 0 register to -1 if the LT bit (0x8) of condition + ;; register operand 1 is on. Otherwise, set operand 0 register to 1 + ;; if the GT bit (0x4) of condition register operand 1 is on. + ;; Otherwise, set operand 0 to 0. Note that the result stored into + ;; register operand 0 is non-zero iff either the LT or GT bits are on + ;; within condition register operand 1. + (define_insn "setb_signed" + [(set (match_operand:SI 0 "gpc_reg_operand" "=r") + (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y") + (const_int 0)) + (const_int -1) + (if_then_else (gt (match_dup 1) + (const_int 0)) + (const_int 1) + (const_int 0))))] + "TARGET_P9_MISC" + "setb %0,%1" + [(set_attr "type" "logical")]) + + (define_insn "setb_unsigned" + [(set (match_operand:SI 0 "gpc_reg_operand" "=r") + (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y") + (const_int 0)) + (const_int -1) + (if_then_else (gtu (match_dup 1) + (const_int 0)) + (const_int 1) + (const_int 0))))] + "TARGET_P9_MISC" + "setb %0,%1" + [(set_attr "type" "logical")]) + + ;; Test byte within two ranges. + ;; + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the range specified by operand 2. + ;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. + ;; + ;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and + ;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register + ;; operand 0 to 0. + ;; + ;; Though the instructions to which this expansion maps operate on + ;; 64-bit registers, the current implementation only operates on + ;; SI-mode operands as the high-order bits provide no information + ;; that is not already available in the low-order bits. To avoid the + ;; costs of data widening operations, future enhancements might allow + ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. + (define_expand "cmprb2" + [(set (match_dup 3) + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:SI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPRB2)) + (set (match_operand:SI 0 "gpc_reg_operand" "=r") + (if_then_else:SI (lt (match_dup 3) + (const_int 0)) + (const_int -1) + (if_then_else (gt (match_dup 3) + (const_int 0)) + (const_int 1) + (const_int 0))))] + "TARGET_P9_MISC" + { + operands[3] = gen_reg_rtx (CCmode); + }) + + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the ranges specified by operand 2. + ;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. + ;; + ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if + ;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). + ;; Otherwise, set the GT bit to 0. The other 3 bits of the target + ;; CR register are all set to 0. + (define_insn "*cmprb2_internal" + [(set (match_operand:CC 0 "cc_reg_operand" "=y") + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:SI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPRB2))] + "TARGET_P9_MISC" + "cmprb %0,1,%1,%2" + [(set_attr "type" "logical")]) + + ;; Test byte membership within set of 8 bytes. + ;; + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the set specified by operand 2. + ;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. + ;; + ;; Return in target register operand 0 a value of 1 if vv equals one + ;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set + ;; register operand 0 to 0. Note that the 8 byte values held within + ;; operand 2 need not be unique. + ;; + ;; Though the instructions to which this expansion maps operate on + ;; 64-bit registers, the current implementation requires that operands + ;; 0 and 1 have mode SI as the high-order bits provide no information + ;; that is not already available in the low-order bits. To avoid the + ;; costs of data widening operations, future enhancements might allow + ;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. + (define_expand "cmpeqb" + [(set (match_dup 3) + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:DI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPEQB)) + (set (match_operand:SI 0 "gpc_reg_operand" "=r") + (if_then_else:SI (lt (match_dup 3) + (const_int 0)) + (const_int -1) + (if_then_else (gt (match_dup 3) + (const_int 0)) + (const_int 1) + (const_int 0))))] + "TARGET_P9_MISC && TARGET_64BIT" + { + operands[3] = gen_reg_rtx (CCmode); + }) + + ;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx + ;; represents a byte whose value is ignored in this context and + ;; vv, the least significant byte, holds the byte value that is to + ;; be tested for membership within the set specified by operand 2. + ;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. + ;; + ;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv + ;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, + ;; set the GT bit to zero. The other 3 bits of the target CR register + ;; are all set to 0. + (define_insn "*cmpeqb_internal" + [(set (match_operand:CC 0 "cc_reg_operand" "=y") + (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") + (match_operand:DI 2 "gpc_reg_operand" "r")] + UNSPEC_CMPEQB))] + "TARGET_P9_MISC && TARGET_64BIT" + "cmpeqb %0,%1,%2" + [(set_attr "type" "logical")]) (include "sync.md") diff -Nrcpad gcc-9.2.0/gcc/config/rs6000/vector.md gcc-9.3.0/gcc/config/rs6000/vector.md *** gcc-9.2.0/gcc/config/rs6000/vector.md Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/rs6000/vector.md Thu Mar 12 11:07:21 2020 *************** *** 493,498 **** --- 493,593 ---- FAIL; }) + ;; To support vector condition vectorization, define vcond_mask and vec_cmp. + + ;; Same mode for condition true/false values and predicate operand. + (define_expand "vcond_mask_" + [(match_operand:VEC_I 0 "vint_operand") + (match_operand:VEC_I 1 "vint_operand") + (match_operand:VEC_I 2 "vint_operand") + (match_operand:VEC_I 3 "vint_operand")] + "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" + { + emit_insn (gen_vector_select_ (operands[0], operands[2], operands[1], + operands[3])); + DONE; + }) + + ;; For signed integer vectors comparison. + (define_expand "vec_cmp" + [(set (match_operand:VEC_I 0 "vint_operand") + (match_operator 1 "signed_or_equality_comparison_operator" + [(match_operand:VEC_I 2 "vint_operand") + (match_operand:VEC_I 3 "vint_operand")]))] + "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" + { + enum rtx_code code = GET_CODE (operands[1]); + rtx tmp = gen_reg_rtx (mode); + switch (code) + { + case NE: + emit_insn (gen_vector_eq (operands[0], operands[2], operands[3])); + emit_insn (gen_one_cmpl2 (operands[0], operands[0])); + break; + case EQ: + emit_insn (gen_vector_eq (operands[0], operands[2], operands[3])); + break; + case GE: + emit_insn (gen_vector_nlt (operands[0],operands[2], operands[3], + tmp)); + break; + case GT: + emit_insn (gen_vector_gt (operands[0], operands[2], operands[3])); + break; + case LE: + emit_insn (gen_vector_ngt (operands[0], operands[2], operands[3], + tmp)); + break; + case LT: + emit_insn (gen_vector_gt (operands[0], operands[3], operands[2])); + break; + default: + gcc_unreachable (); + break; + } + DONE; + }) + + ;; For unsigned integer vectors comparison. + (define_expand "vec_cmpu" + [(set (match_operand:VEC_I 0 "vint_operand") + (match_operator 1 "unsigned_or_equality_comparison_operator" + [(match_operand:VEC_I 2 "vint_operand") + (match_operand:VEC_I 3 "vint_operand")]))] + "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" + { + enum rtx_code code = GET_CODE (operands[1]); + rtx tmp = gen_reg_rtx (mode); + switch (code) + { + case NE: + emit_insn (gen_vector_eq (operands[0], operands[2], operands[3])); + emit_insn (gen_one_cmpl2 (operands[0], operands[0])); + break; + case EQ: + emit_insn (gen_vector_eq (operands[0], operands[2], operands[3])); + break; + case GEU: + emit_insn (gen_vector_nltu (operands[0], operands[2], operands[3], + tmp)); + break; + case GTU: + emit_insn (gen_vector_gtu (operands[0], operands[2], operands[3])); + break; + case LEU: + emit_insn (gen_vector_ngtu (operands[0], operands[2], operands[3], + tmp)); + break; + case LTU: + emit_insn (gen_vector_gtu (operands[0], operands[3], operands[2])); + break; + default: + gcc_unreachable (); + break; + } + DONE; + }) + (define_expand "vector_eq" [(set (match_operand:VEC_C 0 "vlogical_operand") (eq:VEC_C (match_operand:VEC_C 1 "vlogical_operand") diff -Nrcpad gcc-9.2.0/gcc/config/s390/8561.md gcc-9.3.0/gcc/config/s390/8561.md *** gcc-9.2.0/gcc/config/s390/8561.md Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/8561.md Thu Mar 12 11:07:21 2020 *************** *** 1,4 **** ! ;; Scheduling description for arch13. ;; Copyright (C) 2019 Free Software Foundation, Inc. ;; Contributed by Robin Dapp (rdapp@linux.ibm.com) ;; This file is part of GCC. --- 1,4 ---- ! ;; Scheduling description for z15. ;; Copyright (C) 2019 Free Software Foundation, Inc. ;; Contributed by Robin Dapp (rdapp@linux.ibm.com) ;; This file is part of GCC. *************** *** 17,28 **** ;; along with GCC; see the file COPYING3. If not see ;; . ! (define_attr "arch13_unit_fpd" "" (cond [(eq_attr "mnemonic" "ddb,ddbr,deb,debr,dxbr,sqdb,sqdbr,sqeb,\ sqebr,sqxbr,vfddb,vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfsqdb,wfsqxb") (const_int 1)] (const_int 0))) ! (define_attr "arch13_unit_fxa" "" (cond [(eq_attr "mnemonic" "a,afi,ag,agf,agfi,agfr,agh,aghi,aghik,\ agr,agrk,ah,ahi,ahik,ahy,al,alc,alcg,alcgr,alcr,alfi,alg,algf,algfi,algfr,\ alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,bras,brasl,etnd,exrl,flogr,\ --- 17,28 ---- ;; along with GCC; see the file COPYING3. If not see ;; . ! (define_attr "z15_unit_fpd" "" (cond [(eq_attr "mnemonic" "ddb,ddbr,deb,debr,dxbr,sqdb,sqdbr,sqeb,\ sqebr,sqxbr,vfddb,vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfsqdb,wfsqxb") (const_int 1)] (const_int 0))) ! (define_attr "z15_unit_fxa" "" (cond [(eq_attr "mnemonic" "a,afi,ag,agf,agfi,agfr,agh,aghi,aghik,\ agr,agrk,ah,ahi,ahik,ahy,al,alc,alcg,alcgr,alcr,alfi,alg,algf,algfi,algfr,\ alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,bras,brasl,etnd,exrl,flogr,\ *************** slgrk,sll,sllg,sllk,slr,slrk,sly,sr,sra, *** 39,45 **** xgr,xgrk,xihf,xilf,xr,xrk,xy") (const_int 1)] (const_int 0))) ! (define_attr "arch13_unit_fxb" "" (cond [(eq_attr "mnemonic" "agsi,algsi,alsi,asi,b,bc,bcr,bi,br,brcl,\ c,cfi,cg,cgf,cgfi,cgfr,cgfrl,cgh,cghi,cghrl,cghsi,cgit,cgr,cgrl,cgrt,ch,\ chi,chrl,chsi,chy,cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,\ --- 39,45 ---- xgr,xgrk,xihf,xilf,xr,xrk,xy") (const_int 1)] (const_int 0))) ! (define_attr "z15_unit_fxb" "" (cond [(eq_attr "mnemonic" "agsi,algsi,alsi,asi,b,bc,bcr,bi,br,brcl,\ c,cfi,cg,cgf,cgfi,cgfr,cgfrl,cgh,cghi,cghrl,cghsi,cgit,cgr,cgrl,cgrt,ch,\ chi,chrl,chsi,chy,cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,\ *************** tmhl,tml,tmlh,tmll,tmy,vlgvb,vlgvf,vlgvg *** 52,62 **** vlvgp,vst,vstef,vsteg,vstl,vstrl,vstrlr,xi,xiy") (const_int 1)] (const_int 0))) ! (define_attr "arch13_unit_fxd" "" (cond [(eq_attr "mnemonic" "dlgr,dlr,dr,dsgfr,dsgr") (const_int 1)] (const_int 0))) ! (define_attr "arch13_unit_lsu" "" (cond [(eq_attr "mnemonic" "a,adb,aeb,ag,agf,agh,agsi,ah,ahy,al,alc,\ alcg,alg,algf,algsi,alsi,aly,asi,ay,c,cdb,ceb,cg,cgf,cgfrl,cgh,cghrl,cghsi,\ cgrl,ch,chrl,chsi,chy,cl,clc,clfhsi,clg,clgf,clgfrl,clghrl,clghsi,clgrl,\ --- 52,62 ---- vlvgp,vst,vstef,vsteg,vstl,vstrl,vstrlr,xi,xiy") (const_int 1)] (const_int 0))) ! (define_attr "z15_unit_fxd" "" (cond [(eq_attr "mnemonic" "dlgr,dlr,dr,dsgfr,dsgr") (const_int 1)] (const_int 0))) ! (define_attr "z15_unit_lsu" "" (cond [(eq_attr "mnemonic" "a,adb,aeb,ag,agf,agh,agsi,ah,ahy,al,alc,\ alcg,alg,algf,algsi,alsi,aly,asi,ay,c,cdb,ceb,cg,cgf,cgfrl,cgh,cghrl,cghsi,\ cgrl,ch,chrl,chsi,chy,cl,clc,clfhsi,clg,clgf,clgfrl,clghrl,clghsi,clgrl,\ *************** vllezf,vllezg,vllezh,vllezlf,vlrepb,vlre *** 73,79 **** vstef,vsteg,vstl,vstrl,vstrlr,x,xg,xi,xiy,xy") (const_int 1)] (const_int 0))) ! (define_attr "arch13_unit_vfu" "" (cond [(eq_attr "mnemonic" "adb,adbr,adtr,aeb,aebr,axbr,axtr,cdb,\ cdbr,cdtr,ceb,cebr,cpsdr,cxbr,cxtr,ddtr,dxtr,fidbr,fidbra,fidtr,fiebr,\ fiebra,fixbr,fixbra,fixtr,lcdbr,lcebr,lcxbr,ldeb,ldebr,ldetr,le,ledbr,ledtr,\ --- 73,79 ---- vstef,vsteg,vstl,vstrl,vstrlr,x,xg,xi,xiy,xy") (const_int 1)] (const_int 0))) ! (define_attr "z15_unit_vfu" "" (cond [(eq_attr "mnemonic" "adb,adbr,adtr,aeb,aebr,axbr,axtr,cdb,\ cdbr,cdtr,ceb,cebr,cpsdr,cxbr,cxtr,ddtr,dxtr,fidbr,fidbra,fidtr,fiebr,\ fiebra,fixbr,fixbra,fixtr,lcdbr,lcebr,lcxbr,ldeb,ldebr,ldetr,le,ledbr,ledtr,\ *************** wflpxb,wfmadb,wfmasb,wfmaxb,wfmaxxb,wfmd *** 115,121 **** wfmxb,wfnmaxb,wfnmsxb,wfsdb,wfssb,wfsxb,wldeb,wledb") (const_int 1)] (const_int 0))) ! (define_attr "arch13_cracked" "" (cond [(eq_attr "mnemonic" "bas,basr,cdfbr,cdftr,cdgbr,cdgtr,cdlfbr,\ cdlftr,cdlgbr,cdlgtr,cefbr,cegbr,celfbr,celgbr,cfdbr,cfebr,cfxbr,cgdbr,cgdtr,\ cgebr,cgxbr,cgxtr,chhsi,clfdbr,clfdtr,clfebr,clfxbr,clfxtr,clgdbr,clgdtr,\ --- 115,121 ---- wfmxb,wfnmaxb,wfnmsxb,wfsdb,wfssb,wfsxb,wldeb,wledb") (const_int 1)] (const_int 0))) ! (define_attr "z15_cracked" "" (cond [(eq_attr "mnemonic" "bas,basr,cdfbr,cdftr,cdgbr,cdgtr,cdlfbr,\ cdlftr,cdlgbr,cdlgtr,cefbr,cegbr,celfbr,celgbr,cfdbr,cfebr,cfxbr,cgdbr,cgdtr,\ cgebr,cgxbr,cgxtr,chhsi,clfdbr,clfdtr,clfebr,clfxbr,clfxtr,clgdbr,clgdtr,\ *************** clgebr,clgxbr,clgxtr,cs,csg,csy,d,efpc,e *** 123,135 **** rxsbg,stpq,vgef,vgeg,vscef,vsceg,vsteb,vsteh") (const_int 1)] (const_int 0))) ! (define_attr "arch13_expanded" "" (cond [(eq_attr "mnemonic" "cds,cdsg,cdsy,cxfbr,cxftr,cxgbr,cxgtr,\ cxlfbr,cxlftr,cxlgbr,cxlgtr,dl,dlg,dsg,dsgf,lam,lm,lmg,lmy,sldl,srda,srdl,\ stam,stm,stmg,stmy,tbegin,tbeginc") (const_int 1)] (const_int 0))) ! (define_attr "arch13_groupalone" "" (cond [(eq_attr "mnemonic" "alc,alcg,alcgr,alcr,axbr,axtr,clc,cxbr,\ cxtr,dlgr,dlr,dr,dsgfr,dsgr,dxbr,dxtr,fixbr,fixbra,fixtr,flogr,lcxbr,lnxbr,\ lpxbr,ltxbr,ltxtr,lxdb,lxdbr,lxdtr,lxeb,lxebr,m,madb,maeb,maebr,mfy,mg,mgrk,\ --- 123,135 ---- rxsbg,stpq,vgef,vgeg,vscef,vsceg,vsteb,vsteh") (const_int 1)] (const_int 0))) ! (define_attr "z15_expanded" "" (cond [(eq_attr "mnemonic" "cds,cdsg,cdsy,cxfbr,cxftr,cxgbr,cxgtr,\ cxlfbr,cxlftr,cxlgbr,cxlgtr,dl,dlg,dsg,dsgf,lam,lm,lmg,lmy,sldl,srda,srdl,\ stam,stm,stmg,stmy,tbegin,tbeginc") (const_int 1)] (const_int 0))) ! (define_attr "z15_groupalone" "" (cond [(eq_attr "mnemonic" "alc,alcg,alcgr,alcr,axbr,axtr,clc,cxbr,\ cxtr,dlgr,dlr,dr,dsgfr,dsgr,dxbr,dxtr,fixbr,fixbra,fixtr,flogr,lcxbr,lnxbr,\ lpxbr,ltxbr,ltxtr,lxdb,lxdbr,lxdtr,lxeb,lxebr,m,madb,maeb,maebr,mfy,mg,mgrk,\ *************** ml,mlg,mlgr,mlr,mr,msdb,mseb,msebr,mvc,m *** 137,147 **** slbgr,slbr,sqxbr,sxbr,sxtr,tabort,tcxb,tdcxt,tend,xc") (const_int 1)] (const_int 0))) ! (define_attr "arch13_endgroup" "" (cond [(eq_attr "mnemonic" "bras,brasl,exrl,ipm") (const_int 1)] (const_int 0))) ! (define_attr "arch13_groupoftwo" "" (cond [(eq_attr "mnemonic" "vacccq,vacq,vfmadb,vfmasb,vfmsdb,vfmssb,\ vfnmadb,vfnmasb,vfnmsdb,vfnmssb,vgfmab,vgfmaf,vgfmag,vgfmah,vmaeb,vmaef,vmaeh,\ vmahb,vmahf,vmahh,vmalb,vmaleb,vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,\ --- 137,147 ---- slbgr,slbr,sqxbr,sxbr,sxtr,tabort,tcxb,tdcxt,tend,xc") (const_int 1)] (const_int 0))) ! (define_attr "z15_endgroup" "" (cond [(eq_attr "mnemonic" "bras,brasl,exrl,ipm") (const_int 1)] (const_int 0))) ! (define_attr "z15_groupoftwo" "" (cond [(eq_attr "mnemonic" "vacccq,vacq,vfmadb,vfmasb,vfmsdb,vfmssb,\ vfnmadb,vfnmasb,vfnmsdb,vfnmssb,vgfmab,vgfmaf,vgfmag,vgfmah,vmaeb,vmaef,vmaeh,\ vmahb,vmahf,vmahh,vmalb,vmaleb,vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,\ *************** vmalhw,vmalob,vmalof,vmaloh,vmaob,vmaof, *** 149,156 **** wfmadb,wfmasb,wfmaxb,wfmsdb,wfmssb,wfmsxb,wfnmaxb,wfnmsxb") (const_int 1)] (const_int 0))) ! (define_insn_reservation "arch13_0" 0 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "a,afi,ag,agfi,aghi,aghik,agr,agrk,ahi,ahik,al,\ alfi,alg,algf,algfi,algfr,alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,\ b,bc,bcr,bi,br,bras,brasl,brcl,c,cfi,cg,cgfi,cghi,cghsi,cgit,cgr,cgrl,\ --- 149,156 ---- wfmadb,wfmasb,wfmaxb,wfmsdb,wfmssb,wfmsxb,wfnmaxb,wfnmsxb") (const_int 1)] (const_int 0))) ! (define_insn_reservation "z15_0" 0 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "a,afi,ag,agfi,aghi,aghik,agr,agrk,ahi,ahik,al,\ alfi,alg,algf,algfi,algfr,alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,\ b,bc,bcr,bi,br,bras,brasl,brcl,c,cfi,cg,cgfi,cghi,cghsi,cgit,cgr,cgrl,\ *************** sllk,slr,slrk,sly,sr,sra,srag,srak,srda, *** 168,175 **** tmhh,tmhl,tml,tmlh,tmll,tmy,vlr,vlvgb,vlvgf,vlvgg,vlvgh,x,xg,xgr,xgrk,xihf,\ xilf,xr,xrk,xy")) "nothing") ! (define_insn_reservation "arch13_1" 1 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "agf,agfr,agh,agsi,ah,ahy,algsi,alsi,asi,cgf,\ cgfr,cgfrl,cgh,cghrl,ch,chrl,chy,clm,clmy,cpsdr,laa,laag,lan,lang,lao,laog,\ lax,laxg,le,ler,ley,loc,locg,locghi,locgr,lochi,locr,mvghi,mvhhi,mvhi,mvi,\ --- 168,175 ---- tmhh,tmhl,tml,tmlh,tmll,tmy,vlr,vlvgb,vlvgf,vlvgg,vlvgh,x,xg,xgr,xgrk,xihf,\ xilf,xr,xrk,xy")) "nothing") ! (define_insn_reservation "z15_1" 1 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "agf,agfr,agh,agsi,ah,ahy,algsi,alsi,asi,cgf,\ cgfr,cgfrl,cgh,cghrl,ch,chrl,chy,clm,clmy,cpsdr,laa,laag,lan,lang,lao,laog,\ lax,laxg,le,ler,ley,loc,locg,locghi,locgr,lochi,locr,mvghi,mvhhi,mvhi,mvi,\ *************** wfcedb,wfcesb,wfcexb,wfchdb,wfchedb,wfch *** 196,203 **** wflcsb,wflcxb,wflndb,wflnsb,wflnxb,wflpdb,wflpsb,wflpxb,wfmaxxb,wfminxb,xi,\ xiy")) "nothing") ! (define_insn_reservation "arch13_2" 2 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cdb,cdbr,ceb,cebr,ear,ipm,l,lcbb,lcdbr,lcebr,ld,\ lde,ldy,lg,lgdr,lgrl,llc,llgc,llgf,llgfrl,llgh,llghrl,llgt,llh,llhrl,lm,\ lmg,lmy,lndbr,lnebr,lpdbr,lpebr,lrl,ltdbr,ltebr,ly,popcnt,sar,tcdb,tceb,\ --- 196,203 ---- wflcsb,wflcxb,wflndb,wflnsb,wflnxb,wflpdb,wflpsb,wflpxb,wfmaxxb,wfminxb,xi,\ xiy")) "nothing") ! (define_insn_reservation "z15_2" 2 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cdb,cdbr,ceb,cebr,ear,ipm,l,lcbb,lcdbr,lcebr,ld,\ lde,ldy,lg,lgdr,lgrl,llc,llgc,llgf,llgfrl,llgh,llghrl,llgt,llh,llhrl,lm,\ lmg,lmy,lndbr,lnebr,lpdbr,lpebr,lrl,ltdbr,ltebr,ly,popcnt,sar,tcdb,tceb,\ *************** vistrh,vlgvb,vlgvf,vlgvg,vlgvh,vllezb,vl *** 208,215 **** vlrepf,vlrepg,vlreph,vlrl,vlvgp,vpklsfs,vpklsgs,vpklshs,vpksfs,vpksgs,vpkshs,\ wfcdb,wfcexbs,wfchexbs,wfchxbs,wfcsb")) "nothing") ! (define_insn_reservation "arch13_3" 3 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cds,cdsy,mgh,mghi,mh,mhi,mhy,std,stdy,ste,stey,\ vcksm,vfeezbs,vfeezfs,vfeezhs,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,vgfmg,\ vgfmh,vistrbs,vistrfs,vistrhs,vl,vlbb,vll,vlrlr,vmaeb,vmaef,vmaeh,vmahb,\ --- 208,215 ---- vlrepf,vlrepg,vlreph,vlrl,vlvgp,vpklsfs,vpklsgs,vpklshs,vpksfs,vpksgs,vpkshs,\ wfcdb,wfcexbs,wfchexbs,wfchxbs,wfcsb")) "nothing") ! (define_insn_reservation "z15_3" 3 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cds,cdsy,mgh,mghi,mh,mhi,mhy,std,stdy,ste,stey,\ vcksm,vfeezbs,vfeezfs,vfeezhs,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,vgfmg,\ vgfmh,vistrbs,vistrfs,vistrhs,vl,vlbb,vll,vlrlr,vmaeb,vmaef,vmaeh,vmahb,\ *************** vmalob,vmalof,vmaloh,vmaob,vmaof,vmaoh,v *** 218,231 **** vmleb,vmlef,vmleh,vmlf,vmlhb,vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmob,vmof,\ vmoh,vsumb,vsumgf,vsumgh,vsumh,vsumqf,vsumqg,vtm")) "nothing") ! (define_insn_reservation "arch13_4" 4 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "bas,basr,chhsi,clc,ex,lam,lcgfr,lngfr,lpgfr,lxr,\ lzxr,ms,msfi,msgf,msgfi,msgfr,msr,msy,mvc,nc,oc,ppa,rxsbg,tabort,tbegin,\ tbeginc,tend,vst,vstef,vsteg,vstl,vstrl,vstrlr,xc")) "nothing") ! (define_insn_reservation "arch13_5" 5 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "adb,adbr,aeb,aebr,alc,alcg,alcgr,alcr,cs,csg,\ csy,fidbr,fidbra,fiebr,fiebra,ldeb,ldebr,ledbr,madbr,mdb,mdbr,meeb,meebr,\ msdbr,msrkc,sdb,sdbr,seb,sebr,slb,slbg,slbgr,slbr,stm,stmg,stmy,vfadb,vfasb,\ --- 218,231 ---- vmleb,vmlef,vmleh,vmlf,vmlhb,vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmob,vmof,\ vmoh,vsumb,vsumgf,vsumgh,vsumh,vsumqf,vsumqg,vtm")) "nothing") ! (define_insn_reservation "z15_4" 4 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "bas,basr,chhsi,clc,ex,lam,lcgfr,lngfr,lpgfr,lxr,\ lzxr,ms,msfi,msgf,msgfi,msgfr,msr,msy,mvc,nc,oc,ppa,rxsbg,tabort,tbegin,\ tbeginc,tend,vst,vstef,vsteg,vstl,vstrl,vstrlr,xc")) "nothing") ! (define_insn_reservation "z15_5" 5 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "adb,adbr,aeb,aebr,alc,alcg,alcgr,alcr,cs,csg,\ csy,fidbr,fidbra,fiebr,fiebra,ldeb,ldebr,ledbr,madbr,mdb,mdbr,meeb,meebr,\ msdbr,msrkc,sdb,sdbr,seb,sebr,slb,slbg,slbgr,slbr,stm,stmg,stmy,vfadb,vfasb,\ *************** vfidb,vfisb,vfmadb,vfmasb,vfmdb,vfmsb,vf *** 233,285 **** vfnmssb,vfsdb,vfssb,vldeb,vledb,vmslg,wfadb,wfasb,wfidb,wfisb,wflld,wfmadb,\ wfmasb,wfmdb,wfmsb,wfmsdb,wfmssb,wfsdb,wfssb,wldeb,wledb")) "nothing") ! (define_insn_reservation "arch13_6" 6 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "msg,msgr,sfpc")) "nothing") ! (define_insn_reservation "arch13_7" 7 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "adtr,cdtr,fidtr,ldetr,ltdtr,msgrkc,sdtr,tdcdt,\ tdcet,vgef,vgeg")) "nothing") ! (define_insn_reservation "arch13_8" 8 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cdsg,flogr,lpq,stpq,vsteb,vsteh")) "nothing") ! (define_insn_reservation "arch13_9" 9 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cdfbr,cdgbr,cdlfbr,cdlgbr,cefbr,cegbr,celfbr,\ celgbr,cxfbr,cxgbr,cxlfbr,cxlgbr,m,madb,maeb,maebr,mfy,ml,mlr,mr,msdb,mseb,\ msebr,stam,wfaxb,wfixb,wfsxb")) "nothing") ! (define_insn_reservation "arch13_10" 10 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "lxdb,lxdbr,lxeb,lxebr,vscef,vsceg")) "nothing") ! (define_insn_reservation "arch13_11" 11 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cfdbr,cfebr,cgdbr,cgebr,clfdbr,clfebr,clgdbr,\ clgebr,mg,mgrk,mlg,mlgr")) "nothing") ! (define_insn_reservation "arch13_12" 12 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cxbr,cxftr,cxlftr,cxtr,tcxb,tdcxt")) "nothing") ! (define_insn_reservation "arch13_13" 13 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "axbr,axtr,fixbr,fixbra,fixtr,lcxbr,lnxbr,lpxbr,\ ltxbr,ltxtr,lxdtr,sxbr,sxtr")) "nothing") ! (define_insn_reservation "arch13_14" 14 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cfxbr,cgxbr,clfxbr,clgxbr,ledtr")) "nothing") ! (define_insn_reservation "arch13_16" 16 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cdftr,cdlftr")) "nothing") ! (define_insn_reservation "arch13_20" 20 ! (and (eq_attr "cpu" "arch13") (eq_attr "mnemonic" "cdgtr,cdlgtr,cgdtr,cgxtr,clfdtr,clfxtr,clgdtr,\ clgxtr,cxgtr,cxlgtr,d,ddb,ddbr,ddtr,deb,debr,dl,dlg,dlgr,dlr,dr,dsg,dsgf,\ dsgfr,dsgr,dxbr,dxtr,efpc,mdtr,mxbr,mxtr,sqdb,sqdbr,sqeb,sqebr,sqxbr,vfddb,\ --- 233,285 ---- vfnmssb,vfsdb,vfssb,vldeb,vledb,vmslg,wfadb,wfasb,wfidb,wfisb,wflld,wfmadb,\ wfmasb,wfmdb,wfmsb,wfmsdb,wfmssb,wfsdb,wfssb,wldeb,wledb")) "nothing") ! (define_insn_reservation "z15_6" 6 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "msg,msgr,sfpc")) "nothing") ! (define_insn_reservation "z15_7" 7 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "adtr,cdtr,fidtr,ldetr,ltdtr,msgrkc,sdtr,tdcdt,\ tdcet,vgef,vgeg")) "nothing") ! (define_insn_reservation "z15_8" 8 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cdsg,flogr,lpq,stpq,vsteb,vsteh")) "nothing") ! (define_insn_reservation "z15_9" 9 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cdfbr,cdgbr,cdlfbr,cdlgbr,cefbr,cegbr,celfbr,\ celgbr,cxfbr,cxgbr,cxlfbr,cxlgbr,m,madb,maeb,maebr,mfy,ml,mlr,mr,msdb,mseb,\ msebr,stam,wfaxb,wfixb,wfsxb")) "nothing") ! (define_insn_reservation "z15_10" 10 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "lxdb,lxdbr,lxeb,lxebr,vscef,vsceg")) "nothing") ! (define_insn_reservation "z15_11" 11 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cfdbr,cfebr,cgdbr,cgebr,clfdbr,clfebr,clgdbr,\ clgebr,mg,mgrk,mlg,mlgr")) "nothing") ! (define_insn_reservation "z15_12" 12 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cxbr,cxftr,cxlftr,cxtr,tcxb,tdcxt")) "nothing") ! (define_insn_reservation "z15_13" 13 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "axbr,axtr,fixbr,fixbra,fixtr,lcxbr,lnxbr,lpxbr,\ ltxbr,ltxtr,lxdtr,sxbr,sxtr")) "nothing") ! (define_insn_reservation "z15_14" 14 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cfxbr,cgxbr,clfxbr,clgxbr,ledtr")) "nothing") ! (define_insn_reservation "z15_16" 16 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cdftr,cdlftr")) "nothing") ! (define_insn_reservation "z15_20" 20 ! (and (eq_attr "cpu" "z15") (eq_attr "mnemonic" "cdgtr,cdlgtr,cgdtr,cgxtr,clfdtr,clfxtr,clgdtr,\ clgxtr,cxgtr,cxlgtr,d,ddb,ddbr,ddtr,deb,debr,dl,dlg,dlgr,dlr,dr,dsg,dsgf,\ dsgfr,dsgr,dxbr,dxtr,efpc,mdtr,mxbr,mxtr,sqdb,sqdbr,sqeb,sqebr,sqxbr,vfddb,\ diff -Nrcpad gcc-9.2.0/gcc/config/s390/driver-native.c gcc-9.3.0/gcc/config/s390/driver-native.c *** gcc-9.2.0/gcc/config/s390/driver-native.c Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/driver-native.c Thu Mar 12 11:07:21 2020 *************** s390_host_detect_local_cpu (int argc, co *** 121,130 **** break; case 0x8561: case 0x8562: ! cpu = "arch13"; break; default: ! cpu = "arch13"; break; } } --- 121,130 ---- break; case 0x8561: case 0x8562: ! cpu = "z15"; break; default: ! cpu = "z15"; break; } } diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390-builtins.def gcc-9.3.0/gcc/config/s390/s390-builtins.def *** gcc-9.2.0/gcc/config/s390/s390-builtins.def Tue Apr 2 11:10:13 2019 --- gcc-9.3.0/gcc/config/s390/s390-builtins.def Thu Mar 12 11:07:21 2020 *************** *** 281,287 **** #define B_HTM (1 << 1) /* Builtins requiring the transactional execution facility. */ #define B_VX (1 << 2) /* Builtins requiring the z13 vector extensions. */ #define B_VXE (1 << 3) /* Builtins requiring the z14 vector extensions. */ ! #define B_VXE2 (1 << 4) /* Builtins requiring the arch13 vector extensions. */ #define B_DEP (1 << 5) /* Builtin has been deprecated and a warning should be issued. */ /* B_DEF defines a standard (not overloaded) builtin --- 281,287 ---- #define B_HTM (1 << 1) /* Builtins requiring the transactional execution facility. */ #define B_VX (1 << 2) /* Builtins requiring the z13 vector extensions. */ #define B_VXE (1 << 3) /* Builtins requiring the z14 vector extensions. */ ! #define B_VXE2 (1 << 4) /* Builtins requiring the z15 vector extensions. */ #define B_DEP (1 << 5) /* Builtin has been deprecated and a warning should be issued. */ /* B_DEF defines a standard (not overloaded) builtin diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390-c.c gcc-9.3.0/gcc/config/s390/s390-c.c *** gcc-9.2.0/gcc/config/s390/s390-c.c Tue Apr 2 10:59:30 2019 --- gcc-9.3.0/gcc/config/s390/s390-c.c Thu Mar 12 11:07:21 2020 *************** s390_resolve_overloaded_builtin (locatio *** 905,910 **** --- 905,916 ---- return error_mark_node; } + if (!TARGET_VXE2 && (ob_flags & B_VXE2)) + { + error_at (loc, "%qF requires z15 or higher", ob_fndecl); + return error_mark_node; + } + ob_fcode -= S390_BUILTIN_MAX; for (b_arg_chain = TYPE_ARG_TYPES (TREE_TYPE (ob_fndecl)); *************** s390_resolve_overloaded_builtin (locatio *** 982,987 **** --- 988,1002 ---- IDENTIFIER_POINTER (DECL_NAME (ob_fndecl))); return error_mark_node; } + + + if (!TARGET_VXE2 + && bflags_overloaded_builtin_var[last_match_index] & B_VXE2) + { + error_at (loc, "%qs matching variant requires z15 or higher", + IDENTIFIER_POINTER (DECL_NAME (ob_fndecl))); + return error_mark_node; + } if (bflags_overloaded_builtin_var[last_match_index] & B_DEP) warning_at (loc, 0, "%qs matching variant is deprecated.", diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390-opts.h gcc-9.3.0/gcc/config/s390/s390-opts.h *** gcc-9.2.0/gcc/config/s390/s390-opts.h Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/s390-opts.h Thu Mar 12 11:07:21 2020 *************** enum processor_type *** 37,43 **** PROCESSOR_2827_ZEC12, PROCESSOR_2964_Z13, PROCESSOR_3906_Z14, ! PROCESSOR_8561_ARCH13, PROCESSOR_NATIVE, PROCESSOR_max }; --- 37,43 ---- PROCESSOR_2827_ZEC12, PROCESSOR_2964_Z13, PROCESSOR_3906_Z14, ! PROCESSOR_8561_Z15, PROCESSOR_NATIVE, PROCESSOR_max }; diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390.c gcc-9.3.0/gcc/config/s390/s390.c *** gcc-9.2.0/gcc/config/s390/s390.c Wed Apr 24 13:40:38 2019 --- gcc-9.3.0/gcc/config/s390/s390.c Thu Mar 12 11:07:21 2020 *************** const struct s390_processor processor_ta *** 337,343 **** { "zEC12", "zEC12", PROCESSOR_2827_ZEC12, &zEC12_cost, 10 }, { "z13", "z13", PROCESSOR_2964_Z13, &zEC12_cost, 11 }, { "z14", "arch12", PROCESSOR_3906_Z14, &zEC12_cost, 12 }, ! { "arch13", "", PROCESSOR_8561_ARCH13, &zEC12_cost, 13 }, { "native", "", PROCESSOR_NATIVE, NULL, 0 } }; --- 337,343 ---- { "zEC12", "zEC12", PROCESSOR_2827_ZEC12, &zEC12_cost, 10 }, { "z13", "z13", PROCESSOR_2964_Z13, &zEC12_cost, 11 }, { "z14", "arch12", PROCESSOR_3906_Z14, &zEC12_cost, 12 }, ! { "z15", "arch13", PROCESSOR_8561_Z15, &zEC12_cost, 13 }, { "native", "", PROCESSOR_NATIVE, NULL, 0 } }; *************** s390_expand_builtin (tree exp, rtx targe *** 811,816 **** --- 811,822 ---- error ("Builtin %qF requires z14 or higher.", fndecl); return const0_rtx; } + + if ((bflags & B_VXE2) && !TARGET_VXE2) + { + error ("Builtin %qF requires z15 or higher.", fndecl); + return const0_rtx; + } } if (fcode >= S390_OVERLOADED_BUILTIN_VAR_OFFSET && fcode < S390_ALL_BUILTIN_MAX) *************** s390_canonicalize_comparison (int *code, *** 1782,1788 **** if (*code == EQ) new_code = reversed_comparison_code_parts (GET_CODE (*op0), XEXP (*op0, 0), ! XEXP (*op1, 0), NULL); else new_code = GET_CODE (*op0); --- 1788,1794 ---- if (*code == EQ) new_code = reversed_comparison_code_parts (GET_CODE (*op0), XEXP (*op0, 0), ! XEXP (*op0, 1), NULL); else new_code = GET_CODE (*op0); *************** s390_canonicalize_comparison (int *code, *** 1795,1801 **** } /* ~a==b -> ~(a^b)==0 ~a!=b -> ~(a^b)!=0 */ ! if (TARGET_ARCH13 && (*code == EQ || *code == NE) && (GET_MODE (*op0) == DImode || GET_MODE (*op0) == SImode) && GET_CODE (*op0) == NOT) --- 1801,1807 ---- } /* ~a==b -> ~(a^b)==0 ~a!=b -> ~(a^b)!=0 */ ! if (TARGET_Z15 && (*code == EQ || *code == NE) && (GET_MODE (*op0) == DImode || GET_MODE (*op0) == SImode) && GET_CODE (*op0) == NOT) *************** s390_canonicalize_comparison (int *code, *** 1807,1813 **** } /* a&b == -1 -> ~a|~b == 0 a|b == -1 -> ~a&~b == 0 */ ! if (TARGET_ARCH13 && (*code == EQ || *code == NE) && (GET_CODE (*op0) == AND || GET_CODE (*op0) == IOR) && (GET_MODE (*op0) == DImode || GET_MODE (*op0) == SImode) --- 1813,1819 ---- } /* a&b == -1 -> ~a|~b == 0 a|b == -1 -> ~a&~b == 0 */ ! if (TARGET_Z15 && (*code == EQ || *code == NE) && (GET_CODE (*op0) == AND || GET_CODE (*op0) == IOR) && (GET_MODE (*op0) == DImode || GET_MODE (*op0) == SImode) *************** s390_rtx_costs (rtx x, machine_mode mode *** 3529,3535 **** /* It is a real IF-THEN-ELSE. An additional move will be needed to implement that. */ ! if (!TARGET_ARCH13 && reload_completed && !rtx_equal_p (dst, then) && !rtx_equal_p (dst, els)) --- 3535,3541 ---- /* It is a real IF-THEN-ELSE. An additional move will be needed to implement that. */ ! if (!TARGET_Z15 && reload_completed && !rtx_equal_p (dst, then) && !rtx_equal_p (dst, els)) *************** s390_rtx_costs (rtx x, machine_mode mode *** 3551,3557 **** case IOR: /* nnrk, nngrk */ ! if (TARGET_ARCH13 && (mode == SImode || mode == DImode) && GET_CODE (XEXP (x, 0)) == NOT && GET_CODE (XEXP (x, 1)) == NOT) --- 3557,3563 ---- case IOR: /* nnrk, nngrk */ ! if (TARGET_Z15 && (mode == SImode || mode == DImode) && GET_CODE (XEXP (x, 0)) == NOT && GET_CODE (XEXP (x, 1)) == NOT) *************** s390_rtx_costs (rtx x, machine_mode mode *** 3598,3604 **** case AND: /* nork, nogrk */ ! if (TARGET_ARCH13 && (mode == SImode || mode == DImode) && GET_CODE (XEXP (x, 0)) == NOT && GET_CODE (XEXP (x, 1)) == NOT) --- 3604,3610 ---- case AND: /* nork, nogrk */ ! if (TARGET_Z15 && (mode == SImode || mode == DImode) && GET_CODE (XEXP (x, 0)) == NOT && GET_CODE (XEXP (x, 1)) == NOT) *************** s390_rtx_costs (rtx x, machine_mode mode *** 3770,3776 **** *total = COSTS_N_INSNS (1); /* nxrk, nxgrk ~(a^b)==0 */ ! if (TARGET_ARCH13 && GET_CODE (XEXP (x, 0)) == NOT && XEXP (x, 1) == const0_rtx && GET_CODE (XEXP (XEXP (x, 0), 0)) == XOR --- 3776,3782 ---- *total = COSTS_N_INSNS (1); /* nxrk, nxgrk ~(a^b)==0 */ ! if (TARGET_Z15 && GET_CODE (XEXP (x, 0)) == NOT && XEXP (x, 1) == const0_rtx && GET_CODE (XEXP (XEXP (x, 0), 0)) == XOR *************** s390_rtx_costs (rtx x, machine_mode mode *** 3785,3791 **** } /* nnrk, nngrk, nork, nogrk */ ! if (TARGET_ARCH13 && (GET_CODE (XEXP (x, 0)) == AND || GET_CODE (XEXP (x, 0)) == IOR) && XEXP (x, 1) == const0_rtx && (GET_MODE (XEXP (x, 0)) == SImode || GET_MODE (XEXP (x, 0)) == DImode) --- 3791,3797 ---- } /* nnrk, nngrk, nork, nogrk */ ! if (TARGET_Z15 && (GET_CODE (XEXP (x, 0)) == AND || GET_CODE (XEXP (x, 0)) == IOR) && XEXP (x, 1) == const0_rtx && (GET_MODE (XEXP (x, 0)) == SImode || GET_MODE (XEXP (x, 0)) == DImode) *************** s390_get_sched_attrmask (rtx_insn *insn) *** 14440,14455 **** if (get_attr_z14_groupoftwo (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPOFTWO; break; ! case PROCESSOR_8561_ARCH13: ! if (get_attr_arch13_cracked (insn)) mask |= S390_SCHED_ATTR_MASK_CRACKED; ! if (get_attr_arch13_expanded (insn)) mask |= S390_SCHED_ATTR_MASK_EXPANDED; ! if (get_attr_arch13_endgroup (insn)) mask |= S390_SCHED_ATTR_MASK_ENDGROUP; ! if (get_attr_arch13_groupalone (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPALONE; ! if (get_attr_arch13_groupoftwo (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPOFTWO; break; default: --- 14446,14461 ---- if (get_attr_z14_groupoftwo (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPOFTWO; break; ! case PROCESSOR_8561_Z15: ! if (get_attr_z15_cracked (insn)) mask |= S390_SCHED_ATTR_MASK_CRACKED; ! if (get_attr_z15_expanded (insn)) mask |= S390_SCHED_ATTR_MASK_EXPANDED; ! if (get_attr_z15_endgroup (insn)) mask |= S390_SCHED_ATTR_MASK_ENDGROUP; ! if (get_attr_z15_groupalone (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPALONE; ! if (get_attr_z15_groupoftwo (insn)) mask |= S390_SCHED_ATTR_MASK_GROUPOFTWO; break; default: *************** s390_get_unit_mask (rtx_insn *insn, int *** 14487,14501 **** if (get_attr_z14_unit_vfu (insn)) mask |= 1 << 3; break; ! case PROCESSOR_8561_ARCH13: *units = 4; ! if (get_attr_arch13_unit_lsu (insn)) mask |= 1 << 0; ! if (get_attr_arch13_unit_fxa (insn)) mask |= 1 << 1; ! if (get_attr_arch13_unit_fxb (insn)) mask |= 1 << 2; ! if (get_attr_arch13_unit_vfu (insn)) mask |= 1 << 3; break; default: --- 14493,14507 ---- if (get_attr_z14_unit_vfu (insn)) mask |= 1 << 3; break; ! case PROCESSOR_8561_Z15: *units = 4; ! if (get_attr_z15_unit_lsu (insn)) mask |= 1 << 0; ! if (get_attr_z15_unit_fxa (insn)) mask |= 1 << 1; ! if (get_attr_z15_unit_fxb (insn)) mask |= 1 << 2; ! if (get_attr_z15_unit_vfu (insn)) mask |= 1 << 3; break; default: *************** s390_is_fpd (rtx_insn *insn) *** 14511,14517 **** return false; return get_attr_z13_unit_fpd (insn) || get_attr_z14_unit_fpd (insn) ! || get_attr_arch13_unit_fpd (insn); } static bool --- 14517,14523 ---- return false; return get_attr_z13_unit_fpd (insn) || get_attr_z14_unit_fpd (insn) ! || get_attr_z15_unit_fpd (insn); } static bool *************** s390_is_fxd (rtx_insn *insn) *** 14521,14527 **** return false; return get_attr_z13_unit_fxd (insn) || get_attr_z14_unit_fxd (insn) ! || get_attr_arch13_unit_fxd (insn); } /* Returns TRUE if INSN is a long-running instruction. */ --- 14527,14533 ---- return false; return get_attr_z13_unit_fxd (insn) || get_attr_z14_unit_fxd (insn) ! || get_attr_z15_unit_fxd (insn); } /* Returns TRUE if INSN is a long-running instruction. */ *************** s390_support_vector_misalignment (machin *** 15968,15980 **** static HOST_WIDE_INT s390_vector_alignment (const_tree type) { if (!TARGET_VX_ABI) return default_vector_alignment (type); if (TYPE_USER_ALIGN (type)) return TYPE_ALIGN (type); ! return MIN (64, tree_to_shwi (TYPE_SIZE (type))); } /* Implement TARGET_CONSTANT_ALIGNMENT. Alignment on even addresses for --- 15974,15992 ---- static HOST_WIDE_INT s390_vector_alignment (const_tree type) { + tree size = TYPE_SIZE (type); + if (!TARGET_VX_ABI) return default_vector_alignment (type); if (TYPE_USER_ALIGN (type)) return TYPE_ALIGN (type); ! if (tree_fits_uhwi_p (size) ! && tree_to_uhwi (size) < BIGGEST_ALIGNMENT) ! return tree_to_uhwi (size); ! ! return BIGGEST_ALIGNMENT; } /* Implement TARGET_CONSTANT_ALIGNMENT. Alignment on even addresses for diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390.h gcc-9.3.0/gcc/config/s390/s390.h *** gcc-9.2.0/gcc/config/s390/s390.h Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/s390.h Thu Mar 12 11:07:21 2020 *************** enum processor_flags *** 41,52 **** PF_Z14 = 2048, PF_VXE = 4096, PF_VXE2 = 8192, ! PF_ARCH13 = 16384 }; /* This is necessary to avoid a warning about comparing different enum types. */ ! #define s390_tune_attr ((enum attr_cpu)(s390_tune > PROCESSOR_8561_ARCH13 ? PROCESSOR_8561_ARCH13 : s390_tune )) /* These flags indicate that the generated code should run on a cpu providing the respective hardware facility regardless of the --- 41,52 ---- PF_Z14 = 2048, PF_VXE = 4096, PF_VXE2 = 8192, ! PF_Z15 = 16384 }; /* This is necessary to avoid a warning about comparing different enum types. */ ! #define s390_tune_attr ((enum attr_cpu)(s390_tune > PROCESSOR_8561_Z15 ? PROCESSOR_8561_Z15 : s390_tune )) /* These flags indicate that the generated code should run on a cpu providing the respective hardware facility regardless of the *************** enum processor_flags *** 100,109 **** (s390_arch_flags & PF_VXE) #define TARGET_CPU_VXE_P(opts) \ (opts->x_s390_arch_flags & PF_VXE) ! #define TARGET_CPU_ARCH13 \ ! (s390_arch_flags & PF_ARCH13) ! #define TARGET_CPU_ARCH13_P(opts) \ ! (opts->x_s390_arch_flags & PF_ARCH13) #define TARGET_CPU_VXE2 \ (s390_arch_flags & PF_VXE2) #define TARGET_CPU_VXE2_P(opts) \ --- 100,109 ---- (s390_arch_flags & PF_VXE) #define TARGET_CPU_VXE_P(opts) \ (opts->x_s390_arch_flags & PF_VXE) ! #define TARGET_CPU_Z15 \ ! (s390_arch_flags & PF_Z15) ! #define TARGET_CPU_Z15_P(opts) \ ! (opts->x_s390_arch_flags & PF_Z15) #define TARGET_CPU_VXE2 \ (s390_arch_flags & PF_VXE2) #define TARGET_CPU_VXE2_P(opts) \ *************** enum processor_flags *** 160,168 **** (TARGET_VX && TARGET_CPU_VXE) #define TARGET_VXE_P(opts) \ (TARGET_VX_P (opts) && TARGET_CPU_VXE_P (opts)) ! #define TARGET_ARCH13 (TARGET_ZARCH && TARGET_CPU_ARCH13) ! #define TARGET_ARCH13_P(opts) \ ! (TARGET_ZARCH_P (opts->x_target_flags) && TARGET_CPU_ARCH13_P (opts)) #define TARGET_VXE2 \ (TARGET_VX && TARGET_CPU_VXE2) #define TARGET_VXE2_P(opts) \ --- 160,168 ---- (TARGET_VX && TARGET_CPU_VXE) #define TARGET_VXE_P(opts) \ (TARGET_VX_P (opts) && TARGET_CPU_VXE_P (opts)) ! #define TARGET_Z15 (TARGET_ZARCH && TARGET_CPU_Z15) ! #define TARGET_Z15_P(opts) \ ! (TARGET_ZARCH_P (opts->x_target_flags) && TARGET_CPU_Z15_P (opts)) #define TARGET_VXE2 \ (TARGET_VX && TARGET_CPU_VXE2) #define TARGET_VXE2_P(opts) \ diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390.md gcc-9.3.0/gcc/config/s390/s390.md *** gcc-9.2.0/gcc/config/s390/s390.md Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/s390.md Thu Mar 12 11:07:21 2020 *************** *** 513,523 **** ;; Processor type. This attribute must exactly match the processor_type ;; enumeration in s390.h. ! (define_attr "cpu" "z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,arch13" (const (symbol_ref "s390_tune_attr"))) (define_attr "cpu_facility" ! "standard,ieee,zarch,cpu_zarch,longdisp,extimm,dfp,z10,z196,zEC12,vx,z13,z14,vxe,arch13,vxe2" (const_string "standard")) (define_attr "enabled" "" --- 513,523 ---- ;; Processor type. This attribute must exactly match the processor_type ;; enumeration in s390.h. ! (define_attr "cpu" "z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15" (const (symbol_ref "s390_tune_attr"))) (define_attr "cpu_facility" ! "standard,ieee,zarch,cpu_zarch,longdisp,extimm,dfp,z10,z196,zEC12,vx,z13,z14,vxe,z15,vxe2" (const_string "standard")) (define_attr "enabled" "" *************** *** 575,582 **** (match_test "TARGET_VXE")) (const_int 1) ! (and (eq_attr "cpu_facility" "arch13") ! (match_test "TARGET_ARCH13")) (const_int 1) (and (eq_attr "cpu_facility" "vxe2") --- 575,582 ---- (match_test "TARGET_VXE")) (const_int 1) ! (and (eq_attr "cpu_facility" "z15") ! (match_test "TARGET_Z15")) (const_int 1) (and (eq_attr "cpu_facility" "vxe2") *************** *** 613,619 **** ;; Pipeline description for z14 (include "3906.md") ! ;; Pipeline description for arch13 (include "8561.md") ;; Predicates --- 613,619 ---- ;; Pipeline description for z14 (include "3906.md") ! ;; Pipeline description for z15 (include "8561.md") ;; Predicates *************** *** 642,648 **** (define_mode_iterator DD_DF [DF DD]) (define_mode_iterator TD_TF [TF TD]) ! ; 32 bit int<->fp conversion instructions are available since VXE2 (arch13). (define_mode_iterator VX_CONV_BFP [DF (SF "TARGET_VXE2")]) (define_mode_iterator VX_CONV_INT [DI (SI "TARGET_VXE2")]) --- 642,648 ---- (define_mode_iterator DD_DF [DF DD]) (define_mode_iterator TD_TF [TF TD]) ! ; 32 bit int<->fp conversion instructions are available since VXE2 (z15). (define_mode_iterator VX_CONV_BFP [DF (SF "TARGET_VXE2")]) (define_mode_iterator VX_CONV_INT [DI (SI "TARGET_VXE2")]) *************** *** 6749,6755 **** stoc%C1\t%3,%0 stoc%D1\t%4,%0" [(set_attr "op_type" "RRF,RRF,RRF,RSY,RSY,RIE,RIE,RSY,RSY") ! (set_attr "cpu_facility" "*,*,arch13,*,*,z13,z13,*,*")]) ;; ;;- Multiply instructions. --- 6749,6755 ---- stoc%C1\t%3,%0 stoc%D1\t%4,%0" [(set_attr "op_type" "RRF,RRF,RRF,RSY,RSY,RIE,RIE,RSY,RSY") ! (set_attr "cpu_facility" "*,*,z15,*,*,z13,z13,*,*")]) ;; ;;- Multiply instructions. *************** *** 7568,7574 **** (and:GPR (not:GPR (match_operand:GPR 1 "nonimmediate_operand" "")) (match_operand:GPR 2 "general_operand" ""))) (clobber (reg:CC CC_REGNUM))] ! "!TARGET_ARCH13 && ! reload_completed && (GET_CODE (operands[0]) != MEM /* Ensure that s390_logical_operator_ok_p will succeed even --- 7568,7574 ---- (and:GPR (not:GPR (match_operand:GPR 1 "nonimmediate_operand" "")) (match_operand:GPR 2 "general_operand" ""))) (clobber (reg:CC CC_REGNUM))] ! "!TARGET_Z15 && ! reload_completed && (GET_CODE (operands[0]) != MEM /* Ensure that s390_logical_operator_ok_p will succeed even *************** *** 7925,7931 **** (set (match_operand:GPR 0 "register_operand" "=d") (ANDOR:GPR (not:GPR (match_dup 1)) (match_dup 2)))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) --- 7925,7931 ---- (set (match_operand:GPR 0 "register_operand" "=d") (ANDOR:GPR (not:GPR (match_dup 1)) (match_dup 2)))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) *************** *** 7937,7943 **** (match_operand:GPR 2 "register_operand" "d")) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) --- 7937,7943 ---- (match_operand:GPR 2 "register_operand" "d")) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) *************** *** 7947,7953 **** (ANDOR:GPR (not:GPR (match_operand:GPR 1 "register_operand" "d")) (match_operand:GPR 2 "register_operand" "d"))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_ARCH13" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) --- 7947,7953 ---- (ANDOR:GPR (not:GPR (match_operand:GPR 1 "register_operand" "d")) (match_operand:GPR 2 "register_operand" "d"))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_Z15" "crk\t%0,%2,%1" [(set_attr "op_type" "RRF")]) *************** *** 7965,7971 **** (set (match_operand:GPR 0 "register_operand" "=d") (ANDOR:GPR (not:GPR (match_dup 1)) (not:GPR (match_dup 2))))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 7965,7971 ---- (set (match_operand:GPR 0 "register_operand" "=d") (ANDOR:GPR (not:GPR (match_dup 1)) (not:GPR (match_dup 2))))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 7977,7983 **** (not:GPR (match_operand:GPR 2 "register_operand" "d"))) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 7977,7983 ---- (not:GPR (match_operand:GPR 2 "register_operand" "d"))) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 7987,7993 **** (ANDOR:GPR (not:GPR (match_operand:GPR 1 "register_operand" "d")) (not:GPR (match_operand:GPR 2 "register_operand" "d")))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_ARCH13" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 7987,7993 ---- (ANDOR:GPR (not:GPR (match_operand:GPR 1 "register_operand" "d")) (not:GPR (match_operand:GPR 2 "register_operand" "d")))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_Z15" "nrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 8371,8377 **** (set (match_operand:GPR 0 "register_operand" "=d") (xor:GPR (not:GPR (match_dup 1)) (match_dup 2)))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 8371,8377 ---- (set (match_operand:GPR 0 "register_operand" "=d") (xor:GPR (not:GPR (match_dup 1)) (match_dup 2)))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 8383,8389 **** (match_operand:GPR 2 "register_operand" "d"))) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 8383,8389 ---- (match_operand:GPR 2 "register_operand" "d"))) (const_int 0))) (clobber (match_scratch:GPR 0 "=d"))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 8393,8399 **** (not:GPR (xor:GPR (match_operand:GPR 1 "register_operand" "d") (match_operand:GPR 2 "register_operand" "d")))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_ARCH13" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) --- 8393,8399 ---- (not:GPR (xor:GPR (match_operand:GPR 1 "register_operand" "d") (match_operand:GPR 2 "register_operand" "d")))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_Z15" "nxrk\t%0,%1,%2" [(set_attr "op_type" "RRF")]) *************** *** 11351,11384 **** ; Population count instruction ; ! (define_insn "*popcountdi_arch13_cc" [(set (reg CC_REGNUM) (compare (popcount:DI (match_operand:DI 1 "register_operand" "d")) (const_int 0))) (set (match_operand:DI 0 "register_operand" "=d") (match_dup 1))] ! "TARGET_ARCH13 && s390_match_ccmode (insn, CCTmode)" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! (define_insn "*popcountdi_arch13_cconly" [(set (reg CC_REGNUM) (compare (popcount:DI (match_operand:DI 1 "register_operand" "d")) (const_int 0))) (clobber (match_scratch:DI 0 "=d"))] ! "TARGET_ARCH13 && s390_match_ccmode(insn, CCTmode)" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! (define_insn "*popcountdi_arch13" [(set (match_operand:DI 0 "register_operand" "=d") (popcount:DI (match_operand:DI 1 "register_operand" "d"))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_ARCH13" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! ; The pre-arch13 popcount instruction counts the bits of op1 in 8 byte ; portions and stores the result in the corresponding bytes in op0. (define_insn "*popcount_z196" [(set (match_operand:INT 0 "register_operand" "=d") --- 11351,11384 ---- ; Population count instruction ; ! (define_insn "*popcountdi_z15_cc" [(set (reg CC_REGNUM) (compare (popcount:DI (match_operand:DI 1 "register_operand" "d")) (const_int 0))) (set (match_operand:DI 0 "register_operand" "=d") (match_dup 1))] ! "TARGET_Z15 && s390_match_ccmode (insn, CCTmode)" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! (define_insn "*popcountdi_z15_cconly" [(set (reg CC_REGNUM) (compare (popcount:DI (match_operand:DI 1 "register_operand" "d")) (const_int 0))) (clobber (match_scratch:DI 0 "=d"))] ! "TARGET_Z15 && s390_match_ccmode(insn, CCTmode)" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! (define_insn "*popcountdi_z15" [(set (match_operand:DI 0 "register_operand" "=d") (popcount:DI (match_operand:DI 1 "register_operand" "d"))) (clobber (reg:CC CC_REGNUM))] ! "TARGET_Z15" "popcnt\t%0,%1,8" [(set_attr "op_type" "RRF")]) ! ; The pre-z15 popcount instruction counts the bits of op1 in 8 byte ; portions and stores the result in the corresponding bytes in op0. (define_insn "*popcount_z196" [(set (match_operand:INT 0 "register_operand" "=d") *************** *** 11422,11428 **** (clobber (reg:CC CC_REGNUM))])] "TARGET_Z196" { ! if (!TARGET_ARCH13) { emit_insn (gen_popcountdi2_z196 (operands[0], operands[1])); DONE; --- 11422,11428 ---- (clobber (reg:CC CC_REGNUM))])] "TARGET_Z196" { ! if (!TARGET_Z15) { emit_insn (gen_popcountdi2_z196 (operands[0], operands[1])); DONE; *************** *** 11453,11459 **** ; popcount always counts on the full 64 bit. With the z196 version ; counting bits per byte we just ignore the upper 4 bytes. With the ! ; arch13 version we have to zero out the upper 32 bits first. (define_expand "popcountsi2" [(set (match_dup 2) (zero_extend:DI (match_operand:SI 1 "register_operand"))) --- 11453,11459 ---- ; popcount always counts on the full 64 bit. With the z196 version ; counting bits per byte we just ignore the upper 4 bytes. With the ! ; z15 version we have to zero out the upper 32 bits first. (define_expand "popcountsi2" [(set (match_dup 2) (zero_extend:DI (match_operand:SI 1 "register_operand"))) *************** *** 11463,11469 **** (subreg:SI (match_dup 3) 4))] "TARGET_Z196" { ! if (!TARGET_ARCH13) { emit_insn (gen_popcountsi2_z196 (operands[0], operands[1])); DONE; --- 11463,11469 ---- (subreg:SI (match_dup 3) 4))] "TARGET_Z196" { ! if (!TARGET_Z15) { emit_insn (gen_popcountsi2_z196 (operands[0], operands[1])); DONE; *************** *** 11501,11507 **** (subreg:HI (match_dup 3) 6))] "TARGET_Z196" { ! if (!TARGET_ARCH13) { emit_insn (gen_popcounthi2_z196 (operands[0], operands[1])); DONE; --- 11501,11507 ---- (subreg:HI (match_dup 3) 6))] "TARGET_Z196" { ! if (!TARGET_Z15) { emit_insn (gen_popcounthi2_z196 (operands[0], operands[1])); DONE; *************** *** 11516,11522 **** ; For popcount on a single byte the old z196 style popcount ; instruction is ideal. Since it anyway does a byte-wise popcount we ; just use it instead of zero extending the QImode input to DImode and ! ; using the arch13 popcount variant. (define_expand "popcountqi2" [; popcnt op0, op1 (parallel [(set (match_operand:QI 0 "register_operand" "") --- 11516,11522 ---- ; For popcount on a single byte the old z196 style popcount ; instruction is ideal. Since it anyway does a byte-wise popcount we ; just use it instead of zero extending the QImode input to DImode and ! ; using the z15 popcount variant. (define_expand "popcountqi2" [; popcnt op0, op1 (parallel [(set (match_operand:QI 0 "register_operand" "") diff -Nrcpad gcc-9.2.0/gcc/config/s390/s390.opt gcc-9.3.0/gcc/config/s390/s390.opt *** gcc-9.2.0/gcc/config/s390/s390.opt Thu Apr 11 07:04:03 2019 --- gcc-9.3.0/gcc/config/s390/s390.opt Thu Mar 12 11:07:21 2020 *************** EnumValue *** 110,116 **** Enum(processor_type) String(arch12) Value(PROCESSOR_3906_Z14) EnumValue ! Enum(processor_type) String(arch13) Value(PROCESSOR_8561_ARCH13) EnumValue Enum(processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly --- 110,119 ---- Enum(processor_type) String(arch12) Value(PROCESSOR_3906_Z14) EnumValue ! Enum(processor_type) String(z15) Value(PROCESSOR_8561_Z15) ! ! EnumValue ! Enum(processor_type) String(arch13) Value(PROCESSOR_8561_Z15) EnumValue Enum(processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly diff -Nrcpad gcc-9.2.0/gcc/config/s390/vector.md gcc-9.3.0/gcc/config/s390/vector.md *** gcc-9.2.0/gcc/config/s390/vector.md Wed Jul 17 07:32:30 2019 --- gcc-9.3.0/gcc/config/s390/vector.md Thu Mar 12 11:07:21 2020 *************** *** 70,76 **** (define_mode_iterator V_128_NOSINGLE [V16QI V8HI V4SI V4SF V2DI V2DF]) ! ; 32 bit int<->fp vector conversion instructions are available since VXE2 (arch13). (define_mode_iterator VX_VEC_CONV_BFP [V2DF (V4SF "TARGET_VXE2")]) (define_mode_iterator VX_VEC_CONV_INT [V2DI (V4SI "TARGET_VXE2")]) --- 70,76 ---- (define_mode_iterator V_128_NOSINGLE [V16QI V8HI V4SI V4SF V2DI V2DF]) ! ; 32 bit int<->fp vector conversion instructions are available since VXE2 (z15). (define_mode_iterator VX_VEC_CONV_BFP [V2DF (V4SF "TARGET_VXE2")]) (define_mode_iterator VX_VEC_CONV_INT [V2DI (V4SI "TARGET_VXE2")]) *************** *** 295,303 **** ; However, this would probably be slower. (define_insn "mov" ! [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,d,d,R,T") ! (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,R,T,b,d,d"))] ! "" "@ vlr\t%v0,%v1 vlvgb\t%v0,%1,0 --- 295,303 ---- ; However, this would probably be slower. (define_insn "mov" ! [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,R,T") ! (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,T,d,d"))] ! "TARGET_VX" "@ vlr\t%v0,%v1 vlvgb\t%v0,%1,0 *************** *** 315,326 **** mviy\t%0,-1 lhi\t%0,0 lhi\t%0,-1 ! lh\t%0,%1 ! lhy\t%0,%1 ! lhrl\t%0,%1 stc\t%1,%0 stcy\t%1,%0" ! [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RX,RXY,RIL,RX,RXY")]) (define_insn "mov" [(set (match_operand:V_16 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, Q, d, d,d,d,d,R,T,b") --- 315,324 ---- mviy\t%0,-1 lhi\t%0,0 lhi\t%0,-1 ! llc\t%0,%1 stc\t%1,%0 stcy\t%1,%0" ! [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RXY,RX,RXY")]) (define_insn "mov" [(set (match_operand:V_16 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, Q, d, d,d,d,d,R,T,b") diff -Nrcpad gcc-9.2.0/gcc/config/s390/vx-builtins.md gcc-9.3.0/gcc/config/s390/vx-builtins.md *** gcc-9.2.0/gcc/config/s390/vx-builtins.md Fri Apr 12 07:41:51 2019 --- gcc-9.3.0/gcc/config/s390/vx-builtins.md Thu Mar 12 11:07:21 2020 *************** *** 2147,2153 **** "fmaxb\t%v0,%v1,%v2,%b3" [(set_attr "op_type" "VRR")]) ! ; The element reversal builtins introduced with arch13 have been made ; available also for older CPUs down to z13. (define_expand "eltswap" [(set (match_operand:VEC_HW 0 "nonimmediate_operand" "") --- 2147,2153 ---- "fmaxb\t%v0,%v1,%v2,%b3" [(set_attr "op_type" "VRR")]) ! ; The element reversal builtins introduced with z15 have been made ; available also for older CPUs down to z13. (define_expand "eltswap" [(set (match_operand:VEC_HW 0 "nonimmediate_operand" "") *************** *** 2181,2188 **** vster\t%v1,%v0" [(set_attr "op_type" "*,VRX,VRX")]) ! ; arch13 has instructions for doing element reversal from mem to reg ! ; or the other way around. For reg to reg or on pre arch13 machines ; we have to emulate it with vector permute. (define_insn_and_split "*eltswap_emu" [(set (match_operand:VEC_HW 0 "nonimmediate_operand" "=vR") --- 2181,2188 ---- vster\t%v1,%v0" [(set_attr "op_type" "*,VRX,VRX")]) ! ; z15 has instructions for doing element reversal from mem to reg ! ; or the other way around. For reg to reg or on pre z15 machines ; we have to emulate it with vector permute. (define_insn_and_split "*eltswap_emu" [(set (match_operand:VEC_HW 0 "nonimmediate_operand" "=vR") diff -Nrcpad gcc-9.2.0/gcc/config/sh/sh.c gcc-9.3.0/gcc/config/sh/sh.c *** gcc-9.2.0/gcc/config/sh/sh.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/sh/sh.c Thu Mar 12 11:07:21 2020 *************** static const struct attribute_spec sh_at *** 664,669 **** --- 664,672 ---- #undef TARGET_CONSTANT_ALIGNMENT #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + #undef TARGET_HAVE_SPECULATION_SAFE_VALUE + #define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed + struct gcc_target targetm = TARGET_INITIALIZER; *************** got_mode_name:; *** 737,743 **** { if (tokens[i] == "strict") ret.strict = true; ! else if (tokens[i].find ("gbr-offset=") == 0) { std::string offset_str = tokens[i].substr (strlen ("gbr-offset=")); ret.tcb_gbr_offset = integral_argument (offset_str.c_str ()); --- 740,746 ---- { if (tokens[i] == "strict") ret.strict = true; ! else if (!tokens[i].compare (0, strlen ("gbr-offset="), "gbr-offset=")) { std::string offset_str = tokens[i].substr (strlen ("gbr-offset=")); ret.tcb_gbr_offset = integral_argument (offset_str.c_str ()); *************** sh_option_override (void) *** 958,968 **** if (flag_unsafe_math_optimizations) { /* Enable fsca insn for SH4A if not otherwise specified by the user. */ ! if (global_options_set.x_TARGET_FSCA == 0 && TARGET_SH4A_FP) TARGET_FSCA = 1; /* Enable fsrra insn for SH4A if not otherwise specified by the user. */ ! if (global_options_set.x_TARGET_FSRRA == 0 && TARGET_SH4A_FP) TARGET_FSRRA = 1; } --- 961,973 ---- if (flag_unsafe_math_optimizations) { /* Enable fsca insn for SH4A if not otherwise specified by the user. */ ! if (global_options_set.x_TARGET_FSCA == 0 ! && (TARGET_SH4A_FP || TARGET_FPU_SH4_300)) TARGET_FSCA = 1; /* Enable fsrra insn for SH4A if not otherwise specified by the user. */ ! if (global_options_set.x_TARGET_FSRRA == 0 ! && (TARGET_SH4A_FP || TARGET_FPU_SH4_300)) TARGET_FSRRA = 1; } *************** sh_extending_set_of_reg::use_as_extended *** 12087,12095 **** rtx r = gen_reg_rtx (SImode); rtx_insn* i0; if (from_mode == QImode) ! i0 = emit_insn_after (gen_extendqisi2 (r, set_src), insn); else if (from_mode == HImode) ! i0 = emit_insn_after (gen_extendhisi2 (r, set_src), insn); else gcc_unreachable (); --- 12092,12102 ---- rtx r = gen_reg_rtx (SImode); rtx_insn* i0; if (from_mode == QImode) ! i0 = sh_check_add_incdec_notes ( ! emit_insn_after (gen_extendqisi2 (r, set_src), insn)); else if (from_mode == HImode) ! i0 = sh_check_add_incdec_notes ( ! emit_insn_after (gen_extendhisi2 (r, set_src), insn)); else gcc_unreachable (); *************** static void *** 12507,12513 **** sh_emit_mode_set (int entity ATTRIBUTE_UNUSED, int mode, int prev_mode, HARD_REG_SET regs_live ATTRIBUTE_UNUSED) { ! if ((TARGET_SH4A_FP || TARGET_SH4_300) && prev_mode != FP_MODE_NONE && prev_mode != mode) { emit_insn (gen_toggle_pr ()); --- 12514,12520 ---- sh_emit_mode_set (int entity ATTRIBUTE_UNUSED, int mode, int prev_mode, HARD_REG_SET regs_live ATTRIBUTE_UNUSED) { ! if ((TARGET_SH4A_FP || TARGET_FPU_SH4_300) && prev_mode != FP_MODE_NONE && prev_mode != mode) { emit_insn (gen_toggle_pr ()); diff -Nrcpad gcc-9.2.0/gcc/config/sh/sh.h gcc-9.3.0/gcc/config/sh/sh.h *** gcc-9.2.0/gcc/config/sh/sh.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/sh/sh.h Thu Mar 12 11:07:21 2020 *************** extern int code_for_indirect_jump_scratc *** 69,74 **** --- 69,76 ---- FPU is disabled (which makes it compatible with SH4al-dsp). */ #define TARGET_SH4A_FP (TARGET_SH4A && TARGET_FPU_ANY) + /* True if the FPU is a SH4-300 variant. */ + #define TARGET_FPU_SH4_300 (TARGET_FPU_ANY && TARGET_SH4_300) /* This is not used by the SH2E calling convention */ #define TARGET_VARARGS_PRETEND_ARGS(FUN_DECL) \ diff -Nrcpad gcc-9.2.0/gcc/config/sh/sh.md gcc-9.3.0/gcc/config/sh/sh.md *** gcc-9.2.0/gcc/config/sh/sh.md Wed Jan 9 21:37:45 2019 --- gcc-9.3.0/gcc/config/sh/sh.md Thu Mar 12 11:07:21 2020 *************** *** 9163,9169 **** (xor:SI (reg:SI FPSCR_REG) (const_int FPSCR_PR))) (set (reg:SI FPSCR_MODES_REG) (unspec_volatile:SI [(const_int 0)] UNSPECV_FPSCR_MODES))] ! "TARGET_SH4A_FP" "fpchg" [(set_attr "type" "fpscr_toggle")]) --- 9163,9169 ---- (xor:SI (reg:SI FPSCR_REG) (const_int FPSCR_PR))) (set (reg:SI FPSCR_MODES_REG) (unspec_volatile:SI [(const_int 0)] UNSPECV_FPSCR_MODES))] ! "TARGET_SH4A_FP || TARGET_FPU_SH4_300" "fpchg" [(set_attr "type" "fpscr_toggle")]) *************** *** 9391,9405 **** (define_expand "negsf2" [(set (match_operand:SF 0 "fp_arith_reg_operand") (neg:SF (match_operand:SF 1 "fp_arith_reg_operand")))] ! "TARGET_SH2E") ! (define_insn "*negsf2_i" [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") (neg:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_SH2E" "fneg %0" [(set_attr "type" "fmove")]) (define_expand "sqrtsf2" [(set (match_operand:SF 0 "fp_arith_reg_operand" "") (sqrt:SF (match_operand:SF 1 "fp_arith_reg_operand" "")))] --- 9391,9421 ---- (define_expand "negsf2" [(set (match_operand:SF 0 "fp_arith_reg_operand") (neg:SF (match_operand:SF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_ANY" ! { ! if (TARGET_FPU_SH4_300) ! emit_insn (gen_negsf2_fpscr (operands[0], operands[1])); ! else ! emit_insn (gen_negsf2_no_fpscr (operands[0], operands[1])); ! DONE; ! }) ! (define_insn "negsf2_no_fpscr" [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") (neg:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_ANY && !TARGET_FPU_SH4_300" "fneg %0" [(set_attr "type" "fmove")]) + (define_insn "negsf2_fpscr" + [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") + (neg:SF (match_operand:SF 1 "fp_arith_reg_operand" "0"))) + (use (reg:SI FPSCR_MODES_REG))] + "TARGET_FPU_SH4_300" + "fneg %0" + [(set_attr "type" "fmove") + (set_attr "fp_mode" "single")]) + (define_expand "sqrtsf2" [(set (match_operand:SF 0 "fp_arith_reg_operand" "") (sqrt:SF (match_operand:SF 1 "fp_arith_reg_operand" "")))] *************** *** 9489,9503 **** (define_expand "abssf2" [(set (match_operand:SF 0 "fp_arith_reg_operand") (abs:SF (match_operand:SF 1 "fp_arith_reg_operand")))] ! "TARGET_SH2E") ! (define_insn "*abssf2_i" [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") (abs:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_SH2E" "fabs %0" [(set_attr "type" "fmove")]) (define_expand "adddf3" [(set (match_operand:DF 0 "fp_arith_reg_operand" "") (plus:DF (match_operand:DF 1 "fp_arith_reg_operand" "") --- 9505,9535 ---- (define_expand "abssf2" [(set (match_operand:SF 0 "fp_arith_reg_operand") (abs:SF (match_operand:SF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_ANY" ! { ! if (TARGET_FPU_SH4_300) ! emit_insn (gen_abssf2_fpscr (operands[0], operands[1])); ! else ! emit_insn (gen_abssf2_no_fpscr (operands[0], operands[1])); ! DONE; ! }) ! (define_insn "abssf2_no_fpscr" [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") (abs:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_ANY && !TARGET_FPU_SH4_300" "fabs %0" [(set_attr "type" "fmove")]) + (define_insn "abssf2_fpscr" + [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") + (abs:SF (match_operand:SF 1 "fp_arith_reg_operand" "0"))) + (use (reg:SI FPSCR_MODES_REG))] + "TARGET_FPU_SH4_300" + "fabs %0" + [(set_attr "type" "fmove") + (set_attr "fp_mode" "single")]) + (define_expand "adddf3" [(set (match_operand:DF 0 "fp_arith_reg_operand" "") (plus:DF (match_operand:DF 1 "fp_arith_reg_operand" "") *************** *** 9673,9684 **** (define_expand "negdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand") (neg:DF (match_operand:DF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_DOUBLE") ! (define_insn "*negdf2_i" [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") (neg:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_DOUBLE" "fneg %0" [(set_attr "type" "fmove")]) --- 9705,9732 ---- (define_expand "negdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand") (neg:DF (match_operand:DF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_DOUBLE" ! { ! if (TARGET_FPU_SH4_300) ! emit_insn (gen_negdf2_fpscr (operands[0], operands[1])); ! else ! emit_insn (gen_negdf2_no_fpscr (operands[0], operands[1])); ! DONE; ! }) ! (define_insn "negdf2_fpscr" ! [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") ! (neg:DF (match_operand:DF 1 "fp_arith_reg_operand" "0"))) ! (use (reg:SI FPSCR_MODES_REG))] ! "TARGET_FPU_SH4_300" ! "fneg %0" ! [(set_attr "type" "fmove") ! (set_attr "fp_mode" "double")]) ! ! (define_insn "negdf2_no_fpscr" [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") (neg:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_DOUBLE && !TARGET_FPU_SH4_300" "fneg %0" [(set_attr "type" "fmove")]) *************** *** 9704,9718 **** (define_expand "absdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand") (abs:DF (match_operand:DF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_DOUBLE") ! (define_insn "*absdf2_i" [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") (abs:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_DOUBLE" "fabs %0" [(set_attr "type" "fmove")]) (define_expand "extendsfdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand" "") (float_extend:DF (match_operand:SF 1 "fpul_operand" "")))] --- 9752,9782 ---- (define_expand "absdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand") (abs:DF (match_operand:DF 1 "fp_arith_reg_operand")))] ! "TARGET_FPU_DOUBLE" ! { ! if (TARGET_FPU_SH4_300) ! emit_insn (gen_absdf2_fpscr (operands[0], operands[1])); ! else ! emit_insn (gen_absdf2_no_fpscr (operands[0], operands[1])); ! DONE; ! }) ! (define_insn "absdf2_no_fpscr" [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") (abs:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] ! "TARGET_FPU_DOUBLE && !TARGET_FPU_SH4_300" "fabs %0" [(set_attr "type" "fmove")]) + (define_insn "absdf2_fpscr" + [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") + (abs:DF (match_operand:DF 1 "fp_arith_reg_operand" "0"))) + (use (reg:SI FPSCR_MODES_REG))] + "TARGET_FPU_SH4_300" + "fabs %0" + [(set_attr "type" "fmove") + (set_attr "fp_mode" "double")]) + (define_expand "extendsfdf2" [(set (match_operand:DF 0 "fp_arith_reg_operand" "") (float_extend:DF (match_operand:SF 1 "fpul_operand" "")))] diff -Nrcpad gcc-9.2.0/gcc/config/sparc/sparc-protos.h gcc-9.3.0/gcc/config/sparc/sparc-protos.h *** gcc-9.2.0/gcc/config/sparc/sparc-protos.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/config/sparc/sparc-protos.h Thu Mar 12 11:07:21 2020 *************** extern void sparc_split_reg_mem (rtx, rt *** 69,74 **** --- 69,75 ---- extern void sparc_split_mem_reg (rtx, rtx, machine_mode); extern int sparc_split_reg_reg_legitimate (rtx, rtx); extern void sparc_split_reg_reg (rtx, rtx, machine_mode); + extern const char *output_load_pcrel_sym (rtx *); extern const char *output_ubranch (rtx, rtx_insn *); extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); extern const char *output_return (rtx_insn *); diff -Nrcpad gcc-9.2.0/gcc/config/sparc/sparc.c gcc-9.3.0/gcc/config/sparc/sparc.c *** gcc-9.2.0/gcc/config/sparc/sparc.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/sparc/sparc.c Thu Mar 12 11:07:21 2020 *************** eligible_for_call_delay (rtx_insn *trial *** 3972,3982 **** if (get_attr_in_branch_delay (trial) == IN_BRANCH_DELAY_FALSE) return 0; ! /* Binutils allows ! call __tls_get_addr, %tgd_call (foo) ! add %l7, %o0, %o0, %tgd_add (foo) ! while Sun as/ld does not. */ ! if (TARGET_GNU_TLS || !TARGET_TLS) return 1; pat = PATTERN (trial); --- 3972,3979 ---- if (get_attr_in_branch_delay (trial) == IN_BRANCH_DELAY_FALSE) return 0; ! /* The only problematic cases are TLS sequences with Sun as/ld. */ ! if ((TARGET_GNU_TLS && HAVE_GNU_LD) || !TARGET_TLS) return 1; pat = PATTERN (trial); *************** sparc_cannot_force_const_mem (machine_mo *** 4243,4251 **** } /* Global Offset Table support. */ - static GTY(()) rtx got_helper_rtx = NULL_RTX; - static GTY(()) rtx got_register_rtx = NULL_RTX; static GTY(()) rtx got_symbol_rtx = NULL_RTX; /* Return the SYMBOL_REF for the Global Offset Table. */ --- 4240,4250 ---- } /* Global Offset Table support. */ static GTY(()) rtx got_symbol_rtx = NULL_RTX; + static GTY(()) rtx got_register_rtx = NULL_RTX; + static GTY(()) rtx got_helper_rtx = NULL_RTX; + + static GTY(()) bool got_helper_needed = false; /* Return the SYMBOL_REF for the Global Offset Table. */ *************** sparc_got (void) *** 4258,4284 **** return got_symbol_rtx; } - #ifdef HAVE_GAS_HIDDEN - # define USE_HIDDEN_LINKONCE 1 - #else - # define USE_HIDDEN_LINKONCE 0 - #endif - - static void - get_pc_thunk_name (char name[32], unsigned int regno) - { - const char *reg_name = reg_names[regno]; - - /* Skip the leading '%' as that cannot be used in a - symbol name. */ - reg_name += 1; - - if (USE_HIDDEN_LINKONCE) - sprintf (name, "__sparc_get_pc_thunk.%s", reg_name); - else - ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno); - } - /* Wrapper around the load_pcrel_sym{si,di} patterns. */ static rtx --- 4257,4262 ---- *************** gen_load_pcrel_sym (rtx op0, rtx op1, rt *** 4298,4327 **** return insn; } /* Emit code to load the GOT register. */ void load_got_register (void) { ! if (!got_register_rtx) ! got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); if (TARGET_VXWORKS_RTP) ! emit_insn (gen_vxworks_load_got ()); else { /* The GOT symbol is subject to a PC-relative relocation so we need a helper function to add the PC value and thus get the final value. */ if (!got_helper_rtx) { char name[32]; ! get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM); got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); } ! emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (), ! got_helper_rtx)); } } /* Ensure that we are not using patterns that are not OK with PIC. */ --- 4276,4353 ---- return insn; } + /* Output the load_pcrel_sym{si,di} patterns. */ + + const char * + output_load_pcrel_sym (rtx *operands) + { + if (flag_delayed_branch) + { + output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands); + output_asm_insn ("call\t%a2", operands); + output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands); + } + else + { + output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands); + output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands); + output_asm_insn ("call\t%a2", operands); + output_asm_insn (" nop", NULL); + } + + if (operands[2] == got_helper_rtx) + got_helper_needed = true; + + return ""; + } + + #ifdef HAVE_GAS_HIDDEN + # define USE_HIDDEN_LINKONCE 1 + #else + # define USE_HIDDEN_LINKONCE 0 + #endif + /* Emit code to load the GOT register. */ void load_got_register (void) { ! rtx insn; if (TARGET_VXWORKS_RTP) ! { ! if (!got_register_rtx) ! got_register_rtx = pic_offset_table_rtx; ! ! insn = gen_vxworks_load_got (); ! } else { + if (!got_register_rtx) + got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); + /* The GOT symbol is subject to a PC-relative relocation so we need a helper function to add the PC value and thus get the final value. */ if (!got_helper_rtx) { char name[32]; ! ! /* Skip the leading '%' as that cannot be used in a symbol name. */ ! if (USE_HIDDEN_LINKONCE) ! sprintf (name, "__sparc_get_pc_thunk.%s", ! reg_names[REGNO (got_register_rtx)] + 1); ! else ! ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", ! REGNO (got_register_rtx)); ! got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); } ! insn ! = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx); } + + emit_insn (insn); } /* Ensure that we are not using patterns that are not OK with PIC. */ *************** sparc_pic_register_p (rtx x) *** 4457,4463 **** return true; if (!HARD_REGISTER_P (pic_offset_table_rtx) ! && (HARD_REGISTER_P (x) || lra_in_progress) && ORIGINAL_REGNO (x) == REGNO (pic_offset_table_rtx)) return true; --- 4483,4489 ---- return true; if (!HARD_REGISTER_P (pic_offset_table_rtx) ! && (HARD_REGISTER_P (x) || lra_in_progress || reload_in_progress) && ORIGINAL_REGNO (x) == REGNO (pic_offset_table_rtx)) return true; *************** save_local_or_in_reg_p (unsigned int reg *** 5486,5492 **** return true; /* GOT register (%l7) if needed. */ ! if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx) return true; /* If the function accesses prior frames, the frame pointer and the return --- 5512,5518 ---- return true; /* GOT register (%l7) if needed. */ ! if (got_register_rtx && regno == REGNO (got_register_rtx)) return true; /* If the function accesses prior frames, the frame pointer and the return *************** static void *** 12529,12538 **** sparc_file_end (void) { /* If we need to emit the special GOT helper function, do so now. */ ! if (got_helper_rtx) { const char *name = XSTR (got_helper_rtx, 0); - const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM]; #ifdef DWARF2_UNWIND_INFO bool do_cfi; #endif --- 12555,12563 ---- sparc_file_end (void) { /* If we need to emit the special GOT helper function, do so now. */ ! if (got_helper_needed) { const char *name = XSTR (got_helper_rtx, 0); #ifdef DWARF2_UNWIND_INFO bool do_cfi; #endif *************** sparc_file_end (void) *** 12569,12585 **** #ifdef DWARF2_UNWIND_INFO do_cfi = dwarf2out_do_cfi_asm (); if (do_cfi) ! fprintf (asm_out_file, "\t.cfi_startproc\n"); #endif if (flag_delayed_branch) ! fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n", ! reg_name, reg_name); else ! fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n", ! reg_name, reg_name); #ifdef DWARF2_UNWIND_INFO if (do_cfi) ! fprintf (asm_out_file, "\t.cfi_endproc\n"); #endif } --- 12594,12615 ---- #ifdef DWARF2_UNWIND_INFO do_cfi = dwarf2out_do_cfi_asm (); if (do_cfi) ! output_asm_insn (".cfi_startproc", NULL); #endif if (flag_delayed_branch) ! { ! output_asm_insn ("jmp\t%%o7+8", NULL); ! output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx); ! } else ! { ! output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx); ! output_asm_insn ("jmp\t%%o7+8", NULL); ! output_asm_insn (" nop", NULL); ! } #ifdef DWARF2_UNWIND_INFO if (do_cfi) ! output_asm_insn (".cfi_endproc", NULL); #endif } *************** sparc_init_pic_reg (void) *** 13085,13091 **** edge entry_edge; rtx_insn *seq; ! if (!crtl->uses_pic_offset_table) return; start_sequence (); --- 13115,13124 ---- edge entry_edge; rtx_insn *seq; ! /* In PIC mode, we need to always initialize the PIC register if optimization ! is enabled, because we are called from IRA and LRA may later force things ! to the constant pool for optimization purposes. */ ! if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize)) return; start_sequence (); diff -Nrcpad gcc-9.2.0/gcc/config/sparc/sparc.h gcc-9.3.0/gcc/config/sparc/sparc.h *** gcc-9.2.0/gcc/config/sparc/sparc.h Tue Feb 26 21:08:22 2019 --- gcc-9.3.0/gcc/config/sparc/sparc.h Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 736,741 **** --- 736,748 ---- register window instruction in the prologue. */ #define HARD_REGNO_RENAME_OK(FROM, TO) ((FROM) != 1) + /* Select a register mode required for caller save of hard regno REGNO. + Contrary to what is documented, the default is not the smallest suitable + mode but the largest suitable mode for the given (REGNO, NREGS) pair and + it quickly creates paradoxical subregs that can be problematic. */ + #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ + ((MODE) == VOIDmode ? choose_hard_reg_mode (REGNO, NREGS, false) : (MODE)) + /* Specify the registers used for certain standard purposes. The values of these macros are register numbers. */ diff -Nrcpad gcc-9.2.0/gcc/config/sparc/sparc.md gcc-9.3.0/gcc/config/sparc/sparc.md *** gcc-9.2.0/gcc/config/sparc/sparc.md Mon Jul 1 16:27:06 2019 --- gcc-9.3.0/gcc/config/sparc/sparc.md Thu Mar 12 11:07:21 2020 *************** *** 1604,1613 **** (clobber (reg:P O7_REG))] "REGNO (operands[0]) == INTVAL (operands[3])" { ! if (flag_delayed_branch) ! return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0"; ! else ! return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop"; } [(set (attr "type") (const_string "multi")) (set (attr "length") --- 1604,1610 ---- (clobber (reg:P O7_REG))] "REGNO (operands[0]) == INTVAL (operands[3])" { ! return output_load_pcrel_sym (operands); } [(set (attr "type") (const_string "multi")) (set (attr "length") diff -Nrcpad gcc-9.2.0/gcc/config/xtensa/xtensa.c gcc-9.3.0/gcc/config/xtensa/xtensa.c *** gcc-9.2.0/gcc/config/xtensa/xtensa.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/config/xtensa/xtensa.c Thu Mar 12 11:07:21 2020 *************** xtensa_expand_prologue (void) *** 2865,2871 **** gen_rtx_SET (mem, reg)); } } ! if (total_size > 1024) { rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); emit_move_insn (tmp_reg, GEN_INT (total_size - --- 2865,2872 ---- gen_rtx_SET (mem, reg)); } } ! if (total_size > 1024 ! || (!callee_save_size && total_size > 128)) { rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); emit_move_insn (tmp_reg, GEN_INT (total_size - diff -Nrcpad gcc-9.2.0/gcc/config.gcc gcc-9.3.0/gcc/config.gcc *** gcc-9.2.0/gcc/config.gcc Sat Aug 3 20:16:22 2019 --- gcc-9.3.0/gcc/config.gcc Thu Mar 12 11:07:21 2020 *************** case "${target}" in *** 4700,4713 **** echo "#undef LINK_OS_EXTRA_SPEC32" echo "#define LINK_OS_EXTRA_SPEC32" \ "\"%(link_os_new_dtags)" \ ! "-rpath $prefix/lib -rpath $at/lib" \ ! "-L $prefix/lib -L $at/lib\"" echo echo "#undef LINK_OS_EXTRA_SPEC64" echo "#define LINK_OS_EXTRA_SPEC64" \ "\"%(link_os_new_dtags)" \ ! "-rpath $prefix/lib64 -rpath $at/lib64" \ ! "-L $prefix/lib64 -L $at/lib64\"" echo echo "#undef LINK_OS_NEW_DTAGS_SPEC" echo "#define LINK_OS_NEW_DTAGS_SPEC" \ --- 4700,4711 ---- echo "#undef LINK_OS_EXTRA_SPEC32" echo "#define LINK_OS_EXTRA_SPEC32" \ "\"%(link_os_new_dtags)" \ ! "-rpath $prefix/lib -rpath $at/lib\"" echo echo "#undef LINK_OS_EXTRA_SPEC64" echo "#define LINK_OS_EXTRA_SPEC64" \ "\"%(link_os_new_dtags)" \ ! "-rpath $prefix/lib64 -rpath $at/lib64\"" echo echo "#undef LINK_OS_NEW_DTAGS_SPEC" echo "#define LINK_OS_NEW_DTAGS_SPEC" \ *************** case "${target}" in *** 4720,4726 **** echo "#define MD_EXEC_PREFIX \"$at/bin/\"" echo echo "#undef MD_STARTFILE_PREFIX" ! echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \ > advance-toolchain.h else echo "Unknown advance-toolchain $with_advance_toolchain" --- 4718,4727 ---- echo "#define MD_EXEC_PREFIX \"$at/bin/\"" echo echo "#undef MD_STARTFILE_PREFIX" ! echo "#define MD_STARTFILE_PREFIX \"$prefix/lib/\"" ! echo ! echo "#undef MD_STARTFILE_PREFIX_1" ! echo "#define MD_STARTFILE_PREFIX_1 \"$at/lib/\"") \ > advance-toolchain.h else echo "Unknown advance-toolchain $with_advance_toolchain" *************** case "${target}" in *** 4743,4749 **** for which in arch tune; do eval "val=\$with_$which" case ${val} in ! "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12 | arch13 ) # OK ;; *) --- 4744,4750 ---- for which in arch tune; do eval "val=\$with_$which" case ${val} in ! "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | z15 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12 | arch13 ) # OK ;; *) diff -Nrcpad gcc-9.2.0/gcc/configure gcc-9.3.0/gcc/configure *** gcc-9.2.0/gcc/configure Wed Jun 26 09:15:46 2019 --- gcc-9.3.0/gcc/configure Thu Mar 12 11:08:30 2020 *************** build_exeext *** 701,706 **** --- 701,707 ---- all_selected_languages all_languages all_lang_makefrags + all_lang_configurefrags all_gtfiles all_compilers srcdir *************** else *** 18646,18652 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 18649 "configure" #include "confdefs.h" #if HAVE_DLFCN_H --- 18647,18653 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 18650 "configure" #include "confdefs.h" #if HAVE_DLFCN_H *************** else *** 18752,18758 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 18755 "configure" #include "confdefs.h" #if HAVE_DLFCN_H --- 18753,18759 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 18756 "configure" #include "confdefs.h" #if HAVE_DLFCN_H *************** if test $in_tree_ld != yes ; then *** 23045,23051 **** ld_vers=`echo $ld_ver | sed -n \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` fi ! ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` --- 23046,23052 ---- ld_vers=`echo $ld_ver | sed -n \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` fi ! ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)\(-*\)\([01][0-9]\)\2\([0-3][0-9]\).*$,\1\3\4,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` *************** lang_tree_files= *** 29559,29565 **** all_languages= all_compilers= all_outputs='Makefile' ! # List of language makefile fragments. all_lang_makefrags= # Additional files for gengtype all_gtfiles="$target_gtfiles" --- 29560,29567 ---- all_languages= all_compilers= all_outputs='Makefile' ! # List of language configure and makefile fragments. ! all_lang_configurefrags= all_lang_makefrags= # Additional files for gengtype all_gtfiles="$target_gtfiles" *************** do *** 29645,29650 **** --- 29647,29653 ---- esac $ok || continue + all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in" all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" if test -f $srcdir/$gcc_subdir/lang.opt; then lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" *************** fi *** 29754,29759 **** --- 29757,29763 ---- + diff -Nrcpad gcc-9.2.0/gcc/configure.ac gcc-9.3.0/gcc/configure.ac *** gcc-9.2.0/gcc/configure.ac Wed Jun 26 09:15:46 2019 --- gcc-9.3.0/gcc/configure.ac Thu Mar 12 11:07:21 2020 *************** if test $in_tree_ld != yes ; then *** 2658,2664 **** ld_vers=`echo $ld_ver | sed -n \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` fi ! ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` --- 2658,2664 ---- ld_vers=`echo $ld_ver | sed -n \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` fi ! ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)\(-*\)\([01][0-9]\)\2\([0-3][0-9]\).*$,\1\3\4,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` *************** lang_tree_files= *** 6188,6194 **** all_languages= all_compilers= all_outputs='Makefile' ! # List of language makefile fragments. all_lang_makefrags= # Additional files for gengtype all_gtfiles="$target_gtfiles" --- 6188,6195 ---- all_languages= all_compilers= all_outputs='Makefile' ! # List of language configure and makefile fragments. ! all_lang_configurefrags= all_lang_makefrags= # Additional files for gengtype all_gtfiles="$target_gtfiles" *************** changequote([,])dnl *** 6276,6281 **** --- 6277,6283 ---- esac $ok || continue + all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in" all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" if test -f $srcdir/$gcc_subdir/lang.opt; then lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" *************** AC_SUBST(subdirs) *** 6383,6388 **** --- 6385,6391 ---- AC_SUBST(srcdir) AC_SUBST(all_compilers) AC_SUBST(all_gtfiles) + AC_SUBST(all_lang_configurefrags) AC_SUBST(all_lang_makefrags) AC_SUBST(all_languages) AC_SUBST(all_selected_languages) diff -Nrcpad gcc-9.2.0/gcc/cp/ChangeLog gcc-9.3.0/gcc/cp/ChangeLog *** gcc-9.2.0/gcc/cp/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/cp/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,591 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-03-05 Jason Merrill + + PR c++/88395 + PR c++/93551 + * constraint.cc (constraints_satisfied_p): Use push_tinst_level. + + 2020-03-05 Martin Sebor + + Backport from trunk. + 2020-02-21 Martin Sebor + + PR gcov-profile/93753 + * class.c (check_flexarrays): Tighten up a test for potential members + of anonymous structs or unions. + + 2020-03-05 Jason Merrill + + PR c++/90338 + * pt.c (invalid_nontype_parm_type_p): Check complain for non-literal + and mutable errors. + + 2020-03-04 Jason Merrill + + PR c++/91607 + * constexpr.c (constexpr_call_hasher::equal): Use + same_type_ignoring_top_level_qualifiers_p. + + 2020-03-04 Martin Sebor + + PR c++/90938 + * tree.c (type_initializer_zero_p): Fail for structs initialized + with non-structs. + + 2020-03-04 Marek Polacek + + Backported from mainline + 2020-01-24 Marek Polacek + + PR c++/93299 - ICE in tsubst_copy with parenthesized expression. + * pt.c (tsubst_copy): Handle a REF_PARENTHESIZED_P VIEW_CONVERT_EXPR. + + 2020-03-04 Marek Polacek + + Backported from mainline + 2020-02-26 Marek Polacek + + PR c++/93676 - value-init crash in template. + * init.c (build_new_1): Don't call build_vec_init in a template. + + 2020-03-04 Jason Merrill + Marek Polacek + + PR c++/90505 - mismatch in template argument deduction. + * pt.c (tsubst): Don't reduce the template level of template + parameters when tf_partial. + + 2020-03-04 Jason Merrill + + PR c++/90432 + * init.c (perform_member_init): Don't do aggregate initialization of + empty field. + * constexpr.c (cx_check_missing_mem_inits): Don't enforce + initialization of empty field. + + 2020-03-04 Jason Merrill + + PR c++/90997 + * semantics.c (finish_call_expr): Don't call + instantiate_non_dependent_expr before warn_for_memset. + + 2020-03-02 Jason Merrill + + PR c++/86917 + * constexpr.c (cxx_eval_vec_init_1): Handle CONSTRUCTOR. + + 2020-03-02 Jason Merrill + + PR c++/91953 + * constexpr.c (potential_constant_expression_1) [PARM_DECL]: Allow + empty class type. + [COMPONENT_REF]: A member function reference doesn't use the object + as an rvalue. + + 2020-03-02 Jason Merrill + + PR c++/88256 + * cp-gimplify.c (predeclare_vla): New. + (cp_genericize_r) [NOP_EXPR]: Call it. + + 2020-03-02 Jason Merrill + + PR c++/93442 + * parser.c (cp_parser_lambda_expression): Clear in_discarded_stmt. + + 2020-03-02 Jason Merrill + + PR c++/90732 - ICE with VLA capture and generic lambda. + * pt.c (tsubst_lambda_expr): Repeat add_capture for VLAs. + + 2020-03-02 Jason Merrill + + PR c++/90333 + PR c++/89640 + PR c++/60503 + * parser.c (cp_parser_type_specifier_seq): Don't parse attributes in + a trailing return type. + (cp_parser_lambda_declarator_opt): Parse C++11 attributes before + parens. + + 2020-02-26 Marek Polacek + + PR c++/92745 - bogus error when initializing array of vectors. + * decl.c (reshape_init_r): For a nested compound literal, do + call reshape_init_{class,array,vector}. + + 2020-02-26 Jason Merrill + + PR c++/90951 + * constexpr.c (cxx_eval_array_reference): {}-initialize missing + elements instead of value-initializing them. + + 2020-02-26 Jason Merrill + + PR c++/93140 + * pt.c (tsubst_decl) [PARM_DECL]: Check cp_unevaluated_operand in + handling of TREE_CHAIN for empty pack. + + 2020-02-26 Jason Merrill + + PR c++/92852 + * constexpr.c (maybe_constant_value): Don't unshare if the cached + value is the same as the argument. + + 2020-02-14 Jakub Jelinek + + PR c++/61414 + * class.c (enum_min_precision): Change prec type from int to int &. + + 2020-02-13 Jakub Jelinek + + Backported from mainline + 2020-02-05 Jakub Jelinek + + PR c++/93557 + * semantics.c (cp_build_vec_convert): Call decay_conversion on arg + prior to passing it to c_build_vec_convert. + + 2020-01-29 Jakub Jelinek + + PR c++/91118 + * cp-gimplify.c (cxx_omp_predetermined_sharing): Return + OMP_CLAUSE_DEFAULT_SHARED for typeinfo decls. + + 2020-01-28 Jason Merrill + + PR c++/90546 + * call.c (build_user_type_conversion_1): Allow a template conversion + returning an rvalue reference to bind directly to an lvalue. + + PR c++/90731 + * decl.c (grokdeclarator): Propagate eh spec from typedef. + + PR c++/90966 + * pt.c (tsubst_copy) [STRING_CST]: Don't use fold_convert. + + PR c++/93279 - ICE with lambda in member operator. + * name-lookup.c (maybe_save_operator_binding): Don't remember + class-scope bindings. + + 2020-01-27 Nathan Sidwell + + PR c++/91826 + * name-lookup.c (is_ancestor): Allow CHILD to be a namespace alias. + + 2020-01-24 Jason Merrill + + PR c++/92852 - ICE with generic lambda and reference var. + * constexpr.c (maybe_constant_value): Likewise. + + 2020-01-22 Jakub Jelinek + + Backported from mainline + 2020-01-17 Jakub Jelinek + + PR c++/93228 + * parser.c (cp_parser_template_name): Look up deprecated attribute + in DECL_TEMPLATE_RESULT or its type's attributes. + + 2019-12-26 Jakub Jelinek + + PR c++/92438 + * parser.c (cp_parser_constructor_declarator_p): If open paren + is followed by RID_ATTRIBUTE, skip over the attribute tokens and + try to parse type specifier. + + 2019-12-20 Jakub Jelinek + + PR c++/92992 + * call.c (convert_arg_to_ellipsis): For decltype(nullptr) arguments + that have side-effects use cp_build_compound_expr. + + 2020-01-21 Jason Merrill + + PR c++/91476 - anon-namespace reference temp clash between TUs. + * call.c (make_temporary_var_for_ref_to_temp): Clear TREE_PUBLIC + if DECL is in the anonymous namespace. + + 2020-01-17 Jason Merrill + + PR c++/92531 - ICE with noexcept(lambda). + * pt.c (uses_template_parms): Don't try to enumerate all the + expression cases. + + 2020-01-16 Jason Merrill + + PR c++/93286 - ICE with __is_constructible and variadic template. + * pt.c (tsubst) [TREE_LIST]: Handle pack expansion. + (tsubst_copy_and_build) [TRAIT_EXPR]: Always use tsubst for type2. + + 2020-01-02 Jakub Jelinek + + PR c/90677 + * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name + has not been found, rather than error_mark_node. + + 2019-12-20 Jakub Jelinek + + Backported from mainline + 2019-12-06 Jakub Jelinek + + PR c++/92831 - CWG 1299, not extending temporary lifetime for ?: + * cp-tree.h (extend_ref_init_temps): Add a new argument with NULL + default arg. + * call.c (set_up_extended_ref_temp): Add COND_GUARD argument, pass it + down to extend_ref_init_temps. Before pushing cleanup, if COND_GUARD + is non-NULL, create a bool temporary if needed, initialize to false + and guard the cleanup with the temporary being true. + (extend_ref_init_temps_1): Add COND_GUARD argument, pass it down + to recursive calls and set_up_extended_ref_temp. Handle COND_EXPR. + (extend_ref_init_temps): Add COND_GUARD argument, pass it down to + recursive calls and to extend_ref_init_temps_1. + + 2019-12-03 Jakub Jelinek + + PR c++/92732 + * typeck2.c (digest_nsdmi_init): For bitfields, use + DECL_BIT_FIELD_TYPE instead of TREE_TYPE. + + PR c++/92695 + * constexpr.c (cxx_bind_parameters_in_call): For virtual calls, + adjust the first argument to point to the derived object rather + than its base. + + 2019-12-02 Jakub Jelinek + + PR c++/92695 + * constexpr.c (cxx_eval_constant_expression) : Use + STRIP_NOPS before checking for ADDR_EXPR. + + 2019-11-29 Jakub Jelinek + + PR c++/60228 + * parser.c (cp_parser_omp_declare_reduction_exprs): If + processing_template_decl, wrap the combiner or initializer + into EXPR_STMT. + * decl.c (start_preparsed_function): Don't start a lambda scope + for DECL_OMP_DECLARE_REDUCTION_P functions. + (finish_function): Don't finish a lambda scope for + DECL_OMP_DECLARE_REDUCTION_P functions, nor cp_fold_function + them nor cp_genericize them. + * mangle.c (decl_mangling_context): Look through + DECL_OMP_DECLARE_REDUCTION_P functions. + * semantics.c (expand_or_defer_fn_1): For DECL_OMP_DECLARE_REDUCTION_P + functions, use tentative linkage, don't keep their bodies with + -fkeep-inline-functions and return false at the end. + + 2019-11-28 Jakub Jelinek + + PR c++/92695 + * decl2.c (mark_used): Don't call note_vague_linkage_fn for pure + virtual functions, even if they are declared inline. + + 2019-11-27 Jakub Jelinek + + PR c++/92524 + * tree.c (replace_placeholders_r): Don't walk constructor elts with + RANGE_EXPR indexes. + + 2019-11-26 Jakub Jelinek + + PR c++/92648 + * parser.c (cp_parser_std_attribute): For unknown attributes, + skip balanced token seq instead of trying to parse + attribute-argument-clause as expression list. + + PR c++/61414 + * class.c (enum_to_min_precision): New hash_map. + (enum_min_precision): New function. + (check_bitfield_decl): Use it. + + 2019-11-22 Jakub Jelinek + + PR c/90677 + * cp-objcp-common.c (identifier_global_tag): Define. + + 2019-11-21 Jakub Jelinek + Jason Merrill + + PR c++/90842 + * parser.c (cp_parser_decl_specifier_seq): For concept or typedef + break early if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. + For type specifiers, set CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS + if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR is set. + + 2019-12-11 Jason Merrill + + PR c++/57082 - new X{} and private destructor. + * init.c (build_new_1): Also pass tf_no_cleanup to + build_special_member_call. + + 2019-12-11 Jason Merrill + + PR c++/92859 - ADL and bit-field. + * name-lookup.c: Use unlowered_expr_type. + + 2019-12-11 Jason Merrill + + PR c++/92446 - deduction of class NTTP. + * pt.c (deducible_expression): Look through VIEW_CONVERT_EXPR. + + 2019-11-06 Jason Merrill + + PR c++/92150 - partial specialization with class NTTP. + * pt.c (unify): Handle VIEW_CONVERT_EXPR. + + 2019-11-20 Jakub Jelinek + + PR c++/90767 + * call.c (complain_about_no_candidates_for_method_call): If + conv->from is not a type, pass to complain_about_bad_argument + lvalue_type of conv->from. + + Backported from mainline + 2019-11-19 Jakub Jelinek + + PR c++/92504 + * semantics.c (handle_omp_for_class_iterator): Don't call + cp_fully_fold on cond. + + 2019-11-08 Marek Polacek + + Backported from mainline + 2019-10-29 Marek Polacek + + PR c++/90998 - ICE with copy elision in init by ctor and -Wconversion. + * call.c (joust): Don't attempt to warn if ->second_conv is null. + + 2019-11-08 Jakub Jelinek + + Backported from mainline + 2019-11-05 Jakub Jelinek + + PR c++/92343 + * constexpr.c (potential_constant_expression_1): Return true rather + than false for PREDICT_EXPR. + + 2019-10-31 Jakub Jelinek + + PR c++/90947 + * cp-tree.h (type_initializer_zero_p): Declare. + * decl.c (reshape_init_array_1): Formatting fix. + * tree.c (type_initializer_zero_p): New function. Moved from + ../tree.c, use next_initializable_field, formatting fix. Return + false for TYPE_NON_AGGREGATE_CLASS types. + + 2019-10-22 Jakub Jelinek + + PR tree-optimization/85887 + * decl.c (expand_static_init): Drop ECF_LEAF from __cxa_guard_acquire + and __cxa_guard_release. + + 2019-10-21 Jakub Jelinek + + PR c++/92015 + * constexpr.c (cxx_eval_component_reference, cxx_eval_bit_field_ref): + Use STRIP_ANY_LOCATION_WRAPPER on CONSTRUCTOR elts. + + 2019-10-29 Jakub Jelinek + + PR c++/92201 + * cp-gimplify.c (cp_gimplify_expr): If gimplify_to_rvalue changes the + function pointer type, re-add cast to the original one. + + 2018-10-26 Ville Voutilainen + + Backport from mainline + + 2019-06-01 Ville Voutilainen + + PR c++/85254 + * class.c (fixup_type_variants): Handle CLASSTYPE_FINAL. + + 2019-10-24 Marek Polacek + + * decl.c (reshape_init_r): Add missing space. + + 2019-10-22 Marek Polacek + + Backported from mainline + 2019-10-21 Marek Polacek + + PR c++/92106 - ICE with structured bindings and -Wreturn-local-addr. + * typeck.c (maybe_warn_about_returning_address_of_local): Avoid + recursing on null initializer and return false instead. + + PR c++/92062 - ODR-use ignored for static member of class template. + * pt.c (has_value_dependent_address): Strip location wrappers. + + 2019-10-21 Jakub Jelinek + + Backported from mainline + 2019-10-04 Jakub Jelinek + + PR c++/91974 + * cp-gimplify.c (cp_gimplify_expr) : For + -fstrong-eval-order ensure CALL_EXPR_FN side-effects are evaluated + before any arguments. Additionally, ensure CALL_EXPR_FN that isn't + invariant nor OBJ_TYPE_REF nor SSA_NAME is forced into a temporary. + + 2019-09-27 Jakub Jelinek + + PR c++/88203 + * parser.c (cp_parser_omp_var_list_no_open): Parse predefined + variables. + * semantics.c (finish_omp_clauses): Allow predefined variables in + shared and firstprivate clauses, even when they are predetermined + shared. + * cp-gimplify.c (cxx_omp_predetermined_sharing_1): Return + OMP_CLAUSE_DEFAULT_SHARED for predefined variables. + + 2019-08-09 Jakub Jelinek + + PR c/91401 + * parser.c (cp_parser_omp_clause_dist_schedule): Comment out the + check_no_duplicate_clause call, instead emit a warning for duplicate + dist_schedule clauses. + + 2019-10-16 Richard Biener + + Backport from mainline + 2019-10-02 Richard Biener + + PR c++/91606 + * decl.c (build_ptrmemfunc_type): Mark pointer-to-member + fat pointer structure members as DECL_NONADDRESSABLE_P. + + 2019-10-08 Marek Polacek + + Backported from mainline + 2019-09-15 Marek Polacek + + PR c++/91740 - ICE with constexpr call and ?: in ARRAY_REF. + * pt.c (build_non_dependent_expr): Call build_non_dependent_expr for + the first operand. + + 2019-09-28 Marek Polacek + + Backported from mainline + 2019-09-28 Marek Polacek + + PR c++/91923 - failure-to-SFINAE with class type NTTP in C++17. + * pt.c (invalid_nontype_parm_type_p): Only emit errors when + tf_error. + + 2019-09-10 Marek Polacek + + Backported from mainline + 2019-09-10 Marek Polacek + + PR c++/91705 - constexpr evaluation rejects ++/-- on floats. + * constexpr.c (cxx_eval_increment_expression): Call fold_simple on + the offset. + + 2019-09-01 Marek Polacek + + Backported from mainline + 2019-09-01 Marek Polacek + + PR c++/91129 - wrong error with binary op in template argument. + * typeck.c (warn_for_null_address): Use fold_for_warn instead of + fold_non_dependent_expr. + (cp_build_binary_op): Likewise. + + 2019-08-31 Iain Sandoe + + Backported from mainline + 2019-08-23 Iain Sandoe + + PR pch/61250 + * parser.c (cp_parser_initial_pragma): Call c_common_no_more_pch () + after determining that the first token is not + PRAGMA_GCC_PCH_PREPROCESS. + + 2019-08-23 Marek Polacek + + Backported from mainline + 2019-08-23 Marek Polacek + + PR c++/91521 - wrong error with operator->. + * decl.c (grokdeclarator): Return error_mark_node for an invalid + trailing return type. + + 2019-08-16 Jason Merrill + + PR c++/90393 - ICE with throw in ?: + * call.c (build_conditional_expr_1): Revert changes from + PR c++/64372 and c++/86205. + + 2019-08-15 Marek Polacek + + Backported from mainline + 2019-08-07 Marek Polacek + + PR c++/81429 - wrong parsing of constructor with C++11 attribute. + * parser.c (cp_parser_constructor_declarator_p): Handle the scenario + when a parameter declaration begins with [[attribute]]. + + 2019-08-08 Marek Polacek + + PR c++/87519 - bogus warning with -Wsign-conversion. + * typeck.c (cp_build_binary_op): Use same_type_p instead of comparing + the types directly. + + 2019-08-13 Marek Polacek + + PR c++/90473 - wrong code with nullptr in default argument. + * call.c (null_ptr_cst_p): Update quote from the standard. + * decl.c (check_default_argument): Don't return nullptr when the arg + has side-effects. + + 2019-06-14 Marek Polacek + + PR c++/90884 - stray note with -Wctor-dtor-privacy. + * class.c (maybe_warn_about_overly_private_class): Guard the call to + inform. + + 2019-08-14 Martin Sebor + + Backported from mainline + 2019-08-01 Martin Sebor + + PR c++/90947 + * decl.c (reshape_init_array_1): Avoid truncating initializer + lists containing string literals. + + 2019-08-14 Jonathan Wakely + + PR c++/91436 + * name-lookup.c (get_std_name_hint): Fix min_dialect field for + complex_literals and make_unique entries. + + 2019-08-12 Tom Honermann + + * parser.c (cp_parser_template_declaration_after_parameters): Enable + class template argument deduction for non-type template parameters + in literal operator templates. + + 2019-08-12 Jason Merrill + + PR c++/91378 - ICE with noexcept and auto return type. + * pt.c (maybe_instantiate_noexcept): push_to_top_level. + + PR c++/90538 - multiple expansions of capture packs + * cp-tree.h (DECLTYPE_FOR_INIT_CAPTURE): Remove. + * lambda.c (add_capture): Copy parameter packs from init. + (lambda_capture_field_type): Always use auto for init-capture. + * pt.c (uses_parameter_packs): Return tree. + (tsubst) [DECLTYPE_TYPE]: Remove init-capture handling. + (gen_elem_of_pack_expansion_instantiation): Don't push + local_specialization_stack. + (prepend_one_capture): New. + (tsubst_lambda_expr): Use it. Don't touch local_specializations. + (do_auto_deduction): Avoid redundant error. + 2019-08-12 Release Manager * GCC 9.2.0 released. *************** *** 16,22 **** Backported from mainline 2019-08-02 Marek Polacek ! PR c++/91230 - wrong error with __PRETTY_FUNCTION__ and generic lambda. * pt.c (value_dependent_expression_p): Consider __PRETTY_FUNCTION__ inside a template function value-dependent. --- 604,610 ---- Backported from mainline 2019-08-02 Marek Polacek ! PR c++/91230 - wrong error with __PRETTY_FUNCTION__ and generic lambda. * pt.c (value_dependent_expression_p): Consider __PRETTY_FUNCTION__ inside a template function value-dependent. diff -Nrcpad gcc-9.2.0/gcc/cp/call.c gcc-9.3.0/gcc/cp/call.c *** gcc-9.2.0/gcc/cp/call.c Fri Jul 19 08:53:07 2019 --- gcc-9.3.0/gcc/cp/call.c Thu Mar 12 11:07:21 2020 *************** null_ptr_cst_p (tree t) *** 530,538 **** /* [conv.ptr] ! A null pointer constant is an integral constant expression ! (_expr.const_) rvalue of integer type that evaluates to zero or ! an rvalue of type std::nullptr_t. */ if (NULLPTR_TYPE_P (type)) return true; --- 530,537 ---- /* [conv.ptr] ! A null pointer constant is an integer literal ([lex.icon]) with value ! zero or a prvalue of type std::nullptr_t. */ if (NULLPTR_TYPE_P (type)) return true; *************** build_user_type_conversion_1 (tree totyp *** 4035,4040 **** --- 4034,4041 ---- EXPR_LOCATION (expr)); } else if (TYPE_REF_P (totype) && !ics->rvaluedness_matches_p + /* Limit this to non-templates for now (PR90546). */ + && !cand->template_decl && TREE_CODE (TREE_TYPE (totype)) != FUNCTION_TYPE) { /* If we are called to convert to a reference type, we are trying *************** build_conditional_expr_1 (const op_locat *** 5186,5231 **** arg3_type = unlowered_expr_type (arg3); if (VOID_TYPE_P (arg2_type) || VOID_TYPE_P (arg3_type)) { ! /* 'void' won't help in resolving an overloaded expression on the ! other side, so require it to resolve by itself. */ ! if (arg2_type == unknown_type_node) ! { ! arg2 = resolve_nondeduced_context_or_error (arg2, complain); ! arg2_type = TREE_TYPE (arg2); ! } ! if (arg3_type == unknown_type_node) ! { ! arg3 = resolve_nondeduced_context_or_error (arg3, complain); ! arg3_type = TREE_TYPE (arg3); ! } /* [expr.cond] One of the following shall hold: --The second or the third operand (but not both) is a ! throw-expression (_except.throw_); the result is of the type ! and value category of the other. --Both the second and the third operands have type void; the ! result is of type void and is a prvalue. */ if (TREE_CODE (arg2) == THROW_EXPR && TREE_CODE (arg3) != THROW_EXPR) { result_type = arg3_type; - is_glvalue = glvalue_p (arg3); } else if (TREE_CODE (arg2) != THROW_EXPR && TREE_CODE (arg3) == THROW_EXPR) { result_type = arg2_type; - is_glvalue = glvalue_p (arg2); } else if (VOID_TYPE_P (arg2_type) && VOID_TYPE_P (arg3_type)) ! { ! result_type = void_type_node; ! is_glvalue = false; ! } else { if (complain & tf_error) --- 5187,5242 ---- arg3_type = unlowered_expr_type (arg3); if (VOID_TYPE_P (arg2_type) || VOID_TYPE_P (arg3_type)) { ! /* Do the conversions. We don't these for `void' type arguments ! since it can't have any effect and since decay_conversion ! does not handle that case gracefully. */ ! if (!VOID_TYPE_P (arg2_type)) ! arg2 = decay_conversion (arg2, complain); ! if (!VOID_TYPE_P (arg3_type)) ! arg3 = decay_conversion (arg3, complain); ! arg2_type = TREE_TYPE (arg2); ! arg3_type = TREE_TYPE (arg3); /* [expr.cond] One of the following shall hold: --The second or the third operand (but not both) is a ! throw-expression (_except.throw_); the result is of the ! type of the other and is an rvalue. --Both the second and the third operands have type void; the ! result is of type void and is an rvalue. ! ! We must avoid calling force_rvalue for expressions of type ! "void" because it will complain that their value is being ! used. */ if (TREE_CODE (arg2) == THROW_EXPR && TREE_CODE (arg3) != THROW_EXPR) { + if (!VOID_TYPE_P (arg3_type)) + { + arg3 = force_rvalue (arg3, complain); + if (arg3 == error_mark_node) + return error_mark_node; + } + arg3_type = TREE_TYPE (arg3); result_type = arg3_type; } else if (TREE_CODE (arg2) != THROW_EXPR && TREE_CODE (arg3) == THROW_EXPR) { + if (!VOID_TYPE_P (arg2_type)) + { + arg2 = force_rvalue (arg2, complain); + if (arg2 == error_mark_node) + return error_mark_node; + } + arg2_type = TREE_TYPE (arg2); result_type = arg2_type; } else if (VOID_TYPE_P (arg2_type) && VOID_TYPE_P (arg3_type)) ! result_type = void_type_node; else { if (complain & tf_error) *************** build_conditional_expr_1 (const op_locat *** 5244,5249 **** --- 5255,5261 ---- return error_mark_node; } + is_glvalue = false; goto valid_operands; } /* [expr.cond] *************** build_conditional_expr_1 (const op_locat *** 5361,5366 **** --- 5373,5382 ---- && same_type_p (arg2_type, arg3_type)) { result_type = arg2_type; + if (processing_template_decl) + /* Let lvalue_kind know this was a glvalue. */ + result_type = cp_build_reference_type (result_type, xvalue_p (arg2)); + arg2 = mark_lvalue_use (arg2); arg3 = mark_lvalue_use (arg3); goto valid_operands; *************** build_conditional_expr_1 (const op_locat *** 5558,5570 **** return error_mark_node; valid_operands: - if (processing_template_decl && is_glvalue) - { - /* Let lvalue_kind know this was a glvalue. */ - tree arg = (result_type == arg2_type ? arg2 : arg3); - result_type = cp_build_reference_type (result_type, xvalue_p (arg)); - } - result = build3_loc (loc, COND_EXPR, result_type, arg1, arg2, arg3); /* If the ARG2 and ARG3 are the same and don't have side-effects, --- 5574,5579 ---- *************** convert_arg_to_ellipsis (tree arg, tsubs *** 7536,7542 **** arg = convert_to_real_nofold (double_type_node, arg); } else if (NULLPTR_TYPE_P (arg_type)) ! arg = null_pointer_node; else if (INTEGRAL_OR_ENUMERATION_TYPE_P (arg_type)) { if (SCOPED_ENUM_P (arg_type)) --- 7545,7556 ---- arg = convert_to_real_nofold (double_type_node, arg); } else if (NULLPTR_TYPE_P (arg_type)) ! { ! if (TREE_SIDE_EFFECTS (arg)) ! arg = cp_build_compound_expr (arg, null_pointer_node, complain); ! else ! arg = null_pointer_node; ! } else if (INTEGRAL_OR_ENUMERATION_TYPE_P (arg_type)) { if (SCOPED_ENUM_P (arg_type)) *************** complain_about_no_candidates_for_method_ *** 9551,9558 **** if (const conversion_info *conv = maybe_get_bad_conversion_for_unmatched_call (candidate)) { complain_about_bad_argument (conv->loc, ! conv->from, conv->to_type, candidate->fn, conv->n_arg); return; } --- 9565,9575 ---- if (const conversion_info *conv = maybe_get_bad_conversion_for_unmatched_call (candidate)) { + tree from_type = conv->from; + if (!TYPE_P (conv->from)) + from_type = lvalue_type (conv->from); complain_about_bad_argument (conv->loc, ! from_type, conv->to_type, candidate->fn, conv->n_arg); return; } *************** joust (struct z_candidate *cand1, struct *** 10732,10738 **** either between a constructor and a conversion op, or between two conversion ops. */ if ((complain & tf_warning) ! && winner && warn_conversion && cand1->second_conv && (!DECL_CONSTRUCTOR_P (cand1->fn) || !DECL_CONSTRUCTOR_P (cand2->fn)) && winner != compare_ics (cand1->second_conv, cand2->second_conv)) { --- 10749,10757 ---- either between a constructor and a conversion op, or between two conversion ops. */ if ((complain & tf_warning) ! /* In C++17, the constructor might have been elided, which means that ! an originally null ->second_conv could become non-null. */ ! && winner && warn_conversion && cand1->second_conv && cand2->second_conv && (!DECL_CONSTRUCTOR_P (cand1->fn) || !DECL_CONSTRUCTOR_P (cand2->fn)) && winner != compare_ics (cand1->second_conv, cand2->second_conv)) { *************** make_temporary_var_for_ref_to_temp (tree *** 11412,11417 **** --- 11431,11438 ---- TREE_STATIC (var) = TREE_STATIC (decl); TREE_PUBLIC (var) = TREE_PUBLIC (decl); + if (decl_anon_ns_mem_p (decl)) + TREE_PUBLIC (var) = 0; if (vague_linkage_p (decl)) comdat_linkage (var); *************** make_temporary_var_for_ref_to_temp (tree *** 11437,11443 **** static tree set_up_extended_ref_temp (tree decl, tree expr, vec **cleanups, ! tree *initp) { tree init; tree type; --- 11458,11464 ---- static tree set_up_extended_ref_temp (tree decl, tree expr, vec **cleanups, ! tree *initp, tree *cond_guard) { tree init; tree type; *************** set_up_extended_ref_temp (tree decl, tre *** 11468,11474 **** /* Recursively extend temps in this initializer. */ TARGET_EXPR_INITIAL (expr) ! = extend_ref_init_temps (decl, TARGET_EXPR_INITIAL (expr), cleanups); /* Any reference temp has a non-trivial initializer. */ DECL_NONTRIVIALLY_INITIALIZED_P (var) = true; --- 11489,11496 ---- /* Recursively extend temps in this initializer. */ TARGET_EXPR_INITIAL (expr) ! = extend_ref_init_temps (decl, TARGET_EXPR_INITIAL (expr), cleanups, ! cond_guard); /* Any reference temp has a non-trivial initializer. */ DECL_NONTRIVIALLY_INITIALIZED_P (var) = true; *************** set_up_extended_ref_temp (tree decl, tre *** 11509,11515 **** { tree cleanup = cxx_maybe_build_cleanup (var, tf_warning_or_error); if (cleanup) ! vec_safe_push (*cleanups, cleanup); } /* We must be careful to destroy the temporary only --- 11531,11559 ---- { tree cleanup = cxx_maybe_build_cleanup (var, tf_warning_or_error); if (cleanup) ! { ! if (cond_guard && cleanup != error_mark_node) ! { ! if (*cond_guard == NULL_TREE) ! { ! *cond_guard = build_decl (input_location, VAR_DECL, ! NULL_TREE, boolean_type_node); ! DECL_ARTIFICIAL (*cond_guard) = 1; ! DECL_IGNORED_P (*cond_guard) = 1; ! DECL_CONTEXT (*cond_guard) = current_function_decl; ! layout_decl (*cond_guard, 0); ! add_decl_expr (*cond_guard); ! tree set = cp_build_modify_expr (UNKNOWN_LOCATION, ! *cond_guard, NOP_EXPR, ! boolean_false_node, ! tf_warning_or_error); ! finish_expr_stmt (set); ! } ! cleanup = build3 (COND_EXPR, void_type_node, ! *cond_guard, cleanup, NULL_TREE); ! } ! vec_safe_push (*cleanups, cleanup); ! } } /* We must be careful to destroy the temporary only *************** initialize_reference (tree type, tree ex *** 11614,11620 **** which is bound either to a reference or a std::initializer_list. */ static tree ! extend_ref_init_temps_1 (tree decl, tree init, vec **cleanups) { tree sub = init; tree *p; --- 11658,11665 ---- which is bound either to a reference or a std::initializer_list. */ static tree ! extend_ref_init_temps_1 (tree decl, tree init, vec **cleanups, ! tree *cond_guard) { tree sub = init; tree *p; *************** extend_ref_init_temps_1 (tree decl, tree *** 11622,11641 **** if (TREE_CODE (sub) == COMPOUND_EXPR) { TREE_OPERAND (sub, 1) ! = extend_ref_init_temps_1 (decl, TREE_OPERAND (sub, 1), cleanups); return init; } if (TREE_CODE (sub) != ADDR_EXPR) return init; /* Deal with binding to a subobject. */ for (p = &TREE_OPERAND (sub, 0); ! (TREE_CODE (*p) == COMPONENT_REF ! || TREE_CODE (*p) == ARRAY_REF); ) p = &TREE_OPERAND (*p, 0); if (TREE_CODE (*p) == TARGET_EXPR) { tree subinit = NULL_TREE; ! *p = set_up_extended_ref_temp (decl, *p, cleanups, &subinit); recompute_tree_invariant_for_addr_expr (sub); if (init != sub) init = fold_convert (TREE_TYPE (init), sub); --- 11667,11718 ---- if (TREE_CODE (sub) == COMPOUND_EXPR) { TREE_OPERAND (sub, 1) ! = extend_ref_init_temps_1 (decl, TREE_OPERAND (sub, 1), cleanups, ! cond_guard); ! return init; ! } ! if (TREE_CODE (sub) == COND_EXPR) ! { ! tree cur_cond_guard = NULL_TREE; ! if (TREE_OPERAND (sub, 1)) ! TREE_OPERAND (sub, 1) ! = extend_ref_init_temps_1 (decl, TREE_OPERAND (sub, 1), cleanups, ! &cur_cond_guard); ! if (cur_cond_guard) ! { ! tree set = cp_build_modify_expr (UNKNOWN_LOCATION, cur_cond_guard, ! NOP_EXPR, boolean_true_node, ! tf_warning_or_error); ! TREE_OPERAND (sub, 1) ! = cp_build_compound_expr (set, TREE_OPERAND (sub, 1), ! tf_warning_or_error); ! } ! cur_cond_guard = NULL_TREE; ! if (TREE_OPERAND (sub, 2)) ! TREE_OPERAND (sub, 2) ! = extend_ref_init_temps_1 (decl, TREE_OPERAND (sub, 2), cleanups, ! &cur_cond_guard); ! if (cur_cond_guard) ! { ! tree set = cp_build_modify_expr (UNKNOWN_LOCATION, cur_cond_guard, ! NOP_EXPR, boolean_true_node, ! tf_warning_or_error); ! TREE_OPERAND (sub, 2) ! = cp_build_compound_expr (set, TREE_OPERAND (sub, 2), ! tf_warning_or_error); ! } return init; } if (TREE_CODE (sub) != ADDR_EXPR) return init; /* Deal with binding to a subobject. */ for (p = &TREE_OPERAND (sub, 0); ! TREE_CODE (*p) == COMPONENT_REF || TREE_CODE (*p) == ARRAY_REF; ) p = &TREE_OPERAND (*p, 0); if (TREE_CODE (*p) == TARGET_EXPR) { tree subinit = NULL_TREE; ! *p = set_up_extended_ref_temp (decl, *p, cleanups, &subinit, cond_guard); recompute_tree_invariant_for_addr_expr (sub); if (init != sub) init = fold_convert (TREE_TYPE (init), sub); *************** extend_ref_init_temps_1 (tree decl, tree *** 11650,11662 **** lifetime to match that of DECL. */ tree ! extend_ref_init_temps (tree decl, tree init, vec **cleanups) { tree type = TREE_TYPE (init); if (processing_template_decl) return init; if (TYPE_REF_P (type)) ! init = extend_ref_init_temps_1 (decl, init, cleanups); else { tree ctor = init; --- 11727,11740 ---- lifetime to match that of DECL. */ tree ! extend_ref_init_temps (tree decl, tree init, vec **cleanups, ! tree *cond_guard) { tree type = TREE_TYPE (init); if (processing_template_decl) return init; if (TYPE_REF_P (type)) ! init = extend_ref_init_temps_1 (decl, init, cleanups, cond_guard); else { tree ctor = init; *************** extend_ref_init_temps (tree decl, tree i *** 11669,11675 **** /* The temporary array underlying a std::initializer_list is handled like a reference temporary. */ tree array = CONSTRUCTOR_ELT (ctor, 0)->value; ! array = extend_ref_init_temps_1 (decl, array, cleanups); CONSTRUCTOR_ELT (ctor, 0)->value = array; } else --- 11747,11754 ---- /* The temporary array underlying a std::initializer_list is handled like a reference temporary. */ tree array = CONSTRUCTOR_ELT (ctor, 0)->value; ! array = extend_ref_init_temps_1 (decl, array, cleanups, ! cond_guard); CONSTRUCTOR_ELT (ctor, 0)->value = array; } else *************** extend_ref_init_temps (tree decl, tree i *** 11678,11684 **** constructor_elt *p; vec *elts = CONSTRUCTOR_ELTS (ctor); FOR_EACH_VEC_SAFE_ELT (elts, i, p) ! p->value = extend_ref_init_temps (decl, p->value, cleanups); } recompute_constructor_flags (ctor); if (decl_maybe_constant_var_p (decl) && TREE_CONSTANT (ctor)) --- 11757,11764 ---- constructor_elt *p; vec *elts = CONSTRUCTOR_ELTS (ctor); FOR_EACH_VEC_SAFE_ELT (elts, i, p) ! p->value = extend_ref_init_temps (decl, p->value, cleanups, ! cond_guard); } recompute_constructor_flags (ctor); if (decl_maybe_constant_var_p (decl) && TREE_CONSTANT (ctor)) diff -Nrcpad gcc-9.2.0/gcc/cp/class.c gcc-9.3.0/gcc/cp/class.c *** gcc-9.2.0/gcc/cp/class.c Fri May 10 14:57:22 2019 --- gcc-9.3.0/gcc/cp/class.c Thu Mar 12 11:07:21 2020 *************** fixup_type_variants (tree t) *** 1907,1912 **** --- 1907,1913 ---- = TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t); TYPE_POLYMORPHIC_P (variants) = TYPE_POLYMORPHIC_P (t); + CLASSTYPE_FINAL (variants) = CLASSTYPE_FINAL (t); TYPE_BINFO (variants) = TYPE_BINFO (t); *************** maybe_warn_about_overly_private_class (t *** 2149,2158 **** if (!nonprivate_ctor) { ! warning (OPT_Wctor_dtor_privacy, ! "%q#T only defines private constructors and has no friends", ! t); ! if (copy_or_move) inform (DECL_SOURCE_LOCATION (copy_or_move), "%q#D is public, but requires an existing %q#T object", copy_or_move, t); --- 2150,2159 ---- if (!nonprivate_ctor) { ! bool w = warning (OPT_Wctor_dtor_privacy, ! "%q#T only defines private constructors and has " ! "no friends", t); ! if (w && copy_or_move) inform (DECL_SOURCE_LOCATION (copy_or_move), "%q#D is public, but requires an existing %q#T object", copy_or_move, t); *************** add_implicitly_declared_members (tree t, *** 3197,3202 **** --- 3198,3257 ---- } } + /* Cache of enum_min_precision values. */ + static GTY((deletable)) hash_map *enum_to_min_precision; + + /* Return the minimum precision of a bit-field needed to store all + enumerators of ENUMERAL_TYPE TYPE. */ + + static int + enum_min_precision (tree type) + { + type = TYPE_MAIN_VARIANT (type); + /* For unscoped enums without fixed underlying type and without mode + attribute we can just use precision of the underlying type. */ + if (UNSCOPED_ENUM_P (type) + && !ENUM_FIXED_UNDERLYING_TYPE_P (type) + && !lookup_attribute ("mode", TYPE_ATTRIBUTES (type))) + return TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)); + + if (enum_to_min_precision == NULL) + enum_to_min_precision = hash_map::create_ggc (37); + + bool existed; + int &prec = enum_to_min_precision->get_or_insert (type, &existed); + if (existed) + return prec; + + tree minnode, maxnode; + if (TYPE_VALUES (type)) + { + minnode = maxnode = NULL_TREE; + for (tree values = TYPE_VALUES (type); + values; values = TREE_CHAIN (values)) + { + tree decl = TREE_VALUE (values); + tree value = DECL_INITIAL (decl); + if (value == error_mark_node) + value = integer_zero_node; + if (!minnode) + minnode = maxnode = value; + else if (tree_int_cst_lt (maxnode, value)) + maxnode = value; + else if (tree_int_cst_lt (value, minnode)) + minnode = value; + } + } + else + minnode = maxnode = integer_zero_node; + + signop sgn = tree_int_cst_sgn (minnode) >= 0 ? UNSIGNED : SIGNED; + int lowprec = tree_int_cst_min_precision (minnode, sgn); + int highprec = tree_int_cst_min_precision (maxnode, sgn); + prec = MAX (lowprec, highprec); + return prec; + } + /* FIELD is a bit-field. We are finishing the processing for its enclosing type. Issue any appropriate messages and set appropriate flags. Returns false if an error has been diagnosed. */ *************** check_bitfield_decl (tree field) *** 3258,3264 **** "width of %qD exceeds its type", field); else if (TREE_CODE (type) == ENUMERAL_TYPE) { ! int prec = TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)); if (compare_tree_int (w, prec) < 0) warning_at (DECL_SOURCE_LOCATION (field), 0, "%qD is too small to hold all values of %q#T", --- 3313,3319 ---- "width of %qD exceeds its type", field); else if (TREE_CODE (type) == ENUMERAL_TYPE) { ! int prec = enum_min_precision (type); if (compare_tree_int (w, prec) < 0) warning_at (DECL_SOURCE_LOCATION (field), 0, "%qD is too small to hold all values of %q#T", *************** check_flexarrays (tree t, flexmems_t *fm *** 6882,6887 **** --- 6937,6944 ---- /* Is the type unnamed (and therefore a member of it potentially an anonymous struct or union)? */ bool maybe_anon_p = TYPE_UNNAMED_P (t); + if (tree ctx = maybe_anon_p ? TYPE_CONTEXT (t) : NULL_TREE) + maybe_anon_p = RECORD_OR_UNION_TYPE_P (ctx); /* Search the members of the current (possibly derived) class, skipping unnamed structs and unions since those could be anonymous. */ diff -Nrcpad gcc-9.2.0/gcc/cp/constexpr.c gcc-9.3.0/gcc/cp/constexpr.c *** gcc-9.2.0/gcc/cp/constexpr.c Thu Jun 13 00:56:54 2019 --- gcc-9.3.0/gcc/cp/constexpr.c Thu Mar 12 11:07:21 2020 *************** cx_check_missing_mem_inits (tree ctype, *** 821,826 **** --- 821,829 ---- return true; continue; } + if (DECL_SIZE (field) && integer_zerop (DECL_SIZE (field))) + /* An empty field doesn't need an initializer. */ + continue; ftype = strip_array_types (TREE_TYPE (field)); if (type_has_constexpr_default_constructor (ftype)) { *************** constexpr_call_hasher::equal (constexpr_ *** 1085,1091 **** { tree lhs_arg = TREE_VALUE (lhs_bindings); tree rhs_arg = TREE_VALUE (rhs_bindings); ! gcc_assert (same_type_p (TREE_TYPE (lhs_arg), TREE_TYPE (rhs_arg))); if (!cp_tree_equal (lhs_arg, rhs_arg)) return false; lhs_bindings = TREE_CHAIN (lhs_bindings); --- 1088,1095 ---- { tree lhs_arg = TREE_VALUE (lhs_bindings); tree rhs_arg = TREE_VALUE (rhs_bindings); ! gcc_assert (same_type_ignoring_top_level_qualifiers_p ! (TREE_TYPE (lhs_arg), TREE_TYPE (rhs_arg))); if (!cp_tree_equal (lhs_arg, rhs_arg)) return false; lhs_bindings = TREE_CHAIN (lhs_bindings); *************** cxx_bind_parameters_in_call (const const *** 1419,1424 **** --- 1423,1450 ---- arg = adjust_temp_type (type, arg); if (!TREE_CONSTANT (arg)) *non_constant_args = true; + + /* For virtual calls, adjust the this argument, so that it is + the object on which the method is called, rather than + one of its bases. */ + if (i == 0 && DECL_VIRTUAL_P (fun)) + { + tree addr = arg; + STRIP_NOPS (addr); + if (TREE_CODE (addr) == ADDR_EXPR) + { + tree obj = TREE_OPERAND (addr, 0); + while (TREE_CODE (obj) == COMPONENT_REF + && DECL_FIELD_IS_BASE (TREE_OPERAND (obj, 1)) + && !same_type_ignoring_top_level_qualifiers_p + (TREE_TYPE (obj), DECL_CONTEXT (fun))) + obj = TREE_OPERAND (obj, 0); + if (obj != TREE_OPERAND (addr, 0)) + arg = build_fold_addr_expr_with_type (obj, + TREE_TYPE (arg)); + } + } + *p = build_tree_list (parms, arg); p = &TREE_CHAIN (*p); } *************** cxx_eval_array_reference (const constexp *** 2640,2647 **** } /* If it's within the array bounds but doesn't have an explicit ! initializer, it's value-initialized. */ ! tree val = build_value_init (elem_type, tf_warning_or_error); return cxx_eval_constant_expression (ctx, val, lval, non_constant_p, overflow_p); } --- 2666,2681 ---- } /* If it's within the array bounds but doesn't have an explicit ! initializer, it's initialized from {}. But use build_value_init ! directly for non-aggregates to avoid creating a garbage CONSTRUCTOR. */ ! tree val; ! if (CP_AGGREGATE_TYPE_P (elem_type)) ! { ! tree empty_ctor = build_constructor (init_list_type_node, NULL); ! val = digest_init (elem_type, empty_ctor, tf_warning_or_error); ! } ! else ! val = build_value_init (elem_type, tf_warning_or_error); return cxx_eval_constant_expression (ctx, val, lval, non_constant_p, overflow_p); } *************** cxx_eval_component_reference (const cons *** 2703,2709 **** : field == part) { if (value) ! return value; else /* We're in the middle of initializing it. */ break; --- 2737,2746 ---- : field == part) { if (value) ! { ! STRIP_ANY_LOCATION_WRAPPER (value); ! return value; ! } else /* We're in the middle of initializing it. */ break; *************** cxx_eval_bit_field_ref (const constexpr_ *** 2793,2798 **** --- 2830,2836 ---- FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (whole), i, field, value) { tree bitpos = bit_position (field); + STRIP_ANY_LOCATION_WRAPPER (value); if (bitpos == start && DECL_SIZE (field) == TREE_OPERAND (t, 1)) return value; if (TREE_CODE (TREE_TYPE (field)) == INTEGER_TYPE *************** cxx_eval_vec_init_1 (const constexpr_ctx *** 3101,3106 **** --- 3139,3148 ---- unsigned HOST_WIDE_INT i; tsubst_flags_t complain = ctx->quiet ? tf_none : tf_warning_or_error; + if (init && TREE_CODE (init) == CONSTRUCTOR) + return cxx_eval_bare_aggregate (ctx, init, lval, + non_constant_p, overflow_p); + /* For the default constructor, build up a call to the default constructor of the element type. We only need to handle class types here, as for a constructor to be constexpr, all members must be *************** cxx_eval_increment_expression (const con *** 3973,3978 **** --- 4015,4024 ---- tree offset = TREE_OPERAND (t, 1); gcc_assert (TREE_CONSTANT (offset)); + /* OFFSET is constant, but perhaps not constant enough. We need to + e.g. bash FLOAT_EXPRs to REAL_CSTs. */ + offset = fold_simple (offset); + /* The operand as an lvalue. */ op = cxx_eval_constant_expression (ctx, op, true, non_constant_p, overflow_p); *************** cxx_eval_constant_expression (const cons *** 5116,5121 **** --- 5162,5168 ---- tree obj = OBJ_TYPE_REF_OBJECT (t); obj = cxx_eval_constant_expression (ctx, obj, lval, non_constant_p, overflow_p); + STRIP_NOPS (obj); /* We expect something in the form of &x.D.2103.D.2094; get x. */ if (TREE_CODE (obj) != ADDR_EXPR || !DECL_P (get_base_address (TREE_OPERAND (obj, 0)))) *************** maybe_constant_value (tree t, tree decl, *** 5551,5557 **** if (cv_cache == NULL) cv_cache = hash_map::create_ggc (101); if (tree *cached = cv_cache->get (t)) ! return *cached; r = cxx_eval_outermost_constant_expr (t, true, true, false, decl); gcc_checking_assert (r == t --- 5598,5612 ---- if (cv_cache == NULL) cv_cache = hash_map::create_ggc (101); if (tree *cached = cv_cache->get (t)) ! { ! r = *cached; ! if (r != t) ! { ! r = unshare_expr_without_location (r); ! protected_set_expr_location (r, EXPR_LOCATION (t)); ! } ! return r; ! } r = cxx_eval_outermost_constant_expr (t, true, true, false, decl); gcc_checking_assert (r == t *************** potential_constant_expression_1 (tree t, *** 5917,5922 **** --- 5972,5978 ---- case LABEL_DECL: case LABEL_EXPR: case CASE_LABEL_EXPR: + case PREDICT_EXPR: case CONST_DECL: case SIZEOF_EXPR: case ALIGNOF_EXPR: *************** potential_constant_expression_1 (tree t, *** 5948,5955 **** return true; case PARM_DECL: ! if (now) { if (flags & tf_error) error ("%qE is not a constant expression", t); return false; --- 6004,6016 ---- return true; case PARM_DECL: ! if (now && want_rval) { + tree type = TREE_TYPE (t); + if (dependent_type_p (type) + || is_really_empty_class (type, /*ignore_vptr*/false)) + /* An empty class has no data to read. */ + return true; if (flags & tf_error) error ("%qE is not a constant expression", t); return false; *************** potential_constant_expression_1 (tree t, *** 6190,6199 **** #endif return RECUR (t, any); - case REALPART_EXPR: - case IMAGPART_EXPR: case COMPONENT_REF: - case BIT_FIELD_REF: case ARROW_EXPR: case OFFSET_REF: /* -- a class member access unless its postfix-expression is --- 6251,6257 ---- *************** potential_constant_expression_1 (tree t, *** 6202,6207 **** --- 6260,6274 ---- postfix-expression being a potential constant expression. */ if (type_unknown_p (t)) return true; + if (is_overloaded_fn (t)) + /* In a template, a COMPONENT_REF of a function expresses ob.fn(), + which uses ob as an lvalue. */ + want_rval = false; + gcc_fallthrough (); + + case REALPART_EXPR: + case IMAGPART_EXPR: + case BIT_FIELD_REF: return RECUR (TREE_OPERAND (t, 0), want_rval); case EXPR_PACK_EXPANSION: *************** potential_constant_expression_1 (tree t, *** 6751,6757 **** case CLEANUP_STMT: case EMPTY_CLASS_EXPR: - case PREDICT_EXPR: return false; case GOTO_EXPR: --- 6818,6823 ---- diff -Nrcpad gcc-9.2.0/gcc/cp/constraint.cc gcc-9.3.0/gcc/cp/constraint.cc *** gcc-9.2.0/gcc/cp/constraint.cc Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/cp/constraint.cc Thu Mar 12 11:07:21 2020 *************** constraints_satisfied_p (tree decl) *** 2390,2396 **** --- 2390,2400 ---- ci = get_constraints (decl); } + if (!push_tinst_level (decl)) + return true; tree eval = satisfy_associated_constraints (ci, args); + pop_tinst_level (); + return eval == boolean_true_node; } diff -Nrcpad gcc-9.2.0/gcc/cp/cp-gimplify.c gcc-9.3.0/gcc/cp/cp-gimplify.c *** gcc-9.2.0/gcc/cp/cp-gimplify.c Fri May 17 19:52:06 2019 --- gcc-9.3.0/gcc/cp/cp-gimplify.c Thu Mar 12 11:07:21 2020 *************** cp_gimplify_expr (tree *expr_p, gimple_s *** 816,821 **** --- 816,842 ---- case CALL_EXPR: ret = GS_OK; + if (flag_strong_eval_order == 2 + && CALL_EXPR_FN (*expr_p) + && cp_get_callee_fndecl_nofold (*expr_p) == NULL_TREE) + { + tree fnptrtype = TREE_TYPE (CALL_EXPR_FN (*expr_p)); + enum gimplify_status t + = gimplify_expr (&CALL_EXPR_FN (*expr_p), pre_p, NULL, + is_gimple_call_addr, fb_rvalue); + if (t == GS_ERROR) + ret = GS_ERROR; + else if (is_gimple_variable (CALL_EXPR_FN (*expr_p)) + && TREE_CODE (CALL_EXPR_FN (*expr_p)) != SSA_NAME) + CALL_EXPR_FN (*expr_p) + = get_initialized_tmp_var (CALL_EXPR_FN (*expr_p), pre_p, + NULL); + /* GIMPLE considers most pointer conversion useless, but for + calls we actually care about the exact function pointer type. */ + if (t != GS_ERROR && TREE_TYPE (CALL_EXPR_FN (*expr_p)) != fnptrtype) + CALL_EXPR_FN (*expr_p) + = build1 (NOP_EXPR, fnptrtype, CALL_EXPR_FN (*expr_p)); + } if (!CALL_EXPR_FN (*expr_p)) /* Internal function call. */; else if (CALL_EXPR_REVERSE_ARGS (*expr_p)) *************** cp_fold_function (tree fndecl) *** 1110,1115 **** --- 1131,1166 ---- cp_walk_tree (&DECL_SAVED_TREE (fndecl), cp_fold_r, &pset, NULL); } + /* If EXPR involves an anonymous VLA type, prepend a DECL_EXPR for that type + to trigger gimplify_type_sizes; otherwise a cast to pointer-to-VLA confuses + the middle-end (c++/88256). */ + + static tree + predeclare_vla (tree expr) + { + tree type = TREE_TYPE (expr); + if (type == error_mark_node) + return expr; + + /* We need to strip pointers for gimplify_type_sizes. */ + tree vla = type; + while (POINTER_TYPE_P (vla)) + { + if (TYPE_NAME (vla)) + return expr; + vla = TREE_TYPE (vla); + } + if (TYPE_NAME (vla) || !variably_modified_type_p (vla, NULL_TREE)) + return expr; + + tree decl = build_decl (input_location, TYPE_DECL, NULL_TREE, vla); + DECL_ARTIFICIAL (decl) = 1; + TYPE_NAME (vla) = decl; + tree dexp = build_stmt (input_location, DECL_EXPR, decl); + expr = build2 (COMPOUND_EXPR, type, dexp, expr); + return expr; + } + /* Perform any pre-gimplification lowering of C++ front end trees to GENERIC. */ *************** cp_genericize_r (tree *stmt_p, int *walk *** 1563,1568 **** --- 1614,1620 ---- break; case NOP_EXPR: + *stmt_p = predeclare_vla (*stmt_p); if (!wtd->no_sanitize_p && sanitize_flags_p (SANITIZE_NULL | SANITIZE_ALIGNMENT) && TYPE_REF_P (TREE_TYPE (stmt))) *************** cxx_omp_predetermined_sharing_1 (tree de *** 2050,2055 **** --- 2102,2110 ---- tree ctx = CP_DECL_CONTEXT (decl); if (TYPE_P (ctx) && MAYBE_CLASS_TYPE_P (ctx)) return OMP_CLAUSE_DEFAULT_SHARED; + + if (c_omp_predefined_variable (decl)) + return OMP_CLAUSE_DEFAULT_SHARED; } /* this may not be specified in data-sharing clauses, still we need *************** cxx_omp_predetermined_sharing (tree decl *** 2083,2088 **** --- 2138,2147 ---- && DECL_OMP_PRIVATIZED_MEMBER (decl))) return OMP_CLAUSE_DEFAULT_SHARED; + /* Similarly for typeinfo symbols. */ + if (VAR_P (decl) && DECL_ARTIFICIAL (decl) && DECL_TINFO_P (decl)) + return OMP_CLAUSE_DEFAULT_SHARED; + return OMP_CLAUSE_DEFAULT_UNSPECIFIED; } diff -Nrcpad gcc-9.2.0/gcc/cp/cp-objcp-common.c gcc-9.3.0/gcc/cp/cp-objcp-common.c *** gcc-9.2.0/gcc/cp/cp-objcp-common.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/cp/cp-objcp-common.c Thu Mar 12 11:07:21 2020 *************** identifier_global_value (tree name) *** 352,357 **** --- 352,369 ---- return get_global_binding (name); } + /* Similarly, but return struct/class/union NAME instead. */ + + tree + identifier_global_tag (tree name) + { + tree ret = lookup_qualified_name (global_namespace, name, /*prefer_type*/2, + /*complain*/false); + if (ret == error_mark_node) + return NULL_TREE; + return ret; + } + /* Register c++-specific dumps. */ void diff -Nrcpad gcc-9.2.0/gcc/cp/cp-tree.h gcc-9.3.0/gcc/cp/cp-tree.h *** gcc-9.2.0/gcc/cp/cp-tree.h Fri Apr 12 15:29:03 2019 --- gcc-9.3.0/gcc/cp/cp-tree.h Thu Mar 12 11:07:21 2020 *************** extern GTY(()) tree cp_global_trees[CPTI *** 423,429 **** LAMBDA_EXPR_MUTABLE_P (in LAMBDA_EXPR) DECL_FINAL_P (in FUNCTION_DECL) QUALIFIED_NAME_IS_TEMPLATE (in SCOPE_REF) - DECLTYPE_FOR_INIT_CAPTURE (in DECLTYPE_TYPE) CONSTRUCTOR_IS_DEPENDENT (in CONSTRUCTOR) TINFO_USED_TEMPLATE_ID (in TEMPLATE_INFO) PACK_EXPANSION_SIZEOF_P (in *_PACK_EXPANSION) --- 423,428 ---- *************** more_aggr_init_expr_args_p (const aggr_i *** 4471,4482 **** (DECLTYPE_TYPE_CHECK (NODE))->type_common.string_flag /* These flags indicate that we want different semantics from normal ! decltype: lambda capture just drops references, init capture ! uses auto semantics, lambda proxies look through implicit dereference. */ #define DECLTYPE_FOR_LAMBDA_CAPTURE(NODE) \ TREE_LANG_FLAG_0 (DECLTYPE_TYPE_CHECK (NODE)) - #define DECLTYPE_FOR_INIT_CAPTURE(NODE) \ - TREE_LANG_FLAG_1 (DECLTYPE_TYPE_CHECK (NODE)) #define DECLTYPE_FOR_LAMBDA_PROXY(NODE) \ TREE_LANG_FLAG_2 (DECLTYPE_TYPE_CHECK (NODE)) #define DECLTYPE_FOR_REF_CAPTURE(NODE) \ --- 4470,4479 ---- (DECLTYPE_TYPE_CHECK (NODE))->type_common.string_flag /* These flags indicate that we want different semantics from normal ! decltype: lambda capture just drops references, ! lambda proxies look through implicit dereference. */ #define DECLTYPE_FOR_LAMBDA_CAPTURE(NODE) \ TREE_LANG_FLAG_0 (DECLTYPE_TYPE_CHECK (NODE)) #define DECLTYPE_FOR_LAMBDA_PROXY(NODE) \ TREE_LANG_FLAG_2 (DECLTYPE_TYPE_CHECK (NODE)) #define DECLTYPE_FOR_REF_CAPTURE(NODE) \ *************** extern tree convert_for_arg_passing (tr *** 6232,6238 **** extern bool is_properly_derived_from (tree, tree); extern tree initialize_reference (tree, tree, int, tsubst_flags_t); ! extern tree extend_ref_init_temps (tree, tree, vec**); extern tree make_temporary_var_for_ref_to_temp (tree, tree); extern bool type_has_extended_temps (tree); extern tree strip_top_quals (tree); --- 6229,6237 ---- extern bool is_properly_derived_from (tree, tree); extern tree initialize_reference (tree, tree, int, tsubst_flags_t); ! extern tree extend_ref_init_temps (tree, tree, ! vec**, ! tree * = NULL); extern tree make_temporary_var_for_ref_to_temp (tree, tree); extern bool type_has_extended_temps (tree); extern tree strip_top_quals (tree); *************** extern bool maybe_instantiate_noexcept *** 6779,6785 **** extern tree instantiate_decl (tree, bool, bool); extern int comp_template_parms (const_tree, const_tree); extern bool builtin_pack_fn_p (tree); ! extern bool uses_parameter_packs (tree); extern bool template_parameter_pack_p (const_tree); extern bool function_parameter_pack_p (const_tree); extern bool function_parameter_expanded_from_pack_p (tree, tree); --- 6778,6784 ---- extern tree instantiate_decl (tree, bool, bool); extern int comp_template_parms (const_tree, const_tree); extern bool builtin_pack_fn_p (tree); ! extern tree uses_parameter_packs (tree); extern bool template_parameter_pack_p (const_tree); extern bool function_parameter_pack_p (const_tree); extern bool function_parameter_expanded_from_pack_p (tree, tree); *************** extern tree cxx_copy_lang_qualifiers (c *** 7328,7333 **** --- 7327,7337 ---- extern void cxx_print_statistics (void); extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t); + /* Analogous to initializer_zerop but also examines the type for + which the initializer is being used. Unlike initializer_zerop, + considers empty strings to be zero initializers for arrays and + non-zero for pointers. */ + extern bool type_initializer_zero_p (tree, tree); /* in ptree.c */ extern void cxx_print_xnode (FILE *, tree, int); diff -Nrcpad gcc-9.2.0/gcc/cp/decl.c gcc-9.3.0/gcc/cp/decl.c *** gcc-9.2.0/gcc/cp/decl.c Mon May 6 15:23:37 2019 --- gcc-9.3.0/gcc/cp/decl.c Thu Mar 12 11:07:21 2020 *************** cp_fname_init (const char* name, tree *t *** 4474,4486 **** static tree cp_make_fname_decl (location_t loc, tree id, int type_dep) { ! const char *const name = (type_dep && in_template_function () ! ? NULL : fname_as_string (type_dep)); tree type; tree init = cp_fname_init (name, &type); tree decl = build_decl (loc, VAR_DECL, id, type); ! if (name) free (CONST_CAST (char *, name)); /* As we're using pushdecl_with_scope, we must set the context. */ --- 4474,4500 ---- static tree cp_make_fname_decl (location_t loc, tree id, int type_dep) { ! const char * name = NULL; ! bool release_name = false; ! if (!(type_dep && in_template_function ())) ! { ! if (current_function_decl == NULL_TREE) ! name = "top level"; ! else if (type_dep == 1) /* __PRETTY_FUNCTION__ */ ! name = cxx_printable_name (current_function_decl, 2); ! else if (type_dep == 0) /* __FUNCTION__ */ ! { ! name = fname_as_string (type_dep); ! release_name = true; ! } ! else ! gcc_unreachable (); ! } tree type; tree init = cp_fname_init (name, &type); tree decl = build_decl (loc, VAR_DECL, id, type); ! if (release_name) free (CONST_CAST (char *, name)); /* As we're using pushdecl_with_scope, we must set the context. */ *************** reshape_init_array_1 (tree elt_type, tre *** 5836,5843 **** /* Pointers initialized to strings must be treated as non-zero even if the string is empty. */ tree init_type = TREE_TYPE (elt_init); ! if ((POINTER_TYPE_P (elt_type) != POINTER_TYPE_P (init_type)) ! || !initializer_zerop (elt_init)) last_nonzero = index; /* This can happen with an invalid initializer (c++/54501). */ --- 5850,5857 ---- /* Pointers initialized to strings must be treated as non-zero even if the string is empty. */ tree init_type = TREE_TYPE (elt_init); ! if (POINTER_TYPE_P (elt_type) != POINTER_TYPE_P (init_type) ! || !type_initializer_zero_p (elt_type, elt_init)) last_nonzero = index; /* This can happen with an invalid initializer (c++/54501). */ *************** reshape_init_r (tree type, reshape_iter *** 6114,6120 **** (CONSTRUCTOR_ELT (stripped_init,0)->value)))) { if (complain & tf_error) ! error ("too many braces around scalar initializer" "for type %qT", type); init = error_mark_node; } --- 6128,6134 ---- (CONSTRUCTOR_ELT (stripped_init,0)->value)))) { if (complain & tf_error) ! error ("too many braces around scalar initializer " "for type %qT", type); init = error_mark_node; } *************** reshape_init_r (tree type, reshape_iter *** 6210,6223 **** by the front end. Here we have e.g. {.__pfn=0B, .__delta=0}, which is missing outermost braces. We should warn below, and one of the routines below will wrap it in additional { }. */; ! /* For a nested compound literal, there is no need to reshape since ! we called reshape_init in finish_compound_literal, before calling ! digest_init. */ ! else if (COMPOUND_LITERAL_P (stripped_init) ! /* Similarly, a CONSTRUCTOR of the target's type is a ! previously digested initializer. */ ! || same_type_ignoring_top_level_qualifiers_p (type, ! init_type)) { ++d->cur; gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (stripped_init)); --- 6224,6236 ---- by the front end. Here we have e.g. {.__pfn=0B, .__delta=0}, which is missing outermost braces. We should warn below, and one of the routines below will wrap it in additional { }. */; ! /* For a nested compound literal, proceed to specialized routines, ! to handle initialization of arrays and similar. */ ! else if (COMPOUND_LITERAL_P (stripped_init)) ! gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (stripped_init)); ! /* A CONSTRUCTOR of the target's type is a previously ! digested initializer. */ ! else if (same_type_ignoring_top_level_qualifiers_p (type, init_type)) { ++d->cur; gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (stripped_init)); *************** expand_static_init (tree decl, tree init *** 8407,8420 **** (acquire_name, build_function_type_list (integer_type_node, TREE_TYPE (guard_addr), NULL_TREE), ! NULL_TREE, ECF_NOTHROW | ECF_LEAF); if (!release_fn || !abort_fn) vfntype = build_function_type_list (void_type_node, TREE_TYPE (guard_addr), NULL_TREE); if (!release_fn) release_fn = push_library_fn (release_name, vfntype, NULL_TREE, ! ECF_NOTHROW | ECF_LEAF); if (!abort_fn) abort_fn = push_library_fn (abort_name, vfntype, NULL_TREE, ECF_NOTHROW | ECF_LEAF); --- 8420,8433 ---- (acquire_name, build_function_type_list (integer_type_node, TREE_TYPE (guard_addr), NULL_TREE), ! NULL_TREE, ECF_NOTHROW); if (!release_fn || !abort_fn) vfntype = build_function_type_list (void_type_node, TREE_TYPE (guard_addr), NULL_TREE); if (!release_fn) release_fn = push_library_fn (release_name, vfntype, NULL_TREE, ! ECF_NOTHROW); if (!abort_fn) abort_fn = push_library_fn (abort_name, vfntype, NULL_TREE, ECF_NOTHROW | ECF_LEAF); *************** build_ptrmemfunc_type (tree type) *** 9539,9548 **** --- 9552,9563 ---- TYPE_PTRMEMFUNC_FLAG (t) = 1; field = build_decl (input_location, FIELD_DECL, pfn_identifier, type); + DECL_NONADDRESSABLE_P (field) = 1; fields = field; field = build_decl (input_location, FIELD_DECL, delta_identifier, delta_type_node); + DECL_NONADDRESSABLE_P (field) = 1; DECL_CHAIN (field) = fields; fields = field; *************** grokdeclarator (const cp_declarator *dec *** 11435,11440 **** --- 11450,11457 ---- else if (late_return_type && sfk != sfk_conversion) { + if (late_return_type == error_mark_node) + return error_mark_node; if (cxx_dialect < cxx11) /* Not using maybe_warn_cpp0x because this should always be an error. */ *************** grokdeclarator (const cp_declarator *dec *** 12163,12168 **** --- 12180,12186 ---- memfn_quals |= type_memfn_quals (type); rqual = type_memfn_rqual (type); type_quals = TYPE_UNQUALIFIED; + raises = TYPE_RAISES_EXCEPTIONS (type); } } *************** check_default_argument (tree decl, tree *** 13042,13048 **** /* Avoid redundant -Wzero-as-null-pointer-constant warnings at the call sites. */ if (TYPE_PTR_OR_PTRMEM_P (decl_type) ! && null_ptr_cst_p (arg)) return nullptr_node; /* [dcl.fct.default] --- 13060,13068 ---- /* Avoid redundant -Wzero-as-null-pointer-constant warnings at the call sites. */ if (TYPE_PTR_OR_PTRMEM_P (decl_type) ! && null_ptr_cst_p (arg) ! /* Don't lose side-effects as in PR90473. */ ! && !TREE_SIDE_EFFECTS (arg)) return nullptr_node; /* [dcl.fct.default] *************** start_preparsed_function (tree decl1, tr *** 15612,15618 **** && !implicit_default_ctor_p (decl1)) cp_ubsan_maybe_initialize_vtbl_ptrs (current_class_ptr); ! start_lambda_scope (decl1); return true; } --- 15632,15639 ---- && !implicit_default_ctor_p (decl1)) cp_ubsan_maybe_initialize_vtbl_ptrs (current_class_ptr); ! if (!DECL_OMP_DECLARE_REDUCTION_P (decl1)) ! start_lambda_scope (decl1); return true; } *************** finish_function (bool inline_p) *** 16020,16026 **** if (fndecl == NULL_TREE) return error_mark_node; ! finish_lambda_scope (); if (c_dialect_objc ()) objc_finish_function (); --- 16041,16048 ---- if (fndecl == NULL_TREE) return error_mark_node; ! if (!DECL_OMP_DECLARE_REDUCTION_P (fndecl)) ! finish_lambda_scope (); if (c_dialect_objc ()) objc_finish_function (); *************** finish_function (bool inline_p) *** 16137,16143 **** invoke_plugin_callbacks (PLUGIN_PRE_GENERICIZE, fndecl); /* Perform delayed folding before NRV transformation. */ ! if (!processing_template_decl) cp_fold_function (fndecl); /* Set up the named return value optimization, if we can. Candidate --- 16159,16165 ---- invoke_plugin_callbacks (PLUGIN_PRE_GENERICIZE, fndecl); /* Perform delayed folding before NRV transformation. */ ! if (!processing_template_decl && !DECL_OMP_DECLARE_REDUCTION_P (fndecl)) cp_fold_function (fndecl); /* Set up the named return value optimization, if we can. Candidate *************** finish_function (bool inline_p) *** 16260,16266 **** if (!processing_template_decl) { struct language_function *f = DECL_SAVED_FUNCTION_DATA (fndecl); ! cp_genericize (fndecl); /* Clear out the bits we don't need. */ f->x_current_class_ptr = NULL; f->x_current_class_ref = NULL; --- 16282,16289 ---- if (!processing_template_decl) { struct language_function *f = DECL_SAVED_FUNCTION_DATA (fndecl); ! if (!DECL_OMP_DECLARE_REDUCTION_P (fndecl)) ! cp_genericize (fndecl); /* Clear out the bits we don't need. */ f->x_current_class_ptr = NULL; f->x_current_class_ref = NULL; diff -Nrcpad gcc-9.2.0/gcc/cp/decl2.c gcc-9.3.0/gcc/cp/decl2.c *** gcc-9.2.0/gcc/cp/decl2.c Fri Mar 22 14:42:57 2019 --- gcc-9.3.0/gcc/cp/decl2.c Thu Mar 12 11:07:21 2020 *************** mark_used (tree decl, tsubst_flags_t com *** 5501,5508 **** vec_safe_push (no_linkage_decls, decl); } ! if (TREE_CODE (decl) == FUNCTION_DECL && DECL_DECLARED_INLINE_P (decl) ! && !DECL_INITIAL (decl) && !DECL_ARTIFICIAL (decl)) /* Remember it, so we can check it was defined. */ note_vague_linkage_fn (decl); --- 5501,5511 ---- vec_safe_push (no_linkage_decls, decl); } ! if (TREE_CODE (decl) == FUNCTION_DECL ! && DECL_DECLARED_INLINE_P (decl) ! && !DECL_INITIAL (decl) ! && !DECL_ARTIFICIAL (decl) ! && !DECL_PURE_VIRTUAL_P (decl)) /* Remember it, so we can check it was defined. */ note_vague_linkage_fn (decl); diff -Nrcpad gcc-9.2.0/gcc/cp/init.c gcc-9.3.0/gcc/cp/init.c *** gcc-9.2.0/gcc/cp/init.c Tue Jun 11 13:08:47 2019 --- gcc-9.3.0/gcc/cp/init.c Thu Mar 12 11:07:21 2020 *************** perform_member_init (tree member, tree i *** 860,865 **** --- 860,870 ---- } if (init == error_mark_node) return; + if (DECL_SIZE (member) && integer_zerop (DECL_SIZE (member)) + && !TREE_SIDE_EFFECTS (init)) + /* Don't add trivial initialization of an empty base/field, as they + might not be ordered the way the back-end expects. */ + return; /* A FIELD_DECL doesn't really have a suitable lifetime, but make_temporary_var_for_ref_to_temp will treat it as automatic and set_up_extended_ref_temp wants to use the decl in a warning. */ *************** build_new_1 (vec **placemen *** 3443,3455 **** explicit_value_init_p = true; } ! if (processing_template_decl && explicit_value_init_p) { /* build_value_init doesn't work in templates, and we don't need the initializer anyway since we're going to throw it away and rebuild it at instantiation time, so just build up a single constructor call to get any appropriate diagnostics. */ ! init_expr = cp_build_fold_indirect_ref (data_addr); if (type_build_ctor_call (elt_type)) init_expr = build_special_member_call (init_expr, complete_ctor_identifier, --- 3448,3464 ---- explicit_value_init_p = true; } ! if (processing_template_decl) { + /* Avoid an ICE when converting to a base in build_simple_base_path. + We'll throw this all away anyway, and build_new will create + a NEW_EXPR. */ + tree t = fold_convert (build_pointer_type (elt_type), data_addr); /* build_value_init doesn't work in templates, and we don't need the initializer anyway since we're going to throw it away and rebuild it at instantiation time, so just build up a single constructor call to get any appropriate diagnostics. */ ! init_expr = cp_build_fold_indirect_ref (t); if (type_build_ctor_call (elt_type)) init_expr = build_special_member_call (init_expr, complete_ctor_identifier, *************** build_new_1 (vec **placemen *** 3512,3518 **** complete_ctor_identifier, init, elt_type, LOOKUP_NORMAL, ! complain); } else if (explicit_value_init_p) { --- 3521,3527 ---- complete_ctor_identifier, init, elt_type, LOOKUP_NORMAL, ! complain|tf_no_cleanup); } else if (explicit_value_init_p) { diff -Nrcpad gcc-9.2.0/gcc/cp/lambda.c gcc-9.3.0/gcc/cp/lambda.c *** gcc-9.2.0/gcc/cp/lambda.c Mon Mar 25 12:22:47 2019 --- gcc-9.3.0/gcc/cp/lambda.c Thu Mar 12 11:07:21 2020 *************** lambda_capture_field_type (tree expr, bo *** 220,235 **** tree type; bool is_this = is_this_parameter (tree_strip_nop_conversions (expr)); ! if (!is_this && type_dependent_expression_p (expr)) ! { ! type = cxx_make_type (DECLTYPE_TYPE); ! DECLTYPE_TYPE_EXPR (type) = expr; ! DECLTYPE_FOR_LAMBDA_CAPTURE (type) = true; ! DECLTYPE_FOR_INIT_CAPTURE (type) = explicit_init_p; ! DECLTYPE_FOR_REF_CAPTURE (type) = by_reference_p; ! SET_TYPE_STRUCTURAL_EQUALITY (type); ! } ! else if (!is_this && explicit_init_p) { tree auto_node = make_auto (); --- 220,226 ---- tree type; bool is_this = is_this_parameter (tree_strip_nop_conversions (expr)); ! if (!is_this && explicit_init_p) { tree auto_node = make_auto (); *************** lambda_capture_field_type (tree expr, bo *** 240,245 **** --- 231,244 ---- type = build_reference_type (type); type = do_auto_deduction (type, expr, auto_node); } + else if (!is_this && type_dependent_expression_p (expr)) + { + type = cxx_make_type (DECLTYPE_TYPE); + DECLTYPE_TYPE_EXPR (type) = expr; + DECLTYPE_FOR_LAMBDA_CAPTURE (type) = true; + DECLTYPE_FOR_REF_CAPTURE (type) = by_reference_p; + SET_TYPE_STRUCTURAL_EQUALITY (type); + } else { type = non_reference (unlowered_expr_type (expr)); *************** add_capture (tree lambda, tree id, tree *** 602,608 **** name = get_identifier (buf); if (variadic) ! type = make_pack_expansion (type); /* Make member variable. */ member = build_decl (input_location, FIELD_DECL, name, type); --- 601,616 ---- name = get_identifier (buf); if (variadic) ! { ! type = make_pack_expansion (type); ! if (explicit_init_p) ! /* With an explicit initializer 'type' is auto, which isn't really a ! parameter pack in this context. We will want as many fields as we ! have elements in the expansion of the initializer, so use its packs ! instead. */ ! PACK_EXPANSION_PARAMETER_PACKS (type) ! = uses_parameter_packs (initializer); ! } /* Make member variable. */ member = build_decl (input_location, FIELD_DECL, name, type); diff -Nrcpad gcc-9.2.0/gcc/cp/mangle.c gcc-9.3.0/gcc/cp/mangle.c *** gcc-9.2.0/gcc/cp/mangle.c Thu Apr 4 23:10:23 2019 --- gcc-9.3.0/gcc/cp/mangle.c Thu Mar 12 11:07:21 2020 *************** decl_mangling_context (tree decl) *** 874,880 **** else if (template_type_parameter_p (decl)) /* template type parms have no mangling context. */ return NULL_TREE; ! return CP_DECL_CONTEXT (decl); } /* ::= --- 874,889 ---- else if (template_type_parameter_p (decl)) /* template type parms have no mangling context. */ return NULL_TREE; ! ! tcontext = CP_DECL_CONTEXT (decl); ! ! /* Ignore the artificial declare reduction functions. */ ! if (tcontext ! && TREE_CODE (tcontext) == FUNCTION_DECL ! && DECL_OMP_DECLARE_REDUCTION_P (tcontext)) ! return decl_mangling_context (tcontext); ! ! return tcontext; } /* ::= diff -Nrcpad gcc-9.2.0/gcc/cp/name-lookup.c gcc-9.3.0/gcc/cp/name-lookup.c *** gcc-9.2.0/gcc/cp/name-lookup.c Mon Mar 11 13:59:04 2019 --- gcc-9.3.0/gcc/cp/name-lookup.c Thu Mar 12 11:07:21 2020 *************** name_lookup::adl_expr (tree expr) *** 909,915 **** if (TREE_TYPE (expr) != unknown_type_node) { ! adl_type (TREE_TYPE (expr)); return; } --- 909,915 ---- if (TREE_TYPE (expr) != unknown_type_node) { ! adl_type (unlowered_expr_type (expr)); return; } *************** is_nested_namespace (tree ancestor, tree *** 4117,4154 **** return ancestor == descendant; } ! /* Returns true if ROOT (a namespace, class, or function) encloses ! CHILD. CHILD may be either a class type or a namespace. */ bool is_ancestor (tree root, tree child) { ! gcc_assert ((TREE_CODE (root) == NAMESPACE_DECL ! || TREE_CODE (root) == FUNCTION_DECL ! || CLASS_TYPE_P (root))); ! gcc_assert ((TREE_CODE (child) == NAMESPACE_DECL ! || CLASS_TYPE_P (child))); ! /* The global namespace encloses everything. */ if (root == global_namespace) return true; ! /* Search until we reach namespace scope. */ while (TREE_CODE (child) != NAMESPACE_DECL) { /* If we've reached the ROOT, it encloses CHILD. */ if (root == child) return true; /* Go out one level. */ if (TYPE_P (child)) child = TYPE_NAME (child); child = CP_DECL_CONTEXT (child); } ! if (TREE_CODE (root) == NAMESPACE_DECL) ! return is_nested_namespace (root, child); ! return false; } /* Enter the class or namespace scope indicated by T suitable for name --- 4117,4162 ---- return ancestor == descendant; } ! /* Returns true if ROOT (a non-alias namespace, class, or function) ! encloses CHILD. CHILD may be either a class type or a namespace ! (maybe alias). */ bool is_ancestor (tree root, tree child) { ! gcc_checking_assert ((TREE_CODE (root) == NAMESPACE_DECL ! && !DECL_NAMESPACE_ALIAS (root)) ! || TREE_CODE (root) == FUNCTION_DECL ! || CLASS_TYPE_P (root)); ! gcc_checking_assert (TREE_CODE (child) == NAMESPACE_DECL ! || CLASS_TYPE_P (child)); ! /* The global namespace encloses everything. Early-out for the ! common case. */ if (root == global_namespace) return true; ! /* Search CHILD until we reach namespace scope. */ while (TREE_CODE (child) != NAMESPACE_DECL) { /* If we've reached the ROOT, it encloses CHILD. */ if (root == child) return true; + /* Go out one level. */ if (TYPE_P (child)) child = TYPE_NAME (child); child = CP_DECL_CONTEXT (child); } ! if (TREE_CODE (root) != NAMESPACE_DECL) ! /* Failed to meet the non-namespace we were looking for. */ ! return false; ! if (tree alias = DECL_NAMESPACE_ALIAS (child)) ! child = alias; ! ! return is_nested_namespace (root, child); } /* Enter the class or namespace scope indicated by T suitable for name *************** get_std_name_hint (const char *name) *** 5656,5662 **** {"bitset", "", cxx11}, /* . */ {"complex", "", cxx98}, ! {"complex_literals", "", cxx98}, /* . */ {"condition_variable", "", cxx11}, {"condition_variable_any", "", cxx11}, --- 5664,5670 ---- {"bitset", "", cxx11}, /* . */ {"complex", "", cxx98}, ! {"complex_literals", "", cxx14}, /* . */ {"condition_variable", "", cxx11}, {"condition_variable_any", "", cxx11}, *************** get_std_name_hint (const char *name) *** 5718,5724 **** {"multimap", "", cxx98}, /* . */ {"make_shared", "", cxx11}, ! {"make_unique", "", cxx11}, {"shared_ptr", "", cxx11}, {"unique_ptr", "", cxx11}, {"weak_ptr", "", cxx11}, --- 5726,5732 ---- {"multimap", "", cxx98}, /* . */ {"make_shared", "", cxx11}, ! {"make_unique", "", cxx14}, {"shared_ptr", "", cxx11}, {"unique_ptr", "", cxx11}, {"weak_ptr", "", cxx11}, *************** maybe_save_operator_binding (tree e) *** 7618,7623 **** --- 7626,7637 ---- if (!fns && (fns = op_unqualified_lookup (fnname))) { + tree fn = get_first_fn (fns); + if (DECL_CLASS_SCOPE_P (fn)) + /* We don't need to remember class-scope functions, normal unqualified + lookup will find them again. */ + return; + bindings = tree_cons (fnname, fns, bindings); if (attr) TREE_VALUE (attr) = bindings; diff -Nrcpad gcc-9.2.0/gcc/cp/parser.c gcc-9.3.0/gcc/cp/parser.c *** gcc-9.2.0/gcc/cp/parser.c Sat May 25 14:46:15 2019 --- gcc-9.3.0/gcc/cp/parser.c Thu Mar 12 11:07:21 2020 *************** static bool cp_parser_init_statement_p *** 2650,2655 **** --- 2650,2656 ---- (cp_parser *); static bool cp_parser_skip_to_closing_square_bracket (cp_parser *); + static size_t cp_parser_skip_balanced_tokens (cp_parser *, size_t); /* Concept-related syntactic transformations */ *************** cp_parser_lambda_expression (cp_parser* *** 10452,10457 **** --- 10453,10462 ---- parser->implicit_template_scope = 0; parser->auto_is_implicit_function_template_parm_p = false; + /* The body of a lambda in a discarded statement is not discarded. */ + bool discarded = in_discarded_stmt; + in_discarded_stmt = 0; + /* By virtue of defining a local class, a lambda expression has access to the private variables of enclosing classes. */ *************** cp_parser_lambda_expression (cp_parser* *** 10482,10487 **** --- 10487,10494 ---- type = finish_struct (type, /*attributes=*/NULL_TREE); + in_discarded_stmt = discarded; + parser->num_template_parameter_lists = saved_num_template_parameter_lists; parser->in_statement = in_statement; parser->in_switch_statement_p = in_switch_statement_p; *************** cp_parser_lambda_declarator_opt (cp_pars *** 10851,10856 **** --- 10858,10866 ---- ++parser->num_template_parameter_lists; } + /* Committee discussion supports allowing attributes here. */ + lambda_specs.attributes = cp_parser_attributes_opt (parser); + /* The parameter-declaration-clause is optional (unless template-parameter-list was given), but must begin with an opening parenthesis if present. */ *************** cp_parser_lambda_declarator_opt (cp_pars *** 10960,10966 **** fco = grokmethod (&return_type_specs, declarator, ! gnu_attrs); if (fco != error_mark_node) { DECL_INITIALIZED_IN_CLASS_P (fco) = 1; --- 10970,10976 ---- fco = grokmethod (&return_type_specs, declarator, ! chainon (gnu_attrs, lambda_specs.attributes)); if (fco != error_mark_node) { DECL_INITIALIZED_IN_CLASS_P (fco) = 1; *************** cp_parser_decl_specifier_seq (cp_parser* *** 13998,14003 **** --- 14008,14017 ---- case RID_CONCEPT: ds = ds_concept; cp_lexer_consume_token (parser->lexer); + + if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) + break; + /* In C++20 a concept definition is just 'concept name = expr;' Support that syntax by pretending we've seen 'bool'. */ if (cp_lexer_next_token_is (parser->lexer, CPP_NAME) *************** cp_parser_decl_specifier_seq (cp_parser* *** 14025,14030 **** --- 14039,14048 ---- ds = ds_typedef; /* Consume the token. */ cp_lexer_consume_token (parser->lexer); + + if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) + break; + /* A constructor declarator cannot appear in a typedef. */ constructor_possible_p = false; /* The "typedef" keyword can only occur in a declaration; we *************** cp_parser_decl_specifier_seq (cp_parser* *** 14120,14125 **** --- 14138,14146 ---- bool is_cv_qualifier; tree type_spec; + if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) + flags |= CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS; + type_spec = cp_parser_type_specifier (parser, flags, decl_specs, *************** cp_parser_template_name (cp_parser* pars *** 16720,16726 **** { if (TREE_DEPRECATED (decl) && deprecated_state != DEPRECATED_SUPPRESS) ! warn_deprecated_use (decl, NULL_TREE); } else { --- 16741,16757 ---- { if (TREE_DEPRECATED (decl) && deprecated_state != DEPRECATED_SUPPRESS) ! { ! tree d = DECL_TEMPLATE_RESULT (decl); ! tree attr; ! if (TREE_CODE (d) == TYPE_DECL) ! attr = lookup_attribute ("deprecated", ! TYPE_ATTRIBUTES (TREE_TYPE (d))); ! else ! attr = lookup_attribute ("deprecated", ! DECL_ATTRIBUTES (d)); ! warn_deprecated_use (decl, attr); ! } } else { *************** cp_parser_type_specifier_seq (cp_parser* *** 21970,21975 **** --- 22001,22018 ---- /* Check for attributes first. */ if (cp_next_tokens_can_be_attribute_p (parser)) { + /* GNU attributes at the end of a declaration apply to the + declaration as a whole, not to the trailing return type. So look + ahead to see if these attributes are at the end. */ + if (seen_type_specifier && is_trailing_return + && cp_next_tokens_can_be_gnu_attribute_p (parser)) + { + size_t n = cp_parser_skip_attributes_opt (parser, 1); + cp_token *tok = cp_lexer_peek_nth_token (parser->lexer, n); + if (tok->type == CPP_SEMICOLON || tok->type == CPP_COMMA + || tok->type == CPP_EQ || tok->type == CPP_OPEN_BRACE) + break; + } type_specifier_seq->attributes = attr_chainon (type_specifier_seq->attributes, cp_parser_attributes_opt (parser)); *************** cp_parser_std_attribute (cp_parser *pars *** 26178,26183 **** --- 26221,26237 ---- /* A GNU attribute that takes an identifier in parameter. */ attr_flag = id_attr; + const attribute_spec *as + = lookup_attribute_spec (TREE_PURPOSE (attribute)); + if (as == NULL) + { + /* For unknown attributes, just skip balanced tokens instead of + trying to parse the arguments. */ + for (size_t n = cp_parser_skip_balanced_tokens (parser, 1) - 1; n; --n) + cp_lexer_consume_token (parser->lexer); + return attribute; + } + vec = cp_parser_parenthesized_expression_list (parser, attr_flag, /*cast_p=*/false, /*allow_expansion_p=*/true, *************** cp_parser_constructor_declarator_p (cp_p *** 27596,27607 **** /* A parameter declaration begins with a decl-specifier, which is either the "attribute" keyword, a storage class specifier, or (usually) a type-specifier. */ ! && !cp_lexer_next_token_is_decl_specifier_keyword (parser->lexer)) { tree type; tree pushed_scope = NULL_TREE; unsigned saved_num_template_parameter_lists; /* Names appearing in the type-specifier should be looked up in the scope of the class. */ if (current_class_type) --- 27650,27678 ---- /* A parameter declaration begins with a decl-specifier, which is either the "attribute" keyword, a storage class specifier, or (usually) a type-specifier. */ ! && (!cp_lexer_next_token_is_decl_specifier_keyword (parser->lexer) ! /* GNU attributes can actually appear both at the start of ! a parameter and parenthesized declarator. ! S (__attribute__((unused)) int); ! is a constructor, but ! S (__attribute__((unused)) foo) (int); ! is a function declaration. */ ! || (cp_parser_allow_gnu_extensions_p (parser) ! && cp_next_tokens_can_be_gnu_attribute_p (parser))) ! /* A parameter declaration can also begin with [[attribute]]. */ ! && !cp_next_tokens_can_be_std_attribute_p (parser)) { tree type; tree pushed_scope = NULL_TREE; unsigned saved_num_template_parameter_lists; + if (cp_next_tokens_can_be_gnu_attribute_p (parser)) + { + unsigned int n = cp_parser_skip_gnu_attributes_opt (parser, 1); + while (--n) + cp_lexer_consume_token (parser->lexer); + } + /* Names appearing in the type-specifier should be looked up in the scope of the class. */ if (current_class_type) *************** cp_parser_template_declaration_after_par *** 27911,27917 **** { tree parm_list = TREE_VEC_ELT (parameter_list, 0); tree parm = INNERMOST_TEMPLATE_PARMS (parm_list); ! if (CLASS_TYPE_P (TREE_TYPE (parm))) /* OK, C++20 string literal operator template. We don't need to warn in lower dialects here because we will have already warned about the template parameter. */; --- 27982,27991 ---- { tree parm_list = TREE_VEC_ELT (parameter_list, 0); tree parm = INNERMOST_TEMPLATE_PARMS (parm_list); ! if (TREE_CODE (parm) != PARM_DECL) ! ok = false; ! else if (MAYBE_CLASS_TYPE_P (TREE_TYPE (parm)) ! && !TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm))) /* OK, C++20 string literal operator template. We don't need to warn in lower dialects here because we will have already warned about the template parameter. */; *************** cp_parser_template_declaration_after_par *** 27925,27931 **** tree type = INNERMOST_TEMPLATE_PARMS (parm_type); tree parm_list = TREE_VEC_ELT (parameter_list, 1); tree parm = INNERMOST_TEMPLATE_PARMS (parm_list); ! if (parm == error_mark_node || TREE_TYPE (parm) != TREE_TYPE (type) || !TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm))) ok = false; --- 27999,28005 ---- tree type = INNERMOST_TEMPLATE_PARMS (parm_type); tree parm_list = TREE_VEC_ELT (parameter_list, 1); tree parm = INNERMOST_TEMPLATE_PARMS (parm_list); ! if (TREE_CODE (parm) != PARM_DECL || TREE_TYPE (parm) != TREE_TYPE (type) || !TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm))) ok = false; *************** cp_parser_omp_var_list_no_open (cp_parse *** 32463,32468 **** --- 32537,32550 ---- decl = TREE_OPERAND (decl, 0); cp_lexer_consume_token (parser->lexer); } + else if (cp_parser_is_keyword (token, RID_FUNCTION_NAME) + || cp_parser_is_keyword (token, RID_PRETTY_FUNCTION_NAME) + || cp_parser_is_keyword (token, RID_C99_FUNCTION_NAME)) + { + cp_id_kind idk; + decl = cp_parser_primary_expression (parser, false, false, false, + &idk); + } else { name = cp_parser_id_expression (parser, /*template_p=*/false, *************** cp_parser_omp_clause_dist_schedule (cp_p *** 34891,34898 **** else if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_COMMA_CLOSE_PAREN)) goto resync_fail; ! check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, "dist_schedule", ! location); OMP_CLAUSE_CHAIN (c) = list; return c; --- 34973,34982 ---- else if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_COMMA_CLOSE_PAREN)) goto resync_fail; ! /* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, ! "dist_schedule", location); */ ! if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE)) ! warning_at (location, 0, "too many %qs clauses", "dist_schedule"); OMP_CLAUSE_CHAIN (c) = list; return c; *************** cp_parser_omp_declare_reduction_exprs (t *** 39438,39443 **** --- 39522,39529 ---- combiner = cp_parser_expression (parser); finish_expr_stmt (combiner); block = finish_omp_structured_block (block); + if (processing_template_decl) + block = build_stmt (input_location, EXPR_STMT, block); add_stmt (block); if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN)) *************** cp_parser_omp_declare_reduction_exprs (t *** 39542,39547 **** --- 39628,39635 ---- block = finish_omp_structured_block (block); cp_walk_tree (&block, cp_remove_omp_priv_cleanup_stmt, omp_priv, NULL); + if (processing_template_decl) + block = build_stmt (input_location, EXPR_STMT, block); add_stmt (block); if (ctor) *************** cp_parser_initial_pragma (cp_token *firs *** 40746,40752 **** cp_lexer_get_preprocessor_token (NULL, first_token); if (cp_parser_pragma_kind (first_token) != PRAGMA_GCC_PCH_PREPROCESS) ! return; cp_lexer_get_preprocessor_token (NULL, first_token); if (first_token->type == CPP_STRING) --- 40834,40843 ---- cp_lexer_get_preprocessor_token (NULL, first_token); if (cp_parser_pragma_kind (first_token) != PRAGMA_GCC_PCH_PREPROCESS) ! { ! c_common_no_more_pch (); ! return; ! } cp_lexer_get_preprocessor_token (NULL, first_token); if (first_token->type == CPP_STRING) diff -Nrcpad gcc-9.2.0/gcc/cp/pt.c gcc-9.3.0/gcc/cp/pt.c *** gcc-9.2.0/gcc/cp/pt.c Fri Aug 2 13:29:05 2019 --- gcc-9.3.0/gcc/cp/pt.c Thu Mar 12 11:07:21 2020 *************** find_parameter_packs_r (tree *tp, int *w *** 3875,3881 **** } /* Determines if the expression or type T uses any parameter packs. */ ! bool uses_parameter_packs (tree t) { tree parameter_packs = NULL_TREE; --- 3875,3881 ---- } /* Determines if the expression or type T uses any parameter packs. */ ! tree uses_parameter_packs (tree t) { tree parameter_packs = NULL_TREE; *************** uses_parameter_packs (tree t) *** 3885,3891 **** ppd.type_pack_expansion_p = false; cp_walk_tree (&t, &find_parameter_packs_r, &ppd, ppd.visited); delete ppd.visited; ! return parameter_packs != NULL_TREE; } /* Turn ARG, which may be an expression, type, or a TREE_LIST --- 3885,3891 ---- ppd.type_pack_expansion_p = false; cp_walk_tree (&t, &find_parameter_packs_r, &ppd, ppd.visited); delete ppd.visited; ! return parameter_packs; } /* Turn ARG, which may be an expression, type, or a TREE_LIST *************** check_valid_ptrmem_cst_expr (tree type, *** 6353,6358 **** --- 6353,6360 ---- static bool has_value_dependent_address (tree op) { + STRIP_ANY_LOCATION_WRAPPER (op); + /* We could use get_inner_reference here, but there's no need; this is only relevant for template non-type arguments, which can only be expressed as &id-expression. */ *************** uses_template_parms (tree t) *** 10119,10140 **** || uses_template_parms (TREE_CHAIN (t))); else if (TREE_CODE (t) == TYPE_DECL) dependent_p = dependent_type_p (TREE_TYPE (t)); ! else if (DECL_P (t) ! || EXPR_P (t) ! || TREE_CODE (t) == TEMPLATE_PARM_INDEX ! || TREE_CODE (t) == OVERLOAD ! || BASELINK_P (t) ! || identifier_p (t) ! || TREE_CODE (t) == TRAIT_EXPR ! || TREE_CODE (t) == CONSTRUCTOR ! || CONSTANT_CLASS_P (t)) dependent_p = (type_dependent_expression_p (t) || value_dependent_expression_p (t)); - else - { - gcc_assert (t == error_mark_node); - dependent_p = false; - } processing_template_decl = saved_processing_template_decl; --- 10121,10131 ---- || uses_template_parms (TREE_CHAIN (t))); else if (TREE_CODE (t) == TYPE_DECL) dependent_p = dependent_type_p (TREE_TYPE (t)); ! else if (t == error_mark_node) ! dependent_p = false; ! else dependent_p = (type_dependent_expression_p (t) || value_dependent_expression_p (t)); processing_template_decl = saved_processing_template_decl; *************** gen_elem_of_pack_expansion_instantiation *** 11757,11766 **** ARGUMENT_PACK_SELECT_INDEX (aps) = index; } - // Any local specialization bindings arising from this substitution - // cannot be reused for a different INDEX. - local_specialization_stack lss (lss_copy); - /* Substitute into the PATTERN with the (possibly altered) arguments. */ if (pattern == in_decl) --- 11748,11753 ---- *************** tsubst_decl (tree t, tree args, tsubst_f *** 13508,13514 **** /* Zero-length parameter packs are boring. Just substitute into the chain. */ ! if (len == 0) RETURN (tsubst (TREE_CHAIN (t), args, complain, TREE_CHAIN (t))); } --- 13495,13501 ---- /* Zero-length parameter packs are boring. Just substitute into the chain. */ ! if (len == 0 && !cp_unevaluated_operand) RETURN (tsubst (TREE_CHAIN (t), args, complain, TREE_CHAIN (t))); } *************** tsubst (tree t, tree args, tsubst_flags_ *** 14643,14648 **** --- 14630,14640 ---- about the template parameter in question. */ return t; + /* Like with 'auto', don't reduce the level of template parameters + to avoid mismatches when deducing their types. */ + if (complain & tf_partial) + return t; + /* If we get here, we must have been looking at a parm for a more deeply nested template. Make a new version of this template parameter, but with a lower level. */ *************** tsubst (tree t, tree args, tsubst_flags_ *** 14758,14763 **** --- 14750,14820 ---- if (t == void_list_node) return t; + if ((TREE_PURPOSE (t) && PACK_EXPANSION_P (TREE_PURPOSE (t))) + || (TREE_VALUE (t) && PACK_EXPANSION_P (TREE_VALUE (t)))) + { + /* We have pack expansions, so expand those and + create a new list out of it. */ + + /* Expand the argument expressions. */ + tree purposevec = NULL_TREE; + if (TREE_PURPOSE (t)) + purposevec = tsubst_pack_expansion (TREE_PURPOSE (t), args, + complain, in_decl); + if (purposevec == error_mark_node) + return error_mark_node; + + tree valuevec = NULL_TREE; + if (TREE_VALUE (t)) + valuevec = tsubst_pack_expansion (TREE_VALUE (t), args, + complain, in_decl); + if (valuevec == error_mark_node) + return error_mark_node; + + /* Build the rest of the list. */ + tree chain = TREE_CHAIN (t); + if (chain && chain != void_type_node) + chain = tsubst (chain, args, complain, in_decl); + if (chain == error_mark_node) + return error_mark_node; + + /* Determine the number of arguments. */ + int len = -1; + if (purposevec && TREE_CODE (purposevec) == TREE_VEC) + { + len = TREE_VEC_LENGTH (purposevec); + gcc_assert (!valuevec || len == TREE_VEC_LENGTH (valuevec)); + } + else if (TREE_CODE (valuevec) == TREE_VEC) + len = TREE_VEC_LENGTH (valuevec); + else + { + /* Since we only performed a partial substitution into + the argument pack, we only RETURN (a single list + node. */ + if (purposevec == TREE_PURPOSE (t) + && valuevec == TREE_VALUE (t) + && chain == TREE_CHAIN (t)) + return t; + + return tree_cons (purposevec, valuevec, chain); + } + + /* Convert the argument vectors into a TREE_LIST. */ + for (int i = len; i-- > 0; ) + { + purpose = (purposevec ? TREE_VEC_ELT (purposevec, i) + : NULL_TREE); + value = (valuevec ? TREE_VEC_ELT (valuevec, i) + : NULL_TREE); + + /* Build the list (backwards). */ + chain = hash_tree_cons (purpose, value, chain); + } + + return chain; + } + purpose = TREE_PURPOSE (t); if (purpose) { *************** tsubst (tree t, tree args, tsubst_flags_ *** 15130,15153 **** /*function_p*/false, /*integral_constant_expression*/false); - if (DECLTYPE_FOR_INIT_CAPTURE (t)) - { - if (type == NULL_TREE) - { - if (complain & tf_error) - error ("empty initializer in lambda init-capture"); - type = error_mark_node; - } - else if (TREE_CODE (type) == TREE_LIST) - type = build_x_compound_expr_from_list (type, ELK_INIT, complain); - } - --cp_unevaluated_operand; --c_inhibit_evaluation_warnings; if (DECLTYPE_FOR_LAMBDA_CAPTURE (t)) type = lambda_capture_field_type (type, ! DECLTYPE_FOR_INIT_CAPTURE (t), DECLTYPE_FOR_REF_CAPTURE (t)); else if (DECLTYPE_FOR_LAMBDA_PROXY (t)) type = lambda_proxy_type (type); --- 15187,15198 ---- /*function_p*/false, /*integral_constant_expression*/false); --cp_unevaluated_operand; --c_inhibit_evaluation_warnings; if (DECLTYPE_FOR_LAMBDA_CAPTURE (t)) type = lambda_capture_field_type (type, ! false /*explicit_init*/, DECLTYPE_FOR_REF_CAPTURE (t)); else if (DECLTYPE_FOR_LAMBDA_PROXY (t)) type = lambda_proxy_type (type); *************** tsubst_copy (tree t, tree args, tsubst_f *** 15789,15794 **** --- 15834,15847 ---- return op; } } + /* force_paren_expr can also create a VIEW_CONVERT_EXPR. */ + else if (code == VIEW_CONVERT_EXPR && REF_PARENTHESIZED_P (t)) + { + op = tsubst_copy (op, args, complain, in_decl); + op = build1 (code, TREE_TYPE (op), op); + REF_PARENTHESIZED_P (op) = true; + return op; + } /* We shouldn't see any other uses of these in templates. */ gcc_unreachable (); } *************** tsubst_copy (tree t, tree args, tsubst_f *** 16147,16153 **** case INTEGER_CST: case REAL_CST: - case STRING_CST: case COMPLEX_CST: { /* Instantiate any typedefs in the type. */ --- 16200,16205 ---- *************** tsubst_copy (tree t, tree args, tsubst_f *** 16157,16162 **** --- 16209,16226 ---- return r; } + case STRING_CST: + { + tree type = tsubst (TREE_TYPE (t), args, complain, in_decl); + r = t; + if (type != TREE_TYPE (t)) + { + r = copy_node (t); + TREE_TYPE (r) = type; + } + return r; + } + case PTRMEM_CST: /* These can sometimes show up in a partial instantiation, but never involve template parms. */ *************** tsubst_non_call_postfix_expression (tree *** 18014,18019 **** --- 18078,18110 ---- return t; } + /* Subroutine of tsubst_lambda_expr: add the FIELD/INIT capture pair to the + LAMBDA_EXPR_CAPTURE_LIST passed in LIST. Do deduction for a previously + dependent init-capture. */ + + static void + prepend_one_capture (tree field, tree init, tree &list, + tsubst_flags_t complain) + { + if (tree auto_node = type_uses_auto (TREE_TYPE (field))) + { + tree type = NULL_TREE; + if (!init) + { + if (complain & tf_error) + error ("empty initializer in lambda init-capture"); + init = error_mark_node; + } + else if (TREE_CODE (init) == TREE_LIST) + init = build_x_compound_expr_from_list (init, ELK_INIT, complain); + if (!type) + type = do_auto_deduction (TREE_TYPE (field), init, auto_node, complain); + TREE_TYPE (field) = type; + cp_apply_type_quals_to_decl (cp_type_quals (type), field); + } + list = tree_cons (field, init, list); + } + /* T is a LAMBDA_EXPR. Generate a new LAMBDA_EXPR for the current instantiation context. Instantiating a pack expansion containing a lambda might result in multiple lambdas all based on the same lambda in the *************** tsubst_lambda_expr (tree t, tree args, t *** 18025,18041 **** tree oldfn = lambda_function (t); in_decl = oldfn; - /* If we have already specialized this lambda expr, reuse it. See - PR c++/87322. */ - if (local_specializations) - if (tree r = retrieve_local_specialization (t)) - return r; - tree r = build_lambda_expr (); - if (local_specializations) - register_local_specialization (r, t); - LAMBDA_EXPR_LOCATION (r) = LAMBDA_EXPR_LOCATION (t); LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (r) --- 18116,18123 ---- *************** tsubst_lambda_expr (tree t, tree args, t *** 18061,18066 **** --- 18143,18178 ---- cap = TREE_CHAIN (cap)) { tree ofield = TREE_PURPOSE (cap); + tree init = TREE_VALUE (cap); + if (PACK_EXPANSION_P (init)) + init = tsubst_pack_expansion (init, args, complain, in_decl); + else + init = tsubst_copy_and_build (init, args, complain, in_decl, + /*fn*/false, /*constexpr*/false); + + if (init == error_mark_node) + return error_mark_node; + + if (init && TREE_CODE (init) == TREE_LIST) + init = build_x_compound_expr_from_list (init, ELK_INIT, complain); + + if (!processing_template_decl + && init && TREE_CODE (init) != TREE_VEC + && variably_modified_type_p (TREE_TYPE (init), NULL_TREE)) + { + /* For a VLA, simply tsubsting the field type won't work, we need to + go through add_capture again. XXX do we want to do this for all + captures? */ + tree name = (get_identifier + (IDENTIFIER_POINTER (DECL_NAME (ofield)) + 2)); + tree ftype = TREE_TYPE (ofield); + bool by_ref = (TYPE_REF_P (ftype) + || (TREE_CODE (ftype) == DECLTYPE_TYPE + && DECLTYPE_FOR_REF_CAPTURE (ftype))); + add_capture (r, name, init, by_ref, !DECL_NORMAL_CAPTURE_P (ofield)); + continue; + } + if (PACK_EXPANSION_P (ofield)) ofield = PACK_EXPANSION_PATTERN (ofield); tree field = tsubst_decl (ofield, args, complain); *************** tsubst_lambda_expr (tree t, tree args, t *** 18075,18102 **** if (field == error_mark_node) return error_mark_node; - tree init = TREE_VALUE (cap); - if (PACK_EXPANSION_P (init)) - init = tsubst_pack_expansion (init, args, complain, in_decl); - else - init = tsubst_copy_and_build (init, args, complain, in_decl, - /*fn*/false, /*constexpr*/false); - if (TREE_CODE (field) == TREE_VEC) { int len = TREE_VEC_LENGTH (field); gcc_assert (TREE_CODE (init) == TREE_VEC && TREE_VEC_LENGTH (init) == len); for (int i = 0; i < len; ++i) ! LAMBDA_EXPR_CAPTURE_LIST (r) ! = tree_cons (TREE_VEC_ELT (field, i), ! TREE_VEC_ELT (init, i), ! LAMBDA_EXPR_CAPTURE_LIST (r)); } else { ! LAMBDA_EXPR_CAPTURE_LIST (r) ! = tree_cons (field, init, LAMBDA_EXPR_CAPTURE_LIST (r)); if (id_equal (DECL_NAME (field), "__this")) LAMBDA_EXPR_THIS_CAPTURE (r) = field; --- 18187,18207 ---- if (field == error_mark_node) return error_mark_node; if (TREE_CODE (field) == TREE_VEC) { int len = TREE_VEC_LENGTH (field); gcc_assert (TREE_CODE (init) == TREE_VEC && TREE_VEC_LENGTH (init) == len); for (int i = 0; i < len; ++i) ! prepend_one_capture (TREE_VEC_ELT (field, i), ! TREE_VEC_ELT (init, i), ! LAMBDA_EXPR_CAPTURE_LIST (r), ! complain); } else { ! prepend_one_capture (field, init, LAMBDA_EXPR_CAPTURE_LIST (r), ! complain); if (id_equal (DECL_NAME (field), "__this")) LAMBDA_EXPR_THIS_CAPTURE (r) = field; *************** tsubst_copy_and_build (tree t, *** 19525,19537 **** { tree type1 = tsubst (TRAIT_EXPR_TYPE1 (t), args, complain, in_decl); ! ! tree type2 = TRAIT_EXPR_TYPE2 (t); ! if (type2 && TREE_CODE (type2) == TREE_LIST) ! type2 = RECUR (type2); ! else if (type2) ! type2 = tsubst (type2, args, complain, in_decl); ! RETURN (finish_trait_expr (TRAIT_EXPR_KIND (t), type1, type2)); } --- 19630,19637 ---- { tree type1 = tsubst (TRAIT_EXPR_TYPE1 (t), args, complain, in_decl); ! tree type2 = tsubst (TRAIT_EXPR_TYPE2 (t), args, ! complain, in_decl); RETURN (finish_trait_expr (TRAIT_EXPR_KIND (t), type1, type2)); } *************** static bool *** 20571,20577 **** deducible_expression (tree expr) { /* Strip implicit conversions. */ ! while (CONVERT_EXPR_P (expr)) expr = TREE_OPERAND (expr, 0); return (TREE_CODE (expr) == TEMPLATE_PARM_INDEX); } --- 20671,20677 ---- deducible_expression (tree expr) { /* Strip implicit conversions. */ ! while (CONVERT_EXPR_P (expr) || TREE_CODE (expr) == VIEW_CONVERT_EXPR) expr = TREE_OPERAND (expr, 0); return (TREE_CODE (expr) == TEMPLATE_PARM_INDEX); } *************** unify (tree tparms, tree targs, tree par *** 22041,22048 **** /* I don't think this will do the right thing with respect to types. But the only case I've seen it in so far has been array bounds, where signedness is the only information lost, and I think that will be ! okay. */ ! while (CONVERT_EXPR_P (parm)) parm = TREE_OPERAND (parm, 0); if (arg == error_mark_node) --- 22141,22149 ---- /* I don't think this will do the right thing with respect to types. But the only case I've seen it in so far has been array bounds, where signedness is the only information lost, and I think that will be ! okay. VIEW_CONVERT_EXPR can appear with class NTTP, thanks to ! finish_id_expression_1, and are also OK. */ ! while (CONVERT_EXPR_P (parm) || TREE_CODE (parm) == VIEW_CONVERT_EXPR) parm = TREE_OPERAND (parm, 0); if (arg == error_mark_node) *************** maybe_instantiate_noexcept (tree fn, tsu *** 24321,24332 **** } else if (push_tinst_level (fn)) { push_access_scope (fn); push_deferring_access_checks (dk_no_deferred); input_location = DECL_SOURCE_LOCATION (fn); - tree save_ccp = current_class_ptr; - tree save_ccr = current_class_ref; /* If needed, set current_class_ptr for the benefit of tsubst_copy/PARM_DECL. */ tree tdecl = DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (fn)); --- 24422,24432 ---- } else if (push_tinst_level (fn)) { + push_to_top_level (); push_access_scope (fn); push_deferring_access_checks (dk_no_deferred); input_location = DECL_SOURCE_LOCATION (fn); /* If needed, set current_class_ptr for the benefit of tsubst_copy/PARM_DECL. */ tree tdecl = DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (fn)); *************** maybe_instantiate_noexcept (tree fn, tsu *** 24352,24360 **** /*function_p=*/false, /*i_c_e_p=*/true); - current_class_ptr = save_ccp; - current_class_ref = save_ccr; - /* Build up the noexcept-specification. */ spec = build_noexcept_spec (noex, tf_warning_or_error); --- 24452,24457 ---- *************** maybe_instantiate_noexcept (tree fn, tsu *** 24364,24369 **** --- 24461,24467 ---- pop_deferring_access_checks (); pop_access_scope (fn); pop_tinst_level (); + pop_from_top_level (); } else spec = noexcept_false_spec; *************** invalid_nontype_parm_type_p (tree type, *** 25232,25239 **** { if (cxx_dialect < cxx2a) { ! error ("non-type template parameters of class type only available " ! "with %<-std=c++2a%> or %<-std=gnu++2a%>"); return true; } if (dependent_type_p (type)) --- 25330,25338 ---- { if (cxx_dialect < cxx2a) { ! if (complain & tf_error) ! error ("non-type template parameters of class type only available " ! "with %<-std=c++2a%> or %<-std=gnu++2a%>"); return true; } if (dependent_type_p (type)) *************** invalid_nontype_parm_type_p (tree type, *** 25242,25256 **** return true; if (!literal_type_p (type)) { ! error ("%qT is not a valid type for a template non-type parameter " ! "because it is not literal", type); ! explain_non_literal_class (type); return true; } if (cp_has_mutable_p (type)) { ! error ("%qT is not a valid type for a template non-type parameter " ! "because it has a mutable member", type); return true; } /* FIXME check op<=> and strong structural equality once spaceship is --- 25341,25360 ---- return true; if (!literal_type_p (type)) { ! if (complain & tf_error) ! { ! auto_diagnostic_group d; ! error ("%qT is not a valid type for a template non-type parameter " ! "because it is not literal", type); ! explain_non_literal_class (type); ! } return true; } if (cp_has_mutable_p (type)) { ! if (complain & tf_error) ! error ("%qT is not a valid type for a template non-type parameter " ! "because it has a mutable member", type); return true; } /* FIXME check op<=> and strong structural equality once spaceship is *************** build_non_dependent_expr (tree expr) *** 26715,26721 **** if (TREE_CODE (expr) == COND_EXPR) return build3 (COND_EXPR, TREE_TYPE (expr), ! TREE_OPERAND (expr, 0), (TREE_OPERAND (expr, 1) ? build_non_dependent_expr (TREE_OPERAND (expr, 1)) : build_non_dependent_expr (TREE_OPERAND (expr, 0))), --- 26819,26825 ---- if (TREE_CODE (expr) == COND_EXPR) return build3 (COND_EXPR, TREE_TYPE (expr), ! build_non_dependent_expr (TREE_OPERAND (expr, 0)), (TREE_OPERAND (expr, 1) ? build_non_dependent_expr (TREE_OPERAND (expr, 1)) : build_non_dependent_expr (TREE_OPERAND (expr, 0))), *************** do_auto_deduction (tree type, tree init, *** 27615,27620 **** --- 27719,27727 ---- } else { + if (error_operand_p (init)) + return error_mark_node; + tree parms = build_tree_list (NULL_TREE, type); tree tparms; diff -Nrcpad gcc-9.2.0/gcc/cp/semantics.c gcc-9.3.0/gcc/cp/semantics.c *** gcc-9.2.0/gcc/cp/semantics.c Fri Jun 28 22:11:03 2019 --- gcc-9.3.0/gcc/cp/semantics.c Thu Mar 12 11:07:21 2020 *************** finish_call_expr (tree fn, vecindex && TREE_CODE (ce->index) == RANGE_EXPR) + continue; + if (TREE_CODE (*valp) == CONSTRUCTOR && AGGREGATE_TYPE_P (type)) { *************** maybe_warn_zero_as_null_pointer_constant *** 5487,5492 **** --- 5492,5567 ---- return false; } + /* Given an initializer INIT for a TYPE, return true if INIT is zero + so that it can be replaced by value initialization. This function + distinguishes betwen empty strings as initializers for arrays and + for pointers (which make it return false). */ + + bool + type_initializer_zero_p (tree type, tree init) + { + if (type == error_mark_node || init == error_mark_node) + return false; + + STRIP_NOPS (init); + + if (POINTER_TYPE_P (type)) + return TREE_CODE (init) != STRING_CST && initializer_zerop (init); + + if (TREE_CODE (init) != CONSTRUCTOR) + { + /* A class can only be initialized by a non-class type if it has + a ctor that converts from that type. Such classes are excluded + since their semantics are unknown. */ + if (RECORD_OR_UNION_TYPE_P (type) + && !RECORD_OR_UNION_TYPE_P (TREE_TYPE (init))) + return false; + return initializer_zerop (init); + } + + if (TREE_CODE (type) == ARRAY_TYPE) + { + tree elt_type = TREE_TYPE (type); + elt_type = TYPE_MAIN_VARIANT (elt_type); + if (elt_type == char_type_node) + return initializer_zerop (init); + + tree elt_init; + unsigned HOST_WIDE_INT i; + FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (init), i, elt_init) + if (!type_initializer_zero_p (elt_type, elt_init)) + return false; + return true; + } + + if (TREE_CODE (type) != RECORD_TYPE) + return initializer_zerop (init); + + if (TYPE_NON_AGGREGATE_CLASS (type)) + return false; + + tree fld = TYPE_FIELDS (type); + + tree fld_init; + unsigned HOST_WIDE_INT i; + FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (init), i, fld_init) + { + fld = next_initializable_field (fld); + if (!fld) + return true; + + tree fldtype = TREE_TYPE (fld); + if (!type_initializer_zero_p (fldtype, fld_init)) + return false; + + fld = DECL_CHAIN (fld); + if (!fld) + break; + } + + return true; + } + #if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007) /* Complain that some language-specific thing hanging off a tree node has been accessed improperly. */ diff -Nrcpad gcc-9.2.0/gcc/cp/typeck.c gcc-9.3.0/gcc/cp/typeck.c *** gcc-9.2.0/gcc/cp/typeck.c Fri Aug 2 17:05:34 2019 --- gcc-9.3.0/gcc/cp/typeck.c Thu Mar 12 11:07:21 2020 *************** warn_for_null_address (location_t locati *** 4309,4315 **** || TREE_NO_WARNING (op)) return; ! tree cop = fold_non_dependent_expr (op, complain); if (TREE_CODE (cop) == ADDR_EXPR && decl_with_nonnull_addr_p (TREE_OPERAND (cop, 0)) --- 4309,4315 ---- || TREE_NO_WARNING (op)) return; ! tree cop = fold_for_warn (op); if (TREE_CODE (cop) == ADDR_EXPR && decl_with_nonnull_addr_p (TREE_OPERAND (cop, 0)) *************** cp_build_binary_op (const op_location_t *** 4632,4640 **** || code1 == COMPLEX_TYPE || code1 == VECTOR_TYPE)) { enum tree_code tcode0 = code0, tcode1 = code1; - tree cop1 = fold_non_dependent_expr (op1, complain); doing_div_or_mod = true; ! warn_for_div_by_zero (location, cop1); if (tcode0 == COMPLEX_TYPE || tcode0 == VECTOR_TYPE) tcode0 = TREE_CODE (TREE_TYPE (TREE_TYPE (op0))); --- 4632,4639 ---- || code1 == COMPLEX_TYPE || code1 == VECTOR_TYPE)) { enum tree_code tcode0 = code0, tcode1 = code1; doing_div_or_mod = true; ! warn_for_div_by_zero (location, fold_for_warn (op1)); if (tcode0 == COMPLEX_TYPE || tcode0 == VECTOR_TYPE) tcode0 = TREE_CODE (TREE_TYPE (TREE_TYPE (op0))); *************** cp_build_binary_op (const op_location_t *** 4673,4683 **** case TRUNC_MOD_EXPR: case FLOOR_MOD_EXPR: ! { ! tree cop1 = fold_non_dependent_expr (op1, complain); ! doing_div_or_mod = true; ! warn_for_div_by_zero (location, cop1); ! } if (code0 == VECTOR_TYPE && code1 == VECTOR_TYPE && TREE_CODE (TREE_TYPE (type0)) == INTEGER_TYPE --- 4672,4679 ---- case TRUNC_MOD_EXPR: case FLOOR_MOD_EXPR: ! doing_div_or_mod = true; ! warn_for_div_by_zero (location, fold_for_warn (op1)); if (code0 == VECTOR_TYPE && code1 == VECTOR_TYPE && TREE_CODE (TREE_TYPE (type0)) == INTEGER_TYPE *************** cp_build_binary_op (const op_location_t *** 4770,4776 **** } else if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { ! tree const_op1 = fold_non_dependent_expr (op1, complain); if (TREE_CODE (const_op1) != INTEGER_CST) const_op1 = op1; result_type = type0; --- 4766,4772 ---- } else if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { ! tree const_op1 = fold_for_warn (op1); if (TREE_CODE (const_op1) != INTEGER_CST) const_op1 = op1; result_type = type0; *************** cp_build_binary_op (const op_location_t *** 4816,4825 **** } else if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { ! tree const_op0 = fold_non_dependent_expr (op0, complain); if (TREE_CODE (const_op0) != INTEGER_CST) const_op0 = op0; ! tree const_op1 = fold_non_dependent_expr (op1, complain); if (TREE_CODE (const_op1) != INTEGER_CST) const_op1 = op1; result_type = type0; --- 4812,4821 ---- } else if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { ! tree const_op0 = fold_for_warn (op0); if (TREE_CODE (const_op0) != INTEGER_CST) const_op0 = op0; ! tree const_op1 = fold_for_warn (op1); if (TREE_CODE (const_op1) != INTEGER_CST) const_op1 = op1; result_type = type0; *************** cp_build_binary_op (const op_location_t *** 5516,5524 **** if (! converted) { warning_sentinel w (warn_sign_conversion, short_compare); ! if (TREE_TYPE (op0) != result_type) op0 = cp_convert_and_check (result_type, op0, complain); ! if (TREE_TYPE (op1) != result_type) op1 = cp_convert_and_check (result_type, op1, complain); if (op0 == error_mark_node || op1 == error_mark_node) --- 5512,5520 ---- if (! converted) { warning_sentinel w (warn_sign_conversion, short_compare); ! if (!same_type_p (TREE_TYPE (op0), result_type)) op0 = cp_convert_and_check (result_type, op0, complain); ! if (!same_type_p (TREE_TYPE (op1), result_type)) op1 = cp_convert_and_check (result_type, op1, complain); if (op0 == error_mark_node || op1 == error_mark_node) *************** maybe_warn_about_returning_address_of_lo *** 9296,9303 **** tree base = DECL_DECOMP_BASE (whats_returned); if (TYPE_REF_P (TREE_TYPE (base))) { ! tree init = DECL_INITIAL (base); ! return maybe_warn_about_returning_address_of_local (init); } } bool w = false; --- 9292,9301 ---- tree base = DECL_DECOMP_BASE (whats_returned); if (TYPE_REF_P (TREE_TYPE (base))) { ! if (tree init = DECL_INITIAL (base)) ! return maybe_warn_about_returning_address_of_local (init); ! else ! return false; } } bool w = false; diff -Nrcpad gcc-9.2.0/gcc/cp/typeck2.c gcc-9.3.0/gcc/cp/typeck2.c *** gcc-9.2.0/gcc/cp/typeck2.c Fri Jul 19 08:52:58 2019 --- gcc-9.3.0/gcc/cp/typeck2.c Thu Mar 12 11:07:21 2020 *************** digest_nsdmi_init (tree decl, tree init, *** 1291,1296 **** --- 1291,1298 ---- gcc_assert (TREE_CODE (decl) == FIELD_DECL); tree type = TREE_TYPE (decl); + if (DECL_BIT_FIELD_TYPE (decl)) + type = DECL_BIT_FIELD_TYPE (decl); int flags = LOOKUP_IMPLICIT; if (DIRECT_LIST_INIT_P (init)) { diff -Nrcpad gcc-9.2.0/gcc/d/ChangeLog gcc-9.3.0/gcc/d/ChangeLog *** gcc-9.2.0/gcc/d/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/d/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/doc/avr-mmcu.texi gcc-9.3.0/gcc/doc/avr-mmcu.texi *** gcc-9.2.0/gcc/doc/avr-mmcu.texi Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/doc/avr-mmcu.texi Thu Mar 12 11:07:21 2020 *************** *** 4,12 **** @c This file is generated automatically using @c gcc/config/avr/gen-avr-mmcu-texi.c from: ! @c gcc/config/avr/avr-arch.h ! @c gcc/config/avr/avr-devices.c ! @c gcc/config/avr/avr-mcus.def @c Please do not edit manually. --- 4,12 ---- @c This file is generated automatically using @c gcc/config/avr/gen-avr-mmcu-texi.c from: ! @c gcc/config/avr/avr-arch.h ! @c gcc/config/avr/avr-devices.c ! @c gcc/config/avr/avr-mcus.def @c Please do not edit manually. *************** *** 14,28 **** @item avr2 ``Classic'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny22}, @code{attiny26}, @code{at90c8534}, @code{at90s2313}, @code{at90s2323}, @code{at90s2333}, @code{at90s2343}, @code{at90s4414}, @code{at90s4433}, @code{at90s4434}, @code{at90s8515}, @code{at90s8535}. @item avr25 ``Classic'' devices with up to 8@tie{}KiB of program memory and with the @code{MOVW} instruction. ! @*@var{mcu}@tie{}= @code{ata5272}, @code{ata6616c}, @code{attiny13}, @code{attiny13a}, @code{attiny2313}, @code{attiny2313a}, @code{attiny24}, @code{attiny24a}, @code{attiny25}, @code{attiny261}, @code{attiny261a}, @code{attiny43u}, @code{attiny4313}, @code{attiny44}, @code{attiny44a}, @code{attiny441}, @code{attiny45}, @code{attiny461}, @code{attiny461a}, @code{attiny48}, @code{attiny828}, @code{attiny84}, @code{attiny84a}, @code{attiny841}, @code{attiny85}, @code{attiny861}, @code{attiny861a}, @code{attiny87}, @code{attiny88}, @code{at86rf401}. @item avr3 ! ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{at43usb355}, @code{at76c711}. @item avr31 ``Classic'' devices with 128@tie{}KiB of program memory. --- 14,28 ---- @item avr2 ``Classic'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny22}, @code{attiny26}, @code{at90s2313}, @code{at90s2323}, @code{at90s2333}, @code{at90s2343}, @code{at90s4414}, @code{at90s4433}, @code{at90s4434}, @code{at90c8534}, @code{at90s8515}, @code{at90s8535}. @item avr25 ``Classic'' devices with up to 8@tie{}KiB of program memory and with the @code{MOVW} instruction. ! @*@var{mcu}@tie{}= @code{attiny13}, @code{attiny13a}, @code{attiny24}, @code{attiny24a}, @code{attiny25}, @code{attiny261}, @code{attiny261a}, @code{attiny2313}, @code{attiny2313a}, @code{attiny43u}, @code{attiny44}, @code{attiny44a}, @code{attiny45}, @code{attiny48}, @code{attiny441}, @code{attiny461}, @code{attiny461a}, @code{attiny4313}, @code{attiny84}, @code{attiny84a}, @code{attiny85}, @code{attiny87}, @code{attiny88}, @code{attiny828}, @code{attiny841}, @code{attiny861}, @code{attiny861a}, @code{ata5272}, @code{ata6616c}, @code{at86rf401}. @item avr3 ! ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{at76c711}, @code{at43usb355}. @item avr31 ``Classic'' devices with 128@tie{}KiB of program memory. *************** *** 30,44 **** @item avr35 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the @code{MOVW} instruction. ! @*@var{mcu}@tie{}= @code{ata5505}, @code{ata6617c}, @code{ata664251}, @code{atmega16u2}, @code{atmega32u2}, @code{atmega8u2}, @code{attiny1634}, @code{attiny167}, @code{at90usb162}, @code{at90usb82}. @item avr4 ``Enhanced'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega8515}, @code{atmega8535}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. @item avr5 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{ata5702m322}, @code{ata5782}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata5795}, @code{ata5831}, @code{ata6613c}, @code{ata6614q}, @code{ata8210}, @code{ata8510}, @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{at90can32}, @code{at90can64}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. @item avr51 ``Enhanced'' devices with 128@tie{}KiB of program memory. --- 30,44 ---- @item avr35 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the @code{MOVW} instruction. ! @*@var{mcu}@tie{}= @code{attiny167}, @code{attiny1634}, @code{atmega8u2}, @code{atmega16u2}, @code{atmega32u2}, @code{ata5505}, @code{ata6617c}, @code{ata664251}, @code{at90usb82}, @code{at90usb162}. @item avr4 ``Enhanced'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{atmega8515}, @code{atmega8535}, @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. @item avr5 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{ata5795}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata6613c}, @code{ata6614q}, @code{ata5782}, @code{ata5831}, @code{ata8210}, @code{ata8510}, @code{ata5702m322}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90can32}, @code{at90can64}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. @item avr51 ``Enhanced'' devices with 128@tie{}KiB of program memory. *************** *** 50,60 **** @item avrxmega2 ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}, @code{atxmega8e5}. @item avrxmega3 ``XMEGA'' devices with up to 64@tie{}KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! @*@var{mcu}@tie{}= @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny212}, @code{attiny214}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny417}, @code{attiny814}, @code{attiny816}, @code{attiny817}. @item avrxmega4 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of program memory. --- 50,60 ---- @item avrxmega2 ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atxmega8e5}, @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}. @item avrxmega3 ``XMEGA'' devices with up to 64@tie{}KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! @*@var{mcu}@tie{}= @code{attiny202}, @code{attiny204}, @code{attiny212}, @code{attiny214}, @code{attiny402}, @code{attiny404}, @code{attiny406}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny417}, @code{attiny804}, @code{attiny806}, @code{attiny807}, @code{attiny814}, @code{attiny816}, @code{attiny817}, @code{attiny1604}, @code{attiny1606}, @code{attiny1607}, @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{atmega808}, @code{atmega809}, @code{atmega1608}, @code{atmega1609}, @code{atmega3208}, @code{atmega3209}, @code{atmega4808}, @code{atmega4809}. @item avrxmega4 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of program memory. *************** *** 74,80 **** @item avrtiny ``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny10}, @code{attiny20}, @code{attiny4}, @code{attiny40}, @code{attiny5}, @code{attiny9}. @item avr1 This ISA is implemented by the minimal AVR core and supported for assembler only. --- 74,80 ---- @item avrtiny ``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny4}, @code{attiny5}, @code{attiny9}, @code{attiny10}, @code{attiny20}, @code{attiny40}. @item avr1 This ISA is implemented by the minimal AVR core and supported for assembler only. diff -Nrcpad gcc-9.2.0/gcc/doc/contribute.texi gcc-9.3.0/gcc/doc/contribute.texi *** gcc-9.2.0/gcc/doc/contribute.texi Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/doc/contribute.texi Thu Mar 12 11:07:21 2020 *************** *** 6,13 **** @chapter Contributing to GCC Development If you would like to help pretest GCC releases to assure they work well, ! current development sources are available by SVN (see ! @uref{http://gcc.gnu.org/svn.html}). Source and binary snapshots are also available for FTP; see @uref{http://gcc.gnu.org/snapshots.html}. If you would like to work on improvements to GCC, please read the --- 6,13 ---- @chapter Contributing to GCC Development If you would like to help pretest GCC releases to assure they work well, ! current development sources are available via Git (see ! @uref{http://gcc.gnu.org/git.html}). Source and binary snapshots are also available for FTP; see @uref{http://gcc.gnu.org/snapshots.html}. If you would like to work on improvements to GCC, please read the diff -Nrcpad gcc-9.2.0/gcc/doc/cpp.1 gcc-9.3.0/gcc/doc/cpp.1 *** gcc-9.2.0/gcc/doc/cpp.1 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/cpp.1 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/extend.texi gcc-9.3.0/gcc/doc/extend.texi *** gcc-9.2.0/gcc/doc/extend.texi Tue Apr 23 10:03:41 2019 --- gcc-9.3.0/gcc/doc/extend.texi Thu Mar 12 11:07:21 2020 *************** attributes. *** 6713,6718 **** --- 6713,6745 ---- The following attributes are supported on most targets. @table @code + + @item alias ("@var{target}") + @cindex @code{alias} variable attribute + The @code{alias} variable attribute causes the declaration to be emitted + as an alias for another symbol known as an @dfn{alias target}. Except + for top-level qualifiers the alias target must have the same type as + the alias. For instance, the following + + @smallexample + int var_target; + extern int __attribute__ ((alias ("var_target"))) var_alias; + @end smallexample + + @noindent + defines @code{var_alias} to be an alias for the @code{var_target} variable. + + It is an error if the alias target is not defined in the same translation + unit as the alias. + + Note that in the absence of the attribute GCC assumes that distinct + declarations with external linkage denote distinct objects. Using both + the alias and the alias target to access the same object is undefined + in a translation unit without a declaration of the alias with the attribute. + + This attribute requires assembler and object file support, and may not be + available on all targets. + @cindex @code{aligned} variable attribute @item aligned @itemx aligned (@var{alignment}) *************** vector unsigned long long __builtin_cryp *** 20297,20309 **** vector unsigned char __builtin_crypto_vpmsumb (vector unsigned char, vector unsigned char); ! vector unsigned short __builtin_crypto_vpmsumb (vector unsigned short, vector unsigned short); ! vector unsigned int __builtin_crypto_vpmsumb (vector unsigned int, vector unsigned int); ! vector unsigned long long __builtin_crypto_vpmsumb (vector unsigned long long, vector unsigned long long); vector unsigned long long __builtin_crypto_vshasigmad (vector unsigned long long, --- 20324,20336 ---- vector unsigned char __builtin_crypto_vpmsumb (vector unsigned char, vector unsigned char); ! vector unsigned short __builtin_crypto_vpmsumh (vector unsigned short, vector unsigned short); ! vector unsigned int __builtin_crypto_vpmsumw (vector unsigned int, vector unsigned int); ! vector unsigned long long __builtin_crypto_vpmsumd (vector unsigned long long, vector unsigned long long); vector unsigned long long __builtin_crypto_vshasigmad (vector unsigned long long, diff -Nrcpad gcc-9.2.0/gcc/doc/fsf-funding.7 gcc-9.3.0/gcc/doc/fsf-funding.7 *** gcc-9.2.0/gcc/doc/fsf-funding.7 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/fsf-funding.7 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/g++.1 gcc-9.3.0/gcc/doc/g++.1 *** gcc-9.2.0/gcc/doc/g++.1 Mon Aug 12 07:51:12 2019 --- gcc-9.3.0/gcc/doc/g++.1 Thu Mar 12 11:19:15 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** in the following sections. *** 318,323 **** --- 318,324 ---- \&\fB\-Wbool\-compare \-Wbool\-operation \&\-Wno\-builtin\-declaration\-mismatch \&\-Wno\-builtin\-macro\-redefined \-Wc90\-c99\-compat \-Wc99\-c11\-compat + \&\-Wc11\-c2x\-compat \&\-Wc++\-compat \-Wc++11\-compat \-Wc++14\-compat \-Wc++17\-compat \&\-Wcast\-align \-Wcast\-align=strict \-Wcast\-function\-type \-Wcast\-qual \&\-Wchar\-subscripts \-Wcatch\-value \-Wcatch\-value=\fR\fIn\fR *************** in the following sections. *** 724,730 **** \&\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR --- 725,731 ---- \&\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR *************** For instance, warn about use of anonymou *** 6315,6320 **** --- 6316,6327 ---- \&\f(CW\*(C`_Alignas\*(C'\fR specifier, \f(CW\*(C`Alignof\*(C'\fR operator, \f(CW\*(C`_Generic\*(C'\fR keyword, and so on. This option is independent of the standards mode. Warnings are disabled in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR. + .IP "\fB\-Wc11\-c2x\-compat\fR (C and Objective-C only)" 4 + .IX Item "-Wc11-c2x-compat (C and Objective-C only)" + Warn about features not present in \s-1ISO C11,\s0 but present in \s-1ISO C2X.\s0 + For instance, warn about omitting the string in \f(CW\*(C`_Static_assert\*(C'\fR. + This option is independent of the standards mode. Warnings are + disabled in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR. .IP "\fB\-Wc++\-compat\fR (C and Objective-C only)" 4 .IX Item "-Wc++-compat (C and Objective-C only)" Warn about \s-1ISO C\s0 constructs that are outside of the common subset of *************** would be rendered unable to decode locat *** 7438,7445 **** .IP "\fB\-ginternal\-reset\-location\-views\fR" 4 .IX Item "-ginternal-reset-location-views" .PD 0 ! .IP "\fB\-gnointernal\-reset\-location\-views\fR" 4 ! .IX Item "-gnointernal-reset-location-views" .PD Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn --- 7445,7452 ---- .IP "\fB\-ginternal\-reset\-location\-views\fR" 4 .IX Item "-ginternal-reset-location-views" .PD 0 ! .IP "\fB\-gno\-internal\-reset\-location\-views\fR" 4 ! .IX Item "-gno-internal-reset-location-views" .PD Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn *************** provided for use in debugging the compil *** 17257,17264 **** Do not allow constant data to be placed in code sections. Additionally, when compiling for \s-1ELF\s0 object format give all text sections the \&\s-1ELF\s0 processor-specific section attribute \f(CW\*(C`SHF_ARM_PURECODE\*(C'\fR. This option ! is only available when generating non-pic code for M\-profile targets with the ! \&\s-1MOVT\s0 instruction. .IP "\fB\-mcmse\fR" 4 .IX Item "-mcmse" Generate secure code as per the \*(L"ARMv8\-M Security Extensions: Requirements on --- 17264,17270 ---- Do not allow constant data to be placed in code sections. Additionally, when compiling for \s-1ELF\s0 object format give all text sections the \&\s-1ELF\s0 processor-specific section attribute \f(CW\*(C`SHF_ARM_PURECODE\*(C'\fR. This option ! is only available when generating non-pic code for M\-profile targets. .IP "\fB\-mcmse\fR" 4 .IX Item "-mcmse" Generate secure code as per the \*(L"ARMv8\-M Security Extensions: Requirements on *************** The default for this option is@tie{}\fBa *** 17281,17297 **** .el .IP "\f(CWavr2\fR" 4 .IX Item "avr2" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR. .ie n .IP """avr25""" 4 .el .IP "\f(CWavr25\fR" 4 .IX Item "avr25" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5272\*(C'\fR, \f(CW\*(C`ata6616c\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR, \f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny441\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR, \f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny828\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR, \f(CW\*(C`attiny841\*(C'\fR, \f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR, \f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR. .ie n .IP """avr3""" 4 .el .IP "\f(CWavr3\fR" 4 .IX Item "avr3" ! \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at43usb355\*(C'\fR, \f(CW\*(C`at76c711\*(C'\fR. .ie n .IP """avr31""" 4 .el .IP "\f(CWavr31\fR" 4 .IX Item "avr31" --- 17287,17303 ---- .el .IP "\f(CWavr2\fR" 4 .IX Item "avr2" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR. .ie n .IP """avr25""" 4 .el .IP "\f(CWavr25\fR" 4 .IX Item "avr25" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR, \f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny441\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR, \f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR, \f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR, \f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`attiny828\*(C'\fR, \f(CW\*(C`attiny841\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`ata5272\*(C'\fR, \f(CW\*(C`ata6616c\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR. .ie n .IP """avr3""" 4 .el .IP "\f(CWavr3\fR" 4 .IX Item "avr3" ! \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at76c711\*(C'\fR, \f(CW\*(C`at43usb355\*(C'\fR. .ie n .IP """avr31""" 4 .el .IP "\f(CWavr31\fR" 4 .IX Item "avr31" *************** The default for this option is@tie{}\fBa *** 17301,17317 **** .el .IP "\f(CWavr35\fR" 4 .IX Item "avr35" \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5505\*(C'\fR, \f(CW\*(C`ata6617c\*(C'\fR, \f(CW\*(C`ata664251\*(C'\fR, \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`attiny1634\*(C'\fR, \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR. .ie n .IP """avr4""" 4 .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" --- 17307,17323 ---- .el .IP "\f(CWavr35\fR" 4 .IX Item "avr35" \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`attiny1634\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`ata5505\*(C'\fR, \f(CW\*(C`ata6617c\*(C'\fR, \f(CW\*(C`ata664251\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR. .ie n .IP """avr4""" 4 .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" *************** The default for this option is@tie{}\fBa *** 17326,17337 **** .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`atxmega8e5\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64@tie{}KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" --- 17332,17343 ---- .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64@tie{}KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" *************** The default for this option is@tie{}\fBa *** 17356,17362 **** .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" --- 17362,17368 ---- .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" *************** Allow to use truncation instead of round *** 17491,17496 **** --- 17497,17508 ---- .IP "\fB\-nodevicelib\fR" 4 .IX Item "-nodevicelib" Don't link against AVR-LibC's device specific library \f(CW\*(C`lib.a\*(C'\fR. + .IP "\fB\-nodevicespecs\fR" 4 + .IX Item "-nodevicespecs" + Don't add \fB\-specs=device\-specs/specs\-\fR to the compiler driver's + command line. The user takes responsibility for supplying the sub-processes + like compiler proper, assembler and linker with appropriate command line + options. .IP "\fB\-Waddr\-space\-convert\fR" 4 .IX Item "-Waddr-space-convert" Warn about conversions between address spaces in the case where the diff -Nrcpad gcc-9.2.0/gcc/doc/gcc.1 gcc-9.3.0/gcc/doc/gcc.1 *** gcc-9.2.0/gcc/doc/gcc.1 Mon Aug 12 07:51:12 2019 --- gcc-9.3.0/gcc/doc/gcc.1 Thu Mar 12 11:19:15 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** in the following sections. *** 318,323 **** --- 318,324 ---- \&\fB\-Wbool\-compare \-Wbool\-operation \&\-Wno\-builtin\-declaration\-mismatch \&\-Wno\-builtin\-macro\-redefined \-Wc90\-c99\-compat \-Wc99\-c11\-compat + \&\-Wc11\-c2x\-compat \&\-Wc++\-compat \-Wc++11\-compat \-Wc++14\-compat \-Wc++17\-compat \&\-Wcast\-align \-Wcast\-align=strict \-Wcast\-function\-type \-Wcast\-qual \&\-Wchar\-subscripts \-Wcatch\-value \-Wcatch\-value=\fR\fIn\fR *************** in the following sections. *** 724,730 **** \&\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR --- 725,731 ---- \&\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR *************** For instance, warn about use of anonymou *** 6315,6320 **** --- 6316,6327 ---- \&\f(CW\*(C`_Alignas\*(C'\fR specifier, \f(CW\*(C`Alignof\*(C'\fR operator, \f(CW\*(C`_Generic\*(C'\fR keyword, and so on. This option is independent of the standards mode. Warnings are disabled in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR. + .IP "\fB\-Wc11\-c2x\-compat\fR (C and Objective-C only)" 4 + .IX Item "-Wc11-c2x-compat (C and Objective-C only)" + Warn about features not present in \s-1ISO C11,\s0 but present in \s-1ISO C2X.\s0 + For instance, warn about omitting the string in \f(CW\*(C`_Static_assert\*(C'\fR. + This option is independent of the standards mode. Warnings are + disabled in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR. .IP "\fB\-Wc++\-compat\fR (C and Objective-C only)" 4 .IX Item "-Wc++-compat (C and Objective-C only)" Warn about \s-1ISO C\s0 constructs that are outside of the common subset of *************** would be rendered unable to decode locat *** 7438,7445 **** .IP "\fB\-ginternal\-reset\-location\-views\fR" 4 .IX Item "-ginternal-reset-location-views" .PD 0 ! .IP "\fB\-gnointernal\-reset\-location\-views\fR" 4 ! .IX Item "-gnointernal-reset-location-views" .PD Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn --- 7445,7452 ---- .IP "\fB\-ginternal\-reset\-location\-views\fR" 4 .IX Item "-ginternal-reset-location-views" .PD 0 ! .IP "\fB\-gno\-internal\-reset\-location\-views\fR" 4 ! .IX Item "-gno-internal-reset-location-views" .PD Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn *************** provided for use in debugging the compil *** 17257,17264 **** Do not allow constant data to be placed in code sections. Additionally, when compiling for \s-1ELF\s0 object format give all text sections the \&\s-1ELF\s0 processor-specific section attribute \f(CW\*(C`SHF_ARM_PURECODE\*(C'\fR. This option ! is only available when generating non-pic code for M\-profile targets with the ! \&\s-1MOVT\s0 instruction. .IP "\fB\-mcmse\fR" 4 .IX Item "-mcmse" Generate secure code as per the \*(L"ARMv8\-M Security Extensions: Requirements on --- 17264,17270 ---- Do not allow constant data to be placed in code sections. Additionally, when compiling for \s-1ELF\s0 object format give all text sections the \&\s-1ELF\s0 processor-specific section attribute \f(CW\*(C`SHF_ARM_PURECODE\*(C'\fR. This option ! is only available when generating non-pic code for M\-profile targets. .IP "\fB\-mcmse\fR" 4 .IX Item "-mcmse" Generate secure code as per the \*(L"ARMv8\-M Security Extensions: Requirements on *************** The default for this option is@tie{}\fBa *** 17281,17297 **** .el .IP "\f(CWavr2\fR" 4 .IX Item "avr2" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR. .ie n .IP """avr25""" 4 .el .IP "\f(CWavr25\fR" 4 .IX Item "avr25" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5272\*(C'\fR, \f(CW\*(C`ata6616c\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR, \f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny441\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR, \f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny828\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR, \f(CW\*(C`attiny841\*(C'\fR, \f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR, \f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR. .ie n .IP """avr3""" 4 .el .IP "\f(CWavr3\fR" 4 .IX Item "avr3" ! \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at43usb355\*(C'\fR, \f(CW\*(C`at76c711\*(C'\fR. .ie n .IP """avr31""" 4 .el .IP "\f(CWavr31\fR" 4 .IX Item "avr31" --- 17287,17303 ---- .el .IP "\f(CWavr2\fR" 4 .IX Item "avr2" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR. .ie n .IP """avr25""" 4 .el .IP "\f(CWavr25\fR" 4 .IX Item "avr25" \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR, \f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny441\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR, \f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR, \f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR, \f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`attiny828\*(C'\fR, \f(CW\*(C`attiny841\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`ata5272\*(C'\fR, \f(CW\*(C`ata6616c\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR. .ie n .IP """avr3""" 4 .el .IP "\f(CWavr3\fR" 4 .IX Item "avr3" ! \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at76c711\*(C'\fR, \f(CW\*(C`at43usb355\*(C'\fR. .ie n .IP """avr31""" 4 .el .IP "\f(CWavr31\fR" 4 .IX Item "avr31" *************** The default for this option is@tie{}\fBa *** 17301,17317 **** .el .IP "\f(CWavr35\fR" 4 .IX Item "avr35" \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5505\*(C'\fR, \f(CW\*(C`ata6617c\*(C'\fR, \f(CW\*(C`ata664251\*(C'\fR, \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`attiny1634\*(C'\fR, \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR. .ie n .IP """avr4""" 4 .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" --- 17307,17323 ---- .el .IP "\f(CWavr35\fR" 4 .IX Item "avr35" \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`attiny1634\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`ata5505\*(C'\fR, \f(CW\*(C`ata6617c\*(C'\fR, \f(CW\*(C`ata664251\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR. .ie n .IP """avr4""" 4 .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" *************** The default for this option is@tie{}\fBa *** 17326,17337 **** .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`atxmega8e5\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64@tie{}KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" --- 17332,17343 ---- .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64@tie{}KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" *************** The default for this option is@tie{}\fBa *** 17356,17362 **** .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" --- 17362,17368 ---- .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! \&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" *************** Allow to use truncation instead of round *** 17491,17496 **** --- 17497,17508 ---- .IP "\fB\-nodevicelib\fR" 4 .IX Item "-nodevicelib" Don't link against AVR-LibC's device specific library \f(CW\*(C`lib.a\*(C'\fR. + .IP "\fB\-nodevicespecs\fR" 4 + .IX Item "-nodevicespecs" + Don't add \fB\-specs=device\-specs/specs\-\fR to the compiler driver's + command line. The user takes responsibility for supplying the sub-processes + like compiler proper, assembler and linker with appropriate command line + options. .IP "\fB\-Waddr\-space\-convert\fR" 4 .IX Item "-Waddr-space-convert" Warn about conversions between address spaces in the case where the diff -Nrcpad gcc-9.2.0/gcc/doc/gcc.info gcc-9.3.0/gcc/doc/gcc.info *** gcc-9.2.0/gcc/doc/gcc.info Mon Aug 12 07:51:19 2019 --- gcc-9.3.0/gcc/doc/gcc.info Thu Mar 12 11:19:22 2020 *************** Introduction *** 58,64 **** This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 9.2.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. --- 58,64 ---- This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 9.3.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. *************** _Warning Options_ *** 621,626 **** --- 621,627 ---- -Wbool-compare -Wbool-operation -Wno-builtin-declaration-mismatch -Wno-builtin-macro-redefined -Wc90-c99-compat -Wc99-c11-compat + -Wc11-c2x-compat -Wc++-compat -Wc++11-compat -Wc++14-compat -Wc++17-compat -Wcast-align -Wcast-align=strict -Wcast-function-type -Wcast-qual -Wchar-subscripts -Wcatch-value -Wcatch-value=N *************** _Machine-Dependent Options_ *** 1038,1044 **** -mn_flash=SIZE -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -nodevicelib -Waddr-space-convert -Wmisspelled-isr _Blackfin Options_ --- 1039,1045 ---- -mn_flash=SIZE -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr _Blackfin Options_ *************** compiler warns that an unrecognized opti *** 6261,6266 **** --- 6262,6273 ---- so on. This option is independent of the standards mode. Warnings are disabled in the expression that follows '__extension__'. + '-Wc11-c2x-compat (C and Objective-C only)' + Warn about features not present in ISO C11, but present in ISO C2X. + For instance, warn about omitting the string in '_Static_assert'. + This option is independent of the standards mode. Warnings are + disabled in the expression that follows '__extension__'. + '-Wc++-compat (C and Objective-C only)' Warn about ISO C constructs that are outside of the common subset of ISO C and ISO C++, e.g. request for implicit conversion from *************** experience. *** 7338,7344 **** rendered unable to decode location lists using it. '-ginternal-reset-location-views' ! '-gnointernal-reset-location-views' Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn length estimates, which isn't always the case, and it --- 7345,7351 ---- rendered unable to decode location lists using it. '-ginternal-reset-location-views' ! '-gno-internal-reset-location-views' Attempt to determine location views that can be omitted from location view lists. This requires the compiler to have very accurate insn length estimates, which isn't always the case, and it *************** These '-m' options are defined for the A *** 16857,16863 **** Additionally, when compiling for ELF object format give all text sections the ELF processor-specific section attribute 'SHF_ARM_PURECODE'. This option is only available when generating ! non-pic code for M-profile targets with the MOVT instruction. '-mcmse' Generate secure code as per the "ARMv8-M Security Extensions: --- 16864,16870 ---- Additionally, when compiling for ELF object format give all text sections the ELF processor-specific section attribute 'SHF_ARM_PURECODE'. This option is only available when generating ! non-pic code for M-profile targets. '-mcmse' Generate secure code as per the "ARMv8-M Security Extensions: *************** These options are defined for AVR implem *** 16882,16906 **** 'avr2' "Classic" devices with up to 8 KiB of program memory. ! MCU = 'attiny22', 'attiny26', 'at90c8534', 'at90s2313', ! 'at90s2323', 'at90s2333', 'at90s2343', 'at90s4414', ! 'at90s4433', 'at90s4434', 'at90s8515', 'at90s8535'. 'avr25' "Classic" devices with up to 8 KiB of program memory and with the 'MOVW' instruction. ! MCU = 'ata5272', 'ata6616c', 'attiny13', 'attiny13a', ! 'attiny2313', 'attiny2313a', 'attiny24', 'attiny24a', ! 'attiny25', 'attiny261', 'attiny261a', 'attiny43u', ! 'attiny4313', 'attiny44', 'attiny44a', 'attiny441', ! 'attiny45', 'attiny461', 'attiny461a', 'attiny48', ! 'attiny828', 'attiny84', 'attiny84a', 'attiny841', 'attiny85', ! 'attiny861', 'attiny861a', 'attiny87', 'attiny88', ! 'at86rf401'. 'avr3' "Classic" devices with 16 KiB up to 64 KiB of program memory. ! MCU = 'at43usb355', 'at76c711'. 'avr31' "Classic" devices with 128 KiB of program memory. --- 16889,16912 ---- 'avr2' "Classic" devices with up to 8 KiB of program memory. ! MCU = 'attiny22', 'attiny26', 'at90s2313', 'at90s2323', ! 'at90s2333', 'at90s2343', 'at90s4414', 'at90s4433', ! 'at90s4434', 'at90c8534', 'at90s8515', 'at90s8535'. 'avr25' "Classic" devices with up to 8 KiB of program memory and with the 'MOVW' instruction. ! MCU = 'attiny13', 'attiny13a', 'attiny24', 'attiny24a', ! 'attiny25', 'attiny261', 'attiny261a', 'attiny2313', ! 'attiny2313a', 'attiny43u', 'attiny44', 'attiny44a', ! 'attiny45', 'attiny48', 'attiny441', 'attiny461', ! 'attiny461a', 'attiny4313', 'attiny84', 'attiny84a', ! 'attiny85', 'attiny87', 'attiny88', 'attiny828', 'attiny841', ! 'attiny861', 'attiny861a', 'ata5272', 'ata6616c', 'at86rf401'. 'avr3' "Classic" devices with 16 KiB up to 64 KiB of program memory. ! MCU = 'at76c711', 'at43usb355'. 'avr31' "Classic" devices with 128 KiB of program memory. *************** These options are defined for AVR implem *** 16909,16956 **** 'avr35' "Classic" devices with 16 KiB up to 64 KiB of program memory and with the 'MOVW' instruction. ! MCU = 'ata5505', 'ata6617c', 'ata664251', 'atmega16u2', ! 'atmega32u2', 'atmega8u2', 'attiny1634', 'attiny167', ! 'at90usb162', 'at90usb82'. 'avr4' "Enhanced" devices with up to 8 KiB of program memory. ! MCU = 'ata6285', 'ata6286', 'ata6289', 'ata6612c', 'atmega48', ! 'atmega48a', 'atmega48p', 'atmega48pa', 'atmega48pb', ! 'atmega8', 'atmega8a', 'atmega8hva', 'atmega8515', ! 'atmega8535', 'atmega88', 'atmega88a', 'atmega88p', ! 'atmega88pa', 'atmega88pb', 'at90pwm1', 'at90pwm2', ! 'at90pwm2b', 'at90pwm3', 'at90pwm3b', 'at90pwm81'. 'avr5' "Enhanced" devices with 16 KiB up to 64 KiB of program memory. ! MCU = 'ata5702m322', 'ata5782', 'ata5790', 'ata5790n', ! 'ata5791', 'ata5795', 'ata5831', 'ata6613c', 'ata6614q', ! 'ata8210', 'ata8510', 'atmega16', 'atmega16a', 'atmega16hva', ! 'atmega16hva2', 'atmega16hvb', 'atmega16hvbrevb', ! 'atmega16m1', 'atmega16u4', 'atmega161', 'atmega162', ! 'atmega163', 'atmega164a', 'atmega164p', 'atmega164pa', ! 'atmega165', 'atmega165a', 'atmega165p', 'atmega165pa', ! 'atmega168', 'atmega168a', 'atmega168p', 'atmega168pa', ! 'atmega168pb', 'atmega169', 'atmega169a', 'atmega169p', ! 'atmega169pa', 'atmega32', 'atmega32a', 'atmega32c1', ! 'atmega32hvb', 'atmega32hvbrevb', 'atmega32m1', 'atmega32u4', ! 'atmega32u6', 'atmega323', 'atmega324a', 'atmega324p', ! 'atmega324pa', 'atmega325', 'atmega325a', 'atmega325p', ! 'atmega325pa', 'atmega3250', 'atmega3250a', 'atmega3250p', ! 'atmega3250pa', 'atmega328', 'atmega328p', 'atmega328pb', ! 'atmega329', 'atmega329a', 'atmega329p', 'atmega329pa', ! 'atmega3290', 'atmega3290a', 'atmega3290p', 'atmega3290pa', ! 'atmega406', 'atmega64', 'atmega64a', 'atmega64c1', ! 'atmega64hve', 'atmega64hve2', 'atmega64m1', 'atmega64rfr2', ! 'atmega640', 'atmega644', 'atmega644a', 'atmega644p', ! 'atmega644pa', 'atmega644rfr2', 'atmega645', 'atmega645a', ! 'atmega645p', 'atmega6450', 'atmega6450a', 'atmega6450p', ! 'atmega649', 'atmega649a', 'atmega649p', 'atmega6490', ! 'atmega6490a', 'atmega6490p', 'at90can32', 'at90can64', ! 'at90pwm161', 'at90pwm216', 'at90pwm316', 'at90scr100', ! 'at90usb646', 'at90usb647', 'at94k', 'm3000'. 'avr51' "Enhanced" devices with 128 KiB of program memory. --- 16915,16962 ---- 'avr35' "Classic" devices with 16 KiB up to 64 KiB of program memory and with the 'MOVW' instruction. ! MCU = 'attiny167', 'attiny1634', 'atmega8u2', 'atmega16u2', ! 'atmega32u2', 'ata5505', 'ata6617c', 'ata664251', 'at90usb82', ! 'at90usb162'. 'avr4' "Enhanced" devices with up to 8 KiB of program memory. ! MCU = 'atmega48', 'atmega48a', 'atmega48p', 'atmega48pa', ! 'atmega48pb', 'atmega8', 'atmega8a', 'atmega8hva', 'atmega88', ! 'atmega88a', 'atmega88p', 'atmega88pa', 'atmega88pb', ! 'atmega8515', 'atmega8535', 'ata6285', 'ata6286', 'ata6289', ! 'ata6612c', 'at90pwm1', 'at90pwm2', 'at90pwm2b', 'at90pwm3', ! 'at90pwm3b', 'at90pwm81'. 'avr5' "Enhanced" devices with 16 KiB up to 64 KiB of program memory. ! MCU = 'atmega16', 'atmega16a', 'atmega16hva', 'atmega16hva2', ! 'atmega16hvb', 'atmega16hvbrevb', 'atmega16m1', 'atmega16u4', ! 'atmega161', 'atmega162', 'atmega163', 'atmega164a', ! 'atmega164p', 'atmega164pa', 'atmega165', 'atmega165a', ! 'atmega165p', 'atmega165pa', 'atmega168', 'atmega168a', ! 'atmega168p', 'atmega168pa', 'atmega168pb', 'atmega169', ! 'atmega169a', 'atmega169p', 'atmega169pa', 'atmega32', ! 'atmega32a', 'atmega32c1', 'atmega32hvb', 'atmega32hvbrevb', ! 'atmega32m1', 'atmega32u4', 'atmega32u6', 'atmega323', ! 'atmega324a', 'atmega324p', 'atmega324pa', 'atmega325', ! 'atmega325a', 'atmega325p', 'atmega325pa', 'atmega328', ! 'atmega328p', 'atmega328pb', 'atmega329', 'atmega329a', ! 'atmega329p', 'atmega329pa', 'atmega3250', 'atmega3250a', ! 'atmega3250p', 'atmega3250pa', 'atmega3290', 'atmega3290a', ! 'atmega3290p', 'atmega3290pa', 'atmega406', 'atmega64', ! 'atmega64a', 'atmega64c1', 'atmega64hve', 'atmega64hve2', ! 'atmega64m1', 'atmega64rfr2', 'atmega640', 'atmega644', ! 'atmega644a', 'atmega644p', 'atmega644pa', 'atmega644rfr2', ! 'atmega645', 'atmega645a', 'atmega645p', 'atmega649', ! 'atmega649a', 'atmega649p', 'atmega6450', 'atmega6450a', ! 'atmega6450p', 'atmega6490', 'atmega6490a', 'atmega6490p', ! 'ata5795', 'ata5790', 'ata5790n', 'ata5791', 'ata6613c', ! 'ata6614q', 'ata5782', 'ata5831', 'ata8210', 'ata8510', ! 'ata5702m322', 'at90pwm161', 'at90pwm216', 'at90pwm316', ! 'at90can32', 'at90can64', 'at90scr100', 'at90usb646', ! 'at90usb647', 'at94k', 'm3000'. 'avr51' "Enhanced" devices with 128 KiB of program memory. *************** These options are defined for AVR implem *** 16968,16986 **** 'avrxmega2' "XMEGA" devices with more than 8 KiB and up to 64 KiB of program memory. ! MCU = 'atxmega16a4', 'atxmega16a4u', 'atxmega16c4', ! 'atxmega16d4', 'atxmega16e5', 'atxmega32a4', 'atxmega32a4u', ! 'atxmega32c3', 'atxmega32c4', 'atxmega32d3', 'atxmega32d4', ! 'atxmega32e5', 'atxmega8e5'. 'avrxmega3' "XMEGA" devices with up to 64 KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! MCU = 'attiny1614', 'attiny1616', 'attiny1617', 'attiny212', ! 'attiny214', 'attiny3214', 'attiny3216', 'attiny3217', ! 'attiny412', 'attiny414', 'attiny416', 'attiny417', ! 'attiny814', 'attiny816', 'attiny817'. 'avrxmega4' "XMEGA" devices with more than 64 KiB and up to 128 KiB of --- 16974,16997 ---- 'avrxmega2' "XMEGA" devices with more than 8 KiB and up to 64 KiB of program memory. ! MCU = 'atxmega8e5', 'atxmega16a4', 'atxmega16a4u', ! 'atxmega16c4', 'atxmega16d4', 'atxmega16e5', 'atxmega32a4', ! 'atxmega32a4u', 'atxmega32c3', 'atxmega32c4', 'atxmega32d3', ! 'atxmega32d4', 'atxmega32e5'. 'avrxmega3' "XMEGA" devices with up to 64 KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! MCU = 'attiny202', 'attiny204', 'attiny212', 'attiny214', ! 'attiny402', 'attiny404', 'attiny406', 'attiny412', ! 'attiny414', 'attiny416', 'attiny417', 'attiny804', ! 'attiny806', 'attiny807', 'attiny814', 'attiny816', ! 'attiny817', 'attiny1604', 'attiny1606', 'attiny1607', ! 'attiny1614', 'attiny1616', 'attiny1617', 'attiny3214', ! 'attiny3216', 'attiny3217', 'atmega808', 'atmega809', ! 'atmega1608', 'atmega1609', 'atmega3208', 'atmega3209', ! 'atmega4808', 'atmega4809'. 'avrxmega4' "XMEGA" devices with more than 64 KiB and up to 128 KiB of *************** These options are defined for AVR implem *** 17012,17019 **** 'avrtiny' "TINY" Tiny core devices with 512 B up to 4 KiB of program memory. ! MCU = 'attiny10', 'attiny20', 'attiny4', 'attiny40', ! 'attiny5', 'attiny9'. 'avr1' This ISA is implemented by the minimal AVR core and supported --- 17023,17030 ---- 'avrtiny' "TINY" Tiny core devices with 512 B up to 4 KiB of program memory. ! MCU = 'attiny4', 'attiny5', 'attiny9', 'attiny10', 'attiny20', ! 'attiny40'. 'avr1' This ISA is implemented by the minimal AVR core and supported *************** These options are defined for AVR implem *** 17141,17146 **** --- 17152,17163 ---- '-nodevicelib' Don't link against AVR-LibC's device specific library 'lib.a'. + '-nodevicespecs' + Don't add '-specs=device-specs/specs-' to the compiler + driver's command line. The user takes responsibility for supplying + the sub-processes like compiler proper, assembler and linker with + appropriate command line options. + '-Waddr-space-convert' Warn about conversions between address spaces in the case where the resulting address space is not contained in the incoming address *************** File: gcc.info, Node: Common Variable A *** 33754,33759 **** --- 33771,33799 ---- The following attributes are supported on most targets. + 'alias ("TARGET")' + The 'alias' variable attribute causes the declaration to be emitted + as an alias for another symbol known as an "alias target". Except + for top-level qualifiers the alias target must have the same type + as the alias. For instance, the following + + int var_target; + extern int __attribute__ ((alias ("var_target"))) var_alias; + + defines 'var_alias' to be an alias for the 'var_target' variable. + + It is an error if the alias target is not defined in the same + translation unit as the alias. + + Note that in the absence of the attribute GCC assumes that distinct + declarations with external linkage denote distinct objects. Using + both the alias and the alias target to access the same object is + undefined in a translation unit without a declaration of the alias + with the attribute. + + This attribute requires assembler and object file support, and may + not be available on all targets. + 'aligned' 'aligned (ALIGNMENT)' The 'aligned' attribute specifies a minimum alignment for the *************** _RL78--'config/rl78/constraints.md'_ *** 39159,39165 **** _RISC-V--'config/riscv/constraints.md'_ 'f' ! A floating-point register (if availiable). 'I' An I-type 12-bit signed immediate. --- 39199,39205 ---- _RISC-V--'config/riscv/constraints.md'_ 'f' ! A floating-point register (if available). 'I' An I-type 12-bit signed immediate. *************** char' reverses the bytes in the whole wo *** 48692,48704 **** vector unsigned char __builtin_crypto_vpmsumb (vector unsigned char, vector unsigned char); ! vector unsigned short __builtin_crypto_vpmsumb (vector unsigned short, vector unsigned short); ! vector unsigned int __builtin_crypto_vpmsumb (vector unsigned int, vector unsigned int); ! vector unsigned long long __builtin_crypto_vpmsumb (vector unsigned long long, vector unsigned long long); vector unsigned long long __builtin_crypto_vshasigmad (vector unsigned long long, --- 48732,48744 ---- vector unsigned char __builtin_crypto_vpmsumb (vector unsigned char, vector unsigned char); ! vector unsigned short __builtin_crypto_vpmsumh (vector unsigned short, vector unsigned short); ! vector unsigned int __builtin_crypto_vpmsumw (vector unsigned int, vector unsigned int); ! vector unsigned long long __builtin_crypto_vpmsumd (vector unsigned long long, vector unsigned long long); vector unsigned long long __builtin_crypto_vshasigmad (vector unsigned long long, *************** File: gcc.info, Node: Contributing, Ne *** 56443,56450 **** ********************************** If you would like to help pretest GCC releases to assure they work well, ! current development sources are available by SVN (see ! ). Source and binary snapshots are also available for FTP; see . If you would like to work on improvements to GCC, please read the --- 56483,56490 ---- ********************************** If you would like to help pretest GCC releases to assure they work well, ! current development sources are available via Git (see ! ). Source and binary snapshots are also available for FTP; see . If you would like to work on improvements to GCC, please read the *************** look up both forms. *** 59166,59172 **** * fcombine-stack-adjustments: Optimize Options. (line 929) * fcommon: Code Gen Options. (line 231) * fcommon <1>: Common Variable Attributes. ! (line 153) * fcompare-debug: Developer Options. (line 782) * fcompare-debug-second: Developer Options. (line 808) * fcompare-elim: Optimize Options. (line 2031) --- 59206,59212 ---- * fcombine-stack-adjustments: Optimize Options. (line 929) * fcommon: Code Gen Options. (line 231) * fcommon <1>: Common Variable Attributes. ! (line 176) * fcompare-debug: Developer Options. (line 782) * fcompare-debug-second: Developer Options. (line 808) * fcompare-elim: Optimize Options. (line 2031) *************** look up both forms. *** 59504,59510 **** * fno-checking: Developer Options. (line 688) * fno-common: Code Gen Options. (line 231) * fno-common <1>: Common Variable Attributes. ! (line 153) * fno-compare-debug: Developer Options. (line 782) * fno-debug-types-section: Debugging Options. (line 191) * fno-default-inline: Inline. (line 68) --- 59544,59550 ---- * fno-checking: Developer Options. (line 688) * fno-common: Code Gen Options. (line 231) * fno-common <1>: Common Variable Attributes. ! (line 176) * fno-compare-debug: Developer Options. (line 782) * fno-debug-types-section: Debugging Options. (line 191) * fno-default-inline: Inline. (line 68) *************** look up both forms. *** 60175,60186 **** * mabort-on-noreturn: ARM Options. (line 654) * mabs=2008: MIPS Options. (line 300) * mabs=legacy: MIPS Options. (line 300) ! * mabsdata: AVR Options. (line 159) * mabsdiff: MeP Options. (line 7) * mac0: PDP-11 Options. (line 16) * macc-4: FRV Options. (line 139) * macc-8: FRV Options. (line 143) ! * maccumulate-args: AVR Options. (line 166) * maccumulate-outgoing-args: SH Options. (line 314) * maccumulate-outgoing-args <1>: x86 Options. (line 1047) * maddress-mode=long: x86 Options. (line 1434) --- 60215,60226 ---- * mabort-on-noreturn: ARM Options. (line 654) * mabs=2008: MIPS Options. (line 300) * mabs=legacy: MIPS Options. (line 300) ! * mabsdata: AVR Options. (line 163) * mabsdiff: MeP Options. (line 7) * mac0: PDP-11 Options. (line 16) * macc-4: FRV Options. (line 139) * macc-8: FRV Options. (line 143) ! * maccumulate-args: AVR Options. (line 170) * maccumulate-outgoing-args: SH Options. (line 314) * maccumulate-outgoing-args <1>: x86 Options. (line 1047) * maddress-mode=long: x86 Options. (line 1434) *************** look up both forms. *** 60327,60333 **** * mboard: OpenRISC Options. (line 9) * mbranch-cost: Adapteva Epiphany Options. (line 18) ! * mbranch-cost <1>: AVR Options. (line 181) * mbranch-cost <2>: MIPS Options. (line 785) * mbranch-cost <3>: RISC-V Options. (line 9) * mbranch-cost=: C-SKY Options. (line 143) --- 60367,60373 ---- * mboard: OpenRISC Options. (line 9) * mbranch-cost: Adapteva Epiphany Options. (line 18) ! * mbranch-cost <1>: AVR Options. (line 185) * mbranch-cost <2>: MIPS Options. (line 785) * mbranch-cost <3>: RISC-V Options. (line 9) * mbranch-cost=: C-SKY Options. (line 143) *************** look up both forms. *** 60361,60367 **** (line 538) * mcall-netbsd <1>: RS/6000 and PowerPC Options. (line 542) ! * mcall-prologues: AVR Options. (line 186) * mcall-sysv: RS/6000 and PowerPC Options. (line 512) * mcall-sysv-eabi: RS/6000 and PowerPC Options. --- 60401,60407 ---- (line 538) * mcall-netbsd <1>: RS/6000 and PowerPC Options. (line 542) ! * mcall-prologues: AVR Options. (line 190) * mcall-sysv: RS/6000 and PowerPC Options. (line 512) * mcall-sysv-eabi: RS/6000 and PowerPC Options. *************** look up both forms. *** 60647,60653 **** * mfpu <4>: Visium Options. (line 19) * mfpu=: C-SKY Options. (line 53) * mfpxx: MIPS Options. (line 264) ! * mfract-convert-truncate: AVR Options. (line 273) * mframe-header-opt: MIPS Options. (line 885) * mfriz: RS/6000 and PowerPC Options. (line 874) --- 60687,60693 ---- * mfpu <4>: Visium Options. (line 19) * mfpu=: C-SKY Options. (line 53) * mfpxx: MIPS Options. (line 264) ! * mfract-convert-truncate: AVR Options. (line 277) * mframe-header-opt: MIPS Options. (line 885) * mfriz: RS/6000 and PowerPC Options. (line 874) *************** look up both forms. *** 60676,60682 **** * mg13: RL78 Options. (line 62) * mg14: RL78 Options. (line 62) * mgas: HPPA Options. (line 75) ! * mgas-isr-prologues: AVR Options. (line 190) * mgcc-abi: V850 Options. (line 148) * mgeneral-regs-only: AArch64 Options. (line 24) * mgeneral-regs-only <1>: ARM Options. (line 57) --- 60716,60722 ---- * mg13: RL78 Options. (line 62) * mg14: RL78 Options. (line 62) * mgas: HPPA Options. (line 75) ! * mgas-isr-prologues: AVR Options. (line 194) * mgcc-abi: V850 Options. (line 148) * mgeneral-regs-only: AArch64 Options. (line 24) * mgeneral-regs-only <1>: ARM Options. (line 57) *************** look up both forms. *** 60779,60785 **** * mint32: CR16 Options. (line 22) * mint32 <1>: H8/300 Options. (line 38) * mint32 <2>: PDP-11 Options. (line 37) ! * mint8: AVR Options. (line 200) * minterlink-compressed: MIPS Options. (line 135) * minterlink-mips16: MIPS Options. (line 147) * mio-volatile: MeP Options. (line 74) --- 60819,60825 ---- * mint32: CR16 Options. (line 22) * mint32 <1>: H8/300 Options. (line 38) * mint32 <2>: PDP-11 Options. (line 37) ! * mint8: AVR Options. (line 204) * minterlink-compressed: MIPS Options. (line 135) * minterlink-mips16: MIPS Options. (line 147) * mio-volatile: MeP Options. (line 74) *************** look up both forms. *** 60903,60909 **** * mmac_d16: ARC Options. (line 631) * mmad: MIPS Options. (line 612) * mmadd4: MIPS Options. (line 900) ! * mmain-is-OS_task: AVR Options. (line 206) * mmainkernel: Nvidia PTX Options. (line 18) * mmalloc64: VMS Options. (line 17) * mmanual-endbr: x86 Options. (line 1017) --- 60943,60949 ---- * mmac_d16: ARC Options. (line 631) * mmad: MIPS Options. (line 612) * mmadd4: MIPS Options. (line 900) ! * mmain-is-OS_task: AVR Options. (line 210) * mmainkernel: Nvidia PTX Options. (line 18) * mmalloc64: VMS Options. (line 17) * mmanual-endbr: x86 Options. (line 1017) *************** look up both forms. *** 60969,60975 **** (line 613) * mmwaitx: x86 Options. (line 791) * mn: H8/300 Options. (line 20) ! * mn-flash: AVR Options. (line 211) * mnan=2008: MIPS Options. (line 320) * mnan=legacy: MIPS Options. (line 320) * mneon-for-64bits: ARM Options. (line 816) --- 61009,61015 ---- (line 613) * mmwaitx: x86 Options. (line 791) * mn: H8/300 Options. (line 20) ! * mn-flash: AVR Options. (line 215) * mnan=2008: MIPS Options. (line 320) * mnan=legacy: MIPS Options. (line 320) * mneon-for-64bits: ARM Options. (line 816) *************** look up both forms. *** 61129,61135 **** * mno-int32: PDP-11 Options. (line 33) * mno-interlink-compressed: MIPS Options. (line 135) * mno-interlink-mips16: MIPS Options. (line 147) ! * mno-interrupts: AVR Options. (line 214) * mno-isel: RS/6000 and PowerPC Options. (line 171) * mno-jsr: RX Options. (line 169) --- 61169,61175 ---- * mno-int32: PDP-11 Options. (line 33) * mno-interlink-compressed: MIPS Options. (line 135) * mno-interlink-mips16: MIPS Options. (line 147) ! * mno-interrupts: AVR Options. (line 218) * mno-isel: RS/6000 and PowerPC Options. (line 171) * mno-jsr: RX Options. (line 169) *************** look up both forms. *** 61464,61470 **** * mregnames: RS/6000 and PowerPC Options. (line 726) * mregparm: x86 Options. (line 626) ! * mrelax: AVR Options. (line 218) * mrelax <1>: H8/300 Options. (line 9) * mrelax <2>: MN10300 Options. (line 46) * mrelax <3>: MSP430 Options. (line 58) --- 61504,61510 ---- * mregnames: RS/6000 and PowerPC Options. (line 726) * mregparm: x86 Options. (line 626) ! * mrelax: AVR Options. (line 222) * mrelax <1>: H8/300 Options. (line 9) * mrelax <2>: MN10300 Options. (line 46) * mrelax <3>: MSP430 Options. (line 58) *************** look up both forms. *** 61486,61492 **** * mrgf-banked-regs: ARC Options. (line 304) * mrh850-abi: V850 Options. (line 127) * mrl78: RL78 Options. (line 62) ! * mrmw: AVR Options. (line 232) * mror: OpenRISC Options. (line 28) * mround-nearest: Adapteva Epiphany Options. (line 51) --- 61526,61532 ---- * mrgf-banked-regs: ARC Options. (line 304) * mrh850-abi: V850 Options. (line 127) * mrl78: RL78 Options. (line 62) ! * mrmw: AVR Options. (line 236) * mror: OpenRISC Options. (line 28) * mround-nearest: Adapteva Epiphany Options. (line 51) *************** look up both forms. *** 61572,61578 **** * mshared-library-id: Blackfin Options. (line 100) * mshftimm: OpenRISC Options. (line 40) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 236) * mshstk: x86 Options. (line 920) * mside-effects: CRIS Options. (line 46) * msign-extend-enabled: LM32 Options. (line 18) --- 61612,61618 ---- * mshared-library-id: Blackfin Options. (line 100) * mshftimm: OpenRISC Options. (line 40) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 240) * mshstk: x86 Options. (line 920) * mside-effects: CRIS Options. (line 46) * msign-extend-enabled: LM32 Options. (line 18) *************** look up both forms. *** 61642,61648 **** * msoft-mul: OpenRISC Options. (line 50) * msoft-quad-float: SPARC Options. (line 59) * msoft-stack: Nvidia PTX Options. (line 26) ! * msp8: AVR Options. (line 243) * mspace: V850 Options. (line 30) * mspace-regs: HPPA Options. (line 45) * mspecld-anomaly: Blackfin Options. (line 48) --- 61682,61688 ---- * msoft-mul: OpenRISC Options. (line 50) * msoft-quad-float: SPARC Options. (line 59) * msoft-stack: Nvidia PTX Options. (line 26) ! * msp8: AVR Options. (line 247) * mspace: V850 Options. (line 30) * mspace-regs: HPPA Options. (line 45) * mspecld-anomaly: Blackfin Options. (line 48) *************** look up both forms. *** 61705,61711 **** * mstrict-align <2>: RISC-V Options. (line 93) * mstrict-align <3>: RS/6000 and PowerPC Options. (line 408) ! * mstrict-X: AVR Options. (line 256) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 712) * mstringop-strategy=ALG: x86 Options. (line 1199) --- 61745,61751 ---- * mstrict-align <2>: RISC-V Options. (line 93) * mstrict-align <3>: RS/6000 and PowerPC Options. (line 408) ! * mstrict-X: AVR Options. (line 260) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 712) * mstringop-strategy=ALG: x86 Options. (line 1199) *************** look up both forms. *** 61735,61741 **** * mthreads: x86 Options. (line 1055) * mthumb: ARM Options. (line 726) * mthumb-interwork: ARM Options. (line 24) ! * mtiny-stack: AVR Options. (line 270) * mtiny=: MeP Options. (line 125) * mTLS: FRV Options. (line 90) * mtls: FRV Options. (line 94) --- 61775,61781 ---- * mthreads: x86 Options. (line 1055) * mthumb: ARM Options. (line 726) * mthumb-interwork: ARM Options. (line 24) ! * mtiny-stack: AVR Options. (line 274) * mtiny=: MeP Options. (line 125) * mTLS: FRV Options. (line 90) * mtls: FRV Options. (line 94) *************** look up both forms. *** 61904,61910 **** * noall_load: Darwin Options. (line 196) * nocpp: MIPS Options. (line 636) * nodefaultlibs: Link Options. (line 120) ! * nodevicelib: AVR Options. (line 277) * nofixprebinding: Darwin Options. (line 196) * nofpu: RX Options. (line 17) * nolibc: Link Options. (line 132) --- 61944,61951 ---- * noall_load: Darwin Options. (line 196) * nocpp: MIPS Options. (line 636) * nodefaultlibs: Link Options. (line 120) ! * nodevicelib: AVR Options. (line 281) ! * nodevicespecs: AVR Options. (line 284) * nofixprebinding: Darwin Options. (line 196) * nofpu: RX Options. (line 17) * nolibc: Link Options. (line 132) *************** look up both forms. *** 62055,62062 **** * version: Overall Options. (line 335) * w: Warning Options. (line 25) * W: Warning Options. (line 200) ! * W <1>: Warning Options. (line 2542) ! * W <2>: Warning Options. (line 2651) * W <3>: Incompatibilities. (line 64) * Wa: Assembler Options. (line 9) * Wabi: C++ Dialect Options. --- 62096,62103 ---- * version: Overall Options. (line 335) * w: Warning Options. (line 25) * W: Warning Options. (line 200) ! * W <1>: Warning Options. (line 2548) ! * W <2>: Warning Options. (line 2657) * W <3>: Incompatibilities. (line 64) * Wa: Assembler Options. (line 9) * Wabi: C++ Dialect Options. *************** look up both forms. *** 62066,62076 **** * Wabi-tag <1>: C++ Dialect Options. (line 596) * Wabsolute-value: Warning Options. (line 2042) ! * Waddr-space-convert: AVR Options. (line 280) ! * Waddress: Warning Options. (line 2415) ! * Waddress-of-packed-member: Warning Options. (line 2428) ! * Waggregate-return: Warning Options. (line 2456) ! * Waggressive-loop-optimizations: Warning Options. (line 2461) * Waligned-new: Warning Options. (line 1969) * Wall: Warning Options. (line 130) * Wall <1>: Standard Libraries. (line 6) --- 62107,62117 ---- * Wabi-tag <1>: C++ Dialect Options. (line 596) * Wabsolute-value: Warning Options. (line 2042) ! * Waddr-space-convert: AVR Options. (line 290) ! * Waddress: Warning Options. (line 2421) ! * Waddress-of-packed-member: Warning Options. (line 2434) ! * Waggregate-return: Warning Options. (line 2462) ! * Waggressive-loop-optimizations: Warning Options. (line 2467) * Waligned-new: Warning Options. (line 1969) * Wall: Warning Options. (line 130) * Wall <1>: Standard Libraries. (line 6) *************** look up both forms. *** 62081,62129 **** * Warray-bounds: Warning Options. (line 1588) * Wassign-intercept: Objective-C and Objective-C++ Dialect Options. (line 170) ! * Wattribute-warning: Warning Options. (line 2621) ! * Wattributes: Warning Options. (line 2466) * Wbad-function-cast: Warning Options. (line 2111) * Wbool-compare: Warning Options. (line 1637) * Wbool-operation: Warning Options. (line 1646) ! * Wbuiltin-declaration-mismatch: Warning Options. (line 2472) ! * Wbuiltin-macro-redefined: Warning Options. (line 2493) ! * Wc++-compat: Warning Options. (line 2131) ! * Wc++11-compat: Warning Options. (line 2136) ! * Wc++14-compat: Warning Options. (line 2142) ! * Wc++17-compat: Warning Options. (line 2146) * Wc90-c99-compat: Warning Options. (line 2116) * Wc99-c11-compat: Warning Options. (line 2123) ! * Wcast-align: Warning Options. (line 2166) ! * Wcast-align=strict: Warning Options. (line 2172) ! * Wcast-function-type: Warning Options. (line 2177) ! * Wcast-qual: Warning Options. (line 2150) ! * Wcatch-value: Warning Options. (line 2204) * Wchar-subscripts: Warning Options. (line 243) * Wclass-conversion: C++ Dialect Options. (line 958) * Wclass-memaccess: C++ Dialect Options. (line 726) ! * Wclobbered: Warning Options. (line 2212) * Wcomment: Warning Options. (line 2053) * Wcomments: Warning Options. (line 2053) ! * Wconditionally-supported: Warning Options. (line 2216) ! * Wconversion: Warning Options. (line 2219) ! * Wconversion-null: Warning Options. (line 2237) * Wcoverage-mismatch: Warning Options. (line 248) * Wctor-dtor-privacy: C++ Dialect Options. (line 601) ! * Wdangling-else: Warning Options. (line 2258) ! * Wdate-time: Warning Options. (line 2292) * Wdeclaration-after-statement: Warning Options. (line 1843) ! * Wdelete-incomplete: Warning Options. (line 2297) * Wdelete-non-virtual-dtor: C++ Dialect Options. (line 608) ! * Wdeprecated: Warning Options. (line 2628) * Wdeprecated-copy: C++ Dialect Options. (line 615) ! * Wdeprecated-declarations: Warning Options. (line 2632) ! * Wdisabled-optimization: Warning Options. (line 2861) * Wdiscarded-array-qualifiers: Warning Options. (line 1685) * Wdiscarded-qualifiers: Warning Options. (line 1679) * Wdiv-by-zero: Warning Options. (line 1703) --- 62122,62171 ---- * Warray-bounds: Warning Options. (line 1588) * Wassign-intercept: Objective-C and Objective-C++ Dialect Options. (line 170) ! * Wattribute-warning: Warning Options. (line 2627) ! * Wattributes: Warning Options. (line 2472) * Wbad-function-cast: Warning Options. (line 2111) * Wbool-compare: Warning Options. (line 1637) * Wbool-operation: Warning Options. (line 1646) ! * Wbuiltin-declaration-mismatch: Warning Options. (line 2478) ! * Wbuiltin-macro-redefined: Warning Options. (line 2499) ! * Wc++-compat: Warning Options. (line 2137) ! * Wc++11-compat: Warning Options. (line 2142) ! * Wc++14-compat: Warning Options. (line 2148) ! * Wc++17-compat: Warning Options. (line 2152) ! * Wc11-c2x-compat: Warning Options. (line 2131) * Wc90-c99-compat: Warning Options. (line 2116) * Wc99-c11-compat: Warning Options. (line 2123) ! * Wcast-align: Warning Options. (line 2172) ! * Wcast-align=strict: Warning Options. (line 2178) ! * Wcast-function-type: Warning Options. (line 2183) ! * Wcast-qual: Warning Options. (line 2156) ! * Wcatch-value: Warning Options. (line 2210) * Wchar-subscripts: Warning Options. (line 243) * Wclass-conversion: C++ Dialect Options. (line 958) * Wclass-memaccess: C++ Dialect Options. (line 726) ! * Wclobbered: Warning Options. (line 2218) * Wcomment: Warning Options. (line 2053) * Wcomments: Warning Options. (line 2053) ! * Wconditionally-supported: Warning Options. (line 2222) ! * Wconversion: Warning Options. (line 2225) ! * Wconversion-null: Warning Options. (line 2243) * Wcoverage-mismatch: Warning Options. (line 248) * Wctor-dtor-privacy: C++ Dialect Options. (line 601) ! * Wdangling-else: Warning Options. (line 2264) ! * Wdate-time: Warning Options. (line 2298) * Wdeclaration-after-statement: Warning Options. (line 1843) ! * Wdelete-incomplete: Warning Options. (line 2303) * Wdelete-non-virtual-dtor: C++ Dialect Options. (line 608) ! * Wdeprecated: Warning Options. (line 2634) * Wdeprecated-copy: C++ Dialect Options. (line 615) ! * Wdeprecated-declarations: Warning Options. (line 2638) ! * Wdisabled-optimization: Warning Options. (line 2867) * Wdiscarded-array-qualifiers: Warning Options. (line 1685) * Wdiscarded-qualifiers: Warning Options. (line 1679) * Wdiv-by-zero: Warning Options. (line 1703) *************** look up both forms. *** 62134,62151 **** * weak_reference_mismatches: Darwin Options. (line 196) * Weffc++: C++ Dialect Options. (line 847) ! * Wempty-body: Warning Options. (line 2304) * Wendif-labels: Warning Options. (line 2097) ! * Wenum-compare: Warning Options. (line 2308) * Werror: Warning Options. (line 28) * Werror=: Warning Options. (line 31) * Wexpansion-to-defined: Warning Options. (line 2072) * Wextra: Warning Options. (line 200) ! * Wextra <1>: Warning Options. (line 2542) ! * Wextra <2>: Warning Options. (line 2651) ! * Wextra-semi: Warning Options. (line 2314) * Wfatal-errors: Warning Options. (line 48) ! * Wfloat-conversion: Warning Options. (line 2340) * Wfloat-equal: Warning Options. (line 1743) * Wformat: Warning Options. (line 290) * Wformat <1>: Warning Options. (line 315) --- 62176,62193 ---- * weak_reference_mismatches: Darwin Options. (line 196) * Weffc++: C++ Dialect Options. (line 847) ! * Wempty-body: Warning Options. (line 2310) * Wendif-labels: Warning Options. (line 2097) ! * Wenum-compare: Warning Options. (line 2314) * Werror: Warning Options. (line 28) * Werror=: Warning Options. (line 31) * Wexpansion-to-defined: Warning Options. (line 2072) * Wextra: Warning Options. (line 200) ! * Wextra <1>: Warning Options. (line 2548) ! * Wextra <2>: Warning Options. (line 2657) ! * Wextra-semi: Warning Options. (line 2320) * Wfatal-errors: Warning Options. (line 48) ! * Wfloat-conversion: Warning Options. (line 2346) * Wfloat-equal: Warning Options. (line 1743) * Wformat: Warning Options. (line 290) * Wformat <1>: Warning Options. (line 315) *************** look up both forms. *** 62182,62227 **** * Wimplicit-function-declaration: Warning Options. (line 523) * Wimplicit-int: Warning Options. (line 519) * Wincompatible-pointer-types: Warning Options. (line 1691) ! * Winherited-variadic-ctor: Warning Options. (line 2744) * Winit-list-lifetime: C++ Dialect Options. (line 623) * Winit-self: Warning Options. (line 504) ! * Winline: Warning Options. (line 2749) * Winline <1>: Inline. (line 60) * Wint-conversion: Warning Options. (line 1697) ! * Wint-in-bool-context: Warning Options. (line 2774) ! * Wint-to-pointer-cast: Warning Options. (line 2782) * Winvalid-memory-model: Warning Options. (line 1122) ! * Winvalid-offsetof: Warning Options. (line 2762) ! * Winvalid-pch: Warning Options. (line 2791) ! * Wjump-misses-init: Warning Options. (line 2317) * Wl: Link Options. (line 336) * Wlarger-than-BYTE-SIZE: Warning Options. (line 1898) * Wlarger-than=: Warning Options. (line 1898) * Wliteral-suffix: C++ Dialect Options. (line 658) ! * Wlogical-not-parentheses: Warning Options. (line 2441) ! * Wlogical-op: Warning Options. (line 2433) ! * Wlong-long: Warning Options. (line 2795) * Wlto-type-mismatch: C++ Dialect Options. (line 684) * Wmain: Warning Options. (line 674) * Wmaybe-uninitialized: Warning Options. (line 1139) ! * Wmemset-elt-size: Warning Options. (line 2396) ! * Wmemset-transposed-args: Warning Options. (line 2404) * Wmisleading-indentation: Warning Options. (line 681) * Wmissing-attributes: Warning Options. (line 715) * Wmissing-braces: Warning Options. (line 759) ! * Wmissing-declarations: Warning Options. (line 2532) ! * Wmissing-field-initializers: Warning Options. (line 2542) * Wmissing-format-attribute: Warning Options. (line 1442) * Wmissing-include-dirs: Warning Options. (line 770) * Wmissing-noreturn: Warning Options. (line 1428) ! * Wmissing-parameter-type: Warning Options. (line 2514) * Wmissing-profile: Warning Options. (line 773) ! * Wmissing-prototypes: Warning Options. (line 2522) ! * Wmisspelled-isr: AVR Options. (line 285) ! * Wmultichar: Warning Options. (line 2572) * Wmultiple-inheritance: C++ Dialect Options. (line 933) * Wmultistatement-macros: Warning Options. (line 789) --- 62224,62269 ---- * Wimplicit-function-declaration: Warning Options. (line 523) * Wimplicit-int: Warning Options. (line 519) * Wincompatible-pointer-types: Warning Options. (line 1691) ! * Winherited-variadic-ctor: Warning Options. (line 2750) * Winit-list-lifetime: C++ Dialect Options. (line 623) * Winit-self: Warning Options. (line 504) ! * Winline: Warning Options. (line 2755) * Winline <1>: Inline. (line 60) * Wint-conversion: Warning Options. (line 1697) ! * Wint-in-bool-context: Warning Options. (line 2780) ! * Wint-to-pointer-cast: Warning Options. (line 2788) * Winvalid-memory-model: Warning Options. (line 1122) ! * Winvalid-offsetof: Warning Options. (line 2768) ! * Winvalid-pch: Warning Options. (line 2797) ! * Wjump-misses-init: Warning Options. (line 2323) * Wl: Link Options. (line 336) * Wlarger-than-BYTE-SIZE: Warning Options. (line 1898) * Wlarger-than=: Warning Options. (line 1898) * Wliteral-suffix: C++ Dialect Options. (line 658) ! * Wlogical-not-parentheses: Warning Options. (line 2447) ! * Wlogical-op: Warning Options. (line 2439) ! * Wlong-long: Warning Options. (line 2801) * Wlto-type-mismatch: C++ Dialect Options. (line 684) * Wmain: Warning Options. (line 674) * Wmaybe-uninitialized: Warning Options. (line 1139) ! * Wmemset-elt-size: Warning Options. (line 2402) ! * Wmemset-transposed-args: Warning Options. (line 2410) * Wmisleading-indentation: Warning Options. (line 681) * Wmissing-attributes: Warning Options. (line 715) * Wmissing-braces: Warning Options. (line 759) ! * Wmissing-declarations: Warning Options. (line 2538) ! * Wmissing-field-initializers: Warning Options. (line 2548) * Wmissing-format-attribute: Warning Options. (line 1442) * Wmissing-include-dirs: Warning Options. (line 770) * Wmissing-noreturn: Warning Options. (line 1428) ! * Wmissing-parameter-type: Warning Options. (line 2520) * Wmissing-profile: Warning Options. (line 773) ! * Wmissing-prototypes: Warning Options. (line 2528) ! * Wmisspelled-isr: AVR Options. (line 295) ! * Wmultichar: Warning Options. (line 2578) * Wmultiple-inheritance: C++ Dialect Options. (line 933) * Wmultistatement-macros: Warning Options. (line 789) *************** look up both forms. *** 62229,62243 **** (line 947) * Wnarrowing: C++ Dialect Options. (line 690) ! * Wnested-externs: Warning Options. (line 2741) * Wno-abi: C++ Dialect Options. (line 492) * Wno-absolute-value: Warning Options. (line 2042) ! * Wno-addr-space-convert: AVR Options. (line 280) ! * Wno-address: Warning Options. (line 2415) ! * Wno-address-of-packed-member: Warning Options. (line 2428) ! * Wno-aggregate-return: Warning Options. (line 2456) ! * Wno-aggressive-loop-optimizations: Warning Options. (line 2461) * Wno-aligned-new: Warning Options. (line 1969) * Wno-all: Warning Options. (line 130) * Wno-alloc-size-larger-than: Warning Options. (line 1504) --- 62271,62285 ---- (line 947) * Wnarrowing: C++ Dialect Options. (line 690) ! * Wnested-externs: Warning Options. (line 2747) * Wno-abi: C++ Dialect Options. (line 492) * Wno-absolute-value: Warning Options. (line 2042) ! * Wno-addr-space-convert: AVR Options. (line 290) ! * Wno-address: Warning Options. (line 2421) ! * Wno-address-of-packed-member: Warning Options. (line 2434) ! * Wno-aggregate-return: Warning Options. (line 2462) ! * Wno-aggressive-loop-optimizations: Warning Options. (line 2467) * Wno-aligned-new: Warning Options. (line 1969) * Wno-all: Warning Options. (line 130) * Wno-alloc-size-larger-than: Warning Options. (line 1504) *************** look up both forms. *** 62249,62294 **** * Wno-array-bounds: Warning Options. (line 1588) * Wno-assign-intercept: Objective-C and Objective-C++ Dialect Options. (line 170) ! * Wno-attribute-warning: Warning Options. (line 2621) ! * Wno-attributes: Warning Options. (line 2466) * Wno-bad-function-cast: Warning Options. (line 2111) * Wno-bool-compare: Warning Options. (line 1637) * Wno-bool-operation: Warning Options. (line 1646) ! * Wno-builtin-declaration-mismatch: Warning Options. (line 2472) ! * Wno-builtin-macro-redefined: Warning Options. (line 2493) ! * Wno-c++-compat: Warning Options. (line 2131) ! * Wno-c++11-compat: Warning Options. (line 2136) ! * Wno-c++14-compat: Warning Options. (line 2142) ! * Wno-c++17-compat: Warning Options. (line 2146) * Wno-c90-c99-compat: Warning Options. (line 2116) * Wno-c99-c11-compat: Warning Options. (line 2123) ! * Wno-cast-align: Warning Options. (line 2166) ! * Wno-cast-function-type: Warning Options. (line 2177) ! * Wno-cast-qual: Warning Options. (line 2150) ! * Wno-catch-value: Warning Options. (line 2204) * Wno-char-subscripts: Warning Options. (line 243) * Wno-class-conversion: C++ Dialect Options. (line 958) * Wno-class-memaccess: C++ Dialect Options. (line 726) ! * Wno-clobbered: Warning Options. (line 2212) ! * Wno-conditionally-supported: Warning Options. (line 2216) ! * Wno-conversion: Warning Options. (line 2219) ! * Wno-conversion-null: Warning Options. (line 2237) * Wno-coverage-mismatch: Warning Options. (line 248) * Wno-ctor-dtor-privacy: C++ Dialect Options. (line 601) ! * Wno-dangling-else: Warning Options. (line 2258) ! * Wno-date-time: Warning Options. (line 2292) * Wno-declaration-after-statement: Warning Options. (line 1843) ! * Wno-delete-incomplete: Warning Options. (line 2297) * Wno-delete-non-virtual-dtor: C++ Dialect Options. (line 608) ! * Wno-deprecated: Warning Options. (line 2628) * Wno-deprecated-copy: C++ Dialect Options. (line 615) ! * Wno-deprecated-declarations: Warning Options. (line 2632) ! * Wno-disabled-optimization: Warning Options. (line 2861) * Wno-discarded-array-qualifiers: Warning Options. (line 1685) * Wno-discarded-qualifiers: Warning Options. (line 1679) * Wno-div-by-zero: Warning Options. (line 1703) --- 62291,62337 ---- * Wno-array-bounds: Warning Options. (line 1588) * Wno-assign-intercept: Objective-C and Objective-C++ Dialect Options. (line 170) ! * Wno-attribute-warning: Warning Options. (line 2627) ! * Wno-attributes: Warning Options. (line 2472) * Wno-bad-function-cast: Warning Options. (line 2111) * Wno-bool-compare: Warning Options. (line 1637) * Wno-bool-operation: Warning Options. (line 1646) ! * Wno-builtin-declaration-mismatch: Warning Options. (line 2478) ! * Wno-builtin-macro-redefined: Warning Options. (line 2499) ! * Wno-c++-compat: Warning Options. (line 2137) ! * Wno-c++11-compat: Warning Options. (line 2142) ! * Wno-c++14-compat: Warning Options. (line 2148) ! * Wno-c++17-compat: Warning Options. (line 2152) ! * Wno-c11-c2x-compat: Warning Options. (line 2131) * Wno-c90-c99-compat: Warning Options. (line 2116) * Wno-c99-c11-compat: Warning Options. (line 2123) ! * Wno-cast-align: Warning Options. (line 2172) ! * Wno-cast-function-type: Warning Options. (line 2183) ! * Wno-cast-qual: Warning Options. (line 2156) ! * Wno-catch-value: Warning Options. (line 2210) * Wno-char-subscripts: Warning Options. (line 243) * Wno-class-conversion: C++ Dialect Options. (line 958) * Wno-class-memaccess: C++ Dialect Options. (line 726) ! * Wno-clobbered: Warning Options. (line 2218) ! * Wno-conditionally-supported: Warning Options. (line 2222) ! * Wno-conversion: Warning Options. (line 2225) ! * Wno-conversion-null: Warning Options. (line 2243) * Wno-coverage-mismatch: Warning Options. (line 248) * Wno-ctor-dtor-privacy: C++ Dialect Options. (line 601) ! * Wno-dangling-else: Warning Options. (line 2264) ! * Wno-date-time: Warning Options. (line 2298) * Wno-declaration-after-statement: Warning Options. (line 1843) ! * Wno-delete-incomplete: Warning Options. (line 2303) * Wno-delete-non-virtual-dtor: C++ Dialect Options. (line 608) ! * Wno-deprecated: Warning Options. (line 2634) * Wno-deprecated-copy: C++ Dialect Options. (line 615) ! * Wno-deprecated-declarations: Warning Options. (line 2638) ! * Wno-disabled-optimization: Warning Options. (line 2867) * Wno-discarded-array-qualifiers: Warning Options. (line 1685) * Wno-discarded-qualifiers: Warning Options. (line 1679) * Wno-div-by-zero: Warning Options. (line 1703) *************** look up both forms. *** 62298,62314 **** * Wno-duplicated-cond: Warning Options. (line 1667) * Wno-effc++: C++ Dialect Options. (line 847) ! * Wno-empty-body: Warning Options. (line 2304) * Wno-endif-labels: Warning Options. (line 2097) ! * Wno-enum-compare: Warning Options. (line 2308) * Wno-error: Warning Options. (line 28) * Wno-error=: Warning Options. (line 31) * Wno-extra: Warning Options. (line 200) ! * Wno-extra <1>: Warning Options. (line 2542) ! * Wno-extra <2>: Warning Options. (line 2651) ! * Wno-extra-semi: Warning Options. (line 2314) * Wno-fatal-errors: Warning Options. (line 48) ! * Wno-float-conversion: Warning Options. (line 2340) * Wno-float-equal: Warning Options. (line 1743) * Wno-format: Warning Options. (line 290) * Wno-format <1>: Warning Options. (line 1442) --- 62341,62357 ---- * Wno-duplicated-cond: Warning Options. (line 1667) * Wno-effc++: C++ Dialect Options. (line 847) ! * Wno-empty-body: Warning Options. (line 2310) * Wno-endif-labels: Warning Options. (line 2097) ! * Wno-enum-compare: Warning Options. (line 2314) * Wno-error: Warning Options. (line 28) * Wno-error=: Warning Options. (line 31) * Wno-extra: Warning Options. (line 200) ! * Wno-extra <1>: Warning Options. (line 2548) ! * Wno-extra <2>: Warning Options. (line 2657) ! * Wno-extra-semi: Warning Options. (line 2320) * Wno-fatal-errors: Warning Options. (line 48) ! * Wno-float-conversion: Warning Options. (line 2346) * Wno-float-equal: Warning Options. (line 1743) * Wno-format: Warning Options. (line 290) * Wno-format <1>: Warning Options. (line 1442) *************** look up both forms. *** 62335,62377 **** * Wno-implicit-function-declaration: Warning Options. (line 523) * Wno-implicit-int: Warning Options. (line 519) * Wno-incompatible-pointer-types: Warning Options. (line 1691) ! * Wno-inherited-variadic-ctor: Warning Options. (line 2744) * Wno-init-list-lifetime: C++ Dialect Options. (line 623) * Wno-init-self: Warning Options. (line 504) ! * Wno-inline: Warning Options. (line 2749) * Wno-int-conversion: Warning Options. (line 1697) ! * Wno-int-in-bool-context: Warning Options. (line 2774) ! * Wno-int-to-pointer-cast: Warning Options. (line 2782) * Wno-invalid-memory-model: Warning Options. (line 1122) ! * Wno-invalid-offsetof: Warning Options. (line 2762) ! * Wno-invalid-pch: Warning Options. (line 2791) ! * Wno-jump-misses-init: Warning Options. (line 2317) * Wno-larger-than: Warning Options. (line 1904) * Wno-literal-suffix: C++ Dialect Options. (line 658) ! * Wno-logical-not-parentheses: Warning Options. (line 2441) ! * Wno-logical-op: Warning Options. (line 2433) ! * Wno-long-long: Warning Options. (line 2795) * Wno-lto-type-mismatch: C++ Dialect Options. (line 684) * Wno-main: Warning Options. (line 674) * Wno-maybe-uninitialized: Warning Options. (line 1139) ! * Wno-memset-elt-size: Warning Options. (line 2396) ! * Wno-memset-transposed-args: Warning Options. (line 2404) * Wno-misleading-indentation: Warning Options. (line 681) * Wno-missing-attributes: Warning Options. (line 715) * Wno-missing-braces: Warning Options. (line 759) ! * Wno-missing-declarations: Warning Options. (line 2532) ! * Wno-missing-field-initializers: Warning Options. (line 2542) * Wno-missing-format-attribute: Warning Options. (line 1442) * Wno-missing-include-dirs: Warning Options. (line 770) * Wno-missing-noreturn: Warning Options. (line 1428) ! * Wno-missing-parameter-type: Warning Options. (line 2514) * Wno-missing-profile: Warning Options. (line 773) ! * Wno-missing-prototypes: Warning Options. (line 2522) ! * Wno-misspelled-isr: AVR Options. (line 285) ! * Wno-multichar: Warning Options. (line 2572) * Wno-multiple-inheritance: C++ Dialect Options. (line 933) * Wno-multistatement-macros: Warning Options. (line 789) --- 62378,62420 ---- * Wno-implicit-function-declaration: Warning Options. (line 523) * Wno-implicit-int: Warning Options. (line 519) * Wno-incompatible-pointer-types: Warning Options. (line 1691) ! * Wno-inherited-variadic-ctor: Warning Options. (line 2750) * Wno-init-list-lifetime: C++ Dialect Options. (line 623) * Wno-init-self: Warning Options. (line 504) ! * Wno-inline: Warning Options. (line 2755) * Wno-int-conversion: Warning Options. (line 1697) ! * Wno-int-in-bool-context: Warning Options. (line 2780) ! * Wno-int-to-pointer-cast: Warning Options. (line 2788) * Wno-invalid-memory-model: Warning Options. (line 1122) ! * Wno-invalid-offsetof: Warning Options. (line 2768) ! * Wno-invalid-pch: Warning Options. (line 2797) ! * Wno-jump-misses-init: Warning Options. (line 2323) * Wno-larger-than: Warning Options. (line 1904) * Wno-literal-suffix: C++ Dialect Options. (line 658) ! * Wno-logical-not-parentheses: Warning Options. (line 2447) ! * Wno-logical-op: Warning Options. (line 2439) ! * Wno-long-long: Warning Options. (line 2801) * Wno-lto-type-mismatch: C++ Dialect Options. (line 684) * Wno-main: Warning Options. (line 674) * Wno-maybe-uninitialized: Warning Options. (line 1139) ! * Wno-memset-elt-size: Warning Options. (line 2402) ! * Wno-memset-transposed-args: Warning Options. (line 2410) * Wno-misleading-indentation: Warning Options. (line 681) * Wno-missing-attributes: Warning Options. (line 715) * Wno-missing-braces: Warning Options. (line 759) ! * Wno-missing-declarations: Warning Options. (line 2538) ! * Wno-missing-field-initializers: Warning Options. (line 2548) * Wno-missing-format-attribute: Warning Options. (line 1442) * Wno-missing-include-dirs: Warning Options. (line 770) * Wno-missing-noreturn: Warning Options. (line 1428) ! * Wno-missing-parameter-type: Warning Options. (line 2520) * Wno-missing-profile: Warning Options. (line 773) ! * Wno-missing-prototypes: Warning Options. (line 2528) ! * Wno-misspelled-isr: AVR Options. (line 295) ! * Wno-multichar: Warning Options. (line 2578) * Wno-multiple-inheritance: C++ Dialect Options. (line 933) * Wno-multistatement-macros: Warning Options. (line 789) *************** look up both forms. *** 62379,62385 **** (line 947) * Wno-narrowing: C++ Dialect Options. (line 690) ! * Wno-nested-externs: Warning Options. (line 2741) * Wno-noexcept: C++ Dialect Options. (line 706) * Wno-noexcept-type: C++ Dialect Options. --- 62422,62428 ---- (line 947) * Wno-narrowing: C++ Dialect Options. (line 690) ! * Wno-nested-externs: Warning Options. (line 2747) * Wno-noexcept: C++ Dialect Options. (line 706) * Wno-noexcept-type: C++ Dialect Options. *************** look up both forms. *** 62390,62413 **** (line 746) * Wno-nonnull: Warning Options. (line 483) * Wno-nonnull-compare: Warning Options. (line 490) ! * Wno-normalized: Warning Options. (line 2578) * Wno-null-dereference: Warning Options. (line 497) ! * Wno-odr: Warning Options. (line 2641) * Wno-old-style-cast: C++ Dialect Options. (line 891) ! * Wno-old-style-declaration: Warning Options. (line 2504) ! * Wno-old-style-definition: Warning Options. (line 2510) ! * Wno-openmp-simd: Warning Options. (line 2646) ! * Wno-overflow: Warning Options. (line 2638) ! * Wno-overlength-strings: Warning Options. (line 2881) * Wno-overloaded-virtual: C++ Dialect Options. (line 897) ! * Wno-override-init: Warning Options. (line 2651) ! * Wno-override-init-side-effects: Warning Options. (line 2659) ! * Wno-packed: Warning Options. (line 2664) ! * Wno-packed-bitfield-compat: Warning Options. (line 2681) ! * Wno-packed-not-aligned: Warning Options. (line 2698) ! * Wno-padded: Warning Options. (line 2711) * Wno-parentheses: Warning Options. (line 809) * Wno-pedantic: Warning Options. (line 80) * Wno-pedantic-ms-format: Warning Options. (line 1963) --- 62433,62456 ---- (line 746) * Wno-nonnull: Warning Options. (line 483) * Wno-nonnull-compare: Warning Options. (line 490) ! * Wno-normalized: Warning Options. (line 2584) * Wno-null-dereference: Warning Options. (line 497) ! * Wno-odr: Warning Options. (line 2647) * Wno-old-style-cast: C++ Dialect Options. (line 891) ! * Wno-old-style-declaration: Warning Options. (line 2510) ! * Wno-old-style-definition: Warning Options. (line 2516) ! * Wno-openmp-simd: Warning Options. (line 2652) ! * Wno-overflow: Warning Options. (line 2644) ! * Wno-overlength-strings: Warning Options. (line 2887) * Wno-overloaded-virtual: C++ Dialect Options. (line 897) ! * Wno-override-init: Warning Options. (line 2657) ! * Wno-override-init-side-effects: Warning Options. (line 2665) ! * Wno-packed: Warning Options. (line 2670) ! * Wno-packed-bitfield-compat: Warning Options. (line 2687) ! * Wno-packed-not-aligned: Warning Options. (line 2704) ! * Wno-padded: Warning Options. (line 2717) * Wno-parentheses: Warning Options. (line 809) * Wno-pedantic: Warning Options. (line 80) * Wno-pedantic-ms-format: Warning Options. (line 1963) *************** look up both forms. *** 62420,62442 **** (line 35) * Wno-pointer-arith: Warning Options. (line 2015) * Wno-pointer-compare: Warning Options. (line 2022) ! * Wno-pointer-sign: Warning Options. (line 2870) ! * Wno-pointer-to-int-cast: Warning Options. (line 2787) * Wno-pragmas: Warning Options. (line 1191) * Wno-prio-ctor-dtor: Warning Options. (line 1196) * Wno-protocol: Objective-C and Objective-C++ Dialect Options. (line 174) ! * Wno-redundant-decls: Warning Options. (line 2718) * Wno-redundant-move: C++ Dialect Options. (line 797) * Wno-register: C++ Dialect Options. (line 754) * Wno-reorder: C++ Dialect Options. (line 761) ! * Wno-restrict: Warning Options. (line 2722) * Wno-return-local-addr: Warning Options. (line 889) * Wno-return-type: Warning Options. (line 893) ! * Wno-scalar-storage-order: Warning Options. (line 2346) * Wno-selector: Objective-C and Objective-C++ Dialect Options. (line 184) * Wno-sequence-point: Warning Options. (line 836) --- 62463,62485 ---- (line 35) * Wno-pointer-arith: Warning Options. (line 2015) * Wno-pointer-compare: Warning Options. (line 2022) ! * Wno-pointer-sign: Warning Options. (line 2876) ! * Wno-pointer-to-int-cast: Warning Options. (line 2793) * Wno-pragmas: Warning Options. (line 1191) * Wno-prio-ctor-dtor: Warning Options. (line 1196) * Wno-protocol: Objective-C and Objective-C++ Dialect Options. (line 174) ! * Wno-redundant-decls: Warning Options. (line 2724) * Wno-redundant-move: C++ Dialect Options. (line 797) * Wno-register: C++ Dialect Options. (line 754) * Wno-reorder: C++ Dialect Options. (line 761) ! * Wno-restrict: Warning Options. (line 2728) * Wno-return-local-addr: Warning Options. (line 889) * Wno-return-type: Warning Options. (line 893) ! * Wno-scalar-storage-order: Warning Options. (line 2352) * Wno-selector: Objective-C and Objective-C++ Dialect Options. (line 184) * Wno-sequence-point: Warning Options. (line 836) *************** look up both forms. *** 62446,62473 **** * Wno-shift-count-overflow: Warning Options. (line 918) * Wno-shift-negative-value: Warning Options. (line 922) * Wno-shift-overflow: Warning Options. (line 927) ! * Wno-sign-compare: Warning Options. (line 2328) ! * Wno-sign-conversion: Warning Options. (line 2334) * Wno-sign-promo: C++ Dialect Options. (line 920) ! * Wno-sized-deallocation: Warning Options. (line 2350) ! * Wno-sizeof-array-argument: Warning Options. (line 2391) ! * Wno-sizeof-pointer-div: Warning Options. (line 2361) ! * Wno-sizeof-pointer-memaccess: Warning Options. (line 2369) ! * Wno-stack-protector: Warning Options. (line 2876) * Wno-stack-usage: Warning Options. (line 1929) * Wno-stack-usage <1>: Warning Options. (line 1953) * Wno-strict-aliasing: Warning Options. (line 1204) * Wno-strict-null-sentinel: C++ Dialect Options. (line 875) * Wno-strict-overflow: Warning Options. (line 1243) ! * Wno-strict-prototypes: Warning Options. (line 2498) * Wno-strict-selector-match: Objective-C and Objective-C++ Dialect Options. (line 196) * Wno-stringop-overflow: Warning Options. (line 1292) * Wno-stringop-overflow <1>: Warning Options. (line 1331) * Wno-stringop-truncation: Warning Options. (line 1369) ! * Wno-subobject-linkage: Warning Options. (line 2245) * Wno-suggest-attribute=: Warning Options. (line 1420) * Wno-suggest-attribute=cold: Warning Options. (line 1463) * Wno-suggest-attribute=const: Warning Options. (line 1428) --- 62489,62516 ---- * Wno-shift-count-overflow: Warning Options. (line 918) * Wno-shift-negative-value: Warning Options. (line 922) * Wno-shift-overflow: Warning Options. (line 927) ! * Wno-sign-compare: Warning Options. (line 2334) ! * Wno-sign-conversion: Warning Options. (line 2340) * Wno-sign-promo: C++ Dialect Options. (line 920) ! * Wno-sized-deallocation: Warning Options. (line 2356) ! * Wno-sizeof-array-argument: Warning Options. (line 2397) ! * Wno-sizeof-pointer-div: Warning Options. (line 2367) ! * Wno-sizeof-pointer-memaccess: Warning Options. (line 2375) ! * Wno-stack-protector: Warning Options. (line 2882) * Wno-stack-usage: Warning Options. (line 1929) * Wno-stack-usage <1>: Warning Options. (line 1953) * Wno-strict-aliasing: Warning Options. (line 1204) * Wno-strict-null-sentinel: C++ Dialect Options. (line 875) * Wno-strict-overflow: Warning Options. (line 1243) ! * Wno-strict-prototypes: Warning Options. (line 2504) * Wno-strict-selector-match: Objective-C and Objective-C++ Dialect Options. (line 196) * Wno-stringop-overflow: Warning Options. (line 1292) * Wno-stringop-overflow <1>: Warning Options. (line 1331) * Wno-stringop-truncation: Warning Options. (line 1369) ! * Wno-subobject-linkage: Warning Options. (line 2251) * Wno-suggest-attribute=: Warning Options. (line 1420) * Wno-suggest-attribute=cold: Warning Options. (line 1463) * Wno-suggest-attribute=const: Warning Options. (line 1428) *************** look up both forms. *** 62499,62505 **** * Wno-uninitialized: Warning Options. (line 1100) * Wno-unknown-pragmas: Warning Options. (line 1184) * Wno-unsafe-loop-optimizations: Warning Options. (line 1957) ! * Wno-unsuffixed-float-constants: Warning Options. (line 2896) * Wno-unused: Warning Options. (line 1093) * Wno-unused-but-set-parameter: Warning Options. (line 1004) * Wno-unused-but-set-variable: Warning Options. (line 1013) --- 62542,62548 ---- * Wno-uninitialized: Warning Options. (line 1100) * Wno-unknown-pragmas: Warning Options. (line 1184) * Wno-unsafe-loop-optimizations: Warning Options. (line 1957) ! * Wno-unsuffixed-float-constants: Warning Options. (line 2902) * Wno-unused: Warning Options. (line 1093) * Wno-unused-but-set-parameter: Warning Options. (line 1004) * Wno-unused-but-set-variable: Warning Options. (line 1013) *************** look up both forms. *** 62511,62529 **** * Wno-unused-result: Warning Options. (line 1046) * Wno-unused-value: Warning Options. (line 1083) * Wno-unused-variable: Warning Options. (line 1051) ! * Wno-useless-cast: Warning Options. (line 2301) ! * Wno-varargs: Warning Options. (line 2806) ! * Wno-variadic-macros: Warning Options. (line 2800) ! * Wno-vector-operation-performance: Warning Options. (line 2811) * Wno-virtual-inheritance: C++ Dialect Options. (line 940) ! * Wno-virtual-move-assign: Warning Options. (line 2821) ! * Wno-vla: Warning Options. (line 2830) ! * Wno-vla-larger-than: Warning Options. (line 2834) ! * Wno-vla-larger-than <1>: Warning Options. (line 2851) ! * Wno-volatile-register-var: Warning Options. (line 2855) ! * Wno-write-strings: Warning Options. (line 2190) ! * Wno-zero-as-null-pointer-constant: Warning Options. (line 2241) * Wnoexcept: C++ Dialect Options. (line 706) * Wnoexcept-type: C++ Dialect Options. --- 62554,62572 ---- * Wno-unused-result: Warning Options. (line 1046) * Wno-unused-value: Warning Options. (line 1083) * Wno-unused-variable: Warning Options. (line 1051) ! * Wno-useless-cast: Warning Options. (line 2307) ! * Wno-varargs: Warning Options. (line 2812) ! * Wno-variadic-macros: Warning Options. (line 2806) ! * Wno-vector-operation-performance: Warning Options. (line 2817) * Wno-virtual-inheritance: C++ Dialect Options. (line 940) ! * Wno-virtual-move-assign: Warning Options. (line 2827) ! * Wno-vla: Warning Options. (line 2836) ! * Wno-vla-larger-than: Warning Options. (line 2840) ! * Wno-vla-larger-than <1>: Warning Options. (line 2857) ! * Wno-volatile-register-var: Warning Options. (line 2861) ! * Wno-write-strings: Warning Options. (line 2196) ! * Wno-zero-as-null-pointer-constant: Warning Options. (line 2247) * Wnoexcept: C++ Dialect Options. (line 706) * Wnoexcept-type: C++ Dialect Options. *************** look up both forms. *** 62534,62560 **** (line 746) * Wnonnull: Warning Options. (line 483) * Wnonnull-compare: Warning Options. (line 490) ! * Wnormalized: Warning Options. (line 2578) ! * Wnormalized=: Warning Options. (line 2578) * Wnull-dereference: Warning Options. (line 497) ! * Wodr: Warning Options. (line 2641) * Wold-style-cast: C++ Dialect Options. (line 891) ! * Wold-style-declaration: Warning Options. (line 2504) ! * Wold-style-definition: Warning Options. (line 2510) ! * Wopenmp-simd: Warning Options. (line 2646) ! * Woverflow: Warning Options. (line 2638) ! * Woverlength-strings: Warning Options. (line 2881) * Woverloaded-virtual: C++ Dialect Options. (line 897) ! * Woverride-init: Warning Options. (line 2651) ! * Woverride-init-side-effects: Warning Options. (line 2659) * Wp: Preprocessor Options. (line 456) ! * Wpacked: Warning Options. (line 2664) ! * Wpacked-bitfield-compat: Warning Options. (line 2681) ! * Wpacked-not-aligned: Warning Options. (line 2698) ! * Wpadded: Warning Options. (line 2711) * Wparentheses: Warning Options. (line 809) * Wpedantic: Warning Options. (line 80) * Wpedantic-ms-format: Warning Options. (line 1963) --- 62577,62603 ---- (line 746) * Wnonnull: Warning Options. (line 483) * Wnonnull-compare: Warning Options. (line 490) ! * Wnormalized: Warning Options. (line 2584) ! * Wnormalized=: Warning Options. (line 2584) * Wnull-dereference: Warning Options. (line 497) ! * Wodr: Warning Options. (line 2647) * Wold-style-cast: C++ Dialect Options. (line 891) ! * Wold-style-declaration: Warning Options. (line 2510) ! * Wold-style-definition: Warning Options. (line 2516) ! * Wopenmp-simd: Warning Options. (line 2652) ! * Woverflow: Warning Options. (line 2644) ! * Woverlength-strings: Warning Options. (line 2887) * Woverloaded-virtual: C++ Dialect Options. (line 897) ! * Woverride-init: Warning Options. (line 2657) ! * Woverride-init-side-effects: Warning Options. (line 2665) * Wp: Preprocessor Options. (line 456) ! * Wpacked: Warning Options. (line 2670) ! * Wpacked-bitfield-compat: Warning Options. (line 2687) ! * Wpacked-not-aligned: Warning Options. (line 2704) ! * Wpadded: Warning Options. (line 2717) * Wparentheses: Warning Options. (line 809) * Wpedantic: Warning Options. (line 80) * Wpedantic-ms-format: Warning Options. (line 1963) *************** look up both forms. *** 62566,62589 **** * Wpointer-arith: Warning Options. (line 2015) * Wpointer-arith <1>: Pointer Arith. (line 13) * Wpointer-compare: Warning Options. (line 2022) ! * Wpointer-sign: Warning Options. (line 2870) ! * Wpointer-to-int-cast: Warning Options. (line 2787) * Wpragmas: Warning Options. (line 1191) * Wprio-ctor-dtor: Warning Options. (line 1196) * Wprotocol: Objective-C and Objective-C++ Dialect Options. (line 174) * wrapper: Overall Options. (line 361) ! * Wredundant-decls: Warning Options. (line 2718) * Wredundant-move: C++ Dialect Options. (line 797) * Wregister: C++ Dialect Options. (line 754) * Wreorder: C++ Dialect Options. (line 761) ! * Wrestrict: Warning Options. (line 2722) * Wreturn-local-addr: Warning Options. (line 889) * Wreturn-type: Warning Options. (line 893) ! * Wscalar-storage-order: Warning Options. (line 2346) * Wselector: Objective-C and Objective-C++ Dialect Options. (line 184) * Wsequence-point: Warning Options. (line 836) --- 62609,62632 ---- * Wpointer-arith: Warning Options. (line 2015) * Wpointer-arith <1>: Pointer Arith. (line 13) * Wpointer-compare: Warning Options. (line 2022) ! * Wpointer-sign: Warning Options. (line 2876) ! * Wpointer-to-int-cast: Warning Options. (line 2793) * Wpragmas: Warning Options. (line 1191) * Wprio-ctor-dtor: Warning Options. (line 1196) * Wprotocol: Objective-C and Objective-C++ Dialect Options. (line 174) * wrapper: Overall Options. (line 361) ! * Wredundant-decls: Warning Options. (line 2724) * Wredundant-move: C++ Dialect Options. (line 797) * Wregister: C++ Dialect Options. (line 754) * Wreorder: C++ Dialect Options. (line 761) ! * Wrestrict: Warning Options. (line 2728) * Wreturn-local-addr: Warning Options. (line 889) * Wreturn-type: Warning Options. (line 893) ! * Wscalar-storage-order: Warning Options. (line 2352) * Wselector: Objective-C and Objective-C++ Dialect Options. (line 184) * Wsequence-point: Warning Options. (line 836) *************** look up both forms. *** 62596,62623 **** * Wshift-count-overflow: Warning Options. (line 918) * Wshift-negative-value: Warning Options. (line 922) * Wshift-overflow: Warning Options. (line 927) ! * Wsign-compare: Warning Options. (line 2328) ! * Wsign-conversion: Warning Options. (line 2334) * Wsign-promo: C++ Dialect Options. (line 920) ! * Wsized-deallocation: Warning Options. (line 2350) ! * Wsizeof-array-argument: Warning Options. (line 2391) ! * Wsizeof-pointer-div: Warning Options. (line 2361) ! * Wsizeof-pointer-memaccess: Warning Options. (line 2369) ! * Wstack-protector: Warning Options. (line 2876) * Wstack-usage: Warning Options. (line 1929) * Wstrict-aliasing: Warning Options. (line 1204) * Wstrict-aliasing=n: Warning Options. (line 1211) * Wstrict-null-sentinel: C++ Dialect Options. (line 875) * Wstrict-overflow: Warning Options. (line 1243) ! * Wstrict-prototypes: Warning Options. (line 2498) * Wstrict-selector-match: Objective-C and Objective-C++ Dialect Options. (line 196) * Wstringop-overflow: Warning Options. (line 1292) * Wstringop-overflow <1>: Warning Options. (line 1331) * Wstringop-truncation: Warning Options. (line 1369) ! * Wsubobject-linkage: Warning Options. (line 2245) * Wsuggest-attribute=: Warning Options. (line 1420) * Wsuggest-attribute=cold: Warning Options. (line 1463) * Wsuggest-attribute=const: Warning Options. (line 1428) --- 62639,62666 ---- * Wshift-count-overflow: Warning Options. (line 918) * Wshift-negative-value: Warning Options. (line 922) * Wshift-overflow: Warning Options. (line 927) ! * Wsign-compare: Warning Options. (line 2334) ! * Wsign-conversion: Warning Options. (line 2340) * Wsign-promo: C++ Dialect Options. (line 920) ! * Wsized-deallocation: Warning Options. (line 2356) ! * Wsizeof-array-argument: Warning Options. (line 2397) ! * Wsizeof-pointer-div: Warning Options. (line 2367) ! * Wsizeof-pointer-memaccess: Warning Options. (line 2375) ! * Wstack-protector: Warning Options. (line 2882) * Wstack-usage: Warning Options. (line 1929) * Wstrict-aliasing: Warning Options. (line 1204) * Wstrict-aliasing=n: Warning Options. (line 1211) * Wstrict-null-sentinel: C++ Dialect Options. (line 875) * Wstrict-overflow: Warning Options. (line 1243) ! * Wstrict-prototypes: Warning Options. (line 2504) * Wstrict-selector-match: Objective-C and Objective-C++ Dialect Options. (line 196) * Wstringop-overflow: Warning Options. (line 1292) * Wstringop-overflow <1>: Warning Options. (line 1331) * Wstringop-truncation: Warning Options. (line 1369) ! * Wsubobject-linkage: Warning Options. (line 2251) * Wsuggest-attribute=: Warning Options. (line 1420) * Wsuggest-attribute=cold: Warning Options. (line 1463) * Wsuggest-attribute=const: Warning Options. (line 1428) *************** look up both forms. *** 62650,62656 **** * Wuninitialized: Warning Options. (line 1100) * Wunknown-pragmas: Warning Options. (line 1184) * Wunsafe-loop-optimizations: Warning Options. (line 1957) ! * Wunsuffixed-float-constants: Warning Options. (line 2896) * Wunused: Warning Options. (line 1093) * Wunused-but-set-parameter: Warning Options. (line 1004) * Wunused-but-set-variable: Warning Options. (line 1013) --- 62693,62699 ---- * Wuninitialized: Warning Options. (line 1100) * Wunknown-pragmas: Warning Options. (line 1184) * Wunsafe-loop-optimizations: Warning Options. (line 1957) ! * Wunsuffixed-float-constants: Warning Options. (line 2902) * Wunused: Warning Options. (line 1093) * Wunused-but-set-parameter: Warning Options. (line 1004) * Wunused-but-set-variable: Warning Options. (line 1013) *************** look up both forms. *** 62663,62680 **** * Wunused-result: Warning Options. (line 1046) * Wunused-value: Warning Options. (line 1083) * Wunused-variable: Warning Options. (line 1051) ! * Wuseless-cast: Warning Options. (line 2301) ! * Wvarargs: Warning Options. (line 2806) ! * Wvariadic-macros: Warning Options. (line 2800) ! * Wvector-operation-performance: Warning Options. (line 2811) * Wvirtual-inheritance: C++ Dialect Options. (line 940) ! * Wvirtual-move-assign: Warning Options. (line 2821) ! * Wvla: Warning Options. (line 2830) ! * Wvla-larger-than=: Warning Options. (line 2834) ! * Wvolatile-register-var: Warning Options. (line 2855) ! * Wwrite-strings: Warning Options. (line 2190) ! * Wzero-as-null-pointer-constant: Warning Options. (line 2241) * x: Overall Options. (line 138) * Xassembler: Assembler Options. (line 13) * Xbind-lazy: VxWorks Options. (line 26) --- 62706,62723 ---- * Wunused-result: Warning Options. (line 1046) * Wunused-value: Warning Options. (line 1083) * Wunused-variable: Warning Options. (line 1051) ! * Wuseless-cast: Warning Options. (line 2307) ! * Wvarargs: Warning Options. (line 2812) ! * Wvariadic-macros: Warning Options. (line 2806) ! * Wvector-operation-performance: Warning Options. (line 2817) * Wvirtual-inheritance: C++ Dialect Options. (line 940) ! * Wvirtual-move-assign: Warning Options. (line 2827) ! * Wvla: Warning Options. (line 2836) ! * Wvla-larger-than=: Warning Options. (line 2840) ! * Wvolatile-register-var: Warning Options. (line 2861) ! * Wwrite-strings: Warning Options. (line 2196) ! * Wzero-as-null-pointer-constant: Warning Options. (line 2247) * x: Overall Options. (line 138) * Xassembler: Assembler Options. (line 13) * Xbind-lazy: VxWorks Options. (line 26) *************** Keyword Index *** 63219,63230 **** * address_operand: Simple Constraints. (line 156) * alias function attribute: Common Function Attributes. (line 9) * aligned function attribute: Common Function Attributes. (line 24) * aligned type attribute: Common Type Attributes. (line 8) * aligned variable attribute: Common Variable Attributes. ! (line 8) * alignment: Alignment. (line 6) * alloca: Other Builtins. (line 6) * alloca vs variable-length arrays: Variable Length. (line 35) --- 63262,63275 ---- * address_operand: Simple Constraints. (line 156) * alias function attribute: Common Function Attributes. (line 9) + * alias variable attribute: Common Variable Attributes. + (line 9) * aligned function attribute: Common Function Attributes. (line 24) * aligned type attribute: Common Type Attributes. (line 8) * aligned variable attribute: Common Variable Attributes. ! (line 31) * alignment: Alignment. (line 6) * alloca: Other Builtins. (line 6) * alloca vs variable-length arrays: Variable Length. (line 35) *************** Keyword Index *** 63235,63241 **** * alloc_size type attribute: Common Type Attributes. (line 136) * alloc_size variable attribute: Common Variable Attributes. ! (line 114) * Allow nesting in an interrupt handler on the Blackfin processor: Blackfin Function Attributes. (line 45) * Altera Nios II options: Nios II Options. (line 6) --- 63280,63286 ---- * alloc_size type attribute: Common Type Attributes. (line 136) * alloc_size variable attribute: Common Variable Attributes. ! (line 137) * Allow nesting in an interrupt handler on the Blackfin processor: Blackfin Function Attributes. (line 45) * Altera Nios II options: Nios II Options. (line 6) *************** Keyword Index *** 63437,63450 **** (line 266) * character set, input: Preprocessor Options. (line 279) ! * character set, input normalization: Warning Options. (line 2578) * character set, wide execution: Preprocessor Options. (line 271) * cimag: Other Builtins. (line 6) * cimagf: Other Builtins. (line 6) * cimagl: Other Builtins. (line 6) * cleanup variable attribute: Common Variable Attributes. ! (line 138) * clog: Other Builtins. (line 6) * clog10: Other Builtins. (line 6) * clog10f: Other Builtins. (line 6) --- 63482,63495 ---- (line 266) * character set, input: Preprocessor Options. (line 279) ! * character set, input normalization: Warning Options. (line 2584) * character set, wide execution: Preprocessor Options. (line 271) * cimag: Other Builtins. (line 6) * cimagf: Other Builtins. (line 6) * cimagl: Other Builtins. (line 6) * cleanup variable attribute: Common Variable Attributes. ! (line 161) * clog: Other Builtins. (line 6) * clog10: Other Builtins. (line 6) * clog10f: Other Builtins. (line 6) *************** Keyword Index *** 63462,63470 **** * command options: Invoking GCC. (line 6) * comments, C++ style: C++ Comments. (line 6) * common variable attribute: Common Variable Attributes. ! (line 153) * comparison of signed and unsigned values, warning: Warning Options. ! (line 2328) * compilation statistics: Developer Options. (line 6) * compiler bugs, reporting: Bug Reporting. (line 6) * compiler compared to C++ preprocessor: G++ and GCC. (line 34) --- 63507,63515 ---- * command options: Invoking GCC. (line 6) * comments, C++ style: C++ Comments. (line 6) * common variable attribute: Common Variable Attributes. ! (line 176) * comparison of signed and unsigned values, warning: Warning Options. ! (line 2334) * compilation statistics: Developer Options. (line 6) * compiler bugs, reporting: Bug Reporting. (line 6) * compiler compared to C++ preprocessor: G++ and GCC. (line 34) *************** Keyword Index *** 63505,63511 **** * copy type attribute: Common Type Attributes. (line 161) * copy variable attribute: Common Variable Attributes. ! (line 162) * copysign: Other Builtins. (line 6) * copysignf: Other Builtins. (line 6) * copysignl: Other Builtins. (line 6) --- 63550,63556 ---- * copy type attribute: Common Type Attributes. (line 161) * copy variable attribute: Common Variable Attributes. ! (line 185) * copysign: Other Builtins. (line 6) * copysignf: Other Builtins. (line 6) * copysignl: Other Builtins. (line 6) *************** Keyword Index *** 63586,63592 **** * deprecated type attribute: Common Type Attributes. (line 189) * deprecated variable attribute: Common Variable Attributes. ! (line 178) * designated initializers: Designated Inits. (line 6) * designated_init type attribute: Common Type Attributes. (line 223) --- 63631,63637 ---- * deprecated type attribute: Common Type Attributes. (line 189) * deprecated variable attribute: Common Variable Attributes. ! (line 201) * designated initializers: Designated Inits. (line 6) * designated_init type attribute: Common Type Attributes. (line 223) *************** Keyword Index *** 63638,63644 **** (line 9) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 9) ! * EIND: AVR Options. (line 291) * either function attribute, MSP430: MSP430 Function Attributes. (line 57) * either variable attribute, MSP430: MSP430 Variable Attributes. --- 63683,63689 ---- (line 9) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 9) ! * EIND: AVR Options. (line 301) * either function attribute, MSP430: MSP430 Function Attributes. (line 57) * either variable attribute, MSP430: MSP430 Variable Attributes. *************** Keyword Index *** 64256,64262 **** * mode type attribute: Common Type Attributes. (line 270) * mode variable attribute: Common Variable Attributes. ! (line 202) * model function attribute, M32R/D: M32R/D Function Attributes. (line 15) * model variable attribute, IA-64: IA-64 Variable Attributes. --- 64301,64307 ---- * mode type attribute: Common Type Attributes. (line 270) * mode variable attribute: Common Variable Attributes. ! (line 225) * model function attribute, M32R/D: M32R/D Function Attributes. (line 15) * model variable attribute, IA-64: IA-64 Variable Attributes. *************** Keyword Index *** 64336,64343 **** * nexttoward: Other Builtins. (line 6) * nexttowardf: Other Builtins. (line 6) * nexttowardl: Other Builtins. (line 6) ! * NFC: Warning Options. (line 2578) ! * NFKC: Warning Options. (line 2578) * Nios II options: Nios II Options. (line 6) * nmi function attribute, NDS32: NDS32 Function Attributes. (line 50) --- 64381,64388 ---- * nexttoward: Other Builtins. (line 6) * nexttowardf: Other Builtins. (line 6) * nexttowardl: Other Builtins. (line 6) ! * NFC: Warning Options. (line 2584) ! * NFKC: Warning Options. (line 2584) * Nios II options: Nios II Options. (line 6) * nmi function attribute, NDS32: NDS32 Function Attributes. (line 50) *************** Keyword Index *** 64350,64356 **** * noclone function attribute: Common Function Attributes. (line 681) * nocommon variable attribute: Common Variable Attributes. ! (line 153) * nocompression function attribute, MIPS: MIPS Function Attributes. (line 108) * noinit variable attribute, MSP430: MSP430 Variable Attributes. --- 64395,64401 ---- * noclone function attribute: Common Function Attributes. (line 681) * nocommon variable attribute: Common Variable Attributes. ! (line 176) * nocompression function attribute, MIPS: MIPS Function Attributes. (line 108) * noinit variable attribute, MSP430: MSP430 Variable Attributes. *************** Keyword Index *** 64369,64375 **** * nonnull function attribute: Common Function Attributes. (line 712) * nonstring variable attribute: Common Variable Attributes. ! (line 214) * noplt function attribute: Common Function Attributes. (line 742) * noreturn function attribute: Common Function Attributes. --- 64414,64420 ---- * nonnull function attribute: Common Function Attributes. (line 712) * nonstring variable attribute: Common Variable Attributes. ! (line 237) * noplt function attribute: Common Function Attributes. (line 742) * noreturn function attribute: Common Function Attributes. *************** Keyword Index *** 64473,64479 **** * packed type attribute: Common Type Attributes. (line 282) * packed variable attribute: Common Variable Attributes. ! (line 247) * parameter forward declaration: Variable Length. (line 66) * partial_save function attribute, NDS32: NDS32 Function Attributes. (line 31) --- 64518,64524 ---- * packed type attribute: Common Type Attributes. (line 282) * packed variable attribute: Common Variable Attributes. ! (line 270) * parameter forward declaration: Variable Length. (line 66) * partial_save function attribute, NDS32: NDS32 Function Attributes. (line 31) *************** Keyword Index *** 64585,64594 **** * r fixed-suffix: Fixed-Point. (line 6) * R fixed-suffix: Fixed-Point. (line 6) * r in constraint: Simple Constraints. (line 64) ! * RAMPD: AVR Options. (line 402) ! * RAMPX: AVR Options. (line 402) ! * RAMPY: AVR Options. (line 402) ! * RAMPZ: AVR Options. (line 402) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 86) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. --- 64630,64639 ---- * r fixed-suffix: Fixed-Point. (line 6) * R fixed-suffix: Fixed-Point. (line 6) * r in constraint: Simple Constraints. (line 64) ! * RAMPD: AVR Options. (line 412) ! * RAMPX: AVR Options. (line 412) ! * RAMPY: AVR Options. (line 412) ! * RAMPZ: AVR Options. (line 412) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 86) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. *************** Keyword Index *** 64693,64699 **** * section function attribute: Common Function Attributes. (line 918) * section variable attribute: Common Variable Attributes. ! (line 269) * secure_call function attribute, ARC: ARC Function Attributes. (line 51) * selectany variable attribute: Microsoft Windows Variable Attributes. --- 64738,64744 ---- * section function attribute: Common Function Attributes. (line 918) * section variable attribute: Common Variable Attributes. ! (line 292) * secure_call function attribute, ARC: ARC Function Attributes. (line 51) * selectany variable attribute: Microsoft Windows Variable Attributes. *************** Keyword Index *** 64734,64740 **** * signbitf: Other Builtins. (line 6) * signbitl: Other Builtins. (line 6) * signed and unsigned values, comparison warning: Warning Options. ! (line 2328) * significand: Other Builtins. (line 6) * significandf: Other Builtins. (line 6) * significandl: Other Builtins. (line 6) --- 64779,64785 ---- * signbitf: Other Builtins. (line 6) * signbitl: Other Builtins. (line 6) * signed and unsigned values, comparison warning: Warning Options. ! (line 2334) * significand: Other Builtins. (line 6) * significandf: Other Builtins. (line 6) * significandl: Other Builtins. (line 6) *************** Keyword Index *** 65133,65139 **** * tls-dialect= function attribute, AArch64: AArch64 Function Attributes. (line 48) * tls_model variable attribute: Common Variable Attributes. ! (line 314) * TMPDIR: Environment Variables. (line 45) * toascii: Other Builtins. (line 6) --- 65178,65184 ---- * tls-dialect= function attribute, AArch64: AArch64 Function Attributes. (line 48) * tls_model variable attribute: Common Variable Attributes. ! (line 337) * TMPDIR: Environment Variables. (line 45) * toascii: Other Builtins. (line 6) *************** Keyword Index *** 65194,65200 **** * unused type attribute: Common Type Attributes. (line 410) * unused variable attribute: Common Variable Attributes. ! (line 323) * upper function attribute, MSP430: MSP430 Function Attributes. (line 57) * upper variable attribute, MSP430: MSP430 Variable Attributes. --- 65239,65245 ---- * unused type attribute: Common Type Attributes. (line 410) * unused variable attribute: Common Variable Attributes. ! (line 346) * upper function attribute, MSP430: MSP430 Function Attributes. (line 57) * upper variable attribute, MSP430: MSP430 Variable Attributes. *************** Keyword Index *** 65204,65210 **** * used function attribute: Common Function Attributes. (line 1051) * used variable attribute: Common Variable Attributes. ! (line 328) * User stack pointer in interrupts on the Blackfin: Blackfin Function Attributes. (line 21) * use_debug_exception_return function attribute, MIPS: MIPS Function Attributes. --- 65249,65255 ---- * used function attribute: Common Function Attributes. (line 1051) * used variable attribute: Common Variable Attributes. ! (line 351) * User stack pointer in interrupts on the Blackfin: Blackfin Function Attributes. (line 21) * use_debug_exception_return function attribute, MIPS: MIPS Function Attributes. *************** Keyword Index *** 65239,65245 **** * vector_size type attribute: Common Type Attributes. (line 419) * vector_size variable attribute: Common Variable Attributes. ! (line 337) * version_id function attribute, IA-64: IA-64 Function Attributes. (line 16) * vfprintf: Other Builtins. (line 6) --- 65284,65290 ---- * vector_size type attribute: Common Type Attributes. (line 419) * vector_size variable attribute: Common Variable Attributes. ! (line 360) * version_id function attribute, IA-64: IA-64 Function Attributes. (line 16) * vfprintf: Other Builtins. (line 6) *************** Keyword Index *** 65249,65255 **** * visibility type attribute: Common Type Attributes. (line 446) * visibility variable attribute: Common Variable Attributes. ! (line 365) * Visium options: Visium Options. (line 6) * VLAs: Variable Length. (line 6) * vliw function attribute, MeP: MeP Function Attributes. --- 65294,65300 ---- * visibility type attribute: Common Type Attributes. (line 446) * visibility variable attribute: Common Variable Attributes. ! (line 388) * Visium options: Visium Options. (line 6) * VLAs: Variable Length. (line 6) * vliw function attribute, MeP: MeP Function Attributes. *************** Keyword Index *** 65279,65285 **** * warm function attribute, NDS32: NDS32 Function Attributes. (line 52) * warning for comparison of signed and unsigned values: Warning Options. ! (line 2328) * warning for overloaded virtual function: C++ Dialect Options. (line 897) * warning for reordering of member initializers: C++ Dialect Options. --- 65324,65330 ---- * warm function attribute, NDS32: NDS32 Function Attributes. (line 52) * warning for comparison of signed and unsigned values: Warning Options. ! (line 2334) * warning for overloaded virtual function: C++ Dialect Options. (line 897) * warning for reordering of member initializers: C++ Dialect Options. *************** Keyword Index *** 65296,65309 **** * warn_if_not_aligned type attribute: Common Type Attributes. (line 91) * warn_if_not_aligned variable attribute: Common Variable Attributes. ! (line 83) * warn_unused type attribute: C++ Attributes. (line 71) * warn_unused_result function attribute: Common Function Attributes. (line 1161) * weak function attribute: Common Function Attributes. (line 1178) * weak variable attribute: Common Variable Attributes. ! (line 370) * weakref function attribute: Common Function Attributes. (line 1187) * whitespace: Incompatibilities. (line 112) --- 65341,65354 ---- * warn_if_not_aligned type attribute: Common Type Attributes. (line 91) * warn_if_not_aligned variable attribute: Common Variable Attributes. ! (line 106) * warn_unused type attribute: C++ Attributes. (line 71) * warn_unused_result function attribute: Common Function Attributes. (line 1161) * weak function attribute: Common Function Attributes. (line 1178) * weak variable attribute: Common Variable Attributes. ! (line 393) * weakref function attribute: Common Function Attributes. (line 1187) * whitespace: Incompatibilities. (line 112) *************** Node: G++ and GCC3947 *** 65341,65756 **** Node: Standards6007 Node: Invoking GCC19624 Node: Option Summary24747 ! Node: Overall Options77117 ! Node: Invoking G++92354 ! Node: C Dialect Options93877 ! Node: C++ Dialect Options113087 ! Node: Objective-C and Objective-C++ Dialect Options156462 ! Node: Diagnostic Message Formatting Options167692 ! Node: Warning Options184330 ! Ref: Wtrigraphs276653 ! Node: Debugging Options314884 ! Node: Optimize Options334074 ! Ref: Type-punning402874 ! Node: Instrumentation Options502328 ! Node: Preprocessor Options539369 ! Ref: dashMF544216 ! Ref: fdollars-in-identifiers548795 ! Node: Assembler Options561045 ! Node: Link Options561736 ! Ref: Link Options-Footnote-1578733 ! Node: Directory Options579069 ! Node: Code Gen Options587472 ! Node: Developer Options616158 ! Node: Submodel Options657293 ! Node: AArch64 Options659086 ! Ref: aarch64-feature-modifiers672367 ! Node: Adapteva Epiphany Options676047 ! Node: AMD GCN Options681999 ! Node: ARC Options682825 ! Node: ARM Options704037 ! Node: AVR Options740607 ! Node: Blackfin Options764636 ! Node: C6X Options772528 ! Node: CRIS Options774071 ! Node: CR16 Options777810 ! Node: C-SKY Options778722 ! Node: Darwin Options783582 ! Node: DEC Alpha Options791023 ! Node: FR30 Options802639 ! Node: FT32 Options803204 ! Node: FRV Options804150 ! Node: GNU/Linux Options810914 ! Node: H8/300 Options812295 ! Node: HPPA Options813747 ! Node: IA-64 Options823279 ! Node: LM32 Options831407 ! Node: M32C Options831930 ! Node: M32R/D Options833203 ! Node: M680x0 Options836748 ! Node: MCore Options850833 ! Node: MeP Options852335 ! Node: MicroBlaze Options856295 ! Node: MIPS Options859385 ! Node: MMIX Options895924 ! Node: MN10300 Options898401 ! Node: Moxie Options900944 ! Node: MSP430 Options901431 ! Node: NDS32 Options906135 ! Node: Nios II Options908305 ! Node: Nvidia PTX Options920467 ! Node: OpenRISC Options922936 ! Node: PDP-11 Options924432 ! Node: picoChip Options925681 ! Node: PowerPC Options927819 ! Node: RISC-V Options928042 ! Node: RL78 Options933267 ! Node: RS/6000 and PowerPC Options937042 ! Node: RX Options977654 ! Node: S/390 and zSeries Options986256 ! Node: Score Options996635 ! Node: SH Options997484 ! Node: Solaris 2 Options1012624 ! Node: SPARC Options1013862 ! Node: SPU Options1029483 ! Node: System V Options1034422 ! Node: TILE-Gx Options1035248 ! Node: TILEPro Options1036266 ! Node: V850 Options1036770 ! Node: VAX Options1043457 ! Node: Visium Options1043995 ! Node: VMS Options1046303 ! Node: VxWorks Options1047119 ! Node: x86 Options1048271 ! Node: x86 Windows Options1109236 ! Node: Xstormy16 Options1112041 ! Node: Xtensa Options1112335 ! Node: zSeries Options1117484 ! Node: Spec Files1117680 ! Node: Environment Variables1139838 ! Node: Precompiled Headers1148564 ! Node: C Implementation1154570 ! Node: Translation implementation1156260 ! Node: Environment implementation1156851 ! Node: Identifiers implementation1157405 ! Node: Characters implementation1158491 ! Node: Integers implementation1162141 ! Node: Floating point implementation1164190 ! Node: Arrays and pointers implementation1167253 ! Ref: Arrays and pointers implementation-Footnote-11168713 ! Node: Hints implementation1168839 ! Node: Structures unions enumerations and bit-fields implementation1170334 ! Node: Qualifiers implementation1172558 ! Node: Declarators implementation1174337 ! Node: Statements implementation1174678 ! Node: Preprocessing directives implementation1175004 ! Node: Library functions implementation1177325 ! Node: Architecture implementation1177974 ! Node: Locale-specific behavior implementation1179619 ! Node: C++ Implementation1179924 ! Node: Conditionally-supported behavior1181207 ! Node: Exception handling1181824 ! Node: C Extensions1182291 ! Node: Statement Exprs1187495 ! Node: Local Labels1192867 ! Node: Labels as Values1195840 ! Ref: Labels as Values-Footnote-11198367 ! Node: Nested Functions1198552 ! Node: Nonlocal Gotos1202506 ! Node: Constructing Calls1204772 ! Node: Typeof1209487 ! Node: Conditionals1213416 ! Node: __int1281214305 ! Node: Long Long1214830 ! Node: Complex1216321 ! Node: Floating Types1219089 ! Node: Half-Precision1222556 ! Node: Decimal Float1224967 ! Node: Hex Floats1226821 ! Node: Fixed-Point1227895 ! Node: Named Address Spaces1231153 ! Ref: AVR Named Address Spaces1231839 ! Node: Zero Length1238862 ! Node: Empty Structures1243043 ! Node: Variable Length1243449 ! Node: Variadic Macros1246167 ! Node: Escaped Newlines1248545 ! Node: Subscripting1249406 ! Node: Pointer Arith1250131 ! Node: Variadic Pointer Args1250708 ! Node: Pointers to Arrays1251433 ! Node: Initializers1252186 ! Node: Compound Literals1252687 ! Node: Designated Inits1256254 ! Node: Case Ranges1260178 ! Node: Cast to Union1260859 ! Node: Mixed Declarations1262582 ! Node: Function Attributes1263092 ! Node: Common Function Attributes1267548 ! Node: AArch64 Function Attributes1326204 ! Node: AMD GCN Function Attributes1332175 ! Node: ARC Function Attributes1335228 ! Node: ARM Function Attributes1337550 ! Node: AVR Function Attributes1342689 ! Node: Blackfin Function Attributes1347224 ! Node: CR16 Function Attributes1349722 ! Node: C-SKY Function Attributes1350246 ! Node: Epiphany Function Attributes1351543 ! Node: H8/300 Function Attributes1354298 ! Node: IA-64 Function Attributes1355496 ! Node: M32C Function Attributes1356538 ! Node: M32R/D Function Attributes1358876 ! Node: m68k Function Attributes1360350 ! Node: MCORE Function Attributes1361294 ! Node: MeP Function Attributes1362105 ! Node: MicroBlaze Function Attributes1363406 ! Node: Microsoft Windows Function Attributes1364913 ! Node: MIPS Function Attributes1369482 ! Node: MSP430 Function Attributes1375100 ! Node: NDS32 Function Attributes1379153 ! Node: Nios II Function Attributes1381577 ! Node: Nvidia PTX Function Attributes1382874 ! Node: PowerPC Function Attributes1383489 ! Node: RISC-V Function Attributes1390544 ! Node: RL78 Function Attributes1391960 ! Node: RX Function Attributes1393199 ! Node: S/390 Function Attributes1395746 ! Node: SH Function Attributes1397574 ! Node: SPU Function Attributes1400995 ! Node: Symbian OS Function Attributes1401803 ! Node: V850 Function Attributes1402140 ! Node: Visium Function Attributes1402685 ! Node: x86 Function Attributes1403213 ! Node: Xstormy16 Function Attributes1425702 ! Node: Variable Attributes1426209 ! Node: Common Variable Attributes1427770 ! Node: ARC Variable Attributes1444589 ! Node: AVR Variable Attributes1444971 ! Node: Blackfin Variable Attributes1450133 ! Node: H8/300 Variable Attributes1450991 ! Node: IA-64 Variable Attributes1452064 ! Node: M32R/D Variable Attributes1452815 ! Node: MeP Variable Attributes1453598 ! Node: Microsoft Windows Variable Attributes1455691 ! Node: MSP430 Variable Attributes1458144 ! Node: Nvidia PTX Variable Attributes1459345 ! Node: PowerPC Variable Attributes1459962 ! Node: RL78 Variable Attributes1460519 ! Node: SPU Variable Attributes1460937 ! Node: V850 Variable Attributes1461302 ! Node: x86 Variable Attributes1461934 ! Node: Xstormy16 Variable Attributes1462990 ! Node: Type Attributes1463560 ! Node: Common Type Attributes1465248 ! Node: ARC Type Attributes1486740 ! Node: ARM Type Attributes1487212 ! Node: MeP Type Attributes1487994 ! Node: PowerPC Type Attributes1488396 ! Node: SPU Type Attributes1489385 ! Node: x86 Type Attributes1489804 ! Node: Label Attributes1490792 ! Node: Enumerator Attributes1492725 ! Node: Statement Attributes1494044 ! Node: Attribute Syntax1495527 ! Node: Function Prototypes1506785 ! Node: C++ Comments1508565 ! Node: Dollar Signs1509084 ! Node: Character Escapes1509549 ! Node: Alignment1509833 ! Node: Inline1511486 ! Node: Volatiles1516303 ! Node: Using Assembly Language with C1519202 ! Node: Basic Asm1520439 ! Node: Extended Asm1525889 ! Ref: Volatile1529988 ! Ref: AssemblerTemplate1534108 ! Ref: OutputOperands1538348 ! Ref: FlagOutputOperands1545311 ! Ref: InputOperands1547352 ! Ref: Clobbers and Scratch Registers1551620 ! Ref: GotoLabels1560261 ! Ref: x86Operandmodifiers1562396 ! Ref: x86floatingpointasmoperands1565553 ! Node: Constraints1568882 ! Node: Simple Constraints1569988 ! Node: Multi-Alternative1577302 ! Node: Modifiers1578977 ! Node: Machine Constraints1581775 ! Node: Asm Labels1644970 ! Node: Explicit Register Variables1646590 ! Ref: Explicit Reg Vars1646804 ! Node: Global Register Variables1647413 ! Ref: Global Reg Vars1647621 ! Node: Local Register Variables1652403 ! Ref: Local Reg Vars1652623 ! Node: Size of an asm1656251 ! Node: Alternate Keywords1657729 ! Node: Incomplete Enums1659228 ! Node: Function Names1659985 ! Node: Return Address1661883 ! Node: Vector Extensions1665824 ! Node: Offsetof1675589 ! Node: __sync Builtins1676422 ! Node: __atomic Builtins1682865 ! Node: Integer Overflow Builtins1696490 ! Node: x86 specific memory model extensions for transactional memory1702973 ! Node: Object Size Checking1704239 ! Node: Other Builtins1710495 ! Node: Target Builtins1759723 ! Node: AArch64 Built-in Functions1761387 ! Node: Alpha Built-in Functions1761842 ! Node: Altera Nios II Built-in Functions1764890 ! Node: ARC Built-in Functions1769259 ! Node: ARC SIMD Built-in Functions1774471 ! Node: ARM iWMMXt Built-in Functions1783367 ! Node: ARM C Language Extensions (ACLE)1790363 ! Node: ARM Floating Point Status and Control Intrinsics1791702 ! Node: ARM ARMv8-M Security Extensions1792187 ! Node: AVR Built-in Functions1793532 ! Node: Blackfin Built-in Functions1797293 ! Node: FR-V Built-in Functions1797912 ! Node: Argument Types1798780 ! Node: Directly-mapped Integer Functions1800534 ! Node: Directly-mapped Media Functions1801618 ! Node: Raw read/write Functions1809824 ! Node: Other Built-in Functions1810732 ! Node: MIPS DSP Built-in Functions1811918 ! Node: MIPS Paired-Single Support1824415 ! Node: MIPS Loongson Built-in Functions1825914 ! Node: Paired-Single Arithmetic1832436 ! Node: Paired-Single Built-in Functions1833384 ! Node: MIPS-3D Built-in Functions1836051 ! Node: MIPS SIMD Architecture (MSA) Support1841445 ! Node: MIPS SIMD Architecture Built-in Functions1844285 ! Node: Other MIPS Built-in Functions1871115 ! Node: MSP430 Built-in Functions1872124 ! Node: NDS32 Built-in Functions1873525 ! Node: picoChip Built-in Functions1874818 ! Node: Basic PowerPC Built-in Functions1876167 ! Node: Basic PowerPC Built-in Functions Available on all Configurations1876967 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.051885022 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.061889881 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.071891961 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.01892815 ! Node: PowerPC AltiVec/VSX Built-in Functions1899731 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.051903405 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.061992643 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072017088 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02038292 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2073007 ! Node: PowerPC Atomic Memory Operation Functions2081522 ! Node: RX Built-in Functions2084057 ! Node: S/390 System z Built-in Functions2088075 ! Node: SH Built-in Functions2093305 ! Node: SPARC VIS Built-in Functions2095033 ! Node: SPU Built-in Functions2103562 ! Node: TI C6X Built-in Functions2105279 ! Node: TILE-Gx Built-in Functions2106304 ! Node: TILEPro Built-in Functions2107423 ! Node: x86 Built-in Functions2108523 ! Node: x86 transactional memory intrinsics2172213 ! Node: x86 control-flow protection intrinsics2175480 ! Node: Target Format Checks2177251 ! Node: Solaris Format Checks2177683 ! Node: Darwin Format Checks2178109 ! Node: Pragmas2179072 ! Node: AArch64 Pragmas2179997 ! Node: ARM Pragmas2180454 ! Node: M32C Pragmas2181081 ! Node: MeP Pragmas2182153 ! Node: RS/6000 and PowerPC Pragmas2184221 ! Node: S/390 Pragmas2184961 ! Node: Darwin Pragmas2185527 ! Node: Solaris Pragmas2186580 ! Node: Symbol-Renaming Pragmas2187744 ! Node: Structure-Layout Pragmas2189379 ! Node: Weak Pragmas2191659 ! Node: Diagnostic Pragmas2192394 ! Node: Visibility Pragmas2196585 ! Node: Push/Pop Macro Pragmas2197270 ! Node: Function Specific Option Pragmas2198243 ! Node: Loop-Specific Pragmas2200209 ! Node: Unnamed Fields2201809 ! Node: Thread-Local2204006 ! Node: C99 Thread-Local Edits2206112 ! Node: C++98 Thread-Local Edits2208110 ! Node: Binary constants2211555 ! Node: C++ Extensions2212226 ! Node: C++ Volatiles2213856 ! Node: Restricted Pointers2216204 ! Node: Vague Linkage2217795 ! Node: C++ Interface2221418 ! Ref: C++ Interface-Footnote-12225215 ! Node: Template Instantiation2225353 ! Node: Bound member functions2232836 ! Node: C++ Attributes2234368 ! Node: Function Multiversioning2238440 ! Node: Type Traits2240247 ! Node: C++ Concepts2247197 ! Node: Deprecated Features2248703 ! Node: Backwards Compatibility2250528 ! Node: Objective-C2251600 ! Node: GNU Objective-C runtime API2252207 ! Node: Modern GNU Objective-C runtime API2253214 ! Node: Traditional GNU Objective-C runtime API2255650 ! Node: Executing code before main2256377 ! Node: What you can and what you cannot do in +load2259121 ! Node: Type encoding2261491 ! Node: Legacy type encoding2266632 ! Node: @encode2267722 ! Node: Method signatures2268267 ! Node: Garbage Collection2270259 ! Node: Constant string objects2272949 ! Node: compatibility_alias2275458 ! Node: Exceptions2276183 ! Node: Synchronization2278893 ! Node: Fast enumeration2280077 ! Node: Using fast enumeration2280389 ! Node: c99-like fast enumeration syntax2281600 ! Node: Fast enumeration details2282303 ! Node: Fast enumeration protocol2284643 ! Node: Messaging with the GNU Objective-C runtime2287795 ! Node: Dynamically registering methods2289167 ! Node: Forwarding hook2290858 ! Node: Compatibility2293898 ! Node: Gcov2300454 ! Node: Gcov Intro2300989 ! Node: Invoking Gcov2303707 ! Node: Gcov and Optimization2326542 ! Node: Gcov Data Files2330285 ! Node: Cross-profiling2331694 ! Node: Gcov-tool2333548 ! Node: Gcov-tool Intro2333973 ! Node: Invoking Gcov-tool2335943 ! Node: Gcov-dump2338521 ! Node: Gcov-dump Intro2338843 ! Node: Invoking Gcov-dump2339110 ! Node: Trouble2339711 ! Node: Actual Bugs2341129 ! Node: Interoperation2341576 ! Node: Incompatibilities2348467 ! Node: Fixed Headers2356619 ! Node: Standard Libraries2358277 ! Node: Disappointments2359649 ! Node: C++ Misunderstandings2364008 ! Node: Static Definitions2364819 ! Node: Name lookup2365872 ! Ref: Name lookup-Footnote-12370653 ! Node: Temporaries2370842 ! Node: Copy Assignment2372818 ! Node: Non-bugs2374625 ! Node: Warnings and Errors2385131 ! Node: Bugs2386893 ! Node: Bug Criteria2387360 ! Node: Bug Reporting2389570 ! Node: Service2389788 ! Node: Contributing2390608 ! Node: Funding2391348 ! Node: GNU Project2393838 ! Node: Copying2394484 ! Node: GNU Free Documentation License2431993 ! Node: Contributors2457111 ! Node: Option Index2498084 ! Node: Keyword Index2761344  End Tag Table --- 65386,65801 ---- Node: Standards6007 Node: Invoking GCC19624 Node: Option Summary24747 ! Node: Overall Options77159 ! Node: Invoking G++92396 ! Node: C Dialect Options93919 ! Node: C++ Dialect Options113129 ! Node: Objective-C and Objective-C++ Dialect Options156504 ! Node: Diagnostic Message Formatting Options167734 ! Node: Warning Options184372 ! Ref: Wtrigraphs276695 ! Node: Debugging Options315246 ! Node: Optimize Options334437 ! Ref: Type-punning403237 ! Node: Instrumentation Options502691 ! Node: Preprocessor Options539732 ! Ref: dashMF544579 ! Ref: fdollars-in-identifiers549158 ! Node: Assembler Options561408 ! Node: Link Options562099 ! Ref: Link Options-Footnote-1579096 ! Node: Directory Options579432 ! Node: Code Gen Options587835 ! Node: Developer Options616521 ! Node: Submodel Options657656 ! Node: AArch64 Options659449 ! Ref: aarch64-feature-modifiers672730 ! Node: Adapteva Epiphany Options676410 ! Node: AMD GCN Options682362 ! Node: ARC Options683188 ! Node: ARM Options704400 ! Node: AVR Options740944 ! Node: Blackfin Options765535 ! Node: C6X Options773427 ! Node: CRIS Options774970 ! Node: CR16 Options778709 ! Node: C-SKY Options779621 ! Node: Darwin Options784481 ! Node: DEC Alpha Options791922 ! Node: FR30 Options803538 ! Node: FT32 Options804103 ! Node: FRV Options805049 ! Node: GNU/Linux Options811813 ! Node: H8/300 Options813194 ! Node: HPPA Options814646 ! Node: IA-64 Options824178 ! Node: LM32 Options832306 ! Node: M32C Options832829 ! Node: M32R/D Options834102 ! Node: M680x0 Options837647 ! Node: MCore Options851732 ! Node: MeP Options853234 ! Node: MicroBlaze Options857194 ! Node: MIPS Options860284 ! Node: MMIX Options896823 ! Node: MN10300 Options899300 ! Node: Moxie Options901843 ! Node: MSP430 Options902330 ! Node: NDS32 Options907034 ! Node: Nios II Options909204 ! Node: Nvidia PTX Options921366 ! Node: OpenRISC Options923835 ! Node: PDP-11 Options925331 ! Node: picoChip Options926580 ! Node: PowerPC Options928718 ! Node: RISC-V Options928941 ! Node: RL78 Options934166 ! Node: RS/6000 and PowerPC Options937941 ! Node: RX Options978553 ! Node: S/390 and zSeries Options987155 ! Node: Score Options997534 ! Node: SH Options998383 ! Node: Solaris 2 Options1013523 ! Node: SPARC Options1014761 ! Node: SPU Options1030382 ! Node: System V Options1035321 ! Node: TILE-Gx Options1036147 ! Node: TILEPro Options1037165 ! Node: V850 Options1037669 ! Node: VAX Options1044356 ! Node: Visium Options1044894 ! Node: VMS Options1047202 ! Node: VxWorks Options1048018 ! Node: x86 Options1049170 ! Node: x86 Windows Options1110135 ! Node: Xstormy16 Options1112940 ! Node: Xtensa Options1113234 ! Node: zSeries Options1118383 ! Node: Spec Files1118579 ! Node: Environment Variables1140737 ! Node: Precompiled Headers1149463 ! Node: C Implementation1155469 ! Node: Translation implementation1157159 ! Node: Environment implementation1157750 ! Node: Identifiers implementation1158304 ! Node: Characters implementation1159390 ! Node: Integers implementation1163040 ! Node: Floating point implementation1165089 ! Node: Arrays and pointers implementation1168152 ! Ref: Arrays and pointers implementation-Footnote-11169612 ! Node: Hints implementation1169738 ! Node: Structures unions enumerations and bit-fields implementation1171233 ! Node: Qualifiers implementation1173457 ! Node: Declarators implementation1175236 ! Node: Statements implementation1175577 ! Node: Preprocessing directives implementation1175903 ! Node: Library functions implementation1178224 ! Node: Architecture implementation1178873 ! Node: Locale-specific behavior implementation1180518 ! Node: C++ Implementation1180823 ! Node: Conditionally-supported behavior1182106 ! Node: Exception handling1182723 ! Node: C Extensions1183190 ! Node: Statement Exprs1188394 ! Node: Local Labels1193766 ! Node: Labels as Values1196739 ! Ref: Labels as Values-Footnote-11199266 ! Node: Nested Functions1199451 ! Node: Nonlocal Gotos1203405 ! Node: Constructing Calls1205671 ! Node: Typeof1210386 ! Node: Conditionals1214315 ! Node: __int1281215204 ! Node: Long Long1215729 ! Node: Complex1217220 ! Node: Floating Types1219988 ! Node: Half-Precision1223455 ! Node: Decimal Float1225866 ! Node: Hex Floats1227720 ! Node: Fixed-Point1228794 ! Node: Named Address Spaces1232052 ! Ref: AVR Named Address Spaces1232738 ! Node: Zero Length1239761 ! Node: Empty Structures1243942 ! Node: Variable Length1244348 ! Node: Variadic Macros1247066 ! Node: Escaped Newlines1249444 ! Node: Subscripting1250305 ! Node: Pointer Arith1251030 ! Node: Variadic Pointer Args1251607 ! Node: Pointers to Arrays1252332 ! Node: Initializers1253085 ! Node: Compound Literals1253586 ! Node: Designated Inits1257153 ! Node: Case Ranges1261077 ! Node: Cast to Union1261758 ! Node: Mixed Declarations1263481 ! Node: Function Attributes1263991 ! Node: Common Function Attributes1268447 ! Node: AArch64 Function Attributes1327103 ! Node: AMD GCN Function Attributes1333074 ! Node: ARC Function Attributes1336127 ! Node: ARM Function Attributes1338449 ! Node: AVR Function Attributes1343588 ! Node: Blackfin Function Attributes1348123 ! Node: CR16 Function Attributes1350621 ! Node: C-SKY Function Attributes1351145 ! Node: Epiphany Function Attributes1352442 ! Node: H8/300 Function Attributes1355197 ! Node: IA-64 Function Attributes1356395 ! Node: M32C Function Attributes1357437 ! Node: M32R/D Function Attributes1359775 ! Node: m68k Function Attributes1361249 ! Node: MCORE Function Attributes1362193 ! Node: MeP Function Attributes1363004 ! Node: MicroBlaze Function Attributes1364305 ! Node: Microsoft Windows Function Attributes1365812 ! Node: MIPS Function Attributes1370381 ! Node: MSP430 Function Attributes1375999 ! Node: NDS32 Function Attributes1380052 ! Node: Nios II Function Attributes1382476 ! Node: Nvidia PTX Function Attributes1383773 ! Node: PowerPC Function Attributes1384388 ! Node: RISC-V Function Attributes1391443 ! Node: RL78 Function Attributes1392859 ! Node: RX Function Attributes1394098 ! Node: S/390 Function Attributes1396645 ! Node: SH Function Attributes1398473 ! Node: SPU Function Attributes1401894 ! Node: Symbian OS Function Attributes1402702 ! Node: V850 Function Attributes1403039 ! Node: Visium Function Attributes1403584 ! Node: x86 Function Attributes1404112 ! Node: Xstormy16 Function Attributes1426601 ! Node: Variable Attributes1427108 ! Node: Common Variable Attributes1428669 ! Node: ARC Variable Attributes1446470 ! Node: AVR Variable Attributes1446852 ! Node: Blackfin Variable Attributes1452014 ! Node: H8/300 Variable Attributes1452872 ! Node: IA-64 Variable Attributes1453945 ! Node: M32R/D Variable Attributes1454696 ! Node: MeP Variable Attributes1455479 ! Node: Microsoft Windows Variable Attributes1457572 ! Node: MSP430 Variable Attributes1460025 ! Node: Nvidia PTX Variable Attributes1461226 ! Node: PowerPC Variable Attributes1461843 ! Node: RL78 Variable Attributes1462400 ! Node: SPU Variable Attributes1462818 ! Node: V850 Variable Attributes1463183 ! Node: x86 Variable Attributes1463815 ! Node: Xstormy16 Variable Attributes1464871 ! Node: Type Attributes1465441 ! Node: Common Type Attributes1467129 ! Node: ARC Type Attributes1488621 ! Node: ARM Type Attributes1489093 ! Node: MeP Type Attributes1489875 ! Node: PowerPC Type Attributes1490277 ! Node: SPU Type Attributes1491266 ! Node: x86 Type Attributes1491685 ! Node: Label Attributes1492673 ! Node: Enumerator Attributes1494606 ! Node: Statement Attributes1495925 ! Node: Attribute Syntax1497408 ! Node: Function Prototypes1508666 ! Node: C++ Comments1510446 ! Node: Dollar Signs1510965 ! Node: Character Escapes1511430 ! Node: Alignment1511714 ! Node: Inline1513367 ! Node: Volatiles1518184 ! Node: Using Assembly Language with C1521083 ! Node: Basic Asm1522320 ! Node: Extended Asm1527770 ! Ref: Volatile1531869 ! Ref: AssemblerTemplate1535989 ! Ref: OutputOperands1540229 ! Ref: FlagOutputOperands1547192 ! Ref: InputOperands1549233 ! Ref: Clobbers and Scratch Registers1553501 ! Ref: GotoLabels1562142 ! Ref: x86Operandmodifiers1564277 ! Ref: x86floatingpointasmoperands1567434 ! Node: Constraints1570763 ! Node: Simple Constraints1571869 ! Node: Multi-Alternative1579183 ! Node: Modifiers1580858 ! Node: Machine Constraints1583656 ! Node: Asm Labels1646850 ! Node: Explicit Register Variables1648470 ! Ref: Explicit Reg Vars1648684 ! Node: Global Register Variables1649293 ! Ref: Global Reg Vars1649501 ! Node: Local Register Variables1654283 ! Ref: Local Reg Vars1654503 ! Node: Size of an asm1658131 ! Node: Alternate Keywords1659609 ! Node: Incomplete Enums1661108 ! Node: Function Names1661865 ! Node: Return Address1663763 ! Node: Vector Extensions1667704 ! Node: Offsetof1677469 ! Node: __sync Builtins1678302 ! Node: __atomic Builtins1684745 ! Node: Integer Overflow Builtins1698370 ! Node: x86 specific memory model extensions for transactional memory1704853 ! Node: Object Size Checking1706119 ! Node: Other Builtins1712375 ! Node: Target Builtins1761603 ! Node: AArch64 Built-in Functions1763267 ! Node: Alpha Built-in Functions1763722 ! Node: Altera Nios II Built-in Functions1766770 ! Node: ARC Built-in Functions1771139 ! Node: ARC SIMD Built-in Functions1776351 ! Node: ARM iWMMXt Built-in Functions1785247 ! Node: ARM C Language Extensions (ACLE)1792243 ! Node: ARM Floating Point Status and Control Intrinsics1793582 ! Node: ARM ARMv8-M Security Extensions1794067 ! Node: AVR Built-in Functions1795412 ! Node: Blackfin Built-in Functions1799173 ! Node: FR-V Built-in Functions1799792 ! Node: Argument Types1800660 ! Node: Directly-mapped Integer Functions1802414 ! Node: Directly-mapped Media Functions1803498 ! Node: Raw read/write Functions1811704 ! Node: Other Built-in Functions1812612 ! Node: MIPS DSP Built-in Functions1813798 ! Node: MIPS Paired-Single Support1826295 ! Node: MIPS Loongson Built-in Functions1827794 ! Node: Paired-Single Arithmetic1834316 ! Node: Paired-Single Built-in Functions1835264 ! Node: MIPS-3D Built-in Functions1837931 ! Node: MIPS SIMD Architecture (MSA) Support1843325 ! Node: MIPS SIMD Architecture Built-in Functions1846165 ! Node: Other MIPS Built-in Functions1872995 ! Node: MSP430 Built-in Functions1874004 ! Node: NDS32 Built-in Functions1875405 ! Node: picoChip Built-in Functions1876698 ! Node: Basic PowerPC Built-in Functions1878047 ! Node: Basic PowerPC Built-in Functions Available on all Configurations1878847 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.051886902 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.061891761 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.071893841 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.01894695 ! Node: PowerPC AltiVec/VSX Built-in Functions1901611 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.051905285 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.061994523 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072018968 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02040172 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2074887 ! Node: PowerPC Atomic Memory Operation Functions2083402 ! Node: RX Built-in Functions2085937 ! Node: S/390 System z Built-in Functions2089955 ! Node: SH Built-in Functions2095185 ! Node: SPARC VIS Built-in Functions2096913 ! Node: SPU Built-in Functions2105442 ! Node: TI C6X Built-in Functions2107159 ! Node: TILE-Gx Built-in Functions2108184 ! Node: TILEPro Built-in Functions2109303 ! Node: x86 Built-in Functions2110403 ! Node: x86 transactional memory intrinsics2174093 ! Node: x86 control-flow protection intrinsics2177360 ! Node: Target Format Checks2179131 ! Node: Solaris Format Checks2179563 ! Node: Darwin Format Checks2179989 ! Node: Pragmas2180952 ! Node: AArch64 Pragmas2181877 ! Node: ARM Pragmas2182334 ! Node: M32C Pragmas2182961 ! Node: MeP Pragmas2184033 ! Node: RS/6000 and PowerPC Pragmas2186101 ! Node: S/390 Pragmas2186841 ! Node: Darwin Pragmas2187407 ! Node: Solaris Pragmas2188460 ! Node: Symbol-Renaming Pragmas2189624 ! Node: Structure-Layout Pragmas2191259 ! Node: Weak Pragmas2193539 ! Node: Diagnostic Pragmas2194274 ! Node: Visibility Pragmas2198465 ! Node: Push/Pop Macro Pragmas2199150 ! Node: Function Specific Option Pragmas2200123 ! Node: Loop-Specific Pragmas2202089 ! Node: Unnamed Fields2203689 ! Node: Thread-Local2205886 ! Node: C99 Thread-Local Edits2207992 ! Node: C++98 Thread-Local Edits2209990 ! Node: Binary constants2213435 ! Node: C++ Extensions2214106 ! Node: C++ Volatiles2215736 ! Node: Restricted Pointers2218084 ! Node: Vague Linkage2219675 ! Node: C++ Interface2223298 ! Ref: C++ Interface-Footnote-12227095 ! Node: Template Instantiation2227233 ! Node: Bound member functions2234716 ! Node: C++ Attributes2236248 ! Node: Function Multiversioning2240320 ! Node: Type Traits2242127 ! Node: C++ Concepts2249077 ! Node: Deprecated Features2250583 ! Node: Backwards Compatibility2252408 ! Node: Objective-C2253480 ! Node: GNU Objective-C runtime API2254087 ! Node: Modern GNU Objective-C runtime API2255094 ! Node: Traditional GNU Objective-C runtime API2257530 ! Node: Executing code before main2258257 ! Node: What you can and what you cannot do in +load2261001 ! Node: Type encoding2263371 ! Node: Legacy type encoding2268512 ! Node: @encode2269602 ! Node: Method signatures2270147 ! Node: Garbage Collection2272139 ! Node: Constant string objects2274829 ! Node: compatibility_alias2277338 ! Node: Exceptions2278063 ! Node: Synchronization2280773 ! Node: Fast enumeration2281957 ! Node: Using fast enumeration2282269 ! Node: c99-like fast enumeration syntax2283480 ! Node: Fast enumeration details2284183 ! Node: Fast enumeration protocol2286523 ! Node: Messaging with the GNU Objective-C runtime2289675 ! Node: Dynamically registering methods2291047 ! Node: Forwarding hook2292738 ! Node: Compatibility2295778 ! Node: Gcov2302334 ! Node: Gcov Intro2302869 ! Node: Invoking Gcov2305587 ! Node: Gcov and Optimization2328422 ! Node: Gcov Data Files2332165 ! Node: Cross-profiling2333574 ! Node: Gcov-tool2335428 ! Node: Gcov-tool Intro2335853 ! Node: Invoking Gcov-tool2337823 ! Node: Gcov-dump2340401 ! Node: Gcov-dump Intro2340723 ! Node: Invoking Gcov-dump2340990 ! Node: Trouble2341591 ! Node: Actual Bugs2343009 ! Node: Interoperation2343456 ! Node: Incompatibilities2350347 ! Node: Fixed Headers2358499 ! Node: Standard Libraries2360157 ! Node: Disappointments2361529 ! Node: C++ Misunderstandings2365888 ! Node: Static Definitions2366699 ! Node: Name lookup2367752 ! Ref: Name lookup-Footnote-12372533 ! Node: Temporaries2372722 ! Node: Copy Assignment2374698 ! Node: Non-bugs2376505 ! Node: Warnings and Errors2387011 ! Node: Bugs2388773 ! Node: Bug Criteria2389240 ! Node: Bug Reporting2391450 ! Node: Service2391668 ! Node: Contributing2392488 ! Node: Funding2393229 ! Node: GNU Project2395719 ! Node: Copying2396365 ! Node: GNU Free Documentation License2433874 ! Node: Contributors2458992 ! Node: Option Index2499965 ! Node: Keyword Index2763444  End Tag Table diff -Nrcpad gcc-9.2.0/gcc/doc/gccinstall.info gcc-9.3.0/gcc/doc/gccinstall.info *** gcc-9.2.0/gcc/doc/gccinstall.info Mon Aug 12 07:51:12 2019 --- gcc-9.3.0/gcc/doc/gccinstall.info Thu Mar 12 11:19:14 2020 *************** Perl version between 5.6.1 and 5.6.24 *** 210,217 **** Necessary when regenerating 'Makefile' dependencies in libiberty. Necessary when regenerating 'libiberty/functions.texi'. Necessary when generating manpages from Texinfo manuals. Used by various ! scripts to generate some files included in SVN (mainly ! Unicode-related and rarely changing) from source tables. Used by 'automake'. --- 210,217 ---- Necessary when regenerating 'Makefile' dependencies in libiberty. Necessary when regenerating 'libiberty/functions.texi'. Necessary when generating manpages from Texinfo manuals. Used by various ! scripts to generate some files included in the source repository ! (mainly Unicode-related and rarely changing) from source tables. Used by 'automake'. *************** Flex version 2.5.4 (or later) *** 326,333 **** Necessary when modifying '*.l' files. Necessary to build GCC during development because the generated ! output files are not included in the SVN repository. They are ! included in releases. Texinfo version 4.7 (or later) --- 326,333 ---- Necessary when modifying '*.l' files. Necessary to build GCC during development because the generated ! output files are not included in the version-controlled source ! repository. They are included in releases. Texinfo version 4.7 (or later) *************** Texinfo version 4.7 (or later) *** 339,346 **** is required for 'make pdf'. Necessary to build GCC documentation during development because the ! generated output files are not included in the SVN repository. ! They are included in releases. TeX (any working version) --- 339,346 ---- is required for 'make pdf'. Necessary to build GCC documentation during development because the ! generated output files are not included in the repository. They ! are included in releases. TeX (any working version) *************** Sphinx version 1.0 (or later) *** 353,363 **** Necessary to regenerate 'jit/docs/_build/texinfo' from the '.rst' files in the directories below 'jit/docs'. ! SVN (any version) SSH (any version) ! Necessary to access the SVN repository. Public releases and weekly ! snapshots of the development sources are also available via FTP. GNU diffutils version 2.7 (or later) --- 353,364 ---- Necessary to regenerate 'jit/docs/_build/texinfo' from the '.rst' files in the directories below 'jit/docs'. ! git (any version) SSH (any version) ! Necessary to access the source repository. Public releases and ! weekly snapshots of the development sources are also available via ! HTTPS. GNU diffutils version 2.7 (or later) *************** File: gccinstall.info, Node: Downloadin *** 374,381 **** 3 Downloading GCC ***************** ! GCC is distributed via SVN and FTP tarballs compressed with 'gzip' or ! 'bzip2'. Please refer to the releases web page for information on how to obtain GCC. --- 375,382 ---- 3 Downloading GCC ***************** ! GCC is distributed via git and via HTTPS as tarballs compressed with ! 'gzip' or 'bzip2'. Please refer to the releases web page for information on how to obtain GCC. *************** native and cross targets. *** 417,425 **** We use SRCDIR to refer to the toplevel source directory for GCC; we use OBJDIR to refer to the toplevel build/object directory. ! If you obtained the sources via SVN, SRCDIR must refer to the top ! 'gcc' directory, the one where the 'MAINTAINERS' file can be found, and ! not its 'gcc' subdirectory, otherwise the build will fail. If either SRCDIR or OBJDIR is located on an automounted NFS file system, the shell's built-in 'pwd' command will return temporary --- 418,427 ---- We use SRCDIR to refer to the toplevel source directory for GCC; we use OBJDIR to refer to the toplevel build/object directory. ! If you obtained the sources by cloning the repository, SRCDIR must ! refer to the top 'gcc' directory, the one where the 'MAINTAINERS' file ! can be found, and not its 'gcc' subdirectory, otherwise the build will ! fail. If either SRCDIR or OBJDIR is located on an automounted NFS file system, the shell's built-in 'pwd' command will return temporary *************** option. *** 1267,1276 **** '--enable-generated-files-in-srcdir' Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi ! files are present in the SVN development tree. When building GCC ! from that development tree, or from one of our snapshots, those ! generated files are placed in your build directory, which allows ! for the source to be in a readonly directory. If you configure with '--enable-generated-files-in-srcdir' then those generated files will go into the source directory. This is --- 1269,1279 ---- '--enable-generated-files-in-srcdir' Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi ! files are present in the repository development tree. When ! building GCC from that development tree, or from one of our ! snapshots, those generated files are placed in your build ! directory, which allows for the source to be in a readonly ! directory. If you configure with '--enable-generated-files-in-srcdir' then those generated files will go into the source directory. This is *************** option. *** 1531,1570 **** '-Werror' are controlled by the Makefiles. '--enable-checking' '--enable-checking=LIST' ! When you specify this option, the compiler is built to perform ! internal consistency checks of the requested complexity. This does ! not change the generated code, but adds error checking within the ! compiler. This will slow down the compiler and may only work ! properly if you are building the compiler with GCC. This is ! 'yes,extra' by default when building from SVN or snapshots, but ! 'release' for releases. The default for building the stage1 ! compiler is 'yes'. More control over the checks may be had by ! specifying LIST. The categories of checks available are 'yes' ! (most common checks 'assert,misc,tree,gc,rtlflag,runtime'), 'no' (no checks at all), 'all' (all but 'valgrind'), 'release' (cheapest ! checks 'assert,runtime') or 'none' (same as 'no'). Individual ! checks can be enabled with these flags 'assert', 'df', 'fold', ! 'gc', 'gcac', 'misc', 'rtl', 'rtlflag', 'runtime', 'tree', 'extra' ! and 'valgrind'. 'extra' adds for 'misc' checking extra checks that ! might affect code generation and should therefore not differ ! between stage1 and later stages. The 'valgrind' check requires the external 'valgrind' simulator, ! available from . The 'df', 'rtl', 'gcac' and ! 'valgrind' checks are very expensive. To disable all checking, ! '--disable-checking' or '--enable-checking=none' must be explicitly ! requested. Disabling assertions will make the compiler and runtime ! slightly faster but increase the risk of undetected internal errors ! causing wrong code to be generated. '--disable-stage1-checking' '--enable-stage1-checking' '--enable-stage1-checking=LIST' ! If no '--enable-checking' option is specified the stage1 compiler ! will be built with 'yes' checking enabled, otherwise the stage1 ! checking flags are the same as specified by '--enable-checking'. ! To build the stage1 compiler with different checking options use '--enable-stage1-checking'. The list of checking options is the same as for '--enable-checking'. If your system is too slow or too small to bootstrap a released compiler with checking for stage1 --- 1534,1586 ---- '-Werror' are controlled by the Makefiles. '--enable-checking' + '--disable-checking' '--enable-checking=LIST' ! This option controls performing internal consistency checks in the ! compiler. It does not change the generated code, but adds error ! checking of the requested complexity. This slows down the compiler ! and may only work properly if you are building the compiler with ! GCC. ! ! When the option is not specified, the active set of checks depends ! on context. Namely, bootstrap stage 1 defaults to ! '--enable-checking=yes', builds from release branches or release ! archives default to '--enable-checking=release', and otherwise ! '--enable-checking=yes,extra' is used. When the option is ! specified without a LIST, the result is the same as ! '--enable-checking=yes'. Likewise, '--disable-checking' is ! equivalent to '--enable-checking=no'. ! ! The categories of checks available in LIST are 'yes' (most common ! checks 'assert,misc,gc,gimple,rtlflag,runtime,tree,types'), 'no' (no checks at all), 'all' (all but 'valgrind'), 'release' (cheapest ! checks 'assert,runtime') or 'none' (same as 'no'). 'release' ! checks are always on and to disable them '--disable-checking' or ! '--enable-checking=no[,]' must be explicitly ! requested. Disabling assertions makes the compiler and runtime ! slightly faster but increases the risk of undetected internal ! errors causing wrong code to be generated. ! ! Individual checks can be enabled with these flags: 'assert', 'df', ! 'extra', 'fold', 'gc', 'gcac', 'gimple', 'misc', 'rtl', 'rtlflag', ! 'runtime', 'tree', 'types' and 'valgrind'. 'extra' extends 'misc' ! checking with extra checks that might affect code generation and ! should therefore not differ between stage1 and later stages in ! bootstrap. The 'valgrind' check requires the external 'valgrind' simulator, ! available from . The 'rtl' checks are ! expensive and the 'df', 'gcac' and 'valgrind' checks are very ! expensive. '--disable-stage1-checking' '--enable-stage1-checking' '--enable-stage1-checking=LIST' ! This option affects only bootstrap build. If no ! '--enable-checking' option is specified the stage1 compiler is ! built with 'yes' checking enabled, otherwise the stage1 checking ! flags are the same as specified by '--enable-checking'. To build ! the stage1 compiler with different checking options use '--enable-stage1-checking'. The list of checking options is the same as for '--enable-checking'. If your system is too slow or too small to bootstrap a released compiler with checking for stage1 *************** option. *** 1852,1858 **** paths PATH1, ..., PATHN. % SRCDIR/configure \ ! --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu If 'hsa' is specified as one of the targets, the compiler will be built with support for HSA GPU accelerators. Because the same --- 1868,1874 ---- paths PATH1, ..., PATHN. % SRCDIR/configure \ ! --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none,hsa If 'hsa' is specified as one of the targets, the compiler will be built with support for HSA GPU accelerators. Because the same *************** occur, this could be the cause. *** 2107,2123 **** The solution is not to use such a directory for building GCC. ! Similarly, when building from SVN or snapshots, or if you modify ! '*.l' files, you need the Flex lexical analyzer generator installed. If ! you do not modify '*.l' files, releases contain the Flex-generated files ! and you do not need Flex installed to build them. There is still one ! Flex-based lexical analyzer (part of the build machinery, not of GCC ! itself) that is used even if you only build the C front end. ! When building from SVN or snapshots, or if you modify Texinfo ! documentation, you need version 4.7 or later of Texinfo installed if you ! want Info documentation to be regenerated. Releases contain Info ! documentation pre-built for the unmodified documentation in the release. 5.1 Building a native compiler ============================== --- 2123,2141 ---- The solution is not to use such a directory for building GCC. ! Similarly, when building from the source repository or snapshots, or ! if you modify '*.l' files, you need the Flex lexical analyzer generator ! installed. If you do not modify '*.l' files, releases contain the ! Flex-generated files and you do not need Flex installed to build them. ! There is still one Flex-based lexical analyzer (part of the build ! machinery, not of GCC itself) that is used even if you only build the C ! front end. ! When building from the source repository or snapshots, or if you ! modify Texinfo documentation, you need version 4.7 or later of Texinfo ! installed if you want Info documentation to be regenerated. Releases ! contain Info documentation pre-built for the unmodified documentation in ! the release. 5.1 Building a native compiler ============================== *************** Concept Index *** 4688,4694 **** * Menu: * Binaries: Binaries. (line 6) ! * build_configargs: Configuration. (line 1603) * Configuration: Configuration. (line 6) * configurations supported by GCC: Configurations. (line 6) * Downloading GCC: Downloading the source. --- 4706,4712 ---- * Menu: * Binaries: Binaries. (line 6) ! * build_configargs: Configuration. (line 1618) * Configuration: Configuration. (line 6) * configurations supported by GCC: Configurations. (line 6) * Downloading GCC: Downloading the source. *************** Concept Index *** 4698,4704 **** * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * Host specific installation: Specific. (line 6) ! * host_configargs: Configuration. (line 1607) * Installing GCC: Binaries: Binaries. (line 6) * Installing GCC: Building: Building. (line 6) * Installing GCC: Configuration: Configuration. (line 6) --- 4716,4722 ---- * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * Host specific installation: Specific. (line 6) ! * host_configargs: Configuration. (line 1622) * Installing GCC: Binaries: Binaries. (line 6) * Installing GCC: Building: Building. (line 6) * Installing GCC: Configuration: Configuration. (line 6) *************** Concept Index *** 4708,4714 **** * Specific installation notes: Specific. (line 6) * Target specific installation: Specific. (line 6) * Target specific installation notes: Specific. (line 6) ! * target_configargs: Configuration. (line 1611) * Testing: Testing. (line 6) * Testsuite: Testing. (line 6) --- 4726,4732 ---- * Specific installation notes: Specific. (line 6) * Target specific installation: Specific. (line 6) * Target specific installation notes: Specific. (line 6) ! * target_configargs: Configuration. (line 1626) * Testing: Testing. (line 6) * Testsuite: Testing. (line 6) *************** Tag Table: *** 4718,4821 **** Node: Top1696 Node: Installing GCC2254 Node: Prerequisites3888 ! Node: Downloading the source14360 ! Node: Configuration16022 ! Ref: with-gnu-as31635 ! Ref: with-as32530 ! Ref: with-gnu-ld33943 ! Ref: WithAixSoname56340 ! Ref: AixLdCommand57001 ! Node: Building93150 ! Node: Testing109724 ! Node: Final install117611 ! Node: Binaries122911 ! Node: Specific124038 ! Ref: aarch64-x-x124545 ! Ref: alpha-x-x126565 ! Ref: amd64-x-solaris210126974 ! Ref: amdgcn-unknown-amdhsa127077 ! Ref: arc-x-elf32127663 ! Ref: arc-linux-uclibc127839 ! Ref: arm-x-eabi127980 ! Ref: avr128233 ! Ref: bfin128814 ! Ref: cr16129056 ! Ref: cris129472 ! Ref: dos130170 ! Ref: epiphany-x-elf130493 ! Ref: x-x-freebsd130598 ! Ref: ft32-x-elf132398 ! Ref: h8300-hms132496 ! Ref: hppa-hp-hpux132848 ! Ref: hppa-hp-hpux10135220 ! Ref: hppa-hp-hpux11135633 ! Ref: x-x-linux-gnu141035 ! Ref: ix86-x-linux141228 ! Ref: ix86-x-solaris210141541 ! Ref: ia64-x-linux142886 ! Ref: ia64-x-hpux143656 ! Ref: x-ibm-aix144211 ! Ref: TransferAixShobj147873 ! Ref: iq2000-x-elf151683 ! Ref: lm32-x-elf151823 ! Ref: lm32-x-uclinux151927 ! Ref: m32c-x-elf152055 ! Ref: m32r-x-elf152157 ! Ref: m68k-x-x152259 ! Ref: m68k-x-uclinux153297 ! Ref: microblaze-x-elf153542 ! Ref: mips-x-x153661 ! Ref: moxie-x-elf155571 ! Ref: msp430-x-elf155618 ! Ref: nds32le-x-elf155721 ! Ref: nds32be-x-elf155793 ! Ref: nvptx-x-none155862 ! Ref: or1k-x-elf156425 ! Ref: or1k-x-linux156556 ! Ref: powerpc-x-x156637 ! Ref: powerpc-x-darwin156828 ! Ref: powerpc-x-elf157322 ! Ref: powerpc-x-linux-gnu157407 ! Ref: powerpc-x-netbsd157502 ! Ref: powerpc-x-eabisim157590 ! Ref: powerpc-x-eabi157716 ! Ref: powerpcle-x-elf157792 ! Ref: powerpcle-x-eabisim157884 ! Ref: powerpcle-x-eabi158017 ! Ref: rl78-x-elf158100 ! Ref: riscv32-x-elf158206 ! Ref: riscv32-x-linux158416 ! Ref: riscv64-x-elf158594 ! Ref: riscv64-x-linux158804 ! Ref: rx-x-elf158982 ! Ref: s390-x-linux159028 ! Ref: s390x-x-linux159100 ! Ref: s390x-ibm-tpf159187 ! Ref: x-x-solaris2159318 ! Ref: sparc-x-x163339 ! Ref: sparc-sun-solaris2163841 ! Ref: sparc-sun-solaris210164980 ! Ref: sparc-x-linux165355 ! Ref: sparc64-x-solaris2165386 ! Ref: sparcv9-x-solaris2165719 ! Ref: c6x-x-x165806 ! Ref: tilegx-*-linux165898 ! Ref: tilegxbe-*-linux166040 ! Ref: tilepro-*-linux166183 ! Ref: visium-x-elf166304 ! Ref: x-x-vxworks166412 ! Ref: x86-64-x-x167935 ! Ref: x86-64-x-solaris210168263 ! Ref: xtensa-x-elf168927 ! Ref: xtensa-x-linux169598 ! Ref: windows169939 ! Ref: x-x-cygwin171780 ! Ref: x-x-mingw32172333 ! Ref: older172559 ! Ref: elf174676 ! Node: Old174934 ! Node: Configurations178067 ! Node: GNU Free Documentation License181605 ! Node: Concept Index206733  End Tag Table --- 4736,4839 ---- Node: Top1696 Node: Installing GCC2254 Node: Prerequisites3888 ! Node: Downloading the source14407 ! Node: Configuration16078 ! Ref: with-gnu-as31709 ! Ref: with-as32604 ! Ref: with-gnu-ld34017 ! Ref: WithAixSoname56426 ! Ref: AixLdCommand57087 ! Node: Building93671 ! Node: Testing110280 ! Node: Final install118167 ! Node: Binaries123467 ! Node: Specific124594 ! Ref: aarch64-x-x125101 ! Ref: alpha-x-x127121 ! Ref: amd64-x-solaris210127530 ! Ref: amdgcn-unknown-amdhsa127633 ! Ref: arc-x-elf32128219 ! Ref: arc-linux-uclibc128395 ! Ref: arm-x-eabi128536 ! Ref: avr128789 ! Ref: bfin129370 ! Ref: cr16129612 ! Ref: cris130028 ! Ref: dos130726 ! Ref: epiphany-x-elf131049 ! Ref: x-x-freebsd131154 ! Ref: ft32-x-elf132954 ! Ref: h8300-hms133052 ! Ref: hppa-hp-hpux133404 ! Ref: hppa-hp-hpux10135776 ! Ref: hppa-hp-hpux11136189 ! Ref: x-x-linux-gnu141591 ! Ref: ix86-x-linux141784 ! Ref: ix86-x-solaris210142097 ! Ref: ia64-x-linux143442 ! Ref: ia64-x-hpux144212 ! Ref: x-ibm-aix144767 ! Ref: TransferAixShobj148429 ! Ref: iq2000-x-elf152239 ! Ref: lm32-x-elf152379 ! Ref: lm32-x-uclinux152483 ! Ref: m32c-x-elf152611 ! Ref: m32r-x-elf152713 ! Ref: m68k-x-x152815 ! Ref: m68k-x-uclinux153853 ! Ref: microblaze-x-elf154098 ! Ref: mips-x-x154217 ! Ref: moxie-x-elf156127 ! Ref: msp430-x-elf156174 ! Ref: nds32le-x-elf156277 ! Ref: nds32be-x-elf156349 ! Ref: nvptx-x-none156418 ! Ref: or1k-x-elf156981 ! Ref: or1k-x-linux157112 ! Ref: powerpc-x-x157193 ! Ref: powerpc-x-darwin157384 ! Ref: powerpc-x-elf157878 ! Ref: powerpc-x-linux-gnu157963 ! Ref: powerpc-x-netbsd158058 ! Ref: powerpc-x-eabisim158146 ! Ref: powerpc-x-eabi158272 ! Ref: powerpcle-x-elf158348 ! Ref: powerpcle-x-eabisim158440 ! Ref: powerpcle-x-eabi158573 ! Ref: rl78-x-elf158656 ! Ref: riscv32-x-elf158762 ! Ref: riscv32-x-linux158972 ! Ref: riscv64-x-elf159150 ! Ref: riscv64-x-linux159360 ! Ref: rx-x-elf159538 ! Ref: s390-x-linux159584 ! Ref: s390x-x-linux159656 ! Ref: s390x-ibm-tpf159743 ! Ref: x-x-solaris2159874 ! Ref: sparc-x-x163895 ! Ref: sparc-sun-solaris2164397 ! Ref: sparc-sun-solaris210165536 ! Ref: sparc-x-linux165911 ! Ref: sparc64-x-solaris2165942 ! Ref: sparcv9-x-solaris2166275 ! Ref: c6x-x-x166362 ! Ref: tilegx-*-linux166454 ! Ref: tilegxbe-*-linux166596 ! Ref: tilepro-*-linux166739 ! Ref: visium-x-elf166860 ! Ref: x-x-vxworks166968 ! Ref: x86-64-x-x168491 ! Ref: x86-64-x-solaris210168819 ! Ref: xtensa-x-elf169483 ! Ref: xtensa-x-linux170154 ! Ref: windows170495 ! Ref: x-x-cygwin172336 ! Ref: x-x-mingw32172889 ! Ref: older173115 ! Ref: elf175232 ! Node: Old175490 ! Node: Configurations178623 ! Node: GNU Free Documentation License182161 ! Node: Concept Index207289  End Tag Table diff -Nrcpad gcc-9.2.0/gcc/doc/gccint.info gcc-9.3.0/gcc/doc/gccint.info *** gcc-9.2.0/gcc/doc/gccint.info Mon Aug 12 07:51:21 2019 --- gcc-9.3.0/gcc/doc/gccint.info Thu Mar 12 11:19:24 2020 *************** Introduction *** 55,61 **** This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages. It corresponds to the compilers (GCC) ! version 9.2.0. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. This manual is mainly a reference manual rather than a tutorial. It --- 55,61 ---- This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages. It corresponds to the compilers (GCC) ! version 9.3.0. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. This manual is mainly a reference manual rather than a tutorial. It *************** File: gccint.info, Node: Contributing, *** 119,126 **** ********************************* If you would like to help pretest GCC releases to assure they work well, ! current development sources are available by SVN (see ! ). Source and binary snapshots are also available for FTP; see . If you would like to work on improvements to GCC, please read the --- 119,126 ---- ********************************* If you would like to help pretest GCC releases to assure they work well, ! current development sources are available via Git (see ! ). Source and binary snapshots are also available for FTP; see . If you would like to work on improvements to GCC, please read the *************** _RL78--'config/rl78/constraints.md'_ *** 23629,23635 **** _RISC-V--'config/riscv/constraints.md'_ 'f' ! A floating-point register (if availiable). 'I' An I-type 12-bit signed immediate. --- 23629,23635 ---- _RISC-V--'config/riscv/constraints.md'_ 'f' ! A floating-point register (if available). 'I' An I-type 12-bit signed immediate. *************** Concept Index *** 55262,55521 **** Tag Table: Node: Top1789 Node: Contributing5108 ! Node: Portability5837 ! Node: Interface7625 ! Node: Libgcc10666 ! Node: Integer library routines12493 ! Node: Soft float library routines19461 ! Node: Decimal float library routines31399 ! Node: Fixed-point fractional library routines47157 ! Node: Exception handling routines147553 ! Node: Miscellaneous routines148660 ! Node: Languages150780 ! Node: Source Tree152327 ! Node: Configure Terms152909 ! Node: Top Level155865 ! Node: gcc Directory159450 ! Node: Subdirectories160402 ! Node: Configuration162570 ! Node: Config Fragments163290 ! Node: System Config164515 ! Node: Configuration Files165451 ! Node: Build168067 ! Node: Makefile168479 ! Ref: Makefile-Footnote-1175254 ! Ref: Makefile-Footnote-2175401 ! Node: Library Files175475 ! Node: Headers176037 ! Node: Documentation178120 ! Node: Texinfo Manuals178979 ! Node: Man Page Generation181308 ! Node: Miscellaneous Docs183221 ! Node: Front End184608 ! Node: Front End Directory188282 ! Node: Front End Config189598 ! Node: Front End Makefile192434 ! Node: Back End196202 ! Node: Testsuites201088 ! Node: Test Idioms202077 ! Node: Test Directives205475 ! Node: Directives206002 ! Node: Selectors216900 ! Node: Effective-Target Keywords218256 ! Ref: arm_fp_ok229499 ! Ref: arm_neon_ok230581 ! Ref: arm_neon_ok_no_float_abi230750 ! Ref: arm_neonv2_ok230917 ! Ref: arm_fp16_ok231084 ! Ref: arm_neon_fp16_ok231426 ! Ref: arm_vfp3_ok232302 ! Ref: arm_v8_1a_neon_ok232728 ! Ref: arm_v8_2a_fp16_scalar_ok233156 ! Ref: arm_v8_2a_fp16_neon_ok233607 ! Ref: arm_v8_2a_dotprod_neon_ok234082 ! Ref: arm_fp16fml_neon_ok234502 ! Ref: arm_coproc1_ok235344 ! Ref: arm_coproc2_ok235470 ! Ref: arm_coproc3_ok235698 ! Ref: stack_size_et246920 ! Node: Add Options249363 ! Ref: arm_fp16_ieee250381 ! Ref: arm_fp16_alternative250636 ! Ref: stack_size_ao252887 ! Node: Require Support253249 ! Node: Final Actions256078 ! Node: Ada Tests261817 ! Node: C Tests262980 ! Node: LTO Testing267352 ! Node: gcov Testing268995 ! Node: profopt Testing271965 ! Node: compat Testing273680 ! Node: Torture Tests277920 ! Node: GIMPLE Tests279554 ! Node: RTL Tests280796 ! Node: Options282102 ! Node: Option file format282543 ! Node: Option properties289532 ! Node: Passes305602 ! Node: Parsing pass306418 ! Node: Gimplification pass309946 ! Node: Pass manager311779 ! Node: Tree SSA passes313625 ! Node: RTL passes335167 ! Node: Optimization info347431 ! Node: Dump setup348250 ! Node: Optimization groups349379 ! Node: Dump files and streams350358 ! Node: Dump output verbosity351556 ! Node: Dump types352612 ! Node: Dump examples354954 ! Node: poly_int356435 ! Node: Overview of poly_int357915 ! Node: Consequences of using poly_int360519 ! Node: Comparisons involving poly_int362154 ! Node: Comparison functions for poly_int363792 ! Node: Properties of the poly_int comparisons364999 ! Node: Comparing potentially-unordered poly_ints367441 ! Node: Comparing ordered poly_ints368352 ! Node: Checking for a poly_int marker value370376 ! Node: Range checks on poly_ints371225 ! Node: Sorting poly_ints373879 ! Node: Arithmetic on poly_ints374652 ! Node: Using poly_int with C++ arithmetic operators375453 ! Node: wi arithmetic on poly_ints376984 ! Node: Division of poly_ints377836 ! Node: Other poly_int arithmetic379343 ! Node: Alignment of poly_ints380749 ! Node: Computing bounds on poly_ints384026 ! Node: Converting poly_ints384807 ! Node: Miscellaneous poly_int routines388354 ! Node: Guidelines for using poly_int388994 ! Node: GENERIC393926 ! Node: Deficiencies395804 ! Node: Tree overview396045 ! Node: Macros and Functions400169 ! Node: Identifiers400994 ! Node: Containers402603 ! Node: Types403760 ! Node: Declarations415834 ! Node: Working with declarations416329 ! Node: Internal structure421933 ! Node: Current structure hierarchy422317 ! Node: Adding new DECL node types424410 ! Node: Attributes428694 ! Node: Expression trees429938 ! Node: Constant expressions431692 ! Node: Storage References437784 ! Node: Unary and Binary Expressions441303 ! Node: Vectors462159 ! Node: Statements469063 ! Node: Basic Statements469595 ! Node: Blocks474222 ! Node: Statement Sequences475923 ! Node: Empty Statements476256 ! Node: Jumps476830 ! Node: Cleanups477483 ! Node: OpenMP479250 ! Node: OpenACC485095 ! Node: Functions486136 ! Node: Function Basics486607 ! Node: Function Properties490291 ! Node: Language-dependent trees493072 ! Node: C and C++ Trees493959 ! Node: Types for C++496863 ! Node: Namespaces501833 ! Node: Classes504939 ! Node: Functions for C++509847 ! Node: Statements for C++516098 ! Node: C++ Expressions524151 ! Node: Java Trees525656 ! Node: GIMPLE525769 ! Node: Tuple representation529434 ! Node: Class hierarchy of GIMPLE statements536394 ! Node: GIMPLE instruction set541382 ! Node: GIMPLE Exception Handling543014 ! Node: Temporaries544926 ! Ref: Temporaries-Footnote-1546244 ! Node: Operands546309 ! Node: Compound Expressions547070 ! Node: Compound Lvalues547304 ! Node: Conditional Expressions548066 ! Node: Logical Operators548725 ! Node: Manipulating GIMPLE statements556072 ! Node: Tuple specific accessors562008 ! Node: GIMPLE_ASM562787 ! Node: GIMPLE_ASSIGN565170 ! Node: GIMPLE_BIND569874 ! Node: GIMPLE_CALL571688 ! Node: GIMPLE_CATCH575831 ! Node: GIMPLE_COND576981 ! Node: GIMPLE_DEBUG579776 ! Node: GIMPLE_EH_FILTER584374 ! Node: GIMPLE_LABEL585937 ! Node: GIMPLE_GOTO586550 ! Node: GIMPLE_NOP587073 ! Node: GIMPLE_OMP_ATOMIC_LOAD587435 ! Node: GIMPLE_OMP_ATOMIC_STORE588431 ! Node: GIMPLE_OMP_CONTINUE589130 ! Node: GIMPLE_OMP_CRITICAL590609 ! Node: GIMPLE_OMP_FOR591603 ! Node: GIMPLE_OMP_MASTER595019 ! Node: GIMPLE_OMP_ORDERED595397 ! Node: GIMPLE_OMP_PARALLEL595791 ! Node: GIMPLE_OMP_RETURN598560 ! Node: GIMPLE_OMP_SECTION599205 ! Node: GIMPLE_OMP_SECTIONS599865 ! Node: GIMPLE_OMP_SINGLE601475 ! Node: GIMPLE_PHI602421 ! Node: GIMPLE_RESX603700 ! Node: GIMPLE_RETURN604419 ! Node: GIMPLE_SWITCH604993 ! Node: GIMPLE_TRY606868 ! Node: GIMPLE_WITH_CLEANUP_EXPR608640 ! Node: GIMPLE sequences609519 ! Node: Sequence iterators612725 ! Node: Adding a new GIMPLE statement code621182 ! Node: Statement and operand traversals622527 ! Node: Tree SSA625119 ! Node: Annotations626907 ! Node: SSA Operands627312 ! Node: SSA641387 ! Node: Alias analysis651093 ! Node: Memory model654867 ! Node: RTL656226 ! Node: RTL Objects658414 ! Node: RTL Classes662298 ! Node: Accessors667597 ! Node: Special Accessors669770 ! Node: Flags675557 ! Node: Machine Modes690820 ! Node: Constants708226 ! Node: Regs and Memory719615 ! Node: Arithmetic738867 ! Node: Comparisons749042 ! Node: Bit-Fields753334 ! Node: Vector Operations754885 ! Node: Conversions756989 ! Node: RTL Declarations761487 ! Node: Side Effects762331 ! Node: Incdec779938 ! Node: Assembler783274 ! Node: Debug Information784819 ! Node: Insns786746 ! Node: Calls814602 ! Node: Sharing817195 ! Node: Reading RTL820390 ! Node: Control Flow821381 ! Node: Basic Blocks823149 ! Node: Edges828603 ! Node: Profile information837222 ! Node: Maintaining the CFG841906 ! Node: Liveness information847674 ! Node: Loop Analysis and Representation849800 ! Node: Loop representation850836 ! Node: Loop querying858399 ! Node: Loop manipulation861220 ! Node: LCSSA863556 ! Node: Scalar evolutions865625 ! Node: loop-iv868869 ! Node: Number of iterations870791 ! Node: Dependency analysis874872 ! Node: Machine Desc881223 ! Node: Overview883786 ! Node: Patterns885826 ! Node: Example890793 ! Node: RTL Template892254 ! Node: Output Template902910 ! Node: Output Statement907091 ! Node: Predicates911430 ! Node: Machine-Independent Predicates914348 ! Node: Defining Predicates919292 ! Node: Constraints925255 ! Node: Simple Constraints926724 ! Node: Multi-Alternative939564 ! Node: Class Preferences942773 ! Node: Modifiers943665 ! Node: Machine Constraints948398 Node: Disable Insn Alternatives1014850 Node: Define Constraints1018342 Node: C Constraint Interface1025736 --- 55262,55521 ---- Tag Table: Node: Top1789 Node: Contributing5108 ! Node: Portability5838 ! Node: Interface7626 ! Node: Libgcc10667 ! Node: Integer library routines12494 ! Node: Soft float library routines19462 ! Node: Decimal float library routines31400 ! Node: Fixed-point fractional library routines47158 ! Node: Exception handling routines147554 ! Node: Miscellaneous routines148661 ! Node: Languages150781 ! Node: Source Tree152328 ! Node: Configure Terms152910 ! Node: Top Level155866 ! Node: gcc Directory159451 ! Node: Subdirectories160403 ! Node: Configuration162571 ! Node: Config Fragments163291 ! Node: System Config164516 ! Node: Configuration Files165452 ! Node: Build168068 ! Node: Makefile168480 ! Ref: Makefile-Footnote-1175255 ! Ref: Makefile-Footnote-2175402 ! Node: Library Files175476 ! Node: Headers176038 ! Node: Documentation178121 ! Node: Texinfo Manuals178980 ! Node: Man Page Generation181309 ! Node: Miscellaneous Docs183222 ! Node: Front End184609 ! Node: Front End Directory188283 ! Node: Front End Config189599 ! Node: Front End Makefile192435 ! Node: Back End196203 ! Node: Testsuites201089 ! Node: Test Idioms202078 ! Node: Test Directives205476 ! Node: Directives206003 ! Node: Selectors216901 ! Node: Effective-Target Keywords218257 ! Ref: arm_fp_ok229500 ! Ref: arm_neon_ok230582 ! Ref: arm_neon_ok_no_float_abi230751 ! Ref: arm_neonv2_ok230918 ! Ref: arm_fp16_ok231085 ! Ref: arm_neon_fp16_ok231427 ! Ref: arm_vfp3_ok232303 ! Ref: arm_v8_1a_neon_ok232729 ! Ref: arm_v8_2a_fp16_scalar_ok233157 ! Ref: arm_v8_2a_fp16_neon_ok233608 ! Ref: arm_v8_2a_dotprod_neon_ok234083 ! Ref: arm_fp16fml_neon_ok234503 ! Ref: arm_coproc1_ok235345 ! Ref: arm_coproc2_ok235471 ! Ref: arm_coproc3_ok235699 ! Ref: stack_size_et246921 ! Node: Add Options249364 ! Ref: arm_fp16_ieee250382 ! Ref: arm_fp16_alternative250637 ! Ref: stack_size_ao252888 ! Node: Require Support253250 ! Node: Final Actions256079 ! Node: Ada Tests261818 ! Node: C Tests262981 ! Node: LTO Testing267353 ! Node: gcov Testing268996 ! Node: profopt Testing271966 ! Node: compat Testing273681 ! Node: Torture Tests277921 ! Node: GIMPLE Tests279555 ! Node: RTL Tests280797 ! Node: Options282103 ! Node: Option file format282544 ! Node: Option properties289533 ! Node: Passes305603 ! Node: Parsing pass306419 ! Node: Gimplification pass309947 ! Node: Pass manager311780 ! Node: Tree SSA passes313626 ! Node: RTL passes335168 ! Node: Optimization info347432 ! Node: Dump setup348251 ! Node: Optimization groups349380 ! Node: Dump files and streams350359 ! Node: Dump output verbosity351557 ! Node: Dump types352613 ! Node: Dump examples354955 ! Node: poly_int356436 ! Node: Overview of poly_int357916 ! Node: Consequences of using poly_int360520 ! Node: Comparisons involving poly_int362155 ! Node: Comparison functions for poly_int363793 ! Node: Properties of the poly_int comparisons365000 ! Node: Comparing potentially-unordered poly_ints367442 ! Node: Comparing ordered poly_ints368353 ! Node: Checking for a poly_int marker value370377 ! Node: Range checks on poly_ints371226 ! Node: Sorting poly_ints373880 ! Node: Arithmetic on poly_ints374653 ! Node: Using poly_int with C++ arithmetic operators375454 ! Node: wi arithmetic on poly_ints376985 ! Node: Division of poly_ints377837 ! Node: Other poly_int arithmetic379344 ! Node: Alignment of poly_ints380750 ! Node: Computing bounds on poly_ints384027 ! Node: Converting poly_ints384808 ! Node: Miscellaneous poly_int routines388355 ! Node: Guidelines for using poly_int388995 ! Node: GENERIC393927 ! Node: Deficiencies395805 ! Node: Tree overview396046 ! Node: Macros and Functions400170 ! Node: Identifiers400995 ! Node: Containers402604 ! Node: Types403761 ! Node: Declarations415835 ! Node: Working with declarations416330 ! Node: Internal structure421934 ! Node: Current structure hierarchy422318 ! Node: Adding new DECL node types424411 ! Node: Attributes428695 ! Node: Expression trees429939 ! Node: Constant expressions431693 ! Node: Storage References437785 ! Node: Unary and Binary Expressions441304 ! Node: Vectors462160 ! Node: Statements469064 ! Node: Basic Statements469596 ! Node: Blocks474223 ! Node: Statement Sequences475924 ! Node: Empty Statements476257 ! Node: Jumps476831 ! Node: Cleanups477484 ! Node: OpenMP479251 ! Node: OpenACC485096 ! Node: Functions486137 ! Node: Function Basics486608 ! Node: Function Properties490292 ! Node: Language-dependent trees493073 ! Node: C and C++ Trees493960 ! Node: Types for C++496864 ! Node: Namespaces501834 ! Node: Classes504940 ! Node: Functions for C++509848 ! Node: Statements for C++516099 ! Node: C++ Expressions524152 ! Node: Java Trees525657 ! Node: GIMPLE525770 ! Node: Tuple representation529435 ! Node: Class hierarchy of GIMPLE statements536395 ! Node: GIMPLE instruction set541383 ! Node: GIMPLE Exception Handling543015 ! Node: Temporaries544927 ! Ref: Temporaries-Footnote-1546245 ! Node: Operands546310 ! Node: Compound Expressions547071 ! Node: Compound Lvalues547305 ! Node: Conditional Expressions548067 ! Node: Logical Operators548726 ! Node: Manipulating GIMPLE statements556073 ! Node: Tuple specific accessors562009 ! Node: GIMPLE_ASM562788 ! Node: GIMPLE_ASSIGN565171 ! Node: GIMPLE_BIND569875 ! Node: GIMPLE_CALL571689 ! Node: GIMPLE_CATCH575832 ! Node: GIMPLE_COND576982 ! Node: GIMPLE_DEBUG579777 ! Node: GIMPLE_EH_FILTER584375 ! Node: GIMPLE_LABEL585938 ! Node: GIMPLE_GOTO586551 ! Node: GIMPLE_NOP587074 ! Node: GIMPLE_OMP_ATOMIC_LOAD587436 ! Node: GIMPLE_OMP_ATOMIC_STORE588432 ! Node: GIMPLE_OMP_CONTINUE589131 ! Node: GIMPLE_OMP_CRITICAL590610 ! Node: GIMPLE_OMP_FOR591604 ! Node: GIMPLE_OMP_MASTER595020 ! Node: GIMPLE_OMP_ORDERED595398 ! Node: GIMPLE_OMP_PARALLEL595792 ! Node: GIMPLE_OMP_RETURN598561 ! Node: GIMPLE_OMP_SECTION599206 ! Node: GIMPLE_OMP_SECTIONS599866 ! Node: GIMPLE_OMP_SINGLE601476 ! Node: GIMPLE_PHI602422 ! Node: GIMPLE_RESX603701 ! Node: GIMPLE_RETURN604420 ! Node: GIMPLE_SWITCH604994 ! Node: GIMPLE_TRY606869 ! Node: GIMPLE_WITH_CLEANUP_EXPR608641 ! Node: GIMPLE sequences609520 ! Node: Sequence iterators612726 ! Node: Adding a new GIMPLE statement code621183 ! Node: Statement and operand traversals622528 ! Node: Tree SSA625120 ! Node: Annotations626908 ! Node: SSA Operands627313 ! Node: SSA641388 ! Node: Alias analysis651094 ! Node: Memory model654868 ! Node: RTL656227 ! Node: RTL Objects658415 ! Node: RTL Classes662299 ! Node: Accessors667598 ! Node: Special Accessors669771 ! Node: Flags675558 ! Node: Machine Modes690821 ! Node: Constants708227 ! Node: Regs and Memory719616 ! Node: Arithmetic738868 ! Node: Comparisons749043 ! Node: Bit-Fields753335 ! Node: Vector Operations754886 ! Node: Conversions756990 ! Node: RTL Declarations761488 ! Node: Side Effects762332 ! Node: Incdec779939 ! Node: Assembler783275 ! Node: Debug Information784820 ! Node: Insns786747 ! Node: Calls814603 ! Node: Sharing817196 ! Node: Reading RTL820391 ! Node: Control Flow821382 ! Node: Basic Blocks823150 ! Node: Edges828604 ! Node: Profile information837223 ! Node: Maintaining the CFG841907 ! Node: Liveness information847675 ! Node: Loop Analysis and Representation849801 ! Node: Loop representation850837 ! Node: Loop querying858400 ! Node: Loop manipulation861221 ! Node: LCSSA863557 ! Node: Scalar evolutions865626 ! Node: loop-iv868870 ! Node: Number of iterations870792 ! Node: Dependency analysis874873 ! Node: Machine Desc881224 ! Node: Overview883787 ! Node: Patterns885827 ! Node: Example890794 ! Node: RTL Template892255 ! Node: Output Template902911 ! Node: Output Statement907092 ! Node: Predicates911431 ! Node: Machine-Independent Predicates914349 ! Node: Defining Predicates919293 ! Node: Constraints925256 ! Node: Simple Constraints926725 ! Node: Multi-Alternative939565 ! Node: Class Preferences942774 ! Node: Modifiers943666 ! Node: Machine Constraints948399 Node: Disable Insn Alternatives1014850 Node: Define Constraints1018342 Node: C Constraint Interface1025736 diff -Nrcpad gcc-9.2.0/gcc/doc/gcov-dump.1 gcc-9.3.0/gcc/doc/gcov-dump.1 *** gcc-9.2.0/gcc/doc/gcov-dump.1 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/gcov-dump.1 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/gcov-tool.1 gcc-9.3.0/gcc/doc/gcov-tool.1 *** gcc-9.2.0/gcc/doc/gcov-tool.1 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/gcov-tool.1 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/gcov.1 gcc-9.3.0/gcc/doc/gcov.1 *** gcc-9.2.0/gcc/doc/gcov.1 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/gcov.1 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/gfdl.7 gcc-9.3.0/gcc/doc/gfdl.7 *** gcc-9.2.0/gcc/doc/gfdl.7 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/gfdl.7 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/gfortran.1 gcc-9.3.0/gcc/doc/gfortran.1 *** gcc-9.2.0/gcc/doc/gfortran.1 Mon Aug 12 07:51:11 2019 --- gcc-9.3.0/gcc/doc/gfortran.1 Thu Mar 12 11:19:14 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/gpl.7 gcc-9.3.0/gcc/doc/gpl.7 *** gcc-9.2.0/gcc/doc/gpl.7 Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/doc/gpl.7 Thu Mar 12 11:09:26 2020 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2019-08-12" "gcc-9.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2020-03-12" "gcc-9.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-9.2.0/gcc/doc/install.texi gcc-9.3.0/gcc/doc/install.texi *** gcc-9.2.0/gcc/doc/install.texi Fri Apr 12 20:13:34 2019 --- gcc-9.3.0/gcc/doc/install.texi Thu Mar 12 11:07:21 2020 *************** and up works. *** 335,342 **** Necessary when regenerating @file{Makefile} dependencies in libiberty. Necessary when regenerating @file{libiberty/functions.texi}. Necessary when generating manpages from Texinfo manuals. ! Used by various scripts to generate some files included in SVN (mainly ! Unicode-related and rarely changing) from source tables. Used by @command{automake}. --- 335,343 ---- Necessary when regenerating @file{Makefile} dependencies in libiberty. Necessary when regenerating @file{libiberty/functions.texi}. Necessary when generating manpages from Texinfo manuals. ! Used by various scripts to generate some files included in the source ! repository (mainly Unicode-related and rarely changing) from source ! tables. Used by @command{automake}. *************** Necessary to regenerate the top level @f *** 458,465 **** Necessary when modifying @file{*.l} files. Necessary to build GCC during development because the generated output ! files are not included in the SVN repository. They are included in ! releases. @item Texinfo version 4.7 (or later) --- 459,466 ---- Necessary when modifying @file{*.l} files. Necessary to build GCC during development because the generated output ! files are not included in the version-controlled source repository. ! They are included in releases. @item Texinfo version 4.7 (or later) *************** create printable documentation in DVI or *** 471,477 **** 4.8 or later is required for @command{make pdf}. Necessary to build GCC documentation during development because the ! generated output files are not included in the SVN repository. They are included in releases. @item @TeX{} (any working version) --- 472,478 ---- 4.8 or later is required for @command{make pdf}. Necessary to build GCC documentation during development because the ! generated output files are not included in the repository. They are included in releases. @item @TeX{} (any working version) *************** DVI or PDF files, respectively. *** 485,495 **** Necessary to regenerate @file{jit/docs/_build/texinfo} from the @file{.rst} files in the directories below @file{jit/docs}. ! @item SVN (any version) @itemx SSH (any version) ! Necessary to access the SVN repository. Public releases and weekly ! snapshots of the development sources are also available via FTP@. @item GNU diffutils version 2.7 (or later) --- 486,496 ---- Necessary to regenerate @file{jit/docs/_build/texinfo} from the @file{.rst} files in the directories below @file{jit/docs}. ! @item git (any version) @itemx SSH (any version) ! Necessary to access the source repository. Public releases and weekly ! snapshots of the development sources are also available via HTTPS@. @item GNU diffutils version 2.7 (or later) *************** own sources. *** 523,531 **** @cindex Downloading GCC @cindex Downloading the Source ! GCC is distributed via @uref{http://gcc.gnu.org/svn.html,,SVN} and FTP ! tarballs compressed with @command{gzip} or ! @command{bzip2}. Please refer to the @uref{http://gcc.gnu.org/releases.html,,releases web page} for information on how to obtain GCC@. --- 524,531 ---- @cindex Downloading GCC @cindex Downloading the Source ! GCC is distributed via @uref{http://gcc.gnu.org/git.html,,git} and via ! HTTPS as tarballs compressed with @command{gzip} or @command{bzip2}. Please refer to the @uref{http://gcc.gnu.org/releases.html,,releases web page} for information on how to obtain GCC@. *************** for both native and cross targets. *** 583,591 **** We use @var{srcdir} to refer to the toplevel source directory for GCC; we use @var{objdir} to refer to the toplevel build/object directory. ! If you obtained the sources via SVN, @var{srcdir} must refer to the top ! @file{gcc} directory, the one where the @file{MAINTAINERS} file can be ! found, and not its @file{gcc} subdirectory, otherwise the build will fail. If either @var{srcdir} or @var{objdir} is located on an automounted NFS file system, the shell's built-in @command{pwd} command will return --- 583,592 ---- We use @var{srcdir} to refer to the toplevel source directory for GCC; we use @var{objdir} to refer to the toplevel build/object directory. ! If you obtained the sources by cloning the repository, @var{srcdir} ! must refer to the top @file{gcc} directory, the one where the ! @file{MAINTAINERS} file can be found, and not its @file{gcc} ! subdirectory, otherwise the build will fail. If either @var{srcdir} or @var{objdir} is located on an automounted NFS file system, the shell's built-in @command{pwd} command will return *************** with @option{--enable-bootstrap}. *** 1512,1518 **** @item --enable-generated-files-in-srcdir Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi files are present ! in the SVN development tree. When building GCC from that development tree, or from one of our snapshots, those generated files are placed in your build directory, which allows for the source to be in a readonly directory. --- 1513,1519 ---- @item --enable-generated-files-in-srcdir Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi files are present ! in the repository development tree. When building GCC from that development tree, or from one of our snapshots, those generated files are placed in your build directory, which allows for the source to be in a readonly directory. *************** final releases. The specific files whic *** 1806,1846 **** controlled by the Makefiles. @item --enable-checking @itemx --enable-checking=@var{list} ! When you specify this option, the compiler is built to perform internal ! consistency checks of the requested complexity. This does not change the ! generated code, but adds error checking within the compiler. This will ! slow down the compiler and may only work properly if you are building ! the compiler with GCC@. This is @samp{yes,extra} by default when building ! from SVN or snapshots, but @samp{release} for releases. The default ! for building the stage1 compiler is @samp{yes}. More control ! over the checks may be had by specifying @var{list}. The categories of ! checks available are @samp{yes} (most common checks ! @samp{assert,misc,tree,gc,rtlflag,runtime}), @samp{no} (no checks at ! all), @samp{all} (all but @samp{valgrind}), @samp{release} (cheapest ! checks @samp{assert,runtime}) or @samp{none} (same as @samp{no}). ! Individual checks can be enabled with these flags @samp{assert}, ! @samp{df}, @samp{fold}, @samp{gc}, @samp{gcac}, @samp{misc}, @samp{rtl}, ! @samp{rtlflag}, @samp{runtime}, @samp{tree}, @samp{extra} and @samp{valgrind}. ! @samp{extra} adds for @samp{misc} checking extra checks that might affect ! code generation and should therefore not differ between stage1 and later ! stages. ! The @samp{valgrind} check requires the external @command{valgrind} ! simulator, available from @uref{http://valgrind.org/}. The ! @samp{df}, @samp{rtl}, @samp{gcac} and @samp{valgrind} checks are very expensive. ! To disable all checking, @samp{--disable-checking} or ! @samp{--enable-checking=none} must be explicitly requested. Disabling ! assertions will make the compiler and runtime slightly faster but ! increase the risk of undetected internal errors causing wrong code to be ! generated. @item --disable-stage1-checking @itemx --enable-stage1-checking @itemx --enable-stage1-checking=@var{list} ! If no @option{--enable-checking} option is specified the stage1 ! compiler will be built with @samp{yes} checking enabled, otherwise ! the stage1 checking flags are the same as specified by @option{--enable-checking}. To build the stage1 compiler with different checking options use @option{--enable-stage1-checking}. The list of checking options is the same as for @option{--enable-checking}. --- 1807,1856 ---- controlled by the Makefiles. @item --enable-checking + @itemx --disable-checking @itemx --enable-checking=@var{list} ! This option controls performing internal consistency checks in the compiler. ! It does not change the generated code, but adds error checking of the ! requested complexity. This slows down the compiler and may only work ! properly if you are building the compiler with GCC@. ! When the option is not specified, the active set of checks depends on context. ! Namely, bootstrap stage 1 defaults to @samp{--enable-checking=yes}, builds ! from release branches or release archives default to ! @samp{--enable-checking=release}, and otherwise ! @samp{--enable-checking=yes,extra} is used. When the option is ! specified without a @var{list}, the result is the same as ! @samp{--enable-checking=yes}. Likewise, @samp{--disable-checking} is ! equivalent to @samp{--enable-checking=no}. ! ! The categories of checks available in @var{list} are @samp{yes} (most common ! checks @samp{assert,misc,gc,gimple,rtlflag,runtime,tree,types}), @samp{no} ! (no checks at all), @samp{all} (all but @samp{valgrind}), @samp{release} ! (cheapest checks @samp{assert,runtime}) or @samp{none} (same as @samp{no}). ! @samp{release} checks are always on and to disable them ! @samp{--disable-checking} or @samp{--enable-checking=no[,]} ! must be explicitly requested. Disabling assertions makes the compiler and ! runtime slightly faster but increases the risk of undetected internal errors ! causing wrong code to be generated. ! ! Individual checks can be enabled with these flags: @samp{assert}, @samp{df}, ! @samp{extra}, @samp{fold}, @samp{gc}, @samp{gcac}, @samp{gimple}, ! @samp{misc}, @samp{rtl}, @samp{rtlflag}, @samp{runtime}, @samp{tree}, ! @samp{types} and @samp{valgrind}. @samp{extra} extends @samp{misc} ! checking with extra checks that might affect code generation and should ! therefore not differ between stage1 and later stages in bootstrap. ! ! The @samp{valgrind} check requires the external @command{valgrind} simulator, ! available from @uref{http://valgrind.org/}. The @samp{rtl} checks are ! expensive and the @samp{df}, @samp{gcac} and @samp{valgrind} checks are very ! expensive. @item --disable-stage1-checking @itemx --enable-stage1-checking @itemx --enable-stage1-checking=@var{list} ! This option affects only bootstrap build. If no @option{--enable-checking} ! option is specified the stage1 compiler is built with @samp{yes} checking ! enabled, otherwise the stage1 checking flags are the same as specified by @option{--enable-checking}. To build the stage1 compiler with different checking options use @option{--enable-stage1-checking}. The list of checking options is the same as for @option{--enable-checking}. *************** specifying paths @var{path1}, @dots{}, @ *** 2129,2135 **** @smallexample % @var{srcdir}/configure \ ! --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu @end smallexample If @samp{hsa} is specified as one of the targets, the compiler will be --- 2139,2145 ---- @smallexample % @var{srcdir}/configure \ ! --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none,hsa @end smallexample If @samp{hsa} is specified as one of the targets, the compiler will be *************** that type mismatches occur, this could b *** 2408,2414 **** The solution is not to use such a directory for building GCC@. ! Similarly, when building from SVN or snapshots, or if you modify @file{*.l} files, you need the Flex lexical analyzer generator installed. If you do not modify @file{*.l} files, releases contain the Flex-generated files and you do not need Flex installed to build --- 2418,2424 ---- The solution is not to use such a directory for building GCC@. ! Similarly, when building from the source repository or snapshots, or if you modify @file{*.l} files, you need the Flex lexical analyzer generator installed. If you do not modify @file{*.l} files, releases contain the Flex-generated files and you do not need Flex installed to build *************** them. There is still one Flex-based lex *** 2416,2422 **** build machinery, not of GCC itself) that is used even if you only build the C front end. ! When building from SVN or snapshots, or if you modify Texinfo documentation, you need version 4.7 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. --- 2426,2432 ---- build machinery, not of GCC itself) that is used even if you only build the C front end. ! When building from the source repository or snapshots, or if you modify Texinfo documentation, you need version 4.7 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. diff -Nrcpad gcc-9.2.0/gcc/doc/invoke.texi gcc-9.3.0/gcc/doc/invoke.texi *** gcc-9.2.0/gcc/doc/invoke.texi Fri Aug 2 08:40:34 2019 --- gcc-9.3.0/gcc/doc/invoke.texi Thu Mar 12 11:07:21 2020 *************** Objective-C and Objective-C++ Dialects}. *** 292,297 **** --- 292,298 ---- -Wbool-compare -Wbool-operation @gol -Wno-builtin-declaration-mismatch @gol -Wno-builtin-macro-redefined -Wc90-c99-compat -Wc99-c11-compat @gol + -Wc11-c2x-compat @gol -Wc++-compat -Wc++11-compat -Wc++14-compat -Wc++17-compat @gol -Wcast-align -Wcast-align=strict -Wcast-function-type -Wcast-qual @gol -Wchar-subscripts -Wcatch-value -Wcatch-value=@var{n} @gol *************** Objective-C and Objective-C++ Dialects}. *** 712,718 **** -mn_flash=@var{size} -mno-interrupts @gol -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack @gol -mfract-convert-truncate @gol ! -mshort-calls -nodevicelib @gol -Waddr-space-convert -Wmisspelled-isr} @emph{Blackfin Options} --- 713,719 ---- -mn_flash=@var{size} -mno-interrupts @gol -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack @gol -mfract-convert-truncate @gol ! -mshort-calls -nodevicelib -nodevicespecs @gol -Waddr-space-convert -Wmisspelled-isr} @emph{Blackfin Options} *************** For instance, warn about use of anonymou *** 6698,6703 **** --- 6699,6712 ---- and so on. This option is independent of the standards mode. Warnings are disabled in the expression that follows @code{__extension__}. + @item -Wc11-c2x-compat @r{(C and Objective-C only)} + @opindex Wc11-c2x-compat + @opindex Wno-c11-c2x-compat + Warn about features not present in ISO C11, but present in ISO C2X. + For instance, warn about omitting the string in @code{_Static_assert}. + This option is independent of the standards mode. Warnings are + disabled in the expression that follows @code{__extension__}. + @item -Wc++-compat @r{(C and Objective-C only)} @opindex Wc++-compat @opindex Wno-c++-compat *************** consumers are not expected to support th *** 8027,8033 **** would be rendered unable to decode location lists using it. @item -ginternal-reset-location-views ! @itemx -gnointernal-reset-location-views @opindex ginternal-reset-location-views @opindex gno-internal-reset-location-views Attempt to determine location views that can be omitted from location --- 8036,8042 ---- would be rendered unable to decode location lists using it. @item -ginternal-reset-location-views ! @itemx -gno-internal-reset-location-views @opindex ginternal-reset-location-views @opindex gno-internal-reset-location-views Attempt to determine location views that can be omitted from location *************** provided for use in debugging the compil *** 17911,17918 **** Do not allow constant data to be placed in code sections. Additionally, when compiling for ELF object format give all text sections the ELF processor-specific section attribute @code{SHF_ARM_PURECODE}. This option ! is only available when generating non-pic code for M-profile targets with the ! MOVT instruction. @item -mcmse @opindex mcmse --- 17920,17926 ---- Do not allow constant data to be placed in code sections. Additionally, when compiling for ELF object format give all text sections the ELF processor-specific section attribute @code{SHF_ARM_PURECODE}. This option ! is only available when generating non-pic code for M-profile targets. @item -mcmse @opindex mcmse *************** Allow to use truncation instead of round *** 18083,18088 **** --- 18091,18103 ---- @opindex nodevicelib Don't link against AVR-LibC's device specific library @code{lib.a}. + @item -nodevicespecs + @opindex nodevicespecs + Don't add @option{-specs=device-specs/specs-} to the compiler driver's + command line. The user takes responsibility for supplying the sub-processes + like compiler proper, assembler and linker with appropriate command line + options. + @item -Waddr-space-convert @opindex Waddr-space-convert @opindex Wno-addr-space-convert diff -Nrcpad gcc-9.2.0/gcc/doc/md.texi gcc-9.3.0/gcc/doc/md.texi *** gcc-9.2.0/gcc/doc/md.texi Tue Feb 26 17:21:43 2019 --- gcc-9.3.0/gcc/doc/md.texi Thu Mar 12 11:07:21 2020 *************** The @code{X} register. *** 3566,3572 **** @table @code @item f ! A floating-point register (if availiable). @item I An I-type 12-bit signed immediate. --- 3566,3572 ---- @table @code @item f ! A floating-point register (if available). @item I An I-type 12-bit signed immediate. diff -Nrcpad gcc-9.2.0/gcc/dse.c gcc-9.3.0/gcc/dse.c *** gcc-9.2.0/gcc/dse.c Mon Jan 14 12:01:01 2019 --- gcc-9.3.0/gcc/dse.c Thu Mar 12 11:07:21 2020 *************** scan_insn (bb_info_t bb_info, rtx_insn * *** 2535,2544 **** clear_rhs_from_active_local_stores (); } } ! else if (SIBLING_CALL_P (insn) && reload_completed) /* Arguments for a sibling call that are pushed to memory are passed using the incoming argument pointer of the current function. After ! reload that might be (and likely is) frame pointer based. */ add_wild_read (bb_info); else /* Every other call, including pure functions, may read any memory --- 2535,2547 ---- clear_rhs_from_active_local_stores (); } } ! else if (SIBLING_CALL_P (insn) ! && (reload_completed || HARD_FRAME_POINTER_IS_ARG_POINTER)) /* Arguments for a sibling call that are pushed to memory are passed using the incoming argument pointer of the current function. After ! reload that might be (and likely is) frame pointer based. And, if ! it is a frame pointer on the target, even before reload we need to ! kill frame pointer based stores. */ add_wild_read (bb_info); else /* Every other call, including pure functions, may read any memory diff -Nrcpad gcc-9.2.0/gcc/dwarf2out.c gcc-9.3.0/gcc/dwarf2out.c *** gcc-9.2.0/gcc/dwarf2out.c Fri Jul 12 14:42:14 2019 --- gcc-9.3.0/gcc/dwarf2out.c Thu Mar 12 11:07:21 2020 *************** mem_loc_descriptor (rtx rtl, machine_mod *** 15461,15467 **** if (mode != GET_MODE (rtl) && GET_MODE (rtl) != VOIDmode) return NULL; ! scalar_int_mode int_mode, inner_mode, op1_mode; switch (GET_CODE (rtl)) { case POST_INC: --- 15461,15467 ---- if (mode != GET_MODE (rtl) && GET_MODE (rtl) != VOIDmode) return NULL; ! scalar_int_mode int_mode = BImode, inner_mode, op1_mode; switch (GET_CODE (rtl)) { case POST_INC: *************** gen_formal_parameter_die (tree node, tre *** 22284,22302 **** /* If the contexts differ, we may not be talking about the same thing. ??? When in LTO the DIE parent is the "abstract" copy and the ! context_die is the specification "copy". But this whole block ! should eventually be no longer needed. */ ! if (parm_die && parm_die->die_parent != context_die && !in_lto_p) { ! if (!DECL_ABSTRACT_P (node)) ! { ! /* This can happen when creating an inlined instance, in ! which case we need to create a new DIE that will get ! annotated with DW_AT_abstract_origin. */ ! parm_die = NULL; ! } ! else ! gcc_unreachable (); } if (parm_die && parm_die->die_parent == NULL) --- 22284,22301 ---- /* If the contexts differ, we may not be talking about the same thing. ??? When in LTO the DIE parent is the "abstract" copy and the ! context_die is the specification "copy". */ ! if (parm_die ! && parm_die->die_parent != context_die ! && (parm_die->die_parent->die_tag != DW_TAG_GNU_formal_parameter_pack ! || parm_die->die_parent->die_parent != context_die) ! && !in_lto_p) { ! gcc_assert (!DECL_ABSTRACT_P (node)); ! /* This can happen when creating a concrete instance, in ! which case we need to create a new DIE that will get ! annotated with DW_AT_abstract_origin. */ ! parm_die = NULL; } if (parm_die && parm_die->die_parent == NULL) *************** dwarf2out_late_global_decl (tree decl) *** 26647,26662 **** { dw_die_ref die = lookup_decl_die (decl); ! /* We may have to generate early debug late for LTO in case debug was not enabled at compile-time or the target doesn't support the LTO early debug scheme. */ if (! die && in_lto_p) ! { ! dwarf2out_decl (decl); ! die = lookup_decl_die (decl); ! } ! ! if (die) { /* We get called via the symtab code invoking late_global_decl for symbols that are optimized out. --- 26646,26657 ---- { dw_die_ref die = lookup_decl_die (decl); ! /* We may have to generate full debug late for LTO in case debug was not enabled at compile-time or the target doesn't support the LTO early debug scheme. */ if (! die && in_lto_p) ! dwarf2out_decl (decl); ! else if (die) { /* We get called via the symtab code invoking late_global_decl for symbols that are optimized out. *************** lookup_filename (const char *file_name) *** 27062,27067 **** --- 27057,27065 ---- if (!file_name) return NULL; + if (!file_name[0]) + file_name = ""; + dwarf_file_data **slot = file_table->find_slot_with_hash (file_name, htab_hash_string (file_name), INSERT); *************** dwarf2out_inline_entry (tree block) *** 27687,27692 **** --- 27685,27691 ---- static void dwarf2out_size_function (tree decl) { + set_early_dwarf s; function_to_dwarf_procedure (decl); } *************** prune_unused_types (void) *** 29582,29590 **** for (i = 0; base_types.iterate (i, &base_type); i++) prune_unused_types_mark (base_type, 1); ! /* For -fvar-tracking-assignments, also set the mark on nodes that could be ! referenced by DW_TAG_call_site DW_AT_call_origin (i.e. direct call ! callees). */ cgraph_node *cnode; FOR_EACH_FUNCTION (cnode) if (cnode->referred_to_p (false)) --- 29581,29589 ---- for (i = 0; base_types.iterate (i, &base_type); i++) prune_unused_types_mark (base_type, 1); ! /* Also set the mark on nodes that could be referenced by ! DW_TAG_call_site DW_AT_call_origin (i.e. direct call callees) or ! by DW_TAG_inlined_subroutine origins. */ cgraph_node *cnode; FOR_EACH_FUNCTION (cnode) if (cnode->referred_to_p (false)) *************** prune_unused_types (void) *** 29593,29600 **** if (die == NULL || die->die_mark) continue; for (cgraph_edge *e = cnode->callers; e; e = e->next_caller) ! if (e->caller != cnode ! && opt_for_fn (e->caller->decl, flag_var_tracking_assignments)) { prune_unused_types_mark (die, 1); break; --- 29592,29598 ---- if (die == NULL || die->die_mark) continue; for (cgraph_edge *e = cnode->callers; e; e = e->next_caller) ! if (e->caller != cnode) { prune_unused_types_mark (die, 1); break; diff -Nrcpad gcc-9.2.0/gcc/explow.c gcc-9.3.0/gcc/explow.c *** gcc-9.2.0/gcc/explow.c Sun Jul 14 08:27:12 2019 --- gcc-9.3.0/gcc/explow.c Thu Mar 12 11:07:21 2020 *************** plus_constant (machine_mode mode, rtx x, *** 128,133 **** --- 128,136 ---- cst = gen_lowpart (mode, cst); gcc_assert (cst); } + else if (GET_MODE (cst) == VOIDmode + && get_pool_mode (XEXP (x, 0)) != mode) + break; if (GET_MODE (cst) == VOIDmode || GET_MODE (cst) == mode) { tem = plus_constant (mode, cst, c); diff -Nrcpad gcc-9.2.0/gcc/expmed.c gcc-9.3.0/gcc/expmed.c *** gcc-9.2.0/gcc/expmed.c Thu Mar 14 12:21:36 2019 --- gcc-9.3.0/gcc/expmed.c Thu Mar 12 11:07:21 2020 *************** store_bit_field_1 (rtx str_rtx, poly_uin *** 838,843 **** --- 838,864 ---- if (MEM_P (op0)) op0 = adjust_bitfield_address_size (op0, op0_mode.else_blk (), 0, MEM_SIZE (op0)); + else if (!op0_mode.exists ()) + { + if (ibitnum == 0 + && known_eq (ibitsize, GET_MODE_BITSIZE (GET_MODE (op0))) + && MEM_P (value) + && !reverse) + { + value = adjust_address (value, GET_MODE (op0), 0); + emit_move_insn (op0, value); + return true; + } + if (!fallback_p) + return false; + rtx temp = assign_stack_temp (GET_MODE (op0), + GET_MODE_SIZE (GET_MODE (op0))); + emit_move_insn (temp, op0); + store_bit_field_1 (temp, bitsize, bitnum, 0, 0, fieldmode, value, + reverse, fallback_p); + emit_move_insn (op0, temp); + return true; + } else op0 = gen_lowpart (op0_mode.require (), op0); } diff -Nrcpad gcc-9.2.0/gcc/fold-const.c gcc-9.3.0/gcc/fold-const.c *** gcc-9.2.0/gcc/fold-const.c Sat Jul 20 18:49:59 2019 --- gcc-9.3.0/gcc/fold-const.c Thu Mar 12 11:07:21 2020 *************** combine_comparisons (location_t loc, *** 2932,2937 **** --- 2932,2942 ---- If OEP_LEXICOGRAPHIC is set, then also handle expressions with side-effects such as MODIFY_EXPR, RETURN_EXPR, as well as STATEMENT_LISTs. + If OEP_BITWISE is set, then require the values to be bitwise identical + rather than simply numerically equal. Do not take advantage of things + like math-related flags or undefined behavior; only return true for + values that are provably bitwise identical in all circumstances. + Unless OEP_MATCH_SIDE_EFFECTS is set, the function returns false on any operand with side effect. This is unnecesarily conservative in the case we know that arg0 and arg1 are in disjoint code paths (such as in *************** operand_equal_p (const_tree arg0, const_ *** 2978,2983 **** --- 2983,2993 ---- if (!TREE_TYPE (arg0) || !TREE_TYPE (arg1)) return 0; + /* Bitwise identity makes no sense if the values have different layouts. */ + if ((flags & OEP_BITWISE) + && !tree_nop_conversion_p (TREE_TYPE (arg0), TREE_TYPE (arg1))) + return 0; + /* We cannot consider pointers to different address space equal. */ if (POINTER_TYPE_P (TREE_TYPE (arg0)) && POINTER_TYPE_P (TREE_TYPE (arg1)) *************** operand_equal_p (const_tree arg0, const_ *** 3110,3117 **** if (real_identical (&TREE_REAL_CST (arg0), &TREE_REAL_CST (arg1))) return 1; ! ! if (!HONOR_SIGNED_ZEROS (arg0)) { /* If we do not distinguish between signed and unsigned zero, consider them equal. */ --- 3120,3126 ---- if (real_identical (&TREE_REAL_CST (arg0), &TREE_REAL_CST (arg1))) return 1; ! if (!(flags & OEP_BITWISE) && !HONOR_SIGNED_ZEROS (arg0)) { /* If we do not distinguish between signed and unsigned zero, consider them equal. */ *************** operand_equal_p (const_tree arg0, const_ *** 3163,3169 **** break; } ! if (flags & OEP_ONLY_CONST) return 0; /* Define macros to test an operand from arg0 and arg1 for equality and a --- 3172,3180 ---- break; } ! /* Don't handle more cases for OEP_BITWISE, since we can't guarantee that ! two instances of undefined behavior will give identical results. */ ! if (flags & (OEP_ONLY_CONST | OEP_BITWISE)) return 0; /* Define macros to test an operand from arg0 and arg1 for equality and a *************** range_check_type (tree etype) *** 4935,4944 **** /* First make sure that arithmetics in this type is valid, then make sure that it wraps around. */ if (TREE_CODE (etype) == ENUMERAL_TYPE || TREE_CODE (etype) == BOOLEAN_TYPE) ! etype = lang_hooks.types.type_for_size (TYPE_PRECISION (etype), ! TYPE_UNSIGNED (etype)); ! if (TREE_CODE (etype) == INTEGER_TYPE && !TYPE_OVERFLOW_WRAPS (etype)) { tree utype, minv, maxv; --- 4946,4954 ---- /* First make sure that arithmetics in this type is valid, then make sure that it wraps around. */ if (TREE_CODE (etype) == ENUMERAL_TYPE || TREE_CODE (etype) == BOOLEAN_TYPE) ! etype = lang_hooks.types.type_for_size (TYPE_PRECISION (etype), 1); ! if (TREE_CODE (etype) == INTEGER_TYPE && !TYPE_UNSIGNED (etype)) { tree utype, minv, maxv; *************** range_check_type (tree etype) *** 4956,4961 **** --- 4966,4973 ---- else return NULL_TREE; } + else if (POINTER_TYPE_P (etype)) + etype = unsigned_type_for (etype); return etype; } *************** build_range_check (location_t loc, tree *** 5046,5054 **** if (etype == NULL_TREE) return NULL_TREE; - if (POINTER_TYPE_P (etype)) - etype = unsigned_type_for (etype); - high = fold_convert_loc (loc, etype, high); low = fold_convert_loc (loc, etype, low); exp = fold_convert_loc (loc, etype, exp); --- 5058,5063 ---- diff -Nrcpad gcc-9.2.0/gcc/fortran/ChangeLog gcc-9.3.0/gcc/fortran/ChangeLog *** gcc-9.2.0/gcc/fortran/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/fortran/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,605 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-03-05 Paul Thomas + + Backport from trunk + PR fortran/92976 + * match.c (select_type_set_tmp): Variable 'selector' to replace + select_type_stack->selector. If the selector array spec has + explicit bounds, make the temporary's bounds deferred. + + 2020-02-19 Mark Eggleston + + Backported from mainline + 2020-02-18 Mark Eggleston + + PR fortran/93714 + * expr.c (gfc_check_pointer_assign): Move check for + matching character length to after checking the lvalue + attributes for target or pointer. + + 2020-02-18 Mark Eggleston + + Backported from mainline + 2020-02-18 Steven G. Kargl + Mark Eggleston + + PR fortran/93580 + * primary.c (gfc_match_varspec): If the symbol following % + is re or im and the primary expression type is not BT_COMPLEX + issue an error. If the symbol is len and the primary + expression type is not BT_CHARACTER is an error. + + 2020-02-13 Jakub Jelinek + + Backported from mainline + 2020-01-29 Jakub Jelinek + + PR fortran/93463 + * openmp.c (oacc_code_to_statement): Handle + EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. + + 2020-02-03 Tobias Burnus + + Backported from mainline + 2020-02-03 Tobias Burnus + + PR fortran/93541 + * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): + Add undocumented parameters from omp_lib.f90.in. + + 2020-02-03 Tobias Burnus + + Backported from mainline + 2020-01-31 Tobias Burnus + + PR fortran/93462 + * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set + in_omp_atomic to true prevent front-end optimization. + + 2020-02-03 Tobias Burnus + + Backported from mainline + 2020-01-21 Tobias Burnus + + PR fortran/93309 + * interface.c (gfc_procedure_use): Also check parent namespace for + 'implict none (external)'. + * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export + to parent namespace's setting. + + 2020-01-22 Jakub Jelinek + + * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. + * trans-openmp.c (gfc_trans_omp_target) + : Call pushlevel first. + + PR fortran/93329 + * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* + cases. + + 2020-01-17 Mark Eggleston + + Backport from mainline + Mark Eggleston + + PR fortran/93236 + * resolve.c (resolve_types): Declare boolean recursive and set with the + value of the recursive attribute of namespace proc_name symbol + structure if it exists. Call gfc_save_all if both flag_automatic and + recursive are false or ns->save_all is true. + + 2020-01-10 Tobias Burnus + + Backported from mainline + 2020-01-09 Tobias Burnus + + PR fortran/84135 + * array.c (gfc_set_array_spec): Fix shifting of codimensions + when adding a dimension. + * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. + + 2019-12-30 Thomas Koenig + + Backport from trunk + PR fortran/92961 + * gfortran.h (gfc_seen_div0): Add declaration. + * arith.h (gfc_seen_div0): Add definition. + (eval_intrinsic): For integer division by zero, set gfc_seen_div0. + * decl.c (variable_decl): If resolution resp. simplification + fails for array spec and a division of zero error has been + seen, return MATCH_ERROR. + + 2019-12-21  Paul Thomas   + + Backported from mainline + PR fortran/92753 + * expr.c (find_inquiry_ref): Catch INQUIRY_LEN case, where the + temporary expression has been converted to a constant and make + the new expression accordingly. Correct the error in INQUIRY_RE + and INQUIRY_IM cases. The original rather than the resolved + expression was being used as the source in mpfr_set. + + 2019-12-20 Jakub Jelinek + + Backported from mainline + 2019-12-19 Jakub Jelinek + + PR fortran/92977 + * frontend-passes.c (call_external_blas): Use || instead of |. + + PR fortran/92977 + * frontend-passes.c (in_omp_atomic): New variable. + (cfe_expr_0, matmul_to_var_expr, matmul_temp_args, + inline_matmul_assign, call_external_blas): Don't optimize in + EXEC_OMP_ATOMIC. + (optimize_namespace): Clear in_omp_atomic. + (gfc_code_walker): Set in_omp_atomic for EXEC_OMP_ATOMIC, save/restore + it around. + + 2019-12-11 Jakub Jelinek + + PR fortran/92899 + * trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP, + do look through conversion on expr2 if any. + + 2019-12-06 Jakub Jelinek + + PR fortran/92775 + * trans.h (struct lang_type, struct lang_decl): Remove span member. + (GFC_DECL_SPAN, GFC_TYPE_ARRAY_SPAN): Remove macros. + * trans-array.h (gfc_get_descriptor_offsets_for_info): Add another + argument. + * trans-array.c (gfc_get_descriptor_offsets_for_info): Add SPAN_OFF + argument and initialize *SPAN_OFF to the offset of span field. + * trans-types.c (gfc_get_array_descr_info): Adjust + gfc_get_descriptor_offsets_for_info caller. Compute elem_size + as base->span instead of TYPE_SIZE_UNIT (etype) constant. + + 2019-12-05 Jakub Jelinek + + PR fortran/92781 + * trans-decl.c (gfc_get_symbol_decl): If sym->backend_decl is + current_function_decl, add length to current rather than parent + function and expect DECL_CONTEXT (length) to be current_function_decl. + + 2019-11-27 Jakub Jelinek + + PR fortran/91944 + * simplify.c (gfc_simplify_spread): Check gfc_init_expr_flag instead + of gfc_current_ns->sym_root->n.sym->attr.flavor == FL_PARAMETER. + + 2019-12-12 Harald Anlauf + + Backport from mainline + PR fortran/92898 + * check.c (gfc_check_is_contiguous): Simplify check to handle + arbitrary NULL() argument. + + 2019-12-11 Steven G. Kargl + + PR fortran/92897 + * array.c (gfc_set_array_spec): Remove invalid assert() triggered + by invalid Fortran code. + + 2019-11-29 Harald Anlauf + + Backport from mainline + PR fortran/92629 + * simplify.c (convert_mpz_to_unsigned): Skip assert for argument + range when -fno-range-check is specified. + + 2019-11-25 Tobias Burnus + + PR fortran/92050 + * trans-expr.c (gfc_conv_procedure_call): Handle code generated + by -fcheck=all. + + 2019-11-10 Thomas Koenig + + Backport from trunk + PR fortran/92113 + * trans-decl.c (gfc_get_symbol_decl): If __def_init actually + contains a value, put it into the read-only section. + + 2019-11-10 Thomas Koenig + + Backport from trunk + PR fortran/92321 + * frontend-passes.c (call_external_blas): Commit symbol for + external BLAS routine. + + 2019-11-08 Tobias Burnus + + PR fortran/92208 + Backport from mainline + 2019-10-31 Tobias Burnus + + PR fortran/92277 + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Fix DECL_ARTIFICIAL + checking. + + 2019-11-04 Tobias Burnus + + Backport from mainline + 2019-10-30 Tobias Burnus + + PR fortran/92208 + * trans-array.c (gfc_conv_array_parameter): Only copy + string-length backend_decl if expression is not a function. + + 2019-11-04 Tobias Burnus + + Backport from mainline + 2019-10-31 Tobias Burnus + + PR fortran/92284. + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Free CFI descriptor + at the end; partial revised revert of Rev. 277502. + + 2019-10-28  Paul Thomas   + + Backport from trunk + PR fortran/91926 + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the + assignment of the attribute field to account correctly for an + assumed shape dummy. Assign separately to the gfc and cfi + descriptors since the atribute can be different. Add branch to + correctly handle missing optional dummies. + + 2019-10-28 Tobias Burnus + + Backport from mainline + 2019-10-28 Tobias Burnus + + PR fortran/91863 + * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Don't free data + memory as that's done on the Fortran side. + (gfc_conv_procedure_call): Handle void* pointers from + gfc_conv_gfc_desc_to_cfi_desc. + + 2019-10-27 Paul Thomas + + Backport from mainline + PR fortran/86248 + * resolve.c (flag_fn_result_spec): Correct a typo before the + function declaration. + * trans-decl.c (gfc_sym_identifier): Boost the length of 'name' + to allow for all variants. Simplify the code by using a pointer + to the symbol's proc_name and taking the return out of each of + the conditional branches. Allow symbols with fn_result_spec set + that do not come from a procedure namespace and have a module + name to go through the non-fn_result_spec branch. + + 2019-10-22 Steven G. Kargl + + PR fortran/92174 + * decl.c (attr_decl1): Move check for F2018:C822 from here ... + * array.c (gfc_set_array_spec): ... to here. + + 2019-10-18 Steven G. Kargl + + PR fortran/69455 + * trans-decl.c (generate_local_decl): Avoid misconstructed + intrinsic modules in a BLOCK construct. + + 2019-10-18 Tobias Burnus + + Backport from mainline + 2019-10-18 Tobias Burnus + + PR fortran/91586 + * class.c (gfc_find_derived_vtab): Return NULL + instead of deref'ing NULL pointer. + + 2019-10-17 Steven G. Kargl + + PR fortran/83113 + PR fortran/89943 + decl.c (gfc_match_function_decl): Ignore duplicate BIND(C) for function + declaration in submodule. Implement at check for F2018 C1550. + (gfc_match_entry): Use temporary for locus, which allows removal of + one gfc_error_now(). + (gfc_match_subroutine): Ignore duplicate BIND(C) for subroutine + declaration in submodule. Implement at check for F2018 C1550. + + 2019-10-11 Steven G. Kargl + + PR fortran/91715 + * decl.c (gfc_match_prefix): If matching a type-spec returns an error, + it's an error so re-act correctly. + + 2019-10-11 Steven G. Kargl + + PR fortran/91649 + check.c (gfc_check_findloc): Additional checking for valid arguments + + 2019-10-10 Steven G. Kargl + + PR fortran/91801 + * simplify.c (gfc_simplify_reshape): Convert a gcc_assert into a + gfc_error as a user can easily hit the condition. + + 2019-10-07 Thomas Koenig + + Backport from trunk + PR fortran/84487 + * trans-decl.c (gfc_get_symbol_decl): For __def_init, set + DECL_ARTIFICAL and do not set TREE_READONLY. + + 2019-10-05 Steven G. Kargl + + PR fortran/47054 + * decl.c (variable_decl): Do not search parent namespace for symbol. + + 2019-10-04 Steven G. Kargl + + PR fortran/91942 + * io.c (match_vtag): Check for non-NULL result->symtree. + (match_out_tag): Check for invalid constant due to inquiry parameter. + (match_filepos): Instead of a syntax error, go to cleanup to get better + error messages. + + 2019-10-04 Steven G. Kargl + + PR fortran/91785 + * primary.c (gfc_match_varspec): Ensure an inquiry parameter has + it locus set. + + 2019-10-01 Steven G. Kargl + + PR fortran/91864 + * gcc/fortran/io.c (match_io_element): An inquiry parameter cannot be + read into. + * gcc/fortran/match.c (gfc_match_allocate): An inquiry parameter + can be neither an allocate-object nor stat variable. + (gfc_match_deallocate): An inquiry parameter cannot be deallocated. + + 2019-10-01 Steven G. Kargl + + Backport of r276254+276265 + PR fortran/91802 + * decl.c (attr_decl1): Check if rank+corank > 15. + + 2019-10-01 Steven G. Kargl + + PR fortran/91714 + * decl.c (gfc_match_decl_type_spec): Issue errors for a few + mangled types. + + 2019-10-01 Steven G. Kargl + + PR fortran/91641 + * check.c (gfc_check_is_contiguous): null() cannot be an actual + argument to is_contiguous(). + + 2019-09-21 Paul Thomas + + Backport from mainline + PR fortran/91588 + * expr.c (check_inquiry): Remove extended component refs by + using symbol pointers. If a function argument is an associate + variable with a constant target, copy the target expression in + place of the argument expression. Check that the charlen is not + NULL before using the string length. + + 2019-09-19 Steven G. Kargl + + PR fortran/91727 + * resolve.c (conformable_arrays): If array-spec is NULL, then + allocate-object is a scalar. a conformability check only occurs + for an array source-expr. + + 2019-09-18 Thomas Koenig + + Backport from trunk + PR fortran/91550 + * frontend-passes.c (do_subscript): If step equals + zero, a previuos error has been reported; do nothing + in this case. + * resolve.c (gfc_resolve_iterator): Move error checking + after type conversion. + + 2019-09-15 Thomas Koenig + + Backport from trunk + PR fortran/91557 + * trans-decl.c (generate_local_decl): Do not warn if the symbol + is artificial. + * trans-types.c (get_formal_from_actual_arglist): Set artificial + attribute on dummy arguments. + + 2019-09-14 Steven G. Kargl + + PR fortran/91553 + * simplify.c (gfc_convert_constant): During conversion check if the + constant is enclosed in parenthesis, and simplify expression. + + 2019-09-14 Steven G. Kargl + + PR fortran/91566 + * simplify.c (gfc_simplify_merge): Need to simplify expression + after insertation of parenthesis. + + 2019-09-14 Steven G. Kargl + + PR fortran/91642 + * io.c (gfc_match_inquire): null() cannot be in an iolength inquire + list. + + 2019-09-07 Paul Thomas + + Backport from mainline + PR fortran/91589 + * primary.c (gfc_match_varspec): Return MATCH_NO on an apparent + component ref, when the primary type is intrinsic. + + 2019-09-05 Harald Anlauf + + Backport from mainline + PR fortran/91496 + * gfortran.h: Extend struct gfc_iterator for loop annotations. + * array.c (gfc_copy_iterator): Copy loop annotations by IVDEP, + VECTOR, and NOVECTOR pragmas. + * decl.c (gfc_match_gcc_ivdep, gfc_match_gcc_vector) + (gfc_match_gcc_novector): New matcher functions handling IVDEP, + VECTOR, and NOVECTOR pragmas. + * match.h: Declare prototypes of matcher functions handling IVDEP, + VECTOR, and NOVECTOR pragmas. + * parse.c (decode_gcc_attribute, parse_do_block) + (parse_executable): Decode IVDEP, VECTOR, and NOVECTOR pragmas; + emit warning for unrecognized pragmas instead of error. + * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): Add code to + emit annotations for IVDEP, VECTOR, and NOVECTOR pragmas. + * gfortran.texi: Document IVDEP, VECTOR, and NOVECTOR pragmas. + + PR fortran/91496 + * parse.c (parse_executable): Improve error messages for + improperly placed pragmas not preceeding a loop. + + 2019-09-05 Steven G. Kargl + + PR fortran/91660 + * decl.c (gfc_match_decl_type_spec): Improve and restore error + message for malformed types-spec. + + 2019-09-02 Steven G. Kargl + + PR fortran/91552 + * array.c (walk_array_constructor): New function. + (gfc_match_array_constructor): Use it. + + 2019-08-30 Steven G. Kargl + + PR fortran/91587 + * io.c (match_filepos): MATCH_ERROR should branch to a syntax error. + + 2019-08-30 Steven G. Kargl + + PR fortran/91565 + * simplify.c (gfc_simplify_reshape): Add additional checks of the + ORDER dummy argument. + + 2019-08-30 Steven G. Kargl + + PR fortran/91564 + * check.c (gfc_check_kill_sub): Additional checks on status dummy + argument. + + 2019-08-30 Steven G. Kargl + + PR fortran/91551 + * intrinsic.c (sort_actual): ALLOCATED has one argument. Check for + no argument case. + + 2019-08-30 Steven G. Kargl + + PR fortran/91485 + module.c (gfc_match_use): User defined operator cannot conflict with + a rename symbol. + + 2019-08-17 Steven G. Kargl + + PR fortran/91471 + * primary.c (gfc_variable_attr): Remove a gfc_internal_error(), + which cannot be reached by conforming Fortran code, but seems to + be reachable from nonconforming Fortran code. Treat the AR_UNKNOWN + case as a no-op. + + 2019-08-17 Steven G. Kargl + + PR fortran/78739 + * match.c (gfc_match_st_function): When matching a statement function, + need to check if the statement function name shadows the function + name. + + 2019-08-17 Steven G. Kargl + + PR fortran/78719 + * decl.c (get_proc_name): Check for a CLASS entity when trying to + add attributes to an entity that already has an explicit interface. + + 2019-08-17 Steven G. Kargl + + PR fortran/82992 + * module.c (gfc_match_use): When renaming a module entity, search + current namespace for conflicting symbol. + + 2019-08-13 Steven G. Kargl + + PR fortran/87991 + * resolve.c (check_data_variable): data-stmt-object with pointer + attribute requires a data-stmt-value with the target attribute. + + 2013-08-13 Thomas Koenig + + Backport from trunk + PR fortran/90563 + * frontend-passes.c (insert_index): Suppress errors while + simplifying the resulting expression. + + 2019-08-13 Steven G. Kargl + + PR fortran/88072 + * misc.c (gfc_typename): Do not point to something that ought not to + be pointed at. + + 2019-08-13 Thomas Koenig + + Backport from trunk + PR fortran/90561 + * trans.h (gfc_evaluate_now_function_scope): New function. + * trans.c (gfc_evaluate_now_function_scope): New function. + * trans-expr.c (gfc_trans_assignment): Use it. + + 2019-08-13 Steven G. Kargl + + PR fortran/89647 + resolve.c (resolve_typebound_procedure): Allow host associated + procedure to be a binding target. While here, wrap long line. + + 2019-08-13 Steven G. Kargl + + PR fortran/87993 + * expr.c (gfc_simplify_expr): Simplifcation of an array with a kind + type inquiry suffix yields a constant expression. + + 2019-08-13 Thomas Koenig + + Backport from trunk + PR fortran/91424 + * frontend-passes.c (do_subscript): Do not warn for an + expression a second time. Do not warn about a zero-trip loop. + (doloop_warn): Also look at contained namespaces. + + 2019-08-12 Steven G. Kargl + + PR fortran/91359 + * trans-decl.c (gfc_generate_return): Ensure something is returned + from a function. + + 2019-08-12 Steven G. Kargl + + PR fortran/42546 + * check.c(gfc_check_allocated): Add comment pointing to ... + * intrinsic.c(sort_actual): ... the checking done here. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/fortran/arith.c gcc-9.3.0/gcc/fortran/arith.c *** gcc-9.2.0/gcc/fortran/arith.c Thu Jun 20 22:58:56 2019 --- gcc-9.3.0/gcc/fortran/arith.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 32,37 **** --- 32,39 ---- #include "target-memory.h" #include "constructor.h" + bool gfc_seen_div0; + /* MPFR does not have a direct replacement for mpz_set_f() from GMP. It's easily implemented with a few calls though. */ *************** eval_intrinsic (gfc_intrinsic_op op, *** 1620,1625 **** --- 1622,1631 ---- gfc_error (gfc_arith_error (rc), &op1->where); if (rc == ARITH_OVERFLOW) goto done; + + if (rc == ARITH_DIV0 && op2->ts.type == BT_INTEGER) + gfc_seen_div0 = true; + return NULL; } diff -Nrcpad gcc-9.2.0/gcc/fortran/array.c gcc-9.3.0/gcc/fortran/array.c *** gcc-9.2.0/gcc/fortran/array.c Fri Jun 21 00:38:13 2019 --- gcc-9.3.0/gcc/fortran/array.c Thu Mar 12 11:07:21 2020 *************** gfc_set_array_spec (gfc_symbol *sym, gfc *** 837,848 **** if (as->corank) { - /* The "sym" has no corank (checked via gfc_add_codimension). Thus - the codimension is simply added. */ - gcc_assert (as->rank == 0 && sym->as->corank == 0); - sym->as->cotype = as->cotype; sym->as->corank = as->corank; for (i = 0; i < as->corank; i++) { sym->as->lower[sym->as->rank + i] = as->lower[i]; --- 837,848 ---- if (as->corank) { sym->as->cotype = as->cotype; sym->as->corank = as->corank; + /* Check F2018:C822. */ + if (sym->as->rank + sym->as->corank > GFC_MAX_DIMENSIONS) + goto too_many; + for (i = 0; i < as->corank; i++) { sym->as->lower[sym->as->rank + i] = as->lower[i]; *************** gfc_set_array_spec (gfc_symbol *sym, gfc *** 861,867 **** sym->as->cray_pointee = as->cray_pointee; sym->as->cp_was_assumed = as->cp_was_assumed; ! for (i = 0; i < sym->as->corank; i++) { sym->as->lower[as->rank + i] = sym->as->lower[i]; sym->as->upper[as->rank + i] = sym->as->upper[i]; --- 861,871 ---- sym->as->cray_pointee = as->cray_pointee; sym->as->cp_was_assumed = as->cp_was_assumed; ! /* Check F2018:C822. */ ! if (sym->as->rank + sym->as->corank > GFC_MAX_DIMENSIONS) ! goto too_many; ! ! for (i = sym->as->corank - 1; i >= 0; i--) { sym->as->lower[as->rank + i] = sym->as->lower[i]; sym->as->upper[as->rank + i] = sym->as->upper[i]; *************** gfc_set_array_spec (gfc_symbol *sym, gfc *** 875,880 **** --- 879,890 ---- free (as); return true; + + too_many: + + gfc_error ("rank + corank of %qs exceeds %d at %C", sym->name, + GFC_MAX_DIMENSIONS); + return false; } *************** match_array_cons_element (gfc_constructo *** 1124,1129 **** --- 1134,1164 ---- } + /* Convert components of an array constructor to the type in ts. */ + + static match + walk_array_constructor (gfc_typespec *ts, gfc_constructor_base head) + { + gfc_constructor *c; + gfc_expr *e; + match m; + + for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) + { + e = c->expr; + if (e->expr_type == EXPR_ARRAY && e->ts.type == BT_UNKNOWN + && !e->ref && e->value.constructor) + { + m = walk_array_constructor (ts, e->value.constructor); + if (m == MATCH_ERROR) + return m; + } + else if (!gfc_convert_type (e, ts, 1) && e->ts.type != BT_UNKNOWN) + return MATCH_ERROR; + } + return MATCH_YES; + } + /* Match an array constructor. */ match *************** done: *** 1253,1266 **** } } ! /* Walk the constructor and ensure type conversion for numeric types. */ if (gfc_numeric_ts (&ts)) { ! c = gfc_constructor_first (head); ! for (; c; c = gfc_constructor_next (c)) ! if (!gfc_convert_type (c->expr, &ts, 1) ! && c->expr->ts.type != BT_UNKNOWN) ! return MATCH_ERROR; } } else --- 1288,1300 ---- } } ! /* Walk the constructor, and if possible, do type conversion for ! numeric types. */ if (gfc_numeric_ts (&ts)) { ! m = walk_array_constructor (&ts, head); ! if (m == MATCH_ERROR) ! return m; } } else *************** gfc_copy_iterator (gfc_iterator *src) *** 2175,2180 **** --- 2209,2217 ---- dest->end = gfc_copy_expr (src->end); dest->step = gfc_copy_expr (src->step); dest->unroll = src->unroll; + dest->ivdep = src->ivdep; + dest->vector = src->vector; + dest->novector = src->novector; return dest; } diff -Nrcpad gcc-9.2.0/gcc/fortran/check.c gcc-9.3.0/gcc/fortran/check.c *** gcc-9.2.0/gcc/fortran/check.c Thu Apr 4 20:38:33 2019 --- gcc-9.3.0/gcc/fortran/check.c Thu Mar 12 11:07:21 2020 *************** gfc_check_all_any (gfc_expr *mask, gfc_e *** 924,929 **** --- 924,933 ---- } + /* Limited checking for ALLOCATED intrinsic. Additional checking + is performed in intrinsic.c(sort_actual), because ALLOCATED + has two mutually exclusive non-optional arguments. */ + bool gfc_check_allocated (gfc_expr *array) { *************** gfc_check_kill_sub (gfc_expr *pid, gfc_e *** 2781,2786 **** --- 2785,2806 ---- if (!scalar_check (status, 2)) return false; + + if (status->expr_type != EXPR_VARIABLE) + { + gfc_error ("STATUS at %L shall be an INTENT(OUT) variable", + &status->where); + return false; + } + + if (status->expr_type == EXPR_VARIABLE + && status->symtree && status->symtree->n.sym + && status->symtree->n.sym->attr.intent == INTENT_IN) + { + gfc_error ("%qs at %L shall be an INTENT(OUT) variable", + status->symtree->name, &status->where); + return false; + } } return true; *************** bool *** 3343,3368 **** gfc_check_findloc (gfc_actual_arglist *ap) { gfc_expr *a, *v, *m, *d, *k, *b; a = ap->expr; if (!intrinsic_type_check (a, 0) || !array_check (a, 0)) return false; v = ap->next->expr; ! if (!scalar_check (v,1)) return false; ! /* Check if the type is compatible. */ ! if ((a->ts.type == BT_LOGICAL && v->ts.type != BT_LOGICAL) ! || (a->ts.type != BT_LOGICAL && v->ts.type == BT_LOGICAL)) ! { ! gfc_error ("Argument %qs of %qs intrinsic at %L must be in type " ! "conformance to argument %qs at %L", ! gfc_current_intrinsic_arg[0]->name, ! gfc_current_intrinsic, &a->where, ! gfc_current_intrinsic_arg[1]->name, &v->where); ! } d = ap->next->next->expr; m = ap->next->next->next->expr; --- 3363,3389 ---- gfc_check_findloc (gfc_actual_arglist *ap) { gfc_expr *a, *v, *m, *d, *k, *b; + bool a1, v1; a = ap->expr; if (!intrinsic_type_check (a, 0) || !array_check (a, 0)) return false; v = ap->next->expr; ! if (!intrinsic_type_check (v, 1) || !scalar_check (v,1)) return false; ! /* Check if the type are both logical. */ ! a1 = a->ts.type == BT_LOGICAL; ! v1 = v->ts.type == BT_LOGICAL; ! if ((a1 && !v1) || (!a1 && v1)) ! goto incompat; ! /* Check if the type are both character. */ ! a1 = a->ts.type == BT_CHARACTER; ! v1 = v->ts.type == BT_CHARACTER; ! if ((a1 && !v1) || (!a1 && v1)) ! goto incompat; d = ap->next->next->expr; m = ap->next->next->next->expr; *************** gfc_check_findloc (gfc_actual_arglist *a *** 3410,3415 **** --- 3431,3444 ---- return false; return true; + + incompat: + gfc_error ("Argument %qs of %qs intrinsic at %L must be in type " + "conformance to argument %qs at %L", + gfc_current_intrinsic_arg[0]->name, + gfc_current_intrinsic, &a->where, + gfc_current_intrinsic_arg[1]->name, &v->where); + return false; } *************** gfc_check_ttynam_sub (gfc_expr *unit, gf *** 6549,6554 **** --- 6578,6590 ---- bool gfc_check_is_contiguous (gfc_expr *array) { + if (array->expr_type == EXPR_NULL) + { + gfc_error ("Actual argument at %L of %qs intrinsic shall be an " + "associated pointer", &array->where, gfc_current_intrinsic); + return false; + } + if (!array_check (array, 0)) return false; *************** gfc_check_is_contiguous (gfc_expr *array *** 6556,6562 **** } - bool gfc_check_isatty (gfc_expr *unit) { --- 6592,6597 ---- diff -Nrcpad gcc-9.2.0/gcc/fortran/class.c gcc-9.3.0/gcc/fortran/class.c *** gcc-9.2.0/gcc/fortran/class.c Sat Apr 6 22:10:28 2019 --- gcc-9.3.0/gcc/fortran/class.c Thu Mar 12 11:07:21 2020 *************** gfc_find_derived_vtab (gfc_symbol *deriv *** 2241,2246 **** --- 2241,2249 ---- if (!derived->attr.unlimited_polymorphic && derived->attr.is_class) derived = gfc_get_derived_super_type (derived); + if (!derived) + return NULL; + /* Find the gsymbol for the module of use associated derived types. */ if ((derived->attr.use_assoc || derived->attr.used_in_submodule) && !derived->attr.vtype && !derived->attr.is_class) diff -Nrcpad gcc-9.2.0/gcc/fortran/decl.c gcc-9.3.0/gcc/fortran/decl.c *** gcc-9.2.0/gcc/fortran/decl.c Thu Jun 20 23:50:54 2019 --- gcc-9.3.0/gcc/fortran/decl.c Thu Mar 12 11:07:21 2020 *************** bool gfc_matching_function; *** 99,104 **** --- 99,109 ---- /* Set upon parsing a !GCC$ unroll n directive for use in the next loop. */ int directive_unroll = -1; + /* Set upon parsing supported !GCC$ pragmas for use in the next loop. */ + bool directive_ivdep = false; + bool directive_vector = false; + bool directive_novector = false; + /* Map of middle-end built-ins that should be vectorized. */ hash_map *gfc_vectorized_builtins; *************** done: *** 895,902 **** static bool merge_array_spec (gfc_array_spec *from, gfc_array_spec *to, bool copy) { - int i, j; - if ((from->type == AS_ASSUMED_RANK && to->corank) || (to->type == AS_ASSUMED_RANK && from->corank)) { --- 900,905 ---- *************** merge_array_spec (gfc_array_spec *from, *** 911,928 **** to->cray_pointee = from->cray_pointee; to->cp_was_assumed = from->cp_was_assumed; ! for (i = 0; i < to->corank; i++) { /* Do not exceed the limits on lower[] and upper[]. gfortran cleans up elsewhere. */ ! j = from->rank + i; if (j >= GFC_MAX_DIMENSIONS) break; to->lower[j] = to->lower[i]; to->upper[j] = to->upper[i]; } ! for (i = 0; i < from->rank; i++) { if (copy) { --- 914,931 ---- to->cray_pointee = from->cray_pointee; to->cp_was_assumed = from->cp_was_assumed; ! for (int i = to->corank - 1; i >= 0; i--) { /* Do not exceed the limits on lower[] and upper[]. gfortran cleans up elsewhere. */ ! int j = from->rank + i; if (j >= GFC_MAX_DIMENSIONS) break; to->lower[j] = to->lower[i]; to->upper[j] = to->upper[i]; } ! for (int i = 0; i < from->rank; i++) { if (copy) { *************** merge_array_spec (gfc_array_spec *from, *** 941,963 **** to->corank = from->corank; to->cotype = from->cotype; ! for (i = 0; i < from->corank; i++) { /* Do not exceed the limits on lower[] and upper[]. gfortran cleans up elsewhere. */ ! j = to->rank + i; if (j >= GFC_MAX_DIMENSIONS) break; if (copy) { ! to->lower[j] = gfc_copy_expr (from->lower[i]); ! to->upper[j] = gfc_copy_expr (from->upper[i]); } else { ! to->lower[j] = from->lower[i]; ! to->upper[j] = from->upper[i]; } } } --- 944,967 ---- to->corank = from->corank; to->cotype = from->cotype; ! for (int i = 0; i < from->corank; i++) { /* Do not exceed the limits on lower[] and upper[]. gfortran cleans up elsewhere. */ ! int k = from->rank + i; ! int j = to->rank + i; if (j >= GFC_MAX_DIMENSIONS) break; if (copy) { ! to->lower[j] = gfc_copy_expr (from->lower[k]); ! to->upper[j] = gfc_copy_expr (from->upper[k]); } else { ! to->lower[j] = from->lower[k]; ! to->upper[j] = from->upper[k]; } } } *************** get_proc_name (const char *name, gfc_sym *** 1335,1343 **** } /* Trap declarations of attributes in encompassing scope. The ! signature for this is that ts.kind is set. Legitimate ! references only set ts.type. */ ! if (sym->ts.kind != 0 && !sym->attr.implicit_type && sym->attr.proc == 0 && gfc_current_ns->parent != NULL --- 1339,1347 ---- } /* Trap declarations of attributes in encompassing scope. The ! signature for this is that ts.kind is nonzero for no-CLASS ! entity. For a CLASS entity, ts.kind is zero. */ ! if ((sym->ts.kind != 0 || sym->ts.type == BT_CLASS) && !sym->attr.implicit_type && sym->attr.proc == 0 && gfc_current_ns->parent != NULL *************** variable_decl (int elem) *** 2506,2511 **** --- 2510,2517 ---- goto cleanup; } + gfc_seen_div0 = false; + /* F2018:C830 (R816) An explicit-shape-spec whose bounds are not constant expressions shall appear only in a subprogram, derived type definition, BLOCK construct, or interface body. */ *************** variable_decl (int elem) *** 2522,2528 **** for (int i = 0; i < as->rank; i++) { e = gfc_copy_expr (as->lower[i]); ! gfc_resolve_expr (e); gfc_simplify_expr (e, 0); if (e && (e->expr_type != EXPR_CONSTANT)) { --- 2528,2539 ---- for (int i = 0; i < as->rank; i++) { e = gfc_copy_expr (as->lower[i]); ! if (!gfc_resolve_expr (e) && gfc_seen_div0) ! { ! m = MATCH_ERROR; ! goto cleanup; ! } ! gfc_simplify_expr (e, 0); if (e && (e->expr_type != EXPR_CONSTANT)) { *************** variable_decl (int elem) *** 2532,2538 **** gfc_free_expr (e); e = gfc_copy_expr (as->upper[i]); ! gfc_resolve_expr (e); gfc_simplify_expr (e, 0); if (e && (e->expr_type != EXPR_CONSTANT)) { --- 2543,2554 ---- gfc_free_expr (e); e = gfc_copy_expr (as->upper[i]); ! if (!gfc_resolve_expr (e) && gfc_seen_div0) ! { ! m = MATCH_ERROR; ! goto cleanup; ! } ! gfc_simplify_expr (e, 0); if (e && (e->expr_type != EXPR_CONSTANT)) { *************** variable_decl (int elem) *** 2558,2564 **** if (e->expr_type != EXPR_CONSTANT) { n = gfc_copy_expr (e); ! gfc_simplify_expr (n, 1); if (n->expr_type == EXPR_CONSTANT) gfc_replace_expr (e, n); else --- 2574,2585 ---- if (e->expr_type != EXPR_CONSTANT) { n = gfc_copy_expr (e); ! if (!gfc_simplify_expr (n, 1) && gfc_seen_div0) ! { ! m = MATCH_ERROR; ! goto cleanup; ! } ! if (n->expr_type == EXPR_CONSTANT) gfc_replace_expr (e, n); else *************** variable_decl (int elem) *** 2568,2574 **** if (e->expr_type != EXPR_CONSTANT) { n = gfc_copy_expr (e); ! gfc_simplify_expr (n, 1); if (n->expr_type == EXPR_CONSTANT) gfc_replace_expr (e, n); else --- 2589,2600 ---- if (e->expr_type != EXPR_CONSTANT) { n = gfc_copy_expr (e); ! if (!gfc_simplify_expr (n, 1) && gfc_seen_div0) ! { ! m = MATCH_ERROR; ! goto cleanup; ! } ! if (n->expr_type == EXPR_CONSTANT) gfc_replace_expr (e, n); else *************** variable_decl (int elem) *** 2644,2650 **** then we want to set the type & bail out. */ if (flag_cray_pointer && !gfc_comp_struct (gfc_current_state ())) { ! gfc_find_symbol (name, gfc_current_ns, 1, &sym); if (sym != NULL && sym->attr.cray_pointee) { m = MATCH_YES; --- 2670,2676 ---- then we want to set the type & bail out. */ if (flag_cray_pointer && !gfc_comp_struct (gfc_current_state ())) { ! gfc_find_symbol (name, gfc_current_ns, 0, &sym); if (sym != NULL && sym->attr.cray_pointee) { m = MATCH_YES; *************** variable_decl (int elem) *** 2905,2910 **** --- 2931,2937 ---- cleanup: /* Free stuff up and return. */ + gfc_seen_div0 = false; gfc_free_expr (initializer); gfc_free_array_spec (as); *************** gfc_match_decl_type_spec (gfc_typespec * *** 3991,3997 **** return MATCH_YES; } - m = gfc_match (" type ("); matched_type = (m == MATCH_YES); if (matched_type) --- 4018,4023 ---- *************** gfc_match_decl_type_spec (gfc_typespec * *** 4039,4045 **** m = MATCH_YES; if (matched_type && m == MATCH_YES && gfc_match_char (')') != MATCH_YES) ! m = MATCH_ERROR; return m; } --- 4065,4074 ---- m = MATCH_YES; if (matched_type && m == MATCH_YES && gfc_match_char (')') != MATCH_YES) ! { ! gfc_error ("Malformed type-spec at %C"); ! return MATCH_ERROR; ! } return m; } *************** gfc_match_decl_type_spec (gfc_typespec * *** 4062,4069 **** && !gfc_notify_std (GFC_STD_F2008, "TYPE with " "intrinsic-type-spec at %C")) return MATCH_ERROR; if (matched_type && gfc_match_char (')') != MATCH_YES) ! return MATCH_ERROR; ts->type = BT_REAL; ts->kind = gfc_default_double_kind; --- 4091,4102 ---- && !gfc_notify_std (GFC_STD_F2008, "TYPE with " "intrinsic-type-spec at %C")) return MATCH_ERROR; + if (matched_type && gfc_match_char (')') != MATCH_YES) ! { ! gfc_error ("Malformed type-spec at %C"); ! return MATCH_ERROR; ! } ts->type = BT_REAL; ts->kind = gfc_default_double_kind; *************** gfc_match_decl_type_spec (gfc_typespec * *** 4093,4099 **** return MATCH_ERROR; if (matched_type && gfc_match_char (')') != MATCH_YES) ! return MATCH_ERROR; ts->type = BT_COMPLEX; ts->kind = gfc_default_double_kind; --- 4126,4135 ---- return MATCH_ERROR; if (matched_type && gfc_match_char (')') != MATCH_YES) ! { ! gfc_error ("Malformed type-spec at %C"); ! return MATCH_ERROR; ! } ts->type = BT_COMPLEX; ts->kind = gfc_default_double_kind; *************** gfc_match_decl_type_spec (gfc_typespec * *** 4114,4120 **** if (m == MATCH_ERROR) return m; ! m = gfc_match_char (')'); } if (m != MATCH_YES) --- 4150,4162 ---- if (m == MATCH_ERROR) return m; ! gfc_gobble_whitespace (); ! if (gfc_peek_ascii_char () != ')') ! { ! gfc_error ("Malformed type-spec at %C"); ! return MATCH_ERROR; ! } ! m = gfc_match_char (')'); /* Burn closing ')'. */ } if (m != MATCH_YES) *************** get_kind: *** 4397,4402 **** --- 4439,4445 ---- gfc_next_ascii_char (); return MATCH_YES; } + gfc_error ("Malformed type-spec at %C"); return MATCH_NO; } } *************** get_kind: *** 4410,4416 **** } if (matched_type && gfc_match_char (')') != MATCH_YES) ! return MATCH_ERROR; /* Defer association of the KIND expression of function results until after USE and IMPORT statements. */ --- 4453,4462 ---- } if (matched_type && gfc_match_char (')') != MATCH_YES) ! { ! gfc_error ("Malformed type-spec at %C"); ! return MATCH_ERROR; ! } /* Defer association of the KIND expression of function results until after USE and IMPORT statements. */ *************** gfc_match_prefix (gfc_typespec *ts) *** 6145,6157 **** found_prefix = true; } ! if (!seen_type && ts != NULL ! && gfc_match_decl_type_spec (ts, 0) == MATCH_YES ! && gfc_match_space () == MATCH_YES) { ! ! seen_type = true; ! found_prefix = true; } if (gfc_match ("elemental% ") == MATCH_YES) --- 6191,6207 ---- found_prefix = true; } ! if (!seen_type && ts != NULL) { ! match m; ! m = gfc_match_decl_type_spec (ts, 0); ! if (m == MATCH_ERROR) ! goto error; ! if (m == MATCH_YES && gfc_match_space () == MATCH_YES) ! { ! seen_type = true; ! found_prefix = true; ! } } if (gfc_match ("elemental% ") == MATCH_YES) *************** gfc_match_function_decl (void) *** 7202,7214 **** if (sym->attr.is_bind_c == 1) { sym->attr.is_bind_c = 0; ! if (sym->old_symbol != NULL) ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", ! &(sym->old_symbol->declared_at)); ! else ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &gfc_current_locus); } if (found_match != MATCH_YES) --- 7252,7267 ---- if (sym->attr.is_bind_c == 1) { sym->attr.is_bind_c = 0; ! ! if (gfc_state_stack->previous ! && gfc_state_stack->previous->state != COMP_SUBMODULE) ! { ! locus loc; ! loc = sym->old_symbol != NULL ! ? sym->old_symbol->declared_at : gfc_current_locus; ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &loc); ! } } if (found_match != MATCH_YES) *************** gfc_match_function_decl (void) *** 7222,7227 **** --- 7275,7298 ---- found_match = suffix_match; } + /* F2018 C1550 (R1526) If MODULE appears in the prefix of a module + subprogram and a binding label is specified, it shall be the + same as the binding label specified in the corresponding module + procedure interface body. */ + if (sym->attr.is_bind_c && sym->attr.module_procedure && sym->old_symbol + && strcmp (sym->name, sym->old_symbol->name) == 0 + && strcmp (sym->binding_label, sym->old_symbol->binding_label) != 0) + { + const char *null = "NULL", *s1, *s2; + s1 = sym->binding_label; + if (!s1) s1 = null; + s2 = sym->old_symbol->binding_label; + if (!s2) s2 = null; + gfc_error ("Mismatch in BIND(C) names (%qs/%qs) at %C", s1, s2); + sym->refs++; /* Needed to avoid an ICE in gfc_release_symbol */ + return MATCH_ERROR; + } + if(found_match != MATCH_YES) m = MATCH_ERROR; else *************** gfc_match_entry (void) *** 7460,7474 **** not allowed for procedures. */ if (entry->attr.is_bind_c == 1) { entry->attr.is_bind_c = 0; ! if (entry->old_symbol != NULL) ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", ! &(entry->old_symbol->declared_at)); ! else ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &gfc_current_locus); ! } /* Check what next non-whitespace character is so we can tell if there is the required parens if we have a BIND(C). */ --- 7531,7545 ---- not allowed for procedures. */ if (entry->attr.is_bind_c == 1) { + locus loc; + entry->attr.is_bind_c = 0; ! ! loc = entry->old_symbol != NULL ! ? entry->old_symbol->declared_at : gfc_current_locus; ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &loc); ! } /* Check what next non-whitespace character is so we can tell if there is the required parens if we have a BIND(C). */ *************** gfc_match_subroutine (void) *** 7668,7680 **** if (sym->attr.is_bind_c == 1) { sym->attr.is_bind_c = 0; ! if (sym->old_symbol != NULL) ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", ! &(sym->old_symbol->declared_at)); ! else ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &gfc_current_locus); } /* C binding names are not allowed for internal procedures. */ --- 7739,7754 ---- if (sym->attr.is_bind_c == 1) { sym->attr.is_bind_c = 0; ! ! if (gfc_state_stack->previous ! && gfc_state_stack->previous->state != COMP_SUBMODULE) ! { ! locus loc; ! loc = sym->old_symbol != NULL ! ? sym->old_symbol->declared_at : gfc_current_locus; ! gfc_error_now ("BIND(C) attribute at %L can only be used for " ! "variables or common blocks", &loc); ! } } /* C binding names are not allowed for internal procedures. */ *************** gfc_match_subroutine (void) *** 7716,7721 **** --- 7790,7813 ---- return MATCH_ERROR; } + /* F2018 C1550 (R1526) If MODULE appears in the prefix of a module + subprogram and a binding label is specified, it shall be the + same as the binding label specified in the corresponding module + procedure interface body. */ + if (sym->attr.module_procedure && sym->old_symbol + && strcmp (sym->name, sym->old_symbol->name) == 0 + && strcmp (sym->binding_label, sym->old_symbol->binding_label) != 0) + { + const char *null = "NULL", *s1, *s2; + s1 = sym->binding_label; + if (!s1) s1 = null; + s2 = sym->old_symbol->binding_label; + if (!s2) s2 = null; + gfc_error ("Mismatch in BIND(C) names (%qs/%qs) at %C", s1, s2); + sym->refs++; /* Needed to avoid an ICE in gfc_release_symbol */ + return MATCH_ERROR; + } + /* Scan the dummy arguments for an alternate return. */ for (arg = sym->formal; arg; arg = arg->next) if (!arg->sym) *************** gfc_match_derived_decl (void) *** 10161,10166 **** --- 10253,10272 ---- return MATCH_ERROR; } + /* In free source form, need to check for TYPE XXX as oppose to TYPEXXX. + But, we need to simply return for TYPE(. */ + if (m == MATCH_NO && gfc_current_form == FORM_FREE) + { + char c = gfc_peek_ascii_char (); + if (c == '(') + return m; + if (!gfc_is_whitespace (c)) + { + gfc_error ("Mangled derived type definition at %C"); + return MATCH_NO; + } + } + m = gfc_match (" %n ", name); if (m != MATCH_YES) return m; *************** gfc_match_derived_decl (void) *** 10168,10174 **** /* Make sure that we don't identify TYPE IS (...) as a parameterized derived type named 'is'. TODO Expand the check, when 'name' = "is" by matching " (tname) " ! and checking if this is a(n intrinsic) typename. his picks up misplaced TYPE IS statements such as in select_type_1.f03. */ if (gfc_peek_ascii_char () == '(') { --- 10274,10280 ---- /* Make sure that we don't identify TYPE IS (...) as a parameterized derived type named 'is'. TODO Expand the check, when 'name' = "is" by matching " (tname) " ! and checking if this is a(n intrinsic) typename. This picks up misplaced TYPE IS statements such as in select_type_1.f03. */ if (gfc_peek_ascii_char () == '(') { *************** gfc_match_gcc_builtin (void) *** 11472,11474 **** --- 11578,11630 ---- return MATCH_YES; } + + /* Match an !GCC$ IVDEP statement. + When we come here, we have already matched the !GCC$ IVDEP string. */ + + match + gfc_match_gcc_ivdep (void) + { + if (gfc_match_eos () == MATCH_YES) + { + directive_ivdep = true; + return MATCH_YES; + } + + gfc_error ("Syntax error in !GCC$ IVDEP directive at %C"); + return MATCH_ERROR; + } + + /* Match an !GCC$ VECTOR statement. + When we come here, we have already matched the !GCC$ VECTOR string. */ + + match + gfc_match_gcc_vector (void) + { + if (gfc_match_eos () == MATCH_YES) + { + directive_vector = true; + directive_novector = false; + return MATCH_YES; + } + + gfc_error ("Syntax error in !GCC$ VECTOR directive at %C"); + return MATCH_ERROR; + } + + /* Match an !GCC$ NOVECTOR statement. + When we come here, we have already matched the !GCC$ NOVECTOR string. */ + + match + gfc_match_gcc_novector (void) + { + if (gfc_match_eos () == MATCH_YES) + { + directive_novector = true; + directive_vector = false; + return MATCH_YES; + } + + gfc_error ("Syntax error in !GCC$ NOVECTOR directive at %C"); + return MATCH_ERROR; + } diff -Nrcpad gcc-9.2.0/gcc/fortran/expr.c gcc-9.3.0/gcc/fortran/expr.c *** gcc-9.2.0/gcc/fortran/expr.c Mon Aug 5 00:47:41 2019 --- gcc-9.3.0/gcc/fortran/expr.c Thu Mar 12 11:07:21 2020 *************** find_inquiry_ref (gfc_expr *p, gfc_expr *** 1780,1790 **** if (!gfc_notify_std (GFC_STD_F2003, "LEN part_ref at %C")) goto cleanup; ! if (!tmp->ts.u.cl->length ! || tmp->ts.u.cl->length->expr_type != EXPR_CONSTANT) goto cleanup; - *newp = gfc_copy_expr (tmp->ts.u.cl->length); break; case INQUIRY_KIND: --- 1780,1794 ---- if (!gfc_notify_std (GFC_STD_F2003, "LEN part_ref at %C")) goto cleanup; ! if (tmp->ts.u.cl->length ! && tmp->ts.u.cl->length->expr_type == EXPR_CONSTANT) ! *newp = gfc_copy_expr (tmp->ts.u.cl->length); ! else if (tmp->expr_type == EXPR_CONSTANT) ! *newp = gfc_get_int_expr (gfc_default_integer_kind, ! NULL, tmp->value.character.length); ! else goto cleanup; break; case INQUIRY_KIND: *************** find_inquiry_ref (gfc_expr *p, gfc_expr *** 1807,1813 **** *newp = gfc_get_constant_expr (BT_REAL, tmp->ts.kind, &tmp->where); mpfr_set ((*newp)->value.real, ! mpc_realref (p->value.complex), GFC_RND_MODE); break; case INQUIRY_IM: --- 1811,1817 ---- *newp = gfc_get_constant_expr (BT_REAL, tmp->ts.kind, &tmp->where); mpfr_set ((*newp)->value.real, ! mpc_realref (tmp->value.complex), GFC_RND_MODE); break; case INQUIRY_IM: *************** find_inquiry_ref (gfc_expr *p, gfc_expr *** 1819,1825 **** *newp = gfc_get_constant_expr (BT_REAL, tmp->ts.kind, &tmp->where); mpfr_set ((*newp)->value.real, ! mpc_imagref (p->value.complex), GFC_RND_MODE); break; } tmp = gfc_copy_expr (*newp); --- 1823,1829 ---- *newp = gfc_get_constant_expr (BT_REAL, tmp->ts.kind, &tmp->where); mpfr_set ((*newp)->value.real, ! mpc_imagref (tmp->value.complex), GFC_RND_MODE); break; } tmp = gfc_copy_expr (*newp); *************** gfc_simplify_expr (gfc_expr *p, int type *** 2220,2225 **** --- 2224,2234 ---- if (!simplify_ref_chain (p->ref, type, &p)) return false; + /* If the following conditions hold, we found something like kind type + inquiry of the form a(2)%kind while simplify the ref chain. */ + if (p->expr_type == EXPR_CONSTANT && !p->ref && !p->rank && !p->shape) + return true; + if (!simplify_constructor (p->value.constructor, type)) return false; *************** check_inquiry (gfc_expr *e, int not_rest *** 2598,2603 **** --- 2607,2614 ---- int i = 0; gfc_actual_arglist *ap; + gfc_symbol *sym; + gfc_symbol *asym; if (!e->value.function.isym || !e->value.function.isym->inquiry) *************** check_inquiry (gfc_expr *e, int not_rest *** 2607,2626 **** if (e->symtree == NULL) return MATCH_NO; ! if (e->symtree->n.sym->from_intmod) { ! if (e->symtree->n.sym->from_intmod == INTMOD_ISO_FORTRAN_ENV ! && e->symtree->n.sym->intmod_sym_id != ISOFORTRAN_COMPILER_OPTIONS ! && e->symtree->n.sym->intmod_sym_id != ISOFORTRAN_COMPILER_VERSION) return MATCH_NO; ! if (e->symtree->n.sym->from_intmod == INTMOD_ISO_C_BINDING ! && e->symtree->n.sym->intmod_sym_id != ISOCBINDING_C_SIZEOF) return MATCH_NO; } else { ! name = e->symtree->n.sym->name; functions = inquiry_func_gnu; if (gfc_option.warn_std & GFC_STD_F2003) --- 2618,2639 ---- if (e->symtree == NULL) return MATCH_NO; ! sym = e->symtree->n.sym; ! ! if (sym->from_intmod) { ! if (sym->from_intmod == INTMOD_ISO_FORTRAN_ENV ! && sym->intmod_sym_id != ISOFORTRAN_COMPILER_OPTIONS ! && sym->intmod_sym_id != ISOFORTRAN_COMPILER_VERSION) return MATCH_NO; ! if (sym->from_intmod == INTMOD_ISO_C_BINDING ! && sym->intmod_sym_id != ISOCBINDING_C_SIZEOF) return MATCH_NO; } else { ! name = sym->name; functions = inquiry_func_gnu; if (gfc_option.warn_std & GFC_STD_F2003) *************** check_inquiry (gfc_expr *e, int not_rest *** 2645,2685 **** if (!ap->expr) continue; if (ap->expr->ts.type == BT_UNKNOWN) { ! if (ap->expr->symtree->n.sym->ts.type == BT_UNKNOWN ! && !gfc_set_default_type (ap->expr->symtree->n.sym, 0, gfc_current_ns)) return MATCH_NO; ! ap->expr->ts = ap->expr->symtree->n.sym->ts; } ! /* Assumed character length will not reduce to a constant expression ! with LEN, as required by the standard. */ ! if (i == 5 && not_restricted && ap->expr->symtree ! && ap->expr->symtree->n.sym->ts.type == BT_CHARACTER ! && (ap->expr->symtree->n.sym->ts.u.cl->length == NULL ! || ap->expr->symtree->n.sym->ts.deferred)) ! { ! gfc_error ("Assumed or deferred character length variable %qs " ! "in constant expression at %L", ! ap->expr->symtree->n.sym->name, ! &ap->expr->where); ! return MATCH_ERROR; ! } ! else if (not_restricted && !gfc_check_init_expr (ap->expr)) ! return MATCH_ERROR; ! if (not_restricted == 0 ! && ap->expr->expr_type != EXPR_VARIABLE ! && !check_restricted (ap->expr)) return MATCH_ERROR; ! if (not_restricted == 0 ! && ap->expr->expr_type == EXPR_VARIABLE ! && ap->expr->symtree->n.sym->attr.dummy ! && ap->expr->symtree->n.sym->attr.optional) ! return MATCH_NO; } return MATCH_YES; --- 2658,2705 ---- if (!ap->expr) continue; + asym = ap->expr->symtree ? ap->expr->symtree->n.sym : NULL; + if (ap->expr->ts.type == BT_UNKNOWN) { ! if (asym && asym->ts.type == BT_UNKNOWN ! && !gfc_set_default_type (asym, 0, gfc_current_ns)) return MATCH_NO; ! ap->expr->ts = asym->ts; } ! if (asym && asym->assoc && asym->assoc->target ! && asym->assoc->target->expr_type == EXPR_CONSTANT) ! { ! gfc_free_expr (ap->expr); ! ap->expr = gfc_copy_expr (asym->assoc->target); ! } ! /* Assumed character length will not reduce to a constant expression ! with LEN, as required by the standard. */ ! if (i == 5 && not_restricted && asym ! && asym->ts.type == BT_CHARACTER ! && ((asym->ts.u.cl && asym->ts.u.cl->length == NULL) ! || asym->ts.deferred)) ! { ! gfc_error ("Assumed or deferred character length variable %qs " ! "in constant expression at %L", ! asym->name, &ap->expr->where); return MATCH_ERROR; + } + else if (not_restricted && !gfc_check_init_expr (ap->expr)) + return MATCH_ERROR; ! if (not_restricted == 0 ! && ap->expr->expr_type != EXPR_VARIABLE ! && !check_restricted (ap->expr)) ! return MATCH_ERROR; ! ! if (not_restricted == 0 ! && ap->expr->expr_type == EXPR_VARIABLE ! && asym->attr.dummy && asym->attr.optional) ! return MATCH_NO; } return MATCH_YES; *************** gfc_check_pointer_assign (gfc_expr *lval *** 4176,4188 **** if (rvalue->expr_type == EXPR_NULL) return true; - if (lvalue->ts.type == BT_CHARACTER) - { - bool t = gfc_check_same_strlen (lvalue, rvalue, "pointer assignment"); - if (!t) - return false; - } - if (rvalue->expr_type == EXPR_VARIABLE && is_subref_array (rvalue)) lvalue->symtree->n.sym->attr.subref_array_pointer = 1; --- 4196,4201 ---- *************** gfc_check_pointer_assign (gfc_expr *lval *** 4238,4243 **** --- 4251,4263 ---- } } + if (lvalue->ts.type == BT_CHARACTER) + { + bool t = gfc_check_same_strlen (lvalue, rvalue, "pointer assignment"); + if (!t) + return false; + } + if (is_pure && gfc_impure_variable (rvalue->symtree->n.sym)) { gfc_error ("Bad target in pointer assignment in PURE " diff -Nrcpad gcc-9.2.0/gcc/fortran/frontend-passes.c gcc-9.3.0/gcc/fortran/frontend-passes.c *** gcc-9.2.0/gcc/fortran/frontend-passes.c Thu Apr 11 20:14:27 2019 --- gcc-9.3.0/gcc/fortran/frontend-passes.c Thu Mar 12 11:07:21 2020 *************** static int forall_level; *** 94,99 **** --- 94,103 ---- static bool in_omp_workshare; + /* Keep track of whether we are within an OMP atomic. */ + + static bool in_omp_atomic; + /* Keep track of whether we are within a WHERE statement. */ static bool in_where; *************** cfe_expr_0 (gfc_expr **e, int *walk_subt *** 915,923 **** gfc_expr *newvar; gfc_expr **ei, **ej; ! /* Don't do this optimization within OMP workshare or ASSOC lists. */ ! if (in_omp_workshare || in_assoc_list) { *walk_subtrees = 0; return 0; --- 919,927 ---- gfc_expr *newvar; gfc_expr **ei, **ej; ! /* Don't do this optimization within OMP workshare/atomic or ASSOC lists. */ ! if (in_omp_workshare || in_omp_atomic || in_assoc_list) { *walk_subtrees = 0; return 0; *************** optimize_namespace (gfc_namespace *ns) *** 1466,1471 **** --- 1470,1476 ---- iterator_level = 0; in_assoc_list = false; in_omp_workshare = false; + in_omp_atomic = false; if (flag_frontend_optimize) { *************** insert_index (gfc_expr *e, gfc_symbol *s *** 2519,2525 **** --- 2524,2535 ---- data.sym = sym; mpz_init_set (data.val, val); gfc_expr_walker (&n, callback_insert_index, (void *) &data); + + /* Suppress errors here - we could get errors here such as an + out of bounds access for arrays, see PR 90563. */ + gfc_push_suppress_errors (); gfc_simplify_expr (n, 0); + gfc_pop_suppress_errors (); if (n->expr_type == EXPR_CONSTANT) { *************** do_subscript (gfc_expr **e) *** 2557,2562 **** --- 2567,2578 ---- if (in_assoc_list) return 0; + /* We already warned about this. */ + if (v->do_not_warn) + return 0; + + v->do_not_warn = 1; + for (ref = v->ref; ref; ref = ref->next) { if (ref->type == REF_ARRAY && ref->u.ar.type == AR_ELEMENT) *************** do_subscript (gfc_expr **e) *** 2569,2574 **** --- 2585,2591 ---- bool have_do_start, have_do_end; bool error_not_proven; int warn; + int sgn; dl = lp->c; if (dl == NULL) *************** do_subscript (gfc_expr **e) *** 2597,2603 **** Do not warn in this case. */ if (dl->ext.iterator->step->expr_type == EXPR_CONSTANT) ! mpz_init_set (do_step, dl->ext.iterator->step->value.integer); else continue; --- 2614,2629 ---- Do not warn in this case. */ if (dl->ext.iterator->step->expr_type == EXPR_CONSTANT) ! { ! sgn = mpz_cmp_ui (dl->ext.iterator->step->value.integer, 0); ! /* This can happen, but then the error has been ! reported previusly. */ ! if (sgn == 0) ! continue; ! ! mpz_init_set (do_step, dl->ext.iterator->step->value.integer); ! } ! else continue; *************** do_subscript (gfc_expr **e) *** 2609,2615 **** else have_do_start = false; - if (dl->ext.iterator->end->expr_type == EXPR_CONSTANT) { have_do_end = true; --- 2635,2640 ---- *************** do_subscript (gfc_expr **e) *** 2621,2626 **** --- 2646,2661 ---- if (!have_do_start && !have_do_end) return 0; + /* No warning inside a zero-trip loop. */ + if (have_do_start && have_do_end) + { + int cmp; + + cmp = mpz_cmp (do_end, do_start); + if ((sgn > 0 && cmp < 0) || (sgn < 0 && cmp > 0)) + break; + } + /* May have to correct the end value if the step does not equal one. */ if (have_do_start && have_do_end && mpz_cmp_ui (do_step, 1) != 0) *************** static void *** 2762,2767 **** --- 2797,2808 ---- doloop_warn (gfc_namespace *ns) { gfc_code_walker (&ns->code, doloop_code, do_function, NULL); + + for (ns = ns->contained; ns; ns = ns->sibling) + { + if (ns->code == NULL || ns->code->op != EXEC_BLOCK) + doloop_warn (ns); + } } /* This selction deals with inlining calls to MATMUL. */ *************** matmul_to_var_expr (gfc_expr **ep, int * *** 2784,2790 **** return 0; if (forall_level > 0 || iterator_level > 0 || in_omp_workshare ! || in_where || in_assoc_list) return 0; /* Check if this is already in the form c = matmul(a,b). */ --- 2825,2831 ---- return 0; if (forall_level > 0 || iterator_level > 0 || in_omp_workshare ! || in_omp_atomic || in_where || in_assoc_list) return 0; /* Check if this is already in the form c = matmul(a,b). */ *************** matmul_temp_args (gfc_code **c, int *wal *** 2846,2852 **** return 0; if (forall_level > 0 || iterator_level > 0 || in_omp_workshare ! || in_where) return 0; /* This has some duplication with inline_matmul_assign. This --- 2887,2893 ---- return 0; if (forall_level > 0 || iterator_level > 0 || in_omp_workshare ! || in_omp_atomic || in_where) return 0; /* This has some duplication with inline_matmul_assign. This *************** inline_matmul_assign (gfc_code **c, int *** 3814,3820 **** /* For now don't do anything in OpenMP workshare, it confuses its translation, which expects only the allowed statements in there. We should figure out how to parallelize this eventually. */ ! if (in_omp_workshare) return 0; expr1 = co->expr1; --- 3855,3861 ---- /* For now don't do anything in OpenMP workshare, it confuses its translation, which expects only the allowed statements in there. We should figure out how to parallelize this eventually. */ ! if (in_omp_workshare || in_omp_atomic) return 0; expr1 = co->expr1; *************** call_external_blas (gfc_code **c, int *w *** 4351,4357 **** /* For now don't do anything in OpenMP workshare, it confuses its translation, which expects only the allowed statements in there. */ ! if (in_omp_workshare) return 0; expr1 = co->expr1; --- 4392,4398 ---- /* For now don't do anything in OpenMP workshare, it confuses its translation, which expects only the allowed statements in there. */ ! if (in_omp_workshare || in_omp_atomic) return 0; expr1 = co->expr1; *************** call_external_blas (gfc_code **c, int *w *** 4601,4606 **** --- 4642,4648 ---- call->symtree->n.sym->attr.procedure = 1; call->symtree->n.sym->attr.flavor = FL_PROCEDURE; call->resolved_sym = call->symtree->n.sym; + gfc_commit_symbol (call->resolved_sym); /* Argument TRANSA. */ next = gfc_get_actual_arglist (); *************** gfc_code_walker (gfc_code **c, walk_code *** 5012,5017 **** --- 5054,5060 ---- gfc_code *co; gfc_association_list *alist; bool saved_in_omp_workshare; + bool saved_in_omp_atomic; bool saved_in_where; /* There might be statement insertions before the current code, *************** gfc_code_walker (gfc_code **c, walk_code *** 5019,5024 **** --- 5062,5068 ---- co = *c; saved_in_omp_workshare = in_omp_workshare; + saved_in_omp_atomic = in_omp_atomic; saved_in_where = in_where; switch (co->op) *************** gfc_code_walker (gfc_code **c, walk_code *** 5216,5221 **** --- 5260,5270 ---- WALK_SUBEXPR (co->ext.dt->extra_comma); break; + case EXEC_OACC_ATOMIC: + case EXEC_OMP_ATOMIC: + in_omp_atomic = true; + break; + case EXEC_OMP_PARALLEL: case EXEC_OMP_PARALLEL_DO: case EXEC_OMP_PARALLEL_DO_SIMD: *************** gfc_code_walker (gfc_code **c, walk_code *** 5333,5338 **** --- 5382,5388 ---- select_level --; in_omp_workshare = saved_in_omp_workshare; + in_omp_atomic = saved_in_omp_atomic; in_where = saved_in_where; } } diff -Nrcpad gcc-9.2.0/gcc/fortran/gfortran.h gcc-9.3.0/gcc/fortran/gfortran.h *** gcc-9.2.0/gcc/fortran/gfortran.h Tue Jul 30 19:11:03 2019 --- gcc-9.3.0/gcc/fortran/gfortran.h Thu Mar 12 11:07:21 2020 *************** typedef struct *** 2407,2412 **** --- 2407,2415 ---- { gfc_expr *var, *start, *end, *step; unsigned short unroll; + bool ivdep; + bool vector; + bool novector; } gfc_iterator; *************** gfc_finalizer; *** 2783,2788 **** --- 2786,2794 ---- bool gfc_in_match_data (void); match gfc_match_char_spec (gfc_typespec *); extern int directive_unroll; + extern bool directive_ivdep; + extern bool directive_vector; + extern bool directive_novector; /* SIMD clause enum. */ enum gfc_simd_clause *************** void gfc_arith_done_1 (void); *** 2961,2966 **** --- 2967,2974 ---- arith gfc_check_integer_range (mpz_t p, int kind); bool gfc_check_character_range (gfc_char_t, int); + extern bool gfc_seen_div0; + /* trans-types.c */ bool gfc_check_any_c_kind (gfc_typespec *); int gfc_validate_kind (bt, int, bool); diff -Nrcpad gcc-9.2.0/gcc/fortran/gfortran.info gcc-9.3.0/gcc/fortran/gfortran.info *** gcc-9.2.0/gcc/fortran/gfortran.info Mon Aug 12 07:51:14 2019 --- gcc-9.3.0/gcc/fortran/gfortran.info Thu Mar 12 11:19:16 2020 *************** File: gfortran.info, Node: GNU Fortran *** 4702,4707 **** --- 4702,4710 ---- * ATTRIBUTES directive:: * UNROLL directive:: * BUILTIN directive:: + * IVDEP directive:: + * VECTOR directive:: + * NOVECTOR directive::  File: gfortran.info, Node: ATTRIBUTES directive, Next: UNROLL directive, Up: GNU Fortran Compiler Directives *************** unrolling factor. The values of 0 and 1 *** 4787,4793 **** loop.  ! File: gfortran.info, Node: BUILTIN directive, Prev: UNROLL directive, Up: GNU Fortran Compiler Directives 7.2.3 BUILTIN directive ----------------------- --- 4790,4796 ---- loop.  ! File: gfortran.info, Node: BUILTIN directive, Next: IVDEP directive, Prev: UNROLL directive, Up: GNU Fortran Compiler Directives 7.2.3 BUILTIN directive ----------------------- *************** compiler and the GNU C Library which wou *** 4809,4814 **** --- 4812,4868 ---- of math routines.  + File: gfortran.info, Node: IVDEP directive, Next: VECTOR directive, Prev: BUILTIN directive, Up: GNU Fortran Compiler Directives + + 7.2.4 IVDEP directive + --------------------- + + The syntax of the directive is + + '!GCC$ ivdep' + + This directive tells the compiler to ignore vector dependencies in + the following loop. It must be placed immediately before a 'DO' loop + and applies only to the loop that follows. + + Sometimes the compiler may not have sufficient information to decide + whether a particular loop is vectorizable due to potential dependencies + between iterations. The purpose of the directive is to tell the + compiler that vectorization is safe. + + This directive is intended for annotation of existing code. For new + code it is recommended to consider OpenMP SIMD directives as potential + alternative. + +  + File: gfortran.info, Node: VECTOR directive, Next: NOVECTOR directive, Prev: IVDEP directive, Up: GNU Fortran Compiler Directives + + 7.2.5 VECTOR directive + ---------------------- + + The syntax of the directive is + + '!GCC$ vector' + + This directive tells the compiler to vectorize the following loop. + It must be placed immediately before a 'DO' loop and applies only to the + loop that follows. + +  + File: gfortran.info, Node: NOVECTOR directive, Prev: VECTOR directive, Up: GNU Fortran Compiler Directives + + 7.2.6 NOVECTOR directive + ------------------------ + + The syntax of the directive is + + '!GCC$ novector' + + This directive tells the compiler to not vectorize the following + loop. It must be placed immediately before a 'DO' loop and applies only + to the loop that follows. + +  File: gfortran.info, Node: Non-Fortran Main Program, Next: Naming and argument-passing conventions, Prev: GNU Fortran Compiler Directives, Up: Mixed-Language Programming 7.3 Non-Fortran Main Program *************** provided by 'OMP_LIB' can be found in th *** 19695,19707 **** listed below. For details refer to the actual OpenMP Application Program Interface ! v4.5 (http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf). 'OMP_LIB_KINDS' provides the following scalar default-integer named constants: 'omp_lock_kind' 'omp_nest_lock_kind' 'omp_proc_bind_kind' 'omp_sched_kind' --- 19749,19764 ---- listed below. For details refer to the actual OpenMP Application Program Interface ! v4.5 (http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf). And for ! the 'pause'-related constants to the OpenMP 5.0 specification. 'OMP_LIB_KINDS' provides the following scalar default-integer named constants: 'omp_lock_kind' + 'omp_lock_hint_kind' 'omp_nest_lock_kind' + 'omp_pause_resource_kind' 'omp_proc_bind_kind' 'omp_sched_kind' *************** is '201511'. *** 19727,19732 **** --- 19784,19804 ---- 'omp_proc_bind_close' 'omp_proc_bind_spread' + The following scalar integer named constants are of the kind + 'omp_lock_hint_kind': + + 'omp_lock_hint_none' + 'omp_lock_hint_uncontended' + 'omp_lock_hint_contended' + 'omp_lock_hint_nonspeculative' + 'omp_lock_hint_speculative' + + And the following two scalar integer named constants are of the kind + 'omp_pause_resource_kind': + + 'omp_pause_soft' + 'omp_pause_hard' +  File: gfortran.info, Node: OpenACC Module OPENACC, Prev: OpenMP Modules OMP_LIB and OMP_LIB_KINDS, Up: Intrinsic Modules *************** Node: Interoperable Subroutines and Func *** 23029,23390 **** Node: Working with Pointers191710 Node: Further Interoperability of Fortran with C196186 Node: GNU Fortran Compiler Directives199758 ! Node: ATTRIBUTES directive200070 ! Node: UNROLL directive203258 ! Node: BUILTIN directive203791 ! Node: Non-Fortran Main Program204609 ! Node: _gfortran_set_args206797 ! Node: _gfortran_set_options207735 ! Node: _gfortran_set_convert211342 ! Node: _gfortran_set_record_marker212210 ! Node: _gfortran_set_fpe213020 ! Node: _gfortran_set_max_subrecord_length214218 ! Node: Naming and argument-passing conventions215141 ! Node: Naming conventions215860 ! Node: Argument passing conventions217332 ! Node: Coarray Programming222637 ! Node: Type and enum ABI Documentation222884 ! Node: caf_token_t223182 ! Node: caf_register_t223418 ! Node: caf_deregister_t224629 ! Node: caf_reference_t225131 ! Node: caf_team_t229455 ! Node: Function ABI Documentation229754 ! Node: _gfortran_caf_init232204 ! Node: _gfortran_caf_finish233630 ! Node: _gfortran_caf_this_image234569 ! Node: _gfortran_caf_num_images235324 ! Node: _gfortran_caf_image_status236435 ! Node: _gfortran_caf_failed_images237555 ! Node: _gfortran_caf_stopped_images238725 ! Node: _gfortran_caf_register239898 ! Node: _gfortran_caf_deregister244080 ! Node: _gfortran_caf_is_present245686 ! Node: _gfortran_caf_send246765 ! Node: _gfortran_caf_get249955 ! Node: _gfortran_caf_sendget253036 ! Node: _gfortran_caf_send_by_ref256947 ! Node: _gfortran_caf_get_by_ref260556 ! Node: _gfortran_caf_sendget_by_ref264075 ! Node: _gfortran_caf_lock268371 ! Node: _gfortran_caf_unlock270157 ! Node: _gfortran_caf_event_post271638 ! Node: _gfortran_caf_event_wait273087 ! Node: _gfortran_caf_event_query275194 ! Node: _gfortran_caf_sync_all276525 ! Node: _gfortran_caf_sync_images277453 ! Node: _gfortran_caf_sync_memory278988 ! Node: _gfortran_caf_error_stop279980 ! Node: _gfortran_caf_error_stop_str280584 ! Node: _gfortran_caf_fail_image281289 ! Node: _gfortran_caf_atomic_define281825 ! Node: _gfortran_caf_atomic_ref283140 ! Node: _gfortran_caf_atomic_cas284444 ! Node: _gfortran_caf_atomic_op286205 ! Node: _gfortran_caf_co_broadcast288307 ! Node: _gfortran_caf_co_max289412 ! Node: _gfortran_caf_co_min291038 ! Node: _gfortran_caf_co_sum292658 ! Node: _gfortran_caf_co_reduce294198 ! Node: Intrinsic Procedures296842 ! Node: Introduction to Intrinsics314101 ! Node: ABORT316451 ! Node: ABS317196 ! Node: ACCESS319146 ! Node: ACHAR321076 ! Node: ACOS322280 ! Node: ACOSD323566 ! Node: ACOSH324878 ! Node: ADJUSTL325874 ! Node: ADJUSTR326816 ! Node: AIMAG327766 ! Node: AINT329138 ! Node: ALARM330744 ! Node: ALL332376 ! Node: ALLOCATED334300 ! Node: AND335439 ! Node: ANINT337174 ! Node: ANY338671 ! Node: ASIN340597 ! Node: ASIND341872 ! Node: ASINH343170 ! Node: ASSOCIATED344176 ! Node: ATAN347187 ! Node: ATAND348637 ! Node: ATAN2350107 ! Node: ATAN2D351970 ! Node: ATANH353944 ! Node: ATOMIC_ADD354950 ! Node: ATOMIC_AND356482 ! Node: ATOMIC_CAS358070 ! Node: ATOMIC_DEFINE359929 ! Node: ATOMIC_FETCH_ADD361648 ! Node: ATOMIC_FETCH_AND363448 ! Node: ATOMIC_FETCH_OR365238 ! Node: ATOMIC_FETCH_XOR367015 ! Node: ATOMIC_OR368798 ! Node: ATOMIC_REF370383 ! Node: ATOMIC_XOR372279 ! Node: BACKTRACE373864 ! Node: BESSEL_J0374444 ! Node: BESSEL_J1375460 ! Node: BESSEL_JN376477 ! Node: BESSEL_Y0378302 ! Node: BESSEL_Y1379257 ! Node: BESSEL_YN380212 ! Node: BGE382043 ! Node: BGT382735 ! Node: BIT_SIZE383385 ! Node: BLE384207 ! Node: BLT384889 ! Node: BTEST385527 ! Node: C_ASSOCIATED386984 ! Node: C_F_POINTER388195 ! Node: C_F_PROCPOINTER389630 ! Node: C_FUNLOC391137 ! Node: C_LOC392508 ! Node: C_SIZEOF393787 ! Node: CEILING395200 ! Node: CHAR396208 ! Node: CHDIR397420 ! Node: CHMOD398594 ! Node: CMPLX400509 ! Node: CO_BROADCAST401952 ! Node: CO_MAX403725 ! Node: CO_MIN405605 ! Node: CO_REDUCE407471 ! Node: CO_SUM410974 ! Node: COMMAND_ARGUMENT_COUNT412881 ! Node: COMPILER_OPTIONS413798 ! Node: COMPILER_VERSION414824 ! Node: COMPLEX415788 ! Node: CONJG416927 ! Node: COS417983 ! Node: COSD419438 ! Node: COSH420887 ! Node: COTAN422070 ! Node: COTAND423209 ! Node: COUNT424388 ! Node: CPU_TIME426413 ! Node: CSHIFT427770 ! Node: CTIME429430 ! Node: DATE_AND_TIME430938 ! Node: DBLE433418 ! Node: DCMPLX434213 ! Node: DIGITS435395 ! Node: DIM436362 ! Node: DOT_PRODUCT437643 ! Node: DPROD439286 ! Node: DREAL440213 ! Node: DSHIFTL440879 ! Node: DSHIFTR442212 ! Node: DTIME443546 ! Node: EOSHIFT446361 ! Node: EPSILON448434 ! Node: ERF449161 ! Node: ERFC449942 ! Node: ERFC_SCALED450752 ! Node: ETIME451445 ! Node: EVENT_QUERY453684 ! Node: EXECUTE_COMMAND_LINE455273 ! Node: EXIT458053 ! Node: EXP458931 ! Node: EXPONENT460184 ! Node: EXTENDS_TYPE_OF460948 ! Node: FDATE461806 ! Node: FGET463292 ! Node: FGETC465119 ! Node: FINDLOC466929 ! Node: FLOOR469389 ! Node: FLUSH470380 ! Node: FNUM472259 ! Node: FPUT472984 ! Node: FPUTC474618 ! Node: FRACTION476399 ! Node: FREE477303 ! Node: FSEEK478146 ! Node: FSTAT480452 ! Node: FTELL481539 ! Node: GAMMA482521 ! Node: GERROR483575 ! Node: GETARG484297 ! Node: GET_COMMAND486069 ! Node: GET_COMMAND_ARGUMENT487443 ! Node: GETCWD489490 ! Node: GETENV490470 ! Node: GET_ENVIRONMENT_VARIABLE491902 ! Node: GETGID494065 ! Node: GETLOG494602 ! Node: GETPID495464 ! Node: GETUID496194 ! Node: GMTIME496710 ! Node: HOSTNM498470 ! Node: HUGE499391 ! Node: HYPOT500113 ! Node: IACHAR500939 ! Node: IALL502107 ! Node: IAND503592 ! Node: IANY505319 ! Node: IARGC506813 ! Node: IBCLR507834 ! Node: IBITS509082 ! Node: IBSET510586 ! Node: ICHAR511829 ! Node: IDATE513999 ! Node: IEOR515299 ! Node: IERRNO516919 ! Node: IMAGE_INDEX517468 ! Node: INDEX intrinsic518496 ! Node: INT520022 ! Node: INT2521781 ! Node: INT8522549 ! Node: IOR523264 ! Node: IPARITY524860 ! Node: IRAND526392 ! Node: IS_CONTIGUOUS527751 ! Node: IS_IOSTAT_END528917 ! Node: IS_IOSTAT_EOR530024 ! Node: ISATTY531153 ! Node: ISHFT531936 ! Node: ISHFTC533505 ! Node: ISNAN535312 ! Node: ITIME536079 ! Node: KILL537377 ! Node: KIND538462 ! Node: LBOUND539308 ! Node: LCOBOUND540646 ! Node: LEADZ541781 ! Node: LEN542642 ! Node: LEN_TRIM543938 ! Node: LGE544926 ! Node: LGT546439 ! Node: LINK547917 ! Node: LLE548956 ! Node: LLT550456 ! Node: LNBLNK551927 ! Node: LOC552705 ! Node: LOG553437 ! Node: LOG10554782 ! Node: LOG_GAMMA555772 ! Node: LOGICAL556874 ! Node: LONG557686 ! Node: LSHIFT558444 ! Node: LSTAT559553 ! Node: LTIME560753 ! Node: MALLOC562435 ! Node: MASKL563897 ! Node: MASKR564664 ! Node: MATMUL565434 ! Node: MAX566607 ! Node: MAXEXPONENT568142 ! Node: MAXLOC568959 ! Node: MAXVAL571576 ! Node: MCLOCK573216 ! Node: MCLOCK8574239 ! Node: MERGE575469 ! Node: MERGE_BITS576221 ! Node: MIN577260 ! Node: MINEXPONENT578798 ! Node: MINLOC579429 ! Node: MINVAL582077 ! Node: MOD583730 ! Node: MODULO585894 ! Node: MOVE_ALLOC587197 ! Node: MVBITS588230 ! Node: NEAREST589882 ! Node: NEW_LINE590982 ! Node: NINT591755 ! Node: NORM2593176 ! Node: NOT594318 ! Node: NULL595488 ! Node: NUM_IMAGES596396 ! Node: OR598097 ! Node: PACK599820 ! Node: PARITY601828 ! Node: PERROR603049 ! Node: POPCNT603674 ! Node: POPPAR604546 ! Node: PRECISION605600 ! Node: PRESENT606487 ! Node: PRODUCT607599 ! Node: RADIX609133 ! Node: RAN609945 ! Node: RAND610401 ! Node: RANDOM_INIT611734 ! Node: RANDOM_NUMBER613690 ! Node: RANDOM_SEED614932 ! Node: RANGE617402 ! Node: RANK618083 ! Node: REAL618864 ! Node: RENAME620853 ! Node: REPEAT621875 ! Node: RESHAPE622603 ! Node: RRSPACING624070 ! Node: RSHIFT624763 ! Node: SAME_TYPE_AS625931 ! Node: SCALE626763 ! Node: SCAN627544 ! Node: SECNDS629102 ! Node: SECOND630194 ! Node: SELECTED_CHAR_KIND631070 ! Node: SELECTED_INT_KIND632665 ! Node: SELECTED_REAL_KIND633842 ! Node: SET_EXPONENT636519 ! Node: SHAPE637516 ! Node: SHIFTA638940 ! Node: SHIFTL639931 ! Node: SHIFTR640791 ! Node: SIGN641652 ! Node: SIGNAL642878 ! Node: SIN644384 ! Node: SIND645475 ! Node: SINH646804 ! Node: SIZE647817 ! Node: SIZEOF649136 ! Node: SLEEP650791 ! Node: SPACING651352 ! Node: SPREAD652366 ! Node: SQRT653517 ! Node: SRAND654849 ! Node: STAT656083 ! Node: STORAGE_SIZE659251 ! Node: SUM660130 ! Node: SYMLNK661622 ! Node: SYSTEM662757 ! Node: SYSTEM_CLOCK664012 ! Node: TAN666842 ! Node: TAND667913 ! Node: TANH668997 ! Node: THIS_IMAGE670172 ! Node: TIME672472 ! Node: TIME8673643 ! Node: TINY674842 ! Node: TRAILZ675443 ! Node: TRANSFER676261 ! Node: TRANSPOSE678297 ! Node: TRIM678987 ! Node: TTYNAM679845 ! Node: UBOUND680763 ! Node: UCOBOUND682153 ! Node: UMASK683290 ! Node: UNLINK683972 ! Node: UNPACK684952 ! Node: VERIFY686247 ! Node: XOR687976 ! Node: Intrinsic Modules689786 ! Node: ISO_FORTRAN_ENV690075 ! Node: ISO_C_BINDING694478 ! Node: IEEE modules698184 ! Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS699327 ! Node: OpenACC Module OPENACC700867 ! Node: Contributing701794 ! Node: Contributors702648 ! Node: Projects704279 ! Node: Proposed Extensions705086 ! Node: Copying707096 ! Node: GNU Free Documentation License744642 ! Node: Funding769766 ! Node: Option Index772292 ! Node: Keyword Index790585  End Tag Table --- 23101,23465 ---- Node: Working with Pointers191710 Node: Further Interoperability of Fortran with C196186 Node: GNU Fortran Compiler Directives199758 ! Node: ATTRIBUTES directive200134 ! Node: UNROLL directive203322 ! Node: BUILTIN directive203855 ! Node: IVDEP directive204697 ! Node: VECTOR directive205516 ! Node: NOVECTOR directive205914 ! Node: Non-Fortran Main Program206299 ! Node: _gfortran_set_args208487 ! Node: _gfortran_set_options209425 ! Node: _gfortran_set_convert213032 ! Node: _gfortran_set_record_marker213900 ! Node: _gfortran_set_fpe214710 ! Node: _gfortran_set_max_subrecord_length215908 ! Node: Naming and argument-passing conventions216831 ! Node: Naming conventions217550 ! Node: Argument passing conventions219022 ! Node: Coarray Programming224327 ! Node: Type and enum ABI Documentation224574 ! Node: caf_token_t224872 ! Node: caf_register_t225108 ! Node: caf_deregister_t226319 ! Node: caf_reference_t226821 ! Node: caf_team_t231145 ! Node: Function ABI Documentation231444 ! Node: _gfortran_caf_init233894 ! Node: _gfortran_caf_finish235320 ! Node: _gfortran_caf_this_image236259 ! Node: _gfortran_caf_num_images237014 ! Node: _gfortran_caf_image_status238125 ! Node: _gfortran_caf_failed_images239245 ! Node: _gfortran_caf_stopped_images240415 ! Node: _gfortran_caf_register241588 ! Node: _gfortran_caf_deregister245770 ! Node: _gfortran_caf_is_present247376 ! Node: _gfortran_caf_send248455 ! Node: _gfortran_caf_get251645 ! Node: _gfortran_caf_sendget254726 ! Node: _gfortran_caf_send_by_ref258637 ! Node: _gfortran_caf_get_by_ref262246 ! Node: _gfortran_caf_sendget_by_ref265765 ! Node: _gfortran_caf_lock270061 ! Node: _gfortran_caf_unlock271847 ! Node: _gfortran_caf_event_post273328 ! Node: _gfortran_caf_event_wait274777 ! Node: _gfortran_caf_event_query276884 ! Node: _gfortran_caf_sync_all278215 ! Node: _gfortran_caf_sync_images279143 ! Node: _gfortran_caf_sync_memory280678 ! Node: _gfortran_caf_error_stop281670 ! Node: _gfortran_caf_error_stop_str282274 ! Node: _gfortran_caf_fail_image282979 ! Node: _gfortran_caf_atomic_define283515 ! Node: _gfortran_caf_atomic_ref284830 ! Node: _gfortran_caf_atomic_cas286134 ! Node: _gfortran_caf_atomic_op287895 ! Node: _gfortran_caf_co_broadcast289997 ! Node: _gfortran_caf_co_max291102 ! Node: _gfortran_caf_co_min292728 ! Node: _gfortran_caf_co_sum294348 ! Node: _gfortran_caf_co_reduce295888 ! Node: Intrinsic Procedures298532 ! Node: Introduction to Intrinsics315791 ! Node: ABORT318141 ! Node: ABS318886 ! Node: ACCESS320836 ! Node: ACHAR322766 ! Node: ACOS323970 ! Node: ACOSD325256 ! Node: ACOSH326568 ! Node: ADJUSTL327564 ! Node: ADJUSTR328506 ! Node: AIMAG329456 ! Node: AINT330828 ! Node: ALARM332434 ! Node: ALL334066 ! Node: ALLOCATED335990 ! Node: AND337129 ! Node: ANINT338864 ! Node: ANY340361 ! Node: ASIN342287 ! Node: ASIND343562 ! Node: ASINH344860 ! Node: ASSOCIATED345866 ! Node: ATAN348877 ! Node: ATAND350327 ! Node: ATAN2351797 ! Node: ATAN2D353660 ! Node: ATANH355634 ! Node: ATOMIC_ADD356640 ! Node: ATOMIC_AND358172 ! Node: ATOMIC_CAS359760 ! Node: ATOMIC_DEFINE361619 ! Node: ATOMIC_FETCH_ADD363338 ! Node: ATOMIC_FETCH_AND365138 ! Node: ATOMIC_FETCH_OR366928 ! Node: ATOMIC_FETCH_XOR368705 ! Node: ATOMIC_OR370488 ! Node: ATOMIC_REF372073 ! Node: ATOMIC_XOR373969 ! Node: BACKTRACE375554 ! Node: BESSEL_J0376134 ! Node: BESSEL_J1377150 ! Node: BESSEL_JN378167 ! Node: BESSEL_Y0379992 ! Node: BESSEL_Y1380947 ! Node: BESSEL_YN381902 ! Node: BGE383733 ! Node: BGT384425 ! Node: BIT_SIZE385075 ! Node: BLE385897 ! Node: BLT386579 ! Node: BTEST387217 ! Node: C_ASSOCIATED388674 ! Node: C_F_POINTER389885 ! Node: C_F_PROCPOINTER391320 ! Node: C_FUNLOC392827 ! Node: C_LOC394198 ! Node: C_SIZEOF395477 ! Node: CEILING396890 ! Node: CHAR397898 ! Node: CHDIR399110 ! Node: CHMOD400284 ! Node: CMPLX402199 ! Node: CO_BROADCAST403642 ! Node: CO_MAX405415 ! Node: CO_MIN407295 ! Node: CO_REDUCE409161 ! Node: CO_SUM412664 ! Node: COMMAND_ARGUMENT_COUNT414571 ! Node: COMPILER_OPTIONS415488 ! Node: COMPILER_VERSION416514 ! Node: COMPLEX417478 ! Node: CONJG418617 ! Node: COS419673 ! Node: COSD421128 ! Node: COSH422577 ! Node: COTAN423760 ! Node: COTAND424899 ! Node: COUNT426078 ! Node: CPU_TIME428103 ! Node: CSHIFT429460 ! Node: CTIME431120 ! Node: DATE_AND_TIME432628 ! Node: DBLE435108 ! Node: DCMPLX435903 ! Node: DIGITS437085 ! Node: DIM438052 ! Node: DOT_PRODUCT439333 ! Node: DPROD440976 ! Node: DREAL441903 ! Node: DSHIFTL442569 ! Node: DSHIFTR443902 ! Node: DTIME445236 ! Node: EOSHIFT448051 ! Node: EPSILON450124 ! Node: ERF450851 ! Node: ERFC451632 ! Node: ERFC_SCALED452442 ! Node: ETIME453135 ! Node: EVENT_QUERY455374 ! Node: EXECUTE_COMMAND_LINE456963 ! Node: EXIT459743 ! Node: EXP460621 ! Node: EXPONENT461874 ! Node: EXTENDS_TYPE_OF462638 ! Node: FDATE463496 ! Node: FGET464982 ! Node: FGETC466809 ! Node: FINDLOC468619 ! Node: FLOOR471079 ! Node: FLUSH472070 ! Node: FNUM473949 ! Node: FPUT474674 ! Node: FPUTC476308 ! Node: FRACTION478089 ! Node: FREE478993 ! Node: FSEEK479836 ! Node: FSTAT482142 ! Node: FTELL483229 ! Node: GAMMA484211 ! Node: GERROR485265 ! Node: GETARG485987 ! Node: GET_COMMAND487759 ! Node: GET_COMMAND_ARGUMENT489133 ! Node: GETCWD491180 ! Node: GETENV492160 ! Node: GET_ENVIRONMENT_VARIABLE493592 ! Node: GETGID495755 ! Node: GETLOG496292 ! Node: GETPID497154 ! Node: GETUID497884 ! Node: GMTIME498400 ! Node: HOSTNM500160 ! Node: HUGE501081 ! Node: HYPOT501803 ! Node: IACHAR502629 ! Node: IALL503797 ! Node: IAND505282 ! Node: IANY507009 ! Node: IARGC508503 ! Node: IBCLR509524 ! Node: IBITS510772 ! Node: IBSET512276 ! Node: ICHAR513519 ! Node: IDATE515689 ! Node: IEOR516989 ! Node: IERRNO518609 ! Node: IMAGE_INDEX519158 ! Node: INDEX intrinsic520186 ! Node: INT521712 ! Node: INT2523471 ! Node: INT8524239 ! Node: IOR524954 ! Node: IPARITY526550 ! Node: IRAND528082 ! Node: IS_CONTIGUOUS529441 ! Node: IS_IOSTAT_END530607 ! Node: IS_IOSTAT_EOR531714 ! Node: ISATTY532843 ! Node: ISHFT533626 ! Node: ISHFTC535195 ! Node: ISNAN537002 ! Node: ITIME537769 ! Node: KILL539067 ! Node: KIND540152 ! Node: LBOUND540998 ! Node: LCOBOUND542336 ! Node: LEADZ543471 ! Node: LEN544332 ! Node: LEN_TRIM545628 ! Node: LGE546616 ! Node: LGT548129 ! Node: LINK549607 ! Node: LLE550646 ! Node: LLT552146 ! Node: LNBLNK553617 ! Node: LOC554395 ! Node: LOG555127 ! Node: LOG10556472 ! Node: LOG_GAMMA557462 ! Node: LOGICAL558564 ! Node: LONG559376 ! Node: LSHIFT560134 ! Node: LSTAT561243 ! Node: LTIME562443 ! Node: MALLOC564125 ! Node: MASKL565587 ! Node: MASKR566354 ! Node: MATMUL567124 ! Node: MAX568297 ! Node: MAXEXPONENT569832 ! Node: MAXLOC570649 ! Node: MAXVAL573266 ! Node: MCLOCK574906 ! Node: MCLOCK8575929 ! Node: MERGE577159 ! Node: MERGE_BITS577911 ! Node: MIN578950 ! Node: MINEXPONENT580488 ! Node: MINLOC581119 ! Node: MINVAL583767 ! Node: MOD585420 ! Node: MODULO587584 ! Node: MOVE_ALLOC588887 ! Node: MVBITS589920 ! Node: NEAREST591572 ! Node: NEW_LINE592672 ! Node: NINT593445 ! Node: NORM2594866 ! Node: NOT596008 ! Node: NULL597178 ! Node: NUM_IMAGES598086 ! Node: OR599787 ! Node: PACK601510 ! Node: PARITY603518 ! Node: PERROR604739 ! Node: POPCNT605364 ! Node: POPPAR606236 ! Node: PRECISION607290 ! Node: PRESENT608177 ! Node: PRODUCT609289 ! Node: RADIX610823 ! Node: RAN611635 ! Node: RAND612091 ! Node: RANDOM_INIT613424 ! Node: RANDOM_NUMBER615380 ! Node: RANDOM_SEED616622 ! Node: RANGE619092 ! Node: RANK619773 ! Node: REAL620554 ! Node: RENAME622543 ! Node: REPEAT623565 ! Node: RESHAPE624293 ! Node: RRSPACING625760 ! Node: RSHIFT626453 ! Node: SAME_TYPE_AS627621 ! Node: SCALE628453 ! Node: SCAN629234 ! Node: SECNDS630792 ! Node: SECOND631884 ! Node: SELECTED_CHAR_KIND632760 ! Node: SELECTED_INT_KIND634355 ! Node: SELECTED_REAL_KIND635532 ! Node: SET_EXPONENT638209 ! Node: SHAPE639206 ! Node: SHIFTA640630 ! Node: SHIFTL641621 ! Node: SHIFTR642481 ! Node: SIGN643342 ! Node: SIGNAL644568 ! Node: SIN646074 ! Node: SIND647165 ! Node: SINH648494 ! Node: SIZE649507 ! Node: SIZEOF650826 ! Node: SLEEP652481 ! Node: SPACING653042 ! Node: SPREAD654056 ! Node: SQRT655207 ! Node: SRAND656539 ! Node: STAT657773 ! Node: STORAGE_SIZE660941 ! Node: SUM661820 ! Node: SYMLNK663312 ! Node: SYSTEM664447 ! Node: SYSTEM_CLOCK665702 ! Node: TAN668532 ! Node: TAND669603 ! Node: TANH670687 ! Node: THIS_IMAGE671862 ! Node: TIME674162 ! Node: TIME8675333 ! Node: TINY676532 ! Node: TRAILZ677133 ! Node: TRANSFER677951 ! Node: TRANSPOSE679987 ! Node: TRIM680677 ! Node: TTYNAM681535 ! Node: UBOUND682453 ! Node: UCOBOUND683843 ! Node: UMASK684980 ! Node: UNLINK685662 ! Node: UNPACK686642 ! Node: VERIFY687937 ! Node: XOR689666 ! Node: Intrinsic Modules691476 ! Node: ISO_FORTRAN_ENV691765 ! Node: ISO_C_BINDING696168 ! Node: IEEE modules699874 ! Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS701017 ! Node: OpenACC Module OPENACC703033 ! Node: Contributing703960 ! Node: Contributors704814 ! Node: Projects706445 ! Node: Proposed Extensions707252 ! Node: Copying709262 ! Node: GNU Free Documentation License746808 ! Node: Funding771932 ! Node: Option Index774458 ! Node: Keyword Index792751  End Tag Table diff -Nrcpad gcc-9.2.0/gcc/fortran/gfortran.texi gcc-9.3.0/gcc/fortran/gfortran.texi *** gcc-9.2.0/gcc/fortran/gfortran.texi Tue Jul 23 08:57:45 2019 --- gcc-9.3.0/gcc/fortran/gfortran.texi Thu Mar 12 11:07:21 2020 *************** as this requires the new array descripto *** 3542,3547 **** --- 3542,3550 ---- * ATTRIBUTES directive:: * UNROLL directive:: * BUILTIN directive:: + * IVDEP directive:: + * VECTOR directive:: + * NOVECTOR directive:: @end menu @node ATTRIBUTES directive *************** for the built-in that should be vectoriz *** 3653,3658 **** --- 3656,3707 ---- The purpose of the directive is to provide an API among the GCC compiler and the GNU C Library which would define vector implementations of math routines. + + @node IVDEP directive + @subsection IVDEP directive + + The syntax of the directive is + + @code{!GCC$ ivdep} + + This directive tells the compiler to ignore vector dependencies in the + following loop. It must be placed immediately before a @code{DO} loop + and applies only to the loop that follows. + + Sometimes the compiler may not have sufficient information to decide + whether a particular loop is vectorizable due to potential + dependencies between iterations. The purpose of the directive is to + tell the compiler that vectorization is safe. + + This directive is intended for annotation of existing code. For new + code it is recommended to consider OpenMP SIMD directives as potential + alternative. + + + @node VECTOR directive + @subsection VECTOR directive + + The syntax of the directive is + + @code{!GCC$ vector} + + This directive tells the compiler to vectorize the following loop. It + must be placed immediately before a @code{DO} loop and applies only to + the loop that follows. + + + @node NOVECTOR directive + @subsection NOVECTOR directive + + The syntax of the directive is + + @code{!GCC$ novector} + + This directive tells the compiler to not vectorize the following loop. + It must be placed immediately before a @code{DO} loop and applies only + to the loop that follows. + + @node Non-Fortran Main Program @section Non-Fortran Main Program diff -Nrcpad gcc-9.2.0/gcc/fortran/interface.c gcc-9.3.0/gcc/fortran/interface.c *** gcc-9.2.0/gcc/fortran/interface.c Tue Jul 30 21:38:48 2019 --- gcc-9.3.0/gcc/fortran/interface.c Thu Mar 12 11:07:21 2020 *************** gfc_procedure_use (gfc_symbol *sym, gfc_ *** 3671,3677 **** explicitly declared at all if requested. */ if (sym->attr.if_source == IFSRC_UNKNOWN && !sym->attr.is_iso_c) { ! if (sym->ns->has_implicit_none_export && sym->attr.proc == PROC_UNKNOWN) { const char *guessed = gfc_lookup_function_fuzzy (sym->name, sym->ns->sym_root); --- 3671,3682 ---- explicitly declared at all if requested. */ if (sym->attr.if_source == IFSRC_UNKNOWN && !sym->attr.is_iso_c) { ! bool has_implicit_none_export = false; ! if (sym->attr.proc == PROC_UNKNOWN) ! for (gfc_namespace *ns = sym->ns; ns; ns = ns->parent) ! if (ns->has_implicit_none_export) ! has_implicit_none_export = true; ! if (has_implicit_none_export) { const char *guessed = gfc_lookup_function_fuzzy (sym->name, sym->ns->sym_root); diff -Nrcpad gcc-9.2.0/gcc/fortran/intrinsic.c gcc-9.3.0/gcc/fortran/intrinsic.c *** gcc-9.2.0/gcc/fortran/intrinsic.c Tue Mar 12 15:11:42 2019 --- gcc-9.3.0/gcc/fortran/intrinsic.c Thu Mar 12 11:07:21 2020 *************** sort_actual (const char *name, gfc_actua *** 4180,4185 **** --- 4180,4229 ---- if (f == NULL && a == NULL) /* No arguments */ return true; + /* ALLOCATED has two mutually exclusive keywords, but only one + can be present at time and neither is optional. */ + if (strcmp (name, "allocated") == 0) + { + if (!a) + { + gfc_error ("ALLOCATED intrinsic at %L requires an array or scalar " + "allocatable entity", where); + return false; + } + + if (a->name) + { + if (strcmp (a->name, "scalar") == 0) + { + if (a->next) + goto whoops; + if (a->expr->rank != 0) + { + gfc_error ("Scalar entity required at %L", &a->expr->where); + return false; + } + return true; + } + else if (strcmp (a->name, "array") == 0) + { + if (a->next) + goto whoops; + if (a->expr->rank == 0) + { + gfc_error ("Array entity required at %L", &a->expr->where); + return false; + } + return true; + } + else + { + gfc_error ("Invalid keyword %qs in %qs intrinsic function at %L", + a->name, name, &a->expr->where); + return false; + } + } + } + for (;;) { /* Put the nonkeyword arguments in a 1:1 correspondence */ if (f == NULL) *************** sort_actual (const char *name, gfc_actua *** 4199,4204 **** --- 4243,4249 ---- if (a == NULL) goto do_sort; + whoops: gfc_error ("Too many arguments in call to %qs at %L", name, where); return false; diff -Nrcpad gcc-9.2.0/gcc/fortran/intrinsic.texi gcc-9.3.0/gcc/fortran/intrinsic.texi *** gcc-9.2.0/gcc/fortran/intrinsic.texi Tue Jun 18 20:21:47 2019 --- gcc-9.3.0/gcc/fortran/intrinsic.texi Thu Mar 12 11:07:21 2020 *************** below. *** 15017,15029 **** --- 15017,15032 ---- For details refer to the actual @uref{http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf, OpenMP Application Program Interface v4.5}. + And for the @code{pause}-related constants to the OpenMP 5.0 specification. @code{OMP_LIB_KINDS} provides the following scalar default-integer named constants: @table @asis @item @code{omp_lock_kind} + @item @code{omp_lock_hint_kind} @item @code{omp_nest_lock_kind} + @item @code{omp_pause_resource_kind} @item @code{omp_proc_bind_kind} @item @code{omp_sched_kind} @end table *************** kind @code{omp_proc_bind_kind}: *** 15054,15059 **** --- 15057,15080 ---- @item @code{omp_proc_bind_spread} @end table + The following scalar integer named constants are of the + kind @code{omp_lock_hint_kind}: + + @table @asis + @item @code{omp_lock_hint_none} + @item @code{omp_lock_hint_uncontended} + @item @code{omp_lock_hint_contended} + @item @code{omp_lock_hint_nonspeculative} + @item @code{omp_lock_hint_speculative} + @end table + + And the following two scalar integer named constants are of the + kind @code{omp_pause_resource_kind}: + + @table @asis + @item @code{omp_pause_soft} + @item @code{omp_pause_hard} + @end table @node OpenACC Module OPENACC diff -Nrcpad gcc-9.2.0/gcc/fortran/io.c gcc-9.3.0/gcc/fortran/io.c *** gcc-9.2.0/gcc/fortran/io.c Fri Feb 22 20:35:38 2019 --- gcc-9.3.0/gcc/fortran/io.c Thu Mar 12 11:07:21 2020 *************** match_vtag (const io_tag *tag, gfc_expr *** 1441,1464 **** return MATCH_ERROR; } ! if (result->symtree->n.sym->attr.intent == INTENT_IN) { ! gfc_error ("Variable %s cannot be INTENT(IN) at %C", tag->name); ! gfc_free_expr (result); ! return MATCH_ERROR; ! } ! bool impure = gfc_impure_variable (result->symtree->n.sym); ! if (impure && gfc_pure (NULL)) ! { ! gfc_error ("Variable %s cannot be assigned in PURE procedure at %C", ! tag->name); ! gfc_free_expr (result); ! return MATCH_ERROR; ! } ! if (impure) ! gfc_unset_implicit_pure (NULL); *v = result; return MATCH_YES; --- 1441,1469 ---- return MATCH_ERROR; } ! if (result->symtree) { ! bool impure; ! if (result->symtree->n.sym->attr.intent == INTENT_IN) ! { ! gfc_error ("Variable %s cannot be INTENT(IN) at %C", tag->name); ! gfc_free_expr (result); ! return MATCH_ERROR; ! } ! impure = gfc_impure_variable (result->symtree->n.sym); ! if (impure && gfc_pure (NULL)) ! { ! gfc_error ("Variable %s cannot be assigned in PURE procedure at %C", ! tag->name); ! gfc_free_expr (result); ! return MATCH_ERROR; ! } ! ! if (impure) ! gfc_unset_implicit_pure (NULL); ! } *v = result; return MATCH_YES; *************** match_out_tag (const io_tag *tag, gfc_ex *** 1474,1480 **** m = match_vtag (tag, result); if (m == MATCH_YES) ! gfc_check_do_variable ((*result)->symtree); return m; } --- 1479,1494 ---- m = match_vtag (tag, result); if (m == MATCH_YES) ! { ! if ((*result)->symtree) ! gfc_check_do_variable ((*result)->symtree); ! ! if ((*result)->expr_type == EXPR_CONSTANT) ! { ! gfc_error ("Expecting a variable at %L", &(*result)->where); ! return MATCH_ERROR; ! } ! } return m; } *************** match_filepos (gfc_statement st, gfc_exe *** 2804,2810 **** m = match_file_element (fp); if (m == MATCH_ERROR) ! goto done; if (m == MATCH_NO) { m = gfc_match_expr (&fp->unit); --- 2818,2824 ---- m = match_file_element (fp); if (m == MATCH_ERROR) ! goto cleanup; if (m == MATCH_NO) { m = gfc_match_expr (&fp->unit); *************** match_io_element (io_kind k, gfc_code ** *** 3608,3614 **** { m = gfc_match_variable (&expr, 0); if (m == MATCH_NO) ! gfc_error ("Expected variable in READ statement at %C"); if (m == MATCH_YES && expr->expr_type == EXPR_VARIABLE --- 3622,3638 ---- { m = gfc_match_variable (&expr, 0); if (m == MATCH_NO) ! { ! gfc_error ("Expecting variable in READ statement at %C"); ! m = MATCH_ERROR; ! } ! ! if (m == MATCH_YES && expr->expr_type == EXPR_CONSTANT) ! { ! gfc_error ("Expecting variable or io-implied-do in READ statement " ! "at %L", &expr->where); ! m = MATCH_ERROR; ! } if (m == MATCH_YES && expr->expr_type == EXPR_VARIABLE *************** match_io_element (io_kind k, gfc_code ** *** 3618,3624 **** &expr->where); m = MATCH_ERROR; } - } else { --- 3642,3647 ---- *************** gfc_match_inquire (void) *** 4583,4588 **** --- 4606,4622 ---- if (m == MATCH_NO) goto syntax; + for (gfc_code *c = code; c; c = c->next) + if (c->expr1 && c->expr1->expr_type == EXPR_FUNCTION + && c->expr1->symtree && c->expr1->symtree->n.sym->attr.function + && !c->expr1->symtree->n.sym->attr.external + && strcmp (c->expr1->symtree->name, "null") == 0) + { + gfc_error ("NULL() near %L cannot appear in INQUIRE statement", + &c->expr1->where); + goto cleanup; + } + new_st.op = EXEC_IOLENGTH; new_st.expr1 = inquire->iolength; new_st.ext.inquire = inquire; diff -Nrcpad gcc-9.2.0/gcc/fortran/match.c gcc-9.3.0/gcc/fortran/match.c *** gcc-9.2.0/gcc/fortran/match.c Fri Jun 21 00:54:28 2019 --- gcc-9.3.0/gcc/fortran/match.c Thu Mar 12 11:07:21 2020 *************** gfc_match_allocate (void) *** 4219,4224 **** --- 4219,4230 ---- if (m == MATCH_ERROR) goto cleanup; + if (tail->expr->expr_type == EXPR_CONSTANT) + { + gfc_error ("Unexpected constant at %C"); + goto cleanup; + } + if (gfc_check_do_variable (tail->expr->symtree)) goto cleanup; *************** alloc_opt_list: *** 4351,4356 **** --- 4357,4368 ---- tmp = NULL; saw_stat = true; + if (stat->expr_type == EXPR_CONSTANT) + { + gfc_error ("STAT tag at %L cannot be a constant", &stat->where); + goto cleanup; + } + if (gfc_check_do_variable (stat->symtree)) goto cleanup; *************** gfc_match_deallocate (void) *** 4627,4632 **** --- 4639,4650 ---- if (m == MATCH_NO) goto syntax; + if (tail->expr->expr_type == EXPR_CONSTANT) + { + gfc_error ("Unexpected constant at %C"); + goto cleanup; + } + if (gfc_check_do_variable (tail->expr->symtree)) goto cleanup; *************** gfc_match_st_function (void) *** 5698,5704 **** --- 5716,5744 ---- gfc_symbol *sym; gfc_expr *expr; match m; + char name[GFC_MAX_SYMBOL_LEN + 1]; + locus old_locus; + bool fcn; + gfc_formal_arglist *ptr; + /* Read the possible statement function name, and then check to see if + a symbol is already present in the namespace. Record if it is a + function and whether it has been referenced. */ + fcn = false; + ptr = NULL; + old_locus = gfc_current_locus; + m = gfc_match_name (name); + if (m == MATCH_YES) + { + gfc_find_symbol (name, NULL, 1, &sym); + if (sym && sym->attr.function && !sym->attr.referenced) + { + fcn = true; + ptr = sym->formal; + } + } + + gfc_current_locus = old_locus; m = gfc_match_symbol (&sym, 0); if (m != MATCH_YES) return m; *************** gfc_match_st_function (void) *** 5726,5731 **** --- 5766,5778 ---- return MATCH_ERROR; } + if (fcn && ptr != sym->formal) + { + gfc_error ("Statement function %qs at %L conflicts with function name", + sym->name, &expr->where); + return MATCH_ERROR; + } + sym->value = expr; if ((gfc_current_state () == COMP_FUNCTION *************** select_type_set_tmp (gfc_typespec *ts) *** 6118,6123 **** --- 6165,6171 ---- { char name[GFC_MAX_SYMBOL_LEN]; gfc_symtree *tmp = NULL; + gfc_symbol *selector = select_type_stack->selector; if (!ts) { *************** select_type_set_tmp (gfc_typespec *ts) *** 6139,6160 **** gfc_get_sym_tree (name, gfc_current_ns, &tmp, false); gfc_add_type (tmp->n.sym, ts, NULL); ! if (select_type_stack->selector->ts.type == BT_CLASS ! && select_type_stack->selector->attr.class_ok) { ! tmp->n.sym->attr.pointer ! = CLASS_DATA (select_type_stack->selector)->attr.class_pointer; /* Copy across the array spec to the selector. */ ! if (CLASS_DATA (select_type_stack->selector)->attr.dimension ! || CLASS_DATA (select_type_stack->selector)->attr.codimension) { tmp->n.sym->attr.dimension ! = CLASS_DATA (select_type_stack->selector)->attr.dimension; tmp->n.sym->attr.codimension ! = CLASS_DATA (select_type_stack->selector)->attr.codimension; ! tmp->n.sym->as ! = gfc_copy_array_spec (CLASS_DATA (select_type_stack->selector)->as); } } --- 6187,6213 ---- gfc_get_sym_tree (name, gfc_current_ns, &tmp, false); gfc_add_type (tmp->n.sym, ts, NULL); ! if (selector->ts.type == BT_CLASS && selector->attr.class_ok) { ! tmp->n.sym->attr.pointer = CLASS_DATA (selector)->attr.class_pointer; /* Copy across the array spec to the selector. */ ! if (CLASS_DATA (selector)->attr.dimension ! || CLASS_DATA (selector)->attr.codimension) { tmp->n.sym->attr.dimension ! = CLASS_DATA (selector)->attr.dimension; tmp->n.sym->attr.codimension ! = CLASS_DATA (selector)->attr.codimension; ! if (CLASS_DATA (selector)->as->type != AS_EXPLICIT) ! tmp->n.sym->as ! = gfc_copy_array_spec (CLASS_DATA (selector)->as); ! else ! { ! tmp->n.sym->as = gfc_get_array_spec(); ! tmp->n.sym->as->rank = CLASS_DATA (selector)->as->rank; ! tmp->n.sym->as->type = AS_DEFERRED; ! } } } diff -Nrcpad gcc-9.2.0/gcc/fortran/match.h gcc-9.3.0/gcc/fortran/match.h *** gcc-9.2.0/gcc/fortran/match.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/fortran/match.h Thu Mar 12 11:07:21 2020 *************** match gfc_match_contiguous (void); *** 246,253 **** match gfc_match_dimension (void); match gfc_match_external (void); match gfc_match_gcc_attributes (void); - match gfc_match_gcc_unroll (void); match gfc_match_gcc_builtin (void); match gfc_match_import (void); match gfc_match_intent (void); match gfc_match_intrinsic (void); --- 246,256 ---- match gfc_match_dimension (void); match gfc_match_external (void); match gfc_match_gcc_attributes (void); match gfc_match_gcc_builtin (void); + match gfc_match_gcc_ivdep (void); + match gfc_match_gcc_novector (void); + match gfc_match_gcc_unroll (void); + match gfc_match_gcc_vector (void); match gfc_match_import (void); match gfc_match_intent (void); match gfc_match_intrinsic (void); diff -Nrcpad gcc-9.2.0/gcc/fortran/misc.c gcc-9.3.0/gcc/fortran/misc.c *** gcc-9.2.0/gcc/fortran/misc.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/fortran/misc.c Thu Mar 12 11:07:21 2020 *************** gfc_typename (gfc_typespec *ts) *** 125,130 **** --- 125,131 ---- static char buffer2[GFC_MAX_SYMBOL_LEN + 7]; static int flag = 0; char *buffer; + gfc_typespec *ts1; buffer = flag ? buffer1 : buffer2; flag = !flag; *************** gfc_typename (gfc_typespec *ts) *** 156,164 **** sprintf (buffer, "TYPE(%s)", ts->u.derived->name); break; case BT_CLASS: ! if (ts->u.derived->components) ! ts = &ts->u.derived->components->ts; ! if (ts->u.derived->attr.unlimited_polymorphic) sprintf (buffer, "CLASS(*)"); else sprintf (buffer, "CLASS(%s)", ts->u.derived->name); --- 157,164 ---- sprintf (buffer, "TYPE(%s)", ts->u.derived->name); break; case BT_CLASS: ! ts1 = ts->u.derived->components ? &ts->u.derived->components->ts : NULL; ! if (ts1 && ts1->u.derived && ts1->u.derived->attr.unlimited_polymorphic) sprintf (buffer, "CLASS(*)"); else sprintf (buffer, "CLASS(%s)", ts->u.derived->name); diff -Nrcpad gcc-9.2.0/gcc/fortran/module.c gcc-9.3.0/gcc/fortran/module.c *** gcc-9.2.0/gcc/fortran/module.c Sat Apr 13 11:32:49 2019 --- gcc-9.3.0/gcc/fortran/module.c Thu Mar 12 11:07:21 2020 *************** gfc_match_use (void) *** 525,530 **** --- 525,532 ---- gfc_intrinsic_op op; match m; gfc_use_list *use_list; + gfc_symtree *st; + locus loc; use_list = gfc_get_use_list (); *************** gfc_match_use (void) *** 632,637 **** --- 634,641 ---- case INTERFACE_USER_OP: case INTERFACE_GENERIC: case INTERFACE_DTIO: + loc = gfc_current_locus; + m = gfc_match (" =>"); if (type == INTERFACE_USER_OP && m == MATCH_YES *************** gfc_match_use (void) *** 642,647 **** --- 646,663 ---- if (type == INTERFACE_USER_OP) new_use->op = INTRINSIC_USER; + st = gfc_find_symtree (gfc_current_ns->sym_root, name); + if (st && type != INTERFACE_USER_OP) + { + if (m == MATCH_YES) + gfc_error ("Symbol %qs at %L conflicts with the rename symbol " + "at %L", name, &st->n.sym->declared_at, &loc); + else + gfc_error ("Symbol %qs at %L conflicts with the symbol " + "at %L", name, &st->n.sym->declared_at, &loc); + goto cleanup; + } + if (use_list->only_flag) { if (m != MATCH_YES) diff -Nrcpad gcc-9.2.0/gcc/fortran/openmp.c gcc-9.3.0/gcc/fortran/openmp.c *** gcc-9.2.0/gcc/fortran/openmp.c Wed Apr 17 08:34:20 2019 --- gcc-9.3.0/gcc/fortran/openmp.c Thu Mar 12 11:07:21 2020 *************** omp_code_to_statement (gfc_code *code) *** 5757,5762 **** --- 5757,5837 ---- return ST_OMP_PARALLEL_WORKSHARE; case EXEC_OMP_DO: return ST_OMP_DO; + case EXEC_OMP_ATOMIC: + return ST_OMP_ATOMIC; + case EXEC_OMP_BARRIER: + return ST_OMP_BARRIER; + case EXEC_OMP_CANCEL: + return ST_OMP_CANCEL; + case EXEC_OMP_CANCELLATION_POINT: + return ST_OMP_CANCELLATION_POINT; + case EXEC_OMP_FLUSH: + return ST_OMP_FLUSH; + case EXEC_OMP_DISTRIBUTE: + return ST_OMP_DISTRIBUTE; + case EXEC_OMP_DISTRIBUTE_PARALLEL_DO: + return ST_OMP_DISTRIBUTE_PARALLEL_DO; + case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD: + return ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD; + case EXEC_OMP_DISTRIBUTE_SIMD: + return ST_OMP_DISTRIBUTE_SIMD; + case EXEC_OMP_DO_SIMD: + return ST_OMP_DO_SIMD; + case EXEC_OMP_SIMD: + return ST_OMP_SIMD; + case EXEC_OMP_TARGET: + return ST_OMP_TARGET; + case EXEC_OMP_TARGET_DATA: + return ST_OMP_TARGET_DATA; + case EXEC_OMP_TARGET_ENTER_DATA: + return ST_OMP_TARGET_ENTER_DATA; + case EXEC_OMP_TARGET_EXIT_DATA: + return ST_OMP_TARGET_EXIT_DATA; + case EXEC_OMP_TARGET_PARALLEL: + return ST_OMP_TARGET_PARALLEL; + case EXEC_OMP_TARGET_PARALLEL_DO: + return ST_OMP_TARGET_PARALLEL_DO; + case EXEC_OMP_TARGET_PARALLEL_DO_SIMD: + return ST_OMP_TARGET_PARALLEL_DO_SIMD; + case EXEC_OMP_TARGET_SIMD: + return ST_OMP_TARGET_SIMD; + case EXEC_OMP_TARGET_TEAMS: + return ST_OMP_TARGET_TEAMS; + case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE: + return ST_OMP_TARGET_TEAMS_DISTRIBUTE; + case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO: + return ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO; + case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD: + return ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD; + case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD: + return ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD; + case EXEC_OMP_TARGET_UPDATE: + return ST_OMP_TARGET_UPDATE; + case EXEC_OMP_TASKGROUP: + return ST_OMP_TASKGROUP; + case EXEC_OMP_TASKLOOP: + return ST_OMP_TASKLOOP; + case EXEC_OMP_TASKLOOP_SIMD: + return ST_OMP_TASKLOOP_SIMD; + case EXEC_OMP_TASKWAIT: + return ST_OMP_TASKWAIT; + case EXEC_OMP_TASKYIELD: + return ST_OMP_TASKYIELD; + case EXEC_OMP_TEAMS: + return ST_OMP_TEAMS; + case EXEC_OMP_TEAMS_DISTRIBUTE: + return ST_OMP_TEAMS_DISTRIBUTE; + case EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO: + return ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO; + case EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD: + return ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD; + case EXEC_OMP_TEAMS_DISTRIBUTE_SIMD: + return ST_OMP_TEAMS_DISTRIBUTE_SIMD; + case EXEC_OMP_PARALLEL_DO: + return ST_OMP_PARALLEL_DO; + case EXEC_OMP_PARALLEL_DO_SIMD: + return ST_OMP_PARALLEL_DO_SIMD; + default: gcc_unreachable (); } *************** oacc_code_to_statement (gfc_code *code) *** 5783,5788 **** --- 5858,5877 ---- return ST_OACC_LOOP; case EXEC_OACC_ATOMIC: return ST_OACC_ATOMIC; + case EXEC_OACC_ROUTINE: + return ST_OACC_ROUTINE; + case EXEC_OACC_UPDATE: + return ST_OACC_UPDATE; + case EXEC_OACC_WAIT: + return ST_OACC_WAIT; + case EXEC_OACC_CACHE: + return ST_OACC_CACHE; + case EXEC_OACC_ENTER_DATA: + return ST_OACC_ENTER_DATA; + case EXEC_OACC_EXIT_DATA: + return ST_OACC_EXIT_DATA; + case EXEC_OACC_DECLARE: + return ST_OACC_DECLARE; default: gcc_unreachable (); } diff -Nrcpad gcc-9.2.0/gcc/fortran/parse.c gcc-9.3.0/gcc/fortran/parse.c *** gcc-9.2.0/gcc/fortran/parse.c Tue Jul 30 19:11:03 2019 --- gcc-9.3.0/gcc/fortran/parse.c Thu Mar 12 11:07:21 2020 *************** decode_gcc_attribute (void) *** 1079,1090 **** match ("attributes", gfc_match_gcc_attributes, ST_ATTR_DECL); match ("unroll", gfc_match_gcc_unroll, ST_NONE); match ("builtin", gfc_match_gcc_builtin, ST_NONE); /* All else has failed, so give up. See if any of the matchers has stored an error message of some sort. */ if (!gfc_error_check ()) ! gfc_error_now ("Unclassifiable GCC directive at %C"); reject_statement (); --- 1079,1098 ---- match ("attributes", gfc_match_gcc_attributes, ST_ATTR_DECL); match ("unroll", gfc_match_gcc_unroll, ST_NONE); match ("builtin", gfc_match_gcc_builtin, ST_NONE); + match ("ivdep", gfc_match_gcc_ivdep, ST_NONE); + match ("vector", gfc_match_gcc_vector, ST_NONE); + match ("novector", gfc_match_gcc_novector, ST_NONE); /* All else has failed, so give up. See if any of the matchers has stored an error message of some sort. */ if (!gfc_error_check ()) ! { ! if (pedantic) ! gfc_error_now ("Unclassifiable GCC directive at %C"); ! else ! gfc_warning_now (0, "Unclassifiable GCC directive at %C, ignored"); ! } reject_statement (); *************** parse_do_block (void) *** 4672,4677 **** --- 4680,4700 ---- new_st.ext.iterator->unroll = directive_unroll; directive_unroll = -1; } + if (directive_ivdep) + { + new_st.ext.iterator->ivdep = directive_ivdep; + directive_ivdep = false; + } + if (directive_vector) + { + new_st.ext.iterator->vector = directive_vector; + directive_vector = false; + } + if (directive_novector) + { + new_st.ext.iterator->novector = directive_novector; + directive_novector = false; + } } else stree = NULL; *************** parse_omp_structured_block (gfc_statemen *** 5080,5085 **** --- 5103,5111 ---- case ST_OMP_TARGET_DATA: omp_end_st = ST_OMP_END_TARGET_DATA; break; + case ST_OMP_TARGET_PARALLEL: + omp_end_st = ST_OMP_END_TARGET_PARALLEL; + break; case ST_OMP_TARGET_TEAMS: omp_end_st = ST_OMP_END_TARGET_TEAMS; break; *************** parse_executable (gfc_statement st) *** 5431,5437 **** } if (directive_unroll != -1) ! gfc_error ("% directive does not commence a loop at %C"); st = next_statement (); } --- 5457,5473 ---- } if (directive_unroll != -1) ! gfc_error ("% directive not at the start of a loop at %C"); ! ! if (directive_ivdep) ! gfc_error ("% directive not at the start of a loop at %C"); ! ! if (directive_vector) ! gfc_error ("% directive not at the start of a loop at %C"); ! ! if (directive_novector) ! gfc_error ("% " ! "directive not at the start of a loop at %C"); st = next_statement (); } diff -Nrcpad gcc-9.2.0/gcc/fortran/primary.c gcc-9.3.0/gcc/fortran/primary.c *** gcc-9.2.0/gcc/fortran/primary.c Tue Mar 12 15:11:42 2019 --- gcc-9.3.0/gcc/fortran/primary.c Thu Mar 12 11:07:21 2020 *************** gfc_match_varspec (gfc_expr *primary, in *** 1990,1995 **** --- 1990,1996 ---- match m; bool unknown; bool inquiry; + bool intrinsic; locus old_loc; char sep; *************** gfc_match_varspec (gfc_expr *primary, in *** 2194,2204 **** --- 2195,2229 ---- if (m != MATCH_YES) return MATCH_ERROR; + intrinsic = false; if (primary->ts.type != BT_CLASS && primary->ts.type != BT_DERIVED) { inquiry = is_inquiry_ref (name, &tmp); if (inquiry) sym = NULL; + + if (sep == '%') + { + if (tmp) + { + if ((tmp->u.i == INQUIRY_RE || tmp->u.i == INQUIRY_IM) + && primary->ts.type != BT_COMPLEX) + { + gfc_error ("The RE or IM part_ref at %C must be " + "applied to a COMPLEX expression"); + return MATCH_ERROR; + } + else if (tmp->u.i == INQUIRY_LEN + && primary->ts.type != BT_CHARACTER) + { + gfc_error ("The LEN part_ref at %C must be applied " + "to a CHARACTER expression"); + return MATCH_ERROR; + } + } + if (primary->ts.type != BT_UNKNOWN) + intrinsic = true; + } } else inquiry = false; *************** gfc_match_varspec (gfc_expr *primary, in *** 2258,2269 **** break; } ! if (!inquiry) component = gfc_find_component (sym, name, false, false, &tmp); else component = NULL; ! if (component == NULL && !inquiry) return MATCH_ERROR; /* Extend the reference chain determined by gfc_find_component or --- 2283,2298 ---- break; } ! if (!inquiry && !intrinsic) component = gfc_find_component (sym, name, false, false, &tmp); else component = NULL; ! /* In some cases, returning MATCH_NO gives a better error message. Most ! cases return "Unclassifiable statement at..." */ ! if (intrinsic && !inquiry) ! return MATCH_NO; ! else if (component == NULL && !inquiry) return MATCH_ERROR; /* Extend the reference chain determined by gfc_find_component or *************** gfc_match_varspec (gfc_expr *primary, in *** 2284,2289 **** --- 2313,2320 ---- if (tmp && tmp->type == REF_INQUIRY) { + if (!primary->where.lb || !primary->where.nextc) + primary->where = gfc_current_locus; gfc_simplify_expr (primary, 0); if (primary->expr_type == EXPR_CONSTANT) *************** gfc_variable_attr (gfc_expr *expr, gfc_t *** 2559,2570 **** break; case AR_UNKNOWN: ! /* If any of start, end or stride is not integer, there will ! already have been an error issued. */ ! int errors; ! gfc_get_errors (NULL, &errors); ! if (errors == 0) ! gfc_internal_error ("gfc_variable_attr(): Bad array reference"); } break; --- 2590,2599 ---- break; case AR_UNKNOWN: ! /* For standard conforming code, AR_UNKNOWN should not happen. ! For nonconforming code, gfortran can end up here. Treat it ! as a no-op. */ ! break; } break; diff -Nrcpad gcc-9.2.0/gcc/fortran/resolve.c gcc-9.3.0/gcc/fortran/resolve.c *** gcc-9.2.0/gcc/fortran/resolve.c Fri Jun 21 00:12:37 2019 --- gcc-9.3.0/gcc/fortran/resolve.c Thu Mar 12 11:07:21 2020 *************** resolve_procedure_expression (gfc_expr* *** 1866,1872 **** /* Check that name is not a derived type. */ ! static bool is_dt_name (const char *name) { --- 1866,1872 ---- /* Check that name is not a derived type. */ ! static bool is_dt_name (const char *name) { *************** gfc_resolve_iterator (gfc_iterator *iter *** 7059,7077 **** "Step expression in DO loop")) return false; - if (iter->step->expr_type == EXPR_CONSTANT) - { - if ((iter->step->ts.type == BT_INTEGER - && mpz_cmp_ui (iter->step->value.integer, 0) == 0) - || (iter->step->ts.type == BT_REAL - && mpfr_sgn (iter->step->value.real) == 0)) - { - gfc_error ("Step expression in DO loop at %L cannot be zero", - &iter->step->where); - return false; - } - } - /* Convert start, end, and step to the same type as var. */ if (iter->start->ts.kind != iter->var->ts.kind || iter->start->ts.type != iter->var->ts.type) --- 7059,7064 ---- *************** gfc_resolve_iterator (gfc_iterator *iter *** 7085,7090 **** --- 7072,7090 ---- || iter->step->ts.type != iter->var->ts.type) gfc_convert_type (iter->step, &iter->var->ts, 1); + if (iter->step->expr_type == EXPR_CONSTANT) + { + if ((iter->step->ts.type == BT_INTEGER + && mpz_cmp_ui (iter->step->value.integer, 0) == 0) + || (iter->step->ts.type == BT_REAL + && mpfr_sgn (iter->step->value.real) == 0)) + { + gfc_error ("Step expression in DO loop at %L cannot be zero", + &iter->step->where); + return false; + } + } + if (iter->start->expr_type == EXPR_CONSTANT && iter->end->expr_type == EXPR_CONSTANT && iter->step->expr_type == EXPR_CONSTANT) *************** conformable_arrays (gfc_expr *e1, gfc_ex *** 7439,7445 **** for (tail = e2->ref; tail && tail->next; tail = tail->next); /* First compare rank. */ ! if ((tail && e1->rank != tail->u.ar.as->rank) || (!tail && e1->rank != e2->rank)) { gfc_error ("Source-expr at %L must be scalar or have the " --- 7439,7445 ---- for (tail = e2->ref; tail && tail->next; tail = tail->next); /* First compare rank. */ ! if ((tail && (!tail->u.ar.as || e1->rank != tail->u.ar.as->rank)) || (!tail && e1->rank != e2->rank)) { gfc_error ("Source-expr at %L must be scalar or have the " *************** resolve_typebound_procedure (gfc_symtree *** 13539,13552 **** } else { /* Check for F08:C465. */ if ((!proc->attr.subroutine && !proc->attr.function) || (proc->attr.proc != PROC_MODULE && proc->attr.if_source != IFSRC_IFBODY) || proc->attr.abstract) { ! gfc_error ("%qs must be a module procedure or an external procedure with" ! " an explicit interface at %L", proc->name, &where); goto error; } } --- 13539,13572 ---- } else { + /* If proc has not been resolved at this point, proc->name may + actually be a USE associated entity. See PR fortran/89647. */ + if (!proc->resolved + && proc->attr.function == 0 && proc->attr.subroutine == 0) + { + gfc_symbol *tmp; + gfc_find_symbol (proc->name, gfc_current_ns->parent, 1, &tmp); + if (tmp && tmp->attr.use_assoc) + { + proc->module = tmp->module; + proc->attr.proc = tmp->attr.proc; + proc->attr.function = tmp->attr.function; + proc->attr.subroutine = tmp->attr.subroutine; + proc->attr.use_assoc = tmp->attr.use_assoc; + proc->ts = tmp->ts; + proc->result = tmp->result; + } + } + /* Check for F08:C465. */ if ((!proc->attr.subroutine && !proc->attr.function) || (proc->attr.proc != PROC_MODULE && proc->attr.if_source != IFSRC_IFBODY) || proc->attr.abstract) { ! gfc_error ("%qs must be a module procedure or an external " ! "procedure with an explicit interface at %L", ! proc->name, &where); goto error; } } *************** check_data_variable (gfc_data_variable * *** 15662,15669 **** return false; } - has_pointer = sym->attr.pointer; - if (gfc_is_coindexed (e)) { gfc_error ("DATA element %qs at %L cannot have a coindex", sym->name, --- 15682,15687 ---- *************** check_data_variable (gfc_data_variable * *** 15671,15689 **** return false; } for (ref = e->ref; ref; ref = ref->next) { if (ref->type == REF_COMPONENT && ref->u.c.component->attr.pointer) has_pointer = 1; ! if (has_pointer ! && ref->type == REF_ARRAY ! && ref->u.ar.type != AR_FULL) ! { ! gfc_error ("DATA element %qs at %L is a pointer and so must " ! "be a full array", sym->name, where); ! return false; ! } } if (e->rank == 0 || has_pointer) --- 15689,15718 ---- return false; } + has_pointer = sym->attr.pointer; + for (ref = e->ref; ref; ref = ref->next) { if (ref->type == REF_COMPONENT && ref->u.c.component->attr.pointer) has_pointer = 1; ! if (has_pointer) ! { ! if (ref->type == REF_ARRAY && ref->u.ar.type != AR_FULL) ! { ! gfc_error ("DATA element %qs at %L is a pointer and so must " ! "be a full array", sym->name, where); ! return false; ! } ! ! if (values.vnode->expr->expr_type == EXPR_CONSTANT) ! { ! gfc_error ("DATA object near %L has the pointer attribute " ! "and the corresponding DATA value is not a valid " ! "initial-data-target", where); ! return false; ! } ! } } if (e->rank == 0 || has_pointer) *************** resolve_equivalence (gfc_equiv *eq) *** 16525,16532 **** } ! /* Function called by resolve_fntype to flag other symbol used in the ! length type parameter specification of function resuls. */ static bool flag_fn_result_spec (gfc_expr *expr, --- 16554,16561 ---- } ! /* Function called by resolve_fntype to flag other symbols used in the ! length type parameter specification of function results. */ static bool flag_fn_result_spec (gfc_expr *expr, *************** resolve_types (gfc_namespace *ns) *** 16740,16745 **** --- 16769,16775 ---- gfc_data *d; gfc_equiv *eq; gfc_namespace* old_ns = gfc_current_ns; + bool recursive = ns->proc_name && ns->proc_name->attr.recursive; if (ns->types_resolved) return; *************** resolve_types (gfc_namespace *ns) *** 16793,16799 **** gfc_traverse_ns (ns, resolve_values); ! if (ns->save_all || !flag_automatic) gfc_save_all (ns); iter_stack = NULL; --- 16823,16829 ---- gfc_traverse_ns (ns, resolve_values); ! if (ns->save_all || (!flag_automatic && !recursive)) gfc_save_all (ns); iter_stack = NULL; diff -Nrcpad gcc-9.2.0/gcc/fortran/scanner.c gcc-9.3.0/gcc/fortran/scanner.c *** gcc-9.2.0/gcc/fortran/scanner.c Sat Mar 16 21:18:49 2019 --- gcc-9.3.0/gcc/fortran/scanner.c Thu Mar 12 11:07:21 2020 *************** skip_fixed_comments (void) *** 1050,1055 **** --- 1050,1059 ---- return; } + if (gfc_current_locus.lb != NULL + && continue_line < gfc_linebuf_linenum (gfc_current_locus.lb)) + continue_line = gfc_linebuf_linenum (gfc_current_locus.lb); + /* If -fopenmp/-fopenacc, we need to handle here 2 things: 1) don't treat !$omp/!$acc|c$omp/c$acc|*$omp / *$acc as comments, but directives *************** skip_fixed_comments (void) *** 1057,1066 **** !$|c$|*$ should be treated as 2 spaces if the characters in columns 3 to 6 are valid fixed form label columns characters. */ - if (gfc_current_locus.lb != NULL - && continue_line < gfc_linebuf_linenum (gfc_current_locus.lb)) - continue_line = gfc_linebuf_linenum (gfc_current_locus.lb); - if ((flag_openmp || flag_openmp_simd) && !flag_openacc) { if (next_char () == '$') --- 1061,1066 ---- *************** restart: *** 1313,1318 **** --- 1313,1326 ---- if (flag_openacc) prev_openacc_flag = openacc_flag; + /* This can happen if the input file changed or via cpp's #line + without getting reset (e.g. via input_stmt). It also happens + when pre-including files via -fpre-include=. */ + if (continue_count == 0 + && gfc_current_locus.lb + && continue_line > gfc_linebuf_linenum (gfc_current_locus.lb) + 1) + continue_line = gfc_linebuf_linenum (gfc_current_locus.lb) + 1; + continue_flag = 1; if (c == '!') skip_comment_line (); *************** restart: *** 1475,1480 **** --- 1483,1496 ---- if (flag_openacc) prev_openacc_flag = openacc_flag; + /* This can happen if the input file changed or via cpp's #line + without getting reset (e.g. via input_stmt). It also happens + when pre-including files via -fpre-include=. */ + if (continue_count == 0 + && gfc_current_locus.lb + && continue_line > gfc_linebuf_linenum (gfc_current_locus.lb) + 1) + continue_line = gfc_linebuf_linenum (gfc_current_locus.lb) + 1; + continue_flag = 1; old_loc = gfc_current_locus; *************** next_char: *** 1943,1949 **** the file stack. */ static gfc_file * ! get_file (const char *name, enum lc_reason reason ATTRIBUTE_UNUSED) { gfc_file *f; --- 1959,1965 ---- the file stack. */ static gfc_file * ! get_file (const char *name, enum lc_reason reason) { gfc_file *f; diff -Nrcpad gcc-9.2.0/gcc/fortran/simplify.c gcc-9.3.0/gcc/fortran/simplify.c *** gcc-9.2.0/gcc/fortran/simplify.c Sun Feb 24 20:03:28 2019 --- gcc-9.3.0/gcc/fortran/simplify.c Thu Mar 12 11:07:21 2020 *************** convert_mpz_to_unsigned (mpz_t x, int bi *** 169,176 **** } else { ! /* Confirm that no bits above the signed range are set. */ ! gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); } } --- 169,178 ---- } else { ! /* Confirm that no bits above the signed range are set if we ! are doing range checking. */ ! if (flag_range_check != 0) ! gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); } } *************** gfc_simplify_merge (gfc_expr *tsource, g *** 4808,4815 **** gfc_constructor *tsource_ctor, *fsource_ctor, *mask_ctor; if (mask->expr_type == EXPR_CONSTANT) ! return gfc_get_parentheses (gfc_copy_expr (mask->value.logical ! ? tsource : fsource)); if (!mask->rank || !is_constant_array_expr (mask) || !is_constant_array_expr (tsource) || !is_constant_array_expr (fsource)) --- 4810,4821 ---- gfc_constructor *tsource_ctor, *fsource_ctor, *mask_ctor; if (mask->expr_type == EXPR_CONSTANT) ! { ! result = gfc_copy_expr (mask->value.logical ? tsource : fsource); ! result = gfc_get_parentheses (result); ! gfc_simplify_expr (result, 1); ! return result; ! } if (!mask->rank || !is_constant_array_expr (mask) || !is_constant_array_expr (tsource) || !is_constant_array_expr (fsource)) *************** simplify_findloc_nodim (gfc_expr *result *** 5533,5539 **** bool continue_loop; bool ma; ! for (i = 0; irank; i++) res[i] = -1; /* Shortcut for constant .FALSE. MASK. */ --- 5539,5545 ---- bool continue_loop; bool ma; ! for (i = 0; i < array->rank; i++) res[i] = -1; /* Shortcut for constant .FALSE. MASK. */ *************** simplify_findloc_nodim (gfc_expr *result *** 5576,5582 **** if (ma && gfc_compare_expr (a, value, INTRINSIC_EQ) == 0) { ! for (i = 0; irank; i++) res[i] = count[i]; if (!back_val) goto finish; --- 5582,5588 ---- if (ma && gfc_compare_expr (a, value, INTRINSIC_EQ) == 0) { ! for (i = 0; i < array->rank; i++) res[i] = count[i]; if (!back_val) goto finish; *************** simplify_findloc_nodim (gfc_expr *result *** 5601,5609 **** } while (count[n] == extent[n]); } ! finish: result_ctor = gfc_constructor_first (result->value.constructor); ! for (i = 0; irank; i++) { gfc_expr *r_expr; r_expr = result_ctor->expr; --- 5607,5615 ---- } while (count[n] == extent[n]); } ! finish: result_ctor = gfc_constructor_first (result->value.constructor); ! for (i = 0; i < array->rank; i++) { gfc_expr *r_expr; r_expr = result_ctor->expr; *************** gfc_simplify_reshape (gfc_expr *source, *** 6684,6689 **** --- 6690,6698 ---- mpz_init (index); rank = 0; + for (i = 0; i < GFC_MAX_DIMENSIONS; i++) + x[i] = 0; + for (;;) { e = gfc_constructor_lookup_expr (shape_exp->value.constructor, rank); *************** gfc_simplify_reshape (gfc_expr *source, *** 6708,6715 **** } else { ! for (i = 0; i < rank; i++) ! x[i] = 0; for (i = 0; i < rank; i++) { --- 6717,6744 ---- } else { ! mpz_t size; ! int order_size, shape_size; ! ! if (order_exp->rank != shape_exp->rank) ! { ! gfc_error ("Shapes of ORDER at %L and SHAPE at %L are different", ! &order_exp->where, &shape_exp->where); ! return &gfc_bad_expr; ! } ! ! gfc_array_size (shape_exp, &size); ! shape_size = mpz_get_ui (size); ! mpz_clear (size); ! gfc_array_size (order_exp, &size); ! order_size = mpz_get_ui (size); ! mpz_clear (size); ! if (order_size != shape_size) ! { ! gfc_error ("Sizes of ORDER at %L and SHAPE at %L are different", ! &order_exp->where, &shape_exp->where); ! return &gfc_bad_expr; ! } for (i = 0; i < rank; i++) { *************** gfc_simplify_reshape (gfc_expr *source, *** 6718,6726 **** gfc_extract_int (e, &order[i]); ! gcc_assert (order[i] >= 1 && order[i] <= rank); order[i]--; ! gcc_assert (x[order[i]] == 0); x[order[i]] = 1; } } --- 6747,6768 ---- gfc_extract_int (e, &order[i]); ! if (order[i] < 1 || order[i] > rank) ! { ! gfc_error ("Element with a value of %d in ORDER at %L must be " ! "in the range [1, ..., %d] for the RESHAPE intrinsic " ! "near %L", order[i], &order_exp->where, rank, ! &shape_exp->where); ! return &gfc_bad_expr; ! } ! order[i]--; ! if (x[order[i]] != 0) ! { ! gfc_error ("ORDER at %L is not a permutation of the size of " ! "SHAPE at %L", &order_exp->where, &shape_exp->where); ! return &gfc_bad_expr; ! } x[order[i]] = 1; } } *************** gfc_simplify_shape (gfc_expr *source, gf *** 7213,7218 **** --- 7255,7262 ---- return NULL; result = gfc_get_array_expr (BT_INTEGER, k, &source->where); + result->shape = gfc_get_shape (1); + mpz_init (result->shape[0]); if (source->rank == 0) return result; *************** gfc_simplify_shape (gfc_expr *source, gf *** 7269,7274 **** --- 7313,7320 ---- if (t) gfc_clear_shape (shape, source->rank); + mpz_set_si (result->shape[0], source->rank); + return result; } *************** gfc_simplify_spread (gfc_expr *source, g *** 7630,7636 **** nelem = mpz_get_si (size) * ncopies; if (nelem > flag_max_array_constructor) { ! if (gfc_current_ns->sym_root->n.sym->attr.flavor == FL_PARAMETER) { gfc_error ("The number of elements (%d) in the array constructor " "at %L requires an increase of the allowed %d upper " --- 7676,7682 ---- nelem = mpz_get_si (size) * ncopies; if (nelem > flag_max_array_constructor) { ! if (gfc_init_expr_flag) { gfc_error ("The number of elements (%d) in the array constructor " "at %L requires an increase of the allowed %d upper " *************** gfc_convert_constant (gfc_expr *e, bt ty *** 8494,8499 **** --- 8540,8551 ---- { if (c->expr->expr_type == EXPR_ARRAY) tmp = gfc_convert_constant (c->expr, type, kind); + else if (c->expr->expr_type == EXPR_OP + && c->expr->value.op.op == INTRINSIC_PARENTHESES) + { + gfc_simplify_expr (c->expr, 1); + tmp = f (c->expr, kind); + } else tmp = f (c->expr, kind); } diff -Nrcpad gcc-9.2.0/gcc/fortran/symbol.c gcc-9.3.0/gcc/fortran/symbol.c *** gcc-9.2.0/gcc/fortran/symbol.c Tue Jul 30 19:11:03 2019 --- gcc-9.3.0/gcc/fortran/symbol.c Thu Mar 12 11:07:21 2020 *************** gfc_get_namespace (gfc_namespace *parent *** 2899,2907 **** } } - if (parent_types && ns->parent != NULL) - ns->has_implicit_none_export = ns->parent->has_implicit_none_export; - ns->refs = 1; return ns; --- 2899,2904 ---- diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-array.c gcc-9.3.0/gcc/fortran/trans-array.c *** gcc-9.2.0/gcc/fortran/trans-array.c Sun Jul 7 14:32:53 2019 --- gcc-9.3.0/gcc/fortran/trans-array.c Thu Mar 12 11:07:21 2020 *************** gfc_conv_shift_descriptor_lbound (stmtbl *** 537,545 **** void gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off, ! tree *dtype_off, tree *dim_off, ! tree *dim_size, tree *stride_suboff, ! tree *lower_suboff, tree *upper_suboff) { tree field; tree type; --- 537,546 ---- void gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off, ! tree *dtype_off, tree *span_off, ! tree *dim_off, tree *dim_size, ! tree *stride_suboff, tree *lower_suboff, ! tree *upper_suboff) { tree field; tree type; *************** gfc_get_descriptor_offsets_for_info (con *** 549,554 **** --- 550,557 ---- *data_off = byte_position (field); field = gfc_advance_chain (TYPE_FIELDS (type), DTYPE_FIELD); *dtype_off = byte_position (field); + field = gfc_advance_chain (TYPE_FIELDS (type), SPAN_FIELD); + *span_off = byte_position (field); field = gfc_advance_chain (TYPE_FIELDS (type), DIMENSION_FIELD); *dim_off = byte_position (field); type = TREE_TYPE (TREE_TYPE (field)); *************** gfc_conv_array_initializer (tree type, g *** 6110,6126 **** tree atype = type; while (TREE_CODE (TREE_TYPE (atype)) == ARRAY_TYPE) atype = TREE_TYPE (atype); ! if (TREE_CODE (TREE_TYPE (atype)) == INTEGER_TYPE ! && tree_to_uhwi (TYPE_SIZE_UNIT (TREE_TYPE (se.expr))) ! > tree_to_uhwi (TYPE_SIZE_UNIT (atype))) { unsigned HOST_WIDE_INT size = tree_to_uhwi (TYPE_SIZE_UNIT (atype)); const char *p = TREE_STRING_POINTER (se.expr); se.expr = build_string (size, p); - TREE_TYPE (se.expr) = atype; } } break; --- 6113,6132 ---- tree atype = type; while (TREE_CODE (TREE_TYPE (atype)) == ARRAY_TYPE) atype = TREE_TYPE (atype); ! gcc_checking_assert (TREE_CODE (TREE_TYPE (atype)) ! == INTEGER_TYPE); ! gcc_checking_assert (TREE_TYPE (TREE_TYPE (se.expr)) ! == TREE_TYPE (atype)); ! if (tree_to_uhwi (TYPE_SIZE_UNIT (TREE_TYPE (se.expr))) ! > tree_to_uhwi (TYPE_SIZE_UNIT (atype))) { unsigned HOST_WIDE_INT size = tree_to_uhwi (TYPE_SIZE_UNIT (atype)); const char *p = TREE_STRING_POINTER (se.expr); se.expr = build_string (size, p); } + TREE_TYPE (se.expr) = atype; } break; *************** gfc_conv_array_parameter (gfc_se * se, g *** 8024,8030 **** /* The components shall be deallocated before their containing entity. */ gfc_prepend_expr_to_block (&se->post, tmp); } ! if (expr->ts.type == BT_CHARACTER) se->string_length = expr->ts.u.cl->backend_decl; if (size) array_parameter_size (se->expr, expr, size); --- 8030,8036 ---- /* The components shall be deallocated before their containing entity. */ gfc_prepend_expr_to_block (&se->post, tmp); } ! if (expr->ts.type == BT_CHARACTER && expr->expr_type != EXPR_FUNCTION) se->string_length = expr->ts.u.cl->backend_decl; if (size) array_parameter_size (se->expr, expr, size); diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-array.h gcc-9.3.0/gcc/fortran/trans-array.h *** gcc-9.2.0/gcc/fortran/trans-array.h Thu Jan 24 07:19:49 2019 --- gcc-9.3.0/gcc/fortran/trans-array.h Thu Mar 12 11:07:21 2020 *************** void gfc_trans_array_cobounds (tree, stm *** 161,167 **** /* Build expressions for accessing components of an array descriptor. */ void gfc_get_descriptor_offsets_for_info (const_tree, tree *, tree *, tree *, tree *, ! tree *, tree *, tree *); tree gfc_conv_descriptor_data_get (tree); tree gfc_conv_descriptor_data_addr (tree); --- 161,167 ---- /* Build expressions for accessing components of an array descriptor. */ void gfc_get_descriptor_offsets_for_info (const_tree, tree *, tree *, tree *, tree *, ! tree *, tree *, tree *, tree *); tree gfc_conv_descriptor_data_get (tree); tree gfc_conv_descriptor_data_addr (tree); diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-decl.c gcc-9.3.0/gcc/fortran/trans-decl.c *** gcc-9.2.0/gcc/fortran/trans-decl.c Tue Jul 30 19:11:03 2019 --- gcc-9.3.0/gcc/fortran/trans-decl.c Thu Mar 12 11:07:21 2020 *************** gfc_sym_identifier (gfc_symbol * sym) *** 369,412 **** static const char * mangled_identifier (gfc_symbol *sym) { ! static char name[GFC_MAX_MANGLED_SYMBOL_LEN + 1]; /* Prevent the mangling of identifiers that have an assigned binding label (mainly those that are bind(c)). */ if (sym->attr.is_bind_c == 1 && sym->binding_label) return sym->binding_label; ! if (!sym->fn_result_spec) { if (sym->module == NULL) return sym_identifier (sym); else ! { ! snprintf (name, sizeof name, "__%s_MOD_%s", sym->module, sym->name); ! return name; ! } } else { /* This is an entity that is actually local to a module procedure that appears in the result specification expression. Since sym->module will be a zero length string, we use ns->proc_name ! instead. */ ! if (sym->ns->proc_name && sym->ns->proc_name->module) ! { ! snprintf (name, sizeof name, "__%s_MOD__%s_PROC_%s", ! sym->ns->proc_name->module, ! sym->ns->proc_name->name, ! sym->name); ! return name; ! } else ! { ! snprintf (name, sizeof name, "__%s_PROC_%s", ! sym->ns->proc_name->name, sym->name); ! return name; ! } } } /* Get mangled identifier, adding the symbol to the global table if --- 369,405 ---- static const char * mangled_identifier (gfc_symbol *sym) { ! gfc_symbol *proc = sym->ns->proc_name; ! static char name[3*GFC_MAX_MANGLED_SYMBOL_LEN + 14]; /* Prevent the mangling of identifiers that have an assigned binding label (mainly those that are bind(c)). */ if (sym->attr.is_bind_c == 1 && sym->binding_label) return sym->binding_label; ! if (!sym->fn_result_spec ! || (sym->module && !(proc && proc->attr.flavor == FL_PROCEDURE))) { if (sym->module == NULL) return sym_identifier (sym); else ! snprintf (name, sizeof name, "__%s_MOD_%s", sym->module, sym->name); } else { /* This is an entity that is actually local to a module procedure that appears in the result specification expression. Since sym->module will be a zero length string, we use ns->proc_name ! to provide the module name instead. */ ! if (proc && proc->module) ! snprintf (name, sizeof name, "__%s_MOD__%s_PROC_%s", ! proc->module, proc->name, sym->name); else ! snprintf (name, sizeof name, "__%s_PROC_%s", ! proc->name, sym->name); } + + return name; } /* Get mangled identifier, adding the symbol to the global table if *************** gfc_get_symbol_decl (gfc_symbol * sym) *** 1618,1632 **** /* Add the string length to the same context as the symbol. */ if (DECL_CONTEXT (length) == NULL_TREE) { ! if (DECL_CONTEXT (sym->backend_decl) ! == current_function_decl) gfc_add_decl_to_function (length); else gfc_add_decl_to_parent_function (length); } ! gcc_assert (DECL_CONTEXT (sym->backend_decl) ! == DECL_CONTEXT (length)); gfc_defer_symbol_init (sym); } --- 1611,1628 ---- /* Add the string length to the same context as the symbol. */ if (DECL_CONTEXT (length) == NULL_TREE) { ! if (sym->backend_decl == current_function_decl ! || (DECL_CONTEXT (sym->backend_decl) ! == current_function_decl)) gfc_add_decl_to_function (length); else gfc_add_decl_to_parent_function (length); } ! gcc_assert (sym->backend_decl == current_function_decl ! ? DECL_CONTEXT (length) == current_function_decl ! : (DECL_CONTEXT (sym->backend_decl) ! == DECL_CONTEXT (length))); gfc_defer_symbol_init (sym); } *************** gfc_get_symbol_decl (gfc_symbol * sym) *** 1892,1900 **** if (sym->attr.associate_var) GFC_DECL_ASSOCIATE_VAR_P (decl) = 1; ! if (sym->attr.vtab ! || (sym->name[0] == '_' && gfc_str_startswith (sym->name, "__def_init"))) ! TREE_READONLY (decl) = 1; return decl; } --- 1888,1905 ---- if (sym->attr.associate_var) GFC_DECL_ASSOCIATE_VAR_P (decl) = 1; ! /* We only mark __def_init as read-only if it actually has an ! initializer so it does not needlessly take up space in the ! read-only section and can go into the BSS instead, see PR 84487. ! Marking this as artificial means that OpenMP will treat this as ! predetermined shared. */ ! ! if (sym->attr.vtab || gfc_str_startswith (sym->name, "__def_init")) ! { ! DECL_ARTIFICIAL (decl) = 1; ! if (sym->attr.vtab || sym->value) ! TREE_READONLY (decl) = 1; ! } return decl; } *************** generate_local_decl (gfc_symbol * sym) *** 5862,5870 **** } else if (warn_unused_dummy_argument) { ! gfc_warning (OPT_Wunused_dummy_argument, ! "Unused dummy argument %qs at %L", sym->name, ! &sym->declared_at); if (sym->backend_decl != NULL_TREE) TREE_NO_WARNING(sym->backend_decl) = 1; } --- 5867,5877 ---- } else if (warn_unused_dummy_argument) { ! if (!sym->attr.artificial) ! gfc_warning (OPT_Wunused_dummy_argument, ! "Unused dummy argument %qs at %L", sym->name, ! &sym->declared_at); ! if (sym->backend_decl != NULL_TREE) TREE_NO_WARNING(sym->backend_decl) = 1; } *************** generate_local_decl (gfc_symbol * sym) *** 5956,5962 **** if (sym->ns && sym->ns->construct_entities) { ! if (sym->attr.referenced) gfc_get_symbol_decl (sym); sym->mark = 1; } --- 5963,5976 ---- if (sym->ns && sym->ns->construct_entities) { ! /* Construction of the intrinsic modules within a BLOCK ! construct, where ONLY and RENAMED entities are included, ! seems to be bogus. This is a workaround that can be removed ! if someone ever takes on the task to creating full-fledge ! modules. See PR 69455. */ ! if (sym->attr.referenced ! && sym->from_intmod != INTMOD_ISO_C_BINDING ! && sym->from_intmod != INTMOD_ISO_FORTRAN_ENV) gfc_get_symbol_decl (sym); sym->mark = 1; } *************** gfc_generate_return (void) *** 6440,6445 **** --- 6454,6473 ---- TREE_TYPE (result), DECL_RESULT (fndecl), result); } + else + { + /* If the function does not have a result variable, result is + NULL_TREE, and a 'return' is generated without a variable. + The following generates a 'return __result_XXX' where XXX is + the function name. */ + if (sym == sym->result && sym->attr.function) + { + result = gfc_get_fake_result_decl (sym, 0); + result = fold_build2_loc (input_location, MODIFY_EXPR, + TREE_TYPE (result), + DECL_RESULT (fndecl), result); + } + } } return build1_v (RETURN_EXPR, result); diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-expr.c gcc-9.3.0/gcc/fortran/trans-expr.c *** gcc-9.2.0/gcc/fortran/trans-expr.c Tue Jul 30 19:11:03 2019 --- gcc-9.3.0/gcc/fortran/trans-expr.c Thu Mar 12 11:07:21 2020 *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 4989,5009 **** tree gfc_desc_ptr; tree type; tree cond; int attribute; symbol_attribute attr = gfc_expr_attr (e); - stmtblock_t block; /* If this is a full array or a scalar, the allocatable and pointer attributes can be passed. Otherwise it is 'CFI_attribute_other'*/ attribute = 2; if (!e->rank || gfc_get_full_arrayspec_from_expr (e)) { ! if (fsym->attr.pointer) attribute = 0; ! else if (fsym->attr.allocatable) attribute = 1; } if (e->rank != 0) { parmse->force_no_tmp = 1; --- 4989,5018 ---- tree gfc_desc_ptr; tree type; tree cond; + tree desc_attr; int attribute; + int cfi_attribute; symbol_attribute attr = gfc_expr_attr (e); /* If this is a full array or a scalar, the allocatable and pointer attributes can be passed. Otherwise it is 'CFI_attribute_other'*/ attribute = 2; if (!e->rank || gfc_get_full_arrayspec_from_expr (e)) { ! if (attr.pointer) attribute = 0; ! else if (attr.allocatable) attribute = 1; } + /* If the formal argument is assumed shape and neither a pointer nor + allocatable, it is unconditionally CFI_attribute_other. */ + if (fsym->as->type == AS_ASSUMED_SHAPE + && !fsym->attr.pointer && !fsym->attr.allocatable) + cfi_attribute = 2; + else + cfi_attribute = attribute; + if (e->rank != 0) { parmse->force_no_tmp = 1; *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 5018,5023 **** --- 5027,5036 ---- parmse->expr = build_fold_indirect_ref_loc (input_location, parmse->expr); + bool is_artificial = (INDIRECT_REF_P (parmse->expr) + ? DECL_ARTIFICIAL (TREE_OPERAND (parmse->expr, 0)) + : DECL_ARTIFICIAL (parmse->expr)); + /* Unallocated allocatable arrays and unassociated pointer arrays need their dtype setting if they are argument associated with assumed rank dummies. */ *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 5036,5042 **** type = e->ts.type != BT_ASSUMED ? gfc_typenode_for_spec (&e->ts) : NULL_TREE; ! if (type && DECL_ARTIFICIAL (parmse->expr) && type != gfc_get_element_type (TREE_TYPE (parmse->expr))) { /* Obtain the offset to the data. */ --- 5049,5055 ---- type = e->ts.type != BT_ASSUMED ? gfc_typenode_for_spec (&e->ts) : NULL_TREE; ! if (type && is_artificial && type != gfc_get_element_type (TREE_TYPE (parmse->expr))) { /* Obtain the offset to the data. */ *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 5048,5055 **** gfc_conv_descriptor_dtype (parmse->expr), gfc_get_dtype_rank_type (e->rank, type)); } ! else if (type == NULL_TREE ! || (!is_subref_array (e) && !DECL_ARTIFICIAL (parmse->expr))) { /* Make sure that the span is set for expressions where it might not have been done already. */ --- 5061,5067 ---- gfc_conv_descriptor_dtype (parmse->expr), gfc_get_dtype_rank_type (e->rank, type)); } ! else if (type == NULL_TREE || (!is_subref_array (e) && !is_artificial)) { /* Make sure that the span is set for expressions where it might not have been done already. */ *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 5070,5110 **** parmse->expr, attr); } ! /* Set the CFI attribute field. */ ! tmp = gfc_conv_descriptor_attribute (parmse->expr); tmp = fold_build2_loc (input_location, MODIFY_EXPR, ! void_type_node, tmp, ! build_int_cst (TREE_TYPE (tmp), attribute)); gfc_add_expr_to_block (&parmse->pre, tmp); /* Now pass the gfc_descriptor by reference. */ parmse->expr = gfc_build_addr_expr (NULL_TREE, parmse->expr); ! /* Variables to point to the gfc and CFI descriptors. */ gfc_desc_ptr = parmse->expr; cfi_desc_ptr = gfc_create_var (pvoid_type_node, "cfi"); ! gfc_add_modify (&parmse->pre, cfi_desc_ptr, ! build_int_cst (pvoid_type_node, 0)); ! /* Allocate the CFI descriptor and fill the fields. */ tmp = gfc_build_addr_expr (NULL_TREE, cfi_desc_ptr); tmp = build_call_expr_loc (input_location, gfor_fndecl_gfc_to_cfi, 2, tmp, gfc_desc_ptr); gfc_add_expr_to_block (&parmse->pre, tmp); /* The CFI descriptor is passed to the bind_C procedure. */ parmse->expr = cfi_desc_ptr; /* Free the CFI descriptor. */ - gfc_init_block (&block); - cond = fold_build2_loc (input_location, NE_EXPR, - logical_type_node, cfi_desc_ptr, - build_int_cst (TREE_TYPE (cfi_desc_ptr), 0)); tmp = gfc_call_free (cfi_desc_ptr); - gfc_add_expr_to_block (&block, tmp); - tmp = build3_v (COND_EXPR, cond, - gfc_finish_block (&block), - build_empty_stmt (input_location)); gfc_prepend_expr_to_block (&parmse->post, tmp); /* Transfer values back to gfc descriptor. */ --- 5082,5121 ---- parmse->expr, attr); } ! /* Set the CFI attribute field through a temporary value for the ! gfc attribute. */ ! desc_attr = gfc_conv_descriptor_attribute (parmse->expr); tmp = fold_build2_loc (input_location, MODIFY_EXPR, ! void_type_node, desc_attr, ! build_int_cst (TREE_TYPE (desc_attr), cfi_attribute)); gfc_add_expr_to_block (&parmse->pre, tmp); /* Now pass the gfc_descriptor by reference. */ parmse->expr = gfc_build_addr_expr (NULL_TREE, parmse->expr); ! /* Variables to point to the gfc and CFI descriptors; cfi = NULL implies ! that the CFI descriptor is allocated by the gfor_fndecl_gfc_to_cfi call. */ gfc_desc_ptr = parmse->expr; cfi_desc_ptr = gfc_create_var (pvoid_type_node, "cfi"); ! gfc_add_modify (&parmse->pre, cfi_desc_ptr, null_pointer_node); ! /* Allocate the CFI descriptor itself and fill the fields. */ tmp = gfc_build_addr_expr (NULL_TREE, cfi_desc_ptr); tmp = build_call_expr_loc (input_location, gfor_fndecl_gfc_to_cfi, 2, tmp, gfc_desc_ptr); gfc_add_expr_to_block (&parmse->pre, tmp); + /* Now set the gfc descriptor attribute. */ + tmp = fold_build2_loc (input_location, MODIFY_EXPR, + void_type_node, desc_attr, + build_int_cst (TREE_TYPE (desc_attr), attribute)); + gfc_add_expr_to_block (&parmse->pre, tmp); + /* The CFI descriptor is passed to the bind_C procedure. */ parmse->expr = cfi_desc_ptr; /* Free the CFI descriptor. */ tmp = gfc_call_free (cfi_desc_ptr); gfc_prepend_expr_to_block (&parmse->post, tmp); /* Transfer values back to gfc descriptor. */ *************** gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p *** 5112,5117 **** --- 5123,5147 ---- tmp = build_call_expr_loc (input_location, gfor_fndecl_cfi_to_gfc, 2, gfc_desc_ptr, tmp); gfc_prepend_expr_to_block (&parmse->post, tmp); + + /* Deal with an optional dummy being passed to an optional formal arg + by finishing the pre and post blocks and making their execution + conditional on the dummy being present. */ + if (fsym->attr.optional && e->expr_type == EXPR_VARIABLE + && e->symtree->n.sym->attr.optional) + { + cond = gfc_conv_expr_present (e->symtree->n.sym); + tmp = fold_build2 (MODIFY_EXPR, void_type_node, + cfi_desc_ptr, + build_int_cst (pvoid_type_node, 0)); + tmp = build3_v (COND_EXPR, cond, + gfc_finish_block (&parmse->pre), tmp); + gfc_add_expr_to_block (&parmse->pre, tmp); + tmp = build3_v (COND_EXPR, cond, + gfc_finish_block (&parmse->post), + build_empty_stmt (input_location)); + gfc_add_expr_to_block (&parmse->post, tmp); + } } *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6001,6008 **** gfc_add_expr_to_block (&se->pre, tmp); } ! tmp = build_fold_indirect_ref_loc (input_location, ! parmse.expr); if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp))) tmp = gfc_conv_descriptor_data_get (tmp); tmp = gfc_deallocate_with_status (tmp, NULL_TREE, NULL_TREE, --- 6031,6044 ---- gfc_add_expr_to_block (&se->pre, tmp); } ! tmp = parmse.expr; ! /* With bind(C), the actual argument is replaced by a bind-C ! descriptor; in this case, the data component arrives here, ! which shall not be dereferenced, but still freed and ! nullified. */ ! if (TREE_TYPE(tmp) != pvoid_type_node) ! tmp = build_fold_indirect_ref_loc (input_location, ! parmse.expr); if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp))) tmp = gfc_conv_descriptor_data_get (tmp); tmp = gfc_deallocate_with_status (tmp, NULL_TREE, NULL_TREE, *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6782,6789 **** gfc_allocate_lang_decl (result); GFC_DECL_SAVED_DESCRIPTOR (result) = parmse.expr; gfc_free_expr (class_expr); ! gcc_assert (parmse.pre.head == NULL_TREE ! && parmse.post.head == NULL_TREE); } /* Follow the function call with the argument post block. */ --- 6818,6828 ---- gfc_allocate_lang_decl (result); GFC_DECL_SAVED_DESCRIPTOR (result) = parmse.expr; gfc_free_expr (class_expr); ! /* -fcheck= can add diagnostic code, which has to be placed before ! the call. */ ! if (parmse.pre.head != NULL) ! gfc_add_expr_to_block (&se->pre, parmse.pre.head); ! gcc_assert (parmse.post.head == NULL_TREE); } /* Follow the function call with the argument post block. */ *************** gfc_trans_assignment_1 (gfc_expr * expr1 *** 10603,10609 **** if (expr1->ts.deferred && gfc_expr_attr (expr1).allocatable && gfc_check_dependency (expr1, expr2, true)) ! rse.string_length = gfc_evaluate_now (rse.string_length, &rse.pre); string_length = rse.string_length; } else --- 10642,10649 ---- if (expr1->ts.deferred && gfc_expr_attr (expr1).allocatable && gfc_check_dependency (expr1, expr2, true)) ! rse.string_length = ! gfc_evaluate_now_function_scope (rse.string_length, &rse.pre); string_length = rse.string_length; } else diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-openmp.c gcc-9.3.0/gcc/fortran/trans-openmp.c *** gcc-9.2.0/gcc/fortran/trans-openmp.c Mon Mar 11 22:27:39 2019 --- gcc-9.3.0/gcc/fortran/trans-openmp.c Thu Mar 12 11:07:21 2020 *************** gfc_trans_omp_atomic (gfc_code *code) *** 3215,3221 **** expr2 = code->expr2; if (((atomic_code->ext.omp_atomic & GFC_OMP_ATOMIC_MASK) != GFC_OMP_ATOMIC_WRITE) - && (atomic_code->ext.omp_atomic & GFC_OMP_ATOMIC_SWAP) == 0 && expr2->expr_type == EXPR_FUNCTION && expr2->value.function.isym && expr2->value.function.isym->id == GFC_ISYM_CONVERSION) --- 3215,3220 ---- *************** gfc_trans_omp_target (gfc_code *code) *** 4784,4789 **** --- 4783,4789 ---- { stmtblock_t iblock; + pushlevel (); gfc_start_block (&iblock); tree inner_clauses = gfc_trans_omp_clauses (&block, &clausesa[GFC_OMP_SPLIT_PARALLEL], diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-stmt.c gcc-9.3.0/gcc/fortran/trans-stmt.c *** gcc-9.2.0/gcc/fortran/trans-stmt.c Sun May 19 18:08:28 2019 --- gcc-9.3.0/gcc/fortran/trans-stmt.c Thu Mar 12 11:07:21 2020 *************** gfc_trans_simple_do (gfc_code * code, st *** 2171,2176 **** --- 2171,2189 ---- build_int_cst (integer_type_node, annot_expr_unroll_kind), build_int_cst (integer_type_node, code->ext.iterator->unroll)); + if (code->ext.iterator->ivdep && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_ivdep_kind), + integer_zero_node); + if (code->ext.iterator->vector && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_vector_kind), + integer_zero_node); + if (code->ext.iterator->novector && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_no_vector_kind), + integer_zero_node); + /* The loop exit. */ tmp = fold_build1_loc (loc, GOTO_EXPR, void_type_node, exit_label); TREE_USED (exit_label) = 1; *************** gfc_trans_do (gfc_code * code, tree exit *** 2501,2506 **** --- 2514,2533 ---- = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, build_int_cst (integer_type_node, annot_expr_unroll_kind), build_int_cst (integer_type_node, code->ext.iterator->unroll)); + + if (code->ext.iterator->ivdep && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_ivdep_kind), + integer_zero_node); + if (code->ext.iterator->vector && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_vector_kind), + integer_zero_node); + if (code->ext.iterator->novector && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, + build_int_cst (integer_type_node, annot_expr_no_vector_kind), + integer_zero_node); + tmp = fold_build1_loc (loc, GOTO_EXPR, void_type_node, exit_label); tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, cond, tmp, build_empty_stmt (loc)); diff -Nrcpad gcc-9.2.0/gcc/fortran/trans-types.c gcc-9.3.0/gcc/fortran/trans-types.c *** gcc-9.2.0/gcc/fortran/trans-types.c Fri Jun 21 19:28:54 2019 --- gcc-9.3.0/gcc/fortran/trans-types.c Thu Mar 12 11:07:21 2020 *************** get_formal_from_actual_arglist (gfc_symb *** 3021,3026 **** --- 3021,3027 ---- } } s->attr.dummy = 1; + s->attr.artificial = 1; s->attr.intent = INTENT_UNKNOWN; (*f)->sym = s; } *************** gfc_get_array_descr_info (const_tree typ *** 3322,3328 **** int rank, dim; bool indirect = false; tree etype, ptype, t, base_decl; ! tree data_off, dim_off, dtype_off, dim_size, elem_size; tree lower_suboff, upper_suboff, stride_suboff; tree dtype, field, rank_off; --- 3323,3329 ---- int rank, dim; bool indirect = false; tree etype, ptype, t, base_decl; ! tree data_off, span_off, dim_off, dtype_off, dim_size, elem_size; tree lower_suboff, upper_suboff, stride_suboff; tree dtype, field, rank_off; *************** gfc_get_array_descr_info (const_tree typ *** 3379,3390 **** if (indirect) base_decl = build1 (INDIRECT_REF, ptype, base_decl); ! elem_size = fold_convert (gfc_array_index_type, TYPE_SIZE_UNIT (etype)); ! ! gfc_get_descriptor_offsets_for_info (type, &data_off, &dtype_off, &dim_off, ! &dim_size, &stride_suboff, &lower_suboff, &upper_suboff); t = base_decl; if (!integer_zerop (data_off)) t = fold_build_pointer_plus (t, data_off); --- 3380,3392 ---- if (indirect) base_decl = build1 (INDIRECT_REF, ptype, base_decl); ! gfc_get_descriptor_offsets_for_info (type, &data_off, &dtype_off, &span_off, ! &dim_off, &dim_size, &stride_suboff, &lower_suboff, &upper_suboff); + t = fold_build_pointer_plus (base_decl, span_off); + elem_size = build1 (INDIRECT_REF, gfc_array_index_type, t); + t = base_decl; if (!integer_zerop (data_off)) t = fold_build_pointer_plus (t, data_off); diff -Nrcpad gcc-9.2.0/gcc/fortran/trans.c gcc-9.3.0/gcc/fortran/trans.c *** gcc-9.2.0/gcc/fortran/trans.c Sat May 11 07:47:32 2019 --- gcc-9.3.0/gcc/fortran/trans.c Thu Mar 12 11:07:21 2020 *************** gfc_evaluate_now (tree expr, stmtblock_t *** 118,123 **** --- 118,136 ---- return gfc_evaluate_now_loc (input_location, expr, pblock); } + /* Like gfc_evaluate_now, but add the created variable to the + function scope. */ + + tree + gfc_evaluate_now_function_scope (tree expr, stmtblock_t * pblock) + { + tree var; + var = gfc_create_var_np (TREE_TYPE (expr), NULL); + gfc_add_decl_to_function (var); + gfc_add_modify (pblock, var, expr); + + return var; + } /* Build a MODIFY_EXPR node and add it to a given statement block PBLOCK. A MODIFY_EXPR is an assignment: diff -Nrcpad gcc-9.2.0/gcc/fortran/trans.h gcc-9.3.0/gcc/fortran/trans.h *** gcc-9.2.0/gcc/fortran/trans.h Sat May 11 07:47:32 2019 --- gcc-9.3.0/gcc/fortran/trans.h Thu Mar 12 11:07:21 2020 *************** void gfc_conv_label_variable (gfc_se * s *** 507,512 **** --- 507,513 ---- /* If the value is not constant, Create a temporary and copy the value. */ tree gfc_evaluate_now_loc (location_t, tree, stmtblock_t *); tree gfc_evaluate_now (tree, stmtblock_t *); + tree gfc_evaluate_now_function_scope (tree, stmtblock_t *); /* Find the appropriate variant of a math intrinsic. */ tree gfc_builtin_decl_for_float_kind (enum built_in_function, int); *************** struct GTY(()) lang_type { *** 962,968 **** tree offset; tree dtype; tree dataptr_type; - tree span; tree base_decl[2]; tree nonrestricted_type; tree caf_token; --- 963,968 ---- *************** struct GTY(()) lang_decl { *** 978,984 **** address of target label. */ tree stringlen; tree addr; - tree span; /* For assumed-shape coarrays. */ tree token, caf_offset; unsigned int scalar_allocatable : 1; --- 978,983 ---- *************** struct GTY(()) lang_decl { *** 988,994 **** #define GFC_DECL_ASSIGN_ADDR(node) DECL_LANG_SPECIFIC(node)->addr #define GFC_DECL_STRING_LEN(node) DECL_LANG_SPECIFIC(node)->stringlen - #define GFC_DECL_SPAN(node) DECL_LANG_SPECIFIC(node)->span #define GFC_DECL_TOKEN(node) DECL_LANG_SPECIFIC(node)->token #define GFC_DECL_CAF_OFFSET(node) DECL_LANG_SPECIFIC(node)->caf_offset #define GFC_DECL_SAVED_DESCRIPTOR(node) \ --- 987,992 ---- *************** struct GTY(()) lang_decl { *** 1037,1043 **** #define GFC_TYPE_ARRAY_DTYPE(node) (TYPE_LANG_SPECIFIC(node)->dtype) #define GFC_TYPE_ARRAY_DATAPTR_TYPE(node) \ (TYPE_LANG_SPECIFIC(node)->dataptr_type) - #define GFC_TYPE_ARRAY_SPAN(node) (TYPE_LANG_SPECIFIC(node)->span) #define GFC_TYPE_ARRAY_BASE_DECL(node, internal) \ (TYPE_LANG_SPECIFIC(node)->base_decl[(internal)]) --- 1035,1040 ---- diff -Nrcpad gcc-9.2.0/gcc/function.c gcc-9.3.0/gcc/function.c *** gcc-9.2.0/gcc/function.c Fri Mar 29 11:42:51 2019 --- gcc-9.3.0/gcc/function.c Thu Mar 12 11:07:21 2020 *************** assign_parm_find_data_types (struct assi *** 2449,2456 **** /* If the parm is to be passed as a transparent union or record, use the type of the first field for the tests below. We have already verified that the modes are the same. */ ! if ((TREE_CODE (passed_type) == UNION_TYPE ! || TREE_CODE (passed_type) == RECORD_TYPE) && TYPE_TRANSPARENT_AGGR (passed_type)) passed_type = TREE_TYPE (first_field (passed_type)); --- 2449,2455 ---- /* If the parm is to be passed as a transparent union or record, use the type of the first field for the tests below. We have already verified that the modes are the same. */ ! if (RECORD_OR_UNION_TYPE_P (passed_type) && TYPE_TRANSPARENT_AGGR (passed_type)) passed_type = TREE_TYPE (first_field (passed_type)); *************** assign_parm_setup_block (struct assign_p *** 3079,3085 **** move_block_from_reg (REGNO (entry_parm), mem, size_stored / UNITS_PER_WORD); } ! else if (data->stack_parm == 0) { push_to_sequence2 (all->first_conversion_insn, all->last_conversion_insn); emit_block_move (stack_parm, data->entry_parm, GEN_INT (size), --- 3078,3084 ---- move_block_from_reg (REGNO (entry_parm), mem, size_stored / UNITS_PER_WORD); } ! else if (data->stack_parm == 0 && !TYPE_EMPTY_P (data->passed_type)) { push_to_sequence2 (all->first_conversion_insn, all->last_conversion_insn); emit_block_move (stack_parm, data->entry_parm, GEN_INT (size), *************** assign_parm_setup_stack (struct assign_p *** 3455,3461 **** dest = validize_mem (copy_rtx (data->stack_parm)); src = validize_mem (copy_rtx (data->entry_parm)); ! if (MEM_P (src)) { /* Use a block move to handle potentially misaligned entry_parm. */ if (!to_conversion) --- 3454,3462 ---- dest = validize_mem (copy_rtx (data->stack_parm)); src = validize_mem (copy_rtx (data->entry_parm)); ! if (TYPE_EMPTY_P (data->passed_type)) ! /* Empty types don't really need to be copied. */; ! else if (MEM_P (src)) { /* Use a block move to handle potentially misaligned entry_parm. */ if (!to_conversion) *************** assign_parms (tree fndecl) *** 3611,3616 **** --- 3612,3627 ---- { assign_parm_find_stack_rtl (parm, &data); assign_parm_adjust_entry_rtl (&data); + /* For arguments that occupy no space in the parameter + passing area, have non-zero size and have address taken, + force creation of a stack slot so that they have distinct + address from other parameters. */ + if (TYPE_EMPTY_P (data.passed_type) + && TREE_ADDRESSABLE (parm) + && data.entry_parm == data.stack_parm + && MEM_P (data.entry_parm) + && int_size_in_bytes (data.passed_type)) + data.stack_parm = NULL_RTX; } /* Record permanently how this parm was passed. */ if (data.passed_pointer) diff -Nrcpad gcc-9.2.0/gcc/gcov.c gcc-9.3.0/gcc/gcov.c *** gcc-9.2.0/gcc/gcov.c Tue May 14 08:46:35 2019 --- gcc-9.3.0/gcc/gcov.c Thu Mar 12 11:07:21 2020 *************** unblock (const block_info *u, block_vect *** 725,734 **** /* Return true when PATH contains a zero cycle arc count. */ static bool ! path_contains_zero_cycle_arc (arc_vector_t &path) { for (unsigned i = 0; i < path.size (); i++) ! if (path[i]->cs_count == 0) return true; return false; } --- 725,734 ---- /* Return true when PATH contains a zero cycle arc count. */ static bool ! path_contains_zero_or_negative_cycle_arc (arc_vector_t &path) { for (unsigned i = 0; i < path.size (); i++) ! if (path[i]->cs_count <= 0) return true; return false; } *************** circuit (block_info *v, arc_vector_t &pa *** 754,760 **** { block_info *w = arc->dst; if (w < start ! || arc->cs_count == 0 || !linfo.has_block (w)) continue; --- 754,760 ---- { block_info *w = arc->dst; if (w < start ! || arc->cs_count <= 0 || !linfo.has_block (w)) continue; *************** circuit (block_info *v, arc_vector_t &pa *** 765,771 **** handle_cycle (path, count); loop_found = true; } ! else if (!path_contains_zero_cycle_arc (path) && find (blocked.begin (), blocked.end (), w) == blocked.end ()) loop_found |= circuit (w, path, start, blocked, block_lists, linfo, count); --- 765,771 ---- handle_cycle (path, count); loop_found = true; } ! else if (!path_contains_zero_or_negative_cycle_arc (path) && find (blocked.begin (), blocked.end (), w) == blocked.end ()) loop_found |= circuit (w, path, start, blocked, block_lists, linfo, count); *************** circuit (block_info *v, arc_vector_t &pa *** 780,786 **** { block_info *w = arc->dst; if (w < start ! || arc->cs_count == 0 || !linfo.has_block (w)) continue; --- 780,786 ---- { block_info *w = arc->dst; if (w < start ! || arc->cs_count <= 0 || !linfo.has_block (w)) continue; diff -Nrcpad gcc-9.2.0/gcc/generic-match-head.c gcc-9.3.0/gcc/generic-match-head.c *** gcc-9.2.0/gcc/generic-match-head.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/generic-match-head.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 28,33 **** --- 28,34 ---- #include "ssa.h" #include "cgraph.h" #include "fold-const.h" + #include "fold-const-call.h" #include "stor-layout.h" #include "tree-dfa.h" #include "builtins.h" diff -Nrcpad gcc-9.2.0/gcc/gengtype-lex.c gcc-9.3.0/gcc/gengtype-lex.c *** gcc-9.2.0/gcc/gengtype-lex.c Mon Aug 12 07:41:32 2019 --- gcc-9.3.0/gcc/gengtype-lex.c Thu Mar 12 11:09:26 2020 *************** int yy_flex_debug = 0; *** 1192,1198 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2019 Free Software Foundation, Inc. --- 1192,1198 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2019 Free Software Foundation, Inc. *************** You should have received a copy of the G *** 1213,1219 **** along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 --- 1213,1219 ---- along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 *************** YY_DECL *** 1465,1471 **** } { ! #line 66 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1465,1471 ---- } { ! #line 66 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1537,1543 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1537,1543 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1550,1556 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1550,1556 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1563,1569 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1563,1569 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1576,1582 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 89 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1576,1582 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 89 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1589,1595 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 93 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1589,1595 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 93 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1602,1608 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 97 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1602,1608 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 97 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** YY_RULE_SETUP *** 1613,1637 **** case 7: YY_RULE_SETUP ! #line 105 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 106 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 108 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: --- 1613,1637 ---- case 7: YY_RULE_SETUP ! #line 105 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 106 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 108 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1641,1647 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: --- 1641,1647 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: *************** case 12: *** 1650,1666 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 113 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 114 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 115 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 115 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; --- 1650,1666 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 113 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 114 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 115 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 115 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; *************** YY_LINENO_REWIND_TO(yy_bp + 3); *** 1673,1679 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 119 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: --- 1673,1679 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 119 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1683,1689 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: --- 1683,1689 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: *************** YY_LINENO_REWIND_TO(yy_bp + 6); *** 1693,1699 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: --- 1693,1699 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1703,1709 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: --- 1703,1709 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: *************** YY_LINENO_REWIND_TO(yy_bp + 7); *** 1713,1719 **** (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: --- 1713,1719 ---- (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1723,1729 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: --- 1723,1729 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: *************** YY_LINENO_REWIND_TO(yy_bp + 9); *** 1733,1739 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: --- 1733,1739 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: *************** YY_LINENO_REWIND_TO(yy_bp + 10); *** 1743,1749 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: --- 1743,1749 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1753,1764 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 128 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: --- 1753,1764 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 128 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: *************** case 26: *** 1767,1777 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 131 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 131 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { size_t len; --- 1767,1777 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 131 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 131 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { size_t len; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1790,1796 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 142 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; --- 1790,1796 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 142 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1799,1805 **** case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 147 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; --- 1799,1805 ---- case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 147 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1809,1815 **** case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 152 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1809,1815 ---- case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 152 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1818,1824 **** case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 156 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; --- 1818,1824 ---- case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 156 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1826,1849 **** YY_BREAK case 32: YY_RULE_SETUP ! #line 161 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 162 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 165 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 167 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1826,1849 ---- YY_BREAK case 32: YY_RULE_SETUP ! #line 161 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 162 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 165 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 167 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1851,1886 **** case 36: YY_RULE_SETUP ! #line 172 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 174 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 176 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 177 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 178 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: --- 1851,1886 ---- case 36: YY_RULE_SETUP ! #line 172 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 174 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 176 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 177 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 178 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1890,1910 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 179 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 182 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 184 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: --- 1890,1910 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 179 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 182 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 184 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1914,1938 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 185 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 188 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 189 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 192 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 192 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1914,1938 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 185 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 188 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 189 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 192 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 192 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1941,1952 **** case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 197 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 199 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1948 "gengtype-lex.c" --- 1941,1952 ---- case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 197 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 199 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1948 "gengtype-lex.c" *************** void yyfree (void * ptr ) *** 2920,2926 **** #define YYTABLES_NAME "yytables" ! #line 199 "/d/gcc-9.2.0/gcc-9.2.0/gcc/gengtype-lex.l" --- 2920,2926 ---- #define YYTABLES_NAME "yytables" ! #line 199 "/d/gcc-9.3.0/gcc-9.3.0/gcc/gengtype-lex.l" diff -Nrcpad gcc-9.2.0/gcc/genmatch.c gcc-9.3.0/gcc/genmatch.c *** gcc-9.2.0/gcc/genmatch.c Mon Jan 14 13:11:43 2019 --- gcc-9.3.0/gcc/genmatch.c Thu Mar 12 11:07:21 2020 *************** dt_node::gen_kids_1 (FILE *f, int indent *** 3035,3044 **** { expr *e = as_a (fns[i]->op); fprintf_indent (f, indent, "case %s:\n", e->operation->id); ! fprintf_indent (f, indent, " {\n"); ! fns[i]->gen (f, indent + 4, true); ! fprintf_indent (f, indent, " break;\n"); ! fprintf_indent (f, indent, " }\n"); } fprintf_indent (f, indent, "default:;\n"); --- 3035,3049 ---- { expr *e = as_a (fns[i]->op); fprintf_indent (f, indent, "case %s:\n", e->operation->id); ! /* We need to be defensive against bogus prototypes allowing ! calls with not enough arguments. */ ! fprintf_indent (f, indent, ! " if (gimple_call_num_args (def) == %d)\n" ! " {\n", e->ops.length ()); ! fns[i]->gen (f, indent + 6, true); ! fprintf_indent (f, indent, ! " }\n" ! " break;\n"); } fprintf_indent (f, indent, "default:;\n"); *************** dt_node::gen_kids_1 (FILE *f, int indent *** 3099,3108 **** gcc_assert (e->operation->kind == id_base::FN); fprintf_indent (f, indent, "case %s:\n", e->operation->id); ! fprintf_indent (f, indent, " {\n"); ! generic_fns[j]->gen (f, indent + 4, false); ! fprintf_indent (f, indent, " break;\n"); ! fprintf_indent (f, indent, " }\n"); } fprintf_indent (f, indent, "default:;\n"); --- 3104,3114 ---- gcc_assert (e->operation->kind == id_base::FN); fprintf_indent (f, indent, "case %s:\n", e->operation->id); ! fprintf_indent (f, indent, " if (call_expr_nargs (%s) == %d)\n" ! " {\n", kid_opname, e->ops.length ()); ! generic_fns[j]->gen (f, indent + 6, false); ! fprintf_indent (f, indent, " }\n" ! " break;\n"); } fprintf_indent (f, indent, "default:;\n"); diff -Nrcpad gcc-9.2.0/gcc/ggc-none.c gcc-9.3.0/gcc/ggc-none.c *** gcc-9.2.0/gcc/ggc-none.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/ggc-none.c Thu Mar 12 11:07:21 2020 *************** void *** 72,74 **** --- 72,79 ---- ggc_grow (void) { } + + void + ggc_trim (void) + { + } diff -Nrcpad gcc-9.2.0/gcc/ggc-page.c gcc-9.3.0/gcc/ggc-page.c *** gcc-9.2.0/gcc/ggc-page.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/ggc-page.c Thu Mar 12 11:07:21 2020 *************** free_page (page_entry *entry) *** 1016,1021 **** --- 1016,1023 ---- static void release_pages (void) { + size_t n1 = 0; + size_t n2 = 0; #ifdef USING_MADVISE page_entry *p, *start_p; char *start; *************** release_pages (void) *** 1061,1066 **** --- 1063,1069 ---- else G.free_pages = p; G.bytes_mapped -= mapped_len; + n1 += len; continue; } prev = newprev; *************** release_pages (void) *** 1092,1097 **** --- 1095,1101 ---- /* Don't count those pages as mapped to not touch the garbage collector unnecessarily. */ G.bytes_mapped -= len; + n2 += len; while (start_p != p) { start_p->discarded = true; *************** release_pages (void) *** 1124,1129 **** --- 1128,1134 ---- } munmap (start, len); + n1 += len; G.bytes_mapped -= len; } *************** release_pages (void) *** 1151,1161 **** --- 1156,1176 ---- { *gp = g->next; G.bytes_mapped -= g->alloc_size; + n1 += g->alloc_size; free (g->allocation); } else gp = &g->next; #endif + if (!quiet_flag && (n1 || n2)) + { + fprintf (stderr, " {GC"); + if (n1) + fprintf (stderr, " released %luk", (unsigned long)(n1 / 1024)); + if (n2) + fprintf (stderr, " madv_dontneed %luk", (unsigned long)(n2 / 1024)); + fprintf (stderr, "}"); + } } /* This table provides a fast way to determine ceil(log_2(size)) for *************** ggc_collect (void) *** 2178,2196 **** return; timevar_push (TV_GC); - if (!quiet_flag) - fprintf (stderr, " {GC %luk -> ", (unsigned long) G.allocated / 1024); if (GGC_DEBUG_LEVEL >= 2) fprintf (G.debug_file, "BEGIN COLLECTING\n"); /* Zero the total allocated bytes. This will be recalculated in the sweep phase. */ G.allocated = 0; /* Release the pages we freed the last time we collected, but didn't reuse in the interim. */ release_pages (); /* Indicate that we've seen collections at this context depth. */ G.context_depth_collections = ((unsigned long)1 << (G.context_depth + 1)) - 1; --- 2193,2214 ---- return; timevar_push (TV_GC); if (GGC_DEBUG_LEVEL >= 2) fprintf (G.debug_file, "BEGIN COLLECTING\n"); /* Zero the total allocated bytes. This will be recalculated in the sweep phase. */ + size_t allocated = G.allocated; G.allocated = 0; /* Release the pages we freed the last time we collected, but didn't reuse in the interim. */ release_pages (); + /* Output this later so we do not interfere with release_pages. */ + if (!quiet_flag) + fprintf (stderr, " {GC %luk -> ", (unsigned long) allocated / 1024); + /* Indicate that we've seen collections at this context depth. */ G.context_depth_collections = ((unsigned long)1 << (G.context_depth + 1)) - 1; *************** ggc_collect (void) *** 2221,2229 **** fprintf (G.debug_file, "END COLLECTING\n"); } ! /* Assume that all GGC memory is reachable and grow the limits for next collection. ! With checking, trigger GGC so -Q compilation outputs how much of memory really is ! reachable. */ void ggc_grow (void) --- 2239,2263 ---- fprintf (G.debug_file, "END COLLECTING\n"); } ! /* Return free pages to the system. */ ! ! void ! ggc_trim () ! { ! timevar_push (TV_GC); ! G.allocated = 0; ! sweep_pages (); ! release_pages (); ! if (!quiet_flag) ! fprintf (stderr, " {GC trimmed to %luk, %luk mapped}", ! (unsigned long) G.allocated / 1024, ! (unsigned long) G.bytes_mapped / 1024); ! timevar_pop (TV_GC); ! } ! ! /* Assume that all GGC memory is reachable and grow the limits for next ! collection. With checking, trigger GGC so -Q compilation outputs how much ! of memory really is reachable. */ void ggc_grow (void) *************** ggc_pch_read (FILE *f, void *addr) *** 2556,2561 **** --- 2590,2598 ---- count_old_page_tables = G.by_depth_in_use; + if (fread (&d, sizeof (d), 1, f) != 1) + fatal_error (input_location, "cannot read PCH file: %m"); + /* We've just read in a PCH file. So, every object that used to be allocated is now free. */ clear_marks (); *************** ggc_pch_read (FILE *f, void *addr) *** 2584,2591 **** /* Allocate the appropriate page-table entries for the pages read from the PCH file. */ - if (fread (&d, sizeof (d), 1, f) != 1) - fatal_error (input_location, "can%'t read PCH file: %m"); for (i = 0; i < NUM_ORDERS; i++) { --- 2621,2626 ---- diff -Nrcpad gcc-9.2.0/gcc/ggc.h gcc-9.3.0/gcc/ggc.h *** gcc-9.2.0/gcc/ggc.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/ggc.h Thu Mar 12 11:07:21 2020 *************** extern const char *ggc_alloc_string (con *** 243,248 **** --- 243,251 ---- function is called, not during allocations. */ extern void ggc_collect (void); + /* Return unused memory pages to the system. */ + extern void ggc_trim (void); + /* Assume that all GGC memory is reachable and grow the limits for next collection. */ extern void ggc_grow (void); diff -Nrcpad gcc-9.2.0/gcc/gimple-fold.c gcc-9.3.0/gcc/gimple-fold.c *** gcc-9.2.0/gcc/gimple-fold.c Thu Apr 25 11:17:49 2019 --- gcc-9.3.0/gcc/gimple-fold.c Thu Mar 12 11:07:21 2020 *************** gimple_fold_stmt_to_constant_1 (gimple * *** 6557,6562 **** --- 6557,6563 ---- fn = (*valueize) (gimple_call_fn (stmt)); if (TREE_CODE (fn) == ADDR_EXPR + && TREE_CODE (TREE_OPERAND (fn, 0)) == FUNCTION_DECL && fndecl_built_in_p (TREE_OPERAND (fn, 0)) && gimple_builtin_call_types_compatible_p (stmt, TREE_OPERAND (fn, 0))) diff -Nrcpad gcc-9.2.0/gcc/gimple-loop-jam.c gcc-9.3.0/gcc/gimple-loop-jam.c *** gcc-9.2.0/gcc/gimple-loop-jam.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/gimple-loop-jam.c Thu Mar 12 11:07:21 2020 *************** fuse_loops (struct loop *loop) *** 360,375 **** rewrite_into_loop_closed_ssa_1 (NULL, 0, SSA_OP_USE, loop); } /* Returns true if the distance in DDR can be determined and adjusts the unroll factor in *UNROLL to make unrolling valid for that distance. ! Otherwise return false. If this data dep can lead to a removed memory reference, increment *REMOVED and adjust *PROFIT_UNROLL to be the necessary unroll factor for this to happen. */ static bool ! adjust_unroll_factor (struct data_dependence_relation *ddr, unsigned *unroll, unsigned *profit_unroll, unsigned *removed) { --- 360,392 ---- rewrite_into_loop_closed_ssa_1 (NULL, 0, SSA_OP_USE, loop); } + /* Return true if any of the access functions for dataref A + isn't invariant with respect to loop LOOP_NEST. */ + static bool + any_access_function_variant_p (const struct data_reference *a, + const class loop *loop_nest) + { + unsigned int i; + vec fns = DR_ACCESS_FNS (a); + tree t; + + FOR_EACH_VEC_ELT (fns, i, t) + if (!evolution_function_is_invariant_p (t, loop_nest->num)) + return true; + + return false; + } + /* Returns true if the distance in DDR can be determined and adjusts the unroll factor in *UNROLL to make unrolling valid for that distance. ! Otherwise return false. DDR is with respect to the outer loop of INNER. If this data dep can lead to a removed memory reference, increment *REMOVED and adjust *PROFIT_UNROLL to be the necessary unroll factor for this to happen. */ static bool ! adjust_unroll_factor (class loop *inner, struct data_dependence_relation *ddr, unsigned *unroll, unsigned *profit_unroll, unsigned *removed) { *************** adjust_unroll_factor (struct data_depend *** 392,400 **** gcc_unreachable (); else if ((unsigned)dist >= *unroll) ; ! else if (lambda_vector_lexico_pos (dist_v + 1, DDR_NB_LOOPS (ddr) - 1) ! || (lambda_vector_zerop (dist_v + 1, DDR_NB_LOOPS (ddr) - 1) ! && dist > 0)) ; else *unroll = dist; --- 409,467 ---- gcc_unreachable (); else if ((unsigned)dist >= *unroll) ; ! else if (lambda_vector_zerop (dist_v + 1, DDR_NB_LOOPS (ddr) - 1)) ! { ! /* We have (a,0) with a < N, so this will be transformed into ! (0,0) after unrolling by N. This might potentially be a ! problem, if it's not a read-read dependency. */ ! if (DR_IS_READ (DDR_A (ddr)) && DR_IS_READ (DDR_B (ddr))) ! ; ! else ! { ! /* So, at least one is a write, and we might reduce the ! distance vector to (0,0). This is still no problem ! if both data-refs are affine with respect to the inner ! loops. But if one of them is invariant with respect ! to an inner loop our reordering implicit in loop fusion ! corrupts the program, as our data dependences don't ! capture this. E.g. for: ! for (0 <= i < n) ! for (0 <= j < m) ! a[i][0] = a[i+1][0] + 2; // (1) ! b[i][j] = b[i+1][j] + 2; // (2) ! the distance vector for both statements is (-1,0), ! but exchanging the order for (2) is okay, while ! for (1) it is not. To see this, write out the original ! accesses (assume m is 2): ! a i j original ! 0 0 0 r a[1][0] b[1][0] ! 1 0 0 w a[0][0] b[0][0] ! 2 0 1 r a[1][0] b[1][1] ! 3 0 1 w a[0][0] b[0][1] ! 4 1 0 r a[2][0] b[2][0] ! 5 1 0 w a[1][0] b[1][0] ! after unroll-by-2 and fusion the accesses are done in ! this order (from column a): 0,1, 4,5, 2,3, i.e. this: ! a i j transformed ! 0 0 0 r a[1][0] b[1][0] ! 1 0 0 w a[0][0] b[0][0] ! 4 1 0 r a[2][0] b[2][0] ! 5 1 0 w a[1][0] b[1][0] ! 2 0 1 r a[1][0] b[1][1] ! 3 0 1 w a[0][0] b[0][1] ! Note how access 2 accesses the same element as access 5 ! for array 'a' but not for array 'b'. */ ! if (any_access_function_variant_p (DDR_A (ddr), inner) ! && any_access_function_variant_p (DDR_B (ddr), inner)) ! ; ! else ! /* And if any dataref of this pair is invariant with ! respect to the inner loop, we have no chance than ! to reduce the unroll factor. */ ! *unroll = dist; ! } ! } ! else if (lambda_vector_lexico_pos (dist_v + 1, DDR_NB_LOOPS (ddr) - 1)) ; else *unroll = dist; *************** tree_loop_unroll_and_jam (void) *** 486,492 **** /* Now check the distance vector, for determining a sensible outer unroll factor, and for validity of merging the inner loop copies. */ ! if (!adjust_unroll_factor (ddr, &unroll_factor, &profit_unroll, &removed)) { /* Couldn't get the distance vector. For two reads that's --- 553,559 ---- /* Now check the distance vector, for determining a sensible outer unroll factor, and for validity of merging the inner loop copies. */ ! if (!adjust_unroll_factor (loop, ddr, &unroll_factor, &profit_unroll, &removed)) { /* Couldn't get the distance vector. For two reads that's *************** tree_loop_unroll_and_jam (void) *** 506,512 **** to ignore all profitability concerns and apply the transformation always. */ if (!PARAM_VALUE (PARAM_UNROLL_JAM_MIN_PERCENT)) ! profit_unroll = 2; else if (removed * 100 / datarefs.length () < (unsigned)PARAM_VALUE (PARAM_UNROLL_JAM_MIN_PERCENT)) profit_unroll = 1; --- 573,579 ---- to ignore all profitability concerns and apply the transformation always. */ if (!PARAM_VALUE (PARAM_UNROLL_JAM_MIN_PERCENT)) ! profit_unroll = MAX(2, profit_unroll); else if (removed * 100 / datarefs.length () < (unsigned)PARAM_VALUE (PARAM_UNROLL_JAM_MIN_PERCENT)) profit_unroll = 1; diff -Nrcpad gcc-9.2.0/gcc/gimple-ssa-store-merging.c gcc-9.3.0/gcc/gimple-ssa-store-merging.c *** gcc-9.2.0/gcc/gimple-ssa-store-merging.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/gimple-ssa-store-merging.c Thu Mar 12 11:07:21 2020 *************** gather_bswap_load_refs (vec *refs, *** 2375,2382 **** /* Check if there are any stores in M_STORE_INFO after index I (where M_STORE_INFO must be sorted by sort_by_bitpos) that overlap a potential group ending with END that have their order ! smaller than LAST_ORDER. RHS_CODE is the kind of store in the ! group. Return true if there are no such stores. Consider: MEM[(long long int *)p_28] = 0; MEM[(long long int *)p_28 + 8B] = 0; --- 2375,2383 ---- /* Check if there are any stores in M_STORE_INFO after index I (where M_STORE_INFO must be sorted by sort_by_bitpos) that overlap a potential group ending with END that have their order ! smaller than LAST_ORDER. ALL_INTEGER_CST_P is true if ! all the stores already merged and the one under consideration ! have rhs_code of INTEGER_CST. Return true if there are no such stores. Consider: MEM[(long long int *)p_28] = 0; MEM[(long long int *)p_28 + 8B] = 0; *************** gather_bswap_load_refs (vec *refs, *** 2399,2411 **** the MEM[(long long int *)p_28 + 8B] = 0; would now be before it, so we need to refuse merging MEM[(long long int *)p_28 + 8B] = 0; into the group. That way it will be its own store group and will ! not be touched. If RHS_CODE is INTEGER_CST and there are overlapping INTEGER_CST stores, those are mergeable using merge_overlapping, so don't return false for those. */ static bool check_no_overlap (vec m_store_info, unsigned int i, ! enum tree_code rhs_code, unsigned int last_order, unsigned HOST_WIDE_INT end) { unsigned int len = m_store_info.length (); --- 2400,2412 ---- the MEM[(long long int *)p_28 + 8B] = 0; would now be before it, so we need to refuse merging MEM[(long long int *)p_28 + 8B] = 0; into the group. That way it will be its own store group and will ! not be touched. If ALL_INTEGER_CST_P and there are overlapping INTEGER_CST stores, those are mergeable using merge_overlapping, so don't return false for those. */ static bool check_no_overlap (vec m_store_info, unsigned int i, ! bool all_integer_cst_p, unsigned int last_order, unsigned HOST_WIDE_INT end) { unsigned int len = m_store_info.length (); *************** check_no_overlap (vecbitpos >= end) break; if (info->order < last_order ! && (rhs_code != INTEGER_CST || info->rhs_code != INTEGER_CST)) return false; } return true; --- 2416,2422 ---- if (info->bitpos >= end) break; if (info->order < last_order ! && (!all_integer_cst_p || info->rhs_code != INTEGER_CST)) return false; } return true; *************** imm_store_chain_info::try_coalesce_bswap *** 2568,2574 **** if (n.base_addr == NULL_TREE && !is_gimple_val (n.src)) return false; ! if (!check_no_overlap (m_store_info, last, LROTATE_EXPR, last_order, end)) return false; /* Don't handle memory copy this way if normal non-bswap processing --- 2569,2575 ---- if (n.base_addr == NULL_TREE && !is_gimple_val (n.src)) return false; ! if (!check_no_overlap (m_store_info, last, false, last_order, end)) return false; /* Don't handle memory copy this way if normal non-bswap processing *************** imm_store_chain_info::coalesce_immediate *** 2709,2715 **** |---store 2---| Overlapping stores. */ else if (IN_RANGE (info->bitpos, merged_store->start, ! merged_store->start + merged_store->width - 1)) { /* Only allow overlapping stores of constants. */ if (info->rhs_code == INTEGER_CST && merged_store->only_constants) --- 2710,2723 ---- |---store 2---| Overlapping stores. */ else if (IN_RANGE (info->bitpos, merged_store->start, ! merged_store->start + merged_store->width - 1) ! /* |---store 1---||---store 2---| ! Handle also the consecutive INTEGER_CST stores case here, ! as we have here the code to deal with overlaps. */ ! || (info->bitregion_start <= merged_store->bitregion_end ! && info->rhs_code == INTEGER_CST ! && merged_store->only_constants ! && merged_store->can_be_merged_into (info))) { /* Only allow overlapping stores of constants. */ if (info->rhs_code == INTEGER_CST && merged_store->only_constants) *************** imm_store_chain_info::coalesce_immediate *** 2719,2726 **** unsigned HOST_WIDE_INT end = MAX (merged_store->start + merged_store->width, info->bitpos + info->bitsize); ! if (check_no_overlap (m_store_info, i, INTEGER_CST, ! last_order, end)) { /* check_no_overlap call above made sure there are no overlapping stores with non-INTEGER_CST rhs_code --- 2727,2733 ---- unsigned HOST_WIDE_INT end = MAX (merged_store->start + merged_store->width, info->bitpos + info->bitsize); ! if (check_no_overlap (m_store_info, i, true, last_order, end)) { /* check_no_overlap call above made sure there are no overlapping stores with non-INTEGER_CST rhs_code *************** imm_store_chain_info::coalesce_immediate *** 2873,2879 **** std::swap (info->ops[0], info->ops[1]); info->ops_swapped_p = true; } ! if (check_no_overlap (m_store_info, i, info->rhs_code, MAX (merged_store->last_order, info->order), MAX (merged_store->start + merged_store->width, info->bitpos + info->bitsize))) --- 2880,2886 ---- std::swap (info->ops[0], info->ops[1]); info->ops_swapped_p = true; } ! if (check_no_overlap (m_store_info, i, false, MAX (merged_store->last_order, info->order), MAX (merged_store->start + merged_store->width, info->bitpos + info->bitsize))) diff -Nrcpad gcc-9.2.0/gcc/gimple-streamer-out.c gcc-9.3.0/gcc/gimple-streamer-out.c *** gcc-9.2.0/gcc/gimple-streamer-out.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/gimple-streamer-out.c Thu Mar 12 11:07:21 2020 *************** output_phi (struct output_block *ob, gph *** 57,63 **** /* Emit statement STMT on the main stream of output block OB. */ static void ! output_gimple_stmt (struct output_block *ob, gimple *stmt) { unsigned i; enum gimple_code code; --- 57,63 ---- /* Emit statement STMT on the main stream of output block OB. */ static void ! output_gimple_stmt (struct output_block *ob, struct function *fn, gimple *stmt) { unsigned i; enum gimple_code code; *************** output_gimple_stmt (struct output_block *** 80,86 **** as_a (stmt)), 1); bp_pack_value (&bp, gimple_has_volatile_ops (stmt), 1); ! hist = gimple_histogram_value (cfun, stmt); bp_pack_value (&bp, hist != NULL, 1); bp_pack_var_len_unsigned (&bp, stmt->subcode); --- 80,86 ---- as_a (stmt)), 1); bp_pack_value (&bp, gimple_has_volatile_ops (stmt), 1); ! hist = gimple_histogram_value (fn, stmt); bp_pack_value (&bp, hist != NULL, 1); bp_pack_var_len_unsigned (&bp, stmt->subcode); *************** output_gimple_stmt (struct output_block *** 139,145 **** so that we do not have to deal with type mismatches on merged symbols during IL read in. The first operand of GIMPLE_DEBUG must be a decl, not MEM_REF, though. */ ! if (op && (i || !is_gimple_debug (stmt))) { basep = &op; if (TREE_CODE (*basep) == ADDR_EXPR) --- 139,145 ---- so that we do not have to deal with type mismatches on merged symbols during IL read in. The first operand of GIMPLE_DEBUG must be a decl, not MEM_REF, though. */ ! if (!flag_wpa && op && (i || !is_gimple_debug (stmt))) { basep = &op; if (TREE_CODE (*basep) == ADDR_EXPR) *************** output_gimple_stmt (struct output_block *** 147,153 **** while (handled_component_p (*basep)) basep = &TREE_OPERAND (*basep, 0); if (VAR_P (*basep) ! && !auto_var_in_fn_p (*basep, current_function_decl) && !DECL_REGISTER (*basep)) { bool volatilep = TREE_THIS_VOLATILE (*basep); --- 147,153 ---- while (handled_component_p (*basep)) basep = &TREE_OPERAND (*basep, 0); if (VAR_P (*basep) ! && !auto_var_in_fn_p (*basep, fn->decl) && !DECL_REGISTER (*basep)) { bool volatilep = TREE_THIS_VOLATILE (*basep); *************** output_bb (struct output_block *ob, basi *** 228,234 **** print_gimple_stmt (streamer_dump_file, stmt, 0, TDF_SLIM); } ! output_gimple_stmt (ob, stmt); /* Emit the EH region holding STMT. */ region = lookup_stmt_eh_lp_fn (fn, stmt); --- 228,234 ---- print_gimple_stmt (streamer_dump_file, stmt, 0, TDF_SLIM); } ! output_gimple_stmt (ob, fn, stmt); /* Emit the EH region holding STMT. */ region = lookup_stmt_eh_lp_fn (fn, stmt); diff -Nrcpad gcc-9.2.0/gcc/gimplify.c gcc-9.3.0/gcc/gimplify.c *** gcc-9.2.0/gcc/gimplify.c Thu Aug 1 06:31:20 2019 --- gcc-9.3.0/gcc/gimplify.c Thu Mar 12 11:07:21 2020 *************** gimplify_init_constructor (tree *expr_p, *** 4831,4836 **** --- 4831,4837 ---- && num_nonzero_elements > 1 && TREE_READONLY (object) && VAR_P (object) + && !DECL_REGISTER (object) && (flag_merge_constants >= 2 || !TREE_ADDRESSABLE (object)) /* For ctors that have many repeated nonzero elements represented through RANGE_EXPRs, prefer initializing *************** omp_default_clause (struct gimplify_omp_ *** 7058,7063 **** --- 7059,7066 ---- kind = lang_hooks.decls.omp_predetermined_sharing (decl); if (kind != OMP_CLAUSE_DEFAULT_UNSPECIFIED) default_kind = kind; + else if (VAR_P (decl) && TREE_STATIC (decl) && DECL_IN_CONSTANT_POOL (decl)) + default_kind = OMP_CLAUSE_DEFAULT_SHARED; switch (default_kind) { *************** gimplify_scan_omp_clauses (tree *list_p, *** 8716,8723 **** break; if (scp) continue; ! gcc_assert (offset == NULL_TREE ! || poly_int_tree_p (offset)); tree d1 = OMP_CLAUSE_DECL (*sc); tree d2 = OMP_CLAUSE_DECL (c); while (TREE_CODE (d1) == ARRAY_REF) --- 8719,8726 ---- break; if (scp) continue; ! gcc_assert (offset2 == NULL_TREE ! || poly_int_tree_p (offset2)); tree d1 = OMP_CLAUSE_DECL (*sc); tree d2 = OMP_CLAUSE_DECL (c); while (TREE_CODE (d1) == ARRAY_REF) *************** gimplify_scan_omp_clauses (tree *list_p, *** 9079,9087 **** == POINTER_TYPE)))) omp_firstprivatize_variable (outer_ctx, decl); else ! omp_add_variable (outer_ctx, decl, ! GOVD_SEEN | GOVD_SHARED); ! omp_notice_variable (outer_ctx, decl, true); } } if (outer_ctx) --- 9082,9094 ---- == POINTER_TYPE)))) omp_firstprivatize_variable (outer_ctx, decl); else ! { ! omp_add_variable (outer_ctx, decl, ! GOVD_SEEN | GOVD_SHARED); ! if (outer_ctx->outer_context) ! omp_notice_variable (outer_ctx->outer_context, decl, ! true); ! } } } if (outer_ctx) *************** gimplify_expr (tree *expr_p, gimple_seq *** 13519,13525 **** { /* Avoid the extra copy if possible. */ *expr_p = create_tmp_reg (TREE_TYPE (name)); ! gimple_set_lhs (SSA_NAME_DEF_STMT (name), *expr_p); release_ssa_name (name); } } --- 13526,13533 ---- { /* Avoid the extra copy if possible. */ *expr_p = create_tmp_reg (TREE_TYPE (name)); ! if (!gimple_nop_p (SSA_NAME_DEF_STMT (name))) ! gimple_set_lhs (SSA_NAME_DEF_STMT (name), *expr_p); release_ssa_name (name); } } diff -Nrcpad gcc-9.2.0/gcc/go/ChangeLog gcc-9.3.0/gcc/go/ChangeLog *** gcc-9.2.0/gcc/go/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/go/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/go/gofrontend/escape.cc gcc-9.3.0/gcc/go/gofrontend/escape.cc *** gcc-9.2.0/gcc/go/gofrontend/escape.cc Mon Jan 7 21:44:06 2019 --- gcc-9.3.0/gcc/go/gofrontend/escape.cc Thu Mar 12 11:07:21 2020 *************** Escape_analysis_assign::expression(Expre *** 1879,1885 **** this->context_->track(addr_node); Node::Escape_state* addr_state = addr_node->state(this->context_, NULL); ! addr_state->loop_depth = array_state->loop_depth; } } break; --- 1879,1886 ---- this->context_->track(addr_node); Node::Escape_state* addr_state = addr_node->state(this->context_, NULL); ! if (array_state->loop_depth != 0) ! addr_state->loop_depth = array_state->loop_depth; } } break; diff -Nrcpad gcc-9.2.0/gcc/go/gofrontend/expressions.cc gcc-9.3.0/gcc/go/gofrontend/expressions.cc *** gcc-9.2.0/gcc/go/gofrontend/expressions.cc Sat Apr 13 01:03:55 2019 --- gcc-9.3.0/gcc/go/gofrontend/expressions.cc Thu Mar 12 11:07:21 2020 *************** class Integer_expression : public Expres *** 2036,2042 **** int do_inlining_cost() const ! { return 1; } void do_export(Export_function_body*) const; --- 2036,2046 ---- int do_inlining_cost() const ! { ! if (this->type_ != NULL && this->type_->named_type() != NULL) ! return 0x100000; ! return 1; ! } void do_export(Export_function_body*) const; *************** class Float_expression : public Expressi *** 2451,2457 **** int do_inlining_cost() const ! { return 1; } void do_export(Export_function_body*) const; --- 2455,2465 ---- int do_inlining_cost() const ! { ! if (this->type_ != NULL && this->type_->named_type() != NULL) ! return 0x100000; ! return 1; ! } void do_export(Export_function_body*) const; *************** class Complex_expression : public Expres *** 2664,2670 **** int do_inlining_cost() const ! { return 2; } void do_export(Export_function_body*) const; --- 2672,2682 ---- int do_inlining_cost() const ! { ! if (this->type_ != NULL && this->type_->named_type() != NULL) ! return 0x100000; ! return 2; ! } void do_export(Export_function_body*) const; diff -Nrcpad gcc-9.2.0/gcc/internal-fn.c gcc-9.3.0/gcc/internal-fn.c *** gcc-9.2.0/gcc/internal-fn.c Wed Apr 17 13:28:39 2019 --- gcc-9.3.0/gcc/internal-fn.c Thu Mar 12 11:07:21 2020 *************** expand_mul_overflow (location_t loc, tre *** 1407,1413 **** /* s1 * s2 -> ur */ if (!uns0_p && !uns1_p && unsr_p) { ! rtx tem, tem2; switch (pos_neg0 | pos_neg1) { case 1: /* Both operands known to be non-negative. */ --- 1407,1413 ---- /* s1 * s2 -> ur */ if (!uns0_p && !uns1_p && unsr_p) { ! rtx tem; switch (pos_neg0 | pos_neg1) { case 1: /* Both operands known to be non-negative. */ *************** expand_mul_overflow (location_t loc, tre *** 1437,1446 **** ops.op2 = NULL_TREE; ops.location = loc; res = expand_expr_real_2 (&ops, NULL_RTX, mode, EXPAND_NORMAL); ! tem = expand_binop (mode, and_optab, op0, op1, NULL_RTX, false, ! OPTAB_LIB_WIDEN); ! do_compare_rtx_and_jump (tem, const0_rtx, EQ, true, mode, ! NULL_RTX, NULL, done_label, profile_probability::very_likely ()); goto do_error_label; } --- 1437,1444 ---- ops.op2 = NULL_TREE; ops.location = loc; res = expand_expr_real_2 (&ops, NULL_RTX, mode, EXPAND_NORMAL); ! do_compare_rtx_and_jump (pos_neg0 == 1 ? op0 : op1, const0_rtx, EQ, ! true, mode, NULL_RTX, NULL, done_label, profile_probability::very_likely ()); goto do_error_label; } *************** expand_mul_overflow (location_t loc, tre *** 1471,1486 **** arg1 = error_mark_node; emit_jump (do_main_label); emit_label (after_negate_label); ! tem2 = expand_binop (mode, xor_optab, op0, op1, NULL_RTX, false, ! OPTAB_LIB_WIDEN); ! do_compare_rtx_and_jump (tem2, const0_rtx, GE, false, mode, NULL_RTX, ! NULL, do_main_label, profile_probability::very_likely ()); /* One argument is negative here, the other positive. This overflows always, unless one of the arguments is 0. But if e.g. s2 is 0, (U) s1 * 0 doesn't overflow, whatever s1 is, thus we can keep do_main code oring in overflow as is. */ ! do_compare_rtx_and_jump (tem, const0_rtx, EQ, true, mode, NULL_RTX, ! NULL, do_main_label, profile_probability::very_likely ()); expand_arith_set_overflow (lhs, target); emit_label (do_main_label); goto do_main; --- 1469,1491 ---- arg1 = error_mark_node; emit_jump (do_main_label); emit_label (after_negate_label); ! tem = expand_binop (mode, xor_optab, op0, op1, NULL_RTX, false, ! OPTAB_LIB_WIDEN); ! do_compare_rtx_and_jump (tem, const0_rtx, GE, false, mode, NULL_RTX, ! NULL, do_main_label, ! profile_probability::very_likely ()); /* One argument is negative here, the other positive. This overflows always, unless one of the arguments is 0. But if e.g. s2 is 0, (U) s1 * 0 doesn't overflow, whatever s1 is, thus we can keep do_main code oring in overflow as is. */ ! if (pos_neg0 != 2) ! do_compare_rtx_and_jump (op0, const0_rtx, EQ, true, mode, NULL_RTX, ! NULL, do_main_label, ! profile_probability::very_unlikely ()); ! if (pos_neg1 != 2) ! do_compare_rtx_and_jump (op1, const0_rtx, EQ, true, mode, NULL_RTX, ! NULL, do_main_label, ! profile_probability::very_unlikely ()); expand_arith_set_overflow (lhs, target); emit_label (do_main_label); goto do_main; diff -Nrcpad gcc-9.2.0/gcc/ipa-cp.c gcc-9.3.0/gcc/ipa-cp.c *** gcc-9.2.0/gcc/ipa-cp.c Wed Jun 26 12:04:08 2019 --- gcc-9.3.0/gcc/ipa-cp.c Thu Mar 12 11:07:21 2020 *************** devirtualization_time_bonus (struct cgra *** 2567,2573 **** if (avail < AVAIL_AVAILABLE) continue; isummary = ipa_fn_summaries->get (callee); ! if (!isummary->inlinable) continue; /* FIXME: The values below need re-considering and perhaps also --- 2567,2573 ---- if (avail < AVAIL_AVAILABLE) continue; isummary = ipa_fn_summaries->get (callee); ! if (!isummary || !isummary->inlinable) continue; /* FIXME: The values below need re-considering and perhaps also *************** cgraph_edge_brings_all_agg_vals_for_node *** 4452,4458 **** for (i = 0; i < count; i++) { - static vec values = vec(); struct ipcp_param_lattices *plats; bool interesting = false; for (struct ipa_agg_replacement_value *av = aggval; av; av = av->next) --- 4452,4457 ---- *************** cgraph_edge_brings_all_agg_vals_for_node *** 4468,4474 **** if (plats->aggs_bottom) return false; ! values = intersect_aggregates_with_edge (cs, i, values); if (!values.exists ()) return false; --- 4467,4474 ---- if (plats->aggs_bottom) return false; ! vec values ! = intersect_aggregates_with_edge (cs, i, vNULL); if (!values.exists ()) return false; *************** cgraph_edge_brings_all_agg_vals_for_node *** 4492,4497 **** --- 4492,4498 ---- return false; } } + values.release (); } return true; } *************** ipa_cp_c_finalize (void) *** 5190,5193 **** --- 5191,5195 ---- max_count = profile_count::uninitialized (); overall_size = 0; max_new_size = 0; + ipcp_free_transformation_sum (); } diff -Nrcpad gcc-9.2.0/gcc/ipa-fnsummary.c gcc-9.3.0/gcc/ipa-fnsummary.c *** gcc-9.2.0/gcc/ipa-fnsummary.c Mon Feb 18 08:21:23 2019 --- gcc-9.3.0/gcc/ipa-fnsummary.c Thu Mar 12 11:07:21 2020 *************** static void *** 3452,3475 **** ipa_fn_summary_write (void) { struct output_block *ob = create_output_block (LTO_section_ipa_fn_summary); lto_symtab_encoder_t encoder = ob->decl_state->symtab_node_encoder; unsigned int count = 0; - int i; ! for (i = 0; i < lto_symtab_encoder_size (encoder); i++) { ! symtab_node *snode = lto_symtab_encoder_deref (encoder, i); ! cgraph_node *cnode = dyn_cast (snode); ! if (cnode && cnode->definition && !cnode->alias) count++; } streamer_write_uhwi (ob, count); ! for (i = 0; i < lto_symtab_encoder_size (encoder); i++) { ! symtab_node *snode = lto_symtab_encoder_deref (encoder, i); ! cgraph_node *cnode = dyn_cast (snode); ! if (cnode && cnode->definition && !cnode->alias) { struct ipa_fn_summary *info = ipa_fn_summaries->get (cnode); struct bitpack_d bp; --- 3452,3475 ---- ipa_fn_summary_write (void) { struct output_block *ob = create_output_block (LTO_section_ipa_fn_summary); + lto_symtab_encoder_iterator lsei; lto_symtab_encoder_t encoder = ob->decl_state->symtab_node_encoder; unsigned int count = 0; ! for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); ! lsei_next_function_in_partition (&lsei)) { ! cgraph_node *cnode = lsei_cgraph_node (lsei); ! if (cnode->definition && !cnode->alias) count++; } streamer_write_uhwi (ob, count); ! for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); ! lsei_next_function_in_partition (&lsei)) { ! cgraph_node *cnode = lsei_cgraph_node (lsei); ! if (cnode->definition && !cnode->alias) { struct ipa_fn_summary *info = ipa_fn_summaries->get (cnode); struct bitpack_d bp; diff -Nrcpad gcc-9.2.0/gcc/ipa-prop.c gcc-9.3.0/gcc/ipa-prop.c *** gcc-9.2.0/gcc/ipa-prop.c Sat Jan 26 22:19:17 2019 --- gcc-9.3.0/gcc/ipa-prop.c Thu Mar 12 11:07:21 2020 *************** ipcp_transformation_initialize (void) *** 3725,3730 **** --- 3725,3742 ---- ipcp_transformation_sum = ipcp_transformation_t::create_ggc (symtab); } + /* Release the IPA CP transformation summary. */ + + void + ipcp_free_transformation_sum (void) + { + if (!ipcp_transformation_sum) + return; + + ipcp_transformation_sum->release (); + ipcp_transformation_sum = NULL; + } + /* Set the aggregate replacements of NODE to be AGGVALS. */ void *************** read_ipcp_transformation_info (lto_input *** 4703,4711 **** bool known = bp_unpack_value (&bp, 1); if (known) { ipa_bits *bits ! = ipa_get_ipa_bits_for_value (streamer_read_widest_int (ib), ! streamer_read_widest_int (ib)); (*ts->bits)[i] = bits; } } --- 4715,4724 ---- bool known = bp_unpack_value (&bp, 1); if (known) { + const widest_int value = streamer_read_widest_int (ib); + const widest_int mask = streamer_read_widest_int (ib); ipa_bits *bits ! = ipa_get_ipa_bits_for_value (value, mask); (*ts->bits)[i] = bits; } } diff -Nrcpad gcc-9.2.0/gcc/ipa-prop.h gcc-9.3.0/gcc/ipa-prop.h *** gcc-9.2.0/gcc/ipa-prop.h Sun Jan 20 20:17:02 2019 --- gcc-9.3.0/gcc/ipa-prop.h Thu Mar 12 11:07:21 2020 *************** struct GTY(()) ipcp_transformation *** 558,563 **** --- 558,564 ---- void ipa_set_node_agg_value_chain (struct cgraph_node *node, struct ipa_agg_replacement_value *aggvals); void ipcp_transformation_initialize (void); + void ipcp_free_transformation_sum (void); /* ipa_edge_args stores information related to a callsite and particularly its arguments. It can be accessed by the IPA_EDGE_REF macro. */ diff -Nrcpad gcc-9.2.0/gcc/ipa-pure-const.c gcc-9.3.0/gcc/ipa-pure-const.c *** gcc-9.2.0/gcc/ipa-pure-const.c Mon Feb 18 08:21:23 2019 --- gcc-9.3.0/gcc/ipa-pure-const.c Thu Mar 12 11:07:21 2020 *************** special_builtin_state (enum pure_const_s *** 527,533 **** case BUILT_IN_CXA_END_CLEANUP: case BUILT_IN_EH_COPY_VALUES: case BUILT_IN_FRAME_ADDRESS: - case BUILT_IN_APPLY: case BUILT_IN_APPLY_ARGS: case BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT: case BUILT_IN_ASAN_AFTER_DYNAMIC_INIT: --- 527,532 ---- diff -Nrcpad gcc-9.2.0/gcc/ira.c gcc-9.3.0/gcc/ira.c *** gcc-9.2.0/gcc/ira.c Fri Jan 25 22:13:43 2019 --- gcc-9.3.0/gcc/ira.c Thu Mar 12 11:07:21 2020 *************** ira (FILE *f) *** 5198,5203 **** --- 5198,5205 ---- int ira_max_point_before_emit; bool saved_flag_caller_saves = flag_caller_saves; enum ira_region saved_flag_ira_region = flag_ira_region; + unsigned int i; + int num_used_regs = 0; clear_bb_flags (); *************** ira (FILE *f) *** 5213,5224 **** ira_conflicts_p = optimize > 0; /* If there are too many pseudos and/or basic blocks (e.g. 10K pseudos and 10K blocks or 100K pseudos and 1K blocks), we will use simplified and faster algorithms in LRA. */ lra_simple_p = (ira_use_lra_p ! && max_reg_num () >= (1 << 26) / last_basic_block_for_fn (cfun)); if (lra_simple_p) { /* It permits to skip live range splitting in LRA. */ --- 5215,5231 ---- ira_conflicts_p = optimize > 0; + /* Determine the number of pseudos actually requiring coloring. */ + for (i = FIRST_PSEUDO_REGISTER; i < DF_REG_SIZE (df); i++) + num_used_regs += !!(DF_REG_USE_COUNT (i) + DF_REG_DEF_COUNT (i)); + /* If there are too many pseudos and/or basic blocks (e.g. 10K pseudos and 10K blocks or 100K pseudos and 1K blocks), we will use simplified and faster algorithms in LRA. */ lra_simple_p = (ira_use_lra_p ! && num_used_regs >= (1 << 26) / last_basic_block_for_fn (cfun)); ! if (lra_simple_p) { /* It permits to skip live range splitting in LRA. */ diff -Nrcpad gcc-9.2.0/gcc/jit/ChangeLog gcc-9.3.0/gcc/jit/ChangeLog *** gcc-9.2.0/gcc/jit/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/jit/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/loop-iv.c gcc-9.3.0/gcc/loop-iv.c *** gcc-9.2.0/gcc/loop-iv.c Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/loop-iv.c Thu Mar 12 11:07:21 2020 *************** simple_rhs_p (rtx rhs) *** 1380,1403 **** static rtx find_single_def_src (unsigned int regno) { ! df_ref adef; ! rtx set, src; ! for (;;) { ! rtx note; ! adef = DF_REG_DEF_CHAIN (regno); if (adef == NULL || DF_REF_NEXT_REG (adef) != NULL || DF_REF_IS_ARTIFICIAL (adef)) return NULL_RTX; ! set = single_set (DF_REF_INSN (adef)); if (set == NULL || !REG_P (SET_DEST (set)) || REGNO (SET_DEST (set)) != regno) return NULL_RTX; ! note = find_reg_equal_equiv_note (DF_REF_INSN (adef)); ! if (note && function_invariant_p (XEXP (note, 0))) { src = XEXP (note, 0); --- 1380,1402 ---- static rtx find_single_def_src (unsigned int regno) { ! rtx src = NULL_RTX; ! /* Don't look through unbounded number of single definition REG copies, ! there might be loops for sources with uninitialized variables. */ ! for (int cnt = 0; cnt < 128; cnt++) { ! df_ref adef = DF_REG_DEF_CHAIN (regno); if (adef == NULL || DF_REF_NEXT_REG (adef) != NULL || DF_REF_IS_ARTIFICIAL (adef)) return NULL_RTX; ! rtx set = single_set (DF_REF_INSN (adef)); if (set == NULL || !REG_P (SET_DEST (set)) || REGNO (SET_DEST (set)) != regno) return NULL_RTX; ! rtx note = find_reg_equal_equiv_note (DF_REF_INSN (adef)); if (note && function_invariant_p (XEXP (note, 0))) { src = XEXP (note, 0); diff -Nrcpad gcc-9.2.0/gcc/lra-int.h gcc-9.3.0/gcc/lra-int.h *** gcc-9.2.0/gcc/lra-int.h Fri Jan 11 16:50:17 2019 --- gcc-9.3.0/gcc/lra-int.h Thu Mar 12 11:07:21 2020 *************** extern bool lra_coalesce (void); *** 401,406 **** --- 401,407 ---- /* lra-spills.c: */ + extern bool lra_need_for_scratch_reg_p (void); extern bool lra_need_for_spills_p (void); extern void lra_spill (void); extern void lra_final_code_change (void); diff -Nrcpad gcc-9.2.0/gcc/lra-remat.c gcc-9.3.0/gcc/lra-remat.c *** gcc-9.2.0/gcc/lra-remat.c Wed Jan 9 21:44:56 2019 --- gcc-9.3.0/gcc/lra-remat.c Thu Mar 12 11:07:21 2020 *************** get_hard_regs (struct lra_insn_reg *reg, *** 1020,1026 **** static void update_scratch_ops (rtx_insn *remat_insn) { - int hard_regno; lra_insn_recog_data_t id = lra_get_insn_recog_data (remat_insn); struct lra_static_insn_data *static_id = id->insn_static_data; for (int i = 0; i < static_id->n_operands; i++) --- 1020,1025 ---- *************** update_scratch_ops (rtx_insn *remat_insn *** 1031,1047 **** int regno = REGNO (*loc); if (! lra_former_scratch_p (regno)) continue; - hard_regno = reg_renumber[regno]; *loc = lra_create_new_reg (GET_MODE (*loc), *loc, lra_get_allocno_class (regno), "scratch pseudo copy"); - if (hard_regno >= 0) - { - reg_renumber[REGNO (*loc)] = hard_regno; - if (lra_dump_file) - fprintf (lra_dump_file, " Assigning the same %d to r%d\n", - REGNO (*loc), hard_regno); - } lra_register_new_scratch_op (remat_insn, i, id->icode); } --- 1030,1038 ---- diff -Nrcpad gcc-9.2.0/gcc/lra-spills.c gcc-9.3.0/gcc/lra-spills.c *** gcc-9.2.0/gcc/lra-spills.c Fri Apr 26 13:49:53 2019 --- gcc-9.3.0/gcc/lra-spills.c Thu Mar 12 11:07:21 2020 *************** spill_pseudos (void) *** 548,553 **** --- 548,566 ---- } } + /* Return true if we need scratch reg assignments. */ + bool + lra_need_for_scratch_reg_p (void) + { + int i; max_regno = max_reg_num (); + + for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++) + if (lra_reg_info[i].nrefs != 0 && lra_get_regno_hard_regno (i) < 0 + && lra_former_scratch_p (i)) + return true; + return false; + } + /* Return true if we need to change some pseudos into memory. */ bool lra_need_for_spills_p (void) diff -Nrcpad gcc-9.2.0/gcc/lra.c gcc-9.3.0/gcc/lra.c *** gcc-9.2.0/gcc/lra.c Wed Mar 6 15:36:43 2019 --- gcc-9.3.0/gcc/lra.c Thu Mar 12 11:07:21 2020 *************** lra (FILE *f) *** 2587,2593 **** lra_create_live_ranges (lra_reg_spill_p, true); live_p = true; if (! lra_need_for_spills_p ()) ! break; } lra_spill (); /* Assignment of stack slots changes elimination offsets for --- 2587,2597 ---- lra_create_live_ranges (lra_reg_spill_p, true); live_p = true; if (! lra_need_for_spills_p ()) ! { ! if (lra_need_for_scratch_reg_p ()) ! continue; ! break; ! } } lra_spill (); /* Assignment of stack slots changes elimination offsets for diff -Nrcpad gcc-9.2.0/gcc/lto/ChangeLog gcc-9.3.0/gcc/lto/ChangeLog *** gcc-9.2.0/gcc/lto/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/lto/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,41 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-01-20 Martin Liska + + Backport from mainline + 2020-01-16 Martin Liska + + * lto-partition.c (lto_balanced_map): Remember + best_noreorder_pos and then restore to it + when we revert. + + 2019-11-08 Jakub Jelinek + + Backported from mainline + 2019-10-31 Jakub Jelinek + + PR middle-end/92231 + * lto-lang.c (handle_const_attribute): Don't call fndecl_built_in_p + on *node that is not FUNCTION_DECL. + + 2019-10-26 Jan Hubicka + + Backport from mainline + + 2019-10-12 Jan Hubicka + * lto.c (lto_wpa_write_files): Do not update bodies of clones. + + 2019-10-11 Jan Hubicka + * lto.c (lto_wpa_write_files): Prepare all bodies for streaming. + + 2019-10-25 Jan Hubicka + + Backport from mainline + * lto-partition.c (add_symbol_to_partition_1): Update. + (undo_parittion): Update. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/lto/lto-lang.c gcc-9.3.0/gcc/lto/lto-lang.c *** gcc-9.2.0/gcc/lto/lto-lang.c Mon Mar 11 13:58:44 2019 --- gcc-9.3.0/gcc/lto/lto-lang.c Thu Mar 12 11:07:21 2020 *************** handle_const_attribute (tree *node, tree *** 303,309 **** tree ARG_UNUSED (args), int ARG_UNUSED (flags), bool * ARG_UNUSED (no_add_attrs)) { ! if (!fndecl_built_in_p (*node)) inform (UNKNOWN_LOCATION, "%s:%s: %E: %E", __FILE__, __func__, *node, name); tree type = TREE_TYPE (*node); --- 303,310 ---- tree ARG_UNUSED (args), int ARG_UNUSED (flags), bool * ARG_UNUSED (no_add_attrs)) { ! if (TREE_CODE (*node) != FUNCTION_DECL ! || !fndecl_built_in_p (*node)) inform (UNKNOWN_LOCATION, "%s:%s: %E: %E", __FILE__, __func__, *node, name); tree type = TREE_TYPE (*node); diff -Nrcpad gcc-9.2.0/gcc/lto/lto-partition.c gcc-9.3.0/gcc/lto/lto-partition.c *** gcc-9.2.0/gcc/lto/lto-partition.c Wed Jan 9 21:37:45 2019 --- gcc-9.3.0/gcc/lto/lto-partition.c Thu Mar 12 11:07:21 2020 *************** void *** 501,506 **** --- 501,507 ---- lto_balanced_map (int n_lto_partitions, int max_partition_size) { int n_varpool_nodes = 0, varpool_pos = 0, best_varpool_pos = 0; + int best_noreorder_pos = 0; auto_vec order (symtab->cgraph_count); auto_vec noreorder; auto_vec varpool_order; *************** lto_balanced_map (int n_lto_partitions, *** 762,767 **** --- 763,769 ---- best_i = i; best_n_nodes = lto_symtab_encoder_size (partition->encoder); best_varpool_pos = varpool_pos; + best_noreorder_pos = noreorder_pos; } if (dump_file) fprintf (dump_file, "Step %i: added %s/%i, size %i, " *************** lto_balanced_map (int n_lto_partitions, *** 782,787 **** --- 784,790 ---- i - best_i, best_i); undo_partition (partition, best_n_nodes); varpool_pos = best_varpool_pos; + noreorder_pos = best_noreorder_pos; } gcc_assert (best_size == partition->insns); i = best_i; diff -Nrcpad gcc-9.2.0/gcc/lto/lto.c gcc-9.3.0/gcc/lto/lto.c *** gcc-9.2.0/gcc/lto/lto.c Fri Apr 12 14:35:48 2019 --- gcc-9.3.0/gcc/lto/lto.c Thu Mar 12 11:07:21 2020 *************** lto_wpa_write_files (void) *** 2446,2451 **** --- 2446,2460 ---- timevar_push (TV_WHOPR_WPA_IO); + ggc_trim (); + + cgraph_node *node; + /* Do body modifications needed for streaming before we fork out + worker processes. */ + FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (node) + if (!node->clone_of && gimple_has_body_p (node->decl)) + lto_prepare_function_for_streaming (node); + /* Generate a prefix for the LTRANS unit files. */ blen = strlen (ltrans_output_list); temp_filename = (char *) xmalloc (blen + sizeof ("2147483648.o")); diff -Nrcpad gcc-9.2.0/gcc/lto-streamer-out.c gcc-9.3.0/gcc/lto-streamer-out.c *** gcc-9.2.0/gcc/lto-streamer-out.c Fri Mar 8 10:20:12 2019 --- gcc-9.3.0/gcc/lto-streamer-out.c Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 43,48 **** --- 43,49 ---- #include "debug.h" #include "omp-offload.h" #include "print-tree.h" + #include "tree-dfa.h" static void lto_write_tree (struct output_block*, tree, bool); *************** output_cfg (struct output_block *ob, str *** 1891,1897 **** streamer_write_hwi (ob, -1); ! bb = ENTRY_BLOCK_PTR_FOR_FN (cfun); while (bb->next_bb) { streamer_write_hwi (ob, bb->next_bb->index); --- 1892,1898 ---- streamer_write_hwi (ob, -1); ! bb = ENTRY_BLOCK_PTR_FOR_FN (fn); while (bb->next_bb) { streamer_write_hwi (ob, bb->next_bb->index); *************** output_cfg (struct output_block *ob, str *** 1900,1908 **** streamer_write_hwi (ob, -1); - /* ??? The cfgloop interface is tied to cfun. */ - gcc_assert (cfun == fn); - /* Output the number of loops. */ streamer_write_uhwi (ob, number_of_loops (fn)); --- 1901,1906 ---- *************** collect_block_tree_leafs (tree root, vec *** 2063,2068 **** --- 2061,2122 ---- collect_block_tree_leafs (BLOCK_SUBBLOCKS (root), leafs); } + /* This performs function body modifications that are needed for streaming + to work. */ + + void + lto_prepare_function_for_streaming (struct cgraph_node *node) + { + struct function *fn = DECL_STRUCT_FUNCTION (node->decl); + basic_block bb; + + if (number_of_loops (fn)) + { + push_cfun (fn); + loop_optimizer_init (AVOID_CFG_MODIFICATIONS); + loop_optimizer_finalize (); + pop_cfun (); + } + /* We will renumber the statements. The code that does this uses + the same ordering that we use for serializing them so we can use + the same code on the other end and not have to write out the + statement numbers. We do not assign UIDs to PHIs here because + virtual PHIs get re-computed on-the-fly which would make numbers + inconsistent. */ + set_gimple_stmt_max_uid (fn, 0); + FOR_ALL_BB_FN (bb, fn) + { + for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi); + gsi_next (&gsi)) + { + gphi *stmt = gsi.phi (); + + /* Virtual PHIs are not going to be streamed. */ + if (!virtual_operand_p (gimple_phi_result (stmt))) + gimple_set_uid (stmt, inc_gimple_stmt_max_uid (fn)); + } + for (gimple_stmt_iterator gsi = gsi_start_bb (bb); !gsi_end_p (gsi); + gsi_next (&gsi)) + { + gimple *stmt = gsi_stmt (gsi); + gimple_set_uid (stmt, inc_gimple_stmt_max_uid (fn)); + } + } + /* To avoid keeping duplicate gimple IDs in the statements, renumber + virtual phis now. */ + FOR_ALL_BB_FN (bb, fn) + { + for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi); + gsi_next (&gsi)) + { + gphi *stmt = gsi.phi (); + if (virtual_operand_p (gimple_phi_result (stmt))) + gimple_set_uid (stmt, inc_gimple_stmt_max_uid (fn)); + } + } + + } + /* Output the body of function NODE->DECL. */ static void *************** output_function (struct cgraph_node *nod *** 2086,2094 **** gcc_assert (current_function_decl == NULL_TREE && cfun == NULL); - /* Set current_function_decl and cfun. */ - push_cfun (fn); - /* Make string 0 be a NULL string. */ streamer_write_char_stream (ob->string_stream, 0); --- 2140,2145 ---- *************** output_function (struct cgraph_node *nod *** 2125,2133 **** debug info. */ if (gimple_has_body_p (function)) { - /* Fixup loops if required to match discovery done in the reader. */ - loop_optimizer_init (AVOID_CFG_MODIFICATIONS); - streamer_write_uhwi (ob, 1); output_struct_function_base (ob, fn); --- 2176,2181 ---- *************** output_function (struct cgraph_node *nod *** 2137,2181 **** /* Output any exception handling regions. */ output_eh_regions (ob, fn); - - /* We will renumber the statements. The code that does this uses - the same ordering that we use for serializing them so we can use - the same code on the other end and not have to write out the - statement numbers. We do not assign UIDs to PHIs here because - virtual PHIs get re-computed on-the-fly which would make numbers - inconsistent. */ - set_gimple_stmt_max_uid (cfun, 0); - FOR_ALL_BB_FN (bb, cfun) - { - for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi); - gsi_next (&gsi)) - { - gphi *stmt = gsi.phi (); - - /* Virtual PHIs are not going to be streamed. */ - if (!virtual_operand_p (gimple_phi_result (stmt))) - gimple_set_uid (stmt, inc_gimple_stmt_max_uid (cfun)); - } - for (gimple_stmt_iterator gsi = gsi_start_bb (bb); !gsi_end_p (gsi); - gsi_next (&gsi)) - { - gimple *stmt = gsi_stmt (gsi); - gimple_set_uid (stmt, inc_gimple_stmt_max_uid (cfun)); - } - } - /* To avoid keeping duplicate gimple IDs in the statements, renumber - virtual phis now. */ - FOR_ALL_BB_FN (bb, cfun) - { - for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi); - gsi_next (&gsi)) - { - gphi *stmt = gsi.phi (); - if (virtual_operand_p (gimple_phi_result (stmt))) - gimple_set_uid (stmt, inc_gimple_stmt_max_uid (cfun)); - } - } - /* Output the code for the function. */ FOR_ALL_BB_FN (bb, fn) output_bb (ob, bb, fn); --- 2185,2190 ---- *************** output_function (struct cgraph_node *nod *** 2184,2192 **** streamer_write_record_start (ob, LTO_null); output_cfg (ob, fn); - - loop_optimizer_finalize (); - pop_cfun (); } else streamer_write_uhwi (ob, 0); --- 2193,2198 ---- *************** write_symbol (struct streamer_tree_cache *** 2617,2628 **** const char *comdat; unsigned char c; - gcc_checking_assert (TREE_PUBLIC (t) - && (TREE_CODE (t) != FUNCTION_DECL - || !fndecl_built_in_p (t)) - && !DECL_ABSTRACT_P (t) - && (!VAR_P (t) || !DECL_HARD_REGISTER (t))); - gcc_assert (VAR_OR_FUNCTION_DECL_P (t)); name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (t)); --- 2623,2628 ---- diff -Nrcpad gcc-9.2.0/gcc/lto-streamer.h gcc-9.3.0/gcc/lto-streamer.h *** gcc-9.2.0/gcc/lto-streamer.h Wed May 29 15:55:12 2019 --- gcc-9.3.0/gcc/lto-streamer.h Thu Mar 12 11:07:21 2020 *************** void lto_output_decl_state_refs (struct *** 879,884 **** --- 879,885 ---- struct lto_out_decl_state *); void lto_output_location (struct output_block *, struct bitpack_d *, location_t); void lto_output_init_mode_table (void); + void lto_prepare_function_for_streaming (cgraph_node *); /* In lto-cgraph.c */ diff -Nrcpad gcc-9.2.0/gcc/lto-wrapper.c gcc-9.3.0/gcc/lto-wrapper.c *** gcc-9.2.0/gcc/lto-wrapper.c Fri Jul 12 14:42:14 2019 --- gcc-9.3.0/gcc/lto-wrapper.c Thu Mar 12 11:07:21 2020 *************** maybe_unlink (const char *file) *** 128,139 **** #define DUMPBASE_SUFFIX ".ltrans18446744073709551615" /* Create decoded options from the COLLECT_GCC and COLLECT_GCC_OPTIONS ! environment according to LANG_MASK. */ static void get_options_from_collect_gcc_options (const char *collect_gcc, const char *collect_gcc_options, - unsigned int lang_mask, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count) { --- 128,138 ---- #define DUMPBASE_SUFFIX ".ltrans18446744073709551615" /* Create decoded options from the COLLECT_GCC and COLLECT_GCC_OPTIONS ! environment. */ static void get_options_from_collect_gcc_options (const char *collect_gcc, const char *collect_gcc_options, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count) { *************** get_options_from_collect_gcc_options (co *** 175,182 **** argc = obstack_object_size (&argv_obstack) / sizeof (void *) - 1; argv = XOBFINISH (&argv_obstack, const char **); ! decode_cmdline_options_to_array (argc, (const char **)argv, ! lang_mask, decoded_options, decoded_options_count); obstack_free (&argv_obstack, NULL); } --- 174,180 ---- argc = obstack_object_size (&argv_obstack) / sizeof (void *) - 1; argv = XOBFINISH (&argv_obstack, const char **); ! decode_cmdline_options_to_array (argc, (const char **)argv, CL_DRIVER, decoded_options, decoded_options_count); obstack_free (&argv_obstack, NULL); } *************** find_and_merge_options (int fd, off_t fi *** 1008,1015 **** { struct cl_decoded_option *f2decoded_options; unsigned int f2decoded_options_count; ! get_options_from_collect_gcc_options (collect_gcc, ! fopts, CL_LANG_ALL, &f2decoded_options, &f2decoded_options_count); if (!fdecoded_options) --- 1006,1012 ---- { struct cl_decoded_option *f2decoded_options; unsigned int f2decoded_options_count; ! get_options_from_collect_gcc_options (collect_gcc, fopts, &f2decoded_options, &f2decoded_options_count); if (!fdecoded_options) *************** run_gcc (unsigned argc, char *argv[]) *** 1150,1156 **** fatal_error (input_location, "environment variable COLLECT_GCC_OPTIONS must be set"); get_options_from_collect_gcc_options (collect_gcc, collect_gcc_options, - CL_LANG_ALL, &decoded_options, &decoded_options_count); --- 1147,1152 ---- diff -Nrcpad gcc-9.2.0/gcc/match.pd gcc-9.3.0/gcc/match.pd *** gcc-9.2.0/gcc/match.pd Thu Apr 25 11:15:35 2019 --- gcc-9.3.0/gcc/match.pd Thu Mar 12 11:07:21 2020 *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1419,1425 **** (for cmp (gt lt ge le) (simplify (mult (convert (cmp @0 @1)) @2) ! (cond (cmp @0 @1) @2 { build_zero_cst (type); }))) /* For integral types with undefined overflow and C != 0 fold x * C EQ/NE y * C into x EQ/NE y. */ --- 1419,1426 ---- (for cmp (gt lt ge le) (simplify (mult (convert (cmp @0 @1)) @2) ! (if (GIMPLE || !TREE_SIDE_EFFECTS (@2)) ! (cond (cmp @0 @1) @2 { build_zero_cst (type); })))) /* For integral types with undefined overflow and C != 0 fold x * C EQ/NE y * C into x EQ/NE y. */ *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1519,1526 **** tree etype = range_check_type (TREE_TYPE (@0)); if (etype) { - if (! TYPE_UNSIGNED (etype)) - etype = unsigned_type_for (etype); hi = fold_convert (etype, hi); lo = fold_convert (etype, lo); hi = const_binop (MINUS_EXPR, etype, hi, lo); --- 1520,1525 ---- *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 3381,3388 **** (cmp { tem; } @1))))) /* Fold comparisons against built-in math functions. */ ! (if (flag_unsafe_math_optimizations ! && ! flag_errno_math) (for sq (SQRT) (simplify (cmp (sq @0) REAL_CST@1) --- 3380,3386 ---- (cmp { tem; } @1))))) /* Fold comparisons against built-in math functions. */ ! (if (flag_unsafe_math_optimizations && ! flag_errno_math) (for sq (SQRT) (simplify (cmp (sq @0) REAL_CST@1) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 3417,3472 **** if x is negative or NaN. Due to -funsafe-math-optimizations, the results for other x follow from natural arithmetic. */ (cmp @0 @1))) ! (if (cmp == GT_EXPR || cmp == GE_EXPR) ! (with ! { ! REAL_VALUE_TYPE c2; ! real_arithmetic (&c2, MULT_EXPR, ! &TREE_REAL_CST (@1), &TREE_REAL_CST (@1)); ! real_convert (&c2, TYPE_MODE (TREE_TYPE (@0)), &c2); ! } ! (if (REAL_VALUE_ISINF (c2)) ! /* sqrt(x) > y is x == +Inf, when y is very large. */ ! (if (HONOR_INFINITIES (@0)) ! (eq @0 { build_real (TREE_TYPE (@0), c2); }) ! { constant_boolean_node (false, type); }) ! /* sqrt(x) > c is the same as x > c*c. */ ! (cmp @0 { build_real (TREE_TYPE (@0), c2); })))) ! (if (cmp == LT_EXPR || cmp == LE_EXPR) (with { ! REAL_VALUE_TYPE c2; real_arithmetic (&c2, MULT_EXPR, &TREE_REAL_CST (@1), &TREE_REAL_CST (@1)); ! real_convert (&c2, TYPE_MODE (TREE_TYPE (@0)), &c2); } ! (if (REAL_VALUE_ISINF (c2)) ! (switch ! /* sqrt(x) < y is always true, when y is a very large ! value and we don't care about NaNs or Infinities. */ ! (if (! HONOR_NANS (@0) && ! HONOR_INFINITIES (@0)) ! { constant_boolean_node (true, type); }) ! /* sqrt(x) < y is x != +Inf when y is very large and we ! don't care about NaNs. */ ! (if (! HONOR_NANS (@0)) ! (ne @0 { build_real (TREE_TYPE (@0), c2); })) ! /* sqrt(x) < y is x >= 0 when y is very large and we ! don't care about Infinities. */ ! (if (! HONOR_INFINITIES (@0)) ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); })) ! /* sqrt(x) < y is x >= 0 && x != +Inf, when y is large. */ ! (if (GENERIC) ! (truth_andif ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); }) ! (ne @0 { build_real (TREE_TYPE (@0), c2); })))) ! /* sqrt(x) < c is the same as x < c*c, if we ignore NaNs. */ ! (if (! HONOR_NANS (@0)) ! (cmp @0 { build_real (TREE_TYPE (@0), c2); }) ! /* sqrt(x) < c is the same as x >= 0 && x < c*c. */ ! (if (GENERIC) ! (truth_andif ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); }) ! (cmp @0 { build_real (TREE_TYPE (@0), c2); }))))))))) /* Transform sqrt(x) cmp sqrt(y) -> x cmp y. */ (simplify (cmp (sq @0) (sq @1)) --- 3415,3522 ---- if x is negative or NaN. Due to -funsafe-math-optimizations, the results for other x follow from natural arithmetic. */ (cmp @0 @1))) ! (if ((cmp == LT_EXPR ! || cmp == LE_EXPR ! || cmp == GT_EXPR ! || cmp == GE_EXPR) ! && !REAL_VALUE_ISNAN (TREE_REAL_CST (@1)) ! /* Give up for -frounding-math. */ ! && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (@0))) (with { ! REAL_VALUE_TYPE c2; ! enum tree_code ncmp = cmp; ! const real_format *fmt ! = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (@0))); real_arithmetic (&c2, MULT_EXPR, &TREE_REAL_CST (@1), &TREE_REAL_CST (@1)); ! real_convert (&c2, fmt, &c2); ! /* See PR91734: if c2 is inexact and sqrt(c2) < c (or sqrt(c2) >= c), ! then change LT_EXPR into LE_EXPR or GE_EXPR into GT_EXPR. */ ! if (!REAL_VALUE_ISINF (c2)) ! { ! tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (@0), ! build_real (TREE_TYPE (@0), c2)); ! if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST) ! ncmp = ERROR_MARK; ! else if ((cmp == LT_EXPR || cmp == GE_EXPR) ! && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (@1))) ! ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR; ! else if ((cmp == LE_EXPR || cmp == GT_EXPR) ! && real_less (&TREE_REAL_CST (@1), &TREE_REAL_CST (c3))) ! ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR; ! else ! { ! /* With rounding to even, sqrt of up to 3 different values ! gives the same normal result, so in some cases c2 needs ! to be adjusted. */ ! REAL_VALUE_TYPE c2alt, tow; ! if (cmp == LT_EXPR || cmp == GE_EXPR) ! tow = dconst0; ! else ! real_inf (&tow); ! real_nextafter (&c2alt, fmt, &c2, &tow); ! real_convert (&c2alt, fmt, &c2alt); ! if (REAL_VALUE_ISINF (c2alt)) ! ncmp = ERROR_MARK; ! else ! { ! c3 = fold_const_call (CFN_SQRT, TREE_TYPE (@0), ! build_real (TREE_TYPE (@0), c2alt)); ! if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST) ! ncmp = ERROR_MARK; ! else if (real_equal (&TREE_REAL_CST (c3), ! &TREE_REAL_CST (@1))) ! c2 = c2alt; ! } ! } ! } } ! (if (cmp == GT_EXPR || cmp == GE_EXPR) ! (if (REAL_VALUE_ISINF (c2)) ! /* sqrt(x) > y is x == +Inf, when y is very large. */ ! (if (HONOR_INFINITIES (@0)) ! (eq @0 { build_real (TREE_TYPE (@0), c2); }) ! { constant_boolean_node (false, type); }) ! /* sqrt(x) > c is the same as x > c*c. */ ! (if (ncmp != ERROR_MARK) ! (if (ncmp == GE_EXPR) ! (ge @0 { build_real (TREE_TYPE (@0), c2); }) ! (gt @0 { build_real (TREE_TYPE (@0), c2); })))) ! /* else if (cmp == LT_EXPR || cmp == LE_EXPR) */ ! (if (REAL_VALUE_ISINF (c2)) ! (switch ! /* sqrt(x) < y is always true, when y is a very large ! value and we don't care about NaNs or Infinities. */ ! (if (! HONOR_NANS (@0) && ! HONOR_INFINITIES (@0)) ! { constant_boolean_node (true, type); }) ! /* sqrt(x) < y is x != +Inf when y is very large and we ! don't care about NaNs. */ ! (if (! HONOR_NANS (@0)) ! (ne @0 { build_real (TREE_TYPE (@0), c2); })) ! /* sqrt(x) < y is x >= 0 when y is very large and we ! don't care about Infinities. */ ! (if (! HONOR_INFINITIES (@0)) ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); })) ! /* sqrt(x) < y is x >= 0 && x != +Inf, when y is large. */ ! (if (GENERIC) ! (truth_andif ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); }) ! (ne @0 { build_real (TREE_TYPE (@0), c2); })))) ! /* sqrt(x) < c is the same as x < c*c, if we ignore NaNs. */ ! (if (ncmp != ERROR_MARK && ! HONOR_NANS (@0)) ! (if (ncmp == LT_EXPR) ! (lt @0 { build_real (TREE_TYPE (@0), c2); }) ! (le @0 { build_real (TREE_TYPE (@0), c2); })) ! /* sqrt(x) < c is the same as x >= 0 && x < c*c. */ ! (if (ncmp != ERROR_MARK && GENERIC) ! (if (ncmp == LT_EXPR) ! (truth_andif ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); }) ! (lt @0 { build_real (TREE_TYPE (@0), c2); })) ! (truth_andif ! (ge @0 { build_real (TREE_TYPE (@0), dconst0); }) ! (le @0 { build_real (TREE_TYPE (@0), c2); }))))))))))) /* Transform sqrt(x) cmp sqrt(y) -> x cmp y. */ (simplify (cmp (sq @0) (sq @1)) diff -Nrcpad gcc-9.2.0/gcc/modulo-sched.c gcc-9.3.0/gcc/modulo-sched.c *** gcc-9.2.0/gcc/modulo-sched.c Tue Apr 23 13:14:57 2019 --- gcc-9.3.0/gcc/modulo-sched.c Thu Mar 12 11:07:21 2020 *************** ps_add_node_check_conflicts (partial_sch *** 3201,3207 **** int c, sbitmap must_precede, sbitmap must_follow) { ! int has_conflicts = 0; ps_insn_ptr ps_i; /* First add the node to the PS, if this succeeds check for --- 3201,3207 ---- int c, sbitmap must_precede, sbitmap must_follow) { ! int i, first, amount, has_conflicts = 0; ps_insn_ptr ps_i; /* First add the node to the PS, if this succeeds check for *************** ps_add_node_check_conflicts (partial_sch *** 3209,3231 **** if (! (ps_i = add_node_to_ps (ps, n, c, must_precede, must_follow))) return NULL; /* Failed to insert the node at the given cycle. */ ! has_conflicts = ps_has_conflicts (ps, c, c) ! || (ps->history > 0 ! && ps_has_conflicts (ps, ! c - ps->history, ! c + ps->history)); ! ! /* Try different issue slots to find one that the given node can be ! scheduled in without conflicts. */ ! while (has_conflicts) { if (! ps_insn_advance_column (ps, ps_i, must_follow)) break; - has_conflicts = ps_has_conflicts (ps, c, c) - || (ps->history > 0 - && ps_has_conflicts (ps, - c - ps->history, - c + ps->history)); } if (has_conflicts) --- 3209,3240 ---- if (! (ps_i = add_node_to_ps (ps, n, c, must_precede, must_follow))) return NULL; /* Failed to insert the node at the given cycle. */ ! while (1) { + has_conflicts = ps_has_conflicts (ps, c, c); + if (ps->history > 0 && !has_conflicts) + { + /* Check all 2h+1 intervals, starting from c-2h..c up to c..2h, + but not more than ii intervals. */ + first = c - ps->history; + amount = 2 * ps->history + 1; + if (amount > ps->ii) + amount = ps->ii; + for (i = first; i < first + amount; i++) + { + has_conflicts = ps_has_conflicts (ps, + i - ps->history, + i + ps->history); + if (has_conflicts) + break; + } + } + if (!has_conflicts) + break; + /* Try different issue slots to find one that the given node can be + scheduled in without conflicts. */ if (! ps_insn_advance_column (ps, ps_i, must_follow)) break; } if (has_conflicts) diff -Nrcpad gcc-9.2.0/gcc/objc/ChangeLog gcc-9.3.0/gcc/objc/ChangeLog *** gcc-9.2.0/gcc/objc/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/objc/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/objcp/ChangeLog gcc-9.3.0/gcc/objcp/ChangeLog *** gcc-9.2.0/gcc/objcp/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/objcp/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,7 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/omp-low.c gcc-9.3.0/gcc/omp-low.c *** gcc-9.2.0/gcc/omp-low.c Thu Aug 1 06:30:26 2019 --- gcc-9.3.0/gcc/omp-low.c Thu Mar 12 11:07:21 2020 *************** use_pointer_for_field (tree decl, omp_co *** 444,461 **** omp_context *up; for (up = shared_ctx->outer; up; up = up->outer) ! if (is_taskreg_ctx (up) && maybe_lookup_decl (decl, up)) break; if (up) { tree c; ! for (c = gimple_omp_taskreg_clauses (up->stmt); ! c; c = OMP_CLAUSE_CHAIN (c)) ! if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED ! && OMP_CLAUSE_DECL (c) == decl) ! break; if (c) goto maybe_mark_addressable_and_ret; --- 444,473 ---- omp_context *up; for (up = shared_ctx->outer; up; up = up->outer) ! if ((is_taskreg_ctx (up) ! || (gimple_code (up->stmt) == GIMPLE_OMP_TARGET ! && is_gimple_omp_offloaded (up->stmt))) ! && maybe_lookup_decl (decl, up)) break; if (up) { tree c; ! if (gimple_code (up->stmt) == GIMPLE_OMP_TARGET) ! { ! for (c = gimple_omp_target_clauses (up->stmt); ! c; c = OMP_CLAUSE_CHAIN (c)) ! if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP ! && OMP_CLAUSE_DECL (c) == decl) ! break; ! } ! else ! for (c = gimple_omp_taskreg_clauses (up->stmt); ! c; c = OMP_CLAUSE_CHAIN (c)) ! if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED ! && OMP_CLAUSE_DECL (c) == decl) ! break; if (c) goto maybe_mark_addressable_and_ret; *************** check_omp_nesting_restrictions (gimple * *** 3041,3046 **** --- 3053,3068 ---- } break; case GIMPLE_OMP_TEAMS: + if ((ctx == NULL + || gimple_code (ctx->stmt) != GIMPLE_OMP_TARGET + || gimple_omp_target_kind (ctx->stmt) != GF_OMP_TARGET_KIND_REGION) + && lang_GNU_Fortran ()) + { + error_at (gimple_location (stmt), + "% construct not closely nested inside of " + "% construct"); + return false; + } if (ctx == NULL) break; else if (gimple_code (ctx->stmt) != GIMPLE_OMP_TARGET *************** scan_omp_1_stmt (gimple_stmt_iterator *g *** 3338,3344 **** break; case GIMPLE_OMP_TARGET: ! scan_omp_target (as_a (stmt), ctx); break; case GIMPLE_OMP_TEAMS: --- 3360,3373 ---- break; case GIMPLE_OMP_TARGET: ! if (is_gimple_omp_offloaded (stmt)) ! { ! taskreg_nesting_level++; ! scan_omp_target (as_a (stmt), ctx); ! taskreg_nesting_level--; ! } ! else ! scan_omp_target (as_a (stmt), ctx); break; case GIMPLE_OMP_TEAMS: diff -Nrcpad gcc-9.2.0/gcc/omp-simd-clone.c gcc-9.3.0/gcc/omp-simd-clone.c *** gcc-9.2.0/gcc/omp-simd-clone.c Wed Mar 13 08:24:41 2019 --- gcc-9.3.0/gcc/omp-simd-clone.c Thu Mar 12 11:07:21 2020 *************** simd_clone_adjust_return_type (struct cg *** 498,504 **** /* Adjust the function return type. */ if (orig_rettype == void_type_node) return NULL_TREE; - TREE_TYPE (fndecl) = build_distinct_type_copy (TREE_TYPE (fndecl)); t = TREE_TYPE (TREE_TYPE (fndecl)); if (INTEGRAL_TYPE_P (t) || POINTER_TYPE_P (t)) veclen = node->simdclone->vecsize_int; --- 498,503 ---- *************** simd_clone_adjust_argument_types (struct *** 724,734 **** else new_reversed = void_list_node; } ! ! tree new_type = build_distinct_type_copy (TREE_TYPE (node->decl)); ! TYPE_ARG_TYPES (new_type) = new_reversed; ! TREE_TYPE (node->decl) = new_type; ! adjustments.release (); } args.release (); --- 723,729 ---- else new_reversed = void_list_node; } ! TYPE_ARG_TYPES (TREE_TYPE (node->decl)) = new_reversed; adjustments.release (); } args.release (); *************** simd_clone_adjust (struct cgraph_node *n *** 1164,1169 **** --- 1159,1165 ---- { push_cfun (DECL_STRUCT_FUNCTION (node->decl)); + TREE_TYPE (node->decl) = build_distinct_type_copy (TREE_TYPE (node->decl)); targetm.simd_clone.adjust (node); tree retval = simd_clone_adjust_return_type (node); *************** expand_simd_clones (struct cgraph_node * *** 1707,1720 **** already. */ tree id = simd_clone_mangle (node, clone); if (id == NULL_TREE) ! continue; /* Only when we are sure we want to create the clone actually clone the function (or definitions) or create another extern FUNCTION_DECL (for prototypes without definitions). */ struct cgraph_node *n = simd_clone_create (node); if (n == NULL) ! continue; n->simdclone = clone; clone->origin = node; --- 1703,1724 ---- already. */ tree id = simd_clone_mangle (node, clone); if (id == NULL_TREE) ! { ! if (i == 0) ! clone->nargs += clone->inbranch; ! continue; ! } /* Only when we are sure we want to create the clone actually clone the function (or definitions) or create another extern FUNCTION_DECL (for prototypes without definitions). */ struct cgraph_node *n = simd_clone_create (node); if (n == NULL) ! { ! if (i == 0) ! clone->nargs += clone->inbranch; ! continue; ! } n->simdclone = clone; clone->origin = node; *************** expand_simd_clones (struct cgraph_node * *** 1737,1742 **** --- 1741,1748 ---- simd_clone_adjust (n); else { + TREE_TYPE (n->decl) + = build_distinct_type_copy (TREE_TYPE (n->decl)); targetm.simd_clone.adjust (n); simd_clone_adjust_return_type (n); simd_clone_adjust_argument_types (n); diff -Nrcpad gcc-9.2.0/gcc/optabs.c gcc-9.3.0/gcc/optabs.c *** gcc-9.2.0/gcc/optabs.c Wed Feb 13 12:12:09 2019 --- gcc-9.3.0/gcc/optabs.c Thu Mar 12 11:07:21 2020 *************** expand_vec_cond_expr (tree vec_cond_type *** 5819,5824 **** --- 5819,5843 ---- icode = get_vcond_icode (mode, cmp_op_mode, unsignedp); if (icode == CODE_FOR_nothing) { + if (tcode == LT_EXPR + && op0a == op0 + && TREE_CODE (op0) == VECTOR_CST) + { + /* A VEC_COND_EXPR condition could be folded from EQ_EXPR/NE_EXPR + into a constant when only get_vcond_eq_icode is supported. + Verify < 0 and != 0 behave the same and change it to NE_EXPR. */ + unsigned HOST_WIDE_INT nelts; + if (!VECTOR_CST_NELTS (op0).is_constant (&nelts)) + { + if (VECTOR_CST_STEPPED_P (op0)) + return 0; + nelts = vector_cst_encoded_nelts (op0); + } + for (unsigned int i = 0; i < nelts; ++i) + if (tree_int_cst_sgn (vector_cst_elt (op0, i)) == 1) + return 0; + tcode = NE_EXPR; + } if (tcode == EQ_EXPR || tcode == NE_EXPR) icode = get_vcond_eq_icode (mode, cmp_op_mode); if (icode == CODE_FOR_nothing) diff -Nrcpad gcc-9.2.0/gcc/optc-save-gen.awk gcc-9.3.0/gcc/optc-save-gen.awk *** gcc-9.2.0/gcc/optc-save-gen.awk Wed May 29 09:35:34 2019 --- gcc-9.3.0/gcc/optc-save-gen.awk Thu Mar 12 11:07:21 2020 *************** for (i = 0; i < n_opt_string; i++) { *** 332,338 **** print " indent_to, \"\","; print " \"" name "\","; print " ptr1->x_" name " ? ptr1->x_" name " : \"(null)\","; ! print " ptr2->x_" name " ? ptr1->x_" name " : \"(null)\");"; print ""; } --- 332,338 ---- print " indent_to, \"\","; print " \"" name "\","; print " ptr1->x_" name " ? ptr1->x_" name " : \"(null)\","; ! print " ptr2->x_" name " ? ptr2->x_" name " : \"(null)\");"; print ""; } diff -Nrcpad gcc-9.2.0/gcc/output.h gcc-9.3.0/gcc/output.h *** gcc-9.2.0/gcc/output.h Tue Jan 1 12:31:55 2019 --- gcc-9.3.0/gcc/output.h Thu Mar 12 11:07:21 2020 *************** extern void assemble_label (FILE *, cons *** 236,241 **** --- 236,247 ---- addition of an underscore). */ extern void assemble_name_raw (FILE *, const char *); + /* Return NAME that should actually be emitted, looking through + transparent aliases. If NAME refers to an entity that is also + represented as a tree (like a function or variable), mark the entity + as referenced. */ + extern const char *assemble_name_resolve (const char *); + /* Like assemble_name_raw, but should be used when NAME might refer to an entity that is also represented as a tree (like a function or variable). If NAME does refer to such an entity, that entity will diff -Nrcpad gcc-9.2.0/gcc/params.def gcc-9.3.0/gcc/params.def *** gcc-9.2.0/gcc/params.def Fri Aug 2 08:40:34 2019 --- gcc-9.3.0/gcc/params.def Thu Mar 12 11:07:21 2020 *************** DEFPARAM(PARAM_SMS_MIN_SC, *** 419,425 **** DEFPARAM(PARAM_SMS_DFA_HISTORY, "sms-dfa-history", "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.", ! 0, 0, 0) DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD, "sms-loop-average-count-threshold", "A threshold on the average loop count considered by the swing modulo scheduler.", --- 419,425 ---- DEFPARAM(PARAM_SMS_DFA_HISTORY, "sms-dfa-history", "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.", ! 0, 0, 16) DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD, "sms-loop-average-count-threshold", "A threshold on the average loop count considered by the swing modulo scheduler.", diff -Nrcpad gcc-9.2.0/gcc/passes.c gcc-9.3.0/gcc/passes.c *** gcc-9.2.0/gcc/passes.c Fri Jul 12 14:42:14 2019 --- gcc-9.3.0/gcc/passes.c Thu Mar 12 11:07:21 2020 *************** do_per_function (void (*callback) (funct *** 1646,1669 **** } } - /* Because inlining might remove no-longer reachable nodes, we need to - keep the array visible to garbage collector to avoid reading collected - out nodes. */ - static int nnodes; - static GTY ((length ("nnodes"))) cgraph_node **order; - - #define uid_hash_t hash_set > - /* Hook called when NODE is removed and therefore should be excluded from order vector. DATA is a hash set with removed nodes. */ static void remove_cgraph_node_from_order (cgraph_node *node, void *data) { ! uid_hash_t *removed_nodes = (uid_hash_t *)data; ! removed_nodes->add (node->get_uid ()); } /* If we are in IPA mode (i.e., current_function_decl is NULL), call function CALLBACK for every function in the call graph. Otherwise, call CALLBACK on the current function. --- 1646,1684 ---- } } /* Hook called when NODE is removed and therefore should be excluded from order vector. DATA is a hash set with removed nodes. */ static void remove_cgraph_node_from_order (cgraph_node *node, void *data) { ! hash_set *removed_nodes = (hash_set *)data; ! removed_nodes->add (node); ! } ! ! /* Hook called when NODE is insert and therefore should be ! excluded from removed_nodes. DATA is a hash set with removed nodes. */ ! ! static void ! insert_cgraph_node_to_order (cgraph_node *node, void *data) ! { ! hash_set *removed_nodes = (hash_set *)data; ! removed_nodes->remove (node); ! } ! ! /* Hook called when NODE is duplicated and therefore should be ! excluded from removed_nodes. DATA is a hash set with removed nodes. */ ! ! static void ! duplicate_cgraph_node_to_order (cgraph_node *node, cgraph_node *node2, ! void *data) ! { ! hash_set *removed_nodes = (hash_set *)data; ! gcc_checking_assert (!removed_nodes->contains (node)); ! removed_nodes->remove (node2); } + /* If we are in IPA mode (i.e., current_function_decl is NULL), call function CALLBACK for every function in the call graph. Otherwise, call CALLBACK on the current function. *************** do_per_function_toporder (void (*callbac *** 1677,1702 **** callback (cfun, data); else { ! cgraph_node_hook_list *hook; ! uid_hash_t removed_nodes; ! gcc_assert (!order); ! order = ggc_vec_alloc (symtab->cgraph_count); nnodes = ipa_reverse_postorder (order); for (i = nnodes - 1; i >= 0; i--) order[i]->process = 1; ! hook = symtab->add_cgraph_removal_hook (remove_cgraph_node_from_order, ! &removed_nodes); for (i = nnodes - 1; i >= 0; i--) { cgraph_node *node = order[i]; /* Function could be inlined and removed as unreachable. */ ! if (node == NULL || removed_nodes.contains (node->get_uid ())) continue; - /* Allow possibly removed nodes to be garbage collected. */ - order[i] = NULL; node->process = 0; if (node->has_gimple_body_p ()) { --- 1692,1721 ---- callback (cfun, data); else { ! hash_set removed_nodes; ! unsigned nnodes = symtab->cgraph_count; ! cgraph_node **order = XNEWVEC (cgraph_node *, nnodes); nnodes = ipa_reverse_postorder (order); for (i = nnodes - 1; i >= 0; i--) order[i]->process = 1; ! cgraph_node_hook_list *removal_hook ! = symtab->add_cgraph_removal_hook (remove_cgraph_node_from_order, ! &removed_nodes); ! cgraph_node_hook_list *insertion_hook ! = symtab->add_cgraph_insertion_hook (insert_cgraph_node_to_order, ! &removed_nodes); ! cgraph_2node_hook_list *duplication_hook ! = symtab->add_cgraph_duplication_hook (duplicate_cgraph_node_to_order, ! &removed_nodes); for (i = nnodes - 1; i >= 0; i--) { cgraph_node *node = order[i]; /* Function could be inlined and removed as unreachable. */ ! if (node == NULL || removed_nodes.contains (node)) continue; node->process = 0; if (node->has_gimple_body_p ()) { *************** do_per_function_toporder (void (*callbac *** 1706,1716 **** pop_cfun (); } } ! symtab->remove_cgraph_removal_hook (hook); } - ggc_free (order); - order = NULL; - nnodes = 0; } /* Helper function to perform function body dump. */ --- 1725,1736 ---- pop_cfun (); } } ! symtab->remove_cgraph_removal_hook (removal_hook); ! symtab->remove_cgraph_insertion_hook (insertion_hook); ! symtab->remove_cgraph_duplication_hook (duplication_hook); ! ! free (order); } } /* Helper function to perform function body dump. */ *************** ipa_write_summaries (void) *** 2699,2718 **** { struct cgraph_node *node = order[i]; ! if (gimple_has_body_p (node->decl)) { ! /* When streaming out references to statements as part of some IPA ! pass summary, the statements need to have uids assigned and the ! following does that for all the IPA passes here. Naturally, this ! ordering then matches the one IPA-passes get in their stmt_fixup ! hooks. */ ! ! push_cfun (DECL_STRUCT_FUNCTION (node->decl)); ! renumber_gimple_stmt_uids (); ! pop_cfun (); } - if (node->definition && node->need_lto_streaming) - lto_set_symtab_encoder_in_partition (encoder, node); } FOR_EACH_DEFINED_FUNCTION (node) --- 2719,2730 ---- { struct cgraph_node *node = order[i]; ! if (node->definition && node->need_lto_streaming) { ! if (gimple_has_body_p (node->decl)) ! lto_prepare_function_for_streaming (node); ! lto_set_symtab_encoder_in_partition (encoder, node); } } FOR_EACH_DEFINED_FUNCTION (node) *************** void *** 2780,2807 **** ipa_write_optimization_summaries (lto_symtab_encoder_t encoder) { struct lto_out_decl_state *state = lto_new_out_decl_state (); - lto_symtab_encoder_iterator lsei; state->symtab_node_encoder = encoder; lto_output_init_mode_table (); lto_push_out_decl_state (state); - for (lsei = lsei_start_function_in_partition (encoder); - !lsei_end_p (lsei); lsei_next_function_in_partition (&lsei)) - { - struct cgraph_node *node = lsei_cgraph_node (lsei); - /* When streaming out references to statements as part of some IPA - pass summary, the statements need to have uids assigned. ! For functions newly born at WPA stage we need to initialize ! the uids here. */ ! if (node->definition ! && gimple_has_body_p (node->decl)) ! { ! push_cfun (DECL_STRUCT_FUNCTION (node->decl)); ! renumber_gimple_stmt_uids (); ! pop_cfun (); ! } ! } gcc_assert (flag_wpa); pass_manager *passes = g->get_passes (); --- 2792,2804 ---- ipa_write_optimization_summaries (lto_symtab_encoder_t encoder) { struct lto_out_decl_state *state = lto_new_out_decl_state (); state->symtab_node_encoder = encoder; lto_output_init_mode_table (); lto_push_out_decl_state (state); ! /* Be sure that we did not forget to renumber stmt uids. */ ! gcc_checking_assert (flag_wpa); gcc_assert (flag_wpa); pass_manager *passes = g->get_passes (); *************** function_called_by_processed_nodes_p (vo *** 3060,3064 **** } return e != NULL; } - - #include "gt-passes.h" --- 3057,3059 ---- diff -Nrcpad gcc-9.2.0/gcc/passes.def gcc-9.3.0/gcc/passes.def *** gcc-9.2.0/gcc/passes.def Thu Apr 25 14:32:16 2019 --- gcc-9.3.0/gcc/passes.def Thu Mar 12 11:07:21 2020 *************** along with GCC; see the file COPYING3. *** 434,439 **** --- 434,440 ---- NEXT_PASS (pass_ud_rtl_dce); NEXT_PASS (pass_combine); NEXT_PASS (pass_if_after_combine); + NEXT_PASS (pass_jump_after_combine); NEXT_PASS (pass_partition_blocks); NEXT_PASS (pass_outof_cfg_layout_mode); NEXT_PASS (pass_split_all_insns); *************** along with GCC; see the file COPYING3. *** 450,456 **** NEXT_PASS (pass_reload); NEXT_PASS (pass_postreload); PUSH_INSERT_PASSES_WITHIN (pass_postreload) - NEXT_PASS (pass_postreload_jump); NEXT_PASS (pass_postreload_cse); NEXT_PASS (pass_gcse2); NEXT_PASS (pass_split_after_reload); --- 451,456 ---- diff -Nrcpad gcc-9.2.0/gcc/po/ChangeLog gcc-9.3.0/gcc/po/ChangeLog *** gcc-9.2.0/gcc/po/ChangeLog Mon Aug 12 07:38:49 2019 --- gcc-9.3.0/gcc/po/ChangeLog Thu Mar 12 11:08:03 2020 *************** *** 1,3 **** --- 1,35 ---- + 2020-03-12 Release Manager + + * GCC 9.3.0 released. + + 2020-01-20 Joseph Myers + + * zh_TW.po: Update. + + 2019-12-30 Joseph Myers + + * fi.po: Update. + + 2019-10-11 Joseph Myers + + * fi.po: Update. + + 2019-09-30 Joseph Myers + + * es.po: Update. + + 2019-08-31 Joseph Myers + + * es.po: Update. + + 2019-08-28 Joseph Myers + + * es.po: Update. + + 2019-08-23 Joseph Myers + + * zh_CN.po: Update. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff -Nrcpad gcc-9.2.0/gcc/po/es.gmo gcc-9.3.0/gcc/po/es.gmo *** gcc-9.2.0/gcc/po/es.gmo Mon Aug 12 07:51:11 2019 --- gcc-9.3.0/gcc/po/es.gmo Thu Mar 12 11:19:13 2020 *************** *** 1,1479 **** ! Þ•%$D!70lBHI-K1y« ÀÛá+½0éK fr<†BÃR>Y@˜9ÙCFW5žIÔ5!J$l ‘²"Ð+ó# ”C Ø Þ 'ý % ! FC ! QŠ ! 5Ü ! ] wp Iè A2 Kt NÀ B OR L¢ Rï ;B8~>·IöI@BŠ~Í?LDŒEÑ@EXCž=â@ 6a{˜B?W‰—9!P[C¬Fðs7E«CñQ5N‡ÖGgŒ¯O<RŒCßQ#Fu9¼=ö=44rP§MøBFG‰IÑHBd=§7å6ITžo»-+EY ! Ÿ'ª8Ò> J )\ 0† · +À Zì +G!ms!;á!E" c"„"™"¬"$Ì"$ñ"*#*A#l#‡# ¢#®##¿#ã#8ú#3$!D$;f$E¢$è$5%E=%%ƒ%©%0Ç%Lø%6E&7|&l´&G!'$i'JŽ'EÙ'2(ER(l˜()3!)@U)–)®)·) Î)&ï)J*8a*Uš*-ð*_+Y~+lØ+XE,Tž,Qó,KE-L‘-SÞ-52.Ih.Y².c /=p/®/Ä/#Ô/#ø/30*P04{0.°02ß041,G16t1Q«13ý1312=e2£2C·2Iû2IE3W3Eç3"-49P4.Š45¹47ï4#'5,K5$x5$5#Â5&æ5 66'6J^62©6&Ü6,7P07H7xÊ7?C8Fƒ83Ê8.þ89-92g9-š9_È9V(:Z:EÚ:H ;Fi;E°;:ö;;1<Dm<g²<s=iŽ=oø=<h>S¥>{ù>]u?dÓ?Œ8@WÅ@NAplAJÝA`(BI‰BoÓBRCCk–C9D9IeµIuJ\‘JlîJJ[KL¦KžóK¾’LWQMg©M_NoqN^áNn@OU¯OeP)kP%•P|»Pœ8QFÕQVRNsR^ÂRM!S]oSDÍSTT gT!ˆT ªT&ËT4òT'U-@U#nU’U.®U ÝUþU.V!FVfhV4ÏVLW"QWtW(†W,¯WÜW0÷WS(X&|X'£X5ËX*Y;,Y9hY;¢YpÞY>OZXŽZUçZH=[.†[;µ[]ñ[yO\CÉ\T ]Eb]U¨]Mþ]*L^dw^IÜ^&&_>M_lŒ_mù_7g`ZŸ`Aú`?>cf}cEäc!*d!Ld'ndB–djÙd(De;me©e*Èe"óef)-f_Wf:·f8òf-+gYg:pg«gÊg$ég2hAhXhUwh-Íh/ûh?+i?ki0«i+ÜiAj.Jj*yj2¤j2×j1 ! k0l3jl.žlDÍl3m$Fm+kmC—m:Ûmn63nCjn@®nBïnK2o*~o©o'Ço0ïo p";p?^p žp#¿p0ãp(q.=q*lq,—q1Äq3öqH*r+sr"Ÿr1Âr4ôr4)s$^s$ƒs9¨s9âs8t1UtD‡t1Ìt/þt1.uE`u2¦u+Ùu-v3vRvqvE‰v<Ïv; wEHwFŽwÕw5ñw9'x*ax*Œx?·x6÷x8.yXgyEÀy3z5:z(pz8™z;ÒzR{Va{Q¸{U ! |4`|2•|ZÈ|`#}8„}U½}3~ G~/h~1˜~HÊ~"863oC£/ç2€4J€.€E®€/ô€ $7EB}(À$é8‚G‚Ng‚1¶‚Jè‚53ƒ@iƒ4ªƒk߃XK„>¤„'ã„" …&.…<U…’…l²…,†*L†!w†@™†$Ú†$ÿ†&$‡(K‡5t‡eª‡%ˆ?6ˆvˆ…ˆ¤ˆ¿ˆ4Úˆ‰‰/;‰Mk‰B¹‰6ü‰G3Šz{Š^öŠzU‹YЋ'*Œ=RŒ:Œ,ËŒ6øŒ:/3j8ž/×@Ž!HŽBjŽW­Ž:*@1kw3(I2r'¥DÍ5‘)H‘2r‘o¥‘I’)_’!‰’+«’:×’=“3P“!„“9¦“-à“%”/4”#d”5ˆ”9¾”=ø”G6•~•™• ·•®X–L—MT—¬¢—¼O˜\ ™ji™MÔ™N"š¸qš¬*›^×›f6œÈœ¼ff#žnŠž„ùž2~ŸM±ŸBÿŸsB  ¶ -× I¡@O¡”¡[%¢†¢T£4]£V’£0é£-¤5H¤B~¤^Á¤7 ¥>X¥0—¥4È¥7ý¥C5¦Fy¦6À¦E÷¦’=§QЧX"¨{¨*›¨;ƨ(©6+©#b©†©2¢©#Õ©'ù©/!ª1QªBƒª-ƪ1ôª!&«)H«>r«A±«Kó«C?¬,ƒ¬*°¬/Û¬, ­+8­d­*€­«­MÄ­J®]®+}®p©®¯4,¯a¯r¯-¯»¯Ù¯@÷¯8°"L°o°:†°9Á°9û°"5±3X±!Œ±®±*DZ0ò±9#²#]²$²A¦²è²"³-%³/S³,ƒ³<°³Fí³4´+O´4{´7°´Sè´G<µ%„µ!ªµ*̵÷µ¶=0¶*n¶/™¶ɶWé¶-A·#o·*“·¾·!Ö· ø· ¸#:¸'^¸"†¸&©¸и#ð¸'¹"<¹-_¹¹Ÿ¹.¸¹ ç¹#º,ºIºhº:†º0Áºòº»$$»%I»o»#»'±»Ù»6ø»/¼A¼W¼%v¼œ¼¼¼Û¼ö¼%½7½S½3q½¥½»½Ú½]ì½J¾#`¾0„¾/µ¾#å¾ ¿)¿=¿,\¿A‰¿*Ë¿.ö¿!%À*GÀ=rÀ!°À'ÒÀHúÀ5CÁ.yÁ¨Á¹Á$ÉÁ(îÁ=Â.U„Â;žÂ(ÚÂÃ.ÃMÃlÃ0ŒÃ5½Ãóà Ä"Ä";Ä}^Ä2ÜÄ6Å4FÅC{ÅJ¿Å* ! Æ)5Æ_Æ~Æ"Æ6ÀÆ'÷ÆIÇ,iÇ.–Ç1ÅÇ2÷ÇC*È5nȤÈ)ÄÈ%îÈÉ-ÉGÉ2cÉ<–É3ÓÉ0Ê8Ê4NÊ8ƒÊ8¼ÊõÊ+Ë(?Ë,hË•Ë-´Ë/âË-Ì.@Ì(oÌ*˜Ì1ÃÌGõÌK=ÍJ‰Í,ÔÍ&Î,(Î"UÎ=xÎ,¶Î'ãÎ1 Ï#=Ï'aÏ9‰Ï0ÃÏ'ôÏ3Ð0PÐ/Ð(±Ð1ÚÐ) Ñ36Ñ6jÑ ¡Ñ?ÂÑ+Ò..Ò-]Ò+‹Ò ·Ò'ØÒÓ*Ó'DÓ*lÓ—Ó]±Ó;Ô KÔ)lÔ"–Ô'¹ÔáÔ-üÔ+*ÕVÕhÕF~ÕÅÕ-åÕ Ö4ÖJÖ1\Ö\ŽÖLëÖI8×M‚×KÐ×ZØkwØKãØN/Ù+~Ù#ªÙ0ÎÙ/ÿÙ#/Ú-SÚ&Ú¨Ú¿Ú+ÖÚ Û*#Û.NÛ}Û?Û,ÝÛ ! Ü"Ü"?Ü4bÜJ—Ü;âÜCÝ<bÝ5ŸÝ*ÕÝ.ÞF/Þ+vÞ>¢Þ'áÞ: ßDß[ßvß5ß=Æßà0àPà6bàC™à:Ýà;áTá.pá+ŸáËáëá ! â"*âMâfâ†â)žâ)Èâòâ ã $ã#Eãiãã$šã¿ã2Þãä(ä1@ä5rä'¨ä9Ðä ! å"å"1åTåGqå¹å'Ïå0÷å6(æ*_æ,Šæ0·æ"èæ- ç+9ç!eç ‡ç ¨ç Éç#êç$è3è+Sè1è/±èáè"é"$éFGéUŽéPäé'5ê]êpê1ê'³êmÛêIëZë:lë3§ë$Ûëì'ìEì'aì ‰ì ªì-Ëì+ùìa%í-‡íµí,Îí#ûíî9î#YîO}îÍîÞî-öî$ï7=ï'uï!ï#¿ïãï!ð%%ð#Kðoð‹ð!ð¿ðÕð.ðð ña-ñ.ñ¾ñdÏñ14òfòiòmò2}ò2°òMãòM1ó0ó°ó(·ó,àó ôô#ôAô9Jô„ôô#·ôOÛô.+õ9Zõ”õ+²õ*Þõ, ö-6ö/dö”ö2«ö*Þö. ÷)8÷&b÷'‰÷&±÷&Ø÷%ÿ÷#%ø'Iø%qø(—ø Àø$áø ù"'ù,Jù2wùªùÊù*éù,ú.Aú$pú*•úAÀú3û:6û1qû)£ûÍûíû)üL1ü/~ü6®üåüý3 ý7Tý>Œý,Ëý,øý1%þWþ1sþ$¥þ0Êþûþÿ7ÿPÿpÿŒÿ# ÿÄÿ+äÿ(<Tp£¶:Í)J2C}Á,ÙOV]d,l ! ™6¤Ûú(0:Y”7±(é52h|)–/À!ð '3 [0|­ È Ö÷$=Wf-„"²!Õ)÷!#,5$>3c—1³:å> _hqzƒ!Œ® Ê× àíöÿ  - 6 -: 5h ,ž Ë  á †í rt ! ç ! * <0 .m œ ¸ 5Õ  € š ;  ’Ü eo (Õ +þ .*+Y-…|³n03ŸAÓk7.¹5è&$E.j™[µ“L¥ŒòJ+Ê:ö$1+V‚œ¶)Ï.ù>(<g;¤'àFSOL£Lðœ=?ÚQblBÏEOX[¨V‚[=Þ}Lš8çQ BrGµQýHOJ˜WãZ;V–HíD6J{?Æ= BD C‡ 7Ë A!*E!Gp!M¸!K";R"?Ž"EÎ"H#b]#JÀ#c $Zo$9Ê$1%B6%Ly%NÆ%9&6O&Z†&9á&i'w…'Xý'IV(O (@ð(21)Fd)b«)U*Md*@²*Vó*WJ+l¢+\,Bl,y¯,T)-P~-IÏ-F.N`.C¯.Gó.~;/zº/L50:‚0S½0R1>d1:£1dÞ1'C2*k2C–2/Ú2A ! 3LL36™3EÐ3C4BZ4+4?É4@ 5=J5:ˆ5AÃ5C6GI62‘67Ä6Bü6Z?7@š7+Û7+8938Im8C·8)û8M%97s9+«9:×9A:+T:*€:*«:,Ö:(;,;=J;>ˆ;OÇ;<%2<uX<3Î<O= R=Ds=5¸=[î=BJ>Q>?ß>?íA0,B ]B3iB B(©BÒB ëB!÷B ! C$C3C GCTCkC~C†C C™C©C ¸CÄC ÚCæCDD /D X#WX+{X1§X'ÙX5YV7YmŽY{üY@xZ0¹ZnêZ+Y[…[*£['Î[&ö['\@E\S†\#Ú\!þ\J ]>k]Zª].^L4^1^%³^DÙ^K_j_:ˆ_0Ã_$ô_`5`$S`Fx`%¿`6å`)aVFaGa4åatb@b:Ðb c9+cFec/¬c#Üc2d13dXedC¾d6e19e7ke*£e!Îe*ðe)fPEf6–f/Íf/ýf/-g8]g9–g9Ðg6 ! h7Ah.yh9¨h-âh:i<Ki/ˆi>¸i+÷i#j8j'LjtjŽj%©j7Ïj7k>?kG~k(Æk3ïk #l'Dl;ll9¨lDâlB'mDjmB¯m?òm2n^PnP¯n5o*6o8ao%šo$ÀoGåo)-p8Wp;pRÌp+q:Kq.†qKµq%r'r&Cr1jr%œr%Âr$èrT s2bs*•s1ÀsKòsD>t+ƒt&¯t%Öt$üt?!u/au‘u#­u.Ñu1vz2vt­v9"w[\wG¸w*x)+xXUx<®x#ëx(y/8y2hy1›yaÍy/z@@z z:z&Êz3ñzJ%{1p{>¢{<á{B|1a|6“|3Ê|+þ|(*}>S}'’},º}4ç}B~k_~:Ë~!A]y+’¾ Üý:€GW€@Ÿ€8à€1;K‡˜§Æ.Û ! ‚<$‚5a‚5—‚3Í‚5ƒ7ƒ#Sƒwƒ €ƒ.ƒ0¼ƒ8íƒ&„EF„@Œ„>Í„< …<I…5†…=¼…ú…$†[?†A›†_݆c=‡D¡‡Mæ‡G4ˆ_|ˆ+܈.‰7‰S‰e‰w‰#ˆ‰(¬‰>Õ‰6Š.KŠ9zŠK´Š2‹83‹0l‹/‹-Í‹8û‹44ŒiŒ,…Œ3²Œ<æŒ#;T!t+–?Â8Ž;Ž>XŽ5—ŽÍŽ'æŽM:\7—Ï!í (6Ea1p ¢%¯%Õ(û$‘0@‘*q‘)œ‘>Æ‘`’6f’?’$Ý’#“%&“*L“>w“¶“)Ï“8ù“:2”"m”0”6Á”Wø”UP•?¦•"æ•n –@x–+¹–Yå–!?—!a—:ƒ—_¾—˜;˜ X˜y˜˜˜(­˜Ö˜ì˜™™ :™![™!}™#Ÿ™#Ù-ç™)šj?š'ªš'Òš,úš9'› a›Qœ/Tœj„œfïœ.V?…KÅž*&ž!Qž6sž7ªž#âžcŸOjŸ7ºŸ#òŸ7 #N 9r %¬ 9Ò % ¡92¡%l¡T’¡hç¡)P¢<z¢)·¢)á¢' £B3£v£*“£'¾£'æ£I¤"X¤:{¤;¶¤+ò¤4¥S¥'o¥-—¥Å¥:ä¥G¦?g¦?§¦[ç¦!C§#e§O‰§)Ù§ ¨J$¨0o¨; ¨Oܨ%,©R©<j©§©0À©.ñ© ª#<ª`ªoª7Žª3ƪ3úª.«-@«2n«6¡«=Ø«=¬#T¬)x¬¢¬*¸¬*ã¬$­33­*g­O’­lâ­yO®uÉ®:?¯Dz¯ˆ¿¯°H°„ù°¬~±¦+²ÎÒ²4¡³)Ö³3´#4´X´0i´"š´"½´"à´ µ $µ$Eµ$jµ$µ"´µ"×µ)úµ,$¶)Q¶'{¶L£¶Kð¶d<·?¡·Wá·#9¸$]¸#‚¸!¦¸ȸ×ع@°º:ñº:,»+g»8“»MÌ»O¼j¼F{¼g¼M*½ x½™½8µ½?î½B.¾q¾ˆ¾*œ¾“Ǿ"[¿ ~¿2Ÿ¿3Ò¿$À7+ÀcÀƒÀÀ*´À:ßÀ*Á1EÁqwÁ.éÁ9Â"RÂ9u¯Â,ÊÂ÷Â2Ã9CÃ:}Ã*¸Ã ãÃ!Ä!&Ä6HÄDÄ4ÄÄ,ùÄ*&ÅQÅqÅ;ŒÅ3ÈÅ.üÅ$+Æ?PÆ-Æ,¾Æ9ëÆ<%Ç=bÇ7 ÇeØÇ:>ÈHyÈ,ÂÈ-ïÈXÉ.vÉ¥É$ÂÉçÉ Ê&ÊF9Ê4€Ê4µÊêÊ#Ë&Ë)>Ë&hË&Ë+¶Ë(âË" Ì(.Ì(WÌ)€Ì)ªÌ*ÔÌ*ÿÌ**Í*UÍ*€Í*«Í*ÖÍ*Î*,Î*WÎ*‚Î*­Î(ØÎ(Ï(*Ï(SÏ(|Ï(¥Ï)ÎÏ(øÏ(!Ð(JÐ(sÐ*œÐ*ÇÐ*òÐ*Ñ(HÑ(qÑ(šÑ(ÃÑ(ìÑ(Ò(>Ò(gÒ(Ò(¹Ò)âÒ) Ó'6Ó(^Ó(‡Ó)°Ó)ÚÓ(Ô(-Ô(VÔ(Ô+¨Ô'ÔÔ'üÔ($Õ'MÕ3uÕ4©Õ4ÞÕ3Ö"GÖBjÖ?­Ö%íÖ ×B4×3w×6«×4â×FØ{^Ø:ÚØ'Ù=Ù#YÙ}Ù6˜Ù.ÏÙ4þÙ)3Ú]ÚLfÚ>³Ú"òÚTÛjÛ„Û&¡Û&ÈÛ ïÛ0Ü(AÜjÜ&ƒÜ+ªÜ'ÖÜ!þÜ Ý!@Ý!bÝ-„Ý(²Ý"ÛÝ"þÝ)!Þ,KÞ xÞ+™Þ$ÅÞ)êÞQß›fß"à*%à1Pà-‚à)°àÚà:ðà=+á5iá-Ÿá"Íá<ðá7-â?eâ5¥â9Ûâ3ã4Iã9~ã8¸ãAñã;3ä7oä%§ä)Íä,÷ä5$å"Zå.}å"¬å*Ïåúå: ! æEæ.[æ$Šæa¯æ+çB=ç0€ç0±ç6âçèi6è* è)Ëè1õè-'é/Ué)…é,¯ébÜé(?ê4hêdêoëBrë1µë*çë*ì=ì>]ì0œì6Íì7í]<í0ší6Ëíîî,3î)`î$Šî¯î7Îî(ï//ï1_ï‘ï&£ï!Êï(ìï:ð2Pð$ƒð(¨ðÑð>ñð!0ñ/Rñ‚ñ%›ñ.Áñ8ðñ5)ò_ò/oò Ÿò*Àò"ëòLóG[ó8£ó(Üó!ô7'ô)_ô%‰ô%¯ôÕôñô+õ"=õ`õ#õ-£õ*ÑõCüõ@ö(\ö…ö?Ÿö!ßö0÷$2÷W÷,n÷+›÷Ç÷vÝ÷^Tøe³øMùgù;†ù2Âùõù&ú86ú!oú:‘úÌúëú/û<0û'mû•û1µû(çû7üHü$cüˆü§ü8ÂüEûüHAý)Šý)´ý(ÞýþU'þ0}þ-®þOÜþ),ÿOVÿ%¦ÿÌÿëÿ"=FU"œ=¿$ý!"&D;k(§#Ð/ô$B\2z1­ß+ö")8#b3†!º&Ü1! S<t±2Ç,ú '(H,q7ž#Ö0ú+4I6~¢µ,X7…½Ý+õ¾!>àÛ vû <r !  ¯ ! =Ð ! - '< (d c .ñ t ‰• ! ;A 0} $® 'Ó "û 69!p!’6´"ë)8Wln;Û9@QY’&ì -4rbQÕ;'(cŒE¦:ì'.<Rk+¾&ê?+Q}šC¶ú=>%W}-–ÄãI !SXuEÎ'A:$|,¡Î3éNCl#°0Ô'-%M+s5ŸÕò%7Rr Ž¯ Ë"ì%05)f0Á:Ú2(H0q¢³Ë$å ! -/H$x'­ÕBõ)8b3&³&ÚY-[1‰2»î< 5K 5 1· )é O!$c!)ˆ!%²!7Ø!/"F@"4‡"4¼"0ñ"="#6`#-—#2Å#!ø#6$EQ$—$9²$Hì$:5%7p%:¨%7ã%F& b&$n&O“&=ã&=!'5_'?•'mÕ'%C(Ci(9­(;ç(s#)2—)2Ê)3ý)?1*8q*+ª*!Ö*Iø*9B+|+!š+ ¼+3Ê+Bþ+/A,>q,J°,Hû,~D-5Ã-"ù-Z.\w. Ô.4â.@/0X/‰/:˜/>Ó/C0V0t0Ž0)¤0Î0è0-121H1&d14‹14À14õ1%*20P202B²2.õ2$3e=3&£3Ê3á3ô3 4 4)54_4s4‰4ž46³4!ê4 5525O5c5v5Š5¦5¹5Ù5ð56'6G6^6{66:¨6Bã6E&78l7/¥7-Õ7H8¹L8#9*9D9^9#y9$94Â9&÷9/:2N:$:$¦:%Ë:0ñ:";&<;c;*};<¨;Må;03<0d<,•<Â<!á<=#=>=X=r=Œ=¦=Æ=á=ü=>82>k>8†>¿>Ú>õ>?!+?M?f?‚??¹?Õ?4ñ?;&@b@#@A£@'å@; A0IA zA"›A!¾A!àA$B$'B9LB6†B=½BAûB/=C-mCE›C:áCnD5‹D0ÁD,òD>E4^E4“EÈE'æE#F'2F#ZF(~F9§F+áF) G+7G6cG-šG>ÈG4H4KAGK7‰K:ÁK2üK5/L2eL˜LK´LMM*:M-eM'“M»MQ×M')NQNlN-‡N(µN,ÞN, O,8O)eOO,ªO6×O'PL6PLƒP<ÐP< QBJQQ1¬Q.ÞQL RZR zR6›RJÒRXS'vSžS)¹S@ãS4$TCYT&TVÄT!U+=UBiU#¬U:ÐU: VCFVIŠVÔV-ðVWG8W#€W}¤W¯"XTÒXN'YjvY1áYZ;2Z4nZ:£ZÞZDøZL=[>Š[5É[+ÿ[++\LW\'¤\/Ì\(ü\6%]=\]=š]9Ø]=^DP^(•^4¾^,ó^- _(N_Cw_'»_.ã_`D0`'u`@`.Þ`0 a!>a<`aFa6äa.bCJbCŽb&Òb,ùb2&cDYc žc1¿cñc9d:JdP…d&Öd<ýd8:e-se¡e!¿e1áe.f5Bf+xfE¤f2êf5g2Sg>†g>ÅgHhEMh0“h6Äh,ûh6(iU_i!µi×iaöiUXj/®j2Þj$kF6k2}k$°kNÕkA$l;fl5¢ltØl—Mm9åm?n:_n8šn%Ón)ùn#o#Co#go)‹o‰µo2?p%rp%˜p&¾p+åp;q&MqUtqÊq&çq&r/5r2er/˜r8Èr4s!6s+Xs2„s-·s%ås) t%5t%[t&t+¨tÔt2ñt/$uaTuŒ¶uPCvj”v4ÿv'4w\w|w2…w'¸w2àwx20x7cx2›x=Îx8 y6Ey;|y4¸y9íy4'z9\z4–zEËz7{1I{F{{KÂ{c|Fr|¾¹|Px}É}Ü}ô}~~)~@~,^~0‹~*¼~Lç~.4c|<œ,Ù)€F0€8w€7°€1è€<BWCš.Þ/ ‚N=‚#Œ‚6°‚Yç‚ZAƒ/œƒ(̃-õƒQ#„Ou„MÅ„8…!L…+n…+š…+Æ…+ò…,†,K†-x†-¦†-Ô†-‡-0‡-^‡-Œ‡-º‡-è‡-ˆ-Dˆ-rˆ+ ˆ+̈+øˆ+$‰+P‰+|‰,¨‰+Õ‰+Š+-Š+YŠ-…Š-³Š-áŠ-‹+=‹+i‹+•‹+Á‹+í‹+Œ+EŒ+qŒ+Œ+ÉŒ,õŒ,"*O+z+¦,Ò,ÿ+,Ž+XŽ+„Ž+°Ž.ÜŽ* *6+a#A±UóBI)Œ¶+ÎKúMF‘9”‘+Α<ú‘67’>n’)­’*×’$“$'“#L“$p“$•“#º“‹Þ“8j”J£”Wî”?F•5†•6¼•:ó•B.–@q–"²–Õ–8õ–).—'X—4€—%µ—'Û—&˜.*˜,Y˜†˜  ˜*Á˜ì˜ ! ™%™(=™<f™"£™,Æ™$ó™š .š3Ošƒš?—š,ך'›Y,›4†›,»›0è›0œ=Jœ0ˆœ:¹œ1ôœ9&1`3’5Æ1ü2.ž@až1¢ž?ÔžJŸ6_Ÿ4–Ÿ4ËŸ< >= =| 3º :î 7)¡6a¡1˜¡EÊ¡A¢QR¢_¤¢O£HT£ £¾£3Ó£1¤69¤3p¤2¤¤0פ/¥)8¥#b¥*†¥@±¥%ò¥¦?*¦$j¦¦'®¦(Ö¦(ÿ¦5(§^§s§!Œ§5®§ä§-÷§&%¨ L¨m¨'Œ¨*´¨%ߨ*©$0©AU©C—©6Û©7ª4Jª6ª3¶ªIêª%4«Z« s«'«-©«׫H÷«H@¬*‰¬(´¬ݬ1ý¬)/­-Y­,‡­,´­<á­5®&T®/{®=«®&é®%¯76¯5n¯<¤¯$á¯.°05°Wf°¾°<ΰ ±9$±^±z±–± µ±!Ö±ø±:²?O²T²ä²$ÿ²-$³R³Dn³:³³!î³*´-;´#i´!´0¯´@à´<!µ<^µ&›µ<µRÿµ;R¶>Ž¶@Ͷ8·wG·9¿·3ù·G-¸Xu¸GθJ¹9a¹D›¹Yà¹l:º"§ºLʺ8»;P»EŒ»GÒ»?¼jZ¼KżU½[g½lý40¾Oe¾Eµ¾Oû¾iK¿Oµ¿8À'>ÀafÀÈÀWJÁ8¢ÁŒÛÁŽh†÷ÂH~ÃNÇÃ=ÄiTÄY¾ÄuÅvŽÅ)Æ)/ÆYÆ*rÆÆ´Æ?ËÆ^ Ç=jÇ@¨ÇdéÇCNÈJ’ÈVÝÈ94É6nÉ:¥É8àÉ)Ê-CÊ'qÊ%™Ê%¿ÊOåÊ%5Ë[Ë4vË2«ËÞË ûË1ÌNÌ(nÌ#—ÌO»Ì9 Í$EÍ.jÍ?™Í8ÙÍ;Î+NÎ4zÎ-¯ÎÝÎ3ôÎ(Ï(@ÏEiϯÏ'ÆÏîÏ Ð1Ð&EÐ8lÐS¥ÐùÐ+Ñ AÑ NÑXÑkÑ…ÑšÑ4¯Ñ4äÑ5Ò=OÒ<Ò7ÊÒ;Ó.>ÓCmÓA±ÓûóÓìïÔ!ÜÕ3þÕ12ÖdÖ(Ö¨Ö4ºÖ3ïÖ4#×1X×>Š×8É×2Ø-5Ø8cØœØ$±Ø4ÖØ& Ù;2Ù)nÙ8˜Ù8ÑÙ% ! Ú)0ÚZÚlÚ.~ÚH­ÚNöÚ&EÛ7lÛ.¤Û=ÓÛ9Ü6KÜ:‚Ü3½Ü;ñÜ:-Ý:hÝH£Ý2ìÝ<Þ%\Þ;‚Þ¾Þ&ÕÞ!üÞ#ß*Bß8mß6¦ßÝß ýß`à`hàÉà:ÞàOá7iá$¡á4Æáûá5âJâ*gâ)’â¼â ×â'ãâ* ã6ã+Mã>yãB¸ãûã;ä(VääC™ä Ýä$êä7åGå#bå#†å#ªåMÎå7æ9Tæ7Žæ.Ææ<õæ62ç>iç;¨ç>äçL#è*pè›è.³è9âè"é"?é)bé.Œé»é;Óé"êP2êJƒê8Îê$ëE,ë-rë- ëEÎë@ì0Uì)†ì*°ì3Ûì6í.Fí@uíL¶íMîFQîF˜îBßîA"ï.dï#“ï·ïLÏï3ðWPð0¨ðÙð'ôð5ñ-Rñ+€ñ,¬ñ0Ùñ% ! ò90òjò€ò%˜ò5¾òôòóZ(ó)ƒóG­óGõó%=ôCcô)§ô2Ñô õ0%õ.VõH…õ4Îõö$ö#Cö,gö)”ö&¾ö/åö4÷<J÷3‡÷(»÷)ä÷&ø%5øJ[ø¦øE®ø7ôø=,ù0jù5›ù‹Ñù@]ú+žú-Êúøú û4"û=Wû/•û Åûæû4þû)3ü:]ü+˜ü(Äü6íü$ýO@ýgý5øý1.þ<`þ5þ"Óþ)öþ, ÿ4Mÿ0‚ÿP³ÿSLX¥$À8å\{$”¹)Õ#ÿ1#$Uz#–$º6ß"5[X0´;å-!%O:u=°DîF3JzNÅ@8UPŽHßE("n‘6±;è.$.SK‚?Î+ : &Q 'x   "» .Þ  ! - ! K ! 8h ! 9¡ ! 4Û ! , D= #‚ &¦ 1Í ,ÿ , M< 9Š &Ä ë  * >? /~ ,® 1Û ; 6I!€@¢2ã&,=>j1©6Û23E0y>ªJéN41ƒµ%Ï&õ!>(] †.§DÖ"1>%p4–,Ë"ø 5GV3ž&Ò&ù: B[Až)à ! <3UG‰<Ñ.:=#xœ2¸ë2ú--H3v'ª%Ò7ø50If °6¾1õ/'8W¯+ËB÷ : H V%wC3ávvŒcg„;˜,Ôj'l>”>Ó>Qk~˜r«‡ /¦ !Ö 9ø 2!%F!l!Y…!Kß!<+"”h"Oý"1M#-#-­#-Û# $$8/$Ih$(²$*Û$.%D5%2z%­%Æ%Ý%!ø%,&G&Õ&c'=}'4»'2ð'2#(1V(eˆ(3î(3")3V)gŠ)>ò)U1*(‡*°*OÉ*+03+4d+0™+/Ê+*ú+@%,8f,:Ÿ,$Ú,‚ÿ,=‚- À-=á-".ãB.G&/Dn/S³/N0`V0D·0Pü0WM1)¥1$Ï1bô1W21l2Dž2ã26ý243*D3o3 3U®3&4++4VW4)®42Ø46 5B5>b5>¡51à5)6?<6[|6@Ø6^79x7²7)Ð77ú7@28s8(‹8#´83Ø8> 9(K9#t9,˜9<Å9>:3A:Su:AÉ: ;#;1C;$u;'š;@Â;C<5G<C}<CÁ<N=5T=<Š=!Ç="é=? >&L>Js>,¾>ë>5?A=?U?%Õ?û?5@2O@=‚@À@/Û@† AŠ’AeBƒB$B0ÂB?óB_3C “C.´C ãCD3$D&XD1D(±D,ÚD3E*;EgfEAÎE"F33F:gF)¢F3ÌF4G 5GVG6pG4§G4ÜG8H(JH4sH'¨H3ÐH4I;9IuIA•IG×INJNnJV½J^KcsKi×KhALªL*MªM*NªN,O¬O.Pr®P€!Q€¢Q€#R¤Rƒ$S9¨S7âSCT6^T7•T3ÍTU; U5\U5’UÈU3äU3V?LV3ŒV$ÀV4åV:W8UW3ŽW&ÂWéWX($X$MX5rXH¨X2ñX-$Y-RY.€YA¯YYñY@KZŒZ6¬Z/ãZ[),[(V[0[0°[[á[E=\ƒ\E–\GÜ\'$]&L]s]!]G±]3ù]1-^$_^„^›^.¯^0Þ^"_22_,e_(’_+»_,ç_&`+;`+g`%“`"¹`Ü`#ü`& a7Ga*a)ªa)Ôa$þa)#b-Mb+{b%§b(Íb#öb'c4Bc'wc&Ÿc Æc+çcd12d?dd;¤dàd/ôd#$eHe(ee"Že9±e/ëe+f Gf&hf*f1ºfìf(g,1g-^g$Œg&±g,Øg*h!0h+Rh~h$œh[ÁhKiii1i±iÌiëi jpj9ƒjH½j1k<8kOukJÅk[lWll>ÄlGm)Km¹um</n.ln*›n(Æn8ïn4(o)]o7‡o+¿o+ëo-p9EptpLôpZAq5œqOÒq4"r=WrA•r7×r5s-Es;ss0¯sNàsa/tT‘tGætB.u5quS§u8ûuB4v-wv2¥vIØvN"wVqwZÈwy#xDxZâxN=yCŒyYÐyO*z?zz:ºz?õz<5{Jr{J½{0|>9|2x|4«|_à|D@}A…}iÇ}/1~Ia~o«~IXeY¾T€Km€a¹€\:x7³KëŽ7‚’Æ‚ Yƒzƒg•ƒýƒ„-„C„1Y„/‹„4»„¢ð„}“…A†OS†q£†.‡"D‡Rg‡˜º‡˜Sˆ ìˆ& ‰M4‰/‚‰;²‰î‰Š< Š]Š?xŠ?¸Š7øŠ;0‹"l‹<‹"Ì‹$ï‹.ŒCŒ/bŒ(’Œ3»ŒEïŒ5IUŸ@½þ/Ž/HŽ.xŽH§Ž!ðŽ-2@<s,°6Ý"72U]ˆ.æ@‘V‘Iu‘P¿‘@’7Q’8‰’Â’9Û’3“NI“-˜“/Æ“"ö“%”?”+^”SŠ”)Þ”/•8•/V•+†•1²•-ä•0–'C–,k–˜–¸–×–"æ–+ —25—#h—-Œ—º—Ú—1ó—2%˜3X˜0Œ˜1½˜4ï˜-$™*R™)}™+§™,Ó™0š-1š(_š&ˆš&¯š$Öš5ûš'1›Y› n›4›,Ä›5ñ›'œ&@œ!gœ(‰œ!²œ/ÔœHHM/–Æ'ã5 ž2AžGtž:¼ž÷žXŸnŸ‡Ÿ—Ÿ§Ÿ$·ŸÜŸ$úŸ F9 (€ (©  Ò  ß ì $ü !¡?¡W¡q¡‰¡¥¡¿¡DÕ¡*¢ E¢-O¢B}¢À¢$Ó¢0ø¢)£!E£Gg£F¯£Gö£5>¤)t¤ž¤¹¤$Ϥô¤ ¥/¥"J¥Im¥I·¥B¦-D¦;r¦I®¦!ø¦8§1S§0…§7¶§&î§,¨&B¨i¨‰¨8¡¨1Ú¨ ©(©-C©-q©,Ÿ©8Ì©=ª=Cª=ª=¿ª ýª «))«%S«)y«2£«Ö«1î« ¬W8¬:¬1ˬ6ý¬-4­9b­œ­º­2Ó­1®8®CS®—®=¶®oô®2d¯1—¯ɯ@â¯"#°#F°(j°&“°-º°\è°:E±1€±;²±/î±H²g²0ƒ²'´²ܲü²³/*³Z³y³—³¯³ ̳'í³´2´M´/^´4Ž´)ô4í´"µ@?µ€µ/‘µ"Áµ2äµD¶!\¶+~¶,ª¶׶4ö¶+·#?·+c·9·É·!ç·: ¸D¸\¸'x¸? ¸à¸ ô¸¹5¹ZT¹y¯¹%)º>OºŽº.§º!ÖºHøº!A»3c»+—»1ûCõ» 9¼2Z¼3¼#Á¼å¼Gþ¼mF½j´½¾:5¾"p¾“¾2ª¾4ݾ(¿;¿X¿Ph¿0¹¿9ê¿!$À5FÀ,|À-©ÀA×À0ÁJÁjÁŠÁ¨Á»Á?ÎÁ'Â(6Â1_‘±Â5ÍÂEÃIÃ>gÃ>¦Ã2åÃ5Ä?NÄ*ŽÄ>¹Ä4øÄ-Å*HÅ1sÅ3¥ÅKÙÅ:%Æ`Æ-vÆ5¤Æ)ÚÆ%Ç9*ÇYdÇ:¾Ç"ùÇ(È)EÈoÈD†È*ËÈöÈ& É3É$PÉuÉ)“É,½É(êÉÊ7-Ê+eÊ\‘Ê&îÊ6Ë,LËyË%”Ë.ºË@éË9*Ì2dÌ4—Ì'ÌÌ5ôÌ3*Í#^ÍG‚Í<ÊÍGÎVOÎV¦ÎVýÎWTÏU¬ÏRÐLUÐ1¢Ð6ÔÐ6 Ñ&BÑ;iÑ4¥ÑÚÑWùÑ5QÒH‡Ò)ÐÒ3úÒ5.Ó*dÓ0Ó5ÀÓ8öÓ./Ô1^Ô=Ô)ÎÔøÔEÕ;XÕ5”Õ8ÊÕ>Ö@BÖFƒÖCÊÖC×1R×0„×1µ×%ç×` ØXnØ'ÇØIïØJ9ÙK„ÙMÐÙIÚEhÚ:®Ú/éÚ9Û!SÛ*uÛ) ÛNÊÛ0Ü=JÜ3ˆÜ>¼Ü1ûÜ0-Ý^Ý%}Ý4£ÝIØÝ#"Þ9FÞG€Þ.ÈÞ-÷Þ5%ß8[ß=”ß2ÒßRà0Xà<‰à7Æà5þà74á(láa•áA÷áP9â;ŠâJÆâ2ã8Dã2}ã'°ãQØãQ*ä/|ä3¬ä+àä‚ ånå-þå`,æ/æ8½æZöæQQç+£ç"ÏçPòç*Cè7nè-¦è.Ôè é&$é"Ké6né¥é@¿é<ê.=ê!lêCŽê9Òê3 ë@ë`ë,ë4¬ëHáëO*ì;zì,¶ì;ãì&í,FíhsíxÜí7Uî^îGìîE4ï7zïN²ïOð(QðDzðB¿ðVñYYñG³ñ;ûñ(7òB`òR£ò+öò2"ó7UóEóBÓóQô,hô/•ô'Åô%íôGõE[õ%¡õ Çõ4èõPö3nöE¢öAèöO*÷2z÷B­÷4ð÷i%øø$ªø#Ïø5óø)ù%GùEmùO³ùVú.ZúC‰úBÍú%û06ûUgû3½û1ñû#ü=Cü)ü2«üÞü9ûü35ý0iýPšýcëý;Oþ>‹þ?Êþ3 ! ÿk>ÿ3ªÿÞÿ:þÿ79]qRÏ("0K+|/¨>Ø0LHS•Jé@4\uIÒ2AO4‘9Æ@%A/gK—>ãK"Nn>½gü(dV%ä* ! 5B=D€DÅG ! TR ! T§ ! +ü ! 0( :Y ” *´ #ß ! I% go $× ^ü '[ .ƒ ² "Ò !õ !"9"\3"³4Ö4 ;@0|+­"Ùü%Aa9€)º)ä .< M ! W b+l:˜/Ó3.7=f@¤å>ø:7r0t>¥bä7G$7¤NÜB+6n)¥LÏ<7YE‘8×,W=?•Õ3ô3(B\?Ÿ=ß9BWMšFèG/AwS¹C (Q.z&©Ð+æiM|1Ê-ü1*1\EŽ%Ô#ú%8D8}1¶3è1BN*‘¼;Ú9 HP 9™ *Ó \þ 8[!1”!5Æ!/ü!2,"_"2c"5–"#Ì"Qð"JB#'#.µ#Bä#4'$8\$/•$%Å$$ë$%%/6%(f%#%)³%)Ý%-&5&)J&t&+ˆ&-´&(â&* '6'N'$f'.‹'Aº'cü'A`(9¢(<Ü(4);N)3Š)8¾)H÷)D@*P…*>Ö*3+7I+[+ Ý+ é+.÷+$&, K,&U,|,Jœ,-ç,#-79-'q->™-<Ø-).6?.2v.@©.!ê.< /I/.d/%“/¹/0Ø// 0?908y0?²04ò0:'1Ab1=¤13â12+02)\2+†2²2'Ë21ó2;%3<a3!ž3$À3å3+ÿ3++4+W4+ƒ4I¯43ù46-5>d5A£5+å5+6+=6%i6"6*²6Ý6;ö627<R7:7$Ê72ï75"8‹X82ä8<9=T9E’9<Ø9M:#c:‡:'¦:IÎ:m;y†;s<nt<zã<t^=oÓ={C>u¿>h5?tž?n@y‚@vü@wsAxëAqdB;ÖB2C:ECG€C)ÈC(òC(D&DD0kD0œD*ÍDAøD.:E)iE2“ETÆE(F*DF,oF0œF'ÍF õF+G+/G&[G‚G9šGÔG1åG&H/>H@nH.¯H$ÞH5I49I4nI;£I<ßI J()J-RJ€J›JµJ/ÏJ/ÿJ0/K0`K7‘K!ÉK!ëK* L!8LZL&tL'›L(ÃL<ìL0)M%ZM2€M>³M"òMNN1N.€N ! ¯N.ºN:éN)$O5NOE„OAÊO P-P,HP$uP"šP.½P%ìP%Q$8Q]QDtQD¹Q4þQ(3R\RrR‰R2ŸRLÒRST>SL“S[àSW[%O[/u[%¥[,Ë[,ø[.%\,T\,\,®\,Û\*]&3]/Z]Š] “](Ÿ]%È]"î]^0^ O^7\^@”^Õ^å^Hî^7_&V_&}_1¤_1Ö_` `(8`a`"ò`Ha/^a'Ža0¶a%ça+ b/9b'ib(‘b ºb+Ûbc8cWUc9­c4çcd,.d[dyd•d+´d6àde,1e+^eŠe“e²eÎeèef8%f;^f)šf>ÄfIgJMg˜g!·gÙg=ùg 7h-Xh†h hH¶h)ÿh))i1Si/…i@µi-öi-$j.Rjj)œj(Æj#ïj$k$8k*]k ˆk>©k9èkA"lAdlH¦l5ïl,%m,Rm2m ²mZ¿m.n(InDrn1·n6én3 o3To5ˆo=¾oJüo*Gp"rp0•pÆpápùp)q"@q*cq*ŽqE¹qPÿq6Pr2‡rºr9Ór ss78s7ps3¨s)Üst t@t@Xt-™t>Çt>uDEuMŠuHØuN!vHpv ¹v'Úv-w=0wnw;‰w#Åw6éw: x5[x‘x±xÐxãxöx)y#9y']y&…y"¬y3Ïyzz-z$Gzlz*ƒz ®z »zÈzæz9öz.0{8_{3˜{/Ì{0ü{3-|;a|F|ä|#}(}+F}.r}¡}!Á},ã} ~-1~V_~*¶~&á~&)//Y>‰4È+ý9)€8c€œ€%»€5ဠT876Å7ü4‚1M‚-‚T­‚9ƒ$<ƒ8aƒ.šƒ<Ƀ„%„"B„'e„„)£„<Í„( ! …'3…/[…1‹…'½…1å…?†W†w††Ÿ†²†!Æå†i‡3k‡Ÿ‡²‡"Ї$ó‡ ˆ19ˆ1kˆFˆEäˆh*‰3“‰2lj'ú‰."Š-QŠŠ”Š$¯ŠBÔŠ)‹A‹*X‹0ƒ‹&´‹&Û‹0Œ&3ŒZŒ)xŒ2¢Œ;ÕŒ,1>0p(¡/Ê4ú*/ŽZŽ%sŽ)™Ž)ÃŽ8íŽ4&<[.˜4Ç0ü-GGdL¬Lù.F‘1u‘/§‘8בP’0a’’’ §’È’(ç’0“&A“h“$~“£“¼“+Ô“+”-,”5Z”-”D¾”5•9•"Y•8|• µ•!¿•á•–/–(A–'j–<’–$Ï–ô– ——7—K—/g—5——8Í—˜>&˜6e˜>œ˜;Û˜™03™.d™3“™9Ç™8š :š[šBzšL½š& ! ›$1›V›1n›< ›;Ý›.œBHœA‹œ5Íœ115.g.–5Å5û>1žCpž´ž.Ìž/ûž+Ÿ9DŸ/~Ÿ+®ŸLÚŸH' Ep A¶ ø "¡'3¡5[¡‘¡5§¡NÝ¡X,¢8…¢:¾¢+ù¢4%£9Z£9”£+Σ,ú£ '¤/H¤$x¤¤¼¤פ2ê¤2¥OP¥ ¥"À¥Dã¥&(¦%O¦)u¦.Ÿ¦Φ3è¦,§6I§2€§U³§( ¨G2¨>z¨A¹¨$û¨ ©&5©$\©4©,¶©(ã©B ªLOªœª¼ª=Ùª'«3?«8s«7¬«+ä«6¬&G¬/n¬*ž¬:ɬ:­<?­)|­¦­CÄ­'®@0®Dq®@¶®L÷®5D¯Bz¯(½¯;æ¯#"°FF°&°<´°Jñ°,<±Ii±³±ʱ+ê±L²Pc²;´²cð² T³,u³ ¢³*ó-î³?´\´6|´³´&Ì´1ó´%µ#Cµ gµ+ˆµ´µ)Ôµ)þµ(¶D¶_¶|¶œ¶#±¶-Õ¶)· -·%N·-t·$¢·4Ç·*ü·0'¸X¸6n¸"¥¸ȸ丹9¹0R¹'ƒ¹-«¹Ù¹$ö¹,º.Hº5wº<­º5êº »,1»+^»3Š»0¾»/ﻼ5¼D¼/J¼"z¼¼G¥¼Hí¼#6½)Z½%„½3ª½JÞ½')¾5Q¾&‡¾6®¾'å¾/ ¿1=¿>o¿!®¿/п(À))À#SÀ#wÀa›À"ýÀ ÁAÁ4aÁ>–Á5ÕÁ/ Â&;Â+bÂ(ŽÂ$·ÂaÜÂ6>Ã.uÃZ¤ÃCÿÃFCÄ.ŠÄ*¹ÄFäÄ.+Å ZÅ6hÅCŸÅ!ãÅÆ0%ÆVÆ+pÆ.œÆ#ËÆ!ïÆ-Ç$?Ç$dÇ#‰Ç­Ç/ÁÇ ñÇÈ,0È?]È/È0ÍÈ/þÈ5.ÉVdÉ<»ÉUøÉENÊL”Ê-áÊ+Ë7;Ë:sË1®Ë8àË&Ì*@Ì1kÌ@Ì3ÞÌ'Í%:Í$`Í;…Í.ÁÍðÍ ! Î&ÎK;Î1‡Î"¹Î ÜÎ,ýÎC*ÏBnϱÏÊÏ*äÏ+Ð*;Ð1fÐ'˜ÐFÀÐ=Ñ#EÑ#iÑ(Ñ ¶Ñ9×ÑÒ0ÒLÒfÒÒ&–Ò½Ò4ÏÒÓ(ÓDÓ6dÓ#›ÓT¿ÓÔ,%ÔRÔ$lÔ‘Ô/°Ô&àÔ)Õ1Õ@Õ+VÕ‚Õ*–ÕÁÕØÕ ïÕ#ýÕ !Ö%/ÖUÖtÖ”Ö©Ö&ÀÖ?çÖ'×(D×(m×–×¶× Í×7î×-&ØTØh؈ØVžØõØÙ*Ù.JÙPyÙ*ÊÙ/õÙ3%Ú!YÚ{ÚšÚ4µÚêÚ+þÚ+*ÛVÛ4pÛ¥Û:·ÛEòÛ<8ÜuÜ ‹Ü!¬ÜÎÜëÜÝ$Ý+?Ý*kÝ–Ý5µÝJëÝT6Þ ‹Þ™ÞW¹Þ8ßJßbß5qßH§ßðßà'"àJà[à và?—àC×à;á/Wá3‡áA»áýá8â7Mâ+…â2±â3äâ3ã>Lã$‹ã,°ã4Ýã&ä9ä?ä"TäwääŸä·ä*¿ä'êä'å$:å$_å)„å%®å%Ôå$úå%æEæ$aæ†æ¢æ »æÜæûæ)çEçeçtç’ç¡çO°çèè'èAèYèqèèŸè°è¿è×èñè8 ! éCéSé%bé&ˆé%¯é+Õéê9êSê#rê–ê¥ê:´êïêþêë+ë?ëQë`ëoë!†ë"¨ëËëÜëïë1ì4ì*Fì4qì¦ì»ìÑìåìùìí+í <í]í&}í¤íºíÍí0áíî-îAîWîjî{îŽî¡î°îÈî×îöî5ï(;ï3dïR˜ïJëï+6ðbð~ðšð°ðÁðÕðèð4üð1ñ!Fñhñ*ˆñ³ñÇñ0ßñò-òBòVòhòòœòµòÌòàòýòó7óLó]ó*yó0¤óÕóòó ! ôô%4ôZôrô‘ô§ô&¹ôàô+ñôõ9õAOõ@‘õÒõ!ïõö$ö<öTöoöŠöŸö½öÔöìöÿö÷K/÷F{÷PÂ÷ø1ø<Pø9øUÇø0ù+Nù/zù<ªù9çù,!ú2Nú.úD°ú+õú+!û<Mû4Šû^¿û_üC~ü0ÂüDóü.8ýAgý=©ýAçý)þ(Eþ&nþ>•þÔþBíþB0ÿsÿ “ÿ'Ÿÿ$Çÿìÿ*2R.b,‘6¾õ"5S/s0£#Ô8øc1?•Õ0ï/ /P€4œ0Ñ2253h œ ª+¸)ä /-M{ •¡¾Úø8-f0„4µê ù 6*W‚( PÉ:4UŠ=¢à:úB5 4x A­ =ï /- ! &] ! 7„ ! ¼ ! *Û ! & - #G Dk @° 5ñ &' )N  x  … “ F› &â B L c # ¥ C¬ 3ð )$@N!3±7å67T+Œ¸%Ö'ü$>/M5}6³@ê8+*d0;À2ü$/$T/y!© Ë)ì))@-j$˜½yÜœV0ó8$4]*’:½Cø< \,},ª!×FùF@^‡Fæf-W”Aì9.ThJ½+:4#o#“+·AãF%l6ˆ-¿í! -+'Y9%»)á( /42d$—-¼-êO$h5ÃÚ;ø4G'f8ŽÇå! *# N l 4Œ ,Á /î 3!<R!!"©!!Ì!1î! " ! 3":>"(y"$¢"-Ç")õ"#9#:U#-#.¾#í#0$/4$-d$4’$6Ç$*þ$6)%#`%#„%1¨%7Ú%5&H&6\&J“&@Þ&+'4K'6€'6·'î'5ó' )( J()k($•('º(Oâ(/2),b)%)µ)6Ì)e*Xi*9Â*Nü*>K+3Š+C¾+S,,V,"ƒ,¦,#Á,$å,6 ! -HA-LŠ-H×-. .O.>i.¨.¹.Õ.ñ. /)/:B/H}/OÆ/H0E_0$¥07Ê0S1YV1Z°1c 2Do2b´2#36;3r3=3 ¿3)à3< ! 4G49W4A‘42Ó4-5"45'W55–5©5½5Ø5Eò5F86B6!Â6+ä6:71K7L}7@Ê7: 81F8(x8¡8#Á8(å89%-9.S9'‚9ª9;Å9<:?>:E~:)Ä:&î:,;1B;Jt;0¿;,ð;.<=L<HŠ<Ó<%í<'=;=R=-b=/=À='Û=>-#>+Q>5}>!³>Õ>0õ>&?+@?.l?#›?!¿?-á?$@$4@#Y@?}@3½@,ñ@A64AkA+‡A.³A1âA5B/JBUzB[ÐB\,Ce‰CFïCd6Da›DgýDheEqÎER@Fp“FYG.^G G>®G-íG9HIUHEŸHHåHH.I8wI)°I;ÚIGJF^J+¥JÑJ/ïJ-K0MK2~K#±KÕK7òK+*L*VL*L*¬L9×L<M6NM!…M1§M4ÙM1N:@N&{N ¢NÃN/ãN"O-6O,dO3‘OÅO#áO,P#2P1VP;ˆP)ÄP%îP)Q/>Q3nQ3¢Q/ÖQ5Rl,`l'lµl!Ñl5ól)m:po&¯oÖoëo.ÿo.pKp2kp$žpNÃpq$/qTq)hq+’q ¾q.Ìqûq$r#>rbr+€r¬rÌr Ýr.êr#s'=s'es(s*¶s+ás> t=Lt>Št(Ét"òt1uGu!cu(…u®u¾uÖuðu v ,v Mv nv v °v Ñv òv w 4w!Uw ww˜w%¶w#Üw#x"$xGxgxƒxšx)¸x)âx) y6yVyryŽyªyÁyÝyôyz0zLzhz„z z#¼z/àz${%5{%[{3{µ{#Ò{0ö{'|9| P|+q||7³|/ë|}"6}Y} r}+“}1¿} ñ}~/~%J~%p~0–~.Ç~2ö~$)N)h’)±#Û%ÿ%€=;€$y€)ž€È€#Þ€-&0#W#{Ÿ<³ð8‚$G‚ l‚*‚+¸‚2ä‚7ƒ/Oƒ ƒ" ƒ'Ãëƒ= ! „H„!b„4„„H¹„P…,S…)€…-ª…&Ø…'ÿ…'†G†4g†,œ†%Ɇï†.‡A4‡Av‡¸‡$Ô‡.ù‡(ˆ+;ˆ7gˆŸˆ²ˆDȈ2 ‰,@‰m‰(Œ‰.µ‰[ä‰m@Š(®Š!׊'ùŠ'!‹$I‹7n‹#¦‹%Ê‹3ð‹$Œ)DŒ-nŒ(œŒ(ÅŒ(îŒ(&@g3„.¸*çAŽ9TŽŽŽL¢Ž/ïŽ!AC`1¤.Ö(.%Fl)‡±Æ+Û/‘Q7‘H‰‘4Ò‘:’ B’7O’'‡’1¯’.á’.“(?“1h“+š“.Æ“õ“!”E)”)o”<™”9Ö”•"/•R•e•w•‘•*°•#Û•!ÿ•!!–!C–!e–$‡–"¬–#Ï–#ó–#—;—[—-y—)§— Ñ—ò—˜"2˜U˜&u˜'œ˜+Ę(ð˜™%9™7_™f—™Vþ™5Uš‹š#’š¶šÖšöš, ›":›]›$}›¢›'½›Cå›")œ-Lœzœ•œL³œ,H-v …"¦É!ç+ ž5žRž3ožH£ž1ìž7ŸVŸkŸ {ŸœŸ!¼Ÿ'ÞŸ, 3 5B x H =Ù W¡o¡¡7¦¡0Þ¡¢1-¢2_¢+’¢/¾¢$î¢;£.O£>~£#½£!á£0¤14¤&f¤/¤4½¤2ò¤2%¥8X¥/‘¥>Á¥&¦$'¦ L¦4m¦@¢¦#㦧&'§N§$i§$Ž§-³§&᧠¨-)¨$W¨|¨™¨*·¨%⨩"©+@©l©!Œ©"®©Ñ©%í©ª$.ªSª$nª&“ª$ºª/ߪ7«.G«*v«-¡«Ï«í«!¬"¬ ?¬K¬%f¬!Œ¬®¬.άý¬-­/E­5u­/«­$Û­®®(<®6e®@œ®2Ý®M¯?^¯?ž¯1Þ¯5°5F°%|°6¢°2Ù°+ ±18±Ij±&´±)Û±?²6E².|²3«²,ß²) ³(6³0_³:³.˳&ú³$!´"F´i´Dƒ´È´4Ý´$µ)7µ"aµ=„µ.µ*ñµ*¶4G¶|¶.Œ¶Q»¶I ·"W·z·’·!±·)Ó·%ý·%#¸I¸&]¸„¸ ¢¸!øå¸(ø¸!¹5¹/P¹€¹(¹"ƹ8é¹9"º!\º~º7”º6̺»»%»45»j»!» £»(Ä»1í»9¼GY¼&¡¼Kȼ$½ 9½Z½1y½7«½4ã½K¾!d¾"†¾"©¾̾ë¾b¿%k¿‘¿2­¿(à¿+ À+5À&aÀ+ˆÀ´À)ÌÀ-öÀ0$Á(UÁ%~Á0¤ÁÕÁ óÁ,Â'AÂ.iÂ2˜Â!ËÂ#íÂ/Ã4AÃ$vÃA›ÃjÝÃ2HÄ'{Ä)£Ä@ÍÄÅ +Å5LÅ<‚Å+¿Å.ëÅ2Æ3MÆDÆ=ÆÆÇ/ÇMÇ.bÇ1‘Ç#ÃÇçÇ üÇÈ=È$¿È äÈ/É'5É']É8…É-¾É"ìÉ$Ê#4Ê(XÊ)Ê-«Ê'ÙÊGËIË-bËˤË'ÂË êË÷Ë Ì$7Ì#\Ì€Ì!‘Ì.³ÌâÌ5üÌ2Í-NÍ|Í’Í/¡ÍCÑÍ5Î KÎ"YÎ/|Î.¬Î+ÛÎ;Ï*CÏ3nÏ"¢Ï&ÅÏ&ìÏ#Ð#7Ð"[Ð"~СÐÁÐ'ßÐ(Ñ0Ñ2GÑzÑ&—Ñ#¾Ñ"âÑ-Ò,3Ò`Ò/{Ò(«Ò5ÔÒ7 ! Ó'BÓjÓ €Ó$¡ÓÆÓ+æÓ9Ô*LÔ,wÔ4¤Ô"ÙÔCüÔ@Õ.^Õ/Õ$½ÕKâÕ5.Ö4dÖ'™Ö!ÁÖEãÖ+)×,U×B‚×,Å×)ò×;Ø3XØ4ŒØÁØ/ÝØ. Ù+<Ù"hÙ.‹Ù*ºÙ-åÙ0Ú'DÚ/lÚ4œÚ,ÑÚ'þÚ(&Û&OÛvÛ(†ÛD¯Û1ôÛ9&Ü4`ÜH•Ü!ÞÜ(ÝE)ÝEoÝ;µÝ$ñÝ)Þ1@Þ$rÞ(—Þ&ÀÞ:çÞ"ß%2ß:XßK“ßMßß6-à+dà/à*Ààëàá!áAá/]á-á»áÀá4Çá üá â"â58â,nâ<›â5Øâ1ã1@ã8rãL«ãHøãAäXä\uä3Òä7å*>å.iå,˜å"Åå1èå4æOæ-mæ›æ5³æéæBç:Jçe…çRëç&>è>eèA¤è*æè<éANé5é1Æé)øé2"ê"Uêxê‹ê!žêÀêßê/úê/*ë/Zë/Šë3ºë8îë3'ì8[ì+”ì3Àì+ôì3 íATí@–í:×í9î9Lî;†î;Âî3þî32ïHfï.¯ï&Þïð%!ð6Gð3~ðU²ð8ñ*Añ/lñ!œñQ¾ñ%òD6ò){ò"¥òÈòÚò$ìòó/"ó/Ró‚ó!ŸóÁó=Ùóô1ôHô.\ôH‹ô!Ôô>öô25õ hõC‰õ3Íõ<ö>ö Xöyö)™ö+Ãö%ïö%÷+;÷g÷{÷—÷?·÷D÷÷<ø%[ø"ø7¤ø-Üø6 ! ù5Aùwù(—ù'Àù)èùú$/ú+Tú%€ú"¦ú-Éú%÷ú!û<?û>|û,»ûèûü@$ü'eü!ü ¯üÐüëü8ý1@ý5rý*¨ýÓý7êý1"þLTþL¡þ-îþ*ÿ=Gÿ"…ÿ#¨ÿJÌÿM Be &¨ %Ï .õ 3$ 4X  W®  .' BV O™ Bé K, Jx Kà K J[ K¦ 5ò 7( J` 9« 9å E Qe D· Dü @A ^‚ #á    ! - ;A :} 3¸ %ì & ;9 :u ° ¸ <É  ! - ! .G ! *v ! ¡ ! (¿ ! 8è ! <! B^ F¡ Bè (+ )T :~ (¹ 1â < /Q / <± cî 7R )Š F´ Bû > ES &™ 0À \ñ ;N (Š ³ "Ñ Qô @F B‡ 1Ê 4ü '1 'Y  ‹ @¦ ç . 3 ,P 1} )¯ "Ù *ü ' < V 1w 1© Û ü % ? [ w $ .µ ä ý  ** U o 6Œ à ä 7ò .* %Y . 1® @à @! ;b Kž $ê  8* c >y N¸ M 3U @‰ Ê %ê + $< 6a <˜ 7Õ 5  AC 7… >½ ü % -< +j 6– -Í .û -* X *k `– 1÷ ) < ,Y † ¦ Æ ã Jù %D &j C‘ &Õ &ü #! DD! ‰! §! L¿! A " N" l" ‰" ž" ³" )È" ò" # 0.# 8_# ˜# ,¸# ,å# $$ 7$ U$ q$ 'Š$ '²$ 2Ú$ $ % ;2% >n% >­% 9ì% -&& 3T& ˆ& @¦& 4ç& )' F' c' z' ' (§' Ð' Dæ' =+( ]i( #Ç( Cë( ,/) <\) n™) (* I1* .{* 2ª* 'Ý* 4+ $:+ -_+ &+ ´+ Õ+ é+ 4ý+ E2, )x, 6¢, +Ù, 1- =7- u- ”- ³- !Ó- 7õ- !-. O. 1g. 0™. )Ê. ô. 1/ 9A/ ?{/ \»/ \0 $u0 #š0 ¾0 ?ß0 M1 -m1 I›1 å1 !õ1 #2 ;2 "Z2 ,}2 ª2 4È2 *ý2 (3 OI3 ™3 F³3 =ú3 $84 $]4 ^‚4 (á4 . ! 5 J95 &„5 5«5 Lá5 G.6 v6 5–6 :Ì6 =7 /E7 *u7 % 7 'Æ7 -î7 N8 <k8 7¨8 $à8 ^9 Vd9 6»9 Rò9 ˆE: 8Î: B; @J; 0‹; 9¼; &ö; 4< $R< 3w< 6«< â< ø< &= >= 8\= )•= (¿= (è= $> %6> +\> ˆ> ¥> Æ> +æ> "? 5? G? ! _? j? ‹? $¨? (Í? 2ö? 3)@ :]@ ?˜@ 4Ø@ A -A )EA #oA +“A 8¿A %øA &B EB cB '‚B 4ªB ßB $úB (C )HC *rC !C "¿C "âC .D 4D OD !jD ŒD «D ÅD /âD @E SE hE &E ¦E ¾E ßE "ûE F =F \F {F šF ?«F >ëF 6*G *aG !ŒG ®G #½G *áG ) H ,6H 4cH )˜H =ÂH (I =)I 'gI 3I BÃI ,J #3J AWJ 5™J 4ÏJ )K ).K -XK @†K "ÇK $êK *L +:L fL -|L 'ªL )ÒL EüL MBM UM FæM 0-N &^N 5…N '»N 5ãN O $8O ]O }O 9šO JÔO 0P 7PP ˆP 3 P -ÔP (Q +Q LQ VeQ /¼Q ìQ R 0$R 9UR MR !ÝR 'ÿR ''S 9OS 3‰S ;½S ;ùS 65T /lT 2œT 2ÏT IU 3LU !€U ¢U 3·U /ëU 3V 3OV ƒV )£V )ÍV +÷V /#W 2SW $†W -«W @ÙW $X !?X #aX …X 4¦X HÛX $Y ;Y TY 'iY ‘Y (¦Y ZÏY +*Z "VZ yZ Z £Z ¿Z 2ÏZ 6[ 89[ !r[ (”[ $½[ .â[ 9\ (K\ (t\ 4\ 9Ò\ 7 ] =D] 3‚] /¶] 4æ] .^ .J^ 4y^ .®^ .Ý^ , _ 99_ 9s_ 9­_ :ç_ 9"` :\` 9—` 9Ñ` W a Wca .»a êa ÿa <b F\b 9£b $Ýb !c "$c &Gc )nc ˜c ´c Óc .æc d 06d #gd =‹d Éd $äd  e -)e !We -ye $§e 7Ìe .f (3f .\f -‹f ¹f 1Éf .ûf /*g 3Zg FŽg 3Õg ' h "1h +Th 3€h @´h Dõh %:i `i +€i 3¬i ài 4j -5j (cj <Œj Éj #çj  k ((k Qk †jk 6ñk M(l :vl 6±l 6èl /m %Om 5um &«m 7Òm G ! n Rn @jn 2«n $Þn o o :8o 3so D§o 3ìo 3 p 5Tp 0Šp 6»p @òp ?3q Dsq @¸q ;ùq 5r Ir ^r rr ˆr œr ¯r Är Ør ír s s ,s @s Vs ps „s —s ¨s Âs ×s ís t t )t 9At I{t DÅt M ! u MXu @¦u (çu (v 39v %mv =“v (Ñv 7úv Z2w Yw Pçw 88x \qx bÎx \1y XŽy 2çy z -9z sgz >Ûz ?{ FZ{ +¡{ 0Í{ 0þ{ 1/| 9a| %›| +Á| +í| +} ,E} +r} +ž} ,Ê} ,÷} *$~ WO~ ,§~ AÔ~ 4 YK '¥ )Í )÷ )!€ HK€ W”€ Xì€ -E .s 9¢ AÜ v‚ 7•‚ lÍ‚ 5:ƒ ;pƒ #¬ƒ 9Ѓ U ! „ 5`„ Q–„ ˆè„ >q… 4°… >å… <$† Ca† 6¥† -܆ ! ! ‡ ;,‡ 7h‡ % ‡ 1Ƈ 2ø‡ 2+ˆ W^ˆ ¶ˆ .Öˆ ‰ <‰ 2T‰ ‡‰ §‰ ȉ 2å‰ (Š EAŠ E‡Š 0ÍŠ .þŠ 3-‹ Xa‹ Fº‹ Œ +Œ KŒ 1iŒ )›Œ 'ÅŒ )íŒ % = *[ "† !© )Ë õ Ž 65Ž lŽ RŽ /àŽ $ 5 )M (w   ¾ Ó ô  2% /X /ˆ (¸ &á ‘ #'‘ "K‘ n‘ *‰‘ !´‘ Ö‘ ,÷‘ *$’ *O’ z’ 3š’ Î’ ì’ “ )“ ,H“ 7u“ !­“ #Ï“ 0ó“ &$” #K” /o” AŸ” 8á” M• 6h• 8Ÿ• .Ø• 3– -;– ,i– A–– HØ– >!— &`— '‡— H¯— Dø— F=˜ Q„˜ CÖ˜ =™ 8X™ ;‘™ OÍ™ -š Kš 0fš /—š Çš /Ýš D › 1R› $„› ,©› 0Ö› œ 8#œ '\œ &„œ +«œ %ל #ýœ H! (j $“ /¸ è 4þ ‚3ž ¶ž -Õž CŸ CGŸ -‹Ÿ -¹Ÿ 5çŸ .  %L  r  †  ™  '°  0Ø  0 ¡ :¡ #[¡ &¡ ¦¡ "Ç¡ #ê¡ $¢ '3¢ &[¢ ‚¢ ( ¢ (É¢ (ò¢ £ !;£ ']£ *…£ 8°£ 1é£ (¤ 3D¤ 1x¤ ª¤ /ʤ ú¤ F¥ /X¥ (ˆ¥ )±¥ 8Û¥ +¦ /@¦ 6p¦ +§¦ 0Ó¦ § $§ %D§ &j§ )‘§ &»§ (⧠¨ A,¨ En¨ #´¨ ب 3ù¨ 1-© (_© 4ˆ© ½© /ש .ª Q6ª ˆª §ª %ª 4èª 4« 3R« ,†« )³« 7Ý« 6¬ !L¬ &n¬ 2•¬ +Ȭ .ô¬ 4#­ X­ v­ "Œ­ /¯­ ?ß­ +® BK® Ž® F®® 0õ® &¯ &B¯ !i¯ ‹¯ §¯ ^¿¯ ° %:° `° z° 3Ž° ° '×° $ÿ° >$± 9c± )± !DZ é± û± "² 1² H² )`² &Š² "±² HÔ² 3³ &Q³ Lx³ 8ų þ³ ´ 2´ G´ &b´ )‰´ ³´ Í´ "ä´ µ %µ 1;µ .mµ *œµ ǵ äµ ,¶ .-¶ \¶ /r¶ 0¢¶ Ó¶ "ච,· 0· B· \· u· ˆ· * · )Ë· 4õ· *¸ G¸ !f¸ ˆ¸ £¸ $¼¸ Ḡû¸ ¹ I/¹ y¹ !…¹ &§¹ ι 5é¹ º (5º @^º BŸº A⺠;$» !`» 1‚» ´» !Ô» 6ö» <-¼ .j¼ '™¼ 3Á¼ õ¼ ½ ""½ E½ Z½ u½ #Š½ .®½ (ݽ ?¾ .F¾ 2u¾ $¨¾ #; ñ¾ ¿ ,¿ %J¿ 2p¿ =£¿ 7á¿ &À (@À )iÀ 2“À ÆÀ +åÀ Á /Á NÁ !mÁ Á +£Á =ÏÁ 2  =@ 2~ B±Â 7ô <,à Aià «Ã Åà &áà -Ä 6Ä !VÄ xÄ "”Ä ·Ä 9ÌÄ 4Å !;Å .]Å $ŒÅ ±Å %ÈÅ )îÅ Æ 5Æ "PÆ sÆ ˆÆ >Æ ÜÆ ñÆ PÇ 9YÇ #“Ç ·Ç )ÐÇ úÇ  È .,È 9[È 2•È <ÈÈ ;É GAÉ ‰É ] É &þÉ 1%Ê 0WÊ 'ˆÊ ?°Ê ðÊ - Ë ":Ë )]Ë ‡Ë šË G·Ë /ÿË ./Ì )^Ì )ˆÌ ²Ì 4ÓÌ &Í +/Í 0[Í ŒÍ *›Í 1ÆÍ øÍ  Î ##Î GÎ +\Î +ˆÎ /´Î äÎ %Ï 2+Ï /^Ï ŽÏ *¦Ï -ÑÏ @ÿÏ -@Ð @nÐ 8¯Ð KèÐ 84Ñ KmÑ ¹Ñ 1ØÑ  ! Ò .&Ò TUÒ -ªÒ =ØÒ /Ó ;FÓ 2‚Ó µÓ ÄÓ ßÓ )Ô +*Ô *VÔ 5Ô ·Ô 1ÀÔ $òÔ !Õ ,9Õ <fÕ U£Õ !ùÕ FÖ bÖ 0Ö >²Ö #ñÖ × =3× 7q× C©× Tí× ZBØ [Ø dùØ E^Ù c¤Ù !Ú *Ú [HÚ #¤Ú ÈÚ =èÚ &Û CFÛ DŠÛ %ÏÛ &õÛ Ü ,<Ü #iÜ %Ü 2³Ü WæÜ W>Ý 0–Ý .ÇÝ /öÝ +&Þ (RÞ -{Þ +©Þ @ÕÞ <ß 8Sß 5Œß 6Âß 'ùß 2!à ,Tà Hà Êà äà úà 7á BJá ,á 'ºá 6âá +â +Eâ 6qâ ?¨â )èâ 2ã Eã Zã sã …ã !˜ã 'ºã =âã # ä !Dä 5fä $œä %Áä .çä #å :å Må 3lå 6 å 8×å 'æ $8æ Q]æ ¯æ AÐæ "ç (5ç ^ç Apç ²ç ¾ç AÈç  ! è è O=è 'è &µè %Üè &é 4)é .^é é ®é Ìé ëé 0 ê +:ê fê kê •|ê &ë %9ë #_ë *ƒë ®ë *Âë $íë *ì =ì <\ì 8™ì Òì "óì í /í +Oí 5{í .±í Aàí 6"î 2Yî 2Œî <¿î 2üî >/ï 5nï )¤ï 0Îï ÿï ð %4ð "Zð }ð žð -¿ð "íð !ñ %2ñ %Xñ J~ñ Éñ Ùñ '÷ñ ò @ò Qò oò Œò ¤ò Áò Õò éò Óõò Éô :Ëô >õ Eõ 0]õ ׎õ /fö <–ö YÓö -÷ 9÷ NL÷ Y›÷ fõ÷ :\ø W—ø =ïø H-ù Ivù 7Àù Wøù Pú hú *†ú -±ú (ßú #û *,û 3Wû ,‹û ’¸û Kü Qü &oü –ü X²ü c ý 6oý ]¦ý „þ ]‰þ Oçþ [7ÿ P“ÿ Däÿ N) ! Lx ! PÅ ! ? ! =V ! C” ! OØ ! [( ! ?„ ! ŠÄ ! CO ! J“ ! RÞ ! ?1 ! Fq ! N¸ ! H ! LP ! ; ! ‰Ù ! Jc ! ?® ! Šî ! =y ! b· ! X ! Os ! à ! KC ! K ! [Û ! U7 ! ª ! R8 ! Ÿ‹ ! c+ ! [ ! Në ! ^: ! M™ ! =ç ! >% ! >d ! ;£ ! cß ! WC ! O› ! ]ë ! NI ! S˜ ! Mì ! C: ! H~ ! AÇ ! T  ! ^ ! r} ! 'ð ! V ! o ! )z ! ?¤ ! Aä ! & ! '= ! .e ! ” ! 0ž ! rÏ ! 2B ! Žu ! B ! SG ! %› ! Á ! Ù ! %ï ! 3 ! 3I ! 6} ! 6´ ! $ë ! $ ! 5 ! C ! 'Y !  ! B› ! Þ ! (ï ! I ! Ub ! "¸ ! CÛ ! U ! %u ! › ! 1¹ ! Që ! A= ! E ! …Å ! XK ! +¤ ! eÐ ! R6 ! ?‰ ! ZÉ ! „$ ! © ! :Æ ! P ! R ! p ! y ! *” ! 0¿ ! Eð ! >6! ! gu! ! GÝ! ! k%" ! k‘" ! ý" ! r}# ! ]ð# ! _N$ ! X®$ ! `% ! Wh% ! EÀ% ! X& ! ]_& ! j½& ! H(' ! q' ! ‡' ! -—' ! -Å' ! Fó' ! +:( ! 6f( ! 0( ! 4Î( ! 0) ! .4) ! ?c) ! T£) ! 9ø) ! :2* ! Qm* ! ¿* ! IÓ* ! O+ ! Vm+ ! aÄ+ ! S&, ! z, ! O™, ! 5é, ! 4- ! 7T- ! +Œ- ! 3¸- ! &ì- ! ,. ! *@. ! .k. ! š. ! >¸. ! F÷. ! 6>/ ! 'u/ ! // ! OÍ/ ! E0 ! |c0 ! :à0 ! D1 ! A`1 ! .¢1 ! ;Ñ1 ! 3 2 ! <A2 ! l~2 ! eë2 ! [Q3 ! L­3 ! Mú3 ! KH4 ! J”4 ! Bß4 ! C"5 ! Mf5 ! q´5 ! }&6 ! z¤6 ! 7 ! LŸ7 ! Zì7 ! G8 ! dÉ8 ! m.9 ! Šœ9 ! X': ! V€: ! u×: ! NM; ! eœ; ! M< ! tP< ! TÅ< ! p= ! 4‹= ! CÀ= ! > ! 6$> ! 9[> ! L•> ! dâ> ! dG? ! m¬? ! m@ ! ʈ@ ! îSA ! oBB ! ~²B ! t1C ! ƒ¦C ! }*D ! Œ¨D ! n5E ! }¤E ! ["F ! [~F ! ¸ÚF ! Ö“G ! cjH ! rÎH ! hAI ! wªI ! q"J ! €”J ! bK ! qxK ! 2êK ! /L ! ŒML ! ªÚL ! M…M ! \ÓM ! R0N ! aƒN ! [åN ! jAO ! L¬O ! [ùO ! !UP ! "wP ! šP ! 2¸P ! DëP ! 0Q ! :IQ ! '„Q ! ¬Q ! ,ÌQ ! ùQ ! R ! ,0R ! 0]R ! nŽR ! >ýR ! ZÓc ! Ad ! Td ! End ! ´d ! Ðd ! /ìd ! Be ! _e ! ve ! [—e ! =óe ! 11f ! Ncf ! N²f ! 3g ! 75g ! Amg ! 6¯g ! 7æg ! 8h ! :Wh ! 4’h ! 3Çh ! Bûh ! 4>i ! :si ! 4®i ! .ãi ! 6j ! :Ij ! C„j ! 6Èj ! 'ÿj ! &'k ! ONk ! Ržk ! !ñk ! Hl ! W\l ! V´l ! M m ! XYm ! /²m ! âm ! +n ! 0/n ! `n ! &{n ! @¢n ! #ãn ! 'o ! 6/o ! 0fo ! .—o ! /Æo ! 1öo ! ;(p ! >dp ! M£p ! -ñp ! (q ! ,Hq ! <uq ! 8²q ! +ëq ! *r ! CBr ! ?†r ! @Ær ! =s ! PEs ! >–s ! 9Õs ! 3t ! DCt ! 3ˆt ! +¼t ! +èt ! u ! 5u ! Vu ! Hpu ! D¹u ! ?þu ! J>v ! I‰v ! 'Óv ! Eûv ! PAw ! 2’w ! 2Åw ! Qøw ! CJx ! EŽx ! kÔx ! N@y ! >y ! FÎy ! 9z ! FOz ! ?–z ! kÖz ! pB{ ! j³{ ! n| ! ;| ! 7É| ! i} ! „k} ! Cð} ! j4~ ! 3Ÿ~ ! #Ó~ ! B÷~ ! 1: ! al ! Î ! Dì ! :1€ ! Jl€ ! 5·€ ! 6í€ ! <$ ! 7a ! Q™ ! 9ë ! $%‚ ! ?J‚ ! JŠ‚ ! (Õ‚ ! +þ‚ ! =*ƒ ! %hƒ ! ]Žƒ ! >ìƒ ! a+„ ! >„ ! HÌ„ ! 8… ! N… ! cÐ… ! >4† ! (s† ! #œ† ! .À† ! Cï† ! '3‡ ! Ž[‡ ! 0ê‡ ! %ˆ ! !Aˆ ! Dcˆ ! +¨ˆ ! +Ôˆ ! -‰ ! -.‰ ! :\‰ ! i—‰ ! *Š ! D,Š ! qŠ ! €Š ! ŸŠ ! ºŠ ! 6ÕŠ !  ‹ ! ‹ ! B8‹ ! X{‹ ! KÔ‹ ! C Œ ! WdŒ ! ¼Œ ! oM ! ƒ½ ! kAŽ ! -­Ž ! JÛŽ ! G& ! =n ! C¬ ! Dð ! 75 ! <m ! 5ª ! Và ! (7‘ ! R`‘ ! e³‘ ! F’ ! 1`’ ! 2’’ ! wÅ’ ! :=“ ! *x“ ! 1£“ ! .Õ“ ! Z” ! A_” ! +¡” ! ?Í” ! † • ! O”• ! *ä• ! "– ! -2– ! D`– ! G¥– ! 8í– ! (&— ! EO— ! 9•— ! *Ï— ! 9ú— ! &4˜ ! >[˜ ! Eš˜ ! Hà˜ ! D)™ ! n™ ! ™ ! Ю™ ! Þš ! `^› ! a¿› ! Ò!œ ! Üôœ ! bÑ ! p4ž ! a¥ž ! bŸ ! æjŸ ! ÒQ  ! p$¡ ! u•¡ ! ð ¢ ! Üü¢ ! uÙ£ ! zO¤ ! |ʤ ! 1G¥ ! Ny¥ ! WÈ¥ ! • ¦ ! 9¶¦ ! Bð¦ ! ^3§ ! W’§ ! ªê§ ! b•¨ ! –ø¨ ! X© ! Kè© ! i4ª ! Cžª ! E⪠! E(« ! Jn« ! f¹« ! : ¬ ! >[¬ ! Cš¬ ! BÞ¬ ! H!­ ! Mj­ ! S¸­ ! I ® ! SV® ! ’ª® ! P=¯ ! TŽ¯ ! !㯠! 1° ! G7° ! .° ! B®° ! #ñ° ! #± ! 89± ! 0r± ! 4£± ! :ر ! 8² ! QL² ! 0ž² ! 4ϲ ! #³ ! 1(³ ! DZ³ ! GŸ³ ! [ç³ ! ^C´ ! =¢´ ! =à´ ! =µ ! B\µ ! 3Ÿµ ! !Óµ ! 4õµ ! *¶ ! _H¶ ! L¨¶ ! $õ¶ ! +· ! ~F· ! Å· ! 9Ö· ! ¸ ! "¸ ! BB¸ ! $…¸ ! ª¸ ! @˸ !  ¹ ! ,!¹ ! N¹ ! Fg¹ ! >®¹ ! ?í¹ ! %-º ! 8Sº ! "Œº ! ¯º ! 1ʺ ! 7üº ! 14» ! )f» ! -» ! O¾» ! ¼ ! '+¼ ! 6S¼ ! CŠ¼ ! ,μ ! Eû¼ ! TA½ ! !–½ ! 3¸½ ! Dì½ ! D1¾ ! ]v¾ ! LÔ¾ ! %!¿ ! #G¿ ! 0k¿ ! œ¿ ! ½¿ ! :Ø¿ ! 6À ! ;JÀ ! (†À ! o¯À ! /Á ! )OÁ ! 0yÁ ! #ªÁ ! )ÎÁ ! $øÁ ! 1 ! )O ! .y ! (¨Â ! -Ñ ! %ÿ ! (%à ! -Nà ! '|à ! 3¤Ã ! Øà ! íà ! , ! Ä ! %7Ä ! ']Ä ! …Ä ! (žÄ ! +ÇÄ ! =óÄ ! ?1Å ! qÅ ! ŽÅ ! #©Å ! "ÍÅ ! ðÅ ! " Æ ! %0Æ ! $VÆ ! ={Æ ! ¹Æ ! ÉÆ ! ÝÆ ! 1ýÆ ! +/Ç ! #[Ç ! Ç ! ›Ç ! (·Ç ! )àÇ !  ! È ! :)È ! dÈ ! |È ! È ! h¯È ! É ! */É ! 7ZÉ ! 6’É ! *ÉÉ ! "ôÉ ! Ê ! *Ê ! 6GÊ ! N~Ê ! /ÍÊ ! =ýÊ ! $;Ë ! 8`Ë ! @™Ë ! ,ÚË ! 3Ì ! U;Ì ! 5‘Ì ! 3ÇÌ ! ûÌ ! Í ! &$Í ! +KÍ ! KwÍ ! >ÃÍ ! Î ! BÎ ! &]Î ! „Î ! 2 Î ! #ÓÎ ! &÷Î ! 0Ï ! ;OÏ ! ‹Ï ! ¡Ï ! ³Ï ! "ÔÏ ! ÷Ï ! 1ˆÐ ! 4ºÐ ! 1ïÐ ! G!Ñ ! UiÑ ! 6¿Ñ ! 1öÑ ! #(Ò ! 'LÒ ! 3tÒ ! A¨Ò ! /êÒ ! RÓ ! ;mÓ ! 8©Ó ! 6âÓ ! 7Ô ! JQÔ ! BœÔ ! (ßÔ ! (Õ ! $1Õ ! VÕ ! #mÕ ! ‘Õ ! 9±Õ ! CëÕ ! >/Ö ! 7nÖ ! ¦Ö ! 8ÂÖ ! MûÖ ! MI× ! $—× ! 5¼× ! 6ò× ! 2)Ø ! $\Ø ! 1Ø ! /³Ø ! /ãØ ! 4Ù ! (HÙ ! 0qÙ ! B¢Ù ! QåÙ ! T7Ú ! XŒÚ ! 2åÚ ! $Û ! 8=Û ! %vÛ ! IœÛ ! 8æÛ ! /Ü ! @OÜ ! +Ü ! /¼Ü ! KìÜ ! 88Ý ! 6qÝ ! 6¨Ý ! ;ßÝ ! ?Þ ! 2[Þ ! <ŽÞ ! -ËÞ ! 6ùÞ ! <0ß ! &mß ! C”ß ! :Øß ! 9à ! 7Mà ! 5…à ! .»à ! "êà !  á ! <%á ! 4bá ! 0—á ! Èá ! bßá ! >Bâ ! â ! 2Ÿâ ! (Òâ ! -ûâ ! ")ã ! 0Lã ! 8}ã ! ¶ã ! Æã ! FÚã ! +!ä ! =Mä ! "‹ä ! ®ä ! Æä ! <Øä ! _å ! Wuå ! QÍå ! Tæ ! Rtæ ! gÇæ ! /ç ! R±ç ! Uè ! 3Zè ! *Žè ! 7¹è ! 6ñè ! *(é ! 3Sé ! )‡é ! ±é ! Ëé ! -áé ! *ê ! /:ê ! =jê ! "¨ê ! 0Ëê ! -üê ! *ë ! 'Ië ! /që ! E¡ë ! Eçë ! 6-ì ! ;dì ! F ì ! Fçì ! 2.í ! 4aí ! S–í ! 6êí ! J!î ! -lî ! Ašî ! Üî ! õî ! ï ! ;.ï ! *jï ! •ï ! B±ï ! ôï ! 5 ð ! A?ð ! Cð ! CÅð ! # ñ ! 7-ñ ! 9eñ ! 'Ÿñ ! Çñ ! âñ ! "ò ! $ò ! +>ò ! jò ! '…ò ! /­ò ! Ýò ! ùò ! !ó ! ";ó ! ^ó ! vó ! %’ó ! !¸ó ! 6Úó ! ô ! ,ô ! 2Kô ! 3~ô ! 0²ô ! ;ãô ! õ ! !#õ ! !Eõ ! gõ ! Iƒõ ! Íõ ! /éõ ! 8ö ! <Rö ! 1ö ! 2Áö ! 6ôö ! '+÷ ! 7S÷ ! 5‹÷ ! 1Á÷ ! 1ó÷ ! %ø ! $Bø ! 3gø ! 5›ø ! 'Ñø ! /ùø ! .)ù ! 1Xù ! #Šù ! )®ù ! *Øù ! Yú ! f]ú ! eÄú ! 4*û ! _û ! tû ! A…û ! ,Çû ! tôû ! iü ! |ü ! DŒü ! 5Ñü ! &ý ! .ý ! /Jý ! "zý ! )ý ! #Çý ! *ëý ! 3þ ! +Jþ ! _vþ ! *Öþ ! ÿ ! 4ÿ ! (Qÿ ! zÿ ! $“ÿ ! ¸ÿ ! [Õÿ ! 1 B 1Y ‹ 7© <á % ,D )q .› 2Ê 0ý ). X )l – !® .Ð ÿ r  8€ ¹ uÊ ;@ |  ƒ 6• 6Ì W W[ 3³ ç -î 5 R _ h ˆ G‘ Ù ó & U7 ; FÉ  T1 S† UÚ V0 4‡ ¼ *Ì #÷ ' ! "C ! f ! † ! § ! Ç ! ç !  # D !c … Ÿ ½ × %ó + E ^ #v %š .À -ï 8 SV 1ª 8Ü A .W &† ­ &Î Lõ 6B Iy #à $ç I  GV Jž =é 8' =` 'ž 7Æ -þ @, m „ N (ß % . &F %m 4“ È Ï à þ  0 O c y >” ,Ó L TM ¢ 3» Tï D K R 7Z ! ’ = "Û þ ! +@ `l *Í Oø =H († K¯ û  ). 0X )‰ /³ 0ã " F7 )~ ¨ +µ á  " "A d #s @— 0Ø '  31 e g s  +‹ 8· $ð 4 AJ ?Œ Ì Ø ä ð ü 2 #; _ o { ‹ — £ ¯ #» ß ë .ï < 3[  ! ­ •¸ sN $ &ç A! /P! €! ž! I¿! " |" “" G™" žá" y€# 4ú# 7/$ :g$ 7¢$ 9Ú$ Ž% o£% >& aR& †´& L;' =ˆ' @Æ' ,( ,4( <a( *ž( `É( —*) TÂ) * W¨* *+ K++ %w+ ,+ Ê+ ç+ , *", 1M, D, QÄ, K- +b- QŽ- [à- L<. R‰. ÍÜ. Pª/ Iû/ `E0 L¦0 Vó0 aJ1 `¬1 m 2 ›{2 B3 §Z3 Q4 AT4 R–4 Ré4 X<5 g•5 [ý5 MY6 b§6 m ! 7 lx7 Må7 M38 P8 VÒ8 E)9 Mo9 _½9 9: DW: 7œ: ZÔ: Y/; T‰; @Þ; F< Hf< \¯< p = a}= iß= aI> @«> =ì> M*? Xx? SÑ? =%@ >c@ _¢@ @A uCA ‡¹A [AB VB VôB QKC 3C XÑC j*D e•D aûD []E f¹E k F ŠŒF rG IŠG ‡ÔG p\H [ÍH I)I LsI cÀI Q$J \vJ žÓJ –rK S L 7]L c•L eùL ;_M 7›M yÓM .MN '|N O¤N ,ôN V!O lxO CåO N)P NxP MÇP .Q IDQ VŽQ PåQ O6R U†R XÜR \5S 2’S 4ÅS NúS mIT J·T +U *.U 7YU c‘U [õU 2QV _„V NäV 63W QjW Y¼W 7X /NX /~X 1®X -àX )Y B8Y <{Y [¸Y Z '.Z ‡VZ <ÞZ ^[ $z[ SŸ[ Fó[ _:\ Yš\ `ô\ LU] /¢] 1Ò] F^ ‰K^ WÕ^ A-_ 1o_ Q¡_ 8ó_ .,` ,[` (ˆ` -±` /ß` Ga KWa £a M²a b 0b @b ! ^b &ib b šb ¯b Çb Ôb êb c c c c 1c Ec Qc kc "|c "Ÿc Âc Õc åc òc d d .d Ed Sd bd wd d ¥d ±d ,Ád 0îd be H‚e -Ëe rùe 7lf ]¤f 9g 'm 0fm ¾—m cVo eºo a p =‚p VÀp 4q 'Lq Rtq KÇq r -r Cr Yr or (r *¶r ár .ýr !,s 0Ns %s 8¥s ,Þs " t .t &Nt fut +Üt `u Aiu «u P-v N~v OÍv 5w ?Sw @“w Ôw {ex náx /Py „€y @z AFz ;ˆz CÄz [{ Hd{ 1­{ 3ß{ H| (\| 4…| mº| {(} ‡¤} R,~ >~ „¾~ 7C '{ <£ 1à ;€ 4N€ Dƒ€ nÈ€ )7 'a ]‰ Jç R2‚ 4…‚ Vº‚ 3ƒ +Eƒ Rqƒ că („ NI„ :˜„ %Ó„ ù„ … 66… ]m… *Ë… 6ö… --† e[† OÁ† :‡ }L‡ Gʇ Aˆ &Tˆ A{ˆ C½ˆ 5‰ %7‰ G]‰ C¥‰ cé‰ IMŠ =—Š ?ÕŠ E‹ .[‹ 'Š‹ .²‹ 0á‹ dŒ AwŒ 2¹Œ .ìŒ 2 >N B BÐ ?Ž ASŽ 5•Ž DËŽ 4 ;E = <¿ Lü 2I | ’ )§ Ñ +ò ,‘ IK‘ I•‘ Nß‘ Y.’ 4ˆ’ D½’ +“ 1.“ F`“ B§“ [ê“ YF” [ ” Yü” OV• 6¦• mÝ• [K– ?§– 2ç– K— 1f— 0˜— RÉ— 6˜ @S˜ F”˜ `Û˜ 2<™ Do™ 9´™ bî™ <Qš Žš 7¬š Gäš 3,› 5`› 4–› bË› H.œ :wœ A²œ bôœ VW )® (Ø 4ž 16ž \hž >Åž #Ÿ 3(Ÿ ;\Ÿ >˜Ÿ ˜×Ÿ p  Cð  v4¡ I«¡ /õ¡ 0%¢ bV¢ P¹¢ ! £ %+£ <Q£ @Ž£ BÏ£ s¤ †¤ Qœ¤ î¤ \¥ *b¥ N¥ YÜ¥ 96¦ Pp¦ =Á¦ \ÿ¦ *\§ .‡§ 4¶§ .ë§ 1¨ dL¨ )±¨ CÛ¨ D© Nd© w³© A+ª mª +ª #¹ª ݪ ûª C« #Z« 5~« ´« ;Õ« N¬ F`¬ <§¬ <ä¬ D!­ f­ †­ %›­ Á­ ?Ü­ #® K@® IŒ® LÖ® D#¯ Fh¯ &¯¯ 0Ö¯ ° ° @)° Jj° Mµ° (± \,± @‰± >ʱ M ² NW² C¦² Oê² *:³ 5e³ i›³ O´ ‹U´ ‘á´ Tsµ Qȵ N¶ ui¶ :߶ <· #W· {· •· ¯· 0Å· +ö· M"¸ ;p¸ 4¬¸ OḠM1¹ ;¹ >»¹ 2ú¹ ;-º >iº <¨º <åº "» 4=» Cr» N¶» ¼ !¼ #>¼ +b¼ 2Ž¼ KÁ¼ D ½ )R½ V|½ KÓ½ ¾ 2=¾ Wp¾ IȾ H¿ $[¿ 3€¿ "´¿ ׿ í¿ 'À *À @>À À .À 5¼À 6òÀ )Á 2IÁ 6|Á <³Á IðÁ b: ? MÝ 7+à %cà -‰Ã 1·Ã Téà +>Ä .jÄ 9™Ä MÓÄ +!Å <MÅ JŠÅ bÕÅ X8Æ @‘Æ ÒÆ ~óÆ ?rÇ 7²Ç pêÇ +[È %‡È G­È zõÈ pÉ ‘É !²É ÔÉ ôÉ 2 Ê @Ê VÊ mÊ „Ê !¥Ê "ÇÊ "êÊ $ Ë $2Ë 6WË 4ŽË €ÃË 'DÌ 'lÌ 4”Ì FÉÌ °Í PÁÍ 2Î zEÎ vÀÎ 77Ï MoÏ W½Ï Ð /*Ð !ZÐ @|Ð 5½Ð !óÐ aÑ MwÑ 5ÅÑ !ûÑ 5Ò !SÒ 7uÒ #­Ò 7ÑÒ # Ó 7-Ó #eÓ W‰Ó káÓ 'MÔ ;uÔ '±Ô 'ÙÔ %Õ B'Õ jÕ 4„Õ 5¹Õ 5ïÕ [%Ö *Ö C¬Ö CðÖ 14× Kf× !²× ,Ô× 4Ø 6Ø 9SØ \Ø LêØ S7Ù d‹Ù *ðÙ *Ú RFÚ 0™Ú ,ÊÚ \÷Ú ?TÛ @”Û aÕÛ (7Ü <`Ü HÜ æÜ :Ý 5AÝ wÝ .˜Ý ÇÝ !ÕÝ A÷Ý ;9Þ ;uÞ ±Þ 2ÃÞ 7öÞ C.ß Crß C¶ß 2úß *-à Xà 3wà ?«à +ëà >á 6Vá pá Œþá ™‹â •%ã N»ã a ! ä ˆlä ³õä ‚©å ­,æ ¤Úæ Ïç OOè 0Ÿè :Ðè / é ;é 1Té †é §é Èé éé ê "'ê "Jê "mê ê ±ê 'Òê /úê ,*ë (Wë [€ë ZÜë i7ì H¡ì gêì %Rí &xí %Ÿí #Åí éí éþî Bèï H+ð Ltð 4Áð ;öð Z2ñ ]ñ ëñ \ò dò Uæò '<ó 'dó BŒó VÏó ^&ô …ô #¤ô 5Èô ½þô ¼õ 0Ýõ =ö FLö 3“ö EÇö # ÷ 1÷ L÷ -e÷ O“÷ /ã÷ Iø z]ø +Øø Fù Kù :lù &§ù 0Îù ÿù =ú @Vú A—ú -Ùú $û ,û Hû 5dû Lšû 9çû )!ü (Kü )tü 'žü EÆü 6 ý /Cý %sý J™ý 1äý 8þ GOþ B—þ QÚþ 7,ÿ xdÿ DÝÿ F" 8i 5¢ cØ A< $~ 3£ × ò  Q" 3t >¨ ç !þ   ,7 &d *‹ .¶ +å , +> ,j ,— ,Ä -ñ - -M -{ -© -× - -3 -a - -½ -ë + ,E +r ,ž +Ë +÷ ,# +P +| +¨ +Ô - -. -\ -Š +¸ +ä + ! ,< ! +i ! ,• ! + ! ,î ! + ,G -t -¢ +Ð 1ü ,. ,[ -ˆ +¶ ,â + +; .g +– + ,î 1 =M ;‹ ;Ç 9 2= ?p ;° 2ì 0 KP @œ IÝ A' Ui Ž¿ 9N 3ˆ '¼ )ä  H* 1s ;¥ -á  ` E} ,à hð Y z -– ,Ä "ñ 7 /L | (• 2¾ *ñ # @ ` $ 4¦ /Û %  $1 0V 3‡ '» ?ã *# 0N h ¯è '˜ 5À Iö 8@ 5y %¯ QÕ K' Bs @¶ *÷ R" Eu N» D !  HO A˜ BÚ H Gf P® Iÿ DI %Ž /´ <ä 9!! *[! 0†! *·! -â! " B " c" 4y" $®" aÓ" 65# Kl# :¸# :ó# =.$ (l$ “•$ /)% /Y% :‰% <Ä% <& 0>& =o& |­& 2*' J]' {¨' …$( Rª( Dý( 0B) 4s) !¨) PÊ) 6* 0R* Fƒ* vÊ* FA+ Iˆ+ Ò+ "å+ 3, 5<, *r, +, PÉ, +- BF- 6‰- À- ,Ò- &ÿ- P&. Cw. ;». -÷. ,%/ -R/ K€/ "Ì/ 6ï/ &0 (D0 9m0 B§0 Nê0 91 /I1 %y1 1Ÿ1 ,Ñ1 jþ1 gi2 EÑ2 03 1H3 Jz3 0Å3 ,ö3 .#4 $R4 )w4 0¡4 (Ò4 "û4 .5 EM5 .“5 RÂ5 6 356 ,i6 F–6 &Ý6 =7 >B7 7 7˜7 ;Ð7 8 ©-8 Œ×8 €d9 då9 "J: Lm: 7º: ò: ); F8; ,; N¬; 0û; ,< ,M< Dz< *¿< &ê< 7= /I= Jy= Ä= 2å= %> />> Cn> M²> f? .g? .–? 9Å? !ÿ? l!@ :Ž@ /É@ mù@ AgA x©A 6"B .YB (ˆB $±B $ÖB $ûB Y C .zC R©C 4üC ,1D 7^D O–D 6æD /E AME (E ¸E "ØE <ûE ;8F tF 0’F ÃF 6áF *G ECG )‰G 0³G (äG > H ,LH GyH ÁH HàH <)I (fI /I 7¿I C÷I -;J FiJ &°J :×J ?K ôRK 2GL AzL /¼L ìL 2M à6M FN ü^N [O LÝO !*P @LP -P &»P 'âP p ! Q .{Q ŽªQ —9R )ÑR EûR <AS /~S 2®S %áS T :%T $`T 2…T A¸T /úT 1*U %\U ‚U ežU 5V 3:V :nV d©V 0W -?W 7mW q¥W bX XzX 2ÓX Y Y'Y QY ÓY AòY a4Z 2–Z 2ÉZ OüZ .L[ {[ ˜[ K´[ \ I\ P\ ,m\ )š\ >Ä\ ,] ,0] ]] Xd] &½] wä] L\^ ©^ ¿^ SÕ^ +)_ 9U_ '_ @·_ \ø_ OU` )¥` 9Ï` 1 a ,;a 4ha 3a ;Ña ) b )7b 8ab !šb 0¼b (íb 'c %>c *dc .c /¾c =îc 6,d @cd !¤d SÆd Ae 3\e =e Îe äe $f 7'f _f uf "‘f ;´f 1ðf "g 79g $qg [–g 6òg $)h DNh )“h ,½h dêh 2Oi 7‚i =ºi $øi Fj Bdj ?§j <çj ($k XMk +¦k 0Òk "l @&l 9gl W¡l @ùl =:m =xm M¶m @n 6En ;|n -¸n Bæn U)o $o A¤o Yæo ?@p >€p B¿p Aq iDq ®q /ºq Yêq JDr Hr NØr K's ‰ss +ýs T)t L~t JËt ƒu >šu IÙu ;#v @_v J v <ëv )(w QRw C¤w (èw )x ;x BIx WŒx =äx Q"y Kty XÀy ‚z Bœz %ßz d{ ij{ Ô{ <å{ D"| .g| –| 8¦| Oß| T/} „} ¥} Ã} 9Ý} ~ 5~ -U~ ƒ~ ~ +½~ >é~ >( >g (¦ FÏ 6€ RM€ > € ߀ iù€ *c Ž ¦ º Ó è +þ *‚ ?‚ V‚ l‚ 9‚‚ ¼‚ Ý‚ ñ‚ ƒ "ƒ 7ƒ Kƒ `ƒ |ƒ ƒ °ƒ ȃ èƒ „  „ 8„ U„ j„ =„„ H„ F … >R… 2‘… 6Ä… Sû… ÉO† "‡ <‡ W‡ r‡ 7‡ 1LJ Dù‡ 3>ˆ @rˆ 6³ˆ /êˆ /‰ *J‰ 9u‰ ¯‰ 0Ή ÿ‰ ;Š MZŠ K¨Š 1ôŠ 1&‹ -X‹ $†‹ («‹ #Ô‹ ø‹ Œ 3Œ PŒ mŒ #ŠŒ ®Œ ÌŒ êŒ  =& d =‚ À Þ ü Ž $8Ž ]Ž zŽ ™Ž ·Ž ÕŽ óŽ @ SR ¦ 1Ç Gù *A Ll 8¹ 'ò *‘ "E‘ "h‘ %‹‘ %±‘ Kב >#’ Fb’ R©’ .ü’ *+“ AV“ D˜“ †Ý“ Cd” <¨” 5å” F• 4b• =—• Õ• 2õ• ,(– (U– ,~– 8«– Hä– 7-— 5e— 7›— GÓ— =˜ SY˜ A­˜ Aï˜ >1™ ;p™ 0¬™ 4Ý™ 8š 8Kš 8„š 5½š #óš i› :› $¼› Ná› O0œ R€œ EÓœ H Cb F¦ 3í !ž k<ž ¨ž Æž +äž 6Ÿ &GŸ nŸ S‹Ÿ $ߟ     :;  2v  6©  6à  6¡ 3N¡ ‚¡ 3¡¡ GÕ¡ 5¢ VS¢ Vª¢ E£ EG£ S£ ᣠ.¤ B/¤ Pr¤ ä 㤠=¥ KA¥ t¥ .¦ 1¦ ,L¦ By¦ 3¼¦ Lð¦ %=§ gc§ -˧ 1ù§ Q+¨ 5}¨ C³¨ C÷¨ I;© f…© ì© + ª 7ª _Vª *¶ª ᪠ù« \y¬ gÖ¬ y>­ 8¸­ 'ñ­ I® =c® D¡® æ® [¯ Y\¯ C¶¯ Dú¯ 4?° *t° TŸ° 6ô° C+± $o± 5”± <ʱ 6² 2>² <q² C®² %ò² 2³ 'K³ %s³ "™³ E¼³ ´ &#´ J´ Ki´ /µ´ Få´ 5,µ <bµ +Ÿµ G˵ P¶ @d¶ 5¥¶ VÛ¶ S2· 2†· 7¹· >ñ· J0¸ ,{¸ 8¨¸ %ḠB¹ 9J¹ W„¹ 0ܹ F º FTº 7›º 'Óº ,ûº 8(» 7a» ?™» $Ù» Iþ» 6H¼ 3¼ 4³¼ ;è¼ =$½ Ub½ R¸½ 7 ¾ @C¾ 7„¾ 7¼¾ Xô¾ )M¿ %w¿ b¿ WÀ 0XÀ 3‰À $½À ZâÀ 3=Á $qÁ ]–Á UôÁ DJ > …Π«Tà AÄ KBÄ GŽÄ EÖÄ 2Å 3OÅ )ƒÅ .­Å "ÜÅ .ÿÅ †.Æ 0µÆ æÆ Ç $Ç $DÇ ;iÇ ¥Ç cÅÇ )È !?È !aÈ .ƒÈ ,²È +ßÈ ? É ;KÉ )‡É 0±É ?âÉ 8"Ê /[Ê 3‹Ê ¿Ê ÞÊ ýÊ $Ë BË -XË +†Ë k²Ë ’Ì Z±Ì  Í PŒÍ -ÝÍ Î ,Î =<Î *zÎ :¥Î àÎ @üÎ E=Ï CƒÏ KÇÏ IÐ D]Ð G¢Ð BêÐ G-Ñ BuÑ G¸Ñ EÒ ]FÒ J¤Ò :ïÒ \*Ó _‡Ó }çÓ LeÔ Ø²Ô Y‹Õ åÕ ûÕ Ö ,Ö ?Ö UÖ !pÖ -’Ö 4ÀÖ *õÖ W × 3x× ¬× .Ç× Lö× @CØ 1„Ø E¶Ø @üØ ?=Ù 8}Ù A¶Ù MøÙ OFÚ 1–Ú 0ÈÚ jùÚ =dÛ C¢Û |æÛ ocÜ 6ÓÜ D ! Ý 8OÝ vˆÝ ]ÿÝ []Þ N¹Þ 'ß 50ß 5fß 5œß 5Òß 6à 6?à 7và 7®à 7æà 7á 7Vá 7Žá 7Æá 7þá 76â 7nâ 7¦â 7Þâ 5ã 5Lã 5‚ã 5¸ã 5îã 5$ä 6Zä 5‘ä 5Çä 5ýä 53å 7iå 7¡å 7Ùå 7æ 5Iæ 5æ 5µæ 5ëæ 5!ç 5Wç 5ç 5Ãç 5ùç 5/è 6eè 6œè 4Óè 5é 5>é 6té 6«é 5âé 5ê 5Nê 5„ê 8ºê 4óê 4(ë 5]ë .“ë EÂë [ì =dì 7¢ì Úì 4øì \-í XŠí ?ãí *#î NNî >î DÜî -!ï 0Oï .€ï .¯ï -Þï . ð .;ð -j𠡘ð H:ñ Mƒñ ~Ññ PPò ;¡ò CÝò D!ó Jfó L±ó ,þó '+ô @Sô 1”ô 1Æô Aøô -:õ /hõ .˜õ 9Çõ 7ö 9ö +Zö 8†ö $¿ö äö (÷ 1.÷ I`÷ +ª÷ 7Ö÷ 2ø Aø (_ø <ˆø Åø IÞø /(ù 0Xù ~‰ù 8ú 1Aú 5sú 4©ú AÞú 5 û ?Vû 5–û ;Ìû 6ü 7?ü 9wü 5±ü 6çü Dý 5cý B™ý ZÜý ;7þ 9sþ 8­þ Bæþ D)ÿ Fnÿ Cµÿ Dùÿ J> A‰ 9Ë [ Ga X© s [v WÒ ** U ;p 5¬ 8â ? E[ E¡ Kç 43 -h 1– LÈ 3 I L] :ª +å ; <M -Š D¸ ý  ,5 @b £ 7· %ï  5 &S )z $¤ /É 0ù a* ! SŒ ! <à ! ; =Y ;— @Ó O 3d ˜ µ 4Ç 8ü !5 bW bº , )J #t 9˜ 3Ò / 06 .g ?– 5Ö '  24 Og '· 'ß 9 ;A F} -Ä Dò L7 b„ ç Wú R Fk '² -Ú ' )0 .Z '‰ M± ]ÿ c] !Á 7ã A &] P„ RÕ .( 5W 5 4à 0ø K) Fu T¼ C EU Q› xí Cf _ª H !  YS Ž­ << @y Yº y [Ž Tê G? c‡ fë ~R #Ñ Yõ 9O L‰ jÖ `A! K¢! ‚î! Uq" `Ç" b(# ƒ‹# B$ eR$ ]¸$ e% {|% `ø% BY& *œ& lÇ& 4' lÂ' >/( n( „ð( ©u) `* g€* Mè* v6+ b­+ ˆ, Š™, 8$- 4]- ’- :³- &î- (. H>. n‡. =ö. H4/ v}/ Oô/ LD0 w‘0 = 1 SG1 G›1 Eã1 -)2 CW2 .›2 /Ê2 ,ú2 g'3 +3 "»3 ?Þ3 J4 $i4 &Ž4 8µ4 "î4 -5 *?5 Yj5 HÄ5 ' 6 B56 Lx6 ;Å6 B7 2D7 :w7 -²7 à7 8ö7 /8 *N8 Ny8 "È8 7ë8 #9 A9 @X9 -™9 LÇ9 n: ƒ: 4¡: Ö: í: þ: &; &@; g; Ox; EÈ; I< SX< U¬< M= PP= ;¡= TÝ= O2> #‚> ¦? 1¯@ Má@ =/A +mA -™A ÇA >ÛA :B AUB 8—B DÐB AC BWC ,šC HÇC D :*D BeD 6¨D FßD B&E DiE B®E )ñE +F GF ^F 2uF S¨F SüF +PG A|G :¾G FùG D@H <…H HÂH ? I MKI E™I FßI W&J 5~J I´J ,þJ I+K uK 4”K 1ÉK 6ûK 92L VlL GÃL ! M ! -M u8M t®M #N Q=N ZN :êN 0%O RVO .©O DØO P 47P .lP ›P ¼P +ÉP -õP #Q 4;Q SpQ ]ÄQ "R ;@R ,|R '©R QÑR #S 13S FeS ¬S 'ÇS 'ïS #T [;T J—T NâT D1U 4vU I«U 4õU M*V HxV FÁV [W 'dW ŒW >«W VêW !AX !cX (…X -®X ÜX @øX '9Y `aY MÂY DZ +UZ RZ 6ÔZ 6 [ ZB[ X[ ?ö[ 36\ 9j\ 8¤\ DÝ\ <"] S_] _³] \^ Wp^ ZÈ^ P#_ Ht_ 9½_ *÷_ )"` fL` :³` pî` ;_a *›a 0Æa C÷a :;b 2vb 2©b 7Üb +c @@c c žc <¾c Oûc -Kd (yd ¢d *"e _Me _­e ( f a6f /˜f LÈf %g O;g K‹g [×g @3h !th -–h 3Äh <øh 95i /oi 2Ÿi CÒi Pj Igj 4±j +æj .k 5Ak _wk ×k Wßk D7l C|l <Àl Fýl ¨Dm Kím 29n 2ln Ÿn »n 9×n Do 5Vo *Œo !·o DÙo 5p :Tp 3p *Ãp Aîp 0q `Mq o®q Wr <vr H³r 7ür /4s 0ds K•s Jás E,t [rt aÎt h0u ™u 4´u Uéu p?v °v 3Ìv w Iw ;iw J¥w 0ðw $!x 'Fx %nx N”x -ãx y l/y ?œy FÜy 7#z ([z H„z AÍz M{ O]{ S­{ l| Qn| IÀ| ] ! } Vh} W¿} '~ ?~ 7`~ A˜~ 7Ú~ = UP S¦ 5ú 0€ +P€ 6|€ ³€ ,Ô€ 4 /6 f ƒ 8¤ OÝ I-‚ 7w‚ E¯‚ 0õ‚ 1&ƒ AXƒ ?šƒ Úƒ Zñƒ NL„ /›„ Ë„ é„ 2ú„ J-… Ex… >¾… ;ý… D9† 8~† '·† K߆ 9+‡ -e‡ 6“‡ Pʇ Bˆ H^ˆ F§ˆ Cîˆ 82‰ Lk‰ _¸‰ ZŠ =sŠ ±Š ,ÑŠ 7þŠ '6‹ $^‹ /ƒ‹ (³‹ ?Ü‹ VŒ )sŒ 9Œ &׌ FþŒ 3E y -˜ %Æ dì 9QŽ 1‹Ž 9½Ž H÷Ž X@ ^™ .ø !' GI G‘ TÙ D.‘ 7s‘ O«‘ $û‘  ’ N=’ Œ’ 3Ÿ’ Ó’ 2ñ’ M$“ -r“ / “ 9Г ; ! ” NF” •” >£” ?â” <"• :_• &š• Á• 6Þ• I– _– o– "– 3¢– LÖ– ?#— ˆc— ˆì— xu˜ )î˜ ™ J4™ 1™ ’±™ ,Dš Iqš K»š I› Q› p› ‡› ¨› •É› ¦_œ > .E Qt #Æ /ê ž k2ž Tžž Fóž ²:Ÿ \íŸ @J  8‹  8Ä  8ý  &6¡ $]¡ M‚¡ fС @7¢ 8x¢ @±¢ Mò¢ E@£ (†£ ¯£ /Ë£ /û£ <+¤ Ëh¤ Ë4¥ )¦ U*¦ H€¦ Gɦ G§ FY§  § B ¨ Bc¨ B¦¨ é¨ Mi© `·© 2ª #Kª moª (ݪ 8« <?« 8|« :µ« 9ð« f*¬ T‘¬ >æ¬ 0%­ ‘V­ Eè­ -.® C\® ' ® È® U㯠V9° e° nö° ye± Uß± b5² ^˜² =÷² 55³ tk³ à³ Aÿ³ PA´ ’´ G±´ ù´ E µ -Sµ 6µ e¸µ ;¶ BZ¶ f¶ ,· 71· Ai· +«· V×· V.¸ G…¸ 6͸ X¹ h]¹ Qƹ rº D‹º (к .ùº N(» Tw» Ì» 9í» 1'¼ ;Y¼ H•¼ 0Þ¼ '½ 07½ Ch½ C¬½ ;ð½ Z,¾ M‡¾ Õ¾ %ð¾ D¿ 6[¿ 6’¿ SÉ¿ VÀ EtÀ LºÀ LÁ bTÁ @·Á PøÁ 'I (q [šÂ 7ö d.à 4“à #Èà <ìà L)Ä }vÄ .ôÄ )#Å IMÅ I—Å JáÅ !,Æ <NÆ Ã‹Æ ÆOÇ sÈ ŠÈ 2¦È :ÙÈ [É npÉ *ßÉ 9 ! Ê 2DÊ &wÊ IžÊ =èÊ B&Ë :iË 9¤Ë CÞË ;"Ì l^Ì OËÌ !Í 7=Í >uÍ (´Í 7ÝÍ 8Î $NÎ sÎ :‘Î 8ÌÎ 8Ï <>Ï *{Ï 8¦Ï 3ßÏ 7Ð 9KÐ =…Ð ÃÐ CâÐ I&Ñ PpÑ PÁÑ XÒ `kÒ eÌÒ k2Ó jžÓ ~ Ô ~ˆÔ ~Õ ~†Õ €Ö ~†Ö €× ~†× tØ ‚zØ ‚ýØ ‚€Ù Ú †…Ú = Û ;JÛ E†Û :ÌÛ ;Ü 7CÜ !{Ü ?Ü 9ÝÜ 9Ý QÝ 7pÝ 7¨Ý AàÝ 7"Þ *ZÞ 8…Þ >¾Þ <ýÞ 7:ß 'rß šß "»ß *Þß & à A0à Rrà ?Åà :á :@á ;{á T·á e â Crâ ¶â 4×â - ã :ã 4Sã 7ˆã 1Àã @òã w3ä [«ä å Qå Wiå $Áå $æå & æ ,2æ Z_æ Dºæ 5ÿæ *5ç `ç xç 7Žç ;Æç -è =0è 7nè 2¦è 4Ùè 6é /Eé 4ué 6ªé -áé -ê *=ê +hê 1”ê NÆê 7ë 4Më 4‚ë /·ë 1çë 7ì 5Qì 0‡ì 3¸ì 1ìì 3í FRí 5™í 3Ïí (î 7,î &dî A‹î IÍî Eï ]ï 3vï %ªï Ðï *ìï !ð @9ð 1zð -¬ð Úð +úð ,&ñ 3Sñ ‡ñ /¢ñ -Òñ ,ò #-ò %Qò -wò @¥ò #æò ) ! ó '4ó ,\ó q‰ó \ûó Xô Bxô »ô Öô õô õ ƒõ ;¢õ KÞõ 6*ö Raö U´ö D ! ÷ nO÷ _¾÷ @ø Y_ø @¹ø Óúø LÎù 7ú 4Sú .ˆú @·ú 2øú 5+û Faû 4¨û 2Ýû 2ü BCü |†ü lý mpý 7Þý _þ Nvþ aÅþ l'ÿ ;”ÿ GÐÿ 2KK6—ZÎn)f˜KÿHK?”dÔ=9Pw/È3øI,\vÓŠUŽàXomÈZ6N‘càpDYµT Jd J¯ kú Nf ! /µ ! Vå ! 3< @p v± D( \m rÊ == Q{ ”Í Rbhµgs†SúhNm·>%?da¤ÐÒ×'ªÒeñW&r™´CÎ=DPÇ•…]Iãa-‰61PY‚©Ü¨†&/(VT6ÔB N*cBŽ+ÑWýOU<¥?â#"7F"~5¡1×# 5-8c?œKÜ$(bM$°MÕ# BB =… @à X!']!:…!KÀ!R ">_"Ež"*ä"'#/7#ag#:É#\$$a$V†$bÝ$O@%O%Nà%/&CL&=&VÎ&5%'G['"£'%Æ'!ì'4(TC(3˜(9Ì( ):').b)8‘)4Ê)7ÿ)*7*3b*"–*!¹*Û*%õ*3+9O+'‰+5±+#ç+ ,?%,@e,A¦,>è,?'-Bg-;ª-8æ-7.9W.:‘.BÌ.:/-J/Bx/D»/10>204q0 ¦0$Ç09ì06&1G]1¥1(Ä1-í1.2"J26m2b¤2b38j3)£31Í3?ÿ3<?4T|4@Ñ4'5b:55»5Î5á5-÷5&%6/L6|6\š67÷65/7 e7 r77-•7&Ã7ê78%8!B8d8"ƒ8U¦83ü8 09;:9]v9"Ô9,÷9B$:%g:+:V¹:V;Fg;?®;*î;<9<,P<}<!˜<º<-Ö<R=RW=Pª==û=L9>^†>&å>E ?<R?=?DÍ?-@3@@-t@,¢@Ï@Aî@/0A`A!}A?ŸAMßA4-B>bBV¡BVøBVOCV¦CýC% D?2D'rD-šD:ÈDEEEeEEIF9MFA‡F0ÉFUúF%PGvGE’G=ØG HI7H"HQ¤HöHAvI9¸I!òISJ3hJ0œJ+ÍJ:ùJ54KnjK@ÙK;LHVL:ŸLIÚL $MGEM8M,ÆMóMNA"N+dN*N »N$ÜN-O4/O)dO$ŽO³O8ÇO>P0?PApP²PPÑP"Q76Q)nQ;˜QVÔQ++R=WR:•R'ÐR?øR8S'QS6ySJ°S#ûS$T@DT…T¢T3¿TYóTMU3mU&¡U%ÈUsîU„bV,çVDW%YW7W.·WeæW'LXTtX5ÉX=ÿXY=Y&—YA¾YHZ*IZtZfZ™öZ“[$\SA\2•\)È\Aò\<4]/q]¡]À]UÝ];3^Bo^)²^:Ü^5_CM_[‘_5í_##`G`#g`‹``J¯`5ú`40a1ea'—a¿a:ÛaOb%fbPŒbJÝb4(c@]cHžc9çcD!d:fd)¡d@Ëd: eFGeYŽeAèe!*f3LfD€f3Åf'ùfI!gqkgOÝg/-h1]h2h"ÂhIåh)/iYi+pi"œi*¿i#êi/j2>j.qj jEÀj,ke3k,™kAÆk9l)Bl'll9”lGÎlDmB[m@žm1ßm>nKPn)œnHÆn>oONo_žo_þo]^po¼pn,qY›qRõq;Hr1„r7¶r-îrNs;ks"§s^ÊsM)tQwt-Ét;÷tK3u5u5µu<ëuE(v3nvC¢vCæv0*w[wLvw?Ãw3x97xLqxQ¾xPyPayP²y;z>?z7~z4¶znëzgZ{4Â{K÷{LC|M|MÞ|K,}Jx}9Ã}.ý};,~&h~4~4Ä~Gù~4ADvA»Dý>B€=€"¿€8â€6VR.©FØY‚@y‚9º‚Fô‚F;ƒI‚ƒB̃b„6r„E©„Eï„B5…Gx…*À…{ë…Mg†[µ†@‡GR‡=š‡U؇9.ˆ.hˆu—ˆW ‰;e‰H¡‰,ꉖŠ|®Š0+‹u\‹7Ò‹= ! ŒWHŒ[ Œ/üŒ),YV6°Kç33Ž4gŽ(œŽ3ÅŽ3ùŽ>-+lN˜<ç@$&eAŒ6Î=‘&C‘&j‘:‘‘>Ì‘V ’gb’NÊ’8“OR“'¢“;Ê“n”‰u”Aÿ”iA•L«•Hø•AA–_ƒ–`ã–/D—Qt—RÆ—a˜O{˜U˘N!™0p™K¡™ií™6Wš@Žš:ÏšE ! ›XP›d©›8œWGœIŸœ%éœQPa9²1ìDž_cž@ÞRŸDWŸPœŸ=íŸP+ 9| s¶ $*¡*O¡(z¡E£¡2é¡4¢aQ¢[³¢Z£1j£Fœ£Oã£*3¤5^¤[”¤Eð¤76¥$n¥S“¥5ç¥@¦$^¦Bƒ¦9Ʀ5§X6§d§<ô§J1¨G|¨:Ĩiÿ¨Fi©$°©AÕ©AªtYªeΪ24«Kg«3³«<ç«B$¬6g¬Sž¬lò¬U_­`µ­[®Hr®4»®Bð®93¯Om¯B½¯,°:-°Hh°P±°P±CS±L—±ƒä±*h²S“²,ç²8³M³LS³O ³Yð³QJµ\œµgùµ,a¶AŽ¶Dж#·(9·*b·%·]³·l¸$~¸e£¸0 ¹5:¹p¹ Ž¹¯¹Ϲï¹ º;0º.lºF›ºFâºK)»Au»9·».ñ»* ¼ K¼!l¼"Ž¼@±¼8ò¼5+½(a½Š½œ½ ·½ Ž ! Ó½6Þ½K¾=a¾9Ÿ¾0Ù¾A ! ¿DL¿‘¿B¡¿Eä¿*À5,ÀJbÀw­À>%Á(dÁ<ÁZÊÁK%ÂDqÂ/¶Â\æÂPCÃF”ÃTÛÃ90Ä0jÄz›ÄOÅ-fÅG”Å>ÜÅHÆLdÆA±Æ>óÆF2ÇQyÇJËÇNÈGeÈZ­ÈVÉ/_ÉDÉ0ÔÉÊ5ÊvRÊZÉÊ:$Ë6_ËB–ËBÙËNÌ(kÌ5”Ì&ÊÌJñÌM<Í>ŠÍAÉÍ@ ÎJLÎ9—Î3ÑÎPÏHVÏaŸÏFÐAHÐiŠÐ?ôÐ74Ñ<lÑ4©Ñ5ÞÑÒ>+Ò>jÒ(©ÒhÒÒT;Ó4Ó;ÅÓPÔARÔU”Ô=êÔ7(Õ2`Õ4“ÕBÈÕ8 Ö=DÖ>‚Ö;ÁÖ9ýÖ7×*K×v×:•×@Ð×*Ø1<ØnØ…Ø*žØ3ÉØRýØ‹PÙGÜÙE$ÚDjÚ=¯Ú=íÚ;+Û?gÛO§ÛH÷ÛR@ÜD“Ü;ØÜAÝiVÝ ÀÝ ÌÝ9ÚÝ)Þ>Þ3FÞzÞ_–Þ4öÞ4+ß6`ß-—ßIÅßIà/Yà8‰à1ÂàYôà/NáD~á!Ãá5åá-â$Iâ6nâ5¥âEÛâ?!ãGaã;©ãBåãS(ä@|ä:½äøä5å6Lå6ƒåºå6Úå>æHPæR™æ*ìæ(ç@ç5_ç6•ç6Ìç6èS:èDŽèFÓèQéSlé6Àé6÷é6.ê3eê-™ê/Çê÷ê?ë%SëByë@¼ë#ýë4!ì7VìŽì8íFUíCœíXàí@9îPzî0Ëî"üî9ï]Yïr·ï†*ðu±ðx'ñ‡ ñ(òy¨òˆ"ó€«óq,ô€žôxõ|˜õ†öŒœö)÷…·÷==ø/{ø=«øJéø,4ù7aù,™ù4Æù=ûù49ú2núS¡úCõú39ûLmûnºû-)ü/Wü1‡ü6¹ü,ðüý+,ý3Xý-ŒýºýIÙý#þJ9þ2„þI·þNÿ=Pÿ6ŽÿVÅÿCA`C¢Cæ*-:8h%¡$Ç$ìOOaP±PPS.¤*Ó4þ-3%a/‡D·CüN@6.ÆBõc8.œ#Ënï7^ –3¢KÖ."?QV‘Vè#? c 5‚ 1¸ ,ê B ! /Z ! 1Š ! /¼ ! ì ! R R\ ;¯ (ë  0 N Bi R¬ "ÿ n" `‘ aò ^Tc³P\hTÅ /R=C5Ô. ! 59oHˆÑ2é$GA7‰fÁ@(4iGžYæU@<–:Ó*79q#…)©1Ó/58QŠ£ºÑ4ð%*<9g*¡6Ì68:6s6ª6á66O-†6´ ëù2 0>(o$˜$½â>ôS3‡œY¬40;0l99×/,M¯z(*TS>¨+ç42H4{7°:è8# !\ 7~ ¶ HÓ \!8y!2²!å!<û!+8""d"-‡";µ"Fñ"*8#"c#&†# ­#!·#Ù#ø#!$-7$Ae$L§$8ô$@-%\n%]Ë%5)&8_&>˜&S×&*+';V'$’'·'XÕ':.(7i(?¡(4á(D)/[)6‹)0Â)ó)/*4?*&t*(›*'Ä*2ì*8+>X+?—+I×+W!,Py,7Ê,/-42-<g- ¤-j²-<.5Z.R.Iã.>-/>l/?«/Hë/H40e}0-ã0)1?;1 {1œ1)¸1Câ1&&21M212W±2c 3@m3=®3 ì3L 4Z4n4AŠ4AÌ4=58L5)…5(¯5 Ø5Cù5<=6>z6>¹6Vø6_O7[¯7Y 8Pe8*¶83á8?9LU9'¢9EÊ96:LG:]”:Iò:(<;'e;;¦;#¾;Aâ;9$<9^<6˜<*Ï<Dú<?=#[='=/§=×=?õ= 5> B>$O>t>Mˆ>3Ö>P ! ?E[?6¡?:Ø?;@IO@[™@+õ@$!A%FA9lA:¦A'áA/ B79B'qB6™BeÐB.6C+eC+‘C9½CA÷CM9D@‡D8ÈDGEFIE&E/·EGçE)/FtYFJÎF@GDZG%ŸG;ÅGHHjJHAµH.÷HC&I<jIP§I+øI)$J<NJ.‹J"ºJ:ÝJMK;fK>¢K@áK?"L2bL;•LJÑL2M"OMrM‡M M+·M)ãM€ N=ŽNÌN%äN, ! O,7O*dOBO<ÒOZPUjPÀPOBQM’Q3àQ6R5KR R&¢R5ÉRKÿR=KS%‰S:¯SCêS7.T)fT3T0ÄT(õT:UFYUP U?ñU91V8kVB¤VCçVI+W/uW'¥W,ÍW0úW=+XAiXK«XP÷X4HYC}YGÁY( Z*2Zo]ZtÍZvB[:¹[;ô[;0\Dl\`±\1]D]1`])’]3¼]:ð]7+^c^/{^«^Â^/Û^4 _+@_?l_8¬_Wå_A=`+`/«`@Û` ! a*'a*Ra}a:’a1Ía-ÿaJ-b6xb¯bÅbÚbôb ! c8'c7`c>˜c)×cHdGJdT’dfçd%Ne8te5­e9ãeKfOif¹fØfVõf`Lg#­g&ÑgøgBhKYhO¥h0õhP&iTwiHÌiHjB^j8¡j3Új?kDNkQ“kGåk-l0Ll1}l¯lIÈl:m5Mm_ƒmXãmX¿…-þ…6,†Ac†P¥†,ö†>#‡"b‡3…‡<¹‡8ö‡2/ˆ/bˆ=’ˆ,Ј<ýˆ5:‰.p‰.Ÿ‰ Ή%2.Š;aŠ)Š ÇŠ0èŠ9‹"S‹2v‹*©‹.Ô‹Œ?Œ)\Œ†Œ ¥ŒÆŒBáŒ:$*_7Š0Â9ó5-Ž+cŽ>ŽKÎŽHc?y6¹Fð877p¨Ã ÕKá:-‘ h‘Xv‘YÏ‘.)’#X’|’Hœ’Wå’+=“=i“0§“?Ø“.”5G”M}”CË”$•>4•3s•5§•/Ý•' –y5–3¯–/ã–&—6:—Lq—I¾—9˜-B˜?p˜0°˜/á˜y™E‹™9Ñ™p šS|šSК;$›7`›Y˜›?ò›2œSCœR—œ%êœ">3r4.Å0ô+%žAQž.“ž0ž.óž"Ÿ?9Ÿ'yŸ$¡Ÿ6ÆŸRýŸ8P D‰ AΠI¡nZ¡IÉ¡r¢\†¢Xã¢<<£7y£=±£Gï£27¤?j¤,ª¤2פE ! ¥EP¥J–¥1á¥/¦0C¦Ht¦A½¦"ÿ¦!"§D§^_§5¾§$ô§#¨3=¨Vq¨QȨ©8©8V©>©/ΩBþ©+AªXmªJƪ-«,?«'l«+”«2À« ó«¬4¬S¬p¬,Ž¬»¬8ά­1%­+W­Bƒ­+Æ­Wò­J®5]®“®)©®+Ó®>ÿ®+>¯3j¯ž¯²¯*ȯó¯*°2°I° `°+n° š°3¨°$Ü°"±$±<±,U±B‚±ű+ã±+² ;²\²$v²@›²4ܲ³)(³R³pi³Ú³÷³+´5?´]u´5Ó´3 µ6=µ/tµ(¤µ͵8êµ#¶7;¶:s¶®¶Fζ·A)·_k·HË·¸,1¸,^¸"‹¸®¸͸'ê¸9¹8L¹(…¹?®¹dî¹jSº¾º)κhøºJa»¬»É»CÛ»S¼&s¼š¼-³¼á¼#ø¼"½N?½RŽ½Há½;*¾Af¾K¨¾ô¾9¿@M¿6Ž¿CÅ¿: À:DÀEÀ)ÅÀ5ïÀ=%Á+cÁÁ•Á?¬ÁìÁÂÂ1Â49Â4nÂ+£Â'ÏÂ1÷Â?)Ã2iÃ1œÃ0ÎÃ1ÿà 1Ä0RÄ ƒÄ¤Ä ÂÄ*ãÄ)Å+8Å)dÅŽÅ! ÅÂÅÔÅTæÅ;ÆMÆgƃÆÆ ·ÆØÆêÆþÆÇ*ÇFÇ:aǜǯÇ5ÁÇ6÷Ç5.È5dÈšÈL´È É'"ÉJÉ\É<nɫɽÉÒÉðÉÊÊ.Ê@Ê$ZÊ%ʥʹÊÏÊ2åÊË3-Ë6a˘˰ËÉËàË$÷ËÌ6Ì"JÌ!mÌ-̽ÌÖÌìÌ0Í4ÍRÍi͂ͬ͘ÍÂÍØÍêÍÎ#Î:ÎOLÎ0œÎ@ÍÎ[ÏSjÏ6¾ÏõÏ#Ð8ÐUÐgІХÐDÄÐ Ñ&Ñ,CÑ6pѧÑÁÑGÜÑ)$ÒNÒhÒƒÒ˜Ò$·ÒÜÒøÒÓ$3Ó$XÓ$}Ó¢Ó¿Ó!ÕÓ)÷Ó@!Ô*bÔ%Ô³Ô'ÈÔ1ðÔ "Õ/CÕsÕ‘Õ/¥ÕÕÕ6ìÕ##ÖGÖRgÖQºÖ* ×67×n׋ת×#É×%í×Ø+2Ø"^Ø#Ø¥Ø$ÃØèØ^ÙYgÙbÁÙ"$Ú!GÚIiÚG³ÚlûÚ=hÛ5¦Û:ÜÛHÜE`Ü2¦ÜJÙÜ:$ÝJ_Ý4ªÝ<ßÝVÞXsÞiÌÞi6ßP ß4ñßJ&à8qàZªàRá]Xá¶á>Öá4âCJâŽâH©âGòâ,:ã ! gã0rã,£ãÐã.íã$äAäBTä9—äEÑä$å"<å+_å/‹å9»å8õå+.æDZæzŸæMçhç=…ç9Ãç;ýç9è>Tè1“è3Åè3ùè4-é bé péA~é@Àé*ê*,êBWê%šêÀê"Ñê!ôê#ë$:ë!_ëFë.ÈëA÷ëE9ìì-”ì*Âì-íì/í#Kí,oí^œíDûí>@îîUœîòî<ïDNïB“ïRÖïK)ð3uð'©ð@Ñð#ñ:6ñ4qñ$¦ñ/ËñVûñORòA¢ò4äò5ó Oó \ójó[só/ÏóTÿó Tô&uô,œôÉô\ÑôB.õ3qõP¥õ+öõD"öKgöG³öcûö<_÷&œ÷0Ã÷4ô÷)øGø@]øLžøDëøP0ùZù=Üù<ú>WúG–ú*Þú* û;4û#pû'”û1¼û1îû1 ü2Rü+…ü*±ü—Üü¹týP.þDþ5Äþ;úþG6ÿO~ÿ&Îÿ+õÿ0!:R.H¼LlRS¿mYC[aŸ[4]F’+Ù+01MbZ°# >/Cn,²-ßB 1PD‚7Ç;ÿ:;4vJ«.ö>% 4d W™ 9ñ I+ ! )u ! 'Ÿ ! ;Ç !  1 8L M… !Ó õ 2 8H  *¢ GÍ < @R E“ NÙ ((G+p9œÖ ! êLõ>B2;´#ð#%8E^;¤<à578m9¦AàF"2i?œ3Ü33DEx2¾ñF _PR°,:0>kDªïUõK'kA“2Õ6n?1®)à$ ! /JLt—j PwZÈM#FqQ¸Z ! ;e)¡Ë*ë+ABZ„\ßb<9Ÿ'ÙLN!^!€!¢!ÄæMUS]©U G] *¥ >Ð ^!fn!dÕ!o:"Nª"nù"/h#\˜#õ#?$!G$4i$;ž$Ú$Aê$G,%;t%3°%(ä%0 & >&_&x&&¬&OÇ&V'Wn'Æ'1æ'J(?c(V£(Gú(?B)7‚)-º)*è)(*-<*"j***1¸*,ê*+=3+Iq+?»+Jû+/F,*v,.¡,HÐ,V-5p-6¦-7Ý-P.af.È.(è.//A/^/5o/8¥/Þ/;þ/+:05f04œ0KÑ0%1"C1>f1¥14Ã1.ø10'2+X2A„2.Æ20õ2.&3OU3B¥3@è3)4KD4,4=½44û4705?h5;¨5`ä5hE6f®6q7R‡7pÚ7nK8vº8t19¦9^&:~…:\;/a;-‘;O¿;2<CB<Z†<Zá<W<=W”=@ì=0->G^>^¦>S?0Y?Š?8ª?6ã?8@AS@-•@'Ã@Lë@78A6pA6§A;ÞATBGoB?·B1÷BF)CCpCK´CQD'RD1zD-¬D7ÚD(EE;EDEIÆEF,0F=]F7›FEÓFNG6hG3ŸG,ÓG;HDÈK;L CL@dL9¥L<ßLFM:cMFžMåM=ÿME=N.ƒNb²N@OEVOœO3¹O9íO0'PXPwP$•P5ºPRðP^CQ?¢Q;âQRQ6R3ˆR@¼R<ýRl:SW§SSÿS/ST7ƒT/»TëTUU0UHU`UxUU¥UºUÏUäUøU V%VBVZVqV†V›V³VÈVàVõV W"W7WOWdWyWŽW£W»WÓWëWXX-XBXZXoX‡XžX¶XËXàXõX ! YY7YLYdYyY‘Y©Y¾YÓYèY7Z8ZMZ0`Z ‘Z4²ZçZ[[#7[+[[6‡[¾[×[ð[#\?4\Gt\&¼\#ã\]7]7U]6]#Ä],è]3^#I^:m^:¨^7ã^:_4V_,‹_Q¸_6 ! `>A`4€`!µ`%×`%ý`#a-Aa0oa) aÊa8áa b(;b=db,¢b)Ïb/ùbJ)c.tc4£c=Øc:d*Qd*|d&§d6Îd6e4]g*œg>Çg h%'h+Mh0yh$ªh9Ïh4 i>i%^i>„iÃiNÙi4(j.]jŒj0«j.Üj. k2:k&mk<”k#Ñk)õk8l9XlH’l*Ûlmm97m#qm(•m@¾m%ÿme%n#‹n,¯nÜn4õn5*o`o<qo-®o+Üo.p$7p3\p&p·pÏpFãp.*q3Yq3qBÁq3r48rDmrC²rDör+;s0gsI˜s"âs0t76tnt!‚t#¤tÈt+èt+u+@u+lu+˜u+Äu+ðu+v+Hv+tv- v+Îv(úv.#w-Rw+€w+¬w+Øw+x0x%Ox>ux>´x>óx*2y']y'…y'­yÕy'òyz+7z'cz'‹z'³z'Ûz'{'+{/S{Eƒ{.É{/ø{0(|=Y|)—|0Á|=ò|0}F}$a}/†}¶}FÖ}>~!\~0~~¯~'Î~1ö~=($f$‹°-Ï-ý8+€Bd€@§€.è€74'l3”7È;‚"<‚K_‚.«‚*Ú‚%ƒ0+ƒ/\ƒ7Œƒ.ă.óƒ"„J=„!ˆ„Aª„-ì„+…5F…6|…@³…Hô…<=†0z†0«†2܆%‡D5‡!z‡%œ‡A‡_ˆedˆ3ʈ'þˆ3&‰,Z‰0‡‰'¸‰!à‰HŠ0KŠ5|Š²Š8ËŠG‹GL‹”‹0³‹;ä‹ Œ56Œ@lŒ­ŒÃŒLÜŒ9)7c.›,Ê>÷c6ŽlšŽ1'9.a./¿@ï'0)X=‚$À-å3‘-G‘8u‘/®‘/Þ‘-’ <’B]’8 ’3Ù’R “F`“§“c¿“4#”&X”$”M¤”;ò”;.•9j•¤•.Õ"ò•,–B–^–Ex–6¾–`õ–MV—3¤—9Ø—˜@#˜1d˜6–˜3͘4™.6™6e™0œ™3Í™š"šN9š-ˆšI¶šF›&G›0n›Ÿ›¸›Л"î›.œ(@œ%iœ&œ&¶œ&Ýœ)*.(Y(‚(«#Ô!ø1ž-Lž$zž#Ÿž#Þ&çž#Ÿ*2Ÿ+]Ÿ/‰Ÿ,¹Ÿ#æŸ) !  :4 €o gð CX¡ œ¡2¦¡)Ù¡.¢2¢;R¢/Ž¢!¾¢(ࢠ£-'£PU£*¦£<Ñ£#¤,2¤c_¤7ä\û¤X¥'m¥4•¥,Ê¥;÷¥J3¦6~¦.µ¦Dä¦V)§M€§?Χ¨+¨)C¨(m¨*–¨+Á¨2í¨ ©H1©#z©Hž©Vç©q>ª°ª!Ϊ;ðª<,«%i«8«HÈ«G¬@Y¬&š¬IÁ¬? ­LK­*˜­%í:é­:$®7_®7—®9Ï®6 ¯;@¯K|¯;ȯK°+P°:|°,·°Uä°[:±$–±"»±.Þ± ²5(²5^²@”²4Õ²- ! ³88³,q³(ž³!dz'é³&´8´S´/r´#¢´&Æ´&í´µ+1µ]µ)yµ£µ)¿µ+éµ*¶:@¶;{¶.·¶*æ¶2·D·c·8{·3´·è·ù·2¸.L¸'{¸=£¸!á¸2¹B6¹Sy¹;͹) º+3º-_º7ºEźF »:R»[»Oé»E9¼9¼C¹¼Hý¼0F½>w½B¶½9ù½G3¾R{¾-ξ1ü¾N.¿A}¿6¿¿<ö¿=3À2qÀ7¤ÀAÜÀAÁ=`Á4žÁ)ÓÁ0ýÁ+.ÂUZ°ÂGÌÂ3Ã+HÃ+tÃG Ã9èÃ1"Ä1TÄ5†Ä¼Ä-ÕÄUÅMYÅ3§ÅÛÅ(öÅ)Æ2IÆ1|Æ.®ÆÝÆ.øÆ'Ç)FÇ*pÇ›Ç0°ÇáÇ*÷Ç:"È!]È/È*¯È?ÚÈ@É.[ÉŠÉ/¢É:ÒÉ ÊÊ;Ê>MÊŒÊ.«Ê ÚÊ3ûÊ3/Ë<cËO Ë,ðËhÌ,†Ì³ÌÓÌ2ðÌ9#Í7]Íb•Í(øÍ,!Î,NÎ({Î-¤ÎhÒÎ2;ÏnÏDŒÏ0ÑÏ9Ð=<Ð.zÐ6©ÐàÐ-üÐ3*Ñ>^Ñ8Ñ5ÖÑ; Ò$HÒ+mÒ=™Ò7×Ò=ÓJMÓ$˜Ó'½Ó<åÓE"Ô$hÔIÔx×Ô8PÕ,‰Õ0¶ÕTçÕ+<Ö(hÖJ‘ÖMÜÖ5*×@`×L¡×Iî×Q8ØJŠØÕØ;õØ1Ù8KÙ@„Ù4ÅÙ!úÙ)Ú'FÚ|nÚ-ëÚ#Û8=Û.vÛ.¥ÛBÔÛ1Ü$IÜ&nÜ%•Ü-»Ü/éÜ;Ý/UÝ[…Ý#áÝ:Þ@Þ"^Þ@ÞÂÞ5ÑÞ,ß24ß2gßšß,«ß;Øß%àB:à(}à=¦àäàáBáNaáI°áúá3â>HâD‡â<ÌâU ãE_ã>¥ã2äã-ä4Eä/zä/ªä.Úä. å#8å#\å9€å>ºå ùåJæ$eæ/Šæ+ºæ/ææ5ç6Lç#ƒçB§ç0êçCè8_è;˜è!Ôè+öè/"é%Ré2xéA«é0íé3ê8Rê)‹ê@µê$öê2ë1Në=€ë[¾ëGìAbì.¤ì1Óì]í;cí.ŸíRÎí7!î)YîOƒîDÓîFï#_ï9ƒï;½ï9ùï"3ð<Vð/“ð2Ãð?öð=6ñ5tñ@ªñ>ëñ2*ò4]ò1’òÄò5Ûò\óCnóI²ó=üód:ô.Ÿô9ÎôUõU^õ:´õ/ïõ5ö>Uö#”ö<¸ö<õöF2÷y÷(Œ÷Sµ÷i ø`søKÔø. ù/Où5ùµùÇù0çù&úA?ú.ú°úµúD¼ú ûû+û>Fû6…ûD¼û>ü=@ü>~üI½üPýMXý¦ý ÁýfâýCIþ@þ0Îþ7ÿþ87ÿ)pÿ2šÿ2Íÿ$F%!lAŽ)ÐZúLU¢b$+‡I³Dý9BJ|LÇ8:M3ˆC¼)*A(T*}$¨<Í< ! <G;„?ÀB?C=ƒ7Á?ù79?qN±R OS N£ Nò HA ! HŠ ! ?Ó ! ? [S 6¯ .æ  /5 He @® `ï CP 3” 5È .þ \-1ŠO¼1 &>ex+¹3Ì4#5'YZ¡"ü;?Y_™3ùI-=w,µUâ>8Dw*¼2ç88S8Œ5Å-ûK)u,‰)¶GàM()v0 1Ñ94=>r=±"ï+*>Di'®-Ö4,9)f9+Ê'öHLgB´$÷,KI-•'Ã&ë "3=VA”@Ö9#QDuEºddeAÊ5 HB(‹(´YÝi7 R¡ 0ô ?%!6e!Qœ!Jî!9"cY"$½"6â"[#Xu#KÎ#Z$Su$ZÉ$X$%S}%XÑ%>*&@i&\ª&A'DI'UŽ'gä'SL(S (Hô(h=),¦)Ó) ! Ü) ç) ñ)ý)H*RZ*7­*-å*/+LC+F+×+ß+`ñ+R,7i,8¡,EÚ, -(>-Jg-N²-E.IG.I‘.3Û.8/FH///A¿/G0EI090GÉ0g1My1-Ç1Nõ1VD2›2Q²223>73bv3FÙ32 4!S4$u4Zš4<õ4<253o56£51Ú51 6 ! >6I6Bf6©66É6 76!7?X77˜7#Ð7(ô7818K82k82ž8Ñ8ñ8+ 999T9!o9*‘96¼9ó9:/:3I:(}:+¦:AÒ:+;@;?O;7;3Ç;2û;5.<Od<Q´<K=XR=/«=Û=Cø=<>GV>]ž>\ü>CY?L? ê?0 @=<@(z@D£@Bè@E+AFqAL¸AEBGKB“B3©B>ÝB;CQXC>ªC>éC<(DeD3€Dn´D9#E]E|E7›E&ÓE'úE"F@FVWF!®F3ÐFHG*MG*xG"£GSÆG"H=HZYHU´H ! I)IGI]IsI1‰I!»I,ÝIB ! JQMJ!ŸJ2ÁJ2ôJ%'KMKlKŠK(ªK.ÓK@L0CLItLQ¾LQMFbM:©M4äM!NE;N:N2¼N0ïN O'?OgO-‡OµOMÒOL PhmP+ÖPJQ;MQC‰Q‚ÍQ,PRS}R4ÑR6S0=S<nS'«S2ÓS3T(:TcT{TG”TTÜT01UKbU4®U?ãUV#V$zV9ŸV-ÙV4WIß`OaDna$³a8Øa=b@Ob3b6Äb,ûb7(c1`cU’cEèc?.d/ndrždle@~ee¿eŠ%fI°fbúfN]g@¬gJíg/8h4hh-hBËhFiUi%si1™i!Ëi<íi*j"Ij,lj+™j,ÅjAòj&4k$[k*€k2«k Þkÿkl)l58l.nl/l7Íl>mGDm<ŒmBÉm; n Hn2Rn9…n0¿n@ðnB1o4to3©o'Ýo/p<5p>rp+±p*Ýp:q;Cq:q.ºq6éq2 r@Sr”r¯r+Êr+ör'"s*Js.usU¤súst)6t`t"{t žt(¿t!èt4 ! u4?u4tu$©uUÎuO$vGtvJ¼vDwLw5hw9žw5Øw:xLIx5–xJÌx7yDOy.”yDÃyGzBPz(“zD¼zB{AD{?†{4Æ{5û{M1|"|)¢|3Ì|4}5}=T}1’}2Ä}K÷}RC~h–~cÿ~Bc7¦GÞ-&€:T€'€'·€$߀+G0Tx5ÍK‚O‚Do‚5´‚2ê‚ ƒ>ƒgVƒA¾ƒ!„!"„-D„Ir„T¼„…3/…3c…D—…<Ü…N†@h†<©†0æ†3‡3K‡R‡FÒ‡0ˆJˆJcˆF®ˆJõˆI@‰3Š‰A¾‰AŠIBŠMŒŠNÚŠA)‹Hk‹_´‹4Œ1IŒ3{Œ0¯ŒLàŒa- ®Ï3ì Ž?=Žp}Ž.îŽ=V"o’J¦Nñ]@+ž2Ê1ý>/‘<n‘/«‘8Û‘J’K_’I«’Tõ’>J“<‰“DÆ“; ”;G”Dƒ”;È”;•9@•Mz•MÈ•N–Me–N³–M—NP—NŸ—aî—_P˜-°˜Þ˜(ô˜M™Pk™B¼™"ÿ™"š+Aš5mš7£š(Ûš%›*›E>›.„›B³›2ö›H)œrœ3œ&Áœ5èœ+3J1~@°1ñ)#ž-Mž,{ž¨ž2ºž1íž2Ÿ<RŸWŸ9çŸ'! &I 2p 9£ MÝ Q+¡=}¡/»¡3ë¡;¢*[¢L†¢8Ó¢4 £OA£‘£%¯£Õ£4ô£)¤G¤OÕ¤i%¥O¥KߥN+¦=z¦5¸¦Aî¦*0§N[§Uª§¨R¨?j¨0ª¨Û¨(ô¨C©9a©D›©9à©+ª-Fª(tª3ªQѪ<#«H`«<©«3櫬3¬M¬f¬¬š¬²¬̬å¬ÿ¬­2­M­f­­ ­¹­Ñ­ä­®®8®S®k®ƒ®9¢®HÜ®B%¯Ph¯\¹¯=°%T°%z°7 °(Ø°K±?M±3±`Á±_"²V‚²:Ù²g³n|³hë³`T´;µ´ñ´2µ}BµJÀµL ¶PX¶5©¶5߶5·5K·;·)½·3ç·2¸3N¸4‚¸3·¸2ë¸3¹3R¹3†¹eº¹ ºV@º6—º_κ0.»,_»,Œ»,¹»Kæ»i2¼bœ¼2ÿ¼:2½7m½C¥½‚é½<l¾€©¾4*¿D_¿.¤¿CÓ¿kÀ?ƒÀdÃÀŠ(Á@³Á8ôÁ@-ÂMnÂS¼Â:Ã,KÃ(xÃe¡ÃaÄ.iÄ3˜Ä0ÌÄ/ýÄ_-Å'Å/µÅåÅBöÅ:9ÆtÆ’Æ®Æ9ÌÆ5ÇU<ÇU’Ç=èÇ;&È=bÈq ÈZÉ'mÉ7•É'ÍÉ3õÉ+)Ê)UÊ+Ê*«Ê"ÖÊ/ùÊ')Ë&QË/xË&¨ËÏËCîË)2Ìs\ÌOÐÌ' ÍHÍ3eÍ,™Í ÆÍçÍ"Î$Î%:Î7`Î4˜Î4ÍÎ-Ï.0Ï&_Ï+†Ï*²ÏÝÏ3ýÏ*1Ð)\Ð6†Ð6½Ð6ôÐ"+ÑTNÑ#£ÑÇÑ'æÑ5Ò@DÒG…Ò-ÍÒ4ûÒ90Ó/jÓ+šÓ=ÆÓ[ÔN`Ôs¯ÔA#ÕAeÕ2§Õ@ÚÕ,Ö5HÖ@~ÖG¿ÖH×AP×4’×QÇ×MØRgØ]ºØSÙPlÙN½ÙK ÚgXÚ3ÀÚ/ôÚO$Û7tÛ ¬Û<ÍÛY ! ÜAdÜ,¦Ü3ÓÜCÝKÝFhÝ8¯Ý7èÝ; Þ-\Þ(ŠÞW³Þ/ ß);ß3eß™ß@¹ßŸúß-šà7ÈàHáHIá/’á@ÂáIâ@Mâ;ŽâÊâäâøâ(ã69ã<pã(­ã2Öã@ ä:Jä8…ä9¾ä=øä<6å;så*¯åJÚå=%æFcæ(ªæ6ÓæD ! çAOçJ‘çIÜçB&èEièC¯è%óè7éQé^oé3Îé5ê98êJrê6½êOôê9Dë0~ë8¯ëèë%ì&*ì'Qì*yì'¤ì(Ìì#õì]í]wí:Õí7î?Hî=ˆî,ÆîAóî+5ïEaïL§ïZôï'Oðwð+–ð6Âð6ùð70ñ0hñ.™ñ>Èñ?ò.Gò)vò9 ò1Úò5 ó>Bóó ó-·ó:åóL ô7môO¥ô#õôeõ5õµõ,Òõ&ÿõ&öFöq`ö!Òö.ôö#÷@÷6U÷Œ÷' ÷'È÷Vð÷=Gø+…ø"±øÔøîø0ù'3ù[ù.uù(¤ù%ÍùMóù<Aú*~úR©úOüú$Lûqû‰û!¡û,Ãû9ðû*üHü(dü*ü¸ü;ÓüBý<Rý'ý(·ý<àýFþdþB~þ<Áþþþ.ÿ7Aÿyÿ$ÿ$´ÿÙÿðÿ. .<@k"¬-Ï3ý!1S-p"žÁ+áY g/z*ª,ÕOR2q_¤a`fQÇ/HI*’1½?ïA/7q4©:Þ# =*Ju$²-Ï:ý78Qp=ÂA 3B 4v *« )Ö * ! 3+ ! 3_ ! D“ ! HØ ! 2! 0T 1… 4· (ì D (Z /ƒ $³ *Ø  3 JL C— JÛ C&PjI»<BB%…"«/Î:þ$9&^ …$¦ËBäE'-m>›-Ú00P!¡1Ãõ U#y’Y­=2Ex1•Ç$Ù4þ;38o>¨<çQ$v‘&/88h0¡GÒ );.e/”ÄØ^ø<W;”3Ð."3KV1¢6Ô? K6_>–Õé1:9W:‘>Ì< 3HZ|@×38;lO¨;øO4D„XÉD" Xg (À <é /&!CV!^š!2ù!H,"4u"Dª"5ï"%#8#*U#2€#9³#4í#I"$l$Du$/º$,ê$:%CR%b–%.ù%](&&†&C­&Lñ&+>'(j'B“'GÖ'O(Yn(aÈ(_*)jŠ)Iõ)i?*)©*&Ó*jú*-e+)“+O½+* ,T8,j,8ø,81-%j-7-6È-8ÿ-78.fp.f×.7>/5v/9¬/0æ//01G00y0Eª0Oð0H@1@‰1LÊ1E2E]24£2\Ø253O3e3C}3DÁ344(;4=d4,¢4/Ï4Eÿ4DE5/Š58º5ó56!636$F6;k6P§6(ø6.!78P7'‰7*±7>Ü7*8F8$Z878A·8Bù86<9's9R›9,î9N:&j:1‘:Ã:KÖ: ";/;F7;~;&;[¶;,<)?<5i<7Ÿ<A×<+=&E=l="‹= ®=@Ï=.>?>C>»X>3?2H?${?1 ?Ò?7ð?-(@3V@%Š@T°@PA,VA+ƒA¯A&ÏA8öAG/B5wBH­B=öB94C9nCF¨C9ïCU)D=D8½DIöD"@E#cE3‡E/»E-ëE-F?GF4‡F4¼F/ñF,!GQNG G#°G7ÔG& H3H'JH&rH™H%·HÝHøH ! Ih_Kè6ø {>' Æ  ¨g4ã®ÿ‘~qµ) ! Ö Û9!; ‹ò U#ÒÅk Û…{#ç®# R˜‡i!´]DM>±ù†Eq —¨ ¾‡ ¯Rnõ sY ÀW~!>ÝúG4 v¬¸ ! K5 ^ï O œe”êk¯ ! ¶ÏL\Ãø RZÊ!¨!Ÿ¡q Þ ¶Iz / ãä¿"!1 !çq¥ ! TM M^ÜJ zD6#£ ! ŠÁ!Ÿ 1+½x @;Õ3 ‹$µ N Ë!À ¬á#¿ž¿„¸6 =#³GØÉ´#ß¾÷ÙšD ! ½ ru#2!r#á Ñ ÇcðM¤Ú ! Ì ‚äì“„ !3 ¾!œþS4B#1 ÎÝH„ ! ½› R9 $ËÁ`–läL+”ÃKßÚñ=ð¬ò™‹™Øñæ!¨§ØU(õ _ .’ „"¨&Î ÐÍË 9Ý@#M@×Õ2#5Ux#~ içÜ!¾ >£ jÃP o") ! ² „ m!X ˜óÂùÃ"#ö"Oƒ·ã Kœ ŒËÛÆ0‹¯  Ä"Ÿ AŒ,;úm í‹ì’ e ! : ãóMëóÊÑ ! |‹ $…³² ×´ ! SŠþǨ"€¿Þߢ[ñ ²!é"zÛ ! Á øØ R~$<¤® ¨Tx ©Ý TQ+•ƒ£hyC` é #ä Ï\,Ì3¸. Žû Èö ÔAB3A“Ÿ“ÑÊc ! ¦"Ž* ! a / ! ¸I …~ ^ ÷ âÇ!†—#]Pg n€ DC_¡¤Õ¯‹ÚA•ŽÇZ Œbr‚ KJ#™R†tj ¦)"ÊP ! { å ”  J¸üp&!óy“ þ ï¼ÞÕw µ4¯Ö H [Õ ! É nK»EÈ”|bv E ' |_2"×É• ! bÇÑ !$Ö" "cÇ&køËÃ1 ž/Ü ! |—±Ñ® $ Ú&# ! ÷¿ D!Œº ‹ á A¨ý@ þ ! îk_ „ èEè9ç Ðï ? •#÷ËÂŒ ¹ ! VÊŒ "“ ©£ÆÅáÁh"Í/iò”yÈd!–&¥ 6!;V§ýE%QY¹+‰`d %"»w» ! ª®Ä)ƒ ÒS"ªqG ! &ó $‘xÔè#øa ´ýß ! hÔüms ‚v— Ü ½ å bR€w= C…¬>!!ZË }¢0Ó Ñ(f³IëÚ;±! ¡p­a‰ E’$r Ú c à#G œ AÀSôñÞ ! 1©!àŒ ! S¤" ! }À"J¢ñ¦¨¬ \¯C¸¥I8 |#wè |!#!) wx /œÂN‡-SÙ ½†H÷… È ! ʃ (ã Ì ! ‚· „%” œ!O+Bl!B ó[“¦ Kî9³„é…!Dº {³ïe&d Ĥ òöÇ-¥XˆX# € ONË Åô 'f!ÏŒ7Üx“p ! ¼c ˆ w ! ˆÓ´§ ñ÷t`¹%¦g1.“6=´À™$ö®M Z­!à î¬âT#(.ý à%Þ—¹Á"ð#nUÔ ¨){^ÎRÆS) Œ/ ÷+!?« ¾ž ! ‰¹TÉìGë#”#7ˆ#Dš ! ð cP#™2›¸/E~‰îP ¼ #ï © Sp¦Q Á Øâ `¹LRl ; ›» qè§ï·!å ‘¤ ã]á]FÈó   øLwýÅ? 8;Ív± U ÒJ ! ªZ «‚¶·ž Y·fF No\2#k5ÿÝ°8¥–K;O‰Ó– †þK†l ŽM*ð"ôï# j"&ˆ!’—Ü2 »æái× â!¯° #•!­8¶Ì!r Õ"µÓn‡î.ì j.J Œyà ! ôE"âad[Ô"bRÌŠ ö"/WË.!•'o 1¹ ÚCë ¯ qøZ"‘ó#fÊt Ä ®U k!ºƒ «¥h e V  ! WôxÒž#%  僓"Ç Z q ! þ#šÆ¥WvÊÉ -r§ UÖ~ ` ' †À 7 þІ‘|ð0 š9" % ´ý ! Ò×°ç Ëìn¤Æ4S 7í"Ô™hŽ ! !+t ! ³Yëö J3lø9Á;­€î3 ;}"åË ! e '& *1OÅÆ#ç ! ±Å ! üYÇá  ! Qè ! îõÍ÷!]›LLo cÛ´D#»Å ! $€v ! !çq Ž{"•ü_¬Dõ.›Â#öÛ™„·… ‹íL é© % ! ø4{·"CØÛ"{ä ÃÝfú MÌ ! 9 /$'ÎO¯¤žj¦OBâ #›…Ó’äûå_;uœñ"ë ! ‹,Xܽü–½5B Ñ’³ ! ×!—ËË dj"ê ! æd´ê#A “D÷ôÿÎ ñ ^h:Úqt or '#°‡k6e"À¬#M8Nê èýä!‹Óí ! SÝ÷ ! <uõT"a<ïQŸS%Ÿé ! ! Ñ70mýAµ gû Z#ô ! ô7P!H #¯<øA õ &&‹#· ?aŸìÃÏeÕjÑVù2w#kðä? ! ÅKÍP@•ä¡ ŠˆÜ"Ñ ¥&µ#˜n_"rÀ‡´Ê‹Ž* +Ì K' ï"ŸÙ^Ù… wÛW ” N!£g ‚Fуh ! ®)ÿI"a#úµÛ(!é £ ®m ° ! Qd.y 3™~7ELf²] ~j/1/!Çrž O-„QL#äÎ5Öh ! g¹Ç 9#:n ! 1¬ý"µèºgs’ü»²Ü!ïv = u ìm`§î”¾#žP M05 ! *IâÄ-! ƒ%4i½}Ÿõ="† ! {$K" "à8ùŠ¬!‘?'u"‹ï¬7æ  #Ž ó 8#+8h MŠ® ¡ ! †¨ Éތߖ:  * *#¿>'>ÿù Ç#ïÉÂ!ûª ˆÔ!ún%ËEW²­/ˆ <Éÿ¹ QG©â #\#"í €N ú¾5 Íû"•ºì ‚o+ cû!4öáØc| Å#xoùê ŸÝsÇ׶ ÌJ"v%ûÂÆ'³ëLW ! §_™s J{Û7#B~ zÌV ;² ›Ä_J PdúÇ Ž?# “BI~;ÉÖi#¿íÕÏ"[ÖÑ ?8+€š Zÿ †ÎsOgÜ +Æ ! V´V ž £ - >Ý¡ žá ! UØq£N  º ë"öõû€# ÚÏ ¹Ÿ º .6½"ˆ —Z\ ! SÍtÕý# ^ m ^q­¼^ãù°•¯_!mTm} ÷lí9y“Ù × …NN >E!XK ! : Œ¢#ë‘f ! ¿mðÂó:à¿Y x½Ý”_ ðÈi ]#ÅÒ!'¡½ "›#ëñ eŒÍÛ H Yhà‡‡ _Iñ»‰ ± ! Œ2ÓK?:¾ †«¢_/º^O#‚î°tåüÀo ! ‘ ƒ ! %Í -j ˜ ! ¨#¼¥!è93›ç#•Ï¨ $o¾eWù“p† ÐÃ!¡ÈÑ ™‹ ½a=ï c!rÇý b½6Ä YÓ3À !a ! àb"ÝZ l ! Òµ¶ù Sß"åN#8 O"­$œ>"µì ¼Af( '… “( h àO” ",>;À#nJi¼#Ê|MŠáj ¥öfîŠVÚ!K æà HYo#ͨ E"-A Ó²# i  ¹ ý1y'g1[!éÓ ! ô-¯cút!³š HZ ± ZCÆ ç´¹ŒÉ¿dpz ™ã\Ê9w   ‹Õ!¶Ÿ ÄùIÖaj>)ЩpYC#¢„Ï$ä Õƒw¹Õ/  ú"nö?ŽÖ ! &€ô}#ŽA}¦ŒÍ#sø"Ráê[Wø± !U—³ Ï Q¢ÊCëþcÒ §n‹-òå²I|g.»~±cœ =¿ï 9 ãièÖ $™Ï Ë}ÛD *®ß²´!ËJº Y ! ÷ « º­ ! £O1$ Ô ! Y›þ"7F - 6ÔHá²zå)#6"-ÖIx§!4"‡Wv¢\!51ª-«t²ñ(¡ e Ìë ‹ª !|$v ! ß Àe"ï¤ñyå ! Ã× Á[‚Æ ‚H×Æ´‡)hÉ"§h#sôPÿt7< äPò±s ! Ážb#çÌ YcÆ$V°¸û :Óè ýŽþ#=ta jv°#’" TW#4tuV!o¥µ Û)g#c">#æ"%#?ù8Ë%Þ!eXãBÙõ#ø4! mB» ! ¿ ² …€…¬$ ¼VXÄu×Ð ’;9|`"* ]%É m ªOòê»â …#Ÿ˜ü™Õ$  uT¨ K Õ  ÌY ¼"Ø ¨ù :#ü† DcåaNkvÒß™—V×## ‰ö­ æs -"„[Š ÛWž ! c  þ Þ¯¦ U¡3΃´L ¤ ”æ^#¤æuh#éN Â8þ^ÓÕ H¡)4õŽ "ÍÕ¯Þêí!û ! 7~j!Ó l"¬ ³ Œ÷¨ß ª‡^ ! è ÃM"/ŽÅ®ÅL£!oÀ6S? ã À!‡<â扵ÚïH bòjY쪥íHvsëÇÑ©žiø »!> ¸Ìè…ZjMƸàã u z EQ¸Dhêº!cYm!ò"·‡È5w÷4õqx?ð!çç°Î •Aý\«8X §m:ØÃ3ÿ¼ X ­µ"ŕω*½N šñ  ëù:"/Íê>>í#F‡ ! Ëi Uô!åõćO«-î ËeÄ¥!­ => ! W!– 0Ê Ï!^Û!tH*Öö„!z«4 ! ŠdáL ZJa  0I¨ì¡]R¼»Z ¥ó…Œ [#6Üh ! G/¥G º< ;Ö!® îj6Õú î D`{ o3ÝVß #© œ#¶ Ê PÒMx z"д ~×ê£p"– Ý[Í %›uå"fBÆ3 ºãÉ ! 1“tö`ün"Û¶ þÇb w!¶g  ¡#x0 †wmr!U¹ ÎH ! X¾"‘g!#{tƒ“!ÿ65^ §i ! ˜F´ Ó –‰ôd =v ~ÜêÛ ˆnÝQ ³ðb$·, 5Æk`Hš¤#= ! È Ö!×Käå£#“á)SÑC9+kÄXžo èí«" ’–øÐ} ! ttŪÞÙ¼ F§µä.8 %Ü.”qYÉk°Ð º"Õ7æñï!Ügй › ;# I:ÞVTsaôðÙ#ô¥ö ! ¡˜…^óOB@|ü ¡| ! ëÞ %#2€oú·hûˆ±"×$´@ö’Ðq«+ nÓf Ù! ßà© 4á< wd H -Ó!c##f Ù¢„ A!X)ë$r“ÝJ©Î#$G#’T –œ= œ !  ‚ áçNúŽ!A ²…62}È> A"Ñ £4 _ |VP7åV ù3|S ‹n$)¡ïܺ#×kµÜö_¢ ¹Ô &n^]M– —NÂl°\ø¥ñ“ÙE ! ý=X ûS#¡"‘ iƒ!ÙÒnb!uK Ôåý5w €FûÚЕzp#› I‘#š” Š!6 «#¯Ñ‡ ! ýö ª³õs_8 Ü¢ ! ,I F ! Ý# …s ! QVŸ#Êy߉¨Ë]«ÐÚ%Gúg ºÊ žàl4+a ¬#O ½j± ¥"mF g éNS òb±â ¡G§ËGL¾´Ä  P_üí"ú!1ÛÉi{òÖÓ ø I b»÷AÎ!,Gíç Òù½NELPRJ ÿ [¤² yJ—‚±fN"B̧ Ú‚¼3ù![µ¦6 ¶!AþG¯ Š"•Qé}³Y ¸âã8!Ž#¸s‹+ää#Å Lú#¦#ÙK%!¨ž!@ ! Ö±¦¹ùL •é´µ 0bú3 ?vàa2}þ‘Ê!_ÿX" # 1%„z» H ! ‚¹#5 Çsô¡B¶ ÚÖáÛ ø#˜#DÁ,™"Ï û˜ =!n#7æ wøŠ Á« ! ¤uô#'J  ¨ ! t Ò "aÕ÷°ñ¤ éq‚èðr:/¦´dâ ! ×!­át"g SÁ «~Ha³S!;r‰gã ! SÝŸz‰] ù_£:;Ï—"ÂHÔ Ù“ ! ÅéÑ"ÃTÔ£ ©Ü†t÷0‚å!"’ˆý¹Å:V U ! õºZøSj ¾‹ î ¦Ÿm¤!¡"{¯‰ ï-£Y ! ‹4bª=Ã#/L á„È z•~Ê ³0¯Ùg#áØ œ !ïú,#YÞœnä=ö_‰fmÒî!ki”‘í:Ë"š¿ï ! Øß~#| 6ì™Á ! q:ÕØß!$?¤ (©”!ÕX)Í ". ÚwNÿ8 ! ì[*‰˜ Åõ ñ ! ÏGoÂí)²¶Ù"$Q#c¤ çbà ˆ96þõ"” ·Õø!ÄH™ {Ùmî& Ö ! ½ ø!m 9”k ´§Å#!ÈÍ! ·š S‘D~W  4 ¤ºœêÊ"e3 rªæÌÆ ã!Ù ! qfdôç" #Ú" Æm"»2QÅ$€!¼!² o|…¹``>šä ¿T5¢«l€ õ f¢ › Î \…û& UÙ Iá°ÄØö¤ ! ¸#'0 $K¥¬ ö(ÖtŠ H!V"¯w¢Ã)!š#$=»"Û ‚« ¯ ô NÔ Màæ#U¶ y­+'½K ©U6 ©#¢Øî ! ¥ "c˜"â#·#ßâëBÙ ©kVmì $˜×"ÕûÎqÊ"¢"߶ ·»l ,h| ¤ N ! +c¤½!œ ΠŹ!xíM!C©²­ Þ Â /" û!¿³!óè«wO!Eñâoš½  ! SrÌØml¥4à L8m¼Ôi 6Ð ç,÷ ¿z¹#ûJÛs ·Õ X"+Z.< ! 4U ã/ËÂ45[ FiXÏjGy'!É!*,ŸÇ"+3Ú*ð.ð½êï#’ !  ! ëõÚn ³ úCæ<3æv" ð ¦ ‚ÚZ! !Ž"#? Øè"Z¯T€ ! ã"ŒY7#3M äÓþßëA®(¨% ºTPè„Cft }ŸSÞ"`„ qࢠ¶Ù ºÓUT 67Tp} %$\k!C Û]Èë宄  ûžÌ° ! ÔO Õ#¡ÅÅ üÆ^ L 15!í Üh#b4xíì0\ žy€Ód"¤#`}§Ï ³ #¿ ¬ªw"Õî¯`© ’ˆB ³.ç× ª•³»"ä "£… 2·C ]¢d#¹"µ“ 7sÂ"5´Î§ãurÁê Ë&§=êòÌÚ¡ §"A±z^!— óhÓ8 ò¿wC, * C·— Ÿ×! ƒ$¨»D P Œ!ʶ"³Í‰ c#¦CÉ ­ !  £´Kl£Ÿà*Ø!OBå Šì!!žá ! # &ËŽ;"<;2•?ú¬ ! ÿÐ ² F õR­ ”)Ö.ph€< . À%e&¤»fQ¯äë^ù ` „# X Œwî0ˆ"}é!u55úÑ¿×"ª¾Ê —÷ÔK 8\7d— Ø& ® Îùb­0b aÆ" Ø;å‹ ÷ \î Éz\ Æk™#l}d¾BÒeì","ª eK#¼jè©Ï`u(RZ†HU±”‡#›"$…"’ ÿ ! ¿#â ÊòPi7 ç)w|$¬Ñ#F« ÷íÔ+$#žv9ú‚3Ò & É4#p¢* P I‰‡äk7 ! §"àÔ´ Žªô"÷"Ô‰^bÓ?ë!n M⣂"œz!Ö#hý÷„UŠ{{YI!! £À ”sË#@ã«Ç#̬º÷^[   å#B îTã<ç~ à! ø9ƒ Æ Sâz‘v°ýuxÖwèqEÞÉ"8ª»½:G­ ! ö!Äyf.Îl¦‘ <cÐD*ÎÆ ‚#¬Ž÷#AŠ°” ! 4 r Ý 9Ô J!ë^ §$…¼§²'6 K B”ž‘^Ê íÄþÝ!º ! ™!Ù¹mD"Äå° )üˆ€"A+ (É X %L’t\Ž{£R®ÜaCIe 9 ù ! à>àS «…Î ! {Y"P?¼ ! ª#ü>ñ#oÐ#ï ¿¯« + `™EG‹0ù2GxY#+4ó“?ˆª ! ì#ò ʉâ¶Á@«7 y›½bÝ !ýuØü5Öô ßEæñZƒ Œ®fe‡!ùäèrÀ 3- Ž pþ>bÈH"Z ÙÚ˜¬G2 „!CË¢ìrx!ï<Ì ˆ9 ! ; œÍmx×s6 ‰dêÞ„øV¸ö@¡%"Ä!ÉHê¹­#WN }ßÇÞ  Ç$íú°åö T 3 lvŒ` ! ^ F˜0y![ ! °"yí/#­Ù$S]g*U"ù+e!"¾ëUò(‘YÁ!­µ!‚ 8f\üþ>ìú}# ! c: Qà ! &¥ hK p Š ! vàFTÄÒ Òª;FÒpÅ +€›Ñ!• þã2Ã8'9 ÜÌÍ\h˜ó \’)«!2ˆÅ$Ò_ «¢ F×A¦± ë (–Ó²"Ï ! U*y"\¯òX!hñaDêc[  –Ï y!*B §çÂÚ Õ60 "¬¹Ä3!,ì2 g‰ ! !õ|‚‹`z) (5¿‹ ! &ÿ I 4/H³ä"í ¯#™ uÃW 7–q!õ Z#x$!†—ê" “­úºPã9• âMc r> «v;Œ+ §"ô ! ÑZ˜!ØÈ ¥hô:™˜>›˜Ô, ö Ø ÒÈDéŽ Xø ä { ² !  \Iç -Æ!ûµ<³X ¢!Å , ! œè€¶#·xó(ÙV"îû Ö  ïŒ U!9 íÂèÛ²Í ! lœP #ñÚÑè ! 3 }f1ñ {!ÁXó ! åVs¿Ä ü#M7[/ï_!é x a Nä ! ÿ; у)çêò–ð ÚÏÆ˃Š1sÛzлŠ³³"/YÇÝÐ ¸ ýŸÆQ ¦—.YW ßWǃqN‹!v!1Íø0 ! A §z ! ûž@µ’.*Àr•"°<Ìð@îÄßÝœx ! À ! Ð#×#š#®¾¡o¨m rk ! ÞÆ1"æ‰ «7¾ ª!O|¤èå ÏÑ üðb_8ÕÓÒ ! ¦¤ø Ç “tÿŠ¬l ˆŽýWý ôn ÊE#Xw tT8"˜Ö1‹p¼—¸$. Ô È— A-À3 ! à 4é $<i ˜,¾"‡M¼÷¼œwe $ï#Œâ ¬-› » yZƒºßX ! ƒê #½õœ² ! QŽˆ º¿]´õIK# ¼àµí`š<yHš'Q d ÔÛ”H¿”M¦!œ" ! „·ÝÜ#¿ ó!- ˆ V¼£z†"Ÿjq ! =þá ! r÷ TÁ_ ! :Îí1 ! éu ¢ã I0æ¾Ù] ¨Ø+ ! ¨™B¬ Kâ.¶ab®PÃ'"C Z ! ù"šò#† çv#¨6—n‡jƒÀ -‘ø”!T ! A#| ›ÁXû Í"þf huO‘s.ñkÐ!JÁxß¿!3Î_§„qˆ¨¾ü"!hGÓUW× af{ õ!ĸ¢ Ã"°=¦òAkn § › I †—“Ão M$R#O‘ó="Ž ÔóžÀ€ ÿ@\~U7"Ãî#4CïC!"Ÿ ! åã % ƒ±º–ò´æÌî #Ÿ‘"µšX÷üCKRê!¥"²s-##:,Y(#Í¥52?‘m} †`! ß >NÛk ÿ!y "š=©¯!S!°’vlÎ[7, ¬À5 …Z"Î ! ²ÝYË gs#ä²€ÃÜ!!¨-« o ôÈ ó ­«å‘ŽU{î!( !Ì"$ ÓA†Y¿ÿ… ! $s¹®! +°‘!«Ü}ÏXÄÓ9ê:õª"äaˆê „$6¿û --®Qè  ! €x&ŒG"[éi•zè„Ùã#£ "TC ´É ã s:"¨˜ é² ÒŠ Ó"b ! "Ly*dQy¦š­{Oߎ' ! Eü F!@u)î ý— ! ‰!o!c ô7qDÀ ˇó?’¢õ\ d O;ÈRzÊLíšÌ#L9äÞ=& ÉýÁÑi€üu’!© ! ÅíòQ!k rZE ûÐe }Ñ R ! ?I–1 îÿ•²ÀÙbë,!) ´’&þfÌö½r™'Ž#p?B<|Ä0ºÝ ! €^MÄ wÃÍ£=#"p< Û¬Ù•Â:(W Ué·A 6 ! @® – ÇÈÌ ß7êÊ ! ; ! Lp3Ùà +#*!þW•È§u‡g )Þƒð] ! ûÕ MÛ â ! ÿ‡D ?[\Ý @Ñ5 ¨° ! & ¥ Òfó § ! H#Ç^$W ý=+µÚŒ#%â s´« F`ç¶! ȇ |TÁ²è]2N !  Ï- fs1Ûã¸þô [a“xÂHxê Tž¤êÚ Ë]*ظoRh «· õE¦ – *A [O !  GÐ *ì«ZΪ 4üG ‘³;–#ÚþY!"’Ê# @f Iæ+Ls δ #(–!¡ Š#š¶óBùàxX²$ r¿ ! ! ,lÔ~ ìy Í —” `9 ® ! ­._jØ °F ! $™  ·ö›à ( e¾Ï#Jd ! ¥N¾ vh!kÄ  šØ#Hn¥è ^þ•°s!QëW"Ÿ§È#M¾õ›vBâlh dÕp”"‚ ! SùÝ<,' ¤’{õ‹ì2F"Ò1#ª^ Ÿ!†zž®21îóÄü ! }!Šµ "/ƒ­"¹G¾Y€€¸ìV@ DÑ."žf"£æÐR e t¶ Ì õ&îVt©X¤$¥A ! % ›']’ …çdÁPpÞF!Í a!z’ Ë o#tW‡y Š ‹dÅS »f#U<Û#Üú ! ^ÐöM Ô#«"g Ô!&žab §½ãÞ£ ‡Jç j5¶Æ p@–ýÄ žLŸ æ ! u2P-ù; ™V#×}®"µ t™4 ð“gÂ! D ¥#•où#RBâ"¹É @ ]‘ Â#—ß+AEš"¡ò!ÅÈ@!Š=LÜMdäÛúbm ! 5#ÿ÷ä@´ ! 0Tñt OniÌHmU V ! Tï " Á -ü n~ ! W Ï" ’ 5°u û¡5¡!747!@©kð #pV Æ%¿ðò ! –i®Œ¾Êz ˜ E ×Èiù¥E{!¹>˜Ww åÀ$ š$Ûkð1€XºuRÊ`À [ ò 5¾$ "›ÊlÑ3"Nxï ! .$v@ªš m–ôÞ Ï\åÙeiÀ!æ:ý"/TÖÇìõ ,pô ">m# ƒ¸´ á½[7 E|!8K¹_ ! ·áìæÀ'éàT× ! v…ãÎÌy$ q‘¼ ð Q ! «~Ý ‚< ûoä±0]¼æ‘ ! 0 ·ˆŽü ~ªÿ± !   ±sô(;qö#šV’Ìœà » l ƒ d"}p ª !ÀúýÓž]s+† Ú+9¤I®—úe˜ äˆCþ¬"$•]ÇX'5˜$# : ! Â(NÔU¸ gj>øñÈ!• ?Á#” .Š`Š…g¡žáµ ! è4Ë €¨ !h%®ÐêpD .‡ ¬¯ i÷ÕL 0!$ˆ»L8š2 ! fj#ý H* ! \ £"Eù  ! d'2¬ c±ºš :¶æx{ ! îlj60þZ ! á"P 3""æb ÿ Ÿ|*"´"× Ž,›! ýŠº!v ! ªün!/ ! G ¹ ¢]! oàv PºÃ:O÷o   ! ³ ±ñ¼ %B½#Ô_#VZÉ' ‡¬g‰VˆRé&Jß]ªö¢ð@e­ ÇrÇ ! c° š] Å"s\"ÊRÓ]‚å"^©4Éí °QÔk7 ”mi"%"¶ðó#A2F ?[‡còª ‰CŸ"(U õc’#t c¶ ! ˜ xfZ'8°ú ?^Kd» I1 óD ! ¢#ª±Õ›© ³# H "ƒ. ! …‰u q¯i±#"öä*uE ­GNì  ! à ò <F>Í§í» ~ž ;Þ$ ! ù ’b þ yœ *!÷ ‡ ÂÃA©y uSŽ!½w ÞO þ6Á èùJ Á¶bãn­¹'Ò q êØ#âÅ!’ °†îZ¦¸Šô¢g"‘.Üóf¿ ¦” ! Œ k"ÔSzj"ç!ƒ<R ¯‰" ! É œ F¦_G¸!þ Þ uý ü ¶Ä£ö ?ÈI#7à"' ! €ò©Üp2ÍB"Â\  »a2 9ÍVG Á(ÆÉµÍ eçÝ’Å ‹®²n±9éJ UØž— “ ! ! Ò#£Ã'° ¸ Ÿ®$¿å´;" ƒƒ›1!Ü [ɉ#M ! ܘ芼é#„‡"q ¢iØŽÄÞN·J 5}C ÊÎ yB!„ÝË o±/{¢ 2˜„é̦ XÞhG z㜠ÊÈ ¿ pŸ xG9˜ }#IUЋ"L!þ ‘ ¦¸£Îâ|?F)½ ! =ñðÉÚ  é #A – ! !‚ ;bÚ ¬ñШ"¸{Ù"^ŒcwñO6!}{tv ›"l2FÁQ–~¬3vk’ ß ! Ï]÷q£È 9xg³ŠiS ! Kà  ÛIF¶ Âq"¾íB,ÁÄ ! Q‰0 R ! #í»ÈD æ<Ü´"4O|–­ì‚7wø Ž$$/{8ô™(ÄÔp™J6W[ dòÕ Æ5" kÙ˜› c*Åð !  ôŸå5…€{ ÐëÏi z3³‹ ü~léÐ 0‡ ¦"`ÎO êb#ÑDt} »}$"ìÁð De)>"¥PH\OC ! j ×Æó·‡&¯Ìê‰ #r8°‘™ðN ó"­ ˜âžY£› ! `ì ! <"Oó ®êß“ 8~( K— ©È¨ˆ2` #šl Q Ñòm0Óók®éßY† Ø ! Püb ! · ! ñ¼ ! aÛ jL"»õÛd1B|? \ ¼„m Þ$ºò|mN²R z, ’æ¹/!w Næ Ò¢hû–á!ù˜åEØ"ªWÿ8‹Ç º£3u f K u ! G¢<µ ƒ‚ F¾& !  БM ×.zÇT!ði" ! ž-÷©(Sea"ì· í ! Îu( … ! HÕ!Ïp ‚·†Š"–@>—ªÞ pÅ«J×ò!ü?!Ãgy ! „¦.Z ¢­ˆ^Äo– ! †%a!ªy#!D™ JÜaÿ" ! DÝ ¬lŸ0‡ Éš I¡!ÖóòöJß#ãâƒ#$8"]#ÉFÎ"~óñ¶s"Ð|"= Œ"¢$`â±> â¾ùÎá»Ï!@ ¸ çÒˆr @ _WP N Ön&Œ ýi›‰Id ! ±vf “/ ûß | ³y,öjz#:ÈA {Bù_&#["¼š!Q›·–ü`#Æ©"© ËÔB ! n ° †øàû#ð5–}#J ! C–y"6 Xr¥2EÖ· ! Ò ‚2 .#/ Ø $R!5 {ͦ ! e#*ïR > ñ Öݯ<#±Á”ÍBÑy‹Þ¦. êôúF !qûeóQ" è!¨ì Š§#79÷ç€ÿdþÒ,‰Õ Gi¥ v»Ó £ã¾ ! ©· ‘ ! ëºà"â †ì(l !] ÀPø ! e Wl¶iéœÜ :¦ ! :!ûäé3Fëí á½Ú"[[LL ! GIñ("1,QÒŠRWƒnº}ㆳǼÛBjà __ú œ‰u¬ ! ƒ"¡ &x"k |ÿ#š#C"oµèµ¯…™ Vg ! @ Œ ¡•îÚ#êCŒ S!­`QPæ ”o@"òwÓ2~aÔ¾ü!éc~"¡ :ï©—p!=²(Y :븎û#ʶ–"^¤) (×ÙÍÞä\¹->φ í j …C±"nðÀyôôÖo—§ {} p¡$á~ ½ Ö F0#YåUC Ó`ÁCØ›Dgá /˜¸r"E—{#\˜` ,% =  ! dÑp =­ PR"p ¼ Ú,!,Lk#r+"1¸- ! „¼p4 ! #¼!0"VÂXû%çŒ"?"ȶ x ú- ÿ Î Å /  ƒ#… ‚ŸERQ= H /1 M#F!T âoOœ³ ¡ ¯"!™ö0=) À³±²¦[ ! T] ß" Ù·lرVÐ ! Ëìd ßj ›-—œµš¢¤h Öu!3ø[ ól¯•  ! Cëž"<qÞ6 ø€ØÖµ®àÝ×®õü¤é¨*_á Ó#Ý0 "™ ! Q#Ea Ú DÌ –T•£ “" ]ý L R`€ê¸¡J!2ÉÙ ! ˆ¼ˆ"É#W For bug reporting instructions, please see: --- 1,1483 ---- ! Þ•£$4%ß0LJÈ É -Ë 1ù + @Ûa+=0iKšæ ü<BYRœ>ï@.9oC©Fí54Ij´Ë!à$ 'H"f+‰#µ”Ùnt'“»FÙQ 5r]¨wI~AÈK ! NVB¥OèL8R…;Ø8>MIŒIÖB ~c?âD"Eg@­EîC4=xZ¶@6R{‰B?H‰ˆ9PLCFás( Eœ Câ Q&!Nx!Ç!GX"Œ "O-#R}#CÐ#Q$Nf$Fµ$9ü$=6%=t%4²%Pç%M8&E†&BÌ&G'IW'H¡'Bê'=-(7k(6£)*Ú)I*O*ol*-Ü*E ! + ! P+'[+8ƒ+>¼+û+) ,07,h,+q,Z,+ø,m$-;’-EÎ- .5.J.].$}.$¢.*Ç.*ò./8/ S/_/#p/”/8«/ä/!õ/;0ES0™05¸0Eî0%41Z10x1L©16ö17-2le2GÒ2$3J?3EŠ32Ð3E4lI4¶43Ò4@5G5_5h5 5& 5JÇ586UK6-¡6_Ï6Y/7l‰7Xö7TO8Q¤8Kö8LB9S95ã9I:Yc:c½:=!;_;u;#…;#©;3Í;*<4,<.a<2<4Ã<,ø<6%=Q\=3®=3â==>T>Ch>I¬>Iö>W@?E˜?"Þ?9@.;@5j@7 @#Ø@,ü@$)A$NA#sA&—A¾A6ØAJB2ZB&B,´BPáBH2Cx{C?ôCF4D3{D.¯D9ÞD2E-KE_yEVÙEZ0FE‹FHÑFFGEaG:§G;âGDHgcHsËHi?Io©I<JSVJ{ªJ]&Kd„KŒéKWvLNÎLpMJŽM`ÙMI:No„NRôNkGO9³O9íO'P(GP*pP:›PWÖPY.QZˆQ\ãQ¬@RÌíR^ºSnTfˆTvïTefUuÌU\BVlŸVJ WLWWž¤W¾CXWYgZY_ÂYo"Z^’ZnñZU`[e¶[)\%F\|l\œé\F†]VÍ]N$^^s^MÒ^] _D~_TÃ_ `!9` [`&|`4£`Ø`-ñ`#aCa._a Ža¯a.Èa!÷afb4€bLµb"c%c(7c,`cc0¨cSÙc&-d'Td5|d*²d;Ýd9e;Sepe>fX?fU˜fHîf.7g;fg]¢gyhCzhT¾hEiUYiM¯i*ýid(jIj&×j>þjl=kmªk7lZPlA«l?íl!-m,Om5|m!²m@ÔmKn,anŽnB¬n>ïnf.oE•o!Ûo!ýo'pBGpjŠp(õp;qZqyq*—q8Âq&ûq-"r"Prsr)Šr_´r:s8Os/ˆs"¸s*Ûs-t4t:Kt†t¥t$Ät2étu3uURu-¨u/Öu?v?Fv0†v+·vAãv.%w*Tw2w2²w1åw0x9Hx1‚x2´x1çx+y3Ey.yyD¨y3íy$!z+FzCrz:¶zñz6{CE{@‰{BÊ{K |*Y|„|'¢|0Ê|û|"}?9} y}#š}0¾}(ï}.~*G~,r~1Ÿ~3Ñ~H+N"z14Ï4€$9€$^€9ƒ€9½€8÷€10Db1§/Ù1 ‚E;‚2‚+´‚-à‚ƒ-ƒLƒEdƒ<ªƒ;çƒE#„Fi„°„5Ì„9…*<…*g…?’…6Ò…8 †XB†E›†3á†5‡(K‡8t‡;­‡Ré‡V<ˆQ“ˆUåˆ4;‰2p‰Z£‰`þ‰8_ŠU˜Š3îŠ "‹/C‹1s‹H¥‹"î‹8Œ3JŒC~Œ/ÂŒ2òŒ4%.ZE‰/Ï ÿ7 ŽBXŽ(›Ž$ÄŽ8éŽ"NB1‘JÃ5@D4…kºX&‘>‘'¾‘"æ‘& ’<0’m’l’,ú’*'“!R“@t“$µ“$Ú“&ÿ“(&”5O”e…”%ë”?•Q•`••š•4µ•ê•ù•/–MF–B”–6×–G—zV—^Ñ—z0˜Y«˜'™=-™:k™,¦™6Ó™: ! š3Eš8yš/²š@âš!#›BE›Wˆ›:à›*œ1Fœwxœ3ðœ($2M'€D¨5í)#ž2Mžo€žIðž):Ÿ!dŸ+†Ÿ:²Ÿ=íŸ3+ !_ 9 -» %é /¡#?¡5c¡9™¡=Ó¡G¢Y¢t¢ ’¢®3£Lâ£M/¤¬}¤¼*¥\ç¥jD¦M¯¦Ný¦¸L§¬¨^²¨f©Èx©¼Aªfþªne«„Ô«2Y¬MŒ¬BÚ¬s­ ‘­-²­Ià­@*®”k®[¯†\¯Tã¯48°Vm°0Ä°-õ°5#±BY±^œ±7û±>3²0r²4£²7زC³FT³6›³EÒ³’´Q«´Xý´Vµ*vµ;¡µ(ݵ6¶#=¶a¶2}¶#°¶'Ô¶/ü¶1,·B^·-¡·1Ï·!¸)#¸>M¸AŒ¸KθC¹,^¹*‹¹/¶¹,æ¹+º?º*[º†ºMŸºJíº8»+X»p„»õ»4¼<¼M¼-h¼–¼´¼@Ò¼½"'½J½:a½9œ½9Ö½"¾33¾!g¾‰¾*¢¾0;9þ¾#8¿$\¿A¿ÿ"Ý¿-À/.À,^À<‹ÀFÈÀÁ+*Á4VÁ7‹ÁSÃÁGÂ%_Â!…Â*§ÂÒÂîÂ= Ã*IÃ/täÃWÄÃ-Ä#JÄ*nÄ™Ä!±Ä ÓÄ ôÄ#Å'9Å"aÅ&„Å«Å#ËÅ'ïÅ"Æ-:ÆhÆzÆ.“Æ ÂÆ#ãÆÇ$ÇCÇ:aÇ0œÇÍÇàÇ$ÿÇ%$ÈJÈ#hÈ'ŒÈ´È6ÓÈ ! ÉÉ2É%QÉwɗɶÉÑÉ%ìÉÊ.Ê3LʀʖʵÊ]ÇÊ%Ë#;Ë0_Ë/Ë#ÀËäËÌÌ,7ÌAdÌ*¦Ì.ÑÌ!Í*"Í=MÍ!‹Í'­ÍHÕÍ5Î.T΃ΔÎ$¤Î(ÉÎ=òÎ.0Ï_Ï;yÏ(µÏÞÏ.ùÏ(ÐGÐ0gÐ5˜ÐÎÐäÐ"óÐ"Ñ}9Ñ2·Ñ6êÑ4!ÒCVÒJšÒ*åÒ)Ó:ÓYÓ"xÓ6›Ó'ÒÓIúÓ,DÔ.qÔ1 Ô2ÒÔCÕ5IÕÕ)ŸÕ%ÉÕïÕÖ"Ö2>Ö<qÖ3®Ö0âÖ×4)×8^×8—×Ð×+î×(Ø,CØpØ-Ø/½Ø-íØ.Ù(JÙ*sÙ1žÙGÐÙKÚJdÚ,¯Ú&ÜÚ,Û"0Û=SÛ,‘Û'¾Û1æÛ#Ü'<Ü9dÜ0žÜ'ÏÜ3÷Ü0+Ý/\Ý(ŒÝ1µÝ)çÝ3Þ6EÞ |Þ?Þ+ÝÞ. ß-8ß+fß ’ß'³ßÛß*ôß'à*Gàrà]Œà;êà &á)Gá"qá'”á¼á-×á+â1âCâFYâ â-Àâ îâã%ã17ã\iãLÆãIäM]äK«äZ÷äkRåK¾åN ! æ+Yæ#…æ0©æ/Úæ# ! ç-.ç&\çƒçšç+±ç Ýç*þç.)èXè?xè,¸èåèýè"é4=éJré;½éCùé<=ê5zê*°ê.ÛêF ! ë+Që>}ë'¼ë:äëì6ìQì5kì=¡ìßì0úì+í6=íCtí:¸í;óí/î.Kî+zî¦îÆîåî"ï(ïAïaï)yï)£ïÍïèï ÿï# ðDðZð$uðšð2¹ðìðñ1ñ5Mñ'ƒñ9«ñåñ"éñ" ò/òGLò”ò'ªò0Òò6ó*:ó,eó0’ó"Ãó-æó+ô!@ô bô ƒô ¤ô#Åô$éôõ+.õ1Zõ/Œõ¼õ"Üõ"ÿõF"öUiöP¿ö'÷8÷K÷1\÷'Ž÷m¶÷$ø5ø:Gø3‚ø$¶øÛø'øø ù'<ù dù …ù-¦ù+Ôùaú-búú,©ú#Öúúúû#4ûOXû¨û¹û-Ñûÿû7ü'Pü!xü#šü¾ü!Þü%ý#&ýJýfý!xýšý°ý.Ëý úýaþ.jþ™þdªþ1ÿAÿDÿHÿ2Xÿ2‹ÿM¾ÿM 0Z‹(’,» èõþ9%_x#’O¶.95o+*¹,ä-/?o2†*¹.ä)&='d&Œ&³%Ú#'$%L(r ›$¼ á",%2R…¥*Ä,ï.$K*pA›3Ý:1L)~¨È)âL /Y 6‰ À Û 3û 7/ ! >g ! ,¦ ! ,Ó ! 1 2 1N $€ 0¥ Ö ì 7ó + K g #{ Ÿ +¿ ë ò   / K k ~ ‘ :¨ )ã J CXœ,´Oá18?,G ! t6¶Õò( :4o7Œ(Äí5 CW)q/›!Ë í' 60Wˆ £ ±Òéÿ2A-_"!°)Òüþ$3>rŽ1®:à>Zclu~!‡© ÅÒ Ûèñú (1-55c,™Æ ܆èroâ*<+.h—³5Ð €•;›’×ej(Ð+ù.%+T-€|®n+3šAÎk5|'²7Ú.5A&w$ž.Ãò[“jLþŒK ‚Ø v[!mÒ!J@"¹‹"+E#1q#:£#$Þ#+$/$I$c$)|$.¦$>Õ$<%;Q%'%Fµ%Wü%ST&Y¨&L'LO'œœ'?9(Qy(bË(B.)Eq)O·)s*[{*V×*\.+‚‹+=,}L,LÊ,<-0T--…-8³-Qì-B>.G.QÉ.H/Jd/W¯/Z0Vb0H¹0D1JG1?’1=Ò1B2CS27—2AÏ2*3G<3M„3KÒ3;4?Z4Eš4Hà4b)5JŒ5c×5Z;69–61Ð6B7LE7r’7N89T86Ž8ZÅ89 9iZ9]Ä9w":Xš:Ió:O=;@;2Î;F<bH<U«<M=@O=V=Wç=9?>ly>\æ>BC?y†?T@PU@I¦@Fð@N7AC†AGÊA~Bz‘BL C:YCS”CRèC>;D:zDdµD'E*BECmE/±EAáEL#F6pFE§FCíFB1G+tG? G@àG=!H:_HAšHCÜHG I2hI7›IBÓIZJ@qJ+²J+ÞJ9 ! KIDKCŽK)ÒKMüK7JL+‚L:®LAéL++M*WM*‚M,­M(ÚMN=!N>_NOžNîN% Ou/O3¥OOÙO )PDJP5P[ÅPB!QQdQ?¶QöQR82RukR=áR:S$ZSAS3ÁS#õS-T+GT,sT# T>ÄT0U 4U3@U tU(€U©U ÂU!ÎU ! ðUûU ! V V+VBVUV]V fVpV€V V›V ±V½VØVóV W W W0WBWWW jW tWW‘W¡W ´W ! ¾W%ÉW-ïW^X6|X!³XŒÕX[bY7¾YOöY0FZwZ?ŽZ5ÎZ[+[0@[$q[+–[*Â[Aí[:/\Bj\P­\wþ\Cv]'º]7â]5^?P^=^)Î^:ø^H3_J|_1Ç_'ù_‡!`V©aWbEXb)žb:Èb)c-cBFc7‰cÁcÚcïcdd'.dVdtd$†d«d+Ëd#÷d/e%Keqee(©ehÒe%;fHaf4ªflßfHLgC•gBÙg(h2Eh6xhl¯heiM‚i$Ðimõi3cj2—j*Êj4õjQ*k>|k#»k+ßk1 l'=l5elV›lmòl{`m@Üm0nnNn+½nén*o'2o&Zo'o@©oSêo#>p!bpJ„p>ÏpZq.iqL˜q1åq%rD=rK‚rÎr:ìr0's$Xs}s™s$·sFÜs%#t6It)€tVªtGu4Iut~u@óu:4vov9vFÉv/w#@w2dw1—wXÉwC"x6fx1x7Ïx*y!2y*Ty)yP©y6úy/1z/az/‘z8Áz9úz94{6n{7¥{.Ý{9 |-F|:t|<¯|/ì|>}+[}‡}œ}'°}Ø}ò}% ~73~7k~>£~Gâ~(*3S ‡'¨;Ð9 €DF€B‹€D΀B?V–^´P‚5d‚*š‚8Å‚%þ‚$$ƒGIƒ)‘ƒ8»ƒ;ôƒR0„+ƒ„:¯„.ê„K…%e…‹…&§…1Î…%†%&†$L†Tq†2Ɔ*ù†1$‡KV‡D¢‡+ç‡&ˆ%:ˆ$`ˆ?…ˆ/ňõˆ#‰.5‰1d‰z–‰tŠ9†Š[ÀŠ<‹GY‹*¡‹)Ì‹Xö‹<OŒ#ŒŒ(°Œ/ÙŒ2 1<anÐ@á "Ž:0Ž&kŽ3’ŽJÆŽ1>C<‚B¿1643k+Ÿ(Ë>ô'3‘,[‘4ˆ‘B½‘k’:l’§’!À’â’þ’“+3“_“ }“ž“:½“Gø“@@”8”1º”;ì”(•9•H•g•.|•«•<Å•5–58–3n–5¢–Ø–#ô–— !—..—0]—8Ž—Ç—Eç—@-˜>n˜<­˜<ê˜5'™=]™›™$»™[à™A<š_~šcÞšDB›M‡›GÕ›_œ+}œ.©œØœôœ#)(M>v6µ.ì9žKUž2¡ž8Ôž0 Ÿ/>Ÿ-nŸ8œŸ4ÕŸ !  ,& 3S <‡ Ä Ü õ !¡+7¡?c¡8£¡Ü¡>ù¡58¢n¢'‡¢M¯¢:ý¢78£p£!Ž£°£ É£×£ 棤#¤12¤ d¤%q¤%—¤(½¤æ¤0¥*3¥)^¥>ˆ¥`Ç¥6(¦?_¦$Ÿ¦#Ħ%è¦*§>9§x§)‘§8»§:ô§"/¨0R¨6ƒ¨Wº¨U©?h©"¨©nË©@:ª+{ªY§ª!«!#«:E«_€«à«ý« ¬;¬Z¬(o¬˜¬®¬Ŭܬ ü¬!­!?­#a­#…­-©­×­)î­j®'ƒ®'«®PÓ®X$¯,}¯9ª¯ ä¯Q…°/×°j±fr±.Ù±?²KH²”²*©²!Ô²6ö²7-³#e³c‰³Oí³7=´#u´7™´#Ñ´9õ´%/µ9Uµ%µKµµ7¶99¶%s¶T™¶hî¶OW·c§·) ¸<5¸)r¸)œ¸'ƸBî¸1¹*N¹'y¹'¡¹Iɹ"º:6º;qº+­º4Ùº»'*»-R»€»:Ÿ»GÚ»?"¼?b¼1¢¼[Ô¼!0½#R½Ov½)ƽ ð½J¾0\¾;¾Oɾ%¿?¿<W¿”¿0­¿.Þ¿ À#)ÀMÀ\À7{À3³À3çÀÁ--Á2[Á6ŽÁ=ÅÁ=Â#AÂ)eÂÂ*¥Â*ÐÂ$ûÂ3 Ã*TÃOÃlÏÃy<Äu¶Ä:,ÅDgÅ'¬ÅˆÔÅ°]ƄǬ“Ǧ@ÈÎçÈ)¶É4àÉ)Ê3?Ê#sÊ—Ê0¨Ê0ÙÊ" ! Ë"-Ë"PË sË ”Ë$µË$ÚË$ÿË"$Ì"GÌ)jÌ,”Ì)ÁÌ'ëÌLÍK`Íd¬Í?ÎWQÎ#©Î$ÍÎ#òÎ!Ï8Ï×HÐ@ Ñ:aÑ:œÑ+×Ñ8ÒM<ÒOŠÒÚÒFëÒg2ÓMšÓ èÓ Ô8%Ô?^ÔBžÔáÔøÔ* Õ“7Õ"ËÕ îÕ2Ö3BÖ$vÖ7›ÖÓÖóÖ ×*$×:O×*Š×1µ×qç×.YØ9ˆØ"ÂØ9åØÙ,:ÙgÙ2€Ù9³Ù:íÙ*(Ú SÚ!tÚ!–Ú6¸ÚDïÚ44Û,iÛ*–ÛÁÛáÛ;üÛ68Ü3oÜ.£Ü$ÒÜ?÷Ü-7Ý,eÝ9’Ý<ÌÝ= Þ7GÞeÞ:åÞH ß,iß-–ßXÄß.àLà$iàŽà ¬àÍàFàà4'á4\á‘á#©áÍá)åá&â&6â+]â(‰â"²â(Õâ(þâ)'ã)Qã*{ã*¦ã*Ñã*üã*'ä*Rä*}ä*¨ä*Óä*þä*)å*Tå(å(¨å(Ñå(úå(#æ(Læ)uæ(Ÿæ(Èæ(ñæ(ç*Cç*nç*™ç*Äç(ïç(è(Aè(jè(“è(¼è(åè(é(7é(`é)‰é)³é'Ýé(ê(.ê)Wê)ê(«ê(Ôê(ýê(&ë+Oë'{ë'£ë(Ëë'ôë3ì4Pì4…ì3ºì"îìBí?Tí%”í ºíBÛí3î6Rî4‰îF¾î{ï:ï'¼ïäï#ð$ð6?ð.vð4¥ð)ÚðñL ñ>Zñ"™ñT¼ñò+ò&Hò&oò –ò0·ò(èòó&*ó+Qó'}ó!¥óÇó!çó! ô-+ô(Yô"‚ô"¥ô)Èô,òô õ+@õ$lõ)‘õQ»õ› ö"©ö*Ìö1÷ö-)÷)W÷÷:—÷=Ò÷5ø-Fø"tø<—ø7Ôø? ù5Lù9‚ù3¼ù4ðù9%ú8_úA˜ú;Úú7û%Nû)tû,žû5Ëû"ü.$ü"Sü*vü¡ü:±üìü.ý$1ýaVý+¸ýBäý0'þ0Xþ6‰þÀþÛþiøþ*bÿ)ÿ1·ÿ-éÿ/)G,qbž(4*d_oÄB41w*©*Ôÿ>0^67Æ]þ0\6ÄÖ,õ)"$Lq7(È/ñ1!S&e!Œ(®:×2$E(j“>³!ò/D%].ƒ8²5ë! /1  a *‚ "­ LÐ G ! 8e ! (ž ! !Ç ! 7é ! )! %K %q — ³ +Ó "ÿ " #A -e *“ C¾  ( G ?a !¡ 0à $ô ,0+]‰vŸ^euMÛ);H2„·&Ñ8ø!1:SŽ­/Â<ò'/W1w(©7Ò ! $%Ji8„E½H)L)v( ÉUé0?-pOž)îO%hŽ­ÊäÿF"^=$¿!ä&;-(i#’/¶æ2<1o¡+¸ä)ú#$3H!|&žÅ1ã <6s2‰,¼ é( ! ,37`#˜0¼íc 4o6¤¢Û,~7«ã+¾G> ÛE v!!<˜! Õ!=ö!-4"'b"(Š"c³".#tF#‰»#!E$;g$0£$$Ô$'ù$"!%D%6_%!–%!¸%6Ú%"&)4&^&}&l”&;'9='@w'Y¸'&( 9(-Z(rˆ(Qû(;M)(‰)²)EÌ):*M*.b*R‘*+ä*&+?7++w+£+À+CÜ+ ,=&,d,%},£,"¼,-ß, -,-L-IR-!œ-X¾-E.].p.Aƒ.$Å.,ê./32/Nf/Cµ/#ù/00'N0v0%–0+¼05è01;1%Z1€1›1»1 ×1ø1 2"52%X20~2)¯20Ù2 ! 3:#32^3(‘30º3ë3ü34$.4 S4a4v4/‘4$Á4æ4'ö45B>5)5«53È5&ü5&#6YJ6-¤61Ò62777<W75”75Ê718)28O\8$¬8)Ñ8%û87!9/Y9F‰94Ð94:0::=k:6©:-à:2;!A;6c;Eš;à;9û;H5<:~<7¹<:ñ<7,=Fd= «=$·=OÜ==,>=j>5¨>?Þ>m?%Œ?C²?9ö?;0@sl@2à@2A3FA?zA8ºA+óA!BIAB9‹BÅB!ãB C3CBGC/ŠC>ºCJùCHDD~D5 E"BEZeE\ÀE F4+F@`F0¡FÒF:áF>GC[GŸG½G×G)íGH1H-MH{H‘H&­H4ÔH4 I4>I%sI0™I0ÊIBûI.>JmJe†J&ìJK*K=KUKiK)~K¨K¼KÐKæKûK6L!GLiL|LL¬LÀLÓLçLMM6MMMmM„M¤M»MØMìM:NB@NEƒN8ÉN4O/7O-gOH•O¹ÞO#˜P¼PÖPðP# Q$/Q4TQ&‰Q/°Q2àQ$R$8R%]R0ƒR´R&ÎRõR*S<:SMwS0ÅS0öS,'TTT!sT•TµTÐTêTUU8UXUsUŽU©U8ÄUýU8VQVlV‡V¢V!½VßVøVW./W^WzW–W#²W4ÖW; XGX#dX*ˆX)³XAÝX2Y'RY"zY"Y;ÀY0üY -Z"NZ!qZ!“Z$µZ$ÚZ9ÿZ69[=p[A®[/ð[- \EN\:”\nÏ\5>]0t],¥]>Ò]4^4F^{^'™^#Á^'å^# _(1_9Z_+”_)À_+ê_6`-M`>{`4º`4ï`2$a0Wa0ˆa+¹a/åa/b/Eb,ub$¢b]Çb%c6=ctc@’c>ÓcAd7Td:Œd2Çd5úd20eceKeËeèe*f-0f'^f†fQ¢f'ôfg7g-Rg(€g,©g,Ög,h)0hZh,uh6¢h'ÙhLiLNi<›i<ØiBjXj1wj.©jLØj%k Ek6fkJkXèk'Alil)„l@®l4ïlC$m&hmVm!æm+nB4n#wn:›n:ÖnCoIUoŸo-»oéoGp#Kp}op¯ípTqNòqjAr1¬rÞr;ýr49s:ns©sDÃsLt>Ut5”t+Êt+ötL"u'ou/—u(Çu6ðu='v=ev9£v=ÝvDw(`w4‰w,¾w-ëw(xCBx'†x.®xÝxDûx'@y@hy.©y0Øy! z<+zFhz6¯z.æzC{CY{&{,Ä{2ñ{D$| i|1Š|¼|9Û|:}PP}&¡}<È}8~->~l~!Š~1¬~.Þ~5 +CEo2µ5è2€>Q€>€HÏ€E0^6,Æ6óU*‚!€‚¢‚aÁ‚U#ƒ/yƒ2©ƒ$܃F„2H„${„N „Aï„;1…5m…t£…—†9°†?ê†:*‡8e‡%ž‡)ćî‡#ˆ#2ˆ)Vˆ‰€ˆ2 ! ‰%=‰%c‰&‰‰+°‰;܉&ŠU?Š•Š&²Š&ÙŠ/‹20‹/c‹8“‹4Ì‹!Œ+#Œ2OŒ-‚Œ%°Œ)ÖŒ%%&&L+sŸ2¼/ïaŽŒŽPj_4Ê'ÿ'Gc2l'Ÿ2Çú-‘2E‘7x‘2°‘=ã‘8!’6Z’;‘’4Í’9“4<“9q“4«“Eà“7&”1^”F”K×”c#•F‡•¾Î•P–Þ–ñ– ——1—A—T—k—,‰—0¶—*ç—L˜._˜Ž˜§˜<ǘ,™)1™F[™8¢™7Û™1š<EšB‚šCÅšN ›.X›/‡›N·›#œ6*œYaœZ»œ/(F-oQOïM?žIž8מ!Ÿ+2Ÿ+^Ÿ+ŠŸ+¶Ÿ,âŸ, -< -j -˜ -Æ -ô -"¡-P¡-~¡-¬¡-Ú¡-¢-6¢+d¢+¢+¼¢+è¢+£+@£,l£+™£+Å£+ñ£+¤-I¤-w¤-¥¤-Ó¤+¥+-¥+Y¥+…¥+±¥+Ý¥+ ¦+5¦+a¦+¦,¹¦,æ¦*§+>§+j§,–§,ç+ð§+¨+H¨+t¨. ¨*Ϩ*ú¨+%©#Q©Au©U·©B ª)Pªzª+’ªK¾ªM ! «9X«+’«<¾«6û«>2¬)q¬*›¬$Ƭ$ë¬#­$4­$Y­#~­‹¢­8.®Jg®W²®? ! ¯5J¯6€¯:·¯Bò¯@5°"v°™°8¹°)ò°'±4D±%y±'Ÿ±&DZ.î±,²J² d²*…²°²βé²(³<*³"g³,Š³$·³ܳ ò³3´G´?[´,›´'È´Yð´4Jµ,µ0¬µ0ݵ=¶0L¶:}¶1¸¶9ê¶1$·3V·5Š·1À·2ò·@%¸1f¸?˜¸Jظ6#¹4Z¹4¹<Ĺ>º=@º3~º:²º7íº6%»1\»EŽ»AÔ»Q¼_h¼OȼH½ a½‚½3—½1˽6ý½34¾2h¾0›¾/̾)ü¾#&¿*J¿@u¿%¶¿Ü¿?î¿$.ÀSÀ'rÀ(šÀ(ÃÀ5ìÀ"Á7Á!PÁ;rÁ:®Á5éÁÂ-2Â&` ‡Â¨Â'ÇÂ*ïÂ%Ã*@Ã$kÃAÃCÒÃ<Ä.SÄ3‚Ä)¶Ä6àÄ7Å4OÅ6„Å3»ÅIïÅ%9Æ_Æ xÆ'†Æ-®ÆÜÆOüÆHLÇH•Ç*ÞÇ( È2È1RÈ)„È-®È,ÜÈ, É<6É5sÉ&©É/ÐÉ=Ê&>Ê%eÊ7‹Ê5ÃÊ<ùÊ$6Ë.[Ë0ŠËW»ËÌ<#Ì`Ì9y̳ÌÏÌëÌ ! Í!+ÍMÍ:iÍ?¤ÍTäÍ9Î$TÎ-yΧÎuÃÎg9ÏD¡Ï:æÏ!!Ð*CÐ-nÐ#œÐ!ÀÐ0âÐ@Ñ<TÑ<‘Ñ&ÎÑ<õÑR2Ò;…Ò>ÁÒ@Ó8AÓwzÓ9òÓ3,ÔG`ÔX¨ÔGÕJIÕ9”ÕDÎÕYÖlmÖ"ÚÖ\ýÖLZ×8§×;à×EØGbØ?ªØjêØKUÙU¡Ù[÷ÙlSÚ4ÀÚOõÚEEÛO‹ÛiÛÛOEÜ8•Ü'ÎÜ:öÜa1Ý“ÝWÞ8mÞŒ¦ÞŽ3߆ÂßHIàN’à=áàiáY‰áuãávYâ)Ðâ)úâ<$ãaã*zã¥ã¼ã?Óã^ä=rä@°ädñäCVåJšåVåå9<æ%væ6œæ:Óæ8ç)Gç-qç'Ÿç%Çç%íçOè%cè‰è4¤è2Ùè é )é1Jé|é(œé#ÅéOéé99ê$sê.˜ê?Çê8ë;@ë+|ë4¨ë-Ýë ì3"ìVì(nìE—ìÝì'ôìí 3í1Aí&sí8šíSÓí'î+Cî oî |î†î™î³îÈî4Ýî4ï5Gï=}ï<»ï7øï;0ð.lðC›ðAßðû!ñìò! ! ó3,ó1`ó’ó(­óÖó4èó3ô4Qô1†ô>¸ô8÷ô20õ-cõ8‘õÊõ$ßõ4ö&9ö;`ö)œö8Æö8ÿö%8÷)^÷ˆ÷š÷.¬÷HÛ÷N$ø&sø7šø.Òø=ù9?ù6yù:°ù3ëù;ú:[ú:–úHÑú2û<Mû%Šû;°ûìû&ü!*ü#Lü*pü8›ü6Ôü ý +ý`5ý`–ý÷ý: þOGþ7—þ$Ïþ4ôþ)ÿ5Bÿxÿ*•ÿ)Àÿêÿ '*9d+{>§Bæ);H(„­CÇ $7=u##´#ØMü7J9‚7¼.ô<#6`>—;Ö>LQ*žÉ.á9"J"m).ºé;"=P`J±8üM5{ƒ\ÿ$\ E -Ç -õ E# ! @i ! 0ª ! )Û ! * 30 6d .› @Ê L MX F¦ Fí B4 Aw .¹ #è  L$3qW¥0ý.'I5q-§+Õ,0.%_9…¿Õ%í5IcZ})ØGGJ%’C¸)ü2& Y0z.«HÚ4#X$s#˜,¼)é&/:4j<Ÿ3Ü()9&c%ŠJ°ûE7I=0¿5ð‹&@²+ó-Mb4w=¬/ê ;4S)ˆ:²+í(6ByO•gå5M1ƒ<µ5ò"()K,u4¢B×0PKSœLð=sX$Ì8ñ\* ‡ $  Å )á # !1/!$a!†!#¢!$Æ!6ë!"""A"[d"0À";ñ"--#%[#:#=¼#Dú#F?$J†$NÑ$@ %8a%Pš%Hë%E4&"z&&6½&;ô&.0'._'KŽ'?Ú'+(F(&]('„(¬("Ç(.ê()9)W)8t)9­)4ç),*DI*#Ž*&²*1Ù*, +8+MH+9–+&Ð+÷+,* ,>K,/Š,,º,1ç,;-6U-!Œ-@®-2ï-&".,I.>v.1µ.6ç.2/3Q/0…/>¶/Jõ/N@010Á0%Û0&1!(1J1(i1 ’1.³1Dâ1"'21J2%|24¢2,×2"3#'3K3 e3G†33Î3&4&)4:P4B‹4AÎ4)5 :5<H53…5G¹5<6.>6:m6#¨6Ì62è672*7]7-x73¦7'Ú7%87(85`8I–8 à86î81%9/W98‡9À9ß9+û9B': j: x: †:%§:CÍ:3;vE;v¼;c3<—<´<;È<,=j1='œ=>Ä=>>>B>>›>®>È>šÛ>rv?‡é?/q@!¡@9Ã@ý@%A7AYPAKªA<öA”3BOÈB1C-JC-xC-¦CÔCéC8úCI3D(}D*¦D.ÑDDE2EExE‘E¨E!ÃE,åEF F.G=HG4†G2»G2îG1!HeSH3¹H3íH3!IgUI>½I|üIUyJ(ÏJøJOKaK0{K4¬K0áK/L*BL@mL8®L:çL$"M‚GM=ÊM N=)N"gNãŠNGnOD¶OSûONOP`žPDÿPPDQW•Q)íQ$RbªU>éU1(V)ZV?„V[ÄV@ W^aW9ÀWúW)X7BX@zX»X(ÓX#üX3 Y>TY(“Y#¼Y,àY< Z>JZ3‰ZS½ZA[S[k[1‹[$½['â[@ ! \CK\5\CÅ\C ]NM]5œ]<Ò]!^"1^?T^&”^J»^,_3_5O_A…_UÇ_%`C`5a`2—`=Ê`a/#a†SaŠÚaeebËb$åb0 ! c?;c_{c Ûc.üc +dLd3ld& d1Çd(ùd,"e3Oe*ƒeg®eAf"Xf3{f:¯f)êf3g4Hg/}g ­gÎg6èg4h4Th8‰h(Âh4ëh' i3Hi4|i;±iíiA jGOjN—jNæjV5k^ŒkcëkiOlh¹l"m¢m"n¢n"o¤o$p¦pr&q€™q€r€›rsƒœs9 t7ZtC’t6Öt7 u3Euyu;˜u5Ôu5 ! v@v3\v3v?Äv3w$8w4]w:’w8Íw3x&:xax~x(œx$Åx5êxH y2iy-œy-Êy.øyA'zYiz@Ãz{6${/[{‹{)¤{(Î{0÷{0(|[Y|Eµ|û|E}GT}'œ}&Ä}ë}!~G)~3q~1¥~$×~ü~.'0V"‡2ª,Ý( ! €+3€,_€&Œ€+³€+߀% "1T#t&˜7¿*÷)"‚)L‚$v‚)›‚-Å‚+ó‚%ƒ(Eƒ#nƒ'’ƒ4ºƒ'ïƒ&„ >„+_„‹„1ª„?Ü„;…X…/l…#œ…À…(Ý…"†9)†/c†+“† ¿†&à†*‡12‡d‡(€‡,©‡-Ö‡$ˆ&)ˆ,Pˆ*}ˆ!¨ˆ+ʈsöˆj‰$ˆ‰[­‰K ŠUŠ1kŠŠ¸Š׊ òŠpþŠ9o‹H©‹1ò‹<$ŒOaŒJ±Œ[üŒWX>°Gï)7Ž¹aŽ<.X*‡(²8Û4)I7s+«+×-‘91‘tk‘Là‘Z-’5ˆ’O¾’4“=C“A“7Ó5û“-1”;_”0›”NÌ”a•T}•GÒ•B–5]–S“–Tç–8<—Bu—-¸—2æ—I˜Nc˜\²˜‡™V—™Zî™yIšDÚZ›Nc›C²›Yö›OPœ? œ:àœ?<[J˜Jã0.ž>_ž2žž4Ñž_ŸDfŸA«ŸiíŸ/W I‡ oÑ IA¡X‹¡Yä¡T>¢K“¢aߢ\A£:ž£7Ù£K¤Ž]¤’ì¤ ¥ ¥g»¥#¦8¦S¦i¦1¦/±¦4ᦢ§}¹§A7¨Oy¨qɨ.;©Yj©"Ä©R穘:ª˜Óª l«&«M´«/¬;2¬n¬€¬< ¬Uݬ3­?N­?Ž­7έ;®"B®Be®<¨®"å®$¯.-¯\¯/{¯(«¯3Ô¯E°N°In°¸°@Ö°±/1±/a±.‘±HÀ±! ²-+²1Y²2‹²<¾²,û²'(³6P³"‡³ª³2ȳ]û³.Y´@ˆ´É´Iè´P2µ@ƒµ7ĵ8üµ5¶9N¶3ˆ¶N¼¶- ·/9·"i·%Œ·²·+Ñ·Sý·)Q¸/{¸«¸/ɸ+ù¸1%¹-W¹0…¹'¶¹,Þ¹ º+ºJº"Yº+|º2¨º#ÛºUÿº-U»ƒ»£»1¼»2î»3!¼0U¼1†¼4¸¼-í¼*½)F½+p½,œ½0ɽ-ú½((¾&Q¾&x¾$Ÿ¾5ľ'ú¾"¿ 7¿4X¿,¿5º¿ð¿& À!0À(RÀ!{À/ÀHÍÀHÁ/_ÁÁ'¬Á5ÔÁ2 ! ÂG=Â:…ÂÀÂXÞÂ7ÃPÃ`ÃpÃ$€Ã¥Ã=ÃÃ$Ä&ÄF@Ä(‡Ä(°Ä ÙÄ æÄóÄ$Å(ÅFÅ^ÅxÅŬÅÆÅDÜÅ*!Æ LÆ-VÆB„ÆÇÆ$ÚÆ0ÿÆ0Ç!LÇGnÇF¶ÇGýÇ5EÈ){È¥ÈÀÈ$ÖÈûÈ É6É"QÉItÉI¾ÉBÊ-KÊ;yÊIµÊ!ÿÊ8!Ë1ZË0ŒË7½Ë&õË,Ì&IÌpÌÌ8¨Ì1áÌÍ/Í-JÍ-xÍ,¦Í8ÓÍ= Î=JÎ=ˆÎ=ÆÎ ÏÏ)0Ï%ZÏ)€Ï2ªÏÝÏ1õÏ'ÐW?Ð:—Ð1ÒÐ6Ñ-;Ñ9iÑ£ÑÁÑ2ÚÑ1 Ò?ÒCZÒžÒ=½ÒoûÒ2kÓ1žÓÐÓ@éÓ"*Ô#MÔ(qÔ&šÔ-ÁÔ\ïÔ:LÕ1‡Õ;¹Õ/õÕH%ÖnÖ0ŠÖ'»ÖãÖ××/1×a×€×ž×¶× Ó×'ô×Ø9ØTØ/eØ4•Ø)ÊØ4ôØ)Ù@FÙ‡Ù/˜Ù"ÈÙ2ëÙDÚ!cÚ+…Ú,±ÚÞÚ4ýÚ2Û#FÛ+jÛ9–ÛÐÛ!îÛ:ÜKÜcÜ'Ü?§ÜçÜ ûÜÝ<ÝZ[Ýy¶Ý%0Þ>VÞ•Þ.®Þ!ÝÞHÿÞ!Hß3jß+žß1ÊßCüß @à2aà3”à#ÈàìàGámMáj»á&â:<â"wâšâ2±â4äâ(ãBã_ãPoã0Àã9ñã!+ä5Mä,ƒä-°äAÞä0 åQåqå‘å¯åÂå?Õå'æ(=æ1fæ˜æ¸æ5ÔæE ! çPç>nç>­ç2ìç5è?Uè*•è>Àè4ÿè4é*Oé1zé3¬éKàé:,êgê-}ê5«ê)áê% ë91ëYkë:Åë"ì(#ì)LìvìDì*Òìýì&í:í$Wí|í)ší,Äí(ñíî74î+lî\˜î&õî6ï,Sï€ï%›ï.Áï@ðï91ð2kð4žð'Óð5ûð31ñ#eñG‰ñ<ÑñGòVVòV­òVóW[óU³óR ôL\ô1©ô6Ûô6õ&Iõ;põ4¬õáõWöSXö5¬öHâög+÷)“÷3½÷5ñ÷1'ø*Yø0„ø5µø8ëø.$ù1Sù=…ù)ÃùíùEú;Mú5‰ú8¿ú>øú@7ûFxûC¿ûCüCGü1‹ü0½ü1îü% ý`Fý~§ýX&þ'þI§þJñþK<ÿMˆÿIÖÿE :f/¡9Ñ! *-)XN‚0Ñ=3@>t1³0å%54[I#Ú9þG8.€-¯5Ý8=L2ŠR½0<A7~5¶7ì($aMA¯Pñ;B(~J§2ò8% 2^ '‘ Q¹ Q ! /] ! 3 ! +Á ! ‚í ! np -ß b `p /Ñ 8 Z: Q• +ç "P6E‡*Í7ø-0.^ }®&,"S6v­@Ç<.ENt!ÃCå9)3c—·,Ö4H8O;Ñ, ;:;v<²&ï,hCx¬7%^]G¼E7JN‚OÑ(!DJBVÒY)Gƒ;Ë(B0Rs+Æ2ò7%E]B£JæQ1,ƒ/°'à%G.Ev%¼ â4P83‰E½AOE2•BÈ4 i@ ª $Å #ê 5!D!%b!Iˆ!EÒ!O"Vh".¿"Cî"B2#%u#T›#0ð#U!$3w$1«$Ý$=ý$);%2e%˜%9µ%3ï%0#&PT&c¥&; '>E'?„'3Ä'kø'3d(˜(:¸(7ó(]+)R‰)(Ü)0*+6*/b*>’*0Ñ*F+LI+S–+Jê+@5,\v,IÓ,2-AP-4’-9Ç-@.CB.%†./¬.KÜ.>(/Kg/N³/>0gA0(©0VÒ0%)1*O1z1B‚1DÅ1D ! 2GO3T—3Tì3+A40m4:ž4Ù4*ù4#$5!H5Ij5g´5$6^A6' 6.È6÷6"7!:7!\7"~7"¡73Ä7"ø7484P8;…80Á8+ò8"9A9%`9†9¦99Å9)ÿ9)):S: s:: ’: ! œ: §:+±::Ý:/;3H;.|;=«;@é;*<>=<:|<·<0¹<>ê<b)=7Œ=$Ä=7é=N!>Bp>6³>)ê>L?<a?7ž?EÖ?8@,U@W‚@?Ú@A39A3mAB¡A?äA=$B9bBBœBMßBF-CGtCA¼CSþCCRD(–D.¿D&îDE++EiWEMÁE1F-AF1oF1¡FEÓF%G#?G%cG8‰G8ÂG1ûG3-H1aHB“H*ÖHI;I9[IH•I9ÞI*J\CJ8 J1ÙJ5 K/AK2qK¤K2¨K5ÛK#LQ5LJ‡L'ÒL.úLB)M4lM8¡M/ÚM% ! N$0N%UN/{N(«N#ÔN)øN)"O-LOzO)O¹O+ÍO-ùO('P*PP{P“P$«P.ÐPAÿPcAQA¥Q9çQ<!R4^R;“R3ÏR8SHT3ZT7ŽT[ÆT "U .U.ÞV<W)ZW6„W2»W@îW!/X<QXŽX.©X%ØXþX0Y/NY?~Y8¾Y?÷Y47Z:lZA§Z=éZ3'[[[+u[)¡[+Ë[÷['\18\;j\<¦\!ã\$]*]+D]+p]+œ]+È]Iô]3>^6r^>©^Aè^+*_+V_+‚_%®_"Ô_*÷_"`;;`w`<—`:Ô`$a24a5ga‹a2)b<\b=™bE×b<cMZc#¨cÌc'ëcIdm]dyËdsEen¹ez(ft£fog{ˆguhhzhtãhnXiyÇivAjw¸jx0kq©k;l2Wl:ŠlGÅl) m(7m(`m&‰m0°m0ám*nA=n.n)®n2ØnT o(`o*‰o,´o0áo'p :p+Hp+tp& pÇp9ßpq1*q&\q/ƒq@³q.ôq$#r5Hr4~r4³r;èr<$s as(ns-—sÅsàsús/t/Dt0tt0¥t7Öt!u!0u*Ru!}uŸu&¹u'àu(v<1v0nv%Ÿv2Åv>øv"7wZwNvw.Åw ! ôw.ÿw:.x)ix5“xEÉxAy Qyry,y$ºy"ßy.z%1z%Wz$}z¢zD¹zDþz4C{(x{¡{·{Î{2ä{L|d|Tƒ|LØ|[%}W}\Ù}D6~P{~CÌ~ &94En*´#ß)€-€.C€r€(„€"­€2Ѐ3Q7,‰)¶0àH‚MZ‚/¨‚2Ø‚ ƒ')ƒQƒ oƒ{ƒ˜ƒ µƒ%Öƒüƒ%„4„E„W„i„$|„¡„%²„/Ø„%…,.…,[….ˆ…,·…,ä…,†,>†*k†&–†/½†í† ö†(‡%+‡"Q‡t‡“‡ ²‡7¿‡@÷‡8ˆHˆHQˆšˆ&¹ˆ&àˆ1‰19‰k‰ƒ‰(›‰ĉ"UŠHxŠ/ÁŠ'ñŠ0‹%J‹+p‹/œ‹'Ì‹(ô‹ Œ+>ŒjŒ8ŒW¸Œ94J,‘¾Üø+Ž6CŽzŽ,”Ž+ÁŽíŽöŽ1Kk8ˆ;Á)ý>'IfJ°û!‘<‘=\‘ š‘-»‘é‘’H’)b’)Œ’1¶’/è’@“-Y“-‡“.µ“ä“)ÿ“()”#R”$v”$›”*À” ë”> •9K•A…•AÇ•H –5R–,ˆ–,µ–2â– —Z"—.}—(¬—DÕ—1˜6L˜3ƒ˜3·˜5ë˜=!™J_™*ª™"Õ™0ø™)šDš\š)yš"£š*Æš*ñšE›Pb›6³›2ꛜ96œpœœ7›œ7Óœ3 )?iƒ£@»-ü>*ž>ižD¨žMížH;ŸN„ŸHÓŸ  '= -e =“ Ñ ;ì #(¡6L¡:ƒ¡5¾¡ô¡¢3¢F¢Y¢)r¢#œ¢'À¢&è¢"£32£f£z££$ª£Ï£*æ£ ¤ ¤+¤I¤9Y¤.“¤8¤3û¤//¥0_¥3¥;Ä¥F¦G¦#g¦‹¦+©¦.Õ¦§!$§,F§ s§-”§V§*¨&D¨&k¨)’¨/¼¨>ì¨4+©+`©9Œ©8Æ©ÿ©%ª5Dª zªT›ª7ðª6(«7_«—«1°«-â«T¬9e¬$Ÿ¬8Ĭ.ý¬<,­i­ˆ­"¥­'È­ð­)®<0®(m®'–®/¾®1î®' ¯1H¯?z¯º¯Ú¯ó¯°°!&°H°id°3ΰ±±"3±$V± {±1œ±1αF²EG²h²3ö²2*³']³.…³-´³â³÷³$´B7´)z´¤´*»´0æ´&µ&>µ0eµ&–µ½µ)Ûµ2¶;8¶,t¶1¡¶0Ó¶(·/-·4]·*’·½·%Ö·)ü·)&¸8P¸4‰¸<¾¸.û¸4*¹0_¹¹ª¹GǹLºL\º.©º1غ/ ! »8:»Ps»0Ä»õ» ! ¼+¼(J¼0s¼&¤¼˼$á¼½½+7½+c½-½5½½-ó½D!¾5f¾œ¾"¼¾8ß¾ ¿!"¿D¿c¿/t¿(¤¿'Í¿<õ¿$2ÀWÀlÀÀšÀ®À/ÊÀ5úÀ80ÁiÁ>‰Á6ÈÁ>ÿÁ;>ÂzÂ0–Â.ÇÂ3öÂ9*Ã8dà þÃBÝÃL Ä&mÄ$”ĹÄ1ÑÄ<Å;@Å.|ÅB«ÅAîÅ50Æ1fÆ1˜Æ.ÊÆ.ùÆ5(Ç5^Ç>”ÇCÓÇÈ./È/^ÈŽÈ9§È/áÈ+ÉL=ÉHŠÉEÓÉAÊ[Ê"sÊ'–Ê5¾ÊôÊ5 ! ËN@ËXË8èË:!Ì+\Ì4ˆÌ9½Ì9÷Ì+1Í,]Í ŠÍ/«Í$ÛÍÎÎ:Î2MÎ3€Î2´ÎOçÎ7Ï"WÏDzÏ&¿Ï%æÏ) Ð.6ÐeÐ3Ð,³Ð6àÐ2ÑUJÑ( ÑGÉÑ>ÒAPÒ$’Ò·Ò&ÌÒ$óÒ4Ó,MÓ(zÓB£ÓLæÓ3ÔSÔ=pÔ'®Ô3ÖÔ8 ! Õ7CÕ+{Õ6§Õ&ÞÕ/Ö*5Ö:`Ö:›Ö<ÖÖ)×=×C[×'Ÿ×@Ç×DØ@MØLŽØ5ÛØBÙ(TÙ;}Ù#¹ÙFÝÙ&$Ú<KÚJˆÚ,ÓÚIÛJÛaÛ+ÛL­ÛPúÛ;KÜc‡Ü ëÜ, Ý 9Ý*ZÝ-…Ý?³ÝóÝ6ÞJÞ&cÞ1ŠÞ¼Þ#ÚÞ þÞ+ßKß)kß)•ß¿ßÛßößà3à#Hà-là)šà Äà%åà- á$9á4^á*“á5¾á5ôá0*â[â6qâ"¨âËâçâã9ã0Uã'†ã-®ãÜã$ùã,ä.Kä5zä<°ä5íä#å,4å+aå3å0Áå/òå"æ8æGæ/Mæ"}æ æG¨æHðæ#9ç)]ç%‡ç3­çJáç',è5Tè&Šè6±è'èè/é1@é>ré!±é/Óé(ê),ê#Vê#zêažê"ë #ëDë4dë>™ë5Øë/ì&>ì+eì(‘ì$ºìaßì6Aí.xíZ§íCîFFî.î*¼îFçî..ï ]ï6kïC¢ï!æïð0(ðYð+sð.Ÿð#Îð!òð-ñ$Bñ$gñ#Œñ°ñ/Äñ ôñò,3ò?`ò/ ò0Ðò/ó51óVgó<¾óUûóEQôL—ô-äô+õ7>õ:võ1±õ8ãõ&ö*Cö1nö@ ö3áö'÷%=÷$c÷;ˆ÷.Ä÷ó÷ ø)øK>ø1Šø"¼ø ßø,ùC-ùBqù´ùÍù*çù+ú*>ú1iú'›úFÃú= ! û#Hû#lû(û ¹û9Úûü3üOüiü‚ü&™üÀü4Òüý(ýGý6gý#žýTÂýþ,(þUþ$oþ”þ/³þ&ãþ) ! ÿ4ÿCÿ+Yÿ…ÿ*™ÿÄÿÛÿ òÿ# $%2Xw—¬&Ã?ê*(G(p™¹ Ð7ñ-)Wk‹V¡ø-.MP|*Í/ø3(!\~4¸í++-Y4s¨:ºEõ<;x Ž!¯Ñî$+B*n™5¸JîT9 ŽœW¼8 M e 5t Hª ó  ! % ! 'C ! k ! | !  — ! ?¸ ! Cø ! ;< /x 3¨ AÜ  85 7n +¦ 2Ò 3 39 >m $¬ ,Ñ 4þ &3Z`"u˜®ÀØ*à' '3$[$€)¥%Ï%õ$%@f$‚§Ã Üý)<f†•³ÂOÑ!0Hbz’±ÀÑàø8+dt%ƒ&©%Ð+ö"9:t#“·Æ:Õ1L`r!§"Éìý1#U*g4’ÇÜò5L ]~&žÅÛî03Nbx‹œ¯ÂÑéø5&(\3…R¹J +WƒŸ»Ñâö 4R!g‰*©Ôè01Ncw‰ ½Öí;Xm~*š0Åö+:%U{“²È&Ú+>ZAp@²ó! 2 E ] u  « À Þ õ  ! !8!KP!Fœ!Pã!4"R"<q"9®"Uè"0>#+o#/›#<Ë#9$,B$2o$.¢$DÑ$+%+B%<n%4«%^à%_?&CŸ&0ã&D'.Y'Aˆ'=Ê'A(J((f(&(>¶(õ(B)BQ)”) ´)'À)$è) **(*S*s*.ƒ*,²*6ß*+"3+V+t+/”+0Ä+#õ+8,cR,?¶,ö,0-/A-/q-¡-4½-0ò-2#.2V.3‰. ½. Ë.+Ù.)/ //P/-n/œ/ ¶/Â/ß/û/0808N0‡00¥04Ö0 1 1;1 W1*x1£1(Á1Pê1:;24v2«2=Ã23:3BV34™3AÎ3=4/N4&~47¥4Ý4*ü4&'5N5#h5DŒ5@Ñ556&H6)o6 ™6 ¦6´6F¼6&7B*7m7„7#¢7Æ7CÍ738)E8@o8!°83Ò8796>97u9+­9Ù9%÷9':E:_:/n:5ž:6Ô:@ ;8L;*…;0°;;á;2<$P<$u</š<!Ê< ì<) =)7=)a=-‹=$¹=Þ=yý=œw>0?8E?4~?*³?:Þ?C@]@ }@,ž@,Ë@!ø@FAFaA^¨AFBfNBWµBA C9OCT‰CJÞC+)D:UD#D#´D+ØDAEFFEE6©E-àEF!*F-LF'zF9¢F%ÜF)G(,G/UG2…G$¸G-ÝG- HO9H$‰H5®HäHûH;IUIhI'‡I8¯IèIJ!"J*DJoJJ4­J,âJ/K3?K<sK°K"ÊK!íK1LAL ! TL:_L(šL$ÃL-èL)M@MZM:vM-±M.ßMN0$N/UN-…N4³N6èN*O6JO#O#¥O1ÉO7ûO53P.iP˜P6¬PJãP@.Q+oQ4›Q6ÐQ6R>R5CR yR šR)»R$åR' ! SO2S/‚S,²S%ßST6TeSTX¹T9UNLU>›U3ÚUCVSRV,¦V"ÓVöV#W$5W6ZWH‘WLÚWH'X.pXŸX>¹XøX Y%YAY]YyY:’YHÍYOZHfZE¯Z$õZ7[SR[Y¦[Z\c[\D¿\b]#g]6‹]Â]=Ñ] ^)0^<Z^—^9§^Aá^2#_-V_"„_'§_Ï_æ_ù_ `(`EB`Fˆ`BÏ`!a+4a:`a1›aLÍa@b:[b1–b(Èbñb#c(5c^c%}c.£c'Òcúc;d<Qd?ŽdEÎd)e&>e,ee1’eJÄe0f,@f.mf=œfHÚf#g%=g'cg‹g¢g-²g/àgh'+hSh-sh+¡h5Íh!i%i0Eivi+i.¼i#ëi!j-1j$_j$„j#©j?Íj3 k,Aknk6„k»k+×k.l12l5dl/šlUÊl[ m\|meÙmF?nd†naëngMohµoqpRppãpYTq.®q Ýq>þq-=r9krI¥rEïrH5sH~s8Çs)t;*tGftF®t+õt!u/?u-ou0u2Îu#v%v7Bv+zv*¦v*Ñv*üv9'w<aw6žw!Õw1÷w4)x1^x:x&Ëx òxy/3y"cy-†y,´y3áyz#1z,Uz#‚z1¦z;Øz){%>{)d{/Ž{3¾{3ò{/&|5V|Œ|"¥|&È|ï|;}4D}y}.ˆ}D·}$ü})!~&K~)r~0œ~1Í~ÿ~;0V5‡?½7ý85€n€=‡€9Å€'ÿ€I'2q8¤Ý&õ*‚'G‚o‚‰‚ ¦‚6Ç‚Fþ‚REƒ:˜ƒ5Óƒ „8 „1Y„-‹„(¹„[â„E>…Q„…*Ö…(†**†U†h†}††¡†µ†Ɇۆ‡%‡6‡H‡\‡r‡„‡˜‡©‡»‡͇á‡ó‡ˆˆ-ˆ?ˆQˆeˆwˆ‰ˆ›ˆ­ˆ¿ˆÓˆçˆûˆ ‰‰3‰E‰Y‰k‰‰‰¤‰¶‰ȉÚ‰ì‰þ‰Š$Š8ŠJŠ^ŠpŠ†Š˜ŠªŠ¼Š/ΊþŠ‹( ‹I‹+b‹Ž‹¨‹»‹Ñ‹#ì‹$Œ5ŒJŒ]ŒwŒ/•Œ6ÅŒ!üŒ='M'u'Å"Ú)ý'Ž1?Ž3qŽ0¥Ž4ÖŽ/ );Ge1­7ß#;!W!y›%³(Ù‘"‘44‘i‘ ‚‘*£‘&Α&õ‘&’<C’!€’(¢’/Ë’&û’%"“&H“"o“*’“+½“)é“&”3:”,n”7›”Ó”ð”/•)1•"[•.~•0­•Þ•:þ•9–#W–!{–&–!Ä–,æ–'—;—!W—5y—¯—:—.ý—(,˜U˜&i˜$˜%µ˜)Û˜™1%™W™!u™+—™2Ù>ö™&5š\šqš.…š´šÑš2ñš$$›NI›˜›$µ›Ú›)î›+œ Dœ.Rœœ$Ÿœ#Äœèœ+2R c.p#Ÿ'Ã'ë(ž*<ž+gž>“ž=Òž>Ÿ(OŸ"xŸ1›ŸÍŸ!éŸ(  4 D ^ v   «  Ì  í  ¡ /¡ P¡ q¡ ’¡ ³¡ Ô¡!õ¡ ¢8¢%V¢#|¢# ¢"Ģ碣#£:£)X£)‚£)¬£Ö£ö£¤.¤J¤a¤}¤”¤´¤Ф줥$¥@¥#\¥/€¥$°¥%Õ¥%û¥3!¦U¦#r¦0–¦ǦÙ¦ ð¦+§=§7S§/‹§»§"Ö§ù§ ¨+3¨1_¨ ‘¨²¨Ϩ%ê¨%©06©.g©2–©$É©î©)ª2ªQª)dª#Žª%²ªت=îª$,«)Q«{«#‘«-µ«&ã«# ! ¬#.¬R¬<f¬£¬8Á¬$ú¬ ­*@­+k­2—­7Ê­/® 2®"S®'v®ž®=½®û®!¯47¯Hl¯Pµ¯,°)3°-]°&‹°'²°Ú°ú°4±,O±%|±¢±.¸±Aç±A)²k²$‡².¬²Û²+î²7³R³e³D{³2À³,ó³ ´(?´.h´[—´mó´(aµ!Šµ'¬µ'Ôµ$üµ7!¶#Y¶%}¶3£¶׶)÷¶-!·(O·(x·(¡·(Ê·&ó·¸37¸.k¸*š¸AŸ9¹A¹LU¹/¢¹!Ò¹ô¹Cº1Wº.‰º(¸ºáº%ùº»):»d»y»+Ž»/º»Qê»H<¼4…¼:º¼ õ¼7½':½1b½.”½.ý(ò½1¾+M¾.y¾¨¾!º¾Eܾ)"¿<L¿9‰¿ÿ"â¿ÀÀ*ÀDÀ*cÀ#ŽÀ!²À!ÔÀ!öÀ!Á$:Á"_Á#‚Á#¦Á#ÊÁîÁÂ-,Â)Z „Â¥ÂÅÂ"åÂÃ&(Ã'OÃ+wÃ(£ÃÌÃ%ìÃ7ÄfJÄV±Ä5Å>Å#EÅiʼnũÅ,ÀÅ"íÅÆ$0ÆUÆ'pÆC˜Æ"ÜÆ-ÿÆ-ÇHÇLfÇ,³ÇHàÇ)È 8È"YÈ|È!šÈ+¼ÈèÈÉ3"ÉHVÉ1ŸÉ7ÑÉ ÊÊ .ÊOÊ!oÊ'‘Ê,¹ÊæÊ5õÊ+ËHCË=ŒËWÊË"ÌBÌ7YÌ0‘ÌÂÌ1àÌ2Í+EÍ/qÍ$¡Í;ÆÍ.Î>1Î#pÎ!”Î0¶Î1çÎ&Ï/@Ï4pÏ2¥Ï2ØÏ8 Ð/DÐ>tÐ&³Ð$ÚÐ ÿÐ4 Ñ@UÑ#–ѺÑ&ÚÑÒ$Ò$AÒ-fÒ&”Ò »Ò-ÜÒ$ ! Ó/ÓLÓ*jÓ%•Ó»ÓÕÓ+óÓÔ!?Ô"aÔ„Ô% ÔÆÔ$áÔÕ$!Õ&FÕ$mÕ/’Õ7ÂÕ.úÕ*)Ö-TÖ‚Ö Ö!³ÖÕÖ òÖþÖ%×!?×a×.×°×-Ê×/ø×5(Ø/^Ø$ŽØ³ØÐØ(ïØ6Ù@OÙ2ÙMÃÙ?Ú?QÚ1‘Ú5ÃÚ5ùÚ%/Û6UÛ2ŒÛ+¿Û1ëÛIÜ&gÜ)ŽÜ?¸Ü6øÜ./Ý3^Ý,’Ý)¿Ý(éÝ0Þ:CÞ.~Þ&­Þ$ÔÞ"ùÞßD6ß{ß4ß$Åß)êß"à=7à.uà*¤à*Ïà4úà/á.?áQnáIÀá" ! â-âEâ!dâ)†â%°â%Öâüâ&ã7ã Uã!vã˜ã(«ãÔãèã/ä3ä(Pä"yä8œä9Õä!å1å7Gå6å¶åÅåØå4èåæ!4æ Væ(wæ1 æ9ÒæG ç&TçK{ç$Çç ìç è1,è7^è4–èKËè!é"9é"\ééžéb»é%êDê2`ê(“ê+¼ê+èê&ë+;ëgë)ë-©ë0×ë(ì%1ì0Wìˆì ¦ì,Çì'ôì.í2Kí!~í# í/Äí4ôí$)îANîjî2ûî'.ï)Vï@€ïÁï Þï5ÿï<5ð+rð.žð2Íð3ñD4ñ=yñ·ñ/Ðñò.ò1Dò#vòšò ¯òÐòðò$ró —ó/¸ó'èó'ô88ô-qô"Ÿô$Âô#çô( õ)4õ-^õ'ŒõG´õüõ-öCöWö'uö öªö Éö$êö#÷3÷!D÷.f÷•÷5¯÷å÷-ø/øEø/TøC„ø5Èø þø" ù//ù._ù+Žù;ºù*öù3!ú"Uú&xú&Ÿú#Æú#êú"û"1ûTûtû'’û(ºûãû2úû-ü&Jü#qü"•ü-¸ü,æüý/.ý(^ý5‡ý7½ý'õýþ 3þ$Tþyþ+™þ9Åþ*ÿþ,*ÿ4Wÿ"ŒÿC¯ÿóÿ. /@ $p K• 5á 4 'L !t E– +Ü , B5 ,x )¥ ;Ï 3  4? t / .À +ï " .> *m -˜ 0Æ '÷ / 4O ,„ '± (Ù & ) (9 Db 1§ 9Ù 4 HH !‘ (³ EÜ E" ;h $¤ )É 1ó $% (J &s :š Õ %å : ! KF ! M’ ! 6à ! + /C *s ž ³ !Ò ô / -@ n s 4z ¯ ¼ Õ 5ë ,! <N 5‹ 1Á 1ó 8% L^ H« ô   \( 3… 7¹ *ñ . ,K "x 1› 4Í  -  N 5f œ Bº :ý e8 Rž &ñ > AW *™ <Ä A 5C 1y )« 2Õ " + > !Q s ’ /­ /Ý /  /= 3m 8¡ 3Ú 8 +G 3s +§ 3Ó A @I :Š 9Å 9ÿ ;9 ;u 3± 3å H .b &‘ ¸ %Ô 6ú 31 Ue 8» *ô / !O Qq %à Dé ). "X {  $Ÿ Ä /Õ / 5 !R t =Œ Ê ä û . H> !‡ >© 2è  C< 3€ <´ ñ ! ,! )L! +v! %¢! %È! +î! " ." J" ?j" Dª" ï" %# "4# 7W# -# 6½# 5ô# *$ (J$ 's$ )›$ Å$ $â$ +% %3% "Y% -|% %ª% !Ð% <ò% >/& ,n& ›& ¸& @×& '' !@' b' ƒ' ž' 8º' 1ó' 5%( *[( †( 7( 1Õ( L) LT) -¡) *Ï) =ú) "8* #[* J* MÊ* B+ &[+ %‚+ .¨+ 3×+ 4 , @, Wa, ¹, .Ú, B - OL- Bœ- Kß- J+. Kv. KÂ. J/ KY/ 5¥/ 7Û/ J0 9^0 9˜0 EÒ0 Q1 Dj1 D¯1 @ô1 ^52 #”2 ¸2 À2 Ê2 Ô2 à2 ;ô2 :03 3k3 %Ÿ3 &Å3 ;ì3 :(4 c4 k4 <|4 ¹4 -Ì4 .ú4 *)5 T5 (r5 8›5 <Ô5 B6 FT6 B›6 (Þ6 )7 :17 (l7 1•7 <Ç7 /8 /48 <d8 c¡8 79 )=9 Fg9 B®9 ñ9 E: &L: 0s: \¤: ;; (=; f; "„; Q§; @ù; B:< 1}< 4¯< 'ä< ' = 4= >= @Y= š= .·= æ= ,> 10> )b> "Œ> *¯> Ú> ï> ? 1*? 1\? Ž? ¯? %Ì? ò? @ *@ $C@ .h@ —@ °@ È@ *Ý@ A "A 6?A vA —A 7¥A .ÝA % B .2B 1aB @“B @ÔB ;C KQC $C ÂC 8ÝC D >,D NkD MºD 3E @pG ¯G %ÉG -ïG +H 6IH -€H .®H -ÝH  I *I `II 1ªI ÜI ïI , J 9J YJ yJ –J J¬J %÷J &K CDK &ˆK &¯K ÖK D÷K !P >`P 9ŸP -ÙP 3Q ;Q @YQ 4šQ )ÏQ ùQ R -R CR (ZR ƒR D™R =ÞR ]S #zS CžS ,âS <T nLT (»T IäT ..U 2]U 'U 4¸U $íU -V &@V gV ˆV œV 4°V EåV )+W 6UW +ŒW 1¸W =êW (X GX fX !†X 7¨X !àX Y 1Y 0LY )}Y §Y 1ÂY 9ôY ?.Z \nZ \ËZ $([ #M[ q[ ?’[ MÒ[ - \ IN\ ˜\ !¨\ #Ê\ î\ " ] ,0] ]] 4{] *°] Û] Oü] L^ Ff^ =­^ $ë^ $_ ^5_ (”_ .½_ Jì_ &7` 5^` L”` Gá` )a 5Ia :a =ºa /øa *(b %Sb 'yb -¡b NÏb <c 7[c $“c ^¸c Vd 6nd R¥d ˆød 8e Bºe @ýe 0>f 9of &©f 4Ðf $g 3*g 6^g •g «g &Êg ñg 8h )Hh (rh (›h $Äh %éh +i ;i Xi yi +™i "Åi èi úi ! j j >j $[j (€j 2©j 3Üj :k ?Kk 4‹k Àk -Êk )øk #"l +Fl 8rl %«l &Ñl øl m '5m 4]m ’m $­m (Òm )ûm *%n !Pn "rn "•n .¸n çn o !o ?o ^o xo /•o @Åo p p &2p Yp qp ’p "®p Ñp ðp q .q Mq ?^q >žq 6Ýq *r !?r ar #pr *”r )¿r ,ér 4s )Ks =us (³s =Üs 't 3Bt Bvt ,¹t #æt A ! u 5Lu 4‚u )·u )áu - v @9v "zv $v *Âv +ív w -/w ']w )…w E¯w Mõw UCx F™x 0àx &y 58y 'ny 5–y Ìy $ëy z 0z 9Mz J‡z 0Òz 7{ ;{ 3S{ -‡{ (µ{ Þ{ ÿ{ V| /o| Ÿ| »| 0×| 9} MB} !} '²} 'Ú} 9~ 3<~ ;p~ ;¬~ 6è~ / 2O 2‚ Iµ 3ÿ !3€ U€ 3j€ /ž€ 3΀ 3 6 )V )€ +ª /Ö 2‚ $9‚ -^‚ @Œ‚ $Í‚ !ò‚ #ƒ 8ƒ 4Yƒ HŽƒ ׃ îƒ „ '„ D„ (Y„ Z‚„ +Ý„ " … ,… @… V… r… 2‚… 6µ… 8ì… !%† (G† $p† .•† 9Ć (þ† ('‡ 4P‡ 9…‡ 7¿‡ =÷‡ 35ˆ /iˆ 4™ˆ .Έ .ýˆ 4,‰ .a‰ .‰ ,¿‰ 9ì‰ 9&Š 9`Š :šŠ 9ÕŠ :‹ 9J‹ 9„‹ W¾‹ WŒ .nŒ Œ ²Œ <ÒŒ F 9V $ !µ "× &ú )!Ž KŽ gŽ †Ž .™Ž ÈŽ 0éŽ # => | $— ¼ -Ü ! ! -, $Z 7 .· (æ .‘ ->‘ l‘ 1|‘ .®‘ /Ý‘ 3 ’ FA’ 3ˆ’ '¼’ "ä’ +“ 33“ @g“ D¨“ %í“ ” +3” 3_” “” 4³” -è” (• <?• |• #š• ¾• (Û• – †– 6¤– MÛ– :)— 6d— 6›— /Ò— %˜ 5(˜ &^˜ 7…˜ G½˜ ™ @™ 2^™ $‘™ ¶™ Ê™ :ë™ 3&š DZš 3Ÿš 3Óš 5› 0=› 6n› @¥› ?æ› D&œ @kœ ;¬œ èœ üœ  % ; O b w ‹   ´ É ß ó  ž #ž 7ž Jž [ž už Šž  ž ¶ž Éž Üž 9ôž I.Ÿ DxŸ M½Ÿ M   @Y  (š  (à 3ì  % ¡ =F¡ („¡ 7­¡ Zå¡ Y@¢ Pš¢ 8ë¢ \$£ b£ \ä£ XA¤ 2š¤ ͤ -ì¤ s¥ >Ž¥ ?Í¥ F ¦ +T¦ 0€¦ 0±¦ 1⦠9§ %N§ +t§ + § +̧ ,ø§ +%¨ +Q¨ ,}¨ ,ª¨ *ר W© ,Z© A‡© 4É© Yþ© 'Xª )€ª )ªª )Ôª Hþª WG« XŸ« -ø« .&¬ 9U¬ A¬ vѬ 7H­ l€­ 5í­ ;#® #_® 9ƒ® U½® 5¯ QI¯ ˆ›¯ >$° 4c° >˜° <×° C± 6X± -± !½± ;ß± 7² %S² 1y² 2«² 2Þ² W³ i³ .‰³ ¸³ <ʳ 2´ :´ Z´ {´ 2˜´ (Ë´ Eô´ E:µ 0€µ .±µ 3ൠX¶ Fm¶ ´¶ +Ò¶ þ¶ 1· )N· 'x· ) · %Ê· ð· *¸ "9¸ !\¸ )~¸ ¨¸ ɸ 6è¸ ¹ R@¹ /“¹ $ù è¹ )º (*º Sº qº †º §º ºº 2غ / » /;» (k» &”» »» #Ú» "þ» !¼ *<¼ !g¼ ‰¼ ,ª¼ *×¼ *½ -½ 3M½ ½ Ÿ½ ´½ )ѽ ,û½ 7(¾ !`¾ #‚¾ 0¦¾ &×¾ #þ¾ /"¿ AR¿ 8”¿ MÍ¿ 6À 8RÀ .‹À 3ºÀ -îÀ ,Á AIÁ H‹Á >ÔÁ & ': Hb D«Â Fð Q7à C‰Ã =Íà 8 Ä ;DÄ O€Ä -ÐÄ þÄ 0Å /JÅ zÅ /Å DÀÅ 1Æ $7Æ ,\Æ 0‰Æ ºÆ 8ÖÆ 'Ç &7Ç +^Ç %ŠÇ #°Ç HÔÇ (È $FÈ /kÈ ›È 4±È ‚æÈ iÉ -ˆÉ C¶É CúÉ ->Ê -lÊ 5šÊ .ÐÊ %ÿÊ %Ë 9Ë LË 'cË 0‹Ë 0¼Ë íË #Ì &2Ì YÌ "zÌ #Ì $ÁÌ 'æÌ &Í 5Í (SÍ (|Í (¥Í ÎÍ !îÍ 'Î *8Î 8cÎ 1œÎ (ÎÎ 3÷Î 1+Ï ]Ï /}Ï ­Ï FÄÏ / Ð (;Ð )dÐ 8ŽÐ +ÇÐ /óÐ 6#Ñ +ZÑ 0†Ñ ·Ñ $ÒÑ %÷Ñ &Ò )DÒ &nÒ (•Ò ¾Ò AßÒ E!Ó #gÓ ‹Ó 3¬Ó 1àÓ (Ô 4;Ô pÔ /ŠÔ .ºÔ QéÔ ;Õ ZÕ %uÕ 4›Õ 4ÐÕ 3Ö ,9Ö )fÖ 7Ö 6ÈÖ !ÿÖ &!× 2H× +{× .§× 4Ö×  Ø )Ø "?Ø /bØ ?’Ø +ÒØ BþØ 6AÙ xÙ F˜Ù 0ßÙ Ú &,Ú !SÚ uÚ ‘Ú ^©Ú Û %$Û JÛ dÛ 3xÛ ¬Û 'ÁÛ $éÛ >Ü 9MÜ )‡Ü !±Ü ÓÜ åÜ "øÜ Ý 2Ý )JÝ &tÝ "›Ý H¾Ý 3Þ &;Þ LbÞ 8¯Þ èÞ  ß ß 1ß &Lß )sß ß ·ß "Îß ñß à 1%à .Wà *†à ±à Îà ,êà .á Fá /\á 0Œá ½á "Êá ,íá â ,â Fâ _â râ Šâ *§â )Òâ 4üâ 1ã Nã !mã ã ªã $Ãã èã ä ä I6ä €ä !Œä &®ä Õä 5ðä &å (<å @eå B¦å Aéå ;+æ !gæ 1‰æ »æ !Ûæ 6ýæ <4ç .qç ' ç 3Èç üç è ")è Lè aè |è #‘è .µè (äè ? é .Mé 2|é $¯é #Ôé øé ê 3ê %Qê 2wê =ªê 7èê & ë (Gë )pë 2šë Íë +ìë ì 6ì Uì !tì –ì +ªì =Öì 2í =Gí 2…í B¸í 7ûí <3î Apî ²î Ìî &èî -ï =ï !]ï ï "›ï ¾ï 9Óï 4 ð !Bð .dð $“ð ¸ð %Ïð )õð ñ <ñ "Wñ zñ ñ >¤ñ ãñ øñ Pò 9`ò #šò ¾ò )×ò ó ó .3ó 9bó 2œó <Ïó ; ô GHô ô ]§ô &õ 1,õ 0^õ 'õ ?·õ ÷õ -ö "Aö )dö Žö ¡ö G¾ö /÷ .6÷ )e÷ )÷ ¹÷ 4Ú÷ &ø +6ø 0bø “ø *¢ø 1Íø ÿø ù #*ù Nù +cù +ù /»ù ëù % ú 22ú /eú •ú *­ú -Øú @û -Gû @uû 8¶û Kïû 8;ü Ktü Àü 1ßü ý .-ý T\ý -±ý =ßý /þ ;Mþ 2‰þ ¼þ Ëþ æþ )ÿ +1ÿ *]ÿ 5ˆÿ ¾ÿ 1Çÿ $ùÿ ! ! ,@ ! <m ! Uª ! ! ! F" ! i ! 0ˆ ! >¹ ! #ø !  ! =: ! 7x ! C° ! Tô ! ZI ! [¤ ! d ! Ee ! c« ! ! ! 1 ! [O ! #« ! Ï ! =ï ! - ! CM ! D‘ ! %Ö ! &ü ! # ! ,C ! #p ! %” ! 2º ! Wí ! WE ! 0 ! .Î ! /ý ! +- ! (Y ! -‚ ! +° ! @Ü ! < ! 8Z ! 5“ ! 6É ! ! ' ! 2( ! ,[ ! Hˆ ! Ñ ! ë !  ! 7 ! BQ ! ,” ! 'Á ! 6é ! + ! +L ! 6x ! ?¯ ! )ï ! 2 ! L ! a ! z ! Œ ! !Ÿ ! 'Á ! =é ! #' ! !K ! 5m ! $£ ! %È ! .î ! # ! A ! T ! 3s ! 6§ ! 8Þ ! ' ! $? ! Qd ! ¶ ! A× ! " ! (< ! e ! Aw ! ¹ ! Å ! AÏ !  ! $ ! OD ! '” ! &¼ ! %ã ! &  ! 40 ! .e ! ” ! µ ! Ó ! ò ! 0 ! +A ! m ! r ! •ƒ ! & ! %@ ! #f ! *Š ! µ ! *É ! $ô ! * ! D ! <c ! 8  ! Ù ! "ú !  ! 6 ! +V ! 5‚ ! .¸ ! Aç ! 6) ! 2` ! 2“ ! <Æ ! 2 ! >6 ! 5u ! )« ! 0Õ !  !   ! %; ! "a ! „ ! ¥ ! -Æ ! "ô ! ! ! %9 ! %_ ! J… ! Ð ! à ! 'þ ! & ! G ! X ! v ! “ ! « ! È ! Ü ! ð ! Óü ! Ð ! :Ò ! > ! L ! 0d ! ו ! /m! ! <! ! YÚ! ! 4" ! K" ! W" ! Nj" ! Y¹" ! f# ! :z# ! Wµ# ! = $ ! HK$ ! I”$ ! 7Þ$ ! W% ! n% ! †% ! *¤% ! -Ï% ! (ý% ! #&& ! *J& ! 3u& ! ,©& ! ’Ö& ! i' ! o' ! &' ! ´' ! XÐ' ! c)( ! 6( ! ]Ä( ! „") ! ]§) ! O* ! [U* ! P±* ! D+ ! NG+ ! L–+ ! Pã+ ! ?4, ! =t, ! C², ! Oö, ! [F- ! ?¢- ! Šâ- ! Cm. ! J±. ! Rü. ! ?O/ ! F/ ! NÖ/ ! H%0 ! an0 ! LÐ0 ! ;1 ! ‰Y1 ! Jã1 ! ?.2 ! Šn2 ! =ù2 ! b73 ! Xš3 ! Oó3 ! C4 ! KÃ4 ! K5 ! [[5 ! U·5 ! ª 6 ! R¸6 ! Ÿ 7 ! c«7 ! [8 ! Nk8 ! ^º8 ! c9 ! M}9 ! =Ë9 ! > : ! >H: ! ;‡: ! cÃ: ! W'; ! J; ! OÊ; ! ]< ! Nx< ! SÇ< ! M= ! Ci= ! H­= ! Aö> ! 78? ! Tp? ! Å? ! rä? ! 'W@ ! V@ ! Ö@ ! )á@ ! ? A ! AKA ! A ! '¤A ! .ÌA ! ûA ! 0B ! r6B ! 2©B ! ŽÜB ! BkC ! S®C ! %D ! (D ! @D ! %VD ! 3|D ! 3°D ! 6äD ! 6E ! $RE ! $wE ! œE ! ªE ! 'ÀE ! èE ! BF ! EF ! (VF ! IF ! UÉF ! "G ! CBG ! U†G ! %ÜG ! H ! 1 H ! QRH ! A¤H ! EæH ! …,I ! X²I ! + J ! e7J ! RJ ! ?ðJ ! Z0K ! „‹K ! L ! :-L ! PhL ! ¹L ! ×L ! àL ! *ûL ! 0&M ! EWM ! >M ! gÜM ! GDN ! kŒN ! køN ! dO ! räO ! ]WP ! _µP ! XQ ! `nQ ! WÏQ ! E'R ! XmR ! ]ÆR ! j$S ! HS ! ØS ! îS ! -þS ! -,T ! FZT ! +¡T ! 6ÍT ! 0U ! 45U ! 0jU ! .›U ! ?ÊU ! T ! V ! 9_V ! :™V ! QÔV ! &W ! I:W ! O„W ! VÔW ! a+X ! SX ! áX ! OY ! 5PY ! 4†Y ! 7»Y ! +óY ! 3Z ! &SZ ! ,zZ ! *§Z ! .ÒZ ! [ ! >[ ! F^[ ! 6¥[ ! 'Ü[ ! /\ ! O4\ ! E„\ ! |Ê\ ! :G] ! D‚] ! AÇ] ! . ^ ! ;8^ ! 3t^ ! <¨^ ! lå^ ! eR_ ! [¸_ ! L` ! Ma` ! K¯` ! Jû` ! BFa ! C‰a ! MÍa ! qb ! }b ! z c ! †c ! Ld ! ZSd ! ®d ! d0e ! m•e ! Šf ! XŽf ! Vçf ! u>g ! N´g ! eh ! Mih ! t·h ! T,i ! pi ! 4òi ! C'j ! kj ! 6‹j ! 9Âj ! Lüj ! dIk ! d®k ! ml ! ml ! Êïl ! îºm ! o©n ! ~o ! t˜o ! ƒ p ! }‘p ! Œq ! nœq ! } r ! [‰r ! [år ! ¸As ! Öús ! cÑt ! r5u ! h¨u ! wv ! q‰v ! €ûv ! b|w ! qßw ! 2Qx ! /„x ! Œ´x ! ªAy ! Mìy ! \:z ! R—z ! aêz ! [L{ ! j¨{ ! L| ! [`| ! !¼| ! "Þ| ! } ! 2} ! DR} ! —} ! :°} ! 'ë} ! ~ ! ,3~ ! `~ ! ~~ ! ,—~ ! 0Ä~ ! nõ~ ! >d ! Z£ ! +þ ! *€ ! '@€ ! 7h€ !  € ! 8¿€ ! nø€ ! &g ! &Ž ! 5µ ! 'ë ! :‚ ! 8N‚ ! :‡‚ ! w‚ ! ?:ƒ ! Uzƒ ! [Ѓ ! W,„ ! /„„ ! <´„ ! `ñ„ ! |R… ! QÏ… ! [!† ! C}† ! SÁ† ! M‡ ! &c‡ ! bŠ‡ ! Hí‡ ! +6ˆ ! =bˆ ! i ˆ ! j ! ‰ ! .u‰ ! R¤‰ ! C÷‰ ! J;Š ! 0†Š ! ,·Š ! 6äŠ ! !‹ ! D=‹ ! H‚‹ ! ,Ë‹ ! ø‹ ! @Œ ! DWŒ ! fœŒ ! C ! +G ! +s ! 1Ÿ ! @Ñ ! mŽ ! (€Ž ! 7©Ž ! Ꭰ! üŽ ! - ! ;I ! *… ! 1° ! )â !  ! )# ! cM ! @± ! >ò ! .1‘ ! ,`‘ ! ,‘ ! Aº‘ ! ü‘ ! E’ ! \’ ! x’ ! /”’ ! BÄ’ ! “ ! “ ! [?“ ! =›“ ! 1Ù“ ! N ” ! NZ” ! 3©” ! 7Ý” ! A• ! 6W• ! 7Ž• ! 8Æ• ! :ÿ• ! 4:– ! 3o– ! B£– ! 4æ– ! :— ! 4V— ! .‹— ! 6º— ! :ñ— ! C,˜ ! 6p˜ ! '§˜ ! &Ϙ ! Oö˜ ! RF™ ! !™™ ! H»™ ! Wš ! V\š ! M³š ! X› ! /Z› ! Š› ! +«› ! 0×› ! œ ! &#œ ! @Jœ ! #‹œ ! '¯œ ! 6ל ! 0 ! .? ! /n ! 1ž ! ;Ð ! > ž ! MKž ! -™ž ! (Çž ! ,ðž ! <Ÿ ! 8ZŸ ! +“Ÿ ! *¿Ÿ ! CêŸ ! ?.  ! @n  ! =¯  ! Pí  ! >>¡ ! 9}¡ ! 3·¡ ! Dë¡ ! 30¢ ! +d¢ ! +¢ ! ¼¢ ! Ý¢ ! þ¢ ! H£ ! Da£ ! ?¦£ ! Jæ£ ! I1¤ ! '{¤ ! E£¤ ! Pé¤ ! 2:¥ ! 2m¥ ! Q ¥ ! Cò¥ ! E6¦ ! k|¦ ! Nè¦ ! >7§ ! Fv§ ! 9½§ ! F÷§ ! ?>¨ ! k~¨ ! pê¨ ! j[© ! nÆ© ! ;5ª ! 7qª ! i©ª ! „« ! C˜« ! jÜ« ! 3G¬ ! #{¬ ! BŸ¬ ! 1⬠! a­ ! v­ ! D”­ ! :Ù­ ! J® ! 5_® ! 6•® ! <Ì® ! 7 ¯ ! QA¯ ! 9“¯ ! $ͯ ! ?ò¯ ! J2° ! (}° ! +¦° ! =Ò° ! %± ! ]6± ! >”± ! aÓ± ! >5² ! Ht² ! 8½² ! ö² ! cx³ ! >ܳ ! (´ ! #D´ ! .h´ ! C—´ ! 'Û´ ! Žµ ! 0’µ ! %õ ! !éµ ! D ¶ ! +P¶ ! +|¶ ! -¨¶ ! -Ö¶ ! :· ! i?· ! *©· ! DÔ· ! ¸ ! (¸ ! G¸ ! b¸ ! 6}¸ ! ´¸ ! ø ! Bภ! X#¹ ! K|¹ ! Cȹ ! W º ! dº ! oõº ! ƒe» ! ké» ! -U¼ ! Jƒ¼ ! Gμ ! =½ ! CT½ ! D˜½ ! 7ݽ ! <¾ ! 5R¾ ! Vˆ¾ ! (ß¾ ! R¿ ! e[¿ ! FÁ¿ ! 1À ! 2:À ! wmÀ ! :åÀ ! * Á ! 1KÁ ! .}Á ! Z¬Á ! A ! +I ! ?u ! †µÂ ! O<à ! *ŒÃ ! "·Ã ! -Úà ! DÄ ! GMÄ ! 8•Ä ! (ÎÄ ! E÷Ä ! 9=Å ! *wÅ ! 9¢Å ! &ÜÅ ! >Æ ! EBÆ ! HˆÆ ! DÑÆ ! Ç ! 5Ç ! ÐVÇ ! Þ'È ! `É ! agÉ ! ÒÉÉ ! ÜœÊ ! byË ! pÜË ! aMÌ ! b¯Ì ! æÍ ! ÒùÍ ! pÌÎ ! u=Ï ! ð³Ï ! ܤР! uÑ ! z÷Ñ ! |rÒ ! 1ïÒ ! N!Ó ! WpÓ ! •ÈÓ ! 9^Ô ! B˜Ô ! ^ÛÔ ! W:Õ ! ª’Õ ! b=Ö ! – Ö ! X7× ! K× ! iÜ× ! CFØ ! EŠØ ! EÐØ ! JÙ ! faÙ ! :ÈÙ ! >Ú ! CBÚ ! B†Ú ! HÉÚ ! MÛ ! S`Û ! I´Û ! SþÛ ! ’RÜ ! PåÜ ! T6Ý ! !‹Ý ! 1­Ý ! GßÝ ! .'Þ ! BVÞ ! #™Þ ! #½Þ ! 8áÞ ! 0ß ! 4Kß ! :€ß ! 8»ß ! Qôß ! 0Fà ! 4wà ! #¬à ! 1Ðà ! Dá ! GGá ! [á ! ^ëá ! =Jâ ! =ˆâ ! =Æâ ! Bã ! 3Gã ! !{ã ! 4ã ! Òã ! _ðã ! LPä ! $ä ! +Âä ! ~îä ! må ! 9~å ! ¸å ! Êå ! Bêå ! $-æ ! Ræ ! @sæ ! ´æ ! ,Éæ ! öæ ! Fç ! >Vç ! ?•ç ! %Õç ! 8ûç ! "4è ! Wè ! 1rè ! 7¤è ! 1Üè ! )é ! -8é ! Ofé ! ¶é ! 'Óé ! 6ûé ! C2ê ! ,vê ! E£ê ! Téê ! !>ë ! 3`ë ! D”ë ! DÙë ! ]ì ! L|ì ! %Éì ! #ïì ! 0í ! Dí ! eí ! :€í ! 6»í ! ;òí ! (.î ! oWî ! /Çî ! )÷î ! 0!ï ! #Rï ! )vï ! $ ï ! 1Åï ! )÷ï ! .!ð ! (Pð ! -yð ! %§ð ! (Íð ! -öð ! '$ñ ! 3Lñ ! €ñ ! •ñ ! ,²ñ ! %ßñ ! 'ò ! -ò ! (Fò ! +oò ! =›ò ! ?Ùò ! ó ! 6ó ! #Qó ! "uó ! ˜ó ! "µó ! %Øó ! $þó ! =#ô ! aô ! qô ! …ô ! 1¥ô ! +×ô ! #õ ! 'õ ! Cõ ! (_õ ! )ˆõ ! ²õ ! :Ñõ !  ö ! $ö ! Eö ! hWö ! Àö ! *×ö ! 7÷ ! 6:÷ ! *q÷ ! "œ÷ ! ¿÷ ! Ò÷ ! 6ï÷ ! N&ø ! /uø ! =¥ø ! $ãø ! 8ù ! @Aù ! ,‚ù ! 3¯ù ! Uãù ! 59ú ! 3oú ! £ú ! ¶ú ! &Ìú ! +óú ! Kû ! >kû ! ªû ! BÂû ! &ü ! ,ü ! 2Hü ! #{ü ! &Ÿü ! 0Æü ! ;÷ü ! 3ý ! Iý ! [ý ! "|ý ! Ÿý ! 10þ ! 4bþ ! 1—þ ! GÉþ ! Uÿ ! 6gÿ ! 1žÿ ! #Ðÿ ! 'ôÿ ! 3 AP /’ R ; 8Q 6Š 7Á Jù BD (‡ (° $Ù þ # 9 9Y C“ >× 7 N 8j M£ Mñ $? 5d 6š 2Ñ $ 1) /[ /‹ 4» (ð 0 BJ Q Tß X4 2 $À 8å % ID 8Ž /Ç @÷ +8 ! /d ! K” ! 8à ! 6 6P ;‡ ?à 2 <6 -s 6¡ <Ø & C< :€ 9» 7õ 5- .c "’ µ <Í 4 !  0? p b‡ >ê ) 2G (z -£ "Ñ 0ô 8% ^ n F‚ +É =õ "3 V n <€ _½ W Qu TÇ R go × RY U¬ 3 *6 7a 6™ *Ð 3û )/ Y s -‰ *· /â = "P 0s -¤ Ò 'ñ / EI E 6Õ ;  FH F 2Ö 4  S> 6’ JÉ - AB „  º ;Ö * = BY œ 5± Aç C) Cm #± 7Õ 9  'G o Š "© Ì +æ  '- /U … ¡ !Á "ã ! ! %:! !`! 6‚! ¹! Ô! 2ó! 3&" 0Z" ;‹" Ç" !Ë" !í" # I+# u# /‘# 8Á# <ú# 17$ 2i$ 6œ$ 'Ó$ 7û$ 53% 1i% 1›% Í% $ê% 3& 5C& 'y& /¡& .Ñ& 1' #2' )V' *€' Y«' f( el( 4Ò( ) ) A-) ,o) tœ) * $* D4* 5y* &¯* Ö* /ò* ""+ )E+ #o+ *“+ 3¾+ +ò+ _, *~, ©, 4Ä, (ù, "- $;- `- [}- Ù- ê- 1. 3. 7Q. <‰. %Æ. ,ì. )/ .C/ 2r/ 0¥/ )Ö/ 0 )0 >0 !V0 .x0 §0 rµ0 8(1 a1 ur1 ;è1 $2 '2 +2 6=2 6t2 W«2 W3 3[3 3 -–3 5Ä3 ú3 4 4 04 G94 4 ›4 &¸4 Uß4 ;55 Fq5 ¸5 TÙ5 S.6 U‚6 VØ6 4/7 d7 *t7 #Ÿ7 'Ã7 "ë7 8 .8 O8 o8 8 ®8 Ë8 ì8 ! 9 -9 G9 e9 9 %›9 +Á9 í9 : #: %B: .h: -—: 8Å: Sþ: 1R; 8„; A½; .ÿ; &.< U< &v< L< 6ê< I!= #k= $= I´= Gþ= JF> =‘> 8Ï> =? 'F? 7n? -¦? @Ô? @ ,@ N8@ (‡@ %°@ Ö@ &î@ %A 4;A pA wA ˆA ¦A ½A ØA ÷A  B !B >ßS aT †€T GU 7OU L‡U =ÔU @V ,SV ,€V <­V *êV `W —vW TX cX †ôX z{Y qöY WhZ ÑÀZ *’[ 4½[ Kò[ %>\ ,d\ ‘\ ®\ Ì\ *é\ 1] DF] Q‹] KÝ] +)^ QU^ b§^ [ ! _ vf_ LÝ_ R*` Í}` PKa Iœa `æa LGb V”b aëb |Mc `Êc m+d p™d › ! e B¦e §ée Q‘f Lãf <0g 8mg A¦g Règ R;h XŽh gçh [Oi M«i bùi m\j lÊj M7k M…k PÓk V$l E{l MÁl _m 9om D©m 7îm Z&n Yn TÛn @0o Fqo H¸o \p p^p aÏp i1q a›q @ýq =>r M|r XÊr x#s Sœs =ðs >.t _mt @Ít uu k„u ‡ðu [xv VÔv V+w Q‚w 3Ôw Xx jax eÌx a2y [”y fðy kWz 9Ãz Šýz rˆ{ Iû{ ‡E| pÍ| [>} Iš} Lä} c1~ Q•~ \ç~ žD –ã Sz€ 7΀ c ej ;Ð 7 ‚ yD‚ .¾‚ 'í‚ Oƒ ,eƒ V’ƒ léƒ CV„ Nš„ Né„ M8… .†… Iµ… Vÿ… PV† O§† U÷† XM‡ \¦‡ 2ˆ 46ˆ Nkˆ mºˆ J(‰ +s‰ *Ÿ‰ 7ʉ cŠ [fŠ 2Š _õŠ NU‹ 6¤‹ QÛ‹ Y-Œ 7‡Œ /¿Œ /ïŒ 1 -Q ) B© <ì [)Ž …Ž 'ŸŽ ‡ÇŽ <O ^Œ $ë S Fd _« Y ‘ `e‘ LÆ‘ /’ 1C’ Fu’ ‰¼’ WF“ Až“ 1à“ Q” 8d” .” ,Ì” (ù” -"• /P• G€• KÈ• – M#– q– 0€– ±– ! Ï– &Ú– —  —  — 8— E— [— q— y— ‚— Š— ¢— ¶— — Ü— "í— "˜ 3˜ F˜ V˜ c˜ s˜ †˜ Ÿ˜ ¶˜ Ę Ó˜ è˜ ™ ™ "™ ,2™ 0_™ b™ Hó™ -<š jš r› 7{› ]³› 9œ Kœ Gbœ =ªœ èœ 0øœ 5) $_ 4„ 3¹ Qí A?ž Ož WÑž {)Ÿ H¥Ÿ 2îŸ 9!  7[  A“  ?Õ  ;¡ HQ¡ Lš¡ Nç¡ >6¢ 0u¢ ¾¦¢ ce¤ eɤ a/¥ =‘¥ VÏ¥ 4&¦ '[¦ Rƒ¦ KÖ¦ "§ <§ R§ h§ ~§ (œ§ *ŧ ð§ . ¨ !;¨ 0]¨ %Ž¨ 8´¨ ,í¨ "© =© &]© f„© +ë© `ª Axª ºª P<« N« OÜ« 5,¬ ?b¬ @¢¬ 㬠{t­ nð­ /_® „® @¯ AU¯ ;—¯ CÓ¯ [° Hs° 1¼° 3î° H"± (k± 4”± mɱ {7² ‡³² R;³ >Ž³ „ͳ 7R´ 'Š´ <²´ 1ï´ ;!µ 4]µ D’µ n×µ )F¶ 'p¶ ]˜¶ Jö¶ RA· 4”· VÉ· 3 ¸ +T¸ R€¸ cÓ¸ 7¹ NX¹ :§¹ %â¹ º &º 6Eº ]|º *Úº 6» -<» ej» Oл : ¼ }[¼ GÙ¼ A!½ &c½ AŠ½ C̽ 5¾ %F¾ Gl¾ C´¾ cø¾ I\¿ =¦¿ ?ä¿ E$À .jÀ '™À .ÁÀ 0ðÀ d!Á A†Á 2ÈÁ .ûÁ 2* >] BœÂ Bß ?"à Abà 5¤Ã DÚà 4Ä ;TÄ =Ä <ÎÄ L Å 2XÅ ‹Å ¡Å )¶Å àÅ +Æ ,-Æ IZÆ I¤Æ NîÆ Y=Ç 4—Ç DÌÇ +È 1=È FoÈ B¶È [ùÈ YUÉ [¯É Y Ê OeÊ 6µÊ mìÊ [ZË ?¶Ë 2öË K)Ì 1uÌ 0§Ì RØÌ 6+Í @bÍ F£Í `êÍ 2KÎ D~Î 9ÃÎ býÎ <`Ï Ï 7»Ï GóÏ 3;Ð 5oÐ 4¥Ð bÚÐ H=Ñ :†Ñ AÁÑ bÒ VfÒ )½Ò (çÒ 4Ó 1EÓ \wÓ >ÔÓ #Ô 37Ô ;kÔ >§Ô ˜æÔ Õ CÿÕ vCÖ MºÖ I× /R× 0‚× b³× PØ gØ %ˆØ <®Ø @ëØ B,Ù soÙ ãÙ QùÙ KÚ \bÚ *¿Ú NêÚ Y9Û 9“Û PÍÛ =Ü \\Ü *¹Ü .äÜ 4Ý .HÝ 1wÝ d©Ý )Þ C8Þ D|Þ NÁÞ wß Aˆß Êß +êß #à :à Xà Csà #·à 5Ûà á ;2á Nná F½á <â <Aâ D~â Ãâ ãâ %øâ ã ?9ã #yã Kã Iéã L3ä D€ä FÅä & å 03å då tå @†å JÇå Mæ (`æ \‰æ @ææ >'ç Mfç N´ç Cè OGè *—è 5Âè iøè Obé ‹²é ‘>ê TÐê Q%ë Nwë uÆë :<ì <wì #´ì Øì òì  í 0"í +Sí Mí ;Íí 4 î O>î MŽî ;Üî >ï 2Wï ;Šï >Æï <ð <Bð ð 4šð CÏð Nñ bñ ~ñ #›ñ +¿ñ 2ëñ Kò Djò )¯ò VÙò K0ó |ó 2šó WÍó I%ô Hoô $¸ô 3Ýô "õ 4õ Jõ /_õ 'õ ·õ @Ëõ ö .ö 5Iö 6ö ¶ö 2Öö 6 ÷ <@÷ I}÷ bÇ÷ ?*ø Mjø 7¸ø %ðø -ù 1Dù Tvù +Ëù .÷ù 9&ú M`ú +®ú <Úú Jû bbû XÅû @ü _ü ~€ü ?ÿü 7?ý pwý +èý %þ G:þ z‚þ ýþ ÿ !?ÿ aÿ ÿ 2šÿ Íÿ ãÿ úÿ  !2 "T "w $š $¿ 6ä " 4> €s 'ô ' rD „· 4< Fq °¸ Pi 2º zí vh 7ß M We ½ /Ò ! @$ 5e !› a½ M 5m !£ 5Å !û 7 #U 7y #± IÕ 5 ! 7U ! # ! W± ! k Qu fÇ '. ;V '’ 'º %â B K 4e 5š 5Ð [ *b C CÑ 1 KG !“ ,µ 4â  94 \n LË S 1l dž * *. RY 0¬ ,Ý \ !  ?g @§ aè (J <s H° ù : 5T Š .« Ú !è A !  ;L ;ˆ Ä 2Ö 7  CA C… CÉ 2  *@ k 3Š ?¾ +þ >* 6i p  Œ ™ž •8 NÎ a ? ˆ¿ ³H ‚ü ­ ¤- ÏÒ <¢ Oß 0/! :`! /›! Ë! 1ä! 1" H" i" Š" «" Ê" "é" " # "/# R# s# '”# /¼# ,ì# ($ [B$ Zž$ iù$ Hc% g¬% %& &:& %a& #‡& «& éÀ' Bª( Hí( L6) 4ƒ) ;¸) Zô) ]O* ­* \É* &+ U¨+ 'þ+ '&, BN, V‘, ^è, G- #f- 5Š- ½À- ~. 0Ÿ. =Ð. F/ 3U/ E‰/ #Ï/ ó/ 0 -'0 OU0 /¥0 IÕ0 z1 +š1 FÆ1 2 :.2 &i2 02 Á2 =Ú2 @3 AY3 -›3 $É3 î3  ! 4 5&4 L\4 9©4 )ã4 ( 5 )65 '`5 Eˆ5 7Î5 66 /=6 %m6 J“6 1Þ6 87 GI7 B‘7 QÔ7 7&8 x^8 D×8 F9 8c9 5œ9 cÒ9 A6: $x: 3: Ñ: ì:  ! ; Q; 3n; >¢; á; !ø; < ,1< &^< *…< .°< +ß< , = +8= ,d= ,‘= ,¾= -ë= -> -G> -u> -£> -Ñ> -ÿ> --? -[? -‰? -·? -å? +@ ,?@ +l@ ,˜@ +Å@ +ñ@ ,A +JA +vA +¢A +ÎA -úA -(B -VB -„B +²B +ÞB + ! C ,6C +cC ,C +¼C ,èC +D ,AD -nD -œD +ÊD 1öD ,(E ,UE -‚E +°E ,ÜE + F +5F .aF +F +¼F ,èF 1G =GG ;…G ;ÁG 9ýG 27H ?jH ;ªH 2æH 0I KJI @–I I×I A!J UcJ Ž¹J 9HK 3‚K '¶K )ÞK L H$L 1mL ;ŸL -ÛL M `M EwM ,½M hêM SN tN -N ,¾N "ëN 7O /FO vO (O 2¸O *ëO #P :P ZP ${P 4 P /ÕP %Q $+Q 0PQ 3Q 'µQ ?ÝQ *R 0HR hyR ¯âR '’S 5ºS IðS 8:T 5sT %©T QÏT K!U BmU @°U *ñU RV EoV NµV DW HIW A’W BÔW HX G`X P¨X IùX DCY %ˆY /®Y <ÞY 9Z *UZ 0€Z *±Z -ÜZ  ! [ B[ ][ 4s[ $¨[ aÍ[ 6/\ Kf\ :²\ :í\ =(] f] (‡] “°] /D^ /t^ :¤^ <ß^ <_ 0Y_ =Š_ |È_ 2E` Jx` {Ã` …?a RÅa Db 0]b 4Žb !Ãb Påb 66c 0mc Fžc våc F\d I£d íd "e 3#e 5We *e +¸e Päe +5f Baf 6¤f Ûf ,íf &g PAg C’g ;Ög -h ,@h -mh K›h "çh 6 ! i Ai (_i 9ˆi BÂi Nj Tj /dj %”j 1ºj ,ìj jk g„k Eìk 02l 1cl J•l 0àl ,m .>m $mm )’m 0¼m (ím "n .9n Ehn .®n RÝn 0o 3Po ,„o F±o &øo =p >]p œp 7³p ;ëp 'q ©Hq Œòq €r ds "es Lˆs 7Õs  t ))t FSt ,št NÇt 0u Gu ,hu D•u *Úu &v 7,v /dv J”v ßv 2w %3w /Yw C‰w MÍw fx .‚x .±x 9àx !y l( ,g G” Ü Hû <D‚ (‚ /ª‚ 7Ú‚ Cƒ -Vƒ F„ƒ &˃ oòƒ :b„ ?„ ôÝ„ 2Ò… A† /G† w† 2Ž† àÁ† F¢‡ üé‡ æˆ Lh‰ !µ‰ @׉ -Š &FŠ 'mŠ p•Š .‹ Ž5‹ —Ä‹ )\Œ E†Œ <ÌŒ / 29 %l ’ :° $ë 2Ž ACŽ /…Ž 1µŽ %çŽ  e) 5 3Å :ù d4 0™ -Ê 7ø q0‘ b¢‘ X’ 2^’ ‘’ Y²’ Q “ ^“ A}“ a¿“ 2!” 2T” O‡” .×” • #• K?• ‹• I‘• Û• ,ø• )%– /O– >– ,¾– ,ë– — X— &x— wŸ— L˜ d˜ z˜ S˜ +ä˜ 9™ 'J™ @r™ \³™ Oš )`š 9Šš 1Äš ,öš 4#› 3X› ;Œ› )È› )ò› 8œ !Uœ 0wœ (¨œ 'Ñœ %ùœ * .J /y =© 6ç @ž !_ž Sž AÕž 3Ÿ =KŸ ‰Ÿ ŸŸ $½Ÿ 7⟠  0  "L  ;o  1«  Ý  7ô  $,¡ [Q¡ 6­¡ $ä¡ D ¢ )N¢ ,x¢ d¥¢ 2 ! £ 7=£ =u£ $³£ FØ£ B¤ ?b¤ <¢¤ (ߤ X¥ +a¥ 0¥ "¾¥ @ᥠ9"¦ W\¦ @´¦ =õ¦ =3§ Mq§ @¿§ 6¨ ;7¨ -s¨ B¡¨ Uä¨ $:© A_© Y¡© ?û© >;ª Bzª A½ª iÿª i« /u« Y¥« Jÿ« HJ¬ N“¬ K⬠‰.­ +¸­ Tä­ L9® J†® ƒÑ® >U¯ I”¯ ;Þ¯ @° J[° <¦° )ã° Q ± C_± (£± )̱ ö± B² WG² =Ÿ² Qݲ K/³ X{³ ‚Ô³ BW´ %š´ dÀ´ i%µ µ < µ Dݵ ."¶ Q¶ 8a¶ Oš¶ Tê¶ ?· `· ~· 9˜· Ò· ð· -¸ >¸ X¸ +x¸ >¤¸ >㸠>"¹ (a¹ FŠ¹ 6ѹ Rº >[º šº i´º *» I» a» u» Ž» £» +¹» å» ú» ¼ &¼ <¼ 9R¼ Œ¼ ­¼ Á¼ Õ¼ ò¼ ½ ½ 0½ L½ `½ €½ ˜½ ¸½ н ð½ ¾ %¾ :¾ =T¾ H’¾ FÛ¾ >"¿ 8a¿ 2š¿ 6Í¿ SÀ ÉXÀ ""Á EÁ `Á {Á 7˜Á 1ÐÁ D 3G @{ 6¼Â /ó /#à *Sà 9~à ¸Ã 0×à Ä ;'Ä McÄ K±Ä 1ýÄ 1/Å -aÅ $Å (´Å #ÝÅ Æ Æ <Æ YÆ vÆ #“Æ ·Æ ÕÆ óÆ Ç =/Ç mÇ =‹Ç ÉÇ çÇ È #È $AÈ fÈ ƒÈ ¢È <ÀÈ ýÈ É 9É (WÉ @€É SÁÉ Ê 16Ê 1hÊ 0šÊ GËÊ 6Ë *JË #uË #™Ë L½Ë 8 ! Ì 'CÌ *kÌ "–Ì "¹Ì %ÜÌ %Í K(Í >tÍ F³Í RúÍ .MÎ *|Î A§Î DéÎ †.Ï CµÏ <ùÏ 56Ð FlÐ 4³Ð =èÐ &Ñ 2FÑ ,yÑ (¦Ñ ,ÏÑ 8üÑ H5Ò 7~Ò 5¶Ò 7ìÒ G$Ó =lÓ SªÓ AþÓ A@Ô >‚Ô ;ÁÔ 0ýÔ 4.Õ 8cÕ 8œÕ 8ÕÕ 5Ö #DÖ ihÖ ÒÖ :éÖ $$× NI× O˜× Rè× E;Ø HØ CÊØ FÙ 3UÙ ‰Ù k¤Ù Ú .Ú +LÚ 6xÚ &¯Ú ÖÚ SóÚ $GÛ lÛ ‡Û :£Û 2ÞÛ 6Ü 6HÜ 6Ü 3¶Ü êÜ 3 Ý G=Ý 5…Ý V»Ý VÞ EiÞ E¯Þ SõÞ Iß .hß B—ß PÚß +à Kà =kà K©à tõà .já ™á ,´á Báá 3$â LXâ %¥â gËâ -3ã 1aã Q“ã 5åã Cä C_ä I£ä fíä Tå +så Ÿå _¾å *æ Iæ ùçæ \áç g>è y¦è 8 é 'Yé Ié =Ëé D ê Nê [hê YÄê Cë Dbë 4§ë *Üë Tì 6\ì C“ì $×ì 5üì <2í 6oí 2¦í <Ùí Cî %Zî 2€î '³î %Ûî "ï E$ï jï &‹ï ²ï KÑï /ð FMð 5”ð <Êð +ñ G3ñ P{ñ @Ìñ 5 ò VCò Sšò 2îò 7!ó >Yó J˜ó ,ãó 8ô %Iô Boô 9²ô Wìô 0Dõ Fuõ F¼õ 7ö ';ö ,cö 8ö 7Éö ?÷ $A÷ If÷ 6°÷ 3ç÷ 4ø ;Pø =Œø UÊø R ù 7sù @«ù 7ìù 7$ú X\ú )µú %ßú bû Whû 0Àû 3ñû $%ü ZJü 3¥ü $Ùü ]þü U\ý D²ý >÷ý …6þ «¼þ Ahÿ Kªÿ Göÿ E> 2„ 3· )ë . "D .g †– 0 N m Œ $¬ ;Ñ   c- ‘ !§ !É .ë , +G ?s ;³ )ï 0 ?J 8Š /à 3ó ' F e $… ª -À +î k ’† Z t Pô -E s (” ½ =Í * ! :6 ! q ! 1 ! @¿ ! E CF KŠ IÖ D Ge B­ Gð B8 G{ Eà ]  Jg :² \í _J }ª L( Øu YN ¨ ¾ Ú ï    5 !P -r 4  *Õ W 3X Œ .§ LÖ @# 1d E– @Ü ? 8] A– MØ O& mv 1ä 0 jG =² Cð |4 o± 6! DX 8 vÖ ]M [« Z Nb '± 5Ù 5 5E 5{ 6± 6è 7 7W 7 7Ç 7ÿ 77 7o 7§ 7ß 7 7O 7‡ 5¿ 5õ 5+ 5a 5— 5Í 6! 5:! 5p! 5¦! 5Ü! 7" 7J" 7‚" 7º" 5ò" 5(# 5^# 5”# 5Ê# 5$ 56$ 5l$ 5¢$ 5Ø$ 6% 6E% 4|% 5±% 5ç% 6& 6T& 5‹& 5Á& 5÷& 5-' 8c' 4œ' 4Ñ' 5( .<( Ek( [±( = ) 7K) ƒ) 4¡) \Ö) X3* ?Œ* *Ì* N÷* >F+ D…+ -Ê+ 0ø+ .), .X, -‡, .µ, .ä, -- ¡A- Hã- M,. ~z. Pù. ;J/ C†/ DÊ/ J0 LZ0 ,§0 'Ô0 @ü0 1=1 1o1 A¡1 -ã1 /2 .A2 9p2 7ª2 â2 +3 8/3 $h3 3 (®3 1×3 I 4 +S4 74 2·4 ê4 (5 <15 n5 I‡5 /Ñ5 06 ~26 8±6 1ê6 57 4R7 A‡7 5É7 ?ÿ7 5?8 ;u8 6±8 7è8 9 9 5Z9 69 DÇ9 5 : BB: Z…: ;à: 9; 8V; B; DÒ; F< C^< D¢< Jç< A2= 9t= [®= G ! > XR> s«> [? W{? *Ó? þ? ;@ 5U@ 8‹@ ?Ä@ EA EJA KA 4ÜA -B 1?B LqB 3¾B òB LC :SC +ŽC ;ºC <öC -3D DaD ¦D ÁD ,ÞD C E COE @“E ÔE 7èE % F FF fF &„F )«F $ÕF /úF 0*G a[G S½G JH :\H E—H :ÝH <I ;UI =‘I ;ÏI @ J OLJ 3œJ ÐJ íJ 4ÿJ 84K !mK eK bõK bXL ,»L )èL #M 96M 3pM /¤M 0ÔM .N ?4N 5tN 'ªN 2ÒN OO 'UO '}O 9¥O ;ßO FP -bP DP LÕP b"Q …Q W˜Q ðQ F R 'PR -xR '¦R )ÎR .øR ''S MOS ]S cûS !_T 7T A¹T &ûT œ"U ‹¿U PKV RœV .ïV 5W 5TW 4ŠW 0¿W KðW F·h öh „xi ©ýi `§j gk Mpk v¾k b5l ˆ˜l Š!m 8¬m 4åm Gn bn :ƒn &¾n (ån Ho nWo =Æo Hp vMp OÄp Lq waq =Ùq )r SAr G•r EÝr -#s CQs .•s /Äs ,ôs g!t +‰t "µt ?Øt Ju $cu &ˆu 8¯u "èu - v *9v Ydv H¾v 'w B/w Lrw ;¿w Bûw 2>x :qx -¬x Úx 8ðx )y *Hy Nsy "Ây 7åy z ;z @Rz -“z LÁz n{ }{ 4›{ Ð{ ç{ ø{ &| &:| a| Or| EÂ| I} SR} U¦} Mü} PJ~ ;›~ T×~ O, #|  € 1© MÛ =)‚ +g‚ -“‚ Á‚ >Õ‚ :ƒ AOƒ 8‘ƒ Dʃ A„ BQ„ ,”„ HÁ„  ! … :$… B_… 6¢… FÙ… B † Dc† B¨† )ë† +‡ A‡ X‡ 2o‡ S¢‡ Sö‡ +Jˆ Avˆ :¸ˆ Fóˆ D:‰ <‰ H¼‰ ?Š MEŠ E“Š FÙŠ W ‹ 5x‹ I®‹ ,ø‹ I%Œ oŒ 4ŽŒ 1ÃŒ 6õŒ 9, Vf G½ !Ž ! 'Ž u2Ž t¨Ž  Q7 Z‰ :ä 0 RP .£ DÒ ‘ 41‘ .f‘ •‘ ¶‘ +Ñ -ï‘ ’ 45’ Sj’ ]¾’ “ ;:“ ,v“ '£“ QË“ ” 1-” F_” ¦” 'Á” 'é” #• [5• J‘• NÜ• D+– 4p– I¥– 4ï– M$— Hr— F»— [˜ '^˜ †˜ >¥˜ Vä˜ !;™ !]™ (™ -¨™ Ö™ @ò™ '3š `[š M¼š D ! › [O› †«› d2œ +—œ RÃœ 6 6M Z„ Xß ?8ž 3xž 9¬ž 8æž DŸ <dŸ S¡Ÿ _õŸ \U  W²  Z ! ¡ Pe¡ H¶¡ 9ÿ¡ *9¢ )d¢ fŽ¢ :õ¢ p0£ ;¡£ *Ý£ 0¤ C9¤ :}¤ 2¸¤ 2ë¤ 7¥ +V¥ @‚¥ Ã¥ ॠ<¦ O=¦ -¦ (»¦ ä¦ *d§ _§ _ï§ (O¨ ax¨ /Ú¨ L ! © %W© O}© KÍ© [ª @uª !¶ª -ت 3« <:« 9w« /±« 2á« C¬ PX¬ I©¬ 4ó¬ +(­ .T­ 5ƒ­ _¹­ ® W!® Dy® C¾® <¯ F?¯ ¨†¯ K/° 2{° 2®° á° ý° 9± DS± 5˜± *α !ù± D² 5`² :–² 3Ѳ *³ A0³ r³ `³ oð³ W`´ <¸´ Hõ´ 7>µ /vµ 0¦µ K×µ J#¶ Nn¶ E½¶ [· a_· hÁ· *¸ ŠE¸ 4и U¹ p[¹ ̹ 3è¹ º I;º ;…º JÁº 0 » $=» 'b» %Š» N°» -ÿ» -¼ lK¼ ?¸¼ Fø¼ 7?½ (w½ H ½ Aé½ M+¾ Oy¾ Sɾ l¿ QŠ¿ IÜ¿ ]&À V„À WÛÀ '3Á [Á 7|Á A´Á 7öÁ =. Ul S 5à Là +là 6˜Ã Ïà ,ðà 4Ä /RÄ ‚Ä ŸÄ 8ÀÄ OùÄ IIÅ 7“Å EËÅ 0Æ 1BÆ AtÆ ?¶Æ öÆ Z Ç NhÇ /·Ç çÇ È 2È JIÈ E”È >ÚÈ ;É DUÉ 8šÉ 'ÓÉ KûÉ 9GÊ -Ê 6¯Ê PæÊ B7Ë HzË FÃË C ! Ì 8NÌ L‡Ì _ÔÌ Z4Í =Í ÍÍ ,íÍ 7Î 'RÎ $zÎ /ŸÎ (ÏÎ ?øÎ V8Ï )Ï 9¹Ï &óÏ FÐ 3aÐ •Ð 1´Ð -æÐ %Ñ d:Ñ 9ŸÑ 1ÙÑ 9 Ò HEÒ XŽÒ ^çÒ .FÓ !uÓ G—Ó GßÓ T'Ô D|Ô 7ÁÔ OùÔ $IÕ nÕ N‹Õ ÚÕ 3íÕ !Ö 2?Ö MrÖ -ÀÖ /îÖ 9× ;X× N”× ã× >ñ× ?0Ø <pØ :­Ø &èØ Ù 6,Ù IcÙ ­Ù ½Ù "ÍÙ 3ðÙ L$Ú ?qÚ ˆ±Ú ˆ:Û xÃÛ )<Ü fÜ J‚Ü 1ÍÜ ’ÿÜ ,’Ý I¿Ý K Þ IUÞ ŸÞ ¾Þ ÕÞ öÞ ¿ß •×ß ¦mà >á .Sá Q‚á #Ôá /øá (â k@â T¬â Fã ²Hã \ûã @Xä 8™ä 8Òä 8 å &Då $kå Må fÞå @Eæ 8†æ @¿æ Mç ENç (”ç ½ç /Ùç / è <9è Ëvè ËBé )ê U8ê HŽê G×ê Gë Fgë ®ë B.ì Bqì B´ì ÷ì Mwí ™Åí `_î 2Àî #óî mï (…ï 8®ï <çï 8$ð :]ð 9˜ð fÒð T9ñ >Žñ 0Íñ ‘þñ Eò -Öò Có 'Hó pó U‹ô Váô e8õ nžõ y ö U‡ö bÝö ^@÷ =Ÿ÷ 5Ý÷ tø ˆø A§ø Péø :ù GYù ¡ù Eµù -ûù 6)ú e`ú ;Æú Bû fEû ,¬û 7Ùû Aü +Sü Vü VÖü G-ý 6uý X¬ý hþ Qnþ rÀþ D3ÿ (xÿ .¡ÿ NÐÿ T t9•1Ï;H=0†'·0ßCCT;˜ZÔM/}%˜D¾66:SqVÅELbL¯bü@_P 'ñ([B7ždÖ4;#p<”LÑ} .œ )Ë Iõ I? ! J‰ ! !Ô ! <ö ! Ã3 Æ÷ s¾ 2 2N : [¼ n*‡9²2ì&IF=BÎ:9LC†;ÊlOs!Ã7å>(\7…8½1ö$(M:k8¦8ß<*U8€3¹7í9%=_C¼IPJP›Xì`Ee¦k jx~ã~b~á~`€ß~`€ß~`tß‚T‚ׂZ݆_=æ;$ E` :¦ ;á 7!!U!?w!9·!9ñ!+"7J"7‚"Aº"7ü"*4#8_#>˜#<×#7$'L$ t$"•$*¸$&ã$A ! %RL%?Ÿ%:ß%:&;U&T‘&eæ&CL' '4±'-æ'(4-(7b(1š(@Ì(w )[…)á)Qñ)WC*$›*$À*&å*, +Z9+D”+5Ù+*,:,R,7h,; ,-Ü,= ! -7H-2€-4³-6è-/.4O.6„.-».-é.*/+B/1n/N /7ï/4'04\0/‘01Á07ó05+10a13’11Æ13ø1F,25s23©2(Ý273&>3Ae3I§3Eñ3743P4%„4ª4*Æ4!ñ4@51T5-†5´5+Ô5,63-6a6/|6-¬6,Ú6#7%+7-Q7@7#À7)ä7…8'”8,¼8qé8\[9¸9BØ9:6:U: p:ƒ~:;;K>;6Š;RÁ;U<Dj<n¯<_=@~=Y¿=@>ÓZ>L.?7{?4³?.è?@@2X@5‹@FÁ@4A2=A2pAB£A|æAlcBmÐB7>C_vCNÖCa%Dl‡D;ôDG0E2xEK«E6÷EZ.Fn‰FføFK_GH«G?ôGd4Hr™H= IPJI/›I3ËIIÿI\IJZ¦J•K—KŠLŽ¤LX3MmŒMZúMNUNc¤NpOYyOTÓOJ(PJsPk¾PN*Q/yQV©Q3R@4RvuRDìR\1SrŽS=TQ?T”‘TR&UhyUgâUsJVS¾VhWm{W>éW?(XahXÐÊXÒ›Y'nZ–ZeµZ[&6[][x[C’[=Ö[D\ÇY\…!]I§]añ]‰S^6Ý^U_1j_Yœ_©ö_¨ `&Ia(paT™a6îaB%bhb*}bB¨bYëb+EcWqcOÉc<d?Vd#–dTºd7e"Ge5je1 e#Òe5öe8,f?efK¥f$ñfbg$ygMžgìgB h=Nh@ŒhXÍh'&i:Ni<‰iKÆiRj>ej-¤jEÒj*k'Ck/kka›k:ýk\8l$•lVºlbmOtmOÄmNncnC€n=ÄnVo5YoGo"×o%úo! p4BpTwp3Ìp9q :q:[q.–q8Åq4þq73r*kr3–r"Êr!írs%)s3Os9ƒs'½sfås5Lt#‚t¦t?Àt@uAAu>ƒu?ÂuBv;Ev8v7ºv9òv:,wBgw:ªw-åwBxDVx1›x>Íx4 y Ay$by9‡y6ÁyGøy@z(_z-ˆz.¶z"åz6{b?{b¢{8|)>|1h|?š|<Ú|T}@l}'­}bÕ}8~V~i~|~-’~&À~^ç~/Fv\”7ñ5)€ _€ l€y€-€&½€ä€!<^"}U 3ö *‚;4‚]p‚"΂,ñ‚Bƒ%aƒ+‡ƒV³ƒV ! „Fa„?¨„*è„…3…,J…w…!’…´…-Ð…Rþ…RQ†P¤†=õ†L3‡^€‡&߇Eˆ<Lˆ=‰ˆDLj- ‰3:‰-n‰,œ‰ɉAè‰/*ŠZŠ!wŠ?™ŠMÙŠ4'‹>\‹V›‹Vò‹VIŒV Œ÷Œ%?,'l-”:ÂýEŽ_Ž{ŽIýŽ9GA0ÃUô%JpEŒ=Ò ‘I1‘"{‘Qž‘ð‘Ap’9²’!ì’S“3b“0–“+Ç“:ó“5.”nd”@Ó”;•HP•:™•IÔ• –G?–8‡–,À–í– ! —A—+^—*Š— µ—$Ö—-û—4)˜)^˜$ˆ˜­˜8Á˜>ú˜09™Aj™¬™PË™š70š)hš;’šVΚ+%›=Q›:›'Ê›?ò›2œ'Kœ6sœJªœ#õœ$@>œ3¹YíGž3gž&›ž%žsèž„\Ÿ,áŸD %S 7y .± eà 'F¡Tn¡5á=ù¡Y7¢&‘¢A¸¢Hú¢*C£n£f‰£™ð£“Š¤¥S;¥2¥)Â¥Aì¥<.¦/k¦›¦º¦Uצ;-§Bi§)¬§:Ö§5¨CG¨[‹¨5ç¨#©A©#a©…©—©J©©5ô©4*ª1_ª'‘ª¹ª:ÕªO«%`«P†«J׫4"¬@W¬H˜¬9á¬D­:`­)›­@Å­:®FA®Yˆ®Aâ®!$¯3F¯Dz¯3¿¯'ó¯I°qe°O×°/'±1W±2‰±"¼±Iß±))²S²+j²"–²*¹²#ä²/³28³.k³š³Eº³,´e-´,“´AÀ´9µ)<µ'fµ9ŽµGȵD¶BU¶@˜¶1Ù¶> ·KJ·)–·HÀ·> ¸OH¸_˜¸_ø¸]X¹o¶¹n&ºY•ºRïº;B»1~»7°»-è»N¼;e¼"¡¼^ļ^#½M‚½Qнm"¾-¾;¾¾Kú¾3F¿5z¿5°¿<æ¿E#À3iÀCÀCáÀ0%ÁVÁLqÁ?¾Á3þÁ92ÂLlÂQ¹ÂP ÃP\ÃP­ÃPþÃ;OÄ>‹Ä7ÊÄ4Ån7Å’¦Åg9Æ4¡ÆKÖÆL"ÇMoÇM½ÇK ÈJWÈ9¢È.ÜÈ; É&GÉ4nÉ4£ÉGØÉ4 ÊDUÊAšÊDÜÊ>!Ë=`Ë"žË8ÁË6úËV1Ì.ˆÌF·ÌYþÌ@XÍ9™ÍFÓÍFÎIaÎB«ÎbîÎ6QÏEˆÏEÎÏBÐGWÐ*ŸÐ{ÊÐMFÑ[”Ñ@ðÑ-1ÒG_Ò=§ÒUåÒ9;Ó.uÓu¤ÓWÔ;rÔH®Ô,÷Ô–$Õ|»Õ08ÖiiÖuÓÖ7I×=×W¿×[Ø/sØ)£ØYÍØI'Ù6qÙK¨Ù3ôÙ4(Ú(]ÚŠ†Ú3Û3EÛ>yÛ+¸ÛNäÛ<3Ü@pÜJ±Ü&üÜA#Ý6eÝ=œÝ&ÚÝ&Þ:(Þ>cÞV¢ÞgùÞNaß8°ßOéßA9àY{à'Õà;ýàn9ቨáA2âitâLÞâH+ãAtã_¶ã`ä/wäQ§äRùäaLåO®åUþåNTæ0£æKÔæi ç6Šç@Áç:èE=èXƒèLÜèd)é8ŽéWÇéIê%iêQêPáê92ë1lëDžë_ãë@CìR„ìD×ìPí=míP«í9üís6î$ªî*Ïî(úîE#ï2iï4œïWÑïa)ð[‹ðZçð1BñFtñO»ñ* ò]6ò5”ò[ÊòE&ó7ló$¤óSÉó5ô@Sô$”ôB¹ô9üô56õXlõdÅõ<*öJgöG²ö:úöi5÷FŸ÷$æ÷A øAMøtøeù2jùKù3éù<úBZú6úLÔúS!ûluûUâû`8ü[™üHõü4>ýBsý9¶ýOðýB@þVƒþ,Úþ:ÿHBÿP‹ÿPÜÿC-Lqƒ¾*BSm,Á8î'L-OzYÊQ$\vgÓ,;AhDª#ï(*<%g]lë$Xe}0ã5J h‰©É é; ! .F Fu F¼ K ! AO ! 9‘ ! .Ë ! *ú !  % !F "h @‹ 8Ì 5 (; d v  ‘  Ÿ  ! ­ 6¸ Kï =; 9y 0³ Aä D&kB{E¾5J<w‡>ÿ(><gZ¤KÿDK/\ÀPFnTµ9 ! 0DzuOð-@Gn>¶HõL>A‹>ÍF QSJ¥NðG?Z‡Vâ/9Di0®ß5öv,Z£:þ69BpB³Nö(E5n&¤JËM>dA£@åJ&9q3«PßH0ayFÛA"id?Î7 <F 4ƒ 5¸ î >!>D!(ƒ!h¬!T"4j";Ÿ"PÛ"A,#Un#=Ä#7$2:$4m$B¢$8å$=%>\%;›%9×%&*%&P&:o&@ª&*ë&1'H'_'*x'3£'R×'‹*(G¶(Eþ(DD)=‰)=Ç);*?A*O*HÑ*R+Dm+;²+Aî+i0, š, ¦,9´,)î,-3 -T-_p-4Ð-4.6:.-q.IŸ.Ié./3/8c/1œ/YÎ//(0DX0!05¿0-õ0$#16H151Eµ1?û1G;2;ƒ2B¿2S3@V3:—3Ò35ð36&46]4”46´4>ë4H*5Rs5*Æ5(ñ565966o66¦66Ý6S7Dh7F­7Qô7SF86š86Ñ8693?9-s9/¡9Ñ9?í9%-:BS:@–:#×:4û:70;h;8ö;F/<Cv<Xº<@=PT=0¥="Ö=9ù=]3>r‘>†?u‹?x@‡z@Ay‚AˆüA€…BqC€xCxùC|rD†ïDŒvEF…‘F=G/UG=…GJÃG,H7;H,sH4 H=ÕH4I2HIS{ICÏI3JLGJn”J-K/1K1aK6“K,ÊK÷K+L32L-fL”LI³LýLJM2^MI‘MNÛM=*N6hNVŸNCöNA:OC|OCÀOP-P8BP%{P$¡P$ÆPOëPO;QP‹QPÜQP-R.~R*­R4ØR- S%;S/aSD‘SCÖSNT6iT. TBÏTcU.vU#¥UnÉU78V pV3|VK°V.üV?+WVkWVÂW#X=X5\X1’X,ÄXBñX/4Y1dY/–YÆYRãYR6Z;‰Z(ÅZîZ ! [([BC[R†["Ù[nü[`k\aÌ\^.]c]Pñ]\B^TŸ^ô^ _R_Cj_5®_.ä_5`I`Hb`«`2Ã`$ö`Ga7caf›a@b4CbGxbYÀbUc<pc:­c*èc7d%Kdqd#…d)©d1Ód/e5e8QeŠe£eºeÑe4ðe%f*i(oi$˜i$½iâi>ôiS3j‡jœjY¬j4k0;k0lk9k9×kl/l,Ml¯zl(*mTSm>¨m+çm4n2Hn4{n7°n:èn8#o!\o7~o¶oHÓo\p8yp2²påp<ûp+8q"dq-‡q;µqFñq*8r"cr&†r ­r!·rÙrør!s-7sAesL§s8ôs@-t\nt]Ët5)u8_u>˜uS×u*+v;Vv$’v·vXÕv:.w7iw?¡w4áwDx/[x6‹x0Âxóx/y4?y&ty(›y'Äy2ìy8z>Xz?—zI×zW!{Py{7Ê{/|42|<g| ¤|j²|<}5Z}R}Iã}>-~>l~?«~Hë~H4e}-ã)€?;€ {€œ€)¸€Câ€&&1M1W±c ‚@m‚=®‚ ì‚L ƒZƒnƒAŠƒÃ=„8L„)…„(¯„ Ø„Cù„<=…>z…>¹…Vø…_O†[¯†Y ‡Pe‡*¶‡3á‡?ˆLUˆ'¢ˆEʈ6‰LG‰]”‰Iò‰(<Š'eŠŠ¦Š#¾ŠAâŠ9$‹9^‹6˜‹*Ï‹Dú‹?Œ#[Œ'Œ/§Œ׌?õŒ 5 B$OtMˆ3ÖP ! ŽE[Ž6¡Ž:ØŽ;IO[™+õ$!%F9l:¦'á/ ‘79‘'q‘6™‘eБ.6’+e’+‘’9½’A÷’M9“@‡“8È“G”FI”&”/·”Gç”)/•tY•JΕ@–DZ–%Ÿ–;Å–H—jJ—Aµ—.÷—C&˜<j˜P§˜+ø˜)$™<N™.‹™"º™:Ý™Mš;fš>¢š@áš?"›2b›;•›JÑ›2œ"Oœrœ‡œ œ+·œ)㜀 =ŽÌ%ä, ! ž,7ž*džBž<ÒžZŸUjŸÀŸOB M’ 3à 6¡5K¡ ¡&¢¡5É¡Kÿ¡=K¢%‰¢:¯¢Cê¢7.£)f£3£0Ä£(õ£:¤FY¤P ¤?ñ¤91¥8k¥B¤¥Cç¥I+¦/u¦'¥¦,ͦ0ú¦=+§Ai§K«§P÷§4H¨C}¨GÁ¨( ©*2©o]©tÍ©vBª:¹ª;ôª;0«Dl«`±«1¬D¬1`¬)’¬3¼¬:ð¬7+­c­/{­«­­/Û­4 ®+@®?l®8¬®Wå®A=¯+¯/«¯@Û¯ ! °*'°*R°}°:’°1Í°-ÿ°J-±6x±¯±űÚ±ô± ! ²8'²7`²>˜²)ײH³GJ³T’³fç³%N´8t´5­´9ã´KµOiµ¹µصVõµ`L¶#­¶&Ѷø¶B·KY·O¥·0õ·P&¸Tw¸H̸H¹B^¹8¡¹3Ú¹?ºDNºQ“ºGåº-»0L»1}»¯»IÈ»:¼5M¼_ƒ¼Xã¼X<½Q•½ç½+¾2/¾Ib¾¬¾NÁ¾`¿jq¿EÜ¿H"ÀAkÀT­ÀYÁY\Á=¶Á6ôÁ3+Â:_Â-šÂ ÈÂéÂÃ2"Ã3UÃ2‰ÃO¼Ã# Ä.0Äd_Ä4ÄÄ3ùÄ2-Å4`Å#•Å@¹Å?úÅD:ÆCÆ{ÃÆ,?ÇYlÇKÆÇWÈ0jÈ›È)·È4áÈBÉ.YÉ:ˆÉUÃÉ_Ê%yÊŸÊ?ºÊ&úÊ2!Ë8TË=Ë2ËËHþË2GÌ-zÌ.¨Ì=×Ì=ÍDSÍ2˜Í%ËÍ]ñÍ4OÎQ„ÎGÖÎCÏQbÏ8´ÏRíÏ*@ÐAkÐ-­ÐVÛÐ-2ÑF`Ñ[§Ñ5ÒP9Ò!ŠÒ&¬Ò3ÓÒkÓqsÓiåÓsOÔ/ÃÔ>óÔ-2Õ6`ÕA—ÕPÙÕ,*Ö>WÖ"–Ö3¹Ö<íÖ8*×2c×/–×=Æ×,Ø<1Ø5nØ.¤Ø.ÓØ Ù%#ÙIÙ2bÙ;•Ù)ÑÙ ûÙ0Ú9MÚ"‡Ú2ªÚ*ÝÚ3Û3<Û.pÛŸÛ?¸Û)øÛ"Ü AÜbÜB}Ü:ÀÜ*ûÜ7&Ý0^Ý9Ý5ÉÝ+ÿÝ>+ÞKjÞH¶ÞÿÞ?ß6UßFŒß8Óß7 àDà_à qàK}à:Éà áXáYká.Åá#ôáâH8âWâ+Ùâ=ã0Cã?tã.´ã5ããMäCgä$«ä>Ðä3å5Cå/yå'©åyÑå3Kæ/æ&¯æ6ÖæL çIZç9¤ç-Þç? è0Lè/}èy­èE'é9mép§éSêSlê;Àê7üêY4ë?ŽëÎëSßëR3ì%†ì"¬ì>Ïìí4,í.aí0í+ÁíAíí./î0^î.î¾î?Õî'ï$=ï6bïR™ï8ìïD%ðAjðI¬ðnöðIeñr¯ñ\"òXò<Øò7ó=MóG‹ó2Óó?ô,Fô2sôE¦ôEìôJ2õ1}õ/¯õ0ßõHöAYö"›ö!¾öàö^ûö5Z÷$÷#µ÷3Ù÷V øQdø¶øÔø8òø>+ù/jùBšù+ÝùX úJbú-­ú,Ûú'û+0û2\û û°ûÐûïû ü,*üWü8jü£ü1Áü+óüBý+býWŽýæý5ùý/þ)Eþ+oþ>›þ+Úþ3ÿ:ÿNÿ*dÿÿ*£ÿÎÿåÿ üÿ+ !  63D$x"ÀØ,ñBa++« ×ø$@74x­)Äîpv“+¯5Û]5o3¥6Ù/(@i8†¿7×:JFj±AÅ_Hg°,Í,ú"'Ji'†9®8è(! ?J dŠ jï Z ! )j ! h” ! Jý ! H e Cw S» & 6 0O -€ ® #Å "é N R[ H® ;÷ A3KuÁ9à@6[C’:Ö:EL)’5¼=ò+0\b?y¹Íãþ44;+p'œ1Ä?ö261i0›1Ì þ0 Pq *°)Û+)1[!m¡T³4Pj „¥·ËÝ÷:.i|5Ž6Ä5û51gL Î'ï)<;xŠŸ½Ôéû $'%Lr†œ2²å3ú6.e}–­$Äé"!:-\Š£¹0Ð6Oey¥·Ñ#ãO0i@š[ÛS76‹Â#á " 4 S r D‘ Ö ó ,!6=!t!Ž!G©!)ñ!"5"P"e"$„"©"Å"ã"$#$%#$J#o#Œ#!¢#)Ä#@î#*/$%Z$€$'•$1½$ ï$/%@%^%/r%¢%6¹%#ð%&R4&Q‡&*Ù&6';'X'w'#–'%º'à'+ÿ'"+(#N(r($(µ(^Õ(Y4)bŽ)"ñ)!*I6*G€*lÈ*=5+5s+:©+Hä+E-,2s,J¦,:ñ,J,-4w-<¬-Vé-X@.i™.i/Pm/4¾/Jó/8>0Zw0RÒ0]%1ƒ1>£14â1C2[2Hv2G¿2,3 ! 430?3,p33.º3$é34B!49d4Ež4$ä4" 5+,5/X59ˆ58Â5+û5D'6zl6Mç657=R797;Ê78>!81`83’83Æ84ú8 /9 =9AK9@9*Î9*ù9B$:%g::"ž:!Á:#ã:$;!,;FN;.•;AÄ;E<L<-a<*<-º</è<#=,<=^i=DÈ=> >L>Ui>¿><Þ>D?B`?R£?Kö?3B@'v@@ž@#ß@:A4>A$sA/˜AVÈAOBAoB4±B5æB C )C7C[@C/œCTÌC !D&BD,iD–D\žDBûD3>EPrE+ÃEDïEK4FG€FcÈF<,G&iG0G4ÁGöGH@*HLkHD¸HPýHZNI=©I<çI>$JGcJ*«J*ÖJ;K#=K'aK1‰K1»K1íK2L+RL*~L—©L¹AMPûMDLN5‘N;ÇNGOOKO&›O+ÂO0îO:P.ZPH‰PLÒPlQSŒQmàQNRYÎRC(SalS[ÎS4*TF_T+¦T+ÒT0þTM/UZ}U#ØU>üUC;V,V-¬VBÚV1WDOW7”W;ÌW:X4CXJxX.ÃX>òX41YWfY9¾YIøY)BZ'lZ;”ZÐZ1çZ8[MR[! [Â[2â[8\ N\*o\Gš\<â\@]E`]N¦]õ](^+=^9i^£^ ! ·^LÂ^>_2N_;_#½_#á_%`E+`;q`<­`ê`5a8:a9saA­aFïa26b?ib3©b3Ýb3cEEc2‹c,¾cëcFd_JdRªd,ýd:*e>eeD¤eéeUïeEf'efAf2Ïf6gn9g1¨g)Úg$h)hJFht‘hjiPqiZÂiMjFkjQ²jZk;_k)›kÅk*åk+lAÊp^ qfhqdÏqo4rN¤rnór/bs\’sïs?t!At4ct;˜tÔtAätG&u;nu3ªu(Þu0v 8vYvrvŠv¦vOÁvVwWhwÀw1àwJx?]xVxGôx?`Ÿ4½.ò0!‚+R‚A~‚.À‚0ï‚. ƒOOƒBŸƒ@âƒ#„K>„,Š„=·„4õ„7*…?b…;¢…`Þ…h?†f¨†q‡R‡pÔ‡nEˆv´ˆt+‰ ‰^ Š~Š\þŠ/[‹-‹‹O¹‹2 ŒC<ŒZ€ŒZÛŒW6WŽ@æ0'ŽGXŽ^ ŽSÿŽ0S„8¤6Ý8AM-'½Lå72‘6j‘6¡‘;Ø‘T’Gi’?±’1ñ’F#“Cj“K®“Qú“'L”1t”-¦”7Ô”( •E5•D{•IÀ• ! –,*–=W–7•–EÍ–N—6b—3™—,Í—;ú—D6˜L{˜6ȘFÿ˜ F™/g™'—™¿™CÝ™<!š^šBnšK±š+ýš0)›6Z›0‘›>›;œ =œ@^œ9Ÿœ<ÙœF:]F˜ß=ùE7ž.}žb¬ž@ŸEPŸ–Ÿ3³Ÿ9çŸ0! R q $ 5´ Rê ^=¡?œ¡;Ü¡¢Q0¢3‚¢@¶¢<÷¢l4£W¡£Sù£/M¤7}¤/µ¤å¤û¤¥*¥B¥Z¥r¥‡¥Ÿ¥´¥É¥Þ¥ò¥¦¦<¦Q¦i¦€¦•¦ª¦¦צ獵§1§F§^§s§ˆ§§²§ǧߧ÷§¨$¨9¨Q¨f¨~¨“¨«¨¨Ú¨ï¨©©.©C©[©p©ˆ©©µ©Ê©â©÷© ª!ª79ªqª†ª0™ª ʪ4ëª «@«V«#p«+”«6À«÷«¬)¬#I¬?m¬G­¬&õ¬#­@­7V­7Ž­6Æ­#ý­,!®3N®#‚®:¦®:á®7¯:T¯4¯,įQñ¯6C°>z°4¹°!î°%±%6±\±-z±0¨±)Ù±²8² S²(t²=²,Û²)³/2³Jb³.­³4ܳ=´:O´*Š´*µ´&à´6µ6>µ4uµ2ªµEݵ.#¶;R¶ Ž¶¯¶;Ķ7·&8·6_·>–·*Õ·>¸ ?¸%`¸+†¸0²¸$ã¸9¹4B¹w¹%—¹>½¹ü¹Nº4aº.–ºź0äº.».D»2s»&¦»<Í»# ! ¼).¼8X¼9‘¼H˼*½?½X½9p½#ª½(ν@÷½%8¾e^¾#ľ,辿4.¿5c¿™¿<ª¿-ç¿+À.AÀ$pÀ3•À&ÉÀðÀÁFÁ.cÁ3’Á3ÆÁBúÁ3=Â4qÂD¦ÂCëÂD/Ã+tÃ0 ÃIÑÃ"Ä0>Ä7oħÄ(»Ä!äÄ#Å*Å+JÅ+vÅ+¢Å+ÎÅ+úÅ+&Æ+RÆ+~Æ+ªÆ+ÖÆ-Ç+0Ç(\Ç.…Ç-´Ç+âÇ+È+:È+fÈ’È%±È>×È>É>UÉ*”É'¿É'çÉ'Ê7Ê'TÊ|Ê+™Ê'ÅÊ'íÊ'Ë'=Ë'eË'Ë/µËEåË.+Ì/ZÌ0ŠÌ=»Ì)ùÌ0#Í=T͒ͨÍ$ÃÍ/èÍÎF8Î>Î!¾Î0àÎÏ'0Ï1XÏ=ŠÏ$ÈÏ$íÏÐ-1Ð-_Ð8ÐBÆÐ@ Ñ.JÑyÑ7–Ñ'ÎÑöÑ3Ò7BÒ;zÒ"¶ÒKÙÒ.%Ó*TÓ%Ó0¥Ó/ÖÓ7Ô.>Ô.mÔœÔJ·Ô!ÕA$Õ-fÕ+”Õ5ÀÕ6öÕ@-ÖHnÖ<·Ö0ôÖ0%×2V×%‰×D¯×!ô×%ØA<Ø_~ØeÞØ3DÙ'xÙ3 Ù,ÔÙ0Ú'2Ú!ZÚH|Ú0ÅÚ5öÚ,Û8EÛG~ÛGÆÛÜ0-Ü;^ÜšÜ5°Ü@æÜ'Ý=ÝLVÝ9£Ý7ÝÝ.Þ,DÞ>qÞc°Þlß1ß'³ß.Ûß. ! à/9à@ià'ªà)Òà=üà$:á-_á3á-Áá8ïá/(â/Xâ-ˆâ ¶âB×â8ã3SãR‡ãFÚã!äc9ä4ä&Òä$ùäMå;lå;¨å9äåæ.=æ"læ,æ¼æØæEòæ68ç`oçMÐç3è9RèŒè@è1Þè6é3Gé4{é.°é6ßé0ê3Gê{ê"êN³ê-ëI0ëFzë&Áë0èëì2ìJì"hì.‹ì(ºì%ãì& í&0í&Wí)~í*¨í(Óí(üí(%î#Nî!rî1”î-Æî$ôî#ï#=ï&aï#ˆï*¬ï+×ï/ð,3ð#`ð)„ð:®ð€éðgjñCÒñ ò2 ò)Sò.}ò¬ò;Ìò/ó!8ó(Zóƒó-¡óPÏó* ô<Kô#ˆô,¬ôcÙô7=õ\uõÒõ'çõ4ö,Dö;qöJ­ö6øö./÷D^÷V£÷Mú÷?Høˆø¥ø)½ø(çø*ù+;ù2gùšùH«ù#ôùHúVaúq¸ú*û!Hû;jû<¦û%ãû8 üHBüG‹ü@Óü&ýI;ý?…ýLÅý*þ%=þ:cþ:žþ7Ùþ7ÿ9Iÿ6ƒÿ;ºÿKöÿ;BK~+Ê:ö,1U^[´$"5.X‡5¢5Ø@4O-„8²,ë(!A'c&‹²Í/ì#&@&gŽ+«×)ó)9+c*:º;õ.1*`2‹¾Ý8õ3.bs2“.Æ'õ= ![ 2} B° Só ;G ! )ƒ ! +­ ! -Ù ! 7 E? F… :Ì [ Oc E³ 9ù C3 Hw 0À >ñ B09sG­Rõ-H1vN¨A÷69<p=­2ë7AVA˜=Ú4)M0w+¨UÔ*GF3Ž+Â+îG9b1œ1Î56-OU}MÓ3!U(p)™2Ã1ö.(W.r¡)À*ê0*[*q:œ!×/ù*)?T@”.Õ/:L‡˜µ>Ç.% T3u3©<ÝO,jh—,-M2j97×b(r,›,È(õ-hL2µèD 0K 9| =¶ .ô 6#!Z!-v!3¤!>Ø!8"5P";†"$Â"+ç"=#7Q#=‰#JÇ#$$'7$<_$Eœ$$â$I%xQ%8Ê%,&00&Ta&+¶&(â&J 'MV'5¤'@Ú'L(Ih(Q²(J)O);o)«)8Å)@þ)4?*!t*)–*'À*|è*-e+#“+8·+.ð+.,BN,1‘,$Ã,&è,%--5-/c-;“-/Ï-[ÿ-#[.:.º."Ø.@û.Â2D3<F3Uƒ3EÙ3>42^4-‘44¿4/ô4/$5.T5.ƒ5#²5#Ö59ú5>46 s6J”6$ß6/7+47/`7576Æ7#ý7B!80d8C•88Ù8;9!N9+p9/œ9%Ì92ò9A%:0g:3˜:8Ì:);@/;$p;2•;1È;=ú;[8<G”<AÜ<.=1M=]=;Ý=.>RH>7›>)Ó>Oý>DM?F’?#Ù?9ý?;7@9s@"­@<Ð@/ A2=A?pA=°A5îA@$B>eB2¤B4×B1 C>C5UC\‹CCèCI,D=vDd´D.E9HEU‚EUØE:.F/iF5™F>ÏF#G<2G<oGF¬GóG(HS/HiƒH`íHKNI.šI/ÉI5ùI/JAJ0aJ&’JA¹J.ûJ*K/KD6K {KˆK¥K>ÀK6ÿKD6L>{L=ºL>øLI7MPMMÒM N ;Nf\NCÃN@O0HO7yO8±O)êO2P2GP$zPFŸP!æPAQ)JQZtQLÏQRbžR+SI-SDwS9¼SJöSLAT8ŽT:ÇT3UC6U)zU¤U»U(ÎU*÷U$"V<GV<„V<ÁV;þV?:WBzW?½W=ýW7;X?sX7³X?ëXN+YRzYOÍYNZNlZH»ZH[?M[?[[Í[6)\.`\\/¯\Hß\@(]`i]CÊ]3^5B^.x^\§^1_O6_1†_&¸_ß_ò_+`3`3F`4z`#¯`'Ó`û`Za"va™aµa?Óa_b3sbI§b=ñb,/cU\c>²cDñc*6d2ad8”d8Íd8e5?e-ueK£eïe,f)0fGZfM¢f)ðf0g1Kg9}g4·g>ìg=+h"ih+Œh*¸hDãh'(i-Pi4~i,³i)ài9 ! j+Dj'pjH˜jLájB.k$qk,–kKÃk-l'=l&el Œl"­l=ÐlAm@Pm9‘m#ËmDïmE4ndzndßnADo5†oH¼o(p(.pYWpi±pRq0nq?Ÿq6ßqQrJhr³rcÓr$7s6\s[“sXïsKHtZ”tSïtZCuXžuS÷uXKv>¤v@ãv\$wAwDÃwUxg^xSÆxSyHnyh·y, zMz ! Vz az kzwzH‹zRÔz7'{-_{/{L½{F ! |Q|Y|`k|Ì|7ã|8}ET}š}(¸}Já}N,~E{~IÁ~I 3U8‰FÂ/ €A9€G{€EÀ9 GCg‹Mó-A‚No‚V¾‚ƒQ,ƒ2~ƒ>±ƒbðƒFS„2š„!Í„$ï„Z…<o…<¬…3é…6†1T†1†† ! ¸†ÆBà†#‡6C‡ z‡6›‡?Ò‡7ˆ#Jˆ(nˆ—ˆ«ˆň2åˆ2‰K‰k‰+‡‰³‰Ή!é‰* Š66ŠmŠ‹Š©Š3Ê(÷Š+ ‹AL‹+Ž‹º‹?É‹7 Œ3AŒ2uŒ5¨ŒOÞŒQ.K€XÌ/%ŽUŽCrŽ¶ŽGÐŽ]\vCÓL d0…=¶(ôD‘Bb‘E¥‘Fë‘L2’E’GÅ’ “3#“>W“;–“QÒ“>$”>c”<¢”ß”3ú”n.•9•וö•7–&M–'t–œ–º–VÑ–!(—3J—H~—*Ç—*ò—"˜S@˜"”˜·˜ZÓ˜U.™„™£™Á™×™í™1š!5š,WšB„šQÇš!›2;›2n›%¡›Ç›æ›œ($œ.Mœ@|œ0½œIîœQ8QŠFÜ:#ž4^ž!“žEµž:ûž26Ÿ0iŸšŸ'¹ŸáŸ- / ML Lš hç +P¡J|¡;Ç¡C¢‚G¢,Ê¢S÷¢4K£6€£0·£<è£'%¤2M¤3€¤(´¤ݤõ¤G¥TV¥0«¥KÜ¥4(¦?]¦V¦$ô¦9§-S§4§I¶§+¨,¨LH¨K•¨:á¨(©=E©Aƒ©KÅ©pªp‚ª&óª%«%@«@f«a§«5 ¬Z?¬š¬%­¬2Ó¬*­91­Hk­4´­Bé­3,®)`®\Š®ç®Y¯T`¯%µ¯%Û¯r°*t°,Ÿ°bÌ°)/±>Y±O˜±Dè±$-²8R²=‹²@ɲ3 ! ³6>³,u³7¢³1Ú³U ´Eb´?¨´/è´rµl‹µ@øµe9¶ŠŸ¶I*·bt·N×·@&¸Jg¸/²¸4â¸-¹BE¹Fˆ¹Ϲ%í¹1º!Eº<gº¤º"ú,æº+»,?»Al»&®»$Õ»*ú»2%¼ X¼y¼¼£¼5²¼.è¼/½7G½>½G¾½<¾BC¾;†¾ ¾2̾9ÿ¾09¿@j¿B«¿4î¿3#À'WÀ/À<¯À>ìÀ++Á*WÁ:‚Á;½Á:ùÁ.4Â6cÂ2šÂ@ÍÂÃ)Ã+DÃ+pÃ'œÃ*ÄÃ.ïÃUÄtÄ‘Ä)°ÄÚÄ"õÄ Å(9Å!bÅ4„Å4¹Å4îÅ$#ÆUHÆOžÆGîÆJ6ÇDÇÆÇ5âÇ9È5RÈ:ˆÈLÃÈ5ÉJFÉ7‘ÉDÉÉ.ÊD=ÊG‚ÊBÊÊ( ËD6ËB{ËA¾Ë?Ì4@Ì5uÌM«Ì"ùÌ)Í3FÍ4zͯÍ=ÎÍ1 Î2>ÎKqÎR½ÎhÏcyÏBÝÏ7 ÐGXÐ- Ð:ÎÐ' Ñ'1Ñ$YÑ+~ÑGªÑTòÑ5GÒK}ÒÉÒDéÒ5.Ó2dÓ —Ó¸ÓgÐÓA8Ô!zÔ!œÔ-¾ÔIìÔT6Õ‹Õ3©Õ3ÝÕDÖ<VÖN“Ö@âÖ<#×0`×3‘×3Å×Rù×FLØ0“ØÄØJÝØF(ÙJoÙIºÙ3ÚA8ÚAzÚI¼ÚMÛNTÛA£ÛHåÛ_.Ü4ŽÜ1ÃÜ3õÜ0)ÝLZÝa§Ý Þ (ÞIÞ3fÞšÞ?·Þp÷Þ.hß—ß·ßÐß"éß àJ àNkà]ºà+á2Dá1wá>©á<èá/%â8UâJŽâKÙâI%ãToã>Äã<äD@ä;…ä;ÁäDýä;Bå;~å9ºåMôåMBæNæMßæN-çM|çNÊçNèahè_Êè-*éXé(néM—éPåéB6ê"yêœê+»ê5çê7ë(Uë%~ë¤ëE¸ë.þëB-ì2pìH£ììì3í&;í5bí+˜í3Äí1øí@*î1kî)î-Çî,õî"ï24ï1gï2™ï<ÌïW ð9að'›ð&Ãð2êð9ñMWñQ¥ñ=÷ñ/5ò3eò;™ò*ÕòLó8Mó4†óO»ó ô%)ôOô4nô£ôÁôOOõiŸõO öKYöN¥ö=ôö52÷Ah÷*ª÷NÕ÷U$øzøR‘ø?äø0$ùUù(nùC—ù9ÛùDú9Zú+”ú-Àú(îú3ûQKû<ûHÚû<#ü3`ü”ü­üÇüàüûüý,ýFý_ýyý’ý¬ýÇýàýûýþ3þKþ^þ}þ—þ²þÍþåþýþ9ÿHVÿBŸÿPâÿ\3=%Î%ô7(RK{?Ç3`;_œVü:SgŽnöhe`Î;/k2‰}¼J:L…PÒ5#5Y55Å;û)73a2•3È4ü31 2e 3˜ 3Ì 3 ! e4 ! š ! Vº ! 6 _H 0¨ ,Ù , ,3 K` i¬ b 2y :¬ 7ç C‚c<æ€#4¤DÙ.CMk‘?ýd=Š¢@-8n@§MèS6:Š,Å(òea.ã30F/w_§'//_Bp:³î (9F5€U¶U =b; =ÜqZŒ'ç7'G3o+£)Ï+ù*%"P/s'£&Ë/ò&"ICh)¬sÖOJ'šÂ3ß, @a"{ž%´7Ú44G-|.ª&Ù+ *, W 3w *« )Ö 6!67!6n!"¥!TÈ!#"A"'`"5ˆ"@¾"Gÿ"-G#4u#9ª#/ä#+$=@$[~$NÚ$s)%A%Aß%2!&@T&,•&5Â&@ø&G9'H'AÊ'4 (QA(M“(Rá(]4)S’)Pæ)N7*K†*gÒ*3:+/n+Ož+7î+ &,<G,Y„,AÞ,, -3M-C-Å-Fâ-8).7b.;š.-Ö.(/W-//…/)µ/3ß/0@30Ÿt0-17B1Hz1HÃ1/ 2@<2I}2@Ç2;3D3^3r3(Š36³3<ê3('42P4@ƒ4:Ä48ÿ4985=r5<°5;í5*)6JT6=Ÿ6FÝ6($76M7D„7AÉ7J 8IV8B 8Eã8C)9%m97“9Ë9^é93H:5|:9²:Jì:67;On;9¾;0ø;8)<b<%~<&¤<'Ë<*ó<'=(F=#o=]“=]ñ=:O>7Š>?Â>=?,@?Am?+¯?EÛ?L!@Zn@'É@ñ@+A6BB?B.ÁB)ðB9C1TC5†C>¼CûCD-1D:_DLšD7çDOE<oE#¬EeÐE56FlF,‰F&¶FÝFýFqG!‰G.«GÚG÷G6 HCH'WH'HV§H=þH+vb-µbãb0úb0+c\c!|c1žcÐcçcUþcTdmdYˆd=âd2 eSe1pe¢e$´e4Ùe;f8Jf>ƒf<ÂfQÿfQglg&ìg/h8Ch0|hG­h õh)i.@i/oiŸi³i^Ói<2j;oj3«j.ßj"kK1k1}k6¯k?æk&l6:l>ql°lÄl1ãlm92m:lm>§m<æm3#nZWn@²nón3o;GoOƒo;ÓoOpD_pX¤pDýpXBq(›q<Äq/rC1r^ur2ÔrHs4PsD…s5Êstt*0t2[t9Žt4ÈtIýtGuDPu/•u,Åu:òuC-vbqv.Ôv]w&awCˆwLÌw+x(ExBnxG±xOùxYIya£y_zjezIÐzi{)„{&®{jÕ{-@|)n|O˜|*è|T}jh}8Ó}8 ~%E~7k~6£~8Ú~7fKf²7€5Q€9‡€0Á€/ò€1"0TE…OËH‚@d‚L¥‚Eò‚E8ƒ4~ƒ\³ƒ„*„@„CX„Dœ„4á„(…=?…,}…/ª…EÚ…D †/e†8•†Άã†ü†‡$!‡;F‡P‚‡(Ó‡.ü‡8+ˆ'dˆ*Œˆ>·ˆ*öˆ!‰$5‰7Z‰A’‰BÔ‰6Š'NŠRvŠ,ÉŠNöŠ&E‹1l‹ž‹K±‹ ý‹ ! ŒFŒYŒ&jŒ[‘Œ,íŒ)5D7zA²+ô& ŽGŽ"fŽ ‰Ž@ªŽ.뎻33ï2#$V1{­7Ë-‘31‘%e‘T‹‘Pà‘,1’+^’Š’&ª’8Ñ’G ! “5R“Hˆ“=Ñ“9”9I”Fƒ”9Ê”U•=Z•8˜•IÑ•"–#>–3b–/––-Æ–-ô–?"—4b—4——/Ì—,ü—Q)˜{˜#‹˜7¯˜&瘙'%™&M™t™%’™¸™Ó™ ! îøo žgw#¤ò=ë?9õ›²KÝJ jì¤NÞf ! $Ù ¹•Ž#®{ ¨ïË’ ! T  ê*% Ø›¿"÷s>†Þ ÷1z"àc ˜‰Óô69”$,3® sÞí"a ä#à '$ ! ôñº ñ=óg`8ÀµÈ*l”ÔŠ“£#l 2 ! | ! c Å#u ] ! ¤(! u Ïô ! c5ø æ$ ×–þ ­!ƒá†™è& ‡;«OOg#‰ º4" ‹)#Nôæ«!ÐJ•Ôg4Ø ƒK  ç]%$ê# #áÀØ"/ÈÁ o ! õ#S ! — ep"Z€)+ßÖ·Å"=ø»æ”L—å7²ï?#½\$˜»Ä@g ¸×1`"í âõóË jï vk. ±>‹èsp#ÉàÈ_6"¨ ~$æª ;3µ˜(<a2Y”±µ!K÷Íô"»¥Ï^ ˜½bª ! G À ! ´!Ãœv‘¨¦ä ˆX/Ò¤©.!™"Ʀ¦=ËÎ˯×Æi ! úÙ ¢xO ! î=ÕŒÐU©¶K)$."%î ! N›uêø X= ûöµ[6rœ QL B„¶·>D ! 8$¾B$m!, x  ó5þœ ! Ëd3 ×ýN.mIÙþt¯Q"´$] ! ÌjQ- ÅPP`³¸“ ! _ ð«ØÞ, }®ú‘1 ! ½… ™÷a#Ð?(Ôo4 ! 8L ¯Ý)°]M"PJ!{gôW ]1~ylæàU‡É !  ßõ F5t #uºõ Wúo­Yí4w .2. jˆEþj °Zc+•Gê§Ü" é*“v Ög"˜4Ìa`f 4¥:$÷ ! OQG±¡áïm\ ž@Ot± ¹ Í #Š ! äÈäO!Öø B6 ­ d%i;vŽ)±JêO«gž4d ]#e D`ÉÚZŠ~' uÆÖ ~!à–ÂÌ E"!a!Øñ/#_ OH"¥p~% ! D Ì€x…"k*Û Ž ̾’ Ð ö#L­gž#} Ê ݼ V ú‘ R"ªV åâIH !ÙŸ á"} S`­¨o"Ð AbÆa‰í"„ l"ÌÁ/5 Ã1Ðœ' Ê#[â ã) ë æŽyíGðÁë™Ñ M#1³ t:ô 3 ø7#cÙ" Œ É ! Zùr ú!ø¦ Q “¡Ï† ! ‡$·+J< é:ÒAv:jk ­x Y ! 4n$K ³' ! $úœ  ! öá• mb"„ÁŸãÝ#òà? 8 a—Ûw$›½ô#’à#ô +˜–&#†\Ò7 ã@"â!¼ þ]¾!ï&RÅgr§"+ àw zAß“ö!•'=œ§î ^S BÕðLc ! »"h#þÿv$–"¥©i£ —Sq =bâ5»(Û ! à8 #ˆ[ l [÷ Üåƒg³‚Þ¶n› ú #°–oXž"FóÂi̹šƒûÍÔxN"—3n‚!há þvåI#XtÈ؃™ÿ•®õ ‘X ¡ ³ Ä#&"»ÄL¾»"^ Ë‚©Ñ[Ë]1“ MÄe"D'"ÒŽ•œþ4X…8a ! `\7©M Z ?­ñÊG£˜ÆŽ» ¸ ¦PÓÅ ýÐÏ#©•ø'“üÄÌn ¿¢ _†Ó Ϫ§ ! Îp$-Þ4 éœ ]E$ç  W##YÄŒ–ÀF$þà *Ò þ ¤fœád!Y J ! C'– ! !µ 1 Éçk£'Ò &É™^8¶‡îõH#"1ô! õìP÷*m@Û:¹h™ ! k´ÿɇ•³ ‚‹ü ¦\nn>|Óò Ë"üÊ` ÓZºð"S ! Ó ƒ¡#Õ+8—« $×â "–’ ¢#‹ ç-!+RÒ àË "Ý¥ ¿!òUµ×Gÿ¢Ï å]!“$ó"&È?$]á#Z±Y>r$ K ! ømÐ€È ’!´ +‰Tºó-q•î AA Î;Åæz„—1°¹á¿ ! `–Õ  $fÙcdCÈv ô ú«Ê Èau©§dõ X"6 > <ºî5$î : ö >#Šÿ d"æçìÚ’Q!’N ií¹sª~"W >Ô”7ù ‚• ŒÔ !  Gã÷#( ›ò ] ‚â$¼Ë=wò!\ƒö ! ”ÆE !Ü—$òðy ! £·!‡‚" ø"ý3ÞJ"kŹz ! ç!p T­ã M—Ìb  „<#.L$â ¼Úì ! FUF!1 ÑÂæ,8 ! ˆ u ÁÞFÁΪ (£¹ ²józH¼ìœì¥ýùÿ†´s& m#í#¾ ~ ˜²"z ¾ N ! hé ÚŒ$o9p 4Š >¾_ ! p¹ tèô§¡ÍàÆ"1{†Ë}jš˜êºÿ…÷²”Ç mK§Þ# Dço ŽDµ Ÿj k ;"Y"Ž¸ 8¹H#Ž ëV(³:Rz$5 ! Ÿ•ÝÚ#žÈ ! ›Úª“" ʵ,û 1 P Ø> ! (ù $Þ—K‰{œ, — ! _’¾€’Ï$!ú ! #©&$$+!Æ Àz$XÇ ! À¦·"°*!µ¨#a ëIy„ˆXéã Kgñ!qÉ lèy ÷ ó#x!^#–wv\ ßX ! $1ç „ˆ!Q%Fb”˜ï¤¶ÆÆ Œ ! !  g!tàÄ h Ö!!„þghñ ! qÎ3µ¡Øá ÀÈ~€@z¦ ! ÝšSO âêF ÔE‘¬a’¿ç ç_pÇØdï;¸¿ rB Ë †®‡Õx ! Z! Û ûÙKÿii÷ÝÌck³¿©™,VÒQ‘â` ÖkOì GáÖíaˆ‰$¤¤9"Íç ! dÒå ! 'zó j0hBÜ”#û©æ œm~Û iÌy!¡l‹";Ø#2²”üEs ©SÊ ðk Ð÷æ ! TH €Óˆå„ I#Ra <ö‘ C² v ! Wΰ#mèþá ! VUmªW”}î ! H ¹¬îÈqS‹$ŸC Ö Sm×Ñ"ñì 2†k ê ù D ! ‹ ! ºá¶ ?Â: kDíÎ"¥Ú¥!:!ûUa )òp9 ! ÂN• ! 67à üKã—1g$Ñuû, ! )‘I?аÛh»‹Lõš[ï!þ› # á`$Â$÷°[#6Éü #Çí šªst™:üe,q 'E ¿`;ø…ÔA‚ ü :›$÷˜p÷¥V f žÀ£ u | 3SÝ'Œ6"0 t zÀòT$‘ -"0dæD Š ý”Ö×R“ ÐeµA ! yÚ ß" x†!Ô"#ô£ _ ´ø9 Œ‘¿#é³ ï vº n>ä— † ÒW !  ¢ÿ* Î^Ûº Q ‚7t!Â4n#·7£™!y{"Fw3]$ ƒ ‚œ"L ¤d%F‘h #Ñ r"Ñ xõ"G Ú îò 'Z³"¹ÈK !Žt rfÓ <n G!訹֧û5|{o j,"ê‚ÿhŒ#(¢I®I œ ’# ! ö›|ö … ¶ ð¨`c_0$› úš#©ÞŒ å ÔuŒ"I s0ËÌ£æEPvÙ\,/të Ì;  ! ®É»ÿ §½!jÏ…z!"î#}4CýÞ•ÄÀ j ! "Ö Äw"ÑÖ"Z#Ôèû#ª"TÕ Yÿb§HÈ<„<< ô 3$œ­^ƒ õú!ï“ ÈbO•Í "üc&¶ ! àË™¢"ubnå½q! å"‚í ! §êmWÍ U[€#–O —HÔ#Lwl+"†Ð á ˜k$Ueo°V ! |syòâ ! 4 .rÊí\ækÁ @y„ ! (Б{` ¸¹ãLubò ! LÕŽô$ Æ ¡Þžx¤E ! k õ !# T·p«³#€eGǧ €"éËN « ®"½s£*z-IFI!‰ * ! .Ë ª! ! _#ãËä:b÷Ö«˜¯ ‹ ‘eÝ!… "3 ¨ Õ u!¿ø v#þù ! o ~ÿÌ!¢tW A ! Ö´ ! ë—XX v Î 4¬ !â  ô/"´iØä ’eÏ t òœ$<× ³Ô ê ½pû"GÛþ‹1½ ™çf ¥” }[ ê:äY©2y "ûaœ$¿axr¶Çþe†¥¶m$¡`Í Ò³Å|6 Xy ¦¡ cƘi|WP!z&„ Š»!o#+ ']?w;Ð9 ! ¸äá $¸ž è² X S«>¢¸ d } \«"4® ±Ôà îì Íãµ#Ç{ë  •"؈)ß  ´ «RõÒ#ó²í9 G#ee~^!×›ä ¤~ÃÃf#Lj ³ ! 8³B‹-•æ¦Æc ! g"¯Ó#¹ªË/$ÂÙu#d ^Òq ;­2y¬\( ! È.$7 dh Q¡II‘­ÅÓ¨„ W8Š#|$GWЬ æW!›·#ðž ÚŒM!b É"Ä ! ¼û#hEØ¿ íý!âwÚ"Ð-Rgå7 M$S& ! 0Kª9 SÌ ¸ ÄõåMÀÆ F Ê9˜#x þ s#¼ © ðÄTóVl ¼@ ƒÞ"9X\+/ºHâ@+èYQÙ G ” ! ŠšÏOŠb $ìö i Þ ù !  ! ôXöò ! ý ! ¬\"?!$M2ƒVËßTªHâ·p•Á ! S [!› h15—(r‚ ¾6¡ ý’Õ¯a ¿ è ! •#s"¾XÊJ• Ψ• ó,Š„oS+Ä"É¿z® ÿ‚ "Å"*|ÛNÌ« {X‡tÝŽa*.Èd)Œnð= n ! |l®-nç#Ýéä !n}8!«7ÎÕ’$r €Òý#È7 × `¼#Ÿc""ÅT¼Ù —à¸Pgd¦ àˆ©Á†ú¨…ÑN‰!u0&<$÷d*Íñt¶ ÿ#úÂ{ Ÿd&Ä—#óú*` ç·ìÐ Z}¥Ñ¼"«| ëHC ! €á‚Ó}U~è Ð!@!%)è"2 M  . Güý‘!; m ="7 Y§ ! ƒU+!Ä20N Æg ! ú5… Pò"5ýI4Äë Ѩ ÏÀ×›—:‰V# ! ò#>š¯"Ë?‰[$`õ ­ r  ÎÑs­µ9DR# ›† úE³¡ ! ÓÝJ¿2 /^Ò^$· ¹í ° &Èÿ\$(Häm$ š ƒÀ0+ ¢åÁ )ªäéSP$O$­ ʘ"›¯ Z­Å Fw ! € û ! óu$õ(…‹ \ÇÐ h¢¹Gq Ý £¾ ! žx yñ² _‡AÐ.SD‰ˆ+"¸¨·ÛK- u=!8$=N!(… ïr%—ëÍ`,èèÏniT¥œÔ ô·ï…Ž ! › (žj†x‰%¥ ! ´ ù"uSË ! ,," ¤!ÎÚ¢èyi0V$ª õ†%"7¦ßÔof µ ¥"š¬/ 0 ! Ÿ ö 4$ú ê_°³ Ŷé´4 Ô2#B# ù*ƒ ! Ô!P=q#u K $ gÆ!F+¯2 !ª ü¤#û Èõ”NõŠ” áÈ!ó( ª21$uÛ#Q ! Z €¯ õ9% ù ¾ {®ð¢Z $<!¢þ Éß“DM·j!;©Eµ MîqeBc!½ c¬Ì\ uŠ jþï ! }Œ ! #¤P AÞv ÎÅ ?2®™ ô…&9 "Ù !  Æj"¼… Ã)(éš °v)S p8 ! ’¥ {$H$Êl#ºnôÌ šZŽ"yë!âLoÔµwo@ «×…M‡²®¾:ân A sš rz=×qc |Ñ ¼§$¿/± ”Q!I$ê"Q ÒòJ¸f R ™V± R»“~³3 7 ?Ü  ÅÍ.ÝÐ ¯÷7‰#2ó> ¸ $Ú0ø´\ œ6 ! ú" ! “r¢ O»# ‡P#9t xx# …— à{‡ ! 7k'ºÁ) £†¤¦— ja"Š ~ew"@‡ +Ø_¶ pÁ 7ÏåK…<ŽPL#"x!G  &‰ñüo$.1"M ! 5!$éóý"ùè ˆ`O·å f¬–„°·ä Áo$‘nÖHTî"RÓ ò µ` ! %ÔºáU !  / -—áÑîy ­ ß¹ïÊ!÷ ÏÞ nL=ø ëZç »'Ž1znXøx ¯ "}#”eöß ! &{ß‹S ¬W  ã* °ä¯!ÙÏù œ*4F¶ ñ 0$‡U Ýþ_Š|IëCMÇ® *È k, Ê ! µûêǨt ¾}P÷ *#{1æ×å î!x7lú«ü !› !  F õ#B#úrÕÉ,)q´Ä¶ Ç^Ã!Pç 1Y"s"9§¿ ! !bÝ ­Vl ! ÖõÚJ#X üªý°ªQ¶ #ðÅ ! OΟÇ=Ó yZ ! /µH‰· µ< ! –Ü2f4B!6ß_"GZM  ! ˆ"Q€ …$Š$#óOÜWP”¦" ­Iïñ?ªvLl1!ñ#÷´7x© ʈ1 9‡¢B4 ©`á t/ø Ê? ! EýR !|¯#ß_~[n ! .#–#FÝ ¶áS‘Û(}"Ÿ ! q'ïËQ i !m2 ! ¦§ H 8Ì x$Á!¥n¬ B ÆÔ2sA¨s€$m"1d ßÉx÷Ü O3DùÀpÑÊ"Ì ÷…Æjþ" aTZëEqÛéI³!"ô ! 8#è gŸµÐ<R–y Í·i!p!âÊ[ÉMV÷!zN{!ˆë ! ÕÏ /ÊOæ y }¥B½ÿÂäa 3"2!žŽ$D ý–!ª3&ÚO"“çƒ$8º´ s u2f$ÜÖ ‡ Jñ> 8 ! ÷y±ÂQ#hôJ_ ' Œ”"Ó< 6ó…"ÁÏ SŽkªž r±À ! Ü‚óŸã \Èó¤ #K5Ò G ŒE¸+‘ ! –ô Rý»kÛë#È@@x§U ñ W ×?.cîrffÆâ$w ~Ä ¾¿ú#ÚCë‡ ã ! ˆÏ ! Ù ±âƒa­"¶ºHbÀ -»vê w' Cï:êš$Ñd™Fƒ× !  ßEÚ€×ÍiV"æåí¯ g#öB"ñT" î p‹`ÆNq"lãvÆ ;p  wq» Z Í"ÍœÁEÃÕ[ €'jù'Œ¬ ! × E*!sfù"¬"Ø bK£ .ÓówêØ åz ½*ðò(±Lÿ!ýò¬¦x >Át ! ¾Ê× WŽì¡çG ! Ã!iÎ þ><7Õ~è ã&] ¨ .( ®ÂÝ { Yš£K+|{@¤ —˜º* sŠ 7"Å„C:ݲE î² É Š =½u kc£Â¾ AB]Ó„‹€ W •¥e‡¢àØW¿òY c Ôf"8 D 7Ö ! ‹ ¯_! *R¸Ç Ó‡$L5zÃs ! v D0 6 —•!‹¦!A—!@Úl f ! ã ±(ÏE# "™ "¶c ´! sæ"ë±. ! Ù]– Vï¨P6 & v• C é @Œ¸ ¯^‹"C˜>h¤ q ! Ó ä#Ó"±=Ù© ÛC2¹GÐè`!e-"Ò#\ÞB ! .r ! qÎÂ] · )ô¾N Æ6 D´ Ü!¥A‰ Þbº vP4¿<ôýó ü5 ú5 Æ ! Xº¯‚ׄ Á#¡ 2º ! [ éæÜ ! Äൠ™ ! ¥©!$ g±xé L \ X"‡àþzéÚÿ ½I. iŠYV»”rÐ"~ä¼Û v"´"À ³Õ#- ! ÷"³\Ü ZÅ ! – ¬c$p»]""»ÂØØ€\ ! 6Ö$tb¦ ÔŒZº#Š+„Ê;+ëä ]áÙ ¿oŠà#)!yÉe}!$i  °"æ#±ì”ä$â"” Òï÷"J ß 0Ï«_% ªhž$¢Ÿ!^ U^{'#7õ-y5Å!Ï Ñ ‡!’!w>"H¬#ê › Ø$H NI ÃÝxçÄô d‹E‹' î “åU‘œÀ uFÇÚ¦k° ! ®#Æìåq ô<µ Ûür ¾#l‹F`#—¡Jw #[Ôç ¿=¥èDõ;á §Ú ! ˜ ©ó Ìñ%à üÖX$¥Á±9$5Ãf <? ùZìKGEÉ2 ¶õ¿Ú¸¥ c8"ý, -ê ! j$ #X [L’"µ5š™f ’ =+ÆSö‘­ìÇÛ6j¨¡"Â#ˆ æ Ê !Án è¡$!„<ªÀT ö";† Ú#rC!‰‰Ýn ÝÓ~0‡Íªl¬x~ ! ­“œ# ! T #ŠŸ© äe!i…C$äo^ Œä!"‡}|¬ë^iÁ"3 g å"-&…ÊÓ#ÞûG”O 6 èm‹!¨C#’å¦ v!¥ ! ž $Û5”Ö!æ ësü;HŠ‚ ! T= ! qódŸ#ÓÊC]¦QÂà  š“¶"»ìâî—Γ"wÀ#Fê"Û@ qŸ‰ÿ ¨&… a¡á4oÖÌ%ñ"NS-$£ñ ù ­³/ Æš M$o‘¡b¸NYDÑ"lßp"–<P_[wìò$ä ! - $ð¡!+ ! w œÞ8“]ö]ËýÕ Ê®w ! $¹– ¦M¤¨|†° „!Ó!† èdûY Å«ÌÝ“ šî¤žßµî-ÍBãßi² ˜déX#& :®Ì“I ! yO ± PröNXÀF̱ € ;,}µ6 ! lÇ ¡M ò¸,Oà¹×Á€»ÈíÀl¡I« !ÜÕ!è#7!ß!Í!=$É 0Þ‘$1 Œì ÁÑ“å-· ! ç {ö,{e$^hÐx"“#Ó0J"Ô Là ü8×"yÿPYW{€ ! Xø@#ƒ ! U­ü!KŠ! ¨WQÛî˜ß ¦¡pç®3>H›"â ±;;Iåœt$ƒÁf!ü IDX†"HJ x[ºTÿÙì0 M #Ÿ =è§ ²ø3°P ºã"ð¼ ã#¬ / fg‚p#f_E~ ¦ñjéCD˜ûi‚M“#¶fÓ%h ! ÷¸ è Ó²V‘ÉÄ p© ! Á:?$íÏcQ·{#Ï‚ÙŠ"— ’ÿ¤–U"rÜ' ;û¯° úÄ @›â…#É#m ! ¼ ! í « ! c¡‰"€¨>¼¤¿Ð2(#½ ! !ïú ’ ¾Pçgå V ð §´¼3çš#< Ç#š›÷Ç6‹”yûE3#m ½ Éa$>¥b;$„mÚÂ!fÒ$¶!zÉÃúTé­p ! ž ¹#¼Õ ! °Hv †|^ôo|Yà>Çëe É!Ë!LÑ.<(¿3Ç©Ò ! K$Ó¢¹ ! sx ! ¤W$nå?5» ! ØBf ! JùB Ýþ¢d&$·c ¾o!1["Á‰% ñ Ø ¸h> ³5U pò !  cMä™/4Ã( Ðo¦Û!) ˜Já« 0‹@…!l””!º"RØH¦¡{8ZšD Ž6™Å¬mßw‚`s §´ˆ+’ˆ ! £±ÂÕî  . zâ#×Z¥¯ ܹzi$ o3{Ïi٘ˑK!ë7­ ! Û0 ! V Ù 0"hÂü[AŽ¬™ sáÛ—Ò ¸¤RQ—"œæï#‹ ´#!Ü‹È 5 >å´Ò-5U ÚyR‹œÈ#`µØY#¤Âö Íd§C ,$‚‰õCÃ"E !ë£ $Ö#—¬û % VAM£ ! “6×ûŠŒÝ" çQN& 2 ¤_!Ž|„h-#U÷‚§b Ñõk éN ^6þ!i#än"D &–L!j W#Œ r!e ³ T#Î ]qÊ•|)ž%j; “?"‰ ! ËinÃt‘,T ¼Ù!' æ 4Ç!ŽÂ'!b$ëôƒ£¿§K$"F ! A $u"L"b ø{ få#8 ñ ! µ –¾.†» “‘²Ú ¼æÙ^¤R²VéYV\#C?s l}†:"•ò ¬ÿCï _ | Ò¶¬ ‡ØtK˜?!j³âi $íЈ#‡#‚ ^¬ˆ T:âP0 <±^®"\–A#Ñ!g n ø‰P ! m ƒ ãà¯+#ßÚ¶‘ ’cƒ"æ áªE¦©h$#ïü«Õ Ž« ð { ! W{×ò„$Ù†#³,Õn+^•J·Å —á ˜ DF € #œÚ!’â¿ Ò x‘òL S ®¦#Ÿá! ! ¶Ìô¬!º!ú"S$qs!“W¦4î! ! xÌZÛ"ð ßN#aÄÐDÜd×# óy»QµL#¼R!°Q ¾„^)MqÓ|@ØàPø ! Ÿ#ñ× Ä–ŠŒþ(Cþ!A ÜÍ#bø#X!‡y#V$GÖ5" 8 äb‘ · =Ð -)S"˜’d?bü#C A(ÝŽc@$S!s½•!cÒFØ!kц› 8ó t"ó’œVª"‰ù ãDR#õ»Læ!Ðçòh .šÕk «½"‚æt#w¡k"Î!³< äIÄÍt°[("ìhB¼!@²4#}Ž!7_LíUŽ è/Íh ¶ï÷{»Ô°¬ t Û y ! U Ú 9D"ã ) ÜÎ#Ýq›oU…ú tÁ!`^v’âB ! /¡1 ® ! áD.‘ ØΞ!éF R Ò ! $Ga l‚$lk#Ç!e ú›À6þ ! )C#Åd¡ãÁ„ÿE x ! °RBÖ¾2³oz: ¤¯¯"¼·þ NãO%ã0 B ! ÿ½".cƒž5Ϥ ·œà 8Ä€¥ g Œ ÇšA#Cºt— Eˆ ?–!šÎéº^0YYYX»"%7 ! #]¡¸#çþ:#È @ B ö ¯-…øÿW  ¼«pI"€ ª ‰ >9#]ýûû ! s CÙËDÜ#D$ù=ñ Å i"6!È®q³új#Ö\ˆL\ƀşA ¤¦N"¡>!æÔ“åm, wY#,ý 8° ¨6*øö2ÂEð¼7½È½ [ Ý !  „'<Z¢!¯˜$˜–ß_ËÌâü›!Þ!È ! ï! %#A "$–Q/q³¿¡ T"Jƒí è ßì NR}  êdÇ #$+µ# ! ˜ ŽJ"•$îT ! ˜V I %îE~¹"K×´!å!&3 ! ZŽ L  Œà½ @µŽ$ýò2HHùŒ"<} ! Uò¦n/ –$y^? Þ= ! ´™7›~ Q:£c!"õ  ¬Ý[Àû0ÿ Eø($ ;ÖU© >å9 «#:&R ! <Ì#ƒ¤VÑkÈ"¶Se ! e“£u¨,kXŒ™ß#N$šž; f$-v Ç ûAVuéôœ\YÜÓ€Rù!Ä O çi £!P ™ þX t#  | ”i Ò!Yi ! ?¿¢‡»Íý¯PR$— z#ˆ›ñm <  RäUŸj7ɘ ! FÈA$… P6z*  é!h®”ñ|Zc¨ä ħ0ãÌK ’ø $#†D#ýÇ? 9…d ì| $ ü J$Ÿ Ñ÷íÉ!>¾.¼ 5 äR n,!à ºï !âCê+C!U$1G- )`2&ì e#q',Œ Ô"´Í Ü[L ! Ü@- êK ¥Ü9ní9""q$ãw Ÿ$/û ! V!L‚T o¨Š,Õ› $ ëLÝT²!o € ¸"ë Å à=>!Æ.‰; ! £ :ùø# e³üÄæ%—½ ! *éÕß -b $!À!‹9rù#/Ç"û£Ï~#öJ!Ž= ;¼ªR"  ! ·¨þ#ÅŸ™ k ˆô§’!ö.¡ Õ­·zï ç²ú Þ ! Ñõ!¢$œÒ»so$bª ! 0)}8¹`íjš"‰9NC«V²#¼ À""‰©] £ÓñF#‘ ƒ d’›Fy"£Ü"¼§‰½«¿ $B9!D!ÿ"­#1±}d#É X ùSo> ¾"Íw¼ $i*Õ#5¢ ! Þh  : ˆ@a!Òþ¿õÐafaÊ„ = #­ 9™‡#K;!Éž "ŸuÜAø#Ä Ã…ì±Ü WÉ©€Nêð}ƒ–ßvI S <e#¡Œf {éc QñÃƶ’v ¶#$Ñ) np !  :Ÿ €!kC"Õ ™ su«¼Â8 «… ! ° $ó~dòù!8´ ãl–¹ ” ¥ |e£Q3 #_p·a ± T}—-Ja‚` Túð ! b ÔÃz ­S‚Á½b!Å#!±§“!c@€õ ’½Ùuà!·°æwUÔ ¹Õ y$|"2 g ò²/¼\ fì·jÚ sÛÄóXLÖ­_ƒj ñˆ17¦ÚÓá&Ñ(j: ñ„#/ß(ÏJ  ê!Ÿ! ! ,2"Ï> Í õ "c$YM® sÖ 9F­!O£"Ñ ! ô¶äoô"!Ø0!*$€m j ! Bl!Þ K_7}$ * ÄUÙ1#å ï¼ ! »n E!Àg pûPM ½#.š ! !´È–Ç  m>i÷À¯'ß‘†‡t",#–ÆØÎlí3 ! r u’$ 4ïèr…2$|» j ‘êѯŸ  ²â é#e”¨!¨ °´Ï!¼;|#TNMA${ |!¯ ! €Ç  ê*Ø ! øÐ#& ½ bs$\í!f½ ~ï"èæè!&[ / ! † Xœ ’2,©"AHwn$¨ B'÷¬#ïW"ï ) ã!ÙÂ"Ò ! ¬«"z aZ×_+  Ô [ ! Åܱ 9@‰¨´U#î‚ Î °ü>¸ ! ÆYÌñã ! ¦¿ )y6ø† &!Ê$J $3Û#k!H!<HŽ¿I ] Tð²I ¡7$„ ! ŸÉù/¥5Àœ¾¢ : ! F}G$B“uNêv±#Ä!ù]Ä<"ÞØÑÝÔøP ]t?ð# ! ƒ{~ oKÕKÀ  [ã–" l ’ Tà úß  n!bܲ I²ƒUg #VÃü§#Ý(觚a  ! ‹$ó?›ñ@¬qW _;Bó+•åNËè BN@yDY$½T ® Q¾3¿– #-< ö¾ÆÕ¥#Í#­ ! GžÞžª#Ö-„Œ; ƒ@Ý ! "-vz :íz -¦ü ! ±"N6öè7éÒZˆ$Þ üÐ}™"•„"«*é #Êhº ! ¢î°g '3à ! :ÓjÃ#¢0 ! #ŒŠö~Τ"êø T¹ m %»´ Ç ! ï y(Ý"~ÉE“é ! ú™!S ÛÛã#îè`ì"Òl!" ܆\|g§êl™#]9 °¾ž´ìUb#©½± ! ž PµK"¬ ÿŠOÎY­¾Ë HÑ Ç9"E ‹mE#³·©#’= Öþfž´8"ÛŸ"V+×w4 ”Å…+$,žGï½·Ü 0#Ê#H ! +z#ÂM[{ ›ðÙì#ˆr#˜!#é"rú£VaÿOSÌ ! ð ñ OÑ,$ ¹?GpŒÚŽÕ"Þp'{ÅQ"½ ! Á² F¬ÎJ¤ Ö^Ê6 ` $¤ ! _‹R ÿ;Û\ ×!fž~Yíý%!Ž Ÿm# ¸ê ëà ! ŽŠ"ÊC V^"´| ø) ! ½‚k ! ÀêW· `k7å¢ëÍP}|À24*Uº/ѲuAk0B¯!Ã'ÁDC¾ ñŸ®§ ? ‰;¦ Pq%©Ö34!™zµ ! ]fý v¶²Ø<µ"O O#Lì[0U?ëŠ3¢Î"R5a öÊ[:à ("3™¨ mÞ{ù_G^%ù«ˆ_›;#Ç•ë rù @ ! lJY!Oê?pRS ! ¨G"Í€wŸn Yþj~ˆ­‡z±!§!º¼Ò®&£Ö)¾.Fç¯Ü4†$šÏ ;!²ç) ! [Ã! \å""Zª¯óà 6ì! ¾ß ûh”íÌ!ð Ì Ÿ¢6$Y ˆvÛý '/3!  ·" ! [ð= ! ó ˜ “ Õžð#m ~ º¡jI¹ü"¢x#)"K#Ç.  ! û ªì49GV"Ÿ§ ‰cP"«0}X(Ï Ê•Z"F$$¥q!Óü í¶= î WòQ"ž¶VÙ#F/ä ‰  ä"A$·ÍAË…8%F"5Õÿ ðv“N¯ uÑC• ÜaK% ± } 'tÞ*I¯ˆ£^ ‡º » $Á8 M "I^ ! Š ûµ]¯5é 3hS#: !Ž]Wª ý±úWH^d“È 5#%íkœ» æ‡ C‘#TQ×a=_$/!Ö& áp :¢ ÈLÅBl?š!ªýƒ‘$- ×) )Ò¿$h!…} ¹É Þ àS{ u ! ÍšJ3ÿÌ"/‡ÁØWÀ3®!ÕgÃmî•U A"ád ! ™A˜ŸŸ6M@U!©qõ> *¢twˆØ 1.Š‰&™öÙ !” „Àƒ!eÂJ!FÝ m§ ý #öÒ"+ ! ß ]Ë#flo °°ÅR¸ Ê ôƒù~m BÏhÅ&¯¹ ž%Ô bD‹hH1í¿ Vá!ŠQ 0ˆ xK¤emአe ~©f¨ ! Ï0®RA!MM !¢2 :´•, J Dðš ‚€Á eC %Í ! „‰´_ C#Q$øƒIÔIç"B^]ò°'ÍùGg„²‹ zr!©à ! ¾ó!º®=#Á2ö!× À ˜ lBZì*"¦! wö ú,µÄ J‚  ô™Z ÆÀ8·.‚#¡ó ! q›ö #×Hêã®#ì9JTW/~rr|~M¥¸‚c# =Ë ¢ Gíýq$sÚ ý‹’Ük z· pã½Uùû!ž-‘"‹û¬ëžš.ée%Ä5«l$³`² ¬( Œ!q¹Ô ™$Ú%šÙñ¸ruX² ! #$ ! ¸tE‹@id$Oöï ! £$ÿÙ#Aë 447ùðu÷ â ®9\ †9Ï"Wr BoM®êù” Jü›I1²6#ÛÏ ! Þ[Ù! (x» Tš ¹!ÕðéÁyìi•x¶ð!„Q5õ ! í Dz@ ^rT!4Œç ËÍƸ)€¹ ¥"Z$Y$œ _Ž[ɬР! ¢†Jº-ëeÏ°!„ – Ôƒ K >!Î h!â*"ÍH àW%b åç6 à"‹#/ÿ ! £™…Û¸] ŠØ#LÛ3ü For bug reporting instructions, please see: *************** ldd output with constructors/destructors *** 1493,1499 **** write_c_file - output name is %s, prefix is %s Display specific types of command line options. ! %qD -F, --fullname Print full filename -f, --function Print function level info -h, --hotonly Only print info for hot objects/functions -n, --normalize Normalize the profile --- 1497,1503 ---- write_c_file - output name is %s, prefix is %s Display specific types of command line options. ! from %qD -F, --fullname Print full filename -f, --function Print function level info -h, --hotonly Only print info for hot objects/functions -n, --normalize Normalize the profile *************** write_c_file - output name is %s, prefix *** 1532,1537 **** --- 1536,1542 ---- -f, --function-summaries Output summaries for each function -h, --help Print this help, then exit -h, --help Print this help, then exit + -i, --json-format Output JSON intermediate format into .gcov.json.gz file -j, --human-readable Output human readable numbers -k, --use-colors Emit colored output -l, --long-file-names Use long output file names for included *************** write_c_file - output name is %s, prefix *** 1559,1564 **** --- 1564,1570 ---- -print-search-dirs Display the directories in the compiler's search path. -print-sysroot Display the target libraries directory. -print-sysroot-headers-suffix Display the sysroot suffix used to find headers. + -q, --use-hotness-colors Emit perf-like colored output for hot lines -r, --relative-only Only show data for relative sources -s, --source-prefix DIR Source prefix to elide -save-temps Do not delete intermediate files. *************** write_c_file - output name is %s, prefix *** 1566,1571 **** --- 1572,1578 ---- -shared Create a shared library. -specs= Override built-in specs with the contents of . -std= Assume that the input sources are for . + -t, --stdout Output to stdout instead of a file -time Time the execution of each subprocess. -u, --unconditional-branches Show unconditional branch counts too -v Display the programs invoked by the compiler. *************** write_c_file - output name is %s, prefix *** 1577,1583 **** 'none' means revert to the default behavior of guessing the language based on the file's extension. -x, --hash-filenames Hash long pathnames ! a constructor taking a single argument of its own class type is invalid a qualified-id is required an inherited constructor is not a candidate for initialization from an expression of the same or derived type and each type can be converted to the other as it is a non-system directory that duplicates a system directory base %qT base class %qT of %q+T is non-literal because conversion sequence for the argument is better because the following virtual functions are pure within %qT: but %d required but does not override %<%T(const %T&)%> but does not override % by %qD candidate conversions include %qD and %qD candidate expects %d argument, %d provided candidate expects %d arguments, %d provided cannot convert %qE (type %qT) to type %qT conversion from return type %qT of template conversion function specialization to %qT is not an exact match deduced conflicting types for parameter %qT (%qT and %qT) deduced conflicting values for non-type parameter %qE (%qE and %qE) enters OpenMP structured block enters catch block enters try block exits OpenMP structured block expected a class template, got %qE expected a class template, got %qT expected a constant of type %qT, got %qT expected a template of type %qD, got %qT expected a type, got %qE expected a type, got %qT from here in call to %qD in evaluation of %<%Q(%#T, %#T)%> in thrown expression inconsistent parameter pack deduction with %qT and %qT inherited here initializing argument %P of %qD member function type %qT is not a valid template argument merge [options] Merge coverage file contents mismatched types %qT and %qT no known conversion for argument %d from %qH to %qI no known conversion for implicit % parameter from %qH to %qI no known conversion from %qH to %qI or % or a % function overlap [options] Compute the overlap of two profiles passing %qT as % argument discards qualifiers profiling support are only provided in archive format return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion rewrite [options] Rewrite coverage file contents --- 1584,1591 ---- 'none' means revert to the default behavior of guessing the language based on the file's extension. -x, --hash-filenames Hash long pathnames ! Known valid arguments for %s option: ! a constructor taking a single argument of its own class type is invalid a qualified-id is required an inherited constructor is not a candidate for initialization from an expression of the same or derived type and each type can be converted to the other as it is a non-system directory that duplicates a system directory base %qT base class %qT of %q+T is non-literal because conversion sequence for the argument is better because the following virtual functions are pure within %qT: but %d required but does not override %<%T(const %T&)%> but does not override % by %qD candidate conversions include %qD and %qD candidate expects %d argument, %d provided candidate expects %d arguments, %d provided cannot convert %qE (type %qT) to type %qT conversion from return type %qT of template conversion function specialization to %qT is not an exact match deduced conflicting types for parameter %qT (%qT and %qT) deduced conflicting values for non-type parameter %qE (%qE and %qE) enters OpenMP structured block enters catch block enters try block exits OpenMP structured block expected a class template, got %qE expected a class template, got %qT expected a constant of type %qT, got %qT expected a template of type %qD, got %qT expected a type, got %qE expected a type, got %qT from here in call to %qD in evaluation of %<%Q(%#T, %#T)%> in thrown expression inconsistent parameter pack deduction with %qT and %qT inherited here initializing argument %P of %qD member function type %qT is not a valid template argument merge [options] Merge coverage file contents mismatched types %qT and %qT no known conversion for argument %d from %qH to %qI no known conversion for implicit % parameter from %qH to %qI no known conversion from %qH to %qI or % or a % function overlap [options] Compute the overlap of two profiles passing %qT as % argument discards qualifiers profiling support are only provided in archive format return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion rewrite [options] Rewrite coverage file contents *************** write_c_file - output name is %s, prefix *** 1587,1593 **** conflicting code gen style switches are used!$OMP ATOMIC CAPTURE capture statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC CAPTURE capture statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L!$OMP ATOMIC CAPTURE update statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L!$OMP ATOMIC intrinsic arguments must be scalar at %L!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"::" was expected after module nature at %C but was not found"USE :: module" at %C# %s %.2f %.2f #include "..." search starts here: #include <...> search starts here: ! #pragma GCC memregs must precede any function decls#pragma GCC memregs takes a number [0..16]#pragma GCC optimize is not allowed inside functions#pragma GCC optimize string... is badly formed#pragma GCC option is not allowed inside functions#pragma GCC target is not supported for this machine#pragma GCC target string... is badly formed#pragma GCC visibility must be followed by push or pop#pragma GCC visibility push() must specify default, internal, hidden or protected#pragma GHS endXXX does not match previous startXXX#pragma GHS endXXXX found without previous startXXX#pragma implementation for %qs appears after file is included#pragma message: %s#pragma pack (pop) encountered without matching #pragma pack (push)#pragma pack(pop, %E) encountered without matching #pragma pack(push, %E)#pragma redefine_extname ignored due to conflict with __asm__ declaration#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname#pragma redefine_extname ignored due to conflict with previous rename#pragma vtable no longer supported$ operand number used after format without operand number$ should be the last specifier in format at %L%%:canon_for_mlib takes 1 or more pairs of parameters%%:target_mode_check takes an even number of parameters%+qD causes a section type conflict%+qD causes a section type conflict with %qD%+qD declared alias after being used%+qD declared ifunc after being used%+qD declared weak after being used%+qD declared weakref after being used% not valid in GIMPLE%<#pragma %s%> may only be used in compound statements%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>%<#pragma GCC optimize%> is not a string or number%<#pragma GCC option%> is not a string%<#pragma GCC pch_preprocess%> must be first%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target%<#pragma acc %s data%> has no data movement clause%<#pragma acc routine%> already applied to %qD%<#pragma acc routine%> must be applied before definition%<#pragma acc routine%> must be applied before use%<#pragma acc routine%> must be at file scope%<#pragma acc routine%> not immediately followed by a single function declaration or definition%<#pragma acc routine%> not immediately followed by function declaration or definition%<#pragma acc update%> must contain at least one % or % or % clause%<#pragma align%> must appear before the declaration of %qD, ignoring%<#pragma omp atomic capture%> uses two different expressions for memory%<#pragma omp atomic capture%> uses two different variables for memory%<#pragma omp atomic update%> uses two different variables for memory%<#pragma omp cancel for%> inside % for construct%<#pragma omp cancel for%> inside % for construct%<#pragma omp cancel sections%> inside % sections construct%<#pragma omp cancel%> must specify one of %, %, % or % clauses%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> not at file or block scope%<#pragma omp declare simd%> must be followed by function declaration or definition%<#pragma omp declare simd%> must be followed by function declaration or definition or another %<#pragma omp declare simd%>%<#pragma omp declare simd%> not immediately followed by a function declaration or definition%<#pragma omp declare simd%> not immediately followed by a single function declaration or definition%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct%<#pragma omp target data%> with map-type other than %, %, % or % on % clause%<#pragma omp target enter data%> must contain at least one % clause%<#pragma omp target enter data%> with map-type other than % or % on % clause%<#pragma omp target exit data%> must contain at least one % clause%<#pragma omp target exit data%> with map-type other than %, % or % on % clause%<#pragma omp target update%> must contain at least one % or % clauses%<#pragma omp target%> with map-type other than %, %, % or % on % clause%<#pragma scalar_storage_order%> is not supported for C++%<#pragma weak%> declaration of %q+D not allowed, ignored%<#pragma%> is not allowed here%<%%%> constraint used with last operand%<%%%c%> yields only last 2 digits of year%<%%%c%> yields only last 2 digits of year in some locales%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output of %wu bytes causes result to exceed %%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output truncated writing %wu byte into a region of size %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive precision out of range%<%.*s%> directive width out of range%<%.*s%> directive writing %wu byte into a region of size %wu%<%.*s%> directive writing %wu bytes into a region of size %wu%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing %wu or more bytes into a region of size %wu%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing up to %wu bytes into a region of size %wu%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu%<%D::%D%> is not a class member%<%D::%D%> is not a member of %qT%<%E::%E%> has not been declared%<%E::%E%> is not a class or namespace%<%E::%E%> is not a class, namespace, or enumeration%<%E::%E%> is not a type%<%E::%E%> scoped attribute directive ignored%<%T::%D%> names constructor in %qT%<%T::%D%> names destructor%<%T::%D%> names the constructor, not the type%<%T::%E%> has not been declared%<%T::%E%> is not a type%<%T::%E%> names the constructor, not the type%<%c%E%> not found in protocol(s)%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration%<%s %s%> construct not closely nested inside of %qs%<%s taskgroup%> construct not closely nested inside of % region%<%s%> attribute directive ignored%<%s%> is unknown%<%s=%s%> and %<%s-%s%> are incompatible%<&%> constraint used with no register class%<&&%> not valid in GIMPLE%<*%> in boolean context, suggest %<&&%> instead%<-%s%> conflicts with the other architecture options, which specify a %s processor%<-Wabi=1%> is not supported, using =2%<-f%s%> and %<%s=%s%> are incompatible%<-fabi-compat-version=1%> is not supported, using =2%<-fabi-version=1%> is no longer supported%<-fcf-protection=branch%> is not supported for this target%<-fcf-protection=full%> is not supported for this target%<-fcf-protection=return%> is not supported for this target%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>%<-fno-fat-lto-objects%> are supported only with linker plugin%<-fobjc-abi-version%> >= 2 is not supported on %<-m32%> targets with %<-fnext-runtime%>%<-fobjc-abi-version%> >= 2 must be used for %<-m64%> targets with %<-fnext-runtime%>%<-fobjc-exceptions%> is required to enable Objective-C exception syntax%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> >= 2%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> < 2%<-foffload-abi%> option can be specified only for offload compiler%<-freorder-blocks-and-partition%> does not support unwind info on this architecture%<-freorder-blocks-and-partition%> does not work on this architecture%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option%<-fsanitize-recover=%s%> is not supported%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are incompatible with %<-fsanitize=thread%>%<-fsanitize=address%> is incompatible with %<-fsanitize=kernel-address%>%<-fsanitize=all%> option is not valid%<-fsanitize=leak%> is incompatible with %<-fsanitize=thread%>%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsplit-stack%> currently only supported on GNU/Linux%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later%<-fsplit-stack%> is not supported by this compiler configuration%<-fsplit-stack%> requires assembler support for CFI directives%<-gnat%> misspelled as %<-gant%>%<-m%s%> not supported in this configuration%<-march=%s%> is not compatible with the selected ABI%<-march=%s%> requires %<-mfp32%>%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>%<-mfpxx%> can only be used with the o32 ABI%<-mfpxx%> requires %<-mlra%>%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI%<-mgp32%> used with a 64-bit ABI%<-mgp64%> used with a 32-bit ABI%<-mgp64%> used with a 32-bit processor%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead%<-mips3d%> requires %<-mpaired-single%>%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>%<-mno-%s%> turns off %<-m%s%>%<-mno-gpopt%> needs %<-mexplicit-relocs%>%<-mrtd%> is ignored in 64bit mode%<-msse5%> was removed%<-msseregparm%> used without SSE enabled%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead%<-x %s%> after last input file has no effect%<...%> as arguments.)%<...%> handler must be the last handler for its try block%<::%D%> has not been declared%<::%E%> has not been declared%<::%E%> is not a class or namespace%<::%E%> is not a class, namespace, or enumeration%<::%E%> is not a type%<::main%> must return %%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>%<<::%> cannot begin a template-argument list%<<<%> in boolean context, did you mean %<<%> ?%<>>%> operator is treated as two right angle brackets in C++11%<>>%> should be %<> >%> within a nested template argument list%<@dynamic%> is not available in Objective-C 1.0%<@dynamic%> not in @implementation context%<@dynamic%> requires the @interface of the class to be available%<@encode%> must specify a type as an argument%<@end%> missing in implementation context%<@end%> must appear in an @implementation context%<@optional%> is allowed in @protocol context only%<@optional%> is not available in Objective-C 1.0%<@package%> is not available in Objective-C 1.0%<@package%> presently has the same effect as %<@public%>%<@property%> is not available in Objective-C 1.0%<@required%> is allowed in @protocol context only%<@required%> is not available in Objective-C 1.0%<@synchronized%> argument is not an object%<@synthesize%> is not available in Objective-C 1.0%<@synthesize%> not in @implementation context%<@synthesize%> requires the @interface of the class to be available%<@throw%> (rethrow) used outside of a @catch block%<@throw%> argument is not an object%<@try%> without %<@catch%> or %<@finally%>%<[%E] =%> used in a GNU-style designated initializer for class %qT%<[*]%> not allowed in other than function prototype scope%<[*]%> not in a declaration%<_Alignas%> specifiers cannot reduce alignment of %qE%<_Alignas%> specifiers cannot reduce alignment of compound literal%<_Alignas%> specifiers cannot reduce alignment of unnamed field%<_Atomic%> %qD in % clause on % construct%<_Atomic%> %qD in implicit % clause on % construct%<_Atomic%> %qD in implicit % clause%<_Atomic%> %qE in %qs clause%<_Atomic%> applied to a qualified type%<_Atomic%> expression in %<#pragma omp atomic%>%<_Atomic%> in Objective-C%<_Atomic%> iteration variable %qE%<_Atomic%> qualified type in %<#pragma omp declare reduction%>%<_Atomic%>-qualified array type%<_Atomic%>-qualified function type%<_Atomic%>-qualified parameter type %qT of %q+D%<_Atomic%>-qualified return type of %qD%<_Float%d%s%> is not supported on this target%<_Generic%> association has function type%<_Generic%> association has incomplete type%<_Generic%> association has variable length type%<_Generic%> selector matches multiple associations%<_Generic%> selector of type %qT is not compatible with any association%<_Generic%> specifies two compatible types%<_Noreturn%> in empty declaration%<_Sat%> is used without %<_Fract%> or %<_Accum%>%<__BELOW100__%> attribute only applies to variables%<__RTL%> function cannot be compiled with %<-flto%>%<__alignof%> applied to a bit-field%<__auto_type%> in empty declaration%<__auto_type%> may only be used with a single declarator%<__auto_type%> requires a plain identifier as declarator%<__auto_type%> requires an initialized data declaration%<__auto_type%> used with a bit-field initializer%<__builtin_complex%> operand not of real binary floating-point type%<__builtin_complex%> operands of different types%<__builtin_longjmp%> second argument must be 1%<__builtin_next_arg%> called without an argument%<__gcc_host_wide_int__%> is not defined as % or %%<__gcc_host_wide_int__%> is not defined as a type%<__int%d%> is not supported on this target%<__label__%> not at the beginning of a block%<__thread%> before %%<__thread%> before %%<__thread%> before %qD%<__transaction_atomic%> without transactional memory support enabled%<__transaction_cancel%> not within %<__transaction_atomic%>%<__transaction_cancel%> within a %<__transaction_relaxed%>%<__transaction_cancel%> without transactional memory support enabled%<__transaction_relaxed%> without transactional memory support enabled% bound is unknown% of mutually exclusive equal-tests is always 0% operand constraint incompatible with operand size% operand has impossible constraints% operand requires impossible reload% specifiers are not permitted on non-static data members% attribute conflicts with % attribute% attribute conflicts with % attribute% can be unsafe for Objective-C objects; please state explicitly if you need it% can only be specified for variables or function declarations% changes meaning in C++11; please remove it% conflicts with other OpenACC loop specifiers% in file-scope empty declaration% has no effect on non-interrupt functions% contains only 2 bytes of address% and % function specifiers on %qD invalid in field declaration% and % function specifiers on %qD invalid in parameter declaration% and % function specifiers on %qD invalid in type declaration% and % function specifiers on %qD invalid in variable declaration% cannot appear in a typedef declaration% cannot be used for type declarations% constructor for union %qT must initialize exactly one non-static data member% needed for in-class initialization of static data member %q#D of non-integral type% attribute is only valid for Objective-C objects% region may not be nested inside a % region with the same name% is not recognized as FPU instruction% requires argument% label not within a switch statement% is only allowed in %% region must be strictly nested inside % construct% without a previous %% declared in % loop initial declaration% can only be specified for constructors% attribute have effect only on public objects% attribute not followed by %<;%>% attribute specified multiple times% attribute specified with a parameter% attribute directive ignored% loop initial declarations are only allowed in C99 or C11 mode% can only be specified inside a class% used outside of class% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% attribute present on %q+D% value must be positive% clause is incompatible with %% in empty declaration% is not allowed in declaration of friend template specialization %qD% specified for friend class declaration% specifier invalid for function %qs declared out of global scope% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% parameter is not a power of two %d% clause for variable other than loop iterator specified on construct combined with %% clause may not be specified together with % clause with a parameter% clause step %qE is neither constant nor a parameter% is not defined as a type% is not defined as a type% is too long for GCC% switch expression not converted to % in ISO C% declared %<_Noreturn%>% region may not be closely nested inside of work-sharing, explicit % or % region% definition is not allowed here% does not accept arguments% function does return% clause must not be used together with %% value must be positive% value must be positive% value must be positive% must return type %qT% takes type %qT as first parameter% must not return NULL unless it is declared % (or -fcheck-new is in effect)% must return type %qT% takes type % (%qT) as first parameter%% in %<%E %s %E%>% in %<%E%s%>% in %<%s%E%>% should return a reference to %<*this%>%% in %<%E[%E]%>% of unmatched not-equal tests is always 1% must be closely nested inside of % region% % must be closely nested inside % region% clause parameter is less than %% clause with parameter may not be specified on %qs construct% construct with % clause must be closely nested inside a loop with % clause with a parameter% construct with % clause must be closely nested inside an % loop% region may not be closely nested inside of %, %, explicit % or % region% region must be closely nested inside a loop region with an % clause% value must be non-negative% attribute conflicts with % attribute% attribute conflicts with % attribute% in file-scope empty declaration% attribute conflicts with % attribute% attribute is only valid for Objective-C objects% with a value, in function returning void% with no value, in function returning non-void% overrides other OpenACC loop specifiers% clause value is bigger than % clause value% applied to a bit-field% on array function parameter %qE will return size of %qT% may not be used when defining (as opposed to declaring) a static data member% declared in % loop initial declaration% is ignored in 64bit mode% used without SSE enabled% is deprecated; use % or % instead as appropriate% is unavailable for static member functions% may not be used in this context% was not captured for this lambda function% value must be positive% %qD is not file, namespace or block scope variable% %qE directive not in %qT definition% %qE has incomplete type% argument needs positive integral constant% function call not within outer transaction or %% may only be specified for a virtual function% is not defined as a pointer type% is not defined as a type% was ignored in this declaration% operator cannot appear in a constant-expression% names %q#T, which is not a class template% names %q#T, which is not a type% applied to a bit-field% declared in % loop initial declaration% used in function with fixed args% outside class declaration% as only parameter may not be qualified% must be the only parameter% may not be specified for %q+D% attribute ignored because function is defined% attribute ignored because variable is initialized% attribute should be accompanied with an % attribute%<||%> not valid in GIMPLE%<~%> on a boolean expression%G%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing %wu byte may overlap %wu byte%G%qD accessing %wu bytes may overlap %wu byte%G%qD accessing %wu byte may overlap up to %wu bytes%G%qD accessing %wu bytes may overlap up to %wu bytes%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes may overlap %wu byte%G%qD accessing between %wu and %wu bytes may overlap up to %wu bytes%G%qD destination unchanged after copying no bytes%G%qD destination unchanged after copying no bytes from a string of length %E%G%qD offset %s from the object at %qE is out of the bounds of %qT%G%qD offset %s from the object at %qE is out of the bounds of referenced subobject %qD with type %qT at offset %wu%G%qD offset %s is out of bounds%G%qD offset %s is out of the bounds [0, %wu]%G%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT%G%qD offset %s is out of the bounds of object %qD with type %qT%G%qD output may be truncated copying %E byte from a string of length %wu%G%qD output may be truncated copying %E bytes from a string of length %wu%G%qD output may be truncated copying between %wu and %wu bytes from a string of length %wu%G%qD output truncated copying %E byte from a string of length %wu%G%qD output truncated copying %E bytes from a string of length %wu%G%qD output truncated copying between %wu and %wu bytes from a string of length %wu%G%qD pointer overflow between offset %s and size %s%G%qD pointer overflow between offset %s and size %s accessing array %qD with type %qT%G%qD specified bound %E equals destination size%G%qD specified bound %E equals source length%G%qD specified bound %E exceeds destination size %wu%G%qD specified bound depends on the length of the source argument%K%qD reading %E byte from a region of size %E%K%qD reading %E bytes from a region of size %E%K%qD reading %E or more bytes from a region of size %E%K%qD reading between %E and %E bytes from a region of size %E%K%qD specified bound %E equals destination size%K%qD specified bound %E exceeds destination size %E%K%qD specified bound %E exceeds maximum object size %E%K%qD specified bound between %E and %E exceeds destination size %E%K%qD specified bound between %E and %E exceeds maximum object size %E%K%qD specified size %E exceeds maximum object size %E%K%qD specified size between %E and %E exceeds maximum object size %E%K%qD writing %E byte into a region of size %E overflows the destination%K%qD writing %E bytes into a region of size %E overflows the destination%K%qD writing %E or more bytes into a region of size %E overflows the destination%K%qD writing between %E and %E bytes into a region of size %E overflows the destination%K%s %wd out of range %wd - %wd%Kargument %d must be a constant immediate%Kargument %i range [%E, %E] exceeds maximum object size %E%Kargument %i range [%E, %E] is negative%Kargument %i value %qE exceeds maximum object size %E%Kargument %i value %qE is negative%Kargument %i value is zero%Kasm not allowed in % function%Kattempt to free a non-heap object%Kattempt to free a non-heap object %qD%Kcall to %qs declared with attribute error: %s%Kcall to %qs declared with attribute warning: %s%Kfirst argument of %qD must be a pointer, second integer constant%Kinvalid use of %<__builtin_va_arg_pack ()%>%Kinvalid use of %<__builtin_va_arg_pack_len ()%>%Klane %wd out of range %wd - %wd%Klane index must be a constant immediate%Klast argument of %qD is not integer constant between 0 and 3%Kproduct %<%E * %E%> of arguments %i and %i exceeds %%Kproduct %<%E * %E%> of arguments %i and %i exceeds maximum object size %E%Ktotal size and element size must be a non-zero constant immediate%d constructor found %d constructors found %d destructor found %d destructors found --- 1595,1601 ---- conflicting code gen style switches are used!$OMP ATOMIC CAPTURE capture statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC CAPTURE capture statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L!$OMP ATOMIC CAPTURE update statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L!$OMP ATOMIC intrinsic arguments must be scalar at %L!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"::" was expected after module nature at %C but was not found"USE :: module" at %C# %s %.2f %.2f #include "..." search starts here: #include <...> search starts here: ! #pragma GCC memregs must precede any function decls#pragma GCC memregs takes a number [0..16]#pragma GCC optimize is not allowed inside functions#pragma GCC optimize string... is badly formed#pragma GCC option is not allowed inside functions#pragma GCC target is not supported for this machine#pragma GCC target string... is badly formed#pragma GCC visibility must be followed by push or pop#pragma GCC visibility push() must specify default, internal, hidden or protected#pragma GHS endXXX does not match previous startXXX#pragma GHS endXXXX found without previous startXXX#pragma implementation for %qs appears after file is included#pragma message: %s#pragma pack (pop) encountered without matching #pragma pack (push)#pragma pack(pop, %E) encountered without matching #pragma pack(push, %E)#pragma redefine_extname ignored due to conflict with __asm__ declaration#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname#pragma redefine_extname ignored due to conflict with previous rename#pragma vtable no longer supported$ operand number used after format without operand number$ should be the last specifier in format at %L%%:canon_for_mlib takes 1 or more pairs of parameters%%:target_mode_check takes an even number of parameters%+qD causes a section type conflict%+qD causes a section type conflict with %qD%+qD declared alias after being used%+qD declared ifunc after being used%+qD declared weak after being used%+qD declared weakref after being used% not valid in GIMPLE%<#pragma %s%> may only be used in compound statements%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>%<#pragma GCC optimize%> is not a string or number%<#pragma GCC option%> is not a string%<#pragma GCC pch_preprocess%> must be first%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target%<#pragma acc %s data%> has no data movement clause%<#pragma acc routine%> already applied to %qD%<#pragma acc routine%> must be applied before definition%<#pragma acc routine%> must be applied before use%<#pragma acc routine%> must be at file scope%<#pragma acc routine%> not immediately followed by a single function declaration or definition%<#pragma acc routine%> not immediately followed by function declaration or definition%<#pragma acc update%> must contain at least one % or % or % clause%<#pragma align%> must appear before the declaration of %qD, ignoring%<#pragma omp atomic capture%> uses two different expressions for memory%<#pragma omp atomic capture%> uses two different variables for memory%<#pragma omp atomic update%> uses two different variables for memory%<#pragma omp cancel for%> inside % for construct%<#pragma omp cancel for%> inside % for construct%<#pragma omp cancel sections%> inside % sections construct%<#pragma omp cancel%> must specify one of %, %, % or % clauses%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> not at file or block scope%<#pragma omp declare simd%> must be followed by function declaration or definition%<#pragma omp declare simd%> must be followed by function declaration or definition or another %<#pragma omp declare simd%>%<#pragma omp declare simd%> not immediately followed by a function declaration or definition%<#pragma omp declare simd%> not immediately followed by a single function declaration or definition%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct%<#pragma omp target data%> with map-type other than %, %, % or % on % clause%<#pragma omp target enter data%> must contain at least one % clause%<#pragma omp target enter data%> with map-type other than % or % on % clause%<#pragma omp target exit data%> must contain at least one % clause%<#pragma omp target exit data%> with map-type other than %, % or % on % clause%<#pragma omp target update%> must contain at least one % or % clauses%<#pragma omp target%> with map-type other than %, %, % or % on % clause%<#pragma scalar_storage_order%> is not supported for C++%<#pragma weak%> declaration of %q+D not allowed, ignored%<#pragma%> is not allowed here%<%%%> constraint used with last operand%<%%%c%> yields only last 2 digits of year%<%%%c%> yields only last 2 digits of year in some locales%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output of %wu bytes causes result to exceed %%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output truncated writing %wu byte into a region of size %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive precision out of range%<%.*s%> directive width out of range%<%.*s%> directive writing %wu byte into a region of size %wu%<%.*s%> directive writing %wu bytes into a region of size %wu%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing %wu or more bytes into a region of size %wu%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing up to %wu bytes into a region of size %wu%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu%<%D::%D%> is not a class member%<%D::%D%> is not a member of %qT%<%E::%E%> has not been declared%<%E::%E%> is not a class or namespace%<%E::%E%> is not a class, namespace, or enumeration%<%E::%E%> is not a type%<%E::%E%> scoped attribute directive ignored%<%T::%D%> names constructor in %qT%<%T::%D%> names destructor%<%T::%D%> names the constructor, not the type%<%T::%E%> has not been declared%<%T::%E%> is not a type%<%T::%E%> names the constructor, not the type%<%c%E%> not found in protocol(s)%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration%<%s %s%> construct not closely nested inside of %qs%<%s taskgroup%> construct not closely nested inside of % region%<%s%> attribute directive ignored%<%s%> is unknown%<%s=%s%> and %<%s-%s%> are incompatible%<&%> constraint used with no register class%<&&%> not valid in GIMPLE%<*%> in boolean context, suggest %<&&%> instead%<-%s%> conflicts with the other architecture options, which specify a %s processor%<-Wabi=1%> is not supported, using =2%<-f%s%> and %<%s=%s%> are incompatible%<-fabi-compat-version=1%> is not supported, using =2%<-fabi-version=1%> is no longer supported%<-fcf-protection=branch%> is not supported for this target%<-fcf-protection=full%> is not supported for this target%<-fcf-protection=return%> is not supported for this target%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>%<-fno-fat-lto-objects%> are supported only with linker plugin%<-fobjc-abi-version%> >= 2 is not supported on %<-m32%> targets with %<-fnext-runtime%>%<-fobjc-abi-version%> >= 2 must be used for %<-m64%> targets with %<-fnext-runtime%>%<-fobjc-exceptions%> is required to enable Objective-C exception syntax%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> >= 2%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> < 2%<-foffload-abi%> option can be specified only for offload compiler%<-freorder-blocks-and-partition%> does not support unwind info on this architecture%<-freorder-blocks-and-partition%> does not work on this architecture%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option%<-fsanitize-recover=%s%> is not supported%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are incompatible with %<-fsanitize=thread%>%<-fsanitize=address%> is incompatible with %<-fsanitize=kernel-address%>%<-fsanitize=all%> option is not valid%<-fsanitize=leak%> is incompatible with %<-fsanitize=thread%>%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsplit-stack%> currently only supported on GNU/Linux%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later%<-fsplit-stack%> is not supported by this compiler configuration%<-fsplit-stack%> requires assembler support for CFI directives%<-gnat%> misspelled as %<-gant%>%<-m%s%> not supported in this configuration%<-march=%s%> is not compatible with the selected ABI%<-march=%s%> requires %<-mfp32%>%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>%<-mfpxx%> can only be used with the o32 ABI%<-mfpxx%> requires %<-mlra%>%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI%<-mgp32%> used with a 64-bit ABI%<-mgp64%> used with a 32-bit ABI%<-mgp64%> used with a 32-bit processor%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead%<-mips3d%> requires %<-mpaired-single%>%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>%<-mno-%s%> turns off %<-m%s%>%<-mno-altivec%> disables vsx%<-mno-gpopt%> needs %<-mexplicit-relocs%>%<-mquad-memory%> is not available in little endian mode%<-mquad-memory%> requires 64-bit mode%<-mquad-memory-atomic%> requires 64-bit mode%<-mrtd%> is ignored in 64bit mode%<-msse5%> was removed%<-msseregparm%> used without SSE enabled%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead%<-mvsx%> and %<-mno-altivec%> are incompatible%<-mvsx%> needs indexed addressing%<-mvsx%> requires hardware floating point%<-x %s%> after last input file has no effect%<...%> as arguments.)%<...%> handler must be the last handler for its try block%<::%D%> has not been declared%<::%E%> has not been declared%<::%E%> is not a class or namespace%<::%E%> is not a class, namespace, or enumeration%<::%E%> is not a type%<::main%> must return %%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>%<<::%> cannot begin a template-argument list%<<<%> in boolean context, did you mean %<<%> ?%<>>%> operator is treated as two right angle brackets in C++11%<>>%> should be %<> >%> within a nested template argument list%<@dynamic%> is not available in Objective-C 1.0%<@dynamic%> not in @implementation context%<@dynamic%> requires the @interface of the class to be available%<@encode%> must specify a type as an argument%<@end%> missing in implementation context%<@end%> must appear in an @implementation context%<@optional%> is allowed in @protocol context only%<@optional%> is not available in Objective-C 1.0%<@package%> is not available in Objective-C 1.0%<@package%> presently has the same effect as %<@public%>%<@property%> is not available in Objective-C 1.0%<@required%> is allowed in @protocol context only%<@required%> is not available in Objective-C 1.0%<@synchronized%> argument is not an object%<@synthesize%> is not available in Objective-C 1.0%<@synthesize%> not in @implementation context%<@synthesize%> requires the @interface of the class to be available%<@throw%> (rethrow) used outside of a @catch block%<@throw%> argument is not an object%<@try%> without %<@catch%> or %<@finally%>%<[%E] =%> used in a GNU-style designated initializer for class %qT%<[*]%> not allowed in other than function prototype scope%<[*]%> not in a declaration%<_Alignas%> specifiers cannot reduce alignment of %qE%<_Alignas%> specifiers cannot reduce alignment of compound literal%<_Alignas%> specifiers cannot reduce alignment of unnamed field%<_Atomic%> %qD in % clause on % construct%<_Atomic%> %qD in implicit % clause on % construct%<_Atomic%> %qD in implicit % clause%<_Atomic%> %qE in %qs clause%<_Atomic%> applied to a qualified type%<_Atomic%> expression in %<#pragma omp atomic%>%<_Atomic%> in Objective-C%<_Atomic%> iteration variable %qE%<_Atomic%> qualified type in %<#pragma omp declare reduction%>%<_Atomic%>-qualified array type%<_Atomic%>-qualified function type%<_Atomic%>-qualified parameter type %qT of %q+D%<_Atomic%>-qualified return type of %qD%<_Float%d%s%> is not supported on this target%<_Generic%> association has function type%<_Generic%> association has incomplete type%<_Generic%> association has variable length type%<_Generic%> selector matches multiple associations%<_Generic%> selector of type %qT is not compatible with any association%<_Generic%> specifies two compatible types%<_Noreturn%> in empty declaration%<_Sat%> is used without %<_Fract%> or %<_Accum%>%<__BELOW100__%> attribute only applies to variables%<__RTL%> function cannot be compiled with %<-flto%>%<__alignof%> applied to a bit-field%<__auto_type%> in empty declaration%<__auto_type%> may only be used with a single declarator%<__auto_type%> requires a plain identifier as declarator%<__auto_type%> requires an initialized data declaration%<__auto_type%> used with a bit-field initializer%<__builtin_complex%> operand not of real binary floating-point type%<__builtin_complex%> operands of different types%<__builtin_longjmp%> second argument must be 1%<__builtin_next_arg%> called without an argument%<__gcc_host_wide_int__%> is not defined as % or %%<__gcc_host_wide_int__%> is not defined as a type%<__int%d%> is not supported on this target%<__label__%> not at the beginning of a block%<__thread%> before %%<__thread%> before %%<__thread%> before %qD%<__transaction_atomic%> without transactional memory support enabled%<__transaction_cancel%> not within %<__transaction_atomic%>%<__transaction_cancel%> within a %<__transaction_relaxed%>%<__transaction_cancel%> without transactional memory support enabled%<__transaction_relaxed%> without transactional memory support enabled% bound is unknown% of mutually exclusive equal-tests is always 0% operand constraint incompatible with operand size% operand has impossible constraints% operand requires impossible reload% specifiers are not permitted on non-static data members% attribute conflicts with % attribute% attribute conflicts with % attribute% can be unsafe for Objective-C objects; please state explicitly if you need it% can only be specified for variables or function declarations% changes meaning in C++11; please remove it% conflicts with other OpenACC loop specifiers% in file-scope empty declaration% has no effect on non-interrupt functions% contains only 2 bytes of address% and % function specifiers on %qD invalid in field declaration% and % function specifiers on %qD invalid in parameter declaration% and % function specifiers on %qD invalid in type declaration% and % function specifiers on %qD invalid in variable declaration% cannot appear in a typedef declaration% cannot be used for type declarations% constructor for union %qT must initialize exactly one non-static data member% needed for in-class initialization of static data member %q#D of non-integral type% attribute is only valid for Objective-C objects% region may not be nested inside a % region with the same name% is not recognized as FPU instruction% requires argument% label not within a switch statement% is only allowed in %% region must be strictly nested inside % construct% without a previous %% declared in % loop initial declaration% can only be specified for constructors% attribute have effect only on public objects% attribute not followed by %<;%>% attribute specified multiple times% attribute specified with a parameter% attribute directive ignored% loop initial declarations are only allowed in C99 or C11 mode% can only be specified inside a class% used outside of class% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% attribute present on %q+D% value must be positive% clause is incompatible with %% in empty declaration% is not allowed in declaration of friend template specialization %qD% specified for friend class declaration% specifier invalid for function %qs declared out of global scope% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% parameter is not a power of two %d% clause for variable other than loop iterator specified on construct combined with %% clause may not be specified together with % clause with a parameter% clause step %qE is neither constant nor a parameter% is not defined as a type% is not defined as a type% is too long for GCC% switch expression not converted to % in ISO C% declared %<_Noreturn%>% region may not be closely nested inside of work-sharing, explicit % or % region% definition is not allowed here% does not accept arguments% function does return% clause must not be used together with %% value must be positive% value must be positive% value must be positive% must return type %qT% takes type %qT as first parameter% must not return NULL unless it is declared % (or -fcheck-new is in effect)% must return type %qT% takes type % (%qT) as first parameter%% in %<%E %s %E%>% in %<%E%s%>% in %<%s%E%>% should return a reference to %<*this%>%% in %<%E[%E]%>% of unmatched not-equal tests is always 1% must be closely nested inside of % region% % must be closely nested inside % region% clause parameter is less than %% clause with parameter may not be specified on %qs construct% construct with % clause must be closely nested inside a loop with % clause with a parameter% construct with % clause must be closely nested inside an % loop% region may not be closely nested inside of %, %, explicit % or % region% region must be closely nested inside a loop region with an % clause% value must be non-negative% attribute conflicts with % attribute% attribute conflicts with % attribute% in file-scope empty declaration% attribute conflicts with % attribute% attribute is only valid for Objective-C objects% with a value, in function returning void% with no value, in function returning non-void% overrides other OpenACC loop specifiers% clause value is bigger than % clause value% applied to a bit-field% on array function parameter %qE will return size of %qT% may not be used when defining (as opposed to declaring) a static data member% declared in % loop initial declaration% is ignored in 64bit mode% used without SSE enabled% is deprecated; use % or % instead as appropriate% is unavailable for static member functions% may not be used in this context% was not captured for this lambda function% value must be positive% %qD is not file, namespace or block scope variable% %qE directive not in %qT definition% %qE has incomplete type% argument needs positive integral constant% function call not within outer transaction or %% may only be specified for a virtual function% is not defined as a pointer type% is not defined as a type% was ignored in this declaration% operator cannot appear in a constant-expression% names %q#T, which is not a class template% names %q#T, which is not a type% applied to a bit-field% declared in % loop initial declaration% used in function with fixed args% outside class declaration% as only parameter may not be qualified% must be the only parameter% may not be specified for %q+D% attribute ignored because function is defined% attribute ignored because variable is initialized% attribute should be accompanied with an % attribute%<||%> not valid in GIMPLE%<~%> on a boolean expression%G%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing %wu byte may overlap %wu byte%G%qD accessing %wu bytes may overlap %wu byte%G%qD accessing %wu byte may overlap up to %wu bytes%G%qD accessing %wu bytes may overlap up to %wu bytes%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%G%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%G%qD accessing between %wu and %wu bytes may overlap %wu byte%G%qD accessing between %wu and %wu bytes may overlap up to %wu bytes%G%qD destination unchanged after copying no bytes%G%qD destination unchanged after copying no bytes from a string of length %E%G%qD offset %s from the object at %qE is out of the bounds of %qT%G%qD offset %s from the object at %qE is out of the bounds of referenced subobject %qD with type %qT at offset %wu%G%qD offset %s is out of bounds%G%qD offset %s is out of the bounds [0, %wu]%G%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT%G%qD offset %s is out of the bounds of object %qD with type %qT%G%qD output may be truncated copying %E byte from a string of length %wu%G%qD output may be truncated copying %E bytes from a string of length %wu%G%qD output may be truncated copying between %wu and %wu bytes from a string of length %wu%G%qD output truncated copying %E byte from a string of length %wu%G%qD output truncated copying %E bytes from a string of length %wu%G%qD output truncated copying between %wu and %wu bytes from a string of length %wu%G%qD pointer overflow between offset %s and size %s%G%qD pointer overflow between offset %s and size %s accessing array %qD with type %qT%G%qD specified bound %E equals destination size%G%qD specified bound %E equals source length%G%qD specified bound %E exceeds destination size %wu%G%qD specified bound depends on the length of the source argument%K%qD reading %E byte from a region of size %E%K%qD reading %E bytes from a region of size %E%K%qD reading %E or more bytes from a region of size %E%K%qD reading between %E and %E bytes from a region of size %E%K%qD specified bound %E equals destination size%K%qD specified bound %E exceeds destination size %E%K%qD specified bound %E exceeds maximum object size %E%K%qD specified bound between %E and %E exceeds destination size %E%K%qD specified bound between %E and %E exceeds maximum object size %E%K%qD specified size %E exceeds maximum object size %E%K%qD specified size between %E and %E exceeds maximum object size %E%K%qD writing %E byte into a region of size %E overflows the destination%K%qD writing %E bytes into a region of size %E overflows the destination%K%qD writing %E or more bytes into a region of size %E overflows the destination%K%qD writing between %E and %E bytes into a region of size %E overflows the destination%K%s %wd out of range %wd - %wd%Kargument %d must be a constant immediate%Kargument %i range [%E, %E] exceeds maximum object size %E%Kargument %i range [%E, %E] is negative%Kargument %i value %qE exceeds maximum object size %E%Kargument %i value %qE is negative%Kargument %i value is zero%Kasm not allowed in % function%Kattempt to free a non-heap object%Kattempt to free a non-heap object %qD%Kcall to %qs declared with attribute error: %s%Kcall to %qs declared with attribute warning: %s%Kfirst argument of %qD must be a pointer, second integer constant%Kinvalid use of %<__builtin_va_arg_pack ()%>%Kinvalid use of %<__builtin_va_arg_pack_len ()%>%Klane %wd out of range %wd - %wd%Klane index must be a constant immediate%Klast argument of %qD is not integer constant between 0 and 3%Kproduct %<%E * %E%> of arguments %i and %i exceeds %%Kproduct %<%E * %E%> of arguments %i and %i exceeds maximum object size %E%Ktotal size and element size must be a non-zero constant immediate%d constructor found %d constructors found %d destructor found %d destructors found *************** write_c_file - output name is %s, prefix *** 1625,1675 **** %s:stamp mismatch with notes file %s:version '%.4s', prefer '%.4s' %s:version '%.4s', prefer version '%.4s' ! '' ' flag'!' flag'#' flag'%%%c' is not a valid operand prefix'%%&' used without any local dynamic TLS references'%%l' operand isn't a label'%s' must have %d operands (excluding match_dups)'%s' must have at least %d operands (excluding match_dups)'%s' must have no more than %d operands (excluding match_dups)''' flag'(' flag'+' flag'-' flag'0' flag'B' operand has multiple bits set'B' operand is not constant'E' modifier'I' flag'O' modifier'^' flag'_' flag'a' flag'm' flag'o' operand is not constant'q' flag(C)(Messages without a matching method signature(a pointer to member can only be formed with %<&%E%>)(an out of class initialization is required)(anonymous namespace)(anonymous)(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) (if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)(near initialization for %qs)(perhaps % was intended)(perhaps a semicolon is missing after the definition of %qT)(so you should pass %qT not %qT to %)(static destructors for %s)(static initializers for %s)(the message is displayed only once per source file) ({anonymous})*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins. ! *this--help argument %q.*s is ambiguous, please be more specific--help= Display descriptions of a specific class of options. is one or more of optimizers, target, warnings, undocumented, params.--param = Set parameter to value. See below for a complete list of parameters.--param inline-unit-growth limit reached--param large-function-growth limit reached--param large-stack-frame-growth limit reached--param max-inline-insns-auto limit reached--param max-inline-insns-single limit reached-A= Assert the to . Putting '-' before disables the to .-D[=] Define a with as its value. If just is given, is taken to be 1.-E or -x required when input is from standard input-F Add to the end of the main framework include path.-G Put global and static data smaller than bytes into a special section (on some targets).-I Add to the end of the main include path.-J Put MODULE files in 'directory'.-MF Write dependency output to the given file.-MQ Add a MAKE-quoted target.-MT Add an unquoted target.-O Set optimization level to .-U Undefine .-Waligned-new=[none|global|all] Warn even if 'new' uses a class member allocation function.-Walloc-size-larger-than= Warn for calls to allocation functions that attempt to allocate objects larger than the specified number of bytes.-Walloc-zero Warn for calls to allocation functions that specify zero bytes.-Walloca-larger-than= Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than bytes.-Wnormalized=[none|id|nfc|nfkc] Warn about non-normalized Unicode strings.-Xbind-now and -Xbind-lazy are incompatible-aux-info Emit declaration information into .-bundle not allowed with -dynamiclib-bundle_loader not allowed with -dynamiclib-c or -S required for Ada-c required for gnat2scil-c required for gnat2why-client_name not allowed with -dynamiclib-current_version only allowed with -dynamiclib-d Enable dumps from specific passes of the compiler.-dumpbase Set the file basename to be used for dumps.-dumpdir Set the directory name to be used for dumps.-f%s ignored (not supported for DJGPP) ! -fada-spec-parent=unit Dump Ada specs as child units of given parent.-fblas-matmul-limit= Size of the smallest matrix for which matmul will use BLAS.-fcall-saved- Mark as being preserved across functions.-fcall-used- Mark as being corrupted by function calls.-fcf-protection=[full|branch|return|none] Instrument functions with checks to verify jump/call/return control-flow transfer instructions have valid targets.-fcheck=[...] Specify which runtime checks are to be performed.-fcoarray= Specify which coarray parallelization should be used.-fcompare-debug[=] Compile with and without e.g. -gtoggle, and compare the final-insns dump.-fconst-string-class= Use class for constant strings.-fconstexpr-depth= Specify maximum constexpr recursion depth.-fconstexpr-loop-limit= Specify maximum constexpr loop iteration count.-fconvert= The endianness used for unformatted files.-fdebug-prefix-map== Map one directory name to another in debug information.-fdeduce-init-list enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list.-fdiagnostics-color=[never|always|auto] Colorize diagnostics.-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics.-fdisable-[tree|rtl|ipa]-=range1+range2 disables an optimization pass.-fdump- Dump various compiler internals to a file.-fdump-final-insns=filename Dump to filename the insns at the end of translation.-fdump-go-spec=filename Write all declarations to file as Go code.-femit-struct-debug-baseonly Aggressive reduced debug info for structs.-femit-struct-debug-detailed= Detailed reduced debug info for structs.-femit-struct-debug-reduced Conservative reduced debug info for structs.-fenable-[tree|rtl|ipa]-=range1+range2 enables an optimization pass.-fexcess-precision=[fast|standard] Specify handling of excess floating-point precision.-fexec-charset= Convert all strings and character constants to character set .-ffile-prefix-map== Map one directory name to another in compilation result.-ffixed- Mark as being unavailable to the compiler.-ffixed-line-length- Use n as character line width in fixed mode.-ffp-contract=[off|on|fast] Perform floating-point expression contraction.-ffpe-summary=[...] Print summary of floating point exceptions.-ffpe-trap=[...] Stop on following floating point exceptions.-ffree-line-length- Use n as character line width in free mode.-fgo-c-header= Write Go struct definitions to file as C code.-fgo-dump- Dump Go frontend internal information.-fgo-optimize- Turn on optimization passes in the frontend.-fgo-pkgpath= Set Go package path.-fgo-prefix= Set package-specific prefix for exported Go names.-fgo-relative-import-path= Treat a relative import as relative to path.-finit-character= Initialize local character variables to ASCII value n.-finit-integer= Initialize local integer variables to n.-finit-logical= Initialize local logical variables.-finit-real= Initialize local real variables.-finline-limit= Limit the size of inlined functions to .-finline-matmul-limit= Specify the size of the largest matrix for which matmul will be inlined.-finput-charset= Specify the default character set for source files.-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files.-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions.-fira-algorithm=[CB|priority] Set the used IRA algorithm.-fira-region=[one|all|mixed] Set regions for IRA.-fira-verbose= Control IRA's level of diagnostic messages.-flto-compression-level= Use zlib compression level for IL.-fmax-array-constructor= Maximum number of objects in an array constructor.-fmax-errors= Maximum number of errors to report.-fmax-identifier-length= Maximum identifier length.-fmax-stack-var-size= Size in bytes of the largest array that will be put on the stack.-fmax-subrecord-length= Maximum length for subrecords.-fmessage-length= Limit diagnostics to characters per line. 0 suppresses line-wrapping.-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments.-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics.-foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler.-foffload== Specify offloading targets and options for them.-fopt-info[-=filename] Dump compiler optimization details.-force_flat_namespace not allowed with -dynamiclib-fpack-struct= Set initial maximum structure member alignment.-fpermitted-flt-eval-methods=[c11|ts-18661] Specify which values of FLT_EVAL_METHOD are permitted.-fplugin-arg--[=] Specify argument = for plugin .-fprofile-update=[single|atomic|prefer-atomic] Set the profile update method.-frandom-seed= Make compile reproducible using .-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm.-fsanitize-sections= Sanitize global variables in user-defined sections.-fsched-stalled-insns-dep= Set dependence distance checking in premature scheduling of queued insns.-fsched-stalled-insns= Set number of queued insns that can be prematurely scheduled.-fsched-verbose= Set the verbosity level of the scheduler.-fsimd-cost-model=[unlimited|dynamic|cheap] Specifies the vectorization cost model for code marked with a simd directive.-fsso-struct=[big-endian|little-endian|native] Set the default scalar storage order.-fstack-check=[no|generic|specific] Insert stack checking code into the program.-fstack-limit-register= Trap if the stack goes past .-fstack-limit-symbol= Trap if the stack goes past symbol .-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables.-ftabstop= Distance between tab stops for column reporting.-ftemplate-depth= Specify maximum template instantiation depth.-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model.-ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages.-ftree-parallelize-loops= Enable automatic parallelization of loops.-fuse-linker-plugin is not supported in this configuration-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility.-fvisibility=[private|protected|public|package] Set the default symbol visibility.-fvtable-verify=preinit is not supported in this configuration-fvtable-verify=std is not supported in this configuration-fwide-exec-charset= Convert all wide strings and character constants to character set .-gnat Specify options to GNAT.-gz is not supported in this configuration-gz= Generate compressed debug sections in format .-gz=zlib is not supported in this configuration-idirafter Add to the end of the system include path.-iframework Add to the end of the system framework include path.-imacros Accept definition of macros in .-imultiarch Set to be the multiarch include subdirectory.-imultilib Set to be the multilib include subdirectory.-include Include the contents of before other files.-install_name only allowed with -dynamiclib-iplugindir= Set to be the default plugin directory.-iprefix Specify as a prefix for next two options.-iquote Add to the end of the quote include path.-isysroot Set to be the system root directory.-isystem Add to the start of the system include path.-iwithprefix Add to the end of the system include path.-iwithprefixbefore Add to the end of the main include path.-keep_private_externs not allowed with -dynamiclib-mabi=ABI Generate code that conforms to the given ABI.-mabs=MODE Select the IEEE 754 ABS/NEG instruction execution mode.-march= Generate code for given RISC-V ISA (e.g. RV64IM). ISA strings must be lower-case.-march=ARCH Generate code for the specified chip or CPU version.-march=ISA Generate code for the given ISA.-mas100-syntax is incompatible with -gdwarf-mbig-endian and -mlittle-endian may not be used together-mbranch-cost=COST Set the cost of branches to roughly COST instructions.-mbranch-cost=N Set the cost of branches to roughly N instructions.-mcall-ABI Select ABI calling convention.-mcode-readable=SETTING Specify when instructions are allowed to access code.-mcpu= Use features of and schedule code for given CPU.-mcpu=CPU Compile code for ARC variant CPU.-mcpu=CPU Use features of and schedule code for given CPU.-mcpu=PROCESSOR Use features of and schedule code for given CPU.-mcpu=TUNE Tune code for given ARC variant.-mcpu=m16c Compile code for M16C variants.-mcpu=m32c Compile code for M32C variants.-mcpu=m32cm Compile code for M32CM variants.-mcpu=r8c Compile code for R8C variants.-mdebug= Enable debug output.-memregs= Number of memreg bytes (default: 16, range: 0..16).-mfloat-abi=soft and -mfloat-abi=hard may not be used together-mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines.-mhard-float not supported-mipsN Generate code for ISA level N.-mlarge-data-threshold= Data greater than given threshold will go into .ldata section in x86-64 medium model.-mlong-double-[64,128] Specify size of long double.-mmax-stackframe=SIZE Warn when a stackframe is larger than the specified size.-mmcu=MCU Select the target MCU.-mmpy-option=MPY Compile ARCv2 code with a multiplier design option.-mnan=ENCODING Select the IEEE 754 NaN data encoding.-mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions.-mpointer-size=[no,32,short,64,long] Set the default pointer size.-mr10k-cache-barrier=SETTING Specify when r10k cache barriers should be inserted.-msdata=[none,data,sysv,eabi] Select method for sdata handling.-msim Use simulator runtime.-msim Use simulator runtime.-msingle-float and -msoft-float cannot both be specified-msmall-data-limit=N Put global and static data smaller than bytes into a special section (on some targets).-mtls-size=[16,32] Specify bit size of immediate TLS offsets.-mtraceback=[full,part,no] Select type of traceback table.-mtune= Schedule code for given CPU.-mtune=ARCH Tune alignment for the specified chip or CPU version.-mtune=PROCESSOR Optimize the output for PROCESSOR.-o Place output into .-pg and -fomit-frame-pointer are incompatible-pie is not supported in this configuration-private_bundle not allowed with -dynamiclib-trigraphs Support ISO C trigraphs..NOT. operator in expression at %L must have a LOGICAL operand128-bit long double not supported for VAX floats31 bit ABI.387 instruction set disabled, using SSE arithmetics64 bit ABI.64-bit ABI not supported in ESA/390 mode !