diff -Nrcpad gcc-10.4.0/ChangeLog gcc-10.5.0/ChangeLog *** gcc-10.4.0/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/INSTALL/binaries.html gcc-10.5.0/INSTALL/binaries.html *** gcc-10.4.0/INSTALL/binaries.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/binaries.html Fri Jul 7 07:08:59 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Binaries *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 79,86 **** ! !

We are often asked about pre-compiled versions of GCC. While we cannot provide these for all platforms, below you’ll find links to binaries for --- 85,92 ---- ! !

We are often asked about pre-compiled versions of GCC. While we cannot provide these for all platforms, below you’ll find links to binaries for diff -Nrcpad gcc-10.4.0/INSTALL/build.html gcc-10.5.0/INSTALL/build.html *** gcc-10.4.0/INSTALL/build.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/build.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Building *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 76,82 **** !

Now that GCC is configured, you are ready to build the compiler and runtime libraries. --- 82,88 ---- !

Now that GCC is configured, you are ready to build the compiler and runtime libraries. *************** documentation, you need version 4.7 or l *** 123,129 **** want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release.

!

Building a native compiler

For a native build, the default configuration is to perform --- 129,135 ---- want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release.

!

Building a native compiler

For a native build, the default configuration is to perform *************** following example. This will save rough *** 166,173 **** the bootstrap and the final installation. (Libraries will still contain debugging information.)

!
!
make BOOT_CFLAGS='-O' bootstrap
  

You can place non-default optimization flags into BOOT_CFLAGS; they --- 172,179 ---- the bootstrap and the final installation. (Libraries will still contain debugging information.)

!
!
make BOOT_CFLAGS='-O' bootstrap
  

You can place non-default optimization flags into BOOT_CFLAGS; they *************** configure option --with-build-conf *** 218,235 **** examples of supported build configurations are:

!
bootstrap-O1

Removes any -O-started option from BOOT_CFLAGS, and adds -O1 to it. ‘BUILD_CONFIG=bootstrap-O1’ is equivalent to ‘BOOT_CFLAGS='-g -O1'’.

!
bootstrap-O3
!
bootstrap-Og

Analogous to bootstrap-O1.

!
bootstrap-lto

Enables Link-Time Optimization for host tools during bootstrapping. ‘BUILD_CONFIG=bootstrap-lto’ is equivalent to adding -flto to ‘BOOT_CFLAGS’. This option assumes that the host --- 224,241 ---- examples of supported build configurations are:

!
bootstrap-O1

Removes any -O-started option from BOOT_CFLAGS, and adds -O1 to it. ‘BUILD_CONFIG=bootstrap-O1’ is equivalent to ‘BOOT_CFLAGS='-g -O1'’.

!
bootstrap-O3
!
bootstrap-Og

Analogous to bootstrap-O1.

!
bootstrap-lto

Enables Link-Time Optimization for host tools during bootstrapping. ‘BUILD_CONFIG=bootstrap-lto’ is equivalent to adding -flto to ‘BOOT_CFLAGS’. This option assumes that the host *************** supports the linker plugin (e.g. GNU ld *** 237,243 **** version 2.21 or later).

!
bootstrap-lto-noplugin

This option is similar to bootstrap-lto, but is intended for hosts that do not support the linker plugin. Without the linker plugin static libraries are not compiled with link-time optimizations. Since --- 243,249 ---- version 2.21 or later).

!
bootstrap-lto-noplugin

This option is similar to bootstrap-lto, but is intended for hosts that do not support the linker plugin. Without the linker plugin static libraries are not compiled with link-time optimizations. Since *************** the GCC middle end and back end are in < *** 245,258 **** that only the front end is actually LTO optimized.

!
bootstrap-lto-lean

This option is similar to bootstrap-lto, but is intended for faster build by only using LTO in the final bootstrap stage. With ‘make profiledbootstrap’ the LTO frontend is trained only on generator files.

!
bootstrap-debug

Verifies that the compiler generates the same executable code, whether or not it is asked to emit debug information. To this end, this option builds stage2 host programs without debug information, and uses --- 251,264 ---- that only the front end is actually LTO optimized.

!
bootstrap-lto-lean

This option is similar to bootstrap-lto, but is intended for faster build by only using LTO in the final bootstrap stage. With ‘make profiledbootstrap’ the LTO frontend is trained only on generator files.

!
bootstrap-debug

Verifies that the compiler generates the same executable code, whether or not it is asked to emit debug information. To this end, this option builds stage2 host programs without debug information, and uses *************** info into identical object files. In ad *** 265,271 **** coverage, this option makes default bootstraps faster and leaner.

!
bootstrap-debug-big

Rather than comparing stripped object files, as in bootstrap-debug, this option saves internal compiler dumps during stage2 and stage3 and compares them as well, which helps catch --- 271,277 ---- coverage, this option makes default bootstraps faster and leaner.

!
bootstrap-debug-big

Rather than comparing stripped object files, as in bootstrap-debug, this option saves internal compiler dumps during stage2 and stage3 and compares them as well, which helps catch *************** additional potential problems, but at a *** 273,279 **** space. It can be specified in addition to ‘bootstrap-debug’.

!
bootstrap-debug-lean

This option saves disk space compared with bootstrap-debug-big, but at the expense of some recompilation. Instead of saving the dumps of stage2 and stage3 until the final compare, it uses --- 279,285 ---- space. It can be specified in addition to ‘bootstrap-debug’.

!
bootstrap-debug-lean

This option saves disk space compared with bootstrap-debug-big, but at the expense of some recompilation. Instead of saving the dumps of stage2 and stage3 until the final compare, it uses *************** during stage3, repeating the compilation *** 282,288 **** stage2, whose dumps were not saved.

!
bootstrap-debug-lib

This option tests executable code invariance over debug information generation on target libraries, just like bootstrap-debug-lean tests it on host programs. It builds stage3 libraries with --- 288,294 ---- stage2, whose dumps were not saved.

!
bootstrap-debug-lib

This option tests executable code invariance over debug information generation on target libraries, just like bootstrap-debug-lean tests it on host programs. It builds stage3 libraries with *************** in stage2 are used in stage3 host progra *** 296,302 **** compile stage2 libraries with different options for comparison purposes.

!
bootstrap-debug-ckovw

Arranges for error messages to be issued if the compiler built on any stage is run without the option -fcompare-debug. This is useful to verify the full -fcompare-debug testing coverage. It --- 302,308 ---- compile stage2 libraries with different options for comparison purposes.

!
bootstrap-debug-ckovw

Arranges for error messages to be issued if the compiler built on any stage is run without the option -fcompare-debug. This is useful to verify the full -fcompare-debug testing coverage. It *************** must be used along with bootstrap- *** 304,310 **** bootstrap-debug-lib.

!
bootstrap-cet

This option enables Intel CET for host tools during bootstrapping. ‘BUILD_CONFIG=bootstrap-cet’ is equivalent to adding -fcf-protection to ‘BOOT_CFLAGS’. This option --- 310,316 ---- bootstrap-debug-lib.

!
bootstrap-cet

This option enables Intel CET for host tools during bootstrapping. ‘BUILD_CONFIG=bootstrap-cet’ is equivalent to adding -fcf-protection to ‘BOOT_CFLAGS’. This option *************** assumes that the host supports Intel CET *** 312,332 **** 2.30 or later).

!
bootstrap-time

Arranges for the run time of each program started by the GCC driver, built in any stage, to be logged to time.log, in the top level of the build tree.

!
bootstrap-asan

Compiles GCC itself using Address Sanitization in order to catch invalid memory accesses within the GCC code.

!
!

Building a cross compiler

When building a cross compiler, it is not generally possible to do a --- 318,337 ---- 2.30 or later).

!
bootstrap-time

Arranges for the run time of each program started by the GCC driver, built in any stage, to be logged to time.log, in the top level of the build tree.

!
bootstrap-asan

Compiles GCC itself using Address Sanitization in order to catch invalid memory accesses within the GCC code.

!

Building a cross compiler

When building a cross compiler, it is not generally possible to do a *************** configuring GCC. Put them in the direct *** 364,383 **** you should put in this directory:

!
as

This should be the cross-assembler.

!
ld

This should be the cross-linker.

!
ar

This should be the cross-archiver: a program which can manipulate archive files (linker libraries) in the target machine’s format.

!
ranlib

This should be a program to construct a symbol table in an archive file.

--- 369,388 ---- you should put in this directory:

!
as

This should be the cross-assembler.

!
ld

This should be the cross-linker.

!
ar

This should be the cross-archiver: a program which can manipulate archive files (linker libraries) in the target machine’s format.

!
ranlib

This should be a program to construct a symbol table in an archive file.

*************** alternatives for crt0.o, fo *** 404,411 **** compilation options. Check your target’s definition of STARTFILE_SPEC to find out what start files it uses.

!
!

Building in parallel

GNU Make 3.80 and above, which is necessary to build GCC, support --- 409,415 ---- compilation options. Check your target’s definition of STARTFILE_SPEC to find out what start files it uses.

!

Building in parallel

GNU Make 3.80 and above, which is necessary to build GCC, support *************** your machine will result in fewer and sh *** 416,429 **** improving overall throughput; this is especially true for slow drives and network filesystems.

!
!

Building the Ada compiler

GNAT prerequisites.

!
!

Building with profile feedback

It is possible to use profile feedback to optimize the compiler itself. This --- 420,431 ---- improving overall throughput; this is especially true for slow drives and network filesystems.

!

Building the Ada compiler

GNAT prerequisites.

!

Building with profile feedback

It is possible to use profile feedback to optimize the compiler itself. This *************** the code quality may be much worse. *** 464,470 **** !


--- 466,472 ---- !
diff -Nrcpad gcc-10.4.0/INSTALL/configure.html gcc-10.5.0/INSTALL/configure.html *** gcc-10.4.0/INSTALL/configure.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/configure.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Configuration *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 75,82 **** ! !

Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure --- 81,88 ---- ! !

Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure *************** scripts may fail. *** 122,141 ****

To configure GCC:

!
!
% mkdir objdir
  % cd objdir
  % srcdir/configure [options] [target]
  
!

Distributor options

If you will be distributing binary versions of GCC, with modifications to the source code, you should use the options described in this section to make clear that your version contains modifications.

!
--with-pkgversion=version

Specify a string that identifies your package. You may wish to include a build number or build date. This version string will be included in the output of gcc --version. This suffix does --- 128,148 ----

To configure GCC:

!
!
% mkdir objdir
  % cd objdir
  % srcdir/configure [options] [target]
  
! !

Distributor options

If you will be distributing binary versions of GCC, with modifications to the source code, you should use the options described in this section to make clear that your version contains modifications.

!
--with-pkgversion=version

Specify a string that identifies your package. You may wish to include a build number or build date. This version string will be included in the output of gcc --version. This suffix does *************** not replace the default version string, *** 144,150 ****

The default value is ‘GCC’.

!
--with-bugurl=url

Specify the URL that users should visit if they wish to report a bug. You are of course welcome to forward bugs reported to you to the FSF, if you determine that they are not bugs in your modifications. --- 151,157 ----

The default value is ‘GCC’.

!
--with-bugurl=url

Specify the URL that users should visit if they wish to report a bug. You are of course welcome to forward bugs reported to you to the FSF, if you determine that they are not bugs in your modifications. *************** if you determine that they are not bugs *** 152,165 ****

The default value refers to the FSF’s GCC bug tracker.

!
--with-documentation-root-url=url

Specify the URL root that contains GCC option documentation. The url should end with a / character.

The default value is https://gcc.gnu.org/onlinedocs/.

!
--with-changes-root-url=url

Specify the URL root that contains information about changes in GCC releases like gcc-version/changes.html. The url should end with a / character. --- 159,172 ----

The default value refers to the FSF’s GCC bug tracker.

!
--with-documentation-root-url=url

Specify the URL root that contains GCC option documentation. The url should end with a / character.

The default value is https://gcc.gnu.org/onlinedocs/.

!
--with-changes-root-url=url

Specify the URL root that contains information about changes in GCC releases like gcc-version/changes.html. The url should end with a / character. *************** The url should end with a

!

Target specification

  • GCC has code to correctly determine the correct value for target for nearly all native systems. Therefore, we highly recommend you do --- 176,183 ----
! !

Target specification

!

Options specification

Use options to override several configure time options for GCC. A list of supported options follows; ‘configure --- 192,199 ---- ! !

Options specification

Use options to override several configure time options for GCC. A list of supported options follows; ‘configure *************** work and should not normally be used. *** 196,202 **** corresponding --without option.

!
--prefix=dirname

Specify the toplevel installation directory. This is the recommended way to install the tools into a directory other than the default. The toplevel installation directory defaults to --- 205,211 ---- corresponding --without option.

!
--prefix=dirname

Specify the toplevel installation directory. This is the recommended way to install the tools into a directory other than the default. The toplevel installation directory defaults to *************** beneath a user’s home directory tr *** 211,273 ****

The following standard autoconf options are supported. Normally you should not need to use these options.

!
--exec-prefix=dirname

Specify the toplevel installation directory for architecture-dependent files. The default is prefix.

!
--bindir=dirname

Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

!
--libdir=dirname

Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

!
--libexecdir=dirname

Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

!
--with-slibdir=dirname

Specify the installation directory for the shared libgcc library. The default is libdir.

!
--datarootdir=dirname

Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

!
--infodir=dirname

Specify the installation directory for documentation in info format. The default is datarootdir/info.

!
--datadir=dirname

Specify the installation directory for some architecture-independent data files referenced by GCC. The default is datarootdir.

!
--docdir=dirname

Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

!
--htmldir=dirname

Specify the installation directory for HTML documentation files. The default is docdir.

!
--pdfdir=dirname

Specify the installation directory for PDF documentation files. The default is docdir.

!
--mandir=dirname

Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts from the full GCC manuals, which are provided in Texinfo format. The manpages --- 220,282 ----

The following standard autoconf options are supported. Normally you should not need to use these options.

!
--exec-prefix=dirname

Specify the toplevel installation directory for architecture-dependent files. The default is prefix.

!
--bindir=dirname

Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

!
--libdir=dirname

Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

!
--libexecdir=dirname

Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

!
--with-slibdir=dirname

Specify the installation directory for the shared libgcc library. The default is libdir.

!
--datarootdir=dirname

Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

!
--infodir=dirname

Specify the installation directory for documentation in info format. The default is datarootdir/info.

!
--datadir=dirname

Specify the installation directory for some architecture-independent data files referenced by GCC. The default is datarootdir.

!
--docdir=dirname

Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

!
--htmldir=dirname

Specify the installation directory for HTML documentation files. The default is docdir.

!
--pdfdir=dirname

Specify the installation directory for PDF documentation files. The default is docdir.

!
--mandir=dirname

Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts from the full GCC manuals, which are provided in Texinfo format. The manpages *************** are derived by an automatic conversion p *** 275,288 **** manual.)

!
--with-gxx-include-dir=dirname

Specify the installation directory for G++ header files. The default depends on other configuration options, and differs between cross and native configurations.

!
--with-specs=specs

Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler’s source code, for instance --- 284,297 ---- manual.)

!
--with-gxx-include-dir=dirname

Specify the installation directory for G++ header files. The default depends on other configuration options, and differs between cross and native configurations.

!
--with-specs=specs

Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler’s source code, for instance *************** See “Spec Files” in the main *** 293,299 ****

!
--program-prefix=prefix

GCC supports some transformations of the names of its programs when installing them. This option prepends prefix to the names of programs to install in bindir (see above). For example, specifying --- 302,308 ----

!
--program-prefix=prefix

GCC supports some transformations of the names of its programs when installing them. This option prepends prefix to the names of programs to install in bindir (see above). For example, specifying *************** programs to install in bindir *** 301,314 **** being installed as /usr/local/bin/foo-gcc.

!
--program-suffix=suffix

Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

!
--program-transform-name=pattern

Applies the ‘sed’ script pattern to be applied to the names of programs to install in bindir (see above). pattern has to consist of one or more basic ‘sed’ editing commands, separated by --- 310,323 ---- being installed as /usr/local/bin/foo-gcc.

!
--program-suffix=suffix

Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

!
--program-transform-name=pattern

Applies the ‘sed’ script pattern to be applied to the names of programs to install in bindir (see above). pattern has to consist of one or more basic ‘sed’ editing commands, separated by *************** resulting binary would be installed as *** 341,347 **** transformed yet, which will be fixed in some time.

!
--with-local-prefix=dirname

Specify the installation directory for local include files. The default is /usr/local. Specify this option if you want the compiler to --- 350,356 ---- transformed yet, which will be fixed in some time.

!
--with-local-prefix=dirname

Specify the installation directory for local include files. The default is /usr/local. Specify this option if you want the compiler to *************** install part of GCC. Perhaps they make *** 414,425 **** installing GCC creates the directory.

!
--with-gcc-major-version-only

Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.

!
--with-native-system-header-dir=dirname

Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system --- 423,434 ---- installing GCC creates the directory.

!
--with-gcc-major-version-only

Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.

!
--with-native-system-header-dir=dirname

Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system *************** as much as possible. It is most commonl *** 428,434 **** dirname inside the system root specified by that option.

!
--enable-shared[=package[,…]]

Build shared versions of libraries, if shared libraries are supported on the target platform. Unlike GCC 2.95.x and earlier, shared libraries are enabled by default on all platforms that support shared libraries. --- 437,443 ---- dirname inside the system root specified by that option.

!
--enable-shared[=package[,…]]

Build shared versions of libraries, if shared libraries are supported on the target platform. Unlike GCC 2.95.x and earlier, shared libraries are enabled by default on all platforms that support shared libraries. *************** argument, only --enable-shared

!
--enable-host-shared

Specify that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared libraries, but yielding a slightly slower compiler. --- 458,464 ---- code.

!
--enable-host-shared

Specify that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared libraries, but yielding a slightly slower compiler. *************** but yielding a slightly slower compiler. *** 460,466 **** libraries.

!
--with-gnu-as

Specify that the compiler should assume that the assembler it finds is the GNU assembler. However, this does not modify the rules to find an assembler and will result in confusion if the --- 469,475 ---- libraries.

!
--with-gnu-as

Specify that the compiler should assume that the assembler it finds is the GNU assembler. However, this does not modify the rules to find an assembler and will result in confusion if the *************** whether you use the GNU assembler. On a *** 483,489 ****

!
--with-as=pathname

Specify that the compiler should use the assembler pointed to by pathname, rather than the one found by the standard rules to find an assembler, which are: --- 492,498 ----

!
--with-as=pathname

Specify that the compiler should use the assembler pointed to by pathname, rather than the one found by the standard rules to find an assembler, which are: *************** assemblers installed and want to choose *** 516,550 **** above rules.

!
--with-gnu-ld

Same as --with-gnu-as but for the linker.

!
--with-ld=pathname

Same as --with-as but for the linker.

!
--with-dsymutil=pathname

Same as --with-as but for the debug linker (only used on Darwin platforms so far).

!
--with-stabs

Specify that stabs debugging information should be used instead of whatever format the host normally uses. Normally GCC uses the same debug format as the host system.

!
--with-tls=dialect

Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect.

!
--enable-multiarch

Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, --- 525,559 ---- above rules.

!
--with-gnu-ld

Same as --with-gnu-as but for the linker.

!
--with-ld=pathname

Same as --with-as but for the linker.

!
--with-dsymutil=pathname

Same as --with-as but for the debug linker (only used on Darwin platforms so far).

!
--with-stabs

Specify that stabs debugging information should be used instead of whatever format the host normally uses. Normally GCC uses the same debug format as the host system.

!
--with-tls=dialect

Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect.

!
--enable-multiarch

Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, *************** More documentation about multiarch can b *** 554,566 **** https://wiki.debian.org/Multiarch.

!
--enable-sjlj-exceptions

Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.

!
--enable-vtable-verify

Specify whether to enable or disable the vtable verification feature. Enabling this feature causes libstdc++ to be built with its virtual calls in verifiable mode. This means that, when linked with libvtv, every --- 563,575 ---- https://wiki.debian.org/Multiarch.

!
--enable-sjlj-exceptions

Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.

!
--enable-vtable-verify

Specify whether to enable or disable the vtable verification feature. Enabling this feature causes libstdc++ to be built with its virtual calls in verifiable mode. This means that, when linked with libvtv, every *************** still be built (see --disable-libv *** 573,584 **** --disable-vtable-verify is the default.

!
--disable-gcov

Specify that the run-time library used for coverage analysis and associated host tools should not be built.

!
--disable-multilib

Specify that multiple target libraries to support different target variants, calling conventions, etc. should not be built. The default is to build a --- 582,593 ---- --disable-vtable-verify is the default.

!
--disable-gcov

Specify that the run-time library used for coverage analysis and associated host tools should not be built.

!
--disable-multilib

Specify that multiple target libraries to support different target variants, calling conventions, etc. should not be built. The default is to build a *************** predefined set of them. *** 587,609 ****

Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

!
arm-*-*

fpu, 26bit, underscore, interwork, biendian, nofmult.

!
m68*-*-*

softfloat, m68881, m68000, m68020.

!
mips*-*-*

single-float, biendian, softfloat.

!
msp430-*-*

no-exceptions

!
powerpc*-*-*, rs6000*-*-*

aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, sysv, aix.

--- 596,618 ----

Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

!
arm-*-*

fpu, 26bit, underscore, interwork, biendian, nofmult.

!
m68*-*-*

softfloat, m68881, m68000, m68020.

!
mips*-*-*

single-float, biendian, softfloat.

!
msp430-*-*

no-exceptions

!
powerpc*-*-*, rs6000*-*-*

aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, sysv, aix.

*************** sysv, aix. *** 611,625 ****
!
--with-multilib-list=list
!
--without-multilib-list

Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for aarch64*-*-*, arm*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.

!
aarch64*-*-*

list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the --- 620,634 ----

!
--with-multilib-list=list
!
--without-multilib-list

Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for aarch64*-*-*, arm*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.

!
aarch64*-*-*

list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the *************** default set of libraries is selected bas *** 629,635 **** --target.

!
arm*-*-*

list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current --- 638,644 ---- --target.

!
arm*-*-*

list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current *************** profile. The union of these options is *** 691,697 ****

!
riscv*-*-*

list is a single ABI name. The target architecture must be either rv32gc or rv64gc. This will build a single multilib for the specified architecture and ABI pair. If --with-multilib-list is not --- 700,706 ----

!
riscv*-*-*

list is a single ABI name. The target architecture must be either rv32gc or rv64gc. This will build a single multilib for the specified architecture and ABI pair. If --with-multilib-list is not *************** given, then a default set of multilibs i *** 699,705 **** --target. This is usually a large set of multilibs.

!
sh*-*-*

list is a comma separated list of CPU names. These must be of the form sh* or m* (in which case they match the compiler option for that processor). The list should not contain any endian options - --- 708,714 ---- --target. This is usually a large set of multilibs.

!
sh*-*-*

list is a comma separated list of CPU names. These must be of the form sh* or m* (in which case they match the compiler option for that processor). The list should not contain any endian options - *************** specialized subset. *** 720,738 ****

Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default: !

!
--with-cpu=sh4a --with-endian=little,big --with-multilib-list=
  

Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with only little endian SH4AL: !

!
--with-cpu=sh4a --with-endian=little,big \
  --with-multilib-list=sh4al,!mb/m4al
  
!
x86-64-*-linux*

list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs --- 729,747 ----

Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default: !

!
--with-cpu=sh4a --with-endian=little,big --with-multilib-list=
  

Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with only little endian SH4AL: !

!
--with-cpu=sh4a --with-endian=little,big \
  --with-multilib-list=sh4al,!mb/m4al
  
!
x86-64-*-linux*

list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs *************** and only the default run-time library wi *** 744,771 ****

!
--with-endian=endians

Specify what endians to use. Currently only implemented for sh*-*-*.

endians may be one of the following:

!
big

Use big endian exclusively.

!
little

Use little endian exclusively.

!
big,little

Use big endian by default. Provide a multilib for little endian.

!
little,big

Use little endian by default. Provide a multilib for big endian.

!
--enable-threads

Specify that the target supports threads. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. --- 753,780 ----

!
--with-endian=endians

Specify what endians to use. Currently only implemented for sh*-*-*.

endians may be one of the following:

!
big

Use big endian exclusively.

!
little

Use little endian exclusively.

!
big,little

Use big endian by default. Provide a multilib for little endian.

!
little,big

Use little endian by default. Provide a multilib for big endian.

!
--enable-threads

Specify that the target supports threads. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. *************** available for the system. In this case, *** 778,832 **** alias for --enable-threads=single.

!
--disable-threads

Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

!
--enable-threads=lib

Specify that lib is the thread support library. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. The possibilities for lib are:

!
aix

AIX thread support.

!
dce

DCE thread support.

!
lynx

LynxOS thread support.

!
mipssde

MIPS SDE thread support.

!
no

This is an alias for ‘single’.

!
posix

Generic POSIX/Unix98 thread support.

!
rtems

RTEMS thread support.

!
single

Disable thread support, should work for all platforms.

!
tpf

TPF thread support.

!
vxworks

VxWorks thread support.

!
win32

Microsoft Win32 API thread support.

!
--enable-tls

Specify that the target supports TLS (Thread Local Storage). Usually configure can correctly determine if TLS is supported. In cases where it guesses incorrectly, TLS can be explicitly enabled or disabled with --- 787,841 ---- alias for --enable-threads=single.

!
--disable-threads

Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

!
--enable-threads=lib

Specify that lib is the thread support library. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. The possibilities for lib are:

!
aix

AIX thread support.

!
dce

DCE thread support.

!
lynx

LynxOS thread support.

!
mipssde

MIPS SDE thread support.

!
no

This is an alias for ‘single’.

!
posix

Generic POSIX/Unix98 thread support.

!
rtems

RTEMS thread support.

!
single

Disable thread support, should work for all platforms.

!
tpf

TPF thread support.

!
vxworks

VxWorks thread support.

!
win32

Microsoft Win32 API thread support.

!
--enable-tls

Specify that the target supports TLS (Thread Local Storage). Usually configure can correctly determine if TLS is supported. In cases where it guesses incorrectly, TLS can be explicitly enabled or disabled with *************** the assembler supports TLS but the C lib *** 835,854 **** assumptions made by the configure test are incorrect.

!
--disable-tls

Specify that the target does not support TLS. This is an alias for --enable-tls=no.

!
--disable-tm-clone-registry

Disable TM clone registry in libgcc. It is enabled in libgcc by default. This option helps to reduce code size for embedded targets which do not use transactional memory.

!
--with-cpu=cpu
!
--with-cpu-32=cpu
!
--with-cpu-64=cpu

Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. This option is only supported on some targets, including ARC, ARM, i386, M68k, --- 844,863 ---- assumptions made by the configure test are incorrect.

!
--disable-tls

Specify that the target does not support TLS. This is an alias for --enable-tls=no.

!
--disable-tm-clone-registry

Disable TM clone registry in libgcc. It is enabled in libgcc by default. This option helps to reduce code size for embedded targets which do not use transactional memory.

!
--with-cpu=cpu
!
--with-cpu-32=cpu
!
--with-cpu-64=cpu

Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. This option is only supported on some targets, including ARC, ARM, i386, M68k, *************** PowerPC, and SPARC. It is mandatory for *** 858,873 **** x86-64, PowerPC, and SPARC.

!
--with-schedule=cpu
!
--with-arch=cpu
!
--with-arch-32=cpu
!
--with-arch-64=cpu
!
--with-tune=cpu
!
--with-tune-32=cpu
!
--with-tune-64=cpu
!
--with-abi=abi
!
--with-fpu=type
!
--with-float=type

These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --- 867,882 ---- x86-64, PowerPC, and SPARC.

!
--with-schedule=cpu
!
--with-arch=cpu
!
--with-arch-32=cpu
!
--with-arch-64=cpu
!
--with-tune=cpu
!
--with-tune-32=cpu
!
--with-tune-64=cpu
!
--with-abi=abi
!
--with-fpu=type
!
--with-float=type

These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with *************** options and for -mhard-float

!
--with-mode=mode

Specify if the compiler should default to -marm or -mthumb. This option is only supported on ARM targets.

!
--with-stack-offset=num

This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.

!
--with-fpmath=isa

This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets.

!
--with-fp-32=mode

On MIPS targets, set the default value for the -mfp option when using the o32 ABI. The possibilities for mode are:

!
32

Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

!
xx

Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

!
64

Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

--- 884,920 ---- of the arguments depend on the target.

!
--with-mode=mode

Specify if the compiler should default to -marm or -mthumb. This option is only supported on ARM targets.

!
--with-stack-offset=num

This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.

!
--with-fpmath=isa

This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets.

!
--with-fp-32=mode

On MIPS targets, set the default value for the -mfp option when using the o32 ABI. The possibilities for mode are:

!
32

Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

!
xx

Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

!
64

Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

*************** option. *** 914,940 **** FP32 ABI extension.

!
--with-odd-spreg-32

On MIPS targets, set the -modd-spreg option by default when using the o32 ABI.

!
--without-odd-spreg-32

On MIPS targets, set the -mno-odd-spreg option by default when using the o32 ABI. This is normally used in conjunction with --with-fp-32=64 in order to target the o32 FP64A ABI extension.

!
--with-nan=encoding

On MIPS targets, set the default encoding convention to use for the special not-a-number (NaN) IEEE 754 floating-point data. The possibilities for encoding are:

!
legacy

Use the legacy encoding, as with the -mnan=legacy command-line option.

!
2008

Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

--- 923,949 ---- FP32 ABI extension.

!
--with-odd-spreg-32

On MIPS targets, set the -modd-spreg option by default when using the o32 ABI.

!
--without-odd-spreg-32

On MIPS targets, set the -mno-odd-spreg option by default when using the o32 ABI. This is normally used in conjunction with --with-fp-32=64 in order to target the o32 FP64A ABI extension.

!
--with-nan=encoding

On MIPS targets, set the default encoding convention to use for the special not-a-number (NaN) IEEE 754 floating-point data. The possibilities for encoding are:

!
legacy

Use the legacy encoding, as with the -mnan=legacy command-line option.

!
2008

Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

*************** the legacy encoding, as when neither of *** 946,995 **** -mnan=legacy command-line options has been used.

!
--with-divide=type

Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. The possibilities for type are:

!
traps

Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

!
breaks

Division by zero checks use the break instruction.

!
--with-llsc

On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for Linux-based targets, as the kernel will emulate them if the ISA does not provide them.

!
--without-llsc

On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

!
--with-synci

On MIPS targets, make -msynci the default when no -mno-synci option is passed.

!
--without-synci

On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

!
--with-lxc1-sxc1

On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

!
--without-lxc1-sxc1

On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected --- 955,1004 ---- -mnan=legacy command-line options has been used.

!
--with-divide=type

Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. The possibilities for type are:

!
traps

Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

!
breaks

Division by zero checks use the break instruction.

!
--with-llsc

On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for Linux-based targets, as the kernel will emulate them if the ISA does not provide them.

!
--without-llsc

On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

!
--with-synci

On MIPS targets, make -msynci the default when no -mno-synci option is passed.

!
--without-synci

On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

!
--with-lxc1-sxc1

On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

!
--without-lxc1-sxc1

On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected *************** pure 32-bit environment and can hold tru *** 1005,1016 **** the address space is accurately set to be 32-bit for o32 and n32.

!
--with-madd4

On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

!
--without-madd4

On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that --- 1014,1025 ---- the address space is accurately set to be 32-bit for o32 and n32.

!
--with-madd4

On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

!
--without-madd4

On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that *************** only way to ensure compatible code is ge *** 1021,1040 **** a performance penalty.

!
--with-mips-plt

On MIPS targets, make use of copy relocations and PLTs. These features are extensions to the traditional SVR4-based MIPS ABIs and require support from GNU binutils and the runtime C library.

!
--with-stack-clash-protection-guard-size=size

On certain targets this option sets the default stack clash protection guard size as a power of two in bytes. On AArch64 size is required to be either 12 (4KB) or 16 (64KB).

!
--enable-__cxa_atexit

Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of --- 1030,1049 ---- a performance penalty.

!
--with-mips-plt

On MIPS targets, make use of copy relocations and PLTs. These features are extensions to the traditional SVR4-based MIPS ABIs and require support from GNU binutils and the runtime C library.

!
--with-stack-clash-protection-guard-size=size

On certain targets this option sets the default stack clash protection guard size as a power of two in bytes. On AArch64 size is required to be either 12 (4KB) or 16 (64KB).

!
--enable-__cxa_atexit

Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of *************** only available on systems with GNU libc. *** 1043,1070 **** -fuse-cxa-atexit to be passed by default.

!
--enable-gnu-indirect-function

Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets.

!
--enable-target-optspace

Specify that target libraries should be optimized for code space instead of code speed. This is the default for the m32r platform.

!
--with-cpp-install-dir=dirname

Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

!
--enable-comdat

Enable COMDAT group support. This is primarily used to override the automatically detected value.

!
--enable-initfini-array

Force the use of sections .init_array and .fini_array (instead of .init and .fini) for constructors and destructors. Option --disable-initfini-array has the --- 1052,1079 ---- -fuse-cxa-atexit to be passed by default.

!
--enable-gnu-indirect-function

Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets.

!
--enable-target-optspace

Specify that target libraries should be optimized for code space instead of code speed. This is the default for the m32r platform.

!
--with-cpp-install-dir=dirname

Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

!
--enable-comdat

Enable COMDAT group support. This is primarily used to override the automatically detected value.

!
--enable-initfini-array

Force the use of sections .init_array and .fini_array (instead of .init and .fini) for constructors and destructors. Option --disable-initfini-array has the *************** will try to guess whether the .ini *** 1073,1085 **** .fini_array sections are supported and, if they are, use them.

!
--enable-link-mutex

When building GCC, use a mutex to avoid linking the compilers for multiple languages at the same time, to avoid thrashing on build systems with limited free memory. The default is not to use such a mutex.

!
--enable-maintainer-mode

The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally disabled. This is because it can only be rebuilt if the complete source --- 1082,1094 ---- .fini_array sections are supported and, if they are, use them.

!
--enable-link-mutex

When building GCC, use a mutex to avoid linking the compilers for multiple languages at the same time, to avoid thrashing on build systems with limited free memory. The default is not to use such a mutex.

!
--enable-maintainer-mode

The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally disabled. This is because it can only be rebuilt if the complete source *************** this. Note that you need a recent versi *** 1089,1102 **** to do so.

!
--disable-bootstrap

For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, testing that GCC can compile itself correctly. If you want to disable this process, you can configure with --disable-bootstrap.

!
--enable-bootstrap

In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. This is possible when the host can run code compiled for --- 1098,1111 ---- to do so.

!
--disable-bootstrap

For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, testing that GCC can compile itself correctly. If you want to disable this process, you can configure with --disable-bootstrap.

!
--enable-bootstrap

In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. This is possible when the host can run code compiled for *************** Starting from GCC 4.2, to do this you ha *** 1105,1111 **** with --enable-bootstrap.

!
--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, --- 1114,1120 ---- with --enable-bootstrap.

!
--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, *************** is not a requirement that the users of s *** 1120,1126 **** or makeinfo.

!
--enable-version-specific-runtime-libs

Specify that runtime libraries should be installed in the compiler specific subdirectory (libdir/gcc) rather than the usual places. In --- 1129,1135 ---- or makeinfo.

!
--enable-version-specific-runtime-libs

Specify that runtime libraries should be installed in the compiler specific subdirectory (libdir/gcc) rather than the usual places. In *************** parallel. The default is ‘y *** 1132,1138 **** the remaining libraries.

!
--with-aix-soname=‘aix’, ‘svr4’ or ‘both

Traditional AIX shared library versioning (versioned Shared Object files as members of unversioned Archive Library files named ‘lib.a’) causes numerous headaches for package managers. However, --- 1141,1147 ---- the remaining libraries.

!
--with-aix-soname=‘aix’, ‘svr4’ or ‘both

Traditional AIX shared library versioning (versioned Shared Object files as members of unversioned Archive Library files named ‘lib.a’) causes numerous headaches for package managers. However, *************** where this is called the "SONAME&qu *** 1143,1156 **** linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

!

For detailed information please refer to the AIX ld Command reference.

As long as shared library creation is enabled, upon:

!
--with-aix-soname=aix
!
--with-aix-soname=both

A (traditional AIX) Shared Archive Library file is created:

  • using the ‘libNAME.a’ filename scheme --- 1152,1165 ---- linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

    !

    For detailed information please refer to the AIX ld Command reference.

    As long as shared library creation is enabled, upon:

    !
    --with-aix-soname=aix
    !
    --with-aix-soname=both

    A (traditional AIX) Shared Archive Library file is created:

    • using the ‘libNAME.a’ filename scheme *************** Command reference. *** 1167,1174 ****
!
--with-aix-soname=both
!
--with-aix-soname=svr4

A (second) Shared Archive Library file is created:

  • using the ‘libNAME.so.V’ filename scheme --- 1176,1183 ----
!
--with-aix-soname=both
!
--with-aix-soname=svr4

A (second) Shared Archive Library file is created:

  • using the ‘libNAME.so.V’ filename scheme *************** Command reference. *** 1206,1212 ****

    As long as static library creation is enabled, upon:

    !
    --with-aix-soname=svr4

    A Static Archive Library is created:

    • using the ‘libNAME.a’ filename scheme --- 1215,1221 ----

      As long as static library creation is enabled, upon:

      !
      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme *************** this option is still experimental and no *** 1238,1250 ****

        Default is the traditional behavior --with-aix-soname=‘aix.

      !
      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and their runtime libraries should be built. For a list of valid values for langN you can issue the following command in the gcc directory of your GCC source tree:
      !

      !
      grep ^language= */config-lang.in
        

      Currently, you can use any of the following: all, default, ada, c, c++, d, --- 1247,1259 ----

      Default is the traditional behavior --with-aix-soname=‘aix.

      !
      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and their runtime libraries should be built. For a list of valid values for langN you can issue the following command in the gcc directory of your GCC source tree:
      !

      !
      grep ^language= */config-lang.in
        

      Currently, you can use any of the following: all, default, ada, c, c++, d, *************** exception is jit language, *** 1260,1266 **** --enable-host-shared to be included with all.

      !
      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime libraries should be built with the system C compiler during stage 1 of the bootstrap process, rather than only in later stages with the --- 1269,1275 ---- --enable-host-shared to be included with all.

      !
      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime libraries should be built with the system C compiler during stage 1 of the bootstrap process, rather than only in later stages with the *************** stage1-bubble all-target, or run *** 1276,1327 **** for the specified languages using make stage1-start check-gcc.

      !
      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not be built. This can be useful for debugging, or for compatibility with previous Ada build procedures, when it was required to explicitly do a ‘make -C gcc gnatlib_and_tools’.

      !
      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should not be built.

      !
      --disable-libssp

      Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

      !
      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.

      !
      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it.

      !
      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library should not be built.

      !
      --disable-libvtv

      Specify that the run-time libraries used by vtable verification should not be built.

      !
      --with-dwarf2

      Specify that the compiler should use DWARF 2 debugging information as the default.

      !
      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the header files, library files, and the dynamic linker from the Advance Toolchain release at instead of the default versions that are --- 1285,1336 ---- for the specified languages using make stage1-start check-gcc.

      !
      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not be built. This can be useful for debugging, or for compatibility with previous Ada build procedures, when it was required to explicitly do a ‘make -C gcc gnatlib_and_tools’.

      !
      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should not be built.

      !
      --disable-libssp

      Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

      !
      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.

      !
      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it.

      !
      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library should not be built.

      !
      --disable-libvtv

      Specify that the run-time libraries used by vtable verification should not be built.

      !
      --with-dwarf2

      Specify that the compiler should use DWARF 2 debugging information as the default.

      !
      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the header files, library files, and the dynamic linker from the Advance Toolchain release at instead of the default versions that are *************** intended for the developers of GCC, and *** 1330,1337 **** use.

      !
      --enable-targets=all
      !
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. These are compilers that are able to generate either 64-bit or 32-bit code. Typically, the corresponding 32-bit target, e.g. --- 1339,1346 ---- use.

      !
      --enable-targets=all
      !
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. These are compilers that are able to generate either 64-bit or 32-bit code. Typically, the corresponding 32-bit target, e.g. *************** Currently, this option only affects spar *** 1345,1369 **** mips-linux and s390-linux.

      !
      --enable-default-pie

      Turn on -fPIE and -pie by default.

      !
      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. See “RS/6000 and PowerPC Options” in the main manual

      !
      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      !
      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. See “i386 and x86-64 Options” in the main manual

      !
      --enable-large-address-aware

      The --enable-large-address-aware option arranges for MinGW executables to be linked using the --large-address-aware option, that enables the use of more than 2GB of memory. If GCC is --- 1354,1378 ---- mips-linux and s390-linux.

      !
      --enable-default-pie

      Turn on -fPIE and -pie by default.

      !
      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. See “RS/6000 and PowerPC Options” in the main manual

      !
      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      !
      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. See “i386 and x86-64 Options” in the main manual

      !
      --enable-large-address-aware

      The --enable-large-address-aware option arranges for MinGW executables to be linked using the --large-address-aware option, that enables the use of more than 2GB of memory. If GCC is *************** configured with this option, its effects *** 1372,1385 **** compiler driver.

      !
      --enable-win32-registry
      !
      --enable-win32-registry=key
      !
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC to look up installations paths in the registry using the following key:

      !
      !
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        

      key defaults to GCC version number, and can be overridden by the --- 1381,1394 ---- compiler driver.

      !
      --enable-win32-registry
      !
      --enable-win32-registry=key
      !
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC to look up installations paths in the registry using the following key:

      !
      !
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        

      key defaults to GCC version number, and can be overridden by the *************** by default, and can be disabled by

      !
      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      !
      --enable-werror
      !
      --disable-werror
      !
      --enable-werror=yes
      !
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main --- 1400,1415 ---- option. This option has no effect on the other hosts.

      !
      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      !
      --enable-werror
      !
      --disable-werror
      !
      --enable-werror=yes
      !
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main *************** final releases. The specific files whic *** 1409,1417 **** 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 --- 1418,1426 ---- 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 *************** expensive and the ‘df *** 1449,1457 **** 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 --- 1458,1466 ---- 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 *************** with checking for stage1 enabled, you ca *** 1463,1470 **** to disable checking for the stage1 compiler.

      !
      --enable-coverage
      !
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage information, every time it is run. This is for internal development purposes, and only works when the compiler is being built with gcc. The --- 1472,1479 ---- to disable checking for the stage1 compiler.

      !
      --enable-coverage
      !
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage information, every time it is run. This is for internal development purposes, and only works when the compiler is being built with gcc. The *************** enable optimization. When coverage is e *** 1475,1505 **** without optimization.

      !
      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory allocation is gathered. This information is printed when using -fmem-report.

      !
      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under valgrind to suppress false positives.

      !
      --enable-nls
      !
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), which lets GCC output diagnostics in languages other than American English. Native Language Support is enabled by default if not doing a canadian cross build. The --disable-nls option disables NLS.

      !
      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      !
      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the inferior catgets interface, the GCC build procedure normally ignores catgets and instead uses GCC’s copy of the GNU --- 1484,1514 ---- without optimization.

      !
      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory allocation is gathered. This information is printed when using -fmem-report.

      !
      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under valgrind to suppress false positives.

      !
      --enable-nls
      !
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), which lets GCC output diagnostics in languages other than American English. Native Language Support is enabled by default if not doing a canadian cross build. The --disable-nls option disables NLS.

      !
      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      !
      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the inferior catgets interface, the GCC build procedure normally ignores catgets and instead uses GCC’s copy of the GNU *************** ignores catgets and instead *** 1507,1518 **** build procedure to use the host’s catgets in this situation.

      !
      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      !
      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to configure GCC for a system (build, host, or target) which has been obsoleted, and you do not specify this flag, configure will halt with an --- 1516,1527 ---- build procedure to use the host’s catgets in this situation.

      !
      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      !
      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to configure GCC for a system (build, host, or target) which has been obsoleted, and you do not specify this flag, configure will halt with an *************** is removed entirely in the next major re *** 1523,1534 **** forward to maintain the port.

      !
      --enable-decimal-float
      !
      --enable-decimal-float=yes
      !
      --enable-decimal-float=no
      !
      --enable-decimal-float=bid
      !
      --enable-decimal-float=dpd
      !
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension that is in the IEEE 754-2008 standard. This is enabled by default only on PowerPC, i386, and x86_64 GNU/Linux systems. Other systems may also --- 1532,1543 ---- forward to maintain the port.

      !
      --enable-decimal-float
      !
      --enable-decimal-float=yes
      !
      --enable-decimal-float=no
      !
      --enable-decimal-float=bid
      !
      --enable-decimal-float=dpd
      !
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension that is in the IEEE 754-2008 standard. This is enabled by default only on PowerPC, i386, and x86_64 GNU/Linux systems. Other systems may also *************** format is default on i386 and x86_64 sys *** 1539,1553 **** (densely packed decimal) format is default on PowerPC systems.

      !
      --enable-fixed-point
      !
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. This option is enabled by default for some targets (such as MIPS) which have hardware-support for fixed-point operations. On other targets, you may enable this option manually.

      !
      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected GNU/Linux architectures. If using --without-long-double-128, long double will be by default 64-bit, the same as double type. --- 1548,1562 ---- (densely packed decimal) format is default on PowerPC systems.

      !
      --enable-fixed-point
      !
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. This option is enabled by default for some targets (such as MIPS) which have hardware-support for fixed-point operations. On other targets, you may enable this option manually.

      !
      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected GNU/Linux architectures. If using --without-long-double-128, long double will be by default 64-bit, the same as double type. *************** When neither of these configure options *** 1556,1563 **** 64-bit long double otherwise.

      !
      --with-long-double-format=ibm
      !
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC --- 1565,1572 ---- 64-bit long double otherwise.

      !
      --with-long-double-format=ibm
      !
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC *************** the compiler using the --with-syst *** 1586,1604 **** will be generated.

      !
      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      !
      --with-gmp=pathname
      !
      --with-gmp-include=pathname
      !
      --with-gmp-lib=pathname
      !
      --with-mpfr=pathname
      !
      --with-mpfr-include=pathname
      !
      --with-mpfr-lib=pathname
      !
      --with-mpc=pathname
      !
      --with-mpc-include=pathname
      !
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR library and/or the MPC library installed in a standard location and do not have their sources present in the GCC source tree then you --- 1595,1613 ---- will be generated.

      !
      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      !
      --with-gmp=pathname
      !
      --with-gmp-include=pathname
      !
      --with-gmp-lib=pathname
      !
      --with-mpfr=pathname
      !
      --with-mpfr-include=pathname
      !
      --with-mpfr-lib=pathname
      !
      --with-mpc=pathname
      !
      --with-mpc-include=pathname
      !
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR library and/or the MPC library installed in a standard location and do not have their sources present in the GCC source tree then you *************** variable (LD_LIBRARY_PATH o *** 1625,1633 **** a cross compiler, they will not be used to configure target libraries.

      !
      --with-isl=pathname
      !
      --with-isl-include=pathname
      !
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you want to build GCC, you can explicitly specify the directory where it is installed (‘--with-isl=islinstalldir’). The --- 1634,1642 ---- a cross compiler, they will not be used to configure target libraries.

      !
      --with-isl=pathname
      !
      --with-isl-include=pathname
      !
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you want to build GCC, you can explicitly specify the directory where it is installed (‘--with-isl=islinstalldir’). The *************** include and lib options directly. *** 1641,1647 **** a cross compiler, they will not be used to configure target libraries.

      !
      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap. If --with-stage1-libs is not set to a --- 1650,1656 ---- a cross compiler, they will not be used to configure target libraries.

      !
      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap. If --with-stage1-libs is not set to a *************** value, then the default is ‘ *** 1649,1679 **** supported.

      !
      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap.

      !
      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking stage 2 and later when bootstrapping GCC. If –with-boot-libs is not is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’.

      !
      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 and later when bootstrapping GCC.

      !
      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when building runtime libraries. ‘map’ is a space-separated list of maps of the form ‘old=new’.

      !
      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable option), if the linker supports it. If you specify --- 1658,1688 ---- supported.

      !
      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap.

      !
      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking stage 2 and later when bootstrapping GCC. If –with-boot-libs is not is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’.

      !
      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 and later when bootstrapping GCC.

      !
      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when building runtime libraries. ‘map’ is a space-separated list of maps of the form ‘old=new’.

      !
      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable option), if the linker supports it. If you specify *************** support --build-id option, *** 1682,1702 **** --enable-linker-build-id option is ignored. The default is off.

      !
      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      !
      --enable-gnu-unique-object
      !
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template static data members and inline function local statics. Enabled by default for a toolchain with an assembler that accepts it and GLIBC 2.11 or above, otherwise disabled.

      !
      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ --- 1691,1711 ---- --enable-linker-build-id option is ignored. The default is off.

      !
      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      !
      --enable-gnu-unique-object
      !
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template static data members and inline function local statics. Enabled by default for a toolchain with an assembler that accepts it and GLIBC 2.11 or above, otherwise disabled.

      !
      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ *************** is present and non-empty in the environm *** 1706,1712 **** -fdiagnostics-color=never otherwise.

      !
      --with-diagnostics-urls=choice

      Tells GCC to use choice as the default for -fdiagnostics-urls= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ --- 1715,1721 ---- -fdiagnostics-color=never otherwise.

      !
      --with-diagnostics-urls=choice

      Tells GCC to use choice as the default for -fdiagnostics-urls= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ *************** or TERM_URLS is present and *** 1716,1729 **** compiler, and -fdiagnostics-urls=never otherwise.

      !
      --enable-lto
      !
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      !
      --enable-linker-plugin-configure-flags=FLAGS
      !
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the host system architecture. For the case that the linker has a different (but run-time compatible) architecture, these flags can be --- 1725,1738 ---- compiler, and -fdiagnostics-urls=never otherwise.

      !
      --enable-lto
      !
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      !
      --enable-linker-plugin-configure-flags=FLAGS
      !
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the host system architecture. For the case that the linker has a different (but run-time compatible) architecture, these flags can be *************** GNU/Linux (‘i686-pc-linux-gn *** 1734,1748 **** executable on the former system), you can configure GCC as follows for getting compatible linker plugins:

      !
      !
      % srcdir/configure \
            --host=x86_64-pc-linux-gnu \
            --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
            --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
        
      !
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with --- 1743,1757 ---- executable on the former system), you can configure GCC as follows for getting compatible linker plugins:

      !
      !
      % srcdir/configure \
            --host=x86_64-pc-linux-gnu \
            --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
            --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
        
      !
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with *************** version 2.20 or GNU ld starting with ver *** 1750,1757 **** See -fuse-linker-plugin for details.

      !
      --enable-canonical-system-headers
      !
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation --- 1759,1766 ---- See -fuse-linker-plugin for details.

      !
      --enable-canonical-system-headers
      !
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation *************** environments. Enabled by default, and m *** 1759,1765 **** --disable-canonical-system-headers.

      !
      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it will be version major.minor or later. Normally this can be detected from the C library’s header files, but this option may be --- 1768,1774 ---- --disable-canonical-system-headers.

      !
      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it will be version major.minor or later. Normally this can be detected from the C library’s header files, but this option may be *************** However, such configurations may not wor *** 1772,1789 **** configuration in GCC is on a per-multilib basis.

      !
      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      !
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. Offload compilers are expected to be already installed. Default search path for them is exec-prefix, but it can be changed by specifying paths path1, …, pathN.

      !
      !
      % srcdir/configure \
            --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none,hsa
        
      --- 1781,1798 ---- configuration in GCC is on a per-multilib basis.

      !
      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      !
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. Offload compilers are expected to be already installed. Default search path for them is exec-prefix, but it can be changed by specifying paths path1, …, pathN.

      !
      !
      % srcdir/configure \
            --enable-offload-targets=x86_64-intelmicemul-linux-gnu=/path/to/x86_64/compiler,nvptx-none,hsa
        
      *************** built with support for HSA GPU accelerat *** 1792,1800 **** compiler will emit the accelerator code, no path should be specified.

      !
      --with-hsa-runtime=pathname
      !
      --with-hsa-runtime-include=pathname
      !
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA run-time library installed in a standard location then you can --- 1801,1809 ---- compiler will emit the accelerator code, no path should be specified.

      !
      --with-hsa-runtime=pathname
      !
      --with-hsa-runtime-include=pathname
      !
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA run-time library installed in a standard location then you can *************** shorthand for *** 1805,1812 **** --with-hsa-runtime-include=hsainstalldir/include.

      !
      --enable-cet
      !
      --disable-cet

      Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured --- 1814,1821 ---- --with-hsa-runtime-include=hsainstalldir/include.

      !
      --enable-cet
      !
      --disable-cet

      Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured *************** In this case the target libraries are co *** 1820,1826 **** -fcf-protection option.

      !
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default

      Generate RISC-V attribute by default, in order to record extra build information in object.

      --- 1829,1835 ---- -fcf-protection option.

      !
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default

      Generate RISC-V attribute by default, in order to record extra build information in object.

      *************** target if target binutils supported. *** 1829,1845 ****

      !

      Cross-Compiler-Specific Options

      The following options only apply to building cross compilers.

      !
      --with-toolexeclibdir=dir

      Specify the installation directory for libraries built with a cross compiler. The default is ${gcc_tooldir}/lib.

      !
      --with-sysroot
      !
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. Target system headers, libraries and run-time object files will be --- 1838,1855 ----

      ! !

      Cross-Compiler-Specific Options

      The following options only apply to building cross compilers.

      !
      --with-toolexeclibdir=dir

      Specify the installation directory for libraries built with a cross compiler. The default is ${gcc_tooldir}/lib.

      !
      --with-sysroot
      !
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. Target system headers, libraries and run-time object files will be *************** option then the compiler will search tha *** 1863,1870 **** native system headers rather than the default /usr/include.

      !
      --with-build-sysroot
      !
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is --- 1873,1880 ---- native system headers rather than the default /usr/include.

      !
      --with-build-sysroot
      !
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is *************** option then the compiler will search tha *** 1882,1889 **** native system headers rather than the default /usr/include.

      !
      --with-headers
      !
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. The dir argument specifies a directory which has the target include --- 1892,1899 ---- native system headers rather than the default /usr/include.

      !
      --with-headers
      !
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. The dir argument specifies a directory which has the target include *************** pre-exist, the dir argument m *** 1895,1908 **** will be run on these files to make them compatible with GCC.

      !
      --without-headers

      Tells GCC not use any target headers from a libc when building a cross compiler. When crossing to GNU/Linux, you need the headers so GCC can build the exception handling for libgcc.

      !
      --with-libs
      !
      --with-libs="dir1 dir2dirN"

      Deprecated in favor of --with-sysroot. Specifies a list of directories which contain the target runtime libraries. These libraries will be copied into the gcc install --- 1905,1918 ---- will be run on these files to make them compatible with GCC.

      !
      --without-headers

      Tells GCC not use any target headers from a libc when building a cross compiler. When crossing to GNU/Linux, you need the headers so GCC can build the exception handling for libgcc.

      !
      --with-libs
      !
      --with-libs="dir1 dir2dirN"

      Deprecated in favor of --with-sysroot. Specifies a list of directories which contain the target runtime libraries. These libraries will be copied into the gcc install *************** directory. If the directory list is omi *** 1910,1916 **** effect.

      !
      --with-newlib

      Specifies that ‘newlib’ is being used as the target C library. This causes __eprintf to be omitted from libgcc.a on the assumption that it will be provided by --- 1920,1926 ---- effect.

      !
      --with-newlib

      Specifies that ‘newlib’ is being used as the target C library. This causes __eprintf to be omitted from libgcc.a on the assumption that it will be provided by *************** omitted from libgcc.a on th *** 1918,1924 ****

      !
      --with-avrlibc

      Only supported for the AVR target. Specifies that ‘AVR-Libc’ is being used as the target C  library. This causes float support functions like __addsf3 to be omitted from libgcc.a on --- 1928,1934 ----

      !
      --with-avrlibc

      Only supported for the AVR target. Specifies that ‘AVR-Libc’ is being used as the target C  library. This causes float support functions like __addsf3 to be omitted from libgcc.a on *************** RTEMS configurations, which currently us *** 1929,1936 **** supported since version 4.7.2 and is the default in 4.8.0 and newer.

      !
      --with-double={32|64|32,64|64,32}
      !
      --with-long-double={32|64|32,64|64,32|double}

      Only supported for the AVR target since version 10. Specify the default layout available for the C/C++ ‘double’ and ‘long double’ type, respectively. The following rules apply: --- 1939,1946 ---- supported since version 4.7.2 and is the default in 4.8.0 and newer.

      !
      --with-double={32|64|32,64|64,32}
      !
      --with-long-double={32|64|32,64|64,32|double}

      Only supported for the AVR target since version 10. Specify the default layout available for the C/C++ ‘double’ and ‘long double’ type, respectively. The following rules apply: *************** that ‘long double&rsq *** 1957,1963 **** 32 bits wide.

      !
      --with-double-comparison={tristate|bool|libf7}

      Only supported for the AVR target since version 10. Specify what result format is returned by library functions that compare 64-bit floating point values (DFmode). --- 1967,1973 ---- 32 bits wide.

      !
      --with-double-comparison={tristate|bool|libf7}

      Only supported for the AVR target since version 10. Specify what result format is returned by library functions that compare 64-bit floating point values (DFmode). *************** The GCC default is ‘tristate *** 1965,1971 **** implementation returns a boolean instead, set it to ‘bool’.

      !
      --with-libf7={libgcc|math|math-symbols|no}

      Only supported for the AVR target since version 10. Specify to which degree code from LibF7 is included in libgcc. LibF7 is an ad-hoc, AVR-specific, 64-bit floating point emulation --- 1975,1981 ---- implementation returns a boolean instead, set it to ‘bool’.

      !
      --with-libf7={libgcc|math|math-symbols|no}

      Only supported for the AVR target since version 10. Specify to which degree code from LibF7 is included in libgcc. LibF7 is an ad-hoc, AVR-specific, 64-bit floating point emulation *************** from elsewhere. This option sets *** 1981,1993 **** to ‘bool’.

      !
      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. This option is only supported for the NDS32 target.

      !
      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) that will be used while building GCC itself. This option can be useful if the directory layouts are different between the system you are building --- 1991,2003 ---- to ‘bool’.

      !
      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. This option is only supported for the NDS32 target.

      !
      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) that will be used while building GCC itself. This option can be useful if the directory layouts are different between the system you are building *************** tools. *** 2006,2012 ****

      !

      Overriding configure test results

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new --- 2016,2023 ----

    ! !

    Overriding configure test results

    Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new *************** system or work around a bug in a test. *** 2014,2031 **** script provides three variables for this:

    !
    build_configargs
    !

    The contents of this variable is passed to all build configure scripts.

    !
    host_configargs
    !

    The contents of this variable is passed to all host configure scripts.

    !
    target_configargs
    !

    The contents of this variable is passed to all target configure scripts.

    --- 2025,2045 ---- script provides three variables for this:

    !
    build_configargs
    !
    !

    The contents of this variable is passed to all build configure scripts.

    !
    host_configargs
    !
    !

    The contents of this variable is passed to all host configure scripts.

    !
    target_configargs
    !
    !

    The contents of this variable is passed to all target configure scripts.

    *************** scripts. *** 2035,2046 **** overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.

    !

    Objective-C-Specific Options

    The following options apply to the build of the Objective-C runtime library.

    !
    --enable-objc-gc

    Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (https://www.hboehm.info/gc/). This library needs to be --- 2049,2061 ---- overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.

    ! !

    Objective-C-Specific Options

    The following options apply to the build of the Objective-C runtime library.

    !
    --enable-objc-gc

    Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (https://www.hboehm.info/gc/). This library needs to be *************** additional runtime library is skipped wh *** 2050,2058 **** continues.

    !
    --with-target-bdw-gc=list
    !
    --with-target-bdw-gc-include=list
    !
    --with-target-bdw-gc-lib=list

    Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key --- 2065,2073 ---- continues.

    !
    --with-target-bdw-gc=list
    !
    --with-target-bdw-gc-include=list
    !
    --with-target-bdw-gc-lib=list

    Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key *************** default locations. *** 2071,2084 ****

    !

    D-Specific Options

    The following options apply to the build of the D runtime library.

    !
    --enable-libphobos-checking
    !
    --disable-libphobos-checking
    !
    --enable-libphobos-checking=list

    This option controls whether run-time checks and contracts are compiled into the D runtime library. When the option is not specified, the library is built with ‘release’ checking. When the option is specified without a --- 2086,2100 ----

    ! !

    D-Specific Options

    The following options apply to the build of the D runtime library.

    !
    --enable-libphobos-checking
    !
    --disable-libphobos-checking
    !
    --enable-libphobos-checking=list

    This option controls whether run-time checks and contracts are compiled into the D runtime library. When the option is not specified, the library is built with ‘release’ checking. When the option is specified without a *************** libphobos with -fno-release *** 2095,2102 **** with an extra option -fassert).

    !
    --with-libphobos-druntime-only
    !
    --with-libphobos-druntime-only=choice

    Specify whether to build only the core D runtime library (druntime), or both the core and standard library (phobos) into libphobos. This is useful for targets that have full support in druntime, but no or incomplete support --- 2111,2118 ---- with an extra option -fassert).

    !
    --with-libphobos-druntime-only
    !
    --with-libphobos-druntime-only=choice

    Specify whether to build only the core D runtime library (druntime), or both the core and standard library (phobos) into libphobos. This is useful for targets that have full support in druntime, but no or incomplete support *************** When the option is specified without a < *** 2109,2115 **** ‘--with-libphobos-druntime-only=yes’.

    !
    --with-target-system-zlib

    Use installed ‘zlib’ rather than that included with GCC. This needs to be available for each multilib variant, unless configured with --with-target-system-zlib=‘auto in which case the GCC included --- 2125,2131 ---- ‘--with-libphobos-druntime-only=yes’.

    !
    --with-target-system-zlib

    Use installed ‘zlib’ rather than that included with GCC. This needs to be available for each multilib variant, unless configured with --with-target-system-zlib=‘auto in which case the GCC included diff -Nrcpad gcc-10.4.0/INSTALL/download.html gcc-10.5.0/INSTALL/download.html *** gcc-10.4.0/INSTALL/download.html Tue Jun 28 08:55:11 2022 --- gcc-10.5.0/INSTALL/download.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Downloading GCC *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 74,81 **** ! !

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

    GCC is distributed via git and via HTTPS as tarballs compressed with gzip or bzip2. diff -Nrcpad gcc-10.4.0/INSTALL/finalinstall.html gcc-10.5.0/INSTALL/finalinstall.html *** gcc-10.4.0/INSTALL/finalinstall.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/finalinstall.html Fri Jul 7 07:08:59 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Final installation *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 80,87 ****

    Now that GCC has been built (and optionally tested), you can install it with !

    !
    cd objdir && make install
      

    We strongly recommend to install into a target directory where there is --- 86,93 ----

    Now that GCC has been built (and optionally tested), you can install it with !

    !
    cd objdir && make install
      

    We strongly recommend to install into a target directory where there is *************** binutils, including assembler and linker *** 113,120 ****

    Installation into a temporary staging area or into a chroot jail can be achieved with the command

    !
    !
    make DESTDIR=path-to-rootdir install
      

    where path-to-rootdir is the absolute path of --- 119,126 ----

    Installation into a temporary staging area or into a chroot jail can be achieved with the command

    !
    !
    make DESTDIR=path-to-rootdir install
      

    where path-to-rootdir is the absolute path of *************** using the DESTDIR feature. *** 133,140 ****

    You can install stripped programs and libraries with

    !
    !
    make install-strip
      

    If you are bootstrapping a released version of GCC then please --- 139,146 ----

    You can install stripped programs and libraries with

    !
    !
    make install-strip
      

    If you are bootstrapping a released version of GCC then please diff -Nrcpad gcc-10.4.0/INSTALL/gfdl.html gcc-10.5.0/INSTALL/gfdl.html *** gcc-10.4.0/INSTALL/gfdl.html Tue Jun 28 08:55:13 2022 --- gcc-10.5.0/INSTALL/gfdl.html Fri Jul 7 07:08:59 2023 *************** *** 1,8 **** - - - + + + Installing GCC: GNU Free Documentation License *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 84,90 ****

    Installing GCC: GNU Free Documentation License

    !
    Version 1.3, 3 November 2008
    --- 90,96 ----

    Installing GCC: GNU Free Documentation License

    !
    Version 1.3, 3 November 2008
    *************** provided the MMC is eligible for relicen *** 517,531 ****

  • !

    ADDENDUM: How to use this License for your documents

    To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

    !
    !
      Copyright (C)  year  your name.
        Permission is granted to copy, distribute and/or modify this document
        under the terms of the GNU Free Documentation License, Version 1.3
        or any later version published by the Free Software Foundation;
    --- 523,537 ----
      

    !

    ADDENDUM: How to use this License for your documents

    To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

    !
    !
      Copyright (C)  year  your name.
        Permission is granted to copy, distribute and/or modify this document
        under the terms of the GNU Free Documentation License, Version 1.3
        or any later version published by the Free Software Foundation;
    *************** license notices just after the title pag
    *** 537,544 ****
      

    If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with...Texts.” line with this:

    !
    !
        with the Invariant Sections being list their titles, with
          the Front-Cover Texts being list, and with the Back-Cover Texts
          being list.
      
    --- 543,550 ----

    If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with...Texts.” line with this:

    !
    !
        with the Invariant Sections being list their titles, with
          the Front-Cover Texts being list, and with the Back-Cover Texts
          being list.
      
    *************** to permit their use in free software. *** 558,564 ****

    Return to the GCC Installation page

    !
    --- 564,570 ----

    Return to the GCC Installation page

    !
    diff -Nrcpad gcc-10.4.0/INSTALL/index.html gcc-10.5.0/INSTALL/index.html *** gcc-10.4.0/INSTALL/index.html Tue Jun 28 08:55:11 2022 --- gcc-10.5.0/INSTALL/index.html Fri Jul 7 07:08:57 2023 *************** *** 1,8 **** - - - + + + Installing GCC *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** Free Documentation License”. *** 143,148 **** --- 149,155 ---- + diff -Nrcpad gcc-10.4.0/INSTALL/old.html gcc-10.5.0/INSTALL/old.html *** gcc-10.4.0/INSTALL/old.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/old.html Fri Jul 7 07:08:59 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Old documentation *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** the same as the host machine. *** 124,131 ****

    Here is an example:

    !
    !
    ./configure --host=sparc-sun-sunos4.1
      

    A configuration name may be canonical or it may be more or less --- 130,137 ----

    Here is an example:

    !
    !
    ./configure --host=sparc-sun-sunos4.1
      

    A configuration name may be canonical or it may be more or less *************** section before proceeding any further wi *** 151,158 ****

    !

    Configurations Supported by GCC

    !

    Here are the possible CPU types:

    --- 157,164 ----

    !

    Configurations Supported by GCC

    !

    Here are the possible CPU types:

    diff -Nrcpad gcc-10.4.0/INSTALL/prerequisites.html gcc-10.5.0/INSTALL/prerequisites.html *** gcc-10.4.0/INSTALL/prerequisites.html Tue Jun 28 08:55:11 2022 --- gcc-10.5.0/INSTALL/prerequisites.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Prerequisites for GCC *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 73,87 **** !

    GCC requires that various tools and packages be available for use in the build procedure. Modifying GCC sources requires additional tools described below.

    !

    Tools/packages necessary for building GCC

    !
    ISO C++98 compiler

    Necessary to bootstrap GCC, although versions of GCC prior to 4.8 also allow bootstrapping with a ISO C89 compiler and versions of GCC prior to 3.4 also allow bootstrapping with a traditional --- 79,94 ---- !

    GCC requires that various tools and packages be available for use in the build procedure. Modifying GCC sources requires additional tools described below.

    ! !

    Tools/packages necessary for building GCC

    !
    ISO C++98 compiler

    Necessary to bootstrap GCC, although versions of GCC prior to 4.8 also allow bootstrapping with a ISO C89 compiler and versions of GCC prior to 3.4 also allow bootstrapping with a traditional *************** bootstrapping the compiler with such ear *** 98,104 **** discouraged.

    !
    C standard library and headers

    In order to build GCC, the C standard library and headers must be present for all target variants for which target libraries will be built (and not --- 105,111 ---- discouraged.

    !
    C standard library and headers

    In order to build GCC, the C standard library and headers must be present for all target variants for which target libraries will be built (and not *************** name of the package depends on your dist *** 115,121 **** ‘fatal error: gnu/stubs-32.h: No such file

    !
    GNAT

    In order to build GNAT, the Ada compiler, you need a working GNAT compiler (GCC version 4.7 or later). --- 122,128 ---- ‘fatal error: gnu/stubs-32.h: No such file

    !
    GNAT

    In order to build GNAT, the Ada compiler, you need a working GNAT compiler (GCC version 4.7 or later). *************** by verifying that ‘gnatls -v *** 145,151 **** section.

    !
    A “working” POSIX compatible shell, or GNU bash

    Necessary when running configure because some /bin/sh shells have bugs and may crash when configuring the --- 152,158 ---- section.

    !
    A “working” POSIX compatible shell, or GNU bash

    Necessary when running configure because some /bin/sh shells have bugs and may crash when configuring the *************** environment to your “good” s *** 164,203 **** work when configuring GCC.

    !
    A POSIX or SVR4 awk

    Necessary for creating some of the generated source files for GCC. If in doubt, use a recent GNU awk version, as some of the older ones are broken. GNU awk version 3.1.5 is known to work.

    !
    GNU binutils

    Necessary in some circumstances, optional in others. See the host/target specific instructions for your platform for the exact requirements.

    !
    gzip version 1.2.4 (or later) or
    !
    bzip2 version 1.0.2 (or later)

    Necessary to uncompress GCC tar files when source code is obtained via HTTPS mirror sites.

    !
    GNU make version 3.80 (or later)

    You must have GNU make installed to build GCC.

    !
    GNU tar version 1.14 (or later)

    Necessary (only on some platforms) to untar the source code. Many systems’ tar programs will also work, only try GNU tar if you have problems.

    !
    Perl version between 5.6.1 and 5.6.24

    Necessary when targeting Darwin, building ‘libstdc++’, and not using --disable-symvers. --- 171,210 ---- work when configuring GCC.

    !
    A POSIX or SVR4 awk

    Necessary for creating some of the generated source files for GCC. If in doubt, use a recent GNU awk version, as some of the older ones are broken. GNU awk version 3.1.5 is known to work.

    !
    GNU binutils

    Necessary in some circumstances, optional in others. See the host/target specific instructions for your platform for the exact requirements.

    !
    gzip version 1.2.4 (or later) or
    !
    bzip2 version 1.0.2 (or later)

    Necessary to uncompress GCC tar files when source code is obtained via HTTPS mirror sites.

    !
    GNU make version 3.80 (or later)

    You must have GNU make installed to build GCC.

    !
    GNU tar version 1.14 (or later)

    Necessary (only on some platforms) to untar the source code. Many systems’ tar programs will also work, only try GNU tar if you have problems.

    !
    Perl version between 5.6.1 and 5.6.24

    Necessary when targeting Darwin, building ‘libstdc++’, and not using --disable-symvers. *************** support libraries then using those packa *** 226,232 **** install the libraries.

    !
    GNU Multiple Precision Library (GMP) version 4.3.2 (or later)

    Necessary to build GCC. If a GMP source distribution is found in a subdirectory of your GCC sources named gmp, it will be built --- 233,239 ---- install the libraries.

    !
    GNU Multiple Precision Library (GMP) version 4.3.2 (or later)

    Necessary to build GCC. If a GMP source distribution is found in a subdirectory of your GCC sources named gmp, it will be built *************** The in-tree build is only supported with *** 238,244 **** download_prerequisites installs.

    !
    MPFR Library version 3.1.0 (or later)

    Necessary to build GCC. It can be downloaded from https://www.mpfr.org. If an MPFR source distribution is found --- 245,251 ---- download_prerequisites installs.

    !
    MPFR Library version 3.1.0 (or later)

    Necessary to build GCC. It can be downloaded from https://www.mpfr.org. If an MPFR source distribution is found *************** The in-tree build is only supported with *** 251,257 **** download_prerequisites installs.

    !
    MPC Library version 1.0.1 (or later)

    Necessary to build GCC. It can be downloaded from http://www.multiprecision.org/mpc/. If an MPC source distribution --- 258,264 ---- download_prerequisites installs.

    !
    MPC Library version 1.0.1 (or later)

    Necessary to build GCC. It can be downloaded from http://www.multiprecision.org/mpc/. If an MPC source distribution *************** The in-tree build is only supported with *** 264,270 **** download_prerequisites installs.

    !
    isl Library version 0.15 or later.

    Necessary to build GCC with the Graphite loop optimizations. It can be downloaded from https://gcc.gnu.org/pub/gcc/infrastructure/. --- 271,277 ---- download_prerequisites installs.

    !
    isl Library version 0.15 or later.

    Necessary to build GCC with the Graphite loop optimizations. It can be downloaded from https://gcc.gnu.org/pub/gcc/infrastructure/. *************** option should be used if isl is not inst *** 275,281 **** search path.

    !
    zstd Library.

    Necessary to build GCC with zstd compression used for LTO bytecode. The library is searched in your default library patch search. --- 282,288 ---- search path.

    !
    zstd Library.

    Necessary to build GCC with zstd compression used for LTO bytecode. The library is searched in your default library patch search. *************** Alternatively, the --with-zstd

    !

    Tools/packages necessary for modifying GCC

    !
    autoconf version 2.69
    !
    GNU m4 version 1.4.6 (or later)

    Necessary when modifying configure.ac, aclocal.m4, etc. to regenerate configure and config.in files.

    !
    automake version 1.15.1

    Necessary when modifying a Makefile.am file to regenerate its associated Makefile.in. --- 291,307 ----

    ! !

    Tools/packages necessary for modifying GCC

    !
    autoconf version 2.69
    !
    GNU m4 version 1.4.6 (or later)

    Necessary when modifying configure.ac, aclocal.m4, etc. to regenerate configure and config.in files.

    !
    automake version 1.15.1

    Necessary when modifying a Makefile.am file to regenerate its associated Makefile.in. *************** to a newer version, please update all th *** 309,336 **** to the latest released version.

    !
    gettext version 0.14.5 (or later)

    Needed to regenerate gcc.pot.

    !
    gperf version 2.7.2 (or later)

    Necessary when modifying gperf input files, e.g. gcc/cp/cfns.gperf to regenerate its associated header file, e.g. gcc/cp/cfns.h.

    !
    DejaGnu 1.4.4
    !
    Expect
    !
    Tcl

    Necessary to run the GCC testsuite; see the section on testing for details.

    !
    autogen version 5.5.4 (or later) and
    !
    guile version 1.4.1 (or later)

    Necessary to regenerate fixinc/fixincl.x from fixinc/inclhack.def and fixinc/*.tpl. --- 317,344 ---- to the latest released version.

    !
    gettext version 0.14.5 (or later)

    Needed to regenerate gcc.pot.

    !
    gperf version 2.7.2 (or later)

    Necessary when modifying gperf input files, e.g. gcc/cp/cfns.gperf to regenerate its associated header file, e.g. gcc/cp/cfns.h.

    !
    DejaGnu 1.4.4
    !
    Expect
    !
    Tcl

    Necessary to run the GCC testsuite; see the section on testing for details.

    !
    autogen version 5.5.4 (or later) and
    !
    guile version 1.4.1 (or later)

    Necessary to regenerate fixinc/fixincl.x from fixinc/inclhack.def and fixinc/*.tpl. *************** details. *** 341,347 **** Makefile.tpl and Makefile.def.

    !
    Flex version 2.5.4 (or later)

    Necessary when modifying *.l files.

    --- 349,355 ---- Makefile.tpl and Makefile.def.

    !
    Flex version 2.5.4 (or later)

    Necessary when modifying *.l files.

    *************** files are not included in the version-co *** 350,356 **** They are included in releases.

    !
    Texinfo version 4.7 (or later)

    Necessary for running makeinfo when modifying *.texi files to test your changes. --- 358,364 ---- They are included in releases.

    !
    Texinfo version 4.7 (or later)

    Necessary for running makeinfo when modifying *.texi files to test your changes. *************** generated output files are not included *** 364,395 **** included in releases.

    !
    TeX (any working version)

    Necessary for running texi2dvi and texi2pdf, which are used when running make dvi or make pdf to create DVI or PDF files, respectively.

    !
    Sphinx version 1.0 (or later)

    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)

    Useful when submitting patches for the GCC source code.

    !
    patch version 2.5.4 (or later)

    Necessary when applying patches, created with diff, to one’s own sources. --- 372,403 ---- included in releases.

    !
    TeX (any working version)

    Necessary for running texi2dvi and texi2pdf, which are used when running make dvi or make pdf to create DVI or PDF files, respectively.

    !
    Sphinx version 1.0 (or later)

    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)

    Useful when submitting patches for the GCC source code.

    !
    patch version 2.5.4 (or later)

    Necessary when applying patches, created with diff, to one’s own sources. diff -Nrcpad gcc-10.4.0/INSTALL/specific.html gcc-10.5.0/INSTALL/specific.html *** gcc-10.4.0/INSTALL/specific.html Tue Jun 28 08:55:11 2022 --- gcc-10.5.0/INSTALL/specific.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Host/Target specific installation notes for GCC *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 80,90 **** ! ! ! ! !

    Please read this document carefully before installing the GNU Compiler Collection on your machine. --- 86,96 ---- ! ! ! ! !

    Please read this document carefully before installing the GNU Compiler Collection on your machine. *************** information have to. *** 174,180 ****


    !

    aarch64*-*-*

    Binutils pre 2.24 does not have support for selecting -mabi and does not support ILP32. If it is used to build GCC 4.9 or later, GCC will not support option -mabi=ilp32. --- 180,187 ----


    ! !

    aarch64*-*-*

    Binutils pre 2.24 does not have support for selecting -mabi and does not support ILP32. If it is used to build GCC 4.9 or later, GCC will not support option -mabi=ilp32. *************** protections by default. This mechanism *** 211,227 **** of the options are given at configure time.


    !

    alpha*-*-*

    This section contains general configuration information for all Alpha-based platforms using ELF. In addition to reading this section, please read all other sections that match your target.


    !

    amd64-*-solaris2*

    This is a synonym for ‘x86_64-*-solaris2*’.


    !

    amdgcn-*-amdhsa

    AMD GCN GPU target.

    Instead of GNU Binutils, you will need to install LLVM 6, or later, and copy --- 218,237 ---- of the options are given at configure time.


    ! !

    alpha*-*-*

    This section contains general configuration information for all Alpha-based platforms using ELF. In addition to reading this section, please read all other sections that match your target.


    ! !

    amd64-*-solaris2*

    This is a synonym for ‘x86_64-*-solaris2*’.


    ! !

    amdgcn-*-amdhsa

    AMD GCN GPU target.

    Instead of GNU Binutils, you will need to install LLVM 6, or later, and copy *************** section, please read all other sections *** 239,257 **** on the GPU.


    !

    arc-*-elf32

    Use ‘configure --target=arc-elf32 --with-cpu=cpu --enable-languages="c,c++"’ to configure GCC, with cpu being one of ‘arc600’, ‘arc601’, or ‘arc700’.


    !

    arc-linux-uclibc

    Use ‘configure --target=arc-linux-uclibc --with-cpu=arc700 --enable-languages="c,c++"’ to configure GCC.


    !

    arm-*-eabi

    ARM-family processors.

    Building the Ada frontend commonly fails (an infinite loop executing --- 249,270 ---- on the GPU.


    ! !

    arc-*-elf32

    Use ‘configure --target=arc-elf32 --with-cpu=cpu --enable-languages="c,c++"’ to configure GCC, with cpu being one of ‘arc600’, ‘arc601’, or ‘arc700’.


    ! !

    arc-linux-uclibc

    Use ‘configure --target=arc-linux-uclibc --with-cpu=arc700 --enable-languages="c,c++"’ to configure GCC.


    ! !

    arm-*-eabi

    ARM-family processors.

    Building the Ada frontend commonly fails (an infinite loop executing *************** or ‘arc700’. *** 259,265 **** GNAT 4.6, 4.9 or 5 release branches are known to succeed.


    !

    avr

    ATMEL AVR-family micro controllers. These are used in embedded applications. There are no standard Unix configurations. See “AVR Options” in the main manual --- 272,279 ---- GNAT 4.6, 4.9 or 5 release branches are known to succeed.


    ! !

    avr

    ATMEL AVR-family micro controllers. These are used in embedded applications. There are no standard Unix configurations. See “AVR Options” in the main manual *************** can also be obtained from: *** 276,289 ****

The following error: !

!
Error: register required
  

indicates that you should upgrade to a newer version of the binutils.


!

Blackfin

The Blackfin processor, an Analog Devices DSP. See “Blackfin Options” in the main manual

--- 290,304 ----

The following error: !

!
Error: register required
  

indicates that you should upgrade to a newer version of the binutils.


! !

Blackfin

The Blackfin processor, an Analog Devices DSP. See “Blackfin Options” in the main manual

*************** See “Blackfin Options” in th *** 291,297 **** are available at https://sourceforge.net/projects/adi-toolchain/.


!

CR16

The CR16 CompactRISC architecture is a 16-bit architecture. This architecture is used in embedded applications.

--- 306,313 ---- are available at https://sourceforge.net/projects/adi-toolchain/.


! !

CR16

The CR16 CompactRISC architecture is a 16-bit architecture. This architecture is used in embedded applications.

*************** GCC for building a CR16 elf cross-c *** 305,311 **** configure GCC for building a CR16 uclinux cross-compiler.


!

CRIS

CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip series. These are used in embedded applications.

--- 321,328 ---- configure GCC for building a CR16 uclinux cross-compiler.


! !

CRIS

CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip series. These are used in embedded applications.

*************** for a list of CRIS-specific options. *** 314,324 ****

There are a few different CRIS targets:

!
cris-axis-elf

Mainly for monolithic embedded systems. Includes a multilib for the ‘v10’ core used in ‘ETRAX 100 LX’.

!
cris-axis-linux-gnu

A GNU/Linux port for the CRIS architecture, currently targeting ‘ETRAX 100 LX’ by default.

--- 331,341 ----

There are a few different CRIS targets:

!
cris-axis-elf

Mainly for monolithic embedded systems. Includes a multilib for the ‘v10’ core used in ‘ETRAX 100 LX’.

!
cris-axis-linux-gnu

A GNU/Linux port for the CRIS architecture, currently targeting ‘ETRAX 100 LX’ by default.

*************** information about this platform is avail *** 330,336 **** http://developer.axis.com/.


!

DOS

Please have a look at the binaries page.

You cannot install GCC by itself on MSDOS; it will not compile under --- 347,354 ---- http://developer.axis.com/.


! !

DOS

Please have a look at the binaries page.

You cannot install GCC by itself on MSDOS; it will not compile under *************** compilation package DJGPP, which include *** 339,350 **** and includes all the necessary compilation tools and libraries.


!

epiphany-*-elf

Adapteva Epiphany. This configuration is intended for embedded systems.


!

*-*-freebsd*

Support for FreeBSD 1 was discontinued in GCC 3.2. Support for FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was discontinued in GCC 4.0. --- 357,370 ---- and includes all the necessary compilation tools and libraries.


! !

epiphany-*-elf

Adapteva Epiphany. This configuration is intended for embedded systems.


! !

*-*-freebsd*

Support for FreeBSD 1 was discontinued in GCC 3.2. Support for FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was discontinued in GCC 4.0. *************** properly on FreeBSD prior to the FreeBSD *** 379,390 **** after 2.16.1.


!

ft32-*-elf

The FT32 processor. This configuration is intended for embedded systems.


!

h8300-hms

Renesas H8/300 series of processors.

Please have a look at the binaries page. --- 399,412 ---- after 2.16.1.


! !

ft32-*-elf

The FT32 processor. This configuration is intended for embedded systems.


! !

h8300-hms

Renesas H8/300 series of processors.

Please have a look at the binaries page. *************** first three arguments in function calls *** 395,401 **** longer a multiple of 2 bytes.


!

hppa*-hp-hpux*

Support for HP-UX version 9 and older was discontinued in GCC 3.4.

We require using gas/binutils on all hppa platforms. Version 2.19 or --- 417,424 ---- longer a multiple of 2 bytes.


! !

hppa*-hp-hpux*

Support for HP-UX version 9 and older was discontinued in GCC 3.4.

We require using gas/binutils on all hppa platforms. Version 2.19 or *************** a list of the predefines used with each *** 445,451 ****

More specific information to ‘hppa*-hp-hpux*’ targets follows.


!

hppa*-hp-hpux10

For hpux10.20, we highly recommend you pick up the latest sed patch PHCO_19798 from HP.

--- 468,475 ----

More specific information to ‘hppa*-hp-hpux*’ targets follows.


! !

hppa*-hp-hpux10

For hpux10.20, we highly recommend you pick up the latest sed patch PHCO_19798 from HP.

*************** problems in using C++ on this target. H *** 455,461 **** with the one implemented under HP-UX 11 using secondary definitions.


!

hppa*-hp-hpux11

GCC 3.0 and up support HP-UX 11. GCC 2.95.x is not supported and cannot be used to compile GCC 3.0 and up.

--- 479,486 ---- with the one implemented under HP-UX 11 using secondary definitions.


! !

hppa*-hp-hpux11

GCC 3.0 and up support HP-UX 11. GCC 2.95.x is not supported and cannot be used to compile GCC 3.0 and up.

*************** versioning with --disable-symvers< *** 558,570 **** supported, so --enable-threads=dce does not work.


!

*-*-linux-gnu

Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present in glibc 2.2.5 and later. More information is available in the libstdc++-v3 documentation.


!

i?86-*-linux*

As of GCC 3.3, binutils 2.13.1 or later is required for this platform. See bug 10877 for more information.

--- 583,597 ---- supported, so --enable-threads=dce does not work.


! !

*-*-linux-gnu

Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present in glibc 2.2.5 and later. More information is available in the libstdc++-v3 documentation.


! !

i?86-*-linux*

As of GCC 3.3, binutils 2.13.1 or later is required for this platform. See bug 10877 for more information.

*************** possible you have a hardware problem. F *** 573,579 **** found on www.bitwizard.nl.


!

i?86-*-solaris2*

Use this for Solaris 11.3 or later on x86 and x86-64 systems. Starting with GCC 4.7, there is also a 64-bit ‘amd64-*-solaris2*’ or ‘x86_64-*-solaris2*’ configuration that corresponds to --- 600,607 ---- found on www.bitwizard.nl.


! !

i?86-*-solaris2*

Use this for Solaris 11.3 or later on x86 and x86-64 systems. Starting with GCC 4.7, there is also a 64-bit ‘amd64-*-solaris2*’ or ‘x86_64-*-solaris2*’ configuration that corresponds to *************** to configure with --without-gnu-ld *** 597,603 **** guarantee use of Solaris ld.


!

ia64-*-linux

IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux.

--- 625,632 ---- guarantee use of Solaris ld.


! !

ia64-*-linux

IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux.

*************** As of version 3.1 GCC is believed to be *** 615,621 **** more major ABI changes are expected.


!

ia64-*-hpux*

Building GCC on this target requires the GNU Assembler. The bundled HP assembler will not work. To prevent GCC from using the wrong assembler, the option --with-gnu-as may be necessary. --- 644,651 ---- more major ABI changes are expected.


! !

ia64-*-hpux*

Building GCC on this target requires the GNU Assembler. The bundled HP assembler will not work. To prevent GCC from using the wrong assembler, the option --with-gnu-as may be necessary. *************** removed and the system libunwind library *** 628,634 ****


!

*-ibm-aix*

Support for AIX version 3 and older was discontinued in GCC 3.4. Support for AIX version 4.2 and older was discontinued in GCC 4.5.

--- 658,665 ----


! !

*-ibm-aix*

Support for AIX version 3 and older was discontinued in GCC 3.4. Support for AIX version 4.2 and older was discontinued in GCC 4.5.

*************** with an earlier release of GCC is recomm *** 645,652 **** requires a larger data segment, which can be enabled through the LDR_CNTRL environment variable, e.g.,

!
!
% LDR_CNTRL=MAXDATA=0x50000000
  % export LDR_CNTRL
  
--- 676,683 ---- requires a larger data segment, which can be enabled through the LDR_CNTRL environment variable, e.g.,

!
!
% LDR_CNTRL=MAXDATA=0x50000000
  % export LDR_CNTRL
  
*************** with a version of GCC built for an earli *** 657,664 ****

To speed up the configuration phases of bootstrapping and installing GCC, one may use GNU Bash instead of AIX /bin/sh, e.g.,

!
!
% CONFIG_SHELL=/opt/freeware/bin/bash
  % export CONFIG_SHELL
  
--- 688,695 ----

To speed up the configuration phases of bootstrapping and installing GCC, one may use GNU Bash instead of AIX /bin/sh, e.g.,

!
!
% CONFIG_SHELL=/opt/freeware/bin/bash
  % export CONFIG_SHELL
  
*************** APAR IY26685 (AIX 4.3) or APAR IY25528 ( *** 708,714 **** fix for another AIX Assembler bug and a co-dependent AIX Archiver fix referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)

!

libstdc++’ in GCC 3.4 increments the major version number of the shared object and GCC installation places the libstdc++.a shared library in a common location which will overwrite the and GCC 3.3 version of the shared library. Applications either need to be --- 739,745 ---- fix for another AIX Assembler bug and a co-dependent AIX Archiver fix referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)

!

libstdc++’ in GCC 3.4 increments the major version number of the shared object and GCC installation places the libstdc++.a shared library in a common location which will overwrite the and GCC 3.3 version of the shared library. Applications either need to be *************** multilib libstdc++.a instal *** 722,741 ****

Extract the shared objects from the currently installed libstdc++.a archive: !

!
% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
  

Enable the ‘F_LOADONLY’ flag so that the shared object will be available for runtime dynamic loading, but not linking: !

!
% strip -e libstdc++.so.4 libstdc++.so.5
  

Archive the runtime-only shared object in the GCC 3.4 libstdc++.a archive: !

!
% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
  

Eventually, the --- 753,772 ----

Extract the shared objects from the currently installed libstdc++.a archive: !

!
% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
  

Enable the ‘F_LOADONLY’ flag so that the shared object will be available for runtime dynamic loading, but not linking: !

!
% strip -e libstdc++.so.4 libstdc++.so.5
  

Archive the runtime-only shared object in the GCC 3.4 libstdc++.a archive: !

!
% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
  

Eventually, the *************** environment variable to ‘C--with-cpu-cpu_type.


!

iq2000-*-elf

Vitesse IQ2000 processors. These are used in embedded applications. There are no standard Unix configurations.


!

lm32-*-elf

Lattice Mico32 processor. This configuration is intended for embedded systems.


!

lm32-*-uclinux

Lattice Mico32 processor. This configuration is intended for embedded systems running uClinux.


!

m32c-*-elf

Renesas M32C processor. This configuration is intended for embedded systems.


!

m32r-*-elf

Renesas M32R processor. This configuration is intended for embedded systems.


!

m68k-*-*

By default, ‘m68k-*-elf*’, ‘m68k-*-rtems’, ‘m68k-*-uclinux’ and ‘m68k-*-linux’ --- 823,860 ---- switch and using the configure option --with-cpu-cpu_type.


! !

iq2000-*-elf

Vitesse IQ2000 processors. These are used in embedded applications. There are no standard Unix configurations.


! !

lm32-*-elf

Lattice Mico32 processor. This configuration is intended for embedded systems.


! !

lm32-*-uclinux

Lattice Mico32 processor. This configuration is intended for embedded systems running uClinux.


! !

m32c-*-elf

Renesas M32C processor. This configuration is intended for embedded systems.


! !

m32r-*-elf

Renesas M32R processor. This configuration is intended for embedded systems.


! !

m68k-*-*

By default, ‘m68k-*-elf*’, ‘m68k-*-rtems’, ‘m68k-*-uclinux’ and ‘m68k-*-linux’ *************** be a -mcpu argument or one *** 843,861 ****

GCC requires at least binutils version 2.17 on these targets.


!

m68k-*-uclinux

GCC 4.3 changed the uClinux configuration so that it uses the ‘m68k-linux-gnu’ ABI rather than the ‘m68k-elf’ ABI. It also added improved support for C++ and flat shared libraries, both of which were ABI changes.


!

microblaze-*-elf

Xilinx MicroBlaze processor. This configuration is intended for embedded systems.


!

mips-*-*

If on a MIPS system you get an error message saying “does not have gp sections for all it’s [sic] sectons [sic]”, don’t worry about it. This happens whenever you use GAS with the MIPS linker, but there is not --- 880,901 ----

GCC requires at least binutils version 2.17 on these targets.


! !

m68k-*-uclinux

GCC 4.3 changed the uClinux configuration so that it uses the ‘m68k-linux-gnu’ ABI rather than the ‘m68k-elf’ ABI. It also added improved support for C++ and flat shared libraries, both of which were ABI changes.


! !

microblaze-*-elf

Xilinx MicroBlaze processor. This configuration is intended for embedded systems.


! !

mips-*-*

If on a MIPS system you get an error message saying “does not have gp sections for all it’s [sic] sectons [sic]”, don’t worry about it. This happens whenever you use GAS with the MIPS linker, but there is not *************** the use of break, use the --with-d *** 895,905 **** use traps on systems that support them.


!

moxie-*-elf

The moxie processor.


!

msp430-*-elf*

TI MSP430 processor. This configuration is intended for embedded systems.

--- 935,947 ---- use traps on systems that support them.


! !

moxie-*-elf

The moxie processor.


! !

msp430-*-elf*

TI MSP430 processor. This configuration is intended for embedded systems.

*************** in a minimal run-time environment by def *** 918,932 ****
!

nds32le-*-elf

Andes NDS32 target in little endian mode.


!

nds32be-*-elf

Andes NDS32 target in big endian mode.


!

nvptx-*-none

Nvidia PTX target.

Instead of GNU binutils, you will need to install --- 960,977 ----


! !

nds32le-*-elf

Andes NDS32 target in little endian mode.


! !

nds32be-*-elf

Andes NDS32 target in big endian mode.


! !

nvptx-*-none

Nvidia PTX target.

Instead of GNU binutils, you will need to install *************** the GCC sources. *** 944,966 **** --enable-newlib-io-long-long options when configuring.


!

or1k-*-elf

The OpenRISC 1000 32-bit processor with delay slots. This configuration is intended for embedded systems.


!

or1k-*-linux

The OpenRISC 1000 32-bit processor with delay slots.


!

powerpc-*-*

You can specify a default version for the -mcpu=cpu_type switch by using the configure option --with-cpu-cpu_type.

You will need GNU binutils 2.20 or newer.


!

powerpc-*-darwin*

PowerPC running Darwin (Mac OS X kernel).

Pre-installed versions of Mac OS X may not include any developer tools, --- 989,1015 ---- --enable-newlib-io-long-long options when configuring.


! !

or1k-*-elf

The OpenRISC 1000 32-bit processor with delay slots. This configuration is intended for embedded systems.


! !

or1k-*-linux

The OpenRISC 1000 32-bit processor with delay slots.


! !

powerpc-*-*

You can specify a default version for the -mcpu=cpu_type switch by using the configure option --with-cpu-cpu_type.

You will need GNU binutils 2.20 or newer.


! !

powerpc-*-darwin*

PowerPC running Darwin (Mac OS X kernel).

Pre-installed versions of Mac OS X may not include any developer tools, *************** cctools-590.36 package referenced from *** 974,1058 **** on systems older than 10.3.9 (aka darwin7.9.0).


!

powerpc-*-elf

PowerPC system in big endian mode, running System V.4.


!

powerpc*-*-linux-gnu*

PowerPC system in big endian mode running Linux.


!

powerpc-*-netbsd*

PowerPC system in big endian mode running NetBSD.


!

powerpc-*-eabisim

Embedded PowerPC system in big endian mode for use in running under the PSIM simulator.


!

powerpc-*-eabi

Embedded PowerPC system in big endian mode.


!

powerpcle-*-elf

PowerPC system in little endian mode, running System V.4.


!

powerpcle-*-eabisim

Embedded PowerPC system in little endian mode for use in running under the PSIM simulator.


!

powerpcle-*-eabi

Embedded PowerPC system in little endian mode.


!

rl78-*-elf

The Renesas RL78 processor. This configuration is intended for embedded systems.


!

riscv32-*-elf

The RISC-V RV32 instruction set. This configuration is intended for embedded systems. This (and all other RISC-V) targets require the binutils 2.30 release.


!

riscv32-*-linux

The RISC-V RV32 instruction set running GNU/Linux. This (and all other RISC-V) targets require the binutils 2.30 release.


!

riscv64-*-elf

The RISC-V RV64 instruction set. This configuration is intended for embedded systems. This (and all other RISC-V) targets require the binutils 2.30 release.


!

riscv64-*-linux

The RISC-V RV64 instruction set running GNU/Linux. This (and all other RISC-V) targets require the binutils 2.30 release.


!

rx-*-elf

The Renesas RX processor.


!

s390-*-linux*

S/390 system running GNU/Linux for S/390.


!

s390x-*-linux*

zSeries system (64-bit) running GNU/Linux for zSeries.


!

s390x-ibm-tpf*

zSeries system (64-bit) running TPF. This platform is supported as cross-compilation target only.


!

*-*-solaris2*

Support for Solaris 10 has been removed in GCC 10. Support for Solaris 9 has been removed in GCC 5. Support for Solaris 8 has been removed in GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6. --- 1023,1125 ---- on systems older than 10.3.9 (aka darwin7.9.0).


! !

powerpc-*-elf

PowerPC system in big endian mode, running System V.4.


! !

powerpc*-*-linux-gnu*

PowerPC system in big endian mode running Linux.


! !

powerpc-*-netbsd*

PowerPC system in big endian mode running NetBSD.


! !

powerpc-*-eabisim

Embedded PowerPC system in big endian mode for use in running under the PSIM simulator.


! !

powerpc-*-eabi

Embedded PowerPC system in big endian mode.


! !

powerpcle-*-elf

PowerPC system in little endian mode, running System V.4.


! !

powerpcle-*-eabisim

Embedded PowerPC system in little endian mode for use in running under the PSIM simulator.


! !

powerpcle-*-eabi

Embedded PowerPC system in little endian mode.


! !

rl78-*-elf

The Renesas RL78 processor. This configuration is intended for embedded systems.


! !

riscv32-*-elf

The RISC-V RV32 instruction set. This configuration is intended for embedded systems. This (and all other RISC-V) targets require the binutils 2.30 release.


! !

riscv32-*-linux

The RISC-V RV32 instruction set running GNU/Linux. This (and all other RISC-V) targets require the binutils 2.30 release.


! !

riscv64-*-elf

The RISC-V RV64 instruction set. This configuration is intended for embedded systems. This (and all other RISC-V) targets require the binutils 2.30 release.


! !

riscv64-*-linux

The RISC-V RV64 instruction set running GNU/Linux. This (and all other RISC-V) targets require the binutils 2.30 release.


! !

rx-*-elf

The Renesas RX processor.


! !

s390-*-linux*

S/390 system running GNU/Linux for S/390.


! !

s390x-*-linux*

zSeries system (64-bit) running GNU/Linux for zSeries.


! !

s390x-ibm-tpf*

zSeries system (64-bit) running TPF. This platform is supported as cross-compilation target only.


! !

*-*-solaris2*

Support for Solaris 10 has been removed in GCC 10. Support for Solaris 9 has been removed in GCC 5. Support for Solaris 8 has been removed in GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6. *************** you can install a pre-built GCC to boots *** 1067,1074 **** ‘libstdc++-v3’. We therefore recommend using the following initial sequence of commands

!
!
% CONFIG_SHELL=/bin/ksh
  % export CONFIG_SHELL
  
--- 1134,1141 ---- ‘libstdc++-v3’. We therefore recommend using the following initial sequence of commands

!
!
% CONFIG_SHELL=/bin/ksh
  % export CONFIG_SHELL
  
*************** need to provide a more recent one. *** 1125,1131 ****
!

sparc*-*-*

This section contains general configuration information for all SPARC-based platforms. In addition to reading this section, please read all other sections that match your target. --- 1192,1199 ----


! !

sparc*-*-*

This section contains general configuration information for all SPARC-based platforms. In addition to reading this section, please read all other sections that match your target. *************** of the exact versions of these libraries *** 1137,1143 **** in the prerequisites.


!

sparc-sun-solaris2*

When GCC is configured to use GNU binutils 2.14 or later, the binaries produced are smaller than the ones produced using Solaris native tools; this difference is quite significant for binaries containing debugging --- 1205,1212 ---- in the prerequisites.


! !

sparc-sun-solaris2*

When GCC is configured to use GNU binutils 2.14 or later, the binaries produced are smaller than the ones produced using Solaris native tools; this difference is quite significant for binaries containing debugging *************** target triplet must be specified as the *** 1157,1171 **** configure line. This target triplet can be obtained by invoking ./config.guess in the toplevel source directory of GCC (and not that of GMP or MPFR or MPC). For example on a Solaris 11 system:

!
!
% ./configure --build=sparc-sun-solaris2.11 --prefix=xxx
  

!

sparc-*-linux*


!

sparc64-*-solaris2*

When configuring a 64-bit-default GCC on Solaris/SPARC, you must use a build compiler that generates 64-bit code, either by default or by specifying ‘CC='gcc -m64' CXX='gcc-m64'’ to configure. --- 1226,1242 ---- configure line. This target triplet can be obtained by invoking ./config.guess in the toplevel source directory of GCC (and not that of GMP or MPFR or MPC). For example on a Solaris 11 system:

!
!
% ./configure --build=sparc-sun-solaris2.11 --prefix=xxx
  

! !

sparc-*-linux*


! !

sparc64-*-solaris2*

When configuring a 64-bit-default GCC on Solaris/SPARC, you must use a build compiler that generates 64-bit code, either by default or by specifying ‘CC='gcc -m64' CXX='gcc-m64'’ to configure. *************** library or the MPC library, the canonica *** 1178,1217 **** as the build parameter on the configure line. For example on a Solaris 11 system:

!
!
% ./configure --build=sparc64-sun-solaris2.11 --prefix=xxx
  

!

sparcv9-*-solaris2*

This is a synonym for ‘sparc64-*-solaris2*’.


!

c6x-*-*

The C6X family of processors. This port requires binutils-2.22 or newer.


!

tilegx-*-linux*

The TILE-Gx processor in little endian mode, running GNU/Linux. This port requires binutils-2.22 or newer.


!

tilegxbe-*-linux*

The TILE-Gx processor in big endian mode, running GNU/Linux. This port requires binutils-2.23 or newer.


!

tilepro-*-linux*

The TILEPro processor running GNU/Linux. This port requires binutils-2.22 or newer.


!

visium-*-elf

CDS VISIUMcore processor. This configuration is intended for embedded systems.


!

*-*-vxworks*

Support for VxWorks is in flux. At present GCC supports only the very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC. We welcome patches for other architectures supported by VxWorks 5.5. --- 1249,1295 ---- as the build parameter on the configure line. For example on a Solaris 11 system:

!
!
% ./configure --build=sparc64-sun-solaris2.11 --prefix=xxx
  

! !

sparcv9-*-solaris2*

This is a synonym for ‘sparc64-*-solaris2*’.


! !

c6x-*-*

The C6X family of processors. This port requires binutils-2.22 or newer.


! !

tilegx-*-linux*

The TILE-Gx processor in little endian mode, running GNU/Linux. This port requires binutils-2.22 or newer.


! !

tilegxbe-*-linux*

The TILE-Gx processor in big endian mode, running GNU/Linux. This port requires binutils-2.23 or newer.


! !

tilepro-*-linux*

The TILEPro processor running GNU/Linux. This port requires binutils-2.22 or newer.


! !

visium-*-elf

CDS VISIUMcore processor. This configuration is intended for embedded systems.


! !

*-*-vxworks*

Support for VxWorks is in flux. At present GCC supports only the very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC. We welcome patches for other architectures supported by VxWorks 5.5. *************** that file to add the module to your kern *** 1244,1257 **** VxWorks will incorporate this module.)


!

x86_64-*-*, amd64-*-*

GCC supports the x86-64 architecture implemented by the AMD64 processor (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD. On GNU/Linux the default is a bi-arch compiler which is able to generate both 64-bit x86-64 and 32-bit x86 code (via the -m32 switch).


!

x86_64-*-solaris2*

GCC also supports the x86-64 architecture implemented by the AMD64 processor (‘amd64-*-*’ is an alias for ‘x86_64-*-*’) on Solaris 10 or later. Unlike other systems, without special options a --- 1322,1337 ---- VxWorks will incorporate this module.)


! !

x86_64-*-*, amd64-*-*

GCC supports the x86-64 architecture implemented by the AMD64 processor (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD. On GNU/Linux the default is a bi-arch compiler which is able to generate both 64-bit x86-64 and 32-bit x86 code (via the -m32 switch).


! !

x86_64-*-solaris2*

GCC also supports the x86-64 architecture implemented by the AMD64 processor (‘amd64-*-*’ is an alias for ‘x86_64-*-*’) on Solaris 10 or later. Unlike other systems, without special options a *************** as 64-bit code, configure with --t *** 1264,1270 **** and ‘CC=gcc -m64’.


!

xtensa*-*-elf

This target is intended for embedded Xtensa systems using the ‘newlib’ C library. It uses ELF but does not support shared objects. Designed-defined instructions specified via the --- 1344,1351 ---- and ‘CC=gcc -m64’.


! !

xtensa*-*-elf

This target is intended for embedded Xtensa systems using the ‘newlib’ C library. It uses ELF but does not support shared objects. Designed-defined instructions specified via the *************** downloaded files include a customized co *** 1279,1285 **** which you can use to replace the default header file.


!

xtensa*-*-linux*

This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates position-independent code (PIC) regardless of whether the --- 1360,1367 ---- which you can use to replace the default header file.


! !

xtensa*-*-linux*

This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates position-independent code (PIC) regardless of whether the *************** respects, this target is the same as the *** 1288,1303 **** xtensa*-*-elf target.


!

Microsoft Windows

!

Intel 16-bit versions

The 16-bit versions of Microsoft Windows, such as Windows 3.1, are not supported.

However, the 32-bit port has limited support for Microsoft Windows 3.11 in the Win32s environment, as a target only. See below.

!

Intel 32-bit versions

The 32-bit versions of Windows, including Windows 95, Windows NT, Windows XP, and Windows Vista, are supported by several different target platforms. These targets differ in which Windows subsystem they target --- 1370,1388 ---- xtensa*-*-elf target.


! !

Microsoft Windows

! !

Intel 16-bit versions

The 16-bit versions of Microsoft Windows, such as Windows 3.1, are not supported.

However, the 32-bit port has limited support for Microsoft Windows 3.11 in the Win32s environment, as a target only. See below.

! !

Intel 32-bit versions

The 32-bit versions of Windows, including Windows 95, Windows NT, Windows XP, and Windows Vista, are supported by several different target platforms. These targets differ in which Windows subsystem they target *************** the Win32 subsystem that provides a subs *** 1312,1329 **** https://www.mkssoftware.com for more information. !

Intel 64-bit versions

GCC contains support for x86-64 using the mingw-w64 runtime library, available from http://mingw-w64.org/doku.php. This library should be used with the target triple x86_64-pc-mingw32.

Presently Windows for Itanium is not supported.

!

Windows CE

Windows CE is supported as a target only on Hitachi SuperH (sh-wince-pe), and MIPS (mips-wince-pe).

!

Other Windows Platforms

GCC no longer supports Windows NT on the Alpha or PowerPC.

GCC no longer supports the Windows POSIX subsystem. However, it does --- 1397,1417 ---- https://www.mkssoftware.com for more information. ! !

Intel 64-bit versions

GCC contains support for x86-64 using the mingw-w64 runtime library, available from http://mingw-w64.org/doku.php. This library should be used with the target triple x86_64-pc-mingw32.

Presently Windows for Itanium is not supported.

! !

Windows CE

Windows CE is supported as a target only on Hitachi SuperH (sh-wince-pe), and MIPS (mips-wince-pe).

! !

Other Windows Platforms

GCC no longer supports Windows NT on the Alpha or PowerPC.

GCC no longer supports the Windows POSIX subsystem. However, it does *************** be inactive. See

*-*-cygwin

Ports of GCC are included with the Cygwin environment.

--- 1425,1432 ----

UWIN support has been removed due to a lack of maintenance.


! !

*-*-cygwin

Ports of GCC are included with the Cygwin environment.

*************** the latest official GNU binutils release *** 1351,1363 **** or version 2.20 or above if building your own.


!

*-*-mingw32

GCC will build with and support only MinGW runtime 3.12 and later. Earlier versions of headers are incompatible with the new default semantics of extern inline in -std=c99 and -std=gnu99 modes.


!

Older systems

GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems has not been deliberately removed, but it has not been maintained for --- 1440,1454 ---- or version 2.20 or above if building your own.


! !

*-*-mingw32

GCC will build with and support only MinGW runtime 3.12 and later. Earlier versions of headers are incompatible with the new default semantics of extern inline in -std=c99 and -std=gnu99 modes.


! !

Older systems

GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems has not been deliberately removed, but it has not been maintained for *************** about GCC on such systems (which may no *** 1400,1406 **** current GCC) is to be found in the GCC texinfo manual.


!

all ELF targets (SVR4, Solaris 2, etc.)

C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of inlines, vtables and template instantiations will be discarded --- 1491,1498 ---- current GCC) is to be found in the GCC texinfo manual.


! !

all ELF targets (SVR4, Solaris 2, etc.)

C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of inlines, vtables and template instantiations will be discarded diff -Nrcpad gcc-10.4.0/INSTALL/test.html gcc-10.5.0/INSTALL/test.html *** gcc-10.4.0/INSTALL/test.html Tue Jun 28 08:55:12 2022 --- gcc-10.5.0/INSTALL/test.html Fri Jul 7 07:08:58 2023 *************** *** 1,8 **** - - - + + + Installing GCC: Testing *************** You have freedom to copy and modify this *** 29,52 **** - - --- 29,58 ---- *************** ul.no-bullet {list-style: none} *** 77,85 **** ! ! !

Before you install GCC, we encourage you to run the testsuites and to compare your results with results from a similar configuration that have --- 83,91 ---- ! ! !

Before you install GCC, we encourage you to run the testsuites and to compare your results with results from a similar configuration that have *************** installed are not in the PATH/usr/local):

!
!
TCL_LIBRARY = /usr/local/share/tcl8.0
  DEJAGNULIBS = /usr/local/share/dejagnu
  
--- 115,122 ---- environment variables appropriately, as in the following example (which assumes that DejaGnu has been installed under /usr/local):

!
!
TCL_LIBRARY = /usr/local/share/tcl8.0
  DEJAGNULIBS = /usr/local/share/dejagnu
  
*************** portability in the DejaGnu code.) *** 120,127 ****

Finally, you can run the testsuite (which may take a long time): !

!
cd objdir; make -k check
  

This will test various components of GCC, such as compiler --- 126,133 ----

Finally, you can run the testsuite (which may take a long time): !

!
cd objdir; make -k check
  

This will test various components of GCC, such as compiler *************** might emit some harmless messages resemb *** 133,139 ****

If you are testing a cross-compiler, you may want to run the testsuite on a simulator as described at http://gcc.gnu.org/simtest-howto.html.

!

How can you run the testsuite on selected tests?

In order to run sets of tests selectively, there are targets --- 139,145 ----

If you are testing a cross-compiler, you may want to run the testsuite on a simulator as described at http://gcc.gnu.org/simtest-howto.html.

!

How can you run the testsuite on selected tests?

In order to run sets of tests selectively, there are targets *************** just run ‘make check& *** 148,162 ****

A more selective way to just run all gcc execute tests in the testsuite is to use

!
!
make check-gcc RUNTESTFLAGS="execute.exp other-options"
  

Likewise, in order to run only the g++ “old-deja” tests in the testsuite with filenames matching ‘9805*’, you would use

!
!
make check-g++ RUNTESTFLAGS="old-deja.exp=9805* other-options"
  

The file-matching expression following filename.exp= is treated --- 154,168 ----

A more selective way to just run all gcc execute tests in the testsuite is to use

!
!
make check-gcc RUNTESTFLAGS="execute.exp other-options"
  

Likewise, in order to run only the g++ “old-deja” tests in the testsuite with filenames matching ‘9805*’, you would use

!
!
make check-g++ RUNTESTFLAGS="old-deja.exp=9805* other-options"
  

The file-matching expression following filename.exp= is treated *************** as a series of whitespace-delimited glob *** 164,171 **** may be passed, although any whitespace must either be escaped or surrounded by single quotes if multiple expressions are desired. For example,

!
!
make check-g++ RUNTESTFLAGS="old-deja.exp=9805*\ virtual2.c other-options"
  make check-g++ RUNTESTFLAGS="'old-deja.exp=9805* virtual2.c' other-options"
  
--- 170,177 ---- may be passed, although any whitespace must either be escaped or surrounded by single quotes if multiple expressions are desired. For example,

!
!
make check-g++ RUNTESTFLAGS="old-deja.exp=9805*\ virtual2.c other-options"
  make check-g++ RUNTESTFLAGS="'old-deja.exp=9805* virtual2.c' other-options"
  
*************** To get a list of the possible *.ex *** 176,183 **** output of ‘make check’ into a file and look at the ‘Running … .exp’ lines.

!
!

Passing options and running multiple testsuites

You can pass multiple options to the testsuite using the --- 182,188 ---- output of ‘make check’ into a file and look at the ‘Running … .exp’ lines.

!

Passing options and running multiple testsuites

You can pass multiple options to the testsuite using the *************** output of ‘make check *** 185,192 **** ‘RUNTESTFLAGS’, or directly to runtest if you prefer to work outside the makefiles. For example,

!
!
make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
  

will run the standard g++ testsuites (“unix” is the target name --- 190,197 ---- ‘RUNTESTFLAGS’, or directly to runtest if you prefer to work outside the makefiles. For example,

!
!
make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
  

will run the standard g++ testsuites (“unix” is the target name *************** slashes separate options. *** 197,212 ****

You can run the testsuites multiple times using combinations of options with a syntax similar to the brace expansion of popular shells:

!
!
…"--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O1,-O2,-O3,\}"
  

(Note the empty option caused by the trailing comma in the final group.) The following will run each testsuite eight times using the ‘arm-sim’ target, as if you had specified all possible combinations yourself:

!
!
--target_board='arm-sim/-mhard-float/-O1 \
                  arm-sim/-mhard-float/-O2 \
                  arm-sim/-mhard-float/-O3 \
                  arm-sim/-mhard-float \
--- 202,217 ----
  

You can run the testsuites multiple times using combinations of options with a syntax similar to the brace expansion of popular shells:

!
!
…"--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O1,-O2,-O3,\}"
  

(Note the empty option caused by the trailing comma in the final group.) The following will run each testsuite eight times using the ‘arm-sim’ target, as if you had specified all possible combinations yourself:

!
!
--target_board='arm-sim/-mhard-float/-O1 \
                  arm-sim/-mhard-float/-O2 \
                  arm-sim/-mhard-float/-O3 \
                  arm-sim/-mhard-float \
*************** target, as if you had specified all poss
*** 219,226 ****
  

They can be combined as many times as you wish, in arbitrary ways. This list:

!
!
…"--target_board=unix/-Wextra\{-O3,-fno-strength\}\{-fomit-frame,\}"
  

will generate four combinations, all involving ‘-Wextra’. --- 224,231 ----

They can be combined as many times as you wish, in arbitrary ways. This list:

!
!
…"--target_board=unix/-Wextra\{-O3,-fno-strength\}\{-fomit-frame,\}"
  

will generate four combinations, all involving ‘-Wextra’. *************** parallel by having the shell perform the *** 232,245 **** do the parallel runs. Instead of using ‘--target_board’, use a special makefile target:

!
!
make -jN check-testsuite//test-target/option1/option2/…
  

For example,

!
!
make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
  

will run three concurrent “make-gcc” testsuites, eventually testing all --- 237,250 ---- do the parallel runs. Instead of using ‘--target_board’, use a special makefile target:

!
!
make -jN check-testsuite//test-target/option1/option2/…
  

For example,

!
!
make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
  

will run three concurrent “make-gcc” testsuites, eventually testing all *************** supported in the gcc subdir *** 248,255 **** typing echo before the example given here.)

!
!

How to interpret test results

The result of running the testsuite are various *.sum and *.log --- 253,259 ---- typing echo before the example given here.)

!

How to interpret test results

The result of running the testsuite are various *.sum and *.log *************** over whether or not a test is expected t *** 274,288 **** be fixed in future releases.

!
!

Submitting test results

If you want to report the results to the GCC project, use the contrib/test_summary shell script. Start it in the objdir with

!
!
srcdir/contrib/test_summary -p your_commentary.txt \
      -m gcc-testresults@gcc.gnu.org |sh
  
--- 278,291 ---- be fixed in future releases.

!

Submitting test results

If you want to report the results to the GCC project, use the contrib/test_summary shell script. Start it in the objdir with

!
!
srcdir/contrib/test_summary -p your_commentary.txt \
      -m gcc-testresults@gcc.gnu.org |sh
  
*************** messages may be automatically processed. *** 303,309 **** !
--- 306,312 ---- !
diff -Nrcpad gcc-10.4.0/LAST_UPDATED gcc-10.5.0/LAST_UPDATED *** gcc-10.4.0/LAST_UPDATED Tue Jun 28 08:55:10 2022 --- gcc-10.5.0/LAST_UPDATED Fri Jul 7 07:08:57 2023 *************** *** 1 **** ! Obtained from git: releases/gcc-10.4.0 revision 7ff47281ce4f3699185b06a3430968eac2a5b0c6 --- 1 ---- ! Obtained from git: releases/gcc-10.5.0 revision d04fe5541c53cb16d1ca5c80da044b4c7633dbc6 diff -Nrcpad gcc-10.4.0/MD5SUMS gcc-10.5.0/MD5SUMS *** gcc-10.4.0/MD5SUMS Tue Jun 28 09:30:46 2022 --- gcc-10.5.0/MD5SUMS Fri Jul 7 07:23:52 2023 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-10.4.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-10.5.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 *************** d0320fa024ec213600ee6dbf489abd65 .gitig *** 17,43 **** fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 6e7d6bcd61dea315e12af0b56eaf1bea ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README ! 1c06be8540b85795303faa5186490767 INSTALL/binaries.html ! c3c421e1c73564e683d1912d09178242 INSTALL/build.html ! ed9ba39fdc63a2c6092487b0ecdb5f78 INSTALL/configure.html ! 71b5494f672ef1888930edbb71defbd9 INSTALL/download.html ! c330cfa3e24009efc60c76ccc852dbaa INSTALL/finalinstall.html ! 5786c31173880a7a14d83c2d3469623f INSTALL/gfdl.html ! f3c79bc16b7f61da06b42ab5d45d9925 INSTALL/index.html ! 45da48552d767144c7c59ff8cf78163b INSTALL/old.html ! e30701af4d51f69b6bb1c2eb4b70711e INSTALL/prerequisites.html ! e3f671ef58c9848f53e7ae123906a98c INSTALL/specific.html ! 85740f94bacd79a7e69e888dce5753de INSTALL/test.html ! d81345babf6e5cf3fa2115c5e7d28be5 LAST_UPDATED 4ccaac378eb9cf3fbfcf750473e826bf MAINTAINERS cb5edf936597133b680860a5356159ae Makefile.def 27d6ec707037e5745ef2223c4a3f9360 Makefile.in bd1b01226d5dc4857f2b8305a5af47b3 Makefile.tpl ! 87b17f3b6a94ff1d4ecfd1450bcfa7c0 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib 500b9244caa7a7ab23ece1db37efa76d compile --- 17,43 ---- fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! f15269999764549fd08edd68381450ea ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README ! e1c93ceda3bbe87922603d635c313b8f INSTALL/binaries.html ! bc73295b6d9e4f3d9b92938ec40eb31d INSTALL/build.html ! eb0f66c515f528168811009a95e6251f INSTALL/configure.html ! d9fd48c7e3572c71d29718a822559709 INSTALL/download.html ! cadabbcbc80839856a250fb9718edd4a INSTALL/finalinstall.html ! e9fe891b162f4aa1b9dd2f6d32b041b5 INSTALL/gfdl.html ! 79e8d9191ad9b199665b9926001d2395 INSTALL/index.html ! 63764c6d871b587581a99d935f33bf5a INSTALL/old.html ! 9a15ddbf1b6937ce25f38e1ff5e1b54c INSTALL/prerequisites.html ! b837a1e2fb39ecd453886d9ca05a2786 INSTALL/specific.html ! aa64c5e8c1a4235d4d6ff2b96321a4a1 INSTALL/test.html ! 8353b940c4cc902cb9db9d83d4f78090 LAST_UPDATED 4ccaac378eb9cf3fbfcf750473e826bf MAINTAINERS cb5edf936597133b680860a5356159ae Makefile.def 27d6ec707037e5745ef2223c4a3f9360 Makefile.in bd1b01226d5dc4857f2b8305a5af47b3 Makefile.tpl ! 079381ccd71fd5136609acd03db878b1 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib 500b9244caa7a7ab23ece1db37efa76d compile *************** a657821f65bab77f4fbf3a75cdee6da9 ar-lib *** 45,51 **** b3c47a769a12794661355d3a5dcfeb3d config.guess 040359150cf11493f973a46d8a25b06b config.rpath 8172cd8087c91ceb16a61a62c9d71ff1 config.sub ! ff300defbb21c05e66db2573ed302d6c config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 2ea0edfde0ce5ce69b49317a5650f048 config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 --- 45,51 ---- b3c47a769a12794661355d3a5dcfeb3d config.guess 040359150cf11493f973a46d8a25b06b config.rpath 8172cd8087c91ceb16a61a62c9d71ff1 config.sub ! f02e15b933bffea246193ba5a6b0e39d config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 2ea0edfde0ce5ce69b49317a5650f048 config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 *************** e2dc6b4fd62b77bff96b7951ef74f78f config *** 144,150 **** 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 c009c02627e52f6da0c8e85d79a04f79 configure 6503b83e283382eb3d11c0fbe430c34d configure.ac ! 87122df5eb58027c04140aeebf9d7cc2 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 8498c0cdfe3f444ad6f540ec9e11cbec contrib/analyze_brprob.py --- 144,150 ---- 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 c009c02627e52f6da0c8e85d79a04f79 configure 6503b83e283382eb3d11c0fbe430c34d configure.ac ! 35f3c8600296c6114a246c2ccd3b4659 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 8498c0cdfe3f444ad6f540ec9e11cbec contrib/analyze_brprob.py *************** e9bac7c82bdb5f92b354d9da854d463b contri *** 197,203 **** e462c83bdf45bf6e9b434d18fa9f66e4 contrib/git-fix-changelog.py 6996a054c7e7aaf9f27737c3d6f2518c contrib/git-undescr.sh 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! c7f6fe6c2886edd657b64d6ee05262b7 contrib/header-tools/ChangeLog 4f7d3bf5dd67c6b144a7a1ea0bb4127b contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers --- 197,203 ---- e462c83bdf45bf6e9b434d18fa9f66e4 contrib/git-fix-changelog.py 6996a054c7e7aaf9f27737c3d6f2518c contrib/git-undescr.sh 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! 6f2ecb3c1fc55e5d647446655b953078 contrib/header-tools/ChangeLog 4f7d3bf5dd67c6b144a7a1ea0bb4127b contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers *************** a34668cfad9dec733354503fbc67fb24 contri *** 222,228 **** 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh 6bc8415291f74dbbb7994622ca9a7b28 contrib/prerequisites.md5 2a7fbcbf9b708ecbd31408646f9dd122 contrib/prerequisites.sha512 ! 7a3164f3afed40fdc6289071ec5aca65 contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup --- 222,228 ---- 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh 6bc8415291f74dbbb7994622ca9a7b28 contrib/prerequisites.md5 2a7fbcbf9b708ecbd31408646f9dd122 contrib/prerequisites.sha512 ! 04ec408787ae53bb825ad03bbadfe536 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 *** 281,287 **** e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 2edae0119f89aea8085486504b8914cd 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 --- 281,287 ---- e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 6a7742d3cd037de7dc8fddde12385e03 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 *************** a0d12be401961a2557883b7c09dc71eb contri *** 321,327 **** b99476ca28b484080c3ec5916a9ca3f9 contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! be878b66d84566f7311647d0ae4cfec9 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 321,327 ---- b99476ca28b484080c3ec5916a9ca3f9 contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! 0332a69d2a916ea43ff8184508e5c572 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** a319a505bde6920ddb4832cf41af3488 fixinc *** 334,346 **** a316c9d3351e61998fa688dceaf610a3 fixincludes/fixinc.in 1582ffd94ecc91318eebfb3b81e0bcb1 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! bb41b0e72c13cc48dbbf422a053f1f1b fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! 1be7b0f7be966d43d28d793c9400876d fixincludes/inclhack.def dd5ae70d9f725bcaf2a15212782db49a fixincludes/mkfixinc.sh 516608ac1550577d47f48809bb512629 fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c --- 334,346 ---- a316c9d3351e61998fa688dceaf610a3 fixincludes/fixinc.in 1582ffd94ecc91318eebfb3b81e0bcb1 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! 22e58e1d30f83cb5b68bdf5f5e493c66 fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! 11f3d003d0f63c413bf70bbc1c8ec496 fixincludes/inclhack.def dd5ae70d9f725bcaf2a15212782db49a fixincludes/mkfixinc.sh 516608ac1550577d47f48809bb512629 fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c *************** d2cbc665e9046f8acb42c1271592be47 fixinc *** 396,401 **** --- 396,402 ---- a911f5fbb127353024e77149fcf90596 fixincludes/tests/base/netdnet/dnetdb.h f690db296a82aeefa0bfe9ad74a2b71c fixincludes/tests/base/netinet/in.h 2649ccca3396541aeb5e612d4b4a3141 fixincludes/tests/base/netinet/ip.h + 209cd203eddb99971d08755fd4912558 fixincludes/tests/base/objc/runtime.h f4a72388e98f34c098a3467dce9aa4e1 fixincludes/tests/base/obstack.h c213736f179d8de08a09a9278e048d91 fixincludes/tests/base/os/availability.h c3da2b1720112f2adb1c2bbf65563364 fixincludes/tests/base/os/base.h *************** d2f1ddef1ca3edae298e37f7bc892941 fixinc *** 428,434 **** 563eddf934e21ec7f85628e18fb1c641 fixincludes/tests/base/stdint-hpux11.h cc3783f241fa992a305aced8e1195ee9 fixincludes/tests/base/stdint-newlib.h 1ee4e2b61ae5781d35271f3181927037 fixincludes/tests/base/stdint.h ! d47412644cdea4f030ba2744eca6d8ad fixincludes/tests/base/stdio.h 1887d8bc1711dae9922852cda6027877 fixincludes/tests/base/stdio_tag.h 63b7afc35517454fd4753b811e9b6e2e fixincludes/tests/base/stdlib.h 42a7de17fb8f2ac74bc30c7029199637 fixincludes/tests/base/string.h --- 429,435 ---- 563eddf934e21ec7f85628e18fb1c641 fixincludes/tests/base/stdint-hpux11.h cc3783f241fa992a305aced8e1195ee9 fixincludes/tests/base/stdint-newlib.h 1ee4e2b61ae5781d35271f3181927037 fixincludes/tests/base/stdint.h ! df6201177ee6354a4bb61b84de3f16b6 fixincludes/tests/base/stdio.h 1887d8bc1711dae9922852cda6027877 fixincludes/tests/base/stdio_tag.h 63b7afc35517454fd4753b811e9b6e2e fixincludes/tests/base/stdlib.h 42a7de17fb8f2ac74bc30c7029199637 fixincludes/tests/base/string.h *************** a5e817d35ded04a0fb03999b50c0e89e fixinc *** 461,472 **** 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 1ce72cc651f747fb639548ef7ebd9343 gcc/ABOUT-GCC-NLS ! 959d4d8d0d62b27e19b225036300d43d gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 17166c1f8c276093a40eedac8d6d75e0 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 --- 462,473 ---- 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 1ce72cc651f747fb639548ef7ebd9343 gcc/ABOUT-GCC-NLS ! 9853d83f7149652f91ed075f16e8ed03 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! dc8bdb11b05657b38d973c52b2d8ec83 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 *************** fb3fadb88e1d2b3b640cfaaa5ff11780 gcc/Ch *** 498,504 **** 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! 769f536015269fbdf03c8015200f7fe6 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 --- 499,505 ---- 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! f9020cecc8487ee2ed93ddc6a32bdf05 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 *************** ec6799501b2eb2923d5de6a66169dbd2 gcc/ON *** 509,515 **** b23b4202aae37888126f4e47d40b8fe9 gcc/README.Portability 44bcc4f9a8803d3dcc72b217421afef0 gcc/acinclude.m4 6879fc308101ea4a52d17fb89e463ec2 gcc/aclocal.m4 ! cec47ed31dbe78ce8e7ccdae94fc0621 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 --- 510,516 ---- b23b4202aae37888126f4e47d40b8fe9 gcc/README.Portability 44bcc4f9a8803d3dcc72b217421afef0 gcc/acinclude.m4 6879fc308101ea4a52d17fb89e463ec2 gcc/aclocal.m4 ! d5248a71ab11fef323f181cb13fb6110 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 *************** bf97b7f8e6545014e1b279ad0d620c83 gcc/ad *** 2700,2706 **** 08e25cef2848d0514379987946b6ca3a gcc/align.h c7cfb5850156fc8afe634563752d95a3 gcc/alloc-pool.c ee7f0ff2bee3fadcdee7a89a27acb71b gcc/alloc-pool.h ! fd6fa16abdfb5ce97cc21cc642d83357 gcc/analyzer/ChangeLog 77136ce027aa1a848c103c22012f4981 gcc/analyzer/analysis-plan.cc 1584264752cd434a0710f577b0dfa611 gcc/analyzer/analysis-plan.h 3a2b0d98433a870a9557dfdce96f66a9 gcc/analyzer/analyzer-logging.cc --- 2701,2707 ---- 08e25cef2848d0514379987946b6ca3a gcc/align.h c7cfb5850156fc8afe634563752d95a3 gcc/alloc-pool.c ee7f0ff2bee3fadcdee7a89a27acb71b gcc/alloc-pool.h ! 164d4580f3440f874a5c910642fcd9c2 gcc/analyzer/ChangeLog 77136ce027aa1a848c103c22012f4981 gcc/analyzer/analysis-plan.cc 1584264752cd434a0710f577b0dfa611 gcc/analyzer/analysis-plan.h 3a2b0d98433a870a9557dfdce96f66a9 gcc/analyzer/analyzer-logging.cc *************** d8c9aff92756dfb6bea625ad3991c6f4 gcc/an *** 2749,2755 **** 7fb862b48294ed6a0179f1e37e83e379 gcc/analyzer/supergraph.cc ae73cd9f21809df4536e52b1d362b94e gcc/analyzer/supergraph.h d311c2d7a0c5f301689d9840cec0a20a gcc/array-traits.h ! 855ead6b447cf993204b6628d0513f9f gcc/asan.c a2de801369a7f06644ece2df336529f1 gcc/asan.h 3c3a488f40039a38b62b0caa467387ae gcc/attribs.c f2cd647934c49497538483a30bc682d0 gcc/attribs.h --- 2750,2756 ---- 7fb862b48294ed6a0179f1e37e83e379 gcc/analyzer/supergraph.cc ae73cd9f21809df4536e52b1d362b94e gcc/analyzer/supergraph.h d311c2d7a0c5f301689d9840cec0a20a gcc/array-traits.h ! 02e6e8512a03a701b50e51392c53ddb4 gcc/asan.c a2de801369a7f06644ece2df336529f1 gcc/asan.h 3c3a488f40039a38b62b0caa467387ae gcc/attribs.c f2cd647934c49497538483a30bc682d0 gcc/attribs.h *************** f2cd647934c49497538483a30bc682d0 gcc/at *** 2758,2769 **** 99bc5c71d5fb4bf69a5e455f79128f74 gcc/auto-profile.h d9b93533583bd6d03ba50eb7ced289ec gcc/backend.h 5f05e2acbb25d4424e645fa90160db40 gcc/basic-block.h ! cf933c0e81e09ddcb384623eb6340d83 gcc/bb-reorder.c 18054ed38369e095ba2ef32684fd9dc2 gcc/bb-reorder.h f7b5eb17081fd36741c37e2fbae07255 gcc/bitmap.c 18c3da3fab8c769aed98aa69a2c72082 gcc/bitmap.h aa400898daf96dc45fdd63ffc02e43d9 gcc/brig-builtins.def ! 0920e3ba1195fa5dd5240b3526e643f8 gcc/brig/ChangeLog bab627d6443c1a1acc88dda9e6f6e709 gcc/brig/Make-lang.in 0b230923a4c2c3af6b4d7ce68c999bb7 gcc/brig/brig-builtins.h 774fc3b6756369a6579cac74f64c911f gcc/brig/brig-c.h --- 2759,2770 ---- 99bc5c71d5fb4bf69a5e455f79128f74 gcc/auto-profile.h d9b93533583bd6d03ba50eb7ced289ec gcc/backend.h 5f05e2acbb25d4424e645fa90160db40 gcc/basic-block.h ! 3b5f05b5bd5014ce7e1fd998b41cd77e gcc/bb-reorder.c 18054ed38369e095ba2ef32684fd9dc2 gcc/bb-reorder.h f7b5eb17081fd36741c37e2fbae07255 gcc/bitmap.c 18c3da3fab8c769aed98aa69a2c72082 gcc/bitmap.h aa400898daf96dc45fdd63ffc02e43d9 gcc/brig-builtins.def ! 1d70272bc6fc6a16566a43894646d407 gcc/brig/ChangeLog bab627d6443c1a1acc88dda9e6f6e709 gcc/brig/Make-lang.in 0b230923a4c2c3af6b4d7ce68c999bb7 gcc/brig/brig-builtins.h 774fc3b6756369a6579cac74f64c911f gcc/brig/brig-c.h *************** df2479761de54ed90a98e54f52fb50a2 gcc/br *** 2806,2820 **** 0d1a99c0e202b680ee608858701de0bf gcc/brig/lang.opt d3b19e5439825080ec7a33d50b0068df gcc/builtin-attrs.def 1be7e27be346b87cc4427d231810a8eb gcc/builtin-types.def ! a53ce347ce39cc70a2a3d5766b7f96fc gcc/builtins.c cf87a3e542aeb250ce5b39931e715fcd gcc/builtins.def 2ecd530cb8252acf75726a9febdb44db gcc/builtins.h ! c646c5262db075984549d61c313049e1 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes 15beccd0d77567834582c6b0c51fd52a gcc/c-family/c-ada-spec.c 5dc1afd075cf7eaa7849b1835aaf5151 gcc/c-family/c-ada-spec.h 9d64ecd919e42f1fb8fedbf776b6a3bb gcc/c-family/c-attribs.c ! 74df8819e134ed94a6f76aee45691be3 gcc/c-family/c-common.c 0c8a813eb65969867173b24c30327a76 gcc/c-family/c-common.def ef53645c9103d1b6ceaf102c3a883946 gcc/c-family/c-common.h d5f855d41dfcb98f0d6feb33202debad gcc/c-family/c-cppbuiltin.c --- 2807,2821 ---- 0d1a99c0e202b680ee608858701de0bf gcc/brig/lang.opt d3b19e5439825080ec7a33d50b0068df gcc/builtin-attrs.def 1be7e27be346b87cc4427d231810a8eb gcc/builtin-types.def ! 40ae33fb34c1cd3a5a1480de82ff2766 gcc/builtins.c cf87a3e542aeb250ce5b39931e715fcd gcc/builtins.def 2ecd530cb8252acf75726a9febdb44db gcc/builtins.h ! 49bab4976d979467258a37d3028cf468 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes 15beccd0d77567834582c6b0c51fd52a gcc/c-family/c-ada-spec.c 5dc1afd075cf7eaa7849b1835aaf5151 gcc/c-family/c-ada-spec.h 9d64ecd919e42f1fb8fedbf776b6a3bb gcc/c-family/c-attribs.c ! ae4aad8eb094359b73eb250d530ffe29 gcc/c-family/c-common.c 0c8a813eb65969867173b24c30327a76 gcc/c-family/c-common.def ef53645c9103d1b6ceaf102c3a883946 gcc/c-family/c-common.h d5f855d41dfcb98f0d6feb33202debad gcc/c-family/c-cppbuiltin.c *************** fc14322847441cb3667440bc87da3b52 gcc/c- *** 2840,2855 **** bfd80d2148106bac1d05ea7c2b9411eb gcc/c-family/c-target-def.h 7242045cebb1e11387757265413d5251 gcc/c-family/c-target.def 2aa125b135889f7a2184e6c67397c8cb gcc/c-family/c-target.h ! 4dabf2f881abddea3da78ee7e6183342 gcc/c-family/c-ubsan.c 7cf91a9589ce350e33ba2b47bb1a325f gcc/c-family/c-ubsan.h ! a16f65c4674ae5b380d92da924474737 gcc/c-family/c-warn.c a963b4151ab066656972c16278375da4 gcc/c-family/c.opt b43dece1279b57c11814d52a65e6b6ea gcc/c-family/cppspec.c 5c832c1af744d342632adae122b0c3ab gcc/c-family/known-headers.cc 01877474441e3959ec1e408406d4474a gcc/c-family/known-headers.h 9a481669d5130c0d3aa82564914e7783 gcc/c-family/name-hint.h 1773a72e335345c533ee83230093bc6c gcc/c-family/stub-objc.c ! 1a7731d4bfb67c7da261f41829b96acd gcc/c/ChangeLog f6929faadb53d5b9422199d45077f288 gcc/c/Make-lang.in 126762639055b3b1b86e5d430aa07db1 gcc/c/c-aux-info.c e377a3eb832170e8484be76c63e35536 gcc/c/c-convert.c --- 2841,2856 ---- bfd80d2148106bac1d05ea7c2b9411eb gcc/c-family/c-target-def.h 7242045cebb1e11387757265413d5251 gcc/c-family/c-target.def 2aa125b135889f7a2184e6c67397c8cb gcc/c-family/c-target.h ! e98526fa9fa6aa7eb776f14e387b69f0 gcc/c-family/c-ubsan.c 7cf91a9589ce350e33ba2b47bb1a325f gcc/c-family/c-ubsan.h ! 0a28901b4f3b24a889a2b7ddbac2bc3f gcc/c-family/c-warn.c a963b4151ab066656972c16278375da4 gcc/c-family/c.opt b43dece1279b57c11814d52a65e6b6ea gcc/c-family/cppspec.c 5c832c1af744d342632adae122b0c3ab gcc/c-family/known-headers.cc 01877474441e3959ec1e408406d4474a gcc/c-family/known-headers.h 9a481669d5130c0d3aa82564914e7783 gcc/c-family/name-hint.h 1773a72e335345c533ee83230093bc6c gcc/c-family/stub-objc.c ! 65aedd15a7dedcefbfc2ae5716be5d65 gcc/c/ChangeLog f6929faadb53d5b9422199d45077f288 gcc/c/Make-lang.in 126762639055b3b1b86e5d430aa07db1 gcc/c/c-aux-info.c e377a3eb832170e8484be76c63e35536 gcc/c/c-convert.c *************** ae73260f7f31cd757ce5b67753166db3 gcc/c/ *** 2860,2869 **** 8ff8157204a8c00a98837c8c608eb8d3 gcc/c/c-lang.h a923e8ff4b2e324962750726e86ee483 gcc/c/c-objc-common.c b99037c5342efcb88c484e69767809b8 gcc/c/c-objc-common.h ! 6a6621ec4fe222932af0d82dc0c81dee gcc/c/c-parser.c 4e3cefb76c65add787d87d68751b1a07 gcc/c/c-parser.h e9fc075c7931d694d1792d63eec30240 gcc/c/c-tree.h ! 37e5340a4ac0aaf918f5ec5b75fd62f2 gcc/c/c-typeck.c c775f0b0fdab664f9af6d91c50d00bf1 gcc/c/config-lang.in 315c046f9a968d163b235879526db9de gcc/c/gccspec.c 810ad966d180268d4d993296f973dd2a gcc/c/gimple-parser.c --- 2861,2870 ---- 8ff8157204a8c00a98837c8c608eb8d3 gcc/c/c-lang.h a923e8ff4b2e324962750726e86ee483 gcc/c/c-objc-common.c b99037c5342efcb88c484e69767809b8 gcc/c/c-objc-common.h ! f22b35bf1222b603340df8b3ddf7d118 gcc/c/c-parser.c 4e3cefb76c65add787d87d68751b1a07 gcc/c/c-parser.h e9fc075c7931d694d1792d63eec30240 gcc/c/c-tree.h ! b49a24d03acea3cd87ee031770b16af8 gcc/c/c-typeck.c c775f0b0fdab664f9af6d91c50d00bf1 gcc/c/config-lang.in 315c046f9a968d163b235879526db9de gcc/c/gccspec.c 810ad966d180268d4d993296f973dd2a gcc/c/gimple-parser.c *************** ca842079779fd4ad57902f8f2c010008 gcc/cf *** 2878,2884 **** 82eb42382bd27f495e40808042cf77c9 gcc/cfg.h b8a8f13511b2a58a92f6f88180478eed gcc/cfganal.c 323bf37c29b5e56113ce2ef1d930f53f gcc/cfganal.h ! 7545937c02f6a985cafd1ad68106530a gcc/cfgbuild.c 4ff5cc9e540613e104f270326dd30463 gcc/cfgbuild.h 33a44e2340091ed8621bc5b7e3c328cd gcc/cfgcleanup.c 18ca8e6def454559f2c04130a898ff21 gcc/cfgcleanup.h --- 2879,2885 ---- 82eb42382bd27f495e40808042cf77c9 gcc/cfg.h b8a8f13511b2a58a92f6f88180478eed gcc/cfganal.c 323bf37c29b5e56113ce2ef1d930f53f gcc/cfganal.h ! 3127da0fa4ab9a2ec7e0fe3a59fed4bf gcc/cfgbuild.c 4ff5cc9e540613e104f270326dd30463 gcc/cfgbuild.h 33a44e2340091ed8621bc5b7e3c328cd gcc/cfgcleanup.c 18ca8e6def454559f2c04130a898ff21 gcc/cfgcleanup.h *************** ec3e0c9cceed5cde000334a220d1fb2a gcc/cf *** 2896,2903 **** fde53137ba6eba2024e5c18c0b6cf126 gcc/cgraph.c 05f66df4f4ad23469d802fc5ff9e9407 gcc/cgraph.h 021c740e1daa2bdafc9ab317291049c2 gcc/cgraphbuild.c ! 4537dcaa864e307b8fc8c03fa97b7691 gcc/cgraphclones.c ! c8a675e59007c17716a525659fa4904d gcc/cgraphunit.c 5a7eddec9678673e57d3a69ff6af685a gcc/cif-code.def 5595308078fee082f4fe05d41d158b04 gcc/collect-utils.c d0e4b33a4a5624ecb4ca454449ef852e gcc/collect-utils.h --- 2897,2904 ---- fde53137ba6eba2024e5c18c0b6cf126 gcc/cgraph.c 05f66df4f4ad23469d802fc5ff9e9407 gcc/cgraph.h 021c740e1daa2bdafc9ab317291049c2 gcc/cgraphbuild.c ! 6a25435fc680f548dd21eb4a637974a9 gcc/cgraphclones.c ! f287ea0726984086f10263706e3bd9ab gcc/cgraphunit.c 5a7eddec9678673e57d3a69ff6af685a gcc/cif-code.def 5595308078fee082f4fe05d41d158b04 gcc/collect-utils.c d0e4b33a4a5624ecb4ca454449ef852e gcc/collect-utils.h *************** b998e3e42e990e538681c8211c40adb4 gcc/co *** 2933,2939 **** 93f9752c019903aa3b88af20d312a32a gcc/common/config/gcn/gcn-common.c f7b07b42faba07a6cd967478fb57b40c gcc/common/config/h8300/h8300-common.c 62f27ccd6014a10fcac9f9005b1a412a gcc/common/config/i386/i386-common.c ! 20f4d3f57481017d067c7437791054b3 gcc/common/config/i386/i386-cpuinfo.h f40a01d16708a5237ad64c2b1ee4ff00 gcc/common/config/ia64/ia64-common.c f9d2c3ee53d7c99a280e6f1442754992 gcc/common/config/iq2000/iq2000-common.c 12a26ad3144eb29c818970dba1363281 gcc/common/config/lm32/lm32-common.c --- 2934,2940 ---- 93f9752c019903aa3b88af20d312a32a gcc/common/config/gcn/gcn-common.c f7b07b42faba07a6cd967478fb57b40c gcc/common/config/h8300/h8300-common.c 62f27ccd6014a10fcac9f9005b1a412a gcc/common/config/i386/i386-common.c ! fae3d8ff7703a63de5cdc4b892eb2c78 gcc/common/config/i386/i386-cpuinfo.h f40a01d16708a5237ad64c2b1ee4ff00 gcc/common/config/ia64/ia64-common.c f9d2c3ee53d7c99a280e6f1442754992 gcc/common/config/iq2000/iq2000-common.c 12a26ad3144eb29c818970dba1363281 gcc/common/config/lm32/lm32-common.c *************** f6304e65f3c00a6a7aee195a39898f89 gcc/co *** 2968,2989 **** 8763e6612b3f349cca760cdd8226cddd gcc/compare-elim.c eab0d30a85465c8dfc86d5de1b6fbeb0 gcc/conditions.h c8cbeab9205c5362586933dd45dc115e gcc/config.build ! eca8c32a5be6aa0aba025ab99916e2ca gcc/config.gcc a0c075b392f11951c415335bdf967308 gcc/config.host d9c4940061976b97581faa8115f9bfcd gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README e100e878ef9a128dbaa8fac0c0a00e15 gcc/config/aarch64/aarch64-arches.def d75c36a73f9ff426af3f63ac06794e39 gcc/config/aarch64/aarch64-bti-insert.c 1e3e6b0b4deb9c4d7ba78b9ec8c7947e gcc/config/aarch64/aarch64-builtins.c ! bebc910ea9166916d8b120860ae862a1 gcc/config/aarch64/aarch64-c.c ! de9ebc7005b685ffa5a8754830fa7028 gcc/config/aarch64/aarch64-cores.def ! 5c8cd25f4a4e8d19df2bff7cb2aafce7 gcc/config/aarch64/aarch64-cost-tables.h fadf3865cbccee62906724ea36f6575a gcc/config/aarch64/aarch64-d.c c8996ccf16af2d4d91b72e3d4cc4cdf7 gcc/config/aarch64/aarch64-elf-raw.h f6e31a2ec81adfc19e0d3eb53fa70a1f gcc/config/aarch64/aarch64-elf.h db5bb876150a15c836d4eaf710b1d33e gcc/config/aarch64/aarch64-errata.h 34627774713402fda34d84355eb62270 gcc/config/aarch64/aarch64-freebsd.h ! 691ea9b94d448180137f9ec4f4157d08 gcc/config/aarch64/aarch64-fusion-pairs.def cb7effd6ac34216caf447046a224313f gcc/config/aarch64/aarch64-ldpstp.md b9299f9c6d12537de258874dbfe343b6 gcc/config/aarch64/aarch64-linux.h 08bc178160775bbbd8fccc9c2347c8bd gcc/config/aarch64/aarch64-modes.def --- 2969,2990 ---- 8763e6612b3f349cca760cdd8226cddd gcc/compare-elim.c eab0d30a85465c8dfc86d5de1b6fbeb0 gcc/conditions.h c8cbeab9205c5362586933dd45dc115e gcc/config.build ! b223ad3a9656fb809089d2d58ee1bdf5 gcc/config.gcc a0c075b392f11951c415335bdf967308 gcc/config.host d9c4940061976b97581faa8115f9bfcd gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README e100e878ef9a128dbaa8fac0c0a00e15 gcc/config/aarch64/aarch64-arches.def d75c36a73f9ff426af3f63ac06794e39 gcc/config/aarch64/aarch64-bti-insert.c 1e3e6b0b4deb9c4d7ba78b9ec8c7947e gcc/config/aarch64/aarch64-builtins.c ! 8f319b00aaef3a5ffe0895d90a1b4318 gcc/config/aarch64/aarch64-c.c ! e0b005ead4bc3ced4dfedd1ec4aecbba gcc/config/aarch64/aarch64-cores.def ! 55de99ddd93791e8d89faff77a051358 gcc/config/aarch64/aarch64-cost-tables.h fadf3865cbccee62906724ea36f6575a gcc/config/aarch64/aarch64-d.c c8996ccf16af2d4d91b72e3d4cc4cdf7 gcc/config/aarch64/aarch64-elf-raw.h f6e31a2ec81adfc19e0d3eb53fa70a1f gcc/config/aarch64/aarch64-elf.h db5bb876150a15c836d4eaf710b1d33e gcc/config/aarch64/aarch64-errata.h 34627774713402fda34d84355eb62270 gcc/config/aarch64/aarch64-freebsd.h ! 2f82baa65ca11c98877202936c48fbd0 gcc/config/aarch64/aarch64-fusion-pairs.def cb7effd6ac34216caf447046a224313f gcc/config/aarch64/aarch64-ldpstp.md b9299f9c6d12537de258874dbfe343b6 gcc/config/aarch64/aarch64-linux.h 08bc178160775bbbd8fccc9c2347c8bd gcc/config/aarch64/aarch64-modes.def *************** c97840e68a2ac3eb338dc9997e7112d1 gcc/co *** 2991,3000 **** 1bac6726009e0fb8452d559c3dd88e26 gcc/config/aarch64/aarch64-option-extensions.def fd4267a19928f12195f70461bd5c06c4 gcc/config/aarch64/aarch64-opts.h 2d3c997a76ea54fd838b69085e0a560b gcc/config/aarch64/aarch64-passes.def ! f0e19bf0c86ab241e64aea2f4367970c gcc/config/aarch64/aarch64-protos.h 2e263bfa2bd1fea303c37b04ce63eb60 gcc/config/aarch64/aarch64-simd-builtin-types.def e861473941caf234c01ffa1712e67f68 gcc/config/aarch64/aarch64-simd-builtins.def ! fd2dcbb95040d8a0e635b8cb46251cd6 gcc/config/aarch64/aarch64-simd.md effa2b4283bd899d74c40c2d2a83e79b gcc/config/aarch64/aarch64-speculation.cc 191b10e29119e1fe80e00715be2780bb gcc/config/aarch64/aarch64-sve-builtins-base.cc 8702c0c25fe5558a8c9f5dff4ad8a40d gcc/config/aarch64/aarch64-sve-builtins-base.def --- 2992,3001 ---- 1bac6726009e0fb8452d559c3dd88e26 gcc/config/aarch64/aarch64-option-extensions.def fd4267a19928f12195f70461bd5c06c4 gcc/config/aarch64/aarch64-opts.h 2d3c997a76ea54fd838b69085e0a560b gcc/config/aarch64/aarch64-passes.def ! 3d713e7def87513f7ee987bd00f53f4e gcc/config/aarch64/aarch64-protos.h 2e263bfa2bd1fea303c37b04ce63eb60 gcc/config/aarch64/aarch64-simd-builtin-types.def e861473941caf234c01ffa1712e67f68 gcc/config/aarch64/aarch64-simd-builtins.def ! 7fccbd0d1852ff9babbb710476568cf3 gcc/config/aarch64/aarch64-simd.md effa2b4283bd899d74c40c2d2a83e79b gcc/config/aarch64/aarch64-speculation.cc 191b10e29119e1fe80e00715be2780bb gcc/config/aarch64/aarch64-sve-builtins-base.cc 8702c0c25fe5558a8c9f5dff4ad8a40d gcc/config/aarch64/aarch64-sve-builtins-base.def *************** c94e53bffc6998ca046cd74f9e425e17 gcc/co *** 3005,3021 **** 0b43387d6c0d3a042a0a37a8037fae22 gcc/config/aarch64/aarch64-sve-builtins-sve2.cc 618643b7c84a6de14467802d82a5d2c2 gcc/config/aarch64/aarch64-sve-builtins-sve2.def 825f04b0d5062963df3bbc66157d46d3 gcc/config/aarch64/aarch64-sve-builtins-sve2.h ! ac068e7497068050097af24e4524dbb7 gcc/config/aarch64/aarch64-sve-builtins.cc abe33f03faf6cbe321c71fda2b57c71f gcc/config/aarch64/aarch64-sve-builtins.def b53d707b8cc17ce59ac8a275884d1584 gcc/config/aarch64/aarch64-sve-builtins.h ! c915fa6ccecc9e8fb1a19fce69f6c8eb gcc/config/aarch64/aarch64-sve.md 58533c161280fb74a5faa1e7075cbe1c gcc/config/aarch64/aarch64-sve2.md ! d98960533bbb2b4e07e4fa669fc35414 gcc/config/aarch64/aarch64-tune.md ! 9be3f2134bfe0325d95ce4a8e484c851 gcc/config/aarch64/aarch64-tuning-flags.def 284de9008114b29d2b3367a8907cabc9 gcc/config/aarch64/aarch64-vxworks.h ! fb97bded2ac89424a5d5c2f8ecfd7f81 gcc/config/aarch64/aarch64.c ! 77a28f34959cb9ea2609b78316480192 gcc/config/aarch64/aarch64.h ! 68c064fb342fc1947a5d1cc7c47401b4 gcc/config/aarch64/aarch64.md 6c72acb73d060e176a5b91a92c729680 gcc/config/aarch64/aarch64.opt 50f832b6b6b6912cdbcecf928e8bd3de gcc/config/aarch64/arm_acle.h beb001d25963acd80ffd85765795da0f gcc/config/aarch64/arm_bf16.h --- 3006,3022 ---- 0b43387d6c0d3a042a0a37a8037fae22 gcc/config/aarch64/aarch64-sve-builtins-sve2.cc 618643b7c84a6de14467802d82a5d2c2 gcc/config/aarch64/aarch64-sve-builtins-sve2.def 825f04b0d5062963df3bbc66157d46d3 gcc/config/aarch64/aarch64-sve-builtins-sve2.h ! fbced7b9f888a68544e0ade21cedcc88 gcc/config/aarch64/aarch64-sve-builtins.cc abe33f03faf6cbe321c71fda2b57c71f gcc/config/aarch64/aarch64-sve-builtins.def b53d707b8cc17ce59ac8a275884d1584 gcc/config/aarch64/aarch64-sve-builtins.h ! 3af76ea25486f100b8951c3f0f906507 gcc/config/aarch64/aarch64-sve.md 58533c161280fb74a5faa1e7075cbe1c gcc/config/aarch64/aarch64-sve2.md ! 09faa14353866894f1c7e0bbd7d53ff9 gcc/config/aarch64/aarch64-tune.md ! 91e5d08e745e113e4d1d7cb2eb34dcea gcc/config/aarch64/aarch64-tuning-flags.def 284de9008114b29d2b3367a8907cabc9 gcc/config/aarch64/aarch64-vxworks.h ! e9701683086211446bd541d5b32b2bcf gcc/config/aarch64/aarch64.c ! 3256a36a11daded70fa7df44e702c3b5 gcc/config/aarch64/aarch64.h ! 4587adabd2495b787da3f725aa170d55 gcc/config/aarch64/aarch64.md 6c72acb73d060e176a5b91a92c729680 gcc/config/aarch64/aarch64.opt 50f832b6b6b6912cdbcecf928e8bd3de gcc/config/aarch64/arm_acle.h beb001d25963acd80ffd85765795da0f gcc/config/aarch64/arm_bf16.h *************** ff5515782bebfacde1bf17e778e04041 gcc/co *** 3028,3039 **** 60c2456961e828947f52d5537ffe1906 gcc/config/aarch64/check-sve-md.awk d6b4bcd1976a38548f182f79fee0a58e gcc/config/aarch64/constraints.md 9f627aa983d4d8c1e657bc80da0f60b6 gcc/config/aarch64/cortex-a57-fma-steering.c ! 652344702d20655bb320d62fe6a88de8 gcc/config/aarch64/driver-aarch64.c 6a676d12724ddaa2ac94f19291b424e6 gcc/config/aarch64/falkor-tag-collision-avoidance.c 792daee1b1c6682c2179f76a7c1f0966 gcc/config/aarch64/falkor.md e34211047f88b2c15a2d06ed84d68cb2 gcc/config/aarch64/geniterators.sh df0891baf7b5b4a6518824ae9bc70a4e gcc/config/aarch64/gentune.sh ! 9677fac82c3e25a1be66e6b2ccf4496d gcc/config/aarch64/iterators.md 52269092b238bd0fa24fc117eda7723a gcc/config/aarch64/predicates.md 6e7d185b76922a87ae30f2ff6904d3e0 gcc/config/aarch64/rtems.h f9247c06e620b0ace1c5a3e9d3bb9000 gcc/config/aarch64/saphira.md --- 3029,3040 ---- 60c2456961e828947f52d5537ffe1906 gcc/config/aarch64/check-sve-md.awk d6b4bcd1976a38548f182f79fee0a58e gcc/config/aarch64/constraints.md 9f627aa983d4d8c1e657bc80da0f60b6 gcc/config/aarch64/cortex-a57-fma-steering.c ! 54e7b4f4dc288d5b1d670742b08aab95 gcc/config/aarch64/driver-aarch64.c 6a676d12724ddaa2ac94f19291b424e6 gcc/config/aarch64/falkor-tag-collision-avoidance.c 792daee1b1c6682c2179f76a7c1f0966 gcc/config/aarch64/falkor.md e34211047f88b2c15a2d06ed84d68cb2 gcc/config/aarch64/geniterators.sh df0891baf7b5b4a6518824ae9bc70a4e gcc/config/aarch64/gentune.sh ! 58dc928d740212e180bf5c63198db0f5 gcc/config/aarch64/iterators.md 52269092b238bd0fa24fc117eda7723a gcc/config/aarch64/predicates.md 6e7d185b76922a87ae30f2ff6904d3e0 gcc/config/aarch64/rtems.h f9247c06e620b0ace1c5a3e9d3bb9000 gcc/config/aarch64/saphira.md *************** a3ce364c42d20501f7ff53cea9c94af3 gcc/co *** 3366,3373 **** 73063d81d9e8ccfb36b462a062f0f3da gcc/config/darwin-ppc-ldouble-patch.def bf622b24f99b32a50572bc7a96cfe612 gcc/config/darwin-protos.h 69e84f6bd9c7313a9ae6893ebbb889d7 gcc/config/darwin-sections.def ! c0064773917e263b67dfab93c68f7e1f gcc/config/darwin.c ! 5390518b50e0a967755fd4eef1cf1ae4 gcc/config/darwin.h d8c7012757245e277db480f7772ef9f7 gcc/config/darwin.opt 22ef11e2b04fb7440bd17058f103745f gcc/config/dbx.h 3af56e740de05f1af8d575ff940e0c76 gcc/config/dbxcoff.h --- 3367,3374 ---- 73063d81d9e8ccfb36b462a062f0f3da gcc/config/darwin-ppc-ldouble-patch.def bf622b24f99b32a50572bc7a96cfe612 gcc/config/darwin-protos.h 69e84f6bd9c7313a9ae6893ebbb889d7 gcc/config/darwin-sections.def ! 8e145c6d9ec6a7e4567a78388513797d gcc/config/darwin.c ! eb635041437184816859520b4990024d gcc/config/darwin.h d8c7012757245e277db480f7772ef9f7 gcc/config/darwin.opt 22ef11e2b04fb7440bd17058f103745f gcc/config/dbx.h 3af56e740de05f1af8d575ff940e0c76 gcc/config/dbxcoff.h *************** a272fd26d6041bc4515b6896c00c0a72 gcc/co *** 3572,3588 **** 8bfef5d9a38354650eff6c97569a2b3d gcc/config/i386/host-mingw32.c 7c05e9e74dcafa1fbe9d1675caea25f6 gcc/config/i386/i386-builtin-types.awk ec29ccbc1d26aeb4e0ec2191e078e9ba gcc/config/i386/i386-builtin-types.def ! 5ab7f189cd953b5beee2d6f0c6edeb15 gcc/config/i386/i386-builtin.def 3defe9579bdfc8b73dade84e73328e2f gcc/config/i386/i386-builtins.c aaba1d7f3051425031a61c126ca09427 gcc/config/i386/i386-builtins.h d92b63960664e87350adffa54bc9614e gcc/config/i386/i386-c.c 0716ad09835ba6d14c45620bd88d07f9 gcc/config/i386/i386-d.c ! 8946ee03d1901bacff463415edc68bf9 gcc/config/i386/i386-expand.c a6e63c2f63741f10d6b63d604468a9df gcc/config/i386/i386-expand.h ! d61c17f8e6169b83fc0be7d562ccd661 gcc/config/i386/i386-features.c 608d27b39a4b79afc971e416cb13f3f8 gcc/config/i386/i386-features.h a3fef6d6bd5891a01b6b7acc146b63bd gcc/config/i386/i386-modes.def ! 18b18735366745ed5e8799a8bd0e9068 gcc/config/i386/i386-options.c b3e9baa55fb8746055ad945e5fbe38b8 gcc/config/i386/i386-options.h 924c47602884a3f6573760aad71baf6c gcc/config/i386/i386-opts.h 942113f86f41f99e3b37fa463f0e076d gcc/config/i386/i386-passes.def --- 3573,3589 ---- 8bfef5d9a38354650eff6c97569a2b3d gcc/config/i386/host-mingw32.c 7c05e9e74dcafa1fbe9d1675caea25f6 gcc/config/i386/i386-builtin-types.awk ec29ccbc1d26aeb4e0ec2191e078e9ba gcc/config/i386/i386-builtin-types.def ! d76b65318d612c7e92d3f4fc6fd26875 gcc/config/i386/i386-builtin.def 3defe9579bdfc8b73dade84e73328e2f gcc/config/i386/i386-builtins.c aaba1d7f3051425031a61c126ca09427 gcc/config/i386/i386-builtins.h d92b63960664e87350adffa54bc9614e gcc/config/i386/i386-c.c 0716ad09835ba6d14c45620bd88d07f9 gcc/config/i386/i386-d.c ! 12e47b5aaa498b2eaf32329b1e6dd1ae gcc/config/i386/i386-expand.c a6e63c2f63741f10d6b63d604468a9df gcc/config/i386/i386-expand.h ! 95efca4fe1b759a5f29e9b4a7f74d297 gcc/config/i386/i386-features.c 608d27b39a4b79afc971e416cb13f3f8 gcc/config/i386/i386-features.h a3fef6d6bd5891a01b6b7acc146b63bd gcc/config/i386/i386-modes.def ! e67b2af1e60ed168bf0a741815a5ef71 gcc/config/i386/i386-options.c b3e9baa55fb8746055ad945e5fbe38b8 gcc/config/i386/i386-options.h 924c47602884a3f6573760aad71baf6c gcc/config/i386/i386-opts.h 942113f86f41f99e3b37fa463f0e076d gcc/config/i386/i386-passes.def *************** d769072cfcdf88a307ad4c7cea4c3a1b gcc/co *** 3642,3648 **** b536f806896e5b96bf8c7ca33d07c56e gcc/config/i386/sgxintrin.h 00b9c683cb79fd3a2089dc16592e72d2 gcc/config/i386/shaintrin.h f6b0a9b38fc804adcd8a679d1d1a298d gcc/config/i386/slm.md ! 4530deeaee608a58494762629aba3c83 gcc/config/i386/smmintrin.h 59a6647bb24abb7905b8ebad61cdf12b gcc/config/i386/sol2.h cc39af3c507dc63bc5aae9769239219a gcc/config/i386/sse.md 25052628dbb6b92ee7352816628eafbc gcc/config/i386/ssemath.h --- 3643,3649 ---- b536f806896e5b96bf8c7ca33d07c56e gcc/config/i386/sgxintrin.h 00b9c683cb79fd3a2089dc16592e72d2 gcc/config/i386/shaintrin.h f6b0a9b38fc804adcd8a679d1d1a298d gcc/config/i386/slm.md ! b421c12b285f8efdec57f833056b54e9 gcc/config/i386/smmintrin.h 59a6647bb24abb7905b8ebad61cdf12b gcc/config/i386/sol2.h cc39af3c507dc63bc5aae9769239219a gcc/config/i386/sse.md 25052628dbb6b92ee7352816628eafbc gcc/config/i386/ssemath.h *************** d5339d6e5a09a02383903f617230e19e gcc/co *** 3659,3665 **** dbfc6d08f57c8020eb85b1a709835fbf gcc/config/i386/t-freebsd64 3a1c0dac7740fd9ef48c7bdf5f313c9d gcc/config/i386/t-gmm_malloc d5939c6bccbf8957206c63308ce628a6 gcc/config/i386/t-gnu ! 09eb3a1e2b6cac6acf65855a0510264c gcc/config/i386/t-i386 c3fde04ef47ddd6ec0a60c98d7f55224 gcc/config/i386/t-intelmic 51dcf9826007c01cfd67be11d5f0d538 gcc/config/i386/t-kfreebsd 39ad69cb2a2e67aa8d46664a75b02789 gcc/config/i386/t-linux --- 3660,3666 ---- dbfc6d08f57c8020eb85b1a709835fbf gcc/config/i386/t-freebsd64 3a1c0dac7740fd9ef48c7bdf5f313c9d gcc/config/i386/t-gmm_malloc d5939c6bccbf8957206c63308ce628a6 gcc/config/i386/t-gnu ! 5caa82dd665fe91df0c71838adfe403f gcc/config/i386/t-i386 c3fde04ef47ddd6ec0a60c98d7f55224 gcc/config/i386/t-intelmic 51dcf9826007c01cfd67be11d5f0d538 gcc/config/i386/t-kfreebsd 39ad69cb2a2e67aa8d46664a75b02789 gcc/config/i386/t-linux *************** b1dd3bb66ec6a2729fd8f218492bd12f gcc/co *** 4080,4088 **** c2aabf1e8738380511a66426506fe906 gcc/config/nvptx/nvptx-modes.def f69e8296d0faf31ac6e0c63114465e34 gcc/config/nvptx/nvptx-opts.h 6bc8bb882a5681c91d3230b7025912fa gcc/config/nvptx/nvptx-protos.h ! 759f0b3b228fc78cd6d628b68dd69fdb gcc/config/nvptx/nvptx.c ! 57339b7de27558e634bb329734f050d2 gcc/config/nvptx/nvptx.h ! 391495ed22dce89f4982984d68ac1335 gcc/config/nvptx/nvptx.md 99e673a4a625e68b02c366b8775cd2ab gcc/config/nvptx/nvptx.opt ac2c4d3eacbb8dc2222e17bc88fe3be4 gcc/config/nvptx/offload.h 161bfe9f99d4d18fdb67553220ba175a gcc/config/nvptx/t-nvptx --- 4081,4089 ---- c2aabf1e8738380511a66426506fe906 gcc/config/nvptx/nvptx-modes.def f69e8296d0faf31ac6e0c63114465e34 gcc/config/nvptx/nvptx-opts.h 6bc8bb882a5681c91d3230b7025912fa gcc/config/nvptx/nvptx-protos.h ! cb2de54acfa36aff63c0c5363e1c2fde gcc/config/nvptx/nvptx.c ! 6808bfdae39f262b78e662696da80dbf gcc/config/nvptx/nvptx.h ! f180f5b1d05af71ac0f096b99244f022 gcc/config/nvptx/nvptx.md 99e673a4a625e68b02c366b8775cd2ab gcc/config/nvptx/nvptx.opt ac2c4d3eacbb8dc2222e17bc88fe3be4 gcc/config/nvptx/offload.h 161bfe9f99d4d18fdb67553220ba175a gcc/config/nvptx/t-nvptx *************** b8ee5c8677ab43e55b9f7e62764c4a04 gcc/co *** 4127,4133 **** 600cc6b55002e21d4f050a4ffa931a47 gcc/config/pa/pa-protos.h 4eed25740d2f252c2127973493e76427 gcc/config/pa/pa.c 729ac301be06873dad20c162c59219d4 gcc/config/pa/pa.h ! cd7bb163f20674428581348567e76c88 gcc/config/pa/pa.md 37c733417df67fda01071ce53eb5d250 gcc/config/pa/pa.opt cc3cc3d1899ff4f5cb88c2f9bafacd29 gcc/config/pa/pa32-linux.h 06da5dd5b5dd2bc20c1c12095a44d29a gcc/config/pa/pa32-netbsd.h --- 4128,4134 ---- 600cc6b55002e21d4f050a4ffa931a47 gcc/config/pa/pa-protos.h 4eed25740d2f252c2127973493e76427 gcc/config/pa/pa.c 729ac301be06873dad20c162c59219d4 gcc/config/pa/pa.h ! fed676b4373612ee6d3d93ac7ea582f4 gcc/config/pa/pa.md 37c733417df67fda01071ce53eb5d250 gcc/config/pa/pa.opt cc3cc3d1899ff4f5cb88c2f9bafacd29 gcc/config/pa/pa32-linux.h 06da5dd5b5dd2bc20c1c12095a44d29a gcc/config/pa/pa32-netbsd.h *************** ed1fdbe0c1c20ab8b5dcf70240fcf773 gcc/co *** 4194,4200 **** d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux 1ed181a166b1d0e206c4a4e0024cce2a gcc/config/riscv/t-linux-multilib 88d091028dad5704f548cef50bdb36d0 gcc/config/riscv/t-riscv ! 7dbd61c5a07b1adefe5429a41008fda5 gcc/config/riscv/t-rtems 97a182737ed075d29be4ab1e848de420 gcc/config/riscv/t-withmultilib 486709f8942421d456e5b94085284446 gcc/config/riscv/withmultilib.h 80160be866129dce3d0d56e5a53404de gcc/config/rl78/constraints.md --- 4195,4201 ---- d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux 1ed181a166b1d0e206c4a4e0024cce2a gcc/config/riscv/t-linux-multilib 88d091028dad5704f548cef50bdb36d0 gcc/config/riscv/t-riscv ! b46131fe425be428d4d66c8f653f3d13 gcc/config/riscv/t-rtems 97a182737ed075d29be4ab1e848de420 gcc/config/riscv/t-withmultilib 486709f8942421d456e5b94085284446 gcc/config/riscv/withmultilib.h 80160be866129dce3d0d56e5a53404de gcc/config/rl78/constraints.md *************** fbd21a42c0d3b5f25bda9e10bf0cd98f gcc/co *** 4230,4236 **** 970bd741336f3b6ad6cfc92047dda24d gcc/config/rs6000/aix71.h 3c332f07ff88aa9b8b7a951dfefb7edd gcc/config/rs6000/aix72.h 975f12ffc6142ba7007e18bffb8b74a9 gcc/config/rs6000/altivec.h ! ee08238bb2eff082213c3fc4e1476fed gcc/config/rs6000/altivec.md 174cef0139277020d6daf3b4321db0a7 gcc/config/rs6000/amo.h 7ad82036aad04f9e4b357a24e5c58941 gcc/config/rs6000/biarch64.h a9aaa787bd2443098906c961fd8b8977 gcc/config/rs6000/bmi2intrin.h --- 4231,4237 ---- 970bd741336f3b6ad6cfc92047dda24d gcc/config/rs6000/aix71.h 3c332f07ff88aa9b8b7a951dfefb7edd gcc/config/rs6000/aix72.h 975f12ffc6142ba7007e18bffb8b74a9 gcc/config/rs6000/altivec.h ! 2a6e2d3ca482aefb75fd1cb4ec53f70f gcc/config/rs6000/altivec.md 174cef0139277020d6daf3b4321db0a7 gcc/config/rs6000/amo.h 7ad82036aad04f9e4b357a24e5c58941 gcc/config/rs6000/biarch64.h a9aaa787bd2443098906c961fd8b8977 gcc/config/rs6000/bmi2intrin.h *************** aab6a02122e8086655ea2092bf5e8277 gcc/co *** 4271,4277 **** 28eb56aa72960c68f1ce93a0dcbbb50a gcc/config/rs6000/lynx.h 0cc3c5f9101501b8253ce3176c3ffce4 gcc/config/rs6000/milli.exp 98f09db1ffe97c8473d50fb913fd6ab8 gcc/config/rs6000/mm_malloc.h ! 8e6de36e638d6e0c31a610ea612b77db gcc/config/rs6000/mma.md 903bfc71f26415e8a7cc0fd94e81ac0d gcc/config/rs6000/mmintrin.h 61382586f43f8c34149111f3808e03ea gcc/config/rs6000/mpc.md a24c854cbca4a77aa796b28b86a7a75d gcc/config/rs6000/netbsd.h --- 4272,4278 ---- 28eb56aa72960c68f1ce93a0dcbbb50a gcc/config/rs6000/lynx.h 0cc3c5f9101501b8253ce3176c3ffce4 gcc/config/rs6000/milli.exp 98f09db1ffe97c8473d50fb913fd6ab8 gcc/config/rs6000/mm_malloc.h ! 6a9ca22bb5efe16a7fa2a89d46da15fa gcc/config/rs6000/mma.md 903bfc71f26415e8a7cc0fd94e81ac0d gcc/config/rs6000/mmintrin.h 61382586f43f8c34149111f3808e03ea gcc/config/rs6000/mpc.md a24c854cbca4a77aa796b28b86a7a75d gcc/config/rs6000/netbsd.h *************** b363744cf555db6f21cf65583a9f1d22 gcc/co *** 4288,4315 **** 60e0334a510e1ca34a137e003ab080c5 gcc/config/rs6000/ppc-auxv.h 211f86e3790aaa31e29fab4dd00a1963 gcc/config/rs6000/ppu_intrinsics.h 7e6fd595a1bb7a2b1d7f28e57371bf76 gcc/config/rs6000/predicates.md ! b06b4c14ef553fb94b2752881acc1e96 gcc/config/rs6000/rs6000-builtin.def f6f55a2f1cdc9dc92c82f727c8adc32f gcc/config/rs6000/rs6000-c.c ! 9d0a1b571c870005758432518a2845c5 gcc/config/rs6000/rs6000-call.c 24fc94e29ab1ae855818c037fa366b61 gcc/config/rs6000/rs6000-cpus.def 48f25a13b4c16bbf8abc640b18baaf04 gcc/config/rs6000/rs6000-d.c 6ca6ecc62264d6525efb0303f303fbcb gcc/config/rs6000/rs6000-internal.h 0680e4bef9d435c70ff0b0346875dc7e gcc/config/rs6000/rs6000-linux.c ! aab54ac81dac88e8d89473d3573a122b gcc/config/rs6000/rs6000-logue.c 6019ce43647fb67478f67b0014f9e197 gcc/config/rs6000/rs6000-modes.def 74d680e195ea101592ac1b6839d532c6 gcc/config/rs6000/rs6000-modes.h 478e6c4e3fffd52cc5f65d8201180f4e gcc/config/rs6000/rs6000-opts.h ! f7884f4cd0dd4f9cfc379ac21ac69663 gcc/config/rs6000/rs6000-p8swap.c 5deaf0e53bbb270a90617edbf89b93c3 gcc/config/rs6000/rs6000-passes.def ! 563c0ef0afd159a301260d7c6cda4949 gcc/config/rs6000/rs6000-protos.h d6ec81c1ffdb5849dc866b5ef0282b43 gcc/config/rs6000/rs6000-string.c 6cd7b03a52d165ce37498421647b2870 gcc/config/rs6000/rs6000-tables.opt ! ffe366bf96fd9c4aa5ba72c1168a3c1d gcc/config/rs6000/rs6000.c ! fd2cd530c3bbd8742e0822bf27d471a6 gcc/config/rs6000/rs6000.h ! 90a382b8e502b89311ca1fc96763da99 gcc/config/rs6000/rs6000.md ae694700cb8a354c30bddf5dbacf3a24 gcc/config/rs6000/rs6000.opt f783f97dd8ba81866de4caa94379cf5d gcc/config/rs6000/rs64.md ! d243ba917805636d3fe964e1bf471023 gcc/config/rs6000/rtems.h fdcf290afcca6a9a881bc2a4e2329ef2 gcc/config/rs6000/secureplt.h 06e7b5a5cd00206c607e731c8069a07a gcc/config/rs6000/si2vmx.h 40c534235601ca14258240455fa44c7b gcc/config/rs6000/smmintrin.h --- 4289,4316 ---- 60e0334a510e1ca34a137e003ab080c5 gcc/config/rs6000/ppc-auxv.h 211f86e3790aaa31e29fab4dd00a1963 gcc/config/rs6000/ppu_intrinsics.h 7e6fd595a1bb7a2b1d7f28e57371bf76 gcc/config/rs6000/predicates.md ! 45b9280b5c28e6e21961e5f0c2a542df gcc/config/rs6000/rs6000-builtin.def f6f55a2f1cdc9dc92c82f727c8adc32f gcc/config/rs6000/rs6000-c.c ! 88359cf31e9f91968c39c0d88c33d759 gcc/config/rs6000/rs6000-call.c 24fc94e29ab1ae855818c037fa366b61 gcc/config/rs6000/rs6000-cpus.def 48f25a13b4c16bbf8abc640b18baaf04 gcc/config/rs6000/rs6000-d.c 6ca6ecc62264d6525efb0303f303fbcb gcc/config/rs6000/rs6000-internal.h 0680e4bef9d435c70ff0b0346875dc7e gcc/config/rs6000/rs6000-linux.c ! 0be21fbd32ac5b42ee8098ed86994434 gcc/config/rs6000/rs6000-logue.c 6019ce43647fb67478f67b0014f9e197 gcc/config/rs6000/rs6000-modes.def 74d680e195ea101592ac1b6839d532c6 gcc/config/rs6000/rs6000-modes.h 478e6c4e3fffd52cc5f65d8201180f4e gcc/config/rs6000/rs6000-opts.h ! f042d7982dece766624f0b0536c12baf gcc/config/rs6000/rs6000-p8swap.c 5deaf0e53bbb270a90617edbf89b93c3 gcc/config/rs6000/rs6000-passes.def ! 8148221ccb0cbbc98bf695325e899eeb gcc/config/rs6000/rs6000-protos.h d6ec81c1ffdb5849dc866b5ef0282b43 gcc/config/rs6000/rs6000-string.c 6cd7b03a52d165ce37498421647b2870 gcc/config/rs6000/rs6000-tables.opt ! c47760aa531aa033e7fa492b3d7ff6fe gcc/config/rs6000/rs6000.c ! b27c7bda12d8eb0ec4800af7696c02e8 gcc/config/rs6000/rs6000.h ! a563b14ebee4c0a05cdba9a28c65d3ab gcc/config/rs6000/rs6000.md ae694700cb8a354c30bddf5dbacf3a24 gcc/config/rs6000/rs6000.opt f783f97dd8ba81866de4caa94379cf5d gcc/config/rs6000/rs64.md ! 4e710728b03e6b25f9488fff05df48cb gcc/config/rs6000/rtems.h fdcf290afcca6a9a881bc2a4e2329ef2 gcc/config/rs6000/secureplt.h 06e7b5a5cd00206c607e731c8069a07a gcc/config/rs6000/si2vmx.h 40c534235601ca14258240455fa44c7b gcc/config/rs6000/smmintrin.h *************** c8849c51ed697da336c77957f6ff07ad gcc/co *** 4335,4349 **** cc35ccf5fc7ee9c6021fbb9a4518a5e8 gcc/config/rs6000/t-ppcgas 1b8aba690a39464c4ea9c647d73d6983 gcc/config/rs6000/t-ppcos 7c55af762efc55837b20c85b5651a767 gcc/config/rs6000/t-rs6000 ! f26fbf7a1adb516aabc60b157bff7620 gcc/config/rs6000/t-rtems 3a287ff0e99ea59191a91f04d86ca948 gcc/config/rs6000/t-vxworks f11925c88524d2fd457bf77944da1302 gcc/config/rs6000/t-vxworksae 3f0601a68de7a0aee8264b538228d943 gcc/config/rs6000/t-vxworksmils 9107271d48c741591ed5e4a92925d84b gcc/config/rs6000/titan.md 2ca41cab19b6389c4c67d9dedf3e7cf9 gcc/config/rs6000/tmmintrin.h 9376354b2d5ece1437c8903ce64d70ad gcc/config/rs6000/vec_types.h ! 7071fb4ff78f27f75390163fc4cf4df3 gcc/config/rs6000/vector.md ! 69b1644a956e3d3ef91b856c86941ccb gcc/config/rs6000/vsx.md 6d50c0c76d5f156088c6f113c2ef3f81 gcc/config/rs6000/vxworks.h b6ff8b73a277bd9533ebb88d01316d55 gcc/config/rs6000/vxworksae.h 193beb2307a726d77214fcb2aa344f2e gcc/config/rs6000/vxworksmils.h --- 4336,4350 ---- cc35ccf5fc7ee9c6021fbb9a4518a5e8 gcc/config/rs6000/t-ppcgas 1b8aba690a39464c4ea9c647d73d6983 gcc/config/rs6000/t-ppcos 7c55af762efc55837b20c85b5651a767 gcc/config/rs6000/t-rs6000 ! 09d4c110ee93ffc64f0e393619e896b9 gcc/config/rs6000/t-rtems 3a287ff0e99ea59191a91f04d86ca948 gcc/config/rs6000/t-vxworks f11925c88524d2fd457bf77944da1302 gcc/config/rs6000/t-vxworksae 3f0601a68de7a0aee8264b538228d943 gcc/config/rs6000/t-vxworksmils 9107271d48c741591ed5e4a92925d84b gcc/config/rs6000/titan.md 2ca41cab19b6389c4c67d9dedf3e7cf9 gcc/config/rs6000/tmmintrin.h 9376354b2d5ece1437c8903ce64d70ad gcc/config/rs6000/vec_types.h ! 7b6f6e2f22bdddde4b0f665523ea9e24 gcc/config/rs6000/vector.md ! eb5fd1e903648f3e986f2491cc8c9a6d gcc/config/rs6000/vsx.md 6d50c0c76d5f156088c6f113c2ef3f81 gcc/config/rs6000/vxworks.h b6ff8b73a277bd9533ebb88d01316d55 gcc/config/rs6000/vxworksae.h 193beb2307a726d77214fcb2aa344f2e gcc/config/rs6000/vxworksmils.h *************** e3e94c066797685d8a2622b1c5957f4d gcc/co *** 4393,4399 **** 20208c81b581795dd2ba29f268618abc gcc/config/s390/s390-opts.h 6b36763d67c9b5c42e44faf743a3f705 gcc/config/s390/s390-passes.def b0455af5364399ae3ba243b620c905d9 gcc/config/s390/s390-protos.h ! a004804c184ed76916393fe8a1947b8a gcc/config/s390/s390.c 0941f9097350fe7d34af5c92f0ecb0e4 gcc/config/s390/s390.h f938a4b95c73cf651790b4e15cff273a gcc/config/s390/s390.md db7d06c04b3bf2d126240250a0a51879 gcc/config/s390/s390.opt --- 4394,4400 ---- 20208c81b581795dd2ba29f268618abc gcc/config/s390/s390-opts.h 6b36763d67c9b5c42e44faf743a3f705 gcc/config/s390/s390-passes.def b0455af5364399ae3ba243b620c905d9 gcc/config/s390/s390-protos.h ! 349fafb44c3f4a86de58470c09260214 gcc/config/s390/s390.c 0941f9097350fe7d34af5c92f0ecb0e4 gcc/config/s390/s390.h f938a4b95c73cf651790b4e15cff273a gcc/config/s390/s390.md db7d06c04b3bf2d126240250a0a51879 gcc/config/s390/s390.opt *************** fc603009a619faa01c2b790df75e63b3 gcc/co *** 4487,4493 **** e9790562d31de19ef25166f5f8cb69b1 gcc/config/sparc/sparc-opts.h 6f520a376e0a7395f5c6f882a8e027c8 gcc/config/sparc/sparc-passes.def cd0869635ffc187db2e3827d1dd73fb8 gcc/config/sparc/sparc-protos.h ! 4a032bdecf716b5dc2199a932799647d gcc/config/sparc/sparc.c 9d78520dc64c812bfd259a6688446709 gcc/config/sparc/sparc.h 29cc662e876c7f700c37d0e163fe5539 gcc/config/sparc/sparc.md dc2e1551d2beb89c3ecab8a5b7124bd8 gcc/config/sparc/sparc.opt --- 4488,4494 ---- e9790562d31de19ef25166f5f8cb69b1 gcc/config/sparc/sparc-opts.h 6f520a376e0a7395f5c6f882a8e027c8 gcc/config/sparc/sparc-passes.def cd0869635ffc187db2e3827d1dd73fb8 gcc/config/sparc/sparc-protos.h ! 5f0159dbdaddf464ae428e62f10dfdd4 gcc/config/sparc/sparc.c 9d78520dc64c812bfd259a6688446709 gcc/config/sparc/sparc.h 29cc662e876c7f700c37d0e163fe5539 gcc/config/sparc/sparc.md dc2e1551d2beb89c3ecab8a5b7124bd8 gcc/config/sparc/sparc.opt *************** cc47dc829b58cf28ea4a0d34724ef655 gcc/co *** 4681,4687 **** ccc965b70117adaa9e520ce66d2cdc1c gcc/coroutine-passes.cc d8b8dbf4da9c1bc99c07c6ea7c400198 gcc/coverage.c 1929f2519bcd6977e0d213f459d3b40c gcc/coverage.h ! dff5236c84e19ff01fe01b2d47ad7413 gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 --- 4682,4688 ---- ccc965b70117adaa9e520ce66d2cdc1c gcc/coroutine-passes.cc d8b8dbf4da9c1bc99c07c6ea7c400198 gcc/coverage.c 1929f2519bcd6977e0d213f459d3b40c gcc/coverage.h ! 5e537d20b47879beef29682ff886505d gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 *************** d12910a05989c8bde6d3f96115742601 gcc/cp *** 4718,4748 **** 37c2b7bedf298de9dac0cafb46f58d9b gcc/cp/cfns.h 466944e0e572eb3f44a4f9b9fb91be8a gcc/cp/class.c 8aaf367382ec0ba58ec54105f81bae4c gcc/cp/config-lang.in ! ba2eb711d742729700d4cec81f3259a5 gcc/cp/constexpr.c 019ae23b54cdc082c0b9d13205f0edef gcc/cp/constraint.cc 44e730c275906ff2db829f5b9994298e gcc/cp/coroutines.cc ! 4734755e299b745c6e17c73b318ff8e0 gcc/cp/cp-gimplify.c eab55c7f7088d85452230ea3e4fb6e0b gcc/cp/cp-lang.c 1b652554949dd65ee7cf9f3033110264 gcc/cp/cp-name-hint.h 172ce9c8be17744f898dc4d87767f723 gcc/cp/cp-objcp-common.c 867dac9005ac1106eeacfcb9bfb19498 gcc/cp/cp-objcp-common.h 942c4d40b949ce9d5caf97e8afd8c883 gcc/cp/cp-tree.def ! daf4cd2f7d9fff3beba4e5f35f7c73b6 gcc/cp/cp-tree.h 1fdd2540a34a8d3711868857e16b12ea gcc/cp/cp-ubsan.c ! 4c457ba4298e4c8b0d88685a019ee425 gcc/cp/cvt.c eb2e3a9c14c44c0cc5c5dbcc9c82618d gcc/cp/cxx-pretty-print.c b5cc2e7a6254261a168bd34a412a0fc6 gcc/cp/cxx-pretty-print.h ! 930226c25a54545fd53ae10dccf13037 gcc/cp/decl.c 5c07af228d899d28c4a7a4096ae1ae34 gcc/cp/decl.h ! 2a6334e2cc9a923eaf3312d0f168d207 gcc/cp/decl2.c 98c98b8f005396a75738d141023feafe gcc/cp/dump.c 31839945a2103c24d966396fc5d42f75 gcc/cp/error.c 02eb1ec1cd5fd4b24715607e961d1cc7 gcc/cp/except.c ! 261b11524fe961d2434aa9cc367ecdb7 gcc/cp/expr.c ! 01b0de4604aab6440ec5ea83f09fb4d6 gcc/cp/friend.c acc27a3f2e7fed4b7ba30986e3dbf8e9 gcc/cp/g++spec.c 35e393a5d1ec04ca99cca8042af7d4ed gcc/cp/init.c ! c32ff0c4edb1cd11b2b9d57eed2886b0 gcc/cp/lambda.c 2395c9f9b982880dfc925c3cbd76a4bc gcc/cp/lang-specs.h 8c0a7e69fc667bef06ad7bdf5b6d4a32 gcc/cp/lex.c 88f9b3b7adcb56a71c281373d1c5643e gcc/cp/logic.cc --- 4719,4749 ---- 37c2b7bedf298de9dac0cafb46f58d9b gcc/cp/cfns.h 466944e0e572eb3f44a4f9b9fb91be8a gcc/cp/class.c 8aaf367382ec0ba58ec54105f81bae4c gcc/cp/config-lang.in ! 12730b93510f20af969ed43eacb50179 gcc/cp/constexpr.c 019ae23b54cdc082c0b9d13205f0edef gcc/cp/constraint.cc 44e730c275906ff2db829f5b9994298e gcc/cp/coroutines.cc ! 47d8ae88568b1ad52162eff8ee224307 gcc/cp/cp-gimplify.c eab55c7f7088d85452230ea3e4fb6e0b gcc/cp/cp-lang.c 1b652554949dd65ee7cf9f3033110264 gcc/cp/cp-name-hint.h 172ce9c8be17744f898dc4d87767f723 gcc/cp/cp-objcp-common.c 867dac9005ac1106eeacfcb9bfb19498 gcc/cp/cp-objcp-common.h 942c4d40b949ce9d5caf97e8afd8c883 gcc/cp/cp-tree.def ! eb5b0c43c8378008e1eb50d877dc1ec9 gcc/cp/cp-tree.h 1fdd2540a34a8d3711868857e16b12ea gcc/cp/cp-ubsan.c ! e28a1ed2508d1fc6d197013505caf2bf gcc/cp/cvt.c eb2e3a9c14c44c0cc5c5dbcc9c82618d gcc/cp/cxx-pretty-print.c b5cc2e7a6254261a168bd34a412a0fc6 gcc/cp/cxx-pretty-print.h ! 7a4055317dba02f790f2a0222cf47c62 gcc/cp/decl.c 5c07af228d899d28c4a7a4096ae1ae34 gcc/cp/decl.h ! 5e9ca1bcdb2c9bd6780d110e48b8475f gcc/cp/decl2.c 98c98b8f005396a75738d141023feafe gcc/cp/dump.c 31839945a2103c24d966396fc5d42f75 gcc/cp/error.c 02eb1ec1cd5fd4b24715607e961d1cc7 gcc/cp/except.c ! 02577284b3d084816fc82e3c6b94bd1a gcc/cp/expr.c ! 7c7a091e5defa13f915111dc8b744b17 gcc/cp/friend.c acc27a3f2e7fed4b7ba30986e3dbf8e9 gcc/cp/g++spec.c 35e393a5d1ec04ca99cca8042af7d4ed gcc/cp/init.c ! 270f1f893ddaa81c244739de0eb25355 gcc/cp/lambda.c 2395c9f9b982880dfc925c3cbd76a4bc gcc/cp/lang-specs.h 8c0a7e69fc667bef06ad7bdf5b6d4a32 gcc/cp/lex.c 88f9b3b7adcb56a71c281373d1c5643e gcc/cp/logic.cc *************** a51ae59c8e9c36a935788923a339dd31 gcc/cp *** 4752,4767 **** f09435d1b0c974cfe45f48bfc0669984 gcc/cp/name-lookup.h a7154f7d3b54c0184476a88977d4ab3c gcc/cp/operators.def 2786790fbafb8faefa78a7b85b81022b gcc/cp/optimize.c ! 1b987a2c137584ff79dbf6ce9e93ab53 gcc/cp/parser.c bb1759eb82ec59c0a317878693eb4f45 gcc/cp/parser.h ! f01c0b9500a5c384a8150ed15f03cf98 gcc/cp/pt.c 322572fac27749e839caf803dad33025 gcc/cp/ptree.c 7ff8a27380a1e6717713246bd546b2d3 gcc/cp/rtti.c 248c55ec535b81679b9f77b9773863ab gcc/cp/search.c ! c9603afa7178fa6a1e00b948064864e9 gcc/cp/semantics.c ! 8ebad01cebf90a3255edb82664b6da5d gcc/cp/tree.c cae322bfce187ac1a745d5219629864a gcc/cp/type-utils.h ! 05e4213ca2fac32ee1bb38b826a86872 gcc/cp/typeck.c 188b29c2dbfcb6513d4fd24f3f318c9a gcc/cp/typeck2.c 06da302baeb2dc3b6a3cf7b842ae87fe gcc/cp/vtable-class-hierarchy.c 3fb2d72bc2ca089b8759ce3e4ef4e807 gcc/cppbuiltin.c --- 4753,4768 ---- f09435d1b0c974cfe45f48bfc0669984 gcc/cp/name-lookup.h a7154f7d3b54c0184476a88977d4ab3c gcc/cp/operators.def 2786790fbafb8faefa78a7b85b81022b gcc/cp/optimize.c ! c1a87363824648f913cb8611a5f38b6f gcc/cp/parser.c bb1759eb82ec59c0a317878693eb4f45 gcc/cp/parser.h ! d5b610539c877b385033d5a3f5d6dfef gcc/cp/pt.c 322572fac27749e839caf803dad33025 gcc/cp/ptree.c 7ff8a27380a1e6717713246bd546b2d3 gcc/cp/rtti.c 248c55ec535b81679b9f77b9773863ab gcc/cp/search.c ! 0fa7dea662aa8ca09471ceea95fe9777 gcc/cp/semantics.c ! 7b9d17cdb7bd0fce6108c594471f23a3 gcc/cp/tree.c cae322bfce187ac1a745d5219629864a gcc/cp/type-utils.h ! 789d8aaa4dc1e142484ac4c2864ae8db gcc/cp/typeck.c 188b29c2dbfcb6513d4fd24f3f318c9a gcc/cp/typeck2.c 06da302baeb2dc3b6a3cf7b842ae87fe gcc/cp/vtable-class-hierarchy.c 3fb2d72bc2ca089b8759ce3e4ef4e807 gcc/cppbuiltin.c *************** cae322bfce187ac1a745d5219629864a gcc/cp *** 4769,4779 **** d810e2056298f1078b649030d36a60dc gcc/cppdefault.c 76e05bdfb378e95d27c573bb828f9c12 gcc/cppdefault.h e6f2a13a28bd6c3b79c29f828dbf1a9e gcc/cprop.c ! 3f3696ca93d11e0760804c479f5d0009 gcc/cse.c 664b6e294e2b28b39aeea0b3336fbca3 gcc/cselib.c ec27fbd17f014711211a34a157aaaff3 gcc/cselib.h 1ded054093de910d9786c62bc4fe8cc6 gcc/cstamp-h.in ! fa1b2e5137739614265889d88086c3de gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 --- 4770,4780 ---- d810e2056298f1078b649030d36a60dc gcc/cppdefault.c 76e05bdfb378e95d27c573bb828f9c12 gcc/cppdefault.h e6f2a13a28bd6c3b79c29f828dbf1a9e gcc/cprop.c ! f45d56a740125bf582b304cb02b2700a gcc/cse.c 664b6e294e2b28b39aeea0b3336fbca3 gcc/cselib.c ec27fbd17f014711211a34a157aaaff3 gcc/cselib.h 1ded054093de910d9786c62bc4fe8cc6 gcc/cstamp-h.in ! 775d18a851df9e434845f394c3d7e9e5 gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 *************** a19568c9e376fa3deab3a175f14443a2 gcc/d/ *** 4794,4800 **** cd46a07008703f3011cf3fc599a24da1 gcc/d/d-attribs.cc 5fdf99ce1ae4de233e2719c9dfcabe98 gcc/d/d-builtins.cc a19a6f711214b48b73a4a6f10c45a053 gcc/d/d-codegen.cc ! fde409ebb102caa1f051bb654f17d131 gcc/d/d-convert.cc 7140c135d6faa5ac2b4d4541c7451952 gcc/d/d-diagnostic.cc b0892dae217f671746b12323dbfdb22c gcc/d/d-frontend.cc 6d4172dbc76a861d1c70b5a3061e128a gcc/d/d-incpath.cc --- 4795,4801 ---- cd46a07008703f3011cf3fc599a24da1 gcc/d/d-attribs.cc 5fdf99ce1ae4de233e2719c9dfcabe98 gcc/d/d-builtins.cc a19a6f711214b48b73a4a6f10c45a053 gcc/d/d-codegen.cc ! a8c1015fb543c83c9665165143fd0cdb gcc/d/d-convert.cc 7140c135d6faa5ac2b4d4541c7451952 gcc/d/d-diagnostic.cc b0892dae217f671746b12323dbfdb22c gcc/d/d-frontend.cc 6d4172dbc76a861d1c70b5a3061e128a gcc/d/d-incpath.cc *************** b1b4a601abe642a38842d18ec9c4a1f3 gcc/d/ *** 4808,4814 **** f6be21ab2346d2541839e048e3f4a06d gcc/d/d-target.h 69794a5bb5ef563bb29567fef3ef24e3 gcc/d/d-tree.def 2d79161b6cb8614f7217956b845f84ff gcc/d/d-tree.h ! a641aa8e7ef890aeb513a6a7c0f6d3bb gcc/d/decl.cc bb43b09505bba37d2c084b519c8d89a5 gcc/d/dmd/MERGE 094ef829e65f40de6ff4b765b3ca0aba gcc/d/dmd/access.c 1a1309d17942e7ece838aa8b9019864e gcc/d/dmd/aggregate.h --- 4809,4815 ---- f6be21ab2346d2541839e048e3f4a06d gcc/d/d-target.h 69794a5bb5ef563bb29567fef3ef24e3 gcc/d/d-tree.def 2d79161b6cb8614f7217956b845f84ff gcc/d/d-tree.h ! ae76b166bc82515a2a17dafd30a8855b gcc/d/decl.cc bb43b09505bba37d2c084b519c8d89a5 gcc/d/dmd/MERGE 094ef829e65f40de6ff4b765b3ca0aba gcc/d/dmd/access.c 1a1309d17942e7ece838aa8b9019864e gcc/d/dmd/aggregate.h *************** f961e06eea77022ef0afbf95788f8404 gcc/d/ *** 4838,4844 **** 5a7c717f181ee24ab602f9840351150d gcc/d/dmd/delegatize.c a49adabd6aa48af49bb679336a57d2d3 gcc/d/dmd/denum.c c8feb4a7b8143de030b53ba5295519ba gcc/d/dmd/dimport.c ! bc1e90d1199f0394df3e8f3eb35c3448 gcc/d/dmd/dinterpret.c 7deff36a83845e52a8c9847a7cba9170 gcc/d/dmd/dmacro.c 37ba1a4108dbe079aea76894644b7c16 gcc/d/dmd/dmangle.c 4d37ecf79a73ea949e07baaa3fc2f9ed gcc/d/dmd/dmodule.c --- 4839,4845 ---- 5a7c717f181ee24ab602f9840351150d gcc/d/dmd/delegatize.c a49adabd6aa48af49bb679336a57d2d3 gcc/d/dmd/denum.c c8feb4a7b8143de030b53ba5295519ba gcc/d/dmd/dimport.c ! 5806efbe770bbb3ac721cc572eeb1106 gcc/d/dmd/dinterpret.c 7deff36a83845e52a8c9847a7cba9170 gcc/d/dmd/dmacro.c 37ba1a4108dbe079aea76894644b7c16 gcc/d/dmd/dmangle.c 4d37ecf79a73ea949e07baaa3fc2f9ed gcc/d/dmd/dmodule.c *************** b51bf064e22dde0a02049ba02cfc1c3b gcc/d/ *** 4856,4862 **** 8966a99836d97acba39cd471926927c6 gcc/d/dmd/escape.c 741d3931e021319ef6b4ae7d98c2f56c gcc/d/dmd/expression.c 002d4c5ebc847adb5c25fe1adeb0faf0 gcc/d/dmd/expression.h ! 2d1fdd39912fc7d647cd5519acb4911d gcc/d/dmd/expressionsem.c 8ccd6562dee14a44a3b18f83de41c7e6 gcc/d/dmd/func.c aa8bdbd09e2a54e6a89ea90aaad8d409 gcc/d/dmd/globals.h 7dd635952261e678b949533d3d2abdc4 gcc/d/dmd/hdrgen.c --- 4857,4863 ---- 8966a99836d97acba39cd471926927c6 gcc/d/dmd/escape.c 741d3931e021319ef6b4ae7d98c2f56c gcc/d/dmd/expression.c 002d4c5ebc847adb5c25fe1adeb0faf0 gcc/d/dmd/expression.h ! b0dec1e94bce765f92f658287abe7d89 gcc/d/dmd/expressionsem.c 8ccd6562dee14a44a3b18f83de41c7e6 gcc/d/dmd/func.c aa8bdbd09e2a54e6a89ea90aaad8d409 gcc/d/dmd/globals.h 7dd635952261e678b949533d3d2abdc4 gcc/d/dmd/hdrgen.c *************** b6b97848ff841c2ba786e35a155e7969 gcc/d/ *** 4940,4948 **** 892df329899d0581aea17c5742a9652a gcc/d/dmd/utils.c a8f7c4f694d68924d68d98d7d2c17d09 gcc/d/dmd/version.h ee40ca13e71f17c1810a03367e9f8b1b gcc/d/dmd/visitor.h ! 955d0cf488664d232687eadf0c28abea gcc/d/expr.cc ! 68181946228b38dfb5d6fccf924382c4 gcc/d/gdc.texi ! a3c0cc319f091942f45eea92a6af41ff gcc/d/imports.cc eba82f3bc8e120da884c4e286247b5ec gcc/d/intrinsics.cc 0a8e8941af328b030e83d1e9cc0b9065 gcc/d/intrinsics.def fc37be5fab470b465ee72bc78fb30ee1 gcc/d/lang-specs.h --- 4941,4949 ---- 892df329899d0581aea17c5742a9652a gcc/d/dmd/utils.c a8f7c4f694d68924d68d98d7d2c17d09 gcc/d/dmd/version.h ee40ca13e71f17c1810a03367e9f8b1b gcc/d/dmd/visitor.h ! adbadbf6e00746a0738a07e274fdb08b gcc/d/expr.cc ! 2b6a62f5d486c4c03ad661ccf5f70cff gcc/d/gdc.texi ! f678f62d0184946fd1aa39ec41aae949 gcc/d/imports.cc eba82f3bc8e120da884c4e286247b5ec gcc/d/intrinsics.cc 0a8e8941af328b030e83d1e9cc0b9065 gcc/d/intrinsics.def fc37be5fab470b465ee72bc78fb30ee1 gcc/d/lang-specs.h *************** a085b5c31a34e6c194c3108b96c1e203 gcc/d/ *** 4951,4957 **** 68484f70c484e6e0f6edd6ed23c6edaa gcc/d/modules.cc 4cf8cc279a987b0fda776077fd53061f gcc/d/runtime.cc 9c2b70944203746f17b8754ba2109510 gcc/d/runtime.def ! b860ba3324520aff7268d00ff5a3b2f4 gcc/d/toir.cc a8d69052162e9ee53fb1390a2354f76f gcc/d/typeinfo.cc 833a6b769ba1bb6f9756f95475c95a80 gcc/d/types.cc ffe6cb4083340e61aa80419c3ac2f84a gcc/d/verstr.h --- 4952,4958 ---- 68484f70c484e6e0f6edd6ed23c6edaa gcc/d/modules.cc 4cf8cc279a987b0fda776077fd53061f gcc/d/runtime.cc 9c2b70944203746f17b8754ba2109510 gcc/d/runtime.def ! fc82962c5b41e96e3e1499ec22e8db44 gcc/d/toir.cc a8d69052162e9ee53fb1390a2354f76f gcc/d/typeinfo.cc 833a6b769ba1bb6f9756f95475c95a80 gcc/d/types.cc ffe6cb4083340e61aa80419c3ac2f84a gcc/d/verstr.h *************** c18771821b3c0277be8874098ef0a496 gcc/do *** 5001,5038 **** 0aeda9bf1c0b3e2f6f82916a118096d8 gcc/doc/configterms.texi 591c43bd3e0acf5e1319e6a54b9797dd gcc/doc/contrib.texi 9d45c807a3aa05e4129599f4144c79d3 gcc/doc/contribute.texi ! 4111bb183ce82c3e6121a69a4c3d64f9 gcc/doc/cpp.1 ! 1d711bac74d5d50e6dd2205f2e079033 gcc/doc/cpp.info b0ec3515657fc0165ae21602af7f2e82 gcc/doc/cpp.texi 0de35fd948c2d1bfadf0b56403bcd70c gcc/doc/cppdiropts.texi ec4caf3825b9937f10f1dde42b534a68 gcc/doc/cppenv.texi ! 3cfc7301ee64f6a2b78c771bb8cec21d gcc/doc/cppinternals.info c0d6abb8d561540b8519a01789ab20e4 gcc/doc/cppinternals.texi ! 1592fa0920a0202b757dece389015e3f gcc/doc/cppopts.texi 314fc175d338403fc1a2d890f6f325b7 gcc/doc/cppwarnopts.texi ! 12e8c9f596335b8fd0344243c336004a gcc/doc/extend.texi 470b981de977916fd30c8a64c80b7fde gcc/doc/fragments.texi 20adbdf5bf9edc8cb6efd4a9cfc1a5c8 gcc/doc/frontends.texi ! a1f6d18b92aa013a748dfb7697fb41e4 gcc/doc/fsf-funding.7 ! 73458887fe66018650e5c02a8e57aaa9 gcc/doc/g++.1 ! 73458887fe66018650e5c02a8e57aaa9 gcc/doc/gcc.1 ! 77d5dfe4e42e3d43a9474c41ba016e58 gcc/doc/gcc.info 7a4d49e66462ecaddb8c3d35a4be3ce7 gcc/doc/gcc.texi ! 7b13b5ec00f710379a04abd689f39595 gcc/doc/gccinstall.info ! 970d0e5aacac99c5865dd5b32863d7ec gcc/doc/gccint.info 4c3bb0ef5f4f8fd8a877cebf249596fa gcc/doc/gccint.texi ! 856bc88531e4c045e49e38fb2eeff2d8 gcc/doc/gcov-dump.1 d0a4d191b48a6c48c8e5d1d6673aca45 gcc/doc/gcov-dump.texi ! 6dd8d0cbd743d880a4b8699b317d0098 gcc/doc/gcov-tool.1 51792fbbdc63c819a9ca77e38c002af9 gcc/doc/gcov-tool.texi ! 183d0b3b54308b9ca887cf46cca38d22 gcc/doc/gcov.1 7b5042f630659261fc8686377fa6b034 gcc/doc/gcov.texi e92265395b7daf7dc7ce05d3ec64a376 gcc/doc/generic.texi ! 5c48a60e6521c6d343fc11df209f54fb gcc/doc/gfdl.7 ! 8bc3aaa17f27f51d62112c604aa5ce9f gcc/doc/gfortran.1 af5c4e3c5b6e9491191874ab81bae52b gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 45beaa7ba7ed48e5565a2dace7e77123 gcc/doc/gpl.7 7cdd885d331cff4af22305f97d7c2f90 gcc/doc/gty.texi 791902062ac528ae5e40ab627fddda4a gcc/doc/headerdirs.texi 5965b4c8e9b7704d12a73ce2dd213ed5 gcc/doc/hostconfig.texi --- 5002,5039 ---- 0aeda9bf1c0b3e2f6f82916a118096d8 gcc/doc/configterms.texi 591c43bd3e0acf5e1319e6a54b9797dd gcc/doc/contrib.texi 9d45c807a3aa05e4129599f4144c79d3 gcc/doc/contribute.texi ! fda5bd9483f9ac9f1cf347468d5bbfd6 gcc/doc/cpp.1 ! 071de8016e3c5a9481dc6b9aa8d1fe85 gcc/doc/cpp.info b0ec3515657fc0165ae21602af7f2e82 gcc/doc/cpp.texi 0de35fd948c2d1bfadf0b56403bcd70c gcc/doc/cppdiropts.texi ec4caf3825b9937f10f1dde42b534a68 gcc/doc/cppenv.texi ! 853cfd24195656e2b0cb2dc824537be0 gcc/doc/cppinternals.info c0d6abb8d561540b8519a01789ab20e4 gcc/doc/cppinternals.texi ! c28ddcc67cabfb1efed60ecff10f04db gcc/doc/cppopts.texi 314fc175d338403fc1a2d890f6f325b7 gcc/doc/cppwarnopts.texi ! a7676b884ce61884ea674890cbb64f7d gcc/doc/extend.texi 470b981de977916fd30c8a64c80b7fde gcc/doc/fragments.texi 20adbdf5bf9edc8cb6efd4a9cfc1a5c8 gcc/doc/frontends.texi ! d2b249804a07357191c448bc34471ea9 gcc/doc/fsf-funding.7 ! 6709722f7f56395469ff3cbd2dfcedea gcc/doc/g++.1 ! 6709722f7f56395469ff3cbd2dfcedea gcc/doc/gcc.1 ! 6750d154c8e95dc3403d9e4230ed7402 gcc/doc/gcc.info 7a4d49e66462ecaddb8c3d35a4be3ce7 gcc/doc/gcc.texi ! a050da47657674c5a09758bc25abc302 gcc/doc/gccinstall.info ! 7ccee6590efbdee3be5e33841e4e59f6 gcc/doc/gccint.info 4c3bb0ef5f4f8fd8a877cebf249596fa gcc/doc/gccint.texi ! 2292dcee52fb4173d1c3a4e0e673c697 gcc/doc/gcov-dump.1 d0a4d191b48a6c48c8e5d1d6673aca45 gcc/doc/gcov-dump.texi ! 516314bd7d765ee994eacdcf96a88ae3 gcc/doc/gcov-tool.1 51792fbbdc63c819a9ca77e38c002af9 gcc/doc/gcov-tool.texi ! caec8417ab289d2d2e0c28d00a20cc15 gcc/doc/gcov.1 7b5042f630659261fc8686377fa6b034 gcc/doc/gcov.texi e92265395b7daf7dc7ce05d3ec64a376 gcc/doc/generic.texi ! e7d000bb1ebba9875f275ec1f4f3dd01 gcc/doc/gfdl.7 ! 4657d78adeef7ae65a03940dd357c436 gcc/doc/gfortran.1 af5c4e3c5b6e9491191874ab81bae52b gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 8bf9e5a4dfce80a2a55e6afcacbf2d6d gcc/doc/gpl.7 7cdd885d331cff4af22305f97d7c2f90 gcc/doc/gty.texi 791902062ac528ae5e40ab627fddda4a gcc/doc/headerdirs.texi 5965b4c8e9b7704d12a73ce2dd213ed5 gcc/doc/hostconfig.texi *************** b6389c8331319f90193f11ac084e86e4 gcc/do *** 5047,5057 **** 5df442b76396a3197f5ce631ed59f48e gcc/doc/install.texi 7a4b82d3eebd4858aa30fe0f4404d548 gcc/doc/install.texi2html 31edfbf55a9d3df130c88d68f0169c39 gcc/doc/interface.texi ! 58401cb12c3b4a3806b5ca1687a0cc28 gcc/doc/invoke.texi 3a49345ce16cd33f59d6cf7e0ee815ab gcc/doc/languages.texi 268b9397afea988eadd93ce81b1bb9a2 gcc/doc/libgcc.texi e02b5aa8f429c0957c133e264c9dc3ec gcc/doc/loop.texi ! 3eb4004fbad030d7b482189799ab452e gcc/doc/lto-dump.1 b99bd8da5b02b02634f7d9a942ffbe71 gcc/doc/lto-dump.texi f18a876be44fd2b5c38b7c10dcf2bc94 gcc/doc/lto.texi a8f68d3e6eec459c1c1d361c337737a3 gcc/doc/makefile.texi --- 5048,5058 ---- 5df442b76396a3197f5ce631ed59f48e gcc/doc/install.texi 7a4b82d3eebd4858aa30fe0f4404d548 gcc/doc/install.texi2html 31edfbf55a9d3df130c88d68f0169c39 gcc/doc/interface.texi ! d914dd90561f41a607814069e434a67b gcc/doc/invoke.texi 3a49345ce16cd33f59d6cf7e0ee815ab gcc/doc/languages.texi 268b9397afea988eadd93ce81b1bb9a2 gcc/doc/libgcc.texi e02b5aa8f429c0957c133e264c9dc3ec gcc/doc/loop.texi ! 2b0813d1d9eb31cdeea18341615ba216 gcc/doc/lto-dump.1 b99bd8da5b02b02634f7d9a942ffbe71 gcc/doc/lto-dump.texi f18a876be44fd2b5c38b7c10dcf2bc94 gcc/doc/lto.texi a8f68d3e6eec459c1c1d361c337737a3 gcc/doc/makefile.texi *************** c6370f22bbfcbcb87187c92f76076171 gcc/ex *** 5107,5113 **** 8c8476ba0f61914dffce238540c59b95 gcc/explow.h add1e4cb369e0520484abd0b715bc767 gcc/expmed.c 5e0174392e3f3a8cc0a63391e02aa772 gcc/expmed.h ! 4ceca65ed0e7d617a2f7bb8a783da67a gcc/expr.c 39274814d6e8332f62ce66e987da6dcd gcc/expr.h a89ff289b70e8fa646431a2b2cd439d3 gcc/fibonacci_heap.c 9bcdbc3fe605cab6b77a06f781d4a583 gcc/fibonacci_heap.h --- 5108,5114 ---- 8c8476ba0f61914dffce238540c59b95 gcc/explow.h add1e4cb369e0520484abd0b715bc767 gcc/expmed.c 5e0174392e3f3a8cc0a63391e02aa772 gcc/expmed.h ! 79fcdbde2ff60498223616334b0fb007 gcc/expr.c 39274814d6e8332f62ce66e987da6dcd gcc/expr.h a89ff289b70e8fa646431a2b2cd439d3 gcc/fibonacci_heap.c 9bcdbc3fe605cab6b77a06f781d4a583 gcc/fibonacci_heap.h *************** c7818ea72561a6c3ef3613f1f94eef57 gcc/fi *** 5124,5130 **** 16906a527f09ac9bf549f3acfa4223cd gcc/fold-const-call.h 7fc5dfef3abeab38d8d3f917a3dd8d73 gcc/fold-const.c abc79786bf3632dfb6fbaa4020b7260a gcc/fold-const.h ! e6cafcaf569c837a520f8f487e0116a7 gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 --- 5125,5131 ---- 16906a527f09ac9bf549f3acfa4223cd gcc/fold-const-call.h 7fc5dfef3abeab38d8d3f917a3dd8d73 gcc/fold-const.c abc79786bf3632dfb6fbaa4020b7260a gcc/fold-const.h ! 12945af0eaeef675bee80cc2b8913316 gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 *************** a71efd3e199a80ee07c7f350cc8fcf91 gcc/fo *** 5147,5155 **** 5c6f2ebe741a0ada8c3033e2ea5d2ad7 gcc/fortran/Make-lang.in 5909b9f6e71710f62afe91d5f67898f7 gcc/fortran/arith.c ca8b1e108aefbac2b7ac57c153617f6c gcc/fortran/arith.h ! b05deab2c992671d980cfe3478e519f9 gcc/fortran/array.c 22a0a106380de68c4cdc48f21e8df1eb gcc/fortran/bbt.c ! ec3ecfb4fcfde5919a0f4f68e3d2b285 gcc/fortran/check.c a8a6bab62f224890f29d51f5f16aefd3 gcc/fortran/class.c ff1762e0971ecf2d08fcffa2311224bd gcc/fortran/config-lang.in d0f92e4c6353c809d59a8b3d9f6c1b82 gcc/fortran/constructor.c --- 5148,5156 ---- 5c6f2ebe741a0ada8c3033e2ea5d2ad7 gcc/fortran/Make-lang.in 5909b9f6e71710f62afe91d5f67898f7 gcc/fortran/arith.c ca8b1e108aefbac2b7ac57c153617f6c gcc/fortran/arith.h ! c48b4a29489189b6a3a63e5a66dc84d3 gcc/fortran/array.c 22a0a106380de68c4cdc48f21e8df1eb gcc/fortran/bbt.c ! f7595284d48db08119e05a75bfa63a29 gcc/fortran/check.c a8a6bab62f224890f29d51f5f16aefd3 gcc/fortran/class.c ff1762e0971ecf2d08fcffa2311224bd gcc/fortran/config-lang.in d0f92e4c6353c809d59a8b3d9f6c1b82 gcc/fortran/constructor.c *************** d74f46867c50e9065742294cf7981112 gcc/fo *** 5159,5192 **** b36a6c41c7be94c6ecabf570d20ef218 gcc/fortran/cpp.h f014f88abd3f67ba65654dfb86f07d39 gcc/fortran/data.c 4577ffbed1dda4ed381606219c395ead gcc/fortran/data.h ! 3a93d2749eed9e47bc0d1ecdf1175c46 gcc/fortran/decl.c ! ff2a9c749b3cdddd0069d2681223f4b0 gcc/fortran/dependency.c c44b979760eb69c741f2153783e81265 gcc/fortran/dependency.h 3e38fbef8d1fa77431311f2c23b04486 gcc/fortran/dump-parse-tree.c 339cf2cc8c2a7445bbf46589cfd8565c gcc/fortran/error.c ! b54645eec62d2d184469ef591d0e7406 gcc/fortran/expr.c ! d7765a920ed5575a88d4db604b220ae8 gcc/fortran/f95-lang.c dbade9a0443babcb6841e422e4bd90ec gcc/fortran/frontend-passes.c 4a9175c58f9890ba356a1a7a096d5080 gcc/fortran/gfc-diagnostic.def 6185d88092feb0bfe9da2dd3a00c4a9b gcc/fortran/gfc-internals.texi 210ea7941b8ac304a8a9dc59d1f21775 gcc/fortran/gfortran.h ! 9475f1be32fdf8423fa1288030b62aae gcc/fortran/gfortran.info ba78f919c059d2c39dea6fd637ec60c4 gcc/fortran/gfortran.texi 4cc401504b7e658fab348681169c32a4 gcc/fortran/gfortranspec.c ! fdaa35d24d70de3a8ac5f13bf9d76599 gcc/fortran/interface.c 829eaa0082269f5b5febfdb18143a3dc gcc/fortran/intrinsic.c ceea3037f74de08ef111da7bb019ed4c gcc/fortran/intrinsic.h 9f9aec12ab6a67091b66c4f231a3e1f8 gcc/fortran/intrinsic.texi a06453ed65fec3338fa1b2817ff8957b gcc/fortran/invoke.texi fca17b96a19a1afac83ccfb428b5da99 gcc/fortran/io.c 6d5e915cff913cdb02ba2baa120b8fe8 gcc/fortran/ioparm.def ! 2bee38469d4ce1098c8c91e20abe8440 gcc/fortran/iresolve.c 06cbd27c3b0bbe8982f480c02560715c gcc/fortran/iso-c-binding.def 1bc68fc9ea57d5448d32e38f470839ef gcc/fortran/iso-fortran-env.def 4704c3c4e98e7f39a242215740f10a69 gcc/fortran/lang-specs.h e283f0937fc450e80999166335b17244 gcc/fortran/lang.opt 226cf6b14c1286da7bf2193ae58b56d2 gcc/fortran/libgfortran.h ! 76fa60e2c6b43c01900148ad1c2229c8 gcc/fortran/match.c 828ba0a275b20969ca5988535d6e958a gcc/fortran/match.h be55c16cc142b0c725759a753b87bf54 gcc/fortran/matchexp.c a7b0953cc8a68adc1bb8bbae3cfe218d gcc/fortran/mathbuiltins.def --- 5160,5193 ---- b36a6c41c7be94c6ecabf570d20ef218 gcc/fortran/cpp.h f014f88abd3f67ba65654dfb86f07d39 gcc/fortran/data.c 4577ffbed1dda4ed381606219c395ead gcc/fortran/data.h ! 75aa9f17309e292b057d5a01a9408a71 gcc/fortran/decl.c ! 45d096184a417d9efa8ed444da783998 gcc/fortran/dependency.c c44b979760eb69c741f2153783e81265 gcc/fortran/dependency.h 3e38fbef8d1fa77431311f2c23b04486 gcc/fortran/dump-parse-tree.c 339cf2cc8c2a7445bbf46589cfd8565c gcc/fortran/error.c ! a58b595a14abc74da4ff9079aa01ecae gcc/fortran/expr.c ! cae1fea774b2ac4af8e64e5c9a4fbd56 gcc/fortran/f95-lang.c dbade9a0443babcb6841e422e4bd90ec gcc/fortran/frontend-passes.c 4a9175c58f9890ba356a1a7a096d5080 gcc/fortran/gfc-diagnostic.def 6185d88092feb0bfe9da2dd3a00c4a9b gcc/fortran/gfc-internals.texi 210ea7941b8ac304a8a9dc59d1f21775 gcc/fortran/gfortran.h ! 1b627b78375ba0ef99d0e6e89e3cceb7 gcc/fortran/gfortran.info ba78f919c059d2c39dea6fd637ec60c4 gcc/fortran/gfortran.texi 4cc401504b7e658fab348681169c32a4 gcc/fortran/gfortranspec.c ! 2cf9f47781dc0c2907113863264bdb51 gcc/fortran/interface.c 829eaa0082269f5b5febfdb18143a3dc gcc/fortran/intrinsic.c ceea3037f74de08ef111da7bb019ed4c gcc/fortran/intrinsic.h 9f9aec12ab6a67091b66c4f231a3e1f8 gcc/fortran/intrinsic.texi a06453ed65fec3338fa1b2817ff8957b gcc/fortran/invoke.texi fca17b96a19a1afac83ccfb428b5da99 gcc/fortran/io.c 6d5e915cff913cdb02ba2baa120b8fe8 gcc/fortran/ioparm.def ! c6c50f11aa53e0c86e93ed5fe97ed1bf gcc/fortran/iresolve.c 06cbd27c3b0bbe8982f480c02560715c gcc/fortran/iso-c-binding.def 1bc68fc9ea57d5448d32e38f470839ef gcc/fortran/iso-fortran-env.def 4704c3c4e98e7f39a242215740f10a69 gcc/fortran/lang-specs.h e283f0937fc450e80999166335b17244 gcc/fortran/lang.opt 226cf6b14c1286da7bf2193ae58b56d2 gcc/fortran/libgfortran.h ! 94cbea047cd59fbf43fd018341cdd4d3 gcc/fortran/match.c 828ba0a275b20969ca5988535d6e958a gcc/fortran/match.h be55c16cc142b0c725759a753b87bf54 gcc/fortran/matchexp.c a7b0953cc8a68adc1bb8bbae3cfe218d gcc/fortran/mathbuiltins.def *************** a7b0953cc8a68adc1bb8bbae3cfe218d gcc/fo *** 5194,5208 **** fa7960ce4e6f31518d07f43fab0064fb gcc/fortran/module.c 98073c8b0067e3f1cf86cfcbedea3d4b gcc/fortran/openmp.c a846edad604c36aca8373eca299f9003 gcc/fortran/options.c ! 977acb907d69546a8fe4d2f9cf6497a8 gcc/fortran/parse.c be3bc61c20fd3fe95f04b104478ae250 gcc/fortran/parse.h ! 0213a860b48912534c8d5b479e6a7ca4 gcc/fortran/primary.c ! 94c458f91306bac2e0b519ed4baea33c gcc/fortran/resolve.c 9210d7371a77a15b79b659e8719ab872 gcc/fortran/scanner.c 679740af5fd1779d09bad19b2a37b9cf gcc/fortran/scanner.h ! 113545e00223632c0e6f76240f1aee08 gcc/fortran/simplify.c c992b80ea1e122025853709b9349485d gcc/fortran/st.c ! 68eda559c17fe42472ac86c38c28a099 gcc/fortran/symbol.c 006ae369e32fd80bae953a25b64ef9b1 gcc/fortran/target-memory.c 2079251ce04664a8bcacf6d0d1b9c63d gcc/fortran/target-memory.h 1c6d1da63a3d9a455d0f808df3710c0f gcc/fortran/trans-array.c --- 5195,5209 ---- fa7960ce4e6f31518d07f43fab0064fb gcc/fortran/module.c 98073c8b0067e3f1cf86cfcbedea3d4b gcc/fortran/openmp.c a846edad604c36aca8373eca299f9003 gcc/fortran/options.c ! 2bbc854869f72f583061d1cca2f99f61 gcc/fortran/parse.c be3bc61c20fd3fe95f04b104478ae250 gcc/fortran/parse.h ! 33327083c040fe8dbfcaeb146094fe70 gcc/fortran/primary.c ! 7b9230daab04db277154a46cbcca2a67 gcc/fortran/resolve.c 9210d7371a77a15b79b659e8719ab872 gcc/fortran/scanner.c 679740af5fd1779d09bad19b2a37b9cf gcc/fortran/scanner.h ! b11f5b78f7ccfdddc755cde4a31d7653 gcc/fortran/simplify.c c992b80ea1e122025853709b9349485d gcc/fortran/st.c ! 6ec236ceb5f880a4fa687c2355e2672c gcc/fortran/symbol.c 006ae369e32fd80bae953a25b64ef9b1 gcc/fortran/target-memory.c 2079251ce04664a8bcacf6d0d1b9c63d gcc/fortran/target-memory.h 1c6d1da63a3d9a455d0f808df3710c0f gcc/fortran/trans-array.c *************** c992b80ea1e122025853709b9349485d gcc/fo *** 5210,5234 **** 3b24f22e64661b57edc88f7be8c0e39d gcc/fortran/trans-common.c 7067790d4cb3a5061b0d1ce2e9c343e9 gcc/fortran/trans-const.c b56b11f97407d25ca49b09760f059abe gcc/fortran/trans-const.h ! 32a307a8fca44beb944d31727152aaba gcc/fortran/trans-decl.c ! c5faf10720af7ecee39bc4460c4ff0aa gcc/fortran/trans-expr.c ! 7c56cc8a0fe94ecd22b4f344a3edcd52 gcc/fortran/trans-intrinsic.c 8b2a38b5821ecb86b2d2c64402eab26a gcc/fortran/trans-io.c a74d6a9935c305f1edb58fb8465761de gcc/fortran/trans-openmp.c 67bac98c6f4d0bb710fb422590553f43 gcc/fortran/trans-stmt.c 5bf228024f266738a2c924e3b4c3c159 gcc/fortran/trans-stmt.h ! b4109643c92ddd2e089c7aab89c6de51 gcc/fortran/trans-types.c 9c69f1144a81294c83c5dfccf059e4c4 gcc/fortran/trans-types.h d64a1b4f0cf5fc8fb67e745e08325f43 gcc/fortran/trans.c ! 81530ead86dd639638783c7081dd79d5 gcc/fortran/trans.h 125b02d4dda231478bb8db64c9539602 gcc/fortran/trigd_fe.inc 58b4d60332325e7af086f8737b608276 gcc/fortran/types.def 1b79283e54291d237be28ab4ae4b3f1d gcc/fp-test.c 0016a094a47192e17ab43316c6b81e77 gcc/function-abi.cc f5575b9b4148e14a06bd15e48a059fe9 gcc/function-abi.h 1d1c7fefe6627b480bdca65a93572b85 gcc/function-tests.c ! 8d7a3430127b1531b249ae8f38a04f63 gcc/function.c ! 471a2138d677294e0d8b0ad39fdac18d gcc/function.h be4b170ee267123479f1e1f21b624f1b gcc/fwprop.c dedbe8a6eb31269c6155407f0628b3dd gcc/gcc-ar.c 56dd7d0a4ae49da481226f30c2fe7f5b gcc/gcc-main.c --- 5211,5235 ---- 3b24f22e64661b57edc88f7be8c0e39d gcc/fortran/trans-common.c 7067790d4cb3a5061b0d1ce2e9c343e9 gcc/fortran/trans-const.c b56b11f97407d25ca49b09760f059abe gcc/fortran/trans-const.h ! 465e0764d21ed891707b49e883814ac6 gcc/fortran/trans-decl.c ! 7abbde3e7ba1d3661e003cdfd618cf3b gcc/fortran/trans-expr.c ! f3f5d5955cd603bea5ff23302ccf9fd2 gcc/fortran/trans-intrinsic.c 8b2a38b5821ecb86b2d2c64402eab26a gcc/fortran/trans-io.c a74d6a9935c305f1edb58fb8465761de gcc/fortran/trans-openmp.c 67bac98c6f4d0bb710fb422590553f43 gcc/fortran/trans-stmt.c 5bf228024f266738a2c924e3b4c3c159 gcc/fortran/trans-stmt.h ! f771a545fd164141f7a3fb76b23663c4 gcc/fortran/trans-types.c 9c69f1144a81294c83c5dfccf059e4c4 gcc/fortran/trans-types.h d64a1b4f0cf5fc8fb67e745e08325f43 gcc/fortran/trans.c ! 030cdf313044cf96e422f24973dc4767 gcc/fortran/trans.h 125b02d4dda231478bb8db64c9539602 gcc/fortran/trigd_fe.inc 58b4d60332325e7af086f8737b608276 gcc/fortran/types.def 1b79283e54291d237be28ab4ae4b3f1d gcc/fp-test.c 0016a094a47192e17ab43316c6b81e77 gcc/function-abi.cc f5575b9b4148e14a06bd15e48a059fe9 gcc/function-abi.h 1d1c7fefe6627b480bdca65a93572b85 gcc/function-tests.c ! 65a95fab516c91e92e819418bb557622 gcc/function.c ! 0de1800d7d635e2bfee3a65ace0990ae gcc/function.h be4b170ee267123479f1e1f21b624f1b gcc/fwprop.c dedbe8a6eb31269c6155407f0628b3dd gcc/gcc-ar.c 56dd7d0a4ae49da481226f30c2fe7f5b gcc/gcc-main.c *************** cfff649691185f367fd2b8e73ac7ad99 gcc/gc *** 5236,5242 **** 62560119c356b251cca1099cb4c0e36e gcc/gcc-rich-location.c 833829dec49e2b78c0ce9e6ff94ed95e gcc/gcc-rich-location.h 1e7a8acabfe981225ee07f2ca2588326 gcc/gcc-symtab.h ! 001ba31c288a6eb84d2c513fa9e853d0 gcc/gcc.c bd03f9afb8e7458acac40b10fd781d0a gcc/gcc.h bbb1c23e69c2fe3a3d5ad53c86e1ecb6 gcc/gcov-counter.def f54685150224625db645d8f0a852916f gcc/gcov-dump.c --- 5237,5243 ---- 62560119c356b251cca1099cb4c0e36e gcc/gcc-rich-location.c 833829dec49e2b78c0ce9e6ff94ed95e gcc/gcc-rich-location.h 1e7a8acabfe981225ee07f2ca2588326 gcc/gcc-symtab.h ! 1c31b9b25c5e7577bd18d0ee9d97b355 gcc/gcc.c bd03f9afb8e7458acac40b10fd781d0a gcc/gcc.h bbb1c23e69c2fe3a3d5ad53c86e1ecb6 gcc/gcov-counter.def f54685150224625db645d8f0a852916f gcc/gcov-dump.c *************** b3839103fa0b153f5f766d5e9c0fff08 gcc/ge *** 5266,5277 **** 5d82a21c27e4fc31eb9121e941ab44ed gcc/genconstants.c 643b236075127cb3912a428241d7045e gcc/genemit.c a121314dddd509799e606d5c36ef4f21 gcc/genenums.c ! a1e549f76fdae9e7751ece58813a2001 gcc/generic-match-head.c 29bf3289ba360de671cfcd854cf59a22 gcc/generic-match.h 512811c4f04c2a6b3ee96bd1050c8254 gcc/genextract.c 6b1b20df0e1c1d98bbb87eda8feb1aa9 gcc/genflags.c d5ba0558db6b0ab6fa6173d1928e95a8 gcc/gengenrtl.c ! a47d7712b14bcc384e3ad4607724c775 gcc/gengtype-lex.c 790251f979c35416aba2f02f062588a3 gcc/gengtype-lex.l 50e413eeb1665bf9eb5c8f68ac1b3513 gcc/gengtype-parse.c 0f39be6bb5abe83175ebce4bd00ad8b8 gcc/gengtype-state.c --- 5267,5278 ---- 5d82a21c27e4fc31eb9121e941ab44ed gcc/genconstants.c 643b236075127cb3912a428241d7045e gcc/genemit.c a121314dddd509799e606d5c36ef4f21 gcc/genenums.c ! a7bbd182b520d52de58488d7efb941a4 gcc/generic-match-head.c 29bf3289ba360de671cfcd854cf59a22 gcc/generic-match.h 512811c4f04c2a6b3ee96bd1050c8254 gcc/genextract.c 6b1b20df0e1c1d98bbb87eda8feb1aa9 gcc/genflags.c d5ba0558db6b0ab6fa6173d1928e95a8 gcc/gengenrtl.c ! 346e16f0d92d88367ffb0c90ca4380f2 gcc/gengtype-lex.c 790251f979c35416aba2f02f062588a3 gcc/gengtype-lex.l 50e413eeb1665bf9eb5c8f68ac1b3513 gcc/gengtype-parse.c 0f39be6bb5abe83175ebce4bd00ad8b8 gcc/gengtype-state.c *************** ed17d1c5e9fc48436a080788ce2b0ef1 gcc/gi *** 5324,5330 **** 52b5e409d797ce70c64b4786ee0bf3b8 gcc/gimple-ssa-nonnull-compare.c c7c49b9d0297fb5d524ed3f7394f0968 gcc/gimple-ssa-split-paths.c bf48772e4c10881b67ac229cd00aff50 gcc/gimple-ssa-sprintf.c ! 52c66d872308f8c14949eb95700ba5cd gcc/gimple-ssa-store-merging.c 8960c3cbca38a2eaf05bd32e3ecf4854 gcc/gimple-ssa-strength-reduction.c 83fd2fdd73077218ec13ec004aef5ab0 gcc/gimple-ssa-warn-alloca.c f72a465e49a5175b7273d87fd391f004 gcc/gimple-ssa-warn-restrict.c --- 5325,5331 ---- 52b5e409d797ce70c64b4786ee0bf3b8 gcc/gimple-ssa-nonnull-compare.c c7c49b9d0297fb5d524ed3f7394f0968 gcc/gimple-ssa-split-paths.c bf48772e4c10881b67ac229cd00aff50 gcc/gimple-ssa-sprintf.c ! 399a1b42b2b009951f3f8eccc40b2dcf gcc/gimple-ssa-store-merging.c 8960c3cbca38a2eaf05bd32e3ecf4854 gcc/gimple-ssa-strength-reduction.c 83fd2fdd73077218ec13ec004aef5ab0 gcc/gimple-ssa-warn-alloca.c f72a465e49a5175b7273d87fd391f004 gcc/gimple-ssa-warn-restrict.c *************** a7b6c54cea96cb12874d9565e58bab5a gcc/gi *** 5357,5373 **** 0608636acf1496b7f55fd44f5db0b82b gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h f68ba128faa37699b34eabd954dec2e7 gcc/glimits.h ! 80bbfa396dc7079b85d255ebec831415 gcc/go/ChangeLog 7704e902d7eca77c3c54d4b0d74e1280 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc ba1d1d5398ab441ac25b708319bb4d33 gcc/go/config-lang.in b6812433e2bf40a03c8504f580a5b3ec gcc/go/gccgo.texi ! cafbcde405852de043f309f5e2ac94bd gcc/go/go-backend.c 6f9ac459ff5936a3d21de3435d396d78 gcc/go/go-c.h acff316a0e8db218432f2764fe58cb08 gcc/go/go-gcc-diagnostics.cc d3eb3a363d2930cfe4aece1e0fecfa5b gcc/go/go-gcc.cc f855b94c159262d963922f45595f57c2 gcc/go/go-gcc.h ! 3499471e15b7bebf09eb4c8d732e38e1 gcc/go/go-lang.c c5d6aaa7e913ef205113a2bba2e5206f gcc/go/go-linemap.cc 91c7a6773e207cc086ae0888826cc3c4 gcc/go/go-location.h 46f49e79ed5bd91f45e19fb1abf77ce3 gcc/go/go-sha1.cc --- 5358,5374 ---- 0608636acf1496b7f55fd44f5db0b82b gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h f68ba128faa37699b34eabd954dec2e7 gcc/glimits.h ! b15ac791ab8b3634c0dd907bc2da9d27 gcc/go/ChangeLog 7704e902d7eca77c3c54d4b0d74e1280 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc ba1d1d5398ab441ac25b708319bb4d33 gcc/go/config-lang.in b6812433e2bf40a03c8504f580a5b3ec gcc/go/gccgo.texi ! 99519616f08115cf6ddb6494d5368b92 gcc/go/go-backend.c 6f9ac459ff5936a3d21de3435d396d78 gcc/go/go-c.h acff316a0e8db218432f2764fe58cb08 gcc/go/go-gcc-diagnostics.cc d3eb3a363d2930cfe4aece1e0fecfa5b gcc/go/go-gcc.cc f855b94c159262d963922f45595f57c2 gcc/go/go-gcc.h ! 774d9a1ddb384359d8a599c50b4d039a gcc/go/go-lang.c c5d6aaa7e913ef205113a2bba2e5206f gcc/go/go-linemap.cc 91c7a6773e207cc086ae0888826cc3c4 gcc/go/go-location.h 46f49e79ed5bd91f45e19fb1abf77ce3 gcc/go/go-sha1.cc *************** f61bfa11e5056710d46d3ef576f21438 gcc/hs *** 5468,5474 **** ba4bc2226879e0be934d32f6f2aadeaa gcc/hw-doloop.h 909d931869b7d5535696c8f9e6fbc58d gcc/hwint.c 53f6c7822d2955059f5474124b89c8d8 gcc/hwint.h ! 468e9ae5cdbbc736482dfec69c96549c gcc/ifcvt.c 7cf51303d986638791f93b75b6e05e25 gcc/ifcvt.h c7a8101076016714491228c2c888df88 gcc/inchash.c 1a0d7710c9a7b84ecbb544fedf87876c gcc/inchash.h --- 5469,5475 ---- ba4bc2226879e0be934d32f6f2aadeaa gcc/hw-doloop.h 909d931869b7d5535696c8f9e6fbc58d gcc/hwint.c 53f6c7822d2955059f5474124b89c8d8 gcc/hwint.h ! 3258a1975db1c2231bb90c34e00e18e7 gcc/ifcvt.c 7cf51303d986638791f93b75b6e05e25 gcc/ifcvt.h c7a8101076016714491228c2c888df88 gcc/inchash.c 1a0d7710c9a7b84ecbb544fedf87876c gcc/inchash.h *************** f055de76a5a05f54d00a80ac20759a93 gcc/ip *** 5519,5525 **** 07a2becdd98104b287d8d760fcf0f7cd gcc/ipa-visibility.c 98e8832e00f0aa9d1e5319aac879cfa8 gcc/ipa.c ba0f8a4827b070b9b7f97d9d09936884 gcc/ira-build.c ! 433798122aec602e970402e8b960d598 gcc/ira-color.c 8d2f4b9c89bc42d97800f26301dcdc10 gcc/ira-conflicts.c b2c01e63c584a9f375c6026f80aa6c14 gcc/ira-costs.c b1c18acf2cccfa59fdbf8d8ca83dae19 gcc/ira-emit.c --- 5520,5526 ---- 07a2becdd98104b287d8d760fcf0f7cd gcc/ipa-visibility.c 98e8832e00f0aa9d1e5319aac879cfa8 gcc/ipa.c ba0f8a4827b070b9b7f97d9d09936884 gcc/ira-build.c ! c8a8aae82dcca62b4013236809117c88 gcc/ira-color.c 8d2f4b9c89bc42d97800f26301dcdc10 gcc/ira-conflicts.c b2c01e63c584a9f375c6026f80aa6c14 gcc/ira-costs.c b1c18acf2cccfa59fdbf8d8ca83dae19 gcc/ira-emit.c *************** b8e3c890bc1ccade77558f2eba0dce60 gcc/ir *** 5528,5534 **** 94db6b40114ccb20995ee760399d65f5 gcc/ira.c bcf6b7eea8ae7e6b363a86565178be1f gcc/ira.h 7a4e770c6d51b1f35bb2994ca37824aa gcc/is-a.h ! e12ef1275522c09fceaa51e02d162a93 gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 1ab65eadbc8d42b650bf4bce38d0ac8d gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst --- 5529,5535 ---- 94db6b40114ccb20995ee760399d65f5 gcc/ira.c bcf6b7eea8ae7e6b363a86565178be1f gcc/ira.h 7a4e770c6d51b1f35bb2994ca37824aa gcc/is-a.h ! 3237c23cba0f5cb8de7d712e37fb26db gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 1ab65eadbc8d42b650bf4bce38d0ac8d gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst *************** ba663f306c0c9dc5e602465aa6d791f4 gcc/li *** 5626,5632 **** 30b8e3e407f46ad2cb39260ec4bab9f6 gcc/lock-and-run.sh fa0e89979a1d8c821d2594597ddc309b gcc/loop-doloop.c 899e33ea3264342544a1a784e8d2532c gcc/loop-init.c ! 028b4c116ea87138be3800b6e6663580 gcc/loop-invariant.c c157087005c8286392f4367214245e9f gcc/loop-iv.c 3996431341adbc53210b6c9e8d0e4236 gcc/loop-unroll.c a5e0549da42bf024e74e0520d5360537 gcc/loop-unroll.h --- 5627,5633 ---- 30b8e3e407f46ad2cb39260ec4bab9f6 gcc/lock-and-run.sh fa0e89979a1d8c821d2594597ddc309b gcc/loop-doloop.c 899e33ea3264342544a1a784e8d2532c gcc/loop-init.c ! 69e08190b2c8371b3431d3d1721b214f gcc/loop-invariant.c c157087005c8286392f4367214245e9f gcc/loop-iv.c 3996431341adbc53210b6c9e8d0e4236 gcc/loop-unroll.c a5e0549da42bf024e74e0520d5360537 gcc/loop-unroll.h *************** fcbfbec19f2e07d0f1dc4d1032b5ae3c gcc/lt *** 5649,5660 **** f601534108bd7d15ecfcf5db1692890f gcc/lto-section-in.c 97dbb324bc66497e90859cdd69f25c91 gcc/lto-section-names.h 25a5d56053984a5dd00d68af10f528e4 gcc/lto-section-out.c ! 61996695ed1a7e1a968d13c6444854eb gcc/lto-streamer-in.c 2af05e42cf3672b695a784eebaa19f26 gcc/lto-streamer-out.c 6322b1521fdaf76be3c90f339ba47a75 gcc/lto-streamer.c 138480b5ae8ef56e2e180063755ed01e gcc/lto-streamer.h ! 3bc10d0f98328d53593b7a5c6118b7ca gcc/lto-wrapper.c ! 9c069eaddec7bf47b82c975f930e2d8a gcc/lto/ChangeLog ff902999e2da9680340e8d0cace7ec16 gcc/lto/Make-lang.in 6bb73fcbce79fbfce7649ed545fd08e2 gcc/lto/common.c 12eb383f6e35176f4a54226df1009acf gcc/lto/common.h --- 5650,5661 ---- f601534108bd7d15ecfcf5db1692890f gcc/lto-section-in.c 97dbb324bc66497e90859cdd69f25c91 gcc/lto-section-names.h 25a5d56053984a5dd00d68af10f528e4 gcc/lto-section-out.c ! ffa79160e0dd8084e753876f568fd34b gcc/lto-streamer-in.c 2af05e42cf3672b695a784eebaa19f26 gcc/lto-streamer-out.c 6322b1521fdaf76be3c90f339ba47a75 gcc/lto-streamer.c 138480b5ae8ef56e2e180063755ed01e gcc/lto-streamer.h ! 0fc7e8ac41fe9037fa01456a8684facd gcc/lto-wrapper.c ! 1319829788873fa720de19521d9195ee gcc/lto/ChangeLog ff902999e2da9680340e8d0cace7ec16 gcc/lto/Make-lang.in 6bb73fcbce79fbfce7649ed545fd08e2 gcc/lto/common.c 12eb383f6e35176f4a54226df1009acf gcc/lto/common.h *************** ae1f5f39ba98a3c7758fa9933bb5e230 gcc/lt *** 5676,5682 **** b13745c2d7c8d78a175492fe7e3feb8d gcc/machmode.def b3dde66d1523f50e15e4e0229fcf13f1 gcc/machmode.h b05eff1a563e18d9d927004e16b2ce00 gcc/main.c ! a053080c1b8c188948f0f19bfa055995 gcc/match.pd 1cc67605dff78497d108bb65aec8efb3 gcc/mcf.c 25a428eb0074bcb4e34a5faa06b0cc4d gcc/mem-stats-traits.h f67514301092d230fdc3a545f4b3bfc9 gcc/mem-stats.h --- 5677,5683 ---- b13745c2d7c8d78a175492fe7e3feb8d gcc/machmode.def b3dde66d1523f50e15e4e0229fcf13f1 gcc/machmode.h b05eff1a563e18d9d927004e16b2ce00 gcc/main.c ! d596cc21fe4ad7511a8cae904f4aaf26 gcc/match.pd 1cc67605dff78497d108bb65aec8efb3 gcc/mcf.c 25a428eb0074bcb4e34a5faa06b0cc4d gcc/mem-stats-traits.h f67514301092d230fdc3a545f4b3bfc9 gcc/mem-stats.h *************** eabfaa5f3f130f5eecd38b7e0fabf3bb gcc/mk *** 5688,5694 **** 07afcffe769aaf6f4c2700740fb1def3 gcc/mode-switching.c 88d37b5a99a5f0472de63b2dc4e32242 gcc/modulo-sched.c 2e0b84cc43cf21e916fc5727f4b74ff1 gcc/multiple_target.c ! f0286e85afed045fa1460dea51054718 gcc/objc/ChangeLog fcd05e1453dc56982727d6b4728d6ca9 gcc/objc/Make-lang.in 88d6d4c884e7d92ad2d64ce7e15b9e97 gcc/objc/config-lang.in ac21dc9666c05c196265804e425f0312 gcc/objc/lang-specs.h --- 5689,5695 ---- 07afcffe769aaf6f4c2700740fb1def3 gcc/mode-switching.c 88d37b5a99a5f0472de63b2dc4e32242 gcc/modulo-sched.c 2e0b84cc43cf21e916fc5727f4b74ff1 gcc/multiple_target.c ! 612192c0b57a452ddee335b07a848ec7 gcc/objc/ChangeLog fcd05e1453dc56982727d6b4728d6ca9 gcc/objc/Make-lang.in 88d6d4c884e7d92ad2d64ce7e15b9e97 gcc/objc/config-lang.in ac21dc9666c05c196265804e425f0312 gcc/objc/lang-specs.h *************** ba8bb35eefefe34c0ef8e803ad1e613f gcc/ob *** 5707,5713 **** 95c767443f3ea23a2864aa66efab6760 gcc/objc/objc-runtime-shared-support.c 9626708ffde2a801337d858ad9f4b9f1 gcc/objc/objc-runtime-shared-support.h 0996fe056d9bbb9cd033a1c4cc77e561 gcc/objc/objc-tree.def ! 3b66e11e9f9056120decae03d02662d1 gcc/objcp/ChangeLog 3cbc95bd25fa86ffaff1f83e52772e28 gcc/objcp/Make-lang.in c7ddd8c51d7e8c1428875a246dc4cb33 gcc/objcp/config-lang.in ded26818173a53d24e4db8138bb737cf gcc/objcp/lang-specs.h --- 5708,5714 ---- 95c767443f3ea23a2864aa66efab6760 gcc/objc/objc-runtime-shared-support.c 9626708ffde2a801337d858ad9f4b9f1 gcc/objc/objc-runtime-shared-support.h 0996fe056d9bbb9cd033a1c4cc77e561 gcc/objc/objc-tree.def ! 0b19adf8c577421abd0fc8ba4e58fae3 gcc/objcp/ChangeLog 3cbc95bd25fa86ffaff1f83e52772e28 gcc/objcp/Make-lang.in c7ddd8c51d7e8c1428875a246dc4cb33 gcc/objcp/config-lang.in ded26818173a53d24e4db8138bb737cf gcc/objcp/lang-specs.h *************** be872037f2be317642757dff9ee4e7e9 gcc/ob *** 5715,5727 **** 4d6c6650decaa2d51b88c66909397347 gcc/objcp/objcp-decl.h 004a8fa747c0865adad4be841a260d0d gcc/objcp/objcp-lang.c 0886e27233c32e6179a7381c27d8b4c2 gcc/omp-builtins.def ! 7ec494cf806ea91ea351a905aa707943 gcc/omp-expand.c d5c5e7983604146d429dd7d971026ffc gcc/omp-expand.h 996e3f954aeeb8d7543e5f2fea44df7d gcc/omp-general.c 9b5747816823c44340c559fe9034bd42 gcc/omp-general.h eec49c45264ffe98078e1790dde1d085 gcc/omp-grid.c 58dec197c27b0fe6b637589c91ce6570 gcc/omp-grid.h ! bd45d4573e85107519ec5b683388510f gcc/omp-low.c d8bb78f41734f384394b7458c6980f00 gcc/omp-low.h c44ad711e41ca3278cc397873a44b2fd gcc/omp-offload.c fc27509534cd1450c6222e58845bcdbc gcc/omp-offload.h --- 5716,5728 ---- 4d6c6650decaa2d51b88c66909397347 gcc/objcp/objcp-decl.h 004a8fa747c0865adad4be841a260d0d gcc/objcp/objcp-lang.c 0886e27233c32e6179a7381c27d8b4c2 gcc/omp-builtins.def ! 17cd0d13cb9c2d68fb2af04cc2806815 gcc/omp-expand.c d5c5e7983604146d429dd7d971026ffc gcc/omp-expand.h 996e3f954aeeb8d7543e5f2fea44df7d gcc/omp-general.c 9b5747816823c44340c559fe9034bd42 gcc/omp-general.h eec49c45264ffe98078e1790dde1d085 gcc/omp-grid.c 58dec197c27b0fe6b637589c91ce6570 gcc/omp-grid.h ! 772b9b0314cb4a4fa9f4eb76cf1780f4 gcc/omp-low.c d8bb78f41734f384394b7458c6980f00 gcc/omp-low.h c44ad711e41ca3278cc397873a44b2fd gcc/omp-offload.c fc27509534cd1450c6222e58845bcdbc gcc/omp-offload.h *************** ce3203c7c65c8263219fbffa1ff0ef86 gcc/op *** 5741,5759 **** 1f74c7600f0c443bd2a7cdca35da4876 gcc/optabs-query.h 23481dbab0df3d241ff9621eefb0f5c3 gcc/optabs-tree.c 94e973433ee0ce514bc9f632a4c19f18 gcc/optabs-tree.h ! 96a6beaa95b43c879f010718817d9521 gcc/optabs.c a630396c73c1da2c58720ee05affceab gcc/optabs.def 223e4d121c4d9d6d042026e30b09fd70 gcc/optabs.h a0dde41e8d529a09be349c6cef989ef7 gcc/optc-gen.awk ! a338c39751f95cfbf684b502ef6e0c48 gcc/optc-save-gen.awk 6df41233837644dd3bdc263f625fb944 gcc/opth-gen.awk 48520c0760111cf85fb1be4912b78d8a gcc/optinfo-emit-json.cc d287cce3219121596e708cf96a5379e3 gcc/optinfo-emit-json.h 92d593cb5e650fa79d86c14117ac794a gcc/optinfo.cc aced1909ce22d0d2abaf931cb20a7d9c gcc/optinfo.h ! c3ba56dedec8e14dcfb5d90c45476fac gcc/opts-common.c 1df7723e0e429b5782fab606f607a6ed gcc/opts-diagnostic.h 4d01c863898bf8c7c8ae1e51a829c669 gcc/opts-global.c 4f86708eb9ba3499c3e2cf786f37aca8 gcc/opts.c b9db66046cc8d424df631c6e6125c3ad gcc/opts.h dad5ae63231bd35e23b9877dbb8c82ae gcc/ordered-hash-map-tests.cc --- 5742,5761 ---- 1f74c7600f0c443bd2a7cdca35da4876 gcc/optabs-query.h 23481dbab0df3d241ff9621eefb0f5c3 gcc/optabs-tree.c 94e973433ee0ce514bc9f632a4c19f18 gcc/optabs-tree.h ! ec07c4219a59c129cea8256bc6bb4278 gcc/optabs.c a630396c73c1da2c58720ee05affceab gcc/optabs.def 223e4d121c4d9d6d042026e30b09fd70 gcc/optabs.h a0dde41e8d529a09be349c6cef989ef7 gcc/optc-gen.awk ! 4cb7a90a6dd0d5c0182967b836a0f7b3 gcc/optc-save-gen.awk 6df41233837644dd3bdc263f625fb944 gcc/opth-gen.awk 48520c0760111cf85fb1be4912b78d8a gcc/optinfo-emit-json.cc d287cce3219121596e708cf96a5379e3 gcc/optinfo-emit-json.h 92d593cb5e650fa79d86c14117ac794a gcc/optinfo.cc aced1909ce22d0d2abaf931cb20a7d9c gcc/optinfo.h ! 48f2c436bda6b349fc403c07f9478bd1 gcc/opts-common.c 1df7723e0e429b5782fab606f607a6ed gcc/opts-diagnostic.h 4d01c863898bf8c7c8ae1e51a829c669 gcc/opts-global.c + abb990f120fd8b648831963db6ecec8c gcc/opts-jobserver.h 4f86708eb9ba3499c3e2cf786f37aca8 gcc/opts.c b9db66046cc8d424df631c6e6125c3ad gcc/opts.h dad5ae63231bd35e23b9877dbb8c82ae gcc/ordered-hash-map-tests.cc *************** f9634d3f1151e564d7cb0fc885b12d5e gcc/pa *** 5766,5772 **** 1f2be2b4db63158092aa9a432324b9f4 gcc/plugin.c 1a2ee442016e04c400c5b1ecfa2b6f7a gcc/plugin.def d57e52d4dd66ce4213264b80d2489b27 gcc/plugin.h ! 05b85e067c3c82a4712a30397cf623b3 gcc/po/ChangeLog 1c98342dfff1dce80a9f3dd527d40985 gcc/po/EXCLUDES df8eb609dbb028d033b7d05185cc0715 gcc/po/be.gmo f0d7b1b3080241060878bfbc2536042b gcc/po/be.po --- 5768,5774 ---- 1f2be2b4db63158092aa9a432324b9f4 gcc/plugin.c 1a2ee442016e04c400c5b1ecfa2b6f7a gcc/plugin.def d57e52d4dd66ce4213264b80d2489b27 gcc/plugin.h ! 0017318759ac8dc48ffdbe2b292a3bdc gcc/po/ChangeLog 1c98342dfff1dce80a9f3dd527d40985 gcc/po/EXCLUDES df8eb609dbb028d033b7d05185cc0715 gcc/po/be.gmo f0d7b1b3080241060878bfbc2536042b gcc/po/be.po *************** b00cda2a43bec932dc26a7a62d2433e4 gcc/po *** 5812,5818 **** 653045738566582cf810de3860dc9cb8 gcc/poly-int.h b63265778fad2e12ae472e77541500e0 gcc/postreload-gcse.c cf68dd5d621e98ff7a6600dd831ecae8 gcc/postreload.c ! f2c1800ed41bd812f0023ec9476be06f gcc/predict.c 2d7027b865f15345d18016536def0e97 gcc/predict.def 3ffe5c036e76418548382910f68886ff gcc/predict.h ffa0ac5f57de240c2aff1e32b7a30632 gcc/prefix.c --- 5814,5820 ---- 653045738566582cf810de3860dc9cb8 gcc/poly-int.h b63265778fad2e12ae472e77541500e0 gcc/postreload-gcse.c cf68dd5d621e98ff7a6600dd831ecae8 gcc/postreload.c ! a6724b54f9eb80cfe30c4d8f27c9722c gcc/predict.c 2d7027b865f15345d18016536def0e97 gcc/predict.def 3ffe5c036e76418548382910f68886ff gcc/predict.h ffa0ac5f57de240c2aff1e32b7a30632 gcc/prefix.c *************** eba2922f65dc437f981d495af9aea3e3 gcc/re *** 5843,5855 **** 92b92805d57b18955d48576ec085dd07 gcc/realmpfr.h ea54106d519e178742fdc5983d50e3a3 gcc/recog.c f9b0b9ccb8dce0dc6e8bd42ac39df744 gcc/recog.h ! 8e54776d694e025778117e5c6cd2b732 gcc/ree.c befe5e6a24516f07a0b1a18ea35c02d6 gcc/reg-notes.def ! bb6e216fc486b5cadc4ece706f7f2121 gcc/reg-stack.c a4113db63806c0f59f4609855b310ec3 gcc/regcprop.c bde5467e48834f6809fe9cb47c41a8ca gcc/regcprop.h 1420eec348e2fde96d1e5acc37e1d4b6 gcc/reginfo.c ! 8f4fe2c17357e9685afb16fbfadd234d gcc/regrename.c bcbdd3b92acf14e4567d6d593f2135c7 gcc/regrename.h 0e8e6cb957a6286f48af42a43766157c gcc/regs.h 54bdd1fa2150c00899466f5e44c3be07 gcc/regset.h --- 5845,5857 ---- 92b92805d57b18955d48576ec085dd07 gcc/realmpfr.h ea54106d519e178742fdc5983d50e3a3 gcc/recog.c f9b0b9ccb8dce0dc6e8bd42ac39df744 gcc/recog.h ! 13b601f358fb0936341507675500fcec gcc/ree.c befe5e6a24516f07a0b1a18ea35c02d6 gcc/reg-notes.def ! 80e4c090284f2fac2d78f97d7172e4c7 gcc/reg-stack.c a4113db63806c0f59f4609855b310ec3 gcc/regcprop.c bde5467e48834f6809fe9cb47c41a8ca gcc/regcprop.h 1420eec348e2fde96d1e5acc37e1d4b6 gcc/reginfo.c ! 77ffb1da89ad79e20a2ef2dd657e26ce gcc/regrename.c bcbdd3b92acf14e4567d6d593f2135c7 gcc/regrename.h 0e8e6cb957a6286f48af42a43766157c gcc/regs.h 54bdd1fa2150c00899466f5e44c3be07 gcc/regset.h *************** e9a50b2c00f0d8821b4f357433f75ddf gcc/rt *** 5878,5884 **** 0116c6ac7b1b875e47af238fec34212c gcc/run-rtl-passes.h 5dfa17f81fb7790b86c349c236b4f44e gcc/sancov.c f240987e980f287b9805cfc2d5fd984a gcc/sanitizer.def ! b3b3edd8d449c633bc57a13b92adaf4c gcc/sanopt.c 373f74032e8a5f451fed82a6278199be gcc/sbitmap.c 483913290dec10f928e898c49a41451a gcc/sbitmap.h 557abf726d1b4112b7487455dca2835d gcc/sched-deps.c --- 5880,5886 ---- 0116c6ac7b1b875e47af238fec34212c gcc/run-rtl-passes.h 5dfa17f81fb7790b86c349c236b4f44e gcc/sancov.c f240987e980f287b9805cfc2d5fd984a gcc/sanitizer.def ! 4d16770be4b87b92bda1fe15b8163f01 gcc/sanopt.c 373f74032e8a5f451fed82a6278199be gcc/sbitmap.c 483913290dec10f928e898c49a41451a gcc/sbitmap.h 557abf726d1b4112b7487455dca2835d gcc/sched-deps.c *************** b1acddcdb2c4787992303ad7d35aa2d5 gcc/se *** 5891,5897 **** 0913097b5f6ecae7b8a67c820b11c507 gcc/sel-sched-ir.h 08d85de316f6a959a7d7305e10681aef gcc/sel-sched.c 275948e3a332ad16e6906f53167f589a gcc/sel-sched.h ! d02d17a85e55fa53a7b465e813d7c4ab gcc/selftest-diagnostic.c a89173f7d4cb511e9eb93ef251ea5e11 gcc/selftest-diagnostic.h 74da6a05d71b05ca05670ee73c0d04cb gcc/selftest-rtl.c 93aa8133ebc4486ccc93e798fe8ca630 gcc/selftest-rtl.h --- 5893,5899 ---- 0913097b5f6ecae7b8a67c820b11c507 gcc/sel-sched-ir.h 08d85de316f6a959a7d7305e10681aef gcc/sel-sched.c 275948e3a332ad16e6906f53167f589a gcc/sel-sched.h ! 3298f2610d3dffd3db54b50e42085413 gcc/selftest-diagnostic.c a89173f7d4cb511e9eb93ef251ea5e11 gcc/selftest-diagnostic.h 74da6a05d71b05ca05670ee73c0d04cb gcc/selftest-rtl.c 93aa8133ebc4486ccc93e798fe8ca630 gcc/selftest-rtl.h *************** cbb758f617ea43fc42398026a1f8180e gcc/st *** 5931,5937 **** bfdca4569d35709ce75da33b94ac2e70 gcc/stringpool.h 9e6308f2e503cd91a233707e5ed2ce2b gcc/substring-locations.c e4a560b5e6e370fac3e19056516f5d6a gcc/substring-locations.h ! 4ed30ac7489a61ef5a3917e251049626 gcc/symbol-summary.h 6a6e3a4f5b2ad563805d660e4cee5687 gcc/symtab.c 15199dc71e42c38afeb48e52386cd7c9 gcc/sync-builtins.def 7cbf7fc7e93019e864ca3804aadb5329 gcc/system.h --- 5933,5939 ---- bfdca4569d35709ce75da33b94ac2e70 gcc/stringpool.h 9e6308f2e503cd91a233707e5ed2ce2b gcc/substring-locations.c e4a560b5e6e370fac3e19056516f5d6a gcc/substring-locations.h ! d870a1c4f70fc4fbe65ca2a548affcde gcc/symbol-summary.h 6a6e3a4f5b2ad563805d660e4cee5687 gcc/symtab.c 15199dc71e42c38afeb48e52386cd7c9 gcc/sync-builtins.def 7cbf7fc7e93019e864ca3804aadb5329 gcc/system.h *************** e2164620d88b7b5e86874b70ea560f64 gcc/ta *** 5945,5951 **** d4582a9831d4b16fe13326c8c145c4e5 gcc/targhooks.c 7bbf8e5d152f6a9369b8fad9f737885a gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! 4ac36cd7082157fc2a61769c67f655b4 gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 --- 5947,5953 ---- d4582a9831d4b16fe13326c8c145c4e5 gcc/targhooks.c 7bbf8e5d152f6a9369b8fad9f737885a gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! d0b5249fc7459541cd6b02992019f14d gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 *************** e68c59b3c604b0f464d1f4c02629a7a5 gcc/te *** 8740,8745 **** --- 8742,8748 ---- fc40f165305f408a7e0fc682ac4e4e21 gcc/testsuite/c-c++-common/Wshift-overflow-8.c f6687e96d1a359321b94d5babcf73720 gcc/testsuite/c-c++-common/Wshift-overflow-9.c 2095424b6b86a7ddbae9c94c16fa2157 gcc/testsuite/c-c++-common/Wsign-compare-1.c + baefeae8b123d7fff8e835b68ec75bf4 gcc/testsuite/c-c++-common/Wsign-compare-2.c 40bc1e540d092c06d14dc9842ee9cd03 gcc/testsuite/c-c++-common/Wsign-conversion-1.c de15cabafc30a00e81c083c9a9428ac8 gcc/testsuite/c-c++-common/Wsizeof-pointer-div.c 32df34b1472bcfdea6e41e9ce2f31d7c gcc/testsuite/c-c++-common/Wsizeof-pointer-memaccess1.c *************** ef95b2391ac4310fde10257ba4f7463b gcc/te *** 8953,8958 **** --- 8956,8962 ---- 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 + 856043e4093da5eee730f0219ccb9f99 gcc/testsuite/c-c++-common/cold-2.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 *************** f10bae63863004428ff4b3fbefab335e gcc/te *** 9382,9387 **** --- 9386,9392 ---- f0e8744f81b4bd363089960ae8a6bbb6 gcc/testsuite/c-c++-common/gomp/doacross-2.c c9f7d4328381112d463ae5d7abf05d6b gcc/testsuite/c-c++-common/gomp/doacross-3.c b80b407c1b236d995633edd987b92089 gcc/testsuite/c-c++-common/gomp/doacross-4.c + db5184f418f1fcff4229563335cdcac7 gcc/testsuite/c-c++-common/gomp/doacross-8.c 5a70f931f3d1911a210ec6155240d4dc gcc/testsuite/c-c++-common/gomp/element-1.c b4b404945f33512628e60c9ebd9b767a gcc/testsuite/c-c++-common/gomp/flush-1.c 3ed4af2aec57a7165a1a730e299b4935 gcc/testsuite/c-c++-common/gomp/flush-2.c *************** c8eb196146424dae7866984b548de18b gcc/te *** 9434,9439 **** --- 9439,9446 ---- 345ac275dfe65e2e8ba683d2c389ebc3 gcc/testsuite/c-c++-common/gomp/pr101535-1.c b3c3fe5a4ecc31231711cb240274d62c gcc/testsuite/c-c++-common/gomp/pr101535-2.c 5d5843e74a197943e19c270c43a913e1 gcc/testsuite/c-c++-common/gomp/pr102431.c + 1164bc26f7382179d1bd6b607af1d336 gcc/testsuite/c-c++-common/gomp/pr106981.c + 8f995161beda01326e712ba172a760f8 gcc/testsuite/c-c++-common/gomp/pr107001.c e16ef156ad193ef1f3cba60ad16e57ab gcc/testsuite/c-c++-common/gomp/pr51360.c 84c977571aeb43c0224137efe7f5b213 gcc/testsuite/c-c++-common/gomp/pr53580.c 28bfd873981083756a16f70fdb0b86db gcc/testsuite/c-c++-common/gomp/pr54017.c *************** ae2fa528701d8a7118d0446869032faa gcc/te *** 9575,9580 **** --- 9582,9589 ---- 3b77bbb422eaff74de51c6cd92512232 gcc/testsuite/c-c++-common/pr103881.c f7797890edb72db96871a3c3582464f4 gcc/testsuite/c-c++-common/pr105186.c d5189fe9f7cb5f4a822563c9d438762d gcc/testsuite/c-c++-common/pr105998.c + 01a09737cb2c3c4ba35d97feda5c3aeb gcc/testsuite/c-c++-common/pr107358.c + e1ef9c58498f72552b0ec84751024b54 gcc/testsuite/c-c++-common/pr107465.c f5dce8e27cfb8a6bfffe57596fecb796 gcc/testsuite/c-c++-common/pr19807-1.c 325d7c32f3748e10d55ba2faba3f1ce2 gcc/testsuite/c-c++-common/pr19807-2.c fb902cfe5a28251e99c554d18fb797e4 gcc/testsuite/c-c++-common/pr19807-3.c *************** e0634fac709f26330953f3dcafaa2394 gcc/te *** 9778,9783 **** --- 9787,9793 ---- 87b3bbe050a2e54c8aa76908ea34822d gcc/testsuite/c-c++-common/pr95903.c 0ff677a7f94c47b0db47cc14f3e6f746 gcc/testsuite/c-c++-common/pr96369.c e7da4642e25c14b28d3cbf86173d69a5 gcc/testsuite/c-c++-common/pr96545.c + 81e319f6287462f1138a4fa254bcfda0 gcc/testsuite/c-c++-common/pr97498.c 7859693e4c5c966ac09c6aa874fe5eb9 gcc/testsuite/c-c++-common/pr98556.c b0ba836310044e7b419ef679f0b48d6f gcc/testsuite/c-c++-common/raw-string-1.c 554e7071d2525351de28445762633866 gcc/testsuite/c-c++-common/raw-string-10.c *************** e421ddf2d69b41e79c4238d86ca23e02 gcc/te *** 10024,10029 **** --- 10034,10040 ---- 701ee447bdcb3bdd63f4e19e0aa275c7 gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c f1d5ba00cab5b6e91752dc500c497bad gcc/testsuite/c-c++-common/ubsan/div-by-zero-6.c be42c7c0119ada6c8b75859883b7947d gcc/testsuite/c-c++-common/ubsan/div-by-zero-7.c + 1a58dcff8d9551745c7d182be6aae836 gcc/testsuite/c-c++-common/ubsan/div-by-zero-8.c 8d9e9d9d9f81061daf513b5ba1554c80 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c 96159bb28961f7d226730c47d4f46b1c gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-10.c 412e240273773d78a1d355e70f1bb47f gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-11.c *************** a5ce11f6f7a1de2ab9382765eaae19a9 gcc/te *** 11856,11861 **** --- 11867,11873 ---- 9b22329501cdc0c04eb177944b0b9482 gcc/testsuite/g++.dg/cpp0x/constexpr-pedantic.C 21cafe90c117f963b0c4d2102a2109a0 gcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C a53083b794641f9adbc3c1129a42b34c gcc/testsuite/g++.dg/cpp0x/constexpr-pmf2.C + ed870223b56ec38bcfc2366465b34c09 gcc/testsuite/g++.dg/cpp0x/constexpr-pmf3.C 71bf544adf239f884a43b6d72e78604e gcc/testsuite/g++.dg/cpp0x/constexpr-pos1.C e29b90d7c0ad7662446a6055addb6315 gcc/testsuite/g++.dg/cpp0x/constexpr-potential1.C a82ef0f27014a7256099b10bb3cb2b1a gcc/testsuite/g++.dg/cpp0x/constexpr-ptrcomp1.C *************** f520b3c677602a9f4bb925811947dd27 gcc/te *** 12215,12220 **** --- 12227,12233 ---- 4314a939d182c8ee315404a2d9cf3ec3 gcc/testsuite/g++.dg/cpp0x/enum4.C 1180e3480996d107ee707434d64528e0 gcc/testsuite/g++.dg/cpp0x/enum40.C 04d281e3cb2c000a5e49e2b16f623027 gcc/testsuite/g++.dg/cpp0x/enum41.C + 04dc1d4fe43005d4de8c5865ec895953 gcc/testsuite/g++.dg/cpp0x/enum43.C 771003df84c0886c950718b7f6d81033 gcc/testsuite/g++.dg/cpp0x/enum5.C 67ec15297186c0dc5b419618c460a2f2 gcc/testsuite/g++.dg/cpp0x/enum6.C 2b0985c5003a3baf1ba60c7c38770636 gcc/testsuite/g++.dg/cpp0x/enum7.C *************** cd0880983dc32cb469f470728ae8b22b gcc/te *** 12650,12655 **** --- 12663,12669 ---- 8fc3ab70c2058568fbe8578145b021ae gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-this.C 1d85414b94d2d104004fc7341b90a896 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C 26a3a7d7fa8662de4df1454d0f3eea85 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const10.C + 692c149205d32e7263c8778ba131c9dc gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C 64bc761abc3783521fdfb26f930f3410 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C e513b4dcc45e6063745c03c7c99151fa gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const3.C 1ced7b3231f38cc9948cc247893ffec1 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const4.C *************** dbb54b67a2672d41d2a9ce040685f064 gcc/te *** 12947,12952 **** --- 12961,12967 ---- b950d7f903d3f69a347ad242cbfee61d gcc/testsuite/g++.dg/cpp0x/noexcept61.C d4b0d9f048e8a94c9bc255582c53738a gcc/testsuite/g++.dg/cpp0x/noexcept62.C eae74812dc8afb850498c1fb2e6dc011 gcc/testsuite/g++.dg/cpp0x/noexcept63.C + 8e3444aa5b9c9f35186b3ad1658c800d gcc/testsuite/g++.dg/cpp0x/noexcept68.C 02e09b143c63de3a81f9191fa6e9404d gcc/testsuite/g++.dg/cpp0x/noexcept70.C 3bf83ccb654cedbb57a45851fb14aa9d gcc/testsuite/g++.dg/cpp0x/nolinkage1.C 6b7c91b931bbdacbbffbf9b90a79bc6a gcc/testsuite/g++.dg/cpp0x/nolinkage1.h *************** ec3fccada021f17376f5255d71d5545b gcc/te *** 13092,13097 **** --- 13107,13113 ---- a174690fe306aaf345b02df91c3ddebe gcc/testsuite/g++.dg/cpp0x/parse2.C 6802ea11c1f5811ef4a3d0490040dcc1 gcc/testsuite/g++.dg/cpp0x/pr102305.C 0f5046ead85037afdaba1b501accc894 gcc/testsuite/g++.dg/cpp0x/pr105256.C + fa773bb98628f5c9f0fa9d8d8b29beda gcc/testsuite/g++.dg/cpp0x/pr107065.C 26dea799d49ce223a0c4130a3c955271 gcc/testsuite/g++.dg/cpp0x/pr31431-2.C 4d1da29b669bf3178b3987abce4d58b1 gcc/testsuite/g++.dg/cpp0x/pr31431.C d65e06a3830e2b511cc25692b94615a1 gcc/testsuite/g++.dg/cpp0x/pr31432.C *************** f3e3d98fcbe616df26f26eb779c66c1f gcc/te *** 14028,14033 **** --- 14044,14050 ---- 5f47973cdaddb1d27f6ea767e7275723 gcc/testsuite/g++.dg/cpp1y/complex_literals2.C a1995c633dded5a3445bad4fcc3b55cf gcc/testsuite/g++.dg/cpp1y/complex_literals2a.C 6193cad472a1684eae83fead9fc5d0d7 gcc/testsuite/g++.dg/cpp1y/constexpr-104513.C + afbdcf440b8da95f919e745c0f3a85d1 gcc/testsuite/g++.dg/cpp1y/constexpr-105774.C 2d72668eefa5659edd32ef8dabc1c48e gcc/testsuite/g++.dg/cpp1y/constexpr-50060.C d3ca7557e59bd6b82fae38b637088145 gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C 9ecc58eab147adafbf3780c51ed706fc gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C *************** af1e704cf45a12bb8c7e2865e6b7debc gcc/te *** 14758,14763 **** --- 14775,14782 ---- 483e3caa4572c2f88ee6dff747cf3056 gcc/testsuite/g++.dg/cpp1z/decomp53.C 46ef66cc9a593b59b8b3f161586b0533 gcc/testsuite/g++.dg/cpp1z/decomp54.C 9e963a76a6e736436964ce0e71d75f41 gcc/testsuite/g++.dg/cpp1z/decomp55.C + 7473f4d78f4cab74d8165611ea38a63d gcc/testsuite/g++.dg/cpp1z/decomp57.C + 055f4b76f99d823ab62ec060da73a672 gcc/testsuite/g++.dg/cpp1z/decomp58.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 *************** a53a61e2c3773add424075de3343c370 gcc/te *** 14787,14792 **** --- 14806,14812 ---- 948a131387412e7ed7b39e35fce2096a gcc/testsuite/g++.dg/cpp1z/fold1.C c74b2113efcb17ebf1be773837691046 gcc/testsuite/g++.dg/cpp1z/fold10.C ba52c35faa435abd9cb368147dc00857 gcc/testsuite/g++.dg/cpp1z/fold11.C + fa4ff7e96ff3b0d8cb7114d58f8127ac gcc/testsuite/g++.dg/cpp1z/fold13.C 5e8f1589e281e551eba15be5ad14bd8b gcc/testsuite/g++.dg/cpp1z/fold2.C a33f917557c76cefc8e7e59dedbf0a4e gcc/testsuite/g++.dg/cpp1z/fold3.C 954117a731946951912acd1615190810 gcc/testsuite/g++.dg/cpp1z/fold4.C *************** d5097890520de2a85ebd837650f33a25 gcc/te *** 14799,14804 **** --- 14819,14825 ---- fade45a91157c646e6940a215501f1c9 gcc/testsuite/g++.dg/cpp1z/gen-attrs1.C ac9f13854ea3e455a1371aaa819ee22a gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations1.C 5f34b6f6c6b9801ac84fd35a7072c291 gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations2.C + 9f9fa73c4ae67e4de5904663c140998d gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C 712e0c3f886fdb90e5e03d39bd877f92 gcc/testsuite/g++.dg/cpp1z/inh-ctor1.C a5a039fe3394138160509efa1a2212c5 gcc/testsuite/g++.dg/cpp1z/inh-ctor22.C b303784bcf07c99011e96f0a6da77c55 gcc/testsuite/g++.dg/cpp1z/inh-ctor23.C *************** deed6bb16468a074e8deea737b77814c gcc/te *** 15371,15376 **** --- 15392,15398 ---- a5ab0c1acf96ddc777b5af2b1b69b23d gcc/testsuite/g++.dg/cpp2a/constinit13.C 5e9f60a6078f56890912afa5a6db1738 gcc/testsuite/g++.dg/cpp2a/constinit14.C cd69d28fbc3005238abfb4b0ee371d68 gcc/testsuite/g++.dg/cpp2a/constinit15.C + 5f1a0d190f7b063f2ab37e1844af8991 gcc/testsuite/g++.dg/cpp2a/constinit18.C 9f7da905ea744d36251021c627953aa7 gcc/testsuite/g++.dg/cpp2a/constinit2.C 32bcf9ec13340c1d190f07fe25a3be4e gcc/testsuite/g++.dg/cpp2a/constinit3.C fbb9a6e7ceb354ed7018b9bdfce8059f gcc/testsuite/g++.dg/cpp2a/constinit4.C *************** d0524cdec70fb41523aae371548f0249 gcc/te *** 15691,15701 **** fc875772e280d6860400721ab59c2a23 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg.C 99c1330ed710ed734bb2976909ac6cd2 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg2.C 4d45da3e24f1267e48c17658fd5bb4a9 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp.C ! 75b74988ee548efb6f2a0e209db0c83f gcc/testsuite/g++.dg/cpp2a/volatile1.C 8e4abc5980a05aa68b936cca386e4618 gcc/testsuite/g++.dg/cpp2a/volatile2.C ! 38a1560b8b9b22be4d576d30a8cef4c3 gcc/testsuite/g++.dg/cpp2a/volatile3.C 552e3d266c035e0dbeca3c878bc5a2f5 gcc/testsuite/g++.dg/cpp2a/volatile4.C ! 96dafb009a7feee933cad2b35c2cccf6 gcc/testsuite/g++.dg/cpp2a/volatile5.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 --- 15713,15723 ---- fc875772e280d6860400721ab59c2a23 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg.C 99c1330ed710ed734bb2976909ac6cd2 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg2.C 4d45da3e24f1267e48c17658fd5bb4a9 gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp.C ! a99413b8c7db8bdf53b4b3c901346812 gcc/testsuite/g++.dg/cpp2a/volatile1.C 8e4abc5980a05aa68b936cca386e4618 gcc/testsuite/g++.dg/cpp2a/volatile2.C ! 3fa8ac8868e5ba1230d5ea9f4490bfef gcc/testsuite/g++.dg/cpp2a/volatile3.C 552e3d266c035e0dbeca3c878bc5a2f5 gcc/testsuite/g++.dg/cpp2a/volatile4.C ! 9857faea61370aed22b9ca9ef059dcd8 gcc/testsuite/g++.dg/cpp2a/volatile5.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 *************** c7ffd1dd0ae40378732be3ac8729a37c gcc/te *** 15791,15796 **** --- 15813,15819 ---- 804b19b7b58e86e4e92d0018c08cf7b7 gcc/testsuite/g++.dg/debug/dwarf2/noreturn-function.C b3cbbd79d5ff077a6732280d76b2284e gcc/testsuite/g++.dg/debug/dwarf2/omp-fesdr.C b117227269644a100a7a06bf2bc9bf6f gcc/testsuite/g++.dg/debug/dwarf2/pr101378.C + b43f4d6e4f27dc96c0e870436aa41ff2 gcc/testsuite/g++.dg/debug/dwarf2/pr108716.C 7054dc65c88179389afb9e79cad0df38 gcc/testsuite/g++.dg/debug/dwarf2/pr41063.C 9118e81e091fae9d3d9c8c39a846e724 gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C 90028c65be83718cb8e154df1b502d99 gcc/testsuite/g++.dg/debug/dwarf2/pr45997-1.C *************** a0ac13a0885ee162c972f58ffbd934e7 gcc/te *** 15875,15880 **** --- 15898,15904 ---- 8d1c97a9b811ba8c9a789baf97c48ce4 gcc/testsuite/g++.dg/debug/namespace1.C 98d1fa8a42200722f612a8f915bb9673 gcc/testsuite/g++.dg/debug/namespace2.C c805656a195d9a98cc7141e7db52d9ef gcc/testsuite/g++.dg/debug/nullptr01.C + 57e21034689a45ffd010ec86b2596de5 gcc/testsuite/g++.dg/debug/pr106261.C fcdc9d29f34ff56d1b7de0d55a1eaed7 gcc/testsuite/g++.dg/debug/pr15736.cc d25b84553c2083b28615202497b8f94a gcc/testsuite/g++.dg/debug/pr16792.C 91880dfb66fda0db4ddabf486346b755 gcc/testsuite/g++.dg/debug/pr22514.C *************** f711435274df71049aa71808a78fc7a5 gcc/te *** 17352,17357 **** --- 17376,17383 ---- d9a1f43ca6ac2a073e22bbbf243f300b gcc/testsuite/g++.dg/gomp/parallel-5.C 9950e1331756ada98404843c3491b239 gcc/testsuite/g++.dg/gomp/pr101516.C 3da3560251942b44a47c6e2c267e97f2 gcc/testsuite/g++.dg/gomp/pr102431.C + e1073bec80cbc48fb15e02126aebb2b0 gcc/testsuite/g++.dg/gomp/pr107558.C + 8c2b289e4e3768861822d1f92823a842 gcc/testsuite/g++.dg/gomp/pr108607.C 539bba6df5330b7a6631eca5665a0899 gcc/testsuite/g++.dg/gomp/pr24849.C 78ea34fd7a1a2767f61a703271e7070a gcc/testsuite/g++.dg/gomp/pr25874.C 93a85a09acfdf011a86ff95fc9184a94 gcc/testsuite/g++.dg/gomp/pr25996.C *************** dcecc8a81073a9824c153ff083f81a4a gcc/te *** 17539,17545 **** 012194f3f4441fc0dc8fb4ba94a8882b gcc/testsuite/g++.dg/graphite/pr42681.C dfe63b7d52f6d97e04da25f267ac330c gcc/testsuite/g++.dg/graphite/pr42930.C 4cf735ba9e5b65e201dbbd4ec916b359 gcc/testsuite/g++.dg/graphite/pr43026.C ! c8700f3b3fdd3b41ff1abbf2a2c0186d gcc/testsuite/g++.dg/guality/guality.exp 2e0a2ac35d8a11426ad1e59f818a5d03 gcc/testsuite/g++.dg/guality/guality.h 9f6bd16255ea79978f41ff1fd8300ddc gcc/testsuite/g++.dg/guality/pr46815.C be57153d0806c5827262dfc205d1ddd5 gcc/testsuite/g++.dg/guality/pr55541.C --- 17565,17571 ---- 012194f3f4441fc0dc8fb4ba94a8882b gcc/testsuite/g++.dg/graphite/pr42681.C dfe63b7d52f6d97e04da25f267ac330c gcc/testsuite/g++.dg/graphite/pr42930.C 4cf735ba9e5b65e201dbbd4ec916b359 gcc/testsuite/g++.dg/graphite/pr43026.C ! 7f8029fc072a029c7f784a7a650dbe75 gcc/testsuite/g++.dg/guality/guality.exp 2e0a2ac35d8a11426ad1e59f818a5d03 gcc/testsuite/g++.dg/guality/guality.h 9f6bd16255ea79978f41ff1fd8300ddc gcc/testsuite/g++.dg/guality/pr46815.C be57153d0806c5827262dfc205d1ddd5 gcc/testsuite/g++.dg/guality/pr55541.C *************** b25b382db37739c81869b75df02687cf gcc/te *** 17921,17926 **** --- 17947,17953 ---- 89bc34eae0365b381ab82e8d4ca5957f gcc/testsuite/g++.dg/init/pr43890.C f660de16a9cf160558064bb92eb21901 gcc/testsuite/g++.dg/init/pr44086.C 880ee6b08cc835f2a1db0bae613e7a23 gcc/testsuite/g++.dg/init/pr48859.C + 326a48b27d057d316de2e35aec05d132 gcc/testsuite/g++.dg/init/pr53932.C aa6fb39dc7128d68580ac96eb833e456 gcc/testsuite/g++.dg/init/pr55497.C c835d50eaf5fe1a2b052a1579b5ce77f gcc/testsuite/g++.dg/init/pr58811.C f25ce72283c3004e08c0df4685ca2469 gcc/testsuite/g++.dg/init/pr60572.C *************** c50416bd024b7f394ccf13b2af42d6e9 gcc/te *** 18298,18303 **** --- 18325,18331 ---- 704751cfdbae3f06f685612f201610a7 gcc/testsuite/g++.dg/lookup/friend2.C 6c4b3ee38e0ef8c73906d3d6ef93c86e gcc/testsuite/g++.dg/lookup/friend20.C a484b9799b124bf970c056c966db32e6 gcc/testsuite/g++.dg/lookup/friend21.C + 2212655cd503f3dbf25bf127bc32e45f gcc/testsuite/g++.dg/lookup/friend24.C e51e64a92ddf4c4d012cb738bf62fde5 gcc/testsuite/g++.dg/lookup/friend3.C 96ad222df48d0097eb84d66dbf37d17d gcc/testsuite/g++.dg/lookup/friend4.C 187ba092057b229619d98cf5e000c6e1 gcc/testsuite/g++.dg/lookup/friend5.C *************** cf9e1c6c02a4aee1d10b86325166de66 gcc/te *** 18988,18993 **** --- 19016,19023 ---- b7d92853a5faa70c9b8f4e124609991d gcc/testsuite/g++.dg/opt/pr100148.C b599b75470b905e959a7172363b13d69 gcc/testsuite/g++.dg/opt/pr100254.C 4821bda808ec2c117c297e4f155752e3 gcc/testsuite/g++.dg/opt/pr104681.C + 0fd8014a8bf41063904c9006c6d3f334 gcc/testsuite/g++.dg/opt/pr108365.C + 2613159e61afceaa9e7ace58beef53f4 gcc/testsuite/g++.dg/opt/pr108854.C 2896f5b1a96dd9fabb1dbb65cb4c5921 gcc/testsuite/g++.dg/opt/pr13066-1.C 4f87f86b9f018cae74888e97468b2fe0 gcc/testsuite/g++.dg/opt/pr14029.C 8fb7e68e9e9b5eb02628e03f5333e645 gcc/testsuite/g++.dg/opt/pr14888.C *************** c196198d50bad93b87f24ccaf1c0ee15 gcc/te *** 20427,20444 **** 2925678828b854c5f2a448d4d34d8e08 gcc/testsuite/g++.dg/pr64688.C 951008bcdb44de20d54de2c9a99575df gcc/testsuite/g++.dg/pr65032.C 2a99023224d23b7b4c2df438196b9877 gcc/testsuite/g++.dg/pr65049.C ! e806b69344c18eb3f9f4d25e7ef1cbb7 gcc/testsuite/g++.dg/pr65240-1.C ! ee3a7e458d7954444a8959c8662bdeba gcc/testsuite/g++.dg/pr65240-2.C ! 3a4a8f388dfc83911ec4b20be25740b4 gcc/testsuite/g++.dg/pr65240-3.C ! 185b61c9f9f2771ca0469650321db79c gcc/testsuite/g++.dg/pr65240-4.C ff90a96b0f5bda64aea35147770302e1 gcc/testsuite/g++.dg/pr65240.h ! 0057ba501387c41f5fcb4c3488ae63ac gcc/testsuite/g++.dg/pr65242.C c987d521d6ec4222a0bbaff58ae0df77 gcc/testsuite/g++.dg/pr65295.C 3b4312eed9dd9b2a86eadf1d7beb1e82 gcc/testsuite/g++.dg/pr66655.C d7dba78f8755778892c14ddaf49a9ce9 gcc/testsuite/g++.dg/pr66655.h aa40a4a91073b1035b9353971692e0bc gcc/testsuite/g++.dg/pr66655_1.cc c014278b0e7c6cf72bd8834b1b9d6631 gcc/testsuite/g++.dg/pr66866.C ! e76d57f03d20c287845bd04c939c4d73 gcc/testsuite/g++.dg/pr67211.C af5d9b1cf7a2f7f86d5b6b547f1bc9a9 gcc/testsuite/g++.dg/pr67351.C c15a8cc45a8eaf8903cfaae658dc8822 gcc/testsuite/g++.dg/pr67405.C 61d6f57e830446105d84b6744eecd7eb gcc/testsuite/g++.dg/pr67666.C --- 20457,20474 ---- 2925678828b854c5f2a448d4d34d8e08 gcc/testsuite/g++.dg/pr64688.C 951008bcdb44de20d54de2c9a99575df gcc/testsuite/g++.dg/pr65032.C 2a99023224d23b7b4c2df438196b9877 gcc/testsuite/g++.dg/pr65049.C ! 922496f33a9ac5ccae6f8aa317a02a67 gcc/testsuite/g++.dg/pr65240-1.C ! 8bd9fd039876f7fc1a911c89028258ff gcc/testsuite/g++.dg/pr65240-2.C ! 5ba7c1a90046e9179ea6288129367815 gcc/testsuite/g++.dg/pr65240-3.C ! d50cfc924c3c6bfe48d010f49b0320c5 gcc/testsuite/g++.dg/pr65240-4.C ff90a96b0f5bda64aea35147770302e1 gcc/testsuite/g++.dg/pr65240.h ! 225c688c4f2ead1be77c30e05bf4245c gcc/testsuite/g++.dg/pr65242.C c987d521d6ec4222a0bbaff58ae0df77 gcc/testsuite/g++.dg/pr65295.C 3b4312eed9dd9b2a86eadf1d7beb1e82 gcc/testsuite/g++.dg/pr66655.C d7dba78f8755778892c14ddaf49a9ce9 gcc/testsuite/g++.dg/pr66655.h aa40a4a91073b1035b9353971692e0bc gcc/testsuite/g++.dg/pr66655_1.cc c014278b0e7c6cf72bd8834b1b9d6631 gcc/testsuite/g++.dg/pr66866.C ! 6e5baacb67506374f7db3dffb5272daf gcc/testsuite/g++.dg/pr67211.C af5d9b1cf7a2f7f86d5b6b547f1bc9a9 gcc/testsuite/g++.dg/pr67351.C c15a8cc45a8eaf8903cfaae658dc8822 gcc/testsuite/g++.dg/pr67405.C 61d6f57e830446105d84b6744eecd7eb gcc/testsuite/g++.dg/pr67666.C *************** b76c7ee65b34b2377285a776d351781b gcc/te *** 20457,20470 **** 29300174b10233fd47c932d1ffd4c3bf gcc/testsuite/g++.dg/pr69123.C 72bb8a9ea548aaaada55dbcdb8d6a802 gcc/testsuite/g++.dg/pr69338.C 07ceb93faa4d6543359b7c47e9a5e94a gcc/testsuite/g++.dg/pr69379.C ! 7577b450ba2f8422ac17aa9a168a69c1 gcc/testsuite/g++.dg/pr69667.C 1b19e570cc03e72ec7115cbf16663717 gcc/testsuite/g++.dg/pr69697.C 6574022bacba25e4efad4b7c4931c69a gcc/testsuite/g++.dg/pr70098.C 52e836d540fc39ce14dbc3124fd1ad8e gcc/testsuite/g++.dg/pr70590-2.C d8fba4e6baf8e0880ae882765e1135b4 gcc/testsuite/g++.dg/pr70590.C 5c6cf3e2bb082400e2ca3d17973fdd4b gcc/testsuite/g++.dg/pr70965.C 0b728dae13a5f48195e47018a83c4f35 gcc/testsuite/g++.dg/pr71184.C ! 8b83dfbae2a2ae737596ef723b347d76 gcc/testsuite/g++.dg/pr71294.C dd5b895f9e8e377b3fc861eecf9bdbf7 gcc/testsuite/g++.dg/pr71389.C 6b1ee9b05340152c90e7c09d5b9eb5c2 gcc/testsuite/g++.dg/pr71488.C 8756c72da60c2ac8cdddc20291df82e3 gcc/testsuite/g++.dg/pr71655.C --- 20487,20500 ---- 29300174b10233fd47c932d1ffd4c3bf gcc/testsuite/g++.dg/pr69123.C 72bb8a9ea548aaaada55dbcdb8d6a802 gcc/testsuite/g++.dg/pr69338.C 07ceb93faa4d6543359b7c47e9a5e94a gcc/testsuite/g++.dg/pr69379.C ! 2c2e860fd96f20dc6b16a5da17796c8e gcc/testsuite/g++.dg/pr69667.C 1b19e570cc03e72ec7115cbf16663717 gcc/testsuite/g++.dg/pr69697.C 6574022bacba25e4efad4b7c4931c69a gcc/testsuite/g++.dg/pr70098.C 52e836d540fc39ce14dbc3124fd1ad8e gcc/testsuite/g++.dg/pr70590-2.C d8fba4e6baf8e0880ae882765e1135b4 gcc/testsuite/g++.dg/pr70590.C 5c6cf3e2bb082400e2ca3d17973fdd4b gcc/testsuite/g++.dg/pr70965.C 0b728dae13a5f48195e47018a83c4f35 gcc/testsuite/g++.dg/pr71184.C ! 1c81a3ae2a74a3e67c56f46fd05e05ae gcc/testsuite/g++.dg/pr71294.C dd5b895f9e8e377b3fc861eecf9bdbf7 gcc/testsuite/g++.dg/pr71389.C 6b1ee9b05340152c90e7c09d5b9eb5c2 gcc/testsuite/g++.dg/pr71488.C 8756c72da60c2ac8cdddc20291df82e3 gcc/testsuite/g++.dg/pr71655.C *************** bf14562b088e1e4c01e4050adbd18394 gcc/te *** 20506,20512 **** a8cae2d227c02ee5705e9b5b205bb1d1 gcc/testsuite/g++.dg/pr83979.c 8528aaf5d93c3e6771dcc4828d7264b5 gcc/testsuite/g++.dg/pr84231.C 083c1f5c90058b5d83822264c5d52f0e gcc/testsuite/g++.dg/pr84264.C ! da4464f64c7ae819c4a0629cfaf7095e gcc/testsuite/g++.dg/pr84279.C fcd3d77f2c884effb0321a5b04ff8ca6 gcc/testsuite/g++.dg/pr84492.C 18983b086a2ae1ee8b28131db73bc2fa gcc/testsuite/g++.dg/pr84729.C 75d741968e42202427b6e9c163e5c326 gcc/testsuite/g++.dg/pr84821.C --- 20536,20542 ---- a8cae2d227c02ee5705e9b5b205bb1d1 gcc/testsuite/g++.dg/pr83979.c 8528aaf5d93c3e6771dcc4828d7264b5 gcc/testsuite/g++.dg/pr84231.C 083c1f5c90058b5d83822264c5d52f0e gcc/testsuite/g++.dg/pr84264.C ! 26d10f4b383162ffd9eb468d61656fe3 gcc/testsuite/g++.dg/pr84279.C fcd3d77f2c884effb0321a5b04ff8ca6 gcc/testsuite/g++.dg/pr84492.C 18983b086a2ae1ee8b28131db73bc2fa gcc/testsuite/g++.dg/pr84729.C 75d741968e42202427b6e9c163e5c326 gcc/testsuite/g++.dg/pr84821.C *************** f7e4853292654f0af6a0a460b8924add gcc/te *** 22058,22063 **** --- 22088,22097 ---- 6e16acccf0c9f3e11f613dd140679e49 gcc/testsuite/g++.dg/tls/thread_local12j.C 9eb8b3d800f83f9d7d869d484abd19e6 gcc/testsuite/g++.dg/tls/thread_local12k.C b6d15debf41ad15b105889629ec239cc gcc/testsuite/g++.dg/tls/thread_local12l.C + 172557168cbc67b1f30728843273661b gcc/testsuite/g++.dg/tls/thread_local13-aux.cc + f872c9bb06d86928cee03742631d043b gcc/testsuite/g++.dg/tls/thread_local13.C + 55b421ef887d033e9d55b24ecf73ba9a gcc/testsuite/g++.dg/tls/thread_local14-aux.cc + 10f422a7b298c551b33dc01dd37d0089 gcc/testsuite/g++.dg/tls/thread_local14.C 24b7dce2c6b463d883c54b5a853ce0ad gcc/testsuite/g++.dg/tls/thread_local2.C 6c980c168dd76bd2823f2ec310b5f47b gcc/testsuite/g++.dg/tls/thread_local2g.C 6c7d3f08d2224c4d24f97029d8604655 gcc/testsuite/g++.dg/tls/thread_local3.C *************** ce4f8106ed96ef070bead8ca0df02eea gcc/te *** 22187,22196 **** 4a0b418d1bbb783ee191f2d05263d191 gcc/testsuite/g++.dg/torture/dg-torture.exp fab1470d87fc879a4a285622c057b736 gcc/testsuite/g++.dg/torture/init-list1.C 4054dd6c177ca7971902e3ac60e34695 gcc/testsuite/g++.dg/torture/ipa-cp-1.C ! 37b54578dbb493ce1238308444c1008c gcc/testsuite/g++.dg/torture/ppc-ldst-array.C 3fd9794b761154c19e5b03ca7b0727a1 gcc/testsuite/g++.dg/torture/pr102505.C 674377855743be77a442d6fe11fc86e1 gcc/testsuite/g++.dg/torture/pr103361.C 55421b614773ff9e900b6ad17ffe7df3 gcc/testsuite/g++.dg/torture/pr105189.C 161154ed9f6193a2a7da119e068c3f3f gcc/testsuite/g++.dg/torture/pr27218.C a84e9fff95df4801f8e582fbc33303b8 gcc/testsuite/g++.dg/torture/pr30252.C e980bf95890544d46879b89f7aa98df6 gcc/testsuite/g++.dg/torture/pr30567.C --- 22221,22232 ---- 4a0b418d1bbb783ee191f2d05263d191 gcc/testsuite/g++.dg/torture/dg-torture.exp fab1470d87fc879a4a285622c057b736 gcc/testsuite/g++.dg/torture/init-list1.C 4054dd6c177ca7971902e3ac60e34695 gcc/testsuite/g++.dg/torture/ipa-cp-1.C ! dd60ebe4e09cf5edd91dd360bcbcba8e gcc/testsuite/g++.dg/torture/ppc-ldst-array.C 3fd9794b761154c19e5b03ca7b0727a1 gcc/testsuite/g++.dg/torture/pr102505.C 674377855743be77a442d6fe11fc86e1 gcc/testsuite/g++.dg/torture/pr103361.C 55421b614773ff9e900b6ad17ffe7df3 gcc/testsuite/g++.dg/torture/pr105189.C + 42b175a7c38d6a15012b0e11d9e7457d gcc/testsuite/g++.dg/torture/pr106131.C + 695916482bd1d276cc3c727b90232254 gcc/testsuite/g++.dg/torture/pr109724.C 161154ed9f6193a2a7da119e068c3f3f gcc/testsuite/g++.dg/torture/pr27218.C a84e9fff95df4801f8e582fbc33303b8 gcc/testsuite/g++.dg/torture/pr30252.C e980bf95890544d46879b89f7aa98df6 gcc/testsuite/g++.dg/torture/pr30567.C *************** c051125966f7b3d00fdd612ba7549043 gcc/te *** 23210,23215 **** --- 23246,23252 ---- caf05a8324926e9472342da0584539ad gcc/testsuite/g++.dg/warn/Wignored-attributes-1.C 55295c0bc11e5dffe89757d080280054 gcc/testsuite/g++.dg/warn/Wignored-attributes-2.C a5142c9cd89ebb3502a6adbdb75fa29c gcc/testsuite/g++.dg/warn/Wignored-qualifiers1.C + 90dde3d2eabc1a35285253724486da84 gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C 223a9cc82cfdc42f62bbb5398c219cc8 gcc/testsuite/g++.dg/warn/Wimplicit-fallthrough-1.C e8496d82a0f58fc4bc26efa7a0a75fd3 gcc/testsuite/g++.dg/warn/Wimplicit-fallthrough-2.C 126f476a9780bcba16781feab90ed2d8 gcc/testsuite/g++.dg/warn/Wimplicit-fallthrough-3.C *************** ea532b8d02c84e413fb770ee0fdd34c7 gcc/te *** 23351,23356 **** --- 23388,23394 ---- 78a781a7fee9227b3174b6dee0ac20b3 gcc/testsuite/g++.dg/warn/Wsequence-point-1.C d0d6c5fe9b201bcd8b68523fbf3f0ce2 gcc/testsuite/g++.dg/warn/Wsequence-point-2.C 21e8a0380962b41685ed2da030d6e679 gcc/testsuite/g++.dg/warn/Wsequence-point-3.C + f09d07e0fd5c0b9c0c417b86039ac382 gcc/testsuite/g++.dg/warn/Wsequence-point-5.C 8fb4b9a6c1d26c1e9bde7782d85ab4db gcc/testsuite/g++.dg/warn/Wsequence-point-pr18050.C 44fe19ff71727efce22e2f732d2ac553 gcc/testsuite/g++.dg/warn/Wshadow-1.C 501d6f433bab53d27b046fc419dcb80a gcc/testsuite/g++.dg/warn/Wshadow-10.C *************** ee6a633cbcb41c7241335ac4002bc5bd gcc/te *** 23689,23694 **** --- 23727,23733 ---- eee589a3fa31332d5466e5037b1a870e gcc/testsuite/g++.dg/warn/pmf1.C c36be50bce1bb66a16eefbbb8eed1e5c gcc/testsuite/g++.dg/warn/pmf2.C ac14aaa010428fa00cd60d6e6bb808c0 gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C + 1ba5741dd0aa023aa23edc39041b235e gcc/testsuite/g++.dg/warn/pr108365.C adea0a023eba0c3c51b6a4894014d35a gcc/testsuite/g++.dg/warn/pr11159.C f257fca4d00c8c67aa2b9d6e43ee906f gcc/testsuite/g++.dg/warn/pr11492.C 5fab7f879534ef351718dc73d825b667 gcc/testsuite/g++.dg/warn/pr12242.C *************** d53cb2073c8f36697f63dfe19779eb13 gcc/te *** 27031,27036 **** --- 27070,27081 ---- f84204eeee088712d5aa5c3265daeced gcc/testsuite/g++.old-deja/old-deja.exp 11ceb0f25bac23f3aab1177dba0175df gcc/testsuite/g++.target/aarch64/aarch64.exp 3bf9651fdd715d050011949283abe2f0 gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C + c975ccbddf4ad62c5fa9795e339ffb9c gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C + c89aad61597a03b775b192f6f96fa2c5 gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2.C + b8661b94594b14c34e7a8bdd2dc97756 gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C + 2e25b2e27f54295da04104c2445da319 gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2.C + b9257e58ced87b65b17170b8e6ad90ed gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align8-O2.C + f7378d596bb7308498db40ad34fd8dab gcc/testsuite/g++.target/aarch64/bitfield-abi-warning.h c11e5f97e7a5971cc5c5017024f54496 gcc/testsuite/g++.target/aarch64/diag_aka_1.C 4d5fd415b9746bcd53f093e8282fb37d gcc/testsuite/g++.target/aarch64/no_unique_address_1.C 20b857cf626aad749264f74e19d94347 gcc/testsuite/g++.target/aarch64/no_unique_address_2.C *************** a621b799eff193996043d9d5462e5c27 gcc/te *** 27243,27248 **** --- 27288,27294 ---- 5848d6741a53192ff50fe53e91b24df1 gcc/testsuite/g++.target/nios2/hello-pie.C cf299fb8efec54c0218258732856b164 gcc/testsuite/g++.target/nios2/nios2.exp 2befd7b6b3b422b64609deed67a6306d gcc/testsuite/g++.target/powerpc/powerpc.exp + a873678a5188427c7ceb88e3a408ce84 gcc/testsuite/g++.target/powerpc/pr101322.C 63b698681e4a076eb88feccb3e6373df gcc/testsuite/g++.target/powerpc/pr94707-1.C 75c93ba90b3ca18a6d5c5264e2816651 gcc/testsuite/g++.target/powerpc/pr94707-2.C a63f2ade84bc38838f3986dfc4bc9d85 gcc/testsuite/g++.target/powerpc/pr94707-3.C *************** e89355b99660c53d3dac89eba0ac8986 gcc/te *** 28263,28268 **** --- 28309,28320 ---- 5dd01a3a30ba2b97a934273ca5fe3170 gcc/testsuite/gcc.c-torture/compile/pp.c ede20faf9b203e25b39b7032970f58be gcc/testsuite/gcc.c-torture/compile/pr100305.c 9c461bedf4ba5d689841294e9c5464f6 gcc/testsuite/gcc.c-torture/compile/pr101562.c + 9477024f0d6e7d41ab0ee7d8ab3d3e58 gcc/testsuite/gcc.c-torture/compile/pr106030.c + e12df015117953bcc79bb2bd0912de65 gcc/testsuite/gcc.c-torture/compile/pr106751.c + 591ba0d7b38a8f57d62f0b2928e693c4 gcc/testsuite/gcc.c-torture/compile/pr107997.c + e1a987965f844354ef93e18f546749c9 gcc/testsuite/gcc.c-torture/compile/pr108237.c + 9c6d8cdc69d8f80df1390e153dd3fffc gcc/testsuite/gcc.c-torture/compile/pr108596.c + 531e04fb4e7100e6b28bab7727b5ce6b gcc/testsuite/gcc.c-torture/compile/pr108688-1.c 33c7141fcf5b1add3ddd2be0100f1f0d gcc/testsuite/gcc.c-torture/compile/pr12517.c ec16b12ab11c499bf321be18ea59da33 gcc/testsuite/gcc.c-torture/compile/pr12578.c 86f3d5cf87d24e97aa663b79f2d0ac5d gcc/testsuite/gcc.c-torture/compile/pr12899.c *************** e854bc80f793329b6c96d31e3f80a012 gcc/te *** 30276,30281 **** --- 30328,30335 ---- 5ad23d6cafc55e78896b90e3669a14b8 gcc/testsuite/gcc.c-torture/execute/postmod-1.c 6f562291c92a478431678da451525a90 gcc/testsuite/gcc.c-torture/execute/pr103052.c 8f1a8c89149c065ac6e73140793989be gcc/testsuite/gcc.c-torture/execute/pr104814.c + 6b9abb094fcd9b7fa8d30c4251026072 gcc/testsuite/gcc.c-torture/execute/pr106032.c + 23cbbe0d93f89048f8d1ce1883e61ac2 gcc/testsuite/gcc.c-torture/execute/pr109778.c 7758cb727d75f4fc1c0e483d503de146 gcc/testsuite/gcc.c-torture/execute/pr15262-1.c 58dc249612dbc918d7fc4010e94deb8d gcc/testsuite/gcc.c-torture/execute/pr15262-2.c d9c36fc850771445c5e4b6ce6dae1a12 gcc/testsuite/gcc.c-torture/execute/pr15262.c *************** f1924cd169cc9af518b51afd9f11da82 gcc/te *** 31914,31919 **** --- 31968,31975 ---- 62ddd0ab49b2d8a39773ae7568d8aa74 gcc/testsuite/gcc.dg/asan/pr104449.c 3424b712fda248acb67afe3bbb5dbc46 gcc/testsuite/gcc.dg/asan/pr105214.c 695fe49bfb0b0c5cd4e60ba1a0f27cf6 gcc/testsuite/gcc.dg/asan/pr105396.c + 1a25dd9cb28d8417a3ce246587233c84 gcc/testsuite/gcc.dg/asan/pr106190.c + c3b533151735c602f99cd3d2cb415cf8 gcc/testsuite/gcc.dg/asan/pr107317.c a5e988481cd66b8acf6c610b847cb713 gcc/testsuite/gcc.dg/asan/pr56417.c 0c13e4008bb665f05b030eb42e43183f gcc/testsuite/gcc.dg/asan/pr63845.c 9a45b4bebab3901180dbe2a44efcd070 gcc/testsuite/gcc.dg/asan/pr64170.c *************** e2a79e8b69a6b8bbbeab0ba442c5de78 gcc/te *** 32078,32084 **** 675327adce99f8c97f34c5251a8c4280 gcc/testsuite/gcc.dg/attr-alias-5.c ef49e9f0f717d3a4d1c827df010599a5 gcc/testsuite/gcc.dg/attr-aligned-2.c 9a4118e77ef09128c8a4e3bf859f9a05 gcc/testsuite/gcc.dg/attr-aligned-3.c ! d2d3ddd7487e05512cd24d38b3a730ee gcc/testsuite/gcc.dg/attr-aligned.c a9ff03a6ff85f7c46fced4797280e236 gcc/testsuite/gcc.dg/attr-alloc_align-1.c daf15f1ec989bc8e1d4831a0d1c70e3e gcc/testsuite/gcc.dg/attr-alloc_align-2.c a40448e5fa79d5f463c4408a645a3bb7 gcc/testsuite/gcc.dg/attr-alloc_align-3.c --- 32134,32140 ---- 675327adce99f8c97f34c5251a8c4280 gcc/testsuite/gcc.dg/attr-alias-5.c ef49e9f0f717d3a4d1c827df010599a5 gcc/testsuite/gcc.dg/attr-aligned-2.c 9a4118e77ef09128c8a4e3bf859f9a05 gcc/testsuite/gcc.dg/attr-aligned-3.c ! 218ecba16d2d3bab118b45a8fd07376c gcc/testsuite/gcc.dg/attr-aligned.c a9ff03a6ff85f7c46fced4797280e236 gcc/testsuite/gcc.dg/attr-alloc_align-1.c daf15f1ec989bc8e1d4831a0d1c70e3e gcc/testsuite/gcc.dg/attr-alloc_align-2.c a40448e5fa79d5f463c4408a645a3bb7 gcc/testsuite/gcc.dg/attr-alloc_align-3.c *************** dc6685bcab4cd7ed276483fd8d031507 gcc/te *** 33643,33651 **** --- 33699,33709 ---- d9dc93acb42ceaf059f158db6f7ea6d2 gcc/testsuite/gcc.dg/cwsc1.c 31f68cda2cf50ca6f7c6c4a9cf4545fd gcc/testsuite/gcc.dg/darwin-20040809-2.c fb2cff7f2512c80434d59d702b80e754 gcc/testsuite/gcc.dg/darwin-20040812-1.c + e3c60516eb9991f352d93d33fde752d3 gcc/testsuite/gcc.dg/darwin-aligned-globals.c 3010db4d547a5bce8e8559d5cc724330 gcc/testsuite/gcc.dg/darwin-cfstring-1.c e43f7a2f13e87638cc08c97ba7326543 gcc/testsuite/gcc.dg/darwin-cfstring-2.c c4152191bf290926b6b747aa4397e015 gcc/testsuite/gcc.dg/darwin-cfstring-format-1.c + 4b9fbc9c27c43751e8b7c93a99afaabc gcc/testsuite/gcc.dg/darwin-comm-1.c 7e6cf48347ff53c1f9c509b921aceb22 gcc/testsuite/gcc.dg/darwin-comm.c b477cca030ba86435b074a334ee9bfd0 gcc/testsuite/gcc.dg/darwin-ld-1.c 4ac76811f1a6c80f6dc5191396c37748 gcc/testsuite/gcc.dg/darwin-ld-2.c *************** a0ac850750aaa6f8934dd8d86cad48b3 gcc/te *** 33965,33970 **** --- 34023,34029 ---- 440b3f562b43525babe2c96be973d1be gcc/testsuite/gcc.dg/dfp/operator-bitwise.c b6f9108cd4878577de83d43be75185ce gcc/testsuite/gcc.dg/dfp/pr104510.c 440b561ad1d9037d4559c7011d636b7a gcc/testsuite/gcc.dg/dfp/pr104557.c + 74ff23770b319829b7487e85a1ed72f6 gcc/testsuite/gcc.dg/dfp/pr108068.c d8629eb8e0c765b5a7daa583cb8eedad gcc/testsuite/gcc.dg/dfp/pr31344.c b59fd600db434af135f39c38e21e2d74 gcc/testsuite/gcc.dg/dfp/pr37435.c 17353eaf91a4f3959fa168324f86f6f5 gcc/testsuite/gcc.dg/dfp/pr41049.c *************** d7769c446568c18d557180c850cf3b4a gcc/te *** 34728,34733 **** --- 34787,34793 ---- f711435274df71049aa71808a78fc7a5 gcc/testsuite/gcc.dg/gomp/parallel-3.c d9a1f43ca6ac2a073e22bbbf243f300b gcc/testsuite/gcc.dg/gomp/parallel-4.c 0f7ac2e81ae2d400d52c34aa1c0b379a gcc/testsuite/gcc.dg/gomp/pr100508.c + a633f425b4fdde0a7b6f0aa6aa2f2754 gcc/testsuite/gcc.dg/gomp/pr108435.c 7a163e65fe52b23fc85f2daa18c442ee gcc/testsuite/gcc.dg/gomp/pr25874.c 597de3ed24e1bc1c650af918589d83c3 gcc/testsuite/gcc.dg/gomp/pr25989.c 0bd3e8dc860de61dd8e09229c090e1f5 gcc/testsuite/gcc.dg/gomp/pr25990.c *************** b9aafcde73d659e8a8f12aec94a7cb09 gcc/te *** 35219,35225 **** 46fe10dc7c2a1b21f0d7af66c601ad44 gcc/testsuite/gcc.dg/guality/drap.c 6572d7b6a1c070b8e6c4fe22f6133e02 gcc/testsuite/gcc.dg/guality/example.c c2dbe29811bd94d5d243fab419e7cc46 gcc/testsuite/gcc.dg/guality/guality.c ! ad3832865ce6297602ae5c702ff44e94 gcc/testsuite/gcc.dg/guality/guality.exp 8c384d0e247915329d53a586d7639107 gcc/testsuite/gcc.dg/guality/guality.h 2d9c26760bf9d33b3f102b5e17c22c93 gcc/testsuite/gcc.dg/guality/inline-params-2.c 1acafa5b9d5aeba7e4788b85be32dc52 gcc/testsuite/gcc.dg/guality/inline-params.c --- 35279,35285 ---- 46fe10dc7c2a1b21f0d7af66c601ad44 gcc/testsuite/gcc.dg/guality/drap.c 6572d7b6a1c070b8e6c4fe22f6133e02 gcc/testsuite/gcc.dg/guality/example.c c2dbe29811bd94d5d243fab419e7cc46 gcc/testsuite/gcc.dg/guality/guality.c ! 1830bfd39ab8fdfd8c2021d875fdd0ed gcc/testsuite/gcc.dg/guality/guality.exp 8c384d0e247915329d53a586d7639107 gcc/testsuite/gcc.dg/guality/guality.h 2d9c26760bf9d33b3f102b5e17c22c93 gcc/testsuite/gcc.dg/guality/inline-params-2.c 1acafa5b9d5aeba7e4788b85be32dc52 gcc/testsuite/gcc.dg/guality/inline-params.c *************** b277b193b2a7ff104d28fbf8e50407e8 gcc/te *** 35911,35916 **** --- 35971,35978 ---- ca741859e8754c149e68fc40892d50b1 gcc/testsuite/gcc.dg/lto/pr101868_1.c e4aec3391bc7aed1a5d886edeb277407 gcc/testsuite/gcc.dg/lto/pr101868_2.c 02d829cec4d5ff9723124841f79edca9 gcc/testsuite/gcc.dg/lto/pr101868_3.c + ef0b90ba09e6e56d1d655afdcb63cdd4 gcc/testsuite/gcc.dg/lto/pr109778_0.c + c3ad752a64c11978f9f2cce0520bf58c gcc/testsuite/gcc.dg/lto/pr109778_1.c 5192817b2492ca93ffadce3b4a5e4794 gcc/testsuite/gcc.dg/lto/pr27898_0.c c5f48897247dfaec60df4e32beffcd8e gcc/testsuite/gcc.dg/lto/pr27898_1.c 2ad724786bc4b555a7f31e8b3bf164b6 gcc/testsuite/gcc.dg/lto/pr28706_0.c *************** b01f707de15442a63cdb3e32148021fd gcc/te *** 36562,36567 **** --- 36624,36634 ---- 795e155542cd4d6c44666b3712a89f73 gcc/testsuite/gcc.dg/pr105250.c cc6ac8d68c79338a580a123141221e8b gcc/testsuite/gcc.dg/pr105257.c df5c854ae6b61ad7980dc609c12732b5 gcc/testsuite/gcc.dg/pr105333.c + c475e08b8000c7ada2ebc07c02d67b0d gcc/testsuite/gcc.dg/pr106719.c + d39b4203470156b99b330266683a9790 gcc/testsuite/gcc.dg/pr107107.c + d64d53420ac059d0a4813bb6b0e625bd gcc/testsuite/gcc.dg/pr107554.c + e0baf0198b26b94a0e92182918c52449 gcc/testsuite/gcc.dg/pr108573.c + 8c5ddd68de1ed874eb52f91b7136909e gcc/testsuite/gcc.dg/pr109410.c 860f163dcd0b252ea3f85323bc959a7d gcc/testsuite/gcc.dg/pr11459-1.c e164a736918661d669864e3645da290c gcc/testsuite/gcc.dg/pr11492.c 3b83403729a3686d25552352bf0c4577 gcc/testsuite/gcc.dg/pr11864-1.c *************** b2947b2840760e6f6cb66c30dda3f057 gcc/te *** 37663,37669 **** f28c9c90b3d30633266db4aef0f121a8 gcc/testsuite/gcc.dg/pr64454.c d2253df541cef89436be2e59701319fc gcc/testsuite/gcc.dg/pr64465.c c6f1921b2165f45723cda892443a24c3 gcc/testsuite/gcc.dg/pr64511.c ! fbcba818644b54491e9e8f3b9c6cd09b gcc/testsuite/gcc.dg/pr64536.c d509539e43ac4a3bf9c9b01c0503ebdf gcc/testsuite/gcc.dg/pr64563.c a797044c31f28103c61f4bcbbfbf1066 gcc/testsuite/gcc.dg/pr64637.c 84213f413cfa8fc453fa64e68f295dd4 gcc/testsuite/gcc.dg/pr64663.c --- 37730,37736 ---- f28c9c90b3d30633266db4aef0f121a8 gcc/testsuite/gcc.dg/pr64454.c d2253df541cef89436be2e59701319fc gcc/testsuite/gcc.dg/pr64465.c c6f1921b2165f45723cda892443a24c3 gcc/testsuite/gcc.dg/pr64511.c ! 9173e74c9221989537bb7b9fa47ef9e9 gcc/testsuite/gcc.dg/pr64536.c d509539e43ac4a3bf9c9b01c0503ebdf gcc/testsuite/gcc.dg/pr64563.c a797044c31f28103c61f4bcbbfbf1066 gcc/testsuite/gcc.dg/pr64637.c 84213f413cfa8fc453fa64e68f295dd4 gcc/testsuite/gcc.dg/pr64663.c *************** ff83f1142d27828d619d4abf6063f64d gcc/te *** 38457,38463 **** d96f1f1b79bd3d34227f08f817f8c40a gcc/testsuite/gcc.dg/pragma-diag-8.c 24a9270f9a6635bb396c6d700a9d9d2c gcc/testsuite/gcc.dg/pragma-init-fini-2.c 8ea7784f3024c6da48a3ea846fb015cf gcc/testsuite/gcc.dg/pragma-init-fini.c ! 811b358bae37344e12a6159506ad1c6e gcc/testsuite/gcc.dg/pragma-message.c 5ba7295e8d296fad3e6dbec62f078a08 gcc/testsuite/gcc.dg/pragma-ms_struct.c 70c646980b7f8688082508ee2b320463 gcc/testsuite/gcc.dg/pragma-pack-2.c 91e7f7dc0a6185be839ea6c1b0927ab2 gcc/testsuite/gcc.dg/pragma-pack-3.c --- 38524,38530 ---- d96f1f1b79bd3d34227f08f817f8c40a gcc/testsuite/gcc.dg/pragma-diag-8.c 24a9270f9a6635bb396c6d700a9d9d2c gcc/testsuite/gcc.dg/pragma-init-fini-2.c 8ea7784f3024c6da48a3ea846fb015cf gcc/testsuite/gcc.dg/pragma-init-fini.c ! 5f05939ddb5a26eeb821ec9bdfd424e7 gcc/testsuite/gcc.dg/pragma-message.c 5ba7295e8d296fad3e6dbec62f078a08 gcc/testsuite/gcc.dg/pragma-ms_struct.c 70c646980b7f8688082508ee2b320463 gcc/testsuite/gcc.dg/pragma-pack-2.c 91e7f7dc0a6185be839ea6c1b0927ab2 gcc/testsuite/gcc.dg/pragma-pack-3.c *************** ad6242e66d3dccabe71dd1502730f6d6 gcc/te *** 39420,39425 **** --- 39487,39494 ---- 187b7ab38abc20e5b403f44030455c53 gcc/testsuite/gcc.dg/torture/pr104402.c ca1b8736d16b2cdaabaec84f87fa4d15 gcc/testsuite/gcc.dg/torture/pr105163.c a88279579fa471a64faeb41da64a9eb4 gcc/testsuite/gcc.dg/torture/pr105198.c + b14f04ff913718764d3bdef465cc8316 gcc/testsuite/gcc.dg/torture/pr106112.c + dcce8968ffefc4127aace33be872b0b1 gcc/testsuite/gcc.dg/torture/pr106513.c ded4330fd1cd52783bd9b1761db038ef gcc/testsuite/gcc.dg/torture/pr16104-1.c fc265ee05da2f29f0e92804661cd1f28 gcc/testsuite/gcc.dg/torture/pr17526.c 01c583edb41b632b835aa892b9c1cb14 gcc/testsuite/gcc.dg/torture/pr17933-1.c *************** b142c2ddae2c16c5c72a74e4640c1177 gcc/te *** 40749,40754 **** --- 40818,40824 ---- 44ea79b170e8361106ff0a9791223f68 gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-10.c 64291369db8a3b1bf41782ff1eb3de9b gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-11.c 2592f2d893131e439632395ceaa9705b gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-12.c + 9f7d76e1b617499178fafd478cc82d21 gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c e79cd62bd574d773375b923ec037485f gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-2.c 33591a0fcd9e8448e38471ecb4875798 gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-3.c 9a8efc85cc4761046085ad119ebeab81 gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-4.c *************** a894721a77fea7c94bacb921fa950e92 gcc/te *** 41267,41272 **** --- 41337,41344 ---- 5fa8fedb134926f9081dc10112a7acbb gcc/testsuite/gcc.dg/tree-ssa/popcount4ll.c 54f39b48fa6b3cbd7593e9bc52d33a21 gcc/testsuite/gcc.dg/tree-ssa/pr100278.c d5dace55f72aa8ccb51636dff79f5ccc gcc/testsuite/gcc.dg/tree-ssa/pr101824.c + 660324e032912162df8b4570de2731f5 gcc/testsuite/gcc.dg/tree-ssa/pr105860.c + 0b2312ef2558ac9fd9aad91d8afc7009 gcc/testsuite/gcc.dg/tree-ssa/pr107323.c 78e6c5fe63f7305009c8a79840fe20dc gcc/testsuite/gcc.dg/tree-ssa/pr13146.c eab19e0c04884cd782c9879cbe292109 gcc/testsuite/gcc.dg/tree-ssa/pr14341.c 9945ed7002a5f7d4918e8ff5eb4cb647 gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c *************** acf0af3723cb1d2f1a5fe0dbbb7d9fa9 gcc/te *** 42446,42451 **** --- 42518,42524 ---- b6636fcf606d4b2a9b3c129b082bc808 gcc/testsuite/gcc.dg/ubsan/float-cast-overflow-bf.c 3325507ff87bcf4f63df3972ec6895c4 gcc/testsuite/gcc.dg/ubsan/ipa-icf-1.c 20138e45bcf86067b02f18ee36d2a451 gcc/testsuite/gcc.dg/ubsan/object-size-9.c + cefdc2a9eb13f2095c81dff3665fcbe2 gcc/testsuite/gcc.dg/ubsan/pr107183.c 8b53119c2975ba4eb7e0a8a3f21049bc gcc/testsuite/gcc.dg/ubsan/pr63690.c 7a3b89a11b570c0d6817707c745a9fba gcc/testsuite/gcc.dg/ubsan/pr67279.c c9a455b03d901e306e1836d50e9e37d6 gcc/testsuite/gcc.dg/ubsan/pr67662.c *************** a1f177ffd0862f4b4d2cf8089b641e17 gcc/te *** 44985,44990 **** --- 45058,45064 ---- 904fcc9a4fae07870b9cb9e077d40e2a gcc/testsuite/gcc.target/aarch64/aes_1.c f579ec2c6b2aaae4154654375a568cb8 gcc/testsuite/gcc.target/aarch64/aes_2.c 6fc5ea113b9f1a18e380dabb486b1f93 gcc/testsuite/gcc.target/aarch64/aes_xor_combine.c + 87ffe2f549ae8342b95a0220082c56a9 gcc/testsuite/gcc.target/aarch64/ampere1-no_ldp_combine.c b144bbaff9193d702e5e6e91e1c21a7a gcc/testsuite/gcc.target/aarch64/and_const.c 5625f9d0aa6dd393a4e54a9d8f0df277 gcc/testsuite/gcc.target/aarch64/and_const2.c e4ce46d425f8ea0594bf48b8fec9250a gcc/testsuite/gcc.target/aarch64/ands_1.c *************** fdee6dc65f1aea1fb6a62ac64d03d92d gcc/te *** 45059,45064 **** --- 45133,45144 ---- 946b6917c33aba8084d5a129bb3f3e87 gcc/testsuite/gcc.target/aarch64/bics_3.c 7b6b35a52fbd180696cad88dbba07bee gcc/testsuite/gcc.target/aarch64/bics_4.c dbf9d0b9347271827283e2f005a43518 gcc/testsuite/gcc.target/aarch64/bics_5.c + b9adf5710f6e4412e311d9842a7e6a74 gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c + 1ea2338a337ffffcbf0070527e645884 gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2.c + 5b4ff998e5161d6086f9cb3b1a2b4d9b gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c + 4ac663bd8c658f6110b0b15309b48819 gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2.c + e6fb09982b6bafd6c889c22cb3ec1cb9 gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align8-O2.c + f7378d596bb7308498db40ad34fd8dab gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning.h 11f6f9054981704db09136d921c586d4 gcc/testsuite/gcc.target/aarch64/branch-protection-attr-2.c d7e52c3c883fc5ffda3d68cfbc199f9c gcc/testsuite/gcc.target/aarch64/branch-protection-attr.c c45ad55864031fa75ffa4f831160438a gcc/testsuite/gcc.target/aarch64/branch-protection-option-2.c *************** c84ec68e16463ed98fee3cd8cb4e230f gcc/te *** 45122,45127 **** --- 45202,45208 ---- f88dcec7a52a0d115da213f16170f154 gcc/testsuite/gcc.target/aarch64/cpunative/info_13 0e1794c5980d78e11a9aff64bd2dc530 gcc/testsuite/gcc.target/aarch64/cpunative/info_14 a83f195cec2faf2fbf29ad0e4f2fa03e gcc/testsuite/gcc.target/aarch64/cpunative/info_15 + 77b9d125c413bdfe2a579cf2a959f461 gcc/testsuite/gcc.target/aarch64/cpunative/info_18 4b5005c4193fa80868408bf4492b4e3b gcc/testsuite/gcc.target/aarch64/cpunative/info_2 4c4387d4071cf10c793b4efe11f43439 gcc/testsuite/gcc.target/aarch64/cpunative/info_3 d8a7caffcc99feff5312001aed51cd38 gcc/testsuite/gcc.target/aarch64/cpunative/info_4 *************** d381cd3e88e2680adaf2d96ab40c7f36 gcc/te *** 45138,45143 **** --- 45219,45225 ---- c033638d0946e9ee53dca3d93087a1e9 gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_13.c 6053245b4b2e80b7e957f46340ac4844 gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_14.c 1edb30a14c92c1f3d8768f2fe63085ab gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_15.c + 7f6f8f8e6241c818ea037d533dc71d1a gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_18.c ae5358d52499de77a7a1beac3683c709 gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_2.c 5932d955ed9dc11faefb9f331763ff2c gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_3.c cfd988497c936bc048f9b952dc82ebac gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_4.c *************** c634a3e3729a1cf014159113aaaa5923 gcc/te *** 45359,45364 **** --- 45441,45450 ---- 629072fafe5767161ca1f67309a94cc5 gcc/testsuite/gcc.target/aarch64/popcnt.c 1444bbe1566e1e44cb5d667947f37296 gcc/testsuite/gcc.target/aarch64/popcnt2.c 86842168437685ec7a5c743fbea8576c gcc/testsuite/gcc.target/aarch64/popcount4.c + d31b19093bf5b52a4ab71663355a6864 gcc/testsuite/gcc.target/aarch64/pr104921-1.c + de49e9125d6237709299bcc3a1dfd315 gcc/testsuite/gcc.target/aarch64/pr104921-2.c + 80bfa364bfe20370e6bd035b978c10f8 gcc/testsuite/gcc.target/aarch64/pr104921.x + a7d8042acc2272e21686f52da76e42f1 gcc/testsuite/gcc.target/aarch64/pr108589.c 9adb42733d9f5e2b1f2dbb364b62100d gcc/testsuite/gcc.target/aarch64/pr37780_1.c e668fb9e0d32efadd671247467dc90db gcc/testsuite/gcc.target/aarch64/pr58460.c 9023f817c07ddec673c5b546525fc184 gcc/testsuite/gcc.target/aarch64/pr60034.c *************** f1bf7ff33493bb68ff78eb400f2af3a2 gcc/te *** 45420,45427 **** d43406280c991dedd7072642fee590a0 gcc/testsuite/gcc.target/aarch64/pr91102.c fc91452912566f4106b747b6e9c396e5 gcc/testsuite/gcc.target/aarch64/pr91927.c 9562a96a900add1659850fcc3d3901cf gcc/testsuite/gcc.target/aarch64/pr92424-1.c ! fa96ea78d21fc13d022162f4fb6d0e23 gcc/testsuite/gcc.target/aarch64/pr92424-2.c ! cc14caf0fac017855cfb26da3f9bd70f gcc/testsuite/gcc.target/aarch64/pr92424-3.c 2c2213c9e95d84ffb54b1bf1c59ba1a4 gcc/testsuite/gcc.target/aarch64/pr92526.c 4a3651caf4f05ecfa237c1017ec5b341 gcc/testsuite/gcc.target/aarch64/pr93119.c 040dfb8e58ad051e80d35c470c8ab52a gcc/testsuite/gcc.target/aarch64/pr93221.c --- 45506,45513 ---- d43406280c991dedd7072642fee590a0 gcc/testsuite/gcc.target/aarch64/pr91102.c fc91452912566f4106b747b6e9c396e5 gcc/testsuite/gcc.target/aarch64/pr91927.c 9562a96a900add1659850fcc3d3901cf gcc/testsuite/gcc.target/aarch64/pr92424-1.c ! 089246fb9d610dba2682e4db293a1081 gcc/testsuite/gcc.target/aarch64/pr92424-2.c ! 82d090f026d0bcb989e44bc06fb71ba3 gcc/testsuite/gcc.target/aarch64/pr92424-3.c 2c2213c9e95d84ffb54b1bf1c59ba1a4 gcc/testsuite/gcc.target/aarch64/pr92526.c 4a3651caf4f05ecfa237c1017ec5b341 gcc/testsuite/gcc.target/aarch64/pr93119.c 040dfb8e58ad051e80d35c470c8ab52a gcc/testsuite/gcc.target/aarch64/pr93221.c *************** c6eebf3e7952e61593d0c0e9db4a9363 gcc/te *** 45444,45454 **** bf82071ea86307b407ab979b320a2a98 gcc/testsuite/gcc.target/aarch64/pr97535.c c5ac198fcc683ea88b36ff21fc73e2c5 gcc/testsuite/gcc.target/aarch64/pr97638.c 9de38bfb1ed2fd966b262da7bfb1767a gcc/testsuite/gcc.target/aarch64/pr97701.c 18603818c100529306da07a556c00769 gcc/testsuite/gcc.target/aarch64/pr99381.c 1f2ce8a6e6be36322ada7a2a222926ac gcc/testsuite/gcc.target/aarch64/pr99767.c 49e4573c158d59f2a37800471ca3bc65 gcc/testsuite/gcc.target/aarch64/pr99808.c 5e9a238ae88bfc957497e635ed104144 gcc/testsuite/gcc.target/aarch64/pr99988.c ! d3e6defa85b5cd4bb506306377e59a53 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c 42c7828cb4d5253e1a3df46c971f945a gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_2.c 1802b716a6dff570eaf8df2688efe1dd gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_3.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c --- 45530,45541 ---- bf82071ea86307b407ab979b320a2a98 gcc/testsuite/gcc.target/aarch64/pr97535.c c5ac198fcc683ea88b36ff21fc73e2c5 gcc/testsuite/gcc.target/aarch64/pr97638.c 9de38bfb1ed2fd966b262da7bfb1767a gcc/testsuite/gcc.target/aarch64/pr97701.c + d99763de0d53b85cfa8475cec6740085 gcc/testsuite/gcc.target/aarch64/pr98776.c 18603818c100529306da07a556c00769 gcc/testsuite/gcc.target/aarch64/pr99381.c 1f2ce8a6e6be36322ada7a2a222926ac gcc/testsuite/gcc.target/aarch64/pr99767.c 49e4573c158d59f2a37800471ca3bc65 gcc/testsuite/gcc.target/aarch64/pr99808.c 5e9a238ae88bfc957497e635ed104144 gcc/testsuite/gcc.target/aarch64/pr99988.c ! 7647e74954bed1df0b5452c86dc7806b gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c 42c7828cb4d5253e1a3df46c971f945a gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_2.c 1802b716a6dff570eaf8df2688efe1dd gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_3.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c *************** cffa63a742186323feab22505915a6e9 gcc/te *** 47780,47790 **** 870b6f75704bbb0ccb3143a727a5931b gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_7.c 92c276aa826427c641795daf9568c67a gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_8.c 05382618b8c4ba6e308d6b5ff864fab5 gcc/testsuite/gcc.target/aarch64/sve/acle/general/bic_1.c ! 5ae6341c57153ec20112c098c47d4a4f gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c 4eea3d7baf0e2958356c0c33600e72e4 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_2.c ! 47cd2b091e30ac40fddd5d5428615f8d gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c 727e5a19783b8b46c75ba94a5a33f1da gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_2.c ! 88cae91706dea5ab1150bf4ba8df41d5 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c 3e4d3053ca7b442dbfeb54e8df14d433 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkpa_1.c 41715679da86b4845c2da3233725d0f2 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkpb_1.c 4e7a3ff45a72f35e2476f4e660886eb0 gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpeq_1.c --- 47867,47878 ---- 870b6f75704bbb0ccb3143a727a5931b gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_7.c 92c276aa826427c641795daf9568c67a gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_8.c 05382618b8c4ba6e308d6b5ff864fab5 gcc/testsuite/gcc.target/aarch64/sve/acle/general/bic_1.c ! af77aba325d1fbc52d95aa9fcc602577 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c 4eea3d7baf0e2958356c0c33600e72e4 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_2.c ! f81d80fd6fc545f0e3c86a51a1ad1aa8 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c 727e5a19783b8b46c75ba94a5a33f1da gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_2.c ! f05f061869c6f335b6395f5250ec83ee gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c ! 649722b7feeb54ead3f4ff347e8ef4db gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_2.c 3e4d3053ca7b442dbfeb54e8df14d433 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkpa_1.c 41715679da86b4845c2da3233725d0f2 gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkpb_1.c 4e7a3ff45a72f35e2476f4e660886eb0 gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpeq_1.c *************** b47b757f8315eacb46b04546750c92a3 gcc/te *** 55133,55138 **** --- 55221,55227 ---- 99d95f5ed8219dbd6f25d0d43af3e99e gcc/testsuite/gcc.target/i386/avx-vzeroupper-25.c c9c1cc09c516bf54bf50fb514a8f862c gcc/testsuite/gcc.target/i386/avx-vzeroupper-26.c 373ca5703182fb7bac2076f26891bd55 gcc/testsuite/gcc.target/i386/avx-vzeroupper-27.c + c0bed0be10ece6c15e9aa800b77e5436 gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c 2676f686c636ba65ddf77da8485ee324 gcc/testsuite/gcc.target/i386/avx-vzeroupper-3.c 762b6911a6dc394fae9ee24213fb6114 gcc/testsuite/gcc.target/i386/avx-vzeroupper-4.c 27e3a091b9bfccddb7c44014ae46ed71 gcc/testsuite/gcc.target/i386/avx-vzeroupper-5.c *************** f55df70acaaa1a05030d45495848eb2b gcc/te *** 55614,55619 **** --- 55703,55709 ---- 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 + e776362bd500a8b0461d6aa8e0e1660e gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c 964a5f2a2c89b83533b2be720732ccd6 gcc/testsuite/gcc.target/i386/avx512bf16-vcvtne2ps2bf16-1.c 80660c3a1129515840c1c9e263211f06 gcc/testsuite/gcc.target/i386/avx512bf16-vcvtneps2bf16-1.c 63e7956c8ca198ce2181d80ed229bbbb gcc/testsuite/gcc.target/i386/avx512bf16-vdpbf16ps-1.c *************** a92681d4c2c5095462e23684946fe9fd gcc/te *** 58699,58705 **** --- 58789,58798 ---- 21083ed0382a1c184689d3a9ee1bc7ee gcc/testsuite/gcc.target/i386/pr104637.c a64b8516e04de39ddebcd66dc046d450 gcc/testsuite/gcc.target/i386/pr104971.c 3de9ba59994fd09bad053a28eecbc68d gcc/testsuite/gcc.target/i386/pr105123.c + db0abcfd3877faa33b33aa19a57352a5 gcc/testsuite/gcc.target/i386/pr105554.c afe42f2264a7583bee62a6e718faeef5 gcc/testsuite/gcc.target/i386/pr105970.c + 6785d7acc8b80b50a6e9eff699729a12 gcc/testsuite/gcc.target/i386/pr107304.c + 972837aa3a25d88acfe4af629c37d530 gcc/testsuite/gcc.target/i386/pr107863.c 304b7d185da41754f69656f5bfa7d508 gcc/testsuite/gcc.target/i386/pr11001-memcpy-1.c 7dbe55f1460795545dd744807466a430 gcc/testsuite/gcc.target/i386/pr11001-memcpy-2.c cbe58ae1efc3b97c1019a430e1fedfcb gcc/testsuite/gcc.target/i386/pr11001-memcpy-3.c *************** d82c437b681e812dd9c8b48af5ec1850 gcc/te *** 60019,60025 **** a6b13b01e1a41a2d0dec3e0debcdf80b gcc/testsuite/gcc.target/i386/pr89229-7a.c aead7f35b166baa85ab2aed11aa3c2d4 gcc/testsuite/gcc.target/i386/pr89229-7b.c d9b72f271f61a1292d8be12ea7a23b54 gcc/testsuite/gcc.target/i386/pr89229-7c.c ! 8101acdea56668e935e1e380034afee9 gcc/testsuite/gcc.target/i386/pr89261.c 956a0e340ae4dfe5721ba6a3ab98969f gcc/testsuite/gcc.target/i386/pr89290.c 9b171107d18eb3849a61bea08c583e1a gcc/testsuite/gcc.target/i386/pr89346.c 3672969c19203520cc6589315eed1976 gcc/testsuite/gcc.target/i386/pr89386-1.c --- 60112,60118 ---- a6b13b01e1a41a2d0dec3e0debcdf80b gcc/testsuite/gcc.target/i386/pr89229-7a.c aead7f35b166baa85ab2aed11aa3c2d4 gcc/testsuite/gcc.target/i386/pr89229-7b.c d9b72f271f61a1292d8be12ea7a23b54 gcc/testsuite/gcc.target/i386/pr89229-7c.c ! 4e53037c62f9dce84f092674db01aec5 gcc/testsuite/gcc.target/i386/pr89261.c 956a0e340ae4dfe5721ba6a3ab98969f gcc/testsuite/gcc.target/i386/pr89290.c 9b171107d18eb3849a61bea08c583e1a gcc/testsuite/gcc.target/i386/pr89346.c 3672969c19203520cc6589315eed1976 gcc/testsuite/gcc.target/i386/pr89386-1.c *************** a3b487e53959665b5ecb0d7ba6138585 gcc/te *** 62446,62451 **** --- 62539,62547 ---- 9a0e4836781f28669ddca26eb214c2b2 gcc/testsuite/gcc.target/powerpc/darwin-abi-10.c 66e5cfd1b7491e37c0ef258d09b6634d gcc/testsuite/gcc.target/powerpc/darwin-abi-11.c 53928dd7b0f61581157c4a15b8648deb gcc/testsuite/gcc.target/powerpc/darwin-abi-12.c + 3c62c13d1d2b0222e5414464a8febd98 gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c + cf00e3be4bf57389b7f606e91c156bd0 gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c + 60f14ad7099165e20857ae4f288d20be gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c f1de6a326b4846750e0ac1ab775db181 gcc/testsuite/gcc.target/powerpc/darwin-abi-2.c 3fccf2fe47e82ab342fd63f22d397b6d gcc/testsuite/gcc.target/powerpc/darwin-abi-3.c bea305679cc2b27499e1228c23aae9eb gcc/testsuite/gcc.target/powerpc/darwin-abi-4.c *************** ebf08f4056fe4c31c90dc291d1dfcaae gcc/te *** 62462,62467 **** --- 62558,62564 ---- 4dbff077cb3e8124197729c3a94647bb gcc/testsuite/gcc.target/powerpc/darwin-misaligned.c 7ba33272da50fd8bee6d1536c3e99d26 gcc/testsuite/gcc.target/powerpc/darwin-save-world-1.c a034d7a8bf265623a75800f01113e836 gcc/testsuite/gcc.target/powerpc/darwin-split-ld-stret.c + c45226a99273c8755ce33ff73f22d3b3 gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h 548fc585bcbf766f23bef7319f0b0a18 gcc/testsuite/gcc.target/powerpc/darwin64-abi.c 5df8870892f8ad5f8ea3060c6c5b82b1 gcc/testsuite/gcc.target/powerpc/dfmode_off.c 39a60b8b75cc0dfba0799a7a9c2be1b7 gcc/testsuite/gcc.target/powerpc/dform-1.c *************** b681248afe4bdb1d889c6999e517fe7f gcc/te *** 62847,62854 **** 813e9e4e09e5e1dbbf39cc9852ed3f2b gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-int.c 1551b0b6be64f5eba760a72e19de3597 gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-pixel.c 3945e589530622f3dffbe2381c9922e1 gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-short.c ! 8b2d1bd52f7c861f8d72b5a44d92ef4c gcc/testsuite/gcc.target/powerpc/fusion.c ! 36aa1f73a4f5f1d0803aa750e5b13826 gcc/testsuite/gcc.target/powerpc/fusion2.c d339d3fe4c50dd4c2727de10dcf3374e gcc/testsuite/gcc.target/powerpc/gcse-1.c bbca57fae9dea88267eaea26d8c43380 gcc/testsuite/gcc.target/powerpc/gnuattr1.c df3448b5306ef9e06b44d7414e6a12ff gcc/testsuite/gcc.target/powerpc/gnuattr2.c --- 62944,62951 ---- 813e9e4e09e5e1dbbf39cc9852ed3f2b gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-int.c 1551b0b6be64f5eba760a72e19de3597 gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-pixel.c 3945e589530622f3dffbe2381c9922e1 gcc/testsuite/gcc.target/powerpc/fold-vec-unpack-short.c ! c21eafe688d7ccbc9bdcb0aaf81bfd30 gcc/testsuite/gcc.target/powerpc/fusion.c ! 4adade68cb00ba61c6843394fdadd638 gcc/testsuite/gcc.target/powerpc/fusion2.c d339d3fe4c50dd4c2727de10dcf3374e gcc/testsuite/gcc.target/powerpc/gcse-1.c bbca57fae9dea88267eaea26d8c43380 gcc/testsuite/gcc.target/powerpc/gnuattr1.c df3448b5306ef9e06b44d7414e6a12ff gcc/testsuite/gcc.target/powerpc/gnuattr2.c *************** e2e15e908351c26b4d33e3999348ff7c gcc/te *** 62989,62995 **** a3bc962cdf97f11842afa5f6bc2c6f87 gcc/testsuite/gcc.target/powerpc/p9-splat-5.c 6fe95409f0bc99933bc334a5e64a72f1 gcc/testsuite/gcc.target/powerpc/p9-vbpermd.c d29c4e53ac8e3c7f57f7b87eb5a985b7 gcc/testsuite/gcc.target/powerpc/p9-vneg.c ! 1a65f8d803e3ce8de1fa990485fcf89d gcc/testsuite/gcc.target/powerpc/p9-vparity.c 5f48c99fd54a8939ef5f74a0d5326dc9 gcc/testsuite/gcc.target/powerpc/p9-vpermr.c a997d132b77f2e29f13d81e4357ebc1a gcc/testsuite/gcc.target/powerpc/p9-xxbr-1.c 176d54b045b5bd5a943bc2331805ec99 gcc/testsuite/gcc.target/powerpc/p9-xxbr-2.c --- 63086,63092 ---- a3bc962cdf97f11842afa5f6bc2c6f87 gcc/testsuite/gcc.target/powerpc/p9-splat-5.c 6fe95409f0bc99933bc334a5e64a72f1 gcc/testsuite/gcc.target/powerpc/p9-vbpermd.c d29c4e53ac8e3c7f57f7b87eb5a985b7 gcc/testsuite/gcc.target/powerpc/p9-vneg.c ! c8fe0d7c8b177660abe79ba1e9ca969e gcc/testsuite/gcc.target/powerpc/p9-vparity.c 5f48c99fd54a8939ef5f74a0d5326dc9 gcc/testsuite/gcc.target/powerpc/p9-vpermr.c a997d132b77f2e29f13d81e4357ebc1a gcc/testsuite/gcc.target/powerpc/p9-xxbr-1.c 176d54b045b5bd5a943bc2331805ec99 gcc/testsuite/gcc.target/powerpc/p9-xxbr-2.c *************** bbe41009113780dbcd6527cbec5f943c gcc/te *** 63089,63100 **** --- 63186,63216 ---- 5392663d9c3769a2d83b13aed765c6eb gcc/testsuite/gcc.target/powerpc/pr102059-4.c a192830e09e3a3d8478a89f2b2add0ff gcc/testsuite/gcc.target/powerpc/pr102347.c 0726fc47d5d46d095efa95b874637be7 gcc/testsuite/gcc.target/powerpc/pr102976.c + 2e28abb3dab00a40af19eb41bc4d56ce gcc/testsuite/gcc.target/powerpc/pr103353.c 20a7942f4601125d17110951f0d9d799 gcc/testsuite/gcc.target/powerpc/pr103627-1.c 75bf709f259ebd7bb4ea3bb9e4c7a6e3 gcc/testsuite/gcc.target/powerpc/pr103627-2.c 173204ae2ee9c78ee24b407929800cd8 gcc/testsuite/gcc.target/powerpc/pr103627-3.c b7339ab4137e4c5175deca053bb790c8 gcc/testsuite/gcc.target/powerpc/pr104208-1.c 7dff0a95f65947b541c04da0c7b307a5 gcc/testsuite/gcc.target/powerpc/pr104208-2.c 76860a5a20e1c892c05c24cdc70fe3c2 gcc/testsuite/gcc.target/powerpc/pr104253.c + 6e7b6dccd503c20a37d0e145939b54a6 gcc/testsuite/gcc.target/powerpc/pr105041.c + 1717ad0418e192e7d5bbcdcc715baa9a gcc/testsuite/gcc.target/powerpc/pr106017.c + 77039220fc5a52161837a12ea92d1ea3 gcc/testsuite/gcc.target/powerpc/pr106091.c + b89eb373488426e128fceff637542836 gcc/testsuite/gcc.target/powerpc/pr106736-1.c + b628655d5e6da478a0338b6a99c2b547 gcc/testsuite/gcc.target/powerpc/pr106736-2.c + 268c405264ea346b9620a21b4008ae3d gcc/testsuite/gcc.target/powerpc/pr106736-3.c + 80f943ae05ca5bf1bdb90616a4a55bee gcc/testsuite/gcc.target/powerpc/pr106736-4.c + 8c4791ff0309e78169b9fa522b35014a gcc/testsuite/gcc.target/powerpc/pr106736-5.c + cf6fc6f2cd4ce40de4bfcae2384bc88d gcc/testsuite/gcc.target/powerpc/pr108272-1.c + f50d5d85d2fd6cdb2c24ba2f99c5ed50 gcc/testsuite/gcc.target/powerpc/pr108272-2.c + 80b0790ba15d5f168fdb877edfba8e3c gcc/testsuite/gcc.target/powerpc/pr108272-3.c + 8b12dd4a97ca50e2f9880c335cebf74b gcc/testsuite/gcc.target/powerpc/pr108272-4.c + 40726e9ba9f0dbe699d13f0248929db7 gcc/testsuite/gcc.target/powerpc/pr108348-1.c + 590060f31f74e624d8948e67f5efe8a9 gcc/testsuite/gcc.target/powerpc/pr108348-2.c + d1ebac89ce86ba01adcab56447399dd9 gcc/testsuite/gcc.target/powerpc/pr108699.c + d746d0fb9156720298fa3c2071023bbf gcc/testsuite/gcc.target/powerpc/pr109932-1.c + d746d0fb9156720298fa3c2071023bbf gcc/testsuite/gcc.target/powerpc/pr109932-2.c + 30266f999ed968f6bfdc98dae3651704 gcc/testsuite/gcc.target/powerpc/pr110011.c c2f6d6cf82ef4931619d09e10a0a72aa gcc/testsuite/gcc.target/powerpc/pr16155.c 396ae287e72ecdda51bb3157818030a9 gcc/testsuite/gcc.target/powerpc/pr16286.c 198d8a69d2887e8fadcb050d90e21aa6 gcc/testsuite/gcc.target/powerpc/pr16458-1.c *************** c2bb4c50496aade60596e697b1d8782d gcc/te *** 63203,63208 **** --- 63319,63325 ---- 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 + fa25257d80acb26f0f70a5da209dbad5 gcc/testsuite/gcc.target/powerpc/pr70243.c 9f0a82f7f84690a18cb82bed87617073 gcc/testsuite/gcc.target/powerpc/pr70640.c 9f7996dd7c38f201960362b08e509c7d gcc/testsuite/gcc.target/powerpc/pr70669.c bb6ec828efc211131c5a036203ac7c94 gcc/testsuite/gcc.target/powerpc/pr70866.c *************** bf5eef64bd13d358ccd4ecc20fc71dea gcc/te *** 63370,63375 **** --- 63487,63493 ---- 28bb6aa7286428bb15ccd941640b2015 gcc/testsuite/gcc.target/powerpc/pr93658.c d26617f5612756af307063fa03737a38 gcc/testsuite/gcc.target/powerpc/pr93800.c baf149d64053b2f0f606c42999ad64b8 gcc/testsuite/gcc.target/powerpc/pr95450.c + 5c286273d2472c19e1388a58fbf1fae4 gcc/testsuite/gcc.target/powerpc/pr96072.c c3fdf2edbc3880b6e23670387a188c81 gcc/testsuite/gcc.target/powerpc/pr96125.c fc375fa4611e61db9f6772989772cd97 gcc/testsuite/gcc.target/powerpc/pr96139-a.c 43db365adaa18cc0b1e481b8ad040696 gcc/testsuite/gcc.target/powerpc/pr96139-b.c *************** f138cfa6e387e1bc85747da2fc38e305 gcc/te *** 63789,63795 **** 1e5fee04b7943239f19f0ce10776f9d1 gcc/testsuite/gcc.target/powerpc/test_fpscr_drn_builtin_error.c e2ea17dd5726f5123cfd41828cad3a67 gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin.c b08d7736f6c15cd2e7a7cbbf0732a171 gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c ! fffb5388e3f0454f2afd0eade4181a0c gcc/testsuite/gcc.target/powerpc/test_mffsl.c e28cc14ddafc82b0f212f1b4ebbcf50a gcc/testsuite/gcc.target/powerpc/tfmode_off.c c2edbb1afba546ea3ac8a5efcaca9c38 gcc/testsuite/gcc.target/powerpc/ti_math1.c c3d0d51284479d220a6166a0f362536c gcc/testsuite/gcc.target/powerpc/ti_math2.c --- 63907,63913 ---- 1e5fee04b7943239f19f0ce10776f9d1 gcc/testsuite/gcc.target/powerpc/test_fpscr_drn_builtin_error.c e2ea17dd5726f5123cfd41828cad3a67 gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin.c b08d7736f6c15cd2e7a7cbbf0732a171 gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c ! e87f7fb838fef2237995418c77791ad2 gcc/testsuite/gcc.target/powerpc/test_mffsl.c e28cc14ddafc82b0f212f1b4ebbcf50a gcc/testsuite/gcc.target/powerpc/tfmode_off.c c2edbb1afba546ea3ac8a5efcaca9c38 gcc/testsuite/gcc.target/powerpc/ti_math1.c c3d0d51284479d220a6166a0f362536c gcc/testsuite/gcc.target/powerpc/ti_math2.c *************** d5b2bba665576dc0538f9d0bd2142e62 gcc/te *** 64413,64418 **** --- 64531,64540 ---- eb96a92710915622b3f65dba4a30955d gcc/testsuite/gcc.target/s390/oscbreak-1.c 25c3bd00fd3d097e42ac8cfc215fd0c4 gcc/testsuite/gcc.target/s390/pfpo.c 182ebf3677a29bf9b1dbb033505f78dd gcc/testsuite/gcc.target/s390/pr104775.c + b65b6b60679fe5fe589b83fa813950ac gcc/testsuite/gcc.target/s390/pr106355-1.c + 7768189c94023d287d68251021ad2dee gcc/testsuite/gcc.target/s390/pr106355-2.c + a69e5256407f09ac05e2e19ea14c9e15 gcc/testsuite/gcc.target/s390/pr106355-3.c + 5680e7515cb52b85f38e10b48d5e6a75 gcc/testsuite/gcc.target/s390/pr106355.h 765307a040de72f2f4376b7068d68018 gcc/testsuite/gcc.target/s390/pr20927.c 85f31fb9b4b15529205376d3f6fa385c gcc/testsuite/gcc.target/s390/pr24624.c 7adacbd67601dc0845e556e5632cd718 gcc/testsuite/gcc.target/s390/pr27661.c *************** d733feb68f910c0d62c7cb454b6accf1 gcc/te *** 65493,65498 **** --- 65615,65624 ---- 4a1c45c1482afaf7fe165064453176a8 gcc/testsuite/gdc.dg/imports/gdc256.d 22f231195c5f7726c704d3f9d99b0d85 gcc/testsuite/gdc.dg/imports/gdc27.d aeec8ff75316a52def72f86d4bc1708c gcc/testsuite/gdc.dg/imports/gdcpkg256/package.d + 8fba2c4130687ac9061c9b748ca84568 gcc/testsuite/gdc.dg/imports/pr108050/mod1.d + 753f5121640aa2d9e67d4f235bed8d2b gcc/testsuite/gdc.dg/imports/pr108050/mod2.d + b0fb7628aa04803e7405378e8ff66d8c gcc/testsuite/gdc.dg/imports/pr108050/package.d + c1371b9d51218c700b58595265d42b2d gcc/testsuite/gdc.dg/imports/pr108877a.d 7ae8eee97923fab094ae5ca5a1eca902 gcc/testsuite/gdc.dg/imports/pr92216.d 796ad2b48562e457fdce3ffca9353f84 gcc/testsuite/gdc.dg/imports/runnable.d 16d15455223a5a9f99da9e1f4b2e2911 gcc/testsuite/gdc.dg/link.d *************** c0f2db1fcb83cbb41fda8295889368ff gcc/te *** 65508,65513 **** --- 65634,65647 ---- 1913e638608dc57b978438a45ade3c4f gcc/testsuite/gdc.dg/pr101127b.d 874906b0c6afe60dafbbc739053ac4eb gcc/testsuite/gdc.dg/pr101490.d 13e2f7b1a821d0fa1089525b3df15479 gcc/testsuite/gdc.dg/pr101640.d + 4043769c4b670791abe6549858a885b3 gcc/testsuite/gdc.dg/pr106139a.d + f4b93d30d706ee858eb3d1d73cac63f0 gcc/testsuite/gdc.dg/pr106139b.d + 78fb78f49f61330c2751bcc186e8fade gcc/testsuite/gdc.dg/pr106139c.d + 27e575511646bb151afbd1a856acdadc gcc/testsuite/gdc.dg/pr106139d.d + 9e838ba67909954cf1aa94614647413b gcc/testsuite/gdc.dg/pr107592.d + 5e07b36b71c4e1c18324a1aa28b644c9 gcc/testsuite/gdc.dg/pr108050.d + 531ba2cfc6bb317d132b6b86e9221526 gcc/testsuite/gdc.dg/pr108877.d + d636f6d2baa8700a534dfd6a53a96d3c gcc/testsuite/gdc.dg/pr110359.d d32aa8ed5ea10931be4ddb5bb9e863d8 gcc/testsuite/gdc.dg/pr89017.d 53fa8db94d4ca3fc9ba83769733dc0e7 gcc/testsuite/gdc.dg/pr89041.d 6c316b13f71ea31fcada56b58a41ebd1 gcc/testsuite/gdc.dg/pr89042a.d *************** bd3b792f2e9fae4293f32a0195335936 gcc/te *** 66056,66061 **** --- 66190,66196 ---- f7ebbab88f0a4f86e71b06e130f593ee gcc/testsuite/gdc.test/compilable/test21299c.d effd503ab143f07a377f69a6abd2e2ab gcc/testsuite/gdc.test/compilable/test21299d.d 0f65bb2b07e0bc8dcb7e5d89eaf5b3f7 gcc/testsuite/gdc.test/compilable/test21742.d + 08936419a9625265328cfea85871ada2 gcc/testsuite/gdc.test/compilable/test21794.d f8ec0845cd2590e50d27071453701fb7 gcc/testsuite/gdc.test/compilable/test22006.d 01b0e8acc140f229c41fe59a55df5574 gcc/testsuite/gdc.test/compilable/test22133.d 8bbe6fdb201585c810b1ed76e34ddba3 gcc/testsuite/gdc.test/compilable/test25.d *************** e31c57d6974d04e2c34bbe41ae8c9706 gcc/te *** 67088,67093 **** --- 67223,67229 ---- 02081a92305510de44e261c5fa5e3c34 gcc/testsuite/gdc.test/fail_compilation/ice17074.d 7324203f77755460dfd2b206a19d914d gcc/testsuite/gdc.test/fail_compilation/ice17690.d be6c358100e2ef5988a9d561cda1e90b gcc/testsuite/gdc.test/fail_compilation/ice17831.d + b976eedb61aadb4465ca084f17ddd25d gcc/testsuite/gdc.test/fail_compilation/ice20264.d 1ee2df9e731e72df6ec1774356fb21e5 gcc/testsuite/gdc.test/fail_compilation/ice21060.d 61d25d3d66bc23fc5137fdca361068bc gcc/testsuite/gdc.test/fail_compilation/ice2843.d c73e0422319d9ada15828705fb8abcaa gcc/testsuite/gdc.test/fail_compilation/ice4094.d *************** d2f401f9391bf1d2889872bbdc34f16b gcc/te *** 67877,67882 **** --- 68013,68022 ---- f1950e4b4b23dc2b32ca290715b1dd9c gcc/testsuite/gfortran.dg/ISO_Fortran_binding_8.f90 ad366711f9b7f7d71373eab3da4b4e4b gcc/testsuite/gfortran.dg/ISO_Fortran_binding_9.c 131a58eb857fe3f727bc57d2b9f21e8f gcc/testsuite/gfortran.dg/ISO_Fortran_binding_9.f90 + 8039ff93d1683c85f89961a47ca07935 gcc/testsuite/gfortran.dg/PR100029.f90 + 3a862d4d610ca334e395074243d0fe19 gcc/testsuite/gfortran.dg/PR100040.f90 + 1bb9c8f2a91f52e7916455864ee6937a gcc/testsuite/gfortran.dg/PR100132.f90 + 6999a567af5689945feacbc26380e000 gcc/testsuite/gfortran.dg/PR100245.f90 36cd9c1e3875c80db22097b9c2ad49b3 gcc/testsuite/gfortran.dg/PR19754_1.f90 e8f29c2ce9f345e588516849caa9db8f gcc/testsuite/gfortran.dg/PR19754_2.f90 7ea18cc404b53eee2348e3e57683bb56 gcc/testsuite/gfortran.dg/PR19872.f *************** c066328da870ad9b313bf9491c5b72d6 gcc/te *** 68353,68358 **** --- 68493,68499 ---- 7e01c786b8c72874d3ae753530cfb5cb gcc/testsuite/gfortran.dg/associate_24.f90 55bfeb67bee60022ebbe2186b11826b6 gcc/testsuite/gfortran.dg/associate_25.f90 c0997c9e951767642f9b109c7f40a532 gcc/testsuite/gfortran.dg/associate_26.f90 + 000795c302b3191fa720282e0b5b71c8 gcc/testsuite/gfortran.dg/associate_26a.f90 aecd7da9302bacf7aeebde56d90a2445 gcc/testsuite/gfortran.dg/associate_27.f90 366c019a469c1a5eac01c46514e12c86 gcc/testsuite/gfortran.dg/associate_28.f90 9236179c94e8ef2f6258dcf917d9dee9 gcc/testsuite/gfortran.dg/associate_29.f90 *************** fd5aa0aeb583bf1c520647699c09098c gcc/te *** 68591,68596 **** --- 68732,68738 ---- 1176bc1003bc9902e2cbbd0881833a6a gcc/testsuite/gfortran.dg/bind_c_usage_32.f90 487ac439b45d829bb00287edc9eb7e78 gcc/testsuite/gfortran.dg/bind_c_usage_33.f90 5ba4c967cb57e47c3083d78e775e9474 gcc/testsuite/gfortran.dg/bind_c_usage_33_c.c + fe581e5151066f7aab1872a01eedd446 gcc/testsuite/gfortran.dg/bind_c_usage_34.f90 d245d9e737fbf5c0213b3df7d060446c gcc/testsuite/gfortran.dg/bind_c_usage_5.f03 1b4c4194bd216642b83f69c705e997b9 gcc/testsuite/gfortran.dg/bind_c_usage_6.f03 298c127c34080232f15365f9c6db6fc0 gcc/testsuite/gfortran.dg/bind_c_usage_7.f03 *************** e22aa437c55ee962c7781d739761dfd4 gcc/te *** 69063,69069 **** 8d4999c0b84adf6f411457cf3deaee67 gcc/testsuite/gfortran.dg/class_55.f90 081b7861449ee503eb0eafc38aa74102 gcc/testsuite/gfortran.dg/class_56.f90 2fbf5aa2a748bac8f14f06f6aecf4b6a gcc/testsuite/gfortran.dg/class_57.f90 ! e5fb2c5d38e11474d612c7ab279406ba gcc/testsuite/gfortran.dg/class_58.f90 dd2c7b1cf9668f23e882c3d64580ab34 gcc/testsuite/gfortran.dg/class_59.f90 3559a2034886d45662cf5cdbdd177000 gcc/testsuite/gfortran.dg/class_6.f03 e8904afb9adfeb76555179cf83d18504 gcc/testsuite/gfortran.dg/class_60.f90 --- 69205,69211 ---- 8d4999c0b84adf6f411457cf3deaee67 gcc/testsuite/gfortran.dg/class_55.f90 081b7861449ee503eb0eafc38aa74102 gcc/testsuite/gfortran.dg/class_56.f90 2fbf5aa2a748bac8f14f06f6aecf4b6a gcc/testsuite/gfortran.dg/class_57.f90 ! 71ce5af334c27ba11d877d65ad0f7113 gcc/testsuite/gfortran.dg/class_58.f90 dd2c7b1cf9668f23e882c3d64580ab34 gcc/testsuite/gfortran.dg/class_59.f90 3559a2034886d45662cf5cdbdd177000 gcc/testsuite/gfortran.dg/class_6.f03 e8904afb9adfeb76555179cf83d18504 gcc/testsuite/gfortran.dg/class_60.f90 *************** a8f104492778b738ac5730dd1605432a gcc/te *** 69079,69084 **** --- 69221,69227 ---- cc0c048415b8d0593fe7e5b164763dc7 gcc/testsuite/gfortran.dg/class_7.f03 cd9759177f83fe4b6a6a007850b05c80 gcc/testsuite/gfortran.dg/class_70.f03 77eb9432daba5a35f6be287dfec77ae3 gcc/testsuite/gfortran.dg/class_71.f90 + a2da662ef1c6e78fb94337f5f919de4b gcc/testsuite/gfortran.dg/class_73.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 *************** f1da6751bbd1a6186b7f03b7f7e77113 gcc/te *** 69398,69403 **** --- 69541,69547 ---- d3d62d1603bee1c8f8a03953e6eebba0 gcc/testsuite/gfortran.dg/common_24.f d5539b20ee7c35bfc0fcb236052a68ea gcc/testsuite/gfortran.dg/common_25.f90 70a95b679d7df7dca534b69660b7f48b gcc/testsuite/gfortran.dg/common_26.f90 + d92cf739756be07096c110006ed91771 gcc/testsuite/gfortran.dg/common_27.f90 75ce44e9a564ff39f5a9738947fd61f0 gcc/testsuite/gfortran.dg/common_3.f90 d682a44a03643151e3f0046fc043a5f0 gcc/testsuite/gfortran.dg/common_4.f90 d2308c0b53d688aae1dcd0e309cb63c2 gcc/testsuite/gfortran.dg/common_5.f *************** bf2ca054d24e06523331d95407dee17a gcc/te *** 70205,70210 **** --- 70349,70355 ---- d5c2becdf2a2a9b3476dac72cfc54877 gcc/testsuite/gfortran.dg/extends_type_of_1.f03 400c9de8234ec3d29a78be5af6d85a84 gcc/testsuite/gfortran.dg/extends_type_of_2.f03 3485cc1f6803a287f97032484eec3440 gcc/testsuite/gfortran.dg/extends_type_of_3.f90 + e2f6b20fdc9bcc4ddec5f7df21ca5ff7 gcc/testsuite/gfortran.dg/extends_type_of_4.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 *************** daa1172ed1d5a6072057b20aaca3b1ec gcc/te *** 71150,71156 **** c6ccb0077483440bf572afc0c07cf295 gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 7f4798472e54ab24309f0edab16c91d1 gcc/testsuite/gfortran.dg/graphite/vect-pr94043.f90 f9932e22f4bc6baa989154035dbac7c1 gcc/testsuite/gfortran.dg/guality/arg1.f90 ! 2f0ace5fbd29c7448cb42dfa5744b571 gcc/testsuite/gfortran.dg/guality/guality.exp 9e2790792b04c03a1a0860c862a27b4b gcc/testsuite/gfortran.dg/guality/pr41558.f90 26d42c53448fb26d2b66a4b1d93693d3 gcc/testsuite/gfortran.dg/hollerith.f90 855af7807ad9d75aef7ff85c2859a0c2 gcc/testsuite/gfortran.dg/hollerith2.f90 --- 71295,71301 ---- c6ccb0077483440bf572afc0c07cf295 gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 7f4798472e54ab24309f0edab16c91d1 gcc/testsuite/gfortran.dg/graphite/vect-pr94043.f90 f9932e22f4bc6baa989154035dbac7c1 gcc/testsuite/gfortran.dg/guality/arg1.f90 ! 6b32282df9f1297396b3fc91c76de4e0 gcc/testsuite/gfortran.dg/guality/guality.exp 9e2790792b04c03a1a0860c862a27b4b gcc/testsuite/gfortran.dg/guality/pr41558.f90 26d42c53448fb26d2b66a4b1d93693d3 gcc/testsuite/gfortran.dg/hollerith.f90 855af7807ad9d75aef7ff85c2859a0c2 gcc/testsuite/gfortran.dg/hollerith2.f90 *************** f6a9f065bf39a878f022cf1db27088dd gcc/te *** 71196,71201 **** --- 71341,71347 ---- 7c6d282fb7219ea8b6437744a0db709a gcc/testsuite/gfortran.dg/ibclr_1.f90 ec89660ed76fbd433f83eba57f853883 gcc/testsuite/gfortran.dg/ibits.f90 e6c37a9def09433a6a2f8bc1d9220133 gcc/testsuite/gfortran.dg/ibits_1.f90 + 9d771e73f5b650886f4c509ed7ba4557 gcc/testsuite/gfortran.dg/ibits_2.f90 9f3ccb4943f5f4737bc99acb427e11b0 gcc/testsuite/gfortran.dg/ibset_1.f90 cc7201a9525a4793e8bf391d30c3653d gcc/testsuite/gfortran.dg/ichar_1.f90 8201f75f0deee5480134fc16f1113f0c gcc/testsuite/gfortran.dg/ichar_2.f90 *************** e8ea43c66fd6d11794019ae65955f295 gcc/te *** 71227,71232 **** --- 71373,71379 ---- 124ba3e9f6c8b5f20acc161515766cff gcc/testsuite/gfortran.dg/illegal_boz_arg_1.f90 4a93b827c3cbecf80132e133c9ffea76 gcc/testsuite/gfortran.dg/illegal_boz_arg_2.f90 b8ee27c210d03cbdecd63b4186ae10dc gcc/testsuite/gfortran.dg/illegal_boz_arg_3.f90 + eb8442e24d68dcf7d000ba19c179291d gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90 ca72e2369ff19137157ceaaa2012b721 gcc/testsuite/gfortran.dg/illegal_char.f90 d827b941652feab002a335b27a4dd9f2 gcc/testsuite/gfortran.dg/imag_1.f eaad0ac26fe911d75f0d0769ade8436c gcc/testsuite/gfortran.dg/impl_do_var_data.f90 *************** d0fdfb1260988468dbfc57fc49c04ccf gcc/te *** 71310,71315 **** --- 71457,71463 ---- 72b9f769cd2283ce9b7b556b1c93f39d gcc/testsuite/gfortran.dg/index_2.f90 6c6d1484cc1b9a1f8096ff70ef06c025 gcc/testsuite/gfortran.dg/index_3.f90 1e3290f670df03f4a15dc4b8eb731606 gcc/testsuite/gfortran.dg/index_4.f90 + 4238009ecd17e63a28a02c73d37bd245 gcc/testsuite/gfortran.dg/index_6.f90 c32bcbb681492fc8fc92c7fc08a343a1 gcc/testsuite/gfortran.dg/init_char_with_nonchar_ctr.f90 3b7a3a6914e202c00024fd409f044ac6 gcc/testsuite/gfortran.dg/init_flag_1.f90 1d493b9ebf831129455128eb3bc913e8 gcc/testsuite/gfortran.dg/init_flag_10.f90 *************** ba84e533d9d999d5cafa2eeaa917daa3 gcc/te *** 71441,71452 **** --- 71589,71602 ---- 9a94a4b4c3991300273d3eff16279572 gcc/testsuite/gfortran.dg/intent_optimize_1.f90 22c1f90f08c40546088dde105474e28c gcc/testsuite/gfortran.dg/intent_optimize_2.f90 88021d562ad8f075c52113ab0ba9582c gcc/testsuite/gfortran.dg/intent_optimize_3.f90 + 91ea197b8dde98766b625414c120237d gcc/testsuite/gfortran.dg/intent_optimize_4.f90 6ad3133cfe62e722e018d386dbfd3404 gcc/testsuite/gfortran.dg/intent_out_1.f90 ba93579108c80828d584884c6d1a3d2a gcc/testsuite/gfortran.dg/intent_out_10.f90 7fb312ab28cce81b97498d8f3f4e4685 gcc/testsuite/gfortran.dg/intent_out_11.f90 844229c9eb8a37075774f7aa5ffaec68 gcc/testsuite/gfortran.dg/intent_out_12.f90 eaa197e83969427d3078aff95445bee7 gcc/testsuite/gfortran.dg/intent_out_13.f90 43d0dd409d7c93807035f978a18ed5c5 gcc/testsuite/gfortran.dg/intent_out_14.f90 + a82b141adaff542c8c03c6c2cbbb132f gcc/testsuite/gfortran.dg/intent_out_15.f90 633b564832f11b231ba2e100650127bb gcc/testsuite/gfortran.dg/intent_out_2.f90 88fc721c29050bdf0a2d0d7c4e316336 gcc/testsuite/gfortran.dg/intent_out_3.f90 a4fb1377a7e3fd7d6f3a448f1c020623 gcc/testsuite/gfortran.dg/intent_out_4.f90 *************** c18b2575d6a9b63674756f658ca93389 gcc/te *** 72172,72177 **** --- 72322,72328 ---- 1ce8153704ce4cea80385ed72012931d gcc/testsuite/gfortran.dg/nearest_3.f90 07145278f20c5f56fba9fc10e9fbfba2 gcc/testsuite/gfortran.dg/nearest_4.f90 e5f705447cfe3093ee85b04291d3f80c gcc/testsuite/gfortran.dg/nearest_5.f90 + a00cc61eb38cdddde8ae56513298e5bc gcc/testsuite/gfortran.dg/nearest_6.f90 5d4401879d53df84adcf50a08316a8f8 gcc/testsuite/gfortran.dg/negative-z-descriptor.f90 d2f9406b4dddc3388ec13c7a6343827c gcc/testsuite/gfortran.dg/negative_automatic_size.f90 e1c6d38824a9f8693b5457db2f9968c6 gcc/testsuite/gfortran.dg/negative_unit.f *************** ccf25bc57c7fd0870f3fa7fea60340a6 gcc/te *** 72205,72211 **** 2c6f079dd50cdebef82b1b476222d282 gcc/testsuite/gfortran.dg/newunit_6.f90 25543ea4ce258c615de028583580ae15 gcc/testsuite/gfortran.dg/nint_1.f90 16d9cc312dc3603f84627c0edcbc49a2 gcc/testsuite/gfortran.dg/nint_2.f90 ! f867bd2d1caf94b8344ac3386b825ea1 gcc/testsuite/gfortran.dg/nint_p7.f90 9aae8ef0f1f255b8f35b6d5e6807059a gcc/testsuite/gfortran.dg/no-automatic.f90 03b84fc5eca43cc5d1a0b1a93937da73 gcc/testsuite/gfortran.dg/no_arg_check_1.f90 c60b2c37f26b9fe5b1daba95b7c848d0 gcc/testsuite/gfortran.dg/no_arg_check_2.f90 --- 72356,72362 ---- 2c6f079dd50cdebef82b1b476222d282 gcc/testsuite/gfortran.dg/newunit_6.f90 25543ea4ce258c615de028583580ae15 gcc/testsuite/gfortran.dg/nint_1.f90 16d9cc312dc3603f84627c0edcbc49a2 gcc/testsuite/gfortran.dg/nint_2.f90 ! 75f491150db9183d7c839b8231781c0a gcc/testsuite/gfortran.dg/nint_p7.f90 9aae8ef0f1f255b8f35b6d5e6807059a gcc/testsuite/gfortran.dg/no-automatic.f90 03b84fc5eca43cc5d1a0b1a93937da73 gcc/testsuite/gfortran.dg/no_arg_check_1.f90 c60b2c37f26b9fe5b1daba95b7c848d0 gcc/testsuite/gfortran.dg/no_arg_check_2.f90 *************** e67abf33c2578358a5d5bab3e11f00e9 gcc/te *** 72243,72248 **** --- 72394,72400 ---- a268bf435ff3e542009031168b6619a0 gcc/testsuite/gfortran.dg/null_8.f90 f1e3cfba25a768bf7f9073932a36c7db gcc/testsuite/gfortran.dg/null_9.f90 fb9d6abbd9b9049c00ee6e992d1a8859 gcc/testsuite/gfortran.dg/null_actual.f90 + 84b898ed35bd484e690bcec9cd9f1724 gcc/testsuite/gfortran.dg/null_actual_3.f90 eb6af590881f3e995fc6b2c78089f277 gcc/testsuite/gfortran.dg/nullify_1.f f202e3843710f9492560538fa53c3847 gcc/testsuite/gfortran.dg/nullify_2.f90 768d37ebff7930db8f8a99ac16b90d32 gcc/testsuite/gfortran.dg/nullify_3.f90 *************** c081e1f510a2d68ec176356111dab188 gcc/te *** 72493,72506 **** d99cea26823109c0bb853b42df152999 gcc/testsuite/gfortran.dg/pr102715.f90 f28998ba16e7a78633a9de3d5eaf0667 gcc/testsuite/gfortran.dg/pr102816.f90 cc6ac3aa934c104c85fad8e43ae6985d gcc/testsuite/gfortran.dg/pr102817.f90 ! 87fa8e20851e07d06d4d5991b6fc240d gcc/testsuite/gfortran.dg/pr102860.f90 ! a082b0c5fdbc266f00ae264494538e49 gcc/testsuite/gfortran.dg/pr103505.f90 dc7a57f897711dfb7a3fba377198c10c gcc/testsuite/gfortran.dg/pr103588.f90 a27b232d198fc2463c04af17903b1b4c gcc/testsuite/gfortran.dg/pr103606.f90 ea7b00fcccc1df091b8087b16e502d92 gcc/testsuite/gfortran.dg/pr103607.f90 448c7638e7741c015d95260e6491d8fa gcc/testsuite/gfortran.dg/pr103692.f90 7a5b7a18d621b5e1b9d04b73e259ddd4 gcc/testsuite/gfortran.dg/pr104849.f90 22283af469347d85bd1fe4dae42939a3 gcc/testsuite/gfortran.dg/pr105230.f90 984f8307f36d56a0b48b5acce2dd5eb5 gcc/testsuite/gfortran.dg/pr12884.f 64075248b9d1bffd6f380bb4e2a6eae0 gcc/testsuite/gfortran.dg/pr15129.f90 e9cbd51db4e16292fc5dd1fead2e5a49 gcc/testsuite/gfortran.dg/pr15140.f90 --- 72645,72680 ---- d99cea26823109c0bb853b42df152999 gcc/testsuite/gfortran.dg/pr102715.f90 f28998ba16e7a78633a9de3d5eaf0667 gcc/testsuite/gfortran.dg/pr102816.f90 cc6ac3aa934c104c85fad8e43ae6985d gcc/testsuite/gfortran.dg/pr102817.f90 ! c35066e873add73fe333d803e2854739 gcc/testsuite/gfortran.dg/pr102860.f90 ! b624133cafd19857eb2915c507731455 gcc/testsuite/gfortran.dg/pr103504.f90 ! 0ca27f571c157feff083b371f4147538 gcc/testsuite/gfortran.dg/pr103505.f90 dc7a57f897711dfb7a3fba377198c10c gcc/testsuite/gfortran.dg/pr103588.f90 a27b232d198fc2463c04af17903b1b4c gcc/testsuite/gfortran.dg/pr103606.f90 ea7b00fcccc1df091b8087b16e502d92 gcc/testsuite/gfortran.dg/pr103607.f90 448c7638e7741c015d95260e6491d8fa gcc/testsuite/gfortran.dg/pr103692.f90 + 7880bd79a12dd5ee034f461bbaebed02 gcc/testsuite/gfortran.dg/pr103694.f90 + 4d8d0ebddb3e8c68a7b0604135d30ec0 gcc/testsuite/gfortran.dg/pr104313.f 7a5b7a18d621b5e1b9d04b73e259ddd4 gcc/testsuite/gfortran.dg/pr104849.f90 22283af469347d85bd1fe4dae42939a3 gcc/testsuite/gfortran.dg/pr105230.f90 + 04437d9e5ce70eee9f187cabd7a3ae39 gcc/testsuite/gfortran.dg/pr105633.f90 + d4e9f09fafa1c1f5e009aedb22732715 gcc/testsuite/gfortran.dg/pr105954.f90 + 088bf2cb06c9d1fbdf7cdf44f05322a7 gcc/testsuite/gfortran.dg/pr106209.f90 + 8466016b4be322b136a27ed5b067e9d8 gcc/testsuite/gfortran.dg/pr106331.f90 + 667a7f6ee3d729bf7c1cce653b1cff1c gcc/testsuite/gfortran.dg/pr106857.f90 + 09719e2d59fe58682ef7a737cdf01620 gcc/testsuite/gfortran.dg/pr106934.f90 + e1ccca85dc432ca649742c05520157d9 gcc/testsuite/gfortran.dg/pr106945.f90 + a9c6ba4d14cec93cd2edec54fda6a916 gcc/testsuite/gfortran.dg/pr106985.f90 + eb96b826eeaf84f157c8635706721d40 gcc/testsuite/gfortran.dg/pr106986.f90 + 11beaeea87162696e195837c5224fa2d gcc/testsuite/gfortran.dg/pr107054.f90 + ba47b0afdca4ac305945fe0fc5dcb1d2 gcc/testsuite/gfortran.dg/pr107872.f90 + 51c1978cd57328dca2798eaa646a34b7 gcc/testsuite/gfortran.dg/pr108131.f90 + d10ee488f163142e4a7a74b3c6a8e12f gcc/testsuite/gfortran.dg/pr108193.f90 + b1a3cfdc35d1fd73d94697f204666296 gcc/testsuite/gfortran.dg/pr108420.f90 + ed294cde0b27b346f37fa7a32bf91ea7 gcc/testsuite/gfortran.dg/pr108421.f90 + 28a670973e90363c78fb79b83bf40490 gcc/testsuite/gfortran.dg/pr108501.f90 + 1836eed7a2cdfcdba4e590204735e288 gcc/testsuite/gfortran.dg/pr108502.f90 + bb19038b0b7c42c6403475e34570ae3d gcc/testsuite/gfortran.dg/pr108527.f90 + a367beafff806aa88b45192d28091201 gcc/testsuite/gfortran.dg/pr108529.f90 984f8307f36d56a0b48b5acce2dd5eb5 gcc/testsuite/gfortran.dg/pr12884.f 64075248b9d1bffd6f380bb4e2a6eae0 gcc/testsuite/gfortran.dg/pr15129.f90 e9cbd51db4e16292fc5dd1fead2e5a49 gcc/testsuite/gfortran.dg/pr15140.f90 *************** cca539dda55db1fe3d9ab628330a364e gcc/te *** 72668,72674 **** 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 f3e2e80b3229e8fec07b3263f3453fed gcc/testsuite/gfortran.dg/pr47757-2.f90 9d5355ff4338853aec406e4f5edae9ea gcc/testsuite/gfortran.dg/pr47757-3.f90 --- 72842,72848 ---- 8dc00e13e8017aa32673c1673ad9bb9b gcc/testsuite/gfortran.dg/pr47054_1.f90 dbb1bf91a8856be53abe8cd67ff0f627 gcc/testsuite/gfortran.dg/pr47054_2.f90 18cfa159030f8b4b160fe0d8e9420c68 gcc/testsuite/gfortran.dg/pr47574.f90 ! 5bac258cba16f4d9d341434b93beae68 gcc/testsuite/gfortran.dg/pr47614.f 9ff6a3335f233c3bfe3926ceefc544b9 gcc/testsuite/gfortran.dg/pr47757-1.f90 f3e2e80b3229e8fec07b3263f3453fed gcc/testsuite/gfortran.dg/pr47757-2.f90 9d5355ff4338853aec406e4f5edae9ea gcc/testsuite/gfortran.dg/pr47757-3.f90 *************** a3fc06fbb8d6c53a22462ce8a5fade30 gcc/te *** 72726,72732 **** fcdffb26a3d7f862eb7d9eaee5b49b49 gcc/testsuite/gfortran.dg/pr58027.f90 1ca63f28ae284979c3b2b1c01dc88abf gcc/testsuite/gfortran.dg/pr58290.f90 bc63d6ff9d523e63fa42eb148fceb4c6 gcc/testsuite/gfortran.dg/pr58484.f ! 756af060f4f83f1c7fac64450555d67c gcc/testsuite/gfortran.dg/pr58968.f 38761fc6ca20bfa8a4d47530bb0173c3 gcc/testsuite/gfortran.dg/pr59107.f90 54642dc29547df928c052d04531cae6f gcc/testsuite/gfortran.dg/pr59440-1.f90 29517347731146172a1733a27581daa9 gcc/testsuite/gfortran.dg/pr59440-2.f90 --- 72900,72906 ---- fcdffb26a3d7f862eb7d9eaee5b49b49 gcc/testsuite/gfortran.dg/pr58027.f90 1ca63f28ae284979c3b2b1c01dc88abf gcc/testsuite/gfortran.dg/pr58290.f90 bc63d6ff9d523e63fa42eb148fceb4c6 gcc/testsuite/gfortran.dg/pr58484.f ! 2892cc9f5f933b8f3110403ca2a7f315 gcc/testsuite/gfortran.dg/pr58968.f 38761fc6ca20bfa8a4d47530bb0173c3 gcc/testsuite/gfortran.dg/pr59107.f90 54642dc29547df928c052d04531cae6f gcc/testsuite/gfortran.dg/pr59440-1.f90 29517347731146172a1733a27581daa9 gcc/testsuite/gfortran.dg/pr59440-2.f90 *************** b5430af005fc8cc1b6db9ceb57688fe3 gcc/te *** 72975,72980 **** --- 73149,73155 ---- 725e595013765639d219c2012948cd9d gcc/testsuite/gfortran.dg/pr85797.f90 e85019fafc2465365ffe52752040d464 gcc/testsuite/gfortran.dg/pr85798.f90 6de8b7c7567dcceb9bbbf46563935272 gcc/testsuite/gfortran.dg/pr85816.f90 + 81b431dbb9eb76aee80a85f44bfec348 gcc/testsuite/gfortran.dg/pr85877.f90 052b31eec86fd95fce096fa3b0045dd3 gcc/testsuite/gfortran.dg/pr85895.f90 e74818417ee12b9bac513c2c5a86fdd1 gcc/testsuite/gfortran.dg/pr85938.f90 97f1dd51f9cd45871f43a46b11736fb7 gcc/testsuite/gfortran.dg/pr85975.f90 *************** de07c4c374bce1b1d56411fc426874db gcc/te *** 73190,73195 **** --- 73365,73372 ---- a14ff0a951de87e6e87ae4eba23ae32e gcc/testsuite/gfortran.dg/pr95978.f90 d21234ae551d720040933254256c6861 gcc/testsuite/gfortran.dg/pr95980.f90 ac524c67dbf5c0b6588328a02f46a124 gcc/testsuite/gfortran.dg/pr95980_2.f90 + 46d582cee8b64dec9357e5dc86eb10c8 gcc/testsuite/gfortran.dg/pr96024.f90 + 95f12b0fb52668b7e207c4e71746b5c6 gcc/testsuite/gfortran.dg/pr96025.f90 45d800261f64da91bf2398a00691d7c4 gcc/testsuite/gfortran.dg/pr96086.f90 62ba5dd0303d84c214429cc5293a10ed gcc/testsuite/gfortran.dg/pr96312.f90 7607f1a87517f55c7ef37367d96d802e gcc/testsuite/gfortran.dg/pr96319.f90 *************** e6c7c7cbf695fec200c964f4e3b125ec gcc/te *** 73647,73652 **** --- 73824,73830 ---- eef9c4fb4632664f421c4067e9f7dd53 gcc/testsuite/gfortran.dg/save_4.f90 9619c507201f560eff2135e49692d052 gcc/testsuite/gfortran.dg/save_5.f90 bcec3240f40aa5093a05d7cd8024acf3 gcc/testsuite/gfortran.dg/save_6.f90 + 751220763a6526f3644c983c901f1c25 gcc/testsuite/gfortran.dg/save_7.f90 969e348eec71de0c469550da97db323d gcc/testsuite/gfortran.dg/save_common.f90 8077a483f690b8b2a62c945c63fa4b57 gcc/testsuite/gfortran.dg/save_parameter.f90 1a1f478cd1af5c7ca0f1139bd3142853 gcc/testsuite/gfortran.dg/save_result.f90 *************** c6f31959a6f27a049ee01954f0a811f0 gcc/te *** 73741,73746 **** --- 73919,73925 ---- 768c7a5a7ac507eb3c4fef8d48f0a08b gcc/testsuite/gfortran.dg/semicolon_free.f90 c137ead9ed9a3cbd4ca5f75d50965b1c gcc/testsuite/gfortran.dg/semicolon_free_2.f90 e5ae2b5b89173ed8361161ef10e352e2 gcc/testsuite/gfortran.dg/sequence_types_1.f90 + 600b9b73c8e3223409f781d7f1222630 gcc/testsuite/gfortran.dg/set_exponent_1.f90 cd908f2e51ce36e1d1deeca7c6ee72f6 gcc/testsuite/gfortran.dg/set_vm_limit.c 8c21b488e7773e67f9472b6a064868b9 gcc/testsuite/gfortran.dg/shape_1.f90 2a136a103d2e76c84d90569febf9b783 gcc/testsuite/gfortran.dg/shape_10.f90 *************** dfedf49d73e274e5c02366ccc586a488 gcc/te *** 74246,74251 **** --- 74425,74431 ---- a38aec42f7e0058d56277b2bdbf39923 gcc/testsuite/gfortran.dg/unpack_bounds_3.f90 a16cffa781475700beb86772ba80edef gcc/testsuite/gfortran.dg/unpack_init_expr.f03 77425eab660cd99123828c97f2657ca9 gcc/testsuite/gfortran.dg/unpack_mask_1.f90 + 3f54f0cd1eb1eee8a11f6a750a442af4 gcc/testsuite/gfortran.dg/unpack_vector_1.f90 21ad1ac865ebfe7d633e040a09836574 gcc/testsuite/gfortran.dg/unpack_zerosize_1.f90 fbd9ec98233c6fecb3330e95ece01679 gcc/testsuite/gfortran.dg/unreferenced_use_assoc_1.f90 7b43b740c1827893f88c955a8b8544ac gcc/testsuite/gfortran.dg/unresolved_fixup_1.f90 *************** ab23eaa0145abe5e1e3f8db59e1c30f8 gcc/te *** 78644,78650 **** fa0e9c87b4bb5cbbec31c013f106c05b gcc/testsuite/lib/go-dg.exp 24fc5b65239aa599bcd8a360fa686372 gcc/testsuite/lib/go-torture.exp 9fb73c74927f136ca96a1650a0afcbee gcc/testsuite/lib/go.exp ! 181c1deb48766e14cacedce4f54cb10c gcc/testsuite/lib/lto.exp f684b812f5a56badb83daebd4c6b8eb9 gcc/testsuite/lib/mike-g++.exp f096fbc7a08f3654b6bfcddaa25889b1 gcc/testsuite/lib/mike-gcc.exp 12c4ef671535e7ec4ef84793ca5dbfda gcc/testsuite/lib/multiline.exp --- 78824,78830 ---- fa0e9c87b4bb5cbbec31c013f106c05b gcc/testsuite/lib/go-dg.exp 24fc5b65239aa599bcd8a360fa686372 gcc/testsuite/lib/go-torture.exp 9fb73c74927f136ca96a1650a0afcbee gcc/testsuite/lib/go.exp ! 2ab9ce2189ed7adee800d1c496bfbc4a gcc/testsuite/lib/lto.exp f684b812f5a56badb83daebd4c6b8eb9 gcc/testsuite/lib/mike-g++.exp f096fbc7a08f3654b6bfcddaa25889b1 gcc/testsuite/lib/mike-gcc.exp 12c4ef671535e7ec4ef84793ca5dbfda gcc/testsuite/lib/multiline.exp *************** af4d6049c526358b0bced72089af7076 gcc/te *** 78656,78662 **** 798104da27cee008686141a98b520f8b gcc/testsuite/lib/options.exp 9440d87b50965ff5486b551ef11a634a gcc/testsuite/lib/plugin-support.exp cd778530c8ca650e7a6e2de7066010bd gcc/testsuite/lib/profopt.exp ! 658ad08ae0f9384c016baf7141dede6d gcc/testsuite/lib/prune.exp 2ad9a8996d5e8fa158376c2f08e51439 gcc/testsuite/lib/scanasm.exp b0a4036b6c7e5c72770103d9d03169c5 gcc/testsuite/lib/scandump.exp 96a8959535595b881ea8a82d0869c90b gcc/testsuite/lib/scanipa.exp --- 78836,78842 ---- 798104da27cee008686141a98b520f8b gcc/testsuite/lib/options.exp 9440d87b50965ff5486b551ef11a634a gcc/testsuite/lib/plugin-support.exp cd778530c8ca650e7a6e2de7066010bd gcc/testsuite/lib/profopt.exp ! d3953b911021bab215fdb40fdf598378 gcc/testsuite/lib/prune.exp 2ad9a8996d5e8fa158376c2f08e51439 gcc/testsuite/lib/scanasm.exp b0a4036b6c7e5c72770103d9d03169c5 gcc/testsuite/lib/scandump.exp 96a8959535595b881ea8a82d0869c90b gcc/testsuite/lib/scanipa.exp *************** d632d5568c00760aea7b18467091554c gcc/te *** 78669,78675 **** de7c3a30aab1a4360904bd68322b8c39 gcc/testsuite/lib/scanwpaipa.exp 84d4d1fa2ac6a05232c49ad827939a46 gcc/testsuite/lib/target-libpath.exp ca50260c50a30bdb6f74ff883e63b78b gcc/testsuite/lib/target-supports-dg.exp ! 6dc7d183e9cec65a00791e48498f56aa gcc/testsuite/lib/target-supports.exp 201116acbb88a91edc571f6c7b961f79 gcc/testsuite/lib/target-utils.exp 2dcea44ea4fe54415e381cfa752f4c4d gcc/testsuite/lib/timeout-dg.exp d4e470f82175a3f3c70c1de64a1e104d gcc/testsuite/lib/timeout.exp --- 78849,78855 ---- de7c3a30aab1a4360904bd68322b8c39 gcc/testsuite/lib/scanwpaipa.exp 84d4d1fa2ac6a05232c49ad827939a46 gcc/testsuite/lib/target-libpath.exp ca50260c50a30bdb6f74ff883e63b78b gcc/testsuite/lib/target-supports-dg.exp ! fba7d50e070139699fbe53da2defcf3f gcc/testsuite/lib/target-supports.exp 201116acbb88a91edc571f6c7b961f79 gcc/testsuite/lib/target-utils.exp 2dcea44ea4fe54415e381cfa752f4c4d gcc/testsuite/lib/timeout-dg.exp d4e470f82175a3f3c70c1de64a1e104d gcc/testsuite/lib/timeout.exp *************** b4be426da366ec553dae1b61ab01654e gcc/tr *** 79728,79741 **** 225440007d2169d1603a2d188e9adb72 gcc/tree-hasher.h fc64052660585b3d6d27ef83d34ddf40 gcc/tree-if-conv.c 0fe86b2b9a95865dd2aea247222d4dcf gcc/tree-if-conv.h ! 799bd1fec4db3cca20d6fb4d217b2c9a gcc/tree-inline.c 8454acd4d01cb3582c705e88d74d3283 gcc/tree-inline.h b78983a1e11b29b129e9c3085568c653 gcc/tree-into-ssa.c 6f7f61edb92c610f51c0a4c63816d0c9 gcc/tree-into-ssa.h 128a1bf3cc21b0667fce6afbc582ece4 gcc/tree-iterator.c 0c10dc55c53a2f9a6148855ba4710b52 gcc/tree-iterator.h ! 9adfa23fdb9a946b91be7a3afdb6aa16 gcc/tree-loop-distribution.c ! cde5a702e58751dbff7847d535256346 gcc/tree-nested.c 97f5a7e0334053228b88087b732f6a67 gcc/tree-nested.h e220e44e761cee85214b2cafa2e4849b gcc/tree-nrv.c 0334a4500c28bc021f639d715636c4dc gcc/tree-object-size.c --- 79908,79921 ---- 225440007d2169d1603a2d188e9adb72 gcc/tree-hasher.h fc64052660585b3d6d27ef83d34ddf40 gcc/tree-if-conv.c 0fe86b2b9a95865dd2aea247222d4dcf gcc/tree-if-conv.h ! 43c72448227eefeed839798c46a20d16 gcc/tree-inline.c 8454acd4d01cb3582c705e88d74d3283 gcc/tree-inline.h b78983a1e11b29b129e9c3085568c653 gcc/tree-into-ssa.c 6f7f61edb92c610f51c0a4c63816d0c9 gcc/tree-into-ssa.h 128a1bf3cc21b0667fce6afbc582ece4 gcc/tree-iterator.c 0c10dc55c53a2f9a6148855ba4710b52 gcc/tree-iterator.h ! 16511a3e56252e4c36964dc68a06f737 gcc/tree-loop-distribution.c ! ae2c35e47281f03e3fdb0779f619085b gcc/tree-nested.c 97f5a7e0334053228b88087b732f6a67 gcc/tree-nested.h e220e44e761cee85214b2cafa2e4849b gcc/tree-nrv.c 0334a4500c28bc021f639d715636c4dc gcc/tree-object-size.c *************** b4e0a37f771fc4a76ce646464d82d9f5 gcc/tr *** 79753,79772 **** 30e1ca6d5662e9320f1c3aa8bd91cfcb gcc/tree-profile.c c1752b439ea86c5f62b8119caa1c6afc gcc/tree-scalar-evolution.c 017de0578fb1371eef8cf4955b47471f gcc/tree-scalar-evolution.h ! c7c8fc4b09a196228fa1f9c110a4d369 gcc/tree-sra.c 71cc20d4743a15fefb27446e7653e2d1 gcc/tree-sra.h 87d8129acd88720031e13284b94d5bd1 gcc/tree-ssa-address.c fbc43c20731949aace70a7fd40e3686a gcc/tree-ssa-address.h b557b57367a5e37be104196948525f3a gcc/tree-ssa-alias.c 48a56f2cb3132e7430e35159af1e1e6b gcc/tree-ssa-alias.h ! ad882168a9a92ac846c717e3535d5329 gcc/tree-ssa-ccp.c e2bf1c52b8c66cfb9bf468c7c60b243f gcc/tree-ssa-ccp.h e245cf4b2d0a0ab436575b5267da6b9e gcc/tree-ssa-coalesce.c fb5fb25c0bf84f4deb3f9b217455a9bb gcc/tree-ssa-coalesce.h ac0b1053dfb49bc5b0a1730094fc3ea9 gcc/tree-ssa-copy.c e98fdeb69a40f7971fecbcf25d91b5e2 gcc/tree-ssa-dce.c 4d3bb522f662c24caa6940d29527d3bf gcc/tree-ssa-dce.h ! 034e6355a333834ee627ca3b1a0a6327 gcc/tree-ssa-dom.c 3fd94e5b2a00ff49e08ceed53182ee38 gcc/tree-ssa-dom.h 6e11b9149ccd3f77438a55a188da14f4 gcc/tree-ssa-dse.c 1e30750dd1407ad9992723b0e011b9b0 gcc/tree-ssa-dse.h --- 79933,79952 ---- 30e1ca6d5662e9320f1c3aa8bd91cfcb gcc/tree-profile.c c1752b439ea86c5f62b8119caa1c6afc gcc/tree-scalar-evolution.c 017de0578fb1371eef8cf4955b47471f gcc/tree-scalar-evolution.h ! 6b48866049e94f8f558317ae9704edfe gcc/tree-sra.c 71cc20d4743a15fefb27446e7653e2d1 gcc/tree-sra.h 87d8129acd88720031e13284b94d5bd1 gcc/tree-ssa-address.c fbc43c20731949aace70a7fd40e3686a gcc/tree-ssa-address.h b557b57367a5e37be104196948525f3a gcc/tree-ssa-alias.c 48a56f2cb3132e7430e35159af1e1e6b gcc/tree-ssa-alias.h ! 2833c126d42baba8d5940b86c4ff6935 gcc/tree-ssa-ccp.c e2bf1c52b8c66cfb9bf468c7c60b243f gcc/tree-ssa-ccp.h e245cf4b2d0a0ab436575b5267da6b9e gcc/tree-ssa-coalesce.c fb5fb25c0bf84f4deb3f9b217455a9bb gcc/tree-ssa-coalesce.h ac0b1053dfb49bc5b0a1730094fc3ea9 gcc/tree-ssa-copy.c e98fdeb69a40f7971fecbcf25d91b5e2 gcc/tree-ssa-dce.c 4d3bb522f662c24caa6940d29527d3bf gcc/tree-ssa-dce.h ! 7678f313d30402b1c9fc075565a23c46 gcc/tree-ssa-dom.c 3fd94e5b2a00ff49e08ceed53182ee38 gcc/tree-ssa-dom.h 6e11b9149ccd3f77438a55a188da14f4 gcc/tree-ssa-dse.c 1e30750dd1407ad9992723b0e011b9b0 gcc/tree-ssa-dse.h *************** e98fdeb69a40f7971fecbcf25d91b5e2 gcc/tr *** 79777,79783 **** 73da603af35d7ef37b8496ebd7dca5eb gcc/tree-ssa-loop-ch.c d2095c83dae5f50f4031680fea6684d9 gcc/tree-ssa-loop-im.c 9b06e443cde46a1c6558df7f4abda805 gcc/tree-ssa-loop-ivcanon.c ! 8287b51164ff1e134de843a506bb7dae gcc/tree-ssa-loop-ivopts.c 0caccb8fc15f362630bb5378f818e683 gcc/tree-ssa-loop-ivopts.h 23d79623554b440d4fb72e92305ea751 gcc/tree-ssa-loop-manip.c ec91776160764a815f2b46c7d27a1056 gcc/tree-ssa-loop-manip.h --- 79957,79963 ---- 73da603af35d7ef37b8496ebd7dca5eb gcc/tree-ssa-loop-ch.c d2095c83dae5f50f4031680fea6684d9 gcc/tree-ssa-loop-im.c 9b06e443cde46a1c6558df7f4abda805 gcc/tree-ssa-loop-ivcanon.c ! 9a28f9e88106e35042ca28f1e0b4991c gcc/tree-ssa-loop-ivopts.c 0caccb8fc15f362630bb5378f818e683 gcc/tree-ssa-loop-ivopts.h 23d79623554b440d4fb72e92305ea751 gcc/tree-ssa-loop-manip.c ec91776160764a815f2b46c7d27a1056 gcc/tree-ssa-loop-manip.h *************** ed91c7af1f1877eee14288a9011c4604 gcc/tr *** 79796,79808 **** 769f59bc5599d78b19aae3327674fda7 gcc/tree-ssa-pre.c 47231627d5b9c1bdccc192ad9bffcdfc gcc/tree-ssa-propagate.c df5bfed9047239abd92621f1e539d742 gcc/tree-ssa-propagate.h ! 36994b3260c265e6c49c6afbeb541866 gcc/tree-ssa-reassoc.c ! ed5bffc408c0169ffa4966e4169cb76e gcc/tree-ssa-sccvn.c 258ee06a3998b92f8c532aee82ba18e2 gcc/tree-ssa-sccvn.h feb7190fa935b6d25c621f31953a2228 gcc/tree-ssa-scopedtables.c 47b598298fa61c494505b9f430f243cf gcc/tree-ssa-scopedtables.h 893c3a2e43ffc65fb738bec71a93469d gcc/tree-ssa-sink.c ! c1e102a81f239575fbf259d47eb5e7c0 gcc/tree-ssa-strlen.c 8f45fcfe9c63e9106a68a75a236ac03a gcc/tree-ssa-strlen.h e0e046f2620756f55795dd38bd0331b8 gcc/tree-ssa-structalias.c 3dcabc4321b031865db6d427ec0f2c5d gcc/tree-ssa-tail-merge.c --- 79976,79988 ---- 769f59bc5599d78b19aae3327674fda7 gcc/tree-ssa-pre.c 47231627d5b9c1bdccc192ad9bffcdfc gcc/tree-ssa-propagate.c df5bfed9047239abd92621f1e539d742 gcc/tree-ssa-propagate.h ! aa0da4135f7d1c319849b79f4f81b91c gcc/tree-ssa-reassoc.c ! 7ce64bb3bc2033ee8e4ad8390f29d7c1 gcc/tree-ssa-sccvn.c 258ee06a3998b92f8c532aee82ba18e2 gcc/tree-ssa-sccvn.h feb7190fa935b6d25c621f31953a2228 gcc/tree-ssa-scopedtables.c 47b598298fa61c494505b9f430f243cf gcc/tree-ssa-scopedtables.h 893c3a2e43ffc65fb738bec71a93469d gcc/tree-ssa-sink.c ! e7c97cf7ef7c325ae62fcb84425b5727 gcc/tree-ssa-strlen.c 8f45fcfe9c63e9106a68a75a236ac03a gcc/tree-ssa-strlen.h e0e046f2620756f55795dd38bd0331b8 gcc/tree-ssa-structalias.c 3dcabc4321b031865db6d427ec0f2c5d gcc/tree-ssa-tail-merge.c *************** f685f69789eecc07be8cc42011b1ed06 gcc/tr *** 79815,79821 **** 7354dd478f9a6ffa467cab278853af66 gcc/tree-ssa-threadupdate.h bcb2b85822e2d63ea496c5071cd122f0 gcc/tree-ssa-uncprop.c 5071977461adfcabfa681f4e20d3b425 gcc/tree-ssa-uninit.c ! 9f3301d9a9fd774380dea7a74d3ecfee gcc/tree-ssa.c 574fe94352e0baddac8dca5a49f2b392 gcc/tree-ssa.h a10f26dfece937b8d3cd6995295e45ea gcc/tree-ssanames.c 3d5a97e5cb9701cc3c4f41f8e091dbd5 gcc/tree-ssanames.h --- 79995,80001 ---- 7354dd478f9a6ffa467cab278853af66 gcc/tree-ssa-threadupdate.h bcb2b85822e2d63ea496c5071cd122f0 gcc/tree-ssa-uncprop.c 5071977461adfcabfa681f4e20d3b425 gcc/tree-ssa-uninit.c ! 76cef1c033be697f8ade8d68ea21f282 gcc/tree-ssa.c 574fe94352e0baddac8dca5a49f2b392 gcc/tree-ssa.h a10f26dfece937b8d3cd6995295e45ea gcc/tree-ssanames.c 3d5a97e5cb9701cc3c4f41f8e091dbd5 gcc/tree-ssanames.h *************** d59856be0034d20fa3db4273fc8fa4bc gcc/tr *** 79841,79849 **** 10751a79fe750495853f00e04157d3bf gcc/tree-vectorizer.h c9783129905aec6436d087c4687eb51c gcc/tree-vrp.c c8c0df1c1023f580bc46385a5b4c1398 gcc/tree-vrp.h ! a0ca5a10b46bcc59476e360c4f031645 gcc/tree.c feec14642f58666703a84493d633bf44 gcc/tree.def ! c0379c1a37b7ab3d7e1bd0f88f887eb9 gcc/tree.h 1b65ea609f67932622f25f55787ab458 gcc/treestruct.def 13f52514cd082aaef51e5bf641c95001 gcc/tristate.cc f65513b8bb1e01109b10dae081b65514 gcc/tristate.h --- 80021,80029 ---- 10751a79fe750495853f00e04157d3bf gcc/tree-vectorizer.h c9783129905aec6436d087c4687eb51c gcc/tree-vrp.c c8c0df1c1023f580bc46385a5b4c1398 gcc/tree-vrp.h ! 43bf9d8a963473deb4a375071b9a7f06 gcc/tree.c feec14642f58666703a84493d633bf44 gcc/tree.def ! 594ded1449917ed124256f7ecfb6ad91 gcc/tree.h 1b65ea609f67932622f25f55787ab458 gcc/treestruct.def 13f52514cd082aaef51e5bf641c95001 gcc/tristate.cc f65513b8bb1e01109b10dae081b65514 gcc/tristate.h *************** a5a484b45e88c90e993b634185342d71 gcc/va *** 79863,79869 **** 339e0a29b5b2f84efc17bf9c6062f7fe gcc/value-range.cc b0d9e19182f317114b4ace7dd825aae4 gcc/value-range.h 1ea967a3a2963e2b8de5e7021b581b11 gcc/var-tracking.c ! cec2346ed2871a645e9128377795d889 gcc/varasm.c 653be5477fff14f116c6c0d91ccb8ed8 gcc/varasm.h c240a2fff05699dd50965775a1df8244 gcc/varpool.c 8f1a5181ac5eb5727cfdfb414fc2a534 gcc/vec-perm-indices.c --- 80043,80049 ---- 339e0a29b5b2f84efc17bf9c6062f7fe gcc/value-range.cc b0d9e19182f317114b4ace7dd825aae4 gcc/value-range.h 1ea967a3a2963e2b8de5e7021b581b11 gcc/var-tracking.c ! 6d065838893d4e09e2115a0f72b2ea90 gcc/varasm.c 653be5477fff14f116c6c0d91ccb8ed8 gcc/varasm.h c240a2fff05699dd50965775a1df8244 gcc/varpool.c 8f1a5181ac5eb5727cfdfb414fc2a534 gcc/vec-perm-indices.c *************** f5e07b81988ba373c2641b7058b4ff7b gcc/we *** 79883,79898 **** dd2af862c855085ed651c383b7cc8889 gcc/wide-int-bitmask.h 94ed324b2eb7f32f3a6d55f5d619799b gcc/wide-int-print.cc 83aae7736a83f425b3f7e52943ab2b1e gcc/wide-int-print.h ! 64c3b3451842814c9d19c6d6f60d3ada gcc/wide-int.cc ! 1ca675d08390ec2de1b90ebbba867352 gcc/wide-int.h 66087ece808189c4792bf7458f8b892e gcc/xcoff.h c1a1f47efd530769576572f8d67855e6 gcc/xcoffout.c 93de1ac25e02a930c0ccdc015fe3e4ff gcc/xcoffout.h ! 34474f174867c73e02e11be5642240c4 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in 8385a4d775aa1b9949c1f88488491c86 gnattools/configure 1e063bb0b806e41cc0ed23d1b7047746 gnattools/configure.ac ! 3d89c8be31381a0a8b36ff81c81814ed gotools/ChangeLog 303548024e6fc434838f0f42f2e9439e gotools/Makefile.am 2c91078d2a6aa9838e182a651608c4d0 gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README --- 80063,80078 ---- dd2af862c855085ed651c383b7cc8889 gcc/wide-int-bitmask.h 94ed324b2eb7f32f3a6d55f5d619799b gcc/wide-int-print.cc 83aae7736a83f425b3f7e52943ab2b1e gcc/wide-int-print.h ! 56e680cb54b4451073b062c7c9cd73cc gcc/wide-int.cc ! 62d875f2f23b49dbb56192bea4f93cb2 gcc/wide-int.h 66087ece808189c4792bf7458f8b892e gcc/xcoff.h c1a1f47efd530769576572f8d67855e6 gcc/xcoffout.c 93de1ac25e02a930c0ccdc015fe3e4ff gcc/xcoffout.h ! ec3dc01a4b17ba844f35d4bf9ff52e45 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in 8385a4d775aa1b9949c1f88488491c86 gnattools/configure 1e063bb0b806e41cc0ed23d1b7047746 gnattools/configure.ac ! 45db7fb47644cdf89a4a8241bd6e90bf gotools/ChangeLog 303548024e6fc434838f0f42f2e9439e gotools/Makefile.am 2c91078d2a6aa9838e182a651608c4d0 gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README *************** c4e8176c1964a5ebe0a55900f2141299 gotool *** 79903,79909 **** eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 81b002a17537131d23e58e9b93dcfbc8 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit ca76b64dc47d03c76721ca95e36c7e3a include/ansidecl.h --- 80083,80089 ---- eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 11b814407da7deba4f82ba296968bd86 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit ca76b64dc47d03c76721ca95e36c7e3a include/ansidecl.h *************** b07687cc9e0f873ac2e25628c5e7912a includ *** 79948,79954 **** 13e0194dd62a3563ba7c42d3db663f36 include/xregex2.h 6c83d27bff34846af1fad683ef5a77e3 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! 3c6a59d37441ce957c889406e9c19e09 intl/ChangeLog ad7ef2b19b44e4d5518287805d6ded02 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 80128,80134 ---- 13e0194dd62a3563ba7c42d3db663f36 include/xregex2.h 6c83d27bff34846af1fad683ef5a77e3 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! 78890f1ef2f0afb4eee842bfde927336 intl/ChangeLog ad7ef2b19b44e4d5518287805d6ded02 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** ec38b8a64a735196854a8f7d76b79a78 intl/p *** 79991,80002 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! a589bf2724798e0f0910454f09c4702e libada/ChangeLog 4147e5cbf56998a5d7cf62fdba854112 libada/Makefile.in c851e0f50ad5e334f1cdf3b8c0bae3e2 libada/configure 45fd7edb8aa72c41d45412e88010a79c libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! 15a0c8d266bcbf07c7aa16a62a8bddb0 libatomic/ChangeLog d42e0b7d4357d88dd10273050673a93a libatomic/Makefile.am 7386f3baeb9aa80af4a01a49d38f0c10 libatomic/Makefile.in 879263fa8d462b018b9a483d6ac68e45 libatomic/acinclude.m4 --- 80171,80182 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! c073ef2c07feb87da1c923d0565525d2 libada/ChangeLog 4147e5cbf56998a5d7cf62fdba854112 libada/Makefile.in c851e0f50ad5e334f1cdf3b8c0bae3e2 libada/configure 45fd7edb8aa72c41d45412e88010a79c libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! 97357788eba6f3756d4019047827a2b2 libatomic/ChangeLog d42e0b7d4357d88dd10273050673a93a libatomic/Makefile.am 7386f3baeb9aa80af4a01a49d38f0c10 libatomic/Makefile.in 879263fa8d462b018b9a483d6ac68e45 libatomic/acinclude.m4 *************** e40ffd415624dadaa852688c304b3ff4 libato *** 80019,80025 **** --- 80199,80208 ---- d04f86e742ddfedb71fb4a3d0ceede39 libatomic/config/powerpc/host-config.h 123597bc839cd5b14a4a4cb054c8376a libatomic/config/rtems/host-config.h caa43be2ca8f1b926dd9c2c007e7b28d libatomic/config/rtems/lock.c + a8478ee8d2cd46e9a043499fcd5a5000 libatomic/config/s390/cas_n.c 971b5d8de77320963c1ba75ce62b82c9 libatomic/config/s390/exch_n.c + a5662851f79984e0d6f62988fd02f2e1 libatomic/config/s390/load_n.c + 49767832346a46e0dba239734437126c libatomic/config/s390/store_n.c d7c65698a2e7c7b08858f2afe9fc7b59 libatomic/config/x86/fenv.c 01cd847a8452ddeb89bd168abe8883c2 libatomic/config/x86/host-config.h f5ac0ec0371759c918422be1fa07158e libatomic/config/x86/init.c *************** c03a072efac9b30f8f8429ac52fd246b libato *** 80083,80089 **** 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! 68bdfa3990cd3b4a7de23567d09e45da libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 0dee96cf83de0ad4944443622f9379c8 libbacktrace/Makefile.am cbc7c8020c0f8dcfa2d2a373f6da7e8b libbacktrace/Makefile.in --- 80266,80272 ---- 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! aa75cf5a8559eaf25e2aae79274df183 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 0dee96cf83de0ad4944443622f9379c8 libbacktrace/Makefile.am cbc7c8020c0f8dcfa2d2a373f6da7e8b libbacktrace/Makefile.in *************** c3e362d9085bb7d5ac4b6cc0d299e9b3 libbac *** 80128,80134 **** 230c6487aa41dcf6385603f0eba3f318 libbacktrace/unknown.c 38f8a61f09ebf0daecf10ca78c228587 libbacktrace/xcoff.c 2573cfcfdf54eb3b48c559e89d4b8e0b libbacktrace/ztest.c ! 93830cf16ea8a113906ea5cc0a38dec6 libcc1/ChangeLog c25ac45106391e5bfcbe7fb84b57da90 libcc1/Makefile.am 14bb0fce6ab9a6b5fe6b7a9ab0b0002c libcc1/Makefile.in 951b88f5687afa4f7735d87a83007fc0 libcc1/aclocal.m4 --- 80311,80317 ---- 230c6487aa41dcf6385603f0eba3f318 libbacktrace/unknown.c 38f8a61f09ebf0daecf10ca78c228587 libbacktrace/xcoff.c 2573cfcfdf54eb3b48c559e89d4b8e0b libbacktrace/ztest.c ! 8a8174cdcff27e4e7ffaf2473baea78b libcc1/ChangeLog c25ac45106391e5bfcbe7fb84b57da90 libcc1/Makefile.am 14bb0fce6ab9a6b5fe6b7a9ab0b0002c libcc1/Makefile.in 951b88f5687afa4f7735d87a83007fc0 libcc1/aclocal.m4 *************** b3af03e33f43aa92c6fd8d2022beb493 libcc1 *** 80157,80163 **** 95b7cbcd3c24af802f4a02f68e2e3304 libcc1/names.hh 755ea5d706408ca766c27354ac24d0d2 libcc1/rpc.hh 577d73d4b34d5f45d090858af7a98d82 libcc1/status.hh ! 38e5aa6f954086056a5107306908b0c1 libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 83cc3f43bcfa51a6019c4dbff5d9e6e6 libcpp/Makefile.in 5f73e265652f92a8ad72a80124ac7061 libcpp/aclocal.m4 --- 80340,80346 ---- 95b7cbcd3c24af802f4a02f68e2e3304 libcc1/names.hh 755ea5d706408ca766c27354ac24d0d2 libcc1/rpc.hh 577d73d4b34d5f45d090858af7a98d82 libcc1/status.hh ! d835fb65a5c8bdf897955031b11bb5eb libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 83cc3f43bcfa51a6019c4dbff5d9e6e6 libcpp/Makefile.in 5f73e265652f92a8ad72a80124ac7061 libcpp/aclocal.m4 *************** a82e3eb1d8561484e9ba80fe49aaa3d2 libcpp *** 80166,80172 **** 4cfab6637ea3472b21f31ea4e3bb53a8 libcpp/configure db98df9b3eb19f4fe581a917e87c5a57 libcpp/configure.ac 5450be14c9a74629a46f3fa6a948d86e libcpp/directives-only.c ! 577500fa319cb38653a7765ad8b3968d libcpp/directives.c 3eb366a5c93bc8bd46ecd4ce655e4241 libcpp/errors.c 1fb001fe286c05c4f0218e4f52eb5dd5 libcpp/expr.c d6df522c695dd05a286e3148c12c34a9 libcpp/files.c --- 80349,80355 ---- 4cfab6637ea3472b21f31ea4e3bb53a8 libcpp/configure db98df9b3eb19f4fe581a917e87c5a57 libcpp/configure.ac 5450be14c9a74629a46f3fa6a948d86e libcpp/directives-only.c ! 1dc821194cbdf7ecda4083fbdaf0b7e2 libcpp/directives.c 3eb366a5c93bc8bd46ecd4ce655e4241 libcpp/errors.c 1fb001fe286c05c4f0218e4f52eb5dd5 libcpp/expr.c d6df522c695dd05a286e3148c12c34a9 libcpp/files.c *************** e5e29557bc2d400ca19bf9698d8c4adb libcpp *** 80185,80191 **** 9bffef71f0dc7c27e6e9670482b78334 libcpp/makeucnid.c 6489fc7f57fdb7d583e7147ff0522602 libcpp/mkdeps.c 495ec808fc38a61b2088dbfaabe9c5cd libcpp/pch.c ! 9470027f9eab6f06c81ab49d2db8e205 libcpp/po/ChangeLog 236a7764238de3aa208e3a857c56f478 libcpp/po/be.gmo e3ee1b4c54df1144bdb2156cd4af4f8e libcpp/po/be.po a64f63d1193f804860308855177c5f6a libcpp/po/ca.gmo --- 80368,80374 ---- 9bffef71f0dc7c27e6e9670482b78334 libcpp/makeucnid.c 6489fc7f57fdb7d583e7147ff0522602 libcpp/mkdeps.c 495ec808fc38a61b2088dbfaabe9c5cd libcpp/pch.c ! eff9daa6dafcd74abbd966a613829db9 libcpp/po/ChangeLog 236a7764238de3aa208e3a857c56f478 libcpp/po/be.gmo e3ee1b4c54df1144bdb2156cd4af4f8e libcpp/po/be.po a64f63d1193f804860308855177c5f6a libcpp/po/ca.gmo *************** f15afc03bd997db77424a8404de0ba1e libcpp *** 80235,80241 **** b9ceddedbc75716da73d649fb6c90584 libcpp/ucnid.h 3dd5221704b1febaea71e979ee418d16 libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! ec730465856a89d587602d22b53305f8 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit d692c4e4e0b6dff10132a781dc3115ec libdecnumber/Makefile.in 5f9283b55276ee7e43f1b2d807e0d85f libdecnumber/aclocal.m4 --- 80418,80424 ---- b9ceddedbc75716da73d649fb6c90584 libcpp/ucnid.h 3dd5221704b1febaea71e979ee418d16 libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! a23b0213cafead444078214fb220dbe1 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit d692c4e4e0b6dff10132a781dc3115ec libdecnumber/Makefile.in 5f9283b55276ee7e43f1b2d807e0d85f libdecnumber/aclocal.m4 *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 80298,80304 **** 91741095dde1e8d43321a7d2c8af9ef0 libdecnumber/dpd/decimal64.c db0cc15dc64e7d60a762ebe3bb6a6921 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 3ec63071164326cac11a45c30fa67c0f libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 --- 80481,80487 ---- 91741095dde1e8d43321a7d2c8af9ef0 libdecnumber/dpd/decimal64.c db0cc15dc64e7d60a762ebe3bb6a6921 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 72aadceb8ca0027bb0320f04f2487c6a libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 *************** d47c79b281339983862a8e52d8c73f0f libffi *** 80659,80667 **** 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 19bf7c85bf8d7c051449121be9ad75d3 libgcc/ChangeLog 8a89bfe8c8707589b9b1470ad60f27c1 libgcc/Makefile.in ! 3a0e94f62100f9d19abcb78fa089089b libgcc/config.host 083f194c4f87d0510383fd4156d3aaef libgcc/config.in 9858db9b07dcce5cb230400b57775ac2 libgcc/config/aarch64/aarch64-unwind.h cb6bf25f692fb35cb8c66a813be70503 libgcc/config/aarch64/crtfastmath.c --- 80842,80850 ---- 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 90d2acd7d0b4d37ec1f56de8cd61dc55 libgcc/ChangeLog 8a89bfe8c8707589b9b1470ad60f27c1 libgcc/Makefile.in ! c7e019fd40fff0af456e3c9e1fe4333d libgcc/config.host 083f194c4f87d0510383fd4156d3aaef libgcc/config.in 9858db9b07dcce5cb230400b57775ac2 libgcc/config/aarch64/aarch64-unwind.h cb6bf25f692fb35cb8c66a813be70503 libgcc/config/aarch64/crtfastmath.c *************** edd359796dafc4dc78c672bcdfe885fa libgcc *** 80786,80792 **** 39e55a737e39fc207b8597387f60c342 libgcc/config/avr/lib1funcs.S 622f81485f02d0eac2caaafa7d3a2fd1 libgcc/config/avr/lib2-object.mk a1bb21bac26f7d1cb33aadeb1a2cb04d libgcc/config/avr/lib2funcs.c ! e87ee8fc2bad4b11c5379e9b55d22c45 libgcc/config/avr/libf7/ChangeLog 7c3f1609651224f834cf0c69375d2f58 libgcc/config/avr/libf7/asm-defs.h 0b54a2cbfebb93a4e1bddfa3600d6f0b libgcc/config/avr/libf7/f7-renames.h 75a098c00650382be6b1f9157fb4af2d libgcc/config/avr/libf7/f7-wraps.h --- 80969,80975 ---- 39e55a737e39fc207b8597387f60c342 libgcc/config/avr/lib1funcs.S 622f81485f02d0eac2caaafa7d3a2fd1 libgcc/config/avr/lib2-object.mk a1bb21bac26f7d1cb33aadeb1a2cb04d libgcc/config/avr/lib2funcs.c ! 784174091d7184cd08f1dc03cfa1a7d9 libgcc/config/avr/libf7/ChangeLog 7c3f1609651224f834cf0c69375d2f58 libgcc/config/avr/libf7/asm-defs.h 0b54a2cbfebb93a4e1bddfa3600d6f0b libgcc/config/avr/libf7/f7-renames.h 75a098c00650382be6b1f9157fb4af2d libgcc/config/avr/libf7/f7-wraps.h *************** c0d4a5a9b2844505ec941ff60cae008f libgcc *** 80794,80800 **** 91d3a1369031c918d258ea2ad023c550 libgcc/config/avr/libf7/f7wraps.sh 7834033aa655a14c2fc0bdcd19c657de libgcc/config/avr/libf7/libf7-array.def 5d9def53110ec07e8f29e66d593d758f libgcc/config/avr/libf7/libf7-asm-object.mk ! 5dcd162c23879c96da95bb1d840b26f2 libgcc/config/avr/libf7/libf7-asm.sx 6b4886ae302fca1fa733831066c5c830 libgcc/config/avr/libf7/libf7-c-object.mk 9e2660f882f79c124c85b8732a55464e libgcc/config/avr/libf7/libf7-common.mk 29b64ef2144e5a87760f4f4c72e5475b libgcc/config/avr/libf7/libf7-const.def --- 80977,80983 ---- 91d3a1369031c918d258ea2ad023c550 libgcc/config/avr/libf7/f7wraps.sh 7834033aa655a14c2fc0bdcd19c657de libgcc/config/avr/libf7/libf7-array.def 5d9def53110ec07e8f29e66d593d758f libgcc/config/avr/libf7/libf7-asm-object.mk ! 99161fb9c8319db3823e9a61e3d5e797 libgcc/config/avr/libf7/libf7-asm.sx 6b4886ae302fca1fa733831066c5c830 libgcc/config/avr/libf7/libf7-c-object.mk 9e2660f882f79c124c85b8732a55464e libgcc/config/avr/libf7/libf7-common.mk 29b64ef2144e5a87760f4f4c72e5475b libgcc/config/avr/libf7/libf7-const.def *************** be0a987973699f81d3104929e09fbbc0 libgcc *** 80870,80876 **** 0e4427ab50980a171acbc638f4a4846f libgcc/config/darwin-crt-tm.c a2ad7b17a6729bcf3885db737af1f9cd libgcc/config/darwin-crt3.c 3d9ace1569f13aadc86ee3608541f634 libgcc/config/darwin-unwind.ver ! 9e9354d2ce2c41094a62d88a3c777c4b libgcc/config/darwin10-unwind-find-enc-func.c da40956ae6b1ff7b16b27fe76c2213f5 libgcc/config/epiphany/crti.S 47a376f6f4c7229da1a008ae88b1481f libgcc/config/epiphany/crtint.S 5f979adbf276429d7e385bcc19b9a4cf libgcc/config/epiphany/crtm1reg-r43.S --- 81053,81059 ---- 0e4427ab50980a171acbc638f4a4846f libgcc/config/darwin-crt-tm.c a2ad7b17a6729bcf3885db737af1f9cd libgcc/config/darwin-crt3.c 3d9ace1569f13aadc86ee3608541f634 libgcc/config/darwin-unwind.ver ! 416f37158b8f19edbb3c495781577dd5 libgcc/config/darwin10-unwind-find-enc-func.c da40956ae6b1ff7b16b27fe76c2213f5 libgcc/config/epiphany/crti.S 47a376f6f4c7229da1a008ae88b1481f libgcc/config/epiphany/crtint.S 5f979adbf276429d7e385bcc19b9a4cf libgcc/config/epiphany/crtm1reg-r43.S *************** d4cd30e890b5d772946c79359704fc0b libgcc *** 80975,80981 **** 0987e17186e8a33dbf7c39d7934d4861 libgcc/config/i386/avx_resms64x.S ef88ad808d3f1101d7e96fae5706660f libgcc/config/i386/avx_savms64.S 12b992c114b195cf886a7a218b0d1e54 libgcc/config/i386/avx_savms64f.S ! 0b50691d7ab6f115485d528357f38443 libgcc/config/i386/cpuinfo.c 93e410f7c7a43b9f6ce33b5bd096c05e libgcc/config/i386/cpuinfo.h 0c87fa7e96794502d777bafe1dc1e3f2 libgcc/config/i386/crtfastmath.c 21c3fa1ea956ac3832e62d8fc364d235 libgcc/config/i386/crti.S --- 81158,81164 ---- 0987e17186e8a33dbf7c39d7934d4861 libgcc/config/i386/avx_resms64x.S ef88ad808d3f1101d7e96fae5706660f libgcc/config/i386/avx_savms64.S 12b992c114b195cf886a7a218b0d1e54 libgcc/config/i386/avx_savms64f.S ! 84ccc54cfa83c9e5ef119beae1c594f7 libgcc/config/i386/cpuinfo.c 93e410f7c7a43b9f6ce33b5bd096c05e libgcc/config/i386/cpuinfo.h 0c87fa7e96794502d777bafe1dc1e3f2 libgcc/config/i386/crtfastmath.c 21c3fa1ea956ac3832e62d8fc364d235 libgcc/config/i386/crti.S *************** c24f5e234b0091e469960bc984cb63ac libgcc *** 81079,81085 **** 3de7511560ec0cd082bc9f166d77732e libgcc/config/ia64/vms-unwind.h 739fa1e99eaa1be947f9160810ba8342 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 6c4f662a7e7df8574207d177f723eadb libgcc/config/libbid/ChangeLog d686dd88df06e999b778807d77f67f20 libgcc/config/libbid/_addsub_dd.c 39440f40364aec5c858424ea091e6fb0 libgcc/config/libbid/_addsub_sd.c a2a461592be070f0e4bcf72559dc9e11 libgcc/config/libbid/_addsub_td.c --- 81262,81268 ---- 3de7511560ec0cd082bc9f166d77732e libgcc/config/ia64/vms-unwind.h 739fa1e99eaa1be947f9160810ba8342 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! a9e6521e8c3feb7c750de18af0251969 libgcc/config/libbid/ChangeLog d686dd88df06e999b778807d77f67f20 libgcc/config/libbid/_addsub_dd.c 39440f40364aec5c858424ea091e6fb0 libgcc/config/libbid/_addsub_sd.c a2a461592be070f0e4bcf72559dc9e11 libgcc/config/libbid/_addsub_td.c *************** b7584b976e66088ce53cfad8f41d72ad libgcc *** 81665,81675 **** 2c1f0875debda71927c06b36cfc33c5a libgcc/config/riscv/atomic.c d61879f5ed9372bd52bba7f21bb79dbc libgcc/config/riscv/crti.S 0485c6e233af87295472bb7a9f2767e0 libgcc/config/riscv/crtn.S ! 2e081db5a78f51ddb6f452840c396bd0 libgcc/config/riscv/div.S 346ea4876c0a22516ef5e16a966d75f3 libgcc/config/riscv/linux-unwind.h cbf80eb3d75c7ad80fa3817c8d73964c libgcc/config/riscv/muldi3.S d61c9066a2469317b35608dc3e8b55d7 libgcc/config/riscv/multi3.c ! c9b3f834e1e39b4388405334d62665ce libgcc/config/riscv/riscv-asm.h fbc00df2504b9fe8ea8d7132673f0403 libgcc/config/riscv/save-restore.S 2c68046e279b14f32ada2ac7882ce60e libgcc/config/riscv/sfp-machine.h 58fd6db5bcb1ee35d04b7b38b4c78984 libgcc/config/riscv/t-elf --- 81848,81858 ---- 2c1f0875debda71927c06b36cfc33c5a libgcc/config/riscv/atomic.c d61879f5ed9372bd52bba7f21bb79dbc libgcc/config/riscv/crti.S 0485c6e233af87295472bb7a9f2767e0 libgcc/config/riscv/crtn.S ! 5b61e152368e6b515c74d0cd063321f6 libgcc/config/riscv/div.S 346ea4876c0a22516ef5e16a966d75f3 libgcc/config/riscv/linux-unwind.h cbf80eb3d75c7ad80fa3817c8d73964c libgcc/config/riscv/muldi3.S d61c9066a2469317b35608dc3e8b55d7 libgcc/config/riscv/multi3.c ! 15938420810dd51814d65354c5eb146a libgcc/config/riscv/riscv-asm.h fbc00df2504b9fe8ea8d7132673f0403 libgcc/config/riscv/save-restore.S 2c68046e279b14f32ada2ac7882ce60e libgcc/config/riscv/sfp-machine.h 58fd6db5bcb1ee35d04b7b38b4c78984 libgcc/config/riscv/t-elf *************** ada9a39786da3b2e999f7440a17a1ed7 libgcc *** 81868,81875 **** 7f567bcd22705a965e07f79e8f68ebaa libgcc/config/stormy16/umodsi3.c f199b38114ce849b77b38bd475d72cff libgcc/config/t-crtfm 060a49bb5c4a53a2125123d4cbd571de libgcc/config/t-crtstuff-pic ! 06e78a9599e0fde8f283aa4d9bed8e2e libgcc/config/t-darwin f699f9e7159ba2c6033406086c5c8299 libgcc/config/t-darwin-ehs ee7ad6460936fc6f3f89ecb711376477 libgcc/config/t-dfprules d747115cbcc2bd56b6b4f73c350c2ae3 libgcc/config/t-eh-dw2-dip b9d08c1cbead9131f216accd515ec32c libgcc/config/t-fdpbit --- 82051,82061 ---- 7f567bcd22705a965e07f79e8f68ebaa libgcc/config/stormy16/umodsi3.c f199b38114ce849b77b38bd475d72cff libgcc/config/t-crtfm 060a49bb5c4a53a2125123d4cbd571de libgcc/config/t-crtstuff-pic ! fc8b2970727885119792967fb3344fda libgcc/config/t-darwin f699f9e7159ba2c6033406086c5c8299 libgcc/config/t-darwin-ehs + 5f05c653ae1e197bae3fc3fc5ca1e59d libgcc/config/t-darwin-min-1 + d8138086c2f686d6fb17804f19019954 libgcc/config/t-darwin-min-5 + 830793a6b0d554dc6c4495bc27a0c9e3 libgcc/config/t-darwin-min-8 ee7ad6460936fc6f3f89ecb711376477 libgcc/config/t-dfprules d747115cbcc2bd56b6b4f73c350c2ae3 libgcc/config/t-eh-dw2-dip b9d08c1cbead9131f216accd515ec32c libgcc/config/t-fdpbit *************** fb114fc474e86040a446fa90766e8f56 libgcc *** 81889,81895 **** eb3161bf886026cdcf8a78cea885fdd2 libgcc/config/t-openbsd-thread 474d97884b393e08b0ce416dd09493bc libgcc/config/t-rtems c719c44114540927ecf2555f7fb8475b libgcc/config/t-slibgcc ! 3ecc4173a1b262e4770c789455b2cfc9 libgcc/config/t-slibgcc-darwin 57f27c60e5d8c572d2645821ec5935e0 libgcc/config/t-slibgcc-elf-ver fa4305a341c2d0a5f01867ee0abe6504 libgcc/config/t-slibgcc-fuchsia 57e4154cb283fd7d9f323f5d85d534d9 libgcc/config/t-slibgcc-gld --- 82075,82081 ---- eb3161bf886026cdcf8a78cea885fdd2 libgcc/config/t-openbsd-thread 474d97884b393e08b0ce416dd09493bc libgcc/config/t-rtems c719c44114540927ecf2555f7fb8475b libgcc/config/t-slibgcc ! 588d81383c65cf44cee60a4c7ff77fcb libgcc/config/t-slibgcc-darwin 57f27c60e5d8c572d2645821ec5935e0 libgcc/config/t-slibgcc-elf-ver fa4305a341c2d0a5f01867ee0abe6504 libgcc/config/t-slibgcc-fuchsia 57e4154cb283fd7d9f323f5d85d534d9 libgcc/config/t-slibgcc-gld *************** aefd60a1c8d6ffbb7ec97e35dee710d4 libgcc *** 82126,82132 **** f36482a521eea94524c15eaa0859e473 libgcc/vtv_end_preinit.c 9b5f2df98cbfd1de5a6f0f09efb80101 libgcc/vtv_start.c e0c401f31054829f53b8a41ab55218cf libgcc/vtv_start_preinit.c ! 0ed3be323d5ebb256b1d76c647ec3c8b libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 --- 82312,82318 ---- f36482a521eea94524c15eaa0859e473 libgcc/vtv_end_preinit.c 9b5f2df98cbfd1de5a6f0f09efb80101 libgcc/vtv_start.c e0c401f31054829f53b8a41ab55218cf libgcc/vtv_start_preinit.c ! 6e2c42a859e977c7e2225021108fce2a libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 *************** b0e8fa5226e64de83fb7bcf98048134a libgo/ *** 87356,87362 **** 9f3cbb4598995168f1b1042a587ee8e9 libgo/runtime/runtime_c.c 7e8c8817ee732c944857259927850d02 libgo/runtime/stack.c f1f0917f45d626d15a5f129fef3d81e2 libgo/runtime/yield.c ! 1eda7c90b3d33a9e266793a21fe81f95 libgo/sysinfo.c 64195708a46fb2d5225149f15a8e3991 libgo/testsuite/Makefile.am b17bd64bcb44aa1d18b2dc2b263ebba4 libgo/testsuite/Makefile.in 180c96a619276205ec9fc8e8217b67bd libgo/testsuite/config/default.exp --- 87542,87548 ---- 9f3cbb4598995168f1b1042a587ee8e9 libgo/runtime/runtime_c.c 7e8c8817ee732c944857259927850d02 libgo/runtime/stack.c f1f0917f45d626d15a5f129fef3d81e2 libgo/runtime/yield.c ! 648918435e456f71f1fc88dceac08499 libgo/sysinfo.c 64195708a46fb2d5225149f15a8e3991 libgo/testsuite/Makefile.am b17bd64bcb44aa1d18b2dc2b263ebba4 libgo/testsuite/Makefile.in 180c96a619276205ec9fc8e8217b67bd libgo/testsuite/config/default.exp *************** e3e86019491a40bd4f45424d7ce11037 libgo/ *** 87365,87371 **** c5574d106d35be5d94e80301b0855ada libgo/testsuite/libgo-test-support.exp.in bf162aa572f7b96b25dbd2b027845d32 libgo/testsuite/libgo.testmain/testmain.exp cc9d2a0e34e31ba866a8caf9f46f48f3 libgomp/.gitattributes ! b96c1b833d64846e2104d0ca8e8117f0 libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 9fd2a1e7d1a539dbbc2d854e30b0e00b libgomp/Makefile.am 9feaf433a0fb58e0e870f28ff2115ecc libgomp/Makefile.in --- 87551,87557 ---- c5574d106d35be5d94e80301b0855ada libgo/testsuite/libgo-test-support.exp.in bf162aa572f7b96b25dbd2b027845d32 libgo/testsuite/libgo.testmain/testmain.exp cc9d2a0e34e31ba866a8caf9f46f48f3 libgomp/.gitattributes ! 641f85a06194d4be3fa4764a182781ef libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 9fd2a1e7d1a539dbbc2d854e30b0e00b libgomp/Makefile.am 9feaf433a0fb58e0e870f28ff2115ecc libgomp/Makefile.in *************** a975b1cf520505ee9be61620c216ea82 libgom *** 87493,87502 **** 80bd3c31185cf94ee2e48201c6ace5f1 libgomp/libgomp-plugin.c a183f11abf5bcd0b728c89ba99706f53 libgomp/libgomp-plugin.h e2da9a5d3298e4acf757d3e0c8066adb libgomp/libgomp.h ! 039bf2372e3e31416341efe82fff48d1 libgomp/libgomp.info 4052732f79d134fd439c1b39aa83c0db libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in ! 0bf7d35e522085d8b7e5aa8f0efd6187 libgomp/libgomp.texi 9551cacd6b18881b3364e721d52390f1 libgomp/libgomp_f.h.in e86c9baf94937c05a5a03eb53b964061 libgomp/libgomp_g.h 6792fef62e7b80c7d2121018153e2f5d libgomp/lock.c --- 87679,87688 ---- 80bd3c31185cf94ee2e48201c6ace5f1 libgomp/libgomp-plugin.c a183f11abf5bcd0b728c89ba99706f53 libgomp/libgomp-plugin.h e2da9a5d3298e4acf757d3e0c8066adb libgomp/libgomp.h ! f96b00b90d06eafeeb48365bf441b3bd libgomp/libgomp.info 4052732f79d134fd439c1b39aa83c0db libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in ! bf81a2c84bea04d3242724717d8c6666 libgomp/libgomp.texi 9551cacd6b18881b3364e721d52390f1 libgomp/libgomp_f.h.in e86c9baf94937c05a5a03eb53b964061 libgomp/libgomp_g.h 6792fef62e7b80c7d2121018153e2f5d libgomp/lock.c *************** df937a07ca169a97f163c3997bda0dfa libgom *** 87536,87543 **** 723f9272d0d9f33a1f83a303a09d4c43 libgomp/single.c ba124482fdc049e9a99041d9dd816bfa libgomp/splay-tree.c d7583e2ad844cee8070dfaae09c5501b libgomp/splay-tree.h ! 889bc97e4b57775b1fc28108d9a80036 libgomp/target.c ! 2d8b34e61b530c870f0fb578ce5cc568 libgomp/task.c 4ae37fdf436d548031b3b31c4ed65e63 libgomp/taskloop.c 143611e2f787d1ffe83f8912eded0919 libgomp/team.c d8605ac6c582f4457e119461358194f2 libgomp/teams.c --- 87722,87729 ---- 723f9272d0d9f33a1f83a303a09d4c43 libgomp/single.c ba124482fdc049e9a99041d9dd816bfa libgomp/splay-tree.c d7583e2ad844cee8070dfaae09c5501b libgomp/splay-tree.h ! dd9496a04a70b81a2b54213d3ed61aa3 libgomp/target.c ! d40148ba67a8c46404bc2b574f6aae1a libgomp/task.c 4ae37fdf436d548031b3b31c4ed65e63 libgomp/taskloop.c 143611e2f787d1ffe83f8912eded0919 libgomp/team.c d8605ac6c582f4457e119461358194f2 libgomp/teams.c *************** bddf1919febc77ab73283f66e954b61e libgom *** 87642,87647 **** --- 87828,87834 ---- 3bbd0f0d348eb705be604978b2e32097 libgomp/testsuite/libgomp.c++/member-7.C 1af322f02a0df2cf1f3c2c01d328da07 libgomp/testsuite/libgomp.c++/nested-1.C 3f755c96f4b692988ea0d1ddeef1ca9b libgomp/testsuite/libgomp.c++/parallel-1.C + 918bd233ad318b00f080ec4f186b4ee1 libgomp/testsuite/libgomp.c++/pr108180.C c57d4e906a72b08e5f49bef40306b63f libgomp/testsuite/libgomp.c++/pr24455-1.C e922df8c56b5c5885b9aa8d370725ea9 libgomp/testsuite/libgomp.c++/pr24455.C ebbf9a13ba035141ba01b3281fd27fea libgomp/testsuite/libgomp.c++/pr26691.C *************** d9c974865c1c03b48fac0231e028a7be libgom *** 87846,87851 **** --- 88033,88039 ---- 53fe13231ac841815b983b820fa61932 libgomp/testsuite/libgomp.c-c++-common/ordered-4.c 35032e9e752cf0fddfcf3aa3df880c48 libgomp/testsuite/libgomp.c-c++-common/pause-1.c 333f11e6a780e595ef92d101803745c9 libgomp/testsuite/libgomp.c-c++-common/pause-2.c + 010e1c442bf8c18b7045c53d36e8346e libgomp/testsuite/libgomp.c-c++-common/pr106981.c 67c38424bb3c5c571b180f7bdadaa4f8 libgomp/testsuite/libgomp.c-c++-common/pr45784.c 68cf777b22e15a310c790cabde33a5f1 libgomp/testsuite/libgomp.c-c++-common/pr64824.c 800ed634329eb97a562e7e84ebd4044b libgomp/testsuite/libgomp.c-c++-common/pr64868.c *************** e590f10fae9bf053ed7123777b03bf32 libgom *** 87887,87892 **** --- 88075,88082 ---- e4f419faa09d744436aad29d88eb43cf libgomp/testsuite/libgomp.c-c++-common/task-reduction-13.c d284915ed4a4ac417bfb2b7632453bec libgomp/testsuite/libgomp.c-c++-common/task-reduction-14.c 9c603541ce46d78d4526034634edb381 libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c + e653bf8d31dab3838d4fca110a3ce845 libgomp/testsuite/libgomp.c-c++-common/task-reduction-17.c + 6fc6fff584c1f373ed1f3621bae88c86 libgomp/testsuite/libgomp.c-c++-common/task-reduction-18.c 47acc8ff8c516165766737c2f13be4cf libgomp/testsuite/libgomp.c-c++-common/task-reduction-2.c 33b998ac8605f9aab9808c883f2e85eb libgomp/testsuite/libgomp.c-c++-common/task-reduction-3.c 5ab2e1d3a94c19b612a71f802938e9d8 libgomp/testsuite/libgomp.c-c++-common/task-reduction-4.c *************** cfb96280c2ccf2711f5cc008a7b246ae libgom *** 88236,88242 **** 3676a99310c885b9ffc9885d81871df4 libgomp/testsuite/libgomp.c/target-29.c b7efacf79d1aeccedabb2bb25be9f758 libgomp/testsuite/libgomp.c/target-3.c 89b93437359f4de22f03c55eb9283547 libgomp/testsuite/libgomp.c/target-30.c ! fb05ccdba2c69c6ada8c59531dc61e6b libgomp/testsuite/libgomp.c/target-31.c b1d109faffe0cd8b3129628be12bc293 libgomp/testsuite/libgomp.c/target-32.c bccccd438324ee9e479d4e3a0bdb6d81 libgomp/testsuite/libgomp.c/target-33.c 1ac6fb011b9f01d7645493e720fffe9b libgomp/testsuite/libgomp.c/target-34.c --- 88426,88432 ---- 3676a99310c885b9ffc9885d81871df4 libgomp/testsuite/libgomp.c/target-29.c b7efacf79d1aeccedabb2bb25be9f758 libgomp/testsuite/libgomp.c/target-3.c 89b93437359f4de22f03c55eb9283547 libgomp/testsuite/libgomp.c/target-30.c ! 95908bcfba12e260232003299ef50b2d libgomp/testsuite/libgomp.c/target-31.c b1d109faffe0cd8b3129628be12bc293 libgomp/testsuite/libgomp.c/target-32.c bccccd438324ee9e479d4e3a0bdb6d81 libgomp/testsuite/libgomp.c/target-33.c 1ac6fb011b9f01d7645493e720fffe9b libgomp/testsuite/libgomp.c/target-34.c *************** f7ff00e5f2a30832f7f427c91fa1f61b libgom *** 88260,88265 **** --- 88450,88457 ---- d3e7c403248ba696f161f0c29c1f87a6 libgomp/testsuite/libgomp.c/task-4.c d4661425a651c88d20ba240b4b095d25 libgomp/testsuite/libgomp.c/task-5.c 44bdb32169338741ef61362037413b94 libgomp/testsuite/libgomp.c/task-6.c + be9ace9f504e4b04cbe60d9c44b6ec06 libgomp/testsuite/libgomp.c/task-7.c + fa0452ae69f7810be8c0d18767e0b973 libgomp/testsuite/libgomp.c/task-8.c 38213b90919e07d4d9f35aca2fd48cdd libgomp/testsuite/libgomp.c/task-reduction-1.c ccf79f1a3cd3d9897f6ea88c19bfbdc8 libgomp/testsuite/libgomp.c/task-reduction-2.c e25fde9ed6b03c3c743ea8cf6c8eaa3e libgomp/testsuite/libgomp.c/task-reduction-3.c *************** e8a3245c095430c8ef2413afe2ee4c48 libgom *** 89235,89241 **** 1ee538b1d8c3361fa5c71fc8cac2aa7a libgomp/testsuite/libgomp.oacc-fortran/update-2.f90 989e6535f20045be32e9e91643a0b08f libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90 ba7b24b7084a24f7eeb9edb6a47f3dee libgomp/work.c ! e2c6e0e7bb514928f9b673c1c5a8feea libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am f63e3c959c7490f1fbe708067e4884ae libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README --- 89427,89433 ---- 1ee538b1d8c3361fa5c71fc8cac2aa7a libgomp/testsuite/libgomp.oacc-fortran/update-2.f90 989e6535f20045be32e9e91643a0b08f libgomp/testsuite/libgomp.oacc-fortran/vector-routine.f90 ba7b24b7084a24f7eeb9edb6a47f3dee libgomp/work.c ! 5a11d8b5de9d621042a76e0907a509e8 libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am f63e3c959c7490f1fbe708067e4884ae libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README *************** d3cb42f0affccdc8401528fdfd1f5b65 libhsa *** 89262,89268 **** ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! bccc686ae654a8b3efb46c1b10f67b47 libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit a3ef253370857a89895181e5431a20e3 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README --- 89454,89460 ---- ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 4ecdbb6073245ee1c25eeac1680fa610 libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit a3ef253370857a89895181e5431a20e3 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README *************** fd7441d68af7274c4052f0b4d0011fd2 libibe *** 89390,89396 **** fd1435a5be24d2ed84909540998dd5d7 libiberty/strnlen.c 5b0eb0000c746fc4c1854f00bb80b53d libiberty/strrchr.c f214096086d1747033efa505022dd89c libiberty/strsignal.c ! e2f3721273c7ef1ab0194aad78ffa3aa libiberty/strstr.c 2ce1ef5f8fd7baae7b9b769d61338c94 libiberty/strtod.c c9bd3841bbde6d8ae680f62523f00ab0 libiberty/strtol.c 9968bbb75dc08ce768389912954f4348 libiberty/strtoll.c --- 89582,89588 ---- fd1435a5be24d2ed84909540998dd5d7 libiberty/strnlen.c 5b0eb0000c746fc4c1854f00bb80b53d libiberty/strrchr.c f214096086d1747033efa505022dd89c libiberty/strsignal.c ! 388e2b024e9ed4406e8c1f5099dbb4dd libiberty/strstr.c 2ce1ef5f8fd7baae7b9b769d61338c94 libiberty/strtod.c c9bd3841bbde6d8ae680f62523f00ab0 libiberty/strtol.c 9968bbb75dc08ce768389912954f4348 libiberty/strtoll.c *************** b2c289eb14e9197dcad172f3acba12b7 libibe *** 89427,89433 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 2854fd878740d7ea0f0c5ba34f695362 libiberty/xstrndup.c 00ce7121672e7f540abedae54264e8e1 libiberty/xvasprintf.c ! 569646f2287ffc355a378a9f9b10070e libitm/ChangeLog a9df0726c501bf71a46f426068e8fc9f libitm/Makefile.am 06bb67375770bbbe550b5708624ed9d8 libitm/Makefile.in 3688bb99bcb94998fd633eabeeebd40f libitm/aatree.cc --- 89619,89625 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 2854fd878740d7ea0f0c5ba34f695362 libiberty/xstrndup.c 00ce7121672e7f540abedae54264e8e1 libiberty/xvasprintf.c ! dc4b6203c3704a294307fe008cb1b0d8 libitm/ChangeLog a9df0726c501bf71a46f426068e8fc9f libitm/Makefile.am 06bb67375770bbbe550b5708624ed9d8 libitm/Makefile.in 3688bb99bcb94998fd633eabeeebd40f libitm/aatree.cc *************** a878bfd544991c9b1f0f2f5b39e8ca23 libitm *** 89485,89491 **** 767a0f12cfa1b6ac5a7c058fcb704dc4 libitm/dispatch.h 0011a3c9a726269021c8d5adcbffc2e5 libitm/eh_cpp.cc 91636819710989afcfb9423bebd8d9b6 libitm/libitm.h ! 6128b2247c7738011cfe6053e3c07ce4 libitm/libitm.info 0c43820b921ecdbe9d98f068100e716a libitm/libitm.map ea467d7117853d139bb288ab75261139 libitm/libitm.spec.in d2826737d965aaa637712f0fe8f7f0ec libitm/libitm.texi --- 89677,89683 ---- 767a0f12cfa1b6ac5a7c058fcb704dc4 libitm/dispatch.h 0011a3c9a726269021c8d5adcbffc2e5 libitm/eh_cpp.cc 91636819710989afcfb9423bebd8d9b6 libitm/libitm.h ! a053aff7bf37a8965d4522bbc4e54cd2 libitm/libitm.info 0c43820b921ecdbe9d98f068100e716a libitm/libitm.map ea467d7117853d139bb288ab75261139 libitm/libitm.spec.in d2826737d965aaa637712f0fe8f7f0ec libitm/libitm.texi *************** b4e503ecfdccc9f13da8f73eeb6f23a9 libitm *** 89531,89537 **** ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c bc16054ebacc75aa7800d984c09e69df libitm/useraction.cc 73b31e65f4454e0d3684afca18e8be62 libitm/util.cc ! 99e7a5a3ac4028cc449acaf0850f4e56 libobjc/ChangeLog 9d4f4158c2e1e11d5b0fbb824d28cb49 libobjc/Makefile.in 5d2db5fdd28bd269de26be0cffc1dfc5 libobjc/NXConstStr.m f7220a0d5e4ece5d5f47b88a837d818e libobjc/Object.m --- 89723,89729 ---- ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c bc16054ebacc75aa7800d984c09e69df libitm/useraction.cc 73b31e65f4454e0d3684afca18e8be62 libitm/util.cc ! 441bf0a249f88b47dfc784422148af3a libobjc/ChangeLog 9d4f4158c2e1e11d5b0fbb824d28cb49 libobjc/Makefile.in 5d2db5fdd28bd269de26be0cffc1dfc5 libobjc/NXConstStr.m f7220a0d5e4ece5d5f47b88a837d818e libobjc/Object.m *************** a8ec801c9883d227d37816356bdc7327 libobj *** 89588,89594 **** b260ef0ddaeec837196c8e6104dbfb65 libobjc/selector.c 9bb351bbc1b307b03d3089874e1011a8 libobjc/sendmsg.c 1ab3f79e5cb7359150b4c5d0feb93d62 libobjc/thr.c ! ded9464bf4b734c25c04796b6761fdfc liboffloadmic/ChangeLog 99e2b0817f42c602b520261f7dee183b liboffloadmic/Makefile.am a64a74f82774f355013471ad4dbe5014 liboffloadmic/Makefile.in ab5ae12a0dda7edadc0bd2be40ccff6a liboffloadmic/aclocal.m4 --- 89780,89786 ---- b260ef0ddaeec837196c8e6104dbfb65 libobjc/selector.c 9bb351bbc1b307b03d3089874e1011a8 libobjc/sendmsg.c 1ab3f79e5cb7359150b4c5d0feb93d62 libobjc/thr.c ! 5b7ecd763c9360dc313ddd08f73de44d liboffloadmic/ChangeLog 99e2b0817f42c602b520261f7dee183b liboffloadmic/Makefile.am a64a74f82774f355013471ad4dbe5014 liboffloadmic/Makefile.in ab5ae12a0dda7edadc0bd2be40ccff6a liboffloadmic/aclocal.m4 *************** b1def68202639bd452fb59aea3371fe4 liboff *** 89676,89682 **** 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 ! e52cd039c8df31649d5cf4b449bdb20f libphobos/ChangeLog c0cf15c8749b27e8cbddf4b7a0624410 libphobos/Makefile.am 7ad7ee1e1bf5ae832c27808640f7d8fb libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc --- 89868,89874 ---- 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 ! 7a175fae5fa614aba0d0633dc4839d3b libphobos/ChangeLog c0cf15c8749b27e8cbddf4b7a0624410 libphobos/Makefile.am 7ad7ee1e1bf5ae832c27808640f7d8fb libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc *************** d64e7c6f9f940e7d7f14d7d36c358989 libpho *** 90309,90315 **** d471e006e4eff73c7d20b9167e24d741 libphobos/src/std/numeric.d 388208c6635979df5a07648d1f0cdc2e libphobos/src/std/outbuffer.d fb2ab68236e21bf3840a53b15043cac4 libphobos/src/std/parallelism.d ! 2b189485e4897de30dbd494f6d788e0b libphobos/src/std/path.d 164b6df12b19e11ca70b9684b1e947fa libphobos/src/std/process.d 592b96acd85b7ae34760c56d2e1af9f7 libphobos/src/std/random.d 1d5f5bfe4477f509753c7242be1c9583 libphobos/src/std/range/interfaces.d --- 90501,90507 ---- d471e006e4eff73c7d20b9167e24d741 libphobos/src/std/numeric.d 388208c6635979df5a07648d1f0cdc2e libphobos/src/std/outbuffer.d fb2ab68236e21bf3840a53b15043cac4 libphobos/src/std/parallelism.d ! fcf7bc584822bd24e2dff6630f0b2bfa libphobos/src/std/path.d 164b6df12b19e11ca70b9684b1e947fa libphobos/src/std/process.d 592b96acd85b7ae34760c56d2e1af9f7 libphobos/src/std/random.d 1d5f5bfe4477f509753c7242be1c9583 libphobos/src/std/range/interfaces.d *************** d6d76c43d490a2c9d8addee8eee021b8 libpho *** 90403,90409 **** 35a8e616fdcbacb81b4451aafb732c93 libphobos/testsuite/libphobos.typeinfo/typeinfo.exp 9e301017360325e39a83c6b15962800a libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! f215f7fe7695e5d95b87b4584154033c libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 644a78a01d94abe28b364eaa21142d82 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 --- 90595,90601 ---- 35a8e616fdcbacb81b4451aafb732c93 libphobos/testsuite/libphobos.typeinfo/typeinfo.exp 9e301017360325e39a83c6b15962800a libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! f13239e8c5b1ab92b3efd7984b5c0e05 libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 644a78a01d94abe28b364eaa21142d82 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 *************** d9afbc1f1e04c7e461265ff9323cc6f4 libqua *** 90411,90417 **** cf5a7864ff15ab4dd1604e0f6fe4e501 libquadmath/config.h.in 75e633e311f438dd649acfd4008abd14 libquadmath/configure 279cb151e8c43d5af048eb1a9608a435 libquadmath/configure.ac ! 74926f41c615e899b66a07e24300190a libquadmath/libquadmath.info 8442a7234a31a9e0c384bc6376ae9724 libquadmath/libquadmath.texi 77280bb7ee423875e03d9c0d34527df6 libquadmath/libtool-version 452fee0ef153d65eb7413a5103c63a23 libquadmath/math/acoshq.c --- 90603,90609 ---- cf5a7864ff15ab4dd1604e0f6fe4e501 libquadmath/config.h.in 75e633e311f438dd649acfd4008abd14 libquadmath/configure 279cb151e8c43d5af048eb1a9608a435 libquadmath/configure.ac ! 0ea1ff3d84c35811520698429b2d0aa7 libquadmath/libquadmath.info 8442a7234a31a9e0c384bc6376ae9724 libquadmath/libquadmath.texi 77280bb7ee423875e03d9c0d34527df6 libquadmath/libtool-version 452fee0ef153d65eb7413a5103c63a23 libquadmath/math/acoshq.c *************** cd139c8f7066ccd99c46052b7b67b2cb libqua *** 90539,90549 **** a21481cfd0382ef41901608376f2161c libquadmath/quadmath_weak.h e766022f8615b72cbc38335d262e9d3d libquadmath/strtod/grouping.h a73fdec6746eaad8ccdc8e8403aac562 libquadmath/strtod/mpn2flt128.c ! a81cc82679e80c86cfbd5575867450d0 libquadmath/strtod/strtod_l.c af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! a9a91907aa530e4bacbba62e746ba8ba libsanitizer/ChangeLog 0e35a2dc2727acc707a3f5ead45c8e12 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 214b34d29a767814ebb2e1fc47be8b55 libsanitizer/LOCAL_PATCHES --- 90731,90741 ---- a21481cfd0382ef41901608376f2161c libquadmath/quadmath_weak.h e766022f8615b72cbc38335d262e9d3d libquadmath/strtod/grouping.h a73fdec6746eaad8ccdc8e8403aac562 libquadmath/strtod/mpn2flt128.c ! e0bd9b8669e44ec6010f92da1d5188ad libquadmath/strtod/strtod_l.c af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! a22ca735a78a1956486be11ee37aa079 libsanitizer/ChangeLog 0e35a2dc2727acc707a3f5ead45c8e12 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 214b34d29a767814ebb2e1fc47be8b55 libsanitizer/LOCAL_PATCHES *************** b0666c8f23d627e872a9a54b1a201cec libsan *** 90623,90629 **** 4d6948c4912be5da16e30aac001b87d7 libsanitizer/config.h.in 5298a8aa0af358b921073718b8fa3f89 libsanitizer/configure e2da6d2fe49e4bc7b52487b9ea222f7f libsanitizer/configure.ac ! a3b991a02d2433cab2b57a9c3eb24d7c libsanitizer/configure.tgt 62164e6387eaa4f03566444e00018275 libsanitizer/include/sanitizer/allocator_interface.h 59dccccf5737e12e033f7467a7f3768e libsanitizer/include/sanitizer/asan_interface.h d462269eefcb3ebf53e43398ad8a6804 libsanitizer/include/sanitizer/common_interface_defs.h --- 90815,90821 ---- 4d6948c4912be5da16e30aac001b87d7 libsanitizer/config.h.in 5298a8aa0af358b921073718b8fa3f89 libsanitizer/configure e2da6d2fe49e4bc7b52487b9ea222f7f libsanitizer/configure.ac ! 0b85b016ea5041aca1bb796d13c86f4e libsanitizer/configure.tgt 62164e6387eaa4f03566444e00018275 libsanitizer/include/sanitizer/allocator_interface.h 59dccccf5737e12e033f7467a7f3768e libsanitizer/include/sanitizer/asan_interface.h d462269eefcb3ebf53e43398ad8a6804 libsanitizer/include/sanitizer/common_interface_defs.h *************** d2bf2d24145b87281fed9790d72e64fb libsan *** 90787,90793 **** 8b4031e08b6385eb303cbeea8d39acfe libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h 8000711a00d2894dbf4e5b23932e4241 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.cpp 9d9e2ca7e7d8ece7182fbd83d5df0b42 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.h ! fc1df6b95c43bc8e6f2d39099d322f11 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 25f5260cb615823da4467e930f2c8c68 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 3ee58b1ba29dcc881e4bb98f0b8f8b16 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cpp 65580ad77115e59c2e7c3343384d5991 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h --- 90979,90985 ---- 8b4031e08b6385eb303cbeea8d39acfe libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h 8000711a00d2894dbf4e5b23932e4241 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.cpp 9d9e2ca7e7d8ece7182fbd83d5df0b42 libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.h ! 345c5c16e20616a71f7d31c25a9d8fc9 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 25f5260cb615823da4467e930f2c8c68 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 3ee58b1ba29dcc881e4bb98f0b8f8b16 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cpp 65580ad77115e59c2e7c3343384d5991 libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h *************** cabf4d60cc2e457091514cb4f2237bbd libsan *** 90963,90969 **** 545e91fffb8d4987ca5d1c0054aadd11 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp e9c85349d92ab1a6b66d0872077acd3b libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp 72f297f487b6bb9db917cce361192c28 libsanitizer/ubsan/ubsan_win_weak_interception.cpp ! c81071dbe26dfb7935a3beadd3fe159d libssp/ChangeLog 587c237b1073b8be40a1975c86d0ce01 libssp/Makefile.am b56958cdc5828ca811c35bbf479b3a09 libssp/Makefile.in f6f6c804e40e3a3ef407d3d13fafb6c0 libssp/aclocal.m4 --- 91155,91161 ---- 545e91fffb8d4987ca5d1c0054aadd11 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp e9c85349d92ab1a6b66d0872077acd3b libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp 72f297f487b6bb9db917cce361192c28 libsanitizer/ubsan/ubsan_win_weak_interception.cpp ! f06b486b0d8a064caced5575cd5f9b4d libssp/ChangeLog 587c237b1073b8be40a1975c86d0ce01 libssp/Makefile.am b56958cdc5828ca811c35bbf479b3a09 libssp/Makefile.in f6f6c804e40e3a3ef407d3d13fafb6c0 libssp/aclocal.m4 *************** a8291ec60d5058c6b652ad3948ba88f2 libssp *** 90992,90998 **** b7a581dfcf315a2215d8792224b15ba4 libssp/strncpy-chk.c 4720732375196e3834d0dc2a4ccd4678 libssp/vsnprintf-chk.c c67bcbd0e33f52512fa906f33a6ad93c libssp/vsprintf-chk.c ! ad95d6ac06fb29673fe5570daba8643e libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 --- 91184,91190 ---- b7a581dfcf315a2215d8792224b15ba4 libssp/strncpy-chk.c 4720732375196e3834d0dc2a4ccd4678 libssp/vsnprintf-chk.c c67bcbd0e33f52512fa906f33a6ad93c libssp/vsprintf-chk.c ! 024c2d496be978641a3277ece004c46f libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 *************** cb723a587a363c4fa71e6712aeff2458 libstd *** 91170,91176 **** 392a5979e3829b759e1848f75ea231a7 libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc 6ccf22a952f8ff3a744f441f9faa02a3 libstdc++-v3/config/os/gnu-linux/ctype_inline.h e7a5616dfe1ba65fd2ef182675c2f3e4 libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver ! 63bfbd899e138a2361b556f27bf76bed libstdc++-v3/config/os/gnu-linux/os_defines.h 7dd9d1c93692872f6caba3b914589ab8 libstdc++-v3/config/os/hpux/ctype_base.h dfcb95a6906bfd8758f8d0b94f77dfd5 libstdc++-v3/config/os/hpux/ctype_configure_char.cc 6ccf22a952f8ff3a744f441f9faa02a3 libstdc++-v3/config/os/hpux/ctype_inline.h --- 91362,91368 ---- 392a5979e3829b759e1848f75ea231a7 libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc 6ccf22a952f8ff3a744f441f9faa02a3 libstdc++-v3/config/os/gnu-linux/ctype_inline.h e7a5616dfe1ba65fd2ef182675c2f3e4 libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver ! b1f435dc9461945a1d743c4eab8a6807 libstdc++-v3/config/os/gnu-linux/os_defines.h 7dd9d1c93692872f6caba3b914589ab8 libstdc++-v3/config/os/hpux/ctype_base.h dfcb95a6906bfd8758f8d0b94f77dfd5 libstdc++-v3/config/os/hpux/ctype_configure_char.cc 6ccf22a952f8ff3a744f441f9faa02a3 libstdc++-v3/config/os/hpux/ctype_inline.h *************** ca3e62817fc4c45c6f1e23e555fbbab1 libstd *** 91220,91229 **** 520db39aef0e2a59418132af88b897ed libstdc++-v3/doc/doxygen/mainpage.html 3486d64b0aaa601908006a0e78395ca3 libstdc++-v3/doc/doxygen/stdheader.cc 1273764cd133c402d2d3f22cf2913af5 libstdc++-v3/doc/doxygen/tables.html ! 8d3d0719b43327ae94a379bcc3283bcd libstdc++-v3/doc/doxygen/user.cfg.in 66e139590a163a3e9d632f33fbe1d1b3 libstdc++-v3/doc/html/README c68ff21babfa14f20b98e36a2c808418 libstdc++-v3/doc/html/api.html ! fd168dc2b2d0c12b1e17b40ffec96390 libstdc++-v3/doc/html/bk02.html 47886ba7da131bf3cbf81a27cada5f6f libstdc++-v3/doc/html/bk03.html f8da0f34d5632ef2fa41bc24b870c7ca libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png --- 91412,91421 ---- 520db39aef0e2a59418132af88b897ed libstdc++-v3/doc/doxygen/mainpage.html 3486d64b0aaa601908006a0e78395ca3 libstdc++-v3/doc/doxygen/stdheader.cc 1273764cd133c402d2d3f22cf2913af5 libstdc++-v3/doc/doxygen/tables.html ! 1eda2ddd8a73fd964b649e07fbe8531d libstdc++-v3/doc/doxygen/user.cfg.in 66e139590a163a3e9d632f33fbe1d1b3 libstdc++-v3/doc/html/README c68ff21babfa14f20b98e36a2c808418 libstdc++-v3/doc/html/api.html ! 08920438eea18325b4bfdf979379ff66 libstdc++-v3/doc/html/bk02.html 47886ba7da131bf3cbf81a27cada5f6f libstdc++-v3/doc/html/bk03.html f8da0f34d5632ef2fa41bc24b870c7ca libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png *************** df705f3839120dcb896e9839cf3404d0 libstd *** 91308,91314 **** df179506f96fcb91052f81a4364915b5 libstdc++-v3/doc/html/index.html c1e5ffe8cab62b023f6ec0921dae323f libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html ! ed0df2a39ee4dc6f7612c69f53f6f5a6 libstdc++-v3/doc/html/manual/api.html 5da5f8ee60b9c017065648d24e093ac6 libstdc++-v3/doc/html/manual/appendix.html 9fecd7dab1bd0d46e97d36cded231ebe libstdc++-v3/doc/html/manual/appendix_contributing.html 23038a3eb57967596dd7dc4f944e55e6 libstdc++-v3/doc/html/manual/appendix_free.html --- 91500,91506 ---- df179506f96fcb91052f81a4364915b5 libstdc++-v3/doc/html/index.html c1e5ffe8cab62b023f6ec0921dae323f libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html ! 715a3fb22a282b19e745097c3bebc33e libstdc++-v3/doc/html/manual/api.html 5da5f8ee60b9c017065648d24e093ac6 libstdc++-v3/doc/html/manual/appendix.html 9fecd7dab1bd0d46e97d36cded231ebe libstdc++-v3/doc/html/manual/appendix_contributing.html 23038a3eb57967596dd7dc4f944e55e6 libstdc++-v3/doc/html/manual/appendix_free.html *************** afcc2751dae09e088abc1e3175cb94cc libstd *** 91341,91358 **** 6ff2323d07ed91e8dec5a072df16f901 libstdc++-v3/doc/html/manual/ext_concurrency_impl.html 9eae121ff2ad3f2dd5a2748f87f9f530 libstdc++-v3/doc/html/manual/ext_concurrency_use.html 0597d03ff215b7f17e0240178c030166 libstdc++-v3/doc/html/manual/ext_containers.html ! 2388a381a3fca44bacf99a523f6e2bba libstdc++-v3/doc/html/manual/ext_demangling.html 05003e71d54cfdfd4c8291489f8ffa07 libstdc++-v3/doc/html/manual/ext_io.html 44f8ef8b093904d418755d0e32d700b7 libstdc++-v3/doc/html/manual/ext_iterators.html 8f3bd86e04d263ad87cc258c289aae6d libstdc++-v3/doc/html/manual/ext_numerics.html 6d380acac52eb8c888a54068e44b16ac libstdc++-v3/doc/html/manual/ext_preface.html 5632eb8ef681cd35b41be7eb7a3d7a98 libstdc++-v3/doc/html/manual/ext_sgi.html 9b34310c7cb7faa4373ee6683678c457 libstdc++-v3/doc/html/manual/ext_utilities.html ! 00c415f7a8c72582b50938a7eb8366e7 libstdc++-v3/doc/html/manual/extensions.html 35b79745331dead1ad1971dd05389baf 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 ! 4594f00fd54dea536f6a64d04948a56c libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html 4b8578e3de6c36c2681abb0a4d88b99f libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html --- 91533,91550 ---- 6ff2323d07ed91e8dec5a072df16f901 libstdc++-v3/doc/html/manual/ext_concurrency_impl.html 9eae121ff2ad3f2dd5a2748f87f9f530 libstdc++-v3/doc/html/manual/ext_concurrency_use.html 0597d03ff215b7f17e0240178c030166 libstdc++-v3/doc/html/manual/ext_containers.html ! 3946985aede4994e9743b0f8d71b41ba libstdc++-v3/doc/html/manual/ext_demangling.html 05003e71d54cfdfd4c8291489f8ffa07 libstdc++-v3/doc/html/manual/ext_io.html 44f8ef8b093904d418755d0e32d700b7 libstdc++-v3/doc/html/manual/ext_iterators.html 8f3bd86e04d263ad87cc258c289aae6d libstdc++-v3/doc/html/manual/ext_numerics.html 6d380acac52eb8c888a54068e44b16ac libstdc++-v3/doc/html/manual/ext_preface.html 5632eb8ef681cd35b41be7eb7a3d7a98 libstdc++-v3/doc/html/manual/ext_sgi.html 9b34310c7cb7faa4373ee6683678c457 libstdc++-v3/doc/html/manual/ext_utilities.html ! 994542df83e91ccc062dfb4cb5da945c libstdc++-v3/doc/html/manual/extensions.html 35b79745331dead1ad1971dd05389baf 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 ! 6538244a2a1b55753314d7f3eae09f67 libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html 4b8578e3de6c36c2681abb0a4d88b99f libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html *************** e5a44446efe24c37e9b107d443d76878 libstd *** 91411,91417 **** ccc3b1a320ccc49a977c80546610195b libstdc++-v3/doc/html/manual/using_namespaces.html d881fcffb799c09a28d8174ccb1326a2 libstdc++-v3/doc/html/manual/utilities.html ccbc0492a648982f2dc225595bdbc567 libstdc++-v3/doc/xml/api.xml ! 61748d51ede56b338ef61ce9232c23e0 libstdc++-v3/doc/xml/authors.xml f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml 95d1335e76860d53246f3e400231ec38 libstdc++-v3/doc/xml/chapter.txml 7f8c520dc83013026c671c5c342f73e2 libstdc++-v3/doc/xml/class.txml --- 91603,91609 ---- ccc3b1a320ccc49a977c80546610195b libstdc++-v3/doc/html/manual/using_namespaces.html d881fcffb799c09a28d8174ccb1326a2 libstdc++-v3/doc/html/manual/utilities.html ccbc0492a648982f2dc225595bdbc567 libstdc++-v3/doc/xml/api.xml ! e1775a73c7dd9e58d002cffb39192faa libstdc++-v3/doc/xml/authors.xml f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml 95d1335e76860d53246f3e400231ec38 libstdc++-v3/doc/xml/chapter.txml 7f8c520dc83013026c671c5c342f73e2 libstdc++-v3/doc/xml/class.txml *************** e6ca26c475748296f849f8024304550a libstd *** 91616,91623 **** c2b5fe8f3aba75d63e43dedc1c66c9a1 libstdc++-v3/doc/xml/manual/debug_mode.xml de9142912808678c2c2ce8b0192c394f libstdc++-v3/doc/xml/manual/diagnostics.xml c1e74618e099a0a26f35c653a9d49971 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ! fca17d234bdc033e9e27285ab9c84b4b libstdc++-v3/doc/xml/manual/evolution.xml ! 14742e66a2ac01343ef60e87d06d05ff libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml 9e3bc83dd5e6e039ede33f797fb40e33 libstdc++-v3/doc/xml/manual/intro.xml 82d01f11ebf848dc64a611a829ef5a38 libstdc++-v3/doc/xml/manual/io.xml --- 91808,91815 ---- c2b5fe8f3aba75d63e43dedc1c66c9a1 libstdc++-v3/doc/xml/manual/debug_mode.xml de9142912808678c2c2ce8b0192c394f libstdc++-v3/doc/xml/manual/diagnostics.xml c1e74618e099a0a26f35c653a9d49971 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ! 4387a5d915d24e27adf5773c02bd8fba libstdc++-v3/doc/xml/manual/evolution.xml ! 137276d6eb0bbaf6563b8319770dc747 libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml 9e3bc83dd5e6e039ede33f797fb40e33 libstdc++-v3/doc/xml/manual/intro.xml 82d01f11ebf848dc64a611a829ef5a38 libstdc++-v3/doc/xml/manual/io.xml *************** eb99bd418a3e47c7fc7a2298d1d63d27 libstd *** 91632,91638 **** e2ea3eb265b0daa00700ec1b06a363d9 libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml ee6d5b2bc3741b3e049dc335f2c25284 libstdc++-v3/doc/xml/manual/prerequisites.xml d006612b2e21ab181c25bc88697b4543 libstdc++-v3/doc/xml/manual/shared_ptr.xml ! 4973f5115dccc7a4572777a094cc60e8 libstdc++-v3/doc/xml/manual/spine.xml 6043d036e7b64486d97bce2607a3236c libstdc++-v3/doc/xml/manual/status_cxx1998.xml ff64342bfa017d4722f15a35e800f076 libstdc++-v3/doc/xml/manual/status_cxx2011.xml 2de777c1edabc6676dcd7eb0a6604326 libstdc++-v3/doc/xml/manual/status_cxx2014.xml --- 91824,91830 ---- e2ea3eb265b0daa00700ec1b06a363d9 libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml ee6d5b2bc3741b3e049dc335f2c25284 libstdc++-v3/doc/xml/manual/prerequisites.xml d006612b2e21ab181c25bc88697b4543 libstdc++-v3/doc/xml/manual/shared_ptr.xml ! c74e23b18491ad421253f72aa8309404 libstdc++-v3/doc/xml/manual/spine.xml 6043d036e7b64486d97bce2607a3236c libstdc++-v3/doc/xml/manual/status_cxx1998.xml ff64342bfa017d4722f15a35e800f076 libstdc++-v3/doc/xml/manual/status_cxx2011.xml 2de777c1edabc6676dcd7eb0a6604326 libstdc++-v3/doc/xml/manual/status_cxx2014.xml *************** cc6b44837ffecfed21ba33bf580865af libstd *** 91651,91658 **** a8f0003856ec916712e8abaddf746a77 libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 7bb72420e699e194cf6066457cb6d6a5 libstdc++-v3/fragment.am ! c0f9573af94f62fd17bf64d9e33719c6 libstdc++-v3/include/Makefile.am ! 769f3a275b75b125f2d8b6a9a70cf9ef libstdc++-v3/include/Makefile.in 4fdaa579a320c5b2f53586fac01d65d0 libstdc++-v3/include/backward/auto_ptr.h 831dbf0ebc9318ec68636e9546b698fc libstdc++-v3/include/backward/backward_warning.h e9f460a762e1c4ab8196c03532a7568e libstdc++-v3/include/backward/binders.h --- 91843,91850 ---- a8f0003856ec916712e8abaddf746a77 libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 7bb72420e699e194cf6066457cb6d6a5 libstdc++-v3/fragment.am ! c44ec35fa9fba0a42f634003e4ff47a0 libstdc++-v3/include/Makefile.am ! 4ac3274dd27b70453b1fc2db79314d7a libstdc++-v3/include/Makefile.in 4fdaa579a320c5b2f53586fac01d65d0 libstdc++-v3/include/backward/auto_ptr.h 831dbf0ebc9318ec68636e9546b698fc libstdc++-v3/include/backward/backward_warning.h e9f460a762e1c4ab8196c03532a7568e libstdc++-v3/include/backward/binders.h *************** d27802ff0f98ec6d7d75defdbadafdf1 libstd *** 91687,91706 **** 556b2f94404e66c119a7ad397aa4b614 libstdc++-v3/include/bits/fs_dir.h af0f1aba7930a95736ae0bbadc6bf2db libstdc++-v3/include/bits/fs_fwd.h 29c11f7e70d67fe804809aaf9c97cfe7 libstdc++-v3/include/bits/fs_ops.h ! fd8d70f0ef1d258dad26708011e525ec libstdc++-v3/include/bits/fs_path.h 22ff14d1a36511441f5a67a1abe47856 libstdc++-v3/include/bits/fstream.tcc 9769ec5cf1d70f5d388572a69a3a88d5 libstdc++-v3/include/bits/functexcept.h 0c6dbf801e218a9215ed73bf2a9f72a2 libstdc++-v3/include/bits/functional_hash.h f0068dbef0ebc56ffae5652b6064f420 libstdc++-v3/include/bits/gslice.h ! c56b5968917762b750c5c3803221ffe9 libstdc++-v3/include/bits/gslice_array.h 947bd93feb1720a9b5185c6abfedba17 libstdc++-v3/include/bits/hashtable.h bb29dabfdbd8a2092a023e4614908c2d libstdc++-v3/include/bits/hashtable_policy.h ! e1d6ec24244158a9f2776a8628955317 libstdc++-v3/include/bits/indirect_array.h 2103c37950b04e2ddd4fe96183d4a4eb libstdc++-v3/include/bits/invoke.h 2413e956f6232abf2d9fd5a794c781b0 libstdc++-v3/include/bits/ios_base.h f41ecd4020ddfbf088767f2ce83cddd9 libstdc++-v3/include/bits/istream.tcc 77de7ac74ec409d536ff19bd440c4411 libstdc++-v3/include/bits/iterator_concepts.h ! 5e1af8238a7182366476acc7c95f6cb9 libstdc++-v3/include/bits/list.tcc 120cce3cf9c42fc21d3311bfb091f538 libstdc++-v3/include/bits/locale_classes.h 1a4d19df3be9b714847a5e438ba25b3b libstdc++-v3/include/bits/locale_classes.tcc c4fed2b5b4879837686150624f51ddbc libstdc++-v3/include/bits/locale_conv.h --- 91879,91898 ---- 556b2f94404e66c119a7ad397aa4b614 libstdc++-v3/include/bits/fs_dir.h af0f1aba7930a95736ae0bbadc6bf2db libstdc++-v3/include/bits/fs_fwd.h 29c11f7e70d67fe804809aaf9c97cfe7 libstdc++-v3/include/bits/fs_ops.h ! dbe174f7673bd158a42653b711109849 libstdc++-v3/include/bits/fs_path.h 22ff14d1a36511441f5a67a1abe47856 libstdc++-v3/include/bits/fstream.tcc 9769ec5cf1d70f5d388572a69a3a88d5 libstdc++-v3/include/bits/functexcept.h 0c6dbf801e218a9215ed73bf2a9f72a2 libstdc++-v3/include/bits/functional_hash.h f0068dbef0ebc56ffae5652b6064f420 libstdc++-v3/include/bits/gslice.h ! 4400f9517a572b5b5b25630e929f85f9 libstdc++-v3/include/bits/gslice_array.h 947bd93feb1720a9b5185c6abfedba17 libstdc++-v3/include/bits/hashtable.h bb29dabfdbd8a2092a023e4614908c2d libstdc++-v3/include/bits/hashtable_policy.h ! 6e6959e9895118152a037277bf902062 libstdc++-v3/include/bits/indirect_array.h 2103c37950b04e2ddd4fe96183d4a4eb libstdc++-v3/include/bits/invoke.h 2413e956f6232abf2d9fd5a794c781b0 libstdc++-v3/include/bits/ios_base.h f41ecd4020ddfbf088767f2ce83cddd9 libstdc++-v3/include/bits/istream.tcc 77de7ac74ec409d536ff19bd440c4411 libstdc++-v3/include/bits/iterator_concepts.h ! 92f968da4b68631b539b8592b63643e1 libstdc++-v3/include/bits/list.tcc 120cce3cf9c42fc21d3311bfb091f538 libstdc++-v3/include/bits/locale_classes.h 1a4d19df3be9b714847a5e438ba25b3b libstdc++-v3/include/bits/locale_classes.tcc c4fed2b5b4879837686150624f51ddbc libstdc++-v3/include/bits/locale_conv.h *************** ad3726c17e8e10e80b100401ec35a07c libstd *** 91709,91715 **** 3213b72bb6b5dcc587d72a81f7937bce libstdc++-v3/include/bits/locale_facets_nonio.h a3cf6cabd7bdaee154cafa2c88aede3a libstdc++-v3/include/bits/locale_facets_nonio.tcc 756fbe1353340b4e7cae5d8a93132788 libstdc++-v3/include/bits/localefwd.h ! 480b0beba1f5529acd192ffe964fdd82 libstdc++-v3/include/bits/mask_array.h b3ac8f248c9d88c5e616eb3275077b80 libstdc++-v3/include/bits/memoryfwd.h bfe6db802b03cdca43b4360bcf8b5be7 libstdc++-v3/include/bits/move.h f6aa6553dc5524abdfe41a7da3a49706 libstdc++-v3/include/bits/node_handle.h --- 91901,91907 ---- 3213b72bb6b5dcc587d72a81f7937bce libstdc++-v3/include/bits/locale_facets_nonio.h a3cf6cabd7bdaee154cafa2c88aede3a libstdc++-v3/include/bits/locale_facets_nonio.tcc 756fbe1353340b4e7cae5d8a93132788 libstdc++-v3/include/bits/localefwd.h ! 1a372ce9e4f0f5089b629cb56af6aef4 libstdc++-v3/include/bits/mask_array.h b3ac8f248c9d88c5e616eb3275077b80 libstdc++-v3/include/bits/memoryfwd.h bfe6db802b03cdca43b4360bcf8b5be7 libstdc++-v3/include/bits/move.h f6aa6553dc5524abdfe41a7da3a49706 libstdc++-v3/include/bits/node_handle.h *************** b6673c70044c63dc76561b464a4c6e28 libstd *** 91722,91749 **** c1dbfdcef6bb8952176db50e5956f3f0 libstdc++-v3/include/bits/quoted_string.h 715337d5eaa307b9b51ebb60a4e6fe04 libstdc++-v3/include/bits/random.h 891e4ae0ae0106f7bfdb7a0c6e2a6cf6 libstdc++-v3/include/bits/random.tcc ! b5abbb3cb59db8cc75504ce491cda56b libstdc++-v3/include/bits/range_access.h 98ddc447ed23629cfe71a497dd38cc0a libstdc++-v3/include/bits/range_cmp.h d4aca81ccc4482f066764310c4f1ef15 libstdc++-v3/include/bits/ranges_algo.h d47d05fc4ee976d40c5901730e4e5283 libstdc++-v3/include/bits/ranges_algobase.h 9359674d91413bb86cab3df1fee00aa7 libstdc++-v3/include/bits/ranges_uninitialized.h 2b83e058f8d0793df437d0a6d422c974 libstdc++-v3/include/bits/refwrap.h ! 5a3f7431075fbcacaccf9ac19e4f3791 libstdc++-v3/include/bits/regex.h ! f23ad4b66e11fbf0102e9bb997345693 libstdc++-v3/include/bits/regex.tcc ! d566c247041097c6045c8796de365631 libstdc++-v3/include/bits/regex_automaton.h ec658fb588ddb17f4f5d56f054a2120b libstdc++-v3/include/bits/regex_automaton.tcc ! 0c770629fb4ee30877ee168fc18a1e42 libstdc++-v3/include/bits/regex_compiler.h ! a03aaf7d03a9b71dbb400f20ac3a24ba libstdc++-v3/include/bits/regex_compiler.tcc 0ed75f64f6a2ef9e246d1df78bec8ce9 libstdc++-v3/include/bits/regex_constants.h ! 85a93e603444bb3a23b75da73192dee2 libstdc++-v3/include/bits/regex_error.h 2495bcb90af2bcf8217b48a97c5ec1e3 libstdc++-v3/include/bits/regex_executor.h ! a5f7599269265e9fa08515b3153fae50 libstdc++-v3/include/bits/regex_executor.tcc ! 79f74adcb24e2a20a2a7783fe81ef2a4 libstdc++-v3/include/bits/regex_scanner.h ! e17036c2169768877a2decc8fafb1408 libstdc++-v3/include/bits/regex_scanner.tcc b5a31ffdf16d0753e273cdfff0ff6e08 libstdc++-v3/include/bits/shared_ptr.h b7b7c3f4f5b8b0d7472d13c86dc9ba9d libstdc++-v3/include/bits/shared_ptr_atomic.h ! de783ee03b6490a4c18914f825de28ee libstdc++-v3/include/bits/shared_ptr_base.h ! 68b74d340f7cf348bc4ba2cdd2abef9b libstdc++-v3/include/bits/slice_array.h 9b2e9f2b083444d10d31440adb7617d1 libstdc++-v3/include/bits/specfun.h e899b384347b53af6ce6e1034e25b861 libstdc++-v3/include/bits/sstream.tcc a2872a3a5e8bdfdb68af596ab9b2956c libstdc++-v3/include/bits/std_abs.h --- 91914,91941 ---- c1dbfdcef6bb8952176db50e5956f3f0 libstdc++-v3/include/bits/quoted_string.h 715337d5eaa307b9b51ebb60a4e6fe04 libstdc++-v3/include/bits/random.h 891e4ae0ae0106f7bfdb7a0c6e2a6cf6 libstdc++-v3/include/bits/random.tcc ! 6e04a39c60a6444157fa36fb5bdee3da libstdc++-v3/include/bits/range_access.h 98ddc447ed23629cfe71a497dd38cc0a libstdc++-v3/include/bits/range_cmp.h d4aca81ccc4482f066764310c4f1ef15 libstdc++-v3/include/bits/ranges_algo.h d47d05fc4ee976d40c5901730e4e5283 libstdc++-v3/include/bits/ranges_algobase.h 9359674d91413bb86cab3df1fee00aa7 libstdc++-v3/include/bits/ranges_uninitialized.h 2b83e058f8d0793df437d0a6d422c974 libstdc++-v3/include/bits/refwrap.h ! 7fe86b8d7ec106ae49fad858425e421b libstdc++-v3/include/bits/regex.h ! 0818b22e457f9849af571aa2671701ef libstdc++-v3/include/bits/regex.tcc ! 96476e343a72ad51000554b090714781 libstdc++-v3/include/bits/regex_automaton.h ec658fb588ddb17f4f5d56f054a2120b libstdc++-v3/include/bits/regex_automaton.tcc ! bd8ff992fd002ef8a2f1728d942dadfb libstdc++-v3/include/bits/regex_compiler.h ! 0e3eb826614d6420714be926647bb9ee libstdc++-v3/include/bits/regex_compiler.tcc 0ed75f64f6a2ef9e246d1df78bec8ce9 libstdc++-v3/include/bits/regex_constants.h ! b2094e72d39f789ce000b9c1a9b5a7d7 libstdc++-v3/include/bits/regex_error.h 2495bcb90af2bcf8217b48a97c5ec1e3 libstdc++-v3/include/bits/regex_executor.h ! ca310e180218af82bc1d0f2be6e94e7c libstdc++-v3/include/bits/regex_executor.tcc ! c97e4957a7256e5e137360dd14413b88 libstdc++-v3/include/bits/regex_scanner.h ! 9402b8307d03ced065096cda373996b7 libstdc++-v3/include/bits/regex_scanner.tcc b5a31ffdf16d0753e273cdfff0ff6e08 libstdc++-v3/include/bits/shared_ptr.h b7b7c3f4f5b8b0d7472d13c86dc9ba9d libstdc++-v3/include/bits/shared_ptr_atomic.h ! db6d4b3a1a9ad9763c1834f68e606633 libstdc++-v3/include/bits/shared_ptr_base.h ! f5433780bb5e225730394acf7e1aed52 libstdc++-v3/include/bits/slice_array.h 9b2e9f2b083444d10d31440adb7617d1 libstdc++-v3/include/bits/specfun.h e899b384347b53af6ce6e1034e25b861 libstdc++-v3/include/bits/sstream.tcc a2872a3a5e8bdfdb68af596ab9b2956c libstdc++-v3/include/bits/std_abs.h *************** d1037bf0672c6f31a8ab232accf76b5b libstd *** 91756,91762 **** c1f22e72439efaf933695e8de80c864d libstdc++-v3/include/bits/stl_deque.h f87fbc5d632d6a84307ec8d2ada3d6c3 libstdc++-v3/include/bits/stl_function.h ce0341fe6e305b41215648e27a5b71eb libstdc++-v3/include/bits/stl_heap.h ! 440554c6fd095f22a03b8639bf747533 libstdc++-v3/include/bits/stl_iterator.h ec8f5457561f81d938fe7292bd695aa3 libstdc++-v3/include/bits/stl_iterator_base_funcs.h 90b6c5c8762ac7b4ad98628e4c841fff libstdc++-v3/include/bits/stl_iterator_base_types.h 5f49cd6ecd76af79a9fac53049c58c08 libstdc++-v3/include/bits/stl_list.h --- 91948,91954 ---- c1f22e72439efaf933695e8de80c864d libstdc++-v3/include/bits/stl_deque.h f87fbc5d632d6a84307ec8d2ada3d6c3 libstdc++-v3/include/bits/stl_function.h ce0341fe6e305b41215648e27a5b71eb libstdc++-v3/include/bits/stl_heap.h ! 03dca18319e72d89a4080360c8602b69 libstdc++-v3/include/bits/stl_iterator.h ec8f5457561f81d938fe7292bd695aa3 libstdc++-v3/include/bits/stl_iterator_base_funcs.h 90b6c5c8762ac7b4ad98628e4c841fff libstdc++-v3/include/bits/stl_iterator_base_types.h 5f49cd6ecd76af79a9fac53049c58c08 libstdc++-v3/include/bits/stl_list.h *************** ef12bb1e27ffe914484f7aefd01fe24b libstd *** 91772,91778 **** afe766f0ecb032df023c7042cf701b96 libstdc++-v3/include/bits/stl_stack.h 43ec67c71a6a4de0533398e4142dcde7 libstdc++-v3/include/bits/stl_tempbuf.h 16e1b48de9ff648411bca19144fc3406 libstdc++-v3/include/bits/stl_tree.h ! ed05d0b7c24493d3fc4c711407844017 libstdc++-v3/include/bits/stl_uninitialized.h 7de0f0dc86a833efdd78c658d956e37c libstdc++-v3/include/bits/stl_vector.h 07ff4d5903d9bb5d2a93ab5e39a20545 libstdc++-v3/include/bits/stream_iterator.h 173a77332f78d2ca96b9c0d2c72fbdfb libstdc++-v3/include/bits/streambuf.tcc --- 91964,91970 ---- afe766f0ecb032df023c7042cf701b96 libstdc++-v3/include/bits/stl_stack.h 43ec67c71a6a4de0533398e4142dcde7 libstdc++-v3/include/bits/stl_tempbuf.h 16e1b48de9ff648411bca19144fc3406 libstdc++-v3/include/bits/stl_tree.h ! bceaed141932442b09b532352388f834 libstdc++-v3/include/bits/stl_uninitialized.h 7de0f0dc86a833efdd78c658d956e37c libstdc++-v3/include/bits/stl_vector.h 07ff4d5903d9bb5d2a93ab5e39a20545 libstdc++-v3/include/bits/stream_iterator.h 173a77332f78d2ca96b9c0d2c72fbdfb libstdc++-v3/include/bits/streambuf.tcc *************** addea971b35a75f23989171878228e4f libstd *** 91941,91948 **** 69a595ed7e32bab5f954957195e1863e libstdc++-v3/include/experimental/memory_resource a7d3ea8538cf6c8e57484af9a461a655 libstdc++-v3/include/experimental/net bf4ef7b68a82e1643ee24b5dac94501f libstdc++-v3/include/experimental/netfwd ! 7fcfb5fbfa3aa6bd01ac4d2bd9377171 libstdc++-v3/include/experimental/numeric ! 4cc322f3bd5270b2be197853c6d8061f libstdc++-v3/include/experimental/optional 0b97a31a359048a2dc2a0faaa4eecac0 libstdc++-v3/include/experimental/propagate_const 883a8fabcc4a030b8dbf11dd3c3c4527 libstdc++-v3/include/experimental/random 2082e6de6ad79541d6a07e1ad809a6e1 libstdc++-v3/include/experimental/ratio --- 92133,92140 ---- 69a595ed7e32bab5f954957195e1863e libstdc++-v3/include/experimental/memory_resource a7d3ea8538cf6c8e57484af9a461a655 libstdc++-v3/include/experimental/net bf4ef7b68a82e1643ee24b5dac94501f libstdc++-v3/include/experimental/netfwd ! 56823834560fc7952c2be33bf3485c2a libstdc++-v3/include/experimental/numeric ! 75ee35dd52ee347c5c9f491a083453b4 libstdc++-v3/include/experimental/optional 0b97a31a359048a2dc2a0faaa4eecac0 libstdc++-v3/include/experimental/propagate_const 883a8fabcc4a030b8dbf11dd3c3c4527 libstdc++-v3/include/experimental/random 2082e6de6ad79541d6a07e1ad809a6e1 libstdc++-v3/include/experimental/ratio *************** d3d2812c60e828c1e822801f148c7630 libstd *** 92315,92321 **** b273dc977fd70ba3f379d1a3b1863379 libstdc++-v3/include/pstl/unseq_backend_simd.h 248e4a4c932ee32246a6216c3b58a482 libstdc++-v3/include/pstl/utils.h d13b5b555064cbe65fe9a48522f98fc6 libstdc++-v3/include/std/algorithm ! 264dfe8d0bc871c1b56dccbc57bf0b7f libstdc++-v3/include/std/any 2eb20d4a1a3384519f368d3874a83786 libstdc++-v3/include/std/array d1ea53a6b3aa2a26dd2a34579929a0a2 libstdc++-v3/include/std/atomic ee08323765838e4ca57e151bd2f5f369 libstdc++-v3/include/std/bit --- 92507,92513 ---- b273dc977fd70ba3f379d1a3b1863379 libstdc++-v3/include/pstl/unseq_backend_simd.h 248e4a4c932ee32246a6216c3b58a482 libstdc++-v3/include/pstl/utils.h d13b5b555064cbe65fe9a48522f98fc6 libstdc++-v3/include/std/algorithm ! f762659c2a613188b317e953149502c3 libstdc++-v3/include/std/any 2eb20d4a1a3384519f368d3874a83786 libstdc++-v3/include/std/array d1ea53a6b3aa2a26dd2a34579929a0a2 libstdc++-v3/include/std/atomic ee08323765838e4ca57e151bd2f5f369 libstdc++-v3/include/std/bit *************** a0a50587d2eec5a78f74a98dabe20be6 libstd *** 92344,92365 **** d44965fd1119516c430f841e5e500b2b libstdc++-v3/include/std/list 665715a7b0758a25afbee33a0423900d libstdc++-v3/include/std/locale caaabd7110451202bfa1b8ad2aabddb9 libstdc++-v3/include/std/map ! 8975a010c439e0c88f6d8c77e44d643b libstdc++-v3/include/std/memory 3f400dd93f6a698931858300f3e1943a libstdc++-v3/include/std/memory_resource 7bf570019cd4f0a6d5a6a52e97bb04d6 libstdc++-v3/include/std/mutex 6eef564e779ff625b1fb0fa009e40fd4 libstdc++-v3/include/std/numbers ! 1ccb103f249440dabfde6c0fd0a7c061 libstdc++-v3/include/std/numeric 393364dba7f058bf4c81111ddd1f9cdd libstdc++-v3/include/std/optional 56e5a336148ae6e8cfc713dd640b2f8d libstdc++-v3/include/std/ostream c43c4eb1ed1a4868d4c6323cc6de7522 libstdc++-v3/include/std/queue eb0270a262359d9c42cc05dff455433d libstdc++-v3/include/std/random ! 98b92b811a8216770375bed0aa0f4d18 libstdc++-v3/include/std/ranges ca89269b97d7354f7f0b65d424029d90 libstdc++-v3/include/std/ratio a8222a3097b562fb1cd796c07ec7c61f libstdc++-v3/include/std/regex b66d9f96bf954c63d6525112c84eb381 libstdc++-v3/include/std/scoped_allocator 245521f6014ae11952787e3814f04026 libstdc++-v3/include/std/set e1565837b946ced2d0133cbaa1e3d8ec libstdc++-v3/include/std/shared_mutex ! 8c2db7cae66143469e27ffc9996d3fb5 libstdc++-v3/include/std/span 57d20fd66958cb5ff87fd63d0146d6b1 libstdc++-v3/include/std/sstream 2e668b0677af4c060836d386a013d36b libstdc++-v3/include/std/stack b7cb1423f5d00d33fe1a8be9cf5aa752 libstdc++-v3/include/std/stdexcept --- 92536,92557 ---- d44965fd1119516c430f841e5e500b2b libstdc++-v3/include/std/list 665715a7b0758a25afbee33a0423900d libstdc++-v3/include/std/locale caaabd7110451202bfa1b8ad2aabddb9 libstdc++-v3/include/std/map ! d0c25a0e56fc91e58966220c9f3acb1e libstdc++-v3/include/std/memory 3f400dd93f6a698931858300f3e1943a libstdc++-v3/include/std/memory_resource 7bf570019cd4f0a6d5a6a52e97bb04d6 libstdc++-v3/include/std/mutex 6eef564e779ff625b1fb0fa009e40fd4 libstdc++-v3/include/std/numbers ! e92432e4c9c04eca7eb27be1bce3cc12 libstdc++-v3/include/std/numeric 393364dba7f058bf4c81111ddd1f9cdd libstdc++-v3/include/std/optional 56e5a336148ae6e8cfc713dd640b2f8d libstdc++-v3/include/std/ostream c43c4eb1ed1a4868d4c6323cc6de7522 libstdc++-v3/include/std/queue eb0270a262359d9c42cc05dff455433d libstdc++-v3/include/std/random ! ca2152e1d060bbe53c33fa3c45be5eaf libstdc++-v3/include/std/ranges ca89269b97d7354f7f0b65d424029d90 libstdc++-v3/include/std/ratio a8222a3097b562fb1cd796c07ec7c61f libstdc++-v3/include/std/regex b66d9f96bf954c63d6525112c84eb381 libstdc++-v3/include/std/scoped_allocator 245521f6014ae11952787e3814f04026 libstdc++-v3/include/std/set e1565837b946ced2d0133cbaa1e3d8ec libstdc++-v3/include/std/shared_mutex ! 91895d3ce98bbe6c78823174c5c2d201 libstdc++-v3/include/std/span 57d20fd66958cb5ff87fd63d0146d6b1 libstdc++-v3/include/std/sstream 2e668b0677af4c060836d386a013d36b libstdc++-v3/include/std/stack b7cb1423f5d00d33fe1a8be9cf5aa752 libstdc++-v3/include/std/stdexcept *************** a4fb839cf1231ef9e1358c002e576ec8 libstd *** 92375,92381 **** 1337d5daba21c28cdeb4c94ca872b4ba libstdc++-v3/include/std/unordered_map e3b3bdf6bb027fd8ddee13353d7b6234 libstdc++-v3/include/std/unordered_set 121c5a282a5a4db2a38d858687acc93c libstdc++-v3/include/std/utility ! 567ad93eeaa373e6e893843e804a3df6 libstdc++-v3/include/std/valarray 1298d6992e2344f7d186593abd955fef libstdc++-v3/include/std/variant d226f70ed3db8fb048011cc9efe12c5a libstdc++-v3/include/std/vector 27d7969b96498b2777dbe1bdbeeb2fae libstdc++-v3/include/std/version --- 92567,92573 ---- 1337d5daba21c28cdeb4c94ca872b4ba libstdc++-v3/include/std/unordered_map e3b3bdf6bb027fd8ddee13353d7b6234 libstdc++-v3/include/std/unordered_set 121c5a282a5a4db2a38d858687acc93c libstdc++-v3/include/std/utility ! 40f9626852b3bfcd195524824c674bb5 libstdc++-v3/include/std/valarray 1298d6992e2344f7d186593abd955fef libstdc++-v3/include/std/variant d226f70ed3db8fb048011cc9efe12c5a libstdc++-v3/include/std/vector 27d7969b96498b2777dbe1bdbeeb2fae libstdc++-v3/include/std/version *************** dd2d88360d92246b172169fa496272e9 libstd *** 92545,92551 **** 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py ae17853071ca9899f6cb501024af780a libstdc++-v3/python/libstdcxx/v6/__init__.py 1de76e87902410c000656c409774db0c libstdc++-v3/python/libstdcxx/v6/printers.py ! 0fc25e43df52cda8714a2f6dd550e226 libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile 135cc633b60b1fe91bcc3ea62a5ff845 libstdc++-v3/scripts/check_performance 222d3bed3efbfa2cc45349dba7566fb4 libstdc++-v3/scripts/create_testsuite_files --- 92737,92743 ---- 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py ae17853071ca9899f6cb501024af780a libstdc++-v3/python/libstdcxx/v6/__init__.py 1de76e87902410c000656c409774db0c libstdc++-v3/python/libstdcxx/v6/printers.py ! 6039de69fd43b433fe36eb02bfa6a27c libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile 135cc633b60b1fe91bcc3ea62a5ff845 libstdc++-v3/scripts/check_performance 222d3bed3efbfa2cc45349dba7566fb4 libstdc++-v3/scripts/create_testsuite_files *************** f261a5695cf413b262d8d771012c36cf libstd *** 92615,92621 **** 67489e44aabf6ee27491f83aded895e5 libstdc++-v3/src/c++11/string-inst.cc 90fff7ea468ea45ee79b57c88711d684 libstdc++-v3/src/c++11/string-io-inst.cc 4702dde44800dea5f9ad46ebea5eaccf libstdc++-v3/src/c++11/system_error.cc ! 3c91c9ec8d1b0a5df45bf18e30b0af8e libstdc++-v3/src/c++11/thread.cc 13e198b930798010d9e16aee69f138b5 libstdc++-v3/src/c++11/wlocale-inst.cc 1ea4c9bf30c5548ffad100b839a94a6a libstdc++-v3/src/c++11/wstring-inst.cc 39ae108cfb70c0557e92896f0a8d4672 libstdc++-v3/src/c++11/wstring-io-inst.cc --- 92807,92813 ---- 67489e44aabf6ee27491f83aded895e5 libstdc++-v3/src/c++11/string-inst.cc 90fff7ea468ea45ee79b57c88711d684 libstdc++-v3/src/c++11/string-io-inst.cc 4702dde44800dea5f9ad46ebea5eaccf libstdc++-v3/src/c++11/system_error.cc ! 4840031040cf603543128c7baa79987f libstdc++-v3/src/c++11/thread.cc 13e198b930798010d9e16aee69f138b5 libstdc++-v3/src/c++11/wlocale-inst.cc 1ea4c9bf30c5548ffad100b839a94a6a libstdc++-v3/src/c++11/wstring-inst.cc 39ae108cfb70c0557e92896f0a8d4672 libstdc++-v3/src/c++11/wstring-io-inst.cc *************** ef1ee344de2bc2b04be3d0f275c0b4d3 libstd *** 92628,92634 **** 21e22ff1ddec6a91c7b379d6f6398649 libstdc++-v3/src/c++17/default_resource.h 3ad10d2e6e8714710066bc9e7d022796 libstdc++-v3/src/c++17/fs_dir.cc 37132b81957ff5846a46a7e467f5e65a libstdc++-v3/src/c++17/fs_ops.cc ! 42defcdc2c69bd9b77c3825755b86943 libstdc++-v3/src/c++17/fs_path.cc 194bab9f1a1b9fef9dcd795adf026641 libstdc++-v3/src/c++17/memory_resource.cc 87912386c5e6de771b56062a52139e93 libstdc++-v3/src/c++17/ostream-inst.cc 2f637a3602ab38de44daa31a9a1de119 libstdc++-v3/src/c++17/string-inst.cc --- 92820,92826 ---- 21e22ff1ddec6a91c7b379d6f6398649 libstdc++-v3/src/c++17/default_resource.h 3ad10d2e6e8714710066bc9e7d022796 libstdc++-v3/src/c++17/fs_dir.cc 37132b81957ff5846a46a7e467f5e65a libstdc++-v3/src/c++17/fs_ops.cc ! eb0697ad748acd58d8b129cb43f4c87e libstdc++-v3/src/c++17/fs_path.cc 194bab9f1a1b9fef9dcd795adf026641 libstdc++-v3/src/c++17/memory_resource.cc 87912386c5e6de771b56062a52139e93 libstdc++-v3/src/c++17/ostream-inst.cc 2f637a3602ab38de44daa31a9a1de119 libstdc++-v3/src/c++17/string-inst.cc *************** ad507228914ca1a6132e381c670846ef libstd *** 92865,92871 **** 7a2795d9a67b4c9e54bb021822709cbb libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc c4a7e4b3187b8e56f133b8ce3006eaaa libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc deee65878b9e3cf529167436b40d5385 libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc ! ce7982d7741c922ca2c747157b63acb8 libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc 2281311a2e612f693209189aa998c60a libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc afaa5e4e61410f8220b04577a19ec0b4 libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc de7c9181a9d940179f552929948bf90b libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc --- 93057,93063 ---- 7a2795d9a67b4c9e54bb021822709cbb libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc c4a7e4b3187b8e56f133b8ce3006eaaa libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc deee65878b9e3cf529167436b40d5385 libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc ! c38f20d462579205d19577ee776f412d libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc 2281311a2e612f693209189aa998c60a libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc afaa5e4e61410f8220b04577a19ec0b4 libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc de7c9181a9d940179f552929948bf90b libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc *************** d36f17ddc5af3683e9f73f91a7260f8e libstd *** 93683,93688 **** --- 93875,93881 ---- 6ef4ddbe5a32b7eb9d71c46c64d8e78d libstdc++-v3/testsuite/20_util/pair/astuple/astuple_cpp14.cc f48c07c44140150e937f03bb12848635 libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc 92db3c7cd40898a1713a71660bbd32e1 libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc + f2f2b91309730f195c55679493733944 libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc 728049cccec5bf6658c5cbb4d0af4ec0 libstdc++-v3/testsuite/20_util/pair/astuple/get.cc c933c0e8dc73afd62ff2b2f667dd8227 libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc 4c31e1c7f6940621c5f0f720507aa909 libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc *************** ec79612af30d4118681cd24d521fcc4c libstd *** 93795,93800 **** --- 93988,93994 ---- 1f18023aad96c237ba249d9957ec9f05 libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc f07ab1dffe53ab00f86f3026cf86818d libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc 694ba23126474c18fc064b738675a2d6 libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc + 35133b79da6d1d1682fa724daad0923a libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc a545c7c7a6b52d41a0c2234d630c6ac6 libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc 8daf2d919b1ef09c3e9be2eb757822a0 libstdc++-v3/testsuite/20_util/scoped_allocator/3.cc 7e9f8edf716e9726b9acd264006fb719 libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc *************** dbeedb1eb8c27c088f26c25e4eb41ff5 libstd *** 93927,93933 **** --- 94121,94129 ---- a44a5f6ebd99c9a9ad523cee846b636b libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc bdbbf73d23c2708a909ffa067a430c92 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc d589653cebbadf45aa7504d84f485063 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc + bb515d1b8e38042eeedcfa58f8e11b14 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc 09231e7dbd01dc9d5603ce93ecec28e0 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc + 014728f643cbd2502fe2e8c3d8af05de libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc d57f7b8b2bd226c51593e4928693775b libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc a7381ea2f9112128a1fefbb037399116 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc ae4c8d13e228d61d7bb7badc49770e43 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc *************** a79a2c659eedeb13d02614038fda5e3a libstd *** 93939,93946 **** --- 94135,94144 ---- 373638dd7048affaf6ffed8eef615bb5 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc 37afd793c2c2b520eac6a470e35f1a9e libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc dc7e67084ee40a7b89b329a388673ec1 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc + 773c29a9c669bb150d91527dace70fc3 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc 14bab55e8ff7bd3624cdaf87bf0fd22e libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc 97e677bb0e3cd867286dfa17c6e9b67d libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc + f65604b18e62f5d8eecde4ae5cf41455 libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc 9a1b7e4bfb2a3964d65ab2b01702d1c5 libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc f8db55835a14db41bba0bf7b0b30bb2b libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate.cc a5c12a29c462f85283fda0dbec2182f0 libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate_single.cc *************** c9f4e2afbe952dbc89c61a0a46dfefa7 libstd *** 94138,94143 **** --- 94336,94342 ---- 49b89488c5f2f8b08b5afbace59564e7 libstdc++-v3/testsuite/20_util/uses_allocator/92878_92947.cc 670720ca5a72e1ccb9eb01b3f0fd7a45 libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc 2bee549b036390dc8ab271a20439c07a libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc + 91b3ce25542d2c354c6bf26e9e2c27e4 libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc 09515817bf420f2311396b2daf00ffb7 libstdc++-v3/testsuite/20_util/uses_allocator/make_obj.cc ae03c2b43b20cf8ac1bd997bfa0b9ce9 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc 6889bd8ba19a5b84ea84a55886bf1951 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc *************** cfd09fb260ddcc6454286c1ee0974762 libstd *** 94171,94176 **** --- 94370,94376 ---- b20cdb20e2ae350d976e52b340735a4c libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc bae6e6433438180812f30ae7d4a856d5 libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc c1ea55493ce2eb7ca9a08850a37018fc libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc + 6a9ce5f99e0bc779530a9660ce1210f8 libstdc++-v3/testsuite/20_util/weak_ptr/cons/self_move.cc 1f53a3ef9fa709ccf9168083abcc8ab8 libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc 0408e5cda7627b1f0ec51ff64d654b0e libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc 7e1b904216ad534b48fdd6638bb21311 libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc *************** fd72ebc8f5564c07ba57595544146515 libstd *** 96007,96012 **** --- 96207,96214 ---- 9f3f7297de5ffd1be04994ce0ae49439 libstdc++-v3/testsuite/23_containers/span/2.cc 99d6c1ea7d3fcf797ffd17f5c8f123bd libstdc++-v3/testsuite/23_containers/span/back_assert_neg.cc 7257a3841d42a4b4e2c526754a12138a libstdc++-v3/testsuite/23_containers/span/back_neg.cc + 06a45501dcaec8e13d6ae1e6ee40d1b7 libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc + b500468357c8536c575705ba4a6c389f libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc 074820b375398998fb7f897dd96ed804 libstdc++-v3/testsuite/23_containers/span/contiguous_range_neg.cc 05767a53f7beb996573792ac2ad9ac88 libstdc++-v3/testsuite/23_containers/span/deduction.cc e6eb55004ff18e42d36a0e8a174bc424 libstdc++-v3/testsuite/23_containers/span/everything.cc *************** b88d2378fda69ce34b7aca5a960cb2e8 libstd *** 96520,96525 **** --- 96722,96728 ---- 57f43448495a1f4eec092cb9e2012fd2 libstdc++-v3/testsuite/23_containers/vector/cons/87809.cc 3fc61c2eea4ee30b1b78c0784fc95061 libstdc++-v3/testsuite/23_containers/vector/cons/89164.cc 91e34dc9d3989a7274744c16d06d3922 libstdc++-v3/testsuite/23_containers/vector/cons/89164_c++17.cc + 443ccddb1bb60667d2ed2a2bd3e76788 libstdc++-v3/testsuite/23_containers/vector/cons/94540.cc 2b455887b8664a15556cd198ea2793f3 libstdc++-v3/testsuite/23_containers/vector/cons/94831.cc 1b0637cd75d90c6f78015e03dd67a628 libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc d2beca7d5db03f0cbf7463e386d24849 libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc *************** adf4d560e5aaa898a39c8a8adbd8c03a libstd *** 96643,96649 **** ac5672e7f14c29e4e9daa6e47f80992b libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc 882c665ff5f8175c7c78a6ab0c38dbcf libstdc++-v3/testsuite/24_iterators/bidirectional/concept.cc 7bcc36e24b1de7e367f9734b360cd260 libstdc++-v3/testsuite/24_iterators/bidirectional/tag.cc ! 3800d5ae8dd74f040738a1d3d352c3b9 libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc 324435aecd194db25d558253509d1c24 libstdc++-v3/testsuite/24_iterators/common_iterator/2.cc 5129c792e6bfe1b6cbea670e3aa9b745 libstdc++-v3/testsuite/24_iterators/container_access.cc 14ab787ffbe7315c795d857e5257adca libstdc++-v3/testsuite/24_iterators/contiguous/concept.cc --- 96846,96853 ---- ac5672e7f14c29e4e9daa6e47f80992b libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc 882c665ff5f8175c7c78a6ab0c38dbcf libstdc++-v3/testsuite/24_iterators/bidirectional/concept.cc 7bcc36e24b1de7e367f9734b360cd260 libstdc++-v3/testsuite/24_iterators/bidirectional/tag.cc ! 0cd033551125be655a0bfc9cd52adfca libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc ! fb111ce7bbedeceab984ff4e60e07c4f libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc 324435aecd194db25d558253509d1c24 libstdc++-v3/testsuite/24_iterators/common_iterator/2.cc 5129c792e6bfe1b6cbea670e3aa9b745 libstdc++-v3/testsuite/24_iterators/container_access.cc 14ab787ffbe7315c795d857e5257adca libstdc++-v3/testsuite/24_iterators/contiguous/concept.cc *************** af2c66edde57fed474cc7c47119167f4 libstd *** 97592,97599 **** 98aaa071c218ed2b03b506e7e1dea91c libstdc++-v3/testsuite/26_numerics/exclusive_scan/1.cc 786c88392ad21476586549a3bc39caeb libstdc++-v3/testsuite/26_numerics/exclusive_scan/constexpr.cc 8c35eb135966eac7f9f735660421deec libstdc++-v3/testsuite/26_numerics/gcd/1.cc 95693fa697af2ce7ef6deaa0394c7fef libstdc++-v3/testsuite/26_numerics/gcd/92978.cc ! 181c083afcb45ba3ff41798db8b2bc8f libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc 6313a74200a87668bca313215e442bd4 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc 20a1d7fbdc4a485c2ab5c2da4623df1c libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc 7d3b4a095ff9cd832fa48e1efd2baf89 libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc --- 97796,97804 ---- 98aaa071c218ed2b03b506e7e1dea91c libstdc++-v3/testsuite/26_numerics/exclusive_scan/1.cc 786c88392ad21476586549a3bc39caeb libstdc++-v3/testsuite/26_numerics/exclusive_scan/constexpr.cc 8c35eb135966eac7f9f735660421deec libstdc++-v3/testsuite/26_numerics/gcd/1.cc + f09f29f322df2c041a6b58149c341fbf libstdc++-v3/testsuite/26_numerics/gcd/105844.cc 95693fa697af2ce7ef6deaa0394c7fef libstdc++-v3/testsuite/26_numerics/gcd/92978.cc ! eea9ece0078c25949a461f34d7567f9d libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc 6313a74200a87668bca313215e442bd4 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc 20a1d7fbdc4a485c2ab5c2da4623df1c libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc 7d3b4a095ff9cd832fa48e1efd2baf89 libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc *************** c982d6aaa4c9dab0894ace50f9f3db73 libstd *** 97665,97672 **** 77e3964372e7319438f2e4bf00b4ffcb libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc 60f92e8ec904935ac8d4151cc0b481e5 libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc 08539aa6d85601e5c884414e0e3665d0 libstdc++-v3/testsuite/26_numerics/lcm/1.cc e34475da99458f7a1a16d3d58bc08693 libstdc++-v3/testsuite/26_numerics/lcm/92978.cc ! 5173c15e5da52949296fbfb05fc1ad06 libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc 4e72ddc5145e1ca4cbaa0da8f2f0e7c9 libstdc++-v3/testsuite/26_numerics/lerp/1.cc f9ae973e3d6f85f4c35471e62402ba98 libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc 198cb21048f5d36f6a9bf84a5b2dd536 libstdc++-v3/testsuite/26_numerics/lerp/version.cc --- 97870,97878 ---- 77e3964372e7319438f2e4bf00b4ffcb libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc 60f92e8ec904935ac8d4151cc0b481e5 libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc 08539aa6d85601e5c884414e0e3665d0 libstdc++-v3/testsuite/26_numerics/lcm/1.cc + b3b67f4d902b9b5f173eaee34ac9da98 libstdc++-v3/testsuite/26_numerics/lcm/105844.cc e34475da99458f7a1a16d3d58bc08693 libstdc++-v3/testsuite/26_numerics/lcm/92978.cc ! 80a2c8b44ed4f4298cc6588348ea293d libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc 4e72ddc5145e1ca4cbaa0da8f2f0e7c9 libstdc++-v3/testsuite/26_numerics/lerp/1.cc f9ae973e3d6f85f4c35471e62402ba98 libstdc++-v3/testsuite/26_numerics/lerp/constexpr.cc 198cb21048f5d36f6a9bf84a5b2dd536 libstdc++-v3/testsuite/26_numerics/lerp/version.cc *************** a9a0edf832a94e5f249cbef1cd05c30a libstd *** 98807,98812 **** --- 99013,99019 ---- fa5e9c2abafec0dc9a19cea96b11e09e libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc ca1159d8b32610beba14521c75acf586 libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc a03eed977cf4ae9c04cecde7c11529bb libstdc++-v3/testsuite/27_io/filesystem/operations/weakly_canonical.cc + 9897c7912c7b47987d118515b02ab561 libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc 6fb4260b01b570a6ba3aa218acb876bf libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc 74da2255a2532220b114aac7b9b77455 libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc eeff032db1b1e8607861f00f13a58f01 libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc *************** a7f6c5c6d42fc724e816f0a6f81b0956 libstd *** 99074,99080 **** 7798f06f2baae27dd7cccb4e9dd1bc34 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc ca26e5ccbbeaab37ecfcc00462922d44 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc 96b0f61e9cf66850c48be2d450360191 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc ! 313ceb1f034d04f98a16a56fcb13fe8d libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc 44aa196cbe2393c1a9247e66c2f3e737 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc 6cfc2d7e68acfe2e75c13a43b6f5cd05 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc 52ede5880ec0edb2f7e0753905868a79 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc --- 99281,99287 ---- 7798f06f2baae27dd7cccb4e9dd1bc34 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc ca26e5ccbbeaab37ecfcc00462922d44 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc 96b0f61e9cf66850c48be2d450360191 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc ! be18eb4b82bfced849527ba79c197674 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc 44aa196cbe2393c1a9247e66c2f3e737 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc 6cfc2d7e68acfe2e75c13a43b6f5cd05 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc 52ede5880ec0edb2f7e0753905868a79 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc *************** e2bd7fda5e0bfbf9e4428443108b54b4 libstd *** 99100,99105 **** --- 99307,99313 ---- 983995a04e275b5882b415656384c1e7 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc 7a18523c815a3106661acaafdb948419 libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc bbd2683264a70b1d23273be7cb8128cd libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc + e26d22882121948981f066bd564997ca libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/103664.cc b2c6bdb034ead3eacbcdbf5001c856a6 libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc a7401baeec76a127399e4fbd38a674fa libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc 9e0edefa83821a1d1bd68b202d2c91ca libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc *************** bf13a438aebdc93496f0b45942930d38 libstd *** 99114,99119 **** --- 99322,99329 ---- 7b3b9fad09f313d373cfe55dc5b3f027 libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc 9cc4271d5c4a71cd165955d89d2bc10f libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc e3e1e1ae2b895f50dfd5cbbe78b79e6e libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc + 5a7641749deafb9050db1a58a28b53ec libstdc++-v3/testsuite/28_regex/basic_regex/106607.cc + 850c6de509fe6f5e66e773d2feab92e5 libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc fb6abbbc7c451636b6ccd343cea0e6cb libstdc++-v3/testsuite/28_regex/basic_regex/85098.cc 8249857c5e3c1c506df6a82e8ba371ec libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc cfe999eee9edc9ca5b7d53df6db1cf2a libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc *************** cc955dcac675cc78bd58be0e740e6556 libstd *** 99150,99155 **** --- 99360,99366 ---- 47c3772ca93b01fa25e7be16778abd38 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/deduction.cc 437b3d22f8190e964f4615d211ab5b6f libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc 04efa12a03b043487d67d750b563691d libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc + 2e401c1bf8aabcb389e6eb25f1356cc9 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/grammar.cc c9134d00af6a9ce17d264051b8cad3fb libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc 9ab99c10e4cec903186d94aa0e794be2 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc 7d9ece324ad6c087e95c8ef439a69080 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc *************** f754118861b851f83334813d834cb200 libstd *** 99843,99849 **** 84f30e82c651a89a906788a43f6ecab8 libstdc++-v3/testsuite/experimental/filesystem/filesystem_error/cons.cc d67c05d9075c1be29c5fc673624caf85 libstdc++-v3/testsuite/experimental/filesystem/iterators/97731.cc e5a1b3250ecbac6348905da5d905d47f libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc ! 6800b111af867d1c5dc76da92647aa5f libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc f0e03612f42cb31e388462b8dc7d39fe libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc 3c16044a4c55ee682b2645a084b70c29 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 4f73aa6296f892370377563d55069b11 libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc --- 100054,100060 ---- 84f30e82c651a89a906788a43f6ecab8 libstdc++-v3/testsuite/experimental/filesystem/filesystem_error/cons.cc d67c05d9075c1be29c5fc673624caf85 libstdc++-v3/testsuite/experimental/filesystem/iterators/97731.cc e5a1b3250ecbac6348905da5d905d47f libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc ! 46fed4912ad4b635be120936e2dd4fe2 libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc f0e03612f42cb31e388462b8dc7d39fe libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc 3c16044a4c55ee682b2645a084b70c29 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 4f73aa6296f892370377563d55069b11 libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc *************** e631cc31fafc1a2fb997671378cb0128 libstd *** 100543,100549 **** ae489ce2f8e4f19b9ad3a63328fdc48e libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc ddb3fcfdfe325dbf4ecdb92191c70722 libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc 8b979c7a5c4be942e0606e70ae008d0b libstdc++-v3/testsuite/libstdc++-xmethods/list.cc ! 1d027dbd869684ca0cb61192b7cada37 libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc 945c6057e20bbc4b97d5620191b23cc8 libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc 5b7f0264150ad47c5ff834e86c6e81d1 libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc 0913db5536c8cb3684a316c9a21cb531 libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp --- 100754,100760 ---- ae489ce2f8e4f19b9ad3a63328fdc48e libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc ddb3fcfdfe325dbf4ecdb92191c70722 libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc 8b979c7a5c4be942e0606e70ae008d0b libstdc++-v3/testsuite/libstdc++-xmethods/list.cc ! b11d6d85435e8dfeb2c159c271d97eee libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc 945c6057e20bbc4b97d5620191b23cc8 libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc 5b7f0264150ad47c5ff834e86c6e81d1 libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc 0913db5536c8cb3684a316c9a21cb531 libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp *************** f34438af4cd4cb8233c9bc8e4ead8e98 libstd *** 100792,100798 **** 388c77d8d530897650c1d9b9c5e2f2e7 libstdc++-v3/testsuite/std/ranges/adaptors/drop_while.cc 105ea802ef341f4d5aef7d47828701fd libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc 422b7c7dcad00cde0852203edf42aaa3 libstdc++-v3/testsuite/std/ranges/adaptors/filter.cc ! 4707fdca5d12b8213e0d631f1e05c99e libstdc++-v3/testsuite/std/ranges/adaptors/join.cc aa13eee6ba501f263a3160f55ab522db libstdc++-v3/testsuite/std/ranges/adaptors/lwg3286.cc b214eeca1323d25665dd69499f5b8bbc libstdc++-v3/testsuite/std/ranges/adaptors/lwg3313_neg.cc b4f233ae889b1a6c5cc26257b09ea2a7 libstdc++-v3/testsuite/std/ranges/adaptors/lwg3325_neg.cc --- 101003,101009 ---- 388c77d8d530897650c1d9b9c5e2f2e7 libstdc++-v3/testsuite/std/ranges/adaptors/drop_while.cc 105ea802ef341f4d5aef7d47828701fd libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc 422b7c7dcad00cde0852203edf42aaa3 libstdc++-v3/testsuite/std/ranges/adaptors/filter.cc ! cb172dd95100d224cc90b0045c0ff583 libstdc++-v3/testsuite/std/ranges/adaptors/join.cc aa13eee6ba501f263a3160f55ab522db libstdc++-v3/testsuite/std/ranges/adaptors/lwg3286.cc b214eeca1323d25665dd69499f5b8bbc libstdc++-v3/testsuite/std/ranges/adaptors/lwg3313_neg.cc b4f233ae889b1a6c5cc26257b09ea2a7 libstdc++-v3/testsuite/std/ranges/adaptors/lwg3325_neg.cc *************** e29b189a9133430a1874afdc34808c26 libstd *** 100813,100819 **** 8d8e3eb5f08d2b84159861294c9ec4b6 libstdc++-v3/testsuite/std/ranges/iota/size.cc 28aec73b7cd10c11b9e1a909e8c4ba66 libstdc++-v3/testsuite/std/ranges/istream_view.cc 39a74ff1ef561d51b687d686060239c1 libstdc++-v3/testsuite/std/ranges/p2259.cc ! 8ad5c819617ad623f237ce25af7657a8 libstdc++-v3/testsuite/std/ranges/p2325.cc 5f258fdd276b98d0cf03b265e1546406 libstdc++-v3/testsuite/std/ranges/range.cc 611f120f9b18a09ab8b2e78fa3ba9ef2 libstdc++-v3/testsuite/std/ranges/refinements.cc 8ef3ca45217d902b9162717de706dd0a libstdc++-v3/testsuite/std/ranges/safe_range.cc --- 101024,101030 ---- 8d8e3eb5f08d2b84159861294c9ec4b6 libstdc++-v3/testsuite/std/ranges/iota/size.cc 28aec73b7cd10c11b9e1a909e8c4ba66 libstdc++-v3/testsuite/std/ranges/istream_view.cc 39a74ff1ef561d51b687d686060239c1 libstdc++-v3/testsuite/std/ranges/p2259.cc ! 60729af2bfb02c4bef1809797a19e395 libstdc++-v3/testsuite/std/ranges/p2325.cc 5f258fdd276b98d0cf03b265e1546406 libstdc++-v3/testsuite/std/ranges/range.cc 611f120f9b18a09ab8b2e78fa3ba9ef2 libstdc++-v3/testsuite/std/ranges/refinements.cc 8ef3ca45217d902b9162717de706dd0a libstdc++-v3/testsuite/std/ranges/safe_range.cc *************** e29b189a9133430a1874afdc34808c26 libstd *** 100821,100826 **** --- 101032,101038 ---- 85a2edb450129d2ffc9c81303930f46f libstdc++-v3/testsuite/std/ranges/single_view.cc 8a3bc76ad2e10ea103445876cf99f0ea libstdc++-v3/testsuite/std/ranges/sized.cc efaf2202d6b2d3f0be93e38c4b9f3cab libstdc++-v3/testsuite/std/ranges/subrange/96042.cc + 1296c3e0f2c2c6e1cbf08f5653d24b2d libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc 220e7c63243ad2a4bfb6e409f46cb5bc libstdc++-v3/testsuite/std/ranges/subrange/lwg3282_neg.cc a001429cc75f99af68b5fb8d03a383cf libstdc++-v3/testsuite/std/ranges/subrange/lwg3286.cc c5a935dae00aaf011e3dd35c5c3e93ed libstdc++-v3/testsuite/std/ranges/subrange/lwg3433.cc *************** c836a90323b839246645b3db18ad61db libstd *** 101550,101556 **** 831e968fad59c8fb2c29852e989b4933 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags c91d7743f7070c79d86515441fc7e347 libtool.m4 ! 6440ed3f06adfd00004bae442da020dd libvtv/ChangeLog 917a384819d8c88f932f05b9f8901a27 libvtv/Makefile.am b1170aae9472f26fdc8326737dc22aba libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 --- 101762,101768 ---- 831e968fad59c8fb2c29852e989b4933 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags c91d7743f7070c79d86515441fc7e347 libtool.m4 ! 2132fe6b87df05ca9a0bd02a886d4e23 libvtv/ChangeLog 917a384819d8c88f932f05b9f8901a27 libvtv/Makefile.am b1170aae9472f26fdc8326737dc22aba libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 *************** a82059e4cf6d1733664ef9a8ac817f42 libvtv *** 101633,101639 **** f1ea2b13357bfe01c43d3b6fbf31fd48 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 06c2854f9cfe5864b2885e0d0e9c512f ltmain.sh ! 5a8e03071c7c90cd50a6ecf9ec3101c1 lto-plugin/ChangeLog 48ea87886a6a768ab6024edccc8e1e31 lto-plugin/Makefile.am 9113360bfd397d09dc99413406c60ad4 lto-plugin/Makefile.in 75fc65b35d0a47ac098f7a278d37060b lto-plugin/aclocal.m4 --- 101845,101851 ---- f1ea2b13357bfe01c43d3b6fbf31fd48 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 06c2854f9cfe5864b2885e0d0e9c512f ltmain.sh ! 5287f85c1ebb68ded224ad878e5765a2 lto-plugin/ChangeLog 48ea87886a6a768ab6024edccc8e1e31 lto-plugin/Makefile.am 9113360bfd397d09dc99413406c60ad4 lto-plugin/Makefile.in 75fc65b35d0a47ac098f7a278d37060b lto-plugin/aclocal.m4 *************** dee72a6a60e99528b0d17bf3ff9a1e15 ltopti *** 101645,101651 **** bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 3c082eac4d3fb4968216f65bca9530b5 maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 1c3f2c7d87d076b4209a2a03844292e5 maintainer-scripts/bugzilla-close-candidate.py --- 101857,101863 ---- bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 9707f90d249cd69600518d20b9754756 maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 1c3f2c7d87d076b4209a2a03844292e5 maintainer-scripts/bugzilla-close-candidate.py *************** cf2baa0854f564a7785307e79f155efc symlin *** 101665,101671 **** 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! 1027c2fbfdfcd84db4e4b4055ebc26a5 zlib/ChangeLog 25f33f86e95b8478cd142323485efc71 zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ --- 101877,101883 ---- 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! 17eb8d382097ea6ccf801269a1c6eb4f zlib/ChangeLog 25f33f86e95b8478cd142323485efc71 zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ diff -Nrcpad gcc-10.4.0/NEWS gcc-10.5.0/NEWS *** gcc-10.4.0/NEWS Tue Jun 28 08:55:31 2022 --- gcc-10.5.0/NEWS Fri Jul 7 07:09:16 2023 *************** see ONEWS. *** 6,34 **** ====================================================================== http://gcc.gnu.org/gcc-10/index.html GCC 10 Release Series ! June 28, 2022 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 10.4. This release is a bug-fix release, containing fixes for regressions in ! GCC 10.3 relative to previous releases of GCC. Release History GCC 10.4 ! June 28, 2022 ([2]changes, [3]documentation) GCC 10.3 ! April 8, 2021 ([4]changes, [5]documentation) GCC 10.2 ! July 23, 2020 ([6]changes, [7]documentation) GCC 10.1 ! May 7, 2020 ([8]changes, [9]documentation) References and Acknowledgements --- 6,38 ---- ====================================================================== http://gcc.gnu.org/gcc-10/index.html + GCC 10 Release Series ! July, 7, 2023 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 10.5. This release is a bug-fix release, containing fixes for regressions in ! GCC 10.4 relative to previous releases of GCC. Release History + GCC 10.5 + July 7, 2023 ([2]changes, [3]documentation) + GCC 10.4 ! June 28, 2022 ([4]changes, [5]documentation) GCC 10.3 ! April 8, 2021 ([6]changes, [7]documentation) GCC 10.2 ! July 23, 2020 ([8]changes, [9]documentation) GCC 10.1 ! May 7, 2020 ([10]changes, [11]documentation) References and Acknowledgements *************** References and Acknowledgements *** 36,96 **** 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 ! 2022-06-28[22]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-10/changes.html ! 3. http://gcc.gnu.org/onlinedocs/10.4.0/ 4. http://gcc.gnu.org/gcc-10/changes.html ! 5. http://gcc.gnu.org/onlinedocs/10.3.0/ 6. http://gcc.gnu.org/gcc-10/changes.html ! 7. http://gcc.gnu.org/onlinedocs/10.2.0/ 8. http://gcc.gnu.org/gcc-10/changes.html ! 9. http://gcc.gnu.org/onlinedocs/10.1.0/ ! 10. http://gcc.gnu.org/gcc-10/buildstat.html ! 11. http://gcc.gnu.org/onlinedocs/gcc-10.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-10/changes.html GCC 10 Release Series Changes, New Features, and Fixes --- 40,102 ---- 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 ! 2023-07-07. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-10/changes.html ! 3. http://gcc.gnu.org/onlinedocs/10.5.0/ 4. http://gcc.gnu.org/gcc-10/changes.html ! 5. http://gcc.gnu.org/onlinedocs/10.4.0/ 6. http://gcc.gnu.org/gcc-10/changes.html ! 7. http://gcc.gnu.org/onlinedocs/10.3.0/ 8. http://gcc.gnu.org/gcc-10/changes.html ! 9. http://gcc.gnu.org/onlinedocs/10.2.0/ ! 10. http://gcc.gnu.org/gcc-10/changes.html ! 11. http://gcc.gnu.org/onlinedocs/10.1.0/ ! 12. http://gcc.gnu.org/gcc-10/buildstat.html ! 13. http://gcc.gnu.org/onlinedocs/gcc-10.1.0/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 ====================================================================== http://gcc.gnu.org/gcc-10/changes.html + GCC 10 Release Series Changes, New Features, and Fixes *************** General Improvements *** 195,210 **** New Languages and Language-Specific Improvements ! * Version 2.6 of the [17]OpenACC specification is now supported in the C, C++ and Fortran compilers. See the [18]implementation status section on the OpenACC wiki page and the [19]run-time library documentation for further information. * GCC 10 adds a number of newly implemented [20]OpenMP 5.0 features ! on top of the GCC 9 release such as conditional lastprivate clause, ! scan and loop directives, order(concurrent) and use_device_addr ! clauses support, if clause on simd construct or partial support for ! the declare variant directive, getting closer to full support of ! the OpenMP 5.0 standard. * OpenMP and OpenACC now support [21]offloading to AMD Radeon (GCN) GPUs; supported are the third-generation Fiji (fiji) and the fifth-generation VEGA 10/VEGA 20 (gfx900 or gfx906). --- 201,216 ---- New Languages and Language-Specific Improvements ! * Version 2.6 of the [17]OpenACC specification is now supported by the C, C++ and Fortran compilers. See the [18]implementation status section on the OpenACC wiki page and the [19]run-time library documentation for further information. * GCC 10 adds a number of newly implemented [20]OpenMP 5.0 features ! such as conditional lastprivate clause, scan and loop directives, ! order(concurrent) and use_device_addr clauses support, if clause on ! simd construct, and partial support for the declare variant ! directive, getting closer to full support of the OpenMP 5.0 ! standard. * OpenMP and OpenACC now support [21]offloading to AMD Radeon (GCN) GPUs; supported are the third-generation Fiji (fiji) and the fifth-generation VEGA 10/VEGA 20 (gfx900 or gfx906). *************** New Languages and Language-Specific Impr *** 258,266 **** the input encoding (UTF-8, by default), in addition to the UCN syntax (\uNNNN or \UNNNNNNNN) that is already supported: ! static const int Ï€ = 3; ! int get_naïve_pi() { ! return Ï€; } C --- 264,272 ---- the input encoding (UTF-8, by default), in addition to the UCN syntax (\uNNNN or \UNNNNNNNN) that is already supported: ! static const int p = 3; ! int get_naïve_pi() { ! return p; } C *************** typedef svbool_t pred512 __attribute__(( *** 540,546 **** one. Previously it would always use SVE if possible. + If a vector loop uses Advanced SIMD rather than SVE, the vectorizer now considers using SVE to vectorize the left-over ! elements (the “scalar tail†or “epilogâ€). + Besides these specific points, there have been many general improvements to the way that the vectorizer uses SVE. * The -mbranch-protection=pac-ret option now accepts the optional --- 546,552 ---- one. Previously it would always use SVE if possible. + If a vector loop uses Advanced SIMD rather than SVE, the vectorizer now considers using SVE to vectorize the left-over ! elements (the "scalar tail" or "epilog"). + Besides these specific points, there have been many general improvements to the way that the vectorizer uses SVE. * The -mbranch-protection=pac-ret option now accepts the optional *************** typedef svbool_t pred512 __attribute__(( *** 645,652 **** AMD Radeon (GCN) ! * The code generation and in particular the vectorization support has ! been much improved. ARC --- 651,658 ---- AMD Radeon (GCN) ! * Code generation and in particular vectorization support have been ! much improved. ARC *************** GCC 10.4 *** 829,848 **** MMX no longer changes how they are passed nor returned. This ABI change is now diagnosed with -Wpsabi. For questions related to the use of GCC, please consult these web ! pages and the [61]GCC manuals. If that fails, the ! [62]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 [63]gcc@gcc.gnu.org. All of [64]our lists have public archives. ! Copyright (C) [65]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 [66]maintained by the GCC team. Last modified ! 2022-06-28[67]. References --- 835,861 ---- MMX no longer changes how they are passed nor returned. This ABI change is now diagnosed with -Wpsabi. + GCC 10.5 + + This is the [61]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 10.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 [62]GCC manuals. If that fails, the ! [63]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 [64]gcc@gcc.gnu.org. All of [65]our lists have public archives. ! Copyright (C) [66]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 [67]maintained by the GCC team. Last modified ! 2023-07-07. References *************** References *** 863,869 **** 15. https://facebook.github.io/zstd/ 16. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-values 17. https://www.openacc.org/ ! 18. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-10 19. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/libgomp/#toc-Enabling-OpenACC-1 20. https://www.openmp.org/specifications/ 21. https://gcc.gnu.org/wiki/Offloading --- 876,882 ---- 15. https://facebook.github.io/zstd/ 16. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-values 17. https://www.openacc.org/ ! 18. https://gcc.gnu.org/wiki/OpenACC/Implementation%20Status#status-10 19. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/libgomp/#toc-Enabling-OpenACC-1 20. https://www.openmp.org/specifications/ 21. https://gcc.gnu.org/wiki/Offloading *************** References *** 889,896 **** 41. https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#c.gcc_jit_version_patchlevel 42. https://gcc.gnu.org/onlinedocs/jit/topics/types.html#c.gcc_jit_context_new_bitfield 43. https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics ! 44. https://developer.arm.com/architectures/cpu-architecture/m-profile ! 45. https://developer.arm.com/architectures/instruction-sets/simd-isas/helium/helium-intrinsics 46. https://developer.arm.com/documentation/101028/0010/Custom-Datapath-Extension 47. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/AVR-Options.html#index-nodevicespecs 48. https://gcc.gnu.org/install/configure.html#avr --- 902,909 ---- 41. https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#c.gcc_jit_version_patchlevel 42. https://gcc.gnu.org/onlinedocs/jit/topics/types.html#c.gcc_jit_context_new_bitfield 43. https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics ! 44. https://developer.arm.com/Architectures/M-Profile%20Architecture ! 45. https://developer.arm.com/architectures/instruction-sets/intrinsics/ 46. https://developer.arm.com/documentation/101028/0010/Custom-Datapath-Extension 47. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/AVR-Options.html#index-nodevicespecs 48. https://gcc.gnu.org/install/configure.html#avr *************** References *** 906,922 **** 58. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.2 59. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.3 60. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.4 ! 61. https://gcc.gnu.org/onlinedocs/ ! 62. mailto:gcc-help@gcc.gnu.org ! 63. mailto:gcc@gcc.gnu.org ! 64. https://gcc.gnu.org/lists.html ! 65. https://www.fsf.org/ ! 66. https://gcc.gnu.org/about.html ! 67. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-9/index.html GCC 9 Release Series May 27, 2022 The [1]GNU project and the GCC developers are pleased to announce the --- 919,938 ---- 58. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.2 59. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.3 60. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.4 ! 61. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.5 ! 62. https://gcc.gnu.org/onlinedocs/ ! 63. mailto:gcc-help@gcc.gnu.org ! 64. mailto:gcc@gcc.gnu.org ! 65. https://gcc.gnu.org/lists.html ! 66. https://www.fsf.org/ ! 67. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-9/index.html + GCC 9 Release Series + (This release series is no longer supported.) + May 27, 2022 The [1]GNU project and the GCC developers are pleased to announce the *************** References and Acknowledgements *** 975,981 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-05-27[24]. References --- 991,997 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 1002,1010 **** 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-9/changes.html GCC 9 Release Series Changes, New Features, and Fixes --- 1018,1026 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-9/changes.html + GCC 9 Release Series Changes, New Features, and Fixes *************** General Improvements *** 1058,1069 **** 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. --- 1074,1083 ---- 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] ! generates code suitable for live patching. At the same time it ! provides multiple-level control over IPA optimizations. See the ! user guide for more details. * 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. *************** New Targets and Target Specific Improvem *** 1641,1646 **** --- 1655,1684 ---- following ISA extensions: AVX512F, AVX512VL, AVX512CD, AVX512BW, AVX512DQ, AVX512VNNI. + MIPS + + * The Loongson loongson-mmi and loongson-ext extensions have been + split from loongson3a: + + loongson-mmi contains the Loongson MMI (MultiMedia extensions + Instructions). + + loongson-ext contains the Loongson EXT (EXTensions + instructions). + * The Loongson EXT2 (EXTensions R2 instructions) are now supported. + + loongson-ext2 contains the Loongson EXT2 instructions. + Command-line options-m[no-]loongson-mmi, -m[no-]loongson-ext, and + -m[no-]loongson-ext2 enable or disable those extensions. + * Support has been added for the following processors (GCC + identifiers in parentheses): + + Loongson 3A1000 (gs464) which enables loongson-mmi, + loongson-ext by default. + + Loongson 3A2000/3A3000 (gs464e) which enables loongson-mmi, + loongson-ext, loongson-ext2 by default. + + Loongson 2K1000 (gs264e) which enables loongson-ext, + loongson-ext2, msa by default. + The GCC identifiers can be used as arguments to the -mcpu and + -mtune options (as in -mcpu=gs464 or -mtune=gs464e) or as arguments + to the equivalent target attributes and pragmas. + OpenRISC * A new back end targeting OpenRISC processors has been contributed *************** GCC 9.5 *** 1782,1788 **** provided this notice is preserved. These pages are [75]maintained by the GCC team. Last modified ! 2022-05-27[76]. References --- 1820,1826 ---- provided this notice is preserved. These pages are [75]maintained by the GCC team. Last modified ! 2023-02-22. References *************** References *** 1821,1827 **** 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/Implementation Status#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 --- 1859,1865 ---- 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/Implementation%20Status#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 *************** References *** 1861,1869 **** 73. https://gcc.gnu.org/lists.html 74. https://www.fsf.org/ 75. https://gcc.gnu.org/about.html - 76. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-8/index.html GCC 8 Release Series (This release series is no longer supported.) --- 1899,1907 ---- 73. https://gcc.gnu.org/lists.html 74. https://www.fsf.org/ 75. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-8/index.html + GCC 8 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 1926,1932 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-05-06[24]. References --- 1964,1970 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 1953,1961 **** 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-8/changes.html GCC 8 Release Series Changes, New Features, and Fixes --- 1991,1999 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-8/changes.html + GCC 8 Release Series Changes, New Features, and Fixes *************** void copy (const char *s) *** 2240,2246 **** { char buf[80]; strncpy (buf, s, sizeof buf); ! … } warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-trunca tion] --- 2278,2284 ---- { char buf[80]; strncpy (buf, s, sizeof buf); ! ... } warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-trunca tion] *************** void f (void) *** 2313,2319 **** { char a[] = "abcd1234"; strcpy (a, a + 4); ! … } warning: 'strcpy' accessing 5 bytes at offsets 0 and 4 overlaps 1 byte at offset 4 [-Wrestrict] --- 2351,2357 ---- { char a[] = "abcd1234"; strcpy (a, a + 4); ! ... } warning: 'strcpy' accessing 5 bytes at offsets 0 and 4 overlaps 1 byte at offset 4 [-Wrestrict] *************** New Targets and Target Specific Improvem *** 2736,2748 **** + Secure functions via sjli instruction. * New exception handling implementation. * Revamped trampoline implementation. ! * Refactored small data feature implementation, controlled via -G ! command line option. * New support for reduced register set ARC architecture ! configurations, controlled via -mrf16 command line option. * Refurbished and improved support for zero overhead loops. ! Introduced -mlpc-width command line option to control the width of ! lp_count register. ARM --- 2774,2786 ---- + Secure functions via sjli instruction. * New exception handling implementation. * Revamped trampoline implementation. ! * Refactored small data feature implementation, controlled via the -G ! command-line option. * New support for reduced register set ARC architecture ! configurations, controlled via the -mrf16 command-line option. * Refurbished and improved support for zero overhead loops. ! Introduced -mlpc-width command-line option to control the width of ! the lp_count register. ARM *************** GCC 8.5 *** 3035,3041 **** provided this notice is preserved. These pages are [44]maintained by the GCC team. Last modified ! 2021-10-01[45]. References --- 3073,3079 ---- provided this notice is preserved. These pages are [44]maintained by the GCC team. Last modified ! 2023-01-11. References *************** References *** 3083,3091 **** 42. https://gcc.gnu.org/lists.html 43. https://www.fsf.org/ 44. https://gcc.gnu.org/about.html - 45. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/index.html GCC 7 Release Series (This release series is no longer supported.) --- 3121,3129 ---- 42. https://gcc.gnu.org/lists.html 43. https://www.fsf.org/ 44. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-7/index.html + GCC 7 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 3148,3154 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-05-06[24]. References --- 3186,3192 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 3175,3183 **** 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 Changes, New Features, and Fixes --- 3213,3221 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-7/changes.html + GCC 7 Release Series Changes, New Features, and Fixes *************** void f (int n) *** 3546,3552 **** d = alloca (n); else d = malloc (n); ! … } warning: argument to 'alloca may be too large due to conversion from 'int' to 'l --- 3584,3590 ---- d = alloca (n); else d = malloc (n); ! ... } warning: argument to 'alloca may be too large due to conversion from 'int' to 'l *************** ong unsigned int' [-Walloca-larger-than= *** 3559,3565 **** void f (size_t n) { char *d = alloca (n); ! … } warning: unbounded use of 'alloca' [-Walloca-larger-than=] --- 3597,3603 ---- void f (size_t n) { char *d = alloca (n); ! ... } warning: unbounded use of 'alloca' [-Walloca-larger-than=] *************** void f (unsigned x) *** 3607,3613 **** { char d[4]; snprintf (d, sizeof d, "%#02x", x & 0xff); ! … } warning: 'snprintf' output may be truncated before the last format character [-W --- 3645,3651 ---- { char d[4]; snprintf (d, sizeof d, "%#02x", x & 0xff); ! ... } warning: 'snprintf' output may be truncated before the last format character [-W *************** void f (const char *fname) *** 3635,3641 **** char d[8]; strncpy (d, "/tmp/", sizeof d); strncat (d, fname, sizeof d); ! … } warning: specified bound 8 equals the size of the destination [-Wstringop-overfl --- 3673,3679 ---- char d[8]; strncpy (d, "/tmp/", sizeof d); strncat (d, fname, sizeof d); ! ... } warning: specified bound 8 equals the size of the destination [-Wstringop-overfl *************** test.cc:4:11: error: expected ';' after *** 3773,3782 **** + std::as_const, std::not_fn, std::has_unique_object_representations, constexpr std::addressof. ! Thanks to Daniel Krügler, Tim Shen, Edward Smith-Rowland, and Ville Voutilainen for work on the C++17 support. * A new power-of-two rehashing policy for use with the _Hashtable ! internals, thanks to François Dumont. Fortran --- 3811,3820 ---- + std::as_const, std::not_fn, std::has_unique_object_representations, constexpr std::addressof. ! Thanks to Daniel Krügler, Tim Shen, Edward Smith-Rowland, and Ville Voutilainen for work on the C++17 support. * A new power-of-two rehashing policy for use with the _Hashtable ! internals, thanks to François Dumont. Fortran *************** const int* get_address (unsigned idx) *** 3946,3952 **** } * A new command-line option -Wmisspelled-isr has been added. It turns ! off — or turns into errors — warnings that are reported for interrupt service routines (ISRs) which don't follow AVR-LibC's naming convention of prefixing ISR names with __vector. * __builtin_avr_nops(n) is a new [17]built-in function that inserts n --- 3984,3990 ---- } * A new command-line option -Wmisspelled-isr has been added. It turns ! off -- or turns into errors -- warnings that are reported for interrupt service routines (ISRs) which don't follow AVR-LibC's naming convention of prefixing ISR names with __vector. * __builtin_avr_nops(n) is a new [17]built-in function that inserts n *************** GCC 7.5 *** 4245,4251 **** provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2021-10-17[34]. References --- 4283,4289 ---- provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 4282,4290 **** 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 (This release series is no longer supported.) --- 4320,4328 ---- 31. https://gcc.gnu.org/lists.html 32. https://www.fsf.org/ 33. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-6/index.html + GCC 6 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 4347,4353 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 4385,4391 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 4374,4382 **** 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-6/changes.html GCC 6 Release Series Changes, New Features, and Fixes --- 4412,4420 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-6/changes.html + GCC 6 Release Series Changes, New Features, and Fixes *************** New Targets and Target Specific Improvem *** 4795,4801 **** added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and ! mwait instructions. In addition mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx. * x86-64 targets now allow stack realignment from a word-aligned --- 4833,4839 ---- added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and ! mwait instructions. In addition, mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx. * x86-64 targets now allow stack realignment from a word-aligned *************** Operating Systems *** 4982,4993 **** RTEMS * The RTEMS thread model implementation changed. Mutexes now use ! self-contained objects defined in Newlib instead of Classic API semaphores. The keys for thread specific data and the once function are directly defined via . Self-contained ! condition variables are provided via Newlib . The RTEMS thread model also supports C++11 threads. ! * OpenMP support now uses self-contained objects provided by Newlib and offers a significantly better performance compared to the POSIX configuration of libgomp. It is possible to configure thread pools for each scheduler instance via the environment --- 5020,5031 ---- RTEMS * The RTEMS thread model implementation changed. Mutexes now use ! self-contained objects defined in newlib instead of Classic API semaphores. The keys for thread specific data and the once function are directly defined via . Self-contained ! condition variables are provided via newlib . The RTEMS thread model also supports C++11 threads. ! * OpenMP support now uses self-contained objects provided by newlib and offers a significantly better performance compared to the POSIX configuration of libgomp. It is possible to configure thread pools for each scheduler instance via the environment *************** Operating Systems *** 5085,5091 **** provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2021-10-31[33]. References --- 5123,5129 ---- provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2023-02-20. References *************** References *** 5099,5105 **** 8. https://gcc.gnu.org/wiki/Offloading 9. https://www.openmp.org/specifications/ 10. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1266 ! 11. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf 12. https://gcc.gnu.org/projects/cxx-status.html#cxx1z 13. https://gcc.gnu.org/onlinedocs/gcc-6.1.0/jit/topics/performance.html 14. https://gcc.gnu.org/onlinedocs/gcc-6.1.0/jit/topics/functions.html#gcc_jit_block_end_with_switch --- 5137,5143 ---- 8. https://gcc.gnu.org/wiki/Offloading 9. https://www.openmp.org/specifications/ 10. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1266 ! 11. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf 12. https://gcc.gnu.org/projects/cxx-status.html#cxx1z 13. https://gcc.gnu.org/onlinedocs/gcc-6.1.0/jit/topics/performance.html 14. https://gcc.gnu.org/onlinedocs/gcc-6.1.0/jit/topics/functions.html#gcc_jit_block_end_with_switch *************** References *** 5121,5129 **** 30. https://gcc.gnu.org/lists.html 31. https://www.fsf.org/ 32. https://gcc.gnu.org/about.html - 33. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-5/index.html GCC 5 Release Series (This release series is no longer supported.) --- 5159,5167 ---- 30. https://gcc.gnu.org/lists.html 31. https://www.fsf.org/ 32. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-5/index.html + GCC 5 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 5186,5192 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 5224,5230 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 5213,5221 **** 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-5/changes.html GCC 5 Release Series Changes, New Features, and Fixes --- 5251,5259 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-5/changes.html + GCC 5 Release Series Changes, New Features, and Fixes *************** Target Specific Changes *** 6013,6019 **** added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and ! mwait instructions. In addition mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx. --- 6051,6057 ---- added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and ! mwait instructions. In addition, mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx. *************** Target Specific Changes *** 6095,6108 **** provided this notice is preserved. These pages are [49]maintained by the GCC team. Last modified ! 2022-03-11[50]. References 1. http://gcc.gnu.org/gcc-5/changes.html#libstdcxx 2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html 3. https://savannah.nongnu.org/bugs/?44574 ! 4. https://gcc.gnu.org/wiki/Intel MPX support in the GCC compiler 5. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf 6. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.Examples.pdf 7. https://gcc.gnu.org/wiki/OpenACC --- 6133,6146 ---- provided this notice is preserved. These pages are [49]maintained by the GCC team. Last modified ! 2023-02-20. References 1. http://gcc.gnu.org/gcc-5/changes.html#libstdcxx 2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html 3. https://savannah.nongnu.org/bugs/?44574 ! 4. https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler 5. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf 6. https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.Examples.pdf 7. https://gcc.gnu.org/wiki/OpenACC *************** References *** 6113,6124 **** 12. http://gcc.gnu.org/projects/cxx1y.html 13. http://gcc.gnu.org/projects/cxx1y.html 14. http://gcc.gnu.org/projects/cxx1y.html ! 15. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html 16. http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html 17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011 18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 ! 20. https://sourceware.org/gdb/current/onlinedocs/gdb/Xmethods-In-Python.html 21. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gfortran/Error-and-Warning-Options.html 22. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Language-Independent-Options.html 23. https://gcc.gnu.org/install/configure.html --- 6151,6162 ---- 12. http://gcc.gnu.org/projects/cxx1y.html 13. http://gcc.gnu.org/projects/cxx1y.html 14. http://gcc.gnu.org/projects/cxx1y.html ! 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html 16. http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html 17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011 18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 ! 20. https://sourceware.org/gdb/current/onlinedocs/gdb#Xmethods-In-Python 21. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gfortran/Error-and-Warning-Options.html 22. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Language-Independent-Options.html 23. https://gcc.gnu.org/install/configure.html *************** References *** 6148,6156 **** 47. https://gcc.gnu.org/lists.html 48. https://www.fsf.org/ 49. https://gcc.gnu.org/about.html - 50. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.9/index.html GCC 4.9 Release Series (This release series is no longer supported.) --- 6186,6194 ---- 47. https://gcc.gnu.org/lists.html 48. https://www.fsf.org/ 49. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.9/index.html + GCC 4.9 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 6213,6219 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 6251,6257 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 6240,6248 **** 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-4.9/changes.html GCC 4.9 Release Series Changes, New Features, and Fixes --- 6278,6286 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.9/changes.html + GCC 4.9 Release Series Changes, New Features, and Fixes *************** New Languages and Language specific impr *** 6356,6376 **** -fdiagnostics-color=never. Sample diagnostics output: $ g++ -fdiagnostics-color=always -S -Wall test.C ! test.C: In function ‘int foo()’: test.C:1:14: warning: no return statement in function returning non-void [-W return-type] int foo () { } ^ test.C:2:46: error: template instantiation depth exceeds maximum of 900 (use ! -ftemplate-depth= to increase the maximum) instantiating ‘struct X<100>’ template struct X { static const int value = X::value; }; temp late struct X<1000>; ^ ! test.C:2:46: recursively required from ‘const int X<999>::value’ ! test.C:2:46: required from ‘const int X<1000>::value’ test.C:2:88: required from here ! test.C:2:46: error: incomplete type ‘X<100>’ used in nested name specifier * With the new [7]#pragma GCC ivdep, the user can assert that there are no loop-carried dependencies which would prevent concurrent --- 6394,6414 ---- -fdiagnostics-color=never. Sample diagnostics output: $ g++ -fdiagnostics-color=always -S -Wall test.C ! test.C: In function `int foo()': test.C:1:14: warning: no return statement in function returning non-void [-W return-type] int foo () { } ^ test.C:2:46: error: template instantiation depth exceeds maximum of 900 (use ! -ftemplate-depth= to increase the maximum) instantiating `struct X<100>' template struct X { static const int value = X::value; }; temp late struct X<1000>; ^ ! test.C:2:46: recursively required from `const int X<999>::value' ! test.C:2:46: required from `const int X<1000>::value' test.C:2:88: required from here ! test.C:2:46: error: incomplete type `X<100>' used in nested name specifier * With the new [7]#pragma GCC ivdep, the user can assert that there are no loop-carried dependencies which would prevent concurrent *************** auto incr = [](auto x) { return x++; }; *** 6475,6482 **** // a functional object that will add two like-type objects auto add = [] (T a, T b) { return a + b; }; ! * G++ supports unconstrained generic functions as specified by §4.1.2 ! and §5.1.1 of [15]N3889: Concepts Lite Specification. Briefly, auto may be used as a type-specifier in a parameter declaration of any function declarator in order to introduce an implicit function template parameter, akin to generic lambdas. --- 6513,6520 ---- // a functional object that will add two like-type objects auto add = [] (T a, T b) { return a + b; }; ! * G++ supports unconstrained generic functions as specified by §4.1.2 ! and §5.1.1 of [15]N3889: Concepts Lite Specification. Briefly, auto may be used as a type-specifier in a parameter declaration of any function declarator in order to introduce an implicit function template parameter, akin to generic lambdas. *************** auto incr(T x) { return x++; } *** 6569,6575 **** be used as argument to ISO_C_BINDING's C_LOC and as actual argument to another NO_ARG_CHECK dummy argument; also the other constraints of TYPE(*) apply. The dummy arguments should be declared as scalar ! or assumed-size variable of type type(*) (recommended) – or of type integer, real, complex or logical. With NO_ARG_CHECK, a pointer to the data without further type or shape information is passed, similar to C's void*. Note that also TS 29113's --- 6607,6613 ---- be used as argument to ISO_C_BINDING's C_LOC and as actual argument to another NO_ARG_CHECK dummy argument; also the other constraints of TYPE(*) apply. The dummy arguments should be declared as scalar ! or assumed-size variable of type type(*) (recommended) - or of type integer, real, complex or logical. With NO_ARG_CHECK, a pointer to the data without further type or shape information is passed, similar to C's void*. Note that also TS 29113's *************** GCC 4.9.4 *** 6852,6858 **** provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2021-07-28[34]. References --- 6890,6896 ---- provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2023-01-19. References *************** References *** 6864,6876 **** 6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252 7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html 8. http://gcc.gnu.org/projects/cxx1y.html ! 9. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html 10. http://gcc.gnu.org/projects/cxx1y.html 11. http://gcc.gnu.org/projects/cxx1y.html 12. http://gcc.gnu.org/projects/cxx1y.html 13. http://gcc.gnu.org/projects/cxx1y.html 14. http://gcc.gnu.org/projects/cxx1y.html ! 15. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf 16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014 18. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gfortran/Argument-passing-conventions.html --- 6902,6914 ---- 6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252 7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html 8. http://gcc.gnu.org/projects/cxx1y.html ! 9. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html 10. http://gcc.gnu.org/projects/cxx1y.html 11. http://gcc.gnu.org/projects/cxx1y.html 12. http://gcc.gnu.org/projects/cxx1y.html 13. http://gcc.gnu.org/projects/cxx1y.html 14. http://gcc.gnu.org/projects/cxx1y.html ! 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf 16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014 18. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gfortran/Argument-passing-conventions.html *************** References *** 6889,6897 **** 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-4.8/index.html GCC 4.8 Release Series (This release series is no longer supported.) --- 6927,6935 ---- 31. https://gcc.gnu.org/lists.html 32. https://www.fsf.org/ 33. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.8/index.html + GCC 4.8 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 6957,6963 **** provided this notice is preserved. These pages are [25]maintained by the GCC team. Last modified ! 2021-07-28[26]. References --- 6995,7001 ---- provided this notice is preserved. These pages are [25]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 6986,6994 **** 23. https://gcc.gnu.org/lists.html 24. https://www.fsf.org/ 25. https://gcc.gnu.org/about.html - 26. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.8/changes.html GCC 4.8 Release Series Changes, New Features, and Fixes --- 7024,7032 ---- 23. https://gcc.gnu.org/lists.html 24. https://www.fsf.org/ 25. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.8/changes.html + GCC 4.8 Release Series Changes, New Features, and Fixes *************** New Languages and Language specific impr *** 7117,7124 **** diagnostics. Combined with the caret information, an example diagnostic showing these two features is: ! t.c:1:94: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float ! ’) #define MYMAX(A,B) __extension__ ({ __typeof__(A) __a = (A); __typeof__(B) _ _b = (B); __a < __b ? __b : __a; }) --- 7155,7162 ---- diagnostics. Combined with the caret information, an example diagnostic showing these two features is: ! t.c:1:94: error: invalid operands to binary < (have `struct mystruct' and `float ! ') #define MYMAX(A,B) __extension__ ({ __typeof__(A) __a = (A); __typeof__(B) _ _b = (B); __a < __b ? __b : __a; }) *************** int i = A().f(); // error, f() requires *** 7242,7249 **** older versions except as noted below. + ABI: Some internal names (used in the assembler/object file) have changed for symbols declared in the specification part of ! a module. If an affected module – or a file using it via use ! association – is recompiled, the module and all files which directly use such symbols have to be recompiled as well. This change only affects the following kind of module symbols: o Procedure pointers. Note: C-interoperable function --- 7280,7287 ---- older versions except as noted below. + ABI: Some internal names (used in the assembler/object file) have changed for symbols declared in the specification part of ! a module. If an affected module - or a file using it via use ! association - is recompiled, the module and all files which directly use such symbols have to be recompiled as well. This change only affects the following kind of module symbols: o Procedure pointers. Note: C-interoperable function *************** int i = A().f(); // error, f() requires *** 7270,7276 **** * The [21]-Wcompare-reals command-line option has been added. When this is set, warnings are issued when comparing REAL or COMPLEX types for equality and inequality; consider replacing a == b by ! abs(a−b) < eps with a suitable eps. -Wcompare-reals is enabled by -Wextra. * The [22]-Wtarget-lifetime command-line option has been added (enabled with -Wall), which warns if the pointer in a pointer --- 7308,7314 ---- * The [21]-Wcompare-reals command-line option has been added. When this is set, warnings are issued when comparing REAL or COMPLEX types for equality and inequality; consider replacing a == b by ! abs(a-b) < eps with a suitable eps. -Wcompare-reals is enabled by -Wextra. * The [22]-Wtarget-lifetime command-line option has been added (enabled with -Wall), which warns if the pointer in a pointer *************** int i = A().f(); // error, f() requires *** 7282,7288 **** 4.0e0). (For Fortran source code, consider replacing the "q" in floating-point literals by a kind parameter (e.g. 4.0e0_qp with a ! suitable qp). Note that – in Fortran source code – replacing "q" by a simple "e" is not equivalent.) * The GFORTRAN_TMPDIR environment variable for specifying a non-default directory for files opened with STATUS="SCRATCH", is --- 7320,7326 ---- 4.0e0). (For Fortran source code, consider replacing the "q" in floating-point literals by a kind parameter (e.g. 4.0e0_qp with a ! suitable qp). Note that - in Fortran source code - replacing "q" by a simple "e" is not equivalent.) * The GFORTRAN_TMPDIR environment variable for specifying a non-default directory for files opened with STATUS="SCRATCH", is *************** New Targets and Target Specific Improvem *** 7377,7384 **** } The inline assembler in this example will generate code like mov r24, 8+7 ! provided c is allocated to R24 and val is allocated to R8…R15. This ! works because the GNU assembler accepts plain register numbers without register prefix. * Static initializers with 3-byte symbols are supported now: extern const __memx char foo; --- 7415,7422 ---- } The inline assembler in this example will generate code like mov r24, 8+7 ! provided c is allocated to R24 and val is allocated to R8...R15. ! This works because the GNU assembler accepts plain register numbers without register prefix. * Static initializers with 3-byte symbols are supported now: extern const __memx char foo; *************** GCC 4.8.5 *** 7712,7718 **** provided this notice is preserved. These pages are [43]maintained by the GCC team. Last modified ! 2021-07-28[44]. References --- 7750,7756 ---- provided this notice is preserved. These pages are [43]maintained by the GCC team. Last modified ! 2022-11-05. References *************** References *** 7727,7735 **** 9. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 10. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 11. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 12. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf 13. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 14. http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html 15. http://gcc.gnu.org/projects/cxx1y.html 16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html --- 7765,7773 ---- 9. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 10. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 11. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 12. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf 13. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 14. https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html 15. http://gcc.gnu.org/projects/cxx1y.html 16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html *************** References *** 7742,7748 **** 24. https://gcc.gnu.org/wiki/Fortran2003Status 25. https://gcc.gnu.org/wiki/TS29113Status 26. https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libgfortran/libgfortran.h ! 27. http://chasm-interop.sourceforge.net/ 28. https://gcc.gnu.org/wiki/avr-gcc#Fixed-Point_Support 29. https://gcc.gnu.org/onlinedocs/gcc/Fixed-Point.html 30. https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html --- 7780,7786 ---- 24. https://gcc.gnu.org/wiki/Fortran2003Status 25. https://gcc.gnu.org/wiki/TS29113Status 26. https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libgfortran/libgfortran.h ! 27. https://chasm-interop.sourceforge.net/ 28. https://gcc.gnu.org/wiki/avr-gcc#Fixed-Point_Support 29. https://gcc.gnu.org/onlinedocs/gcc/Fixed-Point.html 30. https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html *************** References *** 7759,7767 **** 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-4.7/index.html GCC 4.7 Release Series (This release series is no longer supported.) --- 7797,7805 ---- 41. https://gcc.gnu.org/lists.html 42. https://www.fsf.org/ 43. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.7/index.html + GCC 4.7 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 7824,7830 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 7862,7868 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 7851,7859 **** 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-4.7/changes.html GCC 4.7 Release Series Changes, New Features, and Fixes --- 7889,7897 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.7/changes.html + GCC 4.7 Release Series Changes, New Features, and Fixes *************** long double pi = 180.0_degrees; *** 8184,8190 **** template using Ptr = T*; Ptr ip; // decltype(ip) is int* ! * Thanks to Ville Voutilainen and Pedro Lamarão, G++ now implements [12]C++11 delegating constructors. struct A { --- 8222,8228 ---- template using Ptr = T*; Ptr ip; // decltype(ip) is int* ! * Thanks to Ville Voutilainen and Pedro Lamarão, G++ now implements [12]C++11 delegating constructors. struct A { *************** New Targets and Target Specific Improvem *** 8378,8384 **** * GCC now supports the XMEGA architecture. This requires GNU binutils 2.22 or later. ! * Support for the [35]named address spaces __flash, __flash1, …, __flash5 and __memx has been added. These address spaces locate read-only data in flash memory and allow reading from flash memory by means of ordinary C code, i.e. without the need of (inline) --- 8416,8422 ---- * GCC now supports the XMEGA architecture. This requires GNU binutils 2.22 or later. ! * Support for the [35]named address spaces __flash, __flash1, ..., __flash5 and __memx has been added. These address spaces locate read-only data in flash memory and allow reading from flash memory by means of ordinary C code, i.e. without the need of (inline) *************** void set_portb (uint8_t value) *** 8422,8428 **** suitable to be used as operand in an I/O command. The address must be a constant integer known at compile time. * The inline assembler constraint "R" to represent integers in the ! range −6 … 5 has been removed without replacement. * Many optimizations to: + 64-bit integer arithmetic + Widening multiplication --- 8460,8466 ---- suitable to be used as operand in an I/O command. The address must be a constant integer known at compile time. * The inline assembler constraint "R" to represent integers in the ! range -6 ... 5 has been removed without replacement. * Many optimizations to: + 64-bit integer arithmetic + Widening multiplication *************** void set_portb (uint8_t value) *** 8434,8440 **** + If-else decision trees generated by switch instructions + Merging of data located in flash memory + New libgcc variants for devices with 8-bit wide stack pointer ! + … * Better documentation: + Handling of EIND and indirect jumps on devices with more than 128 KiB of program memory. --- 8472,8478 ---- + If-else decision trees generated by switch instructions + Merging of data located in flash memory + New libgcc variants for devices with 8-bit wide stack pointer ! + ... * Better documentation: + Handling of EIND and indirect jumps on devices with more than 128 KiB of program memory. *************** GCC 4.7.4 *** 8645,8651 **** provided this notice is preserved. These pages are [54]maintained by the GCC team. Last modified ! 2022-02-10[55]. References --- 8683,8689 ---- provided this notice is preserved. These pages are [54]maintained by the GCC team. Last modified ! 2023-03-29. References *************** References *** 8673,8679 **** 22. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfaggressive-function-elimination_007d-270 23. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWreal-q-constant_007d-149 24. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/SELECTED_005fREAL_005fKIND.html ! 25. https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps 26. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Debugging-Options.html#index-g_t_0040code_007bfno-backtrace_007d-183 27. https://gcc.gnu.org/wiki/Fortran2003Status 28. https://gcc.gnu.org/wiki/OOP --- 8711,8717 ---- 22. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfaggressive-function-elimination_007d-270 23. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWreal-q-constant_007d-149 24. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/SELECTED_005fREAL_005fKIND.html ! 25. https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps 26. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Debugging-Options.html#index-g_t_0040code_007bfno-backtrace_007d-183 27. https://gcc.gnu.org/wiki/Fortran2003Status 28. https://gcc.gnu.org/wiki/OOP *************** References *** 8686,8697 **** 35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html 36. http://www.nongnu.org/avr-libc/ 37. https://gcc.gnu.org/PR54461 ! 38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built_002din-Functions.html 39. https://sites.google.com/site/x32abi/ ! 40. https://www.dwarfstd.org/ShowIssue.php?issue=100909.1 ! 41. https://www.dwarfstd.org/ShowIssue.php?issue=100909.2 ! 42. https://www.dwarfstd.org/ShowIssue.php?issue=140425.1 ! 43. https://www.dwarfstd.org/ShowIssue.php?issue=110722.1 44. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1 45. https://go.dev/doc/go1 46. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2 --- 8724,8735 ---- 35. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html 36. http://www.nongnu.org/avr-libc/ 37. https://gcc.gnu.org/PR54461 ! 38. https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html 39. https://sites.google.com/site/x32abi/ ! 40. https://dwarfstd.org/issues/100909.1.html ! 41. https://dwarfstd.org/issues/100909.2.html ! 42. https://dwarfstd.org/issues/140425.1.html ! 43. https://dwarfstd.org/issues/110722.1.html 44. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1 45. https://go.dev/doc/go1 46. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2 *************** References *** 8703,8711 **** 52. https://gcc.gnu.org/lists.html 53. https://www.fsf.org/ 54. https://gcc.gnu.org/about.html - 55. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.6/index.html GCC 4.6 Release Series (This release series is no longer supported.) --- 8741,8749 ---- 52. https://gcc.gnu.org/lists.html 53. https://www.fsf.org/ 54. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.6/index.html + GCC 4.6 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 8768,8774 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 8806,8812 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 8795,8803 **** 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-4.6/changes.html GCC 4.6 Release Series Changes, New Features, and Fixes --- 8833,8841 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.6/changes.html + GCC 4.6 Release Series Changes, New Features, and Fixes *************** New Languages and Language specific impr *** 9137,9143 **** * [12]Improved experimental support for the upcoming ISO C++ standard, C++0x, including using constexpr and nullptr. ! * Performance improvements to the [13]Debug Mode, thanks to François Dumont. * Atomic operations used for reference-counting are annotated so that they can be understood by race detectors such as Helgrind, see --- 9175,9181 ---- * [12]Improved experimental support for the upcoming ISO C++ standard, C++0x, including using constexpr and nullptr. ! * Performance improvements to the [13]Debug Mode, thanks to François Dumont. * Atomic operations used for reference-counting are annotated so that they can be understood by race detectors such as Helgrind, see *************** New Languages and Language specific impr *** 9192,9198 **** allocated (if unallocated) or reallocated (if the shape or type parameter is different). To avoid the small performance penalty, you can use a(:) = ... instead of a = ... for arrays ! and character strings – or disable the feature using -std=f95 or -fno-realloc-lhs. + Deferred type parameter: For scalar allocatable and pointer variables the character length can be deferred. --- 9230,9236 ---- allocated (if unallocated) or reallocated (if the shape or type parameter is different). To avoid the small performance penalty, you can use a(:) = ... instead of a = ... for arrays ! and character strings - or disable the feature using -std=f95 or -fno-realloc-lhs. + Deferred type parameter: For scalar allocatable and pointer variables the character length can be deferred. *************** New Languages and Language specific impr *** 9247,9253 **** be declared in a single PROCEDURE statement; implied-shape arrays are supported for named constants (PARAMETER). The transformational, three argument versions of BESSEL_JN and ! BESSEL_YN were added – the elemental, two-argument version had been added in GCC 4.4; note that the transformational functions use a recurrence algorithm. --- 9285,9291 ---- be declared in a single PROCEDURE statement; implied-shape arrays are supported for named constants (PARAMETER). The transformational, three argument versions of BESSEL_JN and ! BESSEL_YN were added - the elemental, two-argument version had been added in GCC 4.4; note that the transformational functions use a recurrence algorithm. *************** GCC 4.6.4 *** 9692,9698 **** provided this notice is preserved. These pages are [28]maintained by the GCC team. Last modified ! 2021-12-05[29]. References --- 9730,9736 ---- provided this notice is preserved. These pages are [28]maintained by the GCC team. Last modified ! 2023-01-18. References *************** References *** 9706,9712 **** 8. https://gcc.gnu.org/PR43145 9. https://gcc.gnu.org/PR43680 10. https://gcc.gnu.org/PR33558 ! 11. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#253 12. https://gcc.gnu.org/onlinedocs/gcc-4.6.4/libstdc++/manual/manual/status.html#status.iso.200x 13. https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html#debug.races --- 9744,9750 ---- 8. https://gcc.gnu.org/PR43145 9. https://gcc.gnu.org/PR43680 10. https://gcc.gnu.org/PR33558 ! 11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#253 12. https://gcc.gnu.org/onlinedocs/gcc-4.6.4/libstdc++/manual/manual/status.html#status.iso.200x 13. https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html#debug.races *************** References *** 9724,9732 **** 26. https://gcc.gnu.org/lists.html 27. https://www.fsf.org/ 28. https://gcc.gnu.org/about.html - 29. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.5/index.html GCC 4.5 Release Series (This release series is no longer supported.) --- 9762,9770 ---- 26. https://gcc.gnu.org/lists.html 27. https://www.fsf.org/ 28. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.5/index.html + GCC 4.5 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 9789,9795 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2021-07-28[19]. References --- 9827,9833 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 9811,9819 **** 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html - 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.5/changes.html GCC 4.5 Release Series Changes, New Features, and Fixes --- 9849,9857 ---- 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.5/changes.html + GCC 4.5 Release Series Changes, New Features, and Fixes *************** New Languages and Language specific impr *** 10050,10056 **** defined ([12]DR 757). * Labels may now have attributes, as has been permitted for a while in C. This is only permitted when the label definition and the ! attribute specifier is followed by a semicolon—i.e., the label applies to an empty statement. The only useful attribute for a label is unused. * G++ now implements [13]DR 176. Previously G++ did not support using --- 10088,10094 ---- defined ([12]DR 757). * Labels may now have attributes, as has been permitted for a while in C. This is only permitted when the label definition and the ! attribute specifier is followed by a semicolon--i.e., the label applies to an empty statement. The only useful attribute for a label is unused. * G++ now implements [13]DR 176. Previously G++ did not support using *************** vector-size: improvement = 3: call stack *** 10132,10138 **** Fortran ! * The COMMON default padding has been changed – instead of adding the padding before a variable it is now added afterwards, which increases the compatibility with other vendors and helps to obtain the correct output in some cases. Cf. also the -falign-commons --- 10170,10176 ---- Fortran ! * The COMMON default padding has been changed - instead of adding the padding before a variable it is now added afterwards, which increases the compatibility with other vendors and helps to obtain the correct output in some cases. Cf. also the -falign-commons *************** GCC 4.5.4 *** 10461,10467 **** provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2022-02-02[33]. References --- 10499,10505 ---- provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2023-01-15. References *************** References *** 10476,10483 **** 9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800 10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html 11. http://gcc.gnu.org/gcc-4.5/cxx0x_status.html ! 12. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757 ! 13. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html 15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733 16. https://sourceware.org/gdb/wiki/STLSupport --- 10514,10521 ---- 9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800 10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html 11. http://gcc.gnu.org/gcc-4.5/cxx0x_status.html ! 12. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757 ! 13. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html 15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733 16. https://sourceware.org/gdb/wiki/STLSupport *************** References *** 10497,10505 **** 30. https://gcc.gnu.org/lists.html 31. https://www.fsf.org/ 32. https://gcc.gnu.org/about.html - 33. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.4/index.html GCC 4.4 Release Series This release series is no longer maintained. --- 10535,10543 ---- 30. https://gcc.gnu.org/lists.html 31. https://www.fsf.org/ 32. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.4/index.html + GCC 4.4 Release Series This release series is no longer maintained. *************** References and Acknowledgements *** 10571,10577 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2021-07-28[22]. References --- 10609,10615 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 10596,10604 **** 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-4.4/changes.html GCC 4.4 Release Series Changes, New Features, and Fixes --- 10634,10642 ---- 19. https://gcc.gnu.org/lists.html 20. https://www.fsf.org/ 21. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.4/changes.html + GCC 4.4 Release Series Changes, New Features, and Fixes *************** GCC 4.4.7 *** 11201,11207 **** provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2021-07-28[24]. References --- 11239,11245 ---- provided this notice is preserved. These pages are [23]maintained by the GCC team. Last modified ! 2022-11-01. References *************** References *** 11209,11215 **** 2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted 3. http://gcc.gnu.org/gcc-4.4/porting_to.html 4. https://gcc.gnu.org/wiki/Graphite ! 5. http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf 6. http://gcc.gnu.org/gcc-4.4/cxx0x_status.html 7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html 8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125 --- 11247,11253 ---- 2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted 3. http://gcc.gnu.org/gcc-4.4/porting_to.html 4. https://gcc.gnu.org/wiki/Graphite ! 5. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf 6. http://gcc.gnu.org/gcc-4.4/cxx0x_status.html 7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html 8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125 *************** References *** 11228,11236 **** 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-4.3/index.html GCC 4.3 Release Series (This release series is no longer supported.) --- 11266,11274 ---- 21. https://gcc.gnu.org/lists.html 22. https://www.fsf.org/ 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.3/index.html + GCC 4.3 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 11299,11305 **** provided this notice is preserved. These pages are [20]maintained by the GCC team. Last modified ! 2021-07-28[21]. References --- 11337,11343 ---- provided this notice is preserved. These pages are [20]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 11323,11331 **** 18. https://gcc.gnu.org/lists.html 19. https://www.fsf.org/ 20. https://gcc.gnu.org/about.html - 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.3/changes.html GCC 4.3 Release Series Changes, New Features, and Fixes --- 11361,11369 ---- 18. https://gcc.gnu.org/lists.html 19. https://www.fsf.org/ 20. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.3/changes.html + GCC 4.3 Release Series Changes, New Features, and Fixes *************** GCC 4.3.6 *** 12104,12110 **** provided this notice is preserved. These pages are [30]maintained by the GCC team. Last modified ! 2021-07-28[31]. References --- 12142,12148 ---- provided this notice is preserved. These pages are [30]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 12138,12146 **** 28. https://gcc.gnu.org/lists.html 29. https://www.fsf.org/ 30. https://gcc.gnu.org/about.html - 31. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.2/index.html GCC 4.2 Release Series (This release series is no longer supported.) --- 12176,12184 ---- 28. https://gcc.gnu.org/lists.html 29. https://www.fsf.org/ 30. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.2/index.html + GCC 4.2 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 12203,12209 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2021-07-28[19]. References --- 12241,12247 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 12225,12233 **** 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html - 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.2/changes.html GCC 4.2 Release Series Changes, New Features, and Fixes --- 12263,12271 ---- 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.2/changes.html + GCC 4.2 Release Series Changes, New Features, and Fixes *************** Other significant improvements *** 12531,12537 **** provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2021-07-28[12]. References --- 12569,12575 ---- provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 12546,12554 **** 9. https://gcc.gnu.org/lists.html 10. https://www.fsf.org/ 11. https://gcc.gnu.org/about.html - 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.1/index.html GCC 4.1 Release Series (This release series is no longer supported.) --- 12584,12592 ---- 9. https://gcc.gnu.org/lists.html 10. https://www.fsf.org/ 11. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.1/index.html + GCC 4.1 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 12605,12611 **** provided this notice is preserved. These pages are [16]maintained by the GCC team. Last modified ! 2021-07-28[17]. References --- 12643,12649 ---- provided this notice is preserved. These pages are [16]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 12625,12633 **** 14. https://gcc.gnu.org/lists.html 15. https://www.fsf.org/ 16. https://gcc.gnu.org/about.html - 17. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.1/changes.html GCC 4.1 Release Series Changes, New Features, and Fixes --- 12663,12671 ---- 14. https://gcc.gnu.org/lists.html 15. https://www.fsf.org/ 16. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.1/changes.html + GCC 4.1 Release Series Changes, New Features, and Fixes *************** GCC 4.1.2 *** 13164,13170 **** provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2021-10-18[12]. References --- 13202,13208 ---- provided this notice is preserved. These pages are [11]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 13179,13187 **** 9. https://gcc.gnu.org/lists.html 10. https://www.fsf.org/ 11. https://gcc.gnu.org/about.html - 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.0/index.html GCC 4.0 Release Series (This release series is no longer supported.) --- 13217,13225 ---- 9. https://gcc.gnu.org/lists.html 10. https://www.fsf.org/ 11. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.0/index.html + GCC 4.0 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 13244,13250 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2021-07-28[19]. References --- 13282,13288 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 13266,13274 **** 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html - 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.0/changes.html GCC 4.0 Release Series Changes, New Features, and Fixes --- 13304,13312 ---- 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-4.0/changes.html + GCC 4.0 Release Series Changes, New Features, and Fixes *************** GCC 4.0.4 *** 13770,13776 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2021-07-28[22]. References --- 13808,13814 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 13795,13803 **** 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-3.4/index.html GCC 3.4 Release Series (This release series is no longer supported.) --- 13833,13841 ---- 19. https://gcc.gnu.org/lists.html 20. https://www.fsf.org/ 21. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.4/index.html + GCC 3.4 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 13871,13877 **** provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2021-07-28[23]. References --- 13909,13915 ---- provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 13897,13905 **** 20. https://gcc.gnu.org/lists.html 21. https://www.fsf.org/ 22. https://gcc.gnu.org/about.html - 23. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.4/changes.html GCC 3.4 Release Series Changes, New Features, and Fixes --- 13935,13943 ---- 20. https://gcc.gnu.org/lists.html 21. https://www.fsf.org/ 22. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.4/changes.html + GCC 3.4 Release Series Changes, New Features, and Fixes *************** GCC 3.4.6 *** 15659,15665 **** provided this notice is preserved. These pages are [416]maintained by the GCC team. Last modified ! 2021-07-28[417]. References --- 15697,15703 ---- provided this notice is preserved. These pages are [416]maintained by the GCC team. Last modified ! 2023-01-27. References *************** References *** 15672,15685 **** 7. https://www.boost.org/ 8. https://gcc.gnu.org/PR11953 9. https://gcc.gnu.org/PR8361 ! 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other Builtins ! 11. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209 12. http://gcc.gnu.org/bugs/#cxx_rvalbind 13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 16. http://www.gnu.org/software/classpath/ ! 17. http://www.eclipse.org/ 18. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/g77/News.html 19. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Alpha-Built-in-Functions.html 20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html --- 15710,15723 ---- 7. https://www.boost.org/ 8. https://gcc.gnu.org/PR11953 9. https://gcc.gnu.org/PR8361 ! 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other%20Builtins ! 11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209 12. http://gcc.gnu.org/bugs/#cxx_rvalbind 13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 16. http://www.gnu.org/software/classpath/ ! 17. https://www.eclipse.org/ 18. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/g77/News.html 19. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Alpha-Built-in-Functions.html 20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html *************** References *** 15688,15694 **** 23. http://gcc.gnu.org/gcc-3.4/mips-abi.html 24. http://gcc.gnu.org/gcc-3.4/powerpc-abi.html 25. http://gcc.gnu.org/gcc-3.4/sparc-abi.html ! 26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=\[3\.4.*[Rr]egression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED 27. https://gcc.gnu.org/PR10129 28. https://gcc.gnu.org/PR14576 29. https://gcc.gnu.org/PR14760 --- 15726,15732 ---- 23. http://gcc.gnu.org/gcc-3.4/mips-abi.html 24. http://gcc.gnu.org/gcc-3.4/powerpc-abi.html 25. http://gcc.gnu.org/gcc-3.4/sparc-abi.html ! 26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=%5C%5B3%5C.4.*%5BRr%5Degression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED 27. https://gcc.gnu.org/PR10129 28. https://gcc.gnu.org/PR14576 29. https://gcc.gnu.org/PR14760 *************** References *** 16079,16087 **** 414. https://gcc.gnu.org/lists.html 415. https://www.fsf.org/ 416. https://gcc.gnu.org/about.html - 417. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.3/index.html GCC 3.3 Release Series (This release series is no longer supported.) --- 16117,16125 ---- 414. https://gcc.gnu.org/lists.html 415. https://www.fsf.org/ 416. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.3/index.html + GCC 3.3 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 16155,16161 **** provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2021-07-28[22]. References --- 16193,16199 ---- provided this notice is preserved. These pages are [21]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 16180,16188 **** 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-3.3/changes.html GCC 3.3 Release Series Changes, New Features, and Fixes --- 16218,16226 ---- 19. https://gcc.gnu.org/lists.html 20. https://www.fsf.org/ 21. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.3/changes.html + GCC 3.3 Release Series Changes, New Features, and Fixes *************** GCC 3.3.6 *** 17530,17536 **** provided this notice is preserved. These pages are [556]maintained by the GCC team. Last modified ! 2021-07-28[557]. References --- 17568,17574 ---- provided this notice is preserved. These pages are [556]maintained by the GCC team. Last modified ! 2023-01-19. References *************** References *** 17647,17653 **** 111. https://gcc.gnu.org/PR9439 112. https://gcc.gnu.org/PR9474 113. https://gcc.gnu.org/PR9548 ! 114. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#231 115. https://gcc.gnu.org/PR9555 116. https://gcc.gnu.org/PR9561 117. https://gcc.gnu.org/PR9563 --- 17685,17691 ---- 111. https://gcc.gnu.org/PR9439 112. https://gcc.gnu.org/PR9474 113. https://gcc.gnu.org/PR9548 ! 114. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#231 115. https://gcc.gnu.org/PR9555 116. https://gcc.gnu.org/PR9561 117. https://gcc.gnu.org/PR9563 *************** References *** 17991,17997 **** 455. https://gcc.gnu.org/PR9546 456. https://gcc.gnu.org/PR10081 457. https://gcc.gnu.org/PR10093 ! 458. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#61 459. https://gcc.gnu.org/PR10095 460. https://gcc.gnu.org/PR11554 461. https://gcc.gnu.org/PR12297 --- 18029,18035 ---- 455. https://gcc.gnu.org/PR9546 456. https://gcc.gnu.org/PR10081 457. https://gcc.gnu.org/PR10093 ! 458. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#61 459. https://gcc.gnu.org/PR10095 460. https://gcc.gnu.org/PR11554 461. https://gcc.gnu.org/PR12297 *************** References *** 17999,18016 **** 463. https://gcc.gnu.org/PR12438 464. https://gcc.gnu.org/PR12540 465. https://gcc.gnu.org/PR12594 ! 466. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#60 ! 467. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#63 468. https://gcc.gnu.org/PR12657 ! 469. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#292 470. https://gcc.gnu.org/PR12696 471. https://gcc.gnu.org/PR12815 472. https://gcc.gnu.org/PR12862 473. https://gcc.gnu.org/PR12926 474. https://gcc.gnu.org/PR12967 ! 475. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html 476. https://gcc.gnu.org/PR12971 ! 477. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#328 478. https://gcc.gnu.org/PR13007 479. https://gcc.gnu.org/PR13009 480. https://gcc.gnu.org/PR13057 --- 18037,18054 ---- 463. https://gcc.gnu.org/PR12438 464. https://gcc.gnu.org/PR12540 465. https://gcc.gnu.org/PR12594 ! 466. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#60 ! 467. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#63 468. https://gcc.gnu.org/PR12657 ! 469. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#292 470. https://gcc.gnu.org/PR12696 471. https://gcc.gnu.org/PR12815 472. https://gcc.gnu.org/PR12862 473. https://gcc.gnu.org/PR12926 474. https://gcc.gnu.org/PR12967 ! 475. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html 476. https://gcc.gnu.org/PR12971 ! 477. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#328 478. https://gcc.gnu.org/PR13007 479. https://gcc.gnu.org/PR13009 480. https://gcc.gnu.org/PR13057 *************** References *** 18090,18098 **** 554. https://gcc.gnu.org/lists.html 555. https://www.fsf.org/ 556. https://gcc.gnu.org/about.html - 557. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html GCC 3.2 Release Series (This release series is no longer supported.) --- 18128,18136 ---- 554. https://gcc.gnu.org/lists.html 555. https://www.fsf.org/ 556. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html + GCC 3.2 Release Series (This release series is no longer supported.) *************** References and Acknowledgements *** 18160,18166 **** provided this notice is preserved. These pages are [17]maintained by the GCC team. Last modified ! 2021-07-28[18]. References --- 18198,18204 ---- provided this notice is preserved. These pages are [17]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 18181,18189 **** 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-3.2/changes.html GCC 3.2 Release Series Changes, New Features, and Fixes --- 18219,18227 ---- 15. https://gcc.gnu.org/lists.html 16. https://www.fsf.org/ 17. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html + GCC 3.2 Release Series Changes, New Features, and Fixes *************** GCC 3.2 *** 18783,18789 **** provided this notice is preserved. These pages are [251]maintained by the GCC team. Last modified ! 2021-07-28[252]. References --- 18821,18827 ---- provided this notice is preserved. These pages are [251]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19038,19046 **** 249. https://gcc.gnu.org/lists.html 250. https://www.fsf.org/ 251. https://gcc.gnu.org/about.html - 252. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html GCC 3.1 (This release series is no longer supported.) --- 19076,19084 ---- 249. https://gcc.gnu.org/lists.html 250. https://www.fsf.org/ 251. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html + GCC 3.1 (This release series is no longer supported.) *************** http://gcc.gnu.org/gcc-3.1/index.html *** 19088,19094 **** provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2021-07-28[15]. References --- 19126,19132 ---- provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19106,19114 **** 12. https://gcc.gnu.org/lists.html 13. https://www.fsf.org/ 14. https://gcc.gnu.org/about.html - 15. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html GCC 3.1 Release Series Changes, New Features, and Fixes --- 19144,19152 ---- 12. https://gcc.gnu.org/lists.html 13. https://www.fsf.org/ 14. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html + GCC 3.1 Release Series Changes, New Features, and Fixes *************** New Targets and Target Specific Improvem *** 19326,19332 **** + For those targets that support it, -mfpmath=sse will cause the compiler to generate SSE/SSE2 instructions for floating point math instead of x87 instructions. Usually, this will lead to ! quicker code — especially on the Pentium 4. Note that only scalar floating point instructions are used and GCC does not exploit SIMD features yet. + Prefetch support has been added to the Pentium III, Pentium 4, --- 19364,19370 ---- + For those targets that support it, -mfpmath=sse will cause the compiler to generate SSE/SSE2 instructions for floating point math instead of x87 instructions. Usually, this will lead to ! quicker code -- especially on the Pentium 4. Note that only scalar floating point instructions are used and GCC does not exploit SIMD features yet. + Prefetch support has been added to the Pentium III, Pentium 4, *************** Documentation improvements *** 19442,19448 **** provided this notice is preserved. These pages are [13]maintained by the GCC team. Last modified ! 2021-07-28[14]. References --- 19480,19486 ---- provided this notice is preserved. These pages are [13]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19459,19467 **** 11. https://gcc.gnu.org/lists.html 12. https://www.fsf.org/ 13. https://gcc.gnu.org/about.html - 14. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/index.html GCC 3.0.4 (This release series is no longer supported.) --- 19497,19505 ---- 11. https://gcc.gnu.org/lists.html 12. https://www.fsf.org/ 13. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.0/index.html + GCC 3.0.4 (This release series is no longer supported.) *************** Previous 3.0.x Releases *** 19516,19522 **** provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2021-07-28[15]. References --- 19554,19560 ---- provided this notice is preserved. These pages are [14]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19534,19542 **** 12. https://gcc.gnu.org/lists.html 13. https://www.fsf.org/ 14. https://gcc.gnu.org/about.html - 15. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/features.html GCC 3.0 New Features Additional changes in GCC 3.0.4 --- 19572,19580 ---- 12. https://gcc.gnu.org/lists.html 13. https://www.fsf.org/ 14. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.0/features.html + GCC 3.0 New Features Additional changes in GCC 3.0.4 *************** Other significant improvements *** 19707,19713 **** provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2021-07-28[19]. References --- 19745,19751 ---- provided this notice is preserved. These pages are [18]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19729,19737 **** 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html - 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html GCC 3.0 Caveats * -fstrict-aliasing is now part of -O2 and higher optimization --- 19767,19775 ---- 16. https://gcc.gnu.org/lists.html 17. https://www.fsf.org/ 18. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html + GCC 3.0 Caveats * -fstrict-aliasing is now part of -O2 and higher optimization *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 19778,19784 **** provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2021-07-28[8]. References --- 19816,19822 ---- provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19789,19797 **** 5. https://gcc.gnu.org/lists.html 6. https://www.fsf.org/ 7. https://gcc.gnu.org/about.html - 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/index.html GCC 2.95 (This release series is no longer supported.) --- 19827,19835 ---- 5. https://gcc.gnu.org/lists.html 6. https://www.fsf.org/ 7. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-2.95/index.html + GCC 2.95 (This release series is no longer supported.) *************** References and Acknowledgements *** 19860,19866 **** provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2021-07-28[16]. References --- 19898,19904 ---- provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 19879,19887 **** 13. https://gcc.gnu.org/lists.html 14. https://www.fsf.org/ 15. https://gcc.gnu.org/about.html - 16. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html GCC 2.95 New Features * General Optimizer Improvements: --- 19917,19925 ---- 13. https://gcc.gnu.org/lists.html 14. https://www.fsf.org/ 15. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html + GCC 2.95 New Features * General Optimizer Improvements: *************** Additional Changes in GCC 2.95.3 *** 20125,20131 **** provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2021-07-28[23]. References --- 20163,20169 ---- provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20151,20159 **** 20. https://gcc.gnu.org/lists.html 21. https://www.fsf.org/ 22. https://gcc.gnu.org/about.html - 23. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html GCC 2.95 Caveats * GCC 2.95 will issue an error for invalid asm statements that had --- 20189,20197 ---- 20. https://gcc.gnu.org/lists.html 21. https://www.fsf.org/ 22. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html + GCC 2.95 Caveats * GCC 2.95 will issue an error for invalid asm statements that had *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 20208,20214 **** provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2021-07-28[8]. References --- 20246,20252 ---- provided this notice is preserved. These pages are [7]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20219,20227 **** 5. https://gcc.gnu.org/lists.html 6. https://www.fsf.org/ 7. https://gcc.gnu.org/about.html - 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html EGCS 1.1 September 3, 1998: We are pleased to announce the release of EGCS 1.1. --- 20257,20265 ---- 5. https://gcc.gnu.org/lists.html 6. https://www.fsf.org/ 7. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html + EGCS 1.1 September 3, 1998: We are pleased to announce the release of EGCS 1.1. *************** http://gcc.gnu.org/egcs-1.1/index.html *** 20429,20435 **** provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2021-07-28[16]. References --- 20467,20473 ---- provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2023-01-21. References *************** References *** 20448,20456 **** 13. https://gcc.gnu.org/lists.html 14. https://www.fsf.org/ 15. https://gcc.gnu.org/about.html - 16. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/features.html EGCS 1.1 new features * Integrated GNU Fortran (g77) compiler and runtime library with --- 20486,20494 ---- 13. https://gcc.gnu.org/lists.html 14. https://www.fsf.org/ 15. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.1/features.html + EGCS 1.1 new features * Integrated GNU Fortran (g77) compiler and runtime library with *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 20528,20534 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2021-07-28[11]. References --- 20566,20572 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20542,20550 **** 8. https://gcc.gnu.org/lists.html 9. https://www.fsf.org/ 10. https://gcc.gnu.org/about.html - 11. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html EGCS 1.1 Caveats * EGCS has an integrated libstdc++, but does not have an integrated --- 20580,20588 ---- 8. https://gcc.gnu.org/lists.html 9. https://www.fsf.org/ 10. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html + EGCS 1.1 Caveats * EGCS has an integrated libstdc++, but does not have an integrated *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 20582,20588 **** provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2021-07-28[7]. References --- 20620,20626 ---- provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20592,20600 **** 4. https://gcc.gnu.org/lists.html 5. https://www.fsf.org/ 6. https://gcc.gnu.org/about.html - 7. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/index.html EGCS 1.0 December 3, 1997: We are pleased to announce the release of EGCS 1.0. --- 20630,20638 ---- 4. https://gcc.gnu.org/lists.html 5. https://www.fsf.org/ 6. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.0/index.html + EGCS 1.0 December 3, 1997: We are pleased to announce the release of EGCS 1.0. *************** http://gcc.gnu.org/egcs-1.0/index.html *** 20778,20784 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2021-07-28[11]. References --- 20816,20822 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2023-01-21. References *************** References *** 20792,20800 **** 8. https://gcc.gnu.org/lists.html 9. https://www.fsf.org/ 10. https://gcc.gnu.org/about.html - 11. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html EGCS 1.0 features * Core compiler is based on the gcc2 development tree from Aug 2, --- 20830,20838 ---- 8. https://gcc.gnu.org/lists.html 9. https://www.fsf.org/ 10. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html + EGCS 1.0 features * Core compiler is based on the gcc2 development tree from Aug 2, *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 20844,20850 **** provided this notice is preserved. These pages are [8]maintained by the GCC team. Last modified ! 2021-07-28[9]. References --- 20882,20888 ---- provided this notice is preserved. These pages are [8]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20856,20864 **** 6. https://gcc.gnu.org/lists.html 7. https://www.fsf.org/ 8. https://gcc.gnu.org/about.html - 9. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html EGCS 1.0 Caveats * EGCS has an integrated libstdc++, but does not have an integrated --- 20894,20902 ---- 6. https://gcc.gnu.org/lists.html 7. https://www.fsf.org/ 8. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html + EGCS 1.0 Caveats * EGCS has an integrated libstdc++, but does not have an integrated *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 20897,20903 **** provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2021-07-28[7]. References --- 20935,20941 ---- provided this notice is preserved. These pages are [6]maintained by the GCC team. Last modified ! 2022-10-26. References *************** References *** 20907,20911 **** 4. https://gcc.gnu.org/lists.html 5. https://www.fsf.org/ 6. https://gcc.gnu.org/about.html - 7. http://validator.w3.org/check/referer ====================================================================== --- 20945,20948 ---- diff -Nrcpad gcc-10.4.0/config/ChangeLog gcc-10.5.0/config/ChangeLog *** gcc-10.4.0/config/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/config/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/contrib/ChangeLog gcc-10.5.0/contrib/ChangeLog *** gcc-10.4.0/contrib/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/contrib/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/contrib/header-tools/ChangeLog gcc-10.5.0/contrib/header-tools/ChangeLog *** gcc-10.4.0/contrib/header-tools/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/contrib/header-tools/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/contrib/reghunt/ChangeLog gcc-10.5.0/contrib/reghunt/ChangeLog *** gcc-10.4.0/contrib/reghunt/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/contrib/reghunt/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/contrib/regression/ChangeLog gcc-10.5.0/contrib/regression/ChangeLog *** gcc-10.4.0/contrib/regression/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/contrib/regression/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/fixincludes/ChangeLog gcc-10.5.0/fixincludes/ChangeLog *** gcc-10.4.0/fixincludes/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/fixincludes/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,27 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2023-01-21 Iain Sandoe + + * fixincl.x: Regenerate. + * inclhack.def (darwin_objc_runtime_1): New hack. + * tests/base/objc/runtime.h: New file. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2023-01-21 Iain Sandoe + + PR target/107568 + * fixincl.x: Regenerate. + * inclhack.def: Add a fix for MacOS13 SDK function deprecations + in stdio.h. + * tests/base/stdio.h (__deprecated_msg): New test. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/fixincludes/fixincl.x gcc-10.5.0/fixincludes/fixincl.x *** gcc-10.4.0/fixincludes/fixincl.x Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/fixincludes/fixincl.x Fri Jul 7 07:08:18 2023 *************** *** 2,12 **** * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed January 25, 2020 at 12:15:43 PM by AutoGen 5.18.16 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jan 25 12:15:43 EST 2020 * * You must regenerate it. Use the ./genfixes script. * --- 2,12 ---- * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed May 19, 2023 at 08:09:14 PM by AutoGen 5.18.7 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Fri May 19 20:09:14 BST 2023 * * 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 258 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 260 fixup descriptions. * * See README for more information. * *************** int vfscanf(FILE *, const char *, __buil *** 2526,2531 **** --- 2526,2571 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Apple_Local_Stdio_Fn_Deprecation fix + */ + tSCC zApple_Local_Stdio_Fn_DeprecationName[] = + "apple_local_stdio_fn_deprecation"; + + /* + * File name selection pattern + */ + tSCC zApple_Local_Stdio_Fn_DeprecationList[] = + "stdio.h\0"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzApple_Local_Stdio_Fn_DeprecationMachs[] = { + "*-*-*darwin2*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zApple_Local_Stdio_Fn_DeprecationSelect0[] = + "__deprecated_msg([^\n\ + ]*)$"; + + #define APPLE_LOCAL_STDIO_FN_DEPRECATION_TEST_CT 1 + static tTestDesc aApple_Local_Stdio_Fn_DeprecationTests[] = { + { TT_EGREP, zApple_Local_Stdio_Fn_DeprecationSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Apple_Local_Stdio_Fn_Deprecation + */ + static const char* apzApple_Local_Stdio_Fn_DeprecationPatch[] = { + "format", + "#if defined(__APPLE_LOCAL_DEPRECATIONS)\n\ + %0\n\ + #endif", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Ctrl_Quotes_Def fix */ tSCC zCtrl_Quotes_DefName[] = *************** static const char* apzDarwin_Os_Trace_2P *** 2962,2967 **** --- 3002,3054 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Darwin_Objc_Runtime_1 fix + */ + tSCC zDarwin_Objc_Runtime_1Name[] = + "darwin_objc_runtime_1"; + + /* + * File name selection pattern + */ + tSCC zDarwin_Objc_Runtime_1List[] = + "objc/runtime.h\0"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzDarwin_Objc_Runtime_1Machs[] = { + "*-*-darwin2*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zDarwin_Objc_Runtime_1Select0[] = + "OBJC_EXPORT void.*\n\ + objc_enumerateClasses.*\n\ + .*\n\ + .*\n\ + .*\n\ + .*void \\(\\^ _Nonnull block.*\n\ + .*\n\ + .*\n\ + .*OBJC_REFINED_FOR_SWIFT.*"; + + #define DARWIN_OBJC_RUNTIME_1_TEST_CT 1 + static tTestDesc aDarwin_Objc_Runtime_1Tests[] = { + { TT_EGREP, zDarwin_Objc_Runtime_1Select0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Darwin_Objc_Runtime_1 + */ + static const char* apzDarwin_Objc_Runtime_1Patch[] = { + "format", + "#if __BLOCKS__\n\ + %0\n\ + #endif", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Darwin_Os_Trace_3 fix */ tSCC zDarwin_Os_Trace_3Name[] = *************** static const char* apzX11_SprintfPatch[] *** 10476,10484 **** * * List of all fixes */ ! #define REGEX_COUNT 296 #define MACH_LIST_SIZE_LIMIT 187 ! #define FIX_COUNT 258 /* * Enumerate the fixes --- 10563,10571 ---- * * List of all fixes */ ! #define REGEX_COUNT 298 #define MACH_LIST_SIZE_LIMIT 187 ! #define FIX_COUNT 260 /* * Enumerate the fixes *************** typedef enum { *** 10543,10548 **** --- 10630,10636 ---- BROKEN_CABS_FIXIDX, BROKEN_NAN_FIXIDX, BSD_STDIO_ATTRS_CONFLICT_FIXIDX, + APPLE_LOCAL_STDIO_FN_DEPRECATION_FIXIDX, CTRL_QUOTES_DEF_FIXIDX, CTRL_QUOTES_USE_FIXIDX, CXX_UNREADY_FIXIDX, *************** typedef enum { *** 10554,10559 **** --- 10642,10648 ---- DARWIN_LONGJMP_NORETURN_FIXIDX, DARWIN_OS_TRACE_1_FIXIDX, DARWIN_OS_TRACE_2_FIXIDX, + DARWIN_OBJC_RUNTIME_1_FIXIDX, DARWIN_OS_TRACE_3_FIXIDX, DARWIN_OS_BASE_1_FIXIDX, DARWIN_DISPATCH_OBJECT_1_FIXIDX, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 11040,11045 **** --- 11129,11139 ---- BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 }, + { zApple_Local_Stdio_Fn_DeprecationName, zApple_Local_Stdio_Fn_DeprecationList, + apzApple_Local_Stdio_Fn_DeprecationMachs, + APPLE_LOCAL_STDIO_FN_DEPRECATION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aApple_Local_Stdio_Fn_DeprecationTests, apzApple_Local_Stdio_Fn_DeprecationPatch, 0 }, + { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList, apzCtrl_Quotes_DefMachs, CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 11095,11100 **** --- 11189,11199 ---- DARWIN_OS_TRACE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aDarwin_Os_Trace_2Tests, apzDarwin_Os_Trace_2Patch, 0 }, + { zDarwin_Objc_Runtime_1Name, zDarwin_Objc_Runtime_1List, + apzDarwin_Objc_Runtime_1Machs, + DARWIN_OBJC_RUNTIME_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aDarwin_Objc_Runtime_1Tests, apzDarwin_Objc_Runtime_1Patch, 0 }, + { zDarwin_Os_Trace_3Name, zDarwin_Os_Trace_3List, apzDarwin_Os_Trace_3Machs, DARWIN_OS_TRACE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff -Nrcpad gcc-10.4.0/fixincludes/inclhack.def gcc-10.5.0/fixincludes/inclhack.def *** gcc-10.4.0/fixincludes/inclhack.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/fixincludes/inclhack.def Fri Jul 7 07:08:18 2023 *************** fix = { *** 1229,1234 **** --- 1229,1246 ---- test_text = '#define vfscanf __svfscanf'; }; + fix = { + hackname = apple_local_stdio_fn_deprecation; + mach = "*-*-*darwin2*"; + files = stdio.h; + select = "__deprecated_msg([^\n]*)$"; + c_fix = format; + c_fix_arg = "#if defined(__APPLE_LOCAL_DEPRECATIONS)\n" + "%0\n" + "#endif"; + test_text = '__deprecated_msg("This function is provided for compat...")'; + }; + /* * Fix various macros used to define ioctl numbers. * The traditional syntax was: *************** fix = { *** 1440,1445 **** --- 1452,1492 ---- }; /* + * macOSX 13.0 SDK objc/runtime.h uses Apple Blocks extension without a guard. + */ + + fix = { + hackname = darwin_objc_runtime_1; + mach = "*-*-darwin2*"; + files = objc/runtime.h; + select = <<- _EOSelect_ + OBJC_EXPORT void.* + objc_enumerateClasses.* + .* + .* + .* + .*void \(\^ _Nonnull block.* + .* + .* + .*OBJC_REFINED_FOR_SWIFT.* + _EOSelect_; + c_fix = format; + c_fix_arg = "#if __BLOCKS__\n%0\n#endif"; + test_text = <<- _OBJC_RUNTIME_1 + OBJC_EXPORT void + objc_enumerateClasses(const void * _Nullable image, + const char * _Nullable namePrefix, + Protocol * _Nullable conformingTo, + Class _Nullable subclassing, + void (^ _Nonnull block)(Class _Nonnull aClass, BOOL * _Nonnull stop) + OBJC_NOESCAPE) + OBJC_AVAILABLE(13.0, 16.0, 16.0, 9.0, 7.0) + OBJC_REFINED_FOR_SWIFT; + _OBJC_RUNTIME_1; + }; + + + /* * In Mac OS X 10.1[012] , need to guard users of * os_trace_payload_t typedef, too. */ diff -Nrcpad gcc-10.4.0/fixincludes/tests/base/objc/runtime.h gcc-10.5.0/fixincludes/tests/base/objc/runtime.h *** gcc-10.4.0/fixincludes/tests/base/objc/runtime.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/fixincludes/tests/base/objc/runtime.h Fri Jul 7 07:08:18 2023 *************** *** 0 **** --- 1,24 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/objc/runtime.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( DARWIN_OBJC_RUNTIME_1_CHECK ) + #if __BLOCKS__ + OBJC_EXPORT void + objc_enumerateClasses(const void * _Nullable image, + const char * _Nullable namePrefix, + Protocol * _Nullable conformingTo, + Class _Nullable subclassing, + void (^ _Nonnull block)(Class _Nonnull aClass, BOOL * _Nonnull stop) + OBJC_NOESCAPE) + OBJC_AVAILABLE(13.0, 16.0, 16.0, 9.0, 7.0) + OBJC_REFINED_FOR_SWIFT; + #endif + #endif /* DARWIN_OBJC_RUNTIME_1_CHECK */ diff -Nrcpad gcc-10.4.0/fixincludes/tests/base/stdio.h gcc-10.5.0/fixincludes/tests/base/stdio.h *** gcc-10.4.0/fixincludes/tests/base/stdio.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/fixincludes/tests/base/stdio.h Fri Jul 7 07:08:18 2023 *************** int vfscanf(FILE *, const char *, __buil *** 41,46 **** --- 41,53 ---- #endif /* BSD_STDIO_ATTRS_CONFLICT_CHECK */ + #if defined( APPLE_LOCAL_STDIO_FN_DEPRECATION_CHECK ) + #if defined(__APPLE_LOCAL_DEPRECATIONS) + __deprecated_msg("This function is provided for compat...") + #endif + #endif /* APPLE_LOCAL_STDIO_FN_DEPRECATION_CHECK */ + + #if defined( HPUX10_STDIO_DECLARATIONS_CHECK ) # define _iob __iob diff -Nrcpad gcc-10.4.0/gcc/BASE-VER gcc-10.5.0/gcc/BASE-VER *** gcc-10.4.0/gcc/BASE-VER Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/BASE-VER Fri Jul 7 07:08:39 2023 *************** *** 1 **** ! 10.4.0 --- 1 ---- ! 10.5.0 diff -Nrcpad gcc-10.4.0/gcc/ChangeLog gcc-10.5.0/gcc/ChangeLog *** gcc-10.4.0/gcc/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,996 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-06-28 liuhongt + + * config/i386/i386-features.c (pass_insert_vzeroupper:gate): + Move flag_expensive_optimizations && !optimize_size to .. + * config/i386/i386-options.c (ix86_option_override_internal): + .. this, it makes -mvzeroupper independent of optimization + level, but still keeps the behavior of architecture + tuning(emit_vzeroupper) unchanged. + (rest_of_handle_insert_vzeroupper): Remove + flag_expensive_optimizations && !optimize_size. + + 2023-06-20 Kewen Lin + + Backported from master: + 2023-06-20 Kewen Lin + + PR target/109932 + * config/rs6000/rs6000-builtin.def (BU_VSX_MISC_2): New macro. + ({un,}pack_vector_int128): Use BU_VSX_MISC_2 instead of + BU_P7_MISC_2. + + 2023-06-19 Kewen Lin + + Backported from master: + 2023-06-12 Kewen Lin + + PR target/110011 + * config/rs6000/rs6000.c (output_toc): Use the mode of the 128-bit + floating constant itself for real_to_target call. + + 2023-06-09 Iain Sandoe + + Backported from master: + 2023-06-02 Iain Sandoe + + PR target/110044 + * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): + Make sure that we do not have a cap on field alignment before altering + the struct layout based on the type alignment of the first entry. + + 2023-06-01 Jonathan Wakely + + Backported from master: + 2023-06-01 Jonathan Wakely + + PR target/109954 + * doc/invoke.texi (x86 Options): Fix description of -m32 option. + + 2023-05-22 Michael Meissner + + PR target/70243 + * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp. Back + port from master 04/10/2023. + (vsx_nfmsv4sf4): Do not generate vnmsubfp. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2021-12-24 Iain Sandoe + + * config.gcc: Emit L2_MAX_OFILE_ALIGNMENT with suitable + values for the host. + * config/darwin.c (darwin_emit_common): Error for alignment + values > 32768. + * config/darwin.h (MAX_OFILE_ALIGNMENT): Rework to use the + configured L2_MAX_OFILE_ALIGNMENT. + + 2023-05-09 Jakub Jelinek + + Backported from master: + 2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on + wi::zext (x, width) rather than x if width != precision, rather + than using wi::zext (right, width) after the shift. + * tree-ssa-ccp.c (bit_value_binop): Call wi::ext on the results + of wi::lrotate or wi::rrotate. + + 2023-05-04 Richard Biener + + Revert: + 2023-02-07 Richard Biener + + PR tree-optimization/106809 + * tree-ssa-sccvn.c (dominaged_by_p_w_unex): Check we have + more than one successor before doing extra work. + + 2023-05-03 Anthony Sharp + + Backported from master: + 2021-08-27 Anthony Sharp + + * symbol-summary.h: Added missing template keyword. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-04-12 Jakub Jelinek + + PR tree-optimization/109410 + * tree-ssa-reassoc.c (build_and_add_sum): Split edge from entry + block if first statement of the function is a call to returns_twice + function. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-28 Jakub Jelinek + + PR middle-end/106190 + * sanopt.c (pass_sanopt::execute): Return TODO_cleanup_cfg if any + of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-26 Jakub Jelinek + + PR ipa/105685 + * predict.c (compute_function_frequency): Don't call + warn_function_cold if function already has cold attribute. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR target/105554 + * function.h (push_struct_function): Add ABSTRACT_P argument defaulted + to false. + * function.c (push_struct_function): Add ABSTRACT_P argument, pass it + to allocate_struct_function instead of false. + * tree-inline.c (initialize_cfun): Don't copy DECL_ARGUMENTS + nor DECL_RESULT here. Pass true as ABSTRACT_P to + push_struct_function. Call targetm.target_option.relayout_function + after it. + (tree_function_versioning): Formatting fix. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR middle-end/108685 + * omp-expand.c (expand_omp_for_ordered_loops): Add L0_BB argument, + use its loop_father rather than BODY_BB's loop_father. + (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. + If broken_loop with ordered > collapse and at least one of those + extra loops aren't guaranteed to have at least one iteration, change + l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's + loop_father to l0_bb's loop_father rather than l1_bb's. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-04 Jakub Jelinek + + PR testsuite/108973 + * selftest-diagnostic.c + (test_diagnostic_context::test_diagnostic_context): Set + caret_max_width to 80. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-24 Jakub Jelinek + + PR middle-end/108854 + * cgraphclones.c (duplicate_thunk_for_node): If no parameter + changes are needed, copy at least DECL_ARGUMENTS PARM_DECL + nodes and adjust their DECL_CONTEXT. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-24 Jakub Jelinek + + PR target/108881 + * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi, + __builtin_ia32_cvtne2ps2bf16_v16hi_mask, + __builtin_ia32_cvtne2ps2bf16_v16hi_maskz, + __builtin_ia32_cvtne2ps2bf16_v8hi, + __builtin_ia32_cvtne2ps2bf16_v8hi_mask, + __builtin_ia32_cvtne2ps2bf16_v8hi_maskz, + __builtin_ia32_cvtneps2bf16_v8sf_mask, + __builtin_ia32_cvtneps2bf16_v8sf_maskz, + __builtin_ia32_cvtneps2bf16_v4sf_mask, + __builtin_ia32_cvtneps2bf16_v4sf_maskz, + __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, + __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, + __builtin_ia32_dpbf16ps_v4sf_mask, + __builtin_ia32_dpbf16ps_v4sf_maskz): Require also + OPTION_MASK_ISA_AVX512VL. + + 2023-05-03 Andrew Pinski + + Backported from master: + 2023-02-09 Andrew Pinski + + PR tree-optimization/108688 + * match.pd (bit_field_ref [bit_insert]): Avoid generating + BIT_FIELD_REFs of non-mode-precision integral operands. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-02 Jakub Jelinek + + PR middle-end/108435 + * tree-nested.c (convert_nonlocal_omp_clauses) + : If info->new_local_var_chain and *seq + is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND + before calling declare_vars. + (convert_nonlocal_omp_clauses) : Merge + with the OMP_CLAUSE_LASTPRIVATE handling except for whether + seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) + or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-01 Jakub Jelinek + + PR debug/108573 + * ree.c (combine_reaching_defs): Don't return false for paradoxical + subregs in DEBUG_INSNs. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-31 Jakub Jelinek + + PR rtl-optimization/108596 + * bb-reorder.c (fix_up_fall_thru_edges): Handle the case where cur_bb + ends with asm goto and has a crossing fallthrough edge to the same bb + that contains at least one of its labels by restoring EDGE_CROSSING + flag even on possible edge from cur_bb to new_bb successor. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-27 Jakub Jelinek + + PR other/108560 + * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len + from size_t to int. + + 2023-05-03 Eric Biggers + + Backported from master: + 2023-01-24 Eric Biggers + + PR bootstrap/90543 + * optc-save-gen.awk: Fix copy-and-paste error. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-04 Jakub Jelinek + + PR middle-end/108237 + * generic-match-head.c: Include tree-pass.h. + (canonicalize_math_p): Define to false if cfun and + cfun->curr_properties has PROP_gimple_opt_math resp. PROP_gimple_lvec + property set. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-23 Jakub Jelinek + + PR tree-optimization/108068 + * tree.h (real_maybe_zerop): Declare. + * tree.c (real_maybe_zerop): Define. + * tree-ssa-dom.c (record_edge_info): Use it instead of + real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set + can_infer_simple_equiv to false for decimal floating point types. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-22 Jakub Jelinek + + PR rtl-optimization/108193 + * cse.c (compute_const_anchors): Change n type to + unsigned HOST_WIDE_INT, adjust comparison against it to avoid + warnings. Formatting fix. + (insert_const_anchor): Use gen_int_mode instead of GEN_INT. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-16 Jakub Jelinek + + PR rtl-optimization/106751 + * loop-invariant.c (move_invariant_reg): If preheader bb ends + with a JUMP_INSN, split the preheader edge and emit invariants + into the new preheader basic block. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-10 Jakub Jelinek + + PR tree-optimization/107997 + * tree-ssa-loop-ivopts.c: Include cfganal.h. + (create_new_iv) : If ip_end_pos bb is non-empty and ends + with a stmt which ends bb, instead of adding iv update after it split + the latch edge and insert iterator into the new latch bb. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-08 Jakub Jelinek + + PR debug/106719 + * cfgbuild.c (find_bb_boundaries): If there are NOTEs in between + debug_insn (seen after flow_transfer_insn) and insn, move NOTEs + before all the DEBUG_INSNs and split after NOTEs. If there are + other insns like jump table data, clear debug_insn. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-11-24 Jakub Jelinek + + PR middle-end/107317 + * asan.c: Include diagnostic-core.h. + (asan_emit_stack_protection): Return NULL early if seen_error (). + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-11-21 Jakub Jelinek + + PR target/107748 + * config/i386/smmintrin.h (_mm_extract_ps): Uglify names of local + variables and union members. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-11-20 Jakub Jelinek + + PR target/107183 + * reg-stack.c (next_flags_user): Add DEBUG_SEEN argument. + If >= 0 and a DEBUG_INSN would be otherwise returned, set + DEBUG_SEEN to 1 and ignore it. + (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 + mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs + were seen and revert all changes on success in that case. + Don't try to recog_memoized DEBUG_INSNs. + (compare_for_stack_reg): Adjust swap_rtx_condition caller. + If it returns true and debug_seen is 1, call swap_rtx_condition + again with debug_seen -1. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-09-24 Jakub Jelinek + + PR c/107001 + * omp-low.c (lower_omp_taskgroup): Don't add GOMP_RETURN statement + at the end. + * omp-expand.c (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA + is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't + update parent. + (omp_make_gimple_edges) : Reset + cur_region back after new_omp_region. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-07-27 Jakub Jelinek + + PR debug/106261 + * cgraphunit.c (cgraph_node::assemble_thunks_and_aliases): Don't + output asm thunks for -dx. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-07-01 Jakub Jelinek + + PR middle-end/106144 + * wide-int.cc (wi::shifted_mask): If end >= prec, return right after + emitting element for shift or if shift is 0 first element after start. + (wide_int_cc_tests): Add tests for equivalency of wi::mask and + wi::shifted_mask with 0 start. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-06-21 Jakub Jelinek + + PR rtl-optimization/106032 + * ifcvt.c (noce_try_sign_mask): Punt if !t_unconditional, and + t may_trap_or_fault_p, even if it is cheap. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-06-21 Jakub Jelinek + + PR middle-end/106030 + * expr.c (expand_cond_expr_using_cmove): Pass NULL_RTX instead of + temp to expand_operands if mode has been promoted. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2023-01-31 Philipp Tomsich + + PR target/108589 + * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check + REG_P on SET_DEST. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2023-04-17 Philipp Tomsich + Di Zhao + + * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): + Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. + * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): + Check for the above tuning option when processing loads. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2023-03-27 Philipp Tomsich + Jiangning Liu + Manolis Tsamis + + * config/aarch64/aarch64.c: Update vector costs for ampere1. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2022-11-14 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. + * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. + * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): + Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two + registers and then +1/-1). + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Implement + idiom-matcher for the new fusion pair. + * doc/invoke.texi: Add ampere1a. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2022-10-06 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update + Ampere-1 core entry. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2022-10-06 Philipp Tomsich + + * config/aarch64/driver-aarch64.c (readline): Fix off-by-one. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2021-11-03 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): New Ampere-1 + core. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64-cost-tables.h: Add extra costs for + Ampere-1. + * config/aarch64/aarch64.c: Add tuning structures for Ampere-1. + * doc/invoke.texi: Add documentation for Ampere-1 core. + + 2023-04-17 Kewen Lin + + Backported from master: + 2023-04-04 Kewen Lin + + PR target/108699 + * config/rs6000/altivec.md (*p9v_parity2): Rename to ... + (rs6000_vprtyb2): ... this. + * config/rs6000/rs6000-builtin.def (VPRTYBD): Replace parityv2di2 with + rs6000_vprtybv2di2. + (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. + (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. + * config/rs6000/vector.md (parity2 with VEC_IP): Expand with + popcountv16qi2 and the corresponding rs6000_vprtyb2. + + 2023-02-24 Sebastian Huber + + Backported from master: + 2023-02-24 Sebastian Huber + + * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. + Add non-compact 32-bit multilibs. + + 2023-02-20 Alex Coplan + + Backported from master: + 2023-02-06 Alex Coplan + + PR target/104921 + * config/aarch64/aarch64-simd.md (aarch64_bfmlal_lanev4sf): + Use correct constraint for operand 3. + + 2023-02-13 Kewen Lin + + Backported from master: + 2023-01-18 Kewen Lin + + PR target/108348 + * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): Add the + support for invalid uses of MMA opaque type in function arguments. + + 2023-02-13 Kewen Lin + + Backported from master: + 2023-01-16 Kewen Lin + + PR target/108272 + * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): Add the + support for invalid uses in inline asm, factor out the checking and + erroring to lambda function check_and_error_invalid_use. + + 2023-02-07 Richard Biener + + Backported from master: + 2022-09-02 Richard Biener + + PR tree-optimization/106809 + * tree-ssa-sccvn.c (dominaged_by_p_w_unex): Check we have + more than one successor before doing extra work. + + 2023-02-03 Alex Coplan + + Backported from master: + 2022-12-01 Alex Coplan + + * varasm.c (assemble_variable): Fix type confusion bug when + checking for ".vtable_map_vars" section. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-11-11 Richard Biener + Nikita Voronov + + PR tree-optimization/107554 + * tree-ssa-strlen.c (strlen_pass::count_nonzero_bytes): + Use unsigned HOST_WIDE_INT type for the strlen. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-10-21 Richard Biener + + PR tree-optimization/107323 + * tree-loop-distribution.c (pg_unmark_merged_alias_ddrs): + New function. + (loop_distribution::break_alias_scc_partitions): Revert + postorder save/restore from the PR94125 fix. Instead + make sure to not ignore edges from SCCs we are going to + merge. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-10-06 Richard Biener + + PR tree-optimization/107107 + * tree-ssa-sccvn.c (visit_reference_op_store): Do not + affect value-numbering when doing the tail merging + MODIFY_EXPR lookup. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-09-14 Richard Biener + + PR tree-optimization/106934 + * tree-ssa.c (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs + of bitfields. + (maybe_rewrite_mem_ref_base): Likewise. + + 2023-01-25 Christophe Lyon + + Backported from master: + 2023-01-12 Christophe Lyon + Richard Sandiford + + * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Fix + comment. + (aarch64_layout_arg): Factorize warning conditions. + (aarch64_function_arg_boundary): Fix typo. + * function.c (currently_expanding_function_start): New variable. + (expand_function_start): Handle + currently_expanding_function_start. + * function.h (currently_expanding_function_start): Declare. + + 2023-01-24 Sergei Trofimovich + + Backported from master: + 2022-08-16 Sergei Trofimovich + + PR driver/106624 + * gcc.c (driver::detect_jobserver): Allocate storage xputenv() + argument using xstrdup(). + + 2023-01-05 Kewen Lin + + PR target/106736 + * config/rs6000/mma.md (define_expand movoo): Call function + rs6000_opaque_type_invalid_use_p to check and emit error message for + the invalid use of opaque type. + (define_expand movxo): Likewise. + * config/rs6000/rs6000-protos.h + (rs6000_opaque_type_invalid_use_p): New function declaration. + (currently_expanding_gimple_stmt): New extern declaration. + * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): New + function. + + 2022-12-22 Martin Liska + + Backported from master: + 2022-08-10 Martin Liska + + * opts-jobserver.h: Add one member. + * opts-common.c (jobserver_info::jobserver_info): Parse FIFO + format of --jobserver-auth. + + 2022-12-22 Martin Liska + + Backported from master: + 2022-08-10 Martin Liska + + * gcc.c (driver::detect_jobserver): Remove and move to + jobserver.h. + * lto-wrapper.c (jobserver_active_p): Likewise. + (run_gcc): Likewise. + * opts-jobserver.h: New file. + * opts-common.c (jobserver_info::jobserver_info): New function. + + 2022-12-15 Sebastian Pop + + PR target/98776 + * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): + Declared. + * config/aarch64/aarch64.c (aarch64_print_patchable_function_entry): + Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. + (aarch64_output_patchable_area): New. + * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. + (patchable_area): Define. + + 2022-12-01 liuhongt + + PR target/107863 + * config/i386/i386-expand.c (ix86_expand_vec_set_builtin): + Convert op1 to target mode whenever mode mismatch. + + 2022-11-30 John David Anglin + + * config/pa/pa.md (addvdi3): Force operand 2 to a register. + Remove "addi,tsv,*" instruction from unamed pattern. + (subvdi3): Force operand 1 to a register. + Remove "subi,tsv" instruction from from unamed pattern. + + 2022-11-29 Max Filippov + + Backported from master: + 2022-11-08 Max Filippov + + PR rtl-optimization/107482 + * ira-color.c (assign_hard_reg): Only call + update_costs_from_copies when retry_p is false. + + 2022-11-19 Thomas Schwinge + + Backported from master: + 2022-11-19 Thomas Schwinge + + * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for + '-mmainkernel'. + + 2022-11-14 Richard Biener + + PR tree-optimization/107485 + * tree-inline.c (remap_gimple_stmt): Use correct type for + split out condition of [VEC_]COND_EXPRs. + + 2022-11-08 H.J. Lu + + Backported from master: + 2022-10-25 H.J. Lu + + PR target/107304 + * expr.c (get_inner_reference): Always use TYPE_MODE for vector + field with vector raw mode. + + 2022-11-05 Jonathan Wakely + + Backported from master: + 2022-11-05 Jonathan Wakely + + PR c/41041 + * doc/cppopts.texi: Document -fwide-exec-charset defaults + correctly. + + 2022-10-25 Stefan Schulze Frielinghaus + + Backported from master: + 2022-10-19 Stefan Schulze Frielinghaus + + PR target/106355 + * config/s390/s390.c (s390_call_saved_register_used): For a + parameter with BLKmode fix determining number of consecutive + registers. + + 2022-10-25 Martin Liska + + Backported from master: + 2022-10-24 Martin Liska + + PR target/107364 + * common/config/i386/i386-cpuinfo.h (enum processor_vendor): + Reorder enum values as BUILTIN_VENDOR_MAX should not point + in the middle of the valid enum values. + + 2022-10-21 Eric Botcazou + + PR target/107336 + * optabs.c (expand_vec_cond_expr): Query both VCOND and VCONDU for + EQ and NE. + + 2022-10-21 Richard Sandiford + + Backported from master: + 2022-10-20 Richard Sandiford + + * config/aarch64/aarch64-sve.md (*aarch64_brk_cc): Remove + merging alternative. + (*aarch64_brk_ptest): Likewise. + + 2022-10-21 Richard Sandiford + + Backported from master: + 2022-10-20 Richard Sandiford + + * config/aarch64/iterators.md (SVE_BRKP): New iterator. + * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. + (*aarch64_brkn_ptest): Likewise. + (*aarch64_brk_cc): Restrict to SVE_BRKP. + (*aarch64_brk_ptest): Likewise. + + 2022-10-21 Richard Sandiford + + * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add + AARCH64_FL_RCPC. + (AARCH64_ISA_RCPC): New macro. + * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) + (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. + * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define + __ARM_FEATURE_RCPC when appropriate. + + 2022-10-20 Kewen Lin + + Backported from master: + 2022-09-26 Kewen Lin + + PR target/96072 + * config/rs6000/rs6000-logue.c (rs6000_emit_epilogue): Update the + condition for adding REG_CFA_DEF_CFA reg note with + frame_pointer_needed_indeed. + + 2022-10-17 Pat Haugen + + PR target/99685 + * config/rs6000/rs6000-call.c (rs6000_function_arg_advance_1): Bump + register count when not splitting IEEE 128-bit Complex. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-08-10 Richard Biener + + PR lto/106540 + PR lto/106334 + * lto-streamer-in.c (lto_read_tree_1): Use lto_input_tree_1 + to input DECL_INITIAL, avoiding to commit drefs. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-08-10 Richard Biener + + PR tree-optimization/106513 + * gimple-ssa-store-merging.c (do_shift_rotate): Use uint64_t + for head_marker. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-07-19 Richard Biener + + PR middle-end/106331 + * builtins.c (get_memory_rtx): Compute alignment from + the original address and set MEM_OFFSET to unknown when + we create a MEM_EXPR from the base object of the address. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-07-01 Richard Biener + + PR tree-optimization/106131 + * tree-ssa-sccvn.c (vn_reference_lookup_3): Force alias-set + zero when offsetting the read looking through an aggregate + copy. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-06-29 Richard Biener + + PR tree-optimization/106112 + * tree-ssa-sccvn.c (valueized_wider_op): Properly extend + a constant operand according to its type. + + 2022-10-14 Eric Botcazou + + PR target/107248 + * config/sparc/sparc.c (sparc_expand_prologue): Emit a frame + blockage for leaf functions. + (sparc_flat_expand_prologue): Emit frame instead of full blockage. + (sparc_expand_epilogue): Emit a frame blockage for leaf functions. + (sparc_flat_expand_epilogue): Emit frame instead of full blockage. + + 2022-10-03 Sergei Trofimovich + + Backported from master: + 2022-10-03 Sergei Trofimovich + + PR target/107064 + * config/i386/t-i386: Add build-time dependencies against + i386-builtin-types.inc to i386-builtins.o, i386-expand.o, + i386-features.o. + + 2022-09-28 Kyrylo Tkachov + + * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (AArch64 Options): Document neoverse-v2. + + 2022-09-21 Richard Sandiford + + Backported from master: + 2022-09-20 Richard Sandiford + + PR target/106491 + * config/aarch64/aarch64-sve-builtins.cc (scalar_types) + (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY + markup to (new) extern declarations instead of to the main + definition. + + 2022-09-14 Tom de Vries + + Backported from master: + 2022-02-01 Tom de Vries + + * config/nvptx/nvptx.c (nvptx_single): Use nvptx_uniform_warp_check. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_UNIFORM_WARP_CHECK. + (define_insn "nvptx_uniform_warp_check"): New define_insn. + + 2022-09-14 Tom de Vries + + Backported from master: + 2022-02-01 Tom de Vries + + * config/nvptx/nvptx.c (nvptx_single): Use nvptx_warpsync. + * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add + UNSPECV_WARPSYNC. + (define_insn "nvptx_warpsync"): New define_insn. + + 2022-09-14 Thomas Schwinge + + * config/nvptx/nvptx.h (TARGET_PTX_6_0): '#define' to 'false'. + + 2022-09-13 Peter Bergner + + Backported from master: + 2022-09-01 Peter Bergner + + PR target/101322 + * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): + Enforce the use of a valid MMA pointer type. + + 2022-09-08 Sebastian Huber + + * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if + -mvrsave is present. + * config/rs6000/t-rtems: Add -mvrsave multilib variants for + -mcpu=e6500. + + 2022-08-30 Peter Bergner + + Backported from master: + 2022-08-28 Peter Bergner + + PR target/106017 + * config/rs6000/rs6000.c (rs6000_invalid_conversion): Remove handling + of MMA pointer conversions. + + 2022-08-24 Kewen Lin + + Backported from master: + 2022-08-16 Kewen Lin + + PR target/103353 + * config/rs6000/mma.md (define_expand movpoi): Move TARGET_MMA condition + check to preparation statements and add handlings for !TARGET_MMA. + (define_expand movpxi): Likewise. + + 2022-08-16 Segher Boessenkool + + Backported from master: + 2022-04-21 Segher Boessenkool + + PR target/103197 + PR target/102146 + * config/rs6000/rs6000.md (zero_extendqi2 for EXTQI): Disparage + the "Z" alternatives in {l,st}{f,xs}iwzx. + (zero_extendhi2 for EXTHI): Ditto. + (zero_extendsi2 for EXTSI): Ditto. + (*movsi_internal1): Ditto. + (*mov_internal1 for QHI): Ditto. + (movsd_hardfloat): Ditto. + + 2022-08-02 Peter Bergner + + Backported from master: + 2022-07-25 Peter Bergner + Kewen Lin + + PR testsuite/106345 + * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu + to filter out all -mtune options. + + 2022-08-02 Kewen Lin + + Backported from master: + 2022-07-26 Kewen Lin + + PR target/106091 + * config/rs6000/rs6000-p8swap.c (replace_swapped_aligned_store): Copy + REG_EH_REGION when replacing one store insn having it. + (replace_swapped_aligned_load): Likewise. + + 2022-07-25 Sebastian Huber + + Backported from master: + 2022-07-25 Sebastian Huber + + * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. + + 2022-07-22 Surya Kumari Jangala + + Backported from master: + 2022-06-14 Surya Kumari Jangala + + PR rtl-optimization/105041 + * regrename.c (check_new_reg_p): Use nregs value from du chain. + + 2022-07-13 Martin Jambor + + Backported from master: + 2022-07-04 Martin Jambor + + PR tree-optimization/105860 + * tree-sra.c (build_reconstructed_reference): Start expr + traversal only just below the outermost union. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/DATESTAMP gcc-10.5.0/gcc/DATESTAMP *** gcc-10.4.0/gcc/DATESTAMP Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/DATESTAMP Fri Jul 7 07:08:18 2023 *************** *** 1 **** ! 20220628 --- 1 ---- ! 20230707 diff -Nrcpad gcc-10.4.0/gcc/ada/ChangeLog gcc-10.5.0/gcc/ada/ChangeLog *** gcc-10.4.0/gcc/ada/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/ada/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/analyzer/ChangeLog gcc-10.5.0/gcc/analyzer/ChangeLog *** gcc-10.4.0/gcc/analyzer/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/analyzer/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/asan.c gcc-10.5.0/gcc/asan.c *** gcc-10.4.0/gcc/asan.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/asan.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 64,69 **** --- 64,70 ---- #include "tree-inline.h" #include "tree-ssa.h" #include "tree-eh.h" + #include "diagnostic-core.h" /* AddressSanitizer finds out-of-bounds and use-after-free bugs with <2x slowdown on average. *************** asan_emit_stack_protection (rtx base, rt *** 1429,1434 **** --- 1430,1440 ---- tree str_cst, decl, id; int use_after_return_class = -1; + /* Don't emit anything when doing error recovery, the assertions + might fail e.g. if a function had a frame offset overflow. */ + if (seen_error ()) + return NULL; + if (shadow_ptr_types[0] == NULL_TREE) asan_init_shadow_ptr_types (); diff -Nrcpad gcc-10.4.0/gcc/bb-reorder.c gcc-10.5.0/gcc/bb-reorder.c *** gcc-10.4.0/gcc/bb-reorder.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/bb-reorder.c Fri Jul 7 07:08:19 2023 *************** fix_up_fall_thru_edges (void) *** 1998,2003 **** --- 1998,2004 ---- becomes EDGE_CROSSING. */ fall_thru->flags &= ~EDGE_CROSSING; + unsigned old_count = EDGE_COUNT (cur_bb->succs); basic_block new_bb = force_nonfallthru (fall_thru); if (new_bb) *************** fix_up_fall_thru_edges (void) *** 2009,2015 **** gcc_assert (BB_PARTITION (new_bb) == BB_PARTITION (cur_bb)); ! single_succ_edge (new_bb)->flags |= EDGE_CROSSING; } else { --- 2010,2034 ---- gcc_assert (BB_PARTITION (new_bb) == BB_PARTITION (cur_bb)); ! edge e = single_succ_edge (new_bb); ! e->flags |= EDGE_CROSSING; ! if (EDGE_COUNT (cur_bb->succs) > old_count) ! { ! /* If asm goto has a crossing fallthrough edge ! and at least one of the labels to the same bb, ! force_nonfallthru can result in the fallthrough ! edge being redirected and a new edge added for the ! label or more labels to e->dest. As we've ! temporarily cleared EDGE_CROSSING flag on the ! fallthrough edge, we need to restore it again. ! See PR108596. */ ! rtx_insn *j = BB_END (cur_bb); ! gcc_checking_assert (JUMP_P (j) ! && asm_noperands (PATTERN (j))); ! edge e2 = find_edge (cur_bb, e->dest); ! if (e2) ! e2->flags |= EDGE_CROSSING; ! } } else { diff -Nrcpad gcc-10.4.0/gcc/brig/ChangeLog gcc-10.5.0/gcc/brig/ChangeLog *** gcc-10.4.0/gcc/brig/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/brig/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/builtins.c gcc-10.5.0/gcc/builtins.c *** gcc-10.4.0/gcc/builtins.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/builtins.c Fri Jul 7 07:08:19 2023 *************** expand_builtin_prefetch (tree exp) *** 1471,1477 **** static rtx get_memory_rtx (tree exp, tree len) { ! tree orig_exp = exp; rtx addr, mem; /* When EXP is not resolved SAVE_EXPR, MEM_ATTRS can be still derived --- 1471,1477 ---- static rtx get_memory_rtx (tree exp, tree len) { ! tree orig_exp = exp, base; rtx addr, mem; /* When EXP is not resolved SAVE_EXPR, MEM_ATTRS can be still derived *************** get_memory_rtx (tree exp, tree len) *** 1502,1511 **** if (is_gimple_mem_ref_addr (TREE_OPERAND (exp, 0))) set_mem_attributes (mem, exp, 0); else if (TREE_CODE (TREE_OPERAND (exp, 0)) == ADDR_EXPR ! && (exp = get_base_address (TREE_OPERAND (TREE_OPERAND (exp, 0), ! 0)))) { ! exp = build_fold_addr_expr (exp); exp = fold_build2 (MEM_REF, build_array_type (char_type_node, build_range_type (sizetype, --- 1502,1512 ---- if (is_gimple_mem_ref_addr (TREE_OPERAND (exp, 0))) set_mem_attributes (mem, exp, 0); else if (TREE_CODE (TREE_OPERAND (exp, 0)) == ADDR_EXPR ! && (base = get_base_address (TREE_OPERAND (TREE_OPERAND (exp, 0), ! 0)))) { ! unsigned int align = get_pointer_alignment (TREE_OPERAND (exp, 0)); ! exp = build_fold_addr_expr (base); exp = fold_build2 (MEM_REF, build_array_type (char_type_node, build_range_type (sizetype, *************** get_memory_rtx (tree exp, tree len) *** 1513,1518 **** --- 1514,1523 ---- NULL)), exp, build_int_cst (ptr_type_node, 0)); set_mem_attributes (mem, exp, 0); + /* Since we stripped parts make sure the offset is unknown and the + alignment is computed from the original address. */ + clear_mem_offset (mem); + set_mem_align (mem, align); } set_mem_alias_set (mem, 0); return mem; diff -Nrcpad gcc-10.4.0/gcc/c/ChangeLog gcc-10.5.0/gcc/c/ChangeLog *** gcc-10.4.0/gcc/c/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,35 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-10-24 Jakub Jelinek + + PR c++/107358 + * c-typeck.c (build_binary_op): Pass operands before excess precision + promotions to scalar_to_vector call. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-09-24 Jakub Jelinek + + PR c/106981 + * c-typeck.c (c_tree_equal): Only strip NON_LVALUE_EXPRs at the + start. For CONSTANT_CLASS_P or CASE_CONVERT: return false if t1 and + t2 have different types. + + 2022-08-02 Lewis Hyatt + + Backported from master: + 2022-07-10 Lewis Hyatt + + PR preprocessor/97498 + * c-parser.c (c_parser_pragma): Set input_location to the + location of the pragma, rather than the start of the line. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/c/c-parser.c gcc-10.5.0/gcc/c/c-parser.c *** gcc-10.4.0/gcc/c/c-parser.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c/c-parser.c Fri Jul 7 07:08:19 2023 *************** c_parser_pragma (c_parser *parser, enum *** 12328,12333 **** --- 12328,12334 ---- unsigned int id; const char *construct = NULL; + input_location = c_parser_peek_token (parser)->location; id = c_parser_peek_token (parser)->pragma_kind; gcc_assert (id != PRAGMA_NONE); diff -Nrcpad gcc-10.4.0/gcc/c/c-typeck.c gcc-10.5.0/gcc/c/c-typeck.c *** gcc-10.4.0/gcc/c/c-typeck.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c/c-typeck.c Fri Jul 7 07:08:19 2023 *************** build_binary_op (location_t location, en *** 11706,11713 **** if ((gnu_vector_type_p (type0) && code1 != VECTOR_TYPE) || (gnu_vector_type_p (type1) && code0 != VECTOR_TYPE)) { ! enum stv_conv convert_flag = scalar_to_vector (location, code, op0, op1, ! true); switch (convert_flag) { --- 11706,11713 ---- if ((gnu_vector_type_p (type0) && code1 != VECTOR_TYPE) || (gnu_vector_type_p (type1) && code0 != VECTOR_TYPE)) { ! enum stv_conv convert_flag = scalar_to_vector (location, code, orig_op0, ! orig_op1, true); switch (convert_flag) { *************** c_tree_equal (tree t1, tree t2) *** 15360,15373 **** if (!t1 || !t2) return false; ! for (code1 = TREE_CODE (t1); ! CONVERT_EXPR_CODE_P (code1) ! || code1 == NON_LVALUE_EXPR; code1 = TREE_CODE (t1)) t1 = TREE_OPERAND (t1, 0); ! for (code2 = TREE_CODE (t2); ! CONVERT_EXPR_CODE_P (code2) ! || code2 == NON_LVALUE_EXPR; code2 = TREE_CODE (t2)) t2 = TREE_OPERAND (t2, 0); --- 15360,15369 ---- if (!t1 || !t2) return false; ! for (code1 = TREE_CODE (t1); code1 == NON_LVALUE_EXPR; code1 = TREE_CODE (t1)) t1 = TREE_OPERAND (t1, 0); ! for (code2 = TREE_CODE (t2); code2 == NON_LVALUE_EXPR; code2 = TREE_CODE (t2)) t2 = TREE_OPERAND (t2, 0); *************** c_tree_equal (tree t1, tree t2) *** 15378,15383 **** --- 15374,15382 ---- if (code1 != code2) return false; + if (CONSTANT_CLASS_P (t1) && !comptypes (TREE_TYPE (t1), TREE_TYPE (t2))) + return false; + switch (code1) { case INTEGER_CST: *************** c_tree_equal (tree t1, tree t2) *** 15497,15502 **** --- 15496,15506 ---- return true; } + CASE_CONVERT: + if (!comptypes (TREE_TYPE (t1), TREE_TYPE (t2))) + return false; + break; + default: break; } diff -Nrcpad gcc-10.4.0/gcc/c-family/ChangeLog gcc-10.5.0/gcc/c-family/ChangeLog *** gcc-10.4.0/gcc/c-family/ChangeLog Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c-family/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,46 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR c/109151 + * c-ubsan.c (ubsan_instrument_division): Handle all scalar integral + types rather than just INTEGER_TYPE. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-04 Jakub Jelinek + + PR c/107465 + * c-warn.c (warn_for_sign_compare): Don't warn for unset bits + above innermost zero extension of BIT_NOT_EXPR result. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-04 Jakub Jelinek + + PR c/107465 + * c-warn.c (warn_for_sign_compare): If c_common_get_narrower + doesn't return a narrower result, use TYPE_UNSIGNED to set unsignedp0 + and unsignedp1. For the one BIT_NOT_EXPR case vs. one without, + only check for constant in the non-BIT_NOT_EXPR operand, use std::swap + to simplify the code, only warn if BIT_NOT_EXPR operand is extended + from narrower unsigned, fix up computation of mask for the constant + cases and for unsigned other operand case handle differently + BIT_NOT_EXPR result being sign vs. zero extended. + + 2023-04-21 Jason Merrill + + PR c++/107163 + * c-common.c (verify_tree): Don't use sequenced handling + for COMPONENT_REF. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/c-family/c-common.c gcc-10.5.0/gcc/c-family/c-common.c *** gcc-10.4.0/gcc/c-family/c-common.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c-family/c-common.c Fri Jul 7 07:08:19 2023 *************** verify_tree (tree x, struct tlist **pbef *** 2006,2017 **** case LSHIFT_EXPR: case RSHIFT_EXPR: - case COMPONENT_REF: case ARRAY_REF: if (cxx_dialect >= cxx17) goto sequenced_binary; goto do_default; default: do_default: /* For other expressions, simply recurse on their operands. --- 2006,2022 ---- case LSHIFT_EXPR: case RSHIFT_EXPR: case ARRAY_REF: if (cxx_dialect >= cxx17) goto sequenced_binary; goto do_default; + case COMPONENT_REF: + /* Treat as unary, the other operands aren't evaluated. */ + x = TREE_OPERAND (x, 0); + writer = 0; + goto restart; + default: do_default: /* For other expressions, simply recurse on their operands. diff -Nrcpad gcc-10.4.0/gcc/c-family/c-ubsan.c gcc-10.5.0/gcc/c-family/c-ubsan.c *** gcc-10.4.0/gcc/c-family/c-ubsan.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c-family/c-ubsan.c Fri Jul 7 07:08:19 2023 *************** ubsan_instrument_division (location_t lo *** 53,59 **** op0 = unshare_expr (op0); op1 = unshare_expr (op1); ! if (TREE_CODE (type) == INTEGER_TYPE && sanitize_flags_p (SANITIZE_DIVIDE)) t = fold_build2 (EQ_EXPR, boolean_type_node, op1, build_int_cst (type, 0)); --- 53,59 ---- op0 = unshare_expr (op0); op1 = unshare_expr (op1); ! if (INTEGRAL_TYPE_P (type) && sanitize_flags_p (SANITIZE_DIVIDE)) t = fold_build2 (EQ_EXPR, boolean_type_node, op1, build_int_cst (type, 0)); *************** ubsan_instrument_division (location_t lo *** 68,74 **** return NULL_TREE; /* We check INT_MIN / -1 only for signed types. */ ! if (TREE_CODE (type) == INTEGER_TYPE && sanitize_flags_p (SANITIZE_DIVIDE) && !TYPE_UNSIGNED (type)) { --- 68,74 ---- return NULL_TREE; /* We check INT_MIN / -1 only for signed types. */ ! if (INTEGRAL_TYPE_P (type) && sanitize_flags_p (SANITIZE_DIVIDE) && !TYPE_UNSIGNED (type)) { diff -Nrcpad gcc-10.4.0/gcc/c-family/c-warn.c gcc-10.5.0/gcc/c-family/c-warn.c *** gcc-10.4.0/gcc/c-family/c-warn.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/c-family/c-warn.c Fri Jul 7 07:08:19 2023 *************** warn_for_sign_compare (location_t locati *** 2340,2381 **** have all bits set that are set in the ~ operand when it is extended. */ ! op0 = c_common_get_narrower (op0, &unsignedp0); ! op1 = c_common_get_narrower (op1, &unsignedp1); if ((TREE_CODE (op0) == BIT_NOT_EXPR) ^ (TREE_CODE (op1) == BIT_NOT_EXPR)) { - if (TREE_CODE (op0) == BIT_NOT_EXPR) - op0 = c_common_get_narrower (TREE_OPERAND (op0, 0), &unsignedp0); if (TREE_CODE (op1) == BIT_NOT_EXPR) - op1 = c_common_get_narrower (TREE_OPERAND (op1, 0), &unsignedp1); - - if (tree_fits_shwi_p (op0) || tree_fits_shwi_p (op1)) { ! tree primop; ! HOST_WIDE_INT constant, mask; ! int unsignedp; ! unsigned int bits; ! if (tree_fits_shwi_p (op0)) ! { ! primop = op1; ! unsignedp = unsignedp1; ! constant = tree_to_shwi (op0); ! } ! else ! { ! primop = op0; ! unsignedp = unsignedp0; ! constant = tree_to_shwi (op1); ! } ! bits = TYPE_PRECISION (TREE_TYPE (primop)); ! if (bits < TYPE_PRECISION (result_type) ! && bits < HOST_BITS_PER_LONG && unsignedp) { ! mask = HOST_WIDE_INT_M1U << bits; if ((mask & constant) != mask) { if (constant == 0) --- 2340,2402 ---- have all bits set that are set in the ~ operand when it is extended. */ ! /* bits0 is the bit index of op0 extended to result_type, which will ! be always 0 and so all bits above it. If there is a BIT_NOT_EXPR ! in that operand possibly sign or zero extended to op0 and then ! possibly further sign or zero extended to result_type, bits0 will ! be the precision of result type if all the extensions involved ! if any are sign extensions, and will be the place of the innermost ! zero extension otherwise. We warn only if BIT_NOT_EXPR's operand is ! zero extended from some even smaller precision, in that case after ! BIT_NOT_EXPR some bits below bits0 will be guaranteed to be set. ! Similarly for bits1. */ ! int bits0 = TYPE_PRECISION (result_type); ! if (TYPE_UNSIGNED (TREE_TYPE (op0))) ! bits0 = TYPE_PRECISION (TREE_TYPE (op0)); ! tree arg0 = c_common_get_narrower (op0, &unsignedp0); ! if (TYPE_PRECISION (TREE_TYPE (arg0)) == TYPE_PRECISION (TREE_TYPE (op0))) ! unsignedp0 = TYPE_UNSIGNED (TREE_TYPE (op0)); ! else if (unsignedp0) ! bits0 = TYPE_PRECISION (TREE_TYPE (arg0)); ! op0 = arg0; ! int bits1 = TYPE_PRECISION (result_type); ! if (TYPE_UNSIGNED (TREE_TYPE (op1))) ! bits1 = TYPE_PRECISION (TREE_TYPE (op1)); ! tree arg1 = c_common_get_narrower (op1, &unsignedp1); ! if (TYPE_PRECISION (TREE_TYPE (arg1)) == TYPE_PRECISION (TREE_TYPE (op1))) ! unsignedp1 = TYPE_UNSIGNED (TREE_TYPE (op1)); ! else if (unsignedp1) ! bits1 = TYPE_PRECISION (TREE_TYPE (arg1)); ! op1 = arg1; if ((TREE_CODE (op0) == BIT_NOT_EXPR) ^ (TREE_CODE (op1) == BIT_NOT_EXPR)) { if (TREE_CODE (op1) == BIT_NOT_EXPR) { ! std::swap (op0, op1); ! std::swap (unsignedp0, unsignedp1); ! std::swap (bits0, bits1); ! } ! int unsignedp; ! arg0 = c_common_get_narrower (TREE_OPERAND (op0, 0), &unsignedp); ! /* For these warnings, we need BIT_NOT_EXPR operand to be ! zero extended from narrower type to BIT_NOT_EXPR's type. ! In that case, all those bits above the narrower's type ! are after BIT_NOT_EXPR set to 1. */ ! if (tree_fits_shwi_p (op1)) ! { ! HOST_WIDE_INT constant = tree_to_shwi (op1); ! unsigned int bits = TYPE_PRECISION (TREE_TYPE (arg0)); ! if (unsignedp ! && bits < TYPE_PRECISION (TREE_TYPE (op0)) ! && bits < HOST_BITS_PER_WIDE_INT) { ! HOST_WIDE_INT mask = HOST_WIDE_INT_M1U << bits; ! if (bits0 < HOST_BITS_PER_WIDE_INT) ! mask &= ~(HOST_WIDE_INT_M1U << bits0); if ((mask & constant) != mask) { if (constant == 0) *************** warn_for_sign_compare (location_t locati *** 2389,2399 **** } } } ! else if (unsignedp0 && unsignedp1 ! && (TYPE_PRECISION (TREE_TYPE (op0)) ! < TYPE_PRECISION (result_type)) ! && (TYPE_PRECISION (TREE_TYPE (op1)) ! < TYPE_PRECISION (result_type))) warning_at (location, OPT_Wsign_compare, "comparison of promoted bitwise complement " "of an unsigned value with unsigned"); --- 2410,2420 ---- } } } ! else if ((TYPE_PRECISION (TREE_TYPE (arg0)) ! < TYPE_PRECISION (TREE_TYPE (op0))) ! && unsignedp ! && unsignedp1 ! && TYPE_PRECISION (TREE_TYPE (op1)) < bits0) warning_at (location, OPT_Wsign_compare, "comparison of promoted bitwise complement " "of an unsigned value with unsigned"); diff -Nrcpad gcc-10.4.0/gcc/cfgbuild.c gcc-10.5.0/gcc/cfgbuild.c *** gcc-10.4.0/gcc/cfgbuild.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/cfgbuild.c Fri Jul 7 07:08:19 2023 *************** find_bb_boundaries (basic_block bb) *** 445,450 **** --- 445,451 ---- rtx_insn *debug_insn = NULL; edge fallthru = NULL; bool skip_purge; + bool seen_note_after_debug = false; if (insn == end) return; *************** find_bb_boundaries (basic_block bb) *** 492,498 **** if (code == DEBUG_INSN) { if (flow_transfer_insn && !debug_insn) ! debug_insn = insn; } /* In case we've previously seen an insn that effects a control flow transfer, split the block. */ --- 493,502 ---- if (code == DEBUG_INSN) { if (flow_transfer_insn && !debug_insn) ! { ! debug_insn = insn; ! seen_note_after_debug = false; ! } } /* In case we've previously seen an insn that effects a control flow transfer, split the block. */ *************** find_bb_boundaries (basic_block bb) *** 506,512 **** insn instead of before the non-debug insn, so that the debug insns are not lost. */ if (debug_insn && code != CODE_LABEL && code != BARRIER) ! prev = PREV_INSN (debug_insn); fallthru = split_block (bb, prev); if (flow_transfer_insn) { --- 510,549 ---- insn instead of before the non-debug insn, so that the debug insns are not lost. */ if (debug_insn && code != CODE_LABEL && code != BARRIER) ! { ! prev = PREV_INSN (debug_insn); ! if (seen_note_after_debug) ! { ! /* Though, if there are NOTEs intermixed with DEBUG_INSNs, ! move the NOTEs before the DEBUG_INSNs and split after ! the last NOTE. */ ! rtx_insn *first = NULL, *last = NULL; ! for (x = debug_insn; x != insn; x = NEXT_INSN (x)) ! { ! if (NOTE_P (x)) ! { ! if (first == NULL) ! first = x; ! last = x; ! } ! else ! { ! gcc_assert (DEBUG_INSN_P (x)); ! if (first) ! { ! reorder_insns_nobb (first, last, prev); ! prev = last; ! first = last = NULL; ! } ! } ! } ! if (first) ! { ! reorder_insns_nobb (first, last, prev); ! prev = last; ! } ! } ! } fallthru = split_block (bb, prev); if (flow_transfer_insn) { *************** find_bb_boundaries (basic_block bb) *** 547,552 **** --- 584,597 ---- flow_transfer_insn = prev_nonnote_nondebug_insn_bb (insn); debug_insn = NULL; } + else if (debug_insn) + { + if (code == NOTE) + seen_note_after_debug = true; + else + /* Jump tables. */ + debug_insn = NULL; + } if (control_flow_insn_p (insn)) flow_transfer_insn = insn; diff -Nrcpad gcc-10.4.0/gcc/cgraphclones.c gcc-10.5.0/gcc/cgraphclones.c *** gcc-10.4.0/gcc/cgraphclones.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/cgraphclones.c Fri Jul 7 07:08:19 2023 *************** duplicate_thunk_for_node (cgraph_node *t *** 214,220 **** body_adj.modify_formal_parameters (); } else ! new_decl = copy_node (thunk->decl); gcc_checking_assert (!DECL_STRUCT_FUNCTION (new_decl)); gcc_checking_assert (!DECL_INITIAL (new_decl)); --- 214,230 ---- body_adj.modify_formal_parameters (); } else ! { ! new_decl = copy_node (thunk->decl); ! for (tree *arg = &DECL_ARGUMENTS (new_decl); ! *arg; arg = &DECL_CHAIN (*arg)) ! { ! tree next = DECL_CHAIN (*arg); ! *arg = copy_node (*arg); ! DECL_CONTEXT (*arg) = new_decl; ! DECL_CHAIN (*arg) = next; ! } ! } gcc_checking_assert (!DECL_STRUCT_FUNCTION (new_decl)); gcc_checking_assert (!DECL_INITIAL (new_decl)); diff -Nrcpad gcc-10.4.0/gcc/cgraphunit.c gcc-10.5.0/gcc/cgraphunit.c *** gcc-10.4.0/gcc/cgraphunit.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/cgraphunit.c Fri Jul 7 07:08:19 2023 *************** cgraph_node::assemble_thunks_and_aliases *** 2223,2229 **** cgraph_node *thunk = e->caller; e = e->next_caller; ! thunk->expand_thunk (true, false); thunk->assemble_thunks_and_aliases (); } else --- 2223,2229 ---- cgraph_node *thunk = e->caller; e = e->next_caller; ! thunk->expand_thunk (!rtl_dump_and_exit, false); thunk->assemble_thunks_and_aliases (); } else diff -Nrcpad gcc-10.4.0/gcc/common/config/i386/i386-cpuinfo.h gcc-10.5.0/gcc/common/config/i386/i386-cpuinfo.h *** gcc-10.4.0/gcc/common/config/i386/i386-cpuinfo.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/common/config/i386/i386-cpuinfo.h Fri Jul 7 07:08:19 2023 *************** enum processor_vendor *** 30,37 **** VENDOR_INTEL = 1, VENDOR_AMD, VENDOR_OTHER, ! BUILTIN_VENDOR_MAX = VENDOR_OTHER, ! VENDOR_MAX }; /* Any new types or subtypes have to be inserted at the end. */ --- 30,39 ---- VENDOR_INTEL = 1, VENDOR_AMD, VENDOR_OTHER, ! ! /* Maximum values must be at the end of this enum. */ ! VENDOR_MAX, ! BUILTIN_VENDOR_MAX = VENDOR_OTHER }; /* Any new types or subtypes have to be inserted at the end. */ diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-c.c gcc-10.5.0/gcc/config/aarch64/aarch64-c.c *** gcc-10.4.0/gcc/config/aarch64/aarch64-c.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-c.c Fri Jul 7 07:08:19 2023 *************** aarch64_update_cpp_builtins (cpp_reader *** 199,204 **** --- 199,205 ---- "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC", pfile); aarch64_def_or_undef (TARGET_BF16_FP, "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC", pfile); + aarch64_def_or_undef (AARCH64_ISA_RCPC, "__ARM_FEATURE_RCPC", pfile); /* Not for ACLE, but required to keep "float.h" correct if we switch target between implementations that do or do not support ARMv8.2-A diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-cores.def gcc-10.5.0/gcc/config/aarch64/aarch64-cores.def *** gcc-10.4.0/gcc/config/aarch64/aarch64-cores.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-cores.def Fri Jul 7 07:08:19 2023 *************** AARCH64_CORE("octeontx83", octeontxt8 *** 68,74 **** AARCH64_CORE("thunderxt81", thunderxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1) AARCH64_CORE("thunderxt83", thunderxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1) ! /* Ampere Computing cores. */ /* Do not swap around "emag" and "xgene1", this order is required to handle variant correctly. */ AARCH64_CORE("emag", emag, xgene1, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, emag, 0x50, 0x000, 3) --- 68,76 ---- AARCH64_CORE("thunderxt81", thunderxt81, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a2, -1) AARCH64_CORE("thunderxt83", thunderxt83, thunderx, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx, 0x43, 0x0a3, -1) ! /* Ampere Computing ('\xC0') cores. */ ! AARCH64_CORE("ampere1", ampere1, cortexa57, 8_6A, AARCH64_FL_FOR_ARCH8_6 | AARCH64_FL_CRYPTO | AARCH64_FL_F16 | AARCH64_FL_RNG | AARCH64_FL_SHA3, ampere1, 0xC0, 0xac3, -1) ! AARCH64_CORE("ampere1a", ampere1a, cortexa57, 8_6A, AARCH64_FL_FOR_ARCH8_6 | AARCH64_FL_CRYPTO | AARCH64_FL_F16 | AARCH64_FL_RNG | AARCH64_FL_SHA3 | AARCH64_FL_MEMTAG, ampere1a, 0xC0, 0xac4, -1) /* Do not swap around "emag" and "xgene1", this order is required to handle variant correctly. */ AARCH64_CORE("emag", emag, xgene1, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, emag, 0x50, 0x000, 3) *************** AARCH64_CORE("tsv110", tsv110, tsv110, *** 128,147 **** /* ARMv8.3-A Architecture Processors. */ /* Marvell cores (TX3). */ ! AARCH64_CORE("thunderx3t110", thunderx3t110, thunderx3t110, 8_3A, AARCH64_FL_FOR_ARCH8_3 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC | AARCH64_FL_SM4 | AARCH64_FL_SHA3 | AARCH64_FL_F16FML | AARCH64_FL_RCPC8_4, thunderx3t110, 0x43, 0x0b8, 0x0a) /* ARMv8.4-A Architecture Processors. */ /* Arm ('A') cores. */ ! AARCH64_CORE("zeus", zeus, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RCPC | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, 0x41, 0xd40, -1) ! AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RCPC | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, 0x41, 0xd40, -1) ! AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_RCPC | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, INVALID_IMP, INVALID_CORE, -1) /* Qualcomm ('Q') cores. */ ! AARCH64_CORE("saphira", saphira, saphira, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC, saphira, 0x51, 0xC01, -1) /* Armv8.5-A Architecture Processors. */ AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversen2, 0x41, 0xd49, -1) /* ARMv8-A big.LITTLE implementations. */ --- 130,150 ---- /* ARMv8.3-A Architecture Processors. */ /* Marvell cores (TX3). */ ! AARCH64_CORE("thunderx3t110", thunderx3t110, thunderx3t110, 8_3A, AARCH64_FL_FOR_ARCH8_3 | AARCH64_FL_CRYPTO | AARCH64_FL_SM4 | AARCH64_FL_SHA3 | AARCH64_FL_F16FML | AARCH64_FL_RCPC8_4, thunderx3t110, 0x43, 0x0b8, 0x0a) /* ARMv8.4-A Architecture Processors. */ /* Arm ('A') cores. */ ! AARCH64_CORE("zeus", zeus, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, 0x41, 0xd40, -1) ! AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, 0x41, 0xd40, -1) ! AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_SVE | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_PROFILE | AARCH64_FL_SSBS | AARCH64_FL_RNG, neoversev1, INVALID_IMP, INVALID_CORE, -1) /* Qualcomm ('Q') cores. */ ! AARCH64_CORE("saphira", saphira, saphira, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO, saphira, 0x51, 0xC01, -1) /* Armv8.5-A Architecture Processors. */ AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversen2, 0x41, 0xd49, -1) + AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversev1, 0x41, 0xd4f, -1) /* ARMv8-A big.LITTLE implementations. */ diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-cost-tables.h gcc-10.5.0/gcc/config/aarch64/aarch64-cost-tables.h *** gcc-10.4.0/gcc/config/aarch64/aarch64-cost-tables.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-cost-tables.h Fri Jul 7 07:08:19 2023 *************** const struct cpu_cost_table a64fx_extra_ *** 644,647 **** --- 644,853 ---- } }; + const struct cpu_cost_table ampere1_extra_costs = + { + /* ALU */ + { + 0, /* arith. */ + 0, /* logical. */ + 0, /* shift. */ + COSTS_N_INSNS (1), /* shift_reg. */ + 0, /* arith_shift. */ + COSTS_N_INSNS (1), /* arith_shift_reg. */ + 0, /* log_shift. */ + COSTS_N_INSNS (1), /* log_shift_reg. */ + 0, /* extend. */ + COSTS_N_INSNS (1), /* extend_arith. */ + 0, /* bfi. */ + 0, /* bfx. */ + 0, /* clz. */ + 0, /* rev. */ + 0, /* non_exec. */ + true /* non_exec_costs_exec. */ + }, + { + /* MULT SImode */ + { + COSTS_N_INSNS (3), /* simple. */ + COSTS_N_INSNS (3), /* flag_setting. */ + COSTS_N_INSNS (3), /* extend. */ + COSTS_N_INSNS (4), /* add. */ + COSTS_N_INSNS (4), /* extend_add. */ + COSTS_N_INSNS (18) /* idiv. */ + }, + /* MULT DImode */ + { + COSTS_N_INSNS (3), /* simple. */ + 0, /* flag_setting (N/A). */ + COSTS_N_INSNS (3), /* extend. */ + COSTS_N_INSNS (4), /* add. */ + COSTS_N_INSNS (4), /* extend_add. */ + COSTS_N_INSNS (34) /* idiv. */ + } + }, + /* LD/ST */ + { + COSTS_N_INSNS (4), /* load. */ + COSTS_N_INSNS (4), /* load_sign_extend. */ + 0, /* ldrd (n/a). */ + 0, /* ldm_1st. */ + 0, /* ldm_regs_per_insn_1st. */ + 0, /* ldm_regs_per_insn_subsequent. */ + COSTS_N_INSNS (5), /* loadf. */ + COSTS_N_INSNS (5), /* loadd. */ + COSTS_N_INSNS (5), /* load_unaligned. */ + 0, /* store. */ + 0, /* strd. */ + 0, /* stm_1st. */ + 0, /* stm_regs_per_insn_1st. */ + 0, /* stm_regs_per_insn_subsequent. */ + COSTS_N_INSNS (2), /* storef. */ + COSTS_N_INSNS (2), /* stored. */ + COSTS_N_INSNS (2), /* store_unaligned. */ + COSTS_N_INSNS (3), /* loadv. */ + COSTS_N_INSNS (3) /* storev. */ + }, + { + /* FP SFmode */ + { + COSTS_N_INSNS (25), /* div. */ + COSTS_N_INSNS (4), /* mult. */ + COSTS_N_INSNS (4), /* mult_addsub. */ + COSTS_N_INSNS (4), /* fma. */ + COSTS_N_INSNS (4), /* addsub. */ + COSTS_N_INSNS (2), /* fpconst. */ + COSTS_N_INSNS (4), /* neg. */ + COSTS_N_INSNS (4), /* compare. */ + COSTS_N_INSNS (4), /* widen. */ + COSTS_N_INSNS (4), /* narrow. */ + COSTS_N_INSNS (4), /* toint. */ + COSTS_N_INSNS (4), /* fromint. */ + COSTS_N_INSNS (4) /* roundint. */ + }, + /* FP DFmode */ + { + COSTS_N_INSNS (34), /* div. */ + COSTS_N_INSNS (5), /* mult. */ + COSTS_N_INSNS (5), /* mult_addsub. */ + COSTS_N_INSNS (5), /* fma. */ + COSTS_N_INSNS (5), /* addsub. */ + COSTS_N_INSNS (2), /* fpconst. */ + COSTS_N_INSNS (5), /* neg. */ + COSTS_N_INSNS (5), /* compare. */ + COSTS_N_INSNS (5), /* widen. */ + COSTS_N_INSNS (5), /* narrow. */ + COSTS_N_INSNS (6), /* toint. */ + COSTS_N_INSNS (6), /* fromint. */ + COSTS_N_INSNS (5) /* roundint. */ + } + }, + /* Vector */ + { + COSTS_N_INSNS (3), /* alu. */ + } + }; + + const struct cpu_cost_table ampere1a_extra_costs = + { + /* ALU */ + { + 0, /* arith. */ + 0, /* logical. */ + 0, /* shift. */ + COSTS_N_INSNS (1), /* shift_reg. */ + 0, /* arith_shift. */ + COSTS_N_INSNS (1), /* arith_shift_reg. */ + 0, /* log_shift. */ + COSTS_N_INSNS (1), /* log_shift_reg. */ + 0, /* extend. */ + COSTS_N_INSNS (1), /* extend_arith. */ + 0, /* bfi. */ + 0, /* bfx. */ + 0, /* clz. */ + 0, /* rev. */ + 0, /* non_exec. */ + true /* non_exec_costs_exec. */ + }, + { + /* MULT SImode */ + { + COSTS_N_INSNS (3), /* simple. */ + COSTS_N_INSNS (3), /* flag_setting. */ + COSTS_N_INSNS (3), /* extend. */ + COSTS_N_INSNS (4), /* add. */ + COSTS_N_INSNS (4), /* extend_add. */ + COSTS_N_INSNS (19) /* idiv. */ + }, + /* MULT DImode */ + { + COSTS_N_INSNS (3), /* simple. */ + 0, /* flag_setting (N/A). */ + COSTS_N_INSNS (3), /* extend. */ + COSTS_N_INSNS (4), /* add. */ + COSTS_N_INSNS (4), /* extend_add. */ + COSTS_N_INSNS (35) /* idiv. */ + } + }, + /* LD/ST */ + { + COSTS_N_INSNS (4), /* load. */ + COSTS_N_INSNS (4), /* load_sign_extend. */ + 0, /* ldrd (n/a). */ + 0, /* ldm_1st. */ + 0, /* ldm_regs_per_insn_1st. */ + 0, /* ldm_regs_per_insn_subsequent. */ + COSTS_N_INSNS (5), /* loadf. */ + COSTS_N_INSNS (5), /* loadd. */ + COSTS_N_INSNS (5), /* load_unaligned. */ + 0, /* store. */ + 0, /* strd. */ + 0, /* stm_1st. */ + 0, /* stm_regs_per_insn_1st. */ + 0, /* stm_regs_per_insn_subsequent. */ + COSTS_N_INSNS (2), /* storef. */ + COSTS_N_INSNS (2), /* stored. */ + COSTS_N_INSNS (2), /* store_unaligned. */ + COSTS_N_INSNS (3), /* loadv. */ + COSTS_N_INSNS (3) /* storev. */ + }, + { + /* FP SFmode */ + { + COSTS_N_INSNS (25), /* div. */ + COSTS_N_INSNS (4), /* mult. */ + COSTS_N_INSNS (4), /* mult_addsub. */ + COSTS_N_INSNS (4), /* fma. */ + COSTS_N_INSNS (4), /* addsub. */ + COSTS_N_INSNS (2), /* fpconst. */ + COSTS_N_INSNS (4), /* neg. */ + COSTS_N_INSNS (4), /* compare. */ + COSTS_N_INSNS (4), /* widen. */ + COSTS_N_INSNS (4), /* narrow. */ + COSTS_N_INSNS (4), /* toint. */ + COSTS_N_INSNS (4), /* fromint. */ + COSTS_N_INSNS (4) /* roundint. */ + }, + /* FP DFmode */ + { + COSTS_N_INSNS (34), /* div. */ + COSTS_N_INSNS (5), /* mult. */ + COSTS_N_INSNS (5), /* mult_addsub. */ + COSTS_N_INSNS (5), /* fma. */ + COSTS_N_INSNS (5), /* addsub. */ + COSTS_N_INSNS (2), /* fpconst. */ + COSTS_N_INSNS (5), /* neg. */ + COSTS_N_INSNS (5), /* compare. */ + COSTS_N_INSNS (5), /* widen. */ + COSTS_N_INSNS (5), /* narrow. */ + COSTS_N_INSNS (6), /* toint. */ + COSTS_N_INSNS (6), /* fromint. */ + COSTS_N_INSNS (5) /* roundint. */ + } + }, + /* Vector */ + { + COSTS_N_INSNS (3), /* alu. */ + } + }; + #endif diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-fusion-pairs.def gcc-10.5.0/gcc/config/aarch64/aarch64-fusion-pairs.def *** gcc-10.4.0/gcc/config/aarch64/aarch64-fusion-pairs.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-fusion-pairs.def Fri Jul 7 07:08:19 2023 *************** AARCH64_FUSION_PAIR ("cmp+branch", CMP_B *** 36,40 **** --- 36,41 ---- AARCH64_FUSION_PAIR ("aes+aesmc", AES_AESMC) AARCH64_FUSION_PAIR ("alu+branch", ALU_BRANCH) AARCH64_FUSION_PAIR ("alu+cbz", ALU_CBZ) + AARCH64_FUSION_PAIR ("addsub_2reg_const1", ADDSUB_2REG_CONST1) #undef AARCH64_FUSION_PAIR diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-protos.h gcc-10.5.0/gcc/config/aarch64/aarch64-protos.h *** gcc-10.4.0/gcc/config/aarch64/aarch64-protos.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-protos.h Fri Jul 7 07:08:19 2023 *************** const char *aarch64_indirect_call_asm (r *** 805,808 **** --- 805,810 ---- extern bool aarch64_harden_sls_retbr_p (void); extern bool aarch64_harden_sls_blr_p (void); + extern void aarch64_output_patchable_area (unsigned int, bool); + #endif /* GCC_AARCH64_PROTOS_H */ diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-simd.md gcc-10.5.0/gcc/config/aarch64/aarch64-simd.md *** gcc-10.4.0/gcc/config/aarch64/aarch64-simd.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-simd.md Fri Jul 7 07:08:19 2023 *************** *** 7199,7205 **** [(set (match_operand:V4SF 0 "register_operand" "=w") (plus: V4SF (match_operand:V4SF 1 "register_operand" "0") (unspec:V4SF [(match_operand:V8BF 2 "register_operand" "w") ! (match_operand:VBF 3 "register_operand" "w") (match_operand:SI 4 "const_int_operand" "n")] BF_MLA)))] "TARGET_BF16_SIMD" --- 7199,7205 ---- [(set (match_operand:V4SF 0 "register_operand" "=w") (plus: V4SF (match_operand:V4SF 1 "register_operand" "0") (unspec:V4SF [(match_operand:V8BF 2 "register_operand" "w") ! (match_operand:VBF 3 "register_operand" "x") (match_operand:SI 4 "const_int_operand" "n")] BF_MLA)))] "TARGET_BF16_SIMD" diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-sve-builtins.cc gcc-10.5.0/gcc/config/aarch64/aarch64-sve-builtins.cc *** gcc-10.4.0/gcc/config/aarch64/aarch64-sve-builtins.cc Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-sve-builtins.cc Fri Jul 7 07:08:19 2023 *************** static CONSTEXPR const function_group_in *** 530,536 **** }; /* The scalar type associated with each vector type. */ ! GTY(()) tree scalar_types[NUM_VECTOR_TYPES]; /* The single-predicate and single-vector types, with their built-in "__SV..._t" name. Allow an index of NUM_VECTOR_TYPES, which always --- 530,537 ---- }; /* The scalar type associated with each vector type. */ ! extern GTY(()) tree scalar_types[NUM_VECTOR_TYPES]; ! tree scalar_types[NUM_VECTOR_TYPES]; /* The single-predicate and single-vector types, with their built-in "__SV..._t" name. Allow an index of NUM_VECTOR_TYPES, which always *************** GTY(()) tree scalar_types[NUM_VECTOR_TYP *** 538,550 **** static GTY(()) tree abi_vector_types[NUM_VECTOR_TYPES + 1]; /* Same, but with the arm_sve.h "sv..._t" name. */ ! GTY(()) tree acle_vector_types[MAX_TUPLE_SIZE][NUM_VECTOR_TYPES + 1]; /* The svpattern enum type. */ ! GTY(()) tree acle_svpattern; /* The svprfop enum type. */ ! GTY(()) tree acle_svprfop; /* The list of all registered function decls, indexed by code. */ static GTY(()) vec *registered_functions; --- 539,554 ---- static GTY(()) tree abi_vector_types[NUM_VECTOR_TYPES + 1]; /* Same, but with the arm_sve.h "sv..._t" name. */ ! extern GTY(()) tree acle_vector_types[MAX_TUPLE_SIZE][NUM_VECTOR_TYPES + 1]; ! tree acle_vector_types[MAX_TUPLE_SIZE][NUM_VECTOR_TYPES + 1]; /* The svpattern enum type. */ ! extern GTY(()) tree acle_svpattern; ! tree acle_svpattern; /* The svprfop enum type. */ ! extern GTY(()) tree acle_svprfop; ! tree acle_svprfop; /* The list of all registered function decls, indexed by code. */ static GTY(()) vec *registered_functions; diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-sve.md gcc-10.5.0/gcc/config/aarch64/aarch64-sve.md *** gcc-10.4.0/gcc/config/aarch64/aarch64-sve.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-sve.md Fri Jul 7 07:08:19 2023 *************** *** 9228,9272 **** (define_insn "*aarch64_brk_cc" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC ! [(match_operand:VNx16BI 1 "register_operand" "Upa, Upa") (match_dup 1) (match_operand:SI 4 "aarch64_sve_ptrue_flag") (unspec:VNx16BI [(match_dup 1) ! (match_operand:VNx16BI 2 "register_operand" "Upa, Upa") ! (match_operand:VNx16BI 3 "aarch64_simd_reg_or_zero" "Dz, 0")] SVE_BRK_UNARY)] UNSPEC_PTEST)) ! (set (match_operand:VNx16BI 0 "register_operand" "=Upa, Upa") (unspec:VNx16BI [(match_dup 1) (match_dup 2) (match_dup 3)] SVE_BRK_UNARY))] "TARGET_SVE" ! "@ ! brks\t%0.b, %1/z, %2.b ! brks\t%0.b, %1/m, %2.b" ) ;; Same, but with only the flags result being interesting. (define_insn "*aarch64_brk_ptest" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC ! [(match_operand:VNx16BI 1 "register_operand" "Upa, Upa") (match_dup 1) (match_operand:SI 4 "aarch64_sve_ptrue_flag") (unspec:VNx16BI [(match_dup 1) ! (match_operand:VNx16BI 2 "register_operand" "Upa, Upa") ! (match_operand:VNx16BI 3 "aarch64_simd_reg_or_zero" "Dz, 0")] SVE_BRK_UNARY)] UNSPEC_PTEST)) ! (clobber (match_scratch:VNx16BI 0 "=Upa, Upa"))] "TARGET_SVE" ! "@ ! brks\t%0.b, %1/z, %2.b ! brks\t%0.b, %1/m, %2.b" ) ;; ------------------------------------------------------------------------- --- 9228,9268 ---- (define_insn "*aarch64_brk_cc" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC ! [(match_operand:VNx16BI 1 "register_operand" "Upa") (match_dup 1) (match_operand:SI 4 "aarch64_sve_ptrue_flag") (unspec:VNx16BI [(match_dup 1) ! (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "aarch64_simd_imm_zero")] SVE_BRK_UNARY)] UNSPEC_PTEST)) ! (set (match_operand:VNx16BI 0 "register_operand" "=Upa") (unspec:VNx16BI [(match_dup 1) (match_dup 2) (match_dup 3)] SVE_BRK_UNARY))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b" ) ;; Same, but with only the flags result being interesting. (define_insn "*aarch64_brk_ptest" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC ! [(match_operand:VNx16BI 1 "register_operand" "Upa") (match_dup 1) (match_operand:SI 4 "aarch64_sve_ptrue_flag") (unspec:VNx16BI [(match_dup 1) ! (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "aarch64_simd_imm_zero")] SVE_BRK_UNARY)] UNSPEC_PTEST)) ! (clobber (match_scratch:VNx16BI 0 "=Upa"))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b" ) ;; ------------------------------------------------------------------------- *************** *** 9293,9299 **** "brk\t%0.b, %1/z, %2.b, %.b" ) ! ;; Same, but also producing a flags result. (define_insn "*aarch64_brk_cc" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC --- 9289,9349 ---- "brk\t%0.b, %1/z, %2.b, %.b" ) ! ;; BRKN, producing both a predicate and a flags result. Unlike other ! ;; flag-setting instructions, these flags are always set wrt a ptrue. ! (define_insn_and_rewrite "*aarch64_brkn_cc" ! [(set (reg:CC_NZC CC_REGNUM) ! (unspec:CC_NZC ! [(match_operand:VNx16BI 4) ! (match_operand:VNx16BI 5) ! (const_int SVE_KNOWN_PTRUE) ! (unspec:VNx16BI ! [(match_operand:VNx16BI 1 "register_operand" "Upa") ! (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "0")] ! UNSPEC_BRKN)] ! UNSPEC_PTEST)) ! (set (match_operand:VNx16BI 0 "register_operand" "=Upa") ! (unspec:VNx16BI ! [(match_dup 1) ! (match_dup 2) ! (match_dup 3)] ! UNSPEC_BRKN))] ! "TARGET_SVE" ! "brkns\t%0.b, %1/z, %2.b, %0.b" ! "&& (operands[4] != CONST0_RTX (VNx16BImode) ! || operands[5] != CONST0_RTX (VNx16BImode))" ! { ! operands[4] = CONST0_RTX (VNx16BImode); ! operands[5] = CONST0_RTX (VNx16BImode); ! } ! ) ! ! ;; Same, but with only the flags result being interesting. ! (define_insn_and_rewrite "*aarch64_brkn_ptest" ! [(set (reg:CC_NZC CC_REGNUM) ! (unspec:CC_NZC ! [(match_operand:VNx16BI 4) ! (match_operand:VNx16BI 5) ! (const_int SVE_KNOWN_PTRUE) ! (unspec:VNx16BI ! [(match_operand:VNx16BI 1 "register_operand" "Upa") ! (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "0")] ! UNSPEC_BRKN)] ! UNSPEC_PTEST)) ! (clobber (match_scratch:VNx16BI 0 "=Upa"))] ! "TARGET_SVE" ! "brkns\t%0.b, %1/z, %2.b, %0.b" ! "&& (operands[4] != CONST0_RTX (VNx16BImode) ! || operands[5] != CONST0_RTX (VNx16BImode))" ! { ! operands[4] = CONST0_RTX (VNx16BImode); ! operands[5] = CONST0_RTX (VNx16BImode); ! } ! ) ! ! ;; BRKPA and BRKPB, producing both a predicate and a flags result. (define_insn "*aarch64_brk_cc" [(set (reg:CC_NZC CC_REGNUM) (unspec:CC_NZC *************** *** 9303,9319 **** (unspec:VNx16BI [(match_dup 1) (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "")] ! SVE_BRK_BINARY)] UNSPEC_PTEST)) (set (match_operand:VNx16BI 0 "register_operand" "=Upa") (unspec:VNx16BI [(match_dup 1) (match_dup 2) (match_dup 3)] ! SVE_BRK_BINARY))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b, %.b" ) ;; Same, but with only the flags result being interesting. --- 9353,9369 ---- (unspec:VNx16BI [(match_dup 1) (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "Upa")] ! SVE_BRKP)] UNSPEC_PTEST)) (set (match_operand:VNx16BI 0 "register_operand" "=Upa") (unspec:VNx16BI [(match_dup 1) (match_dup 2) (match_dup 3)] ! SVE_BRKP))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b, %3.b" ) ;; Same, but with only the flags result being interesting. *************** *** 9326,9337 **** (unspec:VNx16BI [(match_dup 1) (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "")] ! SVE_BRK_BINARY)] UNSPEC_PTEST)) (clobber (match_scratch:VNx16BI 0 "=Upa"))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b, %.b" ) ;; ------------------------------------------------------------------------- --- 9376,9387 ---- (unspec:VNx16BI [(match_dup 1) (match_operand:VNx16BI 2 "register_operand" "Upa") ! (match_operand:VNx16BI 3 "register_operand" "Upa")] ! SVE_BRKP)] UNSPEC_PTEST)) (clobber (match_scratch:VNx16BI 0 "=Upa"))] "TARGET_SVE" ! "brks\t%0.b, %1/z, %2.b, %3.b" ) ;; ------------------------------------------------------------------------- diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-tune.md gcc-10.5.0/gcc/config/aarch64/aarch64-tune.md *** gcc-10.4.0/gcc/config/aarch64/aarch64-tune.md Tue Jun 28 08:55:09 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-tune.md Fri Jul 7 07:08:56 2023 *************** *** 1,5 **** ;; -*- buffer-read-only: t -*- ;; Generated automatically by gentune.sh from aarch64-cores.def (define_attr "tune" ! "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa65,cortexa65ae,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,neoversen2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55" (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) --- 1,5 ---- ;; -*- buffer-read-only: t -*- ;; Generated automatically by gentune.sh from aarch64-cores.def (define_attr "tune" ! "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa65,cortexa65ae,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,neoversen2,neoversev2,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55" (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64-tuning-flags.def gcc-10.5.0/gcc/config/aarch64/aarch64-tuning-flags.def *** gcc-10.4.0/gcc/config/aarch64/aarch64-tuning-flags.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64-tuning-flags.def Fri Jul 7 07:08:19 2023 *************** AARCH64_EXTRA_TUNING_OPTION ("cheap_shif *** 44,49 **** --- 44,52 ---- /* Disallow load/store pair instructions on Q-registers. */ AARCH64_EXTRA_TUNING_OPTION ("no_ldp_stp_qregs", NO_LDP_STP_QREGS) + /* Disallow load-pair instructions to be formed in combine/peephole. */ + AARCH64_EXTRA_TUNING_OPTION ("no_ldp_combine", NO_LDP_COMBINE) + AARCH64_EXTRA_TUNING_OPTION ("rename_load_regs", RENAME_LOAD_REGS) /* Prefer Advanced SIMD over SVE for auto-vectorization. */ diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64.c gcc-10.5.0/gcc/config/aarch64/aarch64.c *** gcc-10.4.0/gcc/config/aarch64/aarch64.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64.c Fri Jul 7 07:08:19 2023 *************** static const struct cpu_vector_cost a64f *** 781,786 **** --- 781,805 ---- 1 /* cond_not_taken_branch_cost */ }; + /* Ampere-1 costs for vector insn classes. */ + static const struct cpu_vector_cost ampere1_vector_cost = + { + 1, /* scalar_int_stmt_cost */ + 3, /* scalar_fp_stmt_cost */ + 4, /* scalar_load_cost */ + 1, /* scalar_store_cost */ + 1, /* int_stmt_cost */ + 3, /* fp_stmt_cost */ + 2, /* permute_cost */ + 6, /* vec_to_scalar_cost */ + 7, /* scalar_to_vec_cost */ + 4, /* align_load_cost */ + 4, /* unalign_load_cost */ + 1, /* unalign_store_cost */ + 1, /* store_cost */ + 1, /* cond_taken_branch_cost */ + 1 /* cond_not_taken_branch_cost */ + }; /* Generic costs for branch instructions. */ static const struct cpu_branch_cost generic_branch_cost = *************** static const cpu_prefetch_tune a64fx_pre *** 924,929 **** --- 943,959 ---- -1 /* default_opt_level */ }; + static const cpu_prefetch_tune ampere1_prefetch_tune = + { + 0, /* num_slots */ + 64, /* l1_cache_size */ + 64, /* l1_cache_line_size */ + 2048, /* l2_cache_size */ + true, /* prefetch_dynamic_strides */ + -1, /* minimum_stride */ + -1 /* default_opt_level */ + }; + static const struct tune_params generic_tunings = { &cortexa57_extra_costs, *************** static const struct tune_params neoverse *** 1384,1389 **** --- 1414,1480 ---- &generic_prefetch_tune }; + static const struct tune_params ampere1_tunings = + { + &ere1_extra_costs, + &generic_addrcost_table, + &generic_regmove_cost, + &ere1_vector_cost, + &generic_branch_cost, + &generic_approx_modes, + SVE_NOT_IMPLEMENTED, /* sve_width */ + 4, /* memmov_cost */ + 4, /* issue_rate */ + (AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_AES_AESMC | + AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK | + AARCH64_FUSE_ALU_BRANCH /* adds, ands, bics, ccmp, ccmn */ | + AARCH64_FUSE_CMP_BRANCH), + /* fusible_ops */ + "32", /* function_align. */ + "4", /* jump_align. */ + "32:16", /* loop_align. */ + 2, /* int_reassoc_width. */ + 4, /* fp_reassoc_width. */ + 2, /* vec_reassoc_width. */ + 2, /* min_div_recip_mul_sf. */ + 2, /* min_div_recip_mul_df. */ + 0, /* max_case_values. */ + tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ + (AARCH64_EXTRA_TUNE_NO_LDP_COMBINE), /* tune_flags. */ + &ere1_prefetch_tune + }; + + static const struct tune_params ampere1a_tunings = + { + &ere1a_extra_costs, + &generic_addrcost_table, + &generic_regmove_cost, + &ere1_vector_cost, + &generic_branch_cost, + &generic_approx_modes, + SVE_NOT_IMPLEMENTED, /* sve_width */ + 4, /* memmov_cost */ + 4, /* issue_rate */ + (AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_AES_AESMC | + AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK | + AARCH64_FUSE_ALU_BRANCH /* adds, ands, bics, ccmp, ccmn */ | + AARCH64_FUSE_CMP_BRANCH | AARCH64_FUSE_ALU_CBZ | + AARCH64_FUSE_ADDSUB_2REG_CONST1), + /* fusible_ops */ + "32", /* function_align. */ + "4", /* jump_align. */ + "32:16", /* loop_align. */ + 2, /* int_reassoc_width. */ + 4, /* fp_reassoc_width. */ + 2, /* vec_reassoc_width. */ + 2, /* min_div_recip_mul_sf. */ + 2, /* min_div_recip_mul_df. */ + 0, /* max_case_values. */ + tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ + (AARCH64_EXTRA_TUNE_NO_LDP_COMBINE), /* tune_flags. */ + &ere1_prefetch_tune + }; + static const struct tune_params neoversev1_tunings = { &cortexa57_extra_costs, *************** aarch64_vfp_is_call_candidate (cumulativ *** 5914,5922 **** /* Given MODE and TYPE of a function argument, return the alignment in bits. The idea is to suppress any stronger alignment requested by the user and opt for the natural alignment (specified in AAPCS64 \S ! 4.1). ABI_BREAK is set to true if the alignment was incorrectly ! calculated in versions of GCC prior to GCC-9. This is a helper ! function for local use only. */ static unsigned int aarch64_function_arg_alignment (machine_mode mode, const_tree type, --- 6005,6013 ---- /* Given MODE and TYPE of a function argument, return the alignment in bits. The idea is to suppress any stronger alignment requested by the user and opt for the natural alignment (specified in AAPCS64 \S ! 4.1). ABI_BREAK is set to the old alignment if the alignment was ! incorrectly calculated in versions of GCC prior to GCC-9. This is ! a helper function for local use only. */ static unsigned int aarch64_function_arg_alignment (machine_mode mode, const_tree type, *************** aarch64_layout_arg (cumulative_args_t pc *** 5992,6002 **** --- 6083,6106 ---- if (pcum->aapcs_arg_processed) return; + bool warn_pcs_change + = (warn_psabi + && !pcum->silent_p + && (currently_expanding_function_start + || currently_expanding_gimple_stmt)); + + unsigned int alignment + = aarch64_function_arg_alignment (mode, type, &abi_break); + gcc_assert (!alignment || abi_break < alignment); + pcum->aapcs_arg_processed = true; pure_scalable_type_info pst_info; if (type && pst_info.analyze_registers (type)) { + /* aarch64_function_arg_alignment has never had an effect on + this case. */ + /* The PCS says that it is invalid to pass an SVE value to an unprototyped function. There is no ABI-defined location we can return in this case, so we have no real choice but to raise *************** aarch64_layout_arg (cumulative_args_t pc *** 6067,6072 **** --- 6171,6178 ---- and homogenous short-vector aggregates (HVA). */ if (allocate_nvrn) { + /* aarch64_function_arg_alignment has never had an effect on + this case. */ if (!pcum->silent_p && !TARGET_FLOAT) aarch64_err_no_fpadvsimd (mode); *************** aarch64_layout_arg (cumulative_args_t pc *** 6125,6131 **** && (aarch64_function_arg_alignment (mode, type, &abi_break) == 16 * BITS_PER_UNIT)) { ! if (abi_break && warn_psabi && currently_expanding_gimple_stmt) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); ++ncrn; --- 6231,6237 ---- && (aarch64_function_arg_alignment (mode, type, &abi_break) == 16 * BITS_PER_UNIT)) { ! if (warn_pcs_change && abi_break) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); ++ncrn; *************** on_stack: *** 6188,6194 **** int new_size = ROUND_UP (pcum->aapcs_stack_size, 16 / UNITS_PER_WORD); if (pcum->aapcs_stack_size != new_size) { ! if (abi_break && warn_psabi && currently_expanding_gimple_stmt) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); pcum->aapcs_stack_size = new_size; --- 6294,6300 ---- int new_size = ROUND_UP (pcum->aapcs_stack_size, 16 / UNITS_PER_WORD); if (pcum->aapcs_stack_size != new_size) { ! if (warn_pcs_change && abi_break) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); pcum->aapcs_stack_size = new_size; *************** aarch64_function_arg_boundary (machine_m *** 6308,6314 **** bool abi_break; unsigned int alignment = aarch64_function_arg_alignment (mode, type, &abi_break); ! if (abi_break & warn_psabi) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); --- 6414,6420 ---- bool abi_break; unsigned int alignment = aarch64_function_arg_alignment (mode, type, &abi_break); ! if (abi_break && warn_psabi) inform (input_location, "parameter passing for argument of type " "%qT changed in GCC 9.1", type); *************** aarch64_declare_function_name (FILE *str *** 19498,19527 **** 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. */ --- 19604,19659 ---- cfun->machine->label_is_assembled = true; } ! /* Implement PRINT_PATCHABLE_FUNCTION_ENTRY. */ void aarch64_print_patchable_function_entry (FILE *file, unsigned HOST_WIDE_INT patch_area_size, bool record_p) { ! if (!cfun->machine->label_is_assembled) { ! /* Emit the patching area before the entry label, if any. */ ! default_print_patchable_function_entry (file, patch_area_size, ! record_p); ! return; } ! rtx pa = gen_patchable_area (GEN_INT (patch_area_size), ! GEN_INT (record_p)); ! basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (cfun)->next_bb; ! ! if (!aarch64_bti_enabled () ! || cgraph_node::get (cfun->decl)->only_called_directly_p ()) ! { ! /* Emit the patchable_area at the beginning of the function. */ ! rtx_insn *insn = emit_insn_before (pa, BB_HEAD (bb)); ! INSN_ADDRESSES_NEW (insn, -1); ! return; ! } ! ! 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) ! { ! /* Emit a BTI_C. */ ! insn = emit_insn_before (gen_bti_c (), BB_HEAD (bb)); ! } ! ! /* Emit the patchable_area after BTI_C. */ ! insn = emit_insn_after (pa, insn); ! INSN_ADDRESSES_NEW (insn, -1); ! } ! ! /* Output patchable area. */ ! ! void ! aarch64_output_patchable_area (unsigned int patch_area_size, bool record_p) ! { ! default_print_patchable_function_entry (asm_out_file, patch_area_size, ! record_p); } /* Implement ASM_OUTPUT_DEF_FROM_DECLS. Output .variant_pcs for aliases. */ *************** aarch_macro_fusion_pair_p (rtx_insn *pre *** 22000,22005 **** --- 22132,22165 ---- } } + /* Fuse A+B+1 and A-B-1 */ + if (simple_sets_p + && aarch64_fusion_enabled_p (AARCH64_FUSE_ADDSUB_2REG_CONST1)) + { + /* We're trying to match: + prev == (set (r0) (plus (r0) (r1))) + curr == (set (r0) (plus (r0) (const_int 1))) + or: + prev == (set (r0) (minus (r0) (r1))) + curr == (set (r0) (plus (r0) (const_int -1))) */ + + rtx prev_src = SET_SRC (prev_set); + rtx curr_src = SET_SRC (curr_set); + + int polarity = 1; + if (GET_CODE (prev_src) == MINUS) + polarity = -1; + + if (GET_CODE (curr_src) == PLUS + && (GET_CODE (prev_src) == PLUS || GET_CODE (prev_src) == MINUS) + && CONST_INT_P (XEXP (curr_src, 1)) + && INTVAL (XEXP (curr_src, 1)) == polarity + && REG_P (XEXP (curr_src, 0)) + && REG_P (SET_DEST (prev_set)) + && REGNO (SET_DEST (prev_set)) == REGNO (XEXP (curr_src, 0))) + return true; + } + return false; } *************** aarch64_operands_ok_for_ldpstp (rtx *ope *** 22187,22192 **** --- 22347,22358 ---- enum reg_class rclass_1, rclass_2; rtx mem_1, mem_2, reg_1, reg_2, base_1, base_2, offset_1, offset_2; + /* Allow the tuning structure to disable LDP instruction formation + from combining instructions (e.g., in peephole2). */ + if (load && (aarch64_tune_params.extra_tuning_flags + & AARCH64_EXTRA_TUNE_NO_LDP_COMBINE)) + return false; + if (load) { mem_1 = operands[1]; diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64.h gcc-10.5.0/gcc/config/aarch64/aarch64.h *** gcc-10.4.0/gcc/config/aarch64/aarch64.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64.h Fri Jul 7 07:08:19 2023 *************** extern unsigned aarch64_architecture_ver *** 236,242 **** #define AARCH64_FL_FOR_ARCH8_2 \ (AARCH64_FL_FOR_ARCH8_1 | AARCH64_FL_V8_2) #define AARCH64_FL_FOR_ARCH8_3 \ ! (AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_V8_3) #define AARCH64_FL_FOR_ARCH8_4 \ (AARCH64_FL_FOR_ARCH8_3 | AARCH64_FL_V8_4 | AARCH64_FL_F16FML \ | AARCH64_FL_DOTPROD | AARCH64_FL_RCPC8_4) --- 236,242 ---- #define AARCH64_FL_FOR_ARCH8_2 \ (AARCH64_FL_FOR_ARCH8_1 | AARCH64_FL_V8_2) #define AARCH64_FL_FOR_ARCH8_3 \ ! (AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_V8_3 | AARCH64_FL_RCPC) #define AARCH64_FL_FOR_ARCH8_4 \ (AARCH64_FL_FOR_ARCH8_3 | AARCH64_FL_V8_4 | AARCH64_FL_F16FML \ | AARCH64_FL_DOTPROD | AARCH64_FL_RCPC8_4) *************** extern unsigned aarch64_architecture_ver *** 271,276 **** --- 271,277 ---- #define AARCH64_ISA_SM4 (aarch64_isa_flags & AARCH64_FL_SM4) #define AARCH64_ISA_SHA3 (aarch64_isa_flags & AARCH64_FL_SHA3) #define AARCH64_ISA_F16FML (aarch64_isa_flags & AARCH64_FL_F16FML) + #define AARCH64_ISA_RCPC (aarch64_isa_flags & AARCH64_FL_RCPC) #define AARCH64_ISA_RCPC8_4 (aarch64_isa_flags & AARCH64_FL_RCPC8_4) #define AARCH64_ISA_RNG (aarch64_isa_flags & AARCH64_FL_RNG) #define AARCH64_ISA_V8_5 (aarch64_isa_flags & AARCH64_FL_V8_5) diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/aarch64.md gcc-10.5.0/gcc/config/aarch64/aarch64.md *** gcc-10.4.0/gcc/config/aarch64/aarch64.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/aarch64.md Fri Jul 7 07:08:19 2023 *************** *** 282,287 **** --- 282,288 ---- UNSPEC_TAG_SPACE ; Translate address to MTE tag address space. UNSPEC_LD1RO UNSPEC_SALT_ADDR + UNSPECV_PATCHABLE_AREA ]) (define_c_enum "unspecv" [ *************** *** 7606,7611 **** --- 7607,7625 ---- [(set_attr "type" "memtag")] ) + (define_insn "patchable_area" + [(unspec_volatile [(match_operand 0 "const_int_operand") + (match_operand 1 "const_int_operand")] + UNSPECV_PATCHABLE_AREA)] + "" + { + aarch64_output_patchable_area (INTVAL (operands[0]), + INTVAL (operands[1]) != 0); + return ""; + } + [(set (attr "length") (symbol_ref "INTVAL (operands[0])"))] + ) + ;; AdvSIMD Stuff (include "aarch64-simd.md") diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/driver-aarch64.c gcc-10.5.0/gcc/config/aarch64/driver-aarch64.c *** gcc-10.4.0/gcc/config/aarch64/driver-aarch64.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/driver-aarch64.c Fri Jul 7 07:08:19 2023 *************** readline (FILE *f) *** 202,210 **** return std::string (); /* If we're not at the end of the line then override the \0 added by fgets. */ ! last = strnlen (buf, size) - 1; } ! while (!feof (f) && buf[last] != '\n'); std::string result (buf); free (buf); --- 202,210 ---- return std::string (); /* If we're not at the end of the line then override the \0 added by fgets. */ ! last = strnlen (buf, size); } ! while (!feof (f) && last > 0 && buf[last - 1] != '\n'); std::string result (buf); free (buf); diff -Nrcpad gcc-10.4.0/gcc/config/aarch64/iterators.md gcc-10.5.0/gcc/config/aarch64/iterators.md *** gcc-10.4.0/gcc/config/aarch64/iterators.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/aarch64/iterators.md Fri Jul 7 07:08:19 2023 *************** *** 2660,2665 **** --- 2660,2667 ---- (define_int_iterator SVE_BRK_UNARY [UNSPEC_BRKA UNSPEC_BRKB]) + (define_int_iterator SVE_BRKP [UNSPEC_BRKPA UNSPEC_BRKPB]) + (define_int_iterator SVE_BRK_BINARY [UNSPEC_BRKN UNSPEC_BRKPA UNSPEC_BRKPB]) (define_int_iterator SVE_PITER [UNSPEC_PFIRST UNSPEC_PNEXT]) diff -Nrcpad gcc-10.4.0/gcc/config/darwin.c gcc-10.5.0/gcc/config/darwin.c *** gcc-10.4.0/gcc/config/darwin.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/darwin.c Fri Jul 7 07:08:19 2023 *************** darwin_emit_common (FILE *fp, const char *** 2553,2559 **** rounded = (size + (align-1)) & ~(align-1); l2align = floor_log2 (align); - gcc_assert (l2align <= L2_MAX_OFILE_ALIGNMENT); in_section = comm_section; /* We mustn't allow multiple public symbols to share an address when using --- 2553,2558 ---- *************** darwin_asm_output_aligned_decl_common (F *** 2704,2709 **** --- 2703,2712 ---- #ifdef DEBUG_DARWIN_MEM_ALLOCATORS fprintf (fp, "# adcom: %s (%d,%d) decl=0x0\n", name, (int)size, (int)align); #endif + /* Common variables are limited to a maximum alignment of 2^15. */ + if (align > 32768) + error_at (UNKNOWN_LOCATION, "common variables must have an alignment" + " of 32678 or less"); darwin_emit_common (fp, name, size, align); return; } *************** fprintf (fp, "# adcom: %s (%lld,%d) ro % *** 2731,2737 **** } /* We shouldn't be messing with this if the decl has a section name. */ ! gcc_assert (DECL_SECTION_NAME (decl) == NULL); /* We would rather not have to check this here - but it seems that we might be passed a decl that should be in coalesced space. */ --- 2734,2740 ---- } /* We shouldn't be messing with this if the decl has a section name. */ ! gcc_checking_assert (DECL_SECTION_NAME (decl) == NULL); /* We would rather not have to check this here - but it seems that we might be passed a decl that should be in coalesced space. */ *************** fprintf (fp, "# adcom: %s (%lld,%d) ro % *** 2760,2769 **** l2align = floor_log2 (align / BITS_PER_UNIT); /* Check we aren't asking for more aligment than the platform allows. */ ! gcc_assert (l2align <= L2_MAX_OFILE_ALIGNMENT); if (TREE_PUBLIC (decl) != 0) ! darwin_emit_common (fp, name, size, align); else darwin_emit_local_bss (fp, decl, name, size, l2align); } --- 2763,2778 ---- l2align = floor_log2 (align / BITS_PER_UNIT); /* Check we aren't asking for more aligment than the platform allows. */ ! gcc_checking_assert (l2align <= L2_MAX_OFILE_ALIGNMENT); if (TREE_PUBLIC (decl) != 0) ! { ! /* Common variables are limited to a maximum alignment of 2^15. */ ! if (l2align > 15) ! error_at (DECL_SOURCE_LOCATION (decl), "common variables must have" ! " an alignment of 32678 or less"); ! darwin_emit_common (fp, name, size, align); ! } else darwin_emit_local_bss (fp, decl, name, size, l2align); } diff -Nrcpad gcc-10.4.0/gcc/config/darwin.h gcc-10.5.0/gcc/config/darwin.h *** gcc-10.4.0/gcc/config/darwin.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/darwin.h Fri Jul 7 07:08:19 2023 *************** int darwin_label_is_anonymous_local_objc *** 859,871 **** if ((LOG) != 0) \ fprintf (FILE, "\t%s\t%d\n", ALIGN_ASM_OP, (LOG)) ! /* The maximum alignment which the object file format can support in ! bits. For Mach-O, this is 2^15 bytes. */ #undef MAX_OFILE_ALIGNMENT ! #define MAX_OFILE_ALIGNMENT (0x8000 * 8) ! ! #define L2_MAX_OFILE_ALIGNMENT 15 /* These are the three variants that emit referenced blank space. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ --- 859,870 ---- if ((LOG) != 0) \ fprintf (FILE, "\t%s\t%d\n", ALIGN_ASM_OP, (LOG)) ! /* The maximum alignment which the object file format can support in bits ! which depends on the OS version and whether the object is a common ! variable. */ #undef MAX_OFILE_ALIGNMENT ! #define MAX_OFILE_ALIGNMENT ((1U << L2_MAX_OFILE_ALIGNMENT) * 8U) /* These are the three variants that emit referenced blank space. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ diff -Nrcpad gcc-10.4.0/gcc/config/i386/i386-builtin.def gcc-10.5.0/gcc/config/i386/i386-builtin.def *** gcc-10.4.0/gcc/config/i386/i386-builtin.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/i386-builtin.def Fri Jul 7 07:08:19 2023 *************** BDESC (0, OPTION_MASK_ISA2_VAES, CODE_FO *** 2715,2744 **** BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi, "__builtin_ia32_cvtne2ps2bf16_v32hi", IX86_BUILTIN_CVTNE2PS2HI16_V32HI, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi_mask, "__builtin_ia32_cvtne2ps2bf16_v32hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V32HI_MASK, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF_V32HI_USI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v32hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V32HI_MASKZ, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF_USI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi, "__builtin_ia32_cvtne2ps2bf16_v16hi", IX86_BUILTIN_CVTNE2PS2HI16_V16HI, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi_mask, "__builtin_ia32_cvtne2ps2bf16_v16hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V16HI_MASK, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF_V16HI_UHI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v16hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V16HI_MASKZ, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF_UHI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi, "__builtin_ia32_cvtne2ps2bf16_v8hi", IX86_BUILTIN_CVTNE2PS2HI16_V8HI, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi_mask, "__builtin_ia32_cvtne2ps2bf16_v8hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V8HI_MASK, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF_V8HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v8hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V8HI_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF_UQI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf, "__builtin_ia32_cvtneps2bf16_v16sf", IX86_BUILTIN_CVTNEPS2HI16_V16SF, UNKNOWN, (int) V16HI_FTYPE_V16SF) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf_mask, "__builtin_ia32_cvtneps2bf16_v16sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V16SF_MASK, UNKNOWN, (int) V16HI_FTYPE_V16SF_V16HI_UHI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf_maskz, "__builtin_ia32_cvtneps2bf16_v16sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V16SF_MASKZ, UNKNOWN, (int) V16HI_FTYPE_V16SF_UHI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf, "__builtin_ia32_cvtneps2bf16_v8sf", IX86_BUILTIN_CVTNEPS2HI16_V8SF, UNKNOWN, (int) V8HI_FTYPE_V8SF) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf_mask, "__builtin_ia32_cvtneps2bf16_v8sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V8SF_MASK, UNKNOWN, (int) V8HI_FTYPE_V8SF_V8HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf_maskz, "__builtin_ia32_cvtneps2bf16_v8sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V8SF_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V8SF_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf, "__builtin_ia32_cvtneps2bf16_v4sf", IX86_BUILTIN_CVTNEPS2HI16_V4SF, UNKNOWN, (int) V8HI_FTYPE_V4SF) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf_mask, "__builtin_ia32_cvtneps2bf16_v4sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V4SF_MASK, UNKNOWN, (int) V8HI_FTYPE_V4SF_V8HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf_maskz, "__builtin_ia32_cvtneps2bf16_v4sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V4SF_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V4SF_UQI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf, "__builtin_ia32_dpbf16ps_v16sf", IX86_BUILTIN_DPHI16PS_V16SF, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf_mask, "__builtin_ia32_dpbf16ps_v16sf_mask", IX86_BUILTIN_DPHI16PS_V16SF_MASK, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI_UHI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf_maskz, "__builtin_ia32_dpbf16ps_v16sf_maskz", IX86_BUILTIN_DPHI16PS_V16SF_MASKZ, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI_UHI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf, "__builtin_ia32_dpbf16ps_v8sf", IX86_BUILTIN_DPHI16PS_V8SF, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf_mask, "__builtin_ia32_dpbf16ps_v8sf_mask", IX86_BUILTIN_DPHI16PS_V8SF_MASK, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf_maskz, "__builtin_ia32_dpbf16ps_v8sf_maskz", IX86_BUILTIN_DPHI16PS_V8SF_MASKZ, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf, "__builtin_ia32_dpbf16ps_v4sf", IX86_BUILTIN_DPHI16PS_V4SF, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf_mask, "__builtin_ia32_dpbf16ps_v4sf_mask", IX86_BUILTIN_DPHI16PS_V4SF_MASK, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI_UQI) ! BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf_maskz, "__builtin_ia32_dpbf16ps_v4sf_maskz", IX86_BUILTIN_DPHI16PS_V4SF_MASKZ, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI_UQI) /* Builtins with rounding support. */ BDESC_END (ARGS, ROUND_ARGS) --- 2715,2744 ---- BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi, "__builtin_ia32_cvtne2ps2bf16_v32hi", IX86_BUILTIN_CVTNE2PS2HI16_V32HI, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi_mask, "__builtin_ia32_cvtne2ps2bf16_v32hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V32HI_MASK, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF_V32HI_USI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v32hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v32hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V32HI_MASKZ, UNKNOWN, (int) V32HI_FTYPE_V16SF_V16SF_USI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi, "__builtin_ia32_cvtne2ps2bf16_v16hi", IX86_BUILTIN_CVTNE2PS2HI16_V16HI, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi_mask, "__builtin_ia32_cvtne2ps2bf16_v16hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V16HI_MASK, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF_V16HI_UHI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v16hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v16hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V16HI_MASKZ, UNKNOWN, (int) V16HI_FTYPE_V8SF_V8SF_UHI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi, "__builtin_ia32_cvtne2ps2bf16_v8hi", IX86_BUILTIN_CVTNE2PS2HI16_V8HI, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi_mask, "__builtin_ia32_cvtne2ps2bf16_v8hi_mask", IX86_BUILTIN_CVTNE2PS2HI16_V8HI_MASK, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF_V8HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtne2ps2bf16_v8hi_maskz, "__builtin_ia32_cvtne2ps2bf16_v8hi_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V8HI_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V4SF_V4SF_UQI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf, "__builtin_ia32_cvtneps2bf16_v16sf", IX86_BUILTIN_CVTNEPS2HI16_V16SF, UNKNOWN, (int) V16HI_FTYPE_V16SF) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf_mask, "__builtin_ia32_cvtneps2bf16_v16sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V16SF_MASK, UNKNOWN, (int) V16HI_FTYPE_V16SF_V16HI_UHI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v16sf_maskz, "__builtin_ia32_cvtneps2bf16_v16sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V16SF_MASKZ, UNKNOWN, (int) V16HI_FTYPE_V16SF_UHI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf, "__builtin_ia32_cvtneps2bf16_v8sf", IX86_BUILTIN_CVTNEPS2HI16_V8SF, UNKNOWN, (int) V8HI_FTYPE_V8SF) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf_mask, "__builtin_ia32_cvtneps2bf16_v8sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V8SF_MASK, UNKNOWN, (int) V8HI_FTYPE_V8SF_V8HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v8sf_maskz, "__builtin_ia32_cvtneps2bf16_v8sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V8SF_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V8SF_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf, "__builtin_ia32_cvtneps2bf16_v4sf", IX86_BUILTIN_CVTNEPS2HI16_V4SF, UNKNOWN, (int) V8HI_FTYPE_V4SF) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf_mask, "__builtin_ia32_cvtneps2bf16_v4sf_mask", IX86_BUILTIN_CVTNEPS2HI16_V4SF_MASK, UNKNOWN, (int) V8HI_FTYPE_V4SF_V8HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_cvtneps2bf16_v4sf_maskz, "__builtin_ia32_cvtneps2bf16_v4sf_maskz", IX86_BUILTIN_CVTNE2PS2HI16_V4SF_MASKZ, UNKNOWN, (int) V8HI_FTYPE_V4SF_UQI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf, "__builtin_ia32_dpbf16ps_v16sf", IX86_BUILTIN_DPHI16PS_V16SF, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf_mask, "__builtin_ia32_dpbf16ps_v16sf_mask", IX86_BUILTIN_DPHI16PS_V16SF_MASK, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI_UHI) BDESC (0, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v16sf_maskz, "__builtin_ia32_dpbf16ps_v16sf_maskz", IX86_BUILTIN_DPHI16PS_V16SF_MASKZ, UNKNOWN, (int) V16SF_FTYPE_V16SF_V32HI_V32HI_UHI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf, "__builtin_ia32_dpbf16ps_v8sf", IX86_BUILTIN_DPHI16PS_V8SF, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf_mask, "__builtin_ia32_dpbf16ps_v8sf_mask", IX86_BUILTIN_DPHI16PS_V8SF_MASK, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v8sf_maskz, "__builtin_ia32_dpbf16ps_v8sf_maskz", IX86_BUILTIN_DPHI16PS_V8SF_MASKZ, UNKNOWN, (int) V8SF_FTYPE_V8SF_V16HI_V16HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf, "__builtin_ia32_dpbf16ps_v4sf", IX86_BUILTIN_DPHI16PS_V4SF, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf_mask, "__builtin_ia32_dpbf16ps_v4sf_mask", IX86_BUILTIN_DPHI16PS_V4SF_MASK, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI_UQI) ! BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_AVX512BF16, CODE_FOR_avx512f_dpbf16ps_v4sf_maskz, "__builtin_ia32_dpbf16ps_v4sf_maskz", IX86_BUILTIN_DPHI16PS_V4SF_MASKZ, UNKNOWN, (int) V4SF_FTYPE_V4SF_V8HI_V8HI_UQI) /* Builtins with rounding support. */ BDESC_END (ARGS, ROUND_ARGS) diff -Nrcpad gcc-10.4.0/gcc/config/i386/i386-expand.c gcc-10.5.0/gcc/config/i386/i386-expand.c *** gcc-10.4.0/gcc/config/i386/i386-expand.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/i386-expand.c Fri Jul 7 07:08:19 2023 *************** ix86_expand_vec_set_builtin (tree exp) *** 10955,10961 **** op1 = expand_expr (arg1, NULL_RTX, mode1, EXPAND_NORMAL); elt = get_element_number (TREE_TYPE (arg0), arg2); ! if (GET_MODE (op1) != mode1 && GET_MODE (op1) != VOIDmode) op1 = convert_modes (mode1, GET_MODE (op1), op1, true); op0 = force_reg (tmode, op0); --- 10955,10961 ---- op1 = expand_expr (arg1, NULL_RTX, mode1, EXPAND_NORMAL); elt = get_element_number (TREE_TYPE (arg0), arg2); ! if (GET_MODE (op1) != mode1) op1 = convert_modes (mode1, GET_MODE (op1), op1, true); op0 = force_reg (tmode, op0); diff -Nrcpad gcc-10.4.0/gcc/config/i386/i386-features.c gcc-10.5.0/gcc/config/i386/i386-features.c *** gcc-10.4.0/gcc/config/i386/i386-features.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/i386-features.c Fri Jul 7 07:08:19 2023 *************** ix86_add_reg_usage_to_vzerouppers (void) *** 1825,1833 **** static unsigned int rest_of_handle_insert_vzeroupper (void) { ! if (TARGET_VZEROUPPER ! && flag_expensive_optimizations ! && !optimize_size) { /* vzeroupper instructions are inserted immediately after reload to account for possible spills from 256bit or 512bit registers. The pass --- 1825,1831 ---- static unsigned int rest_of_handle_insert_vzeroupper (void) { ! if (TARGET_VZEROUPPER) { /* vzeroupper instructions are inserted immediately after reload to account for possible spills from 256bit or 512bit registers. The pass *************** public: *** 1871,1879 **** virtual bool gate (function *) { return TARGET_AVX ! && ((TARGET_VZEROUPPER ! && flag_expensive_optimizations ! && !optimize_size) || cfun->machine->has_explicit_vzeroupper); } --- 1869,1875 ---- virtual bool gate (function *) { return TARGET_AVX ! && (TARGET_VZEROUPPER || cfun->machine->has_explicit_vzeroupper); } diff -Nrcpad gcc-10.4.0/gcc/config/i386/i386-options.c gcc-10.5.0/gcc/config/i386/i386-options.c *** gcc-10.4.0/gcc/config/i386/i386-options.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/i386-options.c Fri Jul 7 07:08:19 2023 *************** ix86_option_override_internal (bool main *** 2715,2721 **** sorry ("%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"); if (!(opts_set->x_target_flags & MASK_VZEROUPPER) ! && TARGET_EMIT_VZEROUPPER) opts->x_target_flags |= MASK_VZEROUPPER; if (!(opts_set->x_target_flags & MASK_STV)) opts->x_target_flags |= MASK_STV; --- 2715,2723 ---- sorry ("%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"); if (!(opts_set->x_target_flags & MASK_VZEROUPPER) ! && TARGET_EMIT_VZEROUPPER ! && flag_expensive_optimizations ! && !optimize_size) opts->x_target_flags |= MASK_VZEROUPPER; if (!(opts_set->x_target_flags & MASK_STV)) opts->x_target_flags |= MASK_STV; diff -Nrcpad gcc-10.4.0/gcc/config/i386/smmintrin.h gcc-10.5.0/gcc/config/i386/smmintrin.h *** gcc-10.4.0/gcc/config/i386/smmintrin.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/smmintrin.h Fri Jul 7 07:08:19 2023 *************** _mm_insert_ps (__m128 __D, __m128 __S, c *** 365,381 **** extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_ps (__m128 __X, const int __N) { ! union { int i; float f; } __tmp; ! __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N); ! return __tmp.i; } #else #define _mm_extract_ps(X, N) \ (__extension__ \ ({ \ ! union { int i; float f; } __tmp; \ ! __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)(__m128)(X), (int)(N)); \ ! __tmp.i; \ })) #endif --- 365,382 ---- extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_ps (__m128 __X, const int __N) { ! union { int __i; float __f; } __tmp; ! __tmp.__f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N); ! return __tmp.__i; } #else #define _mm_extract_ps(X, N) \ (__extension__ \ ({ \ ! union { int __i; float __f; } __tmp; \ ! __tmp.__f = __builtin_ia32_vec_ext_v4sf ((__v4sf)(__m128)(X), \ ! (int)(N)); \ ! __tmp.__i; \ })) #endif diff -Nrcpad gcc-10.4.0/gcc/config/i386/t-i386 gcc-10.5.0/gcc/config/i386/t-i386 *** gcc-10.4.0/gcc/config/i386/t-i386 Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/i386/t-i386 Fri Jul 7 07:08:19 2023 *************** i386-features.o: $(srcdir)/config/i386/i *** 61,67 **** --- 61,72 ---- $(COMPILE) $< $(POSTCOMPILE) + # i386-builtin-types.inc is included into i386-builtins.h. + # Below are direct users of i386-builtins.h: i386.o: i386-builtin-types.inc + i386-builtins.o: i386-builtin-types.inc + i386-expand.o: i386-builtin-types.inc + i386-features.o: i386-builtin-types.inc i386-builtin-types.inc: s-i386-bt ; @true s-i386-bt: $(srcdir)/config/i386/i386-builtin-types.awk \ diff -Nrcpad gcc-10.4.0/gcc/config/nvptx/nvptx.c gcc-10.5.0/gcc/config/nvptx/nvptx.c *** gcc-10.4.0/gcc/config/nvptx/nvptx.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/nvptx/nvptx.c Fri Jul 7 07:08:19 2023 *************** nvptx_single (unsigned mask, basic_block *** 4392,4397 **** --- 4392,4398 ---- rtx_insn *neuter_start = NULL; rtx_insn *worker_label = NULL, *vector_label = NULL; rtx_insn *worker_jump = NULL, *vector_jump = NULL; + rtx_insn *warp_sync = NULL; for (mode = GOMP_DIM_WORKER; mode <= GOMP_DIM_VECTOR; mode++) if (GOMP_DIM_MASK (mode) & skip_mask) { *************** nvptx_single (unsigned mask, basic_block *** 4424,4434 **** --- 4425,4453 ---- if (tail_branch) { label_insn = emit_label_before (label, before); + if (mode == GOMP_DIM_VECTOR) + { + if (TARGET_PTX_6_0) + warp_sync = emit_insn_after (gen_nvptx_warpsync (), + label_insn); + else + warp_sync = emit_insn_after (gen_nvptx_uniform_warp_check (), + label_insn); + } before = label_insn; } else { label_insn = emit_label_after (label, tail); + if (mode == GOMP_DIM_VECTOR) + { + if (TARGET_PTX_6_0) + warp_sync = emit_insn_after (gen_nvptx_warpsync (), + label_insn); + else + warp_sync = emit_insn_after (gen_nvptx_uniform_warp_check (), + label_insn); + } if ((mode == GOMP_DIM_VECTOR || mode == GOMP_DIM_WORKER) && CALL_P (tail) && find_reg_note (tail, REG_NORETURN, NULL)) emit_insn_after (gen_exit (), label_insn); *************** nvptx_single (unsigned mask, basic_block *** 4496,4501 **** --- 4515,4522 ---- setp.ne.u32 %rcond,%rcondu32,0; */ rtx_insn *label = PREV_INSN (tail); + if (label == warp_sync) + label = PREV_INSN (label); gcc_assert (label && LABEL_P (label)); rtx tmp = gen_reg_rtx (BImode); emit_insn_before (gen_movbi (tmp, const0_rtx), diff -Nrcpad gcc-10.4.0/gcc/config/nvptx/nvptx.h gcc-10.5.0/gcc/config/nvptx/nvptx.h *** gcc-10.4.0/gcc/config/nvptx/nvptx.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/nvptx/nvptx.h Fri Jul 7 07:08:19 2023 *************** *** 27,33 **** /* Run-time Target. */ ! #define STARTFILE_SPEC "%{mmainkernel:crt0.o}" #define ASM_SPEC "%{misa=*:-m %*}" --- 27,33 ---- /* Run-time Target. */ ! #define STARTFILE_SPEC "%{mmainkernel:crt0.o%s}" #define ASM_SPEC "%{misa=*:-m %*}" *************** *** 95,100 **** --- 95,103 ---- #define TARGET_SM35 (ptx_isa_option >= PTX_ISA_SM35) + /* 'TARGET_PTX_*' not applicable before GCC 12. */ + #define TARGET_PTX_6_0 false + /* Registers. Since ptx is a virtual target, we just define a few hard registers for special purposes and leave pseudos unallocated. We have to have some available hard registers, to keep gcc setup diff -Nrcpad gcc-10.4.0/gcc/config/nvptx/nvptx.md gcc-10.5.0/gcc/config/nvptx/nvptx.md *** gcc-10.4.0/gcc/config/nvptx/nvptx.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/nvptx/nvptx.md Fri Jul 7 07:08:19 2023 *************** *** 55,60 **** --- 55,62 ---- UNSPECV_CAS UNSPECV_XCHG UNSPECV_BARSYNC + UNSPECV_WARPSYNC + UNSPECV_UNIFORM_WARP_CHECK UNSPECV_MEMBAR UNSPECV_MEMBAR_CTA UNSPECV_DIM_POS *************** *** 1476,1481 **** --- 1478,1506 ---- } [(set_attr "predicable" "false")]) + (define_insn "nvptx_warpsync" + [(unspec_volatile [(const_int 0)] UNSPECV_WARPSYNC)] + "TARGET_PTX_6_0" + "\\tbar.warp.sync\\t0xffffffff;" + [(set_attr "predicable" "false")]) + + (define_insn "nvptx_uniform_warp_check" + [(unspec_volatile [(const_int 0)] UNSPECV_UNIFORM_WARP_CHECK)] + "" + { + output_asm_insn ("{", NULL); + output_asm_insn ("\\t" ".reg.b32" "\\t" "act;", NULL); + output_asm_insn ("\\t" "vote.ballot.b32" "\\t" "act,1;", NULL); + output_asm_insn ("\\t" ".reg.pred" "\\t" "uni;", NULL); + output_asm_insn ("\\t" "setp.eq.b32" "\\t" "uni,act,0xffffffff;", + NULL); + output_asm_insn ("@ !uni\\t" "trap;", NULL); + output_asm_insn ("@ !uni\\t" "exit;", NULL); + output_asm_insn ("}", NULL); + return ""; + } + [(set_attr "predicable" "false")]) + (define_expand "memory_barrier" [(set (match_dup 0) (unspec_volatile:BLK [(match_dup 0)] UNSPECV_MEMBAR))] diff -Nrcpad gcc-10.4.0/gcc/config/pa/pa.md gcc-10.5.0/gcc/config/pa/pa.md *** gcc-10.4.0/gcc/config/pa/pa.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/pa/pa.md Fri Jul 7 07:08:19 2023 *************** *** 5071,5093 **** (match_dup 2)))) (const_int 0))])] "" ! "") (define_insn "" ! [(set (match_operand:DI 0 "register_operand" "=r,r") ! (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%rM,rM") ! (match_operand:DI 2 "arith11_operand" "r,I"))) (trap_if (ne (plus:TI (sign_extend:TI (match_dup 1)) (sign_extend:TI (match_dup 2))) (sign_extend:TI (plus:DI (match_dup 1) (match_dup 2)))) (const_int 0))] "TARGET_64BIT" ! "@ ! add,tsv,* %2,%1,%0 ! addi,tsv,* %2,%1,%0" ! [(set_attr "type" "binary,binary") ! (set_attr "length" "4,4")]) (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") --- 5071,5095 ---- (match_dup 2)))) (const_int 0))])] "" ! " ! { ! if (TARGET_64BIT) ! operands[2] = force_reg (DImode, operands[2]); ! }") (define_insn "" ! [(set (match_operand:DI 0 "register_operand" "=r") ! (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%rM") ! (match_operand:DI 2 "register_operand" "r"))) (trap_if (ne (plus:TI (sign_extend:TI (match_dup 1)) (sign_extend:TI (match_dup 2))) (sign_extend:TI (plus:DI (match_dup 1) (match_dup 2)))) (const_int 0))] "TARGET_64BIT" ! "add,tsv,* %2,%1,%0" ! [(set_attr "type" "binary") ! (set_attr "length" "4")]) (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") *************** *** 5262,5284 **** (match_dup 2)))) (const_int 0))])] "" ! "") (define_insn "" ! [(set (match_operand:DI 0 "register_operand" "=r,r") ! (minus:DI (match_operand:DI 1 "arith11_operand" "r,I") ! (match_operand:DI 2 "reg_or_0_operand" "rM,rM"))) (trap_if (ne (minus:TI (sign_extend:TI (match_dup 1)) (sign_extend:TI (match_dup 2))) (sign_extend:TI (minus:DI (match_dup 1) (match_dup 2)))) (const_int 0))] "TARGET_64BIT" ! "@ ! {subo|sub,tsv} %1,%2,%0 ! {subio|subi,tsv} %1,%2,%0" ! [(set_attr "type" "binary,binary") ! (set_attr "length" "4,4")]) (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,&r") --- 5264,5288 ---- (match_dup 2)))) (const_int 0))])] "" ! " ! { ! if (TARGET_64BIT) ! operands[1] = force_reg (DImode, operands[1]); ! }") (define_insn "" ! [(set (match_operand:DI 0 "register_operand" "=r") ! (minus:DI (match_operand:DI 1 "register_operand" "r") ! (match_operand:DI 2 "reg_or_0_operand" "rM"))) (trap_if (ne (minus:TI (sign_extend:TI (match_dup 1)) (sign_extend:TI (match_dup 2))) (sign_extend:TI (minus:DI (match_dup 1) (match_dup 2)))) (const_int 0))] "TARGET_64BIT" ! "sub,tsv,* %1,%2,%0" ! [(set_attr "type" "binary") ! (set_attr "length" "4")]) (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,&r") diff -Nrcpad gcc-10.4.0/gcc/config/riscv/t-rtems gcc-10.5.0/gcc/config/riscv/t-rtems *** gcc-10.4.0/gcc/config/riscv/t-rtems Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/riscv/t-rtems Fri Jul 7 07:08:19 2023 *************** *** 1,8 **** MULTILIB_OPTIONS = MULTILIB_DIRNAMES = ! MULTILIB_OPTIONS += march=rv32i/march=rv32im/march=rv32imafd/march=rv32iac/march=rv32imac/march=rv32imafc/march=rv64imafd/march=rv64imac/march=rv64imafdc ! MULTILIB_DIRNAMES += rv32i rv32im rv32imafd rv32iac rv32imac rv32imafc rv64imafd rv64imac rv64imafdc MULTILIB_OPTIONS += mabi=ilp32/mabi=ilp32f/mabi=ilp32d/mabi=lp64/mabi=lp64d MULTILIB_DIRNAMES += ilp32 ilp32f ilp32d lp64 lp64d --- 1,8 ---- MULTILIB_OPTIONS = MULTILIB_DIRNAMES = ! MULTILIB_OPTIONS += march=rv32i/march=rv32iac/march=rv32im/march=rv32ima/march=rv32imac/march=rv32imaf/march=rv32imafc/march=rv32imafd/march=rv32imafdc/march=rv64ima/march=rv64imac/march=rv64imafd/march=rv64imafdc ! MULTILIB_DIRNAMES += rv32i rv32iac rv32im rv32ima rv32imac rv32imaf rv32imafc rv32imafd rv32imafdc rv64ima rv64imac rv64imafd rv64imafdc MULTILIB_OPTIONS += mabi=ilp32/mabi=ilp32f/mabi=ilp32d/mabi=lp64/mabi=lp64d MULTILIB_DIRNAMES += ilp32 ilp32f ilp32d lp64 lp64d *************** MULTILIB_DIRNAMES += medany *** 12,25 **** MULTILIB_REQUIRED = MULTILIB_REQUIRED += march=rv32i/mabi=ilp32 - MULTILIB_REQUIRED += march=rv32im/mabi=ilp32 - MULTILIB_REQUIRED += march=rv32imafd/mabi=ilp32d MULTILIB_REQUIRED += march=rv32iac/mabi=ilp32 MULTILIB_REQUIRED += march=rv32imac/mabi=ilp32 MULTILIB_REQUIRED += march=rv32imafc/mabi=ilp32f ! MULTILIB_REQUIRED += march=rv64imafd/mabi=lp64d ! MULTILIB_REQUIRED += march=rv64imafd/mabi=lp64d/mcmodel=medany ! MULTILIB_REQUIRED += march=rv64imac/mabi=lp64 MULTILIB_REQUIRED += march=rv64imac/mabi=lp64/mcmodel=medany ! MULTILIB_REQUIRED += march=rv64imafdc/mabi=lp64d MULTILIB_REQUIRED += march=rv64imafdc/mabi=lp64d/mcmodel=medany --- 12,26 ---- MULTILIB_REQUIRED = MULTILIB_REQUIRED += march=rv32i/mabi=ilp32 MULTILIB_REQUIRED += march=rv32iac/mabi=ilp32 + MULTILIB_REQUIRED += march=rv32im/mabi=ilp32 + MULTILIB_REQUIRED += march=rv32ima/mabi=ilp32 MULTILIB_REQUIRED += march=rv32imac/mabi=ilp32 + MULTILIB_REQUIRED += march=rv32imaf/mabi=ilp32f MULTILIB_REQUIRED += march=rv32imafc/mabi=ilp32f ! MULTILIB_REQUIRED += march=rv32imafd/mabi=ilp32d ! MULTILIB_REQUIRED += march=rv32imafdc/mabi=ilp32d ! MULTILIB_REQUIRED += march=rv64ima/mabi=lp64/mcmodel=medany MULTILIB_REQUIRED += march=rv64imac/mabi=lp64/mcmodel=medany ! MULTILIB_REQUIRED += march=rv64imafd/mabi=lp64d/mcmodel=medany MULTILIB_REQUIRED += march=rv64imafdc/mabi=lp64d/mcmodel=medany diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/altivec.md gcc-10.5.0/gcc/config/rs6000/altivec.md *** gcc-10.4.0/gcc/config/rs6000/altivec.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/altivec.md Fri Jul 7 07:08:19 2023 *************** *** 3916,3924 **** [(set_attr "type" "vecsimple")]) ;; Vector parity ! (define_insn "*p9v_parity2" ! [(set (match_operand:VParity 0 "register_operand" "=v") ! (parity:VParity (match_operand:VParity 1 "register_operand" "v")))] "TARGET_P9_VECTOR" "vprtyb %0,%1" [(set_attr "type" "vecsimple")]) --- 3916,3926 ---- [(set_attr "type" "vecsimple")]) ;; Vector parity ! (define_insn "rs6000_vprtyb2" ! [(set (match_operand:VEC_IP 0 "register_operand" "=v") ! (unspec:VEC_IP ! [(match_operand:VEC_IP 1 "register_operand" "v")] ! UNSPEC_PARITY))] "TARGET_P9_VECTOR" "vprtyb %0,%1" [(set_attr "type" "vecsimple")]) diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/mma.md gcc-10.5.0/gcc/config/rs6000/mma.md *** gcc-10.4.0/gcc/config/rs6000/mma.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/mma.md Fri Jul 7 07:08:19 2023 *************** *** 283,292 **** (define_expand "movpoi" [(set (match_operand:POI 0 "nonimmediate_operand") (match_operand:POI 1 "input_operand"))] ! "TARGET_MMA" { ! rs6000_emit_move (operands[0], operands[1], POImode); ! DONE; }) (define_insn_and_split "*movpoi" --- 283,310 ---- (define_expand "movpoi" [(set (match_operand:POI 0 "nonimmediate_operand") (match_operand:POI 1 "input_operand"))] ! "" { ! if (TARGET_MMA) ! { ! rs6000_emit_move (operands[0], operands[1], POImode); ! DONE; ! } ! else if (currently_expanding_to_rtl && seen_error ()) ! { ! /* PR103353 shows we may want to continue to expand the __builtin_vsx_lxvp ! built-in function, even if we have already emitted error messages about ! some missing required conditions. As shown in that PR, without one ! explicit mov optab on POImode provided, it would call emit_move_insn ! recursively. So we allow this pattern to be generated when we are ! expanding to RTL and have seen errors. It would not cause further ICEs ! as the compilation would stop soon after expanding. */ ! } ! else if (rs6000_opaque_type_invalid_use_p (currently_expanding_gimple_stmt)) ! ; ! else ! /* Catch unexpected cases. */ ! gcc_assert (false); }) (define_insn_and_split "*movpoi" *************** *** 323,332 **** (define_expand "movpxi" [(set (match_operand:PXI 0 "nonimmediate_operand") (match_operand:PXI 1 "input_operand"))] ! "TARGET_MMA" { ! rs6000_emit_move (operands[0], operands[1], PXImode); ! DONE; }) (define_insn_and_split "*movpxi" --- 341,365 ---- (define_expand "movpxi" [(set (match_operand:PXI 0 "nonimmediate_operand") (match_operand:PXI 1 "input_operand"))] ! "" { ! if (TARGET_MMA) ! { ! rs6000_emit_move (operands[0], operands[1], PXImode); ! DONE; ! } ! else if (currently_expanding_to_rtl && seen_error ()) ! { ! /* PR103353 shows we may want to continue to expand the __builtin_vsx_lxvp ! built-in function, even if we have already emitted error messages about ! some missing required conditions. So do the same handlings for PXImode ! as POImode here. */ ! } ! else if (rs6000_opaque_type_invalid_use_p (currently_expanding_gimple_stmt)) ! ; ! else ! /* Catch unexpected cases. */ ! gcc_assert (false); }) (define_insn_and_split "*movpxi" diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000-builtin.def gcc-10.5.0/gcc/config/rs6000/rs6000-builtin.def *** gcc-10.4.0/gcc/config/rs6000/rs6000-builtin.def Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000-builtin.def Fri Jul 7 07:08:19 2023 *************** *** 320,325 **** --- 320,333 ---- | RS6000_BTC_SPECIAL), \ CODE_FOR_nothing) /* ICODE */ + #define BU_VSX_MISC_2(ENUM, NAME, ATTR, ICODE) \ + RS6000_BUILTIN_2 (MISC_BUILTIN_ ## ENUM, /* ENUM */ \ + "__builtin_" NAME, /* NAME */ \ + RS6000_BTM_VSX, /* MASK */ \ + (RS6000_BTC_ ## ATTR /* ATTR */ \ + | RS6000_BTC_BINARY), \ + CODE_FOR_ ## ICODE) /* ICODE */ + /* VSX overloaded builtin function macros. */ #define BU_VSX_OVERLOAD_1(ENUM, NAME) \ RS6000_BUILTIN_1 (VSX_BUILTIN_VEC_ ## ENUM, /* ENUM */ \ *************** BU_LDBL128_2 (UNPACK_TF, "unpack_longdou *** 2589,2596 **** BU_IBM128_2 (PACK_IF, "pack_ibm128", CONST, packif) BU_IBM128_2 (UNPACK_IF, "unpack_ibm128", CONST, unpackif) ! BU_P7_MISC_2 (PACK_V1TI, "pack_vector_int128", CONST, packv1ti) ! BU_P7_MISC_2 (UNPACK_V1TI, "unpack_vector_int128", CONST, unpackv1ti) /* 2 argument DFP (Decimal Floating Point) functions added in ISA 3.0. */ BU_P9_DFP_MISC_2 (TSTSFI_LT_DD, "dtstsfi_lt_dd", CONST, dfptstsfi_lt_dd) --- 2597,2604 ---- BU_IBM128_2 (PACK_IF, "pack_ibm128", CONST, packif) BU_IBM128_2 (UNPACK_IF, "unpack_ibm128", CONST, unpackif) ! BU_VSX_MISC_2 (PACK_V1TI, "pack_vector_int128", CONST, packv1ti) ! BU_VSX_MISC_2 (UNPACK_V1TI, "unpack_vector_int128", CONST, unpackv1ti) /* 2 argument DFP (Decimal Floating Point) functions added in ISA 3.0. */ BU_P9_DFP_MISC_2 (TSTSFI_LT_DD, "dtstsfi_lt_dd", CONST, dfptstsfi_lt_dd) *************** BU_P9V_AV_1 (VCTZB, "vctzb", CONST, c *** 2627,2635 **** BU_P9V_AV_1 (VCTZH, "vctzh", CONST, ctzv8hi2) BU_P9V_AV_1 (VCTZW, "vctzw", CONST, ctzv4si2) BU_P9V_AV_1 (VCTZD, "vctzd", CONST, ctzv2di2) ! BU_P9V_AV_1 (VPRTYBD, "vprtybd", CONST, parityv2di2) ! BU_P9V_AV_1 (VPRTYBQ, "vprtybq", CONST, parityv1ti2) ! BU_P9V_AV_1 (VPRTYBW, "vprtybw", CONST, parityv4si2) /* ISA 3.0 vector overloaded 1 argument functions. */ BU_P9V_OVERLOAD_1 (VCTZ, "vctz") --- 2635,2643 ---- BU_P9V_AV_1 (VCTZH, "vctzh", CONST, ctzv8hi2) BU_P9V_AV_1 (VCTZW, "vctzw", CONST, ctzv4si2) BU_P9V_AV_1 (VCTZD, "vctzd", CONST, ctzv2di2) ! BU_P9V_AV_1 (VPRTYBD, "vprtybd", CONST, rs6000_vprtybv2di2) ! BU_P9V_AV_1 (VPRTYBQ, "vprtybq", CONST, rs6000_vprtybv1ti2) ! BU_P9V_AV_1 (VPRTYBW, "vprtybw", CONST, rs6000_vprtybv4si2) /* ISA 3.0 vector overloaded 1 argument functions. */ BU_P9V_OVERLOAD_1 (VCTZ, "vctz") diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000-call.c gcc-10.5.0/gcc/config/rs6000/rs6000-call.c *** gcc-10.4.0/gcc/config/rs6000/rs6000-call.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000-call.c Fri Jul 7 07:08:19 2023 *************** rs6000_function_arg_advance_1 (CUMULATIV *** 6534,6539 **** --- 6534,6545 ---- { cum->vregno += n_elts; + /* If we are not splitting Complex IEEE128 args then account for the + fact that they are passed in 2 VSX regs. */ + if (!targetm.calls.split_complex_arg && type + && TREE_CODE (type) == COMPLEX_TYPE && elt_mode == KCmode) + cum->vregno++; + if (!TARGET_ALTIVEC) error ("cannot pass argument in vector register because" " altivec instructions are disabled, use %qs" *************** rs6000_gimple_fold_mma_builtin (gimple_s *** 10855,10861 **** push_gimplify_context (true); tree dst_ptr = gimple_call_arg (stmt, 0); tree src_ptr = gimple_call_arg (stmt, 1); ! tree src_type = TREE_TYPE (src_ptr); tree src = create_tmp_reg_or_ssa_name (TREE_TYPE (src_type)); gimplify_assign (src, build_simple_mem_ref (src_ptr), &new_seq); --- 10861,10872 ---- push_gimplify_context (true); tree dst_ptr = gimple_call_arg (stmt, 0); tree src_ptr = gimple_call_arg (stmt, 1); ! tree src_type = (fncode == MMA_BUILTIN_DISASSEMBLE_ACC) ! ? build_pointer_type (vector_quad_type_node) ! : build_pointer_type (vector_pair_type_node); ! if (TREE_TYPE (src_ptr) != src_type) ! src_ptr = build1 (NOP_EXPR, src_type, src_ptr); ! tree src = create_tmp_reg_or_ssa_name (TREE_TYPE (src_type)); gimplify_assign (src, build_simple_mem_ref (src_ptr), &new_seq); diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000-logue.c gcc-10.5.0/gcc/config/rs6000/rs6000-logue.c *** gcc-10.4.0/gcc/config/rs6000/rs6000-logue.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000-logue.c Fri Jul 7 07:08:19 2023 *************** rs6000_emit_epilogue (enum epilogue_type *** 4885,4891 **** a REG_CFA_DEF_CFA note, but that's OK; A duplicate is discarded by dwarf2cfi.c/dwarf2out.c, and in any case would be harmless if emitted. */ ! if (frame_pointer_needed) { insn = get_last_insn (); add_reg_note (insn, REG_CFA_DEF_CFA, --- 4885,4891 ---- a REG_CFA_DEF_CFA note, but that's OK; A duplicate is discarded by dwarf2cfi.c/dwarf2out.c, and in any case would be harmless if emitted. */ ! if (frame_pointer_needed_indeed) { insn = get_last_insn (); add_reg_note (insn, REG_CFA_DEF_CFA, diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000-p8swap.c gcc-10.5.0/gcc/config/rs6000/rs6000-p8swap.c *** gcc-10.4.0/gcc/config/rs6000/rs6000-p8swap.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000-p8swap.c Fri Jul 7 07:08:19 2023 *************** replace_swapped_aligned_store (swap_web_ *** 1668,1674 **** gcc_assert ((GET_CODE (new_body) == SET) && MEM_P (SET_DEST (new_body))); ! set_block_for_insn (new_insn, BLOCK_FOR_INSN (store_insn)); df_insn_rescan (new_insn); df_insn_delete (store_insn); --- 1668,1682 ---- gcc_assert ((GET_CODE (new_body) == SET) && MEM_P (SET_DEST (new_body))); ! basic_block bb = BLOCK_FOR_INSN (store_insn); ! set_block_for_insn (new_insn, bb); ! /* Handle REG_EH_REGION note. */ ! if (cfun->can_throw_non_call_exceptions && BB_END (bb) == store_insn) ! { ! rtx note = find_reg_note (store_insn, REG_EH_REGION, NULL_RTX); ! if (note) ! add_reg_note (new_insn, REG_EH_REGION, XEXP (note, 0)); ! } df_insn_rescan (new_insn); df_insn_delete (store_insn); *************** replace_swapped_aligned_load (swap_web_e *** 1761,1767 **** gcc_assert ((GET_CODE (new_body) == SET) && MEM_P (SET_SRC (new_body))); ! set_block_for_insn (new_insn, BLOCK_FOR_INSN (def_insn)); df_insn_rescan (new_insn); df_insn_delete (def_insn); --- 1769,1783 ---- gcc_assert ((GET_CODE (new_body) == SET) && MEM_P (SET_SRC (new_body))); ! basic_block bb = BLOCK_FOR_INSN (def_insn); ! set_block_for_insn (new_insn, bb); ! /* Handle REG_EH_REGION note. */ ! if (cfun->can_throw_non_call_exceptions && BB_END (bb) == def_insn) ! { ! rtx note = find_reg_note (def_insn, REG_EH_REGION, NULL_RTX); ! if (note) ! add_reg_note (new_insn, REG_EH_REGION, XEXP (note, 0)); ! } df_insn_rescan (new_insn); df_insn_delete (def_insn); diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000-protos.h gcc-10.5.0/gcc/config/rs6000/rs6000-protos.h *** gcc-10.4.0/gcc/config/rs6000/rs6000-protos.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000-protos.h Fri Jul 7 07:08:19 2023 *************** extern bool rs6000_quadword_masked_addre *** 309,312 **** --- 309,314 ---- extern rtx rs6000_gen_lvx (enum machine_mode, rtx, rtx); extern rtx rs6000_gen_stvx (enum machine_mode, rtx, rtx); + extern gimple *currently_expanding_gimple_stmt; + extern bool rs6000_opaque_type_invalid_use_p (gimple *); #endif /* rs6000-protos.h */ diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000.c gcc-10.5.0/gcc/config/rs6000/rs6000.c *** gcc-10.4.0/gcc/config/rs6000/rs6000.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000.c Fri Jul 7 07:08:19 2023 *************** darwin_rs6000_special_round_type_align ( *** 7420,7426 **** type = TREE_TYPE (type); } while (AGGREGATE_TYPE_P (type)); ! if (! AGGREGATE_TYPE_P (type) && type != error_mark_node) align = MAX (align, TYPE_ALIGN (type)); return align; --- 7420,7427 ---- type = TREE_TYPE (type); } while (AGGREGATE_TYPE_P (type)); ! if (type != error_mark_node && ! AGGREGATE_TYPE_P (type) ! && ! TYPE_PACKED (type) && maximum_field_alignment == 0) align = MAX (align, TYPE_ALIGN (type)); return align; *************** output_toc (FILE *file, rtx x, int label *** 16649,16655 **** if (DECIMAL_FLOAT_MODE_P (GET_MODE (x))) REAL_VALUE_TO_TARGET_DECIMAL128 (*CONST_DOUBLE_REAL_VALUE (x), k); else ! REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), k); if (TARGET_64BIT) { --- 16650,16656 ---- if (DECIMAL_FLOAT_MODE_P (GET_MODE (x))) REAL_VALUE_TO_TARGET_DECIMAL128 (*CONST_DOUBLE_REAL_VALUE (x), k); else ! real_to_target (k, CONST_DOUBLE_REAL_VALUE (x), GET_MODE (x)); if (TARGET_64BIT) { *************** rs6000_invalid_conversion (const_tree fr *** 26888,26918 **** if (tomode == POImode) return N_("invalid conversion to type %<__vector_pair%>"); } ! else if (POINTER_TYPE_P (fromtype) && POINTER_TYPE_P (totype)) { ! /* We really care about the modes of the base types. */ ! frommode = TYPE_MODE (TREE_TYPE (fromtype)); ! tomode = TYPE_MODE (TREE_TYPE (totype)); ! /* Do not allow conversions to/from PXImode and POImode pointer ! types, except to/from void pointers. */ ! if (frommode != tomode ! && frommode != VOIDmode ! && tomode != VOIDmode) { ! if (frommode == PXImode) ! return N_("invalid conversion from type %<* __vector_quad%>"); ! if (tomode == PXImode) ! return N_("invalid conversion to type %<* __vector_quad%>"); ! if (frommode == POImode) ! return N_("invalid conversion from type %<* __vector_pair%>"); ! if (tomode == POImode) ! return N_("invalid conversion to type %<* __vector_pair%>"); } } ! /* Conversion allowed. */ ! return NULL; } struct gcc_target targetm = TARGET_INITIALIZER; --- 26889,26979 ---- if (tomode == POImode) return N_("invalid conversion to type %<__vector_pair%>"); } ! ! /* Conversion allowed. */ ! return NULL; ! } ! ! /* If the given TYPE is one MMA opaque type, emit the corresponding ! error messages and return true, otherwise return false. */ ! ! static inline bool ! check_and_error_invalid_use (tree type) ! { ! tree mv = TYPE_MAIN_VARIANT (type); ! if (mv == vector_quad_type_node) { ! error ("type %<__vector_quad%> requires the %qs option", "-mmma"); ! return true; ! } ! else if (mv == vector_pair_type_node) ! { ! error ("type %<__vector_pair%> requires the %qs option", "-mmma"); ! return true; ! } ! return false; ! } ! /* Now we have only two opaque types, they are __vector_quad and ! __vector_pair built-in types. They are target specific and ! only available when MMA is supported. With MMA supported, it ! simply returns true, otherwise it checks if the given gimple ! STMT is an assignment, asm or call stmt and uses either of ! these two opaque types unexpectedly, if yes, it would raise ! an error message and returns true, otherwise it returns false. */ ! ! bool ! rs6000_opaque_type_invalid_use_p (gimple *stmt) ! { ! if (TARGET_MMA) ! return false; ! ! if (stmt) ! { ! /* The usage of MMA opaque types is very limited for now, ! to check with gassign, gasm and gcall is enough so far. */ ! if (gassign *ga = dyn_cast (stmt)) { ! tree lhs = gimple_assign_lhs (ga); ! tree type = TREE_TYPE (lhs); ! if (check_and_error_invalid_use (type)) ! return true; ! } ! else if (gasm *gs = dyn_cast (stmt)) ! { ! unsigned ninputs = gimple_asm_ninputs (gs); ! for (unsigned i = 0; i < ninputs; i++) ! { ! tree op = gimple_asm_input_op (gs, i); ! tree val = TREE_VALUE (op); ! tree type = TREE_TYPE (val); ! if (check_and_error_invalid_use (type)) ! return true; ! } ! unsigned noutputs = gimple_asm_noutputs (gs); ! for (unsigned i = 0; i < noutputs; i++) ! { ! tree op = gimple_asm_output_op (gs, i); ! tree val = TREE_VALUE (op); ! tree type = TREE_TYPE (val); ! if (check_and_error_invalid_use (type)) ! return true; ! } ! } ! else if (gcall *gc = dyn_cast (stmt)) ! { ! unsigned nargs = gimple_call_num_args (gc); ! for (unsigned i = 0; i < nargs; i++) ! { ! tree arg = gimple_call_arg (gc, i); ! tree type = TREE_TYPE (arg); ! if (check_and_error_invalid_use (type)) ! return true; ! } } } ! return false; } struct gcc_target targetm = TARGET_INITIALIZER; diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rs6000.h gcc-10.5.0/gcc/config/rs6000/rs6000.h *** gcc-10.4.0/gcc/config/rs6000/rs6000.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rs6000.h Fri Jul 7 07:08:19 2023 *************** *** 81,92 **** # define SUBTARGET_DRIVER_SELF_SPECS "" #endif ! /* Only for use in the testsuite: -mdejagnu-cpu= simply overrides -mcpu=. With older versions of Dejagnu the command line arguments you set in ! RUNTESTFLAGS override those set in the testcases; with this option, ! the testcase will always win. Ditto for -mdejagnu-tune=. */ #define DRIVER_SELF_SPECS \ ! "%{mdejagnu-cpu=*: % filters out all ! -mcpu= as well as -mtune= options then simply adds -mcpu=, ! while -mdejagnu-tune= filters out all -mtune= options then ! simply adds -mtune=. With older versions of Dejagnu the command line arguments you set in ! RUNTESTFLAGS override those set in the testcases; with these options, ! the testcase will always win. */ #define DRIVER_SELF_SPECS \ ! "%{mdejagnu-cpu=*: %2" ! [(set (match_operand:EXTQI 0 "gpc_reg_operand" "=r,r,^wa,^v") ! (zero_extend:EXTQI (match_operand:QI 1 "reg_or_mem_operand" "m,r,Z,v")))] "" "@ lbz%U1%X1 %0,%1 --- 782,789 ---- ;; complex forms. Basic data transfer is done later. (define_insn "zero_extendqi2" ! [(set (match_operand:EXTQI 0 "gpc_reg_operand" "=r,r,wa,^v") ! (zero_extend:EXTQI (match_operand:QI 1 "reg_or_mem_operand" "m,r,?Z,v")))] "" "@ lbz%U1%X1 %0,%1 *************** *** 836,843 **** (define_insn "zero_extendhi2" ! [(set (match_operand:EXTHI 0 "gpc_reg_operand" "=r,r,^wa,^v") ! (zero_extend:EXTHI (match_operand:HI 1 "reg_or_mem_operand" "m,r,Z,v")))] "" "@ lhz%U1%X1 %0,%1 --- 836,843 ---- (define_insn "zero_extendhi2" ! [(set (match_operand:EXTHI 0 "gpc_reg_operand" "=r,r,wa,^v") ! (zero_extend:EXTHI (match_operand:HI 1 "reg_or_mem_operand" "m,r,?Z,v")))] "" "@ lhz%U1%X1 %0,%1 *************** *** 891,897 **** (define_insn "zero_extendsi2" [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,d,wa,wa,r,wa") ! (zero_extend:EXTSI (match_operand:SI 1 "reg_or_mem_operand" "m,r,Z,Z,r,wa,wa")))] "" "@ lwz%U1%X1 %0,%1 --- 891,897 ---- (define_insn "zero_extendsi2" [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,d,wa,wa,r,wa") ! (zero_extend:EXTSI (match_operand:SI 1 "reg_or_mem_operand" "m,r,?Z,?Z,r,wa,wa")))] "" "@ lwz%U1%X1 %0,%1 *************** *** 6941,6947 **** [(set (match_operand:SI 0 "nonimmediate_operand" "=r, r, r, d, v, ! m, Z, Z, r, r, r, r, wa, wa, wa, v, wa, v, v, --- 6941,6947 ---- [(set (match_operand:SI 0 "nonimmediate_operand" "=r, r, r, d, v, ! m, ?Z, ?Z, r, r, r, r, wa, wa, wa, v, wa, v, v, *************** *** 6949,6955 **** r, *h, *h") (match_operand:SI 1 "input_operand" "r, U, ! m, Z, Z, r, d, v, I, L, eI, n, wa, O, wM, wB, --- 6949,6955 ---- r, *h, *h") (match_operand:SI 1 "input_operand" "r, U, ! m, ?Z, ?Z, r, d, v, I, L, eI, n, wa, O, wM, wB, *************** *** 7230,7240 **** ;; MTVSRWZ MF%1 MT%1 NOP (define_insn "*mov_internal" [(set (match_operand:QHI 0 "nonimmediate_operand" ! "=r, r, wa, m, Z, r, wa, wa, wa, v, ?v, r, wa, r, *c*l, *h") (match_operand:QHI 1 "input_operand" ! "r, m, Z, r, wa, i, wa, O, wM, wB, wS, wa, r, *h, r, 0"))] "gpc_reg_operand (operands[0], mode) --- 7230,7240 ---- ;; MTVSRWZ MF%1 MT%1 NOP (define_insn "*mov_internal" [(set (match_operand:QHI 0 "nonimmediate_operand" ! "=r, r, wa, m, ?Z, r, wa, wa, wa, v, ?v, r, wa, r, *c*l, *h") (match_operand:QHI 1 "input_operand" ! "r, m, ?Z, r, wa, i, wa, O, wM, wB, wS, wa, r, *h, r, 0"))] "gpc_reg_operand (operands[0], mode) *************** *** 7413,7422 **** ;; FMR MR MT%0 MF%1 NOP (define_insn "movsd_hardfloat" [(set (match_operand:SD 0 "nonimmediate_operand" ! "=!r, d, m, Z, ?d, ?r, f, !r, *c*l, !r, *h") (match_operand:SD 1 "input_operand" ! "m, Z, r, wx, r, d, f, r, r, *h, 0"))] "(register_operand (operands[0], SDmode) || register_operand (operands[1], SDmode)) --- 7413,7422 ---- ;; FMR MR MT%0 MF%1 NOP (define_insn "movsd_hardfloat" [(set (match_operand:SD 0 "nonimmediate_operand" ! "=!r, d, m, ?Z, ?d, ?r, f, !r, *c*l, !r, *h") (match_operand:SD 1 "input_operand" ! "m, ?Z, r, wx, r, d, f, r, r, *h, 0"))] "(register_operand (operands[0], SDmode) || register_operand (operands[1], SDmode)) diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/rtems.h gcc-10.5.0/gcc/config/rs6000/rtems.h *** gcc-10.4.0/gcc/config/rs6000/rtems.h Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/rtems.h Fri Jul 7 07:08:19 2023 *************** *** 23,28 **** --- 23,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + /* Undef gnu-user.h macro we don't want. */ + #undef CPLUSPLUS_CPP_SPEC + /* Copy and paste from linux64.h and freebsd64.h */ #ifdef IN_LIBGCC2 #undef TARGET_64BIT *************** *** 252,258 **** %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ %{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ %{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } } \ ! %{mcpu=e6500: -D__PPC_CPU_E6500__}" #undef ASM_SPEC #define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)" --- 255,262 ---- %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ %{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ %{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } } \ ! %{mcpu=e6500: -D__PPC_CPU_E6500__} \ ! %{mvrsave: -D__PPC_VRSAVE__}" #undef ASM_SPEC #define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)" diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/t-rtems gcc-10.5.0/gcc/config/rs6000/t-rtems *** gcc-10.4.0/gcc/config/rs6000/t-rtems Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/t-rtems Fri Jul 7 07:08:19 2023 *************** MULTILIB_DIRNAMES += nof *** 36,41 **** --- 36,44 ---- MULTILIB_OPTIONS += mno-altivec MULTILIB_DIRNAMES += noaltivec + MULTILIB_OPTIONS += mvrsave + MULTILIB_DIRNAMES += vrsave + MULTILIB_MATCHES += ${MULTILIB_MATCHES_ENDIAN} MULTILIB_MATCHES += ${MULTILIB_MATCHES_SYSV} # Map 405 to 403 *************** MULTILIB_REQUIRED += mcpu=7400/msoft-flo *** 70,74 **** --- 73,79 ---- MULTILIB_REQUIRED += mcpu=8540/msoft-float MULTILIB_REQUIRED += mcpu=860 MULTILIB_REQUIRED += mcpu=e6500/m32 + MULTILIB_REQUIRED += mcpu=e6500/m32/mvrsave MULTILIB_REQUIRED += mcpu=e6500/m32/msoft-float/mno-altivec MULTILIB_REQUIRED += mcpu=e6500/m64 + MULTILIB_REQUIRED += mcpu=e6500/m64/mvrsave diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/vector.md gcc-10.5.0/gcc/config/rs6000/vector.md *** gcc-10.4.0/gcc/config/rs6000/vector.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/vector.md Fri Jul 7 07:08:19 2023 *************** *** 1161,1167 **** (define_expand "parity2" [(set (match_operand:VEC_IP 0 "register_operand") (parity:VEC_IP (match_operand:VEC_IP 1 "register_operand")))] ! "TARGET_P9_VECTOR") ;; Same size conversions --- 1161,1176 ---- (define_expand "parity2" [(set (match_operand:VEC_IP 0 "register_operand") (parity:VEC_IP (match_operand:VEC_IP 1 "register_operand")))] ! "TARGET_P9_VECTOR" ! { ! rtx op1 = gen_lowpart (V16QImode, operands[1]); ! rtx res = gen_reg_rtx (V16QImode); ! emit_insn (gen_popcountv16qi2 (res, op1)); ! emit_insn (gen_rs6000_vprtyb2 (operands[0], ! gen_lowpart (mode, res))); ! ! DONE; ! }) ;; Same size conversions diff -Nrcpad gcc-10.4.0/gcc/config/rs6000/vsx.md gcc-10.5.0/gcc/config/rs6000/vsx.md *** gcc-10.4.0/gcc/config/rs6000/vsx.md Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/rs6000/vsx.md Fri Jul 7 07:08:19 2023 *************** *** 1844,1865 **** "xtsqrtp %0,%x1" [(set_attr "type" "")]) ! ;; Fused vector multiply/add instructions. Support the classical Altivec ! ;; versions of fma, which allows the target to be a separate register from the ! ;; 3 inputs. Under VSX, the target must be either the addend or the first ! ;; multiply. ! (define_insn "*vsx_fmav4sf4" ! [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa,wa,v") (fma:V4SF ! (match_operand:V4SF 1 "vsx_register_operand" "%wa,wa,v") ! (match_operand:V4SF 2 "vsx_register_operand" "wa,0,v") ! (match_operand:V4SF 3 "vsx_register_operand" "0,wa,v")))] "VECTOR_UNIT_VSX_P (V4SFmode)" "@ xvmaddasp %x0,%x1,%x2 ! xvmaddmsp %x0,%x1,%x3 ! vmaddfp %0,%1,%2,%3" [(set_attr "type" "vecfloat")]) (define_insn "*vsx_fmav2df4" --- 1844,1863 ---- "xtsqrtp %0,%x1" [(set_attr "type" "")]) ! ;; Fused vector multiply/add instructions. Do not generate the Altivec versions ! ;; of fma (vmaddfp and vnmsubfp). These instructions allows the target to be a ! ;; separate register from the 3 inputs, but they have different rounding ! ;; behaviors than the VSX instructions. (define_insn "*vsx_fmav4sf4" ! [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa,wa") (fma:V4SF ! (match_operand:V4SF 1 "vsx_register_operand" "%wa,wa") ! (match_operand:V4SF 2 "vsx_register_operand" "wa,0") ! (match_operand:V4SF 3 "vsx_register_operand" "0,wa")))] "VECTOR_UNIT_VSX_P (V4SFmode)" "@ xvmaddasp %x0,%x1,%x2 ! xvmaddmsp %x0,%x1,%x3" [(set_attr "type" "vecfloat")]) (define_insn "*vsx_fmav2df4" *************** *** 1901,1918 **** [(set_attr "type" "")]) (define_insn "*vsx_nfmsv4sf4" ! [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa,wa,v") (neg:V4SF (fma:V4SF ! (match_operand:V4SF 1 "vsx_register_operand" "%wa,wa,v") ! (match_operand:V4SF 2 "vsx_register_operand" "wa,0,v") (neg:V4SF ! (match_operand:V4SF 3 "vsx_register_operand" "0,wa,v")))))] "VECTOR_UNIT_VSX_P (V4SFmode)" "@ xvnmsubasp %x0,%x1,%x2 ! xvnmsubmsp %x0,%x1,%x3 ! vnmsubfp %0,%1,%2,%3" [(set_attr "type" "vecfloat")]) (define_insn "*vsx_nfmsv2df4" --- 1899,1915 ---- [(set_attr "type" "")]) (define_insn "*vsx_nfmsv4sf4" ! [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa,wa") (neg:V4SF (fma:V4SF ! (match_operand:V4SF 1 "vsx_register_operand" "%wa,wa") ! (match_operand:V4SF 2 "vsx_register_operand" "wa,0") (neg:V4SF ! (match_operand:V4SF 3 "vsx_register_operand" "0,wa")))))] "VECTOR_UNIT_VSX_P (V4SFmode)" "@ xvnmsubasp %x0,%x1,%x2 ! xvnmsubmsp %x0,%x1,%x3" [(set_attr "type" "vecfloat")]) (define_insn "*vsx_nfmsv2df4" diff -Nrcpad gcc-10.4.0/gcc/config/s390/s390.c gcc-10.5.0/gcc/config/s390/s390.c *** gcc-10.4.0/gcc/config/s390/s390.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/s390/s390.c Fri Jul 7 07:08:19 2023 *************** s390_call_saved_register_used (tree call *** 13465,13500 **** function_arg_info arg (TREE_TYPE (parameter), /*named=*/true); apply_pass_by_reference_rules (&cum_v, arg); ! parm_rtx = s390_function_arg (cum, arg); ! ! s390_function_arg_advance (cum, arg); ! if (!parm_rtx) ! continue; ! if (REG_P (parm_rtx)) ! { ! for (reg = 0; reg < REG_NREGS (parm_rtx); reg++) ! if (!call_used_or_fixed_reg_p (reg + REGNO (parm_rtx))) ! return true; ! } ! if (GET_CODE (parm_rtx) == PARALLEL) ! { ! int i; ! for (i = 0; i < XVECLEN (parm_rtx, 0); i++) ! { ! rtx r = XEXP (XVECEXP (parm_rtx, 0, i), 0); ! gcc_assert (REG_P (r)); ! for (reg = 0; reg < REG_NREGS (r); reg++) ! if (!call_used_or_fixed_reg_p (reg + REGNO (r))) ! return true; ! } ! } } return false; } --- 13465,13501 ---- function_arg_info arg (TREE_TYPE (parameter), /*named=*/true); apply_pass_by_reference_rules (&cum_v, arg); ! parm_rtx = s390_function_arg (cum, arg); ! s390_function_arg_advance (cum, arg); ! if (!parm_rtx) ! continue; ! if (REG_P (parm_rtx)) ! { ! int size = s390_function_arg_size (arg.mode, arg.type); ! int nregs = (size + UNITS_PER_LONG - 1) / UNITS_PER_LONG; ! for (reg = 0; reg < nregs; reg++) ! if (!call_used_or_fixed_reg_p (reg + REGNO (parm_rtx))) ! return true; ! } ! else if (GET_CODE (parm_rtx) == PARALLEL) ! { ! int i; ! for (i = 0; i < XVECLEN (parm_rtx, 0); i++) ! { ! rtx r = XEXP (XVECEXP (parm_rtx, 0, i), 0); ! gcc_assert (REG_P (r)); ! gcc_assert (REG_NREGS (r) == 1); + if (!call_used_or_fixed_reg_p (REGNO (r))) + return true; + } + } } return false; } diff -Nrcpad gcc-10.4.0/gcc/config/sparc/sparc.c gcc-10.5.0/gcc/config/sparc/sparc.c *** gcc-10.4.0/gcc/config/sparc/sparc.c Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config/sparc/sparc.c Fri Jul 7 07:08:19 2023 *************** sparc_expand_prologue (void) *** 6118,6123 **** --- 6118,6126 ---- } RTX_FRAME_RELATED_P (insn) = 1; + + /* Ensure no memory access is done before the frame is established. */ + emit_insn (gen_frame_blockage ()); } else { *************** sparc_expand_prologue (void) *** 6132,6144 **** /* %sp is not the CFA register anymore. */ emit_insn (gen_stack_pointer_inc (GEN_INT (4096 - size))); ! /* Make sure no %fp-based store is issued until after the frame is ! established. The offset between the frame pointer and the stack ! pointer is calculated relative to the value of the stack pointer ! at the end of the function prologue, and moving instructions that ! access the stack via the frame pointer between the instructions ! that decrement the stack pointer could result in accessing the ! register window save area, which is volatile. */ emit_insn (gen_frame_blockage ()); } else --- 6135,6141 ---- /* %sp is not the CFA register anymore. */ emit_insn (gen_stack_pointer_inc (GEN_INT (4096 - size))); ! /* Likewise. */ emit_insn (gen_frame_blockage ()); } else *************** sparc_flat_expand_prologue (void) *** 6234,6241 **** } RTX_FRAME_RELATED_P (insn) = 1; ! /* Ensure nothing is scheduled until after the frame is established. */ ! emit_insn (gen_blockage ()); if (frame_pointer_needed) { --- 6231,6238 ---- } RTX_FRAME_RELATED_P (insn) = 1; ! /* Ensure no memory access is done before the frame is established. */ ! emit_insn (gen_frame_blockage ()); if (frame_pointer_needed) { *************** sparc_expand_epilogue (bool for_eh) *** 6322,6327 **** --- 6319,6327 ---- ; /* do nothing. */ else if (sparc_leaf_function_p) { + /* Ensure no memory access is done after the frame is destroyed. */ + emit_insn (gen_frame_blockage ()); + if (size <= 4096) emit_insn (gen_stack_pointer_inc (GEN_INT (size))); else if (size <= 8192) *************** sparc_flat_expand_epilogue (bool for_eh) *** 6372,6386 **** ; /* do nothing. */ else if (frame_pointer_needed) { ! /* Make sure the frame is destroyed after everything else is done. */ ! emit_insn (gen_blockage ()); emit_move_insn (stack_pointer_rtx, gen_rtx_REG (Pmode, 1)); } else { /* Likewise. */ ! emit_insn (gen_blockage ()); if (size <= 4096) emit_insn (gen_stack_pointer_inc (GEN_INT (size))); --- 6372,6386 ---- ; /* do nothing. */ else if (frame_pointer_needed) { ! /* Ensure no memory access is done after the frame is destroyed. */ ! emit_insn (gen_frame_blockage ()); emit_move_insn (stack_pointer_rtx, gen_rtx_REG (Pmode, 1)); } else { /* Likewise. */ ! emit_insn (gen_frame_blockage ()); if (size <= 4096) emit_insn (gen_stack_pointer_inc (GEN_INT (size))); diff -Nrcpad gcc-10.4.0/gcc/config.gcc gcc-10.5.0/gcc/config.gcc *** gcc-10.4.0/gcc/config.gcc Tue Jun 28 08:54:27 2022 --- gcc-10.5.0/gcc/config.gcc Fri Jul 7 07:08:19 2023 *************** case ${target} in *** 686,691 **** --- 686,705 ---- macos_min=0 fi def_ld64=85.2 + # Tools hosted on earlier versions of Darwin constrained all object + # alignment to be 2^15 or smaller. From Darwin11 (macOS 10.7) the + # alignment of non-common is allowed to be up to 2^28. Note that the + # larger alignment is permitted when targeting 10.6 from 10.7 so that + # the constraint only need be applied per host (and only if the host + # is Darwin). + case ${host} in + *-*-darwin[4-9]* | *-*-darwin10*) + tm_defines="$tm_defines L2_MAX_OFILE_ALIGNMENT=15U" + ;; + *) + tm_defines="$tm_defines L2_MAX_OFILE_ALIGNMENT=28U" + ;; + esac case ${target} in # Darwin 4 to 19 correspond to macOS 10.0 to 10.15 *-*-darwin[4-9]* | *-*-darwin1[0-9]*) diff -Nrcpad gcc-10.4.0/gcc/cp/ChangeLog gcc-10.5.0/gcc/cp/ChangeLog *** gcc-10.4.0/gcc/cp/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,196 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-06-30 Patrick Palka + + Backported from master: + 2022-01-28 Patrick Palka + Jason Merrill + + PR c++/92752 + * typeck.c (build_ptrmemfunc): Cast a nullptr constant to the + unqualified pointer type not the qualified one. + + 2023-06-30 Patrick Palka + + Backported from master: + 2021-05-26 Patrick Palka + + PR c++/97420 + * cvt.c (noexcept_conv_p): Remove redundant checks and simplify. + (fnptr_conv_p): Don't call non_reference. Use INDIRECT_TYPE_P + instead of TYPE_PTR_P. + * pt.c (convert_nontype_argument_function): Look through + implicit INDIRECT_REFs before calling strip_fnptr_conv. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-20 Jakub Jelinek + + PR c++/109164 + * cp-tree.h (var_needs_tls_wrapper): Declare. + * decl2.c (var_needs_tls_wrapper): No longer static. + * decl.c (cp_finish_decl): Clear TREE_READONLY on TLS variables + for which a TLS wrapper will be needed. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-14 Jakub Jelinek + + PR c++/109096 + * tree.c (record_has_unique_obj_representations): Ignore unnamed + bitfields. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-10 Jakub Jelinek + + PR c++/107558 + * decl.c (cp_finish_decl): Don't clear TREE_READONLY on + automatic non-aggregate variables just because of + -fmerge-all-constants. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-02 Jakub Jelinek + + PR debug/108716 + * cp-gimplify.c (cp_genericize_r) : Set + DECL_SOURCE_LOCATION on IMPORTED_DECL to expression location + of USING_STMT or input_location. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-24 Jakub Jelinek + + PR c++/108474 + * cp-gimplify.c (cp_fold_r): Handle structured bindings + vars like anon union artificial vars. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-14 Jakub Jelinek + + PR c++/108365 + * typeck.c (cp_build_binary_op): For integral division or modulo, + shorten if type0 is unsigned, or op0 is cast from narrower unsigned + integral type or stripped_op1 is INTEGER_CST other than -1. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-01 Jakub Jelinek + + PR c++/108607 + * constexpr.c (cxx_eval_constant_expression): Handle OMP_* + and OACC_* constructs as non-constant. + (potential_constant_expression_1): Handle OMP_SCAN. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-19 Jakub Jelinek + + PR c++/53932 + * cp-gimplify.c (cp_fold_r): During cp_fully_fold_init replace + DECL_ANON_UNION_VAR_P VAR_DECLs with their corresponding + DECL_VALUE_EXPR. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-21 Jakub Jelinek + + PR c++/108180 + * pt.c (tsubst_expr): Don't call cp_finish_decl on + DECL_OMP_PRIVATIZED_MEMBER vars. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-15 Jakub Jelinek + + PR c++/107065 + * typeck.c (cp_build_unary_op) : If + invert_truthvalue_loc returns obvalue_p, wrap it into NON_LVALUE_EXPR. + * parser.c (cp_parser_binary_expression): Don't call + warn_logical_not_parentheses if current.lhs is a NON_LVALUE_EXPR + of a decl with boolean type. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-10-24 Jakub Jelinek + + PR c++/105774 + * constexpr.c (cxx_eval_increment_expression): For signed types + that promote to int, evaluate PLUS_EXPR or MINUS_EXPR in int type. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-08-16 Jakub Jelinek + + * typeck.c (cp_build_modify_expr): Implement + P2327R1 - De-deprecating volatile compound operations. Don't warn + for |=, &= or ^= with volatile lhs. + * expr.c (mark_use) : Adjust warning wording, + leave out simple. + + 2023-04-21 Jason Merrill + + PR c++/105996 + * typeck.c (build_ptrmemfunc): Drop 0-offset optimization + and location wrappers. + + 2023-04-21 Jason Merrill + + PR c++/108975 + * lambda.c (prune_lambda_captures): Don't bother in a template. + + 2023-04-21 Jason Merrill + + PR c++/69410 + * friend.c (do_friend): Handle namespace as scope argument. + * decl.c (grokdeclarator): Pass down in_namespace. + + 2023-04-21 Jason Merrill + + PR c++/101869 + * semantics.c (finish_qualified_id_expr): Don't try to build a + pointer-to-member if the scope is an enumeration. + + 2022-12-16 Patrick Palka + + Backported from master: + 2021-10-28 Patrick Palka + + PR c++/102780 + PR c++/108138 + * constexpr.c (potential_constant_expression_1) : + When tf_error isn't set, preemptively check potentiality of the + second operand before performing trial evaluation of the first + operand. + (potential_constant_expression_1): When tf_error is set, first check + potentiality quietly and return true if successful, otherwise + proceed noisily to give errors. + + 2022-11-18 Marek Polacek + + Backported from master: + 2022-11-18 Marek Polacek + + PR c++/104066 + * decl.c (grokdeclarator): Check funcdecl_p before complaining + about constinit. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/cp/constexpr.c gcc-10.5.0/gcc/cp/constexpr.c *** gcc-10.4.0/gcc/cp/constexpr.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/constexpr.c Fri Jul 7 07:08:19 2023 *************** cxx_eval_increment_expression (const con *** 5248,5253 **** --- 5248,5265 ---- offset = fold_build1 (NEGATE_EXPR, TREE_TYPE (offset), offset); mod = fold_build2 (POINTER_PLUS_EXPR, type, val, offset); } + else if (c_promoting_integer_type_p (type) + && !TYPE_UNSIGNED (type) + && TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node)) + { + offset = fold_convert (integer_type_node, offset); + mod = fold_convert (integer_type_node, val); + tree t = fold_build2 (inc ? PLUS_EXPR : MINUS_EXPR, integer_type_node, + mod, offset); + mod = fold_convert (type, t); + if (TREE_OVERFLOW_P (mod) && !TREE_OVERFLOW_P (t)) + TREE_OVERFLOW (mod) = false; + } else mod = fold_build2 (inc ? PLUS_EXPR : MINUS_EXPR, type, val, offset); if (!ptr) *************** cxx_eval_constant_expression (const cons *** 6706,6711 **** --- 6718,6766 ---- *non_constant_p = true; return t; + case OMP_PARALLEL: + case OMP_TASK: + case OMP_FOR: + case OMP_SIMD: + case OMP_DISTRIBUTE: + case OMP_TASKLOOP: + case OMP_LOOP: + case OMP_TEAMS: + case OMP_TARGET_DATA: + case OMP_TARGET: + case OMP_SECTIONS: + case OMP_ORDERED: + case OMP_CRITICAL: + case OMP_SINGLE: + case OMP_SCAN: + case OMP_SECTION: + case OMP_MASTER: + case OMP_TASKGROUP: + case OMP_TARGET_UPDATE: + case OMP_TARGET_ENTER_DATA: + case OMP_TARGET_EXIT_DATA: + case OMP_ATOMIC: + case OMP_ATOMIC_READ: + case OMP_ATOMIC_CAPTURE_OLD: + case OMP_ATOMIC_CAPTURE_NEW: + case OMP_DEPOBJ: + case OACC_PARALLEL: + case OACC_KERNELS: + case OACC_SERIAL: + case OACC_DATA: + case OACC_HOST_DATA: + case OACC_LOOP: + case OACC_CACHE: + case OACC_DECLARE: + case OACC_ENTER_DATA: + case OACC_EXIT_DATA: + case OACC_UPDATE: + if (!ctx->quiet) + error_at (EXPR_LOCATION (t), + "statement is not a constant expression"); + *non_constant_p = true; + break; + default: if (STATEMENT_CODE_P (TREE_CODE (t))) { *************** potential_constant_expression_1 (tree t, *** 8137,8142 **** --- 8192,8198 ---- case OMP_ORDERED: case OMP_CRITICAL: case OMP_SINGLE: + case OMP_SCAN: case OMP_SECTION: case OMP_MASTER: case OMP_TASKGROUP: *************** potential_constant_expression_1 (tree t, *** 8425,8437 **** tmp = boolean_false_node; truth: { ! tree op = TREE_OPERAND (t, 0); ! if (!RECUR (op, rval)) return false; if (!processing_template_decl) ! op = cxx_eval_outermost_constant_expr (op, true); ! if (tree_int_cst_equal (op, tmp)) ! return RECUR (TREE_OPERAND (t, 1), rval); else return true; } --- 8481,8498 ---- tmp = boolean_false_node; truth: { ! tree op0 = TREE_OPERAND (t, 0); ! tree op1 = TREE_OPERAND (t, 1); ! if (!RECUR (op0, rval)) return false; + if (!(flags & tf_error) && RECUR (op1, rval)) + /* When quiet, try to avoid expensive trial evaluation by first + checking potentiality of the second operand. */ + return true; if (!processing_template_decl) ! op0 = cxx_eval_outermost_constant_expr (op0, true); ! if (tree_int_cst_equal (op0, tmp)) ! return (flags & tf_error) ? RECUR (op1, rval) : false; else return true; } *************** bool *** 8611,8616 **** --- 8672,8688 ---- potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, tsubst_flags_t flags) { + if (flags & tf_error) + { + /* Check potentiality quietly first, as that could be performed more + efficiently in some cases (currently only for TRUTH_*_EXPR). If + that fails, replay the check noisily to give errors. */ + flags &= ~tf_error; + if (potential_constant_expression_1 (t, want_rval, strict, now, flags)) + return true; + flags |= tf_error; + } + tree target = NULL_TREE; return potential_constant_expression_1 (t, want_rval, strict, now, flags, &target); diff -Nrcpad gcc-10.4.0/gcc/cp/cp-gimplify.c gcc-10.5.0/gcc/cp/cp-gimplify.c *** gcc-10.4.0/gcc/cp/cp-gimplify.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/cp-gimplify.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 42,47 **** --- 42,55 ---- #include "cgraph.h" #include "omp-general.h" + struct cp_fold_data + { + hash_set pset; + bool genericize; // called from cp_fold_function? + + cp_fold_data (bool g): genericize (g) {} + }; + /* Forward declarations. */ static tree cp_genericize_r (tree *, int *, void *); *************** cp_gimplify_expr (tree *expr_p, gimple_s *** 750,757 **** init, VEC_INIT_EXPR_VALUE_INIT (*expr_p), from_array, tf_warning_or_error); ! hash_set pset; ! cp_walk_tree (expr_p, cp_fold_r, &pset, NULL); cp_genericize_tree (expr_p, false); copy_if_shared (expr_p); ret = GS_OK; --- 758,765 ---- init, VEC_INIT_EXPR_VALUE_INIT (*expr_p), from_array, tf_warning_or_error); ! cp_fold_data data (/*genericize*/true); ! cp_walk_tree (expr_p, cp_fold_r, &data, NULL); cp_genericize_tree (expr_p, false); copy_if_shared (expr_p); ret = GS_OK; *************** struct cp_genericize_data *** 1172,1185 **** GIMPLE-form. */ static tree ! cp_fold_r (tree *stmt_p, int *walk_subtrees, void *data) { ! tree stmt; ! enum tree_code code; *stmt_p = stmt = cp_fold (*stmt_p); ! if (((hash_set *) data)->add (stmt)) { /* Don't walk subtrees of stmts we've already walked once, otherwise we can have exponential complexity with e.g. lots of nested --- 1180,1214 ---- GIMPLE-form. */ static tree ! cp_fold_r (tree *stmt_p, int *walk_subtrees, void *data_) { ! cp_fold_data *data = (cp_fold_data*)data_; ! tree stmt = *stmt_p; ! enum tree_code code = TREE_CODE (stmt); ! ! switch (code) ! { ! case VAR_DECL: ! /* In initializers replace anon union artificial VAR_DECLs ! with their DECL_VALUE_EXPRs, as nothing will do it later. ! Ditto for structured bindings. */ ! if (!data->genericize ! && DECL_HAS_VALUE_EXPR_P (stmt) ! && (DECL_ANON_UNION_VAR_P (stmt) ! || (DECL_DECOMPOSITION_P (stmt) && DECL_DECOMP_BASE (stmt)))) ! { ! *stmt_p = stmt = unshare_expr (DECL_VALUE_EXPR (stmt)); ! break; ! } ! break; ! ! default: ! break; ! } *stmt_p = stmt = cp_fold (*stmt_p); ! if (data->pset.add (stmt)) { /* Don't walk subtrees of stmts we've already walked once, otherwise we can have exponential complexity with e.g. lots of nested *************** cp_fold_r (tree *stmt_p, int *walk_subtr *** 1246,1253 **** void cp_fold_function (tree fndecl) { ! hash_set pset; ! cp_walk_tree (&DECL_SAVED_TREE (fndecl), cp_fold_r, &pset, NULL); } /* Turn SPACESHIP_EXPR EXPR into GENERIC. */ --- 1275,1282 ---- void cp_fold_function (tree fndecl) { ! cp_fold_data data (/*genericize*/true); ! cp_walk_tree (&DECL_SAVED_TREE (fndecl), cp_fold_r, &data, NULL); } /* Turn SPACESHIP_EXPR EXPR into GENERIC. */ *************** cp_genericize_r (tree *stmt_p, int *walk *** 1561,1566 **** --- 1590,1597 ---- { tree using_directive = make_node (IMPORTED_DECL); TREE_TYPE (using_directive) = void_type_node; + DECL_SOURCE_LOCATION (using_directive) + = cp_expr_loc_or_input_loc (stmt); IMPORTED_DECL_ASSOCIATED_DECL (using_directive) = decl; DECL_CHAIN (using_directive) = BLOCK_VARS (block); *************** cp_fully_fold_init (tree x) *** 2525,2532 **** if (processing_template_decl) return x; x = cp_fully_fold (x); ! hash_set pset; ! cp_walk_tree (&x, cp_fold_r, &pset, NULL); return x; } --- 2556,2563 ---- if (processing_template_decl) return x; x = cp_fully_fold (x); ! cp_fold_data data (/*genericize*/false); ! cp_walk_tree (&x, cp_fold_r, &data, NULL); return x; } diff -Nrcpad gcc-10.4.0/gcc/cp/cp-tree.h gcc-10.5.0/gcc/cp/cp-tree.h *** gcc-10.4.0/gcc/cp/cp-tree.h Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/cp-tree.h Fri Jul 7 07:08:19 2023 *************** extern void copy_linkage (tree, tree); *** 6683,6688 **** --- 6683,6689 ---- extern tree get_guard (tree); extern tree get_guard_cond (tree, bool); extern tree set_guard (tree); + extern bool var_needs_tls_wrapper (tree); extern tree maybe_get_tls_wrapper_call (tree); extern void mark_needed (tree); extern bool decl_needed_p (tree); diff -Nrcpad gcc-10.4.0/gcc/cp/cvt.c gcc-10.5.0/gcc/cp/cvt.c *** gcc-10.4.0/gcc/cp/cvt.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/cvt.c Fri Jul 7 07:08:19 2023 *************** can_convert_tx_safety (tree to, tree fro *** 2072,2078 **** && same_type_p (to, tx_unsafe_fn_variant (from))); } ! /* Return true iff FROM can convert to TO by dropping noexcept. */ static bool noexcept_conv_p (tree to, tree from) --- 2072,2079 ---- && same_type_p (to, tx_unsafe_fn_variant (from))); } ! /* Return true iff FROM can convert to TO by dropping noexcept. ! This is just a subroutine of of fnptr_conv_p. */ static bool noexcept_conv_p (tree to, tree from) *************** noexcept_conv_p (tree to, tree from) *** 2080,2109 **** if (!flag_noexcept_type) return false; ! tree t = non_reference (to); ! tree f = from; ! if (TYPE_PTRMEMFUNC_P (t) ! && TYPE_PTRMEMFUNC_P (f)) ! { ! t = TYPE_PTRMEMFUNC_FN_TYPE (t); ! f = TYPE_PTRMEMFUNC_FN_TYPE (f); ! } ! if (TYPE_PTR_P (t) ! && TYPE_PTR_P (f)) ! { ! t = TREE_TYPE (t); ! f = TREE_TYPE (f); ! } ! tree_code code = TREE_CODE (f); ! if (TREE_CODE (t) != code) return false; ! if (code != FUNCTION_TYPE && code != METHOD_TYPE) return false; ! if (!type_throw_all_p (t) ! || type_throw_all_p (f)) return false; ! tree v = build_exception_variant (f, NULL_TREE); ! return same_type_p (t, v); } /* Return true iff FROM can convert to TO by a function pointer conversion. */ --- 2081,2095 ---- if (!flag_noexcept_type) return false; ! if (TREE_CODE (to) != TREE_CODE (from)) return false; ! if (!FUNC_OR_METHOD_TYPE_P (from)) return false; ! if (!type_throw_all_p (to) ! || type_throw_all_p (from)) return false; ! tree v = build_exception_variant (from, NULL_TREE); ! return same_type_p (to, v); } /* Return true iff FROM can convert to TO by a function pointer conversion. */ *************** noexcept_conv_p (tree to, tree from) *** 2111,2117 **** bool fnptr_conv_p (tree to, tree from) { ! tree t = non_reference (to); tree f = from; if (TYPE_PTRMEMFUNC_P (t) && TYPE_PTRMEMFUNC_P (f)) --- 2097,2103 ---- bool fnptr_conv_p (tree to, tree from) { ! tree t = to; tree f = from; if (TYPE_PTRMEMFUNC_P (t) && TYPE_PTRMEMFUNC_P (f)) *************** fnptr_conv_p (tree to, tree from) *** 2119,2126 **** t = TYPE_PTRMEMFUNC_FN_TYPE (t); f = TYPE_PTRMEMFUNC_FN_TYPE (f); } ! if (TYPE_PTR_P (t) ! && TYPE_PTR_P (f)) { t = TREE_TYPE (t); f = TREE_TYPE (f); --- 2105,2112 ---- t = TYPE_PTRMEMFUNC_FN_TYPE (t); f = TYPE_PTRMEMFUNC_FN_TYPE (f); } ! if (INDIRECT_TYPE_P (t) ! && INDIRECT_TYPE_P (f)) { t = TREE_TYPE (t); f = TREE_TYPE (f); diff -Nrcpad gcc-10.4.0/gcc/cp/decl.c gcc-10.5.0/gcc/cp/decl.c *** gcc-10.4.0/gcc/cp/decl.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/decl.c Fri Jul 7 07:08:19 2023 *************** cp_finish_decl (tree decl, tree init, bo *** 7920,7927 **** if (var_definition_p /* With -fmerge-all-constants, gimplify_init_constructor ! might add TREE_STATIC to the variable. */ ! && (TREE_STATIC (decl) || flag_merge_constants >= 2)) { /* If a TREE_READONLY variable needs initialization at runtime, it is no longer readonly and we need to --- 7920,7929 ---- if (var_definition_p /* With -fmerge-all-constants, gimplify_init_constructor ! might add TREE_STATIC to aggregate variables. */ ! && (TREE_STATIC (decl) ! || (flag_merge_constants >= 2 ! && AGGREGATE_TYPE_P (type)))) { /* If a TREE_READONLY variable needs initialization at runtime, it is no longer readonly and we need to *************** cp_finish_decl (tree decl, tree init, bo *** 7939,7944 **** --- 7941,7958 ---- if (!decl_maybe_constant_destruction (decl, type)) TREE_READONLY (decl) = 0; } + else if (VAR_P (decl) + && CP_DECL_THREAD_LOCAL_P (decl) + && (!DECL_EXTERNAL (decl) || flag_extern_tls_init) + && (was_readonly || TREE_READONLY (decl)) + && var_needs_tls_wrapper (decl)) + { + /* TLS variables need dynamic initialization by the TLS wrapper + function, we don't want to hoist accesses to it before the + wrapper. */ + was_readonly = 0; + TREE_READONLY (decl) = 0; + } make_rtl_for_nonlocal_decl (decl, init, asmspec); *************** grokdeclarator (const cp_declarator *dec *** 12275,12281 **** "an array", name); return error_mark_node; } ! if (constinit_p) { error_at (declspecs->locations[ds_constinit], "% on function return type is not " --- 12289,12295 ---- "an array", name); return error_mark_node; } ! if (constinit_p && funcdecl_p) { error_at (declspecs->locations[ds_constinit], "% on function return type is not " *************** grokdeclarator (const cp_declarator *dec *** 13467,13473 **** return error_mark_node; } ! decl = do_friend (ctype, unqualified_id, decl, *attrlist, flags, funcdef_flag); return decl; --- 13481,13488 ---- return error_mark_node; } ! tree scope = ctype ? ctype : in_namespace; ! decl = do_friend (scope, unqualified_id, decl, *attrlist, flags, funcdef_flag); return decl; diff -Nrcpad gcc-10.4.0/gcc/cp/decl2.c gcc-10.5.0/gcc/cp/decl2.c *** gcc-10.4.0/gcc/cp/decl2.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/decl2.c Fri Jul 7 07:08:19 2023 *************** var_defined_without_dynamic_init (tree v *** 3405,3411 **** /* Returns true iff VAR is a variable that needs uses to be wrapped for possible dynamic initialization. */ ! static bool var_needs_tls_wrapper (tree var) { return (!error_operand_p (var) --- 3405,3411 ---- /* Returns true iff VAR is a variable that needs uses to be wrapped for possible dynamic initialization. */ ! bool var_needs_tls_wrapper (tree var) { return (!error_operand_p (var) diff -Nrcpad gcc-10.4.0/gcc/cp/expr.c gcc-10.5.0/gcc/cp/expr.c *** gcc-10.4.0/gcc/cp/expr.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/expr.c Fri Jul 7 07:08:19 2023 *************** mark_use (tree expr, bool rvalue_p, bool *** 222,228 **** case MODIFY_EXPR: { tree lhs = TREE_OPERAND (expr, 0); ! /* [expr.ass] "A simple assignment whose left operand is of a volatile-qualified type is deprecated unless the assignment is either a discarded-value expression or appears in an unevaluated context." */ --- 222,228 ---- case MODIFY_EXPR: { tree lhs = TREE_OPERAND (expr, 0); ! /* [expr.ass] "An assignment whose left operand is of a volatile-qualified type is deprecated unless the assignment is either a discarded-value expression or appears in an unevaluated context." */ *************** mark_use (tree expr, bool rvalue_p, bool *** 232,238 **** && !TREE_THIS_VOLATILE (expr)) { if (warning_at (location_of (expr), OPT_Wvolatile, ! "using value of simple assignment with " "%-qualified left operand is " "deprecated")) /* Make sure not to warn about this assignment again. */ --- 232,238 ---- && !TREE_THIS_VOLATILE (expr)) { if (warning_at (location_of (expr), OPT_Wvolatile, ! "using value of assignment with " "%-qualified left operand is " "deprecated")) /* Make sure not to warn about this assignment again. */ diff -Nrcpad gcc-10.4.0/gcc/cp/friend.c gcc-10.5.0/gcc/cp/friend.c *** gcc-10.4.0/gcc/cp/friend.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/friend.c Fri Jul 7 07:08:19 2023 *************** make_friend_class (tree type, tree frien *** 467,485 **** } /* Record DECL (a FUNCTION_DECL) as a friend of the ! CURRENT_CLASS_TYPE. If DECL is a member function, CTYPE is the class of which it is a member, as named in the friend declaration. DECLARATOR is the name of the friend. FUNCDEF_FLAG is true if the friend declaration is a definition of the function. FLAGS is as for grokclass fn. */ tree ! do_friend (tree ctype, tree declarator, tree decl, tree attrlist, enum overload_flags flags, bool funcdef_flag) { gcc_assert (TREE_CODE (decl) == FUNCTION_DECL); ! gcc_assert (!ctype || MAYBE_CLASS_TYPE_P (ctype)); /* Every decl that gets here is a friend of something. */ DECL_FRIEND_P (decl) = 1; --- 467,498 ---- } /* Record DECL (a FUNCTION_DECL) as a friend of the ! CURRENT_CLASS_TYPE. If DECL is a member function, SCOPE is the class of which it is a member, as named in the friend declaration. + If the friend declaration was explicitly namespace-qualified, SCOPE + is that namespace. DECLARATOR is the name of the friend. FUNCDEF_FLAG is true if the friend declaration is a definition of the function. FLAGS is as for grokclass fn. */ tree ! do_friend (tree scope, tree declarator, tree decl, tree attrlist, enum overload_flags flags, bool funcdef_flag) { gcc_assert (TREE_CODE (decl) == FUNCTION_DECL); ! ! tree ctype = NULL_TREE; ! tree in_namespace = NULL_TREE; ! if (!scope) ! ; ! else if (MAYBE_CLASS_TYPE_P (scope)) ! ctype = scope; ! else ! { ! gcc_checking_assert (TREE_CODE (scope) == NAMESPACE_DECL); ! in_namespace = scope; ! } /* Every decl that gets here is a friend of something. */ DECL_FRIEND_P (decl) = 1; *************** do_friend (tree ctype, tree declarator, *** 612,618 **** parameters. Instead, we call pushdecl when the class is instantiated. */ decl = push_template_decl_real (decl, /*is_friend=*/true); ! else if (current_function_decl) /* pushdecl will check there's a local decl already. */ decl = pushdecl (decl, /*is_friend=*/true); else --- 625,631 ---- parameters. Instead, we call pushdecl when the class is instantiated. */ decl = push_template_decl_real (decl, /*is_friend=*/true); ! else if (current_function_decl && !in_namespace) /* pushdecl will check there's a local decl already. */ decl = pushdecl (decl, /*is_friend=*/true); else diff -Nrcpad gcc-10.4.0/gcc/cp/lambda.c gcc-10.5.0/gcc/cp/lambda.c *** gcc-10.4.0/gcc/cp/lambda.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/lambda.c Fri Jul 7 07:08:19 2023 *************** prune_lambda_captures (tree body) *** 1537,1542 **** --- 1537,1545 ---- if (LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (lam) == CPLD_NONE) /* No default captures, and we don't prune explicit captures. */ return; + /* Don't bother pruning in a template, we'll prune at instantiation time. */ + if (dependent_type_p (TREE_TYPE (lam))) + return; hash_map const_vars; diff -Nrcpad gcc-10.4.0/gcc/cp/parser.c gcc-10.5.0/gcc/cp/parser.c *** gcc-10.4.0/gcc/cp/parser.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/parser.c Fri Jul 7 07:08:19 2023 *************** cp_parser_binary_expression (cp_parser* *** 9689,9695 **** || (TREE_CODE (TREE_TYPE (TREE_OPERAND (current.lhs, 0))) != BOOLEAN_TYPE)))) /* Avoid warning for !!b == y where b is boolean. */ ! && (!DECL_P (tree_strip_any_location_wrapper (current.lhs)) || TREE_TYPE (current.lhs) == NULL_TREE || TREE_CODE (TREE_TYPE (current.lhs)) != BOOLEAN_TYPE)) warn_logical_not_parentheses (current.loc, current.tree_type, --- 9689,9698 ---- || (TREE_CODE (TREE_TYPE (TREE_OPERAND (current.lhs, 0))) != BOOLEAN_TYPE)))) /* Avoid warning for !!b == y where b is boolean. */ ! && (!(DECL_P (tree_strip_any_location_wrapper (current.lhs)) ! || (TREE_CODE (current.lhs) == NON_LVALUE_EXPR ! && DECL_P (tree_strip_any_location_wrapper ! (TREE_OPERAND (current.lhs, 0))))) || TREE_TYPE (current.lhs) == NULL_TREE || TREE_CODE (TREE_TYPE (current.lhs)) != BOOLEAN_TYPE)) warn_logical_not_parentheses (current.loc, current.tree_type, diff -Nrcpad gcc-10.4.0/gcc/cp/pt.c gcc-10.5.0/gcc/cp/pt.c *** gcc-10.4.0/gcc/cp/pt.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/pt.c Fri Jul 7 07:08:19 2023 *************** convert_nontype_argument_function (tree *** 6559,6565 **** if (value_dependent_expression_p (fn)) goto accept; ! fn_no_ptr = strip_fnptr_conv (fn); if (TREE_CODE (fn_no_ptr) == ADDR_EXPR) fn_no_ptr = TREE_OPERAND (fn_no_ptr, 0); if (BASELINK_P (fn_no_ptr)) --- 6559,6568 ---- if (value_dependent_expression_p (fn)) goto accept; ! fn_no_ptr = fn; ! if (REFERENCE_REF_P (fn_no_ptr)) ! fn_no_ptr = TREE_OPERAND (fn_no_ptr, 0); ! fn_no_ptr = strip_fnptr_conv (fn_no_ptr); if (TREE_CODE (fn_no_ptr) == ADDR_EXPR) fn_no_ptr = TREE_OPERAND (fn_no_ptr, 0); if (BASELINK_P (fn_no_ptr)) *************** tsubst_expr (tree t, tree args, tsubst_f *** 18158,18163 **** --- 18161,18171 ---- maybe_push_decl (decl); if (VAR_P (decl) + && DECL_LANG_SPECIFIC (decl) + && DECL_OMP_PRIVATIZED_MEMBER (decl)) + break; + + if (VAR_P (decl) && DECL_DECOMPOSITION_P (decl) && TREE_TYPE (pattern_decl) != error_mark_node) ndecl = tsubst_decomp_names (decl, pattern_decl, args, diff -Nrcpad gcc-10.4.0/gcc/cp/semantics.c gcc-10.5.0/gcc/cp/semantics.c *** gcc-10.4.0/gcc/cp/semantics.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/semantics.c Fri Jul 7 07:08:19 2023 *************** finish_qualified_id_expr (tree qualifyin *** 2143,2149 **** /* If EXPR occurs as the operand of '&', use special handling that permits a pointer-to-member. */ ! if (address_p && done) { if (TREE_CODE (expr) == SCOPE_REF) expr = TREE_OPERAND (expr, 1); --- 2143,2150 ---- /* If EXPR occurs as the operand of '&', use special handling that permits a pointer-to-member. */ ! if (address_p && done ! && TREE_CODE (qualifying_class) != ENUMERAL_TYPE) { if (TREE_CODE (expr) == SCOPE_REF) expr = TREE_OPERAND (expr, 1); diff -Nrcpad gcc-10.4.0/gcc/cp/tree.c gcc-10.5.0/gcc/cp/tree.c *** gcc-10.4.0/gcc/cp/tree.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/tree.c Fri Jul 7 07:08:19 2023 *************** record_has_unique_obj_representations (c *** 4466,4472 **** DECL_SIZE (field))) return false; } ! else if (DECL_C_BIT_FIELD (field)) { tree btype = DECL_BIT_FIELD_TYPE (field); if (!type_has_unique_obj_representations (btype)) --- 4466,4472 ---- DECL_SIZE (field))) return false; } ! else if (DECL_C_BIT_FIELD (field) && !DECL_UNNAMED_BIT_FIELD (field)) { tree btype = DECL_BIT_FIELD_TYPE (field); if (!type_has_unique_obj_representations (btype)) *************** record_has_unique_obj_representations (c *** 4477,4483 **** offset_int cur = 0; for (tree field = TYPE_FIELDS (t); field; field = DECL_CHAIN (field)) ! if (TREE_CODE (field) == FIELD_DECL) { offset_int fld = wi::to_offset (DECL_FIELD_OFFSET (field)); offset_int bitpos = wi::to_offset (DECL_FIELD_BIT_OFFSET (field)); --- 4477,4483 ---- offset_int cur = 0; for (tree field = TYPE_FIELDS (t); field; field = DECL_CHAIN (field)) ! if (TREE_CODE (field) == FIELD_DECL && !DECL_UNNAMED_BIT_FIELD (field)) { offset_int fld = wi::to_offset (DECL_FIELD_OFFSET (field)); offset_int bitpos = wi::to_offset (DECL_FIELD_BIT_OFFSET (field)); diff -Nrcpad gcc-10.4.0/gcc/cp/typeck.c gcc-10.5.0/gcc/cp/typeck.c *** gcc-10.4.0/gcc/cp/typeck.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cp/typeck.c Fri Jul 7 07:08:19 2023 *************** cp_build_binary_op (const op_location_t *** 4779,4785 **** it was unsigned. */ tree stripped_op1 = tree_strip_any_location_wrapper (op1); shorten = ((TREE_CODE (op0) == NOP_EXPR ! && TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (op0, 0)))) || (TREE_CODE (stripped_op1) == INTEGER_CST && ! integer_all_onesp (stripped_op1))); } --- 4779,4790 ---- it was unsigned. */ tree stripped_op1 = tree_strip_any_location_wrapper (op1); shorten = ((TREE_CODE (op0) == NOP_EXPR ! && INTEGRAL_TYPE_P (TREE_TYPE (TREE_OPERAND (op0, ! 0))) ! && TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (op0, 0))) ! && (TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (op0, ! 0))) ! < TYPE_PRECISION (type0))) || (TREE_CODE (stripped_op1) == INTEGER_CST && ! integer_all_onesp (stripped_op1))); } *************** cp_build_binary_op (const op_location_t *** 4815,4821 **** only if unsigned or if dividing by something we know != -1. */ tree stripped_op1 = tree_strip_any_location_wrapper (op1); shorten = ((TREE_CODE (op0) == NOP_EXPR ! && TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (op0, 0)))) || (TREE_CODE (stripped_op1) == INTEGER_CST && ! integer_all_onesp (stripped_op1))); common = 1; --- 4820,4829 ---- only if unsigned or if dividing by something we know != -1. */ tree stripped_op1 = tree_strip_any_location_wrapper (op1); shorten = ((TREE_CODE (op0) == NOP_EXPR ! && INTEGRAL_TYPE_P (TREE_TYPE (TREE_OPERAND (op0, 0))) ! && TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (op0, 0))) ! && (TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (op0, 0))) ! < TYPE_PRECISION (type0))) || (TREE_CODE (stripped_op1) == INTEGER_CST && ! integer_all_onesp (stripped_op1))); common = 1; *************** cp_build_unary_op (enum tree_code code, *** 6582,6590 **** build_zero_cst (TREE_TYPE (arg)), complain); arg = perform_implicit_conversion (boolean_type_node, arg, complain); - val = invert_truthvalue_loc (location, arg); if (arg != error_mark_node) ! return val; errstring = _("in argument to unary !"); break; --- 6590,6602 ---- build_zero_cst (TREE_TYPE (arg)), complain); arg = perform_implicit_conversion (boolean_type_node, arg, complain); if (arg != error_mark_node) ! { ! val = invert_truthvalue_loc (location, arg); ! if (obvalue_p (val)) ! val = non_lvalue_loc (location, val); ! return val; ! } errstring = _("in argument to unary !"); break; *************** cp_build_modify_expr (location_t loc, tr *** 8600,8609 **** /* An expression of the form E1 op= E2. [expr.ass] says: "Such expressions are deprecated if E1 has volatile-qualified ! type." We warn here rather than in cp_genericize_r because for compound assignments we are supposed to warn even if the assignment is a discarded-value expression. */ ! if (TREE_THIS_VOLATILE (lhs) || CP_TYPE_VOLATILE_P (lhstype)) warning_at (loc, OPT_Wvolatile, "compound assignment with %-qualified left " "operand is deprecated"); --- 8612,8625 ---- /* An expression of the form E1 op= E2. [expr.ass] says: "Such expressions are deprecated if E1 has volatile-qualified ! type and op is not one of the bitwise operators |, &, ^." ! We warn here rather than in cp_genericize_r because for compound assignments we are supposed to warn even if the assignment is a discarded-value expression. */ ! if (modifycode != BIT_AND_EXPR ! && modifycode != BIT_IOR_EXPR ! && modifycode != BIT_XOR_EXPR ! && (TREE_THIS_VOLATILE (lhs) || CP_TYPE_VOLATILE_P (lhstype))) warning_at (loc, OPT_Wvolatile, "compound assignment with %-qualified left " "operand is deprecated"); *************** build_ptrmemfunc (tree type, tree pfn, i *** 9036,9053 **** if (n == error_mark_node) return error_mark_node; /* We don't have to do any conversion to convert a pointer-to-member to its own type. But, we don't want to just return a PTRMEM_CST if there's an explicit cast; that cast should make the expression an invalid template argument. */ ! if (TREE_CODE (pfn) != PTRMEM_CST) ! { ! if (same_type_p (to_type, pfn_type)) ! return pfn; ! else if (integer_zerop (n) && TREE_CODE (pfn) != CONSTRUCTOR) ! return build_reinterpret_cast (input_location, to_type, pfn, ! complain); ! } if (TREE_SIDE_EFFECTS (pfn)) pfn = save_expr (pfn); --- 9052,9066 ---- if (n == error_mark_node) return error_mark_node; + STRIP_ANY_LOCATION_WRAPPER (pfn); + /* We don't have to do any conversion to convert a pointer-to-member to its own type. But, we don't want to just return a PTRMEM_CST if there's an explicit cast; that cast should make the expression an invalid template argument. */ ! if (TREE_CODE (pfn) != PTRMEM_CST ! && same_type_p (to_type, pfn_type)) ! return pfn; if (TREE_SIDE_EFFECTS (pfn)) pfn = save_expr (pfn); *************** build_ptrmemfunc (tree type, tree pfn, i *** 9079,9085 **** /* Handle null pointer to member function conversions. */ if (null_ptr_cst_p (pfn)) { ! pfn = cp_build_c_cast (input_location, type, pfn, complain); return build_ptrmemfunc1 (to_type, integer_zero_node, pfn); --- 9092,9100 ---- /* Handle null pointer to member function conversions. */ if (null_ptr_cst_p (pfn)) { ! pfn = cp_build_c_cast (input_location, ! TYPE_PTRMEMFUNC_FN_TYPE_RAW (to_type), ! pfn, complain); return build_ptrmemfunc1 (to_type, integer_zero_node, pfn); diff -Nrcpad gcc-10.4.0/gcc/cse.c gcc-10.5.0/gcc/cse.c *** gcc-10.4.0/gcc/cse.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/cse.c Fri Jul 7 07:08:19 2023 *************** compute_const_anchors (rtx cst, *** 1190,1203 **** HOST_WIDE_INT *lower_base, HOST_WIDE_INT *lower_offs, HOST_WIDE_INT *upper_base, HOST_WIDE_INT *upper_offs) { ! HOST_WIDE_INT n = INTVAL (cst); *lower_base = n & ~(targetm.const_anchor - 1); ! if (*lower_base == n) return false; ! *upper_base = ! (n + (targetm.const_anchor - 1)) & ~(targetm.const_anchor - 1); *upper_offs = n - *upper_base; *lower_offs = n - *lower_base; return true; --- 1190,1203 ---- HOST_WIDE_INT *lower_base, HOST_WIDE_INT *lower_offs, HOST_WIDE_INT *upper_base, HOST_WIDE_INT *upper_offs) { ! unsigned HOST_WIDE_INT n = UINTVAL (cst); *lower_base = n & ~(targetm.const_anchor - 1); ! if ((unsigned HOST_WIDE_INT) *lower_base == n) return false; ! *upper_base = ((n + (targetm.const_anchor - 1)) ! & ~(targetm.const_anchor - 1)); *upper_offs = n - *upper_base; *lower_offs = n - *lower_base; return true; *************** insert_const_anchor (HOST_WIDE_INT ancho *** 1214,1220 **** rtx anchor_exp; rtx exp; ! anchor_exp = GEN_INT (anchor); hash = HASH (anchor_exp, mode); elt = lookup (anchor_exp, hash, mode); if (!elt) --- 1214,1220 ---- rtx anchor_exp; rtx exp; ! anchor_exp = gen_int_mode (anchor, mode); hash = HASH (anchor_exp, mode); elt = lookup (anchor_exp, hash, mode); if (!elt) diff -Nrcpad gcc-10.4.0/gcc/d/ChangeLog gcc-10.5.0/gcc/d/ChangeLog *** gcc-10.4.0/gcc/d/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,82 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-07-01 Iain Buclaw + + Backported from master: + 2023-07-01 Iain Buclaw + + PR d/110511 + * dmd/dinterpret.c (Interpreter::visit (CastExp *)): Handle casting + null to int or float. + + 2023-06-26 Iain Buclaw + + Backported from master: + 2023-06-26 Iain Buclaw + + PR d/110359 + * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean + conversion to boolean fields of a union. + (convert_for_condition): Call convert_for_rvalue in the default case. + + 2023-03-03 Iain Buclaw + + Backported from master: + 2023-03-03 Iain Buclaw + + PR d/108877 + * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call + make_import on TYPE_MAIN_VARIANT. + (ImportVisitor::visit (AggregateDeclaration *)): Likewise. + (ImportVisitor::visit (ClassDeclaration *)): Likewise. + + 2022-12-11 Iain Buclaw + + Backported from master: + 2022-12-11 Iain Buclaw + + PR d/108050 + * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl + returning a TREE_LIST. + * imports.cc (ImportVisitor::visit (OverloadSet *)): New override. + + 2022-11-30 Iain Buclaw + + Backported from master: + 2022-11-30 Iain Buclaw + + PR d/107592 + * toir.cc (IRVisitor::push_unrolled_continue_label): New method. + (IRVisitor::pop_unrolled_continue_label): New method. + (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of + push_continue_label and pop_continue_label. + + 2022-08-16 Iain Buclaw + + Backported from master: + 2022-08-16 Iain Buclaw + + PR d/106638 + * gdc.texi: Update DIP links to point at upstream dlang/DIPs + repository. + + 2022-07-05 Iain Buclaw + + Backported from master: + 2022-07-04 Iain Buclaw + + PR d/106139 + * d-convert.cc (convert_expr): Handle casting from array to vector. + (convert_for_rvalue): Rewrite vector to array casts of the same + element type into a constructor. + (convert_for_assignment): Return calling convert_for_rvalue. + * dmd/expressionsem.c (ExpressionSemanticVisitor::visit): Run semantic + on vector expression after lowering. + * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a + vector expression from a static array. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/d/d-convert.cc gcc-10.5.0/gcc/d/d-convert.cc *** gcc-10.4.0/gcc/d/d-convert.cc Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/d-convert.cc Fri Jul 7 07:08:19 2023 *************** convert_expr (tree exp, Type *etype, Typ *** 502,507 **** --- 502,516 ---- gcc_assert (totype->size () == etype->size ()); result = build_vconvert (build_ctype (totype), exp); } + else if (tbtype->ty == Tvector && tbtype->size () == ebtype->size ()) + { + /* Allow casting from array to vector as if its an unaligned load. */ + tree type = build_ctype (totype); + tree unaligned_type = build_variant_type_copy (type); + SET_TYPE_ALIGN (unaligned_type, 1 * BITS_PER_UNIT); + TYPE_USER_ALIGN (unaligned_type) = 1; + result = convert (type, build_vconvert (unaligned_type, exp)); + } else { error ("cannot cast expression of type %qs to type %qs", *************** convert_expr (tree exp, Type *etype, Typ *** 600,606 **** return result ? result : convert (build_ctype (totype), exp); } ! /* Return a TREE represenwation of EXPR, whose type has been converted from * ETYPE to TOTYPE, and is being used in an rvalue context. */ tree --- 609,615 ---- return result ? result : convert (build_ctype (totype), exp); } ! /* Return a TREE representation of EXPR, whose type has been converted from * ETYPE to TOTYPE, and is being used in an rvalue context. */ tree *************** convert_for_rvalue (tree expr, Type *ety *** 616,639 **** case Tbool: /* If casting from bool, the result is either 0 or 1, any other value violates @safe code, so enforce that it is never invalid. */ ! if (CONSTANT_CLASS_P (expr)) ! result = d_truthvalue_conversion (expr); ! else { ! /* Reinterpret the boolean as an integer and test the first bit. ! The generated code should end up being equivalent to: *cast(ubyte *)&expr & 1; */ ! machine_mode bool_mode = TYPE_MODE (TREE_TYPE (expr)); ! tree mtype = lang_hooks.types.type_for_mode (bool_mode, 1); ! result = fold_build2 (BIT_AND_EXPR, mtype, ! build_vconvert (mtype, expr), ! build_one_cst (mtype)); } result = convert (build_ctype (tbtype), result); break; } return result ? result : convert_expr (expr, etype, totype); } --- 625,688 ---- case Tbool: /* If casting from bool, the result is either 0 or 1, any other value violates @safe code, so enforce that it is never invalid. */ ! for (tree ref = expr; TREE_CODE (ref) == COMPONENT_REF; ! ref = TREE_OPERAND (ref, 0)) { ! /* If the expression is a field that's part of a union, reinterpret ! the boolean as an integer and test the first bit. The generated ! code should end up being equivalent to: *cast(ubyte *)&expr & 1; */ ! if (TREE_CODE (TREE_TYPE (TREE_OPERAND (ref, 0))) == UNION_TYPE) ! { ! machine_mode bool_mode = TYPE_MODE (TREE_TYPE (expr)); ! tree mtype = lang_hooks.types.type_for_mode (bool_mode, 1); ! result = fold_build2 (BIT_AND_EXPR, mtype, ! build_vconvert (mtype, expr), ! build_one_cst (mtype)); ! break; ! } } + if (result == NULL_TREE) + result = d_truthvalue_conversion (expr); + result = convert (build_ctype (tbtype), result); break; } + if (tbtype->ty == Tsarray + && ebtype->ty == Tsarray + && tbtype->nextOf ()->ty == ebtype->nextOf ()->ty + && INDIRECT_REF_P (expr) + && CONVERT_EXPR_CODE_P (TREE_CODE (TREE_OPERAND (expr, 0))) + && TREE_CODE (TREE_OPERAND (TREE_OPERAND (expr, 0), 0)) == ADDR_EXPR) + { + /* If expression is a vector that was casted to an array either by + explicit type cast or by taking the vector's `.array' value, strip the + reinterpret cast and build a constructor instead. */ + tree ptr = TREE_OPERAND (TREE_OPERAND (expr, 0), 0); + + if (VECTOR_TYPE_P (TREE_TYPE (TREE_TYPE (ptr)))) + { + /* Rewrite: `*(Array *)&vector' + into: `{ vector[0], vector[1], ... }' */ + tree array = d_save_expr (TREE_OPERAND (ptr, 0)); + array = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (expr), array); + + uinteger_t dim = ((TypeSArray *)tbtype)->dim->toUInteger (); + vec *elms = NULL; + for (uinteger_t i = 0; i < dim; i++) + { + tree index = size_int (i); + tree value = build4 (ARRAY_REF, TREE_TYPE (TREE_TYPE (array)), + array, index, NULL_TREE, NULL_TREE); + CONSTRUCTOR_APPEND_ELT (elms, index, value); + } + + return build_constructor (build_ctype (totype), elms); + } + } + return result ? result : convert_expr (expr, etype, totype); } *************** convert_for_assignment (tree expr, Type *** 694,700 **** return expr; } ! return convert_expr (expr, etype, totype); } /* Return a TREE representation of EXPR converted to represent --- 743,749 ---- return expr; } ! return convert_for_rvalue (expr, etype, totype); } /* Return a TREE representation of EXPR converted to represent *************** convert_for_condition (tree expr, Type * *** 784,790 **** } default: ! result = expr; break; } --- 833,839 ---- } default: ! result = convert_for_rvalue (expr, type, type); break; } diff -Nrcpad gcc-10.4.0/gcc/d/decl.cc gcc-10.5.0/gcc/d/decl.cc *** gcc-10.4.0/gcc/d/decl.cc Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/decl.cc Fri Jul 7 07:08:19 2023 *************** public: *** 181,188 **** tree name = (alias != NULL) ? get_identifier (alias->toChars ()) : NULL_TREE; ! debug_hooks->imported_module_or_decl (decl, name, context, ! false, false); } } else --- 181,196 ---- tree name = (alias != NULL) ? get_identifier (alias->toChars ()) : NULL_TREE; ! if (TREE_CODE (decl) != TREE_LIST) ! debug_hooks->imported_module_or_decl (decl, name, context, ! false, false); ! else ! { ! /* Overload sets return a list of imported decls. */ ! for (; decl != NULL_TREE; decl = TREE_CHAIN (decl)) ! debug_hooks->imported_module_or_decl (TREE_VALUE (decl), name, ! context, false, false); ! } } } else diff -Nrcpad gcc-10.4.0/gcc/d/dmd/dinterpret.c gcc-10.5.0/gcc/d/dmd/dinterpret.c *** gcc-10.4.0/gcc/d/dmd/dinterpret.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/dmd/dinterpret.c Fri Jul 7 07:08:19 2023 *************** public: *** 5843,5854 **** } if (e->to->ty == Tsarray) e1 = resolveSlice(e1); ! if (e->to->toBasetype()->ty == Tbool && e1->type->ty == Tpointer) { new(pue) IntegerExp(e->loc, e1->op != TOKnull, e->to); result = pue->exp(); return; } result = ctfeCast(pue, e->loc, e->type, e->to, e1); } --- 5843,5864 ---- } if (e->to->ty == Tsarray) e1 = resolveSlice(e1); ! Type *tobt = e->to->toBasetype(); ! if (tobt->ty == Tbool && e1->type->ty == Tpointer) { new(pue) IntegerExp(e->loc, e1->op != TOKnull, e->to); result = pue->exp(); return; } + else if (tobt->isTypeBasic() && e1->op == TOKnull) + { + if (tobt->isintegral()) + new(pue) IntegerExp(e->loc, 0, e->to); + else if (tobt->isreal()) + new(pue) RealExp(e->loc, CTFloat::zero, e->to); + result = pue->exp(); + return; + } result = ctfeCast(pue, e->loc, e->type, e->to, e1); } diff -Nrcpad gcc-10.4.0/gcc/d/dmd/expressionsem.c gcc-10.5.0/gcc/d/dmd/expressionsem.c *** gcc-10.4.0/gcc/d/dmd/expressionsem.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/dmd/expressionsem.c Fri Jul 7 07:08:19 2023 *************** public: *** 4309,4314 **** --- 4309,4315 ---- if (tob->ty == Tvector && t1b->ty != Tvector) { result = new VectorExp(exp->loc, exp->e1, exp->to); + result = semantic(result, sc); return; } diff -Nrcpad gcc-10.4.0/gcc/d/expr.cc gcc-10.5.0/gcc/d/expr.cc *** gcc-10.4.0/gcc/d/expr.cc Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/expr.cc Fri Jul 7 07:08:19 2023 *************** public: *** 2993,3013 **** void visit (VectorExp *e) { - tree type = build_ctype (e->type); - tree etype = TREE_TYPE (type); - /* First handle array literal expressions. */ if (e->e1->op == TOKarrayliteral) { ArrayLiteralExp *ale = ((ArrayLiteralExp *) e->e1); vec *elms = NULL; bool constant_p = true; vec_safe_reserve (elms, ale->elements->dim); for (size_t i = 0; i < ale->elements->dim; i++) { Expression *expr = ale->getElement (i); ! tree value = d_convert (etype, build_expr (expr, this->constp_)); if (!CONSTANT_CLASS_P (value)) constant_p = false; --- 2993,3012 ---- void visit (VectorExp *e) { /* First handle array literal expressions. */ if (e->e1->op == TOKarrayliteral) { ArrayLiteralExp *ale = ((ArrayLiteralExp *) e->e1); vec *elms = NULL; bool constant_p = true; + tree type = build_ctype (e->type); vec_safe_reserve (elms, ale->elements->dim); for (size_t i = 0; i < ale->elements->dim; i++) { Expression *expr = ale->getElement (i); ! tree value = d_convert (TREE_TYPE (type), ! build_expr (expr, this->constp_)); if (!CONSTANT_CLASS_P (value)) constant_p = false; *************** public: *** 3020,3029 **** else this->result_ = build_constructor (type, elms); } else { /* Build constructor from single value. */ ! tree val = d_convert (etype, build_expr (e->e1, this->constp_)); this->result_ = build_vector_from_val (type, val); } } --- 3019,3036 ---- else this->result_ = build_constructor (type, elms); } + else if (e->e1->type->toBasetype ()->ty == Tsarray) + { + /* Build a vector representation from a static array. */ + this->result_ = convert_expr (build_expr (e->e1, this->constp_), + e->e1->type, e->type); + } else { /* Build constructor from single value. */ ! tree type = build_ctype (e->type); ! tree val = d_convert (TREE_TYPE (type), ! build_expr (e->e1, this->constp_)); this->result_ = build_vector_from_val (type, val); } } diff -Nrcpad gcc-10.4.0/gcc/d/gdc.texi gcc-10.5.0/gcc/d/gdc.texi *** gcc-10.4.0/gcc/d/gdc.texi Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/gdc.texi Fri Jul 7 07:08:19 2023 *************** Give deprecation messages about @option{ *** 633,641 **** @item complex List all usages of complex or imaginary types. @item dip1000 ! Implements @uref{http://wiki.dlang.org/DIP1000} (experimental). @item dip25 ! Implements @uref{http://wiki.dlang.org/DIP25} (experimental). @item field List all non-mutable fields which occupy an object instance. @item import --- 633,643 ---- @item complex List all usages of complex or imaginary types. @item dip1000 ! Implements @uref{https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md} ! (Scoped pointers). @item dip25 ! Implements @uref{https://github.com/dlang/DIPs/blob/master/DIPs/archive/DIP25.md} ! (Sealed references). @item field List all non-mutable fields which occupy an object instance. @item import diff -Nrcpad gcc-10.4.0/gcc/d/imports.cc gcc-10.5.0/gcc/d/imports.cc *** gcc-10.4.0/gcc/d/imports.cc Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/imports.cc Fri Jul 7 07:08:19 2023 *************** public: *** 97,108 **** tree type = build_ctype (d->type); /* Not all kinds of D enums create a TYPE_DECL. */ if (TREE_CODE (type) == ENUMERAL_TYPE) ! d->isym = this->make_import (TYPE_STUB_DECL (type)); } void visit (AggregateDeclaration *d) { tree type = build_ctype (d->type); d->isym = this->make_import (TYPE_STUB_DECL (type)); } --- 97,113 ---- tree type = build_ctype (d->type); /* Not all kinds of D enums create a TYPE_DECL. */ if (TREE_CODE (type) == ENUMERAL_TYPE) ! { ! type = TYPE_MAIN_VARIANT (type); ! d->isym = this->make_import (TYPE_STUB_DECL (type)); ! } ! } void visit (AggregateDeclaration *d) { tree type = build_ctype (d->type); + type = TYPE_MAIN_VARIANT (type); d->isym = this->make_import (TYPE_STUB_DECL (type)); } *************** public: *** 110,115 **** --- 115,121 ---- { /* Want the RECORD_TYPE, not POINTER_TYPE. */ tree type = TREE_TYPE (build_ctype (d->type)); + type = TYPE_MAIN_VARIANT (type); d->isym = this->make_import (TYPE_STUB_DECL (type)); } *************** public: *** 157,162 **** --- 163,182 ---- } } + /* Build IMPORTED_DECLs for all overloads in a set. */ + void visit (OverloadSet *d) + { + vec *tset = NULL; + + vec_alloc (tset, d->a.dim); + + for (size_t i = 0; i < d->a.dim; i++) + vec_safe_push (tset, build_import_decl (d->a[i])); + + d->isym = build_tree_list_vec (tset); + tset->truncate (0); + } + /* Function aliases are the same as alias symbols. */ void visit (FuncAliasDeclaration *d) { diff -Nrcpad gcc-10.4.0/gcc/d/toir.cc gcc-10.5.0/gcc/d/toir.cc *** gcc-10.4.0/gcc/d/toir.cc Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/d/toir.cc Fri Jul 7 07:08:19 2023 *************** public: *** 540,545 **** --- 540,567 ---- this->do_label (label); } + /* Generate and set a new continue label for the current unrolled loop. */ + + void push_unrolled_continue_label (UnrolledLoopStatement *s) + { + this->push_continue_label (s); + } + + /* Finish with the continue label for the unrolled loop. */ + + void pop_unrolled_continue_label (UnrolledLoopStatement *s) + { + Statement *stmt = s->getRelatedLabeled (); + d_label_entry *ent = d_function_chain->labels->get (stmt); + gcc_assert (ent != NULL && ent->bc_label == true); + + this->pop_continue_label (TREE_VEC_ELT (ent->label, bc_continue)); + + /* Remove the continue label from the label htab, as a new one must be + inserted at the end of every unrolled loop. */ + ent->label = TREE_VEC_ELT (ent->label, bc_break); + } + /* Visitor interfaces. */ *************** public: *** 1076,1084 **** if (statement != NULL) { ! tree lcontinue = this->push_continue_label (statement); this->build_stmt (statement); ! this->pop_continue_label (lcontinue); } } --- 1098,1106 ---- if (statement != NULL) { ! this->push_unrolled_continue_label (s); this->build_stmt (statement); ! this->pop_unrolled_continue_label (s); } } diff -Nrcpad gcc-10.4.0/gcc/doc/cpp.1 gcc-10.5.0/gcc/doc/cpp.1 *** gcc-10.4.0/gcc/doc/cpp.1 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/cpp.1 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** supported by the system's \f(CW\*(C`icon *** 490,498 **** .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is \s-1UTF\-32\s0 or \s-1UTF\-16,\s0 whichever ! corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR. As with ! \&\fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 --- 486,495 ---- .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is one of \s-1UTF\-32BE, UTF\-32LE, UTF\-16BE,\s0 ! or \s-1UTF\-16LE,\s0 whichever corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR and the ! big-endian or little-endian byte order being used for code generation. As ! with \fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 *************** time of the source or package and it sho *** 920,927 **** process. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), ! \&\fBgcc\fR\|(1), and the Info entries for \fIcpp\fR and \fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1987\-2020 Free Software Foundation, Inc. --- 917,924 ---- process. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), ! \&\fIgcc\fR\|(1), and the Info entries for \fIcpp\fR and \fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1987\-2020 Free Software Foundation, Inc. *************** Permission is granted to copy, distribut *** 930,936 **** under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the ! man page \fBgfdl\fR\|(7). This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). .PP --- 927,933 ---- under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the ! man page \fIgfdl\fR\|(7). This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). .PP diff -Nrcpad gcc-10.4.0/gcc/doc/cpp.info gcc-10.5.0/gcc/doc/cpp.info *** gcc-10.4.0/gcc/doc/cpp.info Tue Jun 28 09:09:20 2022 --- gcc-10.5.0/gcc/doc/cpp.info Fri Jul 7 07:19:03 2023 *************** *** 1,4 **** ! This is cpp.info, produced by makeinfo version 6.8 from cpp.texi. Copyright (C) 1987-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is cpp.info, produced by makeinfo version 6.5 from cpp.texi. Copyright (C) 1987-2020 Free Software Foundation, Inc. *************** single-letter options may _not_ be group *** 4319,4329 **** '-fwide-exec-charset=CHARSET' Set the wide execution character set, used for wide string and ! character constants. The default is UTF-32 or UTF-16, whichever ! corresponds to the width of 'wchar_t'. As with '-fexec-charset', ! CHARSET can be any encoding supported by the system's 'iconv' ! library routine; however, you will have problems with encodings ! that do not fit exactly in 'wchar_t'. '-finput-charset=CHARSET' Set the input character set, used for translation from the --- 4319,4331 ---- '-fwide-exec-charset=CHARSET' Set the wide execution character set, used for wide string and ! character constants. The default is one of UTF-32BE, UTF-32LE, ! UTF-16BE, or UTF-16LE, whichever corresponds to the width of ! 'wchar_t' and the big-endian or little-endian byte order being used ! for code generation. As with '-fexec-charset', CHARSET can be any ! encoding supported by the system's 'iconv' library routine; ! however, you will have problems with encodings that do not fit ! exactly in 'wchar_t'. '-finput-charset=CHARSET' Set the input character set, used for translation from the *************** without any initial '-' or '--'. *** 5245,5330 **** [index] * Menu: ! * A: Invocation. (line 332) ! * C: Invocation. (line 341) ! * CC: Invocation. (line 353) * CPATH: Environment Variables. (line 15) * CPLUS_INCLUDE_PATH: Environment Variables. (line 17) * C_INCLUDE_PATH: Environment Variables. (line 16) ! * D: Invocation. (line 43) ! * d: Invocation. (line 402) ! * dD: Invocation. (line 421) * DEPENDENCIES_OUTPUT: Environment Variables. ! (line 44) ! * dI: Invocation. (line 431) ! * dM: Invocation. (line 410) ! * dN: Invocation. (line 427) ! * dU: Invocation. (line 435) ! * fdebug-cpp: Invocation. (line 442) ! * fdirectives-only: Invocation. (line 227) ! * fdollars-in-identifiers: Invocation. (line 248) ! * fexec-charset: Invocation. (line 295) ! * fextended-identifiers: Invocation. (line 251) ! * finput-charset: Invocation. (line 308) ! * fmacro-prefix-map: Invocation. (line 286) ! * fmax-include-depth: Invocation. (line 260) ! * fno-canonical-system-headers: Invocation. (line 256) ! * fno-working-directory: Invocation. (line 318) ! * fpreprocessed: Invocation. (line 214) ! * ftabstop: Invocation. (line 263) ! * ftrack-macro-expansion: Invocation. (line 269) ! * fwide-exec-charset: Invocation. (line 300) ! * fworking-directory: Invocation. (line 318) ! * H: Invocation. (line 395) ! * I: Invocation. (line 453) ! * I-: Invocation. (line 507) ! * idirafter: Invocation. (line 453) ! * imacros: Invocation. (line 81) ! * imultilib: Invocation. (line 541) ! * include: Invocation. (line 70) ! * iprefix: Invocation. (line 523) ! * iquote: Invocation. (line 453) ! * isysroot: Invocation. (line 535) ! * isystem: Invocation. (line 453) ! * iwithprefix: Invocation. (line 529) ! * iwithprefixbefore: Invocation. (line 529) ! * M: Invocation. (line 102) ! * MD: Invocation. (line 194) ! * MF: Invocation. (line 136) ! * MG: Invocation. (line 147) ! * MM: Invocation. (line 127) ! * MMD: Invocation. (line 210) ! * MP: Invocation. (line 157) ! * MQ: Invocation. (line 184) ! * MT: Invocation. (line 169) ! * nostdinc: Invocation. (line 545) ! * nostdinc++: Invocation. (line 551) * OBJC_INCLUDE_PATH: Environment Variables. (line 18) ! * P: Invocation. (line 365) ! * pthread: Invocation. (line 95) ! * remap: Invocation. (line 391) * SOURCE_DATE_EPOCH: Environment Variables. ! (line 66) * SUNPRO_DEPENDENCIES: Environment Variables. ! (line 60) ! * traditional: Invocation. (line 373) ! * traditional-cpp: Invocation. (line 373) ! * trigraphs: Invocation. (line 382) ! * U: Invocation. (line 66) ! * undef: Invocation. (line 90) ! * Wcomment: Invocation. (line 557) ! * Wcomments: Invocation. (line 557) ! * Wendif-labels: Invocation. (line 601) ! * Wexpansion-to-defined: Invocation. (line 576) ! * Wno-endif-labels: Invocation. (line 601) ! * Wno-undef: Invocation. (line 572) ! * Wtrigraphs: Invocation. (line 562) ! * Wundef: Invocation. (line 572) ! * Wunused-macros: Invocation. (line 582)  File: cpp.info, Node: Concept Index, Prev: Option Index, Up: Top --- 5247,5332 ---- [index] * Menu: ! * A: Invocation. (line 335) ! * C: Invocation. (line 344) ! * CC: Invocation. (line 356) * CPATH: Environment Variables. (line 15) * CPLUS_INCLUDE_PATH: Environment Variables. (line 17) * C_INCLUDE_PATH: Environment Variables. (line 16) ! * D: Invocation. (line 44) ! * d: Invocation. (line 405) ! * dD: Invocation. (line 424) * DEPENDENCIES_OUTPUT: Environment Variables. ! (line 45) ! * dI: Invocation. (line 434) ! * dM: Invocation. (line 413) ! * dN: Invocation. (line 430) ! * dU: Invocation. (line 438) ! * fdebug-cpp: Invocation. (line 445) ! * fdirectives-only: Invocation. (line 228) ! * fdollars-in-identifiers: Invocation. (line 249) ! * fexec-charset: Invocation. (line 296) ! * fextended-identifiers: Invocation. (line 252) ! * finput-charset: Invocation. (line 311) ! * fmacro-prefix-map: Invocation. (line 287) ! * fmax-include-depth: Invocation. (line 261) ! * fno-canonical-system-headers: Invocation. (line 257) ! * fno-working-directory: Invocation. (line 321) ! * fpreprocessed: Invocation. (line 215) ! * ftabstop: Invocation. (line 264) ! * ftrack-macro-expansion: Invocation. (line 270) ! * fwide-exec-charset: Invocation. (line 301) ! * fworking-directory: Invocation. (line 321) ! * H: Invocation. (line 398) ! * I: Invocation. (line 456) ! * I-: Invocation. (line 510) ! * idirafter: Invocation. (line 456) ! * imacros: Invocation. (line 82) ! * imultilib: Invocation. (line 544) ! * include: Invocation. (line 71) ! * iprefix: Invocation. (line 526) ! * iquote: Invocation. (line 456) ! * isysroot: Invocation. (line 538) ! * isystem: Invocation. (line 456) ! * iwithprefix: Invocation. (line 532) ! * iwithprefixbefore: Invocation. (line 532) ! * M: Invocation. (line 103) ! * MD: Invocation. (line 195) ! * MF: Invocation. (line 137) ! * MG: Invocation. (line 148) ! * MM: Invocation. (line 128) ! * MMD: Invocation. (line 211) ! * MP: Invocation. (line 158) ! * MQ: Invocation. (line 185) ! * MT: Invocation. (line 170) ! * nostdinc: Invocation. (line 548) ! * nostdinc++: Invocation. (line 554) * OBJC_INCLUDE_PATH: Environment Variables. (line 18) ! * P: Invocation. (line 368) ! * pthread: Invocation. (line 96) ! * remap: Invocation. (line 394) * SOURCE_DATE_EPOCH: Environment Variables. ! (line 67) * SUNPRO_DEPENDENCIES: Environment Variables. ! (line 61) ! * traditional: Invocation. (line 376) ! * traditional-cpp: Invocation. (line 376) ! * trigraphs: Invocation. (line 385) ! * U: Invocation. (line 67) ! * undef: Invocation. (line 91) ! * Wcomment: Invocation. (line 560) ! * Wcomments: Invocation. (line 560) ! * Wendif-labels: Invocation. (line 604) ! * Wexpansion-to-defined: Invocation. (line 579) ! * Wno-endif-labels: Invocation. (line 604) ! * Wno-undef: Invocation. (line 575) ! * Wtrigraphs: Invocation. (line 565) ! * Wundef: Invocation. (line 575) ! * Wunused-macros: Invocation. (line 585)  File: cpp.info, Node: Concept Index, Prev: Option Index, Up: Top *************** Concept Index *** 5349,5360 **** * assertions, canceling: Obsolete Features. (line 59) * backslash-newline: Initial processing. (line 61) * block comments: Initial processing. (line 77) ! * C language, traditional: Invocation. (line 371) * C++ named operators: C++ Named Operators. (line 6) * character constants: Tokenization. (line 81) ! * character set, execution: Invocation. (line 295) ! * character set, input: Invocation. (line 308) ! * character set, wide execution: Invocation. (line 300) * command line: Invocation. (line 6) * commenting out code: Deleted Code. (line 6) * comments: Initial processing. (line 77) --- 5351,5362 ---- * assertions, canceling: Obsolete Features. (line 59) * backslash-newline: Initial processing. (line 61) * block comments: Initial processing. (line 77) ! * C language, traditional: Invocation. (line 374) * C++ named operators: C++ Named Operators. (line 6) * character constants: Tokenization. (line 81) ! * character set, execution: Invocation. (line 296) ! * character set, input: Invocation. (line 311) ! * character set, wide execution: Invocation. (line 301) * command line: Invocation. (line 6) * commenting out code: Deleted Code. (line 6) * comments: Initial processing. (line 77) *************** Concept Index *** 5368,5377 **** * controlling macro: Once-Only Headers. (line 35) * defined: Defined. (line 6) * dependencies for make as output: Environment Variables. ! (line 45) * dependencies for make as output <1>: Environment Variables. ! (line 61) ! * dependencies, make: Invocation. (line 102) * diagnostic: Diagnostics. (line 6) * digraphs: Tokenization. (line 100) * directive line: The preprocessing language. --- 5370,5379 ---- * controlling macro: Once-Only Headers. (line 35) * defined: Defined. (line 6) * dependencies for make as output: Environment Variables. ! (line 46) * dependencies for make as output <1>: Environment Variables. ! (line 62) ! * dependencies, make: Invocation. (line 103) * diagnostic: Diagnostics. (line 6) * digraphs: Tokenization. (line 100) * directive line: The preprocessing language. *************** Concept Index *** 5410,5416 **** * macros in include: Computed Includes. (line 6) * macros with arguments: Macro Arguments. (line 6) * macros with variable arguments: Variadic Macros. (line 6) ! * make: Invocation. (line 102) * manifest constants: Object-like Macros. (line 6) * named operators: C++ Named Operators. (line 6) * newlines in macro arguments: Newlines in Arguments. --- 5412,5418 ---- * macros in include: Computed Includes. (line 6) * macros with arguments: Macro Arguments. (line 6) * macros with variable arguments: Variadic Macros. (line 6) ! * make: Invocation. (line 103) * manifest constants: Object-like Macros. (line 6) * named operators: C++ Named Operators. (line 6) * newlines in macro arguments: Newlines in Arguments. *************** Concept Index *** 5418,5424 **** * null directive: Other Directives. (line 15) * numbers: Tokenization. (line 58) * object-like macro: Object-like Macros. (line 6) ! * options: Invocation. (line 42) * options, grouping: Invocation. (line 38) * other tokens: Tokenization. (line 114) * output format: Preprocessor Output. (line 12) --- 5420,5426 ---- * null directive: Other Directives. (line 15) * numbers: Tokenization. (line 58) * object-like macro: Object-like Macros. (line 6) ! * options: Invocation. (line 43) * options, grouping: Invocation. (line 38) * other tokens: Tokenization. (line 114) * output format: Preprocessor Output. (line 12) *************** Concept Index *** 5465,5471 **** * token concatenation: Concatenation. (line 6) * token pasting: Concatenation. (line 6) * tokens: Tokenization. (line 6) ! * traditional C language: Invocation. (line 371) * trigraphs: Initial processing. (line 32) * undefining macros: Undefining and Redefining Macros. (line 6) --- 5467,5473 ---- * token concatenation: Concatenation. (line 6) * token pasting: Concatenation. (line 6) * tokens: Tokenization. (line 6) ! * traditional C language: Invocation. (line 374) * trigraphs: Initial processing. (line 32) * undefining macros: Undefining and Redefining Macros. (line 6) *************** Node: Obsolete Features161766 *** 5550,5565 **** Node: Invocation164610 Ref: dashMF170645 Ref: fdollars-in-identifiers175224 ! Ref: Wtrigraphs189350 ! Node: Environment Variables191405 ! Node: GNU Free Documentation License195098 ! Node: Index of Directives220243 ! Node: Option Index222396 ! Node: Concept Index228425  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 5552,5562 ---- Node: Invocation164610 Ref: dashMF170645 Ref: fdollars-in-identifiers175224 ! Ref: Wtrigraphs189470 ! Node: Environment Variables191525 ! Node: GNU Free Documentation License195218 ! Node: Index of Directives220363 ! Node: Option Index222516 ! Node: Concept Index228545  End Tag Table diff -Nrcpad gcc-10.4.0/gcc/doc/cppinternals.info gcc-10.5.0/gcc/doc/cppinternals.info *** gcc-10.4.0/gcc/doc/cppinternals.info Tue Jun 28 09:09:19 2022 --- gcc-10.5.0/gcc/doc/cppinternals.info Fri Jul 7 07:19:03 2023 *************** *** 1,4 **** ! This is cppinternals.info, produced by makeinfo version 6.8 from cppinternals.texi. INFO-DIR-SECTION Software development --- 1,4 ---- ! This is cppinternals.info, produced by makeinfo version 6.5 from cppinternals.texi. INFO-DIR-SECTION Software development *************** will be removed, so I'll not discuss it *** 137,143 **** The job of '_cpp_lex_direct' is simply to lex a token. It is not responsible for issues like directive handling, returning lookahead tokens directly, multiple-include optimization, or conditional block ! skipping. It necessarily has a minor rôle to play in memory management of lexed lines. I discuss these issues in a separate section (*note Lexing a line::). --- 137,143 ---- The job of '_cpp_lex_direct' is simply to lex a token. It is not responsible for issues like directive handling, returning lookahead tokens directly, multiple-include optimization, or conditional block ! skipping. It necessarily has a minor ro^le to play in memory management of lexed lines. I discuss these issues in a separate section (*note Lexing a line::). *************** Node: Files44873 *** 1039,1046 **** Node: Concept Index48339  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 1039,1041 ---- diff -Nrcpad gcc-10.4.0/gcc/doc/cppopts.texi gcc-10.5.0/gcc/doc/cppopts.texi *** gcc-10.4.0/gcc/doc/cppopts.texi Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/doc/cppopts.texi Fri Jul 7 07:08:19 2023 *************** supported by the system's @code{iconv} l *** 314,322 **** @opindex fwide-exec-charset @cindex character set, wide execution Set the wide execution character set, used for wide string and ! character constants. The default is UTF-32 or UTF-16, whichever ! corresponds to the width of @code{wchar_t}. As with ! @option{-fexec-charset}, @var{charset} can be any encoding supported by the system's @code{iconv} library routine; however, you will have problems with encodings that do not fit exactly in @code{wchar_t}. --- 314,323 ---- @opindex fwide-exec-charset @cindex character set, wide execution Set the wide execution character set, used for wide string and ! character constants. The default is one of UTF-32BE, UTF-32LE, UTF-16BE, ! or UTF-16LE, whichever corresponds to the width of @code{wchar_t} and the ! big-endian or little-endian byte order being used for code generation. As ! with @option{-fexec-charset}, @var{charset} can be any encoding supported by the system's @code{iconv} library routine; however, you will have problems with encodings that do not fit exactly in @code{wchar_t}. diff -Nrcpad gcc-10.4.0/gcc/doc/extend.texi gcc-10.5.0/gcc/doc/extend.texi *** gcc-10.4.0/gcc/doc/extend.texi Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/doc/extend.texi Fri Jul 7 07:08:19 2023 *************** myprintf (FILE *f, const char *format, . *** 688,694 **** @end smallexample @end deftypefn ! @deftypefn {Built-in Function} {size_t} __builtin_va_arg_pack_len () This built-in function returns the number of anonymous arguments of an inline function. It can be used only in inline functions that are always inlined, never compiled as a separate function, such --- 688,694 ---- @end smallexample @end deftypefn ! @deftypefn {Built-in Function} {int} __builtin_va_arg_pack_len () This built-in function returns the number of anonymous arguments of an inline function. It can be used only in inline functions that are always inlined, never compiled as a separate function, such diff -Nrcpad gcc-10.4.0/gcc/doc/fsf-funding.7 gcc-10.5.0/gcc/doc/fsf-funding.7 *** gcc-10.4.0/gcc/doc/fsf-funding.7 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/fsf-funding.7 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** proper thing to do\*(R" when distributin *** 185,191 **** assure a steady flow of resources into making more free software. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1994 Free Software Foundation, Inc. --- 181,187 ---- assure a steady flow of resources into making more free software. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1994 Free Software Foundation, Inc. diff -Nrcpad gcc-10.4.0/gcc/doc/g++.1 gcc-10.5.0/gcc/doc/g++.1 *** gcc-10.4.0/gcc/doc/g++.1 Tue Jun 28 09:09:20 2022 --- gcc-10.5.0/gcc/doc/g++.1 Fri Jul 7 07:19:04 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** This is useful if you need to make sure *** 3674,3681 **** be compiled with older versions of \s-1GCC.\s0 .IP "\fB\-freplace\-objc\-classes\fR" 4 .IX Item "-freplace-objc-classes" ! Emit a special marker instructing \fB\fBld\fB\|(1)\fR not to statically link in ! the resulting object file, and allow \fB\fBdyld\fB\|(1)\fR to load it in at run time instead. This is used in conjunction with the Fix-and-Continue debugging mode, where the object file in question may be recompiled and dynamically reloaded in the course of program execution, without the need --- 3670,3677 ---- be compiled with older versions of \s-1GCC.\s0 .IP "\fB\-freplace\-objc\-classes\fR" 4 .IX Item "-freplace-objc-classes" ! Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to statically link in ! the resulting object file, and allow \fB\f(BIdyld\fB\|(1)\fR to load it in at run time instead. This is used in conjunction with the Fix-and-Continue debugging mode, where the object file in question may be recompiled and dynamically reloaded in the course of program execution, without the need *************** example of how this can happen: *** 5826,5832 **** .Sp If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is always initialized, but \s-1GCC\s0 doesn't know this. To suppress the ! warning, you need to provide a default case with \fBassert\fR\|(0) or similar code. .Sp This option also warns when a non-volatile automatic variable might be --- 5822,5828 ---- .Sp If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is always initialized, but \s-1GCC\s0 doesn't know this. To suppress the ! warning, you need to provide a default case with \fIassert\fR\|(0) or similar code. .Sp This option also warns when a non-volatile automatic variable might be *************** supported by the system's \f(CW\*(C`icon *** 13444,13452 **** .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is \s-1UTF\-32\s0 or \s-1UTF\-16,\s0 whichever ! corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR. As with ! \&\fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 --- 13440,13449 ---- .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is one of \s-1UTF\-32BE, UTF\-32LE, UTF\-16BE,\s0 ! or \s-1UTF\-16LE,\s0 whichever corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR and the ! big-endian or little-endian byte order being used for code generation. As ! with \fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 *************** performance of the code. Permissible va *** 16325,16331 **** \&\fBcortex\-a65\fR, \fBcortex\-a65ae\fR, \fBcortex\-a34\fR, \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR, \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, ! \&\fBneoverse\-v1\fR, \fBneoverse\-512tvb\fR, \fBqdf24xx\fR, \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR, \fBocteontx\fR, \&\fBocteontx81\fR, \fBocteontx83\fR, \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR --- 16322,16328 ---- \&\fBcortex\-a65\fR, \fBcortex\-a65ae\fR, \fBcortex\-a34\fR, \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR, \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, ! \&\fBneoverse\-v1\fR, \fBneoverse\-v2\fR, \fBneoverse\-512tvb\fR, \fBqdf24xx\fR, \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR, \fBocteontx\fR, \&\fBocteontx81\fR, \fBocteontx83\fR, \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR *************** performance of the code. Permissible va *** 16337,16344 **** \&\fBthunderxt83\fR, \fBthunderx2t99\fR, \fBthunderx3t110\fR, \fBzeus\fR, \&\fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, ! \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR ! \&\fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, --- 16334,16341 ---- \&\fBthunderxt83\fR, \fBthunderx2t99\fR, \fBthunderx3t110\fR, \fBzeus\fR, \&\fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, ! \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, ! \&\fBampere1\fR, \fBampere1a\fR, \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, *************** are provided for backwards compatibility *** 19946,19952 **** .IP "\fB\-all_load\fR" 4 .IX Item "-all_load" Loads all members of static archive libraries. ! See man \fBld\fR\|(1) for more information. .IP "\fB\-arch_errors_fatal\fR" 4 .IX Item "-arch_errors_fatal" Cause the errors having to do with files that have the wrong architecture --- 19943,19949 ---- .IP "\fB\-all_load\fR" 4 .IX Item "-all_load" Loads all members of static archive libraries. ! See man \fIld\fR\|(1) for more information. .IP "\fB\-arch_errors_fatal\fR" 4 .IX Item "-arch_errors_fatal" Cause the errors having to do with files that have the wrong architecture *************** bind all undefined references when the f *** 19958,19968 **** .IP "\fB\-bundle\fR" 4 .IX Item "-bundle" Produce a Mach-o bundle format file. ! See man \fBld\fR\|(1) for more information. .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4 .IX Item "-bundle_loader executable" This option specifies the \fIexecutable\fR that will load the build ! output file being linked. See man \fBld\fR\|(1) for more information. .IP "\fB\-dynamiclib\fR" 4 .IX Item "-dynamiclib" When passed this option, \s-1GCC\s0 produces a dynamic library instead of --- 19955,19965 ---- .IP "\fB\-bundle\fR" 4 .IX Item "-bundle" Produce a Mach-o bundle format file. ! See man \fIld\fR\|(1) for more information. .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4 .IX Item "-bundle_loader executable" This option specifies the \fIexecutable\fR that will load the build ! output file being linked. See man \fIld\fR\|(1) for more information. .IP "\fB\-dynamiclib\fR" 4 .IX Item "-dynamiclib" When passed this option, \s-1GCC\s0 produces a dynamic library instead of *************** on x86\-64 processors in 64\-bit environ *** 29148,29154 **** Generate code for a 16\-bit, 32\-bit or 64\-bit environment. The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types to 32 bits, and ! generates code that runs on any i386 system. .Sp The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer types to 64 bits, and generates code for the x86\-64 architecture. --- 29145,29151 ---- Generate code for a 16\-bit, 32\-bit or 64\-bit environment. The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types to 32 bits, and ! generates code that runs in 32\-bit mode. .Sp The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer types to 64 bits, and generates code for the x86\-64 architecture. *************** to subtle defects. Supplying them in ca *** 29616,29623 **** is innocuous. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), ! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" --- 29613,29620 ---- is innocuous. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), ! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" *************** any later version published by the Free *** 29635,29641 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 29632,29638 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gcc.1 gcc-10.5.0/gcc/doc/gcc.1 *** gcc-10.4.0/gcc/doc/gcc.1 Tue Jun 28 09:09:20 2022 --- gcc-10.5.0/gcc/doc/gcc.1 Fri Jul 7 07:19:04 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** This is useful if you need to make sure *** 3674,3681 **** be compiled with older versions of \s-1GCC.\s0 .IP "\fB\-freplace\-objc\-classes\fR" 4 .IX Item "-freplace-objc-classes" ! Emit a special marker instructing \fB\fBld\fB\|(1)\fR not to statically link in ! the resulting object file, and allow \fB\fBdyld\fB\|(1)\fR to load it in at run time instead. This is used in conjunction with the Fix-and-Continue debugging mode, where the object file in question may be recompiled and dynamically reloaded in the course of program execution, without the need --- 3670,3677 ---- be compiled with older versions of \s-1GCC.\s0 .IP "\fB\-freplace\-objc\-classes\fR" 4 .IX Item "-freplace-objc-classes" ! Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to statically link in ! the resulting object file, and allow \fB\f(BIdyld\fB\|(1)\fR to load it in at run time instead. This is used in conjunction with the Fix-and-Continue debugging mode, where the object file in question may be recompiled and dynamically reloaded in the course of program execution, without the need *************** example of how this can happen: *** 5826,5832 **** .Sp If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is always initialized, but \s-1GCC\s0 doesn't know this. To suppress the ! warning, you need to provide a default case with \fBassert\fR\|(0) or similar code. .Sp This option also warns when a non-volatile automatic variable might be --- 5822,5828 ---- .Sp If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is always initialized, but \s-1GCC\s0 doesn't know this. To suppress the ! warning, you need to provide a default case with \fIassert\fR\|(0) or similar code. .Sp This option also warns when a non-volatile automatic variable might be *************** supported by the system's \f(CW\*(C`icon *** 13444,13452 **** .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is \s-1UTF\-32\s0 or \s-1UTF\-16,\s0 whichever ! corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR. As with ! \&\fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 --- 13440,13449 ---- .IP "\fB\-fwide\-exec\-charset=\fR\fIcharset\fR" 4 .IX Item "-fwide-exec-charset=charset" Set the wide execution character set, used for wide string and ! character constants. The default is one of \s-1UTF\-32BE, UTF\-32LE, UTF\-16BE,\s0 ! or \s-1UTF\-16LE,\s0 whichever corresponds to the width of \f(CW\*(C`wchar_t\*(C'\fR and the ! big-endian or little-endian byte order being used for code generation. As ! with \fB\-fexec\-charset\fR, \fIcharset\fR can be any encoding supported by the system's \f(CW\*(C`iconv\*(C'\fR library routine; however, you will have problems with encodings that do not fit exactly in \f(CW\*(C`wchar_t\*(C'\fR. .IP "\fB\-finput\-charset=\fR\fIcharset\fR" 4 *************** performance of the code. Permissible va *** 16325,16331 **** \&\fBcortex\-a65\fR, \fBcortex\-a65ae\fR, \fBcortex\-a34\fR, \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR, \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, ! \&\fBneoverse\-v1\fR, \fBneoverse\-512tvb\fR, \fBqdf24xx\fR, \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR, \fBocteontx\fR, \&\fBocteontx81\fR, \fBocteontx83\fR, \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR --- 16322,16328 ---- \&\fBcortex\-a65\fR, \fBcortex\-a65ae\fR, \fBcortex\-a34\fR, \&\fBares\fR, \fBexynos\-m1\fR, \fBemag\fR, \fBfalkor\fR, \&\fBneoverse\-e1\fR, \fBneoverse\-n1\fR, \fBneoverse\-n2\fR, ! \&\fBneoverse\-v1\fR, \fBneoverse\-v2\fR, \fBneoverse\-512tvb\fR, \fBqdf24xx\fR, \&\fBsaphira\fR, \fBphecda\fR, \fBxgene1\fR, \fBvulcan\fR, \fBocteontx\fR, \&\fBocteontx81\fR, \fBocteontx83\fR, \&\fBocteontx2\fR, \fBocteontx2t98\fR, \fBocteontx2t96\fR *************** performance of the code. Permissible va *** 16337,16344 **** \&\fBthunderxt83\fR, \fBthunderx2t99\fR, \fBthunderx3t110\fR, \fBzeus\fR, \&\fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, ! \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR ! \&\fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, --- 16334,16341 ---- \&\fBthunderxt83\fR, \fBthunderx2t99\fR, \fBthunderx3t110\fR, \fBzeus\fR, \&\fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, ! \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, ! \&\fBampere1\fR, \fBampere1a\fR, \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, *************** are provided for backwards compatibility *** 19946,19952 **** .IP "\fB\-all_load\fR" 4 .IX Item "-all_load" Loads all members of static archive libraries. ! See man \fBld\fR\|(1) for more information. .IP "\fB\-arch_errors_fatal\fR" 4 .IX Item "-arch_errors_fatal" Cause the errors having to do with files that have the wrong architecture --- 19943,19949 ---- .IP "\fB\-all_load\fR" 4 .IX Item "-all_load" Loads all members of static archive libraries. ! See man \fIld\fR\|(1) for more information. .IP "\fB\-arch_errors_fatal\fR" 4 .IX Item "-arch_errors_fatal" Cause the errors having to do with files that have the wrong architecture *************** bind all undefined references when the f *** 19958,19968 **** .IP "\fB\-bundle\fR" 4 .IX Item "-bundle" Produce a Mach-o bundle format file. ! See man \fBld\fR\|(1) for more information. .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4 .IX Item "-bundle_loader executable" This option specifies the \fIexecutable\fR that will load the build ! output file being linked. See man \fBld\fR\|(1) for more information. .IP "\fB\-dynamiclib\fR" 4 .IX Item "-dynamiclib" When passed this option, \s-1GCC\s0 produces a dynamic library instead of --- 19955,19965 ---- .IP "\fB\-bundle\fR" 4 .IX Item "-bundle" Produce a Mach-o bundle format file. ! See man \fIld\fR\|(1) for more information. .IP "\fB\-bundle_loader\fR \fIexecutable\fR" 4 .IX Item "-bundle_loader executable" This option specifies the \fIexecutable\fR that will load the build ! output file being linked. See man \fIld\fR\|(1) for more information. .IP "\fB\-dynamiclib\fR" 4 .IX Item "-dynamiclib" When passed this option, \s-1GCC\s0 produces a dynamic library instead of *************** on x86\-64 processors in 64\-bit environ *** 29148,29154 **** Generate code for a 16\-bit, 32\-bit or 64\-bit environment. The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types to 32 bits, and ! generates code that runs on any i386 system. .Sp The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer types to 64 bits, and generates code for the x86\-64 architecture. --- 29145,29151 ---- Generate code for a 16\-bit, 32\-bit or 64\-bit environment. The \fB\-m32\fR option sets \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, and pointer types to 32 bits, and ! generates code that runs in 32\-bit mode. .Sp The \fB\-m64\fR option sets \f(CW\*(C`int\*(C'\fR to 32 bits and \f(CW\*(C`long\*(C'\fR and pointer types to 64 bits, and generates code for the x86\-64 architecture. *************** to subtle defects. Supplying them in ca *** 29616,29623 **** is innocuous. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), ! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" --- 29613,29620 ---- is innocuous. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), ! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" *************** any later version published by the Free *** 29635,29641 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 29632,29638 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gcc.info gcc-10.5.0/gcc/doc/gcc.info *** gcc-10.4.0/gcc/doc/gcc.info Tue Jun 28 09:09:28 2022 --- gcc-10.5.0/gcc/doc/gcc.info Fri Jul 7 07:19:07 2023 *************** *** 1,4 **** ! This is gcc.info, produced by makeinfo version 6.8 from gcc.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is gcc.info, produced by makeinfo version 6.5 from gcc.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. *************** Copies published by the Free Software Fo *** 53,66 **** development.  ! File: gcc.info, Node: Top, Next: G++ and GCC, Up: (dir) Introduction ************ 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 10.4.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. --- 53,66 ---- development.  ! File: gcc.info, Node: Top, Next: G++ and GCC Introduction ************ 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 10.5.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. *************** Options::. Options to control preproces *** 13314,13324 **** '-fwide-exec-charset=CHARSET' Set the wide execution character set, used for wide string and ! character constants. The default is UTF-32 or UTF-16, whichever ! corresponds to the width of 'wchar_t'. As with '-fexec-charset', ! CHARSET can be any encoding supported by the system's 'iconv' ! library routine; however, you will have problems with encodings ! that do not fit exactly in 'wchar_t'. '-finput-charset=CHARSET' Set the input character set, used for translation from the --- 13314,13326 ---- '-fwide-exec-charset=CHARSET' Set the wide execution character set, used for wide string and ! character constants. The default is one of UTF-32BE, UTF-32LE, ! UTF-16BE, or UTF-16LE, whichever corresponds to the width of ! 'wchar_t' and the big-endian or little-endian byte order being used ! for code generation. As with '-fexec-charset', CHARSET can be any ! encoding supported by the system's 'iconv' library routine; ! however, you will have problems with encodings that do not fit ! exactly in 'wchar_t'. '-finput-charset=CHARSET' Set the input character set, used for translation from the *************** These options are defined for AArch64 im *** 16046,16060 **** 'cortex-a76', 'cortex-a76ae', 'cortex-a77', 'cortex-a65', 'cortex-a65ae', 'cortex-a34', 'ares', 'exynos-m1', 'emag', 'falkor', 'neoverse-e1', 'neoverse-n1', 'neoverse-n2', ! 'neoverse-v1', 'neoverse-512tvb', 'qdf24xx', 'saphira', 'phecda', ! 'xgene1', 'vulcan', 'octeontx', 'octeontx81', 'octeontx83', ! 'octeontx2', 'octeontx2t98', 'octeontx2t96' 'octeontx2t93', ! 'octeontx2f95', 'octeontx2f95n', 'octeontx2f95mm', 'a64fx', ! 'thunderx', 'thunderxt88', 'thunderxt88p1', 'thunderxt81', 'tsv110', 'thunderxt83', 'thunderx2t99', 'thunderx3t110', 'zeus', 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', ! 'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55' 'native'. The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', --- 16048,16063 ---- 'cortex-a76', 'cortex-a76ae', 'cortex-a77', 'cortex-a65', 'cortex-a65ae', 'cortex-a34', 'ares', 'exynos-m1', 'emag', 'falkor', 'neoverse-e1', 'neoverse-n1', 'neoverse-n2', ! 'neoverse-v1', 'neoverse-v2', 'neoverse-512tvb', 'qdf24xx', ! 'saphira', 'phecda', 'xgene1', 'vulcan', 'octeontx', 'octeontx81', ! 'octeontx83', 'octeontx2', 'octeontx2t98', 'octeontx2t96' ! 'octeontx2t93', 'octeontx2f95', 'octeontx2f95n', 'octeontx2f95mm', ! 'a64fx', 'thunderx', 'thunderxt88', 'thunderxt88p1', 'thunderxt81', 'tsv110', 'thunderxt83', 'thunderx2t99', 'thunderx3t110', 'zeus', 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', ! 'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55', 'ampere1', ! 'ampere1a', 'native'. The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', *************** These options are defined for AVR implem *** 18121,18127 **** 'avr3' "Classic" devices with 16 KiB up to 64 KiB of program memory. - MCU = 'at76c711', 'at43usb355'. 'avr31' --- 18124,18129 ---- *************** processors in 64-bit environments. *** 27525,27531 **** '-miamcu' Generate code for a 16-bit, 32-bit or 64-bit environment. The '-m32' option sets 'int', 'long', and pointer types to 32 bits, and ! generates code that runs on any i386 system. The '-m64' option sets 'int' to 32 bits and 'long' and pointer types to 64 bits, and generates code for the x86-64 architecture. --- 27527,27533 ---- '-miamcu' Generate code for a 16-bit, 32-bit or 64-bit environment. The '-m32' option sets 'int', 'long', and pointer types to 32 bits, and ! generates code that runs in 32-bit mode. The '-m64' option sets 'int' to 32 bits and 'long' and pointer types to 64 bits, and generates code for the x86-64 architecture. *************** acting as mere forwarders for their argu *** 29937,29943 **** return r + s; } ! -- Built-in Function: size_t __builtin_va_arg_pack_len () This built-in function returns the number of anonymous arguments of an inline function. It can be used only in inline functions that are always inlined, never compiled as a separate function, such as --- 29939,29945 ---- return r + s; } ! -- Built-in Function: int __builtin_va_arg_pack_len () This built-in function returns the number of anonymous arguments of an inline function. It can be used only in inline functions that are always inlined, never compiled as a separate function, such as *************** alphabetical order. *** 59408,59414 **** * Ralf Corsepius for SH testing and minor bug fixing. ! * François-Xavier Coudert for contributions to GNU Fortran. * Stan Cox for care and feeding of the x86 port and lots of behind the scenes hacking. --- 59410,59416 ---- * Ralf Corsepius for SH testing and minor bug fixing. ! * Franc,ois-Xavier Coudert for contributions to GNU Fortran. * Stan Cox for care and feeding of the x86 port and lots of behind the scenes hacking. *************** alphabetical order. *** 59451,59457 **** disbursement, configuration architecture, libio maintenance, and early math work. ! * François Dumont for his work on libstdc++-v3, especially maintaining and improving 'debug-mode' and associative and unordered containers. --- 59453,59459 ---- disbursement, configuration architecture, libio maintenance, and early math work. ! * Franc,ois Dumont for his work on libstdc++-v3, especially maintaining and improving 'debug-mode' and associative and unordered containers. *************** alphabetical order. *** 59710,59722 **** * Weiwen Liu for testing and various bug fixes. ! * Manuel López-Ibáñez for improving '-Wconversion' and many other diagnostics fixes and improvements. * Dave Love for his ongoing work with the Fortran front end and runtime libraries. ! * Martin von Löwis for internal consistency checking infrastructure, various C++ improvements including namespace support, and tons of assistance with libstdc++/compiler merges. --- 59712,59724 ---- * Weiwen Liu for testing and various bug fixes. ! * Manuel Lo'pez-Iba'n~ez for improving '-Wconversion' and many other diagnostics fixes and improvements. * Dave Love for his ongoing work with the Fortran front end and runtime libraries. ! * Martin von Lo"wis for internal consistency checking infrastructure, various C++ improvements including namespace support, and tons of assistance with libstdc++/compiler merges. *************** alphabetical order. *** 59908,59914 **** * Craig Rodrigues for processing tons of bug reports. ! * Ola Rönnerup for work on mt_alloc. * Gavin Romig-Koch for lots of behind the scenes MIPS work. --- 59910,59916 ---- * Craig Rodrigues for processing tons of bug reports. ! * Ola Ro"nnerup for work on mt_alloc. * Gavin Romig-Koch for lots of behind the scenes MIPS work. *************** alphabetical order. *** 59922,59928 **** * Paul Rubin wrote most of the preprocessor. ! * Pétur Runólfsson for major performance improvements in C++ formatted I/O and large file support in C++ filebuf. * Chip Salzenberg for libstdc++ patches and improvements to locales, --- 59924,59930 ---- * Paul Rubin wrote most of the preprocessor. ! * Pe'tur Runo'lfsson for major performance improvements in C++ formatted I/O and large file support in C++ filebuf. * Chip Salzenberg for libstdc++ patches and improvements to locales, *************** alphabetical order. *** 59943,59949 **** * William Schelter did most of the work on the Intel 80386 support. ! * Tobias Schlüter for work on GNU Fortran. * Bernd Schmidt for various code generation improvements and major work in the reload pass, serving as release manager for GCC 2.95.3, --- 59945,59951 ---- * William Schelter did most of the work on the Intel 80386 support. ! * Tobias Schlu"ter for work on GNU Fortran. * Bernd Schmidt for various code generation improvements and major work in the reload pass, serving as release manager for GCC 2.95.3, *************** contributions to testing: *** 60440,60446 **** * Robert A. French ! * Jörgen Freyh * Mark K. Gardner --- 60442,60448 ---- * Robert A. French ! * Jo"rgen Freyh * Mark K. Gardner *************** look up both forms. *** 60576,60582 **** * ###: Overall Options. (line 214) * 80387: x86 Options. (line 532) * A: Preprocessor Options. ! (line 332) * allowable_client: Darwin Options. (line 196) * all_load: Darwin Options. (line 110) * analyzer: Static Analyzer Options. --- 60578,60584 ---- * ###: Overall Options. (line 214) * 80387: x86 Options. (line 532) * A: Preprocessor Options. ! (line 334) * allowable_client: Darwin Options. (line 196) * all_load: Darwin Options. (line 110) * analyzer: Static Analyzer Options. *************** look up both forms. *** 60595,60604 **** * bundle_loader: Darwin Options. (line 127) * c: Overall Options. (line 169) * C: Preprocessor Options. ! (line 341) * c <1>: Link Options. (line 20) * CC: Preprocessor Options. ! (line 353) * client_name: Darwin Options. (line 196) * compatibility_version: Darwin Options. (line 196) * coverage: Instrumentation Options. --- 60597,60606 ---- * bundle_loader: Darwin Options. (line 127) * c: Overall Options. (line 169) * C: Preprocessor Options. ! (line 343) * c <1>: Link Options. (line 20) * CC: Preprocessor Options. ! (line 355) * client_name: Darwin Options. (line 196) * compatibility_version: Darwin Options. (line 196) * coverage: Instrumentation Options. *************** look up both forms. *** 60607,60632 **** * D: Preprocessor Options. (line 19) * d: Preprocessor Options. ! (line 407) * d <1>: Developer Options. (line 52) * da: Developer Options. (line 246) * dA: Developer Options. (line 249) * dD: Preprocessor Options. ! (line 431) * dD <1>: Developer Options. (line 253) * dead_strip: Darwin Options. (line 196) * dependency-file: Darwin Options. (line 196) * dH: Developer Options. (line 257) * dI: Preprocessor Options. ! (line 441) * dM: Preprocessor Options. ! (line 416) * dN: Preprocessor Options. ! (line 437) * dp: Developer Options. (line 260) * dP: Developer Options. (line 265) * dU: Preprocessor Options. ! (line 445) * dump-analyzer-exploded-nodes: Static Analyzer Options. (line 290) * dump-analyzer-exploded-nodes-2: Static Analyzer Options. --- 60609,60634 ---- * D: Preprocessor Options. (line 19) * d: Preprocessor Options. ! (line 409) * d <1>: Developer Options. (line 52) * da: Developer Options. (line 246) * dA: Developer Options. (line 249) * dD: Preprocessor Options. ! (line 433) * dD <1>: Developer Options. (line 253) * dead_strip: Darwin Options. (line 196) * dependency-file: Darwin Options. (line 196) * dH: Developer Options. (line 257) * dI: Preprocessor Options. ! (line 443) * dM: Preprocessor Options. ! (line 418) * dN: Preprocessor Options. ! (line 439) * dp: Developer Options. (line 260) * dP: Developer Options. (line 265) * dU: Preprocessor Options. ! (line 447) * dump-analyzer-exploded-nodes: Static Analyzer Options. (line 290) * dump-analyzer-exploded-nodes-2: Static Analyzer Options. *************** look up both forms. *** 60645,60654 **** * E: Overall Options. (line 190) * E <1>: Link Options. (line 20) * e: Link Options. (line 169) ! * EB: ARC Options. (line 595) * EB <1>: C-SKY Options. (line 29) * EB <2>: MIPS Options. (line 7) ! * EL: ARC Options. (line 602) * EL <1>: C-SKY Options. (line 31) * EL <2>: MIPS Options. (line 10) * entry: Link Options. (line 169) --- 60647,60656 ---- * E: Overall Options. (line 190) * E <1>: Link Options. (line 20) * e: Link Options. (line 169) ! * EB: ARC Options. (line 597) * EB <1>: C-SKY Options. (line 29) * EB <2>: MIPS Options. (line 7) ! * EL: ARC Options. (line 606) * EL <1>: C-SKY Options. (line 31) * EL <2>: MIPS Options. (line 10) * entry: Link Options. (line 169) *************** look up both forms. *** 60720,60726 **** (line 172) * fconcepts-ts: C++ Dialect Options. (line 172) ! * fcond-mismatch: C Dialect Options. (line 394) * fconserve-stack: Optimize Options. (line 957) * fconstant-string-class: Objective-C and Objective-C++ Dialect Options. (line 30) --- 60722,60728 ---- (line 172) * fconcepts-ts: C++ Dialect Options. (line 172) ! * fcond-mismatch: C Dialect Options. (line 396) * fconserve-stack: Optimize Options. (line 957) * fconstant-string-class: Objective-C and Objective-C++ Dialect Options. (line 30) *************** look up both forms. *** 60745,60751 **** * fdbg-cnt-list: Developer Options. (line 932) * fdce: Optimize Options. (line 574) * fdebug-cpp: Preprocessor Options. ! (line 452) * fdebug-prefix-map: Debugging Options. (line 141) * fdebug-types-section: Debugging Options. (line 192) * fdeclone-ctor-dtor: Optimize Options. (line 597) --- 60747,60753 ---- * fdbg-cnt-list: Developer Options. (line 932) * fdce: Optimize Options. (line 574) * fdebug-cpp: Preprocessor Options. ! (line 454) * fdebug-prefix-map: Debugging Options. (line 141) * fdebug-types-section: Debugging Options. (line 192) * fdeclone-ctor-dtor: Optimize Options. (line 597) *************** look up both forms. *** 60944,60950 **** (line 256) * fgnu-runtime: Objective-C and Objective-C++ Dialect Options. (line 39) ! * fgnu-tm: C Dialect Options. (line 351) * fgnu-unique: Code Gen Options. (line 162) * fgnu89-inline: C Dialect Options. (line 190) * fgraphite-identity: Optimize Options. (line 1249) --- 60946,60952 ---- (line 256) * fgnu-runtime: Objective-C and Objective-C++ Dialect Options. (line 39) ! * fgnu-tm: C Dialect Options. (line 353) * fgnu-unique: Code Gen Options. (line 162) * fgnu89-inline: C Dialect Options. (line 190) * fgraphite-identity: Optimize Options. (line 1249) *************** look up both forms. *** 60971,60977 **** * finline-limit: Optimize Options. (line 336) * finline-small-functions: Optimize Options. (line 283) * finput-charset: Preprocessor Options. ! (line 283) * finstrument-functions: Instrumentation Options. (line 732) * finstrument-functions <1>: Common Function Attributes. --- 60973,60979 ---- * finline-limit: Optimize Options. (line 336) * finline-small-functions: Optimize Options. (line 283) * finput-charset: Preprocessor Options. ! (line 285) * finstrument-functions: Instrumentation Options. (line 732) * finstrument-functions <1>: Common Function Attributes. *************** look up both forms. *** 61012,61018 **** * fkeep-static-consts: Optimize Options. (line 378) * fkeep-static-functions: Optimize Options. (line 374) * flat_namespace: Darwin Options. (line 196) ! * flax-vector-conversions: C Dialect Options. (line 399) * fleading-underscore: Code Gen Options. (line 478) * flifetime-dse: Optimize Options. (line 667) * flinker-output: Link Options. (line 25) --- 61014,61020 ---- * fkeep-static-consts: Optimize Options. (line 378) * fkeep-static-functions: Optimize Options. (line 374) * flat_namespace: Darwin Options. (line 196) ! * flax-vector-conversions: C Dialect Options. (line 401) * fleading-underscore: Code Gen Options. (line 478) * flifetime-dse: Optimize Options. (line 667) * flinker-output: Link Options. (line 25) *************** look up both forms. *** 61048,61054 **** * fmodulo-sched: Optimize Options. (line 408) * fmodulo-sched-allow-regmoves: Optimize Options. (line 413) * fmove-loop-invariants: Optimize Options. (line 2527) ! * fms-extensions: C Dialect Options. (line 366) * fms-extensions <1>: C++ Dialect Options. (line 281) * fms-extensions <2>: Unnamed Fields. (line 36) --- 61050,61056 ---- * fmodulo-sched: Optimize Options. (line 408) * fmodulo-sched-allow-regmoves: Optimize Options. (line 413) * fmove-loop-invariants: Optimize Options. (line 2527) ! * fms-extensions: C Dialect Options. (line 368) * fms-extensions <1>: C++ Dialect Options. (line 281) * fms-extensions <2>: Unnamed Fields. (line 36) *************** look up both forms. *** 61172,61178 **** (line 46) * fno-show-column: Diagnostic Message Formatting Options. (line 393) ! * fno-signed-bitfields: C Dialect Options. (line 432) * fno-signed-zeros: Optimize Options. (line 2322) * fno-stack-limit: Instrumentation Options. (line 644) --- 61174,61180 ---- (line 46) * fno-show-column: Diagnostic Message Formatting Options. (line 393) ! * fno-signed-bitfields: C Dialect Options. (line 434) * fno-signed-zeros: Optimize Options. (line 2322) * fno-stack-limit: Instrumentation Options. (line 644) *************** look up both forms. *** 61180,61186 **** (line 396) * fno-toplevel-reorder: Optimize Options. (line 1782) * fno-trapping-math: Optimize Options. (line 2332) ! * fno-unsigned-bitfields: C Dialect Options. (line 432) * fno-use-cxa-get-exception-ptr: C++ Dialect Options. (line 409) * fno-var-tracking-assignments: Debugging Options. (line 161) --- 61182,61188 ---- (line 396) * fno-toplevel-reorder: Optimize Options. (line 1782) * fno-trapping-math: Optimize Options. (line 2332) ! * fno-unsigned-bitfields: C Dialect Options. (line 434) * fno-use-cxa-get-exception-ptr: C++ Dialect Options. (line 409) * fno-var-tracking-assignments: Debugging Options. (line 161) *************** look up both forms. *** 61188,61194 **** * fno-weak: C++ Dialect Options. (line 471) * fno-working-directory: Preprocessor Options. ! (line 318) * fno-writable-relocated-rdata: x86 Windows Options. (line 53) * fno-zero-initialized-in-bss: Optimize Options. (line 445) --- 61190,61196 ---- * fno-weak: C++ Dialect Options. (line 471) * fno-working-directory: Preprocessor Options. ! (line 320) * fno-writable-relocated-rdata: x86 Windows Options. (line 53) * fno-zero-initialized-in-bss: Optimize Options. (line 445) *************** look up both forms. *** 61213,61221 **** (line 119) * fomit-frame-pointer: Optimize Options. (line 248) * fopenacc: C Dialect Options. (line 325) ! * fopenacc-dim: C Dialect Options. (line 333) ! * fopenmp: C Dialect Options. (line 339) ! * fopenmp-simd: C Dialect Options. (line 347) * foperator-names: C++ Dialect Options. (line 315) * fopt-info: Developer Options. (line 476) --- 61215,61223 ---- (line 119) * fomit-frame-pointer: Optimize Options. (line 248) * fopenacc: C Dialect Options. (line 325) ! * fopenacc-dim: C Dialect Options. (line 334) ! * fopenmp: C Dialect Options. (line 340) ! * fopenmp-simd: C Dialect Options. (line 349) * foperator-names: C++ Dialect Options. (line 315) * fopt-info: Developer Options. (line 476) *************** look up both forms. *** 61232,61240 **** * fpcc-struct-return: Code Gen Options. (line 175) * fpcc-struct-return <1>: Incompatibilities. (line 170) * fpch-deps: Preprocessor Options. ! (line 293) * fpch-preprocess: Preprocessor Options. ! (line 301) * fpeel-loops: Optimize Options. (line 2519) * fpeephole: Optimize Options. (line 1539) * fpeephole2: Optimize Options. (line 1539) --- 61234,61242 ---- * fpcc-struct-return: Code Gen Options. (line 175) * fpcc-struct-return <1>: Incompatibilities. (line 170) * fpch-deps: Preprocessor Options. ! (line 295) * fpch-preprocess: Preprocessor Options. ! (line 303) * fpeel-loops: Optimize Options. (line 2519) * fpeephole: Optimize Options. (line 1539) * fpeephole2: Optimize Options. (line 1539) *************** look up both forms. *** 61247,61253 **** * fPIC: Code Gen Options. (line 374) * fpie: Code Gen Options. (line 387) * fPIE: Code Gen Options. (line 387) ! * fplan9-extensions: C Dialect Options. (line 384) * fplan9-extensions <1>: Unnamed Fields. (line 43) * fplt: Code Gen Options. (line 396) * fplugin: Overall Options. (line 381) --- 61249,61255 ---- * fPIC: Code Gen Options. (line 374) * fpie: Code Gen Options. (line 387) * fPIE: Code Gen Options. (line 387) ! * fplan9-extensions: C Dialect Options. (line 386) * fplan9-extensions <1>: Unnamed Fields. (line 43) * fplt: Code Gen Options. (line 396) * fplugin: Overall Options. (line 381) *************** look up both forms. *** 61416,61424 **** * fshrink-wrap: Optimize Options. (line 915) * fshrink-wrap-separate: Optimize Options. (line 920) * fsignaling-nans: Optimize Options. (line 2367) ! * fsigned-bitfields: C Dialect Options. (line 432) * fsigned-bitfields <1>: Non-bugs. (line 57) ! * fsigned-char: C Dialect Options. (line 422) * fsigned-char <1>: Characters implementation. (line 31) * fsigned-zeros: Optimize Options. (line 2322) --- 61418,61426 ---- * fshrink-wrap: Optimize Options. (line 915) * fshrink-wrap-separate: Optimize Options. (line 920) * fsignaling-nans: Optimize Options. (line 2367) ! * fsigned-bitfields: C Dialect Options. (line 434) * fsigned-bitfields <1>: Non-bugs. (line 57) ! * fsigned-char: C Dialect Options. (line 424) * fsigned-char <1>: Characters implementation. (line 31) * fsigned-zeros: Optimize Options. (line 2322) *************** look up both forms. *** 61437,61443 **** * fsplit-wide-types-early: Optimize Options. (line 474) * fssa-backprop: Optimize Options. (line 1173) * fssa-phiopt: Optimize Options. (line 1179) ! * fsso-struct: C Dialect Options. (line 438) * fstack-check: Instrumentation Options. (line 587) * fstack-clash-protection: Instrumentation Options. --- 61439,61445 ---- * fsplit-wide-types-early: Optimize Options. (line 474) * fssa-backprop: Optimize Options. (line 1173) * fssa-phiopt: Optimize Options. (line 1179) ! * fsso-struct: C Dialect Options. (line 440) * fstack-check: Instrumentation Options. (line 587) * fstack-clash-protection: Instrumentation Options. *************** look up both forms. *** 61463,61472 **** * fstrict-enums: C++ Dialect Options. (line 366) * fstrict-overflow: Code Gen Options. (line 115) ! * fstrict-volatile-bitfields: Code Gen Options. (line 588) * fstrong-eval-order: C++ Dialect Options. (line 375) ! * fsync-libcalls: Code Gen Options. (line 620) * fsyntax-only: Warning Options. (line 14) * ftabstop: Preprocessor Options. (line 238) --- 61465,61474 ---- * fstrict-enums: C++ Dialect Options. (line 366) * fstrict-overflow: Code Gen Options. (line 115) ! * fstrict-volatile-bitfields: Code Gen Options. (line 589) * fstrong-eval-order: C++ Dialect Options. (line 375) ! * fsync-libcalls: Code Gen Options. (line 621) * fsyntax-only: Warning Options. (line 14) * ftabstop: Preprocessor Options. (line 238) *************** look up both forms. *** 61529,61539 **** * funroll-all-loops: Optimize Options. (line 2513) * funroll-loops: Optimize Options. (line 2503) * funsafe-math-optimizations: Optimize Options. (line 2265) ! * funsigned-bitfields: C Dialect Options. (line 432) * funsigned-bitfields <1>: Structures unions enumerations and bit-fields implementation. (line 17) * funsigned-bitfields <2>: Non-bugs. (line 57) ! * funsigned-char: C Dialect Options. (line 404) * funsigned-char <1>: Characters implementation. (line 31) * funswitch-loops: Optimize Options. (line 2537) --- 61531,61541 ---- * funroll-all-loops: Optimize Options. (line 2513) * funroll-loops: Optimize Options. (line 2503) * funsafe-math-optimizations: Optimize Options. (line 2265) ! * funsigned-bitfields: C Dialect Options. (line 434) * funsigned-bitfields <1>: Structures unions enumerations and bit-fields implementation. (line 17) * funsigned-bitfields <2>: Non-bugs. (line 57) ! * funsigned-char: C Dialect Options. (line 406) * funsigned-char <1>: Characters implementation. (line 31) * funswitch-loops: Optimize Options. (line 2537) *************** look up both forms. *** 61572,61578 **** * fwide-exec-charset: Preprocessor Options. (line 275) * fworking-directory: Preprocessor Options. ! (line 318) * fwrapv: Code Gen Options. (line 99) * fwrapv-pointer: Code Gen Options. (line 109) * fwritable-relocated-rdata: x86 Windows Options. --- 61574,61580 ---- * fwide-exec-charset: Preprocessor Options. (line 275) * fworking-directory: Preprocessor Options. ! (line 320) * fwrapv: Code Gen Options. (line 99) * fwrapv-pointer: Code Gen Options. (line 109) * fwritable-relocated-rdata: x86 Windows Options. *************** look up both forms. *** 61581,61587 **** * fzero-link: Objective-C and Objective-C++ Dialect Options. (line 140) * g: Debugging Options. (line 25) ! * G: ARC Options. (line 414) * G <1>: M32R/D Options. (line 57) * G <2>: MIPS Options. (line 460) * G <3>: Nios II Options. (line 9) --- 61583,61589 ---- * fzero-link: Objective-C and Objective-C++ Dialect Options. (line 140) * g: Debugging Options. (line 25) ! * G: ARC Options. (line 416) * G <1>: M32R/D Options. (line 57) * G <2>: MIPS Options. (line 460) * G <3>: Nios II Options. (line 9) *************** look up both forms. *** 61624,61630 **** * gxcoff+: Debugging Options. (line 82) * gz: Debugging Options. (line 317) * H: Preprocessor Options. ! (line 400) * headerpad_max_install_names: Darwin Options. (line 196) * help: Overall Options. (line 220) * I: Directory Options. (line 13) --- 61626,61632 ---- * gxcoff+: Debugging Options. (line 82) * gz: Debugging Options. (line 317) * H: Preprocessor Options. ! (line 402) * headerpad_max_install_names: Darwin Options. (line 196) * help: Overall Options. (line 220) * I: Directory Options. (line 13) *************** look up both forms. *** 61658,61664 **** * m10: PDP-11 Options. (line 29) * m128bit-long-double: x86 Options. (line 584) * m16: x86 Options. (line 1425) ! * m16-bit: CRIS Options. (line 63) * m16-bit <1>: NDS32 Options. (line 51) * m1reg-: Adapteva Epiphany Options. (line 131) --- 61660,61666 ---- * m10: PDP-11 Options. (line 29) * m128bit-long-double: x86 Options. (line 584) * m16: x86 Options. (line 1425) ! * m16-bit: CRIS Options. (line 64) * m16-bit <1>: NDS32 Options. (line 51) * m1reg-: Adapteva Epiphany Options. (line 131) *************** look up both forms. *** 61678,61684 **** * m32 <3>: TILE-Gx Options. (line 23) * m32 <4>: TILEPro Options. (line 13) * m32 <5>: x86 Options. (line 1425) ! * m32-bit: CRIS Options. (line 63) * m32bit-doubles: RL78 Options. (line 73) * m32bit-doubles <1>: RX Options. (line 10) * m32r: M32R/D Options. (line 15) --- 61680,61686 ---- * m32 <3>: TILE-Gx Options. (line 23) * m32 <4>: TILEPro Options. (line 13) * m32 <5>: x86 Options. (line 1425) ! * m32-bit: CRIS Options. (line 64) * m32bit-doubles: RL78 Options. (line 73) * m32bit-doubles <1>: RX Options. (line 10) * m32r: M32R/D Options. (line 15) *************** look up both forms. *** 61738,61744 **** * m68040: M680x0 Options. (line 117) * m68060: M680x0 Options. (line 126) * m68881: M680x0 Options. (line 194) ! * m8-bit: CRIS Options. (line 63) * m8bit-idiv: x86 Options. (line 1346) * m8byte-align: V850 Options. (line 170) * m96bit-long-double: x86 Options. (line 584) --- 61740,61746 ---- * m68040: M680x0 Options. (line 117) * m68060: M680x0 Options. (line 126) * m68881: M680x0 Options. (line 194) ! * m8-bit: CRIS Options. (line 64) * m8bit-idiv: x86 Options. (line 1346) * m8byte-align: V850 Options. (line 170) * m96bit-long-double: x86 Options. (line 584) *************** look up both forms. *** 61771,61782 **** * mabort-on-noreturn: ARM Options. (line 750) * mabs=2008: MIPS Options. (line 300) * mabs=legacy: MIPS Options. (line 300) ! * mabsdata: AVR Options. (line 162) * 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 169) * maccumulate-outgoing-args: SH Options. (line 314) * maccumulate-outgoing-args <1>: x86 Options. (line 1083) * maddress-mode=long: x86 Options. (line 1475) --- 61773,61784 ---- * mabort-on-noreturn: ARM Options. (line 750) * 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 1083) * maddress-mode=long: x86 Options. (line 1475) *************** look up both forms. *** 61792,61798 **** * maix64: RS/6000 and PowerPC Options. (line 282) * malign-300: H8/300 Options. (line 41) ! * malign-call: ARC Options. (line 433) * malign-data: RISC-V Options. (line 127) * malign-data <1>: x86 Options. (line 624) * malign-double: x86 Options. (line 569) --- 61794,61800 ---- * maix64: RS/6000 and PowerPC Options. (line 282) * malign-300: H8/300 Options. (line 41) ! * malign-call: ARC Options. (line 435) * malign-data: RISC-V Options. (line 127) * malign-data <1>: x86 Options. (line 624) * malign-double: x86 Options. (line 569) *************** look up both forms. *** 61841,61848 **** * march <14>: x86 Options. (line 9) * march=: C-SKY Options. (line 9) * marclinux: ARC Options. (line 388) ! * marclinux_prof: ARC Options. (line 394) ! * margonaut: ARC Options. (line 591) * marm: ARM Options. (line 822) * mas100-syntax: RX Options. (line 76) * masm-hex: MSP430 Options. (line 9) --- 61843,61850 ---- * march <14>: x86 Options. (line 9) * march=: C-SKY Options. (line 9) * marclinux: ARC Options. (line 388) ! * marclinux_prof: ARC Options. (line 395) ! * margonaut: ARC Options. (line 593) * marm: ARM Options. (line 822) * mas100-syntax: RX Options. (line 76) * masm-hex: MSP430 Options. (line 9) *************** look up both forms. *** 61851,61857 **** * matomic: ARC Options. (line 155) * matomic-model=MODEL: SH Options. (line 193) * mauto-litpools: Xtensa Options. (line 60) ! * mauto-modify-reg: ARC Options. (line 436) * mauto-pic: IA-64 Options. (line 50) * maverage: MeP Options. (line 16) * mavoid-indexed-addresses: RS/6000 and PowerPC Options. --- 61853,61859 ---- * matomic: ARC Options. (line 155) * matomic-model=MODEL: SH Options. (line 193) * mauto-litpools: Xtensa Options. (line 60) ! * mauto-modify-reg: ARC Options. (line 438) * mauto-pic: IA-64 Options. (line 50) * maverage: MeP Options. (line 16) * mavoid-indexed-addresses: RS/6000 and PowerPC Options. *************** look up both forms. *** 61884,61898 **** (line 35) * mbarrel-shift-enabled: LM32 Options. (line 9) * mbarrel-shifter: ARC Options. (line 10) ! * mbarrel_shifter: ARC Options. (line 608) * mbase-addresses: MMIX Options. (line 53) * mbased=: MeP Options. (line 20) ! * mbbit-peephole: ARC Options. (line 439) * mbe8: ARM Options. (line 72) * mbig: RS/6000 and PowerPC Options. (line 439) * mbig-endian: AArch64 Options. (line 20) ! * mbig-endian <1>: ARC Options. (line 594) * mbig-endian <2>: ARM Options. (line 67) * mbig-endian <3>: C6X Options. (line 13) * mbig-endian <4>: C-SKY Options. (line 28) --- 61886,61900 ---- (line 35) * mbarrel-shift-enabled: LM32 Options. (line 9) * mbarrel-shifter: ARC Options. (line 10) ! * mbarrel_shifter: ARC Options. (line 613) * mbase-addresses: MMIX Options. (line 53) * mbased=: MeP Options. (line 20) ! * mbbit-peephole: ARC Options. (line 441) * mbe8: ARM Options. (line 72) * mbig: RS/6000 and PowerPC Options. (line 439) * mbig-endian: AArch64 Options. (line 20) ! * mbig-endian <1>: ARC Options. (line 596) * mbig-endian <2>: ARM Options. (line 67) * mbig-endian <3>: C6X Options. (line 13) * mbig-endian <4>: C-SKY Options. (line 28) *************** look up both forms. *** 61925,61931 **** * mboard: OpenRISC Options. (line 9) * mbranch-cost: Adapteva Epiphany Options. (line 18) ! * mbranch-cost <1>: AVR Options. (line 184) * mbranch-cost <2>: MIPS Options. (line 785) * mbranch-cost <3>: RISC-V Options. (line 9) * mbranch-cost=: C-SKY Options. (line 143) --- 61927,61933 ---- * 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. *** 61934,61940 **** * mbranch-index: ARC Options. (line 329) * mbranch-likely: MIPS Options. (line 792) * mbranch-predict: MMIX Options. (line 48) ! * mbranch-protection: AArch64 Options. (line 295) * mbss-plt: RS/6000 and PowerPC Options. (line 160) * mbuild-constants: DEC Alpha Options. (line 141) --- 61936,61942 ---- * mbranch-index: ARC Options. (line 329) * mbranch-likely: MIPS Options. (line 792) * mbranch-predict: MMIX Options. (line 48) ! * mbranch-protection: AArch64 Options. (line 296) * mbss-plt: RS/6000 and PowerPC Options. (line 160) * mbuild-constants: DEC Alpha Options. (line 141) *************** look up both forms. *** 61957,61963 **** (line 532) * mcall-netbsd <1>: RS/6000 and PowerPC Options. (line 536) ! * mcall-prologues: AVR Options. (line 189) * mcall-sysv: RS/6000 and PowerPC Options. (line 506) * mcall-sysv-eabi: RS/6000 and PowerPC Options. --- 61959,61965 ---- (line 532) * mcall-netbsd <1>: RS/6000 and PowerPC Options. (line 536) ! * mcall-prologues: AVR Options. (line 190) * mcall-sysv: RS/6000 and PowerPC Options. (line 506) * mcall-sysv-eabi: RS/6000 and PowerPC Options. *************** look up both forms. *** 61968,61977 **** * mcaller-copies: HPPA Options. (line 23) * mcaller-super-interworking: ARM Options. (line 858) * mcallgraph-data: MCore Options. (line 31) ! * mcase-vector-pcrel: ARC Options. (line 448) * mcbcond: SPARC Options. (line 260) * mcbranch-force-delay-slot: SH Options. (line 349) ! * mcc-init: CRIS Options. (line 41) * mccrt: C-SKY Options. (line 139) * mcfv4e: M680x0 Options. (line 169) * mcheck-zero-division: MIPS Options. (line 570) --- 61970,61979 ---- * mcaller-copies: HPPA Options. (line 23) * mcaller-super-interworking: ARM Options. (line 858) * mcallgraph-data: MCore Options. (line 31) ! * mcase-vector-pcrel: ARC Options. (line 450) * mcbcond: SPARC Options. (line 260) * mcbranch-force-delay-slot: SH Options. (line 349) ! * mcc-init: CRIS Options. (line 42) * mccrt: C-SKY Options. (line 139) * mcfv4e: M680x0 Options. (line 169) * mcheck-zero-division: MIPS Options. (line 570) *************** look up both forms. *** 62010,62022 **** (line 25) * mcmse: ARM Options. (line 950) * mcode-density: ARC Options. (line 163) ! * mcode-density-frame: ARC Options. (line 509) * mcode-readable: MIPS Options. (line 530) * mcode-region: MSP430 Options. (line 135) * mcompact-branches=always: MIPS Options. (line 804) * mcompact-branches=never: MIPS Options. (line 804) * mcompact-branches=optimal: MIPS Options. (line 804) ! * mcompact-casesi: ARC Options. (line 452) * mcompat-align-parm: RS/6000 and PowerPC Options. (line 898) * mcompress: FT32 Options. (line 26) --- 62012,62024 ---- (line 25) * mcmse: ARM Options. (line 950) * mcode-density: ARC Options. (line 163) ! * mcode-density-frame: ARC Options. (line 511) * mcode-readable: MIPS Options. (line 530) * mcode-region: MSP430 Options. (line 135) * mcompact-branches=always: MIPS Options. (line 804) * mcompact-branches=never: MIPS Options. (line 804) * mcompact-branches=optimal: MIPS Options. (line 804) ! * mcompact-casesi: ARC Options. (line 454) * mcompat-align-parm: RS/6000 and PowerPC Options. (line 898) * mcompress: FT32 Options. (line 26) *************** look up both forms. *** 62025,62031 **** * mconfig=: MeP Options. (line 39) * mconsole: x86 Windows Options. (line 9) ! * mconst-align: CRIS Options. (line 54) * mconst16: Xtensa Options. (line 10) * mconstant-gp: IA-64 Options. (line 46) * mconstpool: C-SKY Options. (line 127) --- 62027,62033 ---- * mconfig=: MeP Options. (line 39) * mconsole: x86 Windows Options. (line 9) ! * mconst-align: CRIS Options. (line 55) * mconst16: Xtensa Options. (line 10) * mconstant-gp: IA-64 Options. (line 46) * mconstpool: C-SKY Options. (line 127) *************** look up both forms. *** 62035,62041 **** * mcorea: Blackfin Options. (line 154) * mcoreb: Blackfin Options. (line 161) * mcp: C-SKY Options. (line 74) ! * mcpu: AArch64 Options. (line 242) * mcpu <1>: ARC Options. (line 18) * mcpu <2>: ARM Options. (line 620) * mcpu <3>: CRIS Options. (line 10) --- 62037,62043 ---- * mcorea: Blackfin Options. (line 154) * mcoreb: Blackfin Options. (line 161) * mcp: C-SKY Options. (line 74) ! * mcpu: AArch64 Options. (line 243) * mcpu <1>: ARC Options. (line 18) * mcpu <2>: ARM Options. (line 620) * mcpu <3>: CRIS Options. (line 10) *************** look up both forms. *** 62073,62079 **** * MD: Preprocessor Options. (line 169) * mdalign: SH Options. (line 132) ! * mdata-align: CRIS Options. (line 54) * mdata-model: CR16 Options. (line 28) * mdata-region: MSP430 Options. (line 135) * mdc: MeP Options. (line 62) --- 62075,62081 ---- * MD: Preprocessor Options. (line 169) * mdalign: SH Options. (line 132) ! * mdata-align: CRIS Options. (line 55) * mdata-model: CR16 Options. (line 28) * mdata-region: MSP430 Options. (line 135) * mdc: MeP Options. (line 62) *************** look up both forms. *** 62102,62108 **** * mdlmzb: RS/6000 and PowerPC Options. (line 384) * mdmx: MIPS Options. (line 376) ! * mdouble: AVR Options. (line 194) * mdouble <1>: FRV Options. (line 48) * mdouble-float: C-SKY Options. (line 42) * mdouble-float <1>: MIPS Options. (line 288) --- 62104,62110 ---- * mdlmzb: RS/6000 and PowerPC Options. (line 384) * mdmx: MIPS Options. (line 376) ! * mdouble: AVR Options. (line 195) * mdouble <1>: FRV Options. (line 48) * mdouble-float: C-SKY Options. (line 42) * mdouble-float <1>: MIPS Options. (line 288) *************** look up both forms. *** 62110,62122 **** * mdpfp: ARC Options. (line 99) * mdpfp-compact: ARC Options. (line 100) * mdpfp-fast: ARC Options. (line 104) ! * mdpfp_compact: ARC Options. (line 611) ! * mdpfp_fast: ARC Options. (line 614) * mdsp: C-SKY Options. (line 86) * mdsp <1>: MIPS Options. (line 353) * mdsp-packa: ARC Options. (line 335) * mdspr2: MIPS Options. (line 359) ! * mdsp_packa: ARC Options. (line 617) * mdump-tune-features: x86 Options. (line 874) * mdvbf: ARC Options. (line 340) * mdwarf2-asm: IA-64 Options. (line 94) --- 62112,62124 ---- * mdpfp: ARC Options. (line 99) * mdpfp-compact: ARC Options. (line 100) * mdpfp-fast: ARC Options. (line 104) ! * mdpfp_compact: ARC Options. (line 616) ! * mdpfp_fast: ARC Options. (line 619) * mdsp: C-SKY Options. (line 86) * mdsp <1>: MIPS Options. (line 353) * mdsp-packa: ARC Options. (line 335) * mdspr2: MIPS Options. (line 359) ! * mdsp_packa: ARC Options. (line 622) * mdump-tune-features: x86 Options. (line 874) * mdvbf: ARC Options. (line 340) * mdwarf2-asm: IA-64 Options. (line 94) *************** look up both forms. *** 62125,62134 **** * mdynamic-no-pic: RS/6000 and PowerPC Options. (line 444) * mea: ARC Options. (line 112) ! * mEA: ARC Options. (line 620) * meabi: RS/6000 and PowerPC Options. (line 632) ! * mearly-cbranchsi: ARC Options. (line 474) * mearly-stop-bits: IA-64 Options. (line 100) * meb: MeP Options. (line 68) * meb <1>: Moxie Options. (line 7) --- 62127,62136 ---- * mdynamic-no-pic: RS/6000 and PowerPC Options. (line 444) * mea: ARC Options. (line 112) ! * mEA: ARC Options. (line 625) * meabi: RS/6000 and PowerPC Options. (line 632) ! * mearly-cbranchsi: ARC Options. (line 476) * mearly-stop-bits: IA-64 Options. (line 100) * meb: MeP Options. (line 68) * meb <1>: Moxie Options. (line 7) *************** look up both forms. *** 62139,62145 **** * mel <1>: Moxie Options. (line 11) * mel <2>: Nios II Options. (line 90) * mel <3>: Score Options. (line 12) ! * melf: CRIS Options. (line 86) * melf <1>: MMIX Options. (line 43) * melrw: C-SKY Options. (line 60) * memb: RS/6000 and PowerPC Options. --- 62141,62147 ---- * mel <1>: Moxie Options. (line 11) * mel <2>: Nios II Options. (line 90) * mel <3>: Score Options. (line 12) ! * melf: CRIS Options. (line 87) * melf <1>: MMIX Options. (line 43) * melrw: C-SKY Options. (line 60) * memb: RS/6000 and PowerPC Options. *************** look up both forms. *** 62151,62160 **** * mepsilon: MMIX Options. (line 15) * mesa: S/390 and zSeries Options. (line 94) ! * metrax100: CRIS Options. (line 26) ! * metrax4: CRIS Options. (line 26) * meva: MIPS Options. (line 403) ! * mexpand-adddi: ARC Options. (line 477) * mexplicit-relocs: DEC Alpha Options. (line 176) * mexplicit-relocs <1>: MIPS Options. (line 561) * mexr: H8/300 Options. (line 28) --- 62153,62162 ---- * mepsilon: MMIX Options. (line 15) * mesa: S/390 and zSeries Options. (line 94) ! * metrax100: CRIS Options. (line 27) ! * metrax4: CRIS Options. (line 27) * meva: MIPS Options. (line 403) ! * mexpand-adddi: ARC Options. (line 479) * mexplicit-relocs: DEC Alpha Options. (line 176) * mexplicit-relocs <1>: MIPS Options. (line 561) * mexr: H8/300 Options. (line 28) *************** look up both forms. *** 62243,62249 **** * mfpu <4>: Visium Options. (line 19) * mfpu=: C-SKY Options. (line 53) * mfpxx: MIPS Options. (line 264) ! * mfract-convert-truncate: AVR Options. (line 284) * mframe-header-opt: MIPS Options. (line 885) * mfriz: RS/6000 and PowerPC Options. (line 869) --- 62245,62251 ---- * mfpu <4>: Visium Options. (line 19) * mfpu=: C-SKY Options. (line 53) * mfpxx: MIPS Options. (line 264) ! * mfract-convert-truncate: AVR Options. (line 286) * mframe-header-opt: MIPS Options. (line 885) * mfriz: RS/6000 and PowerPC Options. (line 869) *************** look up both forms. *** 62272,62278 **** * mg13: RL78 Options. (line 62) * mg14: RL78 Options. (line 62) * mgas: HPPA Options. (line 75) ! * mgas-isr-prologues: AVR Options. (line 202) * mgcc-abi: V850 Options. (line 148) * mgeneral-regs-only: AArch64 Options. (line 24) * mgeneral-regs-only <1>: ARM Options. (line 57) --- 62274,62280 ---- * mg13: RL78 Options. (line 62) * mg14: RL78 Options. (line 62) * mgas: HPPA Options. (line 75) ! * mgas-isr-prologues: AVR Options. (line 203) * 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. *** 62289,62295 **** * mgnu-ld: HPPA Options. (line 111) * mgnu-ld <1>: IA-64 Options. (line 23) * mgomp: Nvidia PTX Options. (line 53) ! * mgotplt: CRIS Options. (line 80) * mgp32: MIPS Options. (line 252) * mgp64: MIPS Options. (line 255) * mgpopt: MIPS Options. (line 502) --- 62291,62297 ---- * mgnu-ld: HPPA Options. (line 111) * mgnu-ld <1>: IA-64 Options. (line 23) * mgomp: Nvidia PTX Options. (line 53) ! * mgotplt: CRIS Options. (line 81) * mgp32: MIPS Options. (line 252) * mgp64: MIPS Options. (line 255) * mgpopt: MIPS Options. (line 502) *************** look up both forms. *** 62323,62329 **** * mhard-float <11>: x86 Options. (line 532) * mhard-mul: OpenRISC Options. (line 24) * mhard-quad-float: SPARC Options. (line 55) ! * mharden-sls: AArch64 Options. (line 308) * mhardlit: MCore Options. (line 10) * mhigh-registers: C-SKY Options. (line 104) * mhle: x86 Options. (line 821) --- 62325,62331 ---- * mhard-float <11>: x86 Options. (line 532) * mhard-mul: OpenRISC Options. (line 24) * mhard-quad-float: SPARC Options. (line 55) ! * mharden-sls: AArch64 Options. (line 309) * mhardlit: MCore Options. (line 10) * mhigh-registers: C-SKY Options. (line 104) * mhle: x86 Options. (line 821) *************** look up both forms. *** 62351,62357 **** * mimadd: MIPS Options. (line 617) * mimpure-text: Solaris 2 Options. (line 15) * mincoming-stack-boundary: x86 Options. (line 742) ! * mindexed-loads: ARC Options. (line 481) * mindirect-branch: x86 Options. (line 1377) * mindirect-branch-register: x86 Options. (line 1415) * minline-all-stringops: x86 Options. (line 1224) --- 62353,62359 ---- * mimadd: MIPS Options. (line 617) * mimpure-text: Solaris 2 Options. (line 15) * mincoming-stack-boundary: x86 Options. (line 742) ! * mindexed-loads: ARC Options. (line 483) * mindirect-branch: x86 Options. (line 1377) * mindirect-branch-register: x86 Options. (line 1415) * minline-all-stringops: x86 Options. (line 1224) *************** look up both forms. *** 62376,62382 **** * mint32: CR16 Options. (line 22) * mint32 <1>: H8/300 Options. (line 38) * mint32 <2>: PDP-11 Options. (line 37) ! * mint8: AVR Options. (line 211) * minterlink-compressed: MIPS Options. (line 135) * minterlink-mips16: MIPS Options. (line 147) * mio-volatile: MeP Options. (line 74) --- 62378,62384 ---- * mint32: CR16 Options. (line 22) * mint32 <1>: H8/300 Options. (line 38) * mint32 <2>: PDP-11 Options. (line 37) ! * mint8: AVR Options. (line 213) * minterlink-compressed: MIPS Options. (line 135) * minterlink-mips16: MIPS Options. (line 147) * mio-volatile: MeP Options. (line 74) *************** look up both forms. *** 62423,62433 **** * mlibrary-pic: FRV Options. (line 135) * mlinked-fp: FRV Options. (line 116) * mlinker-opt: HPPA Options. (line 85) ! * mlinux: CRIS Options. (line 90) * mlittle: RS/6000 and PowerPC Options. (line 433) * mlittle-endian: AArch64 Options. (line 30) ! * mlittle-endian <1>: ARC Options. (line 601) * mlittle-endian <2>: ARM Options. (line 63) * mlittle-endian <3>: C6X Options. (line 16) * mlittle-endian <4>: C-SKY Options. (line 30) --- 62425,62435 ---- * mlibrary-pic: FRV Options. (line 135) * mlinked-fp: FRV Options. (line 116) * mlinker-opt: HPPA Options. (line 85) ! * mlinux: CRIS Options. (line 91) * mlittle: RS/6000 and PowerPC Options. (line 433) * mlittle-endian: AArch64 Options. (line 30) ! * mlittle-endian <1>: ARC Options. (line 605) * mlittle-endian <2>: ARM Options. (line 63) * mlittle-endian <3>: C6X Options. (line 16) * mlittle-endian <4>: C-SKY Options. (line 30) *************** look up both forms. *** 62448,62461 **** * mlock: ARC Options. (line 345) * mlong-calls: Adapteva Epiphany Options. (line 55) ! * mlong-calls <1>: ARC Options. (line 402) * mlong-calls <2>: ARM Options. (line 755) * mlong-calls <3>: Blackfin Options. (line 118) * mlong-calls <4>: FRV Options. (line 122) * mlong-calls <5>: HPPA Options. (line 136) * mlong-calls <6>: MIPS Options. (line 603) * mlong-calls <7>: V850 Options. (line 10) ! * mlong-double: AVR Options. (line 194) * mlong-double-128: S/390 and zSeries Options. (line 29) * mlong-double-128 <1>: x86 Options. (line 610) --- 62450,62463 ---- * mlock: ARC Options. (line 345) * mlong-calls: Adapteva Epiphany Options. (line 55) ! * mlong-calls <1>: ARC Options. (line 404) * mlong-calls <2>: ARM Options. (line 755) * mlong-calls <3>: Blackfin Options. (line 118) * mlong-calls <4>: FRV Options. (line 122) * mlong-calls <5>: HPPA Options. (line 136) * mlong-calls <6>: MIPS Options. (line 603) * mlong-calls <7>: V850 Options. (line 10) ! * mlong-double: AVR Options. (line 195) * mlong-double-128: S/390 and zSeries Options. (line 29) * mlong-double-128 <1>: x86 Options. (line 610) *************** look up both forms. *** 62482,62494 **** * mlow64k: Blackfin Options. (line 67) * mlp64: IA-64 Options. (line 121) * mlpc-width: ARC Options. (line 313) ! * mlra: ARC Options. (line 486) * mlra <1>: FT32 Options. (line 16) * mlra <2>: PDP-11 Options. (line 52) * mlra <3>: SPARC Options. (line 111) ! * mlra-priority-compact: ARC Options. (line 494) ! * mlra-priority-noncompact: ARC Options. (line 497) ! * mlra-priority-none: ARC Options. (line 491) * mlwp: x86 Options. (line 806) * mlxc1-sxc1: MIPS Options. (line 895) * mlzcnt: x86 Options. (line 814) --- 62484,62496 ---- * mlow64k: Blackfin Options. (line 67) * mlp64: IA-64 Options. (line 121) * mlpc-width: ARC Options. (line 313) ! * mlra: ARC Options. (line 488) * mlra <1>: FT32 Options. (line 16) * mlra <2>: PDP-11 Options. (line 52) * mlra <3>: SPARC Options. (line 111) ! * mlra-priority-compact: ARC Options. (line 496) ! * mlra-priority-noncompact: ARC Options. (line 499) ! * mlra-priority-none: ARC Options. (line 493) * mlwp: x86 Options. (line 806) * mlxc1-sxc1: MIPS Options. (line 895) * mlzcnt: x86 Options. (line 814) *************** look up both forms. *** 62499,62515 **** * mmac <1>: Score Options. (line 21) * mmac-24: ARC Options. (line 354) * mmac-d16: ARC Options. (line 350) ! * mmac_24: ARC Options. (line 623) ! * mmac_d16: ARC Options. (line 626) * mmad: MIPS Options. (line 612) * mmadd4: MIPS Options. (line 900) ! * mmain-is-OS_task: AVR Options. (line 217) * mmainkernel: Nvidia PTX Options. (line 18) * mmalloc64: VMS Options. (line 17) * mmanual-endbr: x86 Options. (line 1053) * mmax: DEC Alpha Options. (line 163) * mmax-constant-size: RX Options. (line 82) ! * mmax-stack-frame: CRIS Options. (line 22) * mmcount-ra-address: MIPS Options. (line 872) * mmcu: AVR Options. (line 9) * mmcu <1>: MIPS Options. (line 399) --- 62501,62517 ---- * mmac <1>: Score Options. (line 21) * mmac-24: ARC Options. (line 354) * mmac-d16: ARC Options. (line 350) ! * mmac_24: ARC Options. (line 628) ! * mmac_d16: ARC Options. (line 631) * mmad: MIPS Options. (line 612) * mmadd4: MIPS Options. (line 900) ! * mmain-is-OS_task: AVR Options. (line 219) * mmainkernel: Nvidia PTX Options. (line 18) * mmalloc64: VMS Options. (line 17) * mmanual-endbr: x86 Options. (line 1053) * mmax: DEC Alpha Options. (line 163) * mmax-constant-size: RX Options. (line 82) ! * mmax-stack-frame: CRIS Options. (line 23) * mmcount-ra-address: MIPS Options. (line 872) * mmcu: AVR Options. (line 9) * mmcu <1>: MIPS Options. (line 399) *************** look up both forms. *** 62518,62524 **** * MMD: Preprocessor Options. (line 185) * mmedia: FRV Options. (line 56) ! * mmedium-calls: ARC Options. (line 406) * mmemcpy: MicroBlaze Options. (line 13) * mmemcpy <1>: MIPS Options. (line 597) * mmemcpy-strategy=STRATEGY: x86 Options. (line 1254) --- 62520,62526 ---- * MMD: Preprocessor Options. (line 185) * mmedia: FRV Options. (line 56) ! * mmedium-calls: ARC Options. (line 408) * mmemcpy: MicroBlaze Options. (line 13) * mmemcpy <1>: MIPS Options. (line 597) * mmemcpy-strategy=STRATEGY: x86 Options. (line 1254) *************** look up both forms. *** 62528,62538 **** * mmfcrf: RS/6000 and PowerPC Options. (line 25) * mmicromips: MIPS Options. (line 387) ! * mmillicode: ARC Options. (line 500) * mminimal-toc: RS/6000 and PowerPC Options. (line 255) * mminmax: MeP Options. (line 87) ! * mmixed-code: ARC Options. (line 514) * mmma: RS/6000 and PowerPC Options. (line 943) * mmmx: x86 Options. (line 767) --- 62530,62540 ---- * mmfcrf: RS/6000 and PowerPC Options. (line 25) * mmicromips: MIPS Options. (line 387) ! * mmillicode: ARC Options. (line 502) * mminimal-toc: RS/6000 and PowerPC Options. (line 255) * mminmax: MeP Options. (line 87) ! * mmixed-code: ARC Options. (line 516) * mmma: RS/6000 and PowerPC Options. (line 943) * mmmx: x86 Options. (line 767) *************** look up both forms. *** 62548,62554 **** * mms-bitfields: x86 Options. (line 1099) * mmt: MIPS Options. (line 395) * mmul: RL78 Options. (line 15) ! * mmul-bug-workaround: CRIS Options. (line 31) * mmul.x: Moxie Options. (line 14) * mmul32x16: ARC Options. (line 121) * mmul64: ARC Options. (line 124) --- 62550,62556 ---- * mms-bitfields: x86 Options. (line 1099) * mmt: MIPS Options. (line 395) * mmul: RL78 Options. (line 15) ! * mmul-bug-workaround: CRIS Options. (line 32) * mmul.x: Moxie Options. (line 14) * mmul32x16: ARC Options. (line 121) * mmul64: ARC Options. (line 124) *************** look up both forms. *** 62557,62563 **** (line 377) * mmult: MeP Options. (line 90) * mmult-bug: MN10300 Options. (line 9) ! * mmultcost: ARC Options. (line 576) * mmulti-cond-exec: FRV Options. (line 215) * mmulticore: Blackfin Options. (line 139) * mmultiple: RS/6000 and PowerPC Options. --- 62559,62565 ---- (line 377) * mmult: MeP Options. (line 90) * mmult-bug: MN10300 Options. (line 9) ! * mmultcost: ARC Options. (line 578) * mmulti-cond-exec: FRV Options. (line 215) * mmulticore: Blackfin Options. (line 139) * mmultiple: RS/6000 and PowerPC Options. *************** look up both forms. *** 62570,62576 **** (line 608) * mmwaitx: x86 Options. (line 823) * mn: H8/300 Options. (line 20) ! * mn-flash: AVR Options. (line 222) * mnan=2008: MIPS Options. (line 320) * mnan=legacy: MIPS Options. (line 320) * mneon-for-64bits: ARM Options. (line 912) --- 62572,62578 ---- (line 608) * mmwaitx: x86 Options. (line 823) * mn: H8/300 Options. (line 20) ! * mn-flash: AVR Options. (line 224) * mnan=2008: MIPS Options. (line 320) * mnan=legacy: MIPS Options. (line 320) * mneon-for-64bits: ARM Options. (line 912) *************** look up both forms. *** 62604,62610 **** * mno-bitfield: M680x0 Options. (line 227) * mno-branch-likely: MIPS Options. (line 792) * mno-branch-predict: MMIX Options. (line 48) ! * mno-brcc: ARC Options. (line 442) * mno-bwx: DEC Alpha Options. (line 163) * mno-bypass-cache: Nios II Options. (line 103) * mno-cache-volatile: Nios II Options. (line 109) --- 62606,62612 ---- * mno-bitfield: M680x0 Options. (line 227) * mno-branch-likely: MIPS Options. (line 792) * mno-branch-predict: MMIX Options. (line 48) ! * mno-brcc: ARC Options. (line 444) * mno-bwx: DEC Alpha Options. (line 163) * mno-bypass-cache: Nios II Options. (line 103) * mno-cache-volatile: Nios II Options. (line 109) *************** look up both forms. *** 62617,62626 **** * mno-cmov: NDS32 Options. (line 24) * mno-cmpb: RS/6000 and PowerPC Options. (line 25) ! * mno-cond-exec: ARC Options. (line 456) * mno-cond-exec <1>: FRV Options. (line 194) * mno-cond-move: FRV Options. (line 166) ! * mno-const-align: CRIS Options. (line 54) * mno-const16: Xtensa Options. (line 10) * mno-crc: MIPS Options. (line 416) * mno-crt0: MN10300 Options. (line 43) --- 62619,62628 ---- * mno-cmov: NDS32 Options. (line 24) * mno-cmpb: RS/6000 and PowerPC Options. (line 25) ! * mno-cond-exec: ARC Options. (line 458) * mno-cond-exec <1>: FRV Options. (line 194) * mno-cond-move: FRV Options. (line 166) ! * mno-const-align: CRIS Options. (line 55) * mno-const16: Xtensa Options. (line 10) * mno-crc: MIPS Options. (line 416) * mno-crt0: MN10300 Options. (line 43) *************** look up both forms. *** 62629,62635 **** (line 177) * mno-csync-anomaly: Blackfin Options. (line 63) * mno-custom-INSN: Nios II Options. (line 139) ! * mno-data-align: CRIS Options. (line 54) * mno-debug: S/390 and zSeries Options. (line 144) * mno-default: x86 Options. (line 888) --- 62631,62637 ---- (line 177) * mno-csync-anomaly: Blackfin Options. (line 63) * mno-custom-INSN: Nios II Options. (line 139) ! * mno-data-align: CRIS Options. (line 55) * mno-debug: S/390 and zSeries Options. (line 144) * mno-default: x86 Options. (line 888) *************** look up both forms. *** 62703,62709 **** * mno-gnu-attribute: RS/6000 and PowerPC Options. (line 586) * mno-gnu-ld: IA-64 Options. (line 23) ! * mno-gotplt: CRIS Options. (line 80) * mno-gpopt: MIPS Options. (line 502) * mno-gpopt <1>: Nios II Options. (line 16) * mno-hard-dfp: RS/6000 and PowerPC Options. --- 62705,62711 ---- * mno-gnu-attribute: RS/6000 and PowerPC Options. (line 586) * mno-gnu-ld: IA-64 Options. (line 23) ! * mno-gotplt: CRIS Options. (line 81) * mno-gpopt: MIPS Options. (line 502) * mno-gpopt <1>: Nios II Options. (line 16) * mno-hard-dfp: RS/6000 and PowerPC Options. *************** look up both forms. *** 62729,62735 **** * 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 225) * mno-isel: RS/6000 and PowerPC Options. (line 166) * mno-jsr: RX Options. (line 169) --- 62731,62737 ---- * 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 227) * mno-isel: RS/6000 and PowerPC Options. (line 166) * mno-jsr: RX Options. (line 169) *************** look up both forms. *** 62776,62782 **** * mno-mpy: ARC Options. (line 117) * mno-ms-bitfields: x86 Options. (line 1099) * mno-mt: MIPS Options. (line 395) ! * mno-mul-bug-workaround: CRIS Options. (line 31) * mno-muladd: FRV Options. (line 68) * mno-mulhw: RS/6000 and PowerPC Options. (line 377) --- 62778,62784 ---- * mno-mpy: ARC Options. (line 117) * mno-ms-bitfields: x86 Options. (line 1099) * mno-mt: MIPS Options. (line 395) ! * mno-mul-bug-workaround: CRIS Options. (line 32) * mno-muladd: FRV Options. (line 68) * mno-mulhw: RS/6000 and PowerPC Options. (line 377) *************** look up both forms. *** 62795,62801 **** * mno-packed-stack: S/390 and zSeries Options. (line 54) * mno-paired-single: MIPS Options. (line 370) ! * mno-pc-relative-literal-loads: AArch64 Options. (line 281) * mno-pcrel: RS/6000 and PowerPC Options. (line 931) * mno-pic: IA-64 Options. (line 26) --- 62797,62803 ---- * mno-packed-stack: S/390 and zSeries Options. (line 54) * mno-paired-single: MIPS Options. (line 370) ! * mno-pc-relative-literal-loads: AArch64 Options. (line 282) * mno-pcrel: RS/6000 and PowerPC Options. (line 931) * mno-pic: IA-64 Options. (line 26) *************** look up both forms. *** 62825,62831 **** * mno-prefixed: RS/6000 and PowerPC Options. (line 937) * mno-prolog-function: V850 Options. (line 23) ! * mno-prologue-epilogue: CRIS Options. (line 70) * mno-prototype: RS/6000 and PowerPC Options. (line 592) * mno-push-args: x86 Options. (line 1076) --- 62827,62833 ---- * mno-prefixed: RS/6000 and PowerPC Options. (line 937) * mno-prolog-function: V850 Options. (line 23) ! * mno-prologue-epilogue: CRIS Options. (line 71) * mno-prototype: RS/6000 and PowerPC Options. (line 592) * mno-push-args: x86 Options. (line 1076) *************** look up both forms. *** 62861,62867 **** * mno-sched-prefer-non-control-spec-insns: IA-64 Options. (line 178) * mno-sched-prefer-non-data-spec-insns: IA-64 Options. (line 171) * mno-sched-prolog: ARM Options. (line 32) ! * mno-sdata: ARC Options. (line 420) * mno-sdata <1>: IA-64 Options. (line 42) * mno-sdata <2>: RS/6000 and PowerPC Options. (line 678) --- 62863,62869 ---- * mno-sched-prefer-non-control-spec-insns: IA-64 Options. (line 178) * mno-sched-prefer-non-data-spec-insns: IA-64 Options. (line 171) * mno-sched-prolog: ARM Options. (line 32) ! * mno-sdata: ARC Options. (line 422) * mno-sdata <1>: IA-64 Options. (line 42) * mno-sdata <2>: RS/6000 and PowerPC Options. (line 678) *************** look up both forms. *** 62869,62875 **** * mno-serialize-volatile: Xtensa Options. (line 35) * mno-setlb: MN10300 Options. (line 69) * mno-short: M680x0 Options. (line 222) ! * mno-side-effects: CRIS Options. (line 45) * mno-sim: RX Options. (line 71) * mno-single-exit: MMIX Options. (line 65) * mno-slow-bytes: MCore Options. (line 35) --- 62871,62877 ---- * mno-serialize-volatile: Xtensa Options. (line 35) * mno-setlb: MN10300 Options. (line 69) * mno-short: M680x0 Options. (line 222) ! * mno-side-effects: CRIS Options. (line 46) * mno-sim: RX Options. (line 71) * mno-single-exit: MMIX Options. (line 65) * mno-slow-bytes: MCore Options. (line 35) *************** look up both forms. *** 62884,62890 **** * mno-split-addresses: MIPS Options. (line 555) * mno-split-lohi: Adapteva Epiphany Options. (line 109) ! * mno-stack-align: CRIS Options. (line 54) * mno-stack-bias: SPARC Options. (line 372) * mno-std-struct-return: SPARC Options. (line 102) * mno-strict-align: AArch64 Options. (line 52) --- 62886,62892 ---- * mno-split-addresses: MIPS Options. (line 555) * mno-split-lohi: Adapteva Epiphany Options. (line 109) ! * mno-stack-align: CRIS Options. (line 55) * mno-stack-bias: SPARC Options. (line 372) * mno-std-struct-return: SPARC Options. (line 102) * mno-strict-align: AArch64 Options. (line 52) *************** look up both forms. *** 62925,62931 **** * mno-vis4b: SPARC Options. (line 251) * mno-vliw-branch: FRV Options. (line 208) * mno-volatile-asm-stop: IA-64 Options. (line 32) ! * mno-volatile-cache: ARC Options. (line 429) * mno-vrsave: RS/6000 and PowerPC Options. (line 152) * mno-vsx: RS/6000 and PowerPC Options. --- 62927,62933 ---- * mno-vis4b: SPARC Options. (line 251) * mno-vliw-branch: FRV Options. (line 208) * mno-volatile-asm-stop: IA-64 Options. (line 32) ! * mno-volatile-cache: ARC Options. (line 431) * mno-vrsave: RS/6000 and PowerPC Options. (line 152) * mno-vsx: RS/6000 and PowerPC Options. *************** look up both forms. *** 62963,62969 **** * moptimize: Nvidia PTX Options. (line 22) * moptimize-membar: FRV Options. (line 244) * moptimize-membar <1>: FRV Options. (line 249) ! * moverride: AArch64 Options. (line 268) * MP: Preprocessor Options. (line 132) * mpa-risc-1-0: HPPA Options. (line 19) --- 62965,62971 ---- * moptimize: Nvidia PTX Options. (line 22) * moptimize-membar: FRV Options. (line 244) * moptimize-membar <1>: FRV Options. (line 249) ! * moverride: AArch64 Options. (line 269) * MP: Preprocessor Options. (line 132) * mpa-risc-1-0: HPPA Options. (line 19) *************** look up both forms. *** 62974,62980 **** (line 54) * mpadstruct: SH Options. (line 189) * mpaired-single: MIPS Options. (line 370) ! * mpc-relative-literal-loads: AArch64 Options. (line 281) * mpc32: x86 Options. (line 691) * mpc64: x86 Options. (line 691) * mpc80: x86 Options. (line 691) --- 62976,62982 ---- (line 54) * mpadstruct: SH Options. (line 189) * mpaired-single: MIPS Options. (line 370) ! * mpc-relative-literal-loads: AArch64 Options. (line 282) * mpc32: x86 Options. (line 691) * mpc64: x86 Options. (line 691) * mpc80: x86 Options. (line 691) *************** look up both forms. *** 62983,62989 **** * mpcrel: M680x0 Options. (line 272) * mpcrel <1>: RS/6000 and PowerPC Options. (line 931) ! * mpdebug: CRIS Options. (line 35) * mpe: RS/6000 and PowerPC Options. (line 309) * mpe-aligned-commons: x86 Windows Options. --- 62985,62991 ---- * mpcrel: M680x0 Options. (line 272) * mpcrel <1>: RS/6000 and PowerPC Options. (line 931) ! * mpdebug: CRIS Options. (line 36) * mpe: RS/6000 and PowerPC Options. (line 309) * mpe-aligned-commons: x86 Windows Options. *************** look up both forms. *** 63037,63043 **** * mprioritize-restricted-insns: RS/6000 and PowerPC Options. (line 456) * mprolog-function: V850 Options. (line 23) ! * mprologue-epilogue: CRIS Options. (line 70) * mprototype: RS/6000 and PowerPC Options. (line 592) * mptwrite: x86 Options. (line 793) --- 63039,63045 ---- * mprioritize-restricted-insns: RS/6000 and PowerPC Options. (line 456) * mprolog-function: V850 Options. (line 23) ! * mprologue-epilogue: CRIS Options. (line 71) * mprototype: RS/6000 and PowerPC Options. (line 592) * mptwrite: x86 Options. (line 793) *************** look up both forms. *** 63046,63060 **** * mpushpop: C-SKY Options. (line 114) * MQ: Preprocessor Options. (line 159) ! * mq-class: ARC Options. (line 519) * mquad-memory: RS/6000 and PowerPC Options. (line 202) * mquad-memory-atomic: RS/6000 and PowerPC Options. (line 208) * mr0rel-sec: Nios II Options. (line 76) * mr10k-cache-barrier: MIPS Options. (line 714) ! * mRcq: ARC Options. (line 523) ! * mRcw: ARC Options. (line 527) * mrdpid: x86 Options. (line 801) * mrdrnd: x86 Options. (line 794) * mrdseed: x86 Options. (line 803) --- 63048,63062 ---- * mpushpop: C-SKY Options. (line 114) * MQ: Preprocessor Options. (line 159) ! * mq-class: ARC Options. (line 521) * mquad-memory: RS/6000 and PowerPC Options. (line 202) * mquad-memory-atomic: RS/6000 and PowerPC Options. (line 208) * mr0rel-sec: Nios II Options. (line 76) * mr10k-cache-barrier: MIPS Options. (line 714) ! * mRcq: ARC Options. (line 525) ! * mRcw: ARC Options. (line 529) * mrdpid: x86 Options. (line 801) * mrdrnd: x86 Options. (line 794) * mrdseed: x86 Options. (line 803) *************** look up both forms. *** 63076,63082 **** * mregnames: RS/6000 and PowerPC Options. (line 721) * mregparm: x86 Options. (line 661) ! * mrelax: AVR Options. (line 229) * mrelax <1>: H8/300 Options. (line 9) * mrelax <2>: MN10300 Options. (line 46) * mrelax <3>: MSP430 Options. (line 88) --- 63078,63084 ---- * mregnames: RS/6000 and PowerPC Options. (line 721) * mregparm: x86 Options. (line 661) ! * mrelax: AVR Options. (line 231) * mrelax <1>: H8/300 Options. (line 9) * mrelax <2>: MN10300 Options. (line 46) * mrelax <3>: MSP430 Options. (line 88) *************** look up both forms. *** 63098,63104 **** * mrgf-banked-regs: ARC Options. (line 304) * mrh850-abi: V850 Options. (line 127) * mrl78: RL78 Options. (line 62) ! * mrmw: AVR Options. (line 243) * mror: OpenRISC Options. (line 49) * mrori: OpenRISC Options. (line 54) * mround-nearest: Adapteva Epiphany Options. --- 63100,63106 ---- * mrgf-banked-regs: ARC Options. (line 304) * mrh850-abi: V850 Options. (line 127) * mrl78: RL78 Options. (line 62) ! * mrmw: AVR Options. (line 245) * mror: OpenRISC Options. (line 49) * mrori: OpenRISC Options. (line 54) * mround-nearest: Adapteva Epiphany Options. *************** look up both forms. *** 63146,63152 **** * mscore7: Score Options. (line 31) * mscore7d: Score Options. (line 35) * msda: V850 Options. (line 40) ! * msdata: ARC Options. (line 420) * msdata <1>: IA-64 Options. (line 42) * msdata <2>: RS/6000 and PowerPC Options. (line 665) --- 63148,63154 ---- * mscore7: Score Options. (line 31) * mscore7d: Score Options. (line 35) * msda: V850 Options. (line 40) ! * msdata: ARC Options. (line 422) * msdata <1>: IA-64 Options. (line 42) * msdata <2>: RS/6000 and PowerPC Options. (line 665) *************** look up both forms. *** 63183,63193 **** * mshared-library-id: Blackfin Options. (line 100) * mshftimm: OpenRISC Options. (line 68) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 247) * mshstk: x86 Options. (line 956) ! * mside-effects: CRIS Options. (line 45) * msign-extend-enabled: LM32 Options. (line 18) ! * msign-return-address: AArch64 Options. (line 287) * msilicon-errata: MSP430 Options. (line 144) * msilicon-errata-warn: MSP430 Options. (line 148) * msim: Blackfin Options. (line 36) --- 63185,63195 ---- * mshared-library-id: Blackfin Options. (line 100) * mshftimm: OpenRISC Options. (line 68) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 249) * mshstk: x86 Options. (line 956) ! * mside-effects: CRIS Options. (line 46) * msign-extend-enabled: LM32 Options. (line 18) ! * msign-return-address: AArch64 Options. (line 288) * msilicon-errata: MSP430 Options. (line 144) * msilicon-errata-warn: MSP430 Options. (line 148) * msim: Blackfin Options. (line 36) *************** look up both forms. *** 63211,63217 **** * msingle-pic-base <1>: RS/6000 and PowerPC Options. (line 450) * msio: HPPA Options. (line 105) ! * msize-level: ARC Options. (line 531) * mskip-rax-setup: x86 Options. (line 1333) * mslow-bytes: MCore Options. (line 35) * mslow-flash-data: ARM Options. (line 915) --- 63213,63219 ---- * msingle-pic-base <1>: RS/6000 and PowerPC Options. (line 450) * msio: HPPA Options. (line 105) ! * msize-level: ARC Options. (line 533) * mskip-rax-setup: x86 Options. (line 1333) * mslow-bytes: MCore Options. (line 35) * mslow-flash-data: ARM Options. (line 915) *************** look up both forms. *** 63253,63259 **** * msoft-mul: OpenRISC Options. (line 24) * msoft-quad-float: SPARC Options. (line 59) * msoft-stack: Nvidia PTX Options. (line 26) ! * msp8: AVR Options. (line 254) * mspace: V850 Options. (line 30) * mspace-regs: HPPA Options. (line 45) * mspecld-anomaly: Blackfin Options. (line 48) --- 63255,63261 ---- * msoft-mul: OpenRISC Options. (line 24) * msoft-quad-float: SPARC Options. (line 59) * msoft-stack: Nvidia PTX Options. (line 26) ! * msp8: AVR Options. (line 256) * mspace: V850 Options. (line 30) * mspace-regs: HPPA Options. (line 45) * mspecld-anomaly: Blackfin Options. (line 48) *************** look up both forms. *** 63261,63268 **** * mspfp: ARC Options. (line 132) * mspfp-compact: ARC Options. (line 133) * mspfp-fast: ARC Options. (line 137) ! * mspfp_compact: ARC Options. (line 629) ! * mspfp_fast: ARC Options. (line 632) * msplit: PDP-11 Options. (line 40) * msplit-addresses: MIPS Options. (line 555) * msplit-lohi: Adapteva Epiphany Options. --- 63263,63270 ---- * mspfp: ARC Options. (line 132) * mspfp-compact: ARC Options. (line 133) * mspfp-fast: ARC Options. (line 137) ! * mspfp_compact: ARC Options. (line 634) ! * mspfp_fast: ARC Options. (line 637) * msplit: PDP-11 Options. (line 40) * msplit-addresses: MIPS Options. (line 555) * msplit-lohi: Adapteva Epiphany Options. *************** look up both forms. *** 63279,63285 **** * msse4a: x86 Options. (line 773) * msseregparm: x86 Options. (line 672) * mssse3: x86 Options. (line 771) ! * mstack-align: CRIS Options. (line 54) * mstack-bias: SPARC Options. (line 372) * mstack-check-l1: Blackfin Options. (line 74) * mstack-guard: S/390 and zSeries Options. --- 63281,63287 ---- * msse4a: x86 Options. (line 773) * msseregparm: x86 Options. (line 672) * mssse3: x86 Options. (line 771) ! * mstack-align: CRIS Options. (line 55) * mstack-bias: SPARC Options. (line 372) * mstack-check-l1: Blackfin Options. (line 74) * mstack-guard: S/390 and zSeries Options. *************** look up both forms. *** 63315,63328 **** * mstrict-align <2>: RISC-V Options. (line 93) * mstrict-align <3>: RS/6000 and PowerPC Options. (line 402) ! * mstrict-X: AVR Options. (line 267) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 707) * mstringop-strategy=ALG: x86 Options. (line 1236) * mstructure-size-boundary: ARM Options. (line 734) * msubxc: SPARC Options. (line 288) * msv-mode: Visium Options. (line 52) ! * msve-vector-bits: AArch64 Options. (line 316) * msvr4-struct-return: RS/6000 and PowerPC Options. (line 547) * mswap: ARC Options. (line 152) --- 63317,63330 ---- * mstrict-align <2>: RISC-V Options. (line 93) * mstrict-align <3>: RS/6000 and PowerPC Options. (line 402) ! * mstrict-X: AVR Options. (line 269) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 707) * mstringop-strategy=ALG: x86 Options. (line 1236) * mstructure-size-boundary: ARM Options. (line 734) * msubxc: SPARC Options. (line 288) * msv-mode: Visium Options. (line 52) ! * msve-vector-bits: AArch64 Options. (line 317) * msvr4-struct-return: RS/6000 and PowerPC Options. (line 547) * mswap: ARC Options. (line 152) *************** look up both forms. *** 63346,63352 **** * mthumb: ARM Options. (line 822) * mthumb-interwork: ARM Options. (line 24) * mtiny-printf: MSP430 Options. (line 122) ! * mtiny-stack: AVR Options. (line 281) * mtiny=: MeP Options. (line 125) * mTLS: FRV Options. (line 90) * mtls: FRV Options. (line 94) --- 63348,63354 ---- * mthumb: ARM Options. (line 822) * mthumb-interwork: ARM Options. (line 24) * mtiny-printf: MSP430 Options. (line 122) ! * mtiny-stack: AVR Options. (line 283) * mtiny=: MeP Options. (line 125) * mTLS: FRV Options. (line 90) * mtls: FRV Options. (line 94) *************** look up both forms. *** 63377,63386 **** * mtrust: C-SKY Options. (line 83) * mtune: AArch64 Options. (line 199) * mtune <1>: AMD GCN Options. (line 10) ! * mtune <2>: ARC Options. (line 552) ! * mtune <3>: ARC Options. (line 635) * mtune <4>: ARM Options. (line 571) ! * mtune <5>: CRIS Options. (line 16) * mtune <6>: DEC Alpha Options. (line 259) * mtune <7>: IA-64 Options. (line 116) * mtune <8>: M680x0 Options. (line 68) --- 63379,63388 ---- * mtrust: C-SKY Options. (line 83) * mtune: AArch64 Options. (line 199) * mtune <1>: AMD GCN Options. (line 10) ! * mtune <2>: ARC Options. (line 554) ! * mtune <3>: ARC Options. (line 640) * mtune <4>: ARM Options. (line 571) ! * mtune <5>: CRIS Options. (line 17) * mtune <6>: DEC Alpha Options. (line 259) * mtune <7>: IA-64 Options. (line 116) * mtune <8>: M680x0 Options. (line 68) *************** look up both forms. *** 63397,63410 **** * mtune-ctrl=FEATURE-LIST: x86 Options. (line 879) * muclibc: GNU/Linux Options. (line 14) * muls: Score Options. (line 18) ! * multcost: ARC Options. (line 640) * multcost=NUMBER: SH Options. (line 281) * multilib-library-pic: FRV Options. (line 110) * multiply-enabled: LM32 Options. (line 15) * multiply_defined: Darwin Options. (line 196) * multiply_defined_unused: Darwin Options. (line 196) * multi_module: Darwin Options. (line 196) ! * munalign-prob-threshold: ARC Options. (line 580) * munaligned-access: ARM Options. (line 899) * munaligned-doubles: SPARC Options. (line 73) * municode: x86 Windows Options. --- 63399,63412 ---- * mtune-ctrl=FEATURE-LIST: x86 Options. (line 879) * muclibc: GNU/Linux Options. (line 14) * muls: Score Options. (line 18) ! * multcost: ARC Options. (line 645) * multcost=NUMBER: SH Options. (line 281) * multilib-library-pic: FRV Options. (line 110) * multiply-enabled: LM32 Options. (line 15) * multiply_defined: Darwin Options. (line 196) * multiply_defined_unused: Darwin Options. (line 196) * multi_module: Darwin Options. (line 196) ! * munalign-prob-threshold: ARC Options. (line 582) * munaligned-access: ARM Options. (line 899) * munaligned-doubles: SPARC Options. (line 73) * municode: x86 Windows Options. *************** look up both forms. *** 63438,63444 **** * mvect-double: Adapteva Epiphany Options. (line 115) * mvect8-ret-in-mem: x86 Options. (line 682) ! * mverbose-cost-dump: AArch64 Options. (line 276) * mverbose-cost-dump <1>: ARM Options. (line 939) * mvirt: MIPS Options. (line 407) * mvis: SPARC Options. (line 221) --- 63440,63446 ---- * mvect-double: Adapteva Epiphany Options. (line 115) * mvect8-ret-in-mem: x86 Options. (line 682) ! * mverbose-cost-dump: AArch64 Options. (line 277) * mverbose-cost-dump <1>: ARM Options. (line 939) * mvirt: MIPS Options. (line 407) * mvis: SPARC Options. (line 221) *************** look up both forms. *** 63449,63456 **** * mvliw-branch: FRV Options. (line 201) * mvms-return-codes: VMS Options. (line 9) * mvolatile-asm-stop: IA-64 Options. (line 32) ! * mvolatile-cache: ARC Options. (line 425) ! * mvolatile-cache <1>: ARC Options. (line 429) * mvpclmulqdq: x86 Options. (line 831) * mvr4130-align: MIPS Options. (line 834) * mvrsave: RS/6000 and PowerPC Options. --- 63451,63458 ---- * mvliw-branch: FRV Options. (line 201) * mvms-return-codes: VMS Options. (line 9) * mvolatile-asm-stop: IA-64 Options. (line 32) ! * mvolatile-cache: ARC Options. (line 427) ! * mvolatile-cache <1>: ARC Options. (line 431) * mvpclmulqdq: x86 Options. (line 831) * mvr4130-align: MIPS Options. (line 834) * mvrsave: RS/6000 and PowerPC Options. *************** look up both forms. *** 63511,63524 **** * no-80387: x86 Options. (line 536) * no-canonical-prefixes: Directory Options. (line 164) * no-integrated-cpp: Preprocessor Options. ! (line 480) * no-pie: Link Options. (line 181) * no-sysroot-suffix: Directory Options. (line 183) * noall_load: Darwin Options. (line 196) * nocpp: MIPS Options. (line 636) * nodefaultlibs: Link Options. (line 119) ! * nodevicelib: AVR Options. (line 288) ! * nodevicespecs: AVR Options. (line 291) * nofixprebinding: Darwin Options. (line 196) * nofpu: RX Options. (line 17) * nolibc: Link Options. (line 131) --- 63513,63526 ---- * no-80387: x86 Options. (line 536) * no-canonical-prefixes: Directory Options. (line 164) * no-integrated-cpp: Preprocessor Options. ! (line 482) * no-pie: Link Options. (line 181) * no-sysroot-suffix: Directory Options. (line 183) * noall_load: Darwin Options. (line 196) * nocpp: MIPS Options. (line 636) * nodefaultlibs: Link Options. (line 119) ! * nodevicelib: AVR Options. (line 290) ! * nodevicespecs: AVR Options. (line 293) * nofixprebinding: Darwin Options. (line 196) * nofpu: RX Options. (line 17) * nolibc: Link Options. (line 131) *************** look up both forms. *** 63546,63552 **** * p: Instrumentation Options. (line 20) * P: Preprocessor Options. ! (line 365) * p <1>: Common Function Attributes. (line 696) * pagezero_size: Darwin Options. (line 196) --- 63548,63554 ---- * p: Instrumentation Options. (line 20) * P: Preprocessor Options. ! (line 367) * p <1>: Common Function Attributes. (line 696) * pagezero_size: Darwin Options. (line 196) *************** look up both forms. *** 63596,63602 **** * rdynamic: Link Options. (line 203) * read_only_relocs: Darwin Options. (line 196) * remap: Preprocessor Options. ! (line 396) * S: Overall Options. (line 180) * S <1>: Link Options. (line 20) * s: Link Options. (line 210) --- 63598,63604 ---- * rdynamic: Link Options. (line 203) * read_only_relocs: Darwin Options. (line 196) * remap: Preprocessor Options. ! (line 398) * S: Overall Options. (line 180) * S <1>: Link Options. (line 20) * s: Link Options. (line 210) *************** look up both forms. *** 63621,63628 **** * shared-libgcc: Link Options. (line 227) * short-calls: Adapteva Epiphany Options. (line 61) ! * sim: CRIS Options. (line 94) ! * sim2: CRIS Options. (line 100) * single_module: Darwin Options. (line 196) * specs: Overall Options. (line 353) * static: Link Options. (line 214) --- 63623,63630 ---- * shared-libgcc: Link Options. (line 227) * short-calls: Adapteva Epiphany Options. (line 61) ! * sim: CRIS Options. (line 95) ! * sim2: CRIS Options. (line 101) * single_module: Darwin Options. (line 196) * specs: Overall Options. (line 353) * static: Link Options. (line 214) *************** look up both forms. *** 63650,63661 **** * tno-android-cc: GNU/Linux Options. (line 36) * tno-android-ld: GNU/Linux Options. (line 40) * traditional: Preprocessor Options. ! (line 372) * traditional <1>: Incompatibilities. (line 6) * traditional-cpp: Preprocessor Options. ! (line 372) * trigraphs: Preprocessor Options. ! (line 382) * twolevel_namespace: Darwin Options. (line 196) * U: Preprocessor Options. (line 42) --- 63652,63663 ---- * tno-android-cc: GNU/Linux Options. (line 36) * tno-android-ld: GNU/Linux Options. (line 40) * traditional: Preprocessor Options. ! (line 374) * traditional <1>: Incompatibilities. (line 6) * traditional-cpp: Preprocessor Options. ! (line 374) * trigraphs: Preprocessor Options. ! (line 384) * twolevel_namespace: Darwin Options. (line 196) * U: Preprocessor Options. (line 42) *************** look up both forms. *** 63679,63685 **** * Wabi-tag <1>: C++ Dialect Options. (line 494) * Wabsolute-value: Warning Options. (line 2147) ! * Waddr-space-convert: AVR Options. (line 306) * Waddress: Warning Options. (line 2488) * Waddress-of-packed-member: Warning Options. (line 2501) * Waggregate-return: Warning Options. (line 2529) --- 63681,63687 ---- * Wabi-tag <1>: C++ Dialect Options. (line 494) * Wabsolute-value: Warning Options. (line 2147) ! * Waddr-space-convert: AVR Options. (line 308) * Waddress: Warning Options. (line 2488) * Waddress-of-packed-member: Warning Options. (line 2501) * Waggregate-return: Warning Options. (line 2529) *************** look up both forms. *** 63887,63893 **** * Wmissing-parameter-type: Warning Options. (line 2590) * Wmissing-profile: Warning Options. (line 885) * Wmissing-prototypes: Warning Options. (line 2598) ! * Wmisspelled-isr: AVR Options. (line 311) * Wmultichar: Warning Options. (line 2648) * Wmultiple-inheritance: C++ Dialect Options. (line 878) --- 63889,63895 ---- * Wmissing-parameter-type: Warning Options. (line 2590) * Wmissing-profile: Warning Options. (line 885) * Wmissing-prototypes: Warning Options. (line 2598) ! * Wmisspelled-isr: AVR Options. (line 313) * Wmultichar: Warning Options. (line 2648) * Wmultiple-inheritance: C++ Dialect Options. (line 878) *************** look up both forms. *** 63899,63905 **** * Wnested-externs: Warning Options. (line 2816) * Wno-abi: Warning Options. (line 256) * Wno-absolute-value: Warning Options. (line 2147) ! * Wno-addr-space-convert: AVR Options. (line 306) * Wno-address: Warning Options. (line 2488) * Wno-address-of-packed-member: Warning Options. (line 2501) * Wno-aggregate-return: Warning Options. (line 2529) --- 63901,63907 ---- * Wnested-externs: Warning Options. (line 2816) * Wno-abi: Warning Options. (line 256) * Wno-absolute-value: Warning Options. (line 2147) ! * Wno-addr-space-convert: AVR Options. (line 308) * Wno-address: Warning Options. (line 2488) * Wno-address-of-packed-member: Warning Options. (line 2501) * Wno-aggregate-return: Warning Options. (line 2529) *************** look up both forms. *** 64090,64096 **** * Wno-missing-parameter-type: Warning Options. (line 2590) * Wno-missing-profile: Warning Options. (line 885) * Wno-missing-prototypes: Warning Options. (line 2598) ! * Wno-misspelled-isr: AVR Options. (line 311) * Wno-multichar: Warning Options. (line 2648) * Wno-multiple-inheritance: C++ Dialect Options. (line 878) --- 64092,64098 ---- * Wno-missing-parameter-type: Warning Options. (line 2590) * Wno-missing-profile: Warning Options. (line 885) * Wno-missing-prototypes: Warning Options. (line 2598) ! * Wno-misspelled-isr: AVR Options. (line 313) * Wno-multichar: Warning Options. (line 2648) * Wno-multiple-inheritance: C++ Dialect Options. (line 878) *************** look up both forms. *** 64288,64294 **** * Woverride-init: Warning Options. (line 2726) * Woverride-init-side-effects: Warning Options. (line 2734) * Wp: Preprocessor Options. ! (line 460) * Wpacked: Warning Options. (line 2739) * Wpacked-bitfield-compat: Warning Options. (line 2756) * Wpacked-not-aligned: Warning Options. (line 2773) --- 64290,64296 ---- * Woverride-init: Warning Options. (line 2726) * Woverride-init-side-effects: Warning Options. (line 2734) * Wp: Preprocessor Options. ! (line 462) * Wpacked: Warning Options. (line 2739) * Wpacked-bitfield-compat: Warning Options. (line 2756) * Wpacked-not-aligned: Warning Options. (line 2773) *************** look up both forms. *** 64439,64445 **** * Xbind-now: VxWorks Options. (line 30) * Xlinker: Link Options. (line 317) * Xpreprocessor: Preprocessor Options. ! (line 471) * Ym: System V Options. (line 26) * YP: System V Options. (line 22) * z: Link Options. (line 348) --- 64441,64447 ---- * Xbind-now: VxWorks Options. (line 30) * Xlinker: Link Options. (line 317) * Xpreprocessor: Preprocessor Options. ! (line 473) * Ym: System V Options. (line 26) * YP: System V Options. (line 22) * z: Link Options. (line 348) *************** Keyword Index *** 64470,64477 **** * + in constraint: Modifiers. (line 12) * -lgcc, use with -nodefaultlibs: Link Options. (line 154) * -lgcc, use with -nostdlib: Link Options. (line 154) ! * -march feature modifiers: AArch64 Options. (line 338) ! * -mcpu feature modifiers: AArch64 Options. (line 338) * -nodefaultlibs and unresolved references: Link Options. (line 154) * -nostdlib and unresolved references: Link Options. (line 154) * .sdata/.sdata2 references (PowerPC): RS/6000 and PowerPC Options. --- 64472,64479 ---- * + in constraint: Modifiers. (line 12) * -lgcc, use with -nodefaultlibs: Link Options. (line 154) * -lgcc, use with -nostdlib: Link Options. (line 154) ! * -march feature modifiers: AArch64 Options. (line 339) ! * -mcpu feature modifiers: AArch64 Options. (line 339) * -nodefaultlibs and unresolved references: Link Options. (line 154) * -nostdlib and unresolved references: Link Options. (line 154) * .sdata/.sdata2 references (PowerPC): RS/6000 and PowerPC Options. *************** Keyword Index *** 64902,64908 **** * __far M32C Named Address Spaces: Named Address Spaces. (line 153) * __far RL78 Named Address Spaces: Named Address Spaces. ! (line 161) * __flash AVR Named Address Spaces: Named Address Spaces. (line 44) * __flash1 AVR Named Address Spaces: Named Address Spaces. --- 64904,64910 ---- * __far M32C Named Address Spaces: Named Address Spaces. (line 153) * __far RL78 Named Address Spaces: Named Address Spaces. ! (line 162) * __flash AVR Named Address Spaces: Named Address Spaces. (line 44) * __flash1 AVR Named Address Spaces: Named Address Spaces. *************** Keyword Index *** 64928,64936 **** * __PRETTY_FUNCTION__ identifier: Function Names. (line 6) * __real__ keyword: Complex. (line 31) * __seg_fs x86 named address space: Named Address Spaces. ! (line 174) * __seg_gs x86 named address space: Named Address Spaces. ! (line 174) * __STDC_HOSTED__: Standards. (line 13) * __sync_add_and_fetch: __sync Builtins. (line 72) * __sync_and_and_fetch: __sync Builtins. (line 72) --- 64930,64938 ---- * __PRETTY_FUNCTION__ identifier: Function Names. (line 6) * __real__ keyword: Complex. (line 31) * __seg_fs x86 named address space: Named Address Spaces. ! (line 175) * __seg_gs x86 named address space: Named Address Spaces. ! (line 175) * __STDC_HOSTED__: Standards. (line 13) * __sync_add_and_fetch: __sync Builtins. (line 72) * __sync_and_and_fetch: __sync Builtins. (line 72) *************** Keyword Index *** 65111,65117 **** * C intermediate output, nonexistent: G++ and GCC. (line 34) * C language extensions: C Extensions. (line 6) * C language, traditional: Preprocessor Options. ! (line 370) * C standard: Standards. (line 13) * C standards: Standards. (line 13) * c++: Invoking G++. (line 14) --- 65113,65119 ---- * C intermediate output, nonexistent: G++ and GCC. (line 34) * C language extensions: C Extensions. (line 6) * C language, traditional: Preprocessor Options. ! (line 372) * C standard: Standards. (line 13) * C standards: Standards. (line 13) * c++: Invoking G++. (line 14) *************** Keyword Index *** 65196,65202 **** * character set, execution: Preprocessor Options. (line 270) * character set, input: Preprocessor Options. ! (line 283) * character set, input normalization: Warning Options. (line 2654) * character set, wide execution: Preprocessor Options. (line 275) --- 65198,65204 ---- * character set, execution: Preprocessor Options. (line 270) * character set, input: Preprocessor Options. ! (line 285) * character set, input normalization: Warning Options. (line 2654) * character set, wide execution: Preprocessor Options. (line 275) *************** Keyword Index *** 65331,65343 **** * declaring static data in C++: Static Definitions. (line 6) * defining static data in C++: Static Definitions. (line 6) * dependencies for make as output: Environment Variables. ! (line 155) * dependencies for make as output <1>: Environment Variables. ! (line 171) * dependencies, make: Preprocessor Options. (line 77) * DEPENDENCIES_OUTPUT: Environment Variables. ! (line 154) * dependent name lookup: Name lookup. (line 6) * deprecated enumerator attribute: Enumerator Attributes. (line 28) --- 65333,65345 ---- * declaring static data in C++: Static Definitions. (line 6) * defining static data in C++: Static Definitions. (line 6) * dependencies for make as output: Environment Variables. ! (line 156) * dependencies for make as output <1>: Environment Variables. ! (line 172) * dependencies, make: Preprocessor Options. (line 77) * DEPENDENCIES_OUTPUT: Environment Variables. ! (line 155) * dependent name lookup: Name lookup. (line 6) * deprecated enumerator attribute: Enumerator Attributes. (line 28) *************** Keyword Index *** 65399,65405 **** (line 9) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 9) ! * EIND: AVR Options. (line 317) * either function attribute, MSP430: MSP430 Function Attributes. (line 57) * either variable attribute, MSP430: MSP430 Variable Attributes. --- 65401,65407 ---- (line 9) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 9) ! * EIND: AVR Options. (line 319) * either function attribute, MSP430: MSP430 Function Attributes. (line 57) * either variable attribute, MSP430: MSP430 Variable Attributes. *************** Keyword Index *** 65687,65693 **** * increment operators: Bug Criteria. (line 17) * index: Other Builtins. (line 6) * indirect calls, ARC: ARC Function Attributes. ! (line 26) * indirect calls, ARM: ARM Function Attributes. (line 38) * indirect calls, Blackfin: Blackfin Function Attributes. --- 65689,65695 ---- * increment operators: Bug Criteria. (line 17) * index: Other Builtins. (line 6) * indirect calls, ARC: ARC Function Attributes. ! (line 27) * indirect calls, ARM: ARM Function Attributes. (line 38) * indirect calls, Blackfin: Blackfin Function Attributes. *************** Keyword Index *** 65834,65842 **** * j1f: Other Builtins. (line 6) * j1l: Other Builtins. (line 6) * jli_always function attribute, ARC: ARC Function Attributes. ! (line 43) * jli_fixed function attribute, ARC: ARC Function Attributes. ! (line 49) * jn: Other Builtins. (line 6) * jnf: Other Builtins. (line 6) * jnl: Other Builtins. (line 6) --- 65836,65844 ---- * j1f: Other Builtins. (line 6) * j1l: Other Builtins. (line 6) * jli_always function attribute, ARC: ARC Function Attributes. ! (line 44) * jli_fixed function attribute, ARC: ARC Function Attributes. ! (line 50) * jn: Other Builtins. (line 6) * jnf: Other Builtins. (line 6) * jnl: Other Builtins. (line 6) *************** Keyword Index *** 65953,65959 **** * longjmp incompatibilities: Incompatibilities. (line 39) * longjmp warnings: Warning Options. (line 1284) * long_call function attribute, ARC: ARC Function Attributes. ! (line 26) * long_call function attribute, ARM: ARM Function Attributes. (line 38) * long_call function attribute, Epiphany: Epiphany Function Attributes. --- 65955,65961 ---- * longjmp incompatibilities: Incompatibilities. (line 39) * longjmp warnings: Warning Options. (line 1284) * long_call function attribute, ARC: ARC Function Attributes. ! (line 27) * long_call function attribute, ARM: ARM Function Attributes. (line 38) * long_call function attribute, Epiphany: Epiphany Function Attributes. *************** Keyword Index *** 65995,66001 **** (line 234) * MCore options: MCore Options. (line 6) * medium_call function attribute, ARC: ARC Function Attributes. ! (line 26) * member fns, automatically inline: Inline. (line 68) * memchr: Other Builtins. (line 6) * memcmp: Other Builtins. (line 6) --- 65997,66003 ---- (line 234) * MCore options: MCore Options. (line 6) * medium_call function attribute, ARC: ARC Function Attributes. ! (line 27) * member fns, automatically inline: Inline. (line 68) * memchr: Other Builtins. (line 6) * memcmp: Other Builtins. (line 6) *************** Keyword Index *** 66057,66063 **** * multiprecision arithmetic: Long Long. (line 6) * n in constraint: Simple Constraints. (line 73) * naked function attribute, ARC: ARC Function Attributes. ! (line 58) * naked function attribute, ARM: ARM Function Attributes. (line 48) * naked function attribute, AVR: AVR Function Attributes. --- 66059,66065 ---- * multiprecision arithmetic: Long Long. (line 6) * n in constraint: Simple Constraints. (line 73) * naked function attribute, ARC: ARC Function Attributes. ! (line 59) * naked function attribute, ARM: ARM Function Attributes. (line 48) * naked function attribute, AVR: AVR Function Attributes. *************** Keyword Index *** 66201,66209 **** * omitted middle-operands: Conditionals. (line 6) * open coding: Inline. (line 6) * OpenACC accelerator programming: C Dialect Options. (line 325) ! * OpenACC accelerator programming <1>: C Dialect Options. (line 333) ! * OpenMP parallel: C Dialect Options. (line 339) ! * OpenMP SIMD: C Dialect Options. (line 347) * OpenRISC Options: OpenRISC Options. (line 6) * operand constraints, asm: Constraints. (line 6) * optimize function attribute: Common Function Attributes. --- 66203,66211 ---- * omitted middle-operands: Conditionals. (line 6) * open coding: Inline. (line 6) * OpenACC accelerator programming: C Dialect Options. (line 325) ! * OpenACC accelerator programming <1>: C Dialect Options. (line 334) ! * OpenMP parallel: C Dialect Options. (line 340) ! * OpenMP SIMD: C Dialect Options. (line 349) * OpenRISC Options: OpenRISC Options. (line 6) * operand constraints, asm: Constraints. (line 6) * optimize function attribute: Common Function Attributes. *************** Keyword Index *** 66365,66374 **** * 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 428) ! * RAMPX: AVR Options. (line 428) ! * RAMPY: AVR Options. (line 428) ! * RAMPZ: AVR Options. (line 428) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 92) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. --- 66367,66376 ---- * 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 430) ! * RAMPX: AVR Options. (line 430) ! * RAMPY: AVR Options. (line 430) ! * RAMPZ: AVR Options. (line 430) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 92) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. *************** Keyword Index *** 66476,66482 **** * section variable attribute: Common Variable Attributes. (line 292) * secure_call function attribute, ARC: ARC Function Attributes. ! (line 53) * selectany variable attribute: Microsoft Windows Variable Attributes. (line 16) * sentinel function attribute: Common Function Attributes. --- 66478,66484 ---- * section variable attribute: Common Variable Attributes. (line 292) * secure_call function attribute, ARC: ARC Function Attributes. ! (line 54) * selectany variable attribute: Microsoft Windows Variable Attributes. (line 16) * sentinel function attribute: Common Function Attributes. *************** Keyword Index *** 66494,66500 **** * shortcall function attribute, PowerPC: PowerPC Function Attributes. (line 10) * short_call function attribute, ARC: ARC Function Attributes. ! (line 26) * short_call function attribute, ARM: ARM Function Attributes. (line 38) * short_call function attribute, Epiphany: Epiphany Function Attributes. --- 66496,66502 ---- * shortcall function attribute, PowerPC: PowerPC Function Attributes. (line 10) * short_call function attribute, ARC: ARC Function Attributes. ! (line 27) * short_call function attribute, ARM: ARM Function Attributes. (line 38) * short_call function attribute, Epiphany: Epiphany Function Attributes. *************** Keyword Index *** 66519,66525 **** * significand: Other Builtins. (line 6) * significandf: Other Builtins. (line 6) * significandl: Other Builtins. (line 6) ! * SIMD: C Dialect Options. (line 347) * simd function attribute: Common Function Attributes. (line 1038) * simple constraints: Simple Constraints. (line 6) --- 66521,66527 ---- * significand: Other Builtins. (line 6) * significandf: Other Builtins. (line 6) * significandl: Other Builtins. (line 6) ! * SIMD: C Dialect Options. (line 349) * simd function attribute: Common Function Attributes. (line 1038) * simple constraints: Simple Constraints. (line 6) *************** Keyword Index *** 66540,66546 **** * snprintf: Other Builtins. (line 6) * Solaris 2 options: Solaris 2 Options. (line 6) * SOURCE_DATE_EPOCH: Environment Variables. ! (line 176) * SPARC options: SPARC Options. (line 6) * Spec Files: Spec Files. (line 6) * specified registers: Explicit Register Variables. --- 66542,66548 ---- * snprintf: Other Builtins. (line 6) * Solaris 2 options: Solaris 2 Options. (line 6) * SOURCE_DATE_EPOCH: Environment Variables. ! (line 177) * SPARC options: SPARC Options. (line 6) * Spec Files: Spec Files. (line 6) * specified registers: Explicit Register Variables. *************** Keyword Index *** 66607,66613 **** * subscripting and function values: Subscripting. (line 6) * suffixes for C++ source: Invoking G++. (line 6) * SUNPRO_DEPENDENCIES: Environment Variables. ! (line 170) * suppressing warnings: Warning Options. (line 6) * surprises in C++: C++ Misunderstandings. (line 6) --- 66609,66615 ---- * subscripting and function values: Subscripting. (line 6) * suffixes for C++ source: Invoking G++. (line 6) * SUNPRO_DEPENDENCIES: Environment Variables. ! (line 171) * suppressing warnings: Warning Options. (line 6) * surprises in C++: C++ Misunderstandings. (line 6) *************** Keyword Index *** 66920,66926 **** * towlower: Other Builtins. (line 6) * towupper: Other Builtins. (line 6) * traditional C language: Preprocessor Options. ! (line 370) * transparent_union type attribute: Common Type Attributes. (line 357) * trapa_handler function attribute, SH: SH Function Attributes. --- 66922,66928 ---- * towlower: Other Builtins. (line 6) * towupper: Other Builtins. (line 6) * traditional C language: Preprocessor Options. ! (line 372) * transparent_union type attribute: Common Type Attributes. (line 357) * trapa_handler function attribute, SH: SH Function Attributes. *************** Keyword Index *** 67092,67098 **** * X in constraint: Simple Constraints. (line 122) * X3.159-1989: Standards. (line 13) * x86 named address spaces: Named Address Spaces. ! (line 169) * x86 Options: x86 Options. (line 6) * x86 Windows Options: x86 Windows Options. (line 6) --- 67094,67100 ---- * X in constraint: Simple Constraints. (line 122) * X3.159-1989: Standards. (line 13) * x86 named address spaces: Named Address Spaces. ! (line 170) * x86 Options: x86 Options. (line 6) * x86 Windows Options: x86 Windows Options. (line 6) *************** Keyword Index *** 67117,67547 ****  Tag Table: Node: Top2135 ! Node: G++ and GCC4105 ! Node: Standards6165 ! Node: Invoking GCC19782 ! Node: Option Summary24958 ! Node: Overall Options80110 ! Node: Invoking G++95438 ! Node: C Dialect Options96961 ! Node: C++ Dialect Options116193 ! Node: Objective-C and Objective-C++ Dialect Options165335 ! Node: Diagnostic Message Formatting Options176731 ! Node: Warning Options202452 ! Ref: Wtrigraphs298530 ! Node: Static Analyzer Options334215 ! Node: Debugging Options346924 ! Node: Optimize Options366173 ! Ref: Type-punning435742 ! Node: Instrumentation Options543223 ! Node: Preprocessor Options583639 ! Ref: dashMF588486 ! Ref: fdollars-in-identifiers593065 ! Node: Assembler Options605445 ! Node: Link Options606136 ! Ref: Link Options-Footnote-1623012 ! Node: Directory Options623348 ! Node: Code Gen Options631751 ! Node: Developer Options660116 ! Node: Submodel Options702030 ! Node: AArch64 Options703840 ! Ref: aarch64-feature-modifiers719636 ! Node: Adapteva Epiphany Options724748 ! Node: AMD GCN Options730700 ! Node: ARC Options731594 ! Node: ARM Options752820 ! Node: AVR Options793943 ! Node: Blackfin Options820466 ! Node: C6X Options828358 ! Node: CRIS Options829901 ! Node: CR16 Options833640 ! Node: C-SKY Options834552 ! Node: Darwin Options839412 ! Node: DEC Alpha Options846853 ! Node: eBPF Options858469 ! Node: FR30 Options859751 ! Node: FT32 Options860311 ! Node: FRV Options861257 ! Node: GNU/Linux Options868021 ! Node: H8/300 Options869402 ! Node: HPPA Options870854 ! Node: IA-64 Options880386 ! Node: LM32 Options888514 ! Node: M32C Options889037 ! Node: M32R/D Options890310 ! Node: M680x0 Options893855 ! Node: MCore Options907930 ! Node: MeP Options909432 ! Node: MicroBlaze Options913392 ! Node: MIPS Options916482 ! Node: MMIX Options953021 ! Node: MN10300 Options955498 ! Node: Moxie Options958041 ! Node: MSP430 Options958528 ! Node: NDS32 Options965624 ! Node: Nios II Options967794 ! Node: Nvidia PTX Options979956 ! Node: OpenRISC Options982425 ! Node: PDP-11 Options984945 ! Node: picoChip Options986194 ! Node: PowerPC Options988332 ! Node: PRU Options988552 ! Node: RISC-V Options990761 ! Node: RL78 Options996265 ! Node: RS/6000 and PowerPC Options1000040 ! Node: RX Options1041023 ! Node: S/390 and zSeries Options1049625 ! Node: Score Options1060404 ! Node: SH Options1061253 ! Node: Solaris 2 Options1076393 ! Node: SPARC Options1077631 ! Node: System V Options1093283 ! Node: TILE-Gx Options1094111 ! Node: TILEPro Options1095129 ! Node: V850 Options1095633 ! Node: VAX Options1102320 ! Node: Visium Options1102858 ! Node: VMS Options1105166 ! Node: VxWorks Options1105982 ! Node: x86 Options1107134 ! Node: x86 Windows Options1169887 ! Node: Xstormy16 Options1172692 ! Node: Xtensa Options1172986 ! Node: zSeries Options1178135 ! Node: Spec Files1178331 ! Node: Environment Variables1200490 ! Node: Precompiled Headers1209216 ! Node: C Implementation1215405 ! Node: Translation implementation1217095 ! Node: Environment implementation1217686 ! Node: Identifiers implementation1218240 ! Node: Characters implementation1219326 ! Node: Integers implementation1222976 ! Node: Floating point implementation1225025 ! Node: Arrays and pointers implementation1228088 ! Ref: Arrays and pointers implementation-Footnote-11229548 ! Node: Hints implementation1229674 ! Node: Structures unions enumerations and bit-fields implementation1231169 ! Node: Qualifiers implementation1233393 ! Node: Declarators implementation1235454 ! Node: Statements implementation1235795 ! Node: Preprocessing directives implementation1236121 ! Node: Library functions implementation1238442 ! Node: Architecture implementation1239091 ! Node: Locale-specific behavior implementation1240736 ! Node: C++ Implementation1241041 ! Node: Conditionally-supported behavior1242324 ! Node: Exception handling1242941 ! Node: C Extensions1243408 ! Node: Statement Exprs1248612 ! Node: Local Labels1253984 ! Node: Labels as Values1256957 ! Ref: Labels as Values-Footnote-11259484 ! Node: Nested Functions1259669 ! Node: Nonlocal Gotos1263623 ! Node: Constructing Calls1265889 ! Node: Typeof1270604 ! Node: Conditionals1274533 ! Node: __int1281275422 ! Node: Long Long1275947 ! Node: Complex1277438 ! Node: Floating Types1280206 ! Node: Half-Precision1283673 ! Node: Decimal Float1286084 ! Node: Hex Floats1287938 ! Node: Fixed-Point1289012 ! Node: Named Address Spaces1292270 ! Ref: AVR Named Address Spaces1292951 ! Node: Zero Length1299563 ! Node: Empty Structures1303744 ! Node: Variable Length1304150 ! Node: Variadic Macros1306868 ! Node: Escaped Newlines1309246 ! Node: Subscripting1310107 ! Node: Pointer Arith1310832 ! Node: Variadic Pointer Args1311409 ! Node: Pointers to Arrays1312134 ! Node: Initializers1312887 ! Node: Compound Literals1313388 ! Node: Designated Inits1316955 ! Node: Case Ranges1320879 ! Node: Cast to Union1321560 ! Node: Mixed Declarations1323283 ! Node: Function Attributes1323793 ! Node: Common Function Attributes1328249 ! Node: AArch64 Function Attributes1393353 ! Node: AMD GCN Function Attributes1399547 ! Node: ARC Function Attributes1402600 ! Node: ARM Function Attributes1405537 ! Node: AVR Function Attributes1410676 ! Node: Blackfin Function Attributes1415211 ! Node: BPF Function Attributes1417708 ! Node: CR16 Function Attributes1418296 ! Node: C-SKY Function Attributes1418815 ! Node: Epiphany Function Attributes1420114 ! Node: H8/300 Function Attributes1422869 ! Node: IA-64 Function Attributes1424067 ! Node: M32C Function Attributes1425109 ! Node: M32R/D Function Attributes1427447 ! Node: m68k Function Attributes1428921 ! Node: MCORE Function Attributes1429865 ! Node: MeP Function Attributes1430676 ! Node: MicroBlaze Function Attributes1431977 ! Node: Microsoft Windows Function Attributes1433484 ! Node: MIPS Function Attributes1438053 ! Node: MSP430 Function Attributes1443671 ! Node: NDS32 Function Attributes1447750 ! Node: Nios II Function Attributes1450174 ! Node: Nvidia PTX Function Attributes1451471 ! Node: PowerPC Function Attributes1452086 ! Node: RISC-V Function Attributes1458860 ! Node: RL78 Function Attributes1460276 ! Node: RX Function Attributes1461515 ! Node: S/390 Function Attributes1464062 ! Node: SH Function Attributes1465890 ! Node: Symbian OS Function Attributes1469318 ! Node: V850 Function Attributes1469654 ! Node: Visium Function Attributes1470199 ! Node: x86 Function Attributes1470727 ! Node: Xstormy16 Function Attributes1493216 ! Node: Variable Attributes1493723 ! Node: Common Variable Attributes1495256 ! Node: ARC Variable Attributes1513386 ! Node: AVR Variable Attributes1513768 ! Node: Blackfin Variable Attributes1518930 ! Node: H8/300 Variable Attributes1519788 ! Node: IA-64 Variable Attributes1520861 ! Node: M32R/D Variable Attributes1521612 ! Node: MeP Variable Attributes1522395 ! Node: Microsoft Windows Variable Attributes1524488 ! Node: MSP430 Variable Attributes1526941 ! Node: Nvidia PTX Variable Attributes1528895 ! Node: PowerPC Variable Attributes1529512 ! Node: RL78 Variable Attributes1530069 ! Node: V850 Variable Attributes1530488 ! Node: x86 Variable Attributes1531121 ! Node: Xstormy16 Variable Attributes1532177 ! Node: Type Attributes1532747 ! Node: Common Type Attributes1534411 ! Node: ARC Type Attributes1555904 ! Node: ARM Type Attributes1556376 ! Node: MeP Type Attributes1557158 ! Node: PowerPC Type Attributes1557560 ! Node: x86 Type Attributes1558549 ! Node: Label Attributes1559541 ! Node: Enumerator Attributes1561474 ! Node: Statement Attributes1562793 ! Node: Attribute Syntax1564276 ! Node: Function Prototypes1575534 ! Node: C++ Comments1577314 ! Node: Dollar Signs1577833 ! Node: Character Escapes1578298 ! Node: Alignment1578582 ! Node: Inline1580235 ! Node: Volatiles1585052 ! Node: Using Assembly Language with C1587951 ! Node: Basic Asm1589188 ! Node: Extended Asm1594638 ! Ref: Volatile1598737 ! Ref: AssemblerTemplate1602857 ! Ref: OutputOperands1607097 ! Ref: FlagOutputOperands1614060 ! Ref: InputOperands1617007 ! Ref: Clobbers and Scratch Registers1621275 ! Ref: GotoLabels1629916 ! Ref: x86Operandmodifiers1632051 ! Ref: x86floatingpointasmoperands1635208 ! Node: Constraints1638537 ! Node: Simple Constraints1639643 ! Node: Multi-Alternative1646957 ! Node: Modifiers1648632 ! Node: Machine Constraints1651430 ! Node: Asm Labels1707655 ! Node: Explicit Register Variables1709275 ! Ref: Explicit Reg Vars1709489 ! Node: Global Register Variables1710098 ! Ref: Global Reg Vars1710306 ! Node: Local Register Variables1715088 ! Ref: Local Reg Vars1715308 ! Node: Size of an asm1718936 ! Node: Alternate Keywords1720414 ! Node: Incomplete Enums1721919 ! Node: Function Names1722676 ! Node: Return Address1724580 ! Node: Vector Extensions1729167 ! Node: Offsetof1738932 ! Node: __sync Builtins1739765 ! Node: __atomic Builtins1746208 ! Node: Integer Overflow Builtins1759833 ! Node: x86 specific memory model extensions for transactional memory1766316 ! Node: Object Size Checking1767582 ! Node: Other Builtins1773838 ! Node: Target Builtins1823289 ! Node: AArch64 Built-in Functions1825037 ! Node: Alpha Built-in Functions1825492 ! Node: Altera Nios II Built-in Functions1828540 ! Node: ARC Built-in Functions1832909 ! Node: ARC SIMD Built-in Functions1838121 ! Node: ARM iWMMXt Built-in Functions1847017 ! Node: ARM C Language Extensions (ACLE)1854013 ! Node: ARM Floating Point Status and Control Intrinsics1855290 ! Node: ARM ARMv8-M Security Extensions1855775 ! Node: AVR Built-in Functions1857055 ! Node: Blackfin Built-in Functions1860816 ! Node: BPF Built-in Functions1861434 ! Node: FR-V Built-in Functions1862334 ! Node: Argument Types1863197 ! Node: Directly-mapped Integer Functions1864951 ! Node: Directly-mapped Media Functions1866035 ! Node: Raw read/write Functions1874241 ! Node: Other Built-in Functions1875149 ! Node: MIPS DSP Built-in Functions1876335 ! Node: MIPS Paired-Single Support1888832 ! Node: MIPS Loongson Built-in Functions1890331 ! Node: Paired-Single Arithmetic1896853 ! Node: Paired-Single Built-in Functions1897801 ! Node: MIPS-3D Built-in Functions1900468 ! Node: MIPS SIMD Architecture (MSA) Support1905862 ! Node: MIPS SIMD Architecture Built-in Functions1908702 ! Node: Other MIPS Built-in Functions1935556 ! Node: MSP430 Built-in Functions1936565 ! Node: NDS32 Built-in Functions1937966 ! Node: picoChip Built-in Functions1939259 ! Node: Basic PowerPC Built-in Functions1940608 ! Node: Basic PowerPC Built-in Functions Available on all Configurations1941408 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.051949917 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.061954752 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.071956832 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.01957686 ! Node: PowerPC AltiVec/VSX Built-in Functions1964602 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.051968284 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062057522 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072081967 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02103171 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2138307 ! Node: PowerPC Atomic Memory Operation Functions2146822 ! Node: PowerPC Matrix-Multiply Assist Built-in Functions2149385 ! Node: RISC-V Built-in Functions2155517 ! Node: RX Built-in Functions2155955 ! Node: S/390 System z Built-in Functions2159957 ! Node: SH Built-in Functions2165187 ! Node: SPARC VIS Built-in Functions2166915 ! Node: TI C6X Built-in Functions2175447 ! Node: TILE-Gx Built-in Functions2176478 ! Node: TILEPro Built-in Functions2177597 ! Node: x86 Built-in Functions2178697 ! Node: x86 transactional memory intrinsics2242606 ! Node: x86 control-flow protection intrinsics2245873 ! Node: Target Format Checks2247644 ! Node: Solaris Format Checks2248076 ! Node: Darwin Format Checks2248502 ! Node: Pragmas2249465 ! Node: AArch64 Pragmas2250406 ! Node: ARM Pragmas2250863 ! Node: M32C Pragmas2251490 ! Node: MeP Pragmas2252562 ! Node: PRU Pragmas2254614 ! Node: RS/6000 and PowerPC Pragmas2255192 ! Node: S/390 Pragmas2255932 ! Node: Darwin Pragmas2256498 ! Node: Solaris Pragmas2257551 ! Node: Symbol-Renaming Pragmas2258715 ! Node: Structure-Layout Pragmas2260352 ! Node: Weak Pragmas2262632 ! Node: Diagnostic Pragmas2263367 ! Node: Visibility Pragmas2267558 ! Node: Push/Pop Macro Pragmas2268243 ! Node: Function Specific Option Pragmas2269216 ! Node: Loop-Specific Pragmas2271182 ! Node: Unnamed Fields2272782 ! Node: Thread-Local2274979 ! Node: C99 Thread-Local Edits2277085 ! Node: C++98 Thread-Local Edits2279083 ! Node: Binary constants2282528 ! Node: C++ Extensions2283199 ! Node: C++ Volatiles2284829 ! Node: Restricted Pointers2287177 ! Node: Vague Linkage2288768 ! Node: C++ Interface2292391 ! Ref: C++ Interface-Footnote-12296188 ! Node: Template Instantiation2296326 ! Node: Bound member functions2302417 ! Node: C++ Attributes2303949 ! Node: Function Multiversioning2308021 ! Node: Type Traits2309828 ! Node: C++ Concepts2316778 ! Node: Deprecated Features2318284 ! Node: Backwards Compatibility2320109 ! Node: Objective-C2321181 ! Node: GNU Objective-C runtime API2321788 ! Node: Modern GNU Objective-C runtime API2322795 ! Node: Traditional GNU Objective-C runtime API2325231 ! Node: Executing code before main2325958 ! Node: What you can and what you cannot do in +load2328702 ! Node: Type encoding2331072 ! Node: Legacy type encoding2336213 ! Node: @encode2337303 ! Node: Method signatures2337848 ! Node: Garbage Collection2339840 ! Node: Constant string objects2342530 ! Node: compatibility_alias2345039 ! Node: Exceptions2345764 ! Node: Synchronization2348474 ! Node: Fast enumeration2349658 ! Node: Using fast enumeration2349970 ! Node: c99-like fast enumeration syntax2351181 ! Node: Fast enumeration details2351884 ! Node: Fast enumeration protocol2354224 ! Node: Messaging with the GNU Objective-C runtime2357376 ! Node: Dynamically registering methods2358748 ! Node: Forwarding hook2360439 ! Node: Compatibility2363479 ! Node: Gcov2370035 ! Node: Gcov Intro2370570 ! Node: Invoking Gcov2373288 ! Node: Gcov and Optimization2396123 ! Node: Gcov Data Files2399866 ! Node: Cross-profiling2401275 ! Node: Gcov-tool2403129 ! Node: Gcov-tool Intro2403554 ! Node: Invoking Gcov-tool2405524 ! Node: Gcov-dump2408102 ! Node: Gcov-dump Intro2408425 ! Node: Invoking Gcov-dump2408692 ! Node: lto-dump2409293 ! Node: lto-dump Intro2409592 ! Node: Invoking lto-dump2409842 ! Node: Trouble2410938 ! Node: Actual Bugs2412355 ! Node: Interoperation2412802 ! Node: Incompatibilities2419693 ! Node: Fixed Headers2427845 ! Node: Standard Libraries2429503 ! Node: Disappointments2430875 ! Node: C++ Misunderstandings2435234 ! Node: Static Definitions2436045 ! Node: Name lookup2437098 ! Ref: Name lookup-Footnote-12441879 ! Node: Temporaries2442068 ! Node: Copy Assignment2444044 ! Node: Non-bugs2445879 ! Node: Warnings and Errors2456385 ! Node: Bugs2458147 ! Node: Bug Criteria2458614 ! Node: Bug Reporting2460824 ! Node: Service2461042 ! Node: Contributing2461862 ! Node: Funding2462603 ! Node: GNU Project2465093 ! Node: Copying2465739 ! Node: GNU Free Documentation License2503247 ! Node: Contributors2528365 ! Node: Option Index2569338 ! Node: Keyword Index2848817  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 67119,67544 ----  Tag Table: Node: Top2135 ! Node: G++ and GCC4093 ! Node: Standards6153 ! Node: Invoking GCC19770 ! Node: Option Summary24946 ! Node: Overall Options80098 ! Node: Invoking G++95426 ! Node: C Dialect Options96949 ! Node: C++ Dialect Options116181 ! Node: Objective-C and Objective-C++ Dialect Options165323 ! Node: Diagnostic Message Formatting Options176719 ! Node: Warning Options202440 ! Ref: Wtrigraphs298518 ! Node: Static Analyzer Options334203 ! Node: Debugging Options346912 ! Node: Optimize Options366161 ! Ref: Type-punning435730 ! Node: Instrumentation Options543211 ! Node: Preprocessor Options583627 ! Ref: dashMF588474 ! Ref: fdollars-in-identifiers593053 ! Node: Assembler Options605553 ! Node: Link Options606244 ! Ref: Link Options-Footnote-1623120 ! Node: Directory Options623456 ! Node: Code Gen Options631859 ! Node: Developer Options660224 ! Node: Submodel Options702138 ! Node: AArch64 Options703948 ! Ref: aarch64-feature-modifiers719788 ! Node: Adapteva Epiphany Options724900 ! Node: AMD GCN Options730852 ! Node: ARC Options731746 ! Node: ARM Options752972 ! Node: AVR Options794095 ! Node: Blackfin Options820617 ! Node: C6X Options828509 ! Node: CRIS Options830052 ! Node: CR16 Options833791 ! Node: C-SKY Options834703 ! Node: Darwin Options839563 ! Node: DEC Alpha Options847004 ! Node: eBPF Options858620 ! Node: FR30 Options859902 ! Node: FT32 Options860462 ! Node: FRV Options861408 ! Node: GNU/Linux Options868172 ! Node: H8/300 Options869553 ! Node: HPPA Options871005 ! Node: IA-64 Options880537 ! Node: LM32 Options888665 ! Node: M32C Options889188 ! Node: M32R/D Options890461 ! Node: M680x0 Options894006 ! Node: MCore Options908081 ! Node: MeP Options909583 ! Node: MicroBlaze Options913543 ! Node: MIPS Options916633 ! Node: MMIX Options953172 ! Node: MN10300 Options955649 ! Node: Moxie Options958192 ! Node: MSP430 Options958679 ! Node: NDS32 Options965775 ! Node: Nios II Options967945 ! Node: Nvidia PTX Options980107 ! Node: OpenRISC Options982576 ! Node: PDP-11 Options985096 ! Node: picoChip Options986345 ! Node: PowerPC Options988483 ! Node: PRU Options988703 ! Node: RISC-V Options990912 ! Node: RL78 Options996416 ! Node: RS/6000 and PowerPC Options1000191 ! Node: RX Options1041174 ! Node: S/390 and zSeries Options1049776 ! Node: Score Options1060555 ! Node: SH Options1061404 ! Node: Solaris 2 Options1076544 ! Node: SPARC Options1077782 ! Node: System V Options1093434 ! Node: TILE-Gx Options1094262 ! Node: TILEPro Options1095280 ! Node: V850 Options1095784 ! Node: VAX Options1102471 ! Node: Visium Options1103009 ! Node: VMS Options1105317 ! Node: VxWorks Options1106133 ! Node: x86 Options1107285 ! Node: x86 Windows Options1170034 ! Node: Xstormy16 Options1172839 ! Node: Xtensa Options1173133 ! Node: zSeries Options1178282 ! Node: Spec Files1178478 ! Node: Environment Variables1200637 ! Node: Precompiled Headers1209363 ! Node: C Implementation1215552 ! Node: Translation implementation1217242 ! Node: Environment implementation1217833 ! Node: Identifiers implementation1218387 ! Node: Characters implementation1219473 ! Node: Integers implementation1223123 ! Node: Floating point implementation1225172 ! Node: Arrays and pointers implementation1228235 ! Ref: Arrays and pointers implementation-Footnote-11229695 ! Node: Hints implementation1229821 ! Node: Structures unions enumerations and bit-fields implementation1231316 ! Node: Qualifiers implementation1233540 ! Node: Declarators implementation1235601 ! Node: Statements implementation1235942 ! Node: Preprocessing directives implementation1236268 ! Node: Library functions implementation1238589 ! Node: Architecture implementation1239238 ! Node: Locale-specific behavior implementation1240883 ! Node: C++ Implementation1241188 ! Node: Conditionally-supported behavior1242471 ! Node: Exception handling1243088 ! Node: C Extensions1243555 ! Node: Statement Exprs1248759 ! Node: Local Labels1254131 ! Node: Labels as Values1257104 ! Ref: Labels as Values-Footnote-11259631 ! Node: Nested Functions1259816 ! Node: Nonlocal Gotos1263770 ! Node: Constructing Calls1266036 ! Node: Typeof1270748 ! Node: Conditionals1274677 ! Node: __int1281275566 ! Node: Long Long1276091 ! Node: Complex1277582 ! Node: Floating Types1280350 ! Node: Half-Precision1283817 ! Node: Decimal Float1286228 ! Node: Hex Floats1288082 ! Node: Fixed-Point1289156 ! Node: Named Address Spaces1292414 ! Ref: AVR Named Address Spaces1293095 ! Node: Zero Length1299707 ! Node: Empty Structures1303888 ! Node: Variable Length1304294 ! Node: Variadic Macros1307012 ! Node: Escaped Newlines1309390 ! Node: Subscripting1310251 ! Node: Pointer Arith1310976 ! Node: Variadic Pointer Args1311553 ! Node: Pointers to Arrays1312278 ! Node: Initializers1313031 ! Node: Compound Literals1313532 ! Node: Designated Inits1317099 ! Node: Case Ranges1321023 ! Node: Cast to Union1321704 ! Node: Mixed Declarations1323427 ! Node: Function Attributes1323937 ! Node: Common Function Attributes1328393 ! Node: AArch64 Function Attributes1393497 ! Node: AMD GCN Function Attributes1399691 ! Node: ARC Function Attributes1402744 ! Node: ARM Function Attributes1405681 ! Node: AVR Function Attributes1410820 ! Node: Blackfin Function Attributes1415355 ! Node: BPF Function Attributes1417852 ! Node: CR16 Function Attributes1418440 ! Node: C-SKY Function Attributes1418959 ! Node: Epiphany Function Attributes1420258 ! Node: H8/300 Function Attributes1423013 ! Node: IA-64 Function Attributes1424211 ! Node: M32C Function Attributes1425253 ! Node: M32R/D Function Attributes1427591 ! Node: m68k Function Attributes1429065 ! Node: MCORE Function Attributes1430009 ! Node: MeP Function Attributes1430820 ! Node: MicroBlaze Function Attributes1432121 ! Node: Microsoft Windows Function Attributes1433628 ! Node: MIPS Function Attributes1438197 ! Node: MSP430 Function Attributes1443815 ! Node: NDS32 Function Attributes1447894 ! Node: Nios II Function Attributes1450318 ! Node: Nvidia PTX Function Attributes1451615 ! Node: PowerPC Function Attributes1452230 ! Node: RISC-V Function Attributes1459004 ! Node: RL78 Function Attributes1460420 ! Node: RX Function Attributes1461659 ! Node: S/390 Function Attributes1464206 ! Node: SH Function Attributes1466034 ! Node: Symbian OS Function Attributes1469462 ! Node: V850 Function Attributes1469798 ! Node: Visium Function Attributes1470343 ! Node: x86 Function Attributes1470871 ! Node: Xstormy16 Function Attributes1493360 ! Node: Variable Attributes1493867 ! Node: Common Variable Attributes1495400 ! Node: ARC Variable Attributes1513530 ! Node: AVR Variable Attributes1513912 ! Node: Blackfin Variable Attributes1519074 ! Node: H8/300 Variable Attributes1519932 ! Node: IA-64 Variable Attributes1521005 ! Node: M32R/D Variable Attributes1521756 ! Node: MeP Variable Attributes1522539 ! Node: Microsoft Windows Variable Attributes1524632 ! Node: MSP430 Variable Attributes1527085 ! Node: Nvidia PTX Variable Attributes1529039 ! Node: PowerPC Variable Attributes1529656 ! Node: RL78 Variable Attributes1530213 ! Node: V850 Variable Attributes1530632 ! Node: x86 Variable Attributes1531265 ! Node: Xstormy16 Variable Attributes1532321 ! Node: Type Attributes1532891 ! Node: Common Type Attributes1534555 ! Node: ARC Type Attributes1556048 ! Node: ARM Type Attributes1556520 ! Node: MeP Type Attributes1557302 ! Node: PowerPC Type Attributes1557704 ! Node: x86 Type Attributes1558693 ! Node: Label Attributes1559685 ! Node: Enumerator Attributes1561618 ! Node: Statement Attributes1562937 ! Node: Attribute Syntax1564420 ! Node: Function Prototypes1575678 ! Node: C++ Comments1577458 ! Node: Dollar Signs1577977 ! Node: Character Escapes1578442 ! Node: Alignment1578726 ! Node: Inline1580379 ! Node: Volatiles1585196 ! Node: Using Assembly Language with C1588095 ! Node: Basic Asm1589332 ! Node: Extended Asm1594782 ! Ref: Volatile1598881 ! Ref: AssemblerTemplate1603001 ! Ref: OutputOperands1607241 ! Ref: FlagOutputOperands1614204 ! Ref: InputOperands1617151 ! Ref: Clobbers and Scratch Registers1621419 ! Ref: GotoLabels1630060 ! Ref: x86Operandmodifiers1632195 ! Ref: x86floatingpointasmoperands1635352 ! Node: Constraints1638681 ! Node: Simple Constraints1639787 ! Node: Multi-Alternative1647101 ! Node: Modifiers1648776 ! Node: Machine Constraints1651574 ! Node: Asm Labels1707799 ! Node: Explicit Register Variables1709419 ! Ref: Explicit Reg Vars1709633 ! Node: Global Register Variables1710242 ! Ref: Global Reg Vars1710450 ! Node: Local Register Variables1715232 ! Ref: Local Reg Vars1715452 ! Node: Size of an asm1719080 ! Node: Alternate Keywords1720558 ! Node: Incomplete Enums1722063 ! Node: Function Names1722820 ! Node: Return Address1724724 ! Node: Vector Extensions1729311 ! Node: Offsetof1739076 ! Node: __sync Builtins1739909 ! Node: __atomic Builtins1746352 ! Node: Integer Overflow Builtins1759977 ! Node: x86 specific memory model extensions for transactional memory1766460 ! Node: Object Size Checking1767726 ! Node: Other Builtins1773982 ! Node: Target Builtins1823433 ! Node: AArch64 Built-in Functions1825181 ! Node: Alpha Built-in Functions1825636 ! Node: Altera Nios II Built-in Functions1828684 ! Node: ARC Built-in Functions1833053 ! Node: ARC SIMD Built-in Functions1838265 ! Node: ARM iWMMXt Built-in Functions1847161 ! Node: ARM C Language Extensions (ACLE)1854157 ! Node: ARM Floating Point Status and Control Intrinsics1855434 ! Node: ARM ARMv8-M Security Extensions1855919 ! Node: AVR Built-in Functions1857199 ! Node: Blackfin Built-in Functions1860960 ! Node: BPF Built-in Functions1861578 ! Node: FR-V Built-in Functions1862478 ! Node: Argument Types1863341 ! Node: Directly-mapped Integer Functions1865095 ! Node: Directly-mapped Media Functions1866179 ! Node: Raw read/write Functions1874385 ! Node: Other Built-in Functions1875293 ! Node: MIPS DSP Built-in Functions1876479 ! Node: MIPS Paired-Single Support1888976 ! Node: MIPS Loongson Built-in Functions1890475 ! Node: Paired-Single Arithmetic1896997 ! Node: Paired-Single Built-in Functions1897945 ! Node: MIPS-3D Built-in Functions1900612 ! Node: MIPS SIMD Architecture (MSA) Support1906006 ! Node: MIPS SIMD Architecture Built-in Functions1908846 ! Node: Other MIPS Built-in Functions1935700 ! Node: MSP430 Built-in Functions1936709 ! Node: NDS32 Built-in Functions1938110 ! Node: picoChip Built-in Functions1939403 ! Node: Basic PowerPC Built-in Functions1940752 ! Node: Basic PowerPC Built-in Functions Available on all Configurations1941552 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.051950061 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.061954896 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.071956976 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.01957830 ! Node: PowerPC AltiVec/VSX Built-in Functions1964746 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.051968428 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062057666 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072082111 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02103315 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2138451 ! Node: PowerPC Atomic Memory Operation Functions2146966 ! Node: PowerPC Matrix-Multiply Assist Built-in Functions2149529 ! Node: RISC-V Built-in Functions2155661 ! Node: RX Built-in Functions2156099 ! Node: S/390 System z Built-in Functions2160101 ! Node: SH Built-in Functions2165331 ! Node: SPARC VIS Built-in Functions2167059 ! Node: TI C6X Built-in Functions2175591 ! Node: TILE-Gx Built-in Functions2176622 ! Node: TILEPro Built-in Functions2177741 ! Node: x86 Built-in Functions2178841 ! Node: x86 transactional memory intrinsics2242750 ! Node: x86 control-flow protection intrinsics2246017 ! Node: Target Format Checks2247788 ! Node: Solaris Format Checks2248220 ! Node: Darwin Format Checks2248646 ! Node: Pragmas2249609 ! Node: AArch64 Pragmas2250550 ! Node: ARM Pragmas2251007 ! Node: M32C Pragmas2251634 ! Node: MeP Pragmas2252706 ! Node: PRU Pragmas2254758 ! Node: RS/6000 and PowerPC Pragmas2255336 ! Node: S/390 Pragmas2256076 ! Node: Darwin Pragmas2256642 ! Node: Solaris Pragmas2257695 ! Node: Symbol-Renaming Pragmas2258859 ! Node: Structure-Layout Pragmas2260496 ! Node: Weak Pragmas2262776 ! Node: Diagnostic Pragmas2263511 ! Node: Visibility Pragmas2267702 ! Node: Push/Pop Macro Pragmas2268387 ! Node: Function Specific Option Pragmas2269360 ! Node: Loop-Specific Pragmas2271326 ! Node: Unnamed Fields2272926 ! Node: Thread-Local2275123 ! Node: C99 Thread-Local Edits2277229 ! Node: C++98 Thread-Local Edits2279227 ! Node: Binary constants2282672 ! Node: C++ Extensions2283343 ! Node: C++ Volatiles2284973 ! Node: Restricted Pointers2287321 ! Node: Vague Linkage2288912 ! Node: C++ Interface2292535 ! Ref: C++ Interface-Footnote-12296332 ! Node: Template Instantiation2296470 ! Node: Bound member functions2302561 ! Node: C++ Attributes2304093 ! Node: Function Multiversioning2308165 ! Node: Type Traits2309972 ! Node: C++ Concepts2316922 ! Node: Deprecated Features2318428 ! Node: Backwards Compatibility2320253 ! Node: Objective-C2321325 ! Node: GNU Objective-C runtime API2321932 ! Node: Modern GNU Objective-C runtime API2322939 ! Node: Traditional GNU Objective-C runtime API2325375 ! Node: Executing code before main2326102 ! Node: What you can and what you cannot do in +load2328846 ! Node: Type encoding2331216 ! Node: Legacy type encoding2336357 ! Node: @encode2337447 ! Node: Method signatures2337992 ! Node: Garbage Collection2339984 ! Node: Constant string objects2342674 ! Node: compatibility_alias2345183 ! Node: Exceptions2345908 ! Node: Synchronization2348618 ! Node: Fast enumeration2349802 ! Node: Using fast enumeration2350114 ! Node: c99-like fast enumeration syntax2351325 ! Node: Fast enumeration details2352028 ! Node: Fast enumeration protocol2354368 ! Node: Messaging with the GNU Objective-C runtime2357520 ! Node: Dynamically registering methods2358892 ! Node: Forwarding hook2360583 ! Node: Compatibility2363623 ! Node: Gcov2370179 ! Node: Gcov Intro2370714 ! Node: Invoking Gcov2373432 ! Node: Gcov and Optimization2396267 ! Node: Gcov Data Files2400010 ! Node: Cross-profiling2401419 ! Node: Gcov-tool2403273 ! Node: Gcov-tool Intro2403698 ! Node: Invoking Gcov-tool2405668 ! Node: Gcov-dump2408246 ! Node: Gcov-dump Intro2408569 ! Node: Invoking Gcov-dump2408836 ! Node: lto-dump2409437 ! Node: lto-dump Intro2409736 ! Node: Invoking lto-dump2409986 ! Node: Trouble2411082 ! Node: Actual Bugs2412499 ! Node: Interoperation2412946 ! Node: Incompatibilities2419837 ! Node: Fixed Headers2427989 ! Node: Standard Libraries2429647 ! Node: Disappointments2431019 ! Node: C++ Misunderstandings2435378 ! Node: Static Definitions2436189 ! Node: Name lookup2437242 ! Ref: Name lookup-Footnote-12442023 ! Node: Temporaries2442212 ! Node: Copy Assignment2444188 ! Node: Non-bugs2446023 ! Node: Warnings and Errors2456529 ! Node: Bugs2458291 ! Node: Bug Criteria2458758 ! Node: Bug Reporting2460968 ! Node: Service2461186 ! Node: Contributing2462006 ! Node: Funding2462747 ! Node: GNU Project2465237 ! Node: Copying2465883 ! Node: GNU Free Documentation License2503391 ! Node: Contributors2528509 ! Node: Option Index2569482 ! Node: Keyword Index2848961  End Tag Table diff -Nrcpad gcc-10.4.0/gcc/doc/gccinstall.info gcc-10.5.0/gcc/doc/gccinstall.info *** gcc-10.4.0/gcc/doc/gccinstall.info Tue Jun 28 09:09:20 2022 --- gcc-10.5.0/gcc/doc/gccinstall.info Fri Jul 7 07:19:03 2023 *************** *** 1,4 **** ! This is gccinstall.info, produced by makeinfo version 6.8 from install.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is gccinstall.info, produced by makeinfo version 6.5 from install.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. *************** Concept Index *** 4823,4829 **** * Menu: * Binaries: Binaries. (line 6) ! * build_configargs: Configuration. (line 1702) * Configuration: Configuration. (line 6) * configurations supported by GCC: Configurations. (line 6) * Downloading GCC: Downloading the source. --- 4823,4829 ---- * Menu: * Binaries: Binaries. (line 6) ! * build_configargs: Configuration. (line 1703) * Configuration: Configuration. (line 6) * configurations supported by GCC: Configurations. (line 6) * Downloading GCC: Downloading the source. *************** Concept Index *** 4833,4839 **** * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * Host specific installation: Specific. (line 6) ! * host_configargs: Configuration. (line 1706) * Installing GCC: Binaries: Binaries. (line 6) * Installing GCC: Building: Building. (line 6) * Installing GCC: Configuration: Configuration. (line 6) --- 4833,4839 ---- * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * Host specific installation: Specific. (line 6) ! * host_configargs: Configuration. (line 1707) * Installing GCC: Binaries: Binaries. (line 6) * Installing GCC: Building: Building. (line 6) * Installing GCC: Configuration: Configuration. (line 6) *************** Concept Index *** 4843,4849 **** * Specific installation notes: Specific. (line 6) * Target specific installation: Specific. (line 6) * Target specific installation notes: Specific. (line 6) ! * target_configargs: Configuration. (line 1710) * Testing: Testing. (line 6) * Testsuite: Testing. (line 6) --- 4843,4849 ---- * Specific installation notes: Specific. (line 6) * Target specific installation: Specific. (line 6) * Target specific installation notes: Specific. (line 6) ! * target_configargs: Configuration. (line 1711) * Testing: Testing. (line 6) * Testsuite: Testing. (line 6) *************** Node: GNU Free Documentation License187 *** 4954,4961 **** Node: Concept Index212234  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 4954,4956 ---- diff -Nrcpad gcc-10.4.0/gcc/doc/gccint.info gcc-10.5.0/gcc/doc/gccint.info *** gcc-10.4.0/gcc/doc/gccint.info Tue Jun 28 09:09:30 2022 --- gcc-10.5.0/gcc/doc/gccint.info Fri Jul 7 07:19:08 2023 *************** *** 1,4 **** ! This is gccint.info, produced by makeinfo version 6.8 from gccint.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is gccint.info, produced by makeinfo version 6.5 from gccint.texi. Copyright (C) 1988-2020 Free Software Foundation, Inc. *************** Copies published by the Free Software Fo *** 47,53 **** development.  ! File: gccint.info, Node: Top, Next: Contributing, Up: (dir) Introduction ************ --- 47,53 ---- development.  ! File: gccint.info, Node: Top, Next: Contributing Introduction ************ *************** 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 10.4.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 10.5.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: GIMPLE_CALL, *** 13893,13899 **** call needs no further simplification. All the call flags in 'call_expr' are copied over to the new 'GIMPLE_CALL'. ! -- GIMPLE function: gcall *gimple_build_call_vec (tree fn, vec args) Identical to 'gimple_build_call' but the arguments are stored in a 'vec'. --- 13893,13899 ---- call needs no further simplification. All the call flags in 'call_expr' are copied over to the new 'GIMPLE_CALL'. ! -- GIMPLE function: gcall *gimple_build_call_vec (tree fn, 'vec' args) Identical to 'gimple_build_call' but the arguments are stored in a 'vec'. *************** File: gccint.info, Node: GIMPLE_SWITCH, *** 14700,14706 **** ----------------------- -- GIMPLE function: gswitch *gimple_build_switch (tree index, tree ! default_label, vec *args) Build a 'GIMPLE_SWITCH' statement. 'INDEX' is the index variable to switch on, and 'DEFAULT_LABEL' represents the default label. 'ARGS' is a vector of 'CASE_LABEL_EXPR' trees that contain the --- 14700,14706 ---- ----------------------- -- GIMPLE function: gswitch *gimple_build_switch (tree index, tree ! default_label, 'vec' *args) Build a 'GIMPLE_SWITCH' statement. 'INDEX' is the index variable to switch on, and 'DEFAULT_LABEL' represents the default label. 'ARGS' is a vector of 'CASE_LABEL_EXPR' trees that contain the *************** alphabetical order. *** 47677,47683 **** * Ralf Corsepius for SH testing and minor bug fixing. ! * François-Xavier Coudert for contributions to GNU Fortran. * Stan Cox for care and feeding of the x86 port and lots of behind the scenes hacking. --- 47677,47683 ---- * Ralf Corsepius for SH testing and minor bug fixing. ! * Franc,ois-Xavier Coudert for contributions to GNU Fortran. * Stan Cox for care and feeding of the x86 port and lots of behind the scenes hacking. *************** alphabetical order. *** 47720,47726 **** disbursement, configuration architecture, libio maintenance, and early math work. ! * François Dumont for his work on libstdc++-v3, especially maintaining and improving 'debug-mode' and associative and unordered containers. --- 47720,47726 ---- disbursement, configuration architecture, libio maintenance, and early math work. ! * Franc,ois Dumont for his work on libstdc++-v3, especially maintaining and improving 'debug-mode' and associative and unordered containers. *************** alphabetical order. *** 47979,47991 **** * Weiwen Liu for testing and various bug fixes. ! * Manuel López-Ibáñez for improving '-Wconversion' and many other diagnostics fixes and improvements. * Dave Love for his ongoing work with the Fortran front end and runtime libraries. ! * Martin von Löwis for internal consistency checking infrastructure, various C++ improvements including namespace support, and tons of assistance with libstdc++/compiler merges. --- 47979,47991 ---- * Weiwen Liu for testing and various bug fixes. ! * Manuel Lo'pez-Iba'n~ez for improving '-Wconversion' and many other diagnostics fixes and improvements. * Dave Love for his ongoing work with the Fortran front end and runtime libraries. ! * Martin von Lo"wis for internal consistency checking infrastructure, various C++ improvements including namespace support, and tons of assistance with libstdc++/compiler merges. *************** alphabetical order. *** 48177,48183 **** * Craig Rodrigues for processing tons of bug reports. ! * Ola Rönnerup for work on mt_alloc. * Gavin Romig-Koch for lots of behind the scenes MIPS work. --- 48177,48183 ---- * Craig Rodrigues for processing tons of bug reports. ! * Ola Ro"nnerup for work on mt_alloc. * Gavin Romig-Koch for lots of behind the scenes MIPS work. *************** alphabetical order. *** 48191,48197 **** * Paul Rubin wrote most of the preprocessor. ! * Pétur Runólfsson for major performance improvements in C++ formatted I/O and large file support in C++ filebuf. * Chip Salzenberg for libstdc++ patches and improvements to locales, --- 48191,48197 ---- * Paul Rubin wrote most of the preprocessor. ! * Pe'tur Runo'lfsson for major performance improvements in C++ formatted I/O and large file support in C++ filebuf. * Chip Salzenberg for libstdc++ patches and improvements to locales, *************** alphabetical order. *** 48212,48218 **** * William Schelter did most of the work on the Intel 80386 support. ! * Tobias Schlüter for work on GNU Fortran. * Bernd Schmidt for various code generation improvements and major work in the reload pass, serving as release manager for GCC 2.95.3, --- 48212,48218 ---- * William Schelter did most of the work on the Intel 80386 support. ! * Tobias Schlu"ter for work on GNU Fortran. * Bernd Schmidt for various code generation improvements and major work in the reload pass, serving as release manager for GCC 2.95.3, *************** contributions to testing: *** 48709,48715 **** * Robert A. French ! * Jörgen Freyh * Mark K. Gardner --- 48709,48715 ---- * Robert A. French ! * Jo"rgen Freyh * Mark K. Gardner *************** Concept Index *** 48932,48974 **** * __absvsi2: Integer library routines. (line 105) * __addda3: Fixed-point fractional library routines. ! (line 44) * __adddf3: Soft float library routines. (line 22) * __adddq3: Fixed-point fractional library routines. ! (line 31) * __addha3: Fixed-point fractional library routines. ! (line 41) * __addhq3: Fixed-point fractional library routines. ! (line 29) * __addqq3: Fixed-point fractional library routines. ! (line 27) * __addsa3: Fixed-point fractional library routines. ! (line 43) * __addsf3: Soft float library routines. (line 21) * __addsq3: Fixed-point fractional library routines. ! (line 30) * __addta3: Fixed-point fractional library routines. ! (line 45) * __addtf3: Soft float library routines. (line 23) * __adduda3: Fixed-point fractional library routines. ! (line 51) * __addudq3: Fixed-point fractional library routines. - (line 39) - * __adduha3: Fixed-point fractional library routines. (line 47) * __adduhq3: Fixed-point fractional library routines. ! (line 35) * __adduqq3: Fixed-point fractional library routines. ! (line 33) * __addusa3: Fixed-point fractional library routines. ! (line 49) * __addusq3: Fixed-point fractional library routines. ! (line 37) * __adduta3: Fixed-point fractional library routines. ! (line 53) * __addvdi3: Integer library routines. (line 110) * __addvsi3: Integer library routines. --- 48932,48974 ---- * __absvsi2: Integer library routines. (line 105) * __addda3: Fixed-point fractional library routines. ! (line 52) * __adddf3: Soft float library routines. (line 22) * __adddq3: Fixed-point fractional library routines. ! (line 39) * __addha3: Fixed-point fractional library routines. ! (line 49) * __addhq3: Fixed-point fractional library routines. ! (line 37) * __addqq3: Fixed-point fractional library routines. ! (line 35) * __addsa3: Fixed-point fractional library routines. ! (line 51) * __addsf3: Soft float library routines. (line 21) * __addsq3: Fixed-point fractional library routines. ! (line 38) * __addta3: Fixed-point fractional library routines. ! (line 53) * __addtf3: Soft float library routines. (line 23) * __adduda3: Fixed-point fractional library routines. ! (line 59) * __addudq3: Fixed-point fractional library routines. (line 47) + * __adduha3: Fixed-point fractional library routines. + (line 55) * __adduhq3: Fixed-point fractional library routines. ! (line 43) * __adduqq3: Fixed-point fractional library routines. ! (line 41) * __addusa3: Fixed-point fractional library routines. ! (line 57) * __addusq3: Fixed-point fractional library routines. ! (line 45) * __adduta3: Fixed-point fractional library routines. ! (line 61) * __addvdi3: Integer library routines. (line 110) * __addvsi3: Integer library routines. *************** Concept Index *** 48976,49038 **** * __addxf3: Soft float library routines. (line 25) * __ashlda3: Fixed-point fractional library routines. ! (line 350) * __ashldi3: Integer library routines. (line 13) * __ashldq3: Fixed-point fractional library routines. ! (line 338) * __ashlha3: Fixed-point fractional library routines. ! (line 348) * __ashlhq3: Fixed-point fractional library routines. ! (line 336) * __ashlqq3: Fixed-point fractional library routines. ! (line 335) * __ashlsa3: Fixed-point fractional library routines. ! (line 349) * __ashlsi3: Integer library routines. (line 12) * __ashlsq3: Fixed-point fractional library routines. ! (line 337) * __ashlta3: Fixed-point fractional library routines. ! (line 351) * __ashlti3: Integer library routines. (line 14) * __ashluda3: Fixed-point fractional library routines. ! (line 357) * __ashludq3: Fixed-point fractional library routines. ! (line 346) * __ashluha3: Fixed-point fractional library routines. ! (line 353) * __ashluhq3: Fixed-point fractional library routines. ! (line 342) * __ashluqq3: Fixed-point fractional library routines. ! (line 340) * __ashlusa3: Fixed-point fractional library routines. ! (line 355) * __ashlusq3: Fixed-point fractional library routines. ! (line 344) * __ashluta3: Fixed-point fractional library routines. ! (line 359) * __ashrda3: Fixed-point fractional library routines. ! (line 370) * __ashrdi3: Integer library routines. (line 18) * __ashrdq3: Fixed-point fractional library routines. ! (line 366) * __ashrha3: Fixed-point fractional library routines. ! (line 368) * __ashrhq3: Fixed-point fractional library routines. ! (line 364) * __ashrqq3: Fixed-point fractional library routines. ! (line 363) * __ashrsa3: Fixed-point fractional library routines. ! (line 369) * __ashrsi3: Integer library routines. (line 17) * __ashrsq3: Fixed-point fractional library routines. ! (line 365) * __ashrta3: Fixed-point fractional library routines. ! (line 371) * __ashrti3: Integer library routines. (line 19) * __bid_adddd3: Decimal float library routines. --- 48976,49038 ---- * __addxf3: Soft float library routines. (line 25) * __ashlda3: Fixed-point fractional library routines. ! (line 358) * __ashldi3: Integer library routines. (line 13) * __ashldq3: Fixed-point fractional library routines. ! (line 346) * __ashlha3: Fixed-point fractional library routines. ! (line 356) * __ashlhq3: Fixed-point fractional library routines. ! (line 344) * __ashlqq3: Fixed-point fractional library routines. ! (line 343) * __ashlsa3: Fixed-point fractional library routines. ! (line 357) * __ashlsi3: Integer library routines. (line 12) * __ashlsq3: Fixed-point fractional library routines. ! (line 345) * __ashlta3: Fixed-point fractional library routines. ! (line 359) * __ashlti3: Integer library routines. (line 14) * __ashluda3: Fixed-point fractional library routines. ! (line 365) * __ashludq3: Fixed-point fractional library routines. ! (line 354) * __ashluha3: Fixed-point fractional library routines. ! (line 361) * __ashluhq3: Fixed-point fractional library routines. ! (line 350) * __ashluqq3: Fixed-point fractional library routines. ! (line 348) * __ashlusa3: Fixed-point fractional library routines. ! (line 363) * __ashlusq3: Fixed-point fractional library routines. ! (line 352) * __ashluta3: Fixed-point fractional library routines. ! (line 367) * __ashrda3: Fixed-point fractional library routines. ! (line 378) * __ashrdi3: Integer library routines. (line 18) * __ashrdq3: Fixed-point fractional library routines. ! (line 374) * __ashrha3: Fixed-point fractional library routines. ! (line 376) * __ashrhq3: Fixed-point fractional library routines. ! (line 372) * __ashrqq3: Fixed-point fractional library routines. ! (line 371) * __ashrsa3: Fixed-point fractional library routines. ! (line 377) * __ashrsi3: Integer library routines. (line 17) * __ashrsq3: Fixed-point fractional library routines. ! (line 373) * __ashrta3: Fixed-point fractional library routines. ! (line 379) * __ashrti3: Integer library routines. (line 19) * __bid_adddd3: Decimal float library routines. *************** Concept Index *** 49231,49277 **** * __clzti2: Integer library routines. (line 131) * __cmpda2: Fixed-point fractional library routines. ! (line 450) * __cmpdf2: Soft float library routines. (line 163) * __cmpdi2: Integer library routines. (line 86) * __cmpdq2: Fixed-point fractional library routines. ! (line 439) * __cmpha2: Fixed-point fractional library routines. ! (line 448) * __cmphq2: Fixed-point fractional library routines. ! (line 437) * __cmpqq2: Fixed-point fractional library routines. ! (line 436) * __cmpsa2: Fixed-point fractional library routines. ! (line 449) * __cmpsf2: Soft float library routines. (line 162) * __cmpsq2: Fixed-point fractional library routines. ! (line 438) * __cmpta2: Fixed-point fractional library routines. ! (line 451) * __cmptf2: Soft float library routines. (line 164) * __cmpti2: Integer library routines. (line 87) * __cmpuda2: Fixed-point fractional library routines. ! (line 456) * __cmpudq2: Fixed-point fractional library routines. ! (line 446) * __cmpuha2: Fixed-point fractional library routines. ! (line 453) * __cmpuhq2: Fixed-point fractional library routines. ! (line 443) * __cmpuqq2: Fixed-point fractional library routines. ! (line 441) * __cmpusa2: Fixed-point fractional library routines. ! (line 455) * __cmpusq2: Fixed-point fractional library routines. ! (line 444) * __cmputa2: Fixed-point fractional library routines. ! (line 458) * __CTOR_LIST__: Initialization. (line 25) * __ctzdi2: Integer library routines. (line 137) --- 49231,49277 ---- * __clzti2: Integer library routines. (line 131) * __cmpda2: Fixed-point fractional library routines. ! (line 458) * __cmpdf2: Soft float library routines. (line 163) * __cmpdi2: Integer library routines. (line 86) * __cmpdq2: Fixed-point fractional library routines. ! (line 447) * __cmpha2: Fixed-point fractional library routines. ! (line 456) * __cmphq2: Fixed-point fractional library routines. ! (line 445) * __cmpqq2: Fixed-point fractional library routines. ! (line 444) * __cmpsa2: Fixed-point fractional library routines. ! (line 457) * __cmpsf2: Soft float library routines. (line 162) * __cmpsq2: Fixed-point fractional library routines. ! (line 446) * __cmpta2: Fixed-point fractional library routines. ! (line 459) * __cmptf2: Soft float library routines. (line 164) * __cmpti2: Integer library routines. (line 87) * __cmpuda2: Fixed-point fractional library routines. ! (line 464) * __cmpudq2: Fixed-point fractional library routines. ! (line 454) * __cmpuha2: Fixed-point fractional library routines. ! (line 461) * __cmpuhq2: Fixed-point fractional library routines. ! (line 451) * __cmpuqq2: Fixed-point fractional library routines. ! (line 449) * __cmpusa2: Fixed-point fractional library routines. ! (line 463) * __cmpusq2: Fixed-point fractional library routines. ! (line 452) * __cmputa2: Fixed-point fractional library routines. ! (line 466) * __CTOR_LIST__: Initialization. (line 25) * __ctzdi2: Integer library routines. (line 137) *************** Concept Index *** 49280,49286 **** * __ctzti2: Integer library routines. (line 138) * __divda3: Fixed-point fractional library routines. ! (line 226) * __divdc3: Soft float library routines. (line 250) * __divdf3: Soft float library routines. --- 49280,49286 ---- * __ctzti2: Integer library routines. (line 138) * __divda3: Fixed-point fractional library routines. ! (line 234) * __divdc3: Soft float library routines. (line 250) * __divdf3: Soft float library routines. *************** Concept Index *** 49288,49302 **** * __divdi3: Integer library routines. (line 24) * __divdq3: Fixed-point fractional library routines. ! (line 221) * __divha3: Fixed-point fractional library routines. ! (line 223) * __divhq3: Fixed-point fractional library routines. ! (line 219) * __divqq3: Fixed-point fractional library routines. - (line 217) - * __divsa3: Fixed-point fractional library routines. (line 225) * __divsc3: Soft float library routines. (line 248) * __divsf3: Soft float library routines. --- 49288,49302 ---- * __divdi3: Integer library routines. (line 24) * __divdq3: Fixed-point fractional library routines. ! (line 229) * __divha3: Fixed-point fractional library routines. ! (line 231) * __divhq3: Fixed-point fractional library routines. ! (line 227) * __divqq3: Fixed-point fractional library routines. (line 225) + * __divsa3: Fixed-point fractional library routines. + (line 233) * __divsc3: Soft float library routines. (line 248) * __divsf3: Soft float library routines. *************** Concept Index *** 49304,49312 **** * __divsi3: Integer library routines. (line 23) * __divsq3: Fixed-point fractional library routines. ! (line 220) * __divta3: Fixed-point fractional library routines. ! (line 227) * __divtc3: Soft float library routines. (line 252) * __divtf3: Soft float library routines. --- 49304,49312 ---- * __divsi3: Integer library routines. (line 23) * __divsq3: Fixed-point fractional library routines. ! (line 228) * __divta3: Fixed-point fractional library routines. ! (line 235) * __divtc3: Soft float library routines. (line 252) * __divtf3: Soft float library routines. *************** Concept Index *** 49615,50867 **** * __floatuntixf: Soft float library routines. (line 153) * __fractdadf: Fixed-point fractional library routines. ! (line 635) * __fractdadi: Fixed-point fractional library routines. ! (line 632) * __fractdadq: Fixed-point fractional library routines. ! (line 615) * __fractdaha2: Fixed-point fractional library routines. ! (line 616) * __fractdahi: Fixed-point fractional library routines. ! (line 630) * __fractdahq: Fixed-point fractional library routines. ! (line 613) * __fractdaqi: Fixed-point fractional library routines. ! (line 629) * __fractdaqq: Fixed-point fractional library routines. ! (line 612) * __fractdasa2: Fixed-point fractional library routines. ! (line 617) * __fractdasf: Fixed-point fractional library routines. ! (line 634) * __fractdasi: Fixed-point fractional library routines. ! (line 631) * __fractdasq: Fixed-point fractional library routines. ! (line 614) * __fractdata2: Fixed-point fractional library routines. ! (line 618) * __fractdati: Fixed-point fractional library routines. ! (line 633) * __fractdauda: Fixed-point fractional library routines. ! (line 626) * __fractdaudq: Fixed-point fractional library routines. ! (line 622) * __fractdauha: Fixed-point fractional library routines. ! (line 624) * __fractdauhq: Fixed-point fractional library routines. ! (line 620) * __fractdauqq: Fixed-point fractional library routines. ! (line 619) * __fractdausa: Fixed-point fractional library routines. ! (line 625) * __fractdausq: Fixed-point fractional library routines. ! (line 621) * __fractdauta: Fixed-point fractional library routines. ! (line 627) * __fractdfda: Fixed-point fractional library routines. ! (line 1024) * __fractdfdq: Fixed-point fractional library routines. ! (line 1021) * __fractdfha: Fixed-point fractional library routines. ! (line 1022) * __fractdfhq: Fixed-point fractional library routines. ! (line 1019) * __fractdfqq: Fixed-point fractional library routines. ! (line 1018) * __fractdfsa: Fixed-point fractional library routines. ! (line 1023) * __fractdfsq: Fixed-point fractional library routines. ! (line 1020) * __fractdfta: Fixed-point fractional library routines. ! (line 1025) * __fractdfuda: Fixed-point fractional library routines. ! (line 1032) * __fractdfudq: Fixed-point fractional library routines. ! (line 1029) * __fractdfuha: Fixed-point fractional library routines. ! (line 1030) * __fractdfuhq: Fixed-point fractional library routines. ! (line 1027) * __fractdfuqq: Fixed-point fractional library routines. ! (line 1026) * __fractdfusa: Fixed-point fractional library routines. ! (line 1031) * __fractdfusq: Fixed-point fractional library routines. ! (line 1028) * __fractdfuta: Fixed-point fractional library routines. ! (line 1033) * __fractdida: Fixed-point fractional library routines. ! (line 974) * __fractdidq: Fixed-point fractional library routines. ! (line 971) * __fractdiha: Fixed-point fractional library routines. ! (line 972) * __fractdihq: Fixed-point fractional library routines. ! (line 969) * __fractdiqq: Fixed-point fractional library routines. ! (line 968) * __fractdisa: Fixed-point fractional library routines. ! (line 973) * __fractdisq: Fixed-point fractional library routines. ! (line 970) * __fractdita: Fixed-point fractional library routines. ! (line 975) * __fractdiuda: Fixed-point fractional library routines. ! (line 982) * __fractdiudq: Fixed-point fractional library routines. ! (line 979) * __fractdiuha: Fixed-point fractional library routines. ! (line 980) * __fractdiuhq: Fixed-point fractional library routines. ! (line 977) * __fractdiuqq: Fixed-point fractional library routines. ! (line 976) * __fractdiusa: Fixed-point fractional library routines. ! (line 981) * __fractdiusq: Fixed-point fractional library routines. ! (line 978) * __fractdiuta: Fixed-point fractional library routines. ! (line 983) * __fractdqda: Fixed-point fractional library routines. ! (line 543) * __fractdqdf: Fixed-point fractional library routines. ! (line 565) * __fractdqdi: Fixed-point fractional library routines. ! (line 562) * __fractdqha: Fixed-point fractional library routines. ! (line 541) * __fractdqhi: Fixed-point fractional library routines. ! (line 560) * __fractdqhq2: Fixed-point fractional library routines. ! (line 539) * __fractdqqi: Fixed-point fractional library routines. ! (line 559) * __fractdqqq2: Fixed-point fractional library routines. ! (line 538) * __fractdqsa: Fixed-point fractional library routines. ! (line 542) * __fractdqsf: Fixed-point fractional library routines. ! (line 564) * __fractdqsi: Fixed-point fractional library routines. ! (line 561) * __fractdqsq2: Fixed-point fractional library routines. ! (line 540) * __fractdqta: Fixed-point fractional library routines. ! (line 544) * __fractdqti: Fixed-point fractional library routines. ! (line 563) * __fractdquda: Fixed-point fractional library routines. ! (line 555) * __fractdqudq: Fixed-point fractional library routines. ! (line 550) * __fractdquha: Fixed-point fractional library routines. ! (line 552) * __fractdquhq: Fixed-point fractional library routines. ! (line 547) * __fractdquqq: Fixed-point fractional library routines. ! (line 545) * __fractdqusa: Fixed-point fractional library routines. ! (line 554) * __fractdqusq: Fixed-point fractional library routines. ! (line 548) * __fractdquta: Fixed-point fractional library routines. ! (line 557) * __fracthada2: Fixed-point fractional library routines. ! (line 571) * __fracthadf: Fixed-point fractional library routines. ! (line 589) * __fracthadi: Fixed-point fractional library routines. ! (line 586) * __fracthadq: Fixed-point fractional library routines. ! (line 569) * __fracthahi: Fixed-point fractional library routines. ! (line 584) * __fracthahq: Fixed-point fractional library routines. ! (line 567) * __fracthaqi: Fixed-point fractional library routines. ! (line 583) * __fracthaqq: Fixed-point fractional library routines. ! (line 566) * __fracthasa2: Fixed-point fractional library routines. ! (line 570) * __fracthasf: Fixed-point fractional library routines. ! (line 588) * __fracthasi: Fixed-point fractional library routines. ! (line 585) * __fracthasq: Fixed-point fractional library routines. ! (line 568) * __fracthata2: Fixed-point fractional library routines. ! (line 572) * __fracthati: Fixed-point fractional library routines. ! (line 587) * __fracthauda: Fixed-point fractional library routines. ! (line 580) * __fracthaudq: Fixed-point fractional library routines. ! (line 576) * __fracthauha: Fixed-point fractional library routines. ! (line 578) * __fracthauhq: Fixed-point fractional library routines. ! (line 574) * __fracthauqq: Fixed-point fractional library routines. ! (line 573) * __fracthausa: Fixed-point fractional library routines. ! (line 579) * __fracthausq: Fixed-point fractional library routines. ! (line 575) * __fracthauta: Fixed-point fractional library routines. ! (line 581) * __fracthida: Fixed-point fractional library routines. ! (line 942) * __fracthidq: Fixed-point fractional library routines. ! (line 939) * __fracthiha: Fixed-point fractional library routines. ! (line 940) * __fracthihq: Fixed-point fractional library routines. ! (line 937) * __fracthiqq: Fixed-point fractional library routines. ! (line 936) * __fracthisa: Fixed-point fractional library routines. ! (line 941) * __fracthisq: Fixed-point fractional library routines. ! (line 938) * __fracthita: Fixed-point fractional library routines. ! (line 943) * __fracthiuda: Fixed-point fractional library routines. ! (line 950) * __fracthiudq: Fixed-point fractional library routines. ! (line 947) * __fracthiuha: Fixed-point fractional library routines. ! (line 948) * __fracthiuhq: Fixed-point fractional library routines. ! (line 945) * __fracthiuqq: Fixed-point fractional library routines. ! (line 944) * __fracthiusa: Fixed-point fractional library routines. ! (line 949) * __fracthiusq: Fixed-point fractional library routines. ! (line 946) * __fracthiuta: Fixed-point fractional library routines. ! (line 951) * __fracthqda: Fixed-point fractional library routines. ! (line 497) * __fracthqdf: Fixed-point fractional library routines. ! (line 513) * __fracthqdi: Fixed-point fractional library routines. ! (line 510) * __fracthqdq2: Fixed-point fractional library routines. ! (line 494) * __fracthqha: Fixed-point fractional library routines. ! (line 495) * __fracthqhi: Fixed-point fractional library routines. ! (line 508) * __fracthqqi: Fixed-point fractional library routines. ! (line 507) * __fracthqqq2: Fixed-point fractional library routines. ! (line 492) * __fracthqsa: Fixed-point fractional library routines. ! (line 496) * __fracthqsf: Fixed-point fractional library routines. ! (line 512) * __fracthqsi: Fixed-point fractional library routines. ! (line 509) * __fracthqsq2: Fixed-point fractional library routines. ! (line 493) * __fracthqta: Fixed-point fractional library routines. ! (line 498) * __fracthqti: Fixed-point fractional library routines. ! (line 511) * __fracthquda: Fixed-point fractional library routines. ! (line 505) * __fracthqudq: Fixed-point fractional library routines. ! (line 502) * __fracthquha: Fixed-point fractional library routines. ! (line 503) * __fracthquhq: Fixed-point fractional library routines. ! (line 500) * __fracthquqq: Fixed-point fractional library routines. ! (line 499) * __fracthqusa: Fixed-point fractional library routines. ! (line 504) * __fracthqusq: Fixed-point fractional library routines. ! (line 501) * __fracthquta: Fixed-point fractional library routines. ! (line 506) * __fractqida: Fixed-point fractional library routines. ! (line 924) * __fractqidq: Fixed-point fractional library routines. ! (line 921) * __fractqiha: Fixed-point fractional library routines. ! (line 922) * __fractqihq: Fixed-point fractional library routines. ! (line 919) * __fractqiqq: Fixed-point fractional library routines. ! (line 918) * __fractqisa: Fixed-point fractional library routines. ! (line 923) * __fractqisq: Fixed-point fractional library routines. ! (line 920) * __fractqita: Fixed-point fractional library routines. - (line 925) - * __fractqiuda: Fixed-point fractional library routines. (line 933) * __fractqiudq: Fixed-point fractional library routines. ! (line 929) * __fractqiuha: Fixed-point fractional library routines. ! (line 931) * __fractqiuhq: Fixed-point fractional library routines. ! (line 927) * __fractqiuqq: Fixed-point fractional library routines. ! (line 926) * __fractqiusa: Fixed-point fractional library routines. ! (line 932) * __fractqiusq: Fixed-point fractional library routines. ! (line 928) * __fractqiuta: Fixed-point fractional library routines. ! (line 934) * __fractqqda: Fixed-point fractional library routines. ! (line 473) * __fractqqdf: Fixed-point fractional library routines. ! (line 491) * __fractqqdi: Fixed-point fractional library routines. ! (line 488) * __fractqqdq2: Fixed-point fractional library routines. ! (line 470) * __fractqqha: Fixed-point fractional library routines. ! (line 471) * __fractqqhi: Fixed-point fractional library routines. ! (line 486) * __fractqqhq2: Fixed-point fractional library routines. ! (line 468) * __fractqqqi: Fixed-point fractional library routines. ! (line 485) * __fractqqsa: Fixed-point fractional library routines. ! (line 472) * __fractqqsf: Fixed-point fractional library routines. ! (line 490) * __fractqqsi: Fixed-point fractional library routines. ! (line 487) * __fractqqsq2: Fixed-point fractional library routines. ! (line 469) * __fractqqta: Fixed-point fractional library routines. ! (line 474) * __fractqqti: Fixed-point fractional library routines. ! (line 489) * __fractqquda: Fixed-point fractional library routines. ! (line 482) * __fractqqudq: Fixed-point fractional library routines. ! (line 478) * __fractqquha: Fixed-point fractional library routines. ! (line 480) * __fractqquhq: Fixed-point fractional library routines. ! (line 476) * __fractqquqq: Fixed-point fractional library routines. ! (line 475) * __fractqqusa: Fixed-point fractional library routines. ! (line 481) * __fractqqusq: Fixed-point fractional library routines. ! (line 477) * __fractqquta: Fixed-point fractional library routines. ! (line 483) * __fractsada2: Fixed-point fractional library routines. ! (line 595) * __fractsadf: Fixed-point fractional library routines. ! (line 611) * __fractsadi: Fixed-point fractional library routines. ! (line 608) * __fractsadq: Fixed-point fractional library routines. ! (line 593) * __fractsaha2: Fixed-point fractional library routines. ! (line 594) * __fractsahi: Fixed-point fractional library routines. ! (line 606) * __fractsahq: Fixed-point fractional library routines. ! (line 591) * __fractsaqi: Fixed-point fractional library routines. ! (line 605) * __fractsaqq: Fixed-point fractional library routines. ! (line 590) * __fractsasf: Fixed-point fractional library routines. ! (line 610) * __fractsasi: Fixed-point fractional library routines. ! (line 607) * __fractsasq: Fixed-point fractional library routines. ! (line 592) * __fractsata2: Fixed-point fractional library routines. ! (line 596) * __fractsati: Fixed-point fractional library routines. ! (line 609) * __fractsauda: Fixed-point fractional library routines. ! (line 603) * __fractsaudq: Fixed-point fractional library routines. ! (line 600) * __fractsauha: Fixed-point fractional library routines. ! (line 601) * __fractsauhq: Fixed-point fractional library routines. ! (line 598) * __fractsauqq: Fixed-point fractional library routines. ! (line 597) * __fractsausa: Fixed-point fractional library routines. ! (line 602) * __fractsausq: Fixed-point fractional library routines. ! (line 599) * __fractsauta: Fixed-point fractional library routines. ! (line 604) * __fractsfda: Fixed-point fractional library routines. ! (line 1008) * __fractsfdq: Fixed-point fractional library routines. ! (line 1005) * __fractsfha: Fixed-point fractional library routines. ! (line 1006) * __fractsfhq: Fixed-point fractional library routines. ! (line 1003) * __fractsfqq: Fixed-point fractional library routines. ! (line 1002) * __fractsfsa: Fixed-point fractional library routines. ! (line 1007) * __fractsfsq: Fixed-point fractional library routines. ! (line 1004) * __fractsfta: Fixed-point fractional library routines. ! (line 1009) * __fractsfuda: Fixed-point fractional library routines. ! (line 1016) * __fractsfudq: Fixed-point fractional library routines. ! (line 1013) * __fractsfuha: Fixed-point fractional library routines. ! (line 1014) * __fractsfuhq: Fixed-point fractional library routines. ! (line 1011) * __fractsfuqq: Fixed-point fractional library routines. ! (line 1010) * __fractsfusa: Fixed-point fractional library routines. ! (line 1015) * __fractsfusq: Fixed-point fractional library routines. ! (line 1012) * __fractsfuta: Fixed-point fractional library routines. ! (line 1017) * __fractsida: Fixed-point fractional library routines. ! (line 958) * __fractsidq: Fixed-point fractional library routines. ! (line 955) * __fractsiha: Fixed-point fractional library routines. ! (line 956) * __fractsihq: Fixed-point fractional library routines. ! (line 953) * __fractsiqq: Fixed-point fractional library routines. ! (line 952) * __fractsisa: Fixed-point fractional library routines. ! (line 957) * __fractsisq: Fixed-point fractional library routines. ! (line 954) * __fractsita: Fixed-point fractional library routines. ! (line 959) * __fractsiuda: Fixed-point fractional library routines. ! (line 966) * __fractsiudq: Fixed-point fractional library routines. ! (line 963) * __fractsiuha: Fixed-point fractional library routines. ! (line 964) * __fractsiuhq: Fixed-point fractional library routines. ! (line 961) * __fractsiuqq: Fixed-point fractional library routines. ! (line 960) * __fractsiusa: Fixed-point fractional library routines. ! (line 965) * __fractsiusq: Fixed-point fractional library routines. ! (line 962) * __fractsiuta: Fixed-point fractional library routines. ! (line 967) * __fractsqda: Fixed-point fractional library routines. ! (line 519) * __fractsqdf: Fixed-point fractional library routines. ! (line 537) * __fractsqdi: Fixed-point fractional library routines. ! (line 534) * __fractsqdq2: Fixed-point fractional library routines. ! (line 516) * __fractsqha: Fixed-point fractional library routines. ! (line 517) * __fractsqhi: Fixed-point fractional library routines. ! (line 532) * __fractsqhq2: Fixed-point fractional library routines. ! (line 515) * __fractsqqi: Fixed-point fractional library routines. ! (line 531) * __fractsqqq2: Fixed-point fractional library routines. ! (line 514) * __fractsqsa: Fixed-point fractional library routines. ! (line 518) * __fractsqsf: Fixed-point fractional library routines. ! (line 536) * __fractsqsi: Fixed-point fractional library routines. ! (line 533) * __fractsqta: Fixed-point fractional library routines. ! (line 520) * __fractsqti: Fixed-point fractional library routines. ! (line 535) * __fractsquda: Fixed-point fractional library routines. ! (line 528) * __fractsqudq: Fixed-point fractional library routines. ! (line 524) * __fractsquha: Fixed-point fractional library routines. ! (line 526) * __fractsquhq: Fixed-point fractional library routines. ! (line 522) * __fractsquqq: Fixed-point fractional library routines. ! (line 521) * __fractsqusa: Fixed-point fractional library routines. ! (line 527) * __fractsqusq: Fixed-point fractional library routines. ! (line 523) * __fractsquta: Fixed-point fractional library routines. ! (line 529) * __fracttada2: Fixed-point fractional library routines. ! (line 642) * __fracttadf: Fixed-point fractional library routines. ! (line 663) * __fracttadi: Fixed-point fractional library routines. ! (line 660) * __fracttadq: Fixed-point fractional library routines. ! (line 639) * __fracttaha2: Fixed-point fractional library routines. ! (line 640) * __fracttahi: Fixed-point fractional library routines. ! (line 658) * __fracttahq: Fixed-point fractional library routines. ! (line 637) * __fracttaqi: Fixed-point fractional library routines. ! (line 657) * __fracttaqq: Fixed-point fractional library routines. ! (line 636) * __fracttasa2: Fixed-point fractional library routines. ! (line 641) * __fracttasf: Fixed-point fractional library routines. ! (line 662) * __fracttasi: Fixed-point fractional library routines. ! (line 659) * __fracttasq: Fixed-point fractional library routines. ! (line 638) * __fracttati: Fixed-point fractional library routines. ! (line 661) * __fracttauda: Fixed-point fractional library routines. ! (line 653) * __fracttaudq: Fixed-point fractional library routines. ! (line 648) * __fracttauha: Fixed-point fractional library routines. ! (line 650) * __fracttauhq: Fixed-point fractional library routines. ! (line 645) * __fracttauqq: Fixed-point fractional library routines. ! (line 643) * __fracttausa: Fixed-point fractional library routines. ! (line 652) * __fracttausq: Fixed-point fractional library routines. ! (line 646) * __fracttauta: Fixed-point fractional library routines. ! (line 655) * __fracttida: Fixed-point fractional library routines. ! (line 990) * __fracttidq: Fixed-point fractional library routines. ! (line 987) * __fracttiha: Fixed-point fractional library routines. ! (line 988) * __fracttihq: Fixed-point fractional library routines. ! (line 985) * __fracttiqq: Fixed-point fractional library routines. ! (line 984) * __fracttisa: Fixed-point fractional library routines. ! (line 989) * __fracttisq: Fixed-point fractional library routines. ! (line 986) * __fracttita: Fixed-point fractional library routines. - (line 991) - * __fracttiuda: Fixed-point fractional library routines. (line 999) * __fracttiudq: Fixed-point fractional library routines. ! (line 995) * __fracttiuha: Fixed-point fractional library routines. ! (line 997) * __fracttiuhq: Fixed-point fractional library routines. ! (line 993) * __fracttiuqq: Fixed-point fractional library routines. ! (line 992) * __fracttiusa: Fixed-point fractional library routines. ! (line 998) * __fracttiusq: Fixed-point fractional library routines. ! (line 994) * __fracttiuta: Fixed-point fractional library routines. ! (line 1000) * __fractudada: Fixed-point fractional library routines. ! (line 857) * __fractudadf: Fixed-point fractional library routines. ! (line 880) * __fractudadi: Fixed-point fractional library routines. ! (line 877) * __fractudadq: Fixed-point fractional library routines. ! (line 853) * __fractudaha: Fixed-point fractional library routines. ! (line 855) * __fractudahi: Fixed-point fractional library routines. ! (line 875) * __fractudahq: Fixed-point fractional library routines. ! (line 851) * __fractudaqi: Fixed-point fractional library routines. ! (line 874) * __fractudaqq: Fixed-point fractional library routines. ! (line 850) * __fractudasa: Fixed-point fractional library routines. ! (line 856) * __fractudasf: Fixed-point fractional library routines. ! (line 879) * __fractudasi: Fixed-point fractional library routines. ! (line 876) * __fractudasq: Fixed-point fractional library routines. ! (line 852) * __fractudata: Fixed-point fractional library routines. ! (line 858) * __fractudati: Fixed-point fractional library routines. ! (line 878) * __fractudaudq: Fixed-point fractional library routines. ! (line 866) * __fractudauha2: Fixed-point fractional library routines. ! (line 868) * __fractudauhq: Fixed-point fractional library routines. ! (line 862) * __fractudauqq: Fixed-point fractional library routines. ! (line 860) * __fractudausa2: Fixed-point fractional library routines. ! (line 870) * __fractudausq: Fixed-point fractional library routines. - (line 864) - * __fractudauta2: Fixed-point fractional library routines. (line 872) * __fractudqda: Fixed-point fractional library routines. ! (line 764) * __fractudqdf: Fixed-point fractional library routines. ! (line 790) * __fractudqdi: Fixed-point fractional library routines. ! (line 786) * __fractudqdq: Fixed-point fractional library routines. ! (line 759) * __fractudqha: Fixed-point fractional library routines. ! (line 761) * __fractudqhi: Fixed-point fractional library routines. ! (line 784) * __fractudqhq: Fixed-point fractional library routines. ! (line 756) * __fractudqqi: Fixed-point fractional library routines. ! (line 782) * __fractudqqq: Fixed-point fractional library routines. ! (line 754) * __fractudqsa: Fixed-point fractional library routines. ! (line 763) * __fractudqsf: Fixed-point fractional library routines. ! (line 789) * __fractudqsi: Fixed-point fractional library routines. ! (line 785) * __fractudqsq: Fixed-point fractional library routines. ! (line 757) * __fractudqta: Fixed-point fractional library routines. ! (line 766) * __fractudqti: Fixed-point fractional library routines. ! (line 787) * __fractudquda: Fixed-point fractional library routines. ! (line 778) * __fractudquha: Fixed-point fractional library routines. ! (line 774) * __fractudquhq2: Fixed-point fractional library routines. ! (line 770) * __fractudquqq2: Fixed-point fractional library routines. - (line 768) - * __fractudqusa: Fixed-point fractional library routines. (line 776) * __fractudqusq2: Fixed-point fractional library routines. - (line 772) - * __fractudquta: Fixed-point fractional library routines. (line 780) * __fractuhada: Fixed-point fractional library routines. ! (line 798) * __fractuhadf: Fixed-point fractional library routines. ! (line 821) * __fractuhadi: Fixed-point fractional library routines. ! (line 818) * __fractuhadq: Fixed-point fractional library routines. ! (line 794) * __fractuhaha: Fixed-point fractional library routines. ! (line 796) * __fractuhahi: Fixed-point fractional library routines. ! (line 816) * __fractuhahq: Fixed-point fractional library routines. ! (line 792) * __fractuhaqi: Fixed-point fractional library routines. ! (line 815) * __fractuhaqq: Fixed-point fractional library routines. ! (line 791) * __fractuhasa: Fixed-point fractional library routines. ! (line 797) * __fractuhasf: Fixed-point fractional library routines. ! (line 820) * __fractuhasi: Fixed-point fractional library routines. ! (line 817) * __fractuhasq: Fixed-point fractional library routines. ! (line 793) * __fractuhata: Fixed-point fractional library routines. ! (line 799) * __fractuhati: Fixed-point fractional library routines. ! (line 819) * __fractuhauda2: Fixed-point fractional library routines. ! (line 811) * __fractuhaudq: Fixed-point fractional library routines. ! (line 807) * __fractuhauhq: Fixed-point fractional library routines. ! (line 803) * __fractuhauqq: Fixed-point fractional library routines. - (line 801) - * __fractuhausa2: Fixed-point fractional library routines. (line 809) * __fractuhausq: Fixed-point fractional library routines. - (line 805) - * __fractuhauta2: Fixed-point fractional library routines. (line 813) * __fractuhqda: Fixed-point fractional library routines. ! (line 701) * __fractuhqdf: Fixed-point fractional library routines. ! (line 722) * __fractuhqdi: Fixed-point fractional library routines. ! (line 719) * __fractuhqdq: Fixed-point fractional library routines. ! (line 698) * __fractuhqha: Fixed-point fractional library routines. ! (line 699) * __fractuhqhi: Fixed-point fractional library routines. ! (line 717) * __fractuhqhq: Fixed-point fractional library routines. ! (line 696) * __fractuhqqi: Fixed-point fractional library routines. ! (line 716) * __fractuhqqq: Fixed-point fractional library routines. ! (line 695) * __fractuhqsa: Fixed-point fractional library routines. ! (line 700) * __fractuhqsf: Fixed-point fractional library routines. ! (line 721) * __fractuhqsi: Fixed-point fractional library routines. ! (line 718) * __fractuhqsq: Fixed-point fractional library routines. ! (line 697) * __fractuhqta: Fixed-point fractional library routines. ! (line 702) * __fractuhqti: Fixed-point fractional library routines. ! (line 720) * __fractuhquda: Fixed-point fractional library routines. ! (line 712) * __fractuhqudq2: Fixed-point fractional library routines. ! (line 707) * __fractuhquha: Fixed-point fractional library routines. ! (line 709) * __fractuhquqq2: Fixed-point fractional library routines. - (line 703) - * __fractuhqusa: Fixed-point fractional library routines. (line 711) * __fractuhqusq2: Fixed-point fractional library routines. ! (line 705) * __fractuhquta: Fixed-point fractional library routines. ! (line 714) * __fractunsdadi: Fixed-point fractional library routines. ! (line 1554) * __fractunsdahi: Fixed-point fractional library routines. ! (line 1552) * __fractunsdaqi: Fixed-point fractional library routines. ! (line 1551) * __fractunsdasi: Fixed-point fractional library routines. ! (line 1553) * __fractunsdati: Fixed-point fractional library routines. ! (line 1555) * __fractunsdida: Fixed-point fractional library routines. ! (line 1706) * __fractunsdidq: Fixed-point fractional library routines. ! (line 1703) * __fractunsdiha: Fixed-point fractional library routines. ! (line 1704) * __fractunsdihq: Fixed-point fractional library routines. ! (line 1701) * __fractunsdiqq: Fixed-point fractional library routines. ! (line 1700) * __fractunsdisa: Fixed-point fractional library routines. ! (line 1705) * __fractunsdisq: Fixed-point fractional library routines. ! (line 1702) * __fractunsdita: Fixed-point fractional library routines. ! (line 1707) * __fractunsdiuda: Fixed-point fractional library routines. ! (line 1718) * __fractunsdiudq: Fixed-point fractional library routines. ! (line 1713) * __fractunsdiuha: Fixed-point fractional library routines. ! (line 1715) * __fractunsdiuhq: Fixed-point fractional library routines. ! (line 1710) * __fractunsdiuqq: Fixed-point fractional library routines. ! (line 1708) * __fractunsdiusa: Fixed-point fractional library routines. ! (line 1717) * __fractunsdiusq: Fixed-point fractional library routines. ! (line 1711) * __fractunsdiuta: Fixed-point fractional library routines. ! (line 1720) * __fractunsdqdi: Fixed-point fractional library routines. ! (line 1538) * __fractunsdqhi: Fixed-point fractional library routines. ! (line 1536) * __fractunsdqqi: Fixed-point fractional library routines. ! (line 1535) * __fractunsdqsi: Fixed-point fractional library routines. ! (line 1537) * __fractunsdqti: Fixed-point fractional library routines. ! (line 1539) * __fractunshadi: Fixed-point fractional library routines. ! (line 1544) * __fractunshahi: Fixed-point fractional library routines. ! (line 1542) * __fractunshaqi: Fixed-point fractional library routines. ! (line 1541) * __fractunshasi: Fixed-point fractional library routines. ! (line 1543) * __fractunshati: Fixed-point fractional library routines. ! (line 1545) * __fractunshida: Fixed-point fractional library routines. ! (line 1662) * __fractunshidq: Fixed-point fractional library routines. ! (line 1659) * __fractunshiha: Fixed-point fractional library routines. ! (line 1660) * __fractunshihq: Fixed-point fractional library routines. ! (line 1657) * __fractunshiqq: Fixed-point fractional library routines. ! (line 1656) * __fractunshisa: Fixed-point fractional library routines. ! (line 1661) * __fractunshisq: Fixed-point fractional library routines. ! (line 1658) * __fractunshita: Fixed-point fractional library routines. ! (line 1663) * __fractunshiuda: Fixed-point fractional library routines. ! (line 1674) * __fractunshiudq: Fixed-point fractional library routines. ! (line 1669) * __fractunshiuha: Fixed-point fractional library routines. ! (line 1671) * __fractunshiuhq: Fixed-point fractional library routines. ! (line 1666) * __fractunshiuqq: Fixed-point fractional library routines. ! (line 1664) * __fractunshiusa: Fixed-point fractional library routines. ! (line 1673) * __fractunshiusq: Fixed-point fractional library routines. ! (line 1667) * __fractunshiuta: Fixed-point fractional library routines. ! (line 1676) * __fractunshqdi: Fixed-point fractional library routines. ! (line 1528) * __fractunshqhi: Fixed-point fractional library routines. ! (line 1526) * __fractunshqqi: Fixed-point fractional library routines. ! (line 1525) * __fractunshqsi: Fixed-point fractional library routines. ! (line 1527) * __fractunshqti: Fixed-point fractional library routines. ! (line 1529) * __fractunsqida: Fixed-point fractional library routines. ! (line 1640) * __fractunsqidq: Fixed-point fractional library routines. ! (line 1637) * __fractunsqiha: Fixed-point fractional library routines. ! (line 1638) * __fractunsqihq: Fixed-point fractional library routines. ! (line 1635) * __fractunsqiqq: Fixed-point fractional library routines. ! (line 1634) * __fractunsqisa: Fixed-point fractional library routines. ! (line 1639) * __fractunsqisq: Fixed-point fractional library routines. ! (line 1636) * __fractunsqita: Fixed-point fractional library routines. ! (line 1641) * __fractunsqiuda: Fixed-point fractional library routines. ! (line 1652) * __fractunsqiudq: Fixed-point fractional library routines. ! (line 1647) * __fractunsqiuha: Fixed-point fractional library routines. ! (line 1649) * __fractunsqiuhq: Fixed-point fractional library routines. ! (line 1644) * __fractunsqiuqq: Fixed-point fractional library routines. ! (line 1642) * __fractunsqiusa: Fixed-point fractional library routines. ! (line 1651) * __fractunsqiusq: Fixed-point fractional library routines. ! (line 1645) * __fractunsqiuta: Fixed-point fractional library routines. ! (line 1654) * __fractunsqqdi: Fixed-point fractional library routines. ! (line 1523) * __fractunsqqhi: Fixed-point fractional library routines. ! (line 1521) * __fractunsqqqi: Fixed-point fractional library routines. ! (line 1520) * __fractunsqqsi: Fixed-point fractional library routines. ! (line 1522) * __fractunsqqti: Fixed-point fractional library routines. ! (line 1524) * __fractunssadi: Fixed-point fractional library routines. ! (line 1549) * __fractunssahi: Fixed-point fractional library routines. ! (line 1547) * __fractunssaqi: Fixed-point fractional library routines. ! (line 1546) * __fractunssasi: Fixed-point fractional library routines. ! (line 1548) * __fractunssati: Fixed-point fractional library routines. ! (line 1550) * __fractunssida: Fixed-point fractional library routines. ! (line 1684) * __fractunssidq: Fixed-point fractional library routines. ! (line 1681) * __fractunssiha: Fixed-point fractional library routines. ! (line 1682) * __fractunssihq: Fixed-point fractional library routines. ! (line 1679) * __fractunssiqq: Fixed-point fractional library routines. ! (line 1678) * __fractunssisa: Fixed-point fractional library routines. ! (line 1683) * __fractunssisq: Fixed-point fractional library routines. ! (line 1680) * __fractunssita: Fixed-point fractional library routines. ! (line 1685) * __fractunssiuda: Fixed-point fractional library routines. ! (line 1696) * __fractunssiudq: Fixed-point fractional library routines. ! (line 1691) * __fractunssiuha: Fixed-point fractional library routines. ! (line 1693) * __fractunssiuhq: Fixed-point fractional library routines. ! (line 1688) * __fractunssiuqq: Fixed-point fractional library routines. ! (line 1686) * __fractunssiusa: Fixed-point fractional library routines. ! (line 1695) * __fractunssiusq: Fixed-point fractional library routines. ! (line 1689) * __fractunssiuta: Fixed-point fractional library routines. ! (line 1698) * __fractunssqdi: Fixed-point fractional library routines. ! (line 1533) * __fractunssqhi: Fixed-point fractional library routines. ! (line 1531) * __fractunssqqi: Fixed-point fractional library routines. ! (line 1530) * __fractunssqsi: Fixed-point fractional library routines. ! (line 1532) * __fractunssqti: Fixed-point fractional library routines. ! (line 1534) * __fractunstadi: Fixed-point fractional library routines. ! (line 1559) * __fractunstahi: Fixed-point fractional library routines. ! (line 1557) * __fractunstaqi: Fixed-point fractional library routines. ! (line 1556) * __fractunstasi: Fixed-point fractional library routines. ! (line 1558) * __fractunstati: Fixed-point fractional library routines. ! (line 1560) * __fractunstida: Fixed-point fractional library routines. ! (line 1729) * __fractunstidq: Fixed-point fractional library routines. ! (line 1725) * __fractunstiha: Fixed-point fractional library routines. ! (line 1727) * __fractunstihq: Fixed-point fractional library routines. ! (line 1723) * __fractunstiqq: Fixed-point fractional library routines. ! (line 1722) * __fractunstisa: Fixed-point fractional library routines. ! (line 1728) * __fractunstisq: Fixed-point fractional library routines. ! (line 1724) * __fractunstita: Fixed-point fractional library routines. ! (line 1730) * __fractunstiuda: Fixed-point fractional library routines. ! (line 1744) * __fractunstiudq: Fixed-point fractional library routines. ! (line 1738) * __fractunstiuha: Fixed-point fractional library routines. ! (line 1740) * __fractunstiuhq: Fixed-point fractional library routines. ! (line 1734) * __fractunstiuqq: Fixed-point fractional library routines. ! (line 1732) * __fractunstiusa: Fixed-point fractional library routines. ! (line 1742) * __fractunstiusq: Fixed-point fractional library routines. ! (line 1736) * __fractunstiuta: Fixed-point fractional library routines. ! (line 1746) * __fractunsudadi: Fixed-point fractional library routines. ! (line 1620) * __fractunsudahi: Fixed-point fractional library routines. ! (line 1616) * __fractunsudaqi: Fixed-point fractional library routines. ! (line 1614) * __fractunsudasi: Fixed-point fractional library routines. ! (line 1618) * __fractunsudati: Fixed-point fractional library routines. ! (line 1622) * __fractunsudqdi: Fixed-point fractional library routines. ! (line 1594) * __fractunsudqhi: Fixed-point fractional library routines. ! (line 1590) * __fractunsudqqi: Fixed-point fractional library routines. ! (line 1588) * __fractunsudqsi: Fixed-point fractional library routines. ! (line 1592) * __fractunsudqti: Fixed-point fractional library routines. - (line 1596) - * __fractunsuhadi: Fixed-point fractional library routines. (line 1604) * __fractunsuhahi: Fixed-point fractional library routines. ! (line 1600) * __fractunsuhaqi: Fixed-point fractional library routines. ! (line 1598) * __fractunsuhasi: Fixed-point fractional library routines. ! (line 1602) * __fractunsuhati: Fixed-point fractional library routines. ! (line 1606) * __fractunsuhqdi: Fixed-point fractional library routines. ! (line 1575) * __fractunsuhqhi: Fixed-point fractional library routines. ! (line 1573) * __fractunsuhqqi: Fixed-point fractional library routines. ! (line 1572) * __fractunsuhqsi: Fixed-point fractional library routines. ! (line 1574) * __fractunsuhqti: Fixed-point fractional library routines. ! (line 1576) * __fractunsuqqdi: Fixed-point fractional library routines. ! (line 1568) * __fractunsuqqhi: Fixed-point fractional library routines. ! (line 1564) * __fractunsuqqqi: Fixed-point fractional library routines. ! (line 1562) * __fractunsuqqsi: Fixed-point fractional library routines. ! (line 1566) * __fractunsuqqti: Fixed-point fractional library routines. ! (line 1570) * __fractunsusadi: Fixed-point fractional library routines. ! (line 1611) * __fractunsusahi: Fixed-point fractional library routines. ! (line 1609) * __fractunsusaqi: Fixed-point fractional library routines. ! (line 1608) * __fractunsusasi: Fixed-point fractional library routines. ! (line 1610) * __fractunsusati: Fixed-point fractional library routines. ! (line 1612) * __fractunsusqdi: Fixed-point fractional library routines. ! (line 1584) * __fractunsusqhi: Fixed-point fractional library routines. ! (line 1580) * __fractunsusqqi: Fixed-point fractional library routines. ! (line 1578) * __fractunsusqsi: Fixed-point fractional library routines. ! (line 1582) * __fractunsusqti: Fixed-point fractional library routines. ! (line 1586) * __fractunsutadi: Fixed-point fractional library routines. ! (line 1630) * __fractunsutahi: Fixed-point fractional library routines. ! (line 1626) * __fractunsutaqi: Fixed-point fractional library routines. ! (line 1624) * __fractunsutasi: Fixed-point fractional library routines. ! (line 1628) * __fractunsutati: Fixed-point fractional library routines. ! (line 1632) * __fractuqqda: Fixed-point fractional library routines. ! (line 671) * __fractuqqdf: Fixed-point fractional library routines. ! (line 694) * __fractuqqdi: Fixed-point fractional library routines. ! (line 691) * __fractuqqdq: Fixed-point fractional library routines. ! (line 667) * __fractuqqha: Fixed-point fractional library routines. ! (line 669) * __fractuqqhi: Fixed-point fractional library routines. ! (line 689) * __fractuqqhq: Fixed-point fractional library routines. ! (line 665) * __fractuqqqi: Fixed-point fractional library routines. ! (line 688) * __fractuqqqq: Fixed-point fractional library routines. ! (line 664) * __fractuqqsa: Fixed-point fractional library routines. ! (line 670) * __fractuqqsf: Fixed-point fractional library routines. ! (line 693) * __fractuqqsi: Fixed-point fractional library routines. ! (line 690) * __fractuqqsq: Fixed-point fractional library routines. ! (line 666) * __fractuqqta: Fixed-point fractional library routines. ! (line 672) * __fractuqqti: Fixed-point fractional library routines. ! (line 692) * __fractuqquda: Fixed-point fractional library routines. ! (line 684) * __fractuqqudq2: Fixed-point fractional library routines. ! (line 678) * __fractuqquha: Fixed-point fractional library routines. ! (line 680) * __fractuqquhq2: Fixed-point fractional library routines. - (line 674) - * __fractuqqusa: Fixed-point fractional library routines. (line 682) * __fractuqqusq2: Fixed-point fractional library routines. ! (line 676) * __fractuqquta: Fixed-point fractional library routines. ! (line 686) * __fractusada: Fixed-point fractional library routines. ! (line 828) * __fractusadf: Fixed-point fractional library routines. ! (line 849) * __fractusadi: Fixed-point fractional library routines. ! (line 846) * __fractusadq: Fixed-point fractional library routines. ! (line 825) * __fractusaha: Fixed-point fractional library routines. ! (line 826) * __fractusahi: Fixed-point fractional library routines. ! (line 844) * __fractusahq: Fixed-point fractional library routines. ! (line 823) * __fractusaqi: Fixed-point fractional library routines. ! (line 843) * __fractusaqq: Fixed-point fractional library routines. ! (line 822) * __fractusasa: Fixed-point fractional library routines. ! (line 827) * __fractusasf: Fixed-point fractional library routines. ! (line 848) * __fractusasi: Fixed-point fractional library routines. ! (line 845) * __fractusasq: Fixed-point fractional library routines. ! (line 824) * __fractusata: Fixed-point fractional library routines. ! (line 829) * __fractusati: Fixed-point fractional library routines. ! (line 847) * __fractusauda2: Fixed-point fractional library routines. ! (line 839) * __fractusaudq: Fixed-point fractional library routines. ! (line 835) * __fractusauha2: Fixed-point fractional library routines. ! (line 837) * __fractusauhq: Fixed-point fractional library routines. ! (line 832) * __fractusauqq: Fixed-point fractional library routines. ! (line 830) * __fractusausq: Fixed-point fractional library routines. - (line 833) - * __fractusauta2: Fixed-point fractional library routines. (line 841) * __fractusqda: Fixed-point fractional library routines. ! (line 730) * __fractusqdf: Fixed-point fractional library routines. ! (line 753) * __fractusqdi: Fixed-point fractional library routines. ! (line 750) * __fractusqdq: Fixed-point fractional library routines. ! (line 726) * __fractusqha: Fixed-point fractional library routines. ! (line 728) * __fractusqhi: Fixed-point fractional library routines. ! (line 748) * __fractusqhq: Fixed-point fractional library routines. ! (line 724) * __fractusqqi: Fixed-point fractional library routines. ! (line 747) * __fractusqqq: Fixed-point fractional library routines. ! (line 723) * __fractusqsa: Fixed-point fractional library routines. ! (line 729) * __fractusqsf: Fixed-point fractional library routines. ! (line 752) * __fractusqsi: Fixed-point fractional library routines. ! (line 749) * __fractusqsq: Fixed-point fractional library routines. ! (line 725) * __fractusqta: Fixed-point fractional library routines. ! (line 731) * __fractusqti: Fixed-point fractional library routines. ! (line 751) * __fractusquda: Fixed-point fractional library routines. ! (line 743) * __fractusqudq2: Fixed-point fractional library routines. ! (line 737) * __fractusquha: Fixed-point fractional library routines. ! (line 739) * __fractusquhq2: Fixed-point fractional library routines. ! (line 735) * __fractusquqq2: Fixed-point fractional library routines. - (line 733) - * __fractusqusa: Fixed-point fractional library routines. (line 741) * __fractusquta: Fixed-point fractional library routines. ! (line 745) * __fractutada: Fixed-point fractional library routines. ! (line 891) * __fractutadf: Fixed-point fractional library routines. ! (line 917) * __fractutadi: Fixed-point fractional library routines. ! (line 913) * __fractutadq: Fixed-point fractional library routines. ! (line 886) * __fractutaha: Fixed-point fractional library routines. ! (line 888) * __fractutahi: Fixed-point fractional library routines. ! (line 911) * __fractutahq: Fixed-point fractional library routines. ! (line 883) * __fractutaqi: Fixed-point fractional library routines. ! (line 909) * __fractutaqq: Fixed-point fractional library routines. ! (line 881) * __fractutasa: Fixed-point fractional library routines. ! (line 890) * __fractutasf: Fixed-point fractional library routines. ! (line 916) * __fractutasi: Fixed-point fractional library routines. ! (line 912) * __fractutasq: Fixed-point fractional library routines. ! (line 884) * __fractutata: Fixed-point fractional library routines. ! (line 893) * __fractutati: Fixed-point fractional library routines. ! (line 914) * __fractutauda2: Fixed-point fractional library routines. ! (line 907) * __fractutaudq: Fixed-point fractional library routines. ! (line 901) * __fractutauha2: Fixed-point fractional library routines. ! (line 903) * __fractutauhq: Fixed-point fractional library routines. ! (line 897) * __fractutauqq: Fixed-point fractional library routines. ! (line 895) * __fractutausa2: Fixed-point fractional library routines. ! (line 905) * __fractutausq: Fixed-point fractional library routines. ! (line 899) * __gedf2: Soft float library routines. (line 205) * __gesf2: Soft float library routines. --- 49615,50867 ---- * __floatuntixf: Soft float library routines. (line 153) * __fractdadf: Fixed-point fractional library routines. ! (line 643) * __fractdadi: Fixed-point fractional library routines. ! (line 640) * __fractdadq: Fixed-point fractional library routines. ! (line 623) * __fractdaha2: Fixed-point fractional library routines. ! (line 624) * __fractdahi: Fixed-point fractional library routines. ! (line 638) * __fractdahq: Fixed-point fractional library routines. ! (line 621) * __fractdaqi: Fixed-point fractional library routines. ! (line 637) * __fractdaqq: Fixed-point fractional library routines. ! (line 620) * __fractdasa2: Fixed-point fractional library routines. ! (line 625) * __fractdasf: Fixed-point fractional library routines. ! (line 642) * __fractdasi: Fixed-point fractional library routines. ! (line 639) * __fractdasq: Fixed-point fractional library routines. ! (line 622) * __fractdata2: Fixed-point fractional library routines. ! (line 626) * __fractdati: Fixed-point fractional library routines. ! (line 641) * __fractdauda: Fixed-point fractional library routines. ! (line 634) * __fractdaudq: Fixed-point fractional library routines. ! (line 630) * __fractdauha: Fixed-point fractional library routines. ! (line 632) * __fractdauhq: Fixed-point fractional library routines. ! (line 628) * __fractdauqq: Fixed-point fractional library routines. ! (line 627) * __fractdausa: Fixed-point fractional library routines. ! (line 633) * __fractdausq: Fixed-point fractional library routines. ! (line 629) * __fractdauta: Fixed-point fractional library routines. ! (line 635) * __fractdfda: Fixed-point fractional library routines. ! (line 1032) * __fractdfdq: Fixed-point fractional library routines. ! (line 1029) * __fractdfha: Fixed-point fractional library routines. ! (line 1030) * __fractdfhq: Fixed-point fractional library routines. ! (line 1027) * __fractdfqq: Fixed-point fractional library routines. ! (line 1026) * __fractdfsa: Fixed-point fractional library routines. ! (line 1031) * __fractdfsq: Fixed-point fractional library routines. ! (line 1028) * __fractdfta: Fixed-point fractional library routines. ! (line 1033) * __fractdfuda: Fixed-point fractional library routines. ! (line 1040) * __fractdfudq: Fixed-point fractional library routines. ! (line 1037) * __fractdfuha: Fixed-point fractional library routines. ! (line 1038) * __fractdfuhq: Fixed-point fractional library routines. ! (line 1035) * __fractdfuqq: Fixed-point fractional library routines. ! (line 1034) * __fractdfusa: Fixed-point fractional library routines. ! (line 1039) * __fractdfusq: Fixed-point fractional library routines. ! (line 1036) * __fractdfuta: Fixed-point fractional library routines. ! (line 1041) * __fractdida: Fixed-point fractional library routines. ! (line 982) * __fractdidq: Fixed-point fractional library routines. ! (line 979) * __fractdiha: Fixed-point fractional library routines. ! (line 980) * __fractdihq: Fixed-point fractional library routines. ! (line 977) * __fractdiqq: Fixed-point fractional library routines. ! (line 976) * __fractdisa: Fixed-point fractional library routines. ! (line 981) * __fractdisq: Fixed-point fractional library routines. ! (line 978) * __fractdita: Fixed-point fractional library routines. ! (line 983) * __fractdiuda: Fixed-point fractional library routines. ! (line 990) * __fractdiudq: Fixed-point fractional library routines. ! (line 987) * __fractdiuha: Fixed-point fractional library routines. ! (line 988) * __fractdiuhq: Fixed-point fractional library routines. ! (line 985) * __fractdiuqq: Fixed-point fractional library routines. ! (line 984) * __fractdiusa: Fixed-point fractional library routines. ! (line 989) * __fractdiusq: Fixed-point fractional library routines. ! (line 986) * __fractdiuta: Fixed-point fractional library routines. ! (line 991) * __fractdqda: Fixed-point fractional library routines. ! (line 551) * __fractdqdf: Fixed-point fractional library routines. ! (line 573) * __fractdqdi: Fixed-point fractional library routines. ! (line 570) * __fractdqha: Fixed-point fractional library routines. ! (line 549) * __fractdqhi: Fixed-point fractional library routines. ! (line 568) * __fractdqhq2: Fixed-point fractional library routines. ! (line 547) * __fractdqqi: Fixed-point fractional library routines. ! (line 567) * __fractdqqq2: Fixed-point fractional library routines. ! (line 546) * __fractdqsa: Fixed-point fractional library routines. ! (line 550) * __fractdqsf: Fixed-point fractional library routines. ! (line 572) * __fractdqsi: Fixed-point fractional library routines. ! (line 569) * __fractdqsq2: Fixed-point fractional library routines. ! (line 548) * __fractdqta: Fixed-point fractional library routines. ! (line 552) * __fractdqti: Fixed-point fractional library routines. ! (line 571) * __fractdquda: Fixed-point fractional library routines. ! (line 563) * __fractdqudq: Fixed-point fractional library routines. ! (line 558) * __fractdquha: Fixed-point fractional library routines. ! (line 560) * __fractdquhq: Fixed-point fractional library routines. ! (line 555) * __fractdquqq: Fixed-point fractional library routines. ! (line 553) * __fractdqusa: Fixed-point fractional library routines. ! (line 562) * __fractdqusq: Fixed-point fractional library routines. ! (line 556) * __fractdquta: Fixed-point fractional library routines. ! (line 565) * __fracthada2: Fixed-point fractional library routines. ! (line 579) * __fracthadf: Fixed-point fractional library routines. ! (line 597) * __fracthadi: Fixed-point fractional library routines. ! (line 594) * __fracthadq: Fixed-point fractional library routines. ! (line 577) * __fracthahi: Fixed-point fractional library routines. ! (line 592) * __fracthahq: Fixed-point fractional library routines. ! (line 575) * __fracthaqi: Fixed-point fractional library routines. ! (line 591) * __fracthaqq: Fixed-point fractional library routines. ! (line 574) * __fracthasa2: Fixed-point fractional library routines. ! (line 578) * __fracthasf: Fixed-point fractional library routines. ! (line 596) * __fracthasi: Fixed-point fractional library routines. ! (line 593) * __fracthasq: Fixed-point fractional library routines. ! (line 576) * __fracthata2: Fixed-point fractional library routines. ! (line 580) * __fracthati: Fixed-point fractional library routines. ! (line 595) * __fracthauda: Fixed-point fractional library routines. ! (line 588) * __fracthaudq: Fixed-point fractional library routines. ! (line 584) * __fracthauha: Fixed-point fractional library routines. ! (line 586) * __fracthauhq: Fixed-point fractional library routines. ! (line 582) * __fracthauqq: Fixed-point fractional library routines. ! (line 581) * __fracthausa: Fixed-point fractional library routines. ! (line 587) * __fracthausq: Fixed-point fractional library routines. ! (line 583) * __fracthauta: Fixed-point fractional library routines. ! (line 589) * __fracthida: Fixed-point fractional library routines. ! (line 950) * __fracthidq: Fixed-point fractional library routines. ! (line 947) * __fracthiha: Fixed-point fractional library routines. ! (line 948) * __fracthihq: Fixed-point fractional library routines. ! (line 945) * __fracthiqq: Fixed-point fractional library routines. ! (line 944) * __fracthisa: Fixed-point fractional library routines. ! (line 949) * __fracthisq: Fixed-point fractional library routines. ! (line 946) * __fracthita: Fixed-point fractional library routines. ! (line 951) * __fracthiuda: Fixed-point fractional library routines. ! (line 958) * __fracthiudq: Fixed-point fractional library routines. ! (line 955) * __fracthiuha: Fixed-point fractional library routines. ! (line 956) * __fracthiuhq: Fixed-point fractional library routines. ! (line 953) * __fracthiuqq: Fixed-point fractional library routines. ! (line 952) * __fracthiusa: Fixed-point fractional library routines. ! (line 957) * __fracthiusq: Fixed-point fractional library routines. ! (line 954) * __fracthiuta: Fixed-point fractional library routines. ! (line 959) * __fracthqda: Fixed-point fractional library routines. ! (line 505) * __fracthqdf: Fixed-point fractional library routines. ! (line 521) * __fracthqdi: Fixed-point fractional library routines. ! (line 518) * __fracthqdq2: Fixed-point fractional library routines. ! (line 502) * __fracthqha: Fixed-point fractional library routines. ! (line 503) * __fracthqhi: Fixed-point fractional library routines. ! (line 516) * __fracthqqi: Fixed-point fractional library routines. ! (line 515) * __fracthqqq2: Fixed-point fractional library routines. ! (line 500) * __fracthqsa: Fixed-point fractional library routines. ! (line 504) * __fracthqsf: Fixed-point fractional library routines. ! (line 520) * __fracthqsi: Fixed-point fractional library routines. ! (line 517) * __fracthqsq2: Fixed-point fractional library routines. ! (line 501) * __fracthqta: Fixed-point fractional library routines. ! (line 506) * __fracthqti: Fixed-point fractional library routines. ! (line 519) * __fracthquda: Fixed-point fractional library routines. ! (line 513) * __fracthqudq: Fixed-point fractional library routines. ! (line 510) * __fracthquha: Fixed-point fractional library routines. ! (line 511) * __fracthquhq: Fixed-point fractional library routines. ! (line 508) * __fracthquqq: Fixed-point fractional library routines. ! (line 507) * __fracthqusa: Fixed-point fractional library routines. ! (line 512) * __fracthqusq: Fixed-point fractional library routines. ! (line 509) * __fracthquta: Fixed-point fractional library routines. ! (line 514) * __fractqida: Fixed-point fractional library routines. ! (line 932) * __fractqidq: Fixed-point fractional library routines. ! (line 929) * __fractqiha: Fixed-point fractional library routines. ! (line 930) * __fractqihq: Fixed-point fractional library routines. ! (line 927) * __fractqiqq: Fixed-point fractional library routines. ! (line 926) * __fractqisa: Fixed-point fractional library routines. ! (line 931) * __fractqisq: Fixed-point fractional library routines. ! (line 928) * __fractqita: Fixed-point fractional library routines. (line 933) + * __fractqiuda: Fixed-point fractional library routines. + (line 941) * __fractqiudq: Fixed-point fractional library routines. ! (line 937) * __fractqiuha: Fixed-point fractional library routines. ! (line 939) * __fractqiuhq: Fixed-point fractional library routines. ! (line 935) * __fractqiuqq: Fixed-point fractional library routines. ! (line 934) * __fractqiusa: Fixed-point fractional library routines. ! (line 940) * __fractqiusq: Fixed-point fractional library routines. ! (line 936) * __fractqiuta: Fixed-point fractional library routines. ! (line 942) * __fractqqda: Fixed-point fractional library routines. ! (line 481) * __fractqqdf: Fixed-point fractional library routines. ! (line 499) * __fractqqdi: Fixed-point fractional library routines. ! (line 496) * __fractqqdq2: Fixed-point fractional library routines. ! (line 478) * __fractqqha: Fixed-point fractional library routines. ! (line 479) * __fractqqhi: Fixed-point fractional library routines. ! (line 494) * __fractqqhq2: Fixed-point fractional library routines. ! (line 476) * __fractqqqi: Fixed-point fractional library routines. ! (line 493) * __fractqqsa: Fixed-point fractional library routines. ! (line 480) * __fractqqsf: Fixed-point fractional library routines. ! (line 498) * __fractqqsi: Fixed-point fractional library routines. ! (line 495) * __fractqqsq2: Fixed-point fractional library routines. ! (line 477) * __fractqqta: Fixed-point fractional library routines. ! (line 482) * __fractqqti: Fixed-point fractional library routines. ! (line 497) * __fractqquda: Fixed-point fractional library routines. ! (line 490) * __fractqqudq: Fixed-point fractional library routines. ! (line 486) * __fractqquha: Fixed-point fractional library routines. ! (line 488) * __fractqquhq: Fixed-point fractional library routines. ! (line 484) * __fractqquqq: Fixed-point fractional library routines. ! (line 483) * __fractqqusa: Fixed-point fractional library routines. ! (line 489) * __fractqqusq: Fixed-point fractional library routines. ! (line 485) * __fractqquta: Fixed-point fractional library routines. ! (line 491) * __fractsada2: Fixed-point fractional library routines. ! (line 603) * __fractsadf: Fixed-point fractional library routines. ! (line 619) * __fractsadi: Fixed-point fractional library routines. ! (line 616) * __fractsadq: Fixed-point fractional library routines. ! (line 601) * __fractsaha2: Fixed-point fractional library routines. ! (line 602) * __fractsahi: Fixed-point fractional library routines. ! (line 614) * __fractsahq: Fixed-point fractional library routines. ! (line 599) * __fractsaqi: Fixed-point fractional library routines. ! (line 613) * __fractsaqq: Fixed-point fractional library routines. ! (line 598) * __fractsasf: Fixed-point fractional library routines. ! (line 618) * __fractsasi: Fixed-point fractional library routines. ! (line 615) * __fractsasq: Fixed-point fractional library routines. ! (line 600) * __fractsata2: Fixed-point fractional library routines. ! (line 604) * __fractsati: Fixed-point fractional library routines. ! (line 617) * __fractsauda: Fixed-point fractional library routines. ! (line 611) * __fractsaudq: Fixed-point fractional library routines. ! (line 608) * __fractsauha: Fixed-point fractional library routines. ! (line 609) * __fractsauhq: Fixed-point fractional library routines. ! (line 606) * __fractsauqq: Fixed-point fractional library routines. ! (line 605) * __fractsausa: Fixed-point fractional library routines. ! (line 610) * __fractsausq: Fixed-point fractional library routines. ! (line 607) * __fractsauta: Fixed-point fractional library routines. ! (line 612) * __fractsfda: Fixed-point fractional library routines. ! (line 1016) * __fractsfdq: Fixed-point fractional library routines. ! (line 1013) * __fractsfha: Fixed-point fractional library routines. ! (line 1014) * __fractsfhq: Fixed-point fractional library routines. ! (line 1011) * __fractsfqq: Fixed-point fractional library routines. ! (line 1010) * __fractsfsa: Fixed-point fractional library routines. ! (line 1015) * __fractsfsq: Fixed-point fractional library routines. ! (line 1012) * __fractsfta: Fixed-point fractional library routines. ! (line 1017) * __fractsfuda: Fixed-point fractional library routines. ! (line 1024) * __fractsfudq: Fixed-point fractional library routines. ! (line 1021) * __fractsfuha: Fixed-point fractional library routines. ! (line 1022) * __fractsfuhq: Fixed-point fractional library routines. ! (line 1019) * __fractsfuqq: Fixed-point fractional library routines. ! (line 1018) * __fractsfusa: Fixed-point fractional library routines. ! (line 1023) * __fractsfusq: Fixed-point fractional library routines. ! (line 1020) * __fractsfuta: Fixed-point fractional library routines. ! (line 1025) * __fractsida: Fixed-point fractional library routines. ! (line 966) * __fractsidq: Fixed-point fractional library routines. ! (line 963) * __fractsiha: Fixed-point fractional library routines. ! (line 964) * __fractsihq: Fixed-point fractional library routines. ! (line 961) * __fractsiqq: Fixed-point fractional library routines. ! (line 960) * __fractsisa: Fixed-point fractional library routines. ! (line 965) * __fractsisq: Fixed-point fractional library routines. ! (line 962) * __fractsita: Fixed-point fractional library routines. ! (line 967) * __fractsiuda: Fixed-point fractional library routines. ! (line 974) * __fractsiudq: Fixed-point fractional library routines. ! (line 971) * __fractsiuha: Fixed-point fractional library routines. ! (line 972) * __fractsiuhq: Fixed-point fractional library routines. ! (line 969) * __fractsiuqq: Fixed-point fractional library routines. ! (line 968) * __fractsiusa: Fixed-point fractional library routines. ! (line 973) * __fractsiusq: Fixed-point fractional library routines. ! (line 970) * __fractsiuta: Fixed-point fractional library routines. ! (line 975) * __fractsqda: Fixed-point fractional library routines. ! (line 527) * __fractsqdf: Fixed-point fractional library routines. ! (line 545) * __fractsqdi: Fixed-point fractional library routines. ! (line 542) * __fractsqdq2: Fixed-point fractional library routines. ! (line 524) * __fractsqha: Fixed-point fractional library routines. ! (line 525) * __fractsqhi: Fixed-point fractional library routines. ! (line 540) * __fractsqhq2: Fixed-point fractional library routines. ! (line 523) * __fractsqqi: Fixed-point fractional library routines. ! (line 539) * __fractsqqq2: Fixed-point fractional library routines. ! (line 522) * __fractsqsa: Fixed-point fractional library routines. ! (line 526) * __fractsqsf: Fixed-point fractional library routines. ! (line 544) * __fractsqsi: Fixed-point fractional library routines. ! (line 541) * __fractsqta: Fixed-point fractional library routines. ! (line 528) * __fractsqti: Fixed-point fractional library routines. ! (line 543) * __fractsquda: Fixed-point fractional library routines. ! (line 536) * __fractsqudq: Fixed-point fractional library routines. ! (line 532) * __fractsquha: Fixed-point fractional library routines. ! (line 534) * __fractsquhq: Fixed-point fractional library routines. ! (line 530) * __fractsquqq: Fixed-point fractional library routines. ! (line 529) * __fractsqusa: Fixed-point fractional library routines. ! (line 535) * __fractsqusq: Fixed-point fractional library routines. ! (line 531) * __fractsquta: Fixed-point fractional library routines. ! (line 537) * __fracttada2: Fixed-point fractional library routines. ! (line 650) * __fracttadf: Fixed-point fractional library routines. ! (line 671) * __fracttadi: Fixed-point fractional library routines. ! (line 668) * __fracttadq: Fixed-point fractional library routines. ! (line 647) * __fracttaha2: Fixed-point fractional library routines. ! (line 648) * __fracttahi: Fixed-point fractional library routines. ! (line 666) * __fracttahq: Fixed-point fractional library routines. ! (line 645) * __fracttaqi: Fixed-point fractional library routines. ! (line 665) * __fracttaqq: Fixed-point fractional library routines. ! (line 644) * __fracttasa2: Fixed-point fractional library routines. ! (line 649) * __fracttasf: Fixed-point fractional library routines. ! (line 670) * __fracttasi: Fixed-point fractional library routines. ! (line 667) * __fracttasq: Fixed-point fractional library routines. ! (line 646) * __fracttati: Fixed-point fractional library routines. ! (line 669) * __fracttauda: Fixed-point fractional library routines. ! (line 661) * __fracttaudq: Fixed-point fractional library routines. ! (line 656) * __fracttauha: Fixed-point fractional library routines. ! (line 658) * __fracttauhq: Fixed-point fractional library routines. ! (line 653) * __fracttauqq: Fixed-point fractional library routines. ! (line 651) * __fracttausa: Fixed-point fractional library routines. ! (line 660) * __fracttausq: Fixed-point fractional library routines. ! (line 654) * __fracttauta: Fixed-point fractional library routines. ! (line 663) * __fracttida: Fixed-point fractional library routines. ! (line 998) * __fracttidq: Fixed-point fractional library routines. ! (line 995) * __fracttiha: Fixed-point fractional library routines. ! (line 996) * __fracttihq: Fixed-point fractional library routines. ! (line 993) * __fracttiqq: Fixed-point fractional library routines. ! (line 992) * __fracttisa: Fixed-point fractional library routines. ! (line 997) * __fracttisq: Fixed-point fractional library routines. ! (line 994) * __fracttita: Fixed-point fractional library routines. (line 999) + * __fracttiuda: Fixed-point fractional library routines. + (line 1007) * __fracttiudq: Fixed-point fractional library routines. ! (line 1003) * __fracttiuha: Fixed-point fractional library routines. ! (line 1005) * __fracttiuhq: Fixed-point fractional library routines. ! (line 1001) * __fracttiuqq: Fixed-point fractional library routines. ! (line 1000) * __fracttiusa: Fixed-point fractional library routines. ! (line 1006) * __fracttiusq: Fixed-point fractional library routines. ! (line 1002) * __fracttiuta: Fixed-point fractional library routines. ! (line 1008) * __fractudada: Fixed-point fractional library routines. ! (line 865) * __fractudadf: Fixed-point fractional library routines. ! (line 888) * __fractudadi: Fixed-point fractional library routines. ! (line 885) * __fractudadq: Fixed-point fractional library routines. ! (line 861) * __fractudaha: Fixed-point fractional library routines. ! (line 863) * __fractudahi: Fixed-point fractional library routines. ! (line 883) * __fractudahq: Fixed-point fractional library routines. ! (line 859) * __fractudaqi: Fixed-point fractional library routines. ! (line 882) * __fractudaqq: Fixed-point fractional library routines. ! (line 858) * __fractudasa: Fixed-point fractional library routines. ! (line 864) * __fractudasf: Fixed-point fractional library routines. ! (line 887) * __fractudasi: Fixed-point fractional library routines. ! (line 884) * __fractudasq: Fixed-point fractional library routines. ! (line 860) * __fractudata: Fixed-point fractional library routines. ! (line 866) * __fractudati: Fixed-point fractional library routines. ! (line 886) * __fractudaudq: Fixed-point fractional library routines. ! (line 874) * __fractudauha2: Fixed-point fractional library routines. ! (line 876) * __fractudauhq: Fixed-point fractional library routines. ! (line 870) * __fractudauqq: Fixed-point fractional library routines. ! (line 868) * __fractudausa2: Fixed-point fractional library routines. ! (line 878) * __fractudausq: Fixed-point fractional library routines. (line 872) + * __fractudauta2: Fixed-point fractional library routines. + (line 880) * __fractudqda: Fixed-point fractional library routines. ! (line 772) * __fractudqdf: Fixed-point fractional library routines. ! (line 798) * __fractudqdi: Fixed-point fractional library routines. ! (line 794) * __fractudqdq: Fixed-point fractional library routines. ! (line 767) * __fractudqha: Fixed-point fractional library routines. ! (line 769) * __fractudqhi: Fixed-point fractional library routines. ! (line 792) * __fractudqhq: Fixed-point fractional library routines. ! (line 764) * __fractudqqi: Fixed-point fractional library routines. ! (line 790) * __fractudqqq: Fixed-point fractional library routines. ! (line 762) * __fractudqsa: Fixed-point fractional library routines. ! (line 771) * __fractudqsf: Fixed-point fractional library routines. ! (line 797) * __fractudqsi: Fixed-point fractional library routines. ! (line 793) * __fractudqsq: Fixed-point fractional library routines. ! (line 765) * __fractudqta: Fixed-point fractional library routines. ! (line 774) * __fractudqti: Fixed-point fractional library routines. ! (line 795) * __fractudquda: Fixed-point fractional library routines. ! (line 786) * __fractudquha: Fixed-point fractional library routines. ! (line 782) * __fractudquhq2: Fixed-point fractional library routines. ! (line 778) * __fractudquqq2: Fixed-point fractional library routines. (line 776) + * __fractudqusa: Fixed-point fractional library routines. + (line 784) * __fractudqusq2: Fixed-point fractional library routines. (line 780) + * __fractudquta: Fixed-point fractional library routines. + (line 788) * __fractuhada: Fixed-point fractional library routines. ! (line 806) * __fractuhadf: Fixed-point fractional library routines. ! (line 829) * __fractuhadi: Fixed-point fractional library routines. ! (line 826) * __fractuhadq: Fixed-point fractional library routines. ! (line 802) * __fractuhaha: Fixed-point fractional library routines. ! (line 804) * __fractuhahi: Fixed-point fractional library routines. ! (line 824) * __fractuhahq: Fixed-point fractional library routines. ! (line 800) * __fractuhaqi: Fixed-point fractional library routines. ! (line 823) * __fractuhaqq: Fixed-point fractional library routines. ! (line 799) * __fractuhasa: Fixed-point fractional library routines. ! (line 805) * __fractuhasf: Fixed-point fractional library routines. ! (line 828) * __fractuhasi: Fixed-point fractional library routines. ! (line 825) * __fractuhasq: Fixed-point fractional library routines. ! (line 801) * __fractuhata: Fixed-point fractional library routines. ! (line 807) * __fractuhati: Fixed-point fractional library routines. ! (line 827) * __fractuhauda2: Fixed-point fractional library routines. ! (line 819) * __fractuhaudq: Fixed-point fractional library routines. ! (line 815) * __fractuhauhq: Fixed-point fractional library routines. ! (line 811) * __fractuhauqq: Fixed-point fractional library routines. (line 809) + * __fractuhausa2: Fixed-point fractional library routines. + (line 817) * __fractuhausq: Fixed-point fractional library routines. (line 813) + * __fractuhauta2: Fixed-point fractional library routines. + (line 821) * __fractuhqda: Fixed-point fractional library routines. ! (line 709) * __fractuhqdf: Fixed-point fractional library routines. ! (line 730) * __fractuhqdi: Fixed-point fractional library routines. ! (line 727) * __fractuhqdq: Fixed-point fractional library routines. ! (line 706) * __fractuhqha: Fixed-point fractional library routines. ! (line 707) * __fractuhqhi: Fixed-point fractional library routines. ! (line 725) * __fractuhqhq: Fixed-point fractional library routines. ! (line 704) * __fractuhqqi: Fixed-point fractional library routines. ! (line 724) * __fractuhqqq: Fixed-point fractional library routines. ! (line 703) * __fractuhqsa: Fixed-point fractional library routines. ! (line 708) * __fractuhqsf: Fixed-point fractional library routines. ! (line 729) * __fractuhqsi: Fixed-point fractional library routines. ! (line 726) * __fractuhqsq: Fixed-point fractional library routines. ! (line 705) * __fractuhqta: Fixed-point fractional library routines. ! (line 710) * __fractuhqti: Fixed-point fractional library routines. ! (line 728) * __fractuhquda: Fixed-point fractional library routines. ! (line 720) * __fractuhqudq2: Fixed-point fractional library routines. ! (line 715) * __fractuhquha: Fixed-point fractional library routines. ! (line 717) * __fractuhquqq2: Fixed-point fractional library routines. (line 711) + * __fractuhqusa: Fixed-point fractional library routines. + (line 719) * __fractuhqusq2: Fixed-point fractional library routines. ! (line 713) * __fractuhquta: Fixed-point fractional library routines. ! (line 722) * __fractunsdadi: Fixed-point fractional library routines. ! (line 1562) * __fractunsdahi: Fixed-point fractional library routines. ! (line 1560) * __fractunsdaqi: Fixed-point fractional library routines. ! (line 1559) * __fractunsdasi: Fixed-point fractional library routines. ! (line 1561) * __fractunsdati: Fixed-point fractional library routines. ! (line 1563) * __fractunsdida: Fixed-point fractional library routines. ! (line 1714) * __fractunsdidq: Fixed-point fractional library routines. ! (line 1711) * __fractunsdiha: Fixed-point fractional library routines. ! (line 1712) * __fractunsdihq: Fixed-point fractional library routines. ! (line 1709) * __fractunsdiqq: Fixed-point fractional library routines. ! (line 1708) * __fractunsdisa: Fixed-point fractional library routines. ! (line 1713) * __fractunsdisq: Fixed-point fractional library routines. ! (line 1710) * __fractunsdita: Fixed-point fractional library routines. ! (line 1715) * __fractunsdiuda: Fixed-point fractional library routines. ! (line 1726) * __fractunsdiudq: Fixed-point fractional library routines. ! (line 1721) * __fractunsdiuha: Fixed-point fractional library routines. ! (line 1723) * __fractunsdiuhq: Fixed-point fractional library routines. ! (line 1718) * __fractunsdiuqq: Fixed-point fractional library routines. ! (line 1716) * __fractunsdiusa: Fixed-point fractional library routines. ! (line 1725) * __fractunsdiusq: Fixed-point fractional library routines. ! (line 1719) * __fractunsdiuta: Fixed-point fractional library routines. ! (line 1728) * __fractunsdqdi: Fixed-point fractional library routines. ! (line 1546) * __fractunsdqhi: Fixed-point fractional library routines. ! (line 1544) * __fractunsdqqi: Fixed-point fractional library routines. ! (line 1543) * __fractunsdqsi: Fixed-point fractional library routines. ! (line 1545) * __fractunsdqti: Fixed-point fractional library routines. ! (line 1547) * __fractunshadi: Fixed-point fractional library routines. ! (line 1552) * __fractunshahi: Fixed-point fractional library routines. ! (line 1550) * __fractunshaqi: Fixed-point fractional library routines. ! (line 1549) * __fractunshasi: Fixed-point fractional library routines. ! (line 1551) * __fractunshati: Fixed-point fractional library routines. ! (line 1553) * __fractunshida: Fixed-point fractional library routines. ! (line 1670) * __fractunshidq: Fixed-point fractional library routines. ! (line 1667) * __fractunshiha: Fixed-point fractional library routines. ! (line 1668) * __fractunshihq: Fixed-point fractional library routines. ! (line 1665) * __fractunshiqq: Fixed-point fractional library routines. ! (line 1664) * __fractunshisa: Fixed-point fractional library routines. ! (line 1669) * __fractunshisq: Fixed-point fractional library routines. ! (line 1666) * __fractunshita: Fixed-point fractional library routines. ! (line 1671) * __fractunshiuda: Fixed-point fractional library routines. ! (line 1682) * __fractunshiudq: Fixed-point fractional library routines. ! (line 1677) * __fractunshiuha: Fixed-point fractional library routines. ! (line 1679) * __fractunshiuhq: Fixed-point fractional library routines. ! (line 1674) * __fractunshiuqq: Fixed-point fractional library routines. ! (line 1672) * __fractunshiusa: Fixed-point fractional library routines. ! (line 1681) * __fractunshiusq: Fixed-point fractional library routines. ! (line 1675) * __fractunshiuta: Fixed-point fractional library routines. ! (line 1684) * __fractunshqdi: Fixed-point fractional library routines. ! (line 1536) * __fractunshqhi: Fixed-point fractional library routines. ! (line 1534) * __fractunshqqi: Fixed-point fractional library routines. ! (line 1533) * __fractunshqsi: Fixed-point fractional library routines. ! (line 1535) * __fractunshqti: Fixed-point fractional library routines. ! (line 1537) * __fractunsqida: Fixed-point fractional library routines. ! (line 1648) * __fractunsqidq: Fixed-point fractional library routines. ! (line 1645) * __fractunsqiha: Fixed-point fractional library routines. ! (line 1646) * __fractunsqihq: Fixed-point fractional library routines. ! (line 1643) * __fractunsqiqq: Fixed-point fractional library routines. ! (line 1642) * __fractunsqisa: Fixed-point fractional library routines. ! (line 1647) * __fractunsqisq: Fixed-point fractional library routines. ! (line 1644) * __fractunsqita: Fixed-point fractional library routines. ! (line 1649) * __fractunsqiuda: Fixed-point fractional library routines. ! (line 1660) * __fractunsqiudq: Fixed-point fractional library routines. ! (line 1655) * __fractunsqiuha: Fixed-point fractional library routines. ! (line 1657) * __fractunsqiuhq: Fixed-point fractional library routines. ! (line 1652) * __fractunsqiuqq: Fixed-point fractional library routines. ! (line 1650) * __fractunsqiusa: Fixed-point fractional library routines. ! (line 1659) * __fractunsqiusq: Fixed-point fractional library routines. ! (line 1653) * __fractunsqiuta: Fixed-point fractional library routines. ! (line 1662) * __fractunsqqdi: Fixed-point fractional library routines. ! (line 1531) * __fractunsqqhi: Fixed-point fractional library routines. ! (line 1529) * __fractunsqqqi: Fixed-point fractional library routines. ! (line 1528) * __fractunsqqsi: Fixed-point fractional library routines. ! (line 1530) * __fractunsqqti: Fixed-point fractional library routines. ! (line 1532) * __fractunssadi: Fixed-point fractional library routines. ! (line 1557) * __fractunssahi: Fixed-point fractional library routines. ! (line 1555) * __fractunssaqi: Fixed-point fractional library routines. ! (line 1554) * __fractunssasi: Fixed-point fractional library routines. ! (line 1556) * __fractunssati: Fixed-point fractional library routines. ! (line 1558) * __fractunssida: Fixed-point fractional library routines. ! (line 1692) * __fractunssidq: Fixed-point fractional library routines. ! (line 1689) * __fractunssiha: Fixed-point fractional library routines. ! (line 1690) * __fractunssihq: Fixed-point fractional library routines. ! (line 1687) * __fractunssiqq: Fixed-point fractional library routines. ! (line 1686) * __fractunssisa: Fixed-point fractional library routines. ! (line 1691) * __fractunssisq: Fixed-point fractional library routines. ! (line 1688) * __fractunssita: Fixed-point fractional library routines. ! (line 1693) * __fractunssiuda: Fixed-point fractional library routines. ! (line 1704) * __fractunssiudq: Fixed-point fractional library routines. ! (line 1699) * __fractunssiuha: Fixed-point fractional library routines. ! (line 1701) * __fractunssiuhq: Fixed-point fractional library routines. ! (line 1696) * __fractunssiuqq: Fixed-point fractional library routines. ! (line 1694) * __fractunssiusa: Fixed-point fractional library routines. ! (line 1703) * __fractunssiusq: Fixed-point fractional library routines. ! (line 1697) * __fractunssiuta: Fixed-point fractional library routines. ! (line 1706) * __fractunssqdi: Fixed-point fractional library routines. ! (line 1541) * __fractunssqhi: Fixed-point fractional library routines. ! (line 1539) * __fractunssqqi: Fixed-point fractional library routines. ! (line 1538) * __fractunssqsi: Fixed-point fractional library routines. ! (line 1540) * __fractunssqti: Fixed-point fractional library routines. ! (line 1542) * __fractunstadi: Fixed-point fractional library routines. ! (line 1567) * __fractunstahi: Fixed-point fractional library routines. ! (line 1565) * __fractunstaqi: Fixed-point fractional library routines. ! (line 1564) * __fractunstasi: Fixed-point fractional library routines. ! (line 1566) * __fractunstati: Fixed-point fractional library routines. ! (line 1568) * __fractunstida: Fixed-point fractional library routines. ! (line 1737) * __fractunstidq: Fixed-point fractional library routines. ! (line 1733) * __fractunstiha: Fixed-point fractional library routines. ! (line 1735) * __fractunstihq: Fixed-point fractional library routines. ! (line 1731) * __fractunstiqq: Fixed-point fractional library routines. ! (line 1730) * __fractunstisa: Fixed-point fractional library routines. ! (line 1736) * __fractunstisq: Fixed-point fractional library routines. ! (line 1732) * __fractunstita: Fixed-point fractional library routines. ! (line 1738) * __fractunstiuda: Fixed-point fractional library routines. ! (line 1752) * __fractunstiudq: Fixed-point fractional library routines. ! (line 1746) * __fractunstiuha: Fixed-point fractional library routines. ! (line 1748) * __fractunstiuhq: Fixed-point fractional library routines. ! (line 1742) * __fractunstiuqq: Fixed-point fractional library routines. ! (line 1740) * __fractunstiusa: Fixed-point fractional library routines. ! (line 1750) * __fractunstiusq: Fixed-point fractional library routines. ! (line 1744) * __fractunstiuta: Fixed-point fractional library routines. ! (line 1754) * __fractunsudadi: Fixed-point fractional library routines. ! (line 1628) * __fractunsudahi: Fixed-point fractional library routines. ! (line 1624) * __fractunsudaqi: Fixed-point fractional library routines. ! (line 1622) * __fractunsudasi: Fixed-point fractional library routines. ! (line 1626) * __fractunsudati: Fixed-point fractional library routines. ! (line 1630) * __fractunsudqdi: Fixed-point fractional library routines. ! (line 1602) * __fractunsudqhi: Fixed-point fractional library routines. ! (line 1598) * __fractunsudqqi: Fixed-point fractional library routines. ! (line 1596) * __fractunsudqsi: Fixed-point fractional library routines. ! (line 1600) * __fractunsudqti: Fixed-point fractional library routines. (line 1604) + * __fractunsuhadi: Fixed-point fractional library routines. + (line 1612) * __fractunsuhahi: Fixed-point fractional library routines. ! (line 1608) * __fractunsuhaqi: Fixed-point fractional library routines. ! (line 1606) * __fractunsuhasi: Fixed-point fractional library routines. ! (line 1610) * __fractunsuhati: Fixed-point fractional library routines. ! (line 1614) * __fractunsuhqdi: Fixed-point fractional library routines. ! (line 1583) * __fractunsuhqhi: Fixed-point fractional library routines. ! (line 1581) * __fractunsuhqqi: Fixed-point fractional library routines. ! (line 1580) * __fractunsuhqsi: Fixed-point fractional library routines. ! (line 1582) * __fractunsuhqti: Fixed-point fractional library routines. ! (line 1584) * __fractunsuqqdi: Fixed-point fractional library routines. ! (line 1576) * __fractunsuqqhi: Fixed-point fractional library routines. ! (line 1572) * __fractunsuqqqi: Fixed-point fractional library routines. ! (line 1570) * __fractunsuqqsi: Fixed-point fractional library routines. ! (line 1574) * __fractunsuqqti: Fixed-point fractional library routines. ! (line 1578) * __fractunsusadi: Fixed-point fractional library routines. ! (line 1619) * __fractunsusahi: Fixed-point fractional library routines. ! (line 1617) * __fractunsusaqi: Fixed-point fractional library routines. ! (line 1616) * __fractunsusasi: Fixed-point fractional library routines. ! (line 1618) * __fractunsusati: Fixed-point fractional library routines. ! (line 1620) * __fractunsusqdi: Fixed-point fractional library routines. ! (line 1592) * __fractunsusqhi: Fixed-point fractional library routines. ! (line 1588) * __fractunsusqqi: Fixed-point fractional library routines. ! (line 1586) * __fractunsusqsi: Fixed-point fractional library routines. ! (line 1590) * __fractunsusqti: Fixed-point fractional library routines. ! (line 1594) * __fractunsutadi: Fixed-point fractional library routines. ! (line 1638) * __fractunsutahi: Fixed-point fractional library routines. ! (line 1634) * __fractunsutaqi: Fixed-point fractional library routines. ! (line 1632) * __fractunsutasi: Fixed-point fractional library routines. ! (line 1636) * __fractunsutati: Fixed-point fractional library routines. ! (line 1640) * __fractuqqda: Fixed-point fractional library routines. ! (line 679) * __fractuqqdf: Fixed-point fractional library routines. ! (line 702) * __fractuqqdi: Fixed-point fractional library routines. ! (line 699) * __fractuqqdq: Fixed-point fractional library routines. ! (line 675) * __fractuqqha: Fixed-point fractional library routines. ! (line 677) * __fractuqqhi: Fixed-point fractional library routines. ! (line 697) * __fractuqqhq: Fixed-point fractional library routines. ! (line 673) * __fractuqqqi: Fixed-point fractional library routines. ! (line 696) * __fractuqqqq: Fixed-point fractional library routines. ! (line 672) * __fractuqqsa: Fixed-point fractional library routines. ! (line 678) * __fractuqqsf: Fixed-point fractional library routines. ! (line 701) * __fractuqqsi: Fixed-point fractional library routines. ! (line 698) * __fractuqqsq: Fixed-point fractional library routines. ! (line 674) * __fractuqqta: Fixed-point fractional library routines. ! (line 680) * __fractuqqti: Fixed-point fractional library routines. ! (line 700) * __fractuqquda: Fixed-point fractional library routines. ! (line 692) * __fractuqqudq2: Fixed-point fractional library routines. ! (line 686) * __fractuqquha: Fixed-point fractional library routines. ! (line 688) * __fractuqquhq2: Fixed-point fractional library routines. (line 682) + * __fractuqqusa: Fixed-point fractional library routines. + (line 690) * __fractuqqusq2: Fixed-point fractional library routines. ! (line 684) * __fractuqquta: Fixed-point fractional library routines. ! (line 694) * __fractusada: Fixed-point fractional library routines. ! (line 836) * __fractusadf: Fixed-point fractional library routines. ! (line 857) * __fractusadi: Fixed-point fractional library routines. ! (line 854) * __fractusadq: Fixed-point fractional library routines. ! (line 833) * __fractusaha: Fixed-point fractional library routines. ! (line 834) * __fractusahi: Fixed-point fractional library routines. ! (line 852) * __fractusahq: Fixed-point fractional library routines. ! (line 831) * __fractusaqi: Fixed-point fractional library routines. ! (line 851) * __fractusaqq: Fixed-point fractional library routines. ! (line 830) * __fractusasa: Fixed-point fractional library routines. ! (line 835) * __fractusasf: Fixed-point fractional library routines. ! (line 856) * __fractusasi: Fixed-point fractional library routines. ! (line 853) * __fractusasq: Fixed-point fractional library routines. ! (line 832) * __fractusata: Fixed-point fractional library routines. ! (line 837) * __fractusati: Fixed-point fractional library routines. ! (line 855) * __fractusauda2: Fixed-point fractional library routines. ! (line 847) * __fractusaudq: Fixed-point fractional library routines. ! (line 843) * __fractusauha2: Fixed-point fractional library routines. ! (line 845) * __fractusauhq: Fixed-point fractional library routines. ! (line 840) * __fractusauqq: Fixed-point fractional library routines. ! (line 838) * __fractusausq: Fixed-point fractional library routines. (line 841) + * __fractusauta2: Fixed-point fractional library routines. + (line 849) * __fractusqda: Fixed-point fractional library routines. ! (line 738) * __fractusqdf: Fixed-point fractional library routines. ! (line 761) * __fractusqdi: Fixed-point fractional library routines. ! (line 758) * __fractusqdq: Fixed-point fractional library routines. ! (line 734) * __fractusqha: Fixed-point fractional library routines. ! (line 736) * __fractusqhi: Fixed-point fractional library routines. ! (line 756) * __fractusqhq: Fixed-point fractional library routines. ! (line 732) * __fractusqqi: Fixed-point fractional library routines. ! (line 755) * __fractusqqq: Fixed-point fractional library routines. ! (line 731) * __fractusqsa: Fixed-point fractional library routines. ! (line 737) * __fractusqsf: Fixed-point fractional library routines. ! (line 760) * __fractusqsi: Fixed-point fractional library routines. ! (line 757) * __fractusqsq: Fixed-point fractional library routines. ! (line 733) * __fractusqta: Fixed-point fractional library routines. ! (line 739) * __fractusqti: Fixed-point fractional library routines. ! (line 759) * __fractusquda: Fixed-point fractional library routines. ! (line 751) * __fractusqudq2: Fixed-point fractional library routines. ! (line 745) * __fractusquha: Fixed-point fractional library routines. ! (line 747) * __fractusquhq2: Fixed-point fractional library routines. ! (line 743) * __fractusquqq2: Fixed-point fractional library routines. (line 741) + * __fractusqusa: Fixed-point fractional library routines. + (line 749) * __fractusquta: Fixed-point fractional library routines. ! (line 753) * __fractutada: Fixed-point fractional library routines. ! (line 899) * __fractutadf: Fixed-point fractional library routines. ! (line 925) * __fractutadi: Fixed-point fractional library routines. ! (line 921) * __fractutadq: Fixed-point fractional library routines. ! (line 894) * __fractutaha: Fixed-point fractional library routines. ! (line 896) * __fractutahi: Fixed-point fractional library routines. ! (line 919) * __fractutahq: Fixed-point fractional library routines. ! (line 891) * __fractutaqi: Fixed-point fractional library routines. ! (line 917) * __fractutaqq: Fixed-point fractional library routines. ! (line 889) * __fractutasa: Fixed-point fractional library routines. ! (line 898) * __fractutasf: Fixed-point fractional library routines. ! (line 924) * __fractutasi: Fixed-point fractional library routines. ! (line 920) * __fractutasq: Fixed-point fractional library routines. ! (line 892) * __fractutata: Fixed-point fractional library routines. ! (line 901) * __fractutati: Fixed-point fractional library routines. ! (line 922) * __fractutauda2: Fixed-point fractional library routines. ! (line 915) * __fractutaudq: Fixed-point fractional library routines. ! (line 909) * __fractutauha2: Fixed-point fractional library routines. ! (line 911) * __fractutauhq: Fixed-point fractional library routines. ! (line 905) * __fractutauqq: Fixed-point fractional library routines. ! (line 903) * __fractutausa2: Fixed-point fractional library routines. ! (line 913) * __fractutausq: Fixed-point fractional library routines. ! (line 907) * __gedf2: Soft float library routines. (line 205) * __gesf2: Soft float library routines. *************** Concept Index *** 50887,50907 **** * __lshrti3: Integer library routines. (line 31) * __lshruda3: Fixed-point fractional library routines. ! (line 388) * __lshrudq3: Fixed-point fractional library routines. ! (line 382) * __lshruha3: Fixed-point fractional library routines. ! (line 384) * __lshruhq3: Fixed-point fractional library routines. ! (line 378) * __lshruqq3: Fixed-point fractional library routines. ! (line 376) * __lshrusa3: Fixed-point fractional library routines. ! (line 386) * __lshrusq3: Fixed-point fractional library routines. ! (line 380) * __lshruta3: Fixed-point fractional library routines. ! (line 390) * __ltdf2: Soft float library routines. (line 211) * __ltsf2: Soft float library routines. --- 50887,50907 ---- * __lshrti3: Integer library routines. (line 31) * __lshruda3: Fixed-point fractional library routines. ! (line 396) * __lshrudq3: Fixed-point fractional library routines. ! (line 390) * __lshruha3: Fixed-point fractional library routines. ! (line 392) * __lshruhq3: Fixed-point fractional library routines. ! (line 386) * __lshruqq3: Fixed-point fractional library routines. ! (line 384) * __lshrusa3: Fixed-point fractional library routines. ! (line 394) * __lshrusq3: Fixed-point fractional library routines. ! (line 388) * __lshruta3: Fixed-point fractional library routines. ! (line 398) * __ltdf2: Soft float library routines. (line 211) * __ltsf2: Soft float library routines. *************** Concept Index *** 50922,50928 **** * __morestack_segments: Miscellaneous routines. (line 44) * __mulda3: Fixed-point fractional library routines. ! (line 170) * __muldc3: Soft float library routines. (line 239) * __muldf3: Soft float library routines. --- 50922,50928 ---- * __morestack_segments: Miscellaneous routines. (line 44) * __mulda3: Fixed-point fractional library routines. ! (line 178) * __muldc3: Soft float library routines. (line 239) * __muldf3: Soft float library routines. *************** Concept Index *** 50930,50944 **** * __muldi3: Integer library routines. (line 42) * __muldq3: Fixed-point fractional library routines. ! (line 157) * __mulha3: Fixed-point fractional library routines. ! (line 167) * __mulhq3: Fixed-point fractional library routines. ! (line 155) * __mulqq3: Fixed-point fractional library routines. ! (line 153) * __mulsa3: Fixed-point fractional library routines. ! (line 169) * __mulsc3: Soft float library routines. (line 237) * __mulsf3: Soft float library routines. --- 50930,50944 ---- * __muldi3: Integer library routines. (line 42) * __muldq3: Fixed-point fractional library routines. ! (line 165) * __mulha3: Fixed-point fractional library routines. ! (line 175) * __mulhq3: Fixed-point fractional library routines. ! (line 163) * __mulqq3: Fixed-point fractional library routines. ! (line 161) * __mulsa3: Fixed-point fractional library routines. ! (line 177) * __mulsc3: Soft float library routines. (line 237) * __mulsf3: Soft float library routines. *************** Concept Index *** 50946,50954 **** * __mulsi3: Integer library routines. (line 41) * __mulsq3: Fixed-point fractional library routines. ! (line 156) * __multa3: Fixed-point fractional library routines. ! (line 171) * __multc3: Soft float library routines. (line 241) * __multf3: Soft float library routines. --- 50946,50954 ---- * __mulsi3: Integer library routines. (line 41) * __mulsq3: Fixed-point fractional library routines. ! (line 164) * __multa3: Fixed-point fractional library routines. ! (line 179) * __multc3: Soft float library routines. (line 241) * __multf3: Soft float library routines. *************** Concept Index *** 50956,50976 **** * __multi3: Integer library routines. (line 43) * __muluda3: Fixed-point fractional library routines. ! (line 177) * __muludq3: Fixed-point fractional library routines. - (line 165) - * __muluha3: Fixed-point fractional library routines. (line 173) * __muluhq3: Fixed-point fractional library routines. ! (line 161) * __muluqq3: Fixed-point fractional library routines. ! (line 159) * __mulusa3: Fixed-point fractional library routines. ! (line 175) * __mulusq3: Fixed-point fractional library routines. ! (line 163) * __muluta3: Fixed-point fractional library routines. ! (line 179) * __mulvdi3: Integer library routines. (line 114) * __mulvsi3: Integer library routines. --- 50956,50976 ---- * __multi3: Integer library routines. (line 43) * __muluda3: Fixed-point fractional library routines. ! (line 185) * __muludq3: Fixed-point fractional library routines. (line 173) + * __muluha3: Fixed-point fractional library routines. + (line 181) * __muluhq3: Fixed-point fractional library routines. ! (line 169) * __muluqq3: Fixed-point fractional library routines. ! (line 167) * __mulusa3: Fixed-point fractional library routines. ! (line 183) * __mulusq3: Fixed-point fractional library routines. ! (line 171) * __muluta3: Fixed-point fractional library routines. ! (line 187) * __mulvdi3: Integer library routines. (line 114) * __mulvsi3: Integer library routines. *************** Concept Index *** 50982,51028 **** * __nedf2: Soft float library routines. (line 199) * __negda2: Fixed-point fractional library routines. ! (line 298) * __negdf2: Soft float library routines. (line 55) * __negdi2: Integer library routines. (line 46) * __negdq2: Fixed-point fractional library routines. - (line 288) - * __negha2: Fixed-point fractional library routines. (line 296) * __neghq2: Fixed-point fractional library routines. ! (line 286) * __negqq2: Fixed-point fractional library routines. ! (line 285) * __negsa2: Fixed-point fractional library routines. ! (line 297) * __negsf2: Soft float library routines. (line 54) * __negsq2: Fixed-point fractional library routines. ! (line 287) * __negta2: Fixed-point fractional library routines. ! (line 299) * __negtf2: Soft float library routines. (line 56) * __negti2: Integer library routines. (line 47) * __neguda2: Fixed-point fractional library routines. ! (line 303) * __negudq2: Fixed-point fractional library routines. ! (line 294) * __neguha2: Fixed-point fractional library routines. ! (line 300) * __neguhq2: Fixed-point fractional library routines. ! (line 291) * __neguqq2: Fixed-point fractional library routines. ! (line 289) * __negusa2: Fixed-point fractional library routines. ! (line 302) * __negusq2: Fixed-point fractional library routines. ! (line 292) * __neguta2: Fixed-point fractional library routines. ! (line 305) * __negvdi2: Integer library routines. (line 118) * __negvsi2: Integer library routines. --- 50982,51028 ---- * __nedf2: Soft float library routines. (line 199) * __negda2: Fixed-point fractional library routines. ! (line 306) * __negdf2: Soft float library routines. (line 55) * __negdi2: Integer library routines. (line 46) * __negdq2: Fixed-point fractional library routines. (line 296) + * __negha2: Fixed-point fractional library routines. + (line 304) * __neghq2: Fixed-point fractional library routines. ! (line 294) * __negqq2: Fixed-point fractional library routines. ! (line 293) * __negsa2: Fixed-point fractional library routines. ! (line 305) * __negsf2: Soft float library routines. (line 54) * __negsq2: Fixed-point fractional library routines. ! (line 295) * __negta2: Fixed-point fractional library routines. ! (line 307) * __negtf2: Soft float library routines. (line 56) * __negti2: Integer library routines. (line 47) * __neguda2: Fixed-point fractional library routines. ! (line 311) * __negudq2: Fixed-point fractional library routines. ! (line 302) * __neguha2: Fixed-point fractional library routines. ! (line 308) * __neguhq2: Fixed-point fractional library routines. ! (line 299) * __neguqq2: Fixed-point fractional library routines. ! (line 297) * __negusa2: Fixed-point fractional library routines. ! (line 310) * __negusq2: Fixed-point fractional library routines. ! (line 300) * __neguta2: Fixed-point fractional library routines. ! (line 313) * __negvdi2: Integer library routines. (line 118) * __negvsi2: Integer library routines. *************** Concept Index *** 51054,52056 **** * __powixf2: Soft float library routines. (line 234) * __satfractdadq: Fixed-point fractional library routines. ! (line 1152) * __satfractdaha2: Fixed-point fractional library routines. ! (line 1153) * __satfractdahq: Fixed-point fractional library routines. ! (line 1150) * __satfractdaqq: Fixed-point fractional library routines. ! (line 1149) * __satfractdasa2: Fixed-point fractional library routines. ! (line 1154) * __satfractdasq: Fixed-point fractional library routines. ! (line 1151) * __satfractdata2: Fixed-point fractional library routines. ! (line 1155) * __satfractdauda: Fixed-point fractional library routines. ! (line 1165) * __satfractdaudq: Fixed-point fractional library routines. ! (line 1160) * __satfractdauha: Fixed-point fractional library routines. ! (line 1162) * __satfractdauhq: Fixed-point fractional library routines. ! (line 1158) * __satfractdauqq: Fixed-point fractional library routines. - (line 1156) - * __satfractdausa: Fixed-point fractional library routines. (line 1164) * __satfractdausq: Fixed-point fractional library routines. ! (line 1159) * __satfractdauta: Fixed-point fractional library routines. ! (line 1166) * __satfractdfda: Fixed-point fractional library routines. ! (line 1505) * __satfractdfdq: Fixed-point fractional library routines. ! (line 1502) * __satfractdfha: Fixed-point fractional library routines. ! (line 1503) * __satfractdfhq: Fixed-point fractional library routines. ! (line 1500) * __satfractdfqq: Fixed-point fractional library routines. ! (line 1499) * __satfractdfsa: Fixed-point fractional library routines. ! (line 1504) * __satfractdfsq: Fixed-point fractional library routines. ! (line 1501) * __satfractdfta: Fixed-point fractional library routines. - (line 1506) - * __satfractdfuda: Fixed-point fractional library routines. (line 1514) * __satfractdfudq: Fixed-point fractional library routines. ! (line 1510) * __satfractdfuha: Fixed-point fractional library routines. ! (line 1512) * __satfractdfuhq: Fixed-point fractional library routines. ! (line 1508) * __satfractdfuqq: Fixed-point fractional library routines. ! (line 1507) * __satfractdfusa: Fixed-point fractional library routines. ! (line 1513) * __satfractdfusq: Fixed-point fractional library routines. ! (line 1509) * __satfractdfuta: Fixed-point fractional library routines. ! (line 1515) * __satfractdida: Fixed-point fractional library routines. ! (line 1455) * __satfractdidq: Fixed-point fractional library routines. ! (line 1452) * __satfractdiha: Fixed-point fractional library routines. ! (line 1453) * __satfractdihq: Fixed-point fractional library routines. ! (line 1450) * __satfractdiqq: Fixed-point fractional library routines. ! (line 1449) * __satfractdisa: Fixed-point fractional library routines. ! (line 1454) * __satfractdisq: Fixed-point fractional library routines. ! (line 1451) * __satfractdita: Fixed-point fractional library routines. ! (line 1456) * __satfractdiuda: Fixed-point fractional library routines. ! (line 1463) * __satfractdiudq: Fixed-point fractional library routines. ! (line 1460) * __satfractdiuha: Fixed-point fractional library routines. ! (line 1461) * __satfractdiuhq: Fixed-point fractional library routines. ! (line 1458) * __satfractdiuqq: Fixed-point fractional library routines. ! (line 1457) * __satfractdiusa: Fixed-point fractional library routines. ! (line 1462) * __satfractdiusq: Fixed-point fractional library routines. ! (line 1459) * __satfractdiuta: Fixed-point fractional library routines. ! (line 1464) * __satfractdqda: Fixed-point fractional library routines. ! (line 1097) * __satfractdqha: Fixed-point fractional library routines. ! (line 1095) * __satfractdqhq2: Fixed-point fractional library routines. ! (line 1093) * __satfractdqqq2: Fixed-point fractional library routines. ! (line 1092) * __satfractdqsa: Fixed-point fractional library routines. ! (line 1096) * __satfractdqsq2: Fixed-point fractional library routines. ! (line 1094) * __satfractdqta: Fixed-point fractional library routines. ! (line 1098) * __satfractdquda: Fixed-point fractional library routines. ! (line 1109) * __satfractdqudq: Fixed-point fractional library routines. ! (line 1104) * __satfractdquha: Fixed-point fractional library routines. ! (line 1106) * __satfractdquhq: Fixed-point fractional library routines. ! (line 1101) * __satfractdquqq: Fixed-point fractional library routines. ! (line 1099) * __satfractdqusa: Fixed-point fractional library routines. ! (line 1108) * __satfractdqusq: Fixed-point fractional library routines. ! (line 1102) * __satfractdquta: Fixed-point fractional library routines. ! (line 1111) * __satfracthada2: Fixed-point fractional library routines. ! (line 1118) * __satfracthadq: Fixed-point fractional library routines. ! (line 1116) * __satfracthahq: Fixed-point fractional library routines. ! (line 1114) * __satfracthaqq: Fixed-point fractional library routines. ! (line 1113) * __satfracthasa2: Fixed-point fractional library routines. ! (line 1117) * __satfracthasq: Fixed-point fractional library routines. ! (line 1115) * __satfracthata2: Fixed-point fractional library routines. ! (line 1119) * __satfracthauda: Fixed-point fractional library routines. ! (line 1130) * __satfracthaudq: Fixed-point fractional library routines. ! (line 1125) * __satfracthauha: Fixed-point fractional library routines. ! (line 1127) * __satfracthauhq: Fixed-point fractional library routines. ! (line 1122) * __satfracthauqq: Fixed-point fractional library routines. ! (line 1120) * __satfracthausa: Fixed-point fractional library routines. ! (line 1129) * __satfracthausq: Fixed-point fractional library routines. ! (line 1123) * __satfracthauta: Fixed-point fractional library routines. ! (line 1132) * __satfracthida: Fixed-point fractional library routines. ! (line 1423) * __satfracthidq: Fixed-point fractional library routines. ! (line 1420) * __satfracthiha: Fixed-point fractional library routines. ! (line 1421) * __satfracthihq: Fixed-point fractional library routines. ! (line 1418) * __satfracthiqq: Fixed-point fractional library routines. ! (line 1417) * __satfracthisa: Fixed-point fractional library routines. ! (line 1422) * __satfracthisq: Fixed-point fractional library routines. ! (line 1419) * __satfracthita: Fixed-point fractional library routines. ! (line 1424) * __satfracthiuda: Fixed-point fractional library routines. ! (line 1431) * __satfracthiudq: Fixed-point fractional library routines. ! (line 1428) * __satfracthiuha: Fixed-point fractional library routines. ! (line 1429) * __satfracthiuhq: Fixed-point fractional library routines. ! (line 1426) * __satfracthiuqq: Fixed-point fractional library routines. ! (line 1425) * __satfracthiusa: Fixed-point fractional library routines. ! (line 1430) * __satfracthiusq: Fixed-point fractional library routines. ! (line 1427) * __satfracthiuta: Fixed-point fractional library routines. ! (line 1432) * __satfracthqda: Fixed-point fractional library routines. ! (line 1063) * __satfracthqdq2: Fixed-point fractional library routines. ! (line 1060) * __satfracthqha: Fixed-point fractional library routines. ! (line 1061) * __satfracthqqq2: Fixed-point fractional library routines. ! (line 1058) * __satfracthqsa: Fixed-point fractional library routines. ! (line 1062) * __satfracthqsq2: Fixed-point fractional library routines. ! (line 1059) * __satfracthqta: Fixed-point fractional library routines. ! (line 1064) * __satfracthquda: Fixed-point fractional library routines. ! (line 1071) * __satfracthqudq: Fixed-point fractional library routines. ! (line 1068) * __satfracthquha: Fixed-point fractional library routines. ! (line 1069) * __satfracthquhq: Fixed-point fractional library routines. ! (line 1066) * __satfracthquqq: Fixed-point fractional library routines. ! (line 1065) * __satfracthqusa: Fixed-point fractional library routines. ! (line 1070) * __satfracthqusq: Fixed-point fractional library routines. ! (line 1067) * __satfracthquta: Fixed-point fractional library routines. ! (line 1072) * __satfractqida: Fixed-point fractional library routines. ! (line 1401) * __satfractqidq: Fixed-point fractional library routines. ! (line 1398) * __satfractqiha: Fixed-point fractional library routines. ! (line 1399) * __satfractqihq: Fixed-point fractional library routines. ! (line 1396) * __satfractqiqq: Fixed-point fractional library routines. ! (line 1395) * __satfractqisa: Fixed-point fractional library routines. ! (line 1400) * __satfractqisq: Fixed-point fractional library routines. ! (line 1397) * __satfractqita: Fixed-point fractional library routines. ! (line 1402) * __satfractqiuda: Fixed-point fractional library routines. ! (line 1413) * __satfractqiudq: Fixed-point fractional library routines. ! (line 1408) * __satfractqiuha: Fixed-point fractional library routines. ! (line 1410) * __satfractqiuhq: Fixed-point fractional library routines. ! (line 1405) * __satfractqiuqq: Fixed-point fractional library routines. ! (line 1403) * __satfractqiusa: Fixed-point fractional library routines. ! (line 1412) * __satfractqiusq: Fixed-point fractional library routines. ! (line 1406) * __satfractqiuta: Fixed-point fractional library routines. ! (line 1415) * __satfractqqda: Fixed-point fractional library routines. ! (line 1042) * __satfractqqdq2: Fixed-point fractional library routines. ! (line 1039) * __satfractqqha: Fixed-point fractional library routines. ! (line 1040) * __satfractqqhq2: Fixed-point fractional library routines. ! (line 1037) * __satfractqqsa: Fixed-point fractional library routines. ! (line 1041) * __satfractqqsq2: Fixed-point fractional library routines. ! (line 1038) * __satfractqqta: Fixed-point fractional library routines. ! (line 1043) * __satfractqquda: Fixed-point fractional library routines. ! (line 1054) * __satfractqqudq: Fixed-point fractional library routines. ! (line 1049) * __satfractqquha: Fixed-point fractional library routines. ! (line 1051) * __satfractqquhq: Fixed-point fractional library routines. ! (line 1046) * __satfractqquqq: Fixed-point fractional library routines. ! (line 1044) * __satfractqqusa: Fixed-point fractional library routines. ! (line 1053) * __satfractqqusq: Fixed-point fractional library routines. ! (line 1047) * __satfractqquta: Fixed-point fractional library routines. ! (line 1056) * __satfractsada2: Fixed-point fractional library routines. ! (line 1139) * __satfractsadq: Fixed-point fractional library routines. ! (line 1137) * __satfractsaha2: Fixed-point fractional library routines. ! (line 1138) * __satfractsahq: Fixed-point fractional library routines. ! (line 1135) * __satfractsaqq: Fixed-point fractional library routines. ! (line 1134) * __satfractsasq: Fixed-point fractional library routines. ! (line 1136) * __satfractsata2: Fixed-point fractional library routines. ! (line 1140) * __satfractsauda: Fixed-point fractional library routines. ! (line 1147) * __satfractsaudq: Fixed-point fractional library routines. ! (line 1144) * __satfractsauha: Fixed-point fractional library routines. ! (line 1145) * __satfractsauhq: Fixed-point fractional library routines. ! (line 1142) * __satfractsauqq: Fixed-point fractional library routines. ! (line 1141) * __satfractsausa: Fixed-point fractional library routines. ! (line 1146) * __satfractsausq: Fixed-point fractional library routines. ! (line 1143) * __satfractsauta: Fixed-point fractional library routines. ! (line 1148) * __satfractsfda: Fixed-point fractional library routines. ! (line 1489) * __satfractsfdq: Fixed-point fractional library routines. ! (line 1486) * __satfractsfha: Fixed-point fractional library routines. ! (line 1487) * __satfractsfhq: Fixed-point fractional library routines. ! (line 1484) * __satfractsfqq: Fixed-point fractional library routines. ! (line 1483) * __satfractsfsa: Fixed-point fractional library routines. ! (line 1488) * __satfractsfsq: Fixed-point fractional library routines. ! (line 1485) * __satfractsfta: Fixed-point fractional library routines. ! (line 1490) * __satfractsfuda: Fixed-point fractional library routines. ! (line 1497) * __satfractsfudq: Fixed-point fractional library routines. ! (line 1494) * __satfractsfuha: Fixed-point fractional library routines. ! (line 1495) * __satfractsfuhq: Fixed-point fractional library routines. ! (line 1492) * __satfractsfuqq: Fixed-point fractional library routines. ! (line 1491) * __satfractsfusa: Fixed-point fractional library routines. ! (line 1496) * __satfractsfusq: Fixed-point fractional library routines. ! (line 1493) * __satfractsfuta: Fixed-point fractional library routines. ! (line 1498) * __satfractsida: Fixed-point fractional library routines. ! (line 1439) * __satfractsidq: Fixed-point fractional library routines. ! (line 1436) * __satfractsiha: Fixed-point fractional library routines. ! (line 1437) * __satfractsihq: Fixed-point fractional library routines. ! (line 1434) * __satfractsiqq: Fixed-point fractional library routines. ! (line 1433) * __satfractsisa: Fixed-point fractional library routines. ! (line 1438) * __satfractsisq: Fixed-point fractional library routines. ! (line 1435) * __satfractsita: Fixed-point fractional library routines. ! (line 1440) * __satfractsiuda: Fixed-point fractional library routines. ! (line 1447) * __satfractsiudq: Fixed-point fractional library routines. ! (line 1444) * __satfractsiuha: Fixed-point fractional library routines. ! (line 1445) * __satfractsiuhq: Fixed-point fractional library routines. ! (line 1442) * __satfractsiuqq: Fixed-point fractional library routines. ! (line 1441) * __satfractsiusa: Fixed-point fractional library routines. ! (line 1446) * __satfractsiusq: Fixed-point fractional library routines. ! (line 1443) * __satfractsiuta: Fixed-point fractional library routines. ! (line 1448) * __satfractsqda: Fixed-point fractional library routines. ! (line 1078) * __satfractsqdq2: Fixed-point fractional library routines. ! (line 1075) * __satfractsqha: Fixed-point fractional library routines. ! (line 1076) * __satfractsqhq2: Fixed-point fractional library routines. ! (line 1074) * __satfractsqqq2: Fixed-point fractional library routines. ! (line 1073) * __satfractsqsa: Fixed-point fractional library routines. ! (line 1077) * __satfractsqta: Fixed-point fractional library routines. ! (line 1079) * __satfractsquda: Fixed-point fractional library routines. ! (line 1089) * __satfractsqudq: Fixed-point fractional library routines. ! (line 1084) * __satfractsquha: Fixed-point fractional library routines. ! (line 1086) * __satfractsquhq: Fixed-point fractional library routines. ! (line 1082) * __satfractsquqq: Fixed-point fractional library routines. - (line 1080) - * __satfractsqusa: Fixed-point fractional library routines. (line 1088) * __satfractsqusq: Fixed-point fractional library routines. ! (line 1083) * __satfractsquta: Fixed-point fractional library routines. ! (line 1090) * __satfracttada2: Fixed-point fractional library routines. ! (line 1174) * __satfracttadq: Fixed-point fractional library routines. ! (line 1171) * __satfracttaha2: Fixed-point fractional library routines. ! (line 1172) * __satfracttahq: Fixed-point fractional library routines. ! (line 1169) * __satfracttaqq: Fixed-point fractional library routines. ! (line 1168) * __satfracttasa2: Fixed-point fractional library routines. ! (line 1173) * __satfracttasq: Fixed-point fractional library routines. ! (line 1170) * __satfracttauda: Fixed-point fractional library routines. ! (line 1185) * __satfracttaudq: Fixed-point fractional library routines. ! (line 1180) * __satfracttauha: Fixed-point fractional library routines. ! (line 1182) * __satfracttauhq: Fixed-point fractional library routines. ! (line 1177) * __satfracttauqq: Fixed-point fractional library routines. ! (line 1175) * __satfracttausa: Fixed-point fractional library routines. ! (line 1184) * __satfracttausq: Fixed-point fractional library routines. ! (line 1178) * __satfracttauta: Fixed-point fractional library routines. ! (line 1187) * __satfracttida: Fixed-point fractional library routines. ! (line 1471) * __satfracttidq: Fixed-point fractional library routines. ! (line 1468) * __satfracttiha: Fixed-point fractional library routines. ! (line 1469) * __satfracttihq: Fixed-point fractional library routines. ! (line 1466) * __satfracttiqq: Fixed-point fractional library routines. ! (line 1465) * __satfracttisa: Fixed-point fractional library routines. ! (line 1470) * __satfracttisq: Fixed-point fractional library routines. ! (line 1467) * __satfracttita: Fixed-point fractional library routines. - (line 1472) - * __satfracttiuda: Fixed-point fractional library routines. (line 1480) * __satfracttiudq: Fixed-point fractional library routines. ! (line 1476) * __satfracttiuha: Fixed-point fractional library routines. ! (line 1478) * __satfracttiuhq: Fixed-point fractional library routines. ! (line 1474) * __satfracttiuqq: Fixed-point fractional library routines. ! (line 1473) * __satfracttiusa: Fixed-point fractional library routines. ! (line 1479) * __satfracttiusq: Fixed-point fractional library routines. ! (line 1475) * __satfracttiuta: Fixed-point fractional library routines. ! (line 1481) * __satfractudada: Fixed-point fractional library routines. ! (line 1350) * __satfractudadq: Fixed-point fractional library routines. ! (line 1345) * __satfractudaha: Fixed-point fractional library routines. ! (line 1347) * __satfractudahq: Fixed-point fractional library routines. ! (line 1343) * __satfractudaqq: Fixed-point fractional library routines. - (line 1341) - * __satfractudasa: Fixed-point fractional library routines. (line 1349) * __satfractudasq: Fixed-point fractional library routines. ! (line 1344) * __satfractudata: Fixed-point fractional library routines. - (line 1351) - * __satfractudaudq: Fixed-point fractional library routines. (line 1359) * __satfractudauha2: Fixed-point fractional library routines. ! (line 1361) * __satfractudauhq: Fixed-point fractional library routines. ! (line 1355) * __satfractudauqq: Fixed-point fractional library routines. ! (line 1353) * __satfractudausa2: Fixed-point fractional library routines. ! (line 1363) * __satfractudausq: Fixed-point fractional library routines. - (line 1357) - * __satfractudauta2: Fixed-point fractional library routines. (line 1365) * __satfractudqda: Fixed-point fractional library routines. ! (line 1274) * __satfractudqdq: Fixed-point fractional library routines. ! (line 1269) * __satfractudqha: Fixed-point fractional library routines. ! (line 1271) * __satfractudqhq: Fixed-point fractional library routines. ! (line 1266) * __satfractudqqq: Fixed-point fractional library routines. ! (line 1264) * __satfractudqsa: Fixed-point fractional library routines. ! (line 1273) * __satfractudqsq: Fixed-point fractional library routines. ! (line 1267) * __satfractudqta: Fixed-point fractional library routines. ! (line 1276) * __satfractudquda: Fixed-point fractional library routines. ! (line 1288) * __satfractudquha: Fixed-point fractional library routines. ! (line 1284) * __satfractudquhq2: Fixed-point fractional library routines. ! (line 1280) * __satfractudquqq2: Fixed-point fractional library routines. - (line 1278) - * __satfractudqusa: Fixed-point fractional library routines. (line 1286) * __satfractudqusq2: Fixed-point fractional library routines. - (line 1282) - * __satfractudquta: Fixed-point fractional library routines. (line 1290) * __satfractuhada: Fixed-point fractional library routines. ! (line 1302) * __satfractuhadq: Fixed-point fractional library routines. ! (line 1297) * __satfractuhaha: Fixed-point fractional library routines. ! (line 1299) * __satfractuhahq: Fixed-point fractional library routines. ! (line 1294) * __satfractuhaqq: Fixed-point fractional library routines. ! (line 1292) * __satfractuhasa: Fixed-point fractional library routines. ! (line 1301) * __satfractuhasq: Fixed-point fractional library routines. ! (line 1295) * __satfractuhata: Fixed-point fractional library routines. ! (line 1304) * __satfractuhauda2: Fixed-point fractional library routines. ! (line 1316) * __satfractuhaudq: Fixed-point fractional library routines. ! (line 1312) * __satfractuhauhq: Fixed-point fractional library routines. ! (line 1308) * __satfractuhauqq: Fixed-point fractional library routines. - (line 1306) - * __satfractuhausa2: Fixed-point fractional library routines. (line 1314) * __satfractuhausq: Fixed-point fractional library routines. - (line 1310) - * __satfractuhauta2: Fixed-point fractional library routines. (line 1318) * __satfractuhqda: Fixed-point fractional library routines. ! (line 1223) * __satfractuhqdq: Fixed-point fractional library routines. ! (line 1220) * __satfractuhqha: Fixed-point fractional library routines. ! (line 1221) * __satfractuhqhq: Fixed-point fractional library routines. ! (line 1218) * __satfractuhqqq: Fixed-point fractional library routines. ! (line 1217) * __satfractuhqsa: Fixed-point fractional library routines. ! (line 1222) * __satfractuhqsq: Fixed-point fractional library routines. ! (line 1219) * __satfractuhqta: Fixed-point fractional library routines. ! (line 1224) * __satfractuhquda: Fixed-point fractional library routines. ! (line 1234) * __satfractuhqudq2: Fixed-point fractional library routines. ! (line 1229) * __satfractuhquha: Fixed-point fractional library routines. ! (line 1231) * __satfractuhquqq2: Fixed-point fractional library routines. - (line 1225) - * __satfractuhqusa: Fixed-point fractional library routines. (line 1233) * __satfractuhqusq2: Fixed-point fractional library routines. ! (line 1227) * __satfractuhquta: Fixed-point fractional library routines. ! (line 1236) * __satfractunsdida: Fixed-point fractional library routines. ! (line 1833) * __satfractunsdidq: Fixed-point fractional library routines. ! (line 1829) * __satfractunsdiha: Fixed-point fractional library routines. ! (line 1831) * __satfractunsdihq: Fixed-point fractional library routines. ! (line 1827) * __satfractunsdiqq: Fixed-point fractional library routines. ! (line 1826) * __satfractunsdisa: Fixed-point fractional library routines. ! (line 1832) * __satfractunsdisq: Fixed-point fractional library routines. ! (line 1828) * __satfractunsdita: Fixed-point fractional library routines. ! (line 1834) * __satfractunsdiuda: Fixed-point fractional library routines. ! (line 1848) * __satfractunsdiudq: Fixed-point fractional library routines. ! (line 1842) * __satfractunsdiuha: Fixed-point fractional library routines. ! (line 1844) * __satfractunsdiuhq: Fixed-point fractional library routines. ! (line 1838) * __satfractunsdiuqq: Fixed-point fractional library routines. ! (line 1836) * __satfractunsdiusa: Fixed-point fractional library routines. ! (line 1846) * __satfractunsdiusq: Fixed-point fractional library routines. ! (line 1840) * __satfractunsdiuta: Fixed-point fractional library routines. ! (line 1850) * __satfractunshida: Fixed-point fractional library routines. ! (line 1785) * __satfractunshidq: Fixed-point fractional library routines. ! (line 1781) * __satfractunshiha: Fixed-point fractional library routines. ! (line 1783) * __satfractunshihq: Fixed-point fractional library routines. ! (line 1779) * __satfractunshiqq: Fixed-point fractional library routines. ! (line 1778) * __satfractunshisa: Fixed-point fractional library routines. ! (line 1784) * __satfractunshisq: Fixed-point fractional library routines. ! (line 1780) * __satfractunshita: Fixed-point fractional library routines. ! (line 1786) * __satfractunshiuda: Fixed-point fractional library routines. ! (line 1800) * __satfractunshiudq: Fixed-point fractional library routines. ! (line 1794) * __satfractunshiuha: Fixed-point fractional library routines. ! (line 1796) * __satfractunshiuhq: Fixed-point fractional library routines. ! (line 1790) * __satfractunshiuqq: Fixed-point fractional library routines. ! (line 1788) * __satfractunshiusa: Fixed-point fractional library routines. ! (line 1798) * __satfractunshiusq: Fixed-point fractional library routines. ! (line 1792) * __satfractunshiuta: Fixed-point fractional library routines. ! (line 1802) * __satfractunsqida: Fixed-point fractional library routines. ! (line 1759) * __satfractunsqidq: Fixed-point fractional library routines. ! (line 1755) * __satfractunsqiha: Fixed-point fractional library routines. ! (line 1757) * __satfractunsqihq: Fixed-point fractional library routines. ! (line 1753) * __satfractunsqiqq: Fixed-point fractional library routines. ! (line 1752) * __satfractunsqisa: Fixed-point fractional library routines. ! (line 1758) * __satfractunsqisq: Fixed-point fractional library routines. ! (line 1754) * __satfractunsqita: Fixed-point fractional library routines. ! (line 1760) * __satfractunsqiuda: Fixed-point fractional library routines. ! (line 1774) * __satfractunsqiudq: Fixed-point fractional library routines. ! (line 1768) * __satfractunsqiuha: Fixed-point fractional library routines. ! (line 1770) * __satfractunsqiuhq: Fixed-point fractional library routines. ! (line 1764) * __satfractunsqiuqq: Fixed-point fractional library routines. ! (line 1762) * __satfractunsqiusa: Fixed-point fractional library routines. ! (line 1772) * __satfractunsqiusq: Fixed-point fractional library routines. ! (line 1766) * __satfractunsqiuta: Fixed-point fractional library routines. ! (line 1776) * __satfractunssida: Fixed-point fractional library routines. ! (line 1810) * __satfractunssidq: Fixed-point fractional library routines. ! (line 1807) * __satfractunssiha: Fixed-point fractional library routines. ! (line 1808) * __satfractunssihq: Fixed-point fractional library routines. ! (line 1805) * __satfractunssiqq: Fixed-point fractional library routines. ! (line 1804) * __satfractunssisa: Fixed-point fractional library routines. ! (line 1809) * __satfractunssisq: Fixed-point fractional library routines. ! (line 1806) * __satfractunssita: Fixed-point fractional library routines. ! (line 1811) * __satfractunssiuda: Fixed-point fractional library routines. ! (line 1822) * __satfractunssiudq: Fixed-point fractional library routines. ! (line 1817) * __satfractunssiuha: Fixed-point fractional library routines. ! (line 1819) * __satfractunssiuhq: Fixed-point fractional library routines. ! (line 1814) * __satfractunssiuqq: Fixed-point fractional library routines. ! (line 1812) * __satfractunssiusa: Fixed-point fractional library routines. ! (line 1821) * __satfractunssiusq: Fixed-point fractional library routines. ! (line 1815) * __satfractunssiuta: Fixed-point fractional library routines. ! (line 1824) * __satfractunstida: Fixed-point fractional library routines. ! (line 1862) * __satfractunstidq: Fixed-point fractional library routines. ! (line 1857) * __satfractunstiha: Fixed-point fractional library routines. ! (line 1859) * __satfractunstihq: Fixed-point fractional library routines. ! (line 1854) * __satfractunstiqq: Fixed-point fractional library routines. ! (line 1852) * __satfractunstisa: Fixed-point fractional library routines. ! (line 1861) * __satfractunstisq: Fixed-point fractional library routines. ! (line 1855) * __satfractunstita: Fixed-point fractional library routines. ! (line 1864) * __satfractunstiuda: Fixed-point fractional library routines. ! (line 1878) * __satfractunstiudq: Fixed-point fractional library routines. ! (line 1872) * __satfractunstiuha: Fixed-point fractional library routines. ! (line 1874) * __satfractunstiuhq: Fixed-point fractional library routines. ! (line 1868) * __satfractunstiuqq: Fixed-point fractional library routines. ! (line 1866) * __satfractunstiusa: Fixed-point fractional library routines. ! (line 1876) * __satfractunstiusq: Fixed-point fractional library routines. ! (line 1870) * __satfractunstiuta: Fixed-point fractional library routines. ! (line 1880) * __satfractuqqda: Fixed-point fractional library routines. ! (line 1199) * __satfractuqqdq: Fixed-point fractional library routines. ! (line 1194) * __satfractuqqha: Fixed-point fractional library routines. ! (line 1196) * __satfractuqqhq: Fixed-point fractional library routines. ! (line 1191) * __satfractuqqqq: Fixed-point fractional library routines. ! (line 1189) * __satfractuqqsa: Fixed-point fractional library routines. ! (line 1198) * __satfractuqqsq: Fixed-point fractional library routines. ! (line 1192) * __satfractuqqta: Fixed-point fractional library routines. ! (line 1201) * __satfractuqquda: Fixed-point fractional library routines. ! (line 1213) * __satfractuqqudq2: Fixed-point fractional library routines. ! (line 1207) * __satfractuqquha: Fixed-point fractional library routines. ! (line 1209) * __satfractuqquhq2: Fixed-point fractional library routines. - (line 1203) - * __satfractuqqusa: Fixed-point fractional library routines. (line 1211) * __satfractuqqusq2: Fixed-point fractional library routines. ! (line 1205) * __satfractuqquta: Fixed-point fractional library routines. ! (line 1215) * __satfractusada: Fixed-point fractional library routines. ! (line 1326) * __satfractusadq: Fixed-point fractional library routines. ! (line 1323) * __satfractusaha: Fixed-point fractional library routines. ! (line 1324) * __satfractusahq: Fixed-point fractional library routines. ! (line 1321) * __satfractusaqq: Fixed-point fractional library routines. ! (line 1320) * __satfractusasa: Fixed-point fractional library routines. ! (line 1325) * __satfractusasq: Fixed-point fractional library routines. ! (line 1322) * __satfractusata: Fixed-point fractional library routines. ! (line 1327) * __satfractusauda2: Fixed-point fractional library routines. ! (line 1337) * __satfractusaudq: Fixed-point fractional library routines. ! (line 1333) * __satfractusauha2: Fixed-point fractional library routines. ! (line 1335) * __satfractusauhq: Fixed-point fractional library routines. ! (line 1330) * __satfractusauqq: Fixed-point fractional library routines. ! (line 1328) * __satfractusausq: Fixed-point fractional library routines. - (line 1331) - * __satfractusauta2: Fixed-point fractional library routines. (line 1339) * __satfractusqda: Fixed-point fractional library routines. ! (line 1247) * __satfractusqdq: Fixed-point fractional library routines. ! (line 1242) * __satfractusqha: Fixed-point fractional library routines. ! (line 1244) * __satfractusqhq: Fixed-point fractional library routines. ! (line 1240) * __satfractusqqq: Fixed-point fractional library routines. - (line 1238) - * __satfractusqsa: Fixed-point fractional library routines. (line 1246) * __satfractusqsq: Fixed-point fractional library routines. ! (line 1241) * __satfractusqta: Fixed-point fractional library routines. ! (line 1248) * __satfractusquda: Fixed-point fractional library routines. ! (line 1260) * __satfractusqudq2: Fixed-point fractional library routines. ! (line 1254) * __satfractusquha: Fixed-point fractional library routines. ! (line 1256) * __satfractusquhq2: Fixed-point fractional library routines. ! (line 1252) * __satfractusquqq2: Fixed-point fractional library routines. - (line 1250) - * __satfractusqusa: Fixed-point fractional library routines. (line 1258) * __satfractusquta: Fixed-point fractional library routines. ! (line 1262) * __satfractutada: Fixed-point fractional library routines. ! (line 1377) * __satfractutadq: Fixed-point fractional library routines. ! (line 1372) * __satfractutaha: Fixed-point fractional library routines. ! (line 1374) * __satfractutahq: Fixed-point fractional library routines. ! (line 1369) * __satfractutaqq: Fixed-point fractional library routines. ! (line 1367) * __satfractutasa: Fixed-point fractional library routines. ! (line 1376) * __satfractutasq: Fixed-point fractional library routines. ! (line 1370) * __satfractutata: Fixed-point fractional library routines. ! (line 1379) * __satfractutauda2: Fixed-point fractional library routines. ! (line 1393) * __satfractutaudq: Fixed-point fractional library routines. ! (line 1387) * __satfractutauha2: Fixed-point fractional library routines. ! (line 1389) * __satfractutauhq: Fixed-point fractional library routines. ! (line 1383) * __satfractutauqq: Fixed-point fractional library routines. ! (line 1381) * __satfractutausa2: Fixed-point fractional library routines. ! (line 1391) * __satfractutausq: Fixed-point fractional library routines. ! (line 1385) * __splitstack_find: Miscellaneous routines. (line 15) * __ssaddda3: Fixed-point fractional library routines. ! (line 66) * __ssadddq3: Fixed-point fractional library routines. ! (line 61) * __ssaddha3: Fixed-point fractional library routines. ! (line 63) * __ssaddhq3: Fixed-point fractional library routines. ! (line 59) * __ssaddqq3: Fixed-point fractional library routines. - (line 57) - * __ssaddsa3: Fixed-point fractional library routines. (line 65) * __ssaddsq3: Fixed-point fractional library routines. ! (line 60) * __ssaddta3: Fixed-point fractional library routines. ! (line 67) * __ssashlda3: Fixed-point fractional library routines. ! (line 401) * __ssashldq3: Fixed-point fractional library routines. ! (line 397) * __ssashlha3: Fixed-point fractional library routines. ! (line 399) * __ssashlhq3: Fixed-point fractional library routines. ! (line 395) * __ssashlsa3: Fixed-point fractional library routines. ! (line 400) * __ssashlsq3: Fixed-point fractional library routines. ! (line 396) * __ssashlta3: Fixed-point fractional library routines. ! (line 402) * __ssdivda3: Fixed-point fractional library routines. ! (line 260) * __ssdivdq3: Fixed-point fractional library routines. ! (line 255) * __ssdivha3: Fixed-point fractional library routines. ! (line 257) * __ssdivhq3: Fixed-point fractional library routines. ! (line 253) * __ssdivqq3: Fixed-point fractional library routines. - (line 251) - * __ssdivsa3: Fixed-point fractional library routines. (line 259) * __ssdivsq3: Fixed-point fractional library routines. ! (line 254) * __ssdivta3: Fixed-point fractional library routines. ! (line 261) * __ssmulda3: Fixed-point fractional library routines. ! (line 192) * __ssmuldq3: Fixed-point fractional library routines. ! (line 187) * __ssmulha3: Fixed-point fractional library routines. ! (line 189) * __ssmulhq3: Fixed-point fractional library routines. ! (line 185) * __ssmulqq3: Fixed-point fractional library routines. - (line 183) - * __ssmulsa3: Fixed-point fractional library routines. (line 191) * __ssmulsq3: Fixed-point fractional library routines. ! (line 186) * __ssmulta3: Fixed-point fractional library routines. ! (line 193) * __ssnegda2: Fixed-point fractional library routines. ! (line 315) * __ssnegdq2: Fixed-point fractional library routines. ! (line 312) * __ssnegha2: Fixed-point fractional library routines. ! (line 313) * __ssneghq2: Fixed-point fractional library routines. ! (line 310) * __ssnegqq2: Fixed-point fractional library routines. ! (line 309) * __ssnegsa2: Fixed-point fractional library routines. ! (line 314) * __ssnegsq2: Fixed-point fractional library routines. ! (line 311) * __ssnegta2: Fixed-point fractional library routines. ! (line 316) * __sssubda3: Fixed-point fractional library routines. ! (line 128) * __sssubdq3: Fixed-point fractional library routines. ! (line 123) * __sssubha3: Fixed-point fractional library routines. ! (line 125) * __sssubhq3: Fixed-point fractional library routines. ! (line 121) * __sssubqq3: Fixed-point fractional library routines. - (line 119) - * __sssubsa3: Fixed-point fractional library routines. (line 127) * __sssubsq3: Fixed-point fractional library routines. ! (line 122) * __sssubta3: Fixed-point fractional library routines. ! (line 129) * __subda3: Fixed-point fractional library routines. ! (line 106) * __subdf3: Soft float library routines. (line 30) * __subdq3: Fixed-point fractional library routines. ! (line 93) * __subha3: Fixed-point fractional library routines. ! (line 103) * __subhq3: Fixed-point fractional library routines. ! (line 91) * __subqq3: Fixed-point fractional library routines. ! (line 89) * __subsa3: Fixed-point fractional library routines. ! (line 105) * __subsf3: Soft float library routines. (line 29) * __subsq3: Fixed-point fractional library routines. ! (line 92) * __subta3: Fixed-point fractional library routines. ! (line 107) * __subtf3: Soft float library routines. (line 31) * __subuda3: Fixed-point fractional library routines. ! (line 113) * __subudq3: Fixed-point fractional library routines. - (line 101) - * __subuha3: Fixed-point fractional library routines. (line 109) * __subuhq3: Fixed-point fractional library routines. ! (line 97) * __subuqq3: Fixed-point fractional library routines. ! (line 95) * __subusa3: Fixed-point fractional library routines. ! (line 111) * __subusq3: Fixed-point fractional library routines. ! (line 99) * __subuta3: Fixed-point fractional library routines. ! (line 115) * __subvdi3: Integer library routines. (line 122) * __subvsi3: Integer library routines. --- 51054,52056 ---- * __powixf2: Soft float library routines. (line 234) * __satfractdadq: Fixed-point fractional library routines. ! (line 1160) * __satfractdaha2: Fixed-point fractional library routines. ! (line 1161) * __satfractdahq: Fixed-point fractional library routines. ! (line 1158) * __satfractdaqq: Fixed-point fractional library routines. ! (line 1157) * __satfractdasa2: Fixed-point fractional library routines. ! (line 1162) * __satfractdasq: Fixed-point fractional library routines. ! (line 1159) * __satfractdata2: Fixed-point fractional library routines. ! (line 1163) * __satfractdauda: Fixed-point fractional library routines. ! (line 1173) * __satfractdaudq: Fixed-point fractional library routines. ! (line 1168) * __satfractdauha: Fixed-point fractional library routines. ! (line 1170) * __satfractdauhq: Fixed-point fractional library routines. ! (line 1166) * __satfractdauqq: Fixed-point fractional library routines. (line 1164) + * __satfractdausa: Fixed-point fractional library routines. + (line 1172) * __satfractdausq: Fixed-point fractional library routines. ! (line 1167) * __satfractdauta: Fixed-point fractional library routines. ! (line 1174) * __satfractdfda: Fixed-point fractional library routines. ! (line 1513) * __satfractdfdq: Fixed-point fractional library routines. ! (line 1510) * __satfractdfha: Fixed-point fractional library routines. ! (line 1511) * __satfractdfhq: Fixed-point fractional library routines. ! (line 1508) * __satfractdfqq: Fixed-point fractional library routines. ! (line 1507) * __satfractdfsa: Fixed-point fractional library routines. ! (line 1512) * __satfractdfsq: Fixed-point fractional library routines. ! (line 1509) * __satfractdfta: Fixed-point fractional library routines. (line 1514) + * __satfractdfuda: Fixed-point fractional library routines. + (line 1522) * __satfractdfudq: Fixed-point fractional library routines. ! (line 1518) * __satfractdfuha: Fixed-point fractional library routines. ! (line 1520) * __satfractdfuhq: Fixed-point fractional library routines. ! (line 1516) * __satfractdfuqq: Fixed-point fractional library routines. ! (line 1515) * __satfractdfusa: Fixed-point fractional library routines. ! (line 1521) * __satfractdfusq: Fixed-point fractional library routines. ! (line 1517) * __satfractdfuta: Fixed-point fractional library routines. ! (line 1523) * __satfractdida: Fixed-point fractional library routines. ! (line 1463) * __satfractdidq: Fixed-point fractional library routines. ! (line 1460) * __satfractdiha: Fixed-point fractional library routines. ! (line 1461) * __satfractdihq: Fixed-point fractional library routines. ! (line 1458) * __satfractdiqq: Fixed-point fractional library routines. ! (line 1457) * __satfractdisa: Fixed-point fractional library routines. ! (line 1462) * __satfractdisq: Fixed-point fractional library routines. ! (line 1459) * __satfractdita: Fixed-point fractional library routines. ! (line 1464) * __satfractdiuda: Fixed-point fractional library routines. ! (line 1471) * __satfractdiudq: Fixed-point fractional library routines. ! (line 1468) * __satfractdiuha: Fixed-point fractional library routines. ! (line 1469) * __satfractdiuhq: Fixed-point fractional library routines. ! (line 1466) * __satfractdiuqq: Fixed-point fractional library routines. ! (line 1465) * __satfractdiusa: Fixed-point fractional library routines. ! (line 1470) * __satfractdiusq: Fixed-point fractional library routines. ! (line 1467) * __satfractdiuta: Fixed-point fractional library routines. ! (line 1472) * __satfractdqda: Fixed-point fractional library routines. ! (line 1105) * __satfractdqha: Fixed-point fractional library routines. ! (line 1103) * __satfractdqhq2: Fixed-point fractional library routines. ! (line 1101) * __satfractdqqq2: Fixed-point fractional library routines. ! (line 1100) * __satfractdqsa: Fixed-point fractional library routines. ! (line 1104) * __satfractdqsq2: Fixed-point fractional library routines. ! (line 1102) * __satfractdqta: Fixed-point fractional library routines. ! (line 1106) * __satfractdquda: Fixed-point fractional library routines. ! (line 1117) * __satfractdqudq: Fixed-point fractional library routines. ! (line 1112) * __satfractdquha: Fixed-point fractional library routines. ! (line 1114) * __satfractdquhq: Fixed-point fractional library routines. ! (line 1109) * __satfractdquqq: Fixed-point fractional library routines. ! (line 1107) * __satfractdqusa: Fixed-point fractional library routines. ! (line 1116) * __satfractdqusq: Fixed-point fractional library routines. ! (line 1110) * __satfractdquta: Fixed-point fractional library routines. ! (line 1119) * __satfracthada2: Fixed-point fractional library routines. ! (line 1126) * __satfracthadq: Fixed-point fractional library routines. ! (line 1124) * __satfracthahq: Fixed-point fractional library routines. ! (line 1122) * __satfracthaqq: Fixed-point fractional library routines. ! (line 1121) * __satfracthasa2: Fixed-point fractional library routines. ! (line 1125) * __satfracthasq: Fixed-point fractional library routines. ! (line 1123) * __satfracthata2: Fixed-point fractional library routines. ! (line 1127) * __satfracthauda: Fixed-point fractional library routines. ! (line 1138) * __satfracthaudq: Fixed-point fractional library routines. ! (line 1133) * __satfracthauha: Fixed-point fractional library routines. ! (line 1135) * __satfracthauhq: Fixed-point fractional library routines. ! (line 1130) * __satfracthauqq: Fixed-point fractional library routines. ! (line 1128) * __satfracthausa: Fixed-point fractional library routines. ! (line 1137) * __satfracthausq: Fixed-point fractional library routines. ! (line 1131) * __satfracthauta: Fixed-point fractional library routines. ! (line 1140) * __satfracthida: Fixed-point fractional library routines. ! (line 1431) * __satfracthidq: Fixed-point fractional library routines. ! (line 1428) * __satfracthiha: Fixed-point fractional library routines. ! (line 1429) * __satfracthihq: Fixed-point fractional library routines. ! (line 1426) * __satfracthiqq: Fixed-point fractional library routines. ! (line 1425) * __satfracthisa: Fixed-point fractional library routines. ! (line 1430) * __satfracthisq: Fixed-point fractional library routines. ! (line 1427) * __satfracthita: Fixed-point fractional library routines. ! (line 1432) * __satfracthiuda: Fixed-point fractional library routines. ! (line 1439) * __satfracthiudq: Fixed-point fractional library routines. ! (line 1436) * __satfracthiuha: Fixed-point fractional library routines. ! (line 1437) * __satfracthiuhq: Fixed-point fractional library routines. ! (line 1434) * __satfracthiuqq: Fixed-point fractional library routines. ! (line 1433) * __satfracthiusa: Fixed-point fractional library routines. ! (line 1438) * __satfracthiusq: Fixed-point fractional library routines. ! (line 1435) * __satfracthiuta: Fixed-point fractional library routines. ! (line 1440) * __satfracthqda: Fixed-point fractional library routines. ! (line 1071) * __satfracthqdq2: Fixed-point fractional library routines. ! (line 1068) * __satfracthqha: Fixed-point fractional library routines. ! (line 1069) * __satfracthqqq2: Fixed-point fractional library routines. ! (line 1066) * __satfracthqsa: Fixed-point fractional library routines. ! (line 1070) * __satfracthqsq2: Fixed-point fractional library routines. ! (line 1067) * __satfracthqta: Fixed-point fractional library routines. ! (line 1072) * __satfracthquda: Fixed-point fractional library routines. ! (line 1079) * __satfracthqudq: Fixed-point fractional library routines. ! (line 1076) * __satfracthquha: Fixed-point fractional library routines. ! (line 1077) * __satfracthquhq: Fixed-point fractional library routines. ! (line 1074) * __satfracthquqq: Fixed-point fractional library routines. ! (line 1073) * __satfracthqusa: Fixed-point fractional library routines. ! (line 1078) * __satfracthqusq: Fixed-point fractional library routines. ! (line 1075) * __satfracthquta: Fixed-point fractional library routines. ! (line 1080) * __satfractqida: Fixed-point fractional library routines. ! (line 1409) * __satfractqidq: Fixed-point fractional library routines. ! (line 1406) * __satfractqiha: Fixed-point fractional library routines. ! (line 1407) * __satfractqihq: Fixed-point fractional library routines. ! (line 1404) * __satfractqiqq: Fixed-point fractional library routines. ! (line 1403) * __satfractqisa: Fixed-point fractional library routines. ! (line 1408) * __satfractqisq: Fixed-point fractional library routines. ! (line 1405) * __satfractqita: Fixed-point fractional library routines. ! (line 1410) * __satfractqiuda: Fixed-point fractional library routines. ! (line 1421) * __satfractqiudq: Fixed-point fractional library routines. ! (line 1416) * __satfractqiuha: Fixed-point fractional library routines. ! (line 1418) * __satfractqiuhq: Fixed-point fractional library routines. ! (line 1413) * __satfractqiuqq: Fixed-point fractional library routines. ! (line 1411) * __satfractqiusa: Fixed-point fractional library routines. ! (line 1420) * __satfractqiusq: Fixed-point fractional library routines. ! (line 1414) * __satfractqiuta: Fixed-point fractional library routines. ! (line 1423) * __satfractqqda: Fixed-point fractional library routines. ! (line 1050) * __satfractqqdq2: Fixed-point fractional library routines. ! (line 1047) * __satfractqqha: Fixed-point fractional library routines. ! (line 1048) * __satfractqqhq2: Fixed-point fractional library routines. ! (line 1045) * __satfractqqsa: Fixed-point fractional library routines. ! (line 1049) * __satfractqqsq2: Fixed-point fractional library routines. ! (line 1046) * __satfractqqta: Fixed-point fractional library routines. ! (line 1051) * __satfractqquda: Fixed-point fractional library routines. ! (line 1062) * __satfractqqudq: Fixed-point fractional library routines. ! (line 1057) * __satfractqquha: Fixed-point fractional library routines. ! (line 1059) * __satfractqquhq: Fixed-point fractional library routines. ! (line 1054) * __satfractqquqq: Fixed-point fractional library routines. ! (line 1052) * __satfractqqusa: Fixed-point fractional library routines. ! (line 1061) * __satfractqqusq: Fixed-point fractional library routines. ! (line 1055) * __satfractqquta: Fixed-point fractional library routines. ! (line 1064) * __satfractsada2: Fixed-point fractional library routines. ! (line 1147) * __satfractsadq: Fixed-point fractional library routines. ! (line 1145) * __satfractsaha2: Fixed-point fractional library routines. ! (line 1146) * __satfractsahq: Fixed-point fractional library routines. ! (line 1143) * __satfractsaqq: Fixed-point fractional library routines. ! (line 1142) * __satfractsasq: Fixed-point fractional library routines. ! (line 1144) * __satfractsata2: Fixed-point fractional library routines. ! (line 1148) * __satfractsauda: Fixed-point fractional library routines. ! (line 1155) * __satfractsaudq: Fixed-point fractional library routines. ! (line 1152) * __satfractsauha: Fixed-point fractional library routines. ! (line 1153) * __satfractsauhq: Fixed-point fractional library routines. ! (line 1150) * __satfractsauqq: Fixed-point fractional library routines. ! (line 1149) * __satfractsausa: Fixed-point fractional library routines. ! (line 1154) * __satfractsausq: Fixed-point fractional library routines. ! (line 1151) * __satfractsauta: Fixed-point fractional library routines. ! (line 1156) * __satfractsfda: Fixed-point fractional library routines. ! (line 1497) * __satfractsfdq: Fixed-point fractional library routines. ! (line 1494) * __satfractsfha: Fixed-point fractional library routines. ! (line 1495) * __satfractsfhq: Fixed-point fractional library routines. ! (line 1492) * __satfractsfqq: Fixed-point fractional library routines. ! (line 1491) * __satfractsfsa: Fixed-point fractional library routines. ! (line 1496) * __satfractsfsq: Fixed-point fractional library routines. ! (line 1493) * __satfractsfta: Fixed-point fractional library routines. ! (line 1498) * __satfractsfuda: Fixed-point fractional library routines. ! (line 1505) * __satfractsfudq: Fixed-point fractional library routines. ! (line 1502) * __satfractsfuha: Fixed-point fractional library routines. ! (line 1503) * __satfractsfuhq: Fixed-point fractional library routines. ! (line 1500) * __satfractsfuqq: Fixed-point fractional library routines. ! (line 1499) * __satfractsfusa: Fixed-point fractional library routines. ! (line 1504) * __satfractsfusq: Fixed-point fractional library routines. ! (line 1501) * __satfractsfuta: Fixed-point fractional library routines. ! (line 1506) * __satfractsida: Fixed-point fractional library routines. ! (line 1447) * __satfractsidq: Fixed-point fractional library routines. ! (line 1444) * __satfractsiha: Fixed-point fractional library routines. ! (line 1445) * __satfractsihq: Fixed-point fractional library routines. ! (line 1442) * __satfractsiqq: Fixed-point fractional library routines. ! (line 1441) * __satfractsisa: Fixed-point fractional library routines. ! (line 1446) * __satfractsisq: Fixed-point fractional library routines. ! (line 1443) * __satfractsita: Fixed-point fractional library routines. ! (line 1448) * __satfractsiuda: Fixed-point fractional library routines. ! (line 1455) * __satfractsiudq: Fixed-point fractional library routines. ! (line 1452) * __satfractsiuha: Fixed-point fractional library routines. ! (line 1453) * __satfractsiuhq: Fixed-point fractional library routines. ! (line 1450) * __satfractsiuqq: Fixed-point fractional library routines. ! (line 1449) * __satfractsiusa: Fixed-point fractional library routines. ! (line 1454) * __satfractsiusq: Fixed-point fractional library routines. ! (line 1451) * __satfractsiuta: Fixed-point fractional library routines. ! (line 1456) * __satfractsqda: Fixed-point fractional library routines. ! (line 1086) * __satfractsqdq2: Fixed-point fractional library routines. ! (line 1083) * __satfractsqha: Fixed-point fractional library routines. ! (line 1084) * __satfractsqhq2: Fixed-point fractional library routines. ! (line 1082) * __satfractsqqq2: Fixed-point fractional library routines. ! (line 1081) * __satfractsqsa: Fixed-point fractional library routines. ! (line 1085) * __satfractsqta: Fixed-point fractional library routines. ! (line 1087) * __satfractsquda: Fixed-point fractional library routines. ! (line 1097) * __satfractsqudq: Fixed-point fractional library routines. ! (line 1092) * __satfractsquha: Fixed-point fractional library routines. ! (line 1094) * __satfractsquhq: Fixed-point fractional library routines. ! (line 1090) * __satfractsquqq: Fixed-point fractional library routines. (line 1088) + * __satfractsqusa: Fixed-point fractional library routines. + (line 1096) * __satfractsqusq: Fixed-point fractional library routines. ! (line 1091) * __satfractsquta: Fixed-point fractional library routines. ! (line 1098) * __satfracttada2: Fixed-point fractional library routines. ! (line 1182) * __satfracttadq: Fixed-point fractional library routines. ! (line 1179) * __satfracttaha2: Fixed-point fractional library routines. ! (line 1180) * __satfracttahq: Fixed-point fractional library routines. ! (line 1177) * __satfracttaqq: Fixed-point fractional library routines. ! (line 1176) * __satfracttasa2: Fixed-point fractional library routines. ! (line 1181) * __satfracttasq: Fixed-point fractional library routines. ! (line 1178) * __satfracttauda: Fixed-point fractional library routines. ! (line 1193) * __satfracttaudq: Fixed-point fractional library routines. ! (line 1188) * __satfracttauha: Fixed-point fractional library routines. ! (line 1190) * __satfracttauhq: Fixed-point fractional library routines. ! (line 1185) * __satfracttauqq: Fixed-point fractional library routines. ! (line 1183) * __satfracttausa: Fixed-point fractional library routines. ! (line 1192) * __satfracttausq: Fixed-point fractional library routines. ! (line 1186) * __satfracttauta: Fixed-point fractional library routines. ! (line 1195) * __satfracttida: Fixed-point fractional library routines. ! (line 1479) * __satfracttidq: Fixed-point fractional library routines. ! (line 1476) * __satfracttiha: Fixed-point fractional library routines. ! (line 1477) * __satfracttihq: Fixed-point fractional library routines. ! (line 1474) * __satfracttiqq: Fixed-point fractional library routines. ! (line 1473) * __satfracttisa: Fixed-point fractional library routines. ! (line 1478) * __satfracttisq: Fixed-point fractional library routines. ! (line 1475) * __satfracttita: Fixed-point fractional library routines. (line 1480) + * __satfracttiuda: Fixed-point fractional library routines. + (line 1488) * __satfracttiudq: Fixed-point fractional library routines. ! (line 1484) * __satfracttiuha: Fixed-point fractional library routines. ! (line 1486) * __satfracttiuhq: Fixed-point fractional library routines. ! (line 1482) * __satfracttiuqq: Fixed-point fractional library routines. ! (line 1481) * __satfracttiusa: Fixed-point fractional library routines. ! (line 1487) * __satfracttiusq: Fixed-point fractional library routines. ! (line 1483) * __satfracttiuta: Fixed-point fractional library routines. ! (line 1489) * __satfractudada: Fixed-point fractional library routines. ! (line 1358) * __satfractudadq: Fixed-point fractional library routines. ! (line 1353) * __satfractudaha: Fixed-point fractional library routines. ! (line 1355) * __satfractudahq: Fixed-point fractional library routines. ! (line 1351) * __satfractudaqq: Fixed-point fractional library routines. (line 1349) + * __satfractudasa: Fixed-point fractional library routines. + (line 1357) * __satfractudasq: Fixed-point fractional library routines. ! (line 1352) * __satfractudata: Fixed-point fractional library routines. (line 1359) + * __satfractudaudq: Fixed-point fractional library routines. + (line 1367) * __satfractudauha2: Fixed-point fractional library routines. ! (line 1369) * __satfractudauhq: Fixed-point fractional library routines. ! (line 1363) * __satfractudauqq: Fixed-point fractional library routines. ! (line 1361) * __satfractudausa2: Fixed-point fractional library routines. ! (line 1371) * __satfractudausq: Fixed-point fractional library routines. (line 1365) + * __satfractudauta2: Fixed-point fractional library routines. + (line 1373) * __satfractudqda: Fixed-point fractional library routines. ! (line 1282) * __satfractudqdq: Fixed-point fractional library routines. ! (line 1277) * __satfractudqha: Fixed-point fractional library routines. ! (line 1279) * __satfractudqhq: Fixed-point fractional library routines. ! (line 1274) * __satfractudqqq: Fixed-point fractional library routines. ! (line 1272) * __satfractudqsa: Fixed-point fractional library routines. ! (line 1281) * __satfractudqsq: Fixed-point fractional library routines. ! (line 1275) * __satfractudqta: Fixed-point fractional library routines. ! (line 1284) * __satfractudquda: Fixed-point fractional library routines. ! (line 1296) * __satfractudquha: Fixed-point fractional library routines. ! (line 1292) * __satfractudquhq2: Fixed-point fractional library routines. ! (line 1288) * __satfractudquqq2: Fixed-point fractional library routines. (line 1286) + * __satfractudqusa: Fixed-point fractional library routines. + (line 1294) * __satfractudqusq2: Fixed-point fractional library routines. (line 1290) + * __satfractudquta: Fixed-point fractional library routines. + (line 1298) * __satfractuhada: Fixed-point fractional library routines. ! (line 1310) * __satfractuhadq: Fixed-point fractional library routines. ! (line 1305) * __satfractuhaha: Fixed-point fractional library routines. ! (line 1307) * __satfractuhahq: Fixed-point fractional library routines. ! (line 1302) * __satfractuhaqq: Fixed-point fractional library routines. ! (line 1300) * __satfractuhasa: Fixed-point fractional library routines. ! (line 1309) * __satfractuhasq: Fixed-point fractional library routines. ! (line 1303) * __satfractuhata: Fixed-point fractional library routines. ! (line 1312) * __satfractuhauda2: Fixed-point fractional library routines. ! (line 1324) * __satfractuhaudq: Fixed-point fractional library routines. ! (line 1320) * __satfractuhauhq: Fixed-point fractional library routines. ! (line 1316) * __satfractuhauqq: Fixed-point fractional library routines. (line 1314) + * __satfractuhausa2: Fixed-point fractional library routines. + (line 1322) * __satfractuhausq: Fixed-point fractional library routines. (line 1318) + * __satfractuhauta2: Fixed-point fractional library routines. + (line 1326) * __satfractuhqda: Fixed-point fractional library routines. ! (line 1231) * __satfractuhqdq: Fixed-point fractional library routines. ! (line 1228) * __satfractuhqha: Fixed-point fractional library routines. ! (line 1229) * __satfractuhqhq: Fixed-point fractional library routines. ! (line 1226) * __satfractuhqqq: Fixed-point fractional library routines. ! (line 1225) * __satfractuhqsa: Fixed-point fractional library routines. ! (line 1230) * __satfractuhqsq: Fixed-point fractional library routines. ! (line 1227) * __satfractuhqta: Fixed-point fractional library routines. ! (line 1232) * __satfractuhquda: Fixed-point fractional library routines. ! (line 1242) * __satfractuhqudq2: Fixed-point fractional library routines. ! (line 1237) * __satfractuhquha: Fixed-point fractional library routines. ! (line 1239) * __satfractuhquqq2: Fixed-point fractional library routines. (line 1233) + * __satfractuhqusa: Fixed-point fractional library routines. + (line 1241) * __satfractuhqusq2: Fixed-point fractional library routines. ! (line 1235) * __satfractuhquta: Fixed-point fractional library routines. ! (line 1244) * __satfractunsdida: Fixed-point fractional library routines. ! (line 1841) * __satfractunsdidq: Fixed-point fractional library routines. ! (line 1837) * __satfractunsdiha: Fixed-point fractional library routines. ! (line 1839) * __satfractunsdihq: Fixed-point fractional library routines. ! (line 1835) * __satfractunsdiqq: Fixed-point fractional library routines. ! (line 1834) * __satfractunsdisa: Fixed-point fractional library routines. ! (line 1840) * __satfractunsdisq: Fixed-point fractional library routines. ! (line 1836) * __satfractunsdita: Fixed-point fractional library routines. ! (line 1842) * __satfractunsdiuda: Fixed-point fractional library routines. ! (line 1856) * __satfractunsdiudq: Fixed-point fractional library routines. ! (line 1850) * __satfractunsdiuha: Fixed-point fractional library routines. ! (line 1852) * __satfractunsdiuhq: Fixed-point fractional library routines. ! (line 1846) * __satfractunsdiuqq: Fixed-point fractional library routines. ! (line 1844) * __satfractunsdiusa: Fixed-point fractional library routines. ! (line 1854) * __satfractunsdiusq: Fixed-point fractional library routines. ! (line 1848) * __satfractunsdiuta: Fixed-point fractional library routines. ! (line 1858) * __satfractunshida: Fixed-point fractional library routines. ! (line 1793) * __satfractunshidq: Fixed-point fractional library routines. ! (line 1789) * __satfractunshiha: Fixed-point fractional library routines. ! (line 1791) * __satfractunshihq: Fixed-point fractional library routines. ! (line 1787) * __satfractunshiqq: Fixed-point fractional library routines. ! (line 1786) * __satfractunshisa: Fixed-point fractional library routines. ! (line 1792) * __satfractunshisq: Fixed-point fractional library routines. ! (line 1788) * __satfractunshita: Fixed-point fractional library routines. ! (line 1794) * __satfractunshiuda: Fixed-point fractional library routines. ! (line 1808) * __satfractunshiudq: Fixed-point fractional library routines. ! (line 1802) * __satfractunshiuha: Fixed-point fractional library routines. ! (line 1804) * __satfractunshiuhq: Fixed-point fractional library routines. ! (line 1798) * __satfractunshiuqq: Fixed-point fractional library routines. ! (line 1796) * __satfractunshiusa: Fixed-point fractional library routines. ! (line 1806) * __satfractunshiusq: Fixed-point fractional library routines. ! (line 1800) * __satfractunshiuta: Fixed-point fractional library routines. ! (line 1810) * __satfractunsqida: Fixed-point fractional library routines. ! (line 1767) * __satfractunsqidq: Fixed-point fractional library routines. ! (line 1763) * __satfractunsqiha: Fixed-point fractional library routines. ! (line 1765) * __satfractunsqihq: Fixed-point fractional library routines. ! (line 1761) * __satfractunsqiqq: Fixed-point fractional library routines. ! (line 1760) * __satfractunsqisa: Fixed-point fractional library routines. ! (line 1766) * __satfractunsqisq: Fixed-point fractional library routines. ! (line 1762) * __satfractunsqita: Fixed-point fractional library routines. ! (line 1768) * __satfractunsqiuda: Fixed-point fractional library routines. ! (line 1782) * __satfractunsqiudq: Fixed-point fractional library routines. ! (line 1776) * __satfractunsqiuha: Fixed-point fractional library routines. ! (line 1778) * __satfractunsqiuhq: Fixed-point fractional library routines. ! (line 1772) * __satfractunsqiuqq: Fixed-point fractional library routines. ! (line 1770) * __satfractunsqiusa: Fixed-point fractional library routines. ! (line 1780) * __satfractunsqiusq: Fixed-point fractional library routines. ! (line 1774) * __satfractunsqiuta: Fixed-point fractional library routines. ! (line 1784) * __satfractunssida: Fixed-point fractional library routines. ! (line 1818) * __satfractunssidq: Fixed-point fractional library routines. ! (line 1815) * __satfractunssiha: Fixed-point fractional library routines. ! (line 1816) * __satfractunssihq: Fixed-point fractional library routines. ! (line 1813) * __satfractunssiqq: Fixed-point fractional library routines. ! (line 1812) * __satfractunssisa: Fixed-point fractional library routines. ! (line 1817) * __satfractunssisq: Fixed-point fractional library routines. ! (line 1814) * __satfractunssita: Fixed-point fractional library routines. ! (line 1819) * __satfractunssiuda: Fixed-point fractional library routines. ! (line 1830) * __satfractunssiudq: Fixed-point fractional library routines. ! (line 1825) * __satfractunssiuha: Fixed-point fractional library routines. ! (line 1827) * __satfractunssiuhq: Fixed-point fractional library routines. ! (line 1822) * __satfractunssiuqq: Fixed-point fractional library routines. ! (line 1820) * __satfractunssiusa: Fixed-point fractional library routines. ! (line 1829) * __satfractunssiusq: Fixed-point fractional library routines. ! (line 1823) * __satfractunssiuta: Fixed-point fractional library routines. ! (line 1832) * __satfractunstida: Fixed-point fractional library routines. ! (line 1870) * __satfractunstidq: Fixed-point fractional library routines. ! (line 1865) * __satfractunstiha: Fixed-point fractional library routines. ! (line 1867) * __satfractunstihq: Fixed-point fractional library routines. ! (line 1862) * __satfractunstiqq: Fixed-point fractional library routines. ! (line 1860) * __satfractunstisa: Fixed-point fractional library routines. ! (line 1869) * __satfractunstisq: Fixed-point fractional library routines. ! (line 1863) * __satfractunstita: Fixed-point fractional library routines. ! (line 1872) * __satfractunstiuda: Fixed-point fractional library routines. ! (line 1886) * __satfractunstiudq: Fixed-point fractional library routines. ! (line 1880) * __satfractunstiuha: Fixed-point fractional library routines. ! (line 1882) * __satfractunstiuhq: Fixed-point fractional library routines. ! (line 1876) * __satfractunstiuqq: Fixed-point fractional library routines. ! (line 1874) * __satfractunstiusa: Fixed-point fractional library routines. ! (line 1884) * __satfractunstiusq: Fixed-point fractional library routines. ! (line 1878) * __satfractunstiuta: Fixed-point fractional library routines. ! (line 1888) * __satfractuqqda: Fixed-point fractional library routines. ! (line 1207) * __satfractuqqdq: Fixed-point fractional library routines. ! (line 1202) * __satfractuqqha: Fixed-point fractional library routines. ! (line 1204) * __satfractuqqhq: Fixed-point fractional library routines. ! (line 1199) * __satfractuqqqq: Fixed-point fractional library routines. ! (line 1197) * __satfractuqqsa: Fixed-point fractional library routines. ! (line 1206) * __satfractuqqsq: Fixed-point fractional library routines. ! (line 1200) * __satfractuqqta: Fixed-point fractional library routines. ! (line 1209) * __satfractuqquda: Fixed-point fractional library routines. ! (line 1221) * __satfractuqqudq2: Fixed-point fractional library routines. ! (line 1215) * __satfractuqquha: Fixed-point fractional library routines. ! (line 1217) * __satfractuqquhq2: Fixed-point fractional library routines. (line 1211) + * __satfractuqqusa: Fixed-point fractional library routines. + (line 1219) * __satfractuqqusq2: Fixed-point fractional library routines. ! (line 1213) * __satfractuqquta: Fixed-point fractional library routines. ! (line 1223) * __satfractusada: Fixed-point fractional library routines. ! (line 1334) * __satfractusadq: Fixed-point fractional library routines. ! (line 1331) * __satfractusaha: Fixed-point fractional library routines. ! (line 1332) * __satfractusahq: Fixed-point fractional library routines. ! (line 1329) * __satfractusaqq: Fixed-point fractional library routines. ! (line 1328) * __satfractusasa: Fixed-point fractional library routines. ! (line 1333) * __satfractusasq: Fixed-point fractional library routines. ! (line 1330) * __satfractusata: Fixed-point fractional library routines. ! (line 1335) * __satfractusauda2: Fixed-point fractional library routines. ! (line 1345) * __satfractusaudq: Fixed-point fractional library routines. ! (line 1341) * __satfractusauha2: Fixed-point fractional library routines. ! (line 1343) * __satfractusauhq: Fixed-point fractional library routines. ! (line 1338) * __satfractusauqq: Fixed-point fractional library routines. ! (line 1336) * __satfractusausq: Fixed-point fractional library routines. (line 1339) + * __satfractusauta2: Fixed-point fractional library routines. + (line 1347) * __satfractusqda: Fixed-point fractional library routines. ! (line 1255) * __satfractusqdq: Fixed-point fractional library routines. ! (line 1250) * __satfractusqha: Fixed-point fractional library routines. ! (line 1252) * __satfractusqhq: Fixed-point fractional library routines. ! (line 1248) * __satfractusqqq: Fixed-point fractional library routines. (line 1246) + * __satfractusqsa: Fixed-point fractional library routines. + (line 1254) * __satfractusqsq: Fixed-point fractional library routines. ! (line 1249) * __satfractusqta: Fixed-point fractional library routines. ! (line 1256) * __satfractusquda: Fixed-point fractional library routines. ! (line 1268) * __satfractusqudq2: Fixed-point fractional library routines. ! (line 1262) * __satfractusquha: Fixed-point fractional library routines. ! (line 1264) * __satfractusquhq2: Fixed-point fractional library routines. ! (line 1260) * __satfractusquqq2: Fixed-point fractional library routines. (line 1258) + * __satfractusqusa: Fixed-point fractional library routines. + (line 1266) * __satfractusquta: Fixed-point fractional library routines. ! (line 1270) * __satfractutada: Fixed-point fractional library routines. ! (line 1385) * __satfractutadq: Fixed-point fractional library routines. ! (line 1380) * __satfractutaha: Fixed-point fractional library routines. ! (line 1382) * __satfractutahq: Fixed-point fractional library routines. ! (line 1377) * __satfractutaqq: Fixed-point fractional library routines. ! (line 1375) * __satfractutasa: Fixed-point fractional library routines. ! (line 1384) * __satfractutasq: Fixed-point fractional library routines. ! (line 1378) * __satfractutata: Fixed-point fractional library routines. ! (line 1387) * __satfractutauda2: Fixed-point fractional library routines. ! (line 1401) * __satfractutaudq: Fixed-point fractional library routines. ! (line 1395) * __satfractutauha2: Fixed-point fractional library routines. ! (line 1397) * __satfractutauhq: Fixed-point fractional library routines. ! (line 1391) * __satfractutauqq: Fixed-point fractional library routines. ! (line 1389) * __satfractutausa2: Fixed-point fractional library routines. ! (line 1399) * __satfractutausq: Fixed-point fractional library routines. ! (line 1393) * __splitstack_find: Miscellaneous routines. (line 15) * __ssaddda3: Fixed-point fractional library routines. ! (line 74) * __ssadddq3: Fixed-point fractional library routines. ! (line 69) * __ssaddha3: Fixed-point fractional library routines. ! (line 71) * __ssaddhq3: Fixed-point fractional library routines. ! (line 67) * __ssaddqq3: Fixed-point fractional library routines. (line 65) + * __ssaddsa3: Fixed-point fractional library routines. + (line 73) * __ssaddsq3: Fixed-point fractional library routines. ! (line 68) * __ssaddta3: Fixed-point fractional library routines. ! (line 75) * __ssashlda3: Fixed-point fractional library routines. ! (line 409) * __ssashldq3: Fixed-point fractional library routines. ! (line 405) * __ssashlha3: Fixed-point fractional library routines. ! (line 407) * __ssashlhq3: Fixed-point fractional library routines. ! (line 403) * __ssashlsa3: Fixed-point fractional library routines. ! (line 408) * __ssashlsq3: Fixed-point fractional library routines. ! (line 404) * __ssashlta3: Fixed-point fractional library routines. ! (line 410) * __ssdivda3: Fixed-point fractional library routines. ! (line 268) * __ssdivdq3: Fixed-point fractional library routines. ! (line 263) * __ssdivha3: Fixed-point fractional library routines. ! (line 265) * __ssdivhq3: Fixed-point fractional library routines. ! (line 261) * __ssdivqq3: Fixed-point fractional library routines. (line 259) + * __ssdivsa3: Fixed-point fractional library routines. + (line 267) * __ssdivsq3: Fixed-point fractional library routines. ! (line 262) * __ssdivta3: Fixed-point fractional library routines. ! (line 269) * __ssmulda3: Fixed-point fractional library routines. ! (line 200) * __ssmuldq3: Fixed-point fractional library routines. ! (line 195) * __ssmulha3: Fixed-point fractional library routines. ! (line 197) * __ssmulhq3: Fixed-point fractional library routines. ! (line 193) * __ssmulqq3: Fixed-point fractional library routines. (line 191) + * __ssmulsa3: Fixed-point fractional library routines. + (line 199) * __ssmulsq3: Fixed-point fractional library routines. ! (line 194) * __ssmulta3: Fixed-point fractional library routines. ! (line 201) * __ssnegda2: Fixed-point fractional library routines. ! (line 323) * __ssnegdq2: Fixed-point fractional library routines. ! (line 320) * __ssnegha2: Fixed-point fractional library routines. ! (line 321) * __ssneghq2: Fixed-point fractional library routines. ! (line 318) * __ssnegqq2: Fixed-point fractional library routines. ! (line 317) * __ssnegsa2: Fixed-point fractional library routines. ! (line 322) * __ssnegsq2: Fixed-point fractional library routines. ! (line 319) * __ssnegta2: Fixed-point fractional library routines. ! (line 324) * __sssubda3: Fixed-point fractional library routines. ! (line 136) * __sssubdq3: Fixed-point fractional library routines. ! (line 131) * __sssubha3: Fixed-point fractional library routines. ! (line 133) * __sssubhq3: Fixed-point fractional library routines. ! (line 129) * __sssubqq3: Fixed-point fractional library routines. (line 127) + * __sssubsa3: Fixed-point fractional library routines. + (line 135) * __sssubsq3: Fixed-point fractional library routines. ! (line 130) * __sssubta3: Fixed-point fractional library routines. ! (line 137) * __subda3: Fixed-point fractional library routines. ! (line 114) * __subdf3: Soft float library routines. (line 30) * __subdq3: Fixed-point fractional library routines. ! (line 101) * __subha3: Fixed-point fractional library routines. ! (line 111) * __subhq3: Fixed-point fractional library routines. ! (line 99) * __subqq3: Fixed-point fractional library routines. ! (line 97) * __subsa3: Fixed-point fractional library routines. ! (line 113) * __subsf3: Soft float library routines. (line 29) * __subsq3: Fixed-point fractional library routines. ! (line 100) * __subta3: Fixed-point fractional library routines. ! (line 115) * __subtf3: Soft float library routines. (line 31) * __subuda3: Fixed-point fractional library routines. ! (line 121) * __subudq3: Fixed-point fractional library routines. (line 109) + * __subuha3: Fixed-point fractional library routines. + (line 117) * __subuhq3: Fixed-point fractional library routines. ! (line 105) * __subuqq3: Fixed-point fractional library routines. ! (line 103) * __subusa3: Fixed-point fractional library routines. ! (line 119) * __subusq3: Fixed-point fractional library routines. ! (line 107) * __subuta3: Fixed-point fractional library routines. ! (line 123) * __subvdi3: Integer library routines. (line 122) * __subvsi3: Integer library routines. *************** Concept Index *** 52082,52102 **** * __udivti3: Integer library routines. (line 54) * __udivuda3: Fixed-point fractional library routines. ! (line 244) * __udivudq3: Fixed-point fractional library routines. ! (line 238) * __udivuha3: Fixed-point fractional library routines. ! (line 240) * __udivuhq3: Fixed-point fractional library routines. ! (line 234) * __udivuqq3: Fixed-point fractional library routines. ! (line 232) * __udivusa3: Fixed-point fractional library routines. ! (line 242) * __udivusq3: Fixed-point fractional library routines. ! (line 236) * __udivuta3: Fixed-point fractional library routines. ! (line 246) * __umoddi3: Integer library routines. (line 69) * __umodsi3: Integer library routines. --- 52082,52102 ---- * __udivti3: Integer library routines. (line 54) * __udivuda3: Fixed-point fractional library routines. ! (line 252) * __udivudq3: Fixed-point fractional library routines. ! (line 246) * __udivuha3: Fixed-point fractional library routines. ! (line 248) * __udivuhq3: Fixed-point fractional library routines. ! (line 242) * __udivuqq3: Fixed-point fractional library routines. ! (line 240) * __udivusa3: Fixed-point fractional library routines. ! (line 250) * __udivusq3: Fixed-point fractional library routines. ! (line 244) * __udivuta3: Fixed-point fractional library routines. ! (line 254) * __umoddi3: Integer library routines. (line 69) * __umodsi3: Integer library routines. *************** Concept Index *** 52110,52210 **** * __unordtf2: Soft float library routines. (line 173) * __usadduda3: Fixed-point fractional library routines. ! (line 83) * __usaddudq3: Fixed-point fractional library routines. ! (line 77) * __usadduha3: Fixed-point fractional library routines. ! (line 79) * __usadduhq3: Fixed-point fractional library routines. ! (line 73) * __usadduqq3: Fixed-point fractional library routines. ! (line 71) * __usaddusa3: Fixed-point fractional library routines. ! (line 81) * __usaddusq3: Fixed-point fractional library routines. ! (line 75) * __usadduta3: Fixed-point fractional library routines. ! (line 85) * __usashluda3: Fixed-point fractional library routines. ! (line 419) * __usashludq3: Fixed-point fractional library routines. ! (line 413) * __usashluha3: Fixed-point fractional library routines. ! (line 415) * __usashluhq3: Fixed-point fractional library routines. ! (line 409) * __usashluqq3: Fixed-point fractional library routines. ! (line 407) * __usashlusa3: Fixed-point fractional library routines. ! (line 417) * __usashlusq3: Fixed-point fractional library routines. ! (line 411) * __usashluta3: Fixed-point fractional library routines. ! (line 421) * __usdivuda3: Fixed-point fractional library routines. ! (line 278) * __usdivudq3: Fixed-point fractional library routines. ! (line 272) * __usdivuha3: Fixed-point fractional library routines. ! (line 274) * __usdivuhq3: Fixed-point fractional library routines. ! (line 268) * __usdivuqq3: Fixed-point fractional library routines. ! (line 266) * __usdivusa3: Fixed-point fractional library routines. ! (line 276) * __usdivusq3: Fixed-point fractional library routines. ! (line 270) * __usdivuta3: Fixed-point fractional library routines. ! (line 280) * __usmuluda3: Fixed-point fractional library routines. ! (line 210) * __usmuludq3: Fixed-point fractional library routines. ! (line 204) * __usmuluha3: Fixed-point fractional library routines. ! (line 206) * __usmuluhq3: Fixed-point fractional library routines. ! (line 200) * __usmuluqq3: Fixed-point fractional library routines. ! (line 198) * __usmulusa3: Fixed-point fractional library routines. ! (line 208) * __usmulusq3: Fixed-point fractional library routines. ! (line 202) * __usmuluta3: Fixed-point fractional library routines. ! (line 212) * __usneguda2: Fixed-point fractional library routines. ! (line 329) * __usnegudq2: Fixed-point fractional library routines. ! (line 324) * __usneguha2: Fixed-point fractional library routines. ! (line 326) * __usneguhq2: Fixed-point fractional library routines. ! (line 321) * __usneguqq2: Fixed-point fractional library routines. ! (line 319) * __usnegusa2: Fixed-point fractional library routines. ! (line 328) * __usnegusq2: Fixed-point fractional library routines. ! (line 322) * __usneguta2: Fixed-point fractional library routines. ! (line 331) * __ussubuda3: Fixed-point fractional library routines. ! (line 146) * __ussubudq3: Fixed-point fractional library routines. ! (line 140) * __ussubuha3: Fixed-point fractional library routines. ! (line 142) * __ussubuhq3: Fixed-point fractional library routines. ! (line 136) * __ussubuqq3: Fixed-point fractional library routines. ! (line 134) * __ussubusa3: Fixed-point fractional library routines. ! (line 144) * __ussubusq3: Fixed-point fractional library routines. ! (line 138) * __ussubuta3: Fixed-point fractional library routines. ! (line 148) * abort: Portability. (line 20) * abs: Arithmetic. (line 200) * abs and attributes: Expressions. (line 83) --- 52110,52210 ---- * __unordtf2: Soft float library routines. (line 173) * __usadduda3: Fixed-point fractional library routines. ! (line 91) * __usaddudq3: Fixed-point fractional library routines. ! (line 85) * __usadduha3: Fixed-point fractional library routines. ! (line 87) * __usadduhq3: Fixed-point fractional library routines. ! (line 81) * __usadduqq3: Fixed-point fractional library routines. ! (line 79) * __usaddusa3: Fixed-point fractional library routines. ! (line 89) * __usaddusq3: Fixed-point fractional library routines. ! (line 83) * __usadduta3: Fixed-point fractional library routines. ! (line 93) * __usashluda3: Fixed-point fractional library routines. ! (line 427) * __usashludq3: Fixed-point fractional library routines. ! (line 421) * __usashluha3: Fixed-point fractional library routines. ! (line 423) * __usashluhq3: Fixed-point fractional library routines. ! (line 417) * __usashluqq3: Fixed-point fractional library routines. ! (line 415) * __usashlusa3: Fixed-point fractional library routines. ! (line 425) * __usashlusq3: Fixed-point fractional library routines. ! (line 419) * __usashluta3: Fixed-point fractional library routines. ! (line 429) * __usdivuda3: Fixed-point fractional library routines. ! (line 286) * __usdivudq3: Fixed-point fractional library routines. ! (line 280) * __usdivuha3: Fixed-point fractional library routines. ! (line 282) * __usdivuhq3: Fixed-point fractional library routines. ! (line 276) * __usdivuqq3: Fixed-point fractional library routines. ! (line 274) * __usdivusa3: Fixed-point fractional library routines. ! (line 284) * __usdivusq3: Fixed-point fractional library routines. ! (line 278) * __usdivuta3: Fixed-point fractional library routines. ! (line 288) * __usmuluda3: Fixed-point fractional library routines. ! (line 218) * __usmuludq3: Fixed-point fractional library routines. ! (line 212) * __usmuluha3: Fixed-point fractional library routines. ! (line 214) * __usmuluhq3: Fixed-point fractional library routines. ! (line 208) * __usmuluqq3: Fixed-point fractional library routines. ! (line 206) * __usmulusa3: Fixed-point fractional library routines. ! (line 216) * __usmulusq3: Fixed-point fractional library routines. ! (line 210) * __usmuluta3: Fixed-point fractional library routines. ! (line 220) * __usneguda2: Fixed-point fractional library routines. ! (line 337) * __usnegudq2: Fixed-point fractional library routines. ! (line 332) * __usneguha2: Fixed-point fractional library routines. ! (line 334) * __usneguhq2: Fixed-point fractional library routines. ! (line 329) * __usneguqq2: Fixed-point fractional library routines. ! (line 327) * __usnegusa2: Fixed-point fractional library routines. ! (line 336) * __usnegusq2: Fixed-point fractional library routines. ! (line 330) * __usneguta2: Fixed-point fractional library routines. ! (line 339) * __ussubuda3: Fixed-point fractional library routines. ! (line 154) * __ussubudq3: Fixed-point fractional library routines. ! (line 148) * __ussubuha3: Fixed-point fractional library routines. ! (line 150) * __ussubuhq3: Fixed-point fractional library routines. ! (line 144) * __ussubuqq3: Fixed-point fractional library routines. ! (line 142) * __ussubusa3: Fixed-point fractional library routines. ! (line 152) * __ussubusq3: Fixed-point fractional library routines. ! (line 146) * __ussubuta3: Fixed-point fractional library routines. ! (line 156) * abort: Portability. (line 20) * abs: Arithmetic. (line 200) * abs and attributes: Expressions. (line 83) *************** Concept Index *** 52375,52381 **** * AS_NEEDS_DASH_FOR_PIPED_INPUT: Driver. (line 88) * atan2M3 instruction pattern: Standard Names. (line 1061) * atanM2 instruction pattern: Standard Names. (line 972) ! * atomic: GTY Options. (line 196) * atomic_addMODE instruction pattern: Standard Names. (line 2380) * atomic_add_fetchMODE instruction pattern: Standard Names. (line 2409) * atomic_andMODE instruction pattern: Standard Names. (line 2380) --- 52375,52381 ---- * AS_NEEDS_DASH_FOR_PIPED_INPUT: Driver. (line 88) * atan2M3 instruction pattern: Standard Names. (line 1061) * atanM2 instruction pattern: Standard Names. (line 972) ! * atomic: GTY Options. (line 197) * atomic_addMODE instruction pattern: Standard Names. (line 2380) * atomic_add_fetchMODE instruction pattern: Standard Names. (line 2409) * atomic_andMODE instruction pattern: Standard Names. (line 2380) *************** Concept Index *** 55127,55133 **** (line 6) * source code, location information: Guidelines for Diagnostics. (line 159) ! * special: GTY Options. (line 237) * special predicates: Predicates. (line 31) * SPECS: Target Fragment. (line 194) * speculation_barrier instruction pattern: Standard Names. (line 2178) --- 55127,55133 ---- (line 6) * source code, location information: Guidelines for Diagnostics. (line 159) ! * special: GTY Options. (line 238) * special predicates: Predicates. (line 31) * SPECS: Target Fragment. (line 194) * speculation_barrier instruction pattern: Standard Names. (line 2178) *************** Concept Index *** 56210,56216 **** * use: Side Effects. (line 168) * used: Flags. (line 325) * used, in symbol_ref: Flags. (line 211) ! * user: GTY Options. (line 244) * user experience guidelines: User Experience Guidelines. (line 6) * user gc: User GC. (line 6) --- 56210,56216 ---- * use: Side Effects. (line 168) * used: Flags. (line 325) * used, in symbol_ref: Flags. (line 211) ! * user: GTY Options. (line 245) * user experience guidelines: User Experience Guidelines. (line 6) * user gc: User GC. (line 6) *************** Concept Index *** 56442,56888 ****  Tag Table: Node: Top1789 ! Node: Contributing5175 ! Node: Portability5905 ! Node: Interface7693 ! Node: Libgcc10734 ! Node: Integer library routines12561 ! Node: Soft float library routines19529 ! Node: Decimal float library routines31467 ! Node: Fixed-point fractional library routines47225 ! Node: Exception handling routines147621 ! Node: Miscellaneous routines148728 ! Node: Languages150848 ! Node: Source Tree152395 ! Node: Configure Terms152977 ! Node: Top Level155933 ! Node: gcc Directory159518 ! Node: Subdirectories160470 ! Node: Configuration162638 ! Node: Config Fragments163358 ! Node: System Config164583 ! Node: Configuration Files165519 ! Node: Build168135 ! Node: Makefile168547 ! Ref: Makefile-Footnote-1175322 ! Ref: Makefile-Footnote-2175469 ! Node: Library Files175543 ! Node: Headers176105 ! Node: Documentation178188 ! Node: Texinfo Manuals179047 ! Node: Man Page Generation181376 ! Node: Miscellaneous Docs183289 ! Node: Front End184676 ! Node: Front End Directory188355 ! Node: Front End Config189671 ! Node: Front End Makefile192507 ! Node: Back End196275 ! Node: Testsuites201161 ! Node: Test Idioms202150 ! Node: Test Directives205548 ! Node: Directives206075 ! Node: Selectors217448 ! Node: Effective-Target Keywords218804 ! Ref: arm_fp_ok230755 ! Ref: arm_fp_dp_ok230922 ! Ref: arm_neon_ok232034 ! Ref: arm_neon_ok_no_float_abi232203 ! Ref: arm_neonv2_ok232370 ! Ref: arm_fp16_ok232537 ! Ref: arm_neon_fp16_ok232879 ! Ref: arm_vfp3_ok233811 ! Ref: arm_arch_v8a_hard_ok233954 ! Ref: arm_v8_1a_neon_ok234704 ! Ref: arm_v8_2a_fp16_scalar_ok235132 ! Ref: arm_v8_2a_fp16_neon_ok235583 ! Ref: arm_v8_2a_dotprod_neon_ok236058 ! Ref: arm_fp16fml_neon_ok236478 ! Ref: arm_coproc1_ok238978 ! Ref: arm_coproc2_ok239104 ! Ref: arm_coproc3_ok239332 ! Ref: arm_simd32_ok239699 ! Ref: arm_qbit_ok239877 ! Ref: arm_softfp_ok240069 ! Ref: arm_hard_ok240142 ! Ref: stack_size_et252050 ! Node: Add Options254443 ! Ref: arm_fp16_ieee255681 ! Ref: arm_fp16_alternative255936 ! Ref: stack_size_ao258331 ! Node: Require Support258693 ! Node: Final Actions261595 ! Node: Ada Tests270435 ! Node: C Tests271598 ! Node: LTO Testing275970 ! Node: gcov Testing277613 ! Node: profopt Testing280583 ! Node: compat Testing282298 ! Node: Torture Tests286538 ! Node: GIMPLE Tests288172 ! Node: RTL Tests289414 ! Node: Options290720 ! Node: Option file format291161 ! Node: Option properties298150 ! Node: Passes314313 ! Node: Parsing pass315186 ! Node: Gimplification pass318714 ! Node: Pass manager320547 ! Node: IPA passes322388 ! Node: Small IPA passes323281 ! Node: Regular IPA passes326718 ! Node: Late IPA passes331780 ! Node: Tree SSA passes332739 ! Node: RTL passes354279 ! Node: Optimization info366543 ! Node: Dump setup367362 ! Node: Optimization groups368491 ! Node: Dump files and streams369470 ! Node: Dump output verbosity370668 ! Node: Dump types371724 ! Node: Dump examples374066 ! Node: poly_int375547 ! Node: Overview of poly_int377027 ! Node: Consequences of using poly_int379631 ! Node: Comparisons involving poly_int381266 ! Node: Comparison functions for poly_int382904 ! Node: Properties of the poly_int comparisons384111 ! Node: Comparing potentially-unordered poly_ints386553 ! Node: Comparing ordered poly_ints387464 ! Node: Checking for a poly_int marker value389488 ! Node: Range checks on poly_ints390337 ! Node: Sorting poly_ints392991 ! Node: Arithmetic on poly_ints393764 ! Node: Using poly_int with C++ arithmetic operators394565 ! Node: wi arithmetic on poly_ints396096 ! Node: Division of poly_ints396948 ! Node: Other poly_int arithmetic398455 ! Node: Alignment of poly_ints399861 ! Node: Computing bounds on poly_ints403138 ! Node: Converting poly_ints404527 ! Node: Miscellaneous poly_int routines408074 ! Node: Guidelines for using poly_int408714 ! Node: GENERIC413646 ! Node: Deficiencies415468 ! Node: Tree overview415709 ! Node: Macros and Functions419833 ! Node: Identifiers420658 ! Node: Containers422267 ! Node: Types423424 ! Node: Declarations435498 ! Node: Working with declarations435993 ! Node: Internal structure441597 ! Node: Current structure hierarchy441981 ! Node: Adding new DECL node types444074 ! Node: Attributes448358 ! Node: Expression trees449602 ! Node: Constant expressions451356 ! Node: Storage References457448 ! Node: Unary and Binary Expressions460967 ! Node: Vectors481869 ! Node: Statements488773 ! Node: Basic Statements489305 ! Node: Blocks493932 ! Node: Statement Sequences495633 ! Node: Empty Statements495966 ! Node: Jumps496540 ! Node: Cleanups497193 ! Node: OpenMP499234 ! Node: OpenACC505079 ! Node: Functions506196 ! Node: Function Basics506667 ! Node: Function Properties510351 ! Node: Language-dependent trees513132 ! Node: C and C++ Trees514019 ! Node: Types for C++516904 ! Node: Namespaces521874 ! Node: Classes524980 ! Node: Functions for C++529888 ! Node: Statements for C++536139 ! Node: C++ Expressions544192 ! Node: GIMPLE545697 ! Node: Tuple representation549362 ! Node: Class hierarchy of GIMPLE statements556322 ! Node: GIMPLE instruction set561310 ! Node: GIMPLE Exception Handling562942 ! Node: Temporaries564854 ! Ref: Temporaries-Footnote-1566172 ! Node: Operands566237 ! Node: Compound Expressions566998 ! Node: Compound Lvalues567232 ! Node: Conditional Expressions567994 ! Node: Logical Operators568653 ! Node: Manipulating GIMPLE statements576000 ! Node: Tuple specific accessors581936 ! Node: GIMPLE_ASM582715 ! Node: GIMPLE_ASSIGN585098 ! Node: GIMPLE_BIND589802 ! Node: GIMPLE_CALL591616 ! Node: GIMPLE_CATCH595757 ! Node: GIMPLE_COND596907 ! Node: GIMPLE_DEBUG599702 ! Node: GIMPLE_EH_FILTER604300 ! Node: GIMPLE_LABEL605863 ! Node: GIMPLE_GOTO606476 ! Node: GIMPLE_NOP606999 ! Node: GIMPLE_OMP_ATOMIC_LOAD607361 ! Node: GIMPLE_OMP_ATOMIC_STORE608357 ! Node: GIMPLE_OMP_CONTINUE609056 ! Node: GIMPLE_OMP_CRITICAL610535 ! Node: GIMPLE_OMP_FOR611529 ! Node: GIMPLE_OMP_MASTER614945 ! Node: GIMPLE_OMP_ORDERED615323 ! Node: GIMPLE_OMP_PARALLEL615717 ! Node: GIMPLE_OMP_RETURN618486 ! Node: GIMPLE_OMP_SECTION619131 ! Node: GIMPLE_OMP_SECTIONS619791 ! Node: GIMPLE_OMP_SINGLE621401 ! Node: GIMPLE_PHI622347 ! Node: GIMPLE_RESX623626 ! Node: GIMPLE_RETURN624345 ! Node: GIMPLE_SWITCH624919 ! Node: GIMPLE_TRY626792 ! Node: GIMPLE_WITH_CLEANUP_EXPR628564 ! Node: GIMPLE sequences629443 ! Node: Sequence iterators632649 ! Node: Adding a new GIMPLE statement code641106 ! Node: Statement and operand traversals642451 ! Node: Tree SSA645043 ! Node: Annotations646831 ! Node: SSA Operands647236 ! Node: SSA661315 ! Node: Alias analysis671021 ! Node: Memory model674795 ! Node: RTL676154 ! Node: RTL Objects678342 ! Node: RTL Classes682226 ! Node: Accessors687525 ! Node: Special Accessors689698 ! Node: Flags695485 ! Node: Machine Modes710748 ! Node: Constants728154 ! Node: Regs and Memory739543 ! Node: Arithmetic758795 ! Node: Comparisons768970 ! Node: Bit-Fields773262 ! Node: Vector Operations774813 ! Node: Conversions776917 ! Node: RTL Declarations781415 ! Node: Side Effects782259 ! Node: Incdec799268 ! Node: Assembler802604 ! Node: Debug Information804149 ! Node: Insns806076 ! Node: Calls833932 ! Node: Sharing836525 ! Node: Reading RTL839720 ! Node: Control Flow840711 ! Node: Basic Blocks842479 ! Node: Edges847933 ! Node: Profile information856552 ! Node: Maintaining the CFG861236 ! Node: Liveness information867004 ! Node: Loop Analysis and Representation869130 ! Node: Loop representation870166 ! Node: Loop querying877532 ! Node: Loop manipulation880353 ! Node: LCSSA882689 ! Node: Scalar evolutions884758 ! Node: loop-iv888002 ! Node: Number of iterations889924 ! Node: Dependency analysis894005 ! Node: Machine Desc900356 ! Node: Overview902919 ! Node: Patterns904959 ! Node: Example909926 ! Node: RTL Template911387 ! Node: Output Template922043 ! Node: Output Statement926224 ! Node: Predicates930563 ! Node: Machine-Independent Predicates933481 ! Node: Defining Predicates938425 ! Node: Constraints944388 ! Node: Simple Constraints945857 ! Node: Multi-Alternative958697 ! Node: Class Preferences961906 ! Node: Modifiers962798 ! Node: Machine Constraints967531 ! Node: Disable Insn Alternatives1029635 ! Node: Define Constraints1033127 ! Node: C Constraint Interface1040521 ! Node: Standard Names1043648 ! Ref: shift patterns1079892 ! Ref: prologue instruction pattern1134672 ! Ref: window_save instruction pattern1135165 ! Ref: epilogue instruction pattern1135442 ! Node: Pattern Ordering1157418 ! Node: Dependent Patterns1158654 ! Node: Jump Patterns1160274 ! Ref: Jump Patterns-Footnote-11162419 ! Node: Looping Patterns1162467 ! Node: Insn Canonicalizations1168106 ! Node: Expander Definitions1173313 ! Node: Insn Splitting1181527 ! Node: Including Patterns1196557 ! Node: Peephole Definitions1198341 ! Node: define_peephole1199594 ! Node: define_peephole21205924 ! Node: Insn Attributes1210013 ! Node: Defining Attributes1211195 ! Ref: define_enum_attr1214687 ! Node: Expressions1215723 ! Node: Tagging Insns1222473 ! Node: Attr Example1226826 ! Node: Insn Lengths1229199 ! Node: Constant Attributes1232607 ! Node: Mnemonic Attribute1233783 ! Node: Delay Slots1235302 ! Node: Processor pipeline description1238525 ! Ref: Processor pipeline description-Footnote-11257337 ! Node: Conditional Execution1257661 ! Node: Define Subst1261144 ! Node: Define Subst Example1263179 ! Node: Define Subst Pattern Matching1266174 ! Node: Define Subst Output Template1267400 ! Node: Constant Definitions1269723 ! Ref: define_enum1273505 ! Node: Iterators1273993 ! Node: Mode Iterators1274638 ! Node: Defining Mode Iterators1275616 ! Node: Substitutions1277110 ! Node: Examples1279352 ! Node: Code Iterators1280800 ! Node: Int Iterators1283930 ! Node: Subst Iterators1286376 ! Node: Parameterized Names1288096 ! Node: Target Macros1292114 ! Node: Target Structure1295177 ! Node: Driver1297669 ! Node: Run-time Target1316639 ! Node: Per-Function Data1326172 ! Node: Storage Layout1328936 ! Node: Type Layout1356435 ! Node: Registers1369776 ! Node: Register Basics1370750 ! Node: Allocation Order1378312 ! Node: Values in Registers1380796 ! Node: Leaf Functions1388272 ! Node: Stack Registers1391131 ! Node: Register Classes1392403 ! Node: Stack and Calling1427185 ! Node: Frame Layout1427791 ! Node: Exception Handling1439626 ! Node: Stack Checking1445836 ! Node: Frame Registers1451461 ! Node: Elimination1460012 ! Node: Stack Arguments1463868 ! Node: Register Arguments1471064 ! Node: Scalar Return1495925 ! Node: Aggregate Return1502381 ! Node: Caller Saves1506935 ! Node: Function Entry1507677 ! Node: Profiling1519229 ! Node: Tail Calls1521339 ! Node: Shrink-wrapping separate components1523249 ! Node: Stack Smashing Protection1526290 ! Node: Miscellaneous Register Hooks1528779 ! Node: Varargs1529644 ! Node: Trampolines1539044 ! Node: Library Calls1547867 ! Node: Addressing Modes1552757 ! Node: Anchored Addresses1581764 ! Node: Condition Code1584407 ! Node: CC0 Condition Codes1586734 ! Node: MODE_CC Condition Codes1589980 ! Node: Costs1596806 ! Node: Scheduling1618177 ! Node: Sections1642099 ! Node: PIC1658318 ! Node: Assembler Format1660377 ! Node: File Framework1661515 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1669114 ! Node: Data Output1672384 ! Node: Uninitialized Data1680672 ! Node: Label Output1685686 ! Node: Initialization1710297 ! Node: Macros for Initialization1716258 ! Node: Instruction Output1723409 ! Node: Dispatch Tables1734038 ! Node: Exception Region Output1739499 ! Node: Alignment Output1746581 ! Node: Debugging Info1750268 ! Node: All Debuggers1750922 ! Node: DBX Options1753694 ! Node: DBX Hooks1759132 ! Node: File Names and DBX1760441 ! Node: DWARF1762545 ! Node: VMS Debug1768360 ! Node: Floating Point1768939 ! Node: Mode Switching1771694 ! Node: Target Attributes1776131 ! Node: Emulated TLS1785547 ! Node: MIPS Coprocessors1788937 ! Node: PCH Target1790096 ! Node: C++ ABI1791938 ! Node: D Language and ABI1796730 ! Node: Named Address Spaces1797775 ! Node: Misc1803702 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1811573 ! Node: Host Config1866907 ! Node: Host Common1867976 ! Node: Filesystem1870350 ! Node: Host Misc1874465 ! Node: Fragments1876914 ! Node: Target Fragment1878109 ! Node: Host Fragment1888921 ! Node: Collect21889161 ! Node: Header Dirs1891797 ! Node: Type Information1893220 ! Node: GTY Options1896496 ! Node: Inheritance and GTY1907754 ! Ref: Inheritance and GTY-Footnote-11909319 ! Node: User GC1909589 ! Node: GGC Roots1913328 ! Node: Files1914041 ! Node: Invoking the garbage collector1916748 ! Node: Troubleshooting1918253 ! Node: Plugins1919328 ! Node: Plugins loading1920457 ! Node: Plugin API1921556 ! Node: Plugins pass1929282 ! Node: Plugins GC1931253 ! Node: Plugins description1932970 ! Node: Plugins attr1933506 ! Node: Plugins recording1935786 ! Node: Plugins gate1936636 ! Node: Plugins tracking1937227 ! Node: Plugins building1937815 ! Node: LTO1941316 ! Node: LTO Overview1942188 ! Node: LTO object file layout1948015 ! Node: IPA1952645 ! Node: WHOPR1961695 ! Node: Internal flags1966255 ! Node: Match and Simplify1967666 ! Node: GIMPLE API1968628 ! Node: The Language1971423 ! Node: Static Analyzer1983398 ! Node: Analyzer Internals1983663 ! Node: Debugging the Analyzer1999307 ! Node: User Experience Guidelines2001918 ! Node: Guidelines for Diagnostics2002854 ! Ref: input_location_example2009915 ! Node: Guidelines for Options2019598 ! Node: Funding2019775 ! Node: GNU Project2022282 ! Node: Copying2022931 ! Node: GNU Free Documentation License2060442 ! Node: Contributors2085563 ! Node: Option Index2126539 ! Node: Concept Index2127416  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 56442,56883 ----  Tag Table: Node: Top1789 ! Node: Contributing5163 ! Node: Portability5893 ! Node: Interface7681 ! Node: Libgcc10722 ! Node: Integer library routines12549 ! Node: Soft float library routines19517 ! Node: Decimal float library routines31455 ! Node: Fixed-point fractional library routines47213 ! Node: Exception handling routines147609 ! Node: Miscellaneous routines148716 ! Node: Languages150836 ! Node: Source Tree152383 ! Node: Configure Terms152965 ! Node: Top Level155921 ! Node: gcc Directory159506 ! Node: Subdirectories160458 ! Node: Configuration162626 ! Node: Config Fragments163346 ! Node: System Config164571 ! Node: Configuration Files165507 ! Node: Build168123 ! Node: Makefile168535 ! Ref: Makefile-Footnote-1175310 ! Ref: Makefile-Footnote-2175457 ! Node: Library Files175531 ! Node: Headers176093 ! Node: Documentation178176 ! Node: Texinfo Manuals179035 ! Node: Man Page Generation181364 ! Node: Miscellaneous Docs183277 ! Node: Front End184664 ! Node: Front End Directory188343 ! Node: Front End Config189659 ! Node: Front End Makefile192495 ! Node: Back End196263 ! Node: Testsuites201149 ! Node: Test Idioms202138 ! Node: Test Directives205536 ! Node: Directives206063 ! Node: Selectors217436 ! Node: Effective-Target Keywords218792 ! Ref: arm_fp_ok230743 ! Ref: arm_fp_dp_ok230910 ! Ref: arm_neon_ok232022 ! Ref: arm_neon_ok_no_float_abi232191 ! Ref: arm_neonv2_ok232358 ! Ref: arm_fp16_ok232525 ! Ref: arm_neon_fp16_ok232867 ! Ref: arm_vfp3_ok233799 ! Ref: arm_arch_v8a_hard_ok233942 ! Ref: arm_v8_1a_neon_ok234692 ! Ref: arm_v8_2a_fp16_scalar_ok235120 ! Ref: arm_v8_2a_fp16_neon_ok235571 ! Ref: arm_v8_2a_dotprod_neon_ok236046 ! Ref: arm_fp16fml_neon_ok236466 ! Ref: arm_coproc1_ok238966 ! Ref: arm_coproc2_ok239092 ! Ref: arm_coproc3_ok239320 ! Ref: arm_simd32_ok239687 ! Ref: arm_qbit_ok239865 ! Ref: arm_softfp_ok240057 ! Ref: arm_hard_ok240130 ! Ref: stack_size_et252038 ! Node: Add Options254431 ! Ref: arm_fp16_ieee255669 ! Ref: arm_fp16_alternative255924 ! Ref: stack_size_ao258319 ! Node: Require Support258681 ! Node: Final Actions261583 ! Node: Ada Tests270423 ! Node: C Tests271586 ! Node: LTO Testing275958 ! Node: gcov Testing277601 ! Node: profopt Testing280571 ! Node: compat Testing282286 ! Node: Torture Tests286526 ! Node: GIMPLE Tests288160 ! Node: RTL Tests289402 ! Node: Options290708 ! Node: Option file format291149 ! Node: Option properties298138 ! Node: Passes314301 ! Node: Parsing pass315174 ! Node: Gimplification pass318702 ! Node: Pass manager320535 ! Node: IPA passes322376 ! Node: Small IPA passes323269 ! Node: Regular IPA passes326706 ! Node: Late IPA passes331768 ! Node: Tree SSA passes332727 ! Node: RTL passes354267 ! Node: Optimization info366531 ! Node: Dump setup367350 ! Node: Optimization groups368479 ! Node: Dump files and streams369458 ! Node: Dump output verbosity370656 ! Node: Dump types371712 ! Node: Dump examples374054 ! Node: poly_int375535 ! Node: Overview of poly_int377015 ! Node: Consequences of using poly_int379619 ! Node: Comparisons involving poly_int381254 ! Node: Comparison functions for poly_int382892 ! Node: Properties of the poly_int comparisons384099 ! Node: Comparing potentially-unordered poly_ints386541 ! Node: Comparing ordered poly_ints387452 ! Node: Checking for a poly_int marker value389476 ! Node: Range checks on poly_ints390325 ! Node: Sorting poly_ints392979 ! Node: Arithmetic on poly_ints393752 ! Node: Using poly_int with C++ arithmetic operators394553 ! Node: wi arithmetic on poly_ints396084 ! Node: Division of poly_ints396936 ! Node: Other poly_int arithmetic398443 ! Node: Alignment of poly_ints399849 ! Node: Computing bounds on poly_ints403126 ! Node: Converting poly_ints404515 ! Node: Miscellaneous poly_int routines408062 ! Node: Guidelines for using poly_int408702 ! Node: GENERIC413634 ! Node: Deficiencies415456 ! Node: Tree overview415697 ! Node: Macros and Functions419821 ! Node: Identifiers420646 ! Node: Containers422255 ! Node: Types423412 ! Node: Declarations435486 ! Node: Working with declarations435981 ! Node: Internal structure441585 ! Node: Current structure hierarchy441969 ! Node: Adding new DECL node types444062 ! Node: Attributes448346 ! Node: Expression trees449590 ! Node: Constant expressions451344 ! Node: Storage References457436 ! Node: Unary and Binary Expressions460955 ! Node: Vectors481857 ! Node: Statements488761 ! Node: Basic Statements489293 ! Node: Blocks493920 ! Node: Statement Sequences495621 ! Node: Empty Statements495954 ! Node: Jumps496528 ! Node: Cleanups497181 ! Node: OpenMP499222 ! Node: OpenACC505067 ! Node: Functions506184 ! Node: Function Basics506655 ! Node: Function Properties510339 ! Node: Language-dependent trees513120 ! Node: C and C++ Trees514007 ! Node: Types for C++516892 ! Node: Namespaces521862 ! Node: Classes524968 ! Node: Functions for C++529876 ! Node: Statements for C++536127 ! Node: C++ Expressions544180 ! Node: GIMPLE545685 ! Node: Tuple representation549350 ! Node: Class hierarchy of GIMPLE statements556310 ! Node: GIMPLE instruction set561298 ! Node: GIMPLE Exception Handling562930 ! Node: Temporaries564842 ! Ref: Temporaries-Footnote-1566160 ! Node: Operands566225 ! Node: Compound Expressions566986 ! Node: Compound Lvalues567220 ! Node: Conditional Expressions567982 ! Node: Logical Operators568641 ! Node: Manipulating GIMPLE statements575988 ! Node: Tuple specific accessors581924 ! Node: GIMPLE_ASM582703 ! Node: GIMPLE_ASSIGN585086 ! Node: GIMPLE_BIND589790 ! Node: GIMPLE_CALL591604 ! Node: GIMPLE_CATCH595747 ! Node: GIMPLE_COND596897 ! Node: GIMPLE_DEBUG599692 ! Node: GIMPLE_EH_FILTER604290 ! Node: GIMPLE_LABEL605853 ! Node: GIMPLE_GOTO606466 ! Node: GIMPLE_NOP606989 ! Node: GIMPLE_OMP_ATOMIC_LOAD607351 ! Node: GIMPLE_OMP_ATOMIC_STORE608347 ! Node: GIMPLE_OMP_CONTINUE609046 ! Node: GIMPLE_OMP_CRITICAL610525 ! Node: GIMPLE_OMP_FOR611519 ! Node: GIMPLE_OMP_MASTER614935 ! Node: GIMPLE_OMP_ORDERED615313 ! Node: GIMPLE_OMP_PARALLEL615707 ! Node: GIMPLE_OMP_RETURN618476 ! Node: GIMPLE_OMP_SECTION619121 ! Node: GIMPLE_OMP_SECTIONS619781 ! Node: GIMPLE_OMP_SINGLE621391 ! Node: GIMPLE_PHI622337 ! Node: GIMPLE_RESX623616 ! Node: GIMPLE_RETURN624335 ! Node: GIMPLE_SWITCH624909 ! Node: GIMPLE_TRY626784 ! Node: GIMPLE_WITH_CLEANUP_EXPR628556 ! Node: GIMPLE sequences629435 ! Node: Sequence iterators632641 ! Node: Adding a new GIMPLE statement code641098 ! Node: Statement and operand traversals642443 ! Node: Tree SSA645035 ! Node: Annotations646823 ! Node: SSA Operands647228 ! Node: SSA661307 ! Node: Alias analysis671013 ! Node: Memory model674787 ! Node: RTL676146 ! Node: RTL Objects678334 ! Node: RTL Classes682218 ! Node: Accessors687517 ! Node: Special Accessors689690 ! Node: Flags695477 ! Node: Machine Modes710740 ! Node: Constants728146 ! Node: Regs and Memory739535 ! Node: Arithmetic758787 ! Node: Comparisons768962 ! Node: Bit-Fields773254 ! Node: Vector Operations774805 ! Node: Conversions776909 ! Node: RTL Declarations781407 ! Node: Side Effects782251 ! Node: Incdec799260 ! Node: Assembler802596 ! Node: Debug Information804141 ! Node: Insns806068 ! Node: Calls833924 ! Node: Sharing836517 ! Node: Reading RTL839712 ! Node: Control Flow840703 ! Node: Basic Blocks842471 ! Node: Edges847925 ! Node: Profile information856544 ! Node: Maintaining the CFG861228 ! Node: Liveness information866996 ! Node: Loop Analysis and Representation869122 ! Node: Loop representation870158 ! Node: Loop querying877524 ! Node: Loop manipulation880345 ! Node: LCSSA882681 ! Node: Scalar evolutions884750 ! Node: loop-iv887994 ! Node: Number of iterations889916 ! Node: Dependency analysis893997 ! Node: Machine Desc900348 ! Node: Overview902911 ! Node: Patterns904951 ! Node: Example909918 ! Node: RTL Template911379 ! Node: Output Template922035 ! Node: Output Statement926216 ! Node: Predicates930555 ! Node: Machine-Independent Predicates933473 ! Node: Defining Predicates938417 ! Node: Constraints944380 ! Node: Simple Constraints945849 ! Node: Multi-Alternative958689 ! Node: Class Preferences961898 ! Node: Modifiers962790 ! Node: Machine Constraints967523 ! Node: Disable Insn Alternatives1029627 ! Node: Define Constraints1033119 ! Node: C Constraint Interface1040513 ! Node: Standard Names1043640 ! Ref: shift patterns1079884 ! Ref: prologue instruction pattern1134664 ! Ref: window_save instruction pattern1135157 ! Ref: epilogue instruction pattern1135434 ! Node: Pattern Ordering1157410 ! Node: Dependent Patterns1158646 ! Node: Jump Patterns1160266 ! Ref: Jump Patterns-Footnote-11162411 ! Node: Looping Patterns1162459 ! Node: Insn Canonicalizations1168098 ! Node: Expander Definitions1173305 ! Node: Insn Splitting1181519 ! Node: Including Patterns1196549 ! Node: Peephole Definitions1198333 ! Node: define_peephole1199586 ! Node: define_peephole21205916 ! Node: Insn Attributes1210005 ! Node: Defining Attributes1211187 ! Ref: define_enum_attr1214679 ! Node: Expressions1215715 ! Node: Tagging Insns1222465 ! Node: Attr Example1226818 ! Node: Insn Lengths1229191 ! Node: Constant Attributes1232599 ! Node: Mnemonic Attribute1233775 ! Node: Delay Slots1235294 ! Node: Processor pipeline description1238517 ! Ref: Processor pipeline description-Footnote-11257329 ! Node: Conditional Execution1257653 ! Node: Define Subst1261136 ! Node: Define Subst Example1263171 ! Node: Define Subst Pattern Matching1266166 ! Node: Define Subst Output Template1267392 ! Node: Constant Definitions1269715 ! Ref: define_enum1273497 ! Node: Iterators1273985 ! Node: Mode Iterators1274630 ! Node: Defining Mode Iterators1275608 ! Node: Substitutions1277102 ! Node: Examples1279344 ! Node: Code Iterators1280792 ! Node: Int Iterators1283922 ! Node: Subst Iterators1286368 ! Node: Parameterized Names1288088 ! Node: Target Macros1292106 ! Node: Target Structure1295169 ! Node: Driver1297661 ! Node: Run-time Target1316631 ! Node: Per-Function Data1326164 ! Node: Storage Layout1328928 ! Node: Type Layout1356427 ! Node: Registers1369768 ! Node: Register Basics1370742 ! Node: Allocation Order1378304 ! Node: Values in Registers1380788 ! Node: Leaf Functions1388264 ! Node: Stack Registers1391123 ! Node: Register Classes1392395 ! Node: Stack and Calling1427177 ! Node: Frame Layout1427783 ! Node: Exception Handling1439618 ! Node: Stack Checking1445828 ! Node: Frame Registers1451453 ! Node: Elimination1460004 ! Node: Stack Arguments1463860 ! Node: Register Arguments1471056 ! Node: Scalar Return1495917 ! Node: Aggregate Return1502373 ! Node: Caller Saves1506927 ! Node: Function Entry1507669 ! Node: Profiling1519221 ! Node: Tail Calls1521331 ! Node: Shrink-wrapping separate components1523241 ! Node: Stack Smashing Protection1526282 ! Node: Miscellaneous Register Hooks1528771 ! Node: Varargs1529636 ! Node: Trampolines1539036 ! Node: Library Calls1547859 ! Node: Addressing Modes1552749 ! Node: Anchored Addresses1581756 ! Node: Condition Code1584399 ! Node: CC0 Condition Codes1586726 ! Node: MODE_CC Condition Codes1589972 ! Node: Costs1596798 ! Node: Scheduling1618169 ! Node: Sections1642091 ! Node: PIC1658310 ! Node: Assembler Format1660369 ! Node: File Framework1661507 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1669106 ! Node: Data Output1672376 ! Node: Uninitialized Data1680664 ! Node: Label Output1685678 ! Node: Initialization1710289 ! Node: Macros for Initialization1716250 ! Node: Instruction Output1723401 ! Node: Dispatch Tables1734030 ! Node: Exception Region Output1739491 ! Node: Alignment Output1746573 ! Node: Debugging Info1750260 ! Node: All Debuggers1750914 ! Node: DBX Options1753686 ! Node: DBX Hooks1759124 ! Node: File Names and DBX1760433 ! Node: DWARF1762537 ! Node: VMS Debug1768352 ! Node: Floating Point1768931 ! Node: Mode Switching1771686 ! Node: Target Attributes1776123 ! Node: Emulated TLS1785539 ! Node: MIPS Coprocessors1788929 ! Node: PCH Target1790088 ! Node: C++ ABI1791930 ! Node: D Language and ABI1796722 ! Node: Named Address Spaces1797767 ! Node: Misc1803694 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1811565 ! Node: Host Config1866899 ! Node: Host Common1867968 ! Node: Filesystem1870342 ! Node: Host Misc1874457 ! Node: Fragments1876906 ! Node: Target Fragment1878101 ! Node: Host Fragment1888913 ! Node: Collect21889153 ! Node: Header Dirs1891789 ! Node: Type Information1893212 ! Node: GTY Options1896488 ! Node: Inheritance and GTY1907746 ! Ref: Inheritance and GTY-Footnote-11909311 ! Node: User GC1909581 ! Node: GGC Roots1913320 ! Node: Files1914033 ! Node: Invoking the garbage collector1916740 ! Node: Troubleshooting1918245 ! Node: Plugins1919320 ! Node: Plugins loading1920449 ! Node: Plugin API1921548 ! Node: Plugins pass1929274 ! Node: Plugins GC1931245 ! Node: Plugins description1932962 ! Node: Plugins attr1933498 ! Node: Plugins recording1935778 ! Node: Plugins gate1936628 ! Node: Plugins tracking1937219 ! Node: Plugins building1937807 ! Node: LTO1941308 ! Node: LTO Overview1942180 ! Node: LTO object file layout1948007 ! Node: IPA1952637 ! Node: WHOPR1961687 ! Node: Internal flags1966247 ! Node: Match and Simplify1967658 ! Node: GIMPLE API1968620 ! Node: The Language1971415 ! Node: Static Analyzer1983390 ! Node: Analyzer Internals1983655 ! Node: Debugging the Analyzer1999299 ! Node: User Experience Guidelines2001910 ! Node: Guidelines for Diagnostics2002846 ! Ref: input_location_example2009907 ! Node: Guidelines for Options2019590 ! Node: Funding2019767 ! Node: GNU Project2022274 ! Node: Copying2022923 ! Node: GNU Free Documentation License2060434 ! Node: Contributors2085555 ! Node: Option Index2126531 ! Node: Concept Index2127408  End Tag Table diff -Nrcpad gcc-10.4.0/gcc/doc/gcov-dump.1 gcc-10.5.0/gcc/doc/gcov-dump.1 *** gcc-10.4.0/gcc/doc/gcov-dump.1 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/gcov-dump.1 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** any later version published by the Free *** 193,199 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 189,195 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gcov-tool.1 gcc-10.5.0/gcc/doc/gcov-tool.1 *** gcc-10.4.0/gcc/doc/gcov-tool.1 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/gcov-tool.1 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** Set the verbose mode. *** 344,350 **** .RE .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), \fBgcc\fR\|(1), \fBgcov\fR\|(1) and the Info entry for \&\fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" --- 340,346 ---- .RE .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), \fIgcc\fR\|(1), \fIgcov\fR\|(1) and the Info entry for \&\fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" *************** any later version published by the Free *** 356,362 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 352,358 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gcov.1 gcc-10.5.0/gcc/doc/gcov.1 *** gcc-10.4.0/gcc/doc/gcov.1 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/gcov.1 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** That can help users to find profile clas *** 1015,1021 **** to a misleading profile. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), \fBgcc\fR\|(1) and the Info entry for \fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1996\-2020 Free Software Foundation, Inc. --- 1011,1017 ---- to a misleading profile. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), \fIgcc\fR\|(1) and the Info entry for \fIgcc\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1996\-2020 Free Software Foundation, Inc. *************** any later version published by the Free *** 1026,1032 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 1022,1028 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gfdl.7 gcc-10.5.0/gcc/doc/gfdl.7 *** gcc-10.4.0/gcc/doc/gfdl.7 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/gfdl.7 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** free software license, such as the \s-1G *** 641,647 **** to permit their use in free software. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBfsf\-funding\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. --- 637,643 ---- to permit their use in free software. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIfsf\-funding\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. diff -Nrcpad gcc-10.4.0/gcc/doc/gfortran.1 gcc-10.5.0/gcc/doc/gfortran.1 *** gcc-10.4.0/gcc/doc/gfortran.1 Tue Jun 28 09:09:19 2022 --- gcc-10.5.0/gcc/doc/gfortran.1 Fri Jul 7 07:19:03 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** For instructions on reporting bugs, see *** 1714,1721 **** <\fBhttps://gcc.gnu.org/bugs/\fR>. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgpl\fR\|(7), \fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7), ! \&\fBcpp\fR\|(1), \fBgcov\fR\|(1), \fBgcc\fR\|(1), \fBas\fR\|(1), \fBld\fR\|(1), \fBgdb\fR\|(1), \fBdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" --- 1710,1717 ---- <\fBhttps://gcc.gnu.org/bugs/\fR>. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), ! \&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIdbx\fR\|(1) and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIgfortran\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" *************** under the terms of the \s-1GNU\s0 Free D *** 1731,1737 **** any later version published by the Free Software Foundation; with the Invariant Sections being \*(L"Funding Free Software\*(R", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 1727,1733 ---- any later version published by the Free Software Foundation; with the Invariant Sections being \*(L"Funding Free Software\*(R", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/doc/gpl.7 gcc-10.5.0/gcc/doc/gpl.7 *** gcc-10.4.0/gcc/doc/gpl.7 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/gpl.7 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** the \s-1GNU\s0 Lesser General Public Lic *** 841,847 **** first, please read <\fBhttps://www.gnu.org/licenses/why\-not\-lgpl.html\fR>. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fBgfdl\fR\|(7), \fBfsf\-funding\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2007 Free Software Foundation, Inc. --- 837,843 ---- first, please read <\fBhttps://www.gnu.org/licenses/why\-not\-lgpl.html\fR>. .SH "SEE ALSO" .IX Header "SEE ALSO" ! \&\fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2007 Free Software Foundation, Inc. diff -Nrcpad gcc-10.4.0/gcc/doc/invoke.texi gcc-10.5.0/gcc/doc/invoke.texi *** gcc-10.4.0/gcc/doc/invoke.texi Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/doc/invoke.texi Fri Jul 7 07:08:19 2023 *************** performance of the code. Permissible va *** 16999,17005 **** @samp{cortex-a65}, @samp{cortex-a65ae}, @samp{cortex-a34}, @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor}, @samp{neoverse-e1}, @samp{neoverse-n1}, @samp{neoverse-n2}, ! @samp{neoverse-v1}, @samp{neoverse-512tvb}, @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan}, @samp{octeontx}, @samp{octeontx81}, @samp{octeontx83}, @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96} --- 16999,17005 ---- @samp{cortex-a65}, @samp{cortex-a65ae}, @samp{cortex-a34}, @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor}, @samp{neoverse-e1}, @samp{neoverse-n1}, @samp{neoverse-n2}, ! @samp{neoverse-v1}, @samp{neoverse-v2}, @samp{neoverse-512tvb}, @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan}, @samp{octeontx}, @samp{octeontx81}, @samp{octeontx83}, @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96} *************** performance of the code. Permissible va *** 17011,17018 **** @samp{thunderxt83}, @samp{thunderx2t99}, @samp{thunderx3t110}, @samp{zeus}, @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, ! @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55} ! @samp{native}. The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, --- 17011,17018 ---- @samp{thunderxt83}, @samp{thunderx2t99}, @samp{thunderx3t110}, @samp{zeus}, @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, ! @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55}, ! @samp{ampere1}, @samp{ampere1a}, @samp{native}. The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, *************** on x86-64 processors in 64-bit environme *** 30278,30284 **** Generate code for a 16-bit, 32-bit or 64-bit environment. The @option{-m32} option sets @code{int}, @code{long}, and pointer types to 32 bits, and ! generates code that runs on any i386 system. The @option{-m64} option sets @code{int} to 32 bits and @code{long} and pointer types to 64 bits, and generates code for the x86-64 architecture. --- 30278,30284 ---- Generate code for a 16-bit, 32-bit or 64-bit environment. The @option{-m32} option sets @code{int}, @code{long}, and pointer types to 32 bits, and ! generates code that runs in 32-bit mode. The @option{-m64} option sets @code{int} to 32 bits and @code{long} and pointer types to 64 bits, and generates code for the x86-64 architecture. diff -Nrcpad gcc-10.4.0/gcc/doc/lto-dump.1 gcc-10.5.0/gcc/doc/lto-dump.1 *** gcc-10.4.0/gcc/doc/lto-dump.1 Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/doc/lto-dump.1 Fri Jul 7 07:09:35 2023 *************** *** 1,4 **** ! .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== --- 1,4 ---- ! .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== *************** *** 54,73 **** .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .nr rF 0 ! .if \n(.g .if rF .nr rF 1 ! .if (\n(rF:(\n(.g==0)) \{\ ! . if \nF \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 ! . \} . \} .\} - .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. --- 54,69 ---- .\" Avoid warning from groff about undefined register 'F'. .de IX .. ! .if !\nF .nr F 0 ! .if \nF>0 \{\ ! . de IX ! . tm Index:\\$1\t\\n%\t"\\$2" .. ! . if !\nF==2 \{\ ! . nr % 0 ! . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "LTO-DUMP 1" ! .TH LTO-DUMP 1 "2022-06-28" "gcc-10.4.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 129,135 ---- .\" ======================================================================== .\" .IX Title "LTO-DUMP 1" ! .TH LTO-DUMP 1 "2023-07-07" "gcc-10.5.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** any later version published by the Free *** 222,228 **** Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fBgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP --- 218,224 ---- Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding Free Software\*(R", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is ! included in the \fIgfdl\fR\|(7) man page. .PP (a) The \s-1FSF\s0's Front-Cover Text is: .PP diff -Nrcpad gcc-10.4.0/gcc/expr.c gcc-10.5.0/gcc/expr.c *** gcc-10.4.0/gcc/expr.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/expr.c Fri Jul 7 07:08:19 2023 *************** get_inner_reference (tree exp, poly_int6 *** 7282,7289 **** /* For vector fields re-check the target flags, as DECL_MODE could have been set with different target flags than the current function has. */ ! if (mode == BLKmode ! && VECTOR_TYPE_P (TREE_TYPE (field)) && VECTOR_MODE_P (TYPE_MODE_RAW (TREE_TYPE (field)))) mode = TYPE_MODE (TREE_TYPE (field)); } --- 7282,7288 ---- /* For vector fields re-check the target flags, as DECL_MODE could have been set with different target flags than the current function has. */ ! if (VECTOR_TYPE_P (TREE_TYPE (field)) && VECTOR_MODE_P (TYPE_MODE_RAW (TREE_TYPE (field)))) mode = TYPE_MODE (TREE_TYPE (field)); } *************** expand_cond_expr_using_cmove (tree treeo *** 8412,8418 **** expanding_cond_expr_using_cmove = true; start_sequence (); expand_operands (treeop1, treeop2, ! temp, &op1, &op2, EXPAND_NORMAL); if (TREE_CODE (treeop0) == SSA_NAME && (srcstmt = get_def_for_expr_class (treeop0, tcc_comparison))) --- 8411,8418 ---- expanding_cond_expr_using_cmove = true; start_sequence (); expand_operands (treeop1, treeop2, ! mode == orig_mode ? temp : NULL_RTX, &op1, &op2, ! EXPAND_NORMAL); if (TREE_CODE (treeop0) == SSA_NAME && (srcstmt = get_def_for_expr_class (treeop0, tcc_comparison))) diff -Nrcpad gcc-10.4.0/gcc/fortran/ChangeLog gcc-10.5.0/gcc/fortran/ChangeLog *** gcc-10.4.0/gcc/fortran/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,443 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-06-09 Jakub Jelinek + + Backported from master: + 2023-06-09 Jakub Jelinek + + PR fortran/96024 + * primary.c (gfc_convert_to_structure_constructor): Only do + constant string ctor length verification and truncation/padding + if constant length has INTEGER type. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-03 Jakub Jelinek + + PR fortran/108451 + * trans-decl.c (gfc_trans_use_stmts): Call clear_slot before + doing continue. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-11 Jakub Jelinek + + PR fortran/108349 + * f95-lang.c (gfc_init_builtin_function): Fix up function types + for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}. Formatting fixes. + + 2023-04-16 Harald Anlauf + + Backported from master: + 2023-04-14 Harald Anlauf + + PR fortran/109511 + * simplify.c (gfc_simplify_set_exponent): Fix implementation of + compile-time simplification of intrinsic SET_EXPONENT for argument + X < 1 and for I < 0. + + 2023-03-24 Harald Anlauf + + Backported from master: + 2023-03-20 Harald Anlauf + + PR fortran/109186 + * simplify.c (gfc_simplify_nearest): Fix off-by-one error in setting + up real kind-specific maximum exponent for mpfr. + + 2023-03-24 Harald Anlauf + + Backported from master: + 2023-03-19 Harald Anlauf + + PR fortran/85877 + * resolve.c (resolve_fl_procedure): Check for an explicit interface + of procedures with the BIND(C) attribute (F2018:15.4.2.2). + + 2023-03-17 Harald Anlauf + + Backported from master: + 2023-03-11 Harald Anlauf + + PR fortran/106945 + * trans-expr.c (gfc_copy_class_to_class): Convert element counts in + bounds check to common type for comparison. + + 2023-03-17 Harald Anlauf + + Backported from master: + 2023-03-10 Harald Anlauf + + PR fortran/104332 + * resolve.c (resolve_symbol): Avoid NULL pointer dereference while + checking a symbol with the BIND(C) attribute. + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-27 Harald Anlauf + + PR fortran/108937 + * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Handle corner case + LEN argument of IBITS equal to BITSIZE(I). + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-22 Harald Anlauf + + PR fortran/96024 + * resolve.c (resolve_component): The type of a CHARACTER length + expression must be INTEGER. + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-21 Harald Anlauf + + PR fortran/96025 + * parse.c (check_function_result_typed): Improve type check of + specification expression for character length and return status. + (parse_spec): Use status from above. + * resolve.c (resolve_fntype): Prevent use of invalid specification + expression for character length. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-02-07 Harald Anlauf + + PR fortran/95107 + * trans-decl.c (gfc_finish_var_decl): With -fno-automatic, do not + make ASSOCIATE variables TREE_STATIC. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-02-01 Harald Anlauf + + PR fortran/108609 + * expr.c (find_array_section): Add check to prevent interpreting an + mpz non-integer constant as an integer. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-01-28 Harald Anlauf + Steven G. Kargl + + PR fortran/108527 + * resolve.c (compare_bound_int): Expression to compare must be of + type INTEGER. + (compare_bound_mpz_t): Likewise. + (check_dimension): Fix comment on checks applied to array section + and clean up associated logic. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-24 Harald Anlauf + + PR fortran/108529 + * simplify.c (simplify_transformation): Do not try to simplify + transformational intrinsic when the ARRAY argument has a NULL shape. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2022-07-14 Harald Anlauf + Steven G. Kargl + + PR fortran/106209 + * decl.c (add_init_expr_to_sym): Handle bad initializers for + implied-shape arrays. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108501 + * interface.c (get_expr_storage_size): Check array subscript triplets + that we actually have integer values before trying to extract with + mpz_get_si. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108502 + * dependency.c (gfc_check_dependency): Prevent NULL pointer + dereference while recursively checking expressions. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-17 Harald Anlauf + + PR fortran/108421 + * interface.c (get_expr_storage_size): Check that we actually have + an integer value before trying to extract it with mpz_get_si. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108420 + * iresolve.c (check_charlen_present): Preserve character length if + there is no array constructor. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-28 Harald Anlauf + + PR fortran/108453 + * match.c (gfc_match_common): A USE associated name shall not appear + in a COMMON block (F2018:C8121). + + 2023-01-08 Harald Anlauf + + Backported from master: + 2022-12-23 Harald Anlauf + + PR fortran/108131 + * array.c (match_array_element_spec): Avoid too early simplification + of matched array element specs that can lead to a misinterpretation + when used as array bounds in array declarations. + + 2022-12-18 Paul Thomas + + Backported from master: + 2022-12-09 Paul Thomas + + PR fortran/107872 + * resolve.c (derived_inaccessible): Skip over allocatable components + to prevent an infinite loop. + + 2022-11-25 Harald Anlauf + + Backported from master: + 2022-11-18 Harald Anlauf + + PR fortran/107576 + * interface.c (gfc_procedure_use): Reject NULL as actual argument + when there is no explicit procedure interface. + + 2022-10-28 Harald Anlauf + + Backported from master: + 2022-10-26 Harald Anlauf + + PR fortran/103413 + * symbol.c (gfc_type_compatible): A boz-literal-constant has no type + and thus is not considered compatible to any type. + + 2022-10-23 Harald Anlauf + + Backported from master: + 2022-10-20 Harald Anlauf + Steven G. Kargl + + PR fortran/105633 + * expr.c (find_array_section): Move check for NULL pointers so + that both subscript triplets and vector subscripts are covered. + + 2022-10-10 Mikael Morin + + Backported from master: + 2022-09-25 Mikael Morin + + PR fortran/106817 + * trans-expr.c (gfc_conv_procedure_call): Collect all clobbers + to their own separate block. Append the block of clobbers to + the procedure preliminary block after the argument evaluation + codes for all the arguments. + + 2022-10-10 Mikael Morin + + Backported from master: + 2022-09-25 Mikael Morin + + PR fortran/105012 + * trans-expr.c (gfc_conv_procedure_call): Retrieve variable + from the just calculated variable reference. + + 2022-10-10 Mikael Morin + + Backported from master: + 2022-09-25 Mikael Morin + + * trans.h (gfc_conv_expr_reference): Remove add_clobber + argument. + * trans-expr.c (gfc_conv_expr_reference): Ditto. Inline code + depending on add_clobber and conditions controlling it ... + (gfc_conv_procedure_call): ... to here. + + 2022-10-08 José Rui Faustino de Sousa + + Backported from master: + 2022-10-01 José Rui Faustino de Sousa + + PR fortran/100040 + PR fortran/100029 + * trans-expr.c (gfc_conv_class_to_class): Add code to have + assumed-rank arrays recognized as full arrays and fix the type + of the array assignment. + (gfc_conv_procedure_call): Change order of code blocks such that + the free of ALLOCATABLE dummy arguments with INTENT(OUT) occurs + first. + + 2022-10-01 José Rui Faustino de Sousa + + Backported from master: + 2022-09-20 José Rui Faustino de Sousa + + PR fortran/100132 + * trans-types.c (create_fn_spec): Fix function attributes when + passing polymorphic pointers. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-27 Harald Anlauf + + PR fortran/107054 + * simplify.c (gfc_simplify_unpack): Replace assert by condition + that terminates simplification when there are not enough elements + in the constructor of argument VECTOR. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-22 Harald Anlauf + + PR fortran/82868 + * trans-decl.c (generate_coarray_sym_init): Skip symbol + if attr.associate_var. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-20 Harald Anlauf + + PR fortran/106985 + * expr.c (gfc_simplify_expr): Avoid NULL pointer dereference. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-08-24 Harald Anlauf + + PR fortran/103694 + * simplify.c (simplify_size): The size expression of an array cannot + be simplified if an error occurs while resolving the array spec. + + 2022-09-26 Harald Anlauf + + Backported from master: + 2022-09-20 Harald Anlauf + + PR fortran/106986 + * simplify.c (gfc_simplify_findloc): Do not try to simplify + intrinsic FINDLOC when the ARRAY argument has a NULL shape. + + 2022-09-24 José Rui Faustino de Sousa + + Backported from master: + 2022-09-03 José Rui Faustino de Sousa + + PR fortran/100245 + * trans-expr.c (trans_class_assignment): Add if clause to handle + derived type in the LHS. + + 2022-09-22 Harald Anlauf + + Backported from master: + 2022-09-15 Harald Anlauf + + PR fortran/106857 + * simplify.c (gfc_simplify_pack): Check for NULL pointer dereferences + while walking through constructors (error recovery). + + 2022-07-26 Harald Anlauf + + Backported from master: + 2022-07-26 Harald Anlauf + + PR fortran/103504 + * interface.c (get_sym_storage_size): Array bounds and character + length can only be of integer type. + + 2022-07-16 Steve Kargl + + Backported from master: + 2022-07-15 Steve Kargl + + PR fortran/104313 + * trans-decl.c (gfc_generate_return): Do not generate conflicting + fake results for functions with no result variable under -ff2c. + + 2022-07-03 Harald Anlauf + + Backported from master: + 2022-06-30 Harald Anlauf + Steven G. Kargl + + PR fortran/103137 + PR fortran/103138 + PR fortran/103693 + PR fortran/105243 + * decl.c (gfc_match_data_decl): Reject CLASS entity declaration + when it is given the PARAMETER attribute. + + 2022-07-03 Harald Anlauf + + Backported from master: + 2022-06-29 Harald Anlauf + Steven G. Kargl + + PR fortran/106121 + * simplify.c (gfc_simplify_extends_type_of): Do not attempt to + simplify when one of the arguments is a CLASS variable that was + not properly declared. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-26 Harald Anlauf + + PR fortran/105954 + * decl.c (variable_decl): Adjust upper bounds for explicit-shape + specs with constant bound expressions to ensure non-negative + extents. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-26 Harald Anlauf + + PR fortran/105691 + * simplify.c (gfc_simplify_index): Replace old simplification + code by the equivalent of the runtime library implementation. Use + HOST_WIDE_INT instead of int for string index, length variables. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-24 Harald Anlauf + + PR fortran/105813 + * check.c (gfc_check_unpack): Try to simplify MASK argument to + UNPACK so that checking of the VECTOR argument can work when MASK + is a variable. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/fortran/array.c gcc-10.5.0/gcc/fortran/array.c *** gcc-10.4.0/gcc/fortran/array.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/array.c Fri Jul 7 07:08:19 2023 *************** match_array_element_spec (gfc_array_spec *** 492,499 **** if (!gfc_expr_check_typed (*upper, gfc_current_ns, false)) return AS_UNKNOWN; - gfc_try_simplify_expr (*upper, 0); - if (((*upper)->expr_type == EXPR_CONSTANT && (*upper)->ts.type != BT_INTEGER) || ((*upper)->expr_type == EXPR_FUNCTION --- 492,497 ---- *************** match_array_element_spec (gfc_array_spec *** 526,533 **** if (!gfc_expr_check_typed (*upper, gfc_current_ns, false)) return AS_UNKNOWN; - gfc_try_simplify_expr (*upper, 0); - if (((*upper)->expr_type == EXPR_CONSTANT && (*upper)->ts.type != BT_INTEGER) || ((*upper)->expr_type == EXPR_FUNCTION --- 524,529 ---- diff -Nrcpad gcc-10.4.0/gcc/fortran/check.c gcc-10.5.0/gcc/fortran/check.c *** gcc-10.4.0/gcc/fortran/check.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/check.c Fri Jul 7 07:08:19 2023 *************** gfc_check_unpack (gfc_expr *vector, gfc_ *** 6329,6334 **** --- 6329,6336 ---- if (!same_type_check (vector, 0, field, 2)) return false; + gfc_simplify_expr (mask, 0); + if (mask->expr_type == EXPR_ARRAY && gfc_array_size (vector, &vector_size)) { diff -Nrcpad gcc-10.4.0/gcc/fortran/decl.c gcc-10.5.0/gcc/fortran/decl.c *** gcc-10.4.0/gcc/fortran/decl.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/decl.c Fri Jul 7 07:08:19 2023 *************** add_init_expr_to_sym (const char *name, *** 2047,2056 **** /* The shape may be NULL for EXPR_ARRAY, set it. */ if (init->shape == NULL) { ! gcc_assert (init->expr_type == EXPR_ARRAY); init->shape = gfc_get_shape (1); if (!gfc_array_size (init, &init->shape[0])) ! gfc_internal_error ("gfc_array_size failed"); } for (dim = 0; dim < sym->as->rank; ++dim) --- 2047,2067 ---- /* The shape may be NULL for EXPR_ARRAY, set it. */ if (init->shape == NULL) { ! if (init->expr_type != EXPR_ARRAY) ! { ! gfc_error ("Bad shape of initializer at %L", &init->where); ! return false; ! } ! init->shape = gfc_get_shape (1); if (!gfc_array_size (init, &init->shape[0])) ! { ! gfc_error ("Cannot determine shape of initializer at %L", ! &init->where); ! free (init->shape); ! init->shape = NULL; ! return false; ! } } for (dim = 0; dim < sym->as->rank; ++dim) *************** variable_decl (int elem) *** 2685,2690 **** --- 2696,2713 ---- else gfc_free_expr (n); } + /* For an explicit-shape spec with constant bounds, ensure + that the effective upper bound is not lower than the + respective lower bound minus one. Otherwise adjust it so + that the extent is trivially derived to be zero. */ + if (as->lower[i]->expr_type == EXPR_CONSTANT + && as->upper[i]->expr_type == EXPR_CONSTANT + && as->lower[i]->ts.type == BT_INTEGER + && as->upper[i]->ts.type == BT_INTEGER + && mpz_cmp (as->upper[i]->value.integer, + as->lower[i]->value.integer) < 0) + mpz_sub_ui (as->upper[i]->value.integer, + as->lower[i]->value.integer, 1); } } } *************** gfc_match_data_decl (void) *** 6169,6174 **** --- 6192,6205 ---- goto cleanup; } + /* F2018:C708. */ + if (current_ts.type == BT_CLASS && current_attr.flavor == FL_PARAMETER) + { + gfc_error ("CLASS entity at %C cannot have the PARAMETER attribute"); + m = MATCH_ERROR; + goto cleanup; + } + if (current_ts.type == BT_CLASS && current_ts.u.derived->attr.unlimited_polymorphic) goto ok; diff -Nrcpad gcc-10.4.0/gcc/fortran/dependency.c gcc-10.5.0/gcc/fortran/dependency.c *** gcc-10.4.0/gcc/fortran/dependency.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/dependency.c Fri Jul 7 07:08:19 2023 *************** gfc_check_dependency (gfc_expr *expr1, g *** 1291,1296 **** --- 1291,1301 ---- if (expr1->expr_type != EXPR_VARIABLE) gfc_internal_error ("gfc_check_dependency: expecting an EXPR_VARIABLE"); + /* Prevent NULL pointer dereference while recursively analyzing invalid + expressions. */ + if (expr2 == NULL) + return 0; + switch (expr2->expr_type) { case EXPR_OP: diff -Nrcpad gcc-10.4.0/gcc/fortran/expr.c gcc-10.5.0/gcc/fortran/expr.c *** gcc-10.4.0/gcc/fortran/expr.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/expr.c Fri Jul 7 07:08:19 2023 *************** find_array_section (gfc_expr *expr, gfc_ *** 1549,1554 **** --- 1549,1564 ---- lower = ref->u.ar.as->lower[d]; upper = ref->u.ar.as->upper[d]; + if (!lower || !upper + || lower->expr_type != EXPR_CONSTANT + || upper->expr_type != EXPR_CONSTANT + || lower->ts.type != BT_INTEGER + || upper->ts.type != BT_INTEGER) + { + t = false; + goto cleanup; + } + if (ref->u.ar.dimen_type[d] == DIMEN_VECTOR) /* Vector subscript. */ { gfc_constructor *ci; *************** find_array_section (gfc_expr *expr, gfc_ *** 1591,1599 **** { if ((begin && begin->expr_type != EXPR_CONSTANT) || (finish && finish->expr_type != EXPR_CONSTANT) ! || (step && step->expr_type != EXPR_CONSTANT) ! || !lower ! || !upper) { t = false; goto cleanup; --- 1601,1607 ---- { if ((begin && begin->expr_type != EXPR_CONSTANT) || (finish && finish->expr_type != EXPR_CONSTANT) ! || (step && step->expr_type != EXPR_CONSTANT)) { t = false; goto cleanup; *************** gfc_simplify_expr (gfc_expr *p, int type *** 2277,2283 **** initialization expression, or we want a subsection. */ if (p->symtree->n.sym->attr.flavor == FL_PARAMETER && (gfc_init_expr_flag || p->ref ! || p->symtree->n.sym->value->expr_type != EXPR_ARRAY)) { if (!simplify_parameter_variable (p, type)) return false; --- 2285,2292 ---- initialization expression, or we want a subsection. */ if (p->symtree->n.sym->attr.flavor == FL_PARAMETER && (gfc_init_expr_flag || p->ref ! || (p->symtree->n.sym->value ! && p->symtree->n.sym->value->expr_type != EXPR_ARRAY))) { if (!simplify_parameter_variable (p, type)) return false; diff -Nrcpad gcc-10.4.0/gcc/fortran/f95-lang.c gcc-10.5.0/gcc/fortran/f95-lang.c *** gcc-10.4.0/gcc/fortran/f95-lang.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/f95-lang.c Fri Jul 7 07:08:19 2023 *************** gfc_init_builtin_functions (void) *** 692,722 **** float_type_node, NULL_TREE); func_cdouble_double = build_function_type_list (double_type_node, ! complex_double_type_node, ! NULL_TREE); func_double_cdouble = build_function_type_list (complex_double_type_node, ! double_type_node, NULL_TREE); ! func_clongdouble_longdouble = ! build_function_type_list (long_double_type_node, ! complex_long_double_type_node, NULL_TREE); ! func_longdouble_clongdouble = ! build_function_type_list (complex_long_double_type_node, ! long_double_type_node, NULL_TREE); ptype = build_pointer_type (float_type_node); ! func_float_floatp_floatp = ! build_function_type_list (void_type_node, ptype, ptype, NULL_TREE); ptype = build_pointer_type (double_type_node); ! func_double_doublep_doublep = ! build_function_type_list (void_type_node, ptype, ptype, NULL_TREE); ptype = build_pointer_type (long_double_type_node); ! func_longdouble_longdoublep_longdoublep = ! build_function_type_list (void_type_node, ptype, ptype, NULL_TREE); /* Non-math builtins are defined manually, so they're not included here. */ #define OTHER_BUILTIN(ID,NAME,TYPE,CONST) --- 692,725 ---- float_type_node, NULL_TREE); func_cdouble_double = build_function_type_list (double_type_node, ! complex_double_type_node, ! NULL_TREE); func_double_cdouble = build_function_type_list (complex_double_type_node, ! double_type_node, NULL_TREE); ! func_clongdouble_longdouble ! = build_function_type_list (long_double_type_node, ! complex_long_double_type_node, NULL_TREE); ! func_longdouble_clongdouble ! = build_function_type_list (complex_long_double_type_node, ! long_double_type_node, NULL_TREE); ptype = build_pointer_type (float_type_node); ! func_float_floatp_floatp ! = build_function_type_list (void_type_node, float_type_node, ptype, ptype, ! NULL_TREE); ptype = build_pointer_type (double_type_node); ! func_double_doublep_doublep ! = build_function_type_list (void_type_node, double_type_node, ptype, ! ptype, NULL_TREE); ptype = build_pointer_type (long_double_type_node); ! func_longdouble_longdoublep_longdoublep ! = build_function_type_list (void_type_node, long_double_type_node, ptype, ! ptype, NULL_TREE); /* Non-math builtins are defined manually, so they're not included here. */ #define OTHER_BUILTIN(ID,NAME,TYPE,CONST) *************** gfc_init_builtin_functions (void) *** 970,978 **** "calloc", ATTR_NOTHROW_LEAF_MALLOC_LIST); DECL_IS_MALLOC (builtin_decl_explicit (BUILT_IN_CALLOC)) = 1; ! ftype = build_function_type_list (pvoid_type_node, ! size_type_node, pvoid_type_node, ! NULL_TREE); gfc_define_builtin ("__builtin_realloc", ftype, BUILT_IN_REALLOC, "realloc", ATTR_NOTHROW_LEAF_LIST); --- 973,980 ---- "calloc", ATTR_NOTHROW_LEAF_MALLOC_LIST); DECL_IS_MALLOC (builtin_decl_explicit (BUILT_IN_CALLOC)) = 1; ! ftype = build_function_type_list (pvoid_type_node, pvoid_type_node, ! size_type_node, NULL_TREE); gfc_define_builtin ("__builtin_realloc", ftype, BUILT_IN_REALLOC, "realloc", ATTR_NOTHROW_LEAF_LIST); diff -Nrcpad gcc-10.4.0/gcc/fortran/gfortran.info gcc-10.5.0/gcc/fortran/gfortran.info *** gcc-10.4.0/gcc/fortran/gfortran.info Tue Jun 28 09:09:22 2022 --- gcc-10.5.0/gcc/fortran/gfortran.info Fri Jul 7 07:19:05 2023 *************** *** 1,4 **** ! This is gfortran.info, produced by makeinfo version 6.8 from gfortran.texi. Copyright (C) 1999-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is gfortran.info, produced by makeinfo version 6.5 from gfortran.texi. Copyright (C) 1999-2020 Free Software Foundation, Inc. *************** the other form by either removing 'no-' *** 1549,1555 **** Use of '-fno-underscoring' is not recommended unless you are experimenting with issues such as integration of GNU Fortran into ! existing system environments (vis-à-vis existing libraries, tools, and so on). For example, with '-funderscoring', and assuming that 'j()' and --- 1549,1555 ---- Use of '-fno-underscoring' is not recommended unless you are experimenting with issues such as integration of GNU Fortran into ! existing system environments (vis-a`-vis existing libraries, tools, and so on). For example, with '-funderscoring', and assuming that 'j()' and *************** significant help to the GNU Fortran proj *** 19968,19974 **** - Steven Bosscher - Paul Brook - Tobias Burnus ! - François-Xavier Coudert - Bud Davis - Jerry DeLisle - Erik Edelmann --- 19968,19974 ---- - Steven Bosscher - Paul Brook - Tobias Burnus ! - Franc,ois-Xavier Coudert - Bud Davis - Jerry DeLisle - Erik Edelmann *************** significant help to the GNU Fortran proj *** 19990,19996 **** - Tim Prince - Christopher D. Rickett - Richard Sandiford ! - Tobias Schlüter - Roger Sayle - Paul Thomas - Andy Vaught --- 19990,19996 ---- - Tim Prince - Christopher D. Rickett - Richard Sandiford ! - Tobias Schlu"ter - Roger Sayle - Paul Thomas - Andy Vaught *************** patches, and much needed feedback and en *** 20003,20009 **** project: - Bill Clodius ! - Dominique d'Humières - Kate Hedstrom - Erik Schnetter - Joost VandeVondele --- 20003,20009 ---- project: - Bill Clodius ! - Dominique d'Humie`res - Kate Hedstrom - Erik Schnetter - Joost VandeVondele *************** Node: Option Index780098 *** 23580,23587 **** Node: Keyword Index799159  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 23580,23582 ---- diff -Nrcpad gcc-10.4.0/gcc/fortran/interface.c gcc-10.5.0/gcc/fortran/interface.c *** gcc-10.4.0/gcc/fortran/interface.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/interface.c Fri Jul 7 07:08:19 2023 *************** get_sym_storage_size (gfc_symbol *sym) *** 2759,2765 **** if (sym->ts.type == BT_CHARACTER) { if (sym->ts.u.cl && sym->ts.u.cl->length ! && sym->ts.u.cl->length->expr_type == EXPR_CONSTANT) strlen = mpz_get_ui (sym->ts.u.cl->length->value.integer); else return 0; --- 2759,2766 ---- if (sym->ts.type == BT_CHARACTER) { if (sym->ts.u.cl && sym->ts.u.cl->length ! && sym->ts.u.cl->length->expr_type == EXPR_CONSTANT ! && sym->ts.u.cl->length->ts.type == BT_INTEGER) strlen = mpz_get_ui (sym->ts.u.cl->length->value.integer); else return 0; *************** get_sym_storage_size (gfc_symbol *sym) *** 2776,2782 **** for (i = 0; i < sym->as->rank; i++) { if (sym->as->upper[i]->expr_type != EXPR_CONSTANT ! || sym->as->lower[i]->expr_type != EXPR_CONSTANT) return 0; elements *= mpz_get_si (sym->as->upper[i]->value.integer) --- 2777,2785 ---- for (i = 0; i < sym->as->rank; i++) { if (sym->as->upper[i]->expr_type != EXPR_CONSTANT ! || sym->as->lower[i]->expr_type != EXPR_CONSTANT ! || sym->as->upper[i]->ts.type != BT_INTEGER ! || sym->as->lower[i]->ts.type != BT_INTEGER) return 0; elements *= mpz_get_si (sym->as->upper[i]->value.integer) *************** get_expr_storage_size (gfc_expr *e) *** 2807,2813 **** if (e->ts.type == BT_CHARACTER) { if (e->ts.u.cl && e->ts.u.cl->length ! && e->ts.u.cl->length->expr_type == EXPR_CONSTANT) strlen = mpz_get_si (e->ts.u.cl->length->value.integer); else if (e->expr_type == EXPR_CONSTANT && (e->ts.u.cl == NULL || e->ts.u.cl->length == NULL)) --- 2810,2817 ---- if (e->ts.type == BT_CHARACTER) { if (e->ts.u.cl && e->ts.u.cl->length ! && e->ts.u.cl->length->expr_type == EXPR_CONSTANT ! && e->ts.u.cl->length->ts.type == BT_INTEGER) strlen = mpz_get_si (e->ts.u.cl->length->value.integer); else if (e->expr_type == EXPR_CONSTANT && (e->ts.u.cl == NULL || e->ts.u.cl->length == NULL)) *************** get_expr_storage_size (gfc_expr *e) *** 2858,2864 **** if (ref->u.ar.stride[i]) { ! if (ref->u.ar.stride[i]->expr_type == EXPR_CONSTANT) stride = mpz_get_si (ref->u.ar.stride[i]->value.integer); else return 0; --- 2862,2869 ---- if (ref->u.ar.stride[i]) { ! if (ref->u.ar.stride[i]->expr_type == EXPR_CONSTANT ! && ref->u.ar.stride[i]->ts.type == BT_INTEGER) stride = mpz_get_si (ref->u.ar.stride[i]->value.integer); else return 0; *************** get_expr_storage_size (gfc_expr *e) *** 2866,2891 **** if (ref->u.ar.start[i]) { ! if (ref->u.ar.start[i]->expr_type == EXPR_CONSTANT) start = mpz_get_si (ref->u.ar.start[i]->value.integer); else return 0; } else if (ref->u.ar.as->lower[i] ! && ref->u.ar.as->lower[i]->expr_type == EXPR_CONSTANT) start = mpz_get_si (ref->u.ar.as->lower[i]->value.integer); else return 0; if (ref->u.ar.end[i]) { ! if (ref->u.ar.end[i]->expr_type == EXPR_CONSTANT) end = mpz_get_si (ref->u.ar.end[i]->value.integer); else return 0; } else if (ref->u.ar.as->upper[i] ! && ref->u.ar.as->upper[i]->expr_type == EXPR_CONSTANT) end = mpz_get_si (ref->u.ar.as->upper[i]->value.integer); else return 0; --- 2871,2900 ---- if (ref->u.ar.start[i]) { ! if (ref->u.ar.start[i]->expr_type == EXPR_CONSTANT ! && ref->u.ar.start[i]->ts.type == BT_INTEGER) start = mpz_get_si (ref->u.ar.start[i]->value.integer); else return 0; } else if (ref->u.ar.as->lower[i] ! && ref->u.ar.as->lower[i]->expr_type == EXPR_CONSTANT ! && ref->u.ar.as->lower[i]->ts.type == BT_INTEGER) start = mpz_get_si (ref->u.ar.as->lower[i]->value.integer); else return 0; if (ref->u.ar.end[i]) { ! if (ref->u.ar.end[i]->expr_type == EXPR_CONSTANT ! && ref->u.ar.end[i]->ts.type == BT_INTEGER) end = mpz_get_si (ref->u.ar.end[i]->value.integer); else return 0; } else if (ref->u.ar.as->upper[i] ! && ref->u.ar.as->upper[i]->expr_type == EXPR_CONSTANT ! && ref->u.ar.as->upper[i]->ts.type == BT_INTEGER) end = mpz_get_si (ref->u.ar.as->upper[i]->value.integer); else return 0; *************** get_expr_storage_size (gfc_expr *e) *** 2926,2932 **** || ref->u.ar.as->upper[i] == NULL || ref->u.ar.as->lower[i] == NULL || ref->u.ar.as->upper[i]->expr_type != EXPR_CONSTANT ! || ref->u.ar.as->lower[i]->expr_type != EXPR_CONSTANT) return 0; elements --- 2935,2943 ---- || ref->u.ar.as->upper[i] == NULL || ref->u.ar.as->lower[i] == NULL || ref->u.ar.as->upper[i]->expr_type != EXPR_CONSTANT ! || ref->u.ar.as->lower[i]->expr_type != EXPR_CONSTANT ! || ref->u.ar.as->upper[i]->ts.type != BT_INTEGER ! || ref->u.ar.as->lower[i]->ts.type != BT_INTEGER) return 0; elements *************** get_expr_storage_size (gfc_expr *e) *** 2948,2954 **** { if (!as->upper[i] || !as->lower[i] || as->upper[i]->expr_type != EXPR_CONSTANT ! || as->lower[i]->expr_type != EXPR_CONSTANT) return 0; elements = elements --- 2959,2967 ---- { if (!as->upper[i] || !as->lower[i] || as->upper[i]->expr_type != EXPR_CONSTANT ! || as->lower[i]->expr_type != EXPR_CONSTANT ! || as->upper[i]->ts.type != BT_INTEGER ! || as->lower[i]->ts.type != BT_INTEGER) return 0; elements = elements *************** gfc_procedure_use (gfc_symbol *sym, gfc_ *** 3964,3969 **** --- 3977,3990 ---- a->expr->error = 1; return false; } + + if (a->expr && a->expr->expr_type == EXPR_NULL) + { + gfc_error ("Passing intrinsic NULL as actual argument at %L " + "requires an explicit interface", &a->expr->where); + a->expr->error = 1; + return false; + } /* TS 29113, C407b. */ if (a->expr && a->expr->expr_type == EXPR_VARIABLE diff -Nrcpad gcc-10.4.0/gcc/fortran/iresolve.c gcc-10.5.0/gcc/fortran/iresolve.c *** gcc-10.4.0/gcc/fortran/iresolve.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/iresolve.c Fri Jul 7 07:08:19 2023 *************** check_charlen_present (gfc_expr *source) *** 94,102 **** else if (source->expr_type == EXPR_ARRAY) { gfc_constructor *c = gfc_constructor_first (source->value.constructor); ! source->ts.u.cl->length ! = gfc_get_int_expr (gfc_charlen_int_kind, NULL, ! c->expr->value.character.length); } } --- 94,105 ---- else if (source->expr_type == EXPR_ARRAY) { gfc_constructor *c = gfc_constructor_first (source->value.constructor); ! if (c) ! source->ts.u.cl->length ! = gfc_get_int_expr (gfc_charlen_int_kind, NULL, ! c->expr->value.character.length); ! if (source->ts.u.cl->length == NULL) ! gfc_internal_error ("check_charlen_present(): length not set"); } } diff -Nrcpad gcc-10.4.0/gcc/fortran/match.c gcc-10.5.0/gcc/fortran/match.c *** gcc-10.4.0/gcc/fortran/match.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/match.c Fri Jul 7 07:08:19 2023 *************** gfc_match_common (void) *** 5297,5302 **** --- 5297,5312 ---- goto cleanup; } + /* F2018:R874: common-block-object is variable-name [ (array-spec) ] + F2018:C8121: A variable-name shall not be a name made accessible + by use association. */ + if (sym->attr.use_assoc) + { + gfc_error ("Symbol %qs at %C is USE associated from module %qs " + "and cannot occur in COMMON", sym->name, sym->module); + goto cleanup; + } + /* Deal with an optional array specification after the symbol name. */ m = gfc_match_array_spec (&as, true, true); diff -Nrcpad gcc-10.4.0/gcc/fortran/parse.c gcc-10.5.0/gcc/fortran/parse.c *** gcc-10.4.0/gcc/fortran/parse.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/parse.c Fri Jul 7 07:08:19 2023 *************** match_deferred_characteristics (gfc_type *** 3702,3722 **** For return types specified in a FUNCTION prefix, the IMPLICIT rules of the scope are not yet parsed so this has to be delayed up to parse_spec. */ ! static void check_function_result_typed (void) { gfc_typespec ts; gcc_assert (gfc_current_state () == COMP_FUNCTION); ! if (!gfc_current_ns->proc_name->result) return; ts = gfc_current_ns->proc_name->result->ts; /* Check type-parameters, at the moment only CHARACTER lengths possible. */ /* TODO: Extend when KIND type parameters are implemented. */ if (ts.type == BT_CHARACTER && ts.u.cl && ts.u.cl->length) ! gfc_expr_check_typed (ts.u.cl->length, gfc_current_ns, true); } --- 3702,3731 ---- For return types specified in a FUNCTION prefix, the IMPLICIT rules of the scope are not yet parsed so this has to be delayed up to parse_spec. */ ! static bool check_function_result_typed (void) { gfc_typespec ts; gcc_assert (gfc_current_state () == COMP_FUNCTION); ! if (!gfc_current_ns->proc_name->result) ! return true; ts = gfc_current_ns->proc_name->result->ts; /* Check type-parameters, at the moment only CHARACTER lengths possible. */ /* TODO: Extend when KIND type parameters are implemented. */ if (ts.type == BT_CHARACTER && ts.u.cl && ts.u.cl->length) ! { ! /* Reject invalid type of specification expression for length. */ ! if (ts.u.cl->length->ts.type != BT_INTEGER) ! return false; ! ! gfc_expr_check_typed (ts.u.cl->length, gfc_current_ns, true); ! } ! ! return true; } *************** loop: *** 3824,3833 **** } if (verify_now) ! { ! check_function_result_typed (); ! function_result_typed = true; ! } } switch (st) --- 3833,3839 ---- } if (verify_now) ! function_result_typed = check_function_result_typed (); } switch (st) *************** loop: *** 3838,3847 **** case ST_IMPLICIT_NONE: case ST_IMPLICIT: if (!function_result_typed) ! { ! check_function_result_typed (); ! function_result_typed = true; ! } goto declSt; case ST_FORMAT: --- 3844,3850 ---- case ST_IMPLICIT_NONE: case ST_IMPLICIT: if (!function_result_typed) ! function_result_typed = check_function_result_typed (); goto declSt; case ST_FORMAT: diff -Nrcpad gcc-10.4.0/gcc/fortran/primary.c gcc-10.5.0/gcc/fortran/primary.c *** gcc-10.4.0/gcc/fortran/primary.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/primary.c Fri Jul 7 07:08:19 2023 *************** gfc_convert_to_structure_constructor (gf *** 3209,3218 **** goto cleanup; /* For a constant string constructor, make sure the length is ! correct; truncate of fill with blanks if needed. */ if (this_comp->ts.type == BT_CHARACTER && !this_comp->attr.allocatable && this_comp->ts.u.cl && this_comp->ts.u.cl->length && this_comp->ts.u.cl->length->expr_type == EXPR_CONSTANT && actual->expr->ts.type == BT_CHARACTER && actual->expr->expr_type == EXPR_CONSTANT) { --- 3209,3219 ---- goto cleanup; /* For a constant string constructor, make sure the length is ! correct; truncate or fill with blanks if needed. */ if (this_comp->ts.type == BT_CHARACTER && !this_comp->attr.allocatable && this_comp->ts.u.cl && this_comp->ts.u.cl->length && this_comp->ts.u.cl->length->expr_type == EXPR_CONSTANT + && this_comp->ts.u.cl->length->ts.type == BT_INTEGER && actual->expr->ts.type == BT_CHARACTER && actual->expr->expr_type == EXPR_CONSTANT) { diff -Nrcpad gcc-10.4.0/gcc/fortran/resolve.c gcc-10.5.0/gcc/fortran/resolve.c *** gcc-10.4.0/gcc/fortran/resolve.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/resolve.c Fri Jul 7 07:08:19 2023 *************** compare_bound_int (gfc_expr *a, int b) *** 4497,4508 **** { int i; ! if (a == NULL || a->expr_type != EXPR_CONSTANT) return CMP_UNKNOWN; - if (a->ts.type != BT_INTEGER) - gfc_internal_error ("compare_bound_int(): Bad expression"); - i = mpz_cmp_si (a->value.integer, b); if (i < 0) --- 4497,4507 ---- { int i; ! if (a == NULL ! || a->expr_type != EXPR_CONSTANT ! || a->ts.type != BT_INTEGER) return CMP_UNKNOWN; i = mpz_cmp_si (a->value.integer, b); if (i < 0) *************** compare_bound_mpz_t (gfc_expr *a, mpz_t *** 4520,4531 **** { int i; ! if (a == NULL || a->expr_type != EXPR_CONSTANT) return CMP_UNKNOWN; - if (a->ts.type != BT_INTEGER) - gfc_internal_error ("compare_bound_int(): Bad expression"); - i = mpz_cmp (a->value.integer, b); if (i < 0) --- 4519,4529 ---- { int i; ! if (a == NULL ! || a->expr_type != EXPR_CONSTANT ! || a->ts.type != BT_INTEGER) return CMP_UNKNOWN; i = mpz_cmp (a->value.integer, b); if (i < 0) *************** check_dimension (int i, gfc_array_ref *a *** 4655,4677 **** #define AR_END (ar->end[i] ? ar->end[i] : as->upper[i]) compare_result comp_start_end = compare_bound (AR_START, AR_END); /* Check for zero stride, which is not allowed. */ ! if (compare_bound_int (ar->stride[i], 0) == CMP_EQ) { gfc_error ("Illegal stride of zero at %L", &ar->c_where[i]); return false; } ! /* if start == len || (stride > 0 && start < len) ! || (stride < 0 && start > len), then the array section contains at least one element. In this case, there is an out-of-bounds access if (start < lower || start > upper). */ ! if (compare_bound (AR_START, AR_END) == CMP_EQ ! || ((compare_bound_int (ar->stride[i], 0) == CMP_GT ! || ar->stride[i] == NULL) && comp_start_end == CMP_LT) ! || (compare_bound_int (ar->stride[i], 0) == CMP_LT && comp_start_end == CMP_GT)) { if (compare_bound (AR_START, as->lower[i]) == CMP_LT) --- 4653,4676 ---- #define AR_END (ar->end[i] ? ar->end[i] : as->upper[i]) compare_result comp_start_end = compare_bound (AR_START, AR_END); + compare_result comp_stride_zero = compare_bound_int (ar->stride[i], 0); /* Check for zero stride, which is not allowed. */ ! if (comp_stride_zero == CMP_EQ) { gfc_error ("Illegal stride of zero at %L", &ar->c_where[i]); return false; } ! /* if start == end || (stride > 0 && start < end) ! || (stride < 0 && start > end), then the array section contains at least one element. In this case, there is an out-of-bounds access if (start < lower || start > upper). */ ! if (comp_start_end == CMP_EQ ! || ((comp_stride_zero == CMP_GT || ar->stride[i] == NULL) ! && comp_start_end == CMP_LT) ! || (comp_stride_zero == CMP_LT && comp_start_end == CMP_GT)) { if (compare_bound (AR_START, as->lower[i]) == CMP_LT) *************** derived_inaccessible (gfc_symbol *sym) *** 7440,7446 **** for (c = sym->components; c; c = c->next) { /* Prevent an infinite loop through this function. */ ! if (c->ts.type == BT_DERIVED && c->attr.pointer && sym == c->ts.u.derived) continue; --- 7439,7446 ---- for (c = sym->components; c; c = c->next) { /* Prevent an infinite loop through this function. */ ! if (c->ts.type == BT_DERIVED ! && (c->attr.pointer || c->attr.allocatable) && sym == c->ts.u.derived) continue; *************** check_formal: *** 13413,13418 **** --- 13413,13428 ---- } } } + + /* F2018:15.4.2.2 requires an explicit interface for procedures with the + BIND(C) attribute. */ + if (sym->attr.is_bind_c && sym->attr.if_source == IFSRC_UNKNOWN) + { + gfc_error ("Interface of %qs at %L must be explicit", + sym->name, &sym->declared_at); + return false; + } + return true; } *************** resolve_component (gfc_component *c, gfc *** 14643,14648 **** --- 14653,14671 ---- c->ts.u.cl->length ? &c->ts.u.cl->length->where : &c->loc); return false; } + + if (c->ts.u.cl->length && c->ts.u.cl->length->ts.type != BT_INTEGER) + { + if (!c->ts.u.cl->length->error) + { + gfc_error ("Character length expression of component %qs at %L " + "must be of INTEGER type, found %s", + c->name, &c->ts.u.cl->length->where, + gfc_basic_typename (c->ts.u.cl->length->ts.type)); + c->ts.u.cl->length->error = 1; + } + return false; + } } if (c->ts.type == BT_CHARACTER && c->ts.deferred *************** resolve_symbol (gfc_symbol *sym) *** 15653,15660 **** /* First, make sure the variable is declared at the module-level scope (J3/04-007, Section 15.3). */ ! if (sym->ns->proc_name->attr.flavor != FL_MODULE && ! sym->attr.in_common == 0) { gfc_error ("Variable %qs at %L cannot be BIND(C) because it " "is neither a COMMON block nor declared at the " --- 15676,15683 ---- /* First, make sure the variable is declared at the module-level scope (J3/04-007, Section 15.3). */ ! if (!(sym->ns->proc_name && sym->ns->proc_name->attr.flavor == FL_MODULE) ! && !sym->attr.in_common) { gfc_error ("Variable %qs at %L cannot be BIND(C) because it " "is neither a COMMON block nor declared at the " *************** resolve_fntype (gfc_namespace *ns) *** 17139,17145 **** } } ! if (sym->ts.type == BT_CHARACTER) gfc_traverse_expr (sym->ts.u.cl->length, sym, flag_fn_result_spec, 0); } --- 17162,17170 ---- } } ! if (sym->ts.type == BT_CHARACTER ! && sym->ts.u.cl->length ! && sym->ts.u.cl->length->ts.type == BT_INTEGER) gfc_traverse_expr (sym->ts.u.cl->length, sym, flag_fn_result_spec, 0); } diff -Nrcpad gcc-10.4.0/gcc/fortran/simplify.c gcc-10.5.0/gcc/fortran/simplify.c *** gcc-10.4.0/gcc/fortran/simplify.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/simplify.c Fri Jul 7 07:08:19 2023 *************** simplify_transformation (gfc_expr *array *** 676,681 **** --- 676,682 ---- size_zero = gfc_is_size_zero_array (array); if (!(is_constant_array_expr (array) || size_zero) + || array->shape == NULL || !gfc_is_constant_expr (dim)) return NULL; *************** gfc_simplify_extends_type_of (gfc_expr * *** 3060,3065 **** --- 3061,3070 ---- if (UNLIMITED_POLY (a) || UNLIMITED_POLY (mold)) return NULL; + if ((a->ts.type == BT_CLASS && !gfc_expr_attr (a).class_ok) + || (mold->ts.type == BT_CLASS && !gfc_expr_attr (mold).class_ok)) + return NULL; + /* Return .false. if the dynamic type can never be an extension. */ if ((a->ts.type == BT_CLASS && mold->ts.type == BT_CLASS && !gfc_type_is_extension_of *************** gfc_expr * *** 3470,3486 **** gfc_simplify_index (gfc_expr *x, gfc_expr *y, gfc_expr *b, gfc_expr *kind) { gfc_expr *result; ! int back, len, lensub; ! int i, j, k, count, index = 0, start; if (x->expr_type != EXPR_CONSTANT || y->expr_type != EXPR_CONSTANT || ( b != NULL && b->expr_type != EXPR_CONSTANT)) return NULL; ! if (b != NULL && b->value.logical != 0) ! back = 1; ! else ! back = 0; k = get_kind (BT_INTEGER, kind, "INDEX", gfc_default_integer_kind); if (k == -1) --- 3475,3489 ---- gfc_simplify_index (gfc_expr *x, gfc_expr *y, gfc_expr *b, gfc_expr *kind) { gfc_expr *result; ! bool back; ! HOST_WIDE_INT len, lensub, start, last, i, index = 0; ! int k, delta; if (x->expr_type != EXPR_CONSTANT || y->expr_type != EXPR_CONSTANT || ( b != NULL && b->expr_type != EXPR_CONSTANT)) return NULL; ! back = (b != NULL && b->value.logical != 0); k = get_kind (BT_INTEGER, kind, "INDEX", gfc_default_integer_kind); if (k == -1) *************** gfc_simplify_index (gfc_expr *x, gfc_exp *** 3497,3607 **** return result; } ! if (back == 0) { ! if (lensub == 0) ! { ! mpz_set_si (result->value.integer, 1); ! return result; ! } ! else if (lensub == 1) ! { ! for (i = 0; i < len; i++) ! { ! for (j = 0; j < lensub; j++) ! { ! if (y->value.character.string[j] ! == x->value.character.string[i]) ! { ! index = i + 1; ! goto done; ! } ! } ! } ! } else ! { ! for (i = 0; i < len; i++) ! { ! for (j = 0; j < lensub; j++) ! { ! if (y->value.character.string[j] ! == x->value.character.string[i]) ! { ! start = i; ! count = 0; ! ! for (k = 0; k < lensub; k++) ! { ! if (y->value.character.string[k] ! == x->value.character.string[k + start]) ! count++; ! } ! ! if (count == lensub) ! { ! index = start + 1; ! goto done; ! } ! } ! } ! } ! } } else { ! if (lensub == 0) ! { ! mpz_set_si (result->value.integer, len + 1); ! return result; ! } ! else if (lensub == 1) { ! for (i = 0; i < len; i++) ! { ! for (j = 0; j < lensub; j++) ! { ! if (y->value.character.string[j] ! == x->value.character.string[len - i]) ! { ! index = len - i + 1; ! goto done; ! } ! } ! } } ! else { ! for (i = 0; i < len; i++) ! { ! for (j = 0; j < lensub; j++) ! { ! if (y->value.character.string[j] ! == x->value.character.string[len - i]) ! { ! start = len - i; ! if (start <= len - lensub) ! { ! count = 0; ! for (k = 0; k < lensub; k++) ! if (y->value.character.string[k] ! == x->value.character.string[k + start]) ! count++; ! ! if (count == lensub) ! { ! index = start + 1; ! goto done; ! } ! } ! else ! { ! continue; ! } ! } ! } ! } } } --- 3500,3539 ---- return result; } ! if (lensub == 0) { ! if (back) ! index = len + 1; else ! index = 1; ! goto done; ! } + if (!back) + { + last = len + 1 - lensub; + start = 0; + delta = 1; } else { ! last = -1; ! start = len - lensub; ! delta = -1; ! } ! ! for (; start != last; start += delta) ! { ! for (i = 0; i < lensub; i++) { ! if (x->value.character.string[start + i] ! != y->value.character.string[i]) ! break; } ! if (i == lensub) { ! index = start + 1; ! goto done; } } *************** gfc_simplify_findloc (gfc_expr *array, g *** 5826,5831 **** --- 5758,5764 ---- bool back_val = false; if (!is_constant_array_expr (array) + || array->shape == NULL || !gfc_is_constant_expr (dim)) return NULL; *************** gfc_simplify_nearest (gfc_expr *x, gfc_e *** 6025,6031 **** kind = gfc_validate_kind (BT_REAL, x->ts.kind, 0); mpfr_set_emin ((mpfr_exp_t) gfc_real_kinds[kind].min_exponent - mpfr_get_prec(result->value.real) + 1); ! mpfr_set_emax ((mpfr_exp_t) gfc_real_kinds[kind].max_exponent - 1); mpfr_check_range (result->value.real, 0, MPFR_RNDU); if (mpfr_sgn (s->value.real) > 0) --- 5958,5964 ---- kind = gfc_validate_kind (BT_REAL, x->ts.kind, 0); mpfr_set_emin ((mpfr_exp_t) gfc_real_kinds[kind].min_exponent - mpfr_get_prec(result->value.real) + 1); ! mpfr_set_emax ((mpfr_exp_t) gfc_real_kinds[kind].max_exponent); mpfr_check_range (result->value.real, 0, MPFR_RNDU); if (mpfr_sgn (s->value.real) > 0) *************** gfc_simplify_pack (gfc_expr *array, gfc_ *** 6362,6368 **** /* Copy only those elements of ARRAY to RESULT whose MASK equals .TRUE.. */ mask_ctor = gfc_constructor_first (mask->value.constructor); ! while (mask_ctor) { if (mask_ctor->expr->value.logical) { --- 6295,6301 ---- /* Copy only those elements of ARRAY to RESULT whose MASK equals .TRUE.. */ mask_ctor = gfc_constructor_first (mask->value.constructor); ! while (mask_ctor && array_ctor) { if (mask_ctor->expr->value.logical) { *************** gfc_simplify_set_exponent (gfc_expr *x, *** 7263,7269 **** { gfc_expr *result; mpfr_t exp, absv, log2, pow2, frac; ! unsigned long exp2; if (x->expr_type != EXPR_CONSTANT || i->expr_type != EXPR_CONSTANT) return NULL; --- 7196,7202 ---- { gfc_expr *result; mpfr_t exp, absv, log2, pow2, frac; ! long exp2; if (x->expr_type != EXPR_CONSTANT || i->expr_type != EXPR_CONSTANT) return NULL; *************** gfc_simplify_set_exponent (gfc_expr *x, *** 7295,7313 **** mpfr_abs (absv, x->value.real, GFC_RND_MODE); mpfr_log2 (log2, absv, GFC_RND_MODE); ! mpfr_trunc (log2, log2); mpfr_add_ui (exp, log2, 1, GFC_RND_MODE); /* Old exponent value, and fraction. */ mpfr_ui_pow (pow2, 2, exp, GFC_RND_MODE); ! mpfr_div (frac, absv, pow2, GFC_RND_MODE); /* New exponent. */ ! exp2 = (unsigned long) mpz_get_d (i->value.integer); ! mpfr_mul_2exp (result->value.real, frac, exp2, GFC_RND_MODE); ! mpfr_clears (absv, log2, pow2, frac, NULL); return range_check (result, "SET_EXPONENT"); } --- 7228,7246 ---- mpfr_abs (absv, x->value.real, GFC_RND_MODE); mpfr_log2 (log2, absv, GFC_RND_MODE); ! mpfr_floor (log2, log2); mpfr_add_ui (exp, log2, 1, GFC_RND_MODE); /* Old exponent value, and fraction. */ mpfr_ui_pow (pow2, 2, exp, GFC_RND_MODE); ! mpfr_div (frac, x->value.real, pow2, GFC_RND_MODE); /* New exponent. */ ! exp2 = mpz_get_si (i->value.integer); ! mpfr_mul_2si (result->value.real, frac, exp2, GFC_RND_MODE); ! mpfr_clears (absv, log2, exp, pow2, frac, NULL); return range_check (result, "SET_EXPONENT"); } *************** simplify_size (gfc_expr *array, gfc_expr *** 7455,7462 **** } for (ref = array->ref; ref; ref = ref->next) ! if (ref->type == REF_ARRAY && ref->u.ar.as) ! gfc_resolve_array_spec (ref->u.ar.as, 0); if (dim == NULL) { --- 7388,7396 ---- } for (ref = array->ref; ref; ref = ref->next) ! if (ref->type == REF_ARRAY && ref->u.ar.as ! && !gfc_resolve_array_spec (ref->u.ar.as, 0)) ! return NULL; if (dim == NULL) { *************** gfc_simplify_unpack (gfc_expr *vector, g *** 8375,8383 **** { if (mask_ctor->expr->value.logical) { ! gcc_assert (vector_ctor); ! e = gfc_copy_expr (vector_ctor->expr); ! vector_ctor = gfc_constructor_next (vector_ctor); } else if (field->expr_type == EXPR_ARRAY) e = gfc_copy_expr (field_ctor->expr); --- 8309,8324 ---- { if (mask_ctor->expr->value.logical) { ! if (vector_ctor) ! { ! e = gfc_copy_expr (vector_ctor->expr); ! vector_ctor = gfc_constructor_next (vector_ctor); ! } ! else ! { ! gfc_free_expr (result); ! return NULL; ! } } else if (field->expr_type == EXPR_ARRAY) e = gfc_copy_expr (field_ctor->expr); diff -Nrcpad gcc-10.4.0/gcc/fortran/symbol.c gcc-10.5.0/gcc/fortran/symbol.c *** gcc-10.4.0/gcc/fortran/symbol.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/symbol.c Fri Jul 7 07:08:19 2023 *************** gfc_type_compatible (gfc_typespec *ts1, *** 5123,5128 **** --- 5123,5132 ---- bool is_union1 = (ts1->type == BT_UNION); bool is_union2 = (ts2->type == BT_UNION); + /* A boz-literal-constant has no type. */ + if (ts1->type == BT_BOZ || ts2->type == BT_BOZ) + return false; + if (is_class1 && ts1->u.derived->components && ((ts1->u.derived->attr.is_class diff -Nrcpad gcc-10.4.0/gcc/fortran/trans-decl.c gcc-10.5.0/gcc/fortran/trans-decl.c *** gcc-10.4.0/gcc/fortran/trans-decl.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/trans-decl.c Fri Jul 7 07:08:19 2023 *************** gfc_finish_var_decl (tree decl, gfc_symb *** 737,742 **** --- 737,743 ---- /* Keep variables larger than max-stack-var-size off stack. */ if (!(sym->ns->proc_name && sym->ns->proc_name->attr.recursive) && !sym->attr.automatic + && !sym->attr.associate_var && sym->attr.save != SAVE_EXPLICIT && sym->attr.save != SAVE_IMPLICIT && INTEGER_CST_P (DECL_SIZE_UNIT (decl)) *************** gfc_trans_use_stmts (gfc_namespace * ns) *** 5407,5413 **** /* Sometimes, generic interfaces wind up being over-ruled by a local symbol (see PR41062). */ if (!st->n.sym->attr.use_assoc) ! continue; if (st->n.sym->backend_decl && DECL_P (st->n.sym->backend_decl) --- 5408,5418 ---- /* Sometimes, generic interfaces wind up being over-ruled by a local symbol (see PR41062). */ if (!st->n.sym->attr.use_assoc) ! { ! *slot = error_mark_node; ! entry->decls->clear_slot (slot); ! continue; ! } if (st->n.sym->backend_decl && DECL_P (st->n.sym->backend_decl) *************** generate_coarray_sym_init (gfc_symbol *s *** 5605,5610 **** --- 5610,5616 ---- if (sym->attr.dummy || sym->attr.allocatable || !sym->attr.codimension || sym->attr.use_assoc || !sym->attr.referenced + || sym->attr.associate_var || sym->attr.select_type_temporary) return; *************** gfc_generate_return (void) *** 6545,6551 **** 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, --- 6551,6557 ---- 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 && !flag_f2c) { result = gfc_get_fake_result_decl (sym, 0); result = fold_build2_loc (input_location, MODIFY_EXPR, diff -Nrcpad gcc-10.4.0/gcc/fortran/trans-expr.c gcc-10.5.0/gcc/fortran/trans-expr.c *** gcc-10.4.0/gcc/fortran/trans-expr.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/trans-expr.c Fri Jul 7 07:08:19 2023 *************** gfc_conv_class_to_class (gfc_se *parmse, *** 1084,1091 **** return; /* Test for FULL_ARRAY. */ ! if (e->rank == 0 && gfc_expr_attr (e).codimension ! && gfc_expr_attr (e).dimension) full_array = true; else gfc_is_class_array_ref (e, &full_array); --- 1084,1093 ---- return; /* Test for FULL_ARRAY. */ ! if (e->rank == 0 ! && ((gfc_expr_attr (e).codimension && gfc_expr_attr (e).dimension) ! || (class_ts.u.derived->components->as ! && class_ts.u.derived->components->as->type == AS_ASSUMED_RANK))) full_array = true; else gfc_is_class_array_ref (e, &full_array); *************** gfc_conv_class_to_class (gfc_se *parmse, *** 1133,1140 **** && e->rank != class_ts.u.derived->components->as->rank) { if (e->rank == 0) ! gfc_add_modify (&parmse->post, gfc_class_data_get (parmse->expr), ! gfc_conv_descriptor_data_get (ctree)); else class_array_data_assign (&parmse->post, parmse->expr, ctree, true); } --- 1135,1146 ---- && e->rank != class_ts.u.derived->components->as->rank) { if (e->rank == 0) ! { ! tmp = gfc_class_data_get (parmse->expr); ! gfc_add_modify (&parmse->post, tmp, ! fold_convert (TREE_TYPE (tmp), ! gfc_conv_descriptor_data_get (ctree))); ! } else class_array_data_assign (&parmse->post, parmse->expr, ctree, true); } *************** gfc_copy_class_to_class (tree from, tree *** 1431,1436 **** --- 1437,1443 ---- name = (const char *)(DECL_NAME (to)->identifier.id.str); from_len = gfc_conv_descriptor_size (from_data, 1); + from_len = fold_convert (TREE_TYPE (orig_nelems), from_len); tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, from_len, orig_nelems); msg = xasprintf ("Array bound mismatch for dimension %d " *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5586,5592 **** gfc_charlen cl; gfc_expr *e; gfc_symbol *fsym; - stmtblock_t post; enum {MISSING = 0, ELEMENTAL, SCALAR, SCALAR_POINTER, ARRAY}; gfc_component *comp = NULL; int arglen; --- 5593,5598 ---- *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5630,5636 **** --- 5636,5644 ---- else info = NULL; + stmtblock_t post, clobbers; gfc_init_block (&post); + gfc_init_block (&clobbers); gfc_init_interface_mapping (&mapping); if (!comp) { *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5965,5971 **** && e->symtree->n.sym->attr.pointer)) && fsym && fsym->attr.target) /* Make sure the function only gets called once. */ ! gfc_conv_expr_reference (&parmse, e, false); else if (e->expr_type == EXPR_FUNCTION && e->symtree->n.sym->result && e->symtree->n.sym->result != e->symtree->n.sym --- 5973,5979 ---- && e->symtree->n.sym->attr.pointer)) && fsym && fsym->attr.target) /* Make sure the function only gets called once. */ ! gfc_conv_expr_reference (&parmse, e); else if (e->expr_type == EXPR_FUNCTION && e->symtree->n.sym->result && e->symtree->n.sym->result != e->symtree->n.sym *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6072,6093 **** } else { ! bool add_clobber; ! add_clobber = fsym && fsym->attr.intent == INTENT_OUT ! && !fsym->attr.allocatable && !fsym->attr.pointer ! && e->symtree && e->symtree->n.sym ! && !e->symtree->n.sym->attr.dimension ! && !e->symtree->n.sym->attr.pointer ! && !e->symtree->n.sym->attr.allocatable ! /* See PR 41453. */ ! && !e->symtree->n.sym->attr.dummy ! /* FIXME - PR 87395 and PR 41453 */ ! && e->symtree->n.sym->attr.save == SAVE_NONE ! && !e->symtree->n.sym->attr.associate_var ! && e->ts.type != BT_CHARACTER && e->ts.type != BT_DERIVED ! && e->ts.type != BT_CLASS && !sym->attr.elemental; ! gfc_conv_expr_reference (&parmse, e, add_clobber); } /* Catch base objects that are not variables. */ if (e->ts.type == BT_CLASS --- 6080,6116 ---- } else { ! gfc_conv_expr_reference (&parmse, e); ! if (fsym ! && fsym->attr.intent == INTENT_OUT ! && !fsym->attr.allocatable ! && !fsym->attr.pointer ! && e->expr_type == EXPR_VARIABLE ! && e->ref == NULL ! && e->symtree ! && e->symtree->n.sym ! && !e->symtree->n.sym->attr.dimension ! && !e->symtree->n.sym->attr.pointer ! && !e->symtree->n.sym->attr.allocatable ! /* See PR 41453. */ ! && !e->symtree->n.sym->attr.dummy ! /* FIXME - PR 87395 and PR 41453 */ ! && e->symtree->n.sym->attr.save == SAVE_NONE ! && !e->symtree->n.sym->attr.associate_var ! && e->ts.type != BT_CHARACTER ! && e->ts.type != BT_DERIVED ! && e->ts.type != BT_CLASS ! && !sym->attr.elemental) ! { ! tree var; ! /* FIXME: This fails if var is passed by reference, see PR ! 41453. */ ! var = build_fold_indirect_ref_loc (input_location, ! parmse.expr); ! tree clobber = build_clobber (TREE_TYPE (var)); ! gfc_add_modify (&clobbers, var, clobber); ! } } /* Catch base objects that are not variables. */ if (e->ts.type == BT_CLASS *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6096,6118 **** base_object = build_fold_indirect_ref_loc (input_location, parmse.expr); - /* A class array element needs converting back to be a - class object, if the formal argument is a class object. */ - if (fsym && fsym->ts.type == BT_CLASS - && e->ts.type == BT_CLASS - && ((CLASS_DATA (fsym)->as - && CLASS_DATA (fsym)->as->type == AS_ASSUMED_RANK) - || CLASS_DATA (e)->attr.dimension)) - gfc_conv_class_to_class (&parmse, e, fsym->ts, false, - fsym->attr.intent != INTENT_IN - && (CLASS_DATA (fsym)->attr.class_pointer - || CLASS_DATA (fsym)->attr.allocatable), - fsym->attr.optional - && e->expr_type == EXPR_VARIABLE - && e->symtree->n.sym->attr.optional, - CLASS_DATA (fsym)->attr.class_pointer - || CLASS_DATA (fsym)->attr.allocatable); - /* If an ALLOCATABLE dummy argument has INTENT(OUT) and is allocated on entry, it must be deallocated. */ if (fsym && fsym->attr.intent == INTENT_OUT --- 6119,6124 ---- *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6172,6177 **** --- 6178,6200 ---- gfc_add_expr_to_block (&se->pre, tmp); } + /* A class array element needs converting back to be a + class object, if the formal argument is a class object. */ + if (fsym && fsym->ts.type == BT_CLASS + && e->ts.type == BT_CLASS + && ((CLASS_DATA (fsym)->as + && CLASS_DATA (fsym)->as->type == AS_ASSUMED_RANK) + || CLASS_DATA (e)->attr.dimension)) + gfc_conv_class_to_class (&parmse, e, fsym->ts, false, + fsym->attr.intent != INTENT_IN + && (CLASS_DATA (fsym)->attr.class_pointer + || CLASS_DATA (fsym)->attr.allocatable), + fsym->attr.optional + && e->expr_type == EXPR_VARIABLE + && e->symtree->n.sym->attr.optional, + CLASS_DATA (fsym)->attr.class_pointer + || CLASS_DATA (fsym)->attr.allocatable); + if (fsym && (fsym->ts.type == BT_DERIVED || fsym->ts.type == BT_ASSUMED) && e->ts.type == BT_CLASS *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6855,6860 **** --- 6878,6884 ---- vec_safe_push (arglist, parmse.expr); } + gfc_add_block_to_block (&se->pre, &clobbers); gfc_finish_interface_mapping (&mapping, &se->pre, &se->post); if (comp) *************** gfc_conv_expr_type (gfc_se * se, gfc_exp *** 8948,8954 **** values only. */ void ! gfc_conv_expr_reference (gfc_se * se, gfc_expr * expr, bool add_clobber) { gfc_ss *ss; tree var; --- 8972,8978 ---- values only. */ void ! gfc_conv_expr_reference (gfc_se * se, gfc_expr * expr) { gfc_ss *ss; tree var; *************** gfc_conv_expr_reference (gfc_se * se, gf *** 8988,9003 **** gfc_add_block_to_block (&se->pre, &se->post); se->expr = var; } - else if (add_clobber && expr->ref == NULL) - { - tree clobber; - tree var; - /* FIXME: This fails if var is passed by reference, see PR - 41453. */ - var = expr->symtree->n.sym->backend_decl; - clobber = build_clobber (TREE_TYPE (var)); - gfc_add_modify (&se->pre, var, clobber); - } return; } --- 9012,9017 ---- *************** trans_class_assignment (stmtblock_t *blo *** 10904,10909 **** --- 10918,10926 ---- class_han = GFC_CLASS_TYPE_P (TREE_TYPE (lse->expr)) ? gfc_class_data_get (lse->expr) : lse->expr; + if (!POINTER_TYPE_P (TREE_TYPE (class_han))) + class_han = gfc_build_addr_expr (NULL_TREE, class_han); + /* Allocate block. */ gfc_init_block (&alloc); gfc_allocate_using_malloc (&alloc, class_han, size, NULL_TREE); diff -Nrcpad gcc-10.4.0/gcc/fortran/trans-intrinsic.c gcc-10.5.0/gcc/fortran/trans-intrinsic.c *** gcc-10.4.0/gcc/fortran/trans-intrinsic.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/trans-intrinsic.c Fri Jul 7 07:08:19 2023 *************** gfc_conv_intrinsic_ibits (gfc_se * se, g *** 6502,6507 **** --- 6502,6508 ---- tree type; tree tmp; tree mask; + tree num_bits, cond; gfc_conv_intrinsic_function_args (se, expr, args, 3); type = TREE_TYPE (args[0]); *************** gfc_conv_intrinsic_ibits (gfc_se * se, g *** 6542,6549 **** --- 6543,6559 ---- "in intrinsic IBITS", tmp1, tmp2, nbits); } + /* The Fortran standard allows (shift width) LEN <= BIT_SIZE(I), whereas + gcc requires a shift width < BIT_SIZE(I), so we have to catch this + special case. See also gfc_conv_intrinsic_ishft (). */ + num_bits = build_int_cst (TREE_TYPE (args[2]), TYPE_PRECISION (type)); + mask = build_int_cst (type, -1); mask = fold_build2_loc (input_location, LSHIFT_EXPR, type, mask, args[2]); + cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, args[2], + num_bits); + mask = fold_build3_loc (input_location, COND_EXPR, type, cond, + build_int_cst (type, 0), mask); mask = fold_build1_loc (input_location, BIT_NOT_EXPR, type, mask); tmp = fold_build2_loc (input_location, RSHIFT_EXPR, type, args[0], args[1]); diff -Nrcpad gcc-10.4.0/gcc/fortran/trans-types.c gcc-10.5.0/gcc/fortran/trans-types.c *** gcc-10.4.0/gcc/fortran/trans-types.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/trans-types.c Fri Jul 7 07:08:19 2023 *************** create_fn_spec (gfc_symbol *sym, tree fn *** 2954,2965 **** for (f = gfc_sym_get_dummy_args (sym); f; f = f->next) if (spec_len < sizeof (spec)) { ! if (!f->sym || f->sym->attr.pointer || f->sym->attr.target || f->sym->attr.external || f->sym->attr.cray_pointer || (f->sym->ts.type == BT_DERIVED && (f->sym->ts.u.derived->attr.proc_pointer_comp || f->sym->ts.u.derived->attr.pointer_comp)) ! || (f->sym->ts.type == BT_CLASS && (CLASS_DATA (f->sym)->ts.u.derived->attr.proc_pointer_comp || CLASS_DATA (f->sym)->ts.u.derived->attr.pointer_comp)) || (f->sym->ts.type == BT_INTEGER && f->sym->ts.is_c_interop)) --- 2954,2976 ---- for (f = gfc_sym_get_dummy_args (sym); f; f = f->next) if (spec_len < sizeof (spec)) { ! bool is_class = false; ! bool is_pointer = false; ! ! if (f->sym) ! { ! is_class = f->sym->ts.type == BT_CLASS && CLASS_DATA (f->sym) ! && f->sym->attr.class_ok; ! is_pointer = is_class ? CLASS_DATA (f->sym)->attr.class_pointer ! : f->sym->attr.pointer; ! } ! ! if (f->sym == NULL || is_pointer || f->sym->attr.target || f->sym->attr.external || f->sym->attr.cray_pointer || (f->sym->ts.type == BT_DERIVED && (f->sym->ts.u.derived->attr.proc_pointer_comp || f->sym->ts.u.derived->attr.pointer_comp)) ! || (is_class && (CLASS_DATA (f->sym)->ts.u.derived->attr.proc_pointer_comp || CLASS_DATA (f->sym)->ts.u.derived->attr.pointer_comp)) || (f->sym->ts.type == BT_INTEGER && f->sym->ts.is_c_interop)) diff -Nrcpad gcc-10.4.0/gcc/fortran/trans.h gcc-10.5.0/gcc/fortran/trans.h *** gcc-10.4.0/gcc/fortran/trans.h Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/fortran/trans.h Fri Jul 7 07:08:19 2023 *************** tree gfc_build_compare_string (tree, tre *** 499,506 **** void gfc_conv_expr (gfc_se * se, gfc_expr * expr); void gfc_conv_expr_val (gfc_se * se, gfc_expr * expr); void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr); ! void gfc_conv_expr_reference (gfc_se * se, gfc_expr * expr, ! bool add_clobber = false); void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree); --- 499,505 ---- void gfc_conv_expr (gfc_se * se, gfc_expr * expr); void gfc_conv_expr_val (gfc_se * se, gfc_expr * expr); void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr); ! void gfc_conv_expr_reference (gfc_se * se, gfc_expr * expr); void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree); diff -Nrcpad gcc-10.4.0/gcc/function.c gcc-10.5.0/gcc/function.c *** gcc-10.4.0/gcc/function.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/function.c Fri Jul 7 07:08:19 2023 *************** allocate_struct_function (tree fndecl, b *** 4848,4854 **** instead of just setting it. */ void ! push_struct_function (tree fndecl) { /* When in_dummy_function we might be in the middle of a pop_cfun and current_function_decl and cfun may not match. */ --- 4848,4854 ---- instead of just setting it. */ void ! push_struct_function (tree fndecl, bool abstract_p) { /* When in_dummy_function we might be in the middle of a pop_cfun and current_function_decl and cfun may not match. */ *************** push_struct_function (tree fndecl) *** 4857,4863 **** || (cfun && current_function_decl == cfun->decl)); cfun_stack.safe_push (cfun); current_function_decl = fndecl; ! allocate_struct_function (fndecl, false); } /* Reset crtl and other non-struct-function variables to defaults as --- 4857,4863 ---- || (cfun && current_function_decl == cfun->decl)); cfun_stack.safe_push (cfun); current_function_decl = fndecl; ! allocate_struct_function (fndecl, abstract_p); } /* Reset crtl and other non-struct-function variables to defaults as *************** stack_protect_epilogue (void) *** 5018,5026 **** --- 5018,5029 ---- PARMS_HAVE_CLEANUPS is nonzero if there are cleanups associated with the function's parameters, which must be run at any return statement. */ + bool currently_expanding_function_start; void expand_function_start (tree subr) { + currently_expanding_function_start = true; + /* Make sure volatile mem refs aren't considered valid operands of arithmetic insns. */ init_recog_no_volatile (); *************** expand_function_start (tree subr) *** 5213,5218 **** --- 5216,5223 ---- /* If we are doing generic stack checking, the probe should go here. */ if (flag_stack_check == GENERIC_STACK_CHECK) stack_check_probe_note = emit_note (NOTE_INSN_DELETED); + + currently_expanding_function_start = false; } void diff -Nrcpad gcc-10.4.0/gcc/function.h gcc-10.5.0/gcc/function.h *** gcc-10.4.0/gcc/function.h Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/function.h Fri Jul 7 07:08:19 2023 *************** extern void pop_cfun (void); *** 666,672 **** extern int get_next_funcdef_no (void); extern int get_last_funcdef_no (void); extern void allocate_struct_function (tree, bool); ! extern void push_struct_function (tree fndecl); extern void push_dummy_function (bool); extern void pop_dummy_function (void); extern void init_dummy_function_start (void); --- 666,672 ---- extern int get_next_funcdef_no (void); extern int get_last_funcdef_no (void); extern void allocate_struct_function (tree, bool); ! extern void push_struct_function (tree fndecl, bool = false); extern void push_dummy_function (bool); extern void pop_dummy_function (void); extern void init_dummy_function_start (void); *************** extern const char *current_function_name *** 702,705 **** --- 702,707 ---- extern void used_types_insert (tree); + extern bool currently_expanding_function_start; + #endif /* GCC_FUNCTION_H */ diff -Nrcpad gcc-10.4.0/gcc/gcc.c gcc-10.5.0/gcc/gcc.c *** gcc-10.4.0/gcc/gcc.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/gcc.c Fri Jul 7 07:08:19 2023 *************** CC recognizes how to compile each input *** 27,32 **** --- 27,33 ---- Once it knows which kind of compilation to perform, the procedure for compilation is specified by a string called a "spec". */ + #define INCLUDE_STRING #include "config.h" #include "system.h" #include "coretypes.h" *************** compilation is specified by a string cal *** 43,48 **** --- 44,50 ---- #include "opts.h" #include "filenames.h" #include "spellcheck.h" + #include "opts-jobserver.h" *************** driver::final_actions () const *** 8399,8436 **** void driver::detect_jobserver () const { ! /* Detect jobserver and drop it if it's not working. */ ! const char *makeflags = env.get ("MAKEFLAGS"); ! if (makeflags != NULL) ! { ! const char *needle = "--jobserver-auth="; ! const char *n = strstr (makeflags, needle); ! if (n != NULL) ! { ! int rfd = -1; ! int wfd = -1; ! ! bool jobserver ! = (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2 ! && rfd > 0 ! && wfd > 0 ! && is_valid_fd (rfd) ! && is_valid_fd (wfd)); ! ! /* Drop the jobserver if it's not working now. */ ! if (!jobserver) ! { ! unsigned offset = n - makeflags; ! char *dup = xstrdup (makeflags); ! dup[offset] = '\0'; ! ! const char *space = strchr (makeflags + offset, ' '); ! if (space != NULL) ! strcpy (dup + offset, space); ! xputenv (concat ("MAKEFLAGS=", dup, NULL)); ! } ! } ! } } /* Determine what the exit code of the driver should be. */ --- 8401,8409 ---- void driver::detect_jobserver () const { ! jobserver_info jinfo; ! if (!jinfo.is_active && !jinfo.skipped_makeflags.empty ()) ! xputenv (xstrdup (jinfo.skipped_makeflags.c_str ())); } /* Determine what the exit code of the driver should be. */ diff -Nrcpad gcc-10.4.0/gcc/generic-match-head.c gcc-10.5.0/gcc/generic-match-head.c *** gcc-10.4.0/gcc/generic-match-head.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/generic-match-head.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 37,42 **** --- 37,44 ---- #include "gimplify.h" #include "optabs-tree.h" #include "dbgcnt.h" + #include "tm.h" + #include "tree-pass.h" /* Routine to determine if the types T1 and T2 are effectively the same for GENERIC. If T1 or T2 is not a type, the test *************** single_use (tree t ATTRIBUTE_UNUSED) *** 68,74 **** static inline bool canonicalize_math_p () { ! return true; } /* Return true if math operations that are beneficial only after --- 70,76 ---- static inline bool canonicalize_math_p () { ! return !cfun || (cfun->curr_properties & PROP_gimple_opt_math) == 0; } /* Return true if math operations that are beneficial only after diff -Nrcpad gcc-10.4.0/gcc/gengtype-lex.c gcc-10.5.0/gcc/gengtype-lex.c *** gcc-10.4.0/gcc/gengtype-lex.c Tue Jun 28 08:56:18 2022 --- gcc-10.5.0/gcc/gengtype-lex.c Fri Jul 7 07:09:35 2023 *************** int yy_flex_debug = 0; *** 1188,1194 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2020 Free Software Foundation, Inc. --- 1188,1194 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2020 Free Software Foundation, Inc. *************** You should have received a copy of the G *** 1209,1215 **** along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 --- 1209,1215 ---- along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 *************** update_lineno (const char *l, size_t len *** 1238,1244 **** } #line 1235 "gengtype-lex.c" ! #line 59 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* Include '::' in identifiers to capture C++ scope qualifiers. */ #line 1239 "gengtype-lex.c" --- 1238,1244 ---- } #line 1235 "gengtype-lex.c" ! #line 59 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* Include '::' in identifiers to capture C++ scope qualifiers. */ #line 1239 "gengtype-lex.c" *************** YY_DECL *** 1462,1468 **** } { ! #line 67 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1462,1468 ---- } { ! #line 67 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1534,1540 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 78 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1534,1540 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 78 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1547,1553 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 82 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1547,1553 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 82 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1560,1566 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 86 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1560,1566 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 86 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1573,1579 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1573,1579 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1586,1592 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1586,1592 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1599,1605 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1599,1605 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** YY_RULE_SETUP *** 1610,1634 **** case 7: YY_RULE_SETUP ! #line 106 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 107 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 110 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: --- 1610,1634 ---- case 7: YY_RULE_SETUP ! #line 106 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 107 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 109 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 110 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1638,1644 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: --- 1638,1644 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: *************** case 12: *** 1647,1663 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 114 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 115 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 116 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 116 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; --- 1647,1663 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 114 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 115 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 116 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 116 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; *************** YY_LINENO_REWIND_TO(yy_bp + 3); *** 1670,1676 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: --- 1670,1676 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1680,1686 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: --- 1680,1686 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: *************** YY_LINENO_REWIND_TO(yy_bp + 6); *** 1690,1696 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: --- 1690,1696 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1700,1706 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: --- 1700,1706 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: *************** YY_LINENO_REWIND_TO(yy_bp + 7); *** 1710,1716 **** (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: --- 1710,1716 ---- (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1720,1726 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: --- 1720,1726 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: *************** YY_LINENO_REWIND_TO(yy_bp + 9); *** 1730,1736 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: --- 1730,1736 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: *************** YY_LINENO_REWIND_TO(yy_bp + 10); *** 1740,1746 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: --- 1740,1746 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1750,1761 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 128 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 129 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: --- 1750,1761 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 128 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 129 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: *************** case 26: *** 1764,1774 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 132 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 132 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { size_t len; --- 1764,1774 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 132 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 132 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { size_t len; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1787,1793 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 143 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; --- 1787,1793 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 143 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1796,1802 **** case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 148 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; --- 1796,1802 ---- case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 148 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1806,1812 **** case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 153 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1806,1812 ---- case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 153 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1815,1821 **** case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 157 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; --- 1815,1821 ---- case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 157 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1823,1846 **** YY_BREAK case 32: YY_RULE_SETUP ! #line 162 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 163 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 166 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 168 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1823,1846 ---- YY_BREAK case 32: YY_RULE_SETUP ! #line 162 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 163 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 166 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 168 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1848,1883 **** case 36: YY_RULE_SETUP ! #line 173 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 174 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 175 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 177 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 178 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 178 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 179 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: --- 1848,1883 ---- case 36: YY_RULE_SETUP ! #line 173 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 174 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 175 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 177 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 178 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 178 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 179 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1887,1907 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 180 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 183 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 185 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 185 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: --- 1887,1907 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 180 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 183 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 185 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 185 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1911,1935 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 186 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 189 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 190 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 193 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 193 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1911,1935 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 186 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 189 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 190 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 193 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 193 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1938,1949 **** case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 198 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 200 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1944 "gengtype-lex.c" --- 1938,1949 ---- case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 198 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 200 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1944 "gengtype-lex.c" *************** void yyfree (void * ptr ) *** 2921,2927 **** #define YYTABLES_NAME "yytables" ! #line 200 "/d/gcc-10.4.0/gcc-10.4.0/gcc/gengtype-lex.l" void --- 2921,2927 ---- #define YYTABLES_NAME "yytables" ! #line 200 "/home/rguenther/src/releases/gcc-10.5.0/gcc-10.5.0/gcc/gengtype-lex.l" void diff -Nrcpad gcc-10.4.0/gcc/gimple-ssa-store-merging.c gcc-10.5.0/gcc/gimple-ssa-store-merging.c *** gcc-10.4.0/gcc/gimple-ssa-store-merging.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/gimple-ssa-store-merging.c Fri Jul 7 07:08:19 2023 *************** do_shift_rotate (enum tree_code code, *** 263,269 **** int count) { int i, size = TYPE_PRECISION (n->type) / BITS_PER_UNIT; ! unsigned head_marker; if (count < 0 || count >= TYPE_PRECISION (n->type) --- 263,269 ---- int count) { int i, size = TYPE_PRECISION (n->type) / BITS_PER_UNIT; ! uint64_t head_marker; if (count < 0 || count >= TYPE_PRECISION (n->type) diff -Nrcpad gcc-10.4.0/gcc/go/ChangeLog gcc-10.5.0/gcc/go/ChangeLog *** gcc-10.4.0/gcc/go/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/go/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,15 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-06-29 Paul E. Murphy + + Backported from master: + 2023-06-22 Paul E. Murphy + + * go-backend.c [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS. + * go-lang.c: Likewise. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/go/go-backend.c gcc-10.5.0/gcc/go/go-backend.c *** gcc-10.4.0/gcc/go/go-backend.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/go/go-backend.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 45,52 **** #define GO_EXPORT_SECTION_NAME ".go_export" #endif ! #ifndef TARGET_AIX ! #define TARGET_AIX 0 #endif /* This file holds all the cases where the Go frontend needs --- 45,52 ---- #define GO_EXPORT_SECTION_NAME ".go_export" #endif ! #ifndef TARGET_AIX_OS ! #define TARGET_AIX_OS 0 #endif /* This file holds all the cases where the Go frontend needs *************** go_write_export_data (const char *bytes, *** 107,113 **** { gcc_assert (targetm_common.have_named_sections); sec = get_section (GO_EXPORT_SECTION_NAME, ! TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); } --- 107,113 ---- { gcc_assert (targetm_common.have_named_sections); sec = get_section (GO_EXPORT_SECTION_NAME, ! TARGET_AIX_OS ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); } diff -Nrcpad gcc-10.4.0/gcc/go/go-lang.c gcc-10.5.0/gcc/go/go-lang.c *** gcc-10.4.0/gcc/go/go-lang.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/go/go-lang.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 39,46 **** #include "go-c.h" #include "go-gcc.h" ! #ifndef TARGET_AIX ! #define TARGET_AIX 0 #endif /* Language-dependent contents of a type. */ --- 39,46 ---- #include "go-c.h" #include "go-gcc.h" ! #ifndef TARGET_AIX_OS ! #define TARGET_AIX_OS 0 #endif /* Language-dependent contents of a type. */ *************** go_langhook_init (void) *** 117,123 **** args.compiling_runtime = go_compiling_runtime; args.debug_escape_level = go_debug_escape_level; args.debug_escape_hash = go_debug_escape_hash; ! args.nil_check_size_threshold = TARGET_AIX ? -1 : 4096; args.debug_optimization = go_debug_optimization; args.linemap = go_get_linemap(); args.backend = go_get_backend(); --- 117,123 ---- args.compiling_runtime = go_compiling_runtime; args.debug_escape_level = go_debug_escape_level; args.debug_escape_hash = go_debug_escape_hash; ! args.nil_check_size_threshold = TARGET_AIX_OS ? -1 : 4096; args.debug_optimization = go_debug_optimization; args.linemap = go_get_linemap(); args.backend = go_get_backend(); diff -Nrcpad gcc-10.4.0/gcc/ifcvt.c gcc-10.5.0/gcc/ifcvt.c *** gcc-10.4.0/gcc/ifcvt.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/ifcvt.c Fri Jul 7 07:08:19 2023 *************** noce_try_sign_mask (struct noce_if_info *** 2814,2831 **** return FALSE; /* This is only profitable if T is unconditionally executed/evaluated in the ! original insn sequence or T is cheap. The former happens if B is the ! non-zero (T) value and if INSN_B was taken from TEST_BB, or there was no ! INSN_B which can happen for e.g. conditional stores to memory. For the ! cost computation use the block TEST_BB where the evaluation will end up ! after the transformation. */ t_unconditional = (t == if_info->b && (if_info->insn_b == NULL_RTX || BLOCK_FOR_INSN (if_info->insn_b) == if_info->test_bb)); if (!(t_unconditional ! || (set_src_cost (t, mode, if_info->speed_p) ! < COSTS_N_INSNS (2)))) return FALSE; if (!noce_can_force_operand (t)) --- 2814,2832 ---- return FALSE; /* This is only profitable if T is unconditionally executed/evaluated in the ! original insn sequence or T is cheap and can't trap or fault. The former ! happens if B is the non-zero (T) value and if INSN_B was taken from ! TEST_BB, or there was no INSN_B which can happen for e.g. conditional ! stores to memory. For the cost computation use the block TEST_BB where ! the evaluation will end up after the transformation. */ t_unconditional = (t == if_info->b && (if_info->insn_b == NULL_RTX || BLOCK_FOR_INSN (if_info->insn_b) == if_info->test_bb)); if (!(t_unconditional ! || ((set_src_cost (t, mode, if_info->speed_p) ! < COSTS_N_INSNS (2)) ! && !may_trap_or_fault_p (t)))) return FALSE; if (!noce_can_force_operand (t)) diff -Nrcpad gcc-10.4.0/gcc/ira-color.c gcc-10.5.0/gcc/ira-color.c *** gcc-10.4.0/gcc/ira-color.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/ira-color.c Fri Jul 7 07:08:19 2023 *************** assign_hard_reg (ira_allocno_t a, bool r *** 1956,1963 **** restore_costs_from_copies (a); ALLOCNO_HARD_REGNO (a) = best_hard_regno; ALLOCNO_ASSIGNED_P (a) = true; ! if (best_hard_regno >= 0) ! update_costs_from_copies (a, true, ! retry_p); ira_assert (ALLOCNO_CLASS (a) == aclass); /* We don't need updated costs anymore. */ ira_free_allocno_updated_costs (a); --- 1956,1963 ---- restore_costs_from_copies (a); ALLOCNO_HARD_REGNO (a) = best_hard_regno; ALLOCNO_ASSIGNED_P (a) = true; ! if (best_hard_regno >= 0 && !retry_p) ! update_costs_from_copies (a, true, true); ira_assert (ALLOCNO_CLASS (a) == aclass); /* We don't need updated costs anymore. */ ira_free_allocno_updated_costs (a); diff -Nrcpad gcc-10.4.0/gcc/jit/ChangeLog gcc-10.5.0/gcc/jit/ChangeLog *** gcc-10.4.0/gcc/jit/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/jit/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/loop-invariant.c gcc-10.5.0/gcc/loop-invariant.c *** gcc-10.4.0/gcc/loop-invariant.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/loop-invariant.c Fri Jul 7 07:08:19 2023 *************** move_invariant_reg (class loop *loop, un *** 1829,1834 **** --- 1829,1836 ---- else if (dump_file) fprintf (dump_file, "Invariant %d moved without introducing a new " "temporary register\n", invno); + if (JUMP_P (BB_END (preheader))) + preheader = split_edge (loop_preheader_edge (loop)); reorder_insns (inv->insn, inv->insn, BB_END (preheader)); df_recompute_luids (preheader); diff -Nrcpad gcc-10.4.0/gcc/lto/ChangeLog gcc-10.5.0/gcc/lto/ChangeLog *** gcc-10.4.0/gcc/lto/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/lto/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/lto-streamer-in.c gcc-10.5.0/gcc/lto-streamer-in.c *** gcc-10.4.0/gcc/lto-streamer-in.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/lto-streamer-in.c Fri Jul 7 07:08:19 2023 *************** lto_read_tree_1 (class lto_input_block * *** 1689,1699 **** /* Read all the pointer fields in EXPR. */ streamer_read_tree_body (ib, data_in, expr); ! /* Read any LTO-specific data not read by the tree streamer. */ if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL && TREE_CODE (expr) != TRANSLATION_UNIT_DECL) ! DECL_INITIAL (expr) = stream_read_tree (ib, data_in); /* Stream references to early generated DIEs. Keep in sync with the trees handled in dwarf2out_register_external_die. */ --- 1689,1702 ---- /* Read all the pointer fields in EXPR. */ streamer_read_tree_body (ib, data_in, expr); ! /* Read any LTO-specific data not read by the tree streamer. Do not use ! stream_read_tree here since that flushes the dref_queue in mids of ! SCC reading. */ if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL && TREE_CODE (expr) != TRANSLATION_UNIT_DECL) ! DECL_INITIAL (expr) ! = lto_input_tree_1 (ib, data_in, streamer_read_record_start (ib), 0); /* Stream references to early generated DIEs. Keep in sync with the trees handled in dwarf2out_register_external_die. */ diff -Nrcpad gcc-10.4.0/gcc/lto-wrapper.c gcc-10.5.0/gcc/lto-wrapper.c *** gcc-10.4.0/gcc/lto-wrapper.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/lto-wrapper.c Fri Jul 7 07:08:19 2023 *************** along with GCC; see the file COPYING3. *** 37,42 **** --- 37,43 ---- ./ccCJuXGv.lto.ltrans.o */ + #define INCLUDE_STRING #include "config.h" #include "system.h" #include "coretypes.h" *************** along with GCC; see the file COPYING3. *** 48,53 **** --- 49,55 ---- #include "simple-object.h" #include "lto-section-names.h" #include "collect-utils.h" + #include "opts-jobserver.h" /* Environment variable, used for passing the names of offload targets from GCC driver to lto-wrapper. */ *************** init_num_threads (void) *** 1295,1326 **** #endif } - /* FIXME: once using -std=c++11, we can use std::thread::hardware_concurrency. */ - - /* Return true when a jobserver is running and can accept a job. */ - - static bool - jobserver_active_p (void) - { - const char *makeflags = getenv ("MAKEFLAGS"); - if (makeflags == NULL) - return false; - - const char *needle = "--jobserver-auth="; - const char *n = strstr (makeflags, needle); - if (n == NULL) - return false; - - int rfd = -1; - int wfd = -1; - - return (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2 - && rfd > 0 - && wfd > 0 - && is_valid_fd (rfd) - && is_valid_fd (wfd)); - } - /* Execute gcc. ARGC is the number of arguments. ARGV contains the arguments. */ static void --- 1297,1302 ---- *************** run_gcc (unsigned argc, char *argv[]) *** 1535,1544 **** auto_parallel = 0; parallel = 0; } ! else if (!jobserver && jobserver_active_p ()) { ! parallel = 1; ! jobserver = 1; } if (linker_output) --- 1511,1530 ---- auto_parallel = 0; parallel = 0; } ! else { ! jobserver_info jinfo; ! if (jobserver && !jinfo.is_active) ! { ! warning (0, jinfo.error_msg.c_str ()); ! parallel = 0; ! jobserver = 0; ! } ! else if (!jobserver && jinfo.is_active) ! { ! parallel = 1; ! jobserver = 1; ! } } if (linker_output) *************** cont: *** 1861,1866 **** --- 1847,1861 ---- maybe_unlink (ltrans_output_file); ltrans_output_file = NULL; + if (nr > 1) + { + jobserver_info jinfo; + if (jobserver && !jinfo.is_active) + warning (0, jinfo.error_msg.c_str ()); + else if (parallel == 0) + warning (0, "using serial compilation of %d LTRANS jobs", nr); + } + if (parallel) { makefile = make_temp_file (".mk"); diff -Nrcpad gcc-10.4.0/gcc/match.pd gcc-10.5.0/gcc/match.pd *** gcc-10.4.0/gcc/match.pd Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/match.pd Fri Jul 7 07:08:19 2023 *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 5724,5730 **** isize = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (@1))); } (switch ! (if (wi::leu_p (wi::to_wide (@ipos), wi::to_wide (@rpos)) && wi::leu_p (wi::to_wide (@rpos) + wi::to_wide (@rsize), wi::to_wide (@ipos) + isize)) (BIT_FIELD_REF @1 @rsize { wide_int_to_tree (bitsizetype, --- 5724,5732 ---- isize = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (@1))); } (switch ! (if ((!INTEGRAL_TYPE_P (TREE_TYPE (@1)) ! || type_has_mode_precision_p (TREE_TYPE (@1))) ! && wi::leu_p (wi::to_wide (@ipos), wi::to_wide (@rpos)) && wi::leu_p (wi::to_wide (@rpos) + wi::to_wide (@rsize), wi::to_wide (@ipos) + isize)) (BIT_FIELD_REF @1 @rsize { wide_int_to_tree (bitsizetype, diff -Nrcpad gcc-10.4.0/gcc/objc/ChangeLog gcc-10.5.0/gcc/objc/ChangeLog *** gcc-10.4.0/gcc/objc/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/objc/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/objcp/ChangeLog gcc-10.5.0/gcc/objcp/ChangeLog *** gcc-10.4.0/gcc/objcp/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/objcp/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/omp-expand.c gcc-10.5.0/gcc/omp-expand.c *** gcc-10.4.0/gcc/omp-expand.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/omp-expand.c Fri Jul 7 07:08:19 2023 *************** expand_omp_ordered_source_sink (struct o *** 2410,2416 **** static basic_block expand_omp_for_ordered_loops (struct omp_for_data *fd, tree *counts, basic_block cont_bb, basic_block body_bb, ! bool ordered_lastprivate) { if (fd->ordered == fd->collapse) return cont_bb; --- 2410,2416 ---- static basic_block expand_omp_for_ordered_loops (struct omp_for_data *fd, tree *counts, basic_block cont_bb, basic_block body_bb, ! basic_block l0_bb, bool ordered_lastprivate) { if (fd->ordered == fd->collapse) return cont_bb; *************** expand_omp_for_ordered_loops (struct omp *** 2515,2521 **** class loop *loop = alloc_loop (); loop->header = new_header; loop->latch = e2->src; ! add_loop (loop, body_bb->loop_father); } } --- 2515,2521 ---- class loop *loop = alloc_loop (); loop->header = new_header; loop->latch = e2->src; ! add_loop (loop, l0_bb->loop_father); } } *************** expand_omp_for_generic (struct omp_regio *** 3204,3212 **** } if (i < fd->ordered) { cont_bb = create_empty_bb (EXIT_BLOCK_PTR_FOR_FN (cfun)->prev_bb); ! add_bb_to_loop (cont_bb, l1_bb->loop_father); gimple_stmt_iterator gsi = gsi_after_labels (cont_bb); gimple *g = gimple_build_omp_continue (fd->loop.v, fd->loop.v); gsi_insert_before (&gsi, g, GSI_SAME_STMT); --- 3204,3218 ---- } if (i < fd->ordered) { + if (entry_bb->loop_father != l0_bb->loop_father) + { + remove_bb_from_loops (l0_bb); + add_bb_to_loop (l0_bb, entry_bb->loop_father); + gcc_assert (single_succ (l0_bb) == l1_bb); + } cont_bb = create_empty_bb (EXIT_BLOCK_PTR_FOR_FN (cfun)->prev_bb); ! add_bb_to_loop (cont_bb, l0_bb->loop_father); gimple_stmt_iterator gsi = gsi_after_labels (cont_bb); gimple *g = gimple_build_omp_continue (fd->loop.v, fd->loop.v); gsi_insert_before (&gsi, g, GSI_SAME_STMT); *************** expand_omp_for_generic (struct omp_regio *** 3218,3224 **** } expand_omp_ordered_source_sink (region, fd, counts, cont_bb); cont_bb = expand_omp_for_ordered_loops (fd, counts, cont_bb, l1_bb, ! ordered_lastprivate); if (counts[fd->collapse - 1]) { gcc_assert (fd->collapse == 1); --- 3224,3230 ---- } expand_omp_ordered_source_sink (region, fd, counts, cont_bb); cont_bb = expand_omp_for_ordered_loops (fd, counts, cont_bb, l1_bb, ! l0_bb, ordered_lastprivate); if (counts[fd->collapse - 1]) { gcc_assert (fd->collapse == 1); *************** build_omp_regions_1 (basic_block bb, str *** 8973,8979 **** case GF_OMP_TARGET_KIND_OACC_UPDATE: case GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA: case GF_OMP_TARGET_KIND_OACC_DECLARE: ! /* ..., other than for those stand-alone directives... */ region = NULL; break; default: --- 8979,8988 ---- case GF_OMP_TARGET_KIND_OACC_UPDATE: case GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA: case GF_OMP_TARGET_KIND_OACC_DECLARE: ! /* ..., other than for those stand-alone directives... ! To be precise, target data isn't stand-alone, but ! gimplifier put the end API call into try finally block ! for it, so omp expansion can treat it as such. */ region = NULL; break; default: *************** build_omp_regions_1 (basic_block bb, str *** 8991,8996 **** --- 9000,9010 ---- && gimple_omp_task_taskwait_p (stmt)) /* #pragma omp taskwait depend(...) is a stand-alone directive. */ region = NULL; + else if (code == GIMPLE_OMP_TASKGROUP) + /* #pragma omp taskgroup isn't a stand-alone directive, but + gimplifier put the end API call into try finall block + for it, so omp expansion can treat it as such. */ + region = NULL; /* ..., this directive becomes the parent for a new region. */ if (region) parent = region; *************** omp_make_gimple_edges (basic_block bb, s *** 9185,9191 **** case GIMPLE_OMP_SINGLE: case GIMPLE_OMP_TEAMS: case GIMPLE_OMP_MASTER: - case GIMPLE_OMP_TASKGROUP: case GIMPLE_OMP_CRITICAL: case GIMPLE_OMP_SECTION: case GIMPLE_OMP_GRID_BODY: --- 9199,9204 ---- *************** omp_make_gimple_edges (basic_block bb, s *** 9193,9198 **** --- 9206,9217 ---- fallthru = true; break; + case GIMPLE_OMP_TASKGROUP: + cur_region = new_omp_region (bb, code, cur_region); + fallthru = true; + cur_region = cur_region->outer; + break; + case GIMPLE_OMP_TASK: cur_region = new_omp_region (bb, code, cur_region); fallthru = true; diff -Nrcpad gcc-10.4.0/gcc/omp-low.c gcc-10.5.0/gcc/omp-low.c *** gcc-10.4.0/gcc/omp-low.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/omp-low.c Fri Jul 7 07:08:19 2023 *************** lower_omp_taskgroup (gimple_stmt_iterato *** 8833,8839 **** gimple_bind_add_seq (bind, gimple_omp_body (stmt)); gimple_omp_set_body (stmt, NULL); - gimple_bind_add_stmt (bind, gimple_build_omp_return (true)); gimple_bind_add_seq (bind, dseq); pop_gimplify_context (bind); --- 8833,8838 ---- diff -Nrcpad gcc-10.4.0/gcc/optabs.c gcc-10.5.0/gcc/optabs.c *** gcc-10.4.0/gcc/optabs.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/optabs.c Fri Jul 7 07:08:19 2023 *************** expand_vec_cond_expr (tree vec_cond_type *** 5902,5907 **** --- 5902,5915 ---- GET_MODE_NUNITS (cmp_op_mode))); icode = get_vcond_icode (mode, cmp_op_mode, unsignedp); + /* Some targets do not have vcondeq and only vcond with NE/EQ + but not vcondu, so make sure to also try vcond here as + vcond_icode_p would canonicalize the optab query to. */ + if (icode == CODE_FOR_nothing + && (tcode == NE_EXPR || tcode == EQ_EXPR) + && ((icode = get_vcond_icode (mode, cmp_op_mode, !unsignedp)) + != CODE_FOR_nothing)) + unsignedp = !unsignedp; if (icode == CODE_FOR_nothing) { if (tcode == LT_EXPR diff -Nrcpad gcc-10.4.0/gcc/optc-save-gen.awk gcc-10.5.0/gcc/optc-save-gen.awk *** gcc-10.4.0/gcc/optc-save-gen.awk Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/optc-save-gen.awk Fri Jul 7 07:08:19 2023 *************** for (i = 0; i < n_target_string; i++) { *** 634,640 **** print " indent, \"\","; print " \"" name "\","; print " ptr1->x_" name " ? ptr1->x_" name " : \"(null)\","; ! print " ptr2->x_" name " ? ptr1->x_" name " : \"(null)\");"; print ""; } --- 634,640 ---- print " indent, \"\","; print " \"" name "\","; print " ptr1->x_" name " ? ptr1->x_" name " : \"(null)\","; ! print " ptr2->x_" name " ? ptr2->x_" name " : \"(null)\");"; print ""; } diff -Nrcpad gcc-10.4.0/gcc/opts-common.c gcc-10.5.0/gcc/opts-common.c *** gcc-10.4.0/gcc/opts-common.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/opts-common.c Fri Jul 7 07:08:19 2023 *************** You should have received a copy of the G *** 17,22 **** --- 17,23 ---- along with GCC; see the file COPYING3. If not see . */ + #define INCLUDE_STRING #include "config.h" #include "system.h" #include "intl.h" *************** along with GCC; see the file COPYING3. *** 25,30 **** --- 26,32 ---- #include "options.h" #include "diagnostic.h" #include "spellcheck.h" + #include "opts-jobserver.h" static void prune_options (struct cl_decoded_option **, unsigned int *); *************** void prepend_xassembler_to_collect_as_op *** 1805,1807 **** --- 1807,1861 ---- obstack_1grow (o, '\''); } } + + jobserver_info::jobserver_info () + { + /* Traditionally, GNU make uses opened pipes for jobserver-auth, + e.g. --jobserver-auth=3,4. + Starting with GNU make 4.4, one can use --jobserver-style=fifo + and then named pipe is used: --jobserver-auth=fifo:/tmp/hcsparta. */ + + /* Detect jobserver and drop it if it's not working. */ + string js_needle = "--jobserver-auth="; + string fifo_prefix = "fifo:"; + + const char *envval = getenv ("MAKEFLAGS"); + if (envval != NULL) + { + string makeflags = envval; + size_t n = makeflags.rfind (js_needle); + if (n != string::npos) + { + string ending = makeflags.substr (n + js_needle.size ()); + if (ending.find (fifo_prefix) == 0) + { + ending = ending.substr (fifo_prefix.size ()); + pipe_path = ending.substr (0, ending.find (' ')); + is_active = true; + } + else if (sscanf (makeflags.c_str () + n + js_needle.size (), + "%d,%d", &rfd, &wfd) == 2 + && rfd > 0 + && wfd > 0 + && is_valid_fd (rfd) + && is_valid_fd (wfd)) + is_active = true; + else + { + string dup = makeflags.substr (0, n); + size_t pos = makeflags.find (' ', n); + if (pos != string::npos) + dup += makeflags.substr (pos); + skipped_makeflags = "MAKEFLAGS=" + dup; + error_msg + = "cannot access %<" + js_needle + "%> file descriptors"; + } + } + error_msg = "%<" + js_needle + "%> is not present in %"; + } + else + error_msg = "% environment variable is unset"; + + if (!error_msg.empty ()) + error_msg = "jobserver is not available: " + error_msg; + } diff -Nrcpad gcc-10.4.0/gcc/opts-jobserver.h gcc-10.5.0/gcc/opts-jobserver.h *** gcc-10.4.0/gcc/opts-jobserver.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/opts-jobserver.h Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,46 ---- + /* GNU make's jobserver related functionality. + Copyright (C) 2022 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 3, or (at your option) any later + version. + + GCC is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + . + + See dbgcnt.def for usage information. */ + + #ifndef GCC_JOBSERVER_H + #define GCC_JOBSERVER_H + + using namespace std; + + struct jobserver_info + { + /* Default constructor. */ + jobserver_info (); + + /* Error message if there is a problem. */ + string error_msg = ""; + /* Skipped MAKEFLAGS where --jobserver-auth is skipped. */ + string skipped_makeflags = ""; + /* File descriptor for reading used for jobserver communication. */ + int rfd = -1; + /* File descriptor for writing used for jobserver communication. */ + int wfd = -1; + /* Named pipe path. */ + string pipe_path = ""; + /* Return true if jobserver is active. */ + bool is_active = false; + }; + + #endif /* GCC_JOBSERVER_H */ diff -Nrcpad gcc-10.4.0/gcc/po/ChangeLog gcc-10.5.0/gcc/po/ChangeLog *** gcc-10.4.0/gcc/po/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/po/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/predict.c gcc-10.5.0/gcc/predict.c *** gcc-10.4.0/gcc/predict.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/predict.c Fri Jul 7 07:08:19 2023 *************** compute_function_frequency (void) *** 3941,3947 **** } node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED; ! warn_function_cold (current_function_decl); if (ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa() == profile_count::zero ()) return; FOR_EACH_BB_FN (bb, cfun) --- 3941,3949 ---- } node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED; ! if (lookup_attribute ("cold", DECL_ATTRIBUTES (current_function_decl)) ! == NULL) ! warn_function_cold (current_function_decl); if (ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa() == profile_count::zero ()) return; FOR_EACH_BB_FN (bb, cfun) diff -Nrcpad gcc-10.4.0/gcc/ree.c gcc-10.5.0/gcc/ree.c *** gcc-10.4.0/gcc/ree.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/ree.c Fri Jul 7 07:08:19 2023 *************** combine_reaching_defs (ext_cand *cand, c *** 876,882 **** for (df_link *use = uses; use; use = use->next) if (paradoxical_subreg_p (GET_MODE (*DF_REF_LOC (use->ref)), ! GET_MODE (SET_DEST (*dest_sub_rtx)))) return false; } --- 876,883 ---- for (df_link *use = uses; use; use = use->next) if (paradoxical_subreg_p (GET_MODE (*DF_REF_LOC (use->ref)), ! GET_MODE (SET_DEST (*dest_sub_rtx))) ! && !DEBUG_INSN_P (DF_REF_INSN (use->ref))) return false; } *************** combine_reaching_defs (ext_cand *cand, c *** 965,971 **** rtx dest2 = SET_DEST (*dest_sub_rtx2); for (use = uses; use; use = use->next) if (paradoxical_subreg_p (GET_MODE (*DF_REF_LOC (use->ref)), ! GET_MODE (dest2))) break; if (use) break; --- 966,973 ---- rtx dest2 = SET_DEST (*dest_sub_rtx2); for (use = uses; use; use = use->next) if (paradoxical_subreg_p (GET_MODE (*DF_REF_LOC (use->ref)), ! GET_MODE (dest2)) ! && !DEBUG_INSN_P (DF_REF_INSN (use->ref))) break; if (use) break; diff -Nrcpad gcc-10.4.0/gcc/reg-stack.c gcc-10.5.0/gcc/reg-stack.c *** gcc-10.4.0/gcc/reg-stack.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/reg-stack.c Fri Jul 7 07:08:19 2023 *************** static void swap_to_top (rtx_insn *, sta *** 262,275 **** static bool move_for_stack_reg (rtx_insn *, stack_ptr, rtx); static bool move_nan_for_stack_reg (rtx_insn *, stack_ptr, rtx); static int swap_rtx_condition_1 (rtx); ! static int swap_rtx_condition (rtx_insn *); static void compare_for_stack_reg (rtx_insn *, stack_ptr, rtx, bool); static bool subst_stack_regs_pat (rtx_insn *, stack_ptr, rtx); static void subst_asm_stack_regs (rtx_insn *, stack_ptr); static bool subst_stack_regs (rtx_insn *, stack_ptr); static void change_stack (rtx_insn *, stack_ptr, stack_ptr, enum emit_where); static void print_stack (FILE *, stack_ptr); ! static rtx_insn *next_flags_user (rtx_insn *); /* Return nonzero if any stack register is mentioned somewhere within PAT. */ --- 262,275 ---- static bool move_for_stack_reg (rtx_insn *, stack_ptr, rtx); static bool move_nan_for_stack_reg (rtx_insn *, stack_ptr, rtx); static int swap_rtx_condition_1 (rtx); ! static int swap_rtx_condition (rtx_insn *, int &); static void compare_for_stack_reg (rtx_insn *, stack_ptr, rtx, bool); static bool subst_stack_regs_pat (rtx_insn *, stack_ptr, rtx); static void subst_asm_stack_regs (rtx_insn *, stack_ptr); static bool subst_stack_regs (rtx_insn *, stack_ptr); static void change_stack (rtx_insn *, stack_ptr, stack_ptr, enum emit_where); static void print_stack (FILE *, stack_ptr); ! static rtx_insn *next_flags_user (rtx_insn *, int &); /* Return nonzero if any stack register is mentioned somewhere within PAT. */ *************** stack_regs_mentioned (const_rtx insn) *** 335,341 **** static rtx ix86_flags_rtx; static rtx_insn * ! next_flags_user (rtx_insn *insn) { /* Search forward looking for the first use of this value. Stop at block boundaries. */ --- 335,341 ---- static rtx ix86_flags_rtx; static rtx_insn * ! next_flags_user (rtx_insn *insn, int &debug_seen) { /* Search forward looking for the first use of this value. Stop at block boundaries. */ *************** next_flags_user (rtx_insn *insn) *** 345,351 **** insn = NEXT_INSN (insn); if (INSN_P (insn) && reg_mentioned_p (ix86_flags_rtx, PATTERN (insn))) ! return insn; if (CALL_P (insn)) return NULL; --- 345,358 ---- insn = NEXT_INSN (insn); if (INSN_P (insn) && reg_mentioned_p (ix86_flags_rtx, PATTERN (insn))) ! { ! if (DEBUG_INSN_P (insn) && debug_seen >= 0) ! { ! debug_seen = 1; ! continue; ! } ! return insn; ! } if (CALL_P (insn)) return NULL; *************** swap_rtx_condition_1 (rtx pat) *** 1246,1253 **** return r; } static int ! swap_rtx_condition (rtx_insn *insn) { rtx pat = PATTERN (insn); --- 1253,1274 ---- return r; } + /* This function swaps condition in cc users and returns true + if successful. It is invoked in 2 different modes, one with + DEBUG_SEEN set initially to 0. In this mode, next_flags_user + will skip DEBUG_INSNs that it would otherwise return and just + sets DEBUG_SEEN to 1 in that case. If DEBUG_SEEN is 0 at + the end of toplevel swap_rtx_condition which returns true, + it means no problematic DEBUG_INSNs were seen and all changes + have been applied. If it returns true but DEBUG_SEEN is 1, + it means some problematic DEBUG_INSNs were seen and no changes + have been applied so far. In that case one needs to call + swap_rtx_condition again with DEBUG_SEEN set to -1, in which + case it doesn't skip DEBUG_INSNs, but instead adjusts the + flags related condition in them or resets them as needed. */ + static int ! swap_rtx_condition (rtx_insn *insn, int &debug_seen) { rtx pat = PATTERN (insn); *************** swap_rtx_condition (rtx_insn *insn) *** 1257,1263 **** && REG_P (SET_DEST (pat)) && REGNO (SET_DEST (pat)) == FLAGS_REG) { ! insn = next_flags_user (insn); if (insn == NULL_RTX) return 0; pat = PATTERN (insn); --- 1278,1284 ---- && REG_P (SET_DEST (pat)) && REGNO (SET_DEST (pat)) == FLAGS_REG) { ! insn = next_flags_user (insn, debug_seen); if (insn == NULL_RTX) return 0; pat = PATTERN (insn); *************** swap_rtx_condition (rtx_insn *insn) *** 1279,1285 **** { insn = NEXT_INSN (insn); if (INSN_P (insn) && reg_mentioned_p (dest, insn)) ! break; if (CALL_P (insn)) return 0; } --- 1300,1317 ---- { insn = NEXT_INSN (insn); if (INSN_P (insn) && reg_mentioned_p (dest, insn)) ! { ! if (DEBUG_INSN_P (insn)) ! { ! if (debug_seen >= 0) ! debug_seen = 1; ! else ! /* Reset the DEBUG insn otherwise. */ ! INSN_VAR_LOCATION_LOC (insn) = gen_rtx_UNKNOWN_VAR_LOC (); ! continue; ! } ! break; ! } if (CALL_P (insn)) return 0; } *************** swap_rtx_condition (rtx_insn *insn) *** 1299,1305 **** return 0; /* Now we are prepared to handle this as a normal cc0 setter. */ ! insn = next_flags_user (insn); if (insn == NULL_RTX) return 0; pat = PATTERN (insn); --- 1331,1337 ---- return 0; /* Now we are prepared to handle this as a normal cc0 setter. */ ! insn = next_flags_user (insn, debug_seen); if (insn == NULL_RTX) return 0; pat = PATTERN (insn); *************** swap_rtx_condition (rtx_insn *insn) *** 1308,1330 **** if (swap_rtx_condition_1 (pat)) { int fail = 0; ! INSN_CODE (insn) = -1; ! if (recog_memoized (insn) == -1) ! fail = 1; ! /* In case the flags don't die here, recurse to try fix ! following user too. */ ! else if (! dead_or_set_p (insn, ix86_flags_rtx)) { ! insn = next_flags_user (insn); ! if (!insn || !swap_rtx_condition (insn)) fail = 1; } ! if (fail) { ! swap_rtx_condition_1 (pat); ! return 0; } ! return 1; } return 0; } --- 1340,1364 ---- if (swap_rtx_condition_1 (pat)) { int fail = 0; ! if (DEBUG_INSN_P (insn)) ! gcc_assert (debug_seen < 0); ! else { ! INSN_CODE (insn) = -1; ! if (recog_memoized (insn) == -1) fail = 1; } ! /* In case the flags don't die here, recurse to try fix ! following user too. */ ! if (!fail && !dead_or_set_p (insn, ix86_flags_rtx)) { ! insn = next_flags_user (insn, debug_seen); ! if (!insn || !swap_rtx_condition (insn, debug_seen)) ! fail = 1; } ! if (fail || debug_seen == 1) ! swap_rtx_condition_1 (pat); ! return !fail; } return 0; } *************** compare_for_stack_reg (rtx_insn *insn, s *** 1343,1348 **** --- 1377,1383 ---- { rtx *src1, *src2; rtx src1_note, src2_note; + int debug_seen = 0; src1 = get_true_reg (&XEXP (pat_src, 0)); src2 = get_true_reg (&XEXP (pat_src, 1)); *************** compare_for_stack_reg (rtx_insn *insn, s *** 1352,1359 **** if ((! STACK_REG_P (*src1) || (STACK_REG_P (*src2) && get_hard_regnum (regstack, *src2) == FIRST_STACK_REG)) ! && swap_rtx_condition (insn)) { std::swap (XEXP (pat_src, 0), XEXP (pat_src, 1)); src1 = get_true_reg (&XEXP (pat_src, 0)); --- 1387,1403 ---- if ((! STACK_REG_P (*src1) || (STACK_REG_P (*src2) && get_hard_regnum (regstack, *src2) == FIRST_STACK_REG)) ! && swap_rtx_condition (insn, debug_seen)) { + /* If swap_rtx_condition succeeded but some debug insns + were seen along the way, it has actually reverted all the + changes. Rerun swap_rtx_condition in a mode where DEBUG_ISNSs + will be adjusted as well. */ + if (debug_seen) + { + debug_seen = -1; + swap_rtx_condition (insn, debug_seen); + } std::swap (XEXP (pat_src, 0), XEXP (pat_src, 1)); src1 = get_true_reg (&XEXP (pat_src, 0)); diff -Nrcpad gcc-10.4.0/gcc/regrename.c gcc-10.5.0/gcc/regrename.c *** gcc-10.4.0/gcc/regrename.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/regrename.c Fri Jul 7 07:08:19 2023 *************** static bool *** 324,331 **** check_new_reg_p (int reg ATTRIBUTE_UNUSED, int new_reg, class du_head *this_head, HARD_REG_SET this_unavailable) { ! machine_mode mode = GET_MODE (*this_head->first->loc); ! int nregs = hard_regno_nregs (new_reg, mode); int i; struct du_chain *tmp; --- 324,330 ---- check_new_reg_p (int reg ATTRIBUTE_UNUSED, int new_reg, class du_head *this_head, HARD_REG_SET this_unavailable) { ! int nregs = this_head->nregs; int i; struct du_chain *tmp; diff -Nrcpad gcc-10.4.0/gcc/sanopt.c gcc-10.5.0/gcc/sanopt.c *** gcc-10.4.0/gcc/sanopt.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/sanopt.c Fri Jul 7 07:08:19 2023 *************** pass_sanopt::execute (function *fun) *** 1268,1273 **** --- 1268,1274 ---- basic_block bb; int asan_num_accesses = 0; bool contains_asan_mark = false; + int ret = 0; /* Try to remove redundant checks. */ if (optimize *************** pass_sanopt::execute (function *fun) *** 1320,1325 **** --- 1321,1327 ---- if (gimple_call_internal_p (stmt)) { enum internal_fn ifn = gimple_call_internal_fn (stmt); + int this_ret = TODO_cleanup_cfg; switch (ifn) { case IFN_UBSAN_NULL: *************** pass_sanopt::execute (function *fun) *** 1349,1356 **** --- 1351,1360 ---- shadow_vars_mapping); break; default: + this_ret = 0; break; } + ret |= this_ret; } else if (gimple_call_builtin_p (stmt, BUILT_IN_NORMAL)) { *************** pass_sanopt::execute (function *fun) *** 1380,1386 **** if (need_commit_edge_insert) gsi_commit_edge_inserts (); ! return 0; } } // anon namespace --- 1384,1390 ---- if (need_commit_edge_insert) gsi_commit_edge_inserts (); ! return ret; } } // anon namespace diff -Nrcpad gcc-10.4.0/gcc/selftest-diagnostic.c gcc-10.5.0/gcc/selftest-diagnostic.c *** gcc-10.4.0/gcc/selftest-diagnostic.c Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/selftest-diagnostic.c Fri Jul 7 07:08:19 2023 *************** test_diagnostic_context::test_diagnostic *** 41,46 **** --- 41,47 ---- show_column = true; start_span = start_span_cb; min_margin_width = 6; + caret_max_width = 80; } test_diagnostic_context::~test_diagnostic_context () diff -Nrcpad gcc-10.4.0/gcc/symbol-summary.h gcc-10.5.0/gcc/symbol-summary.h *** gcc-10.4.0/gcc/symbol-summary.h Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/symbol-summary.h Fri Jul 7 07:08:19 2023 *************** public: *** 142,148 **** template void traverse (Arg a) const { ! m_map.traverse (a); } /* Getter for summary callgraph node pointer. If a summary for a node --- 142,148 ---- template void traverse (Arg a) const { ! m_map.template traverse (a); } /* Getter for summary callgraph node pointer. If a summary for a node *************** public: *** 634,640 **** template void traverse (Arg a) const { ! m_map.traverse (a); } /* Getter for summary callgraph edge pointer. --- 634,640 ---- template void traverse (Arg a) const { ! m_map.template traverse (a); } /* Getter for summary callgraph edge pointer. diff -Nrcpad gcc-10.4.0/gcc/testsuite/ChangeLog gcc-10.5.0/gcc/testsuite/ChangeLog *** gcc-10.4.0/gcc/testsuite/ChangeLog Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,1265 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-07-01 Iain Buclaw + + Backported from master: + 2023-07-01 Iain Buclaw + + PR d/110511 + * gdc.test/compilable/test21794.d: New test. + + 2023-06-30 Patrick Palka + + Backported from master: + 2022-01-28 Patrick Palka + Jason Merrill + + PR c++/92752 + * g++.dg/warn/Wignored-qualifiers2.C: New test. + + 2023-06-30 Patrick Palka + + Backported from master: + 2021-05-26 Patrick Palka + + PR c++/97420 + * g++.dg/cpp0x/noexcept68.C: New test. + + 2023-06-28 liuhongt + + * gcc.target/i386/avx-vzeroupper-29.c: New testcase. + + 2023-06-26 Iain Buclaw + + Backported from master: + 2023-06-26 Iain Buclaw + + PR d/110359 + * gdc.dg/pr110359.d: New test. + + 2023-06-20 Kewen Lin + + Backported from master: + 2023-06-20 Kewen Lin + + PR target/109932 + * gcc.target/powerpc/pr109932-1.c: New test. + * gcc.target/powerpc/pr109932-2.c: New test. + + 2023-06-19 Kewen Lin + + Backported from master: + 2023-06-12 Kewen Lin + + PR target/110011 + * gcc.target/powerpc/pr110011.c: New test. + + 2023-06-09 Iain Sandoe + + Backported from master: + 2023-06-02 Iain Sandoe + + PR target/110044 + * gcc.target/powerpc/darwin-abi-13-0.c: New test. + * gcc.target/powerpc/darwin-abi-13-1.c: New test. + * gcc.target/powerpc/darwin-abi-13-2.c: New test. + * gcc.target/powerpc/darwin-structs-0.h: New test. + + 2023-05-22 Michael Meissner + + PR target/70243 + * gcc.target/powerpc/pr70243.c: New test. Back port from master + 04/10/2023. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2021-12-24 Iain Sandoe + + * gcc.dg/darwin-aligned-globals.c: New test. + * gcc.dg/darwin-comm-1.c: New test. + * gcc.dg/attr-aligned.c: Amend for new alignment values on + Darwin. + * gcc.target/i386/pr89261.c: Likewise. + + 2023-05-09 Jakub Jelinek + + Backported from master: + 2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * gcc.dg/lto/pr109778_0.c: New test. + * gcc.dg/lto/pr109778_1.c: New file. + + 2023-05-09 Jakub Jelinek + + Backported from master: + 2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * gcc.c-torture/execute/pr109778.c: New test. + + 2023-05-04 Richard Biener + + Backported from master: + 2023-05-04 Richard Biener + + PR tree-optimization/109724 + * g++.dg/torture/pr109724.C: New testcase. + + 2023-05-04 Richard Biener + + Revert: + 2023-05-04 Richard Biener + + PR tree-optimization/106809 + * gcc.dg/torture/pr106809.c: New testcase. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-04-12 Jakub Jelinek + + PR tree-optimization/109410 + * gcc.dg/pr109410.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-28 Jakub Jelinek + + PR middle-end/106190 + * gcc.dg/asan/pr106190.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-26 Jakub Jelinek + + PR ipa/105685 + * c-c++-common/cold-2.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-20 Jakub Jelinek + + PR c++/109164 + * g++.dg/tls/thread_local13.C: New test. + * g++.dg/tls/thread_local13-aux.cc: New file. + * g++.dg/tls/thread_local14.C: New test. + * g++.dg/tls/thread_local14-aux.cc: New file. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR target/105554 + * gcc.target/i386/pr105554.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR c/109151 + * c-c++-common/ubsan/div-by-zero-8.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-17 Jakub Jelinek + + PR middle-end/108685 + * c-c++-common/gomp/doacross-8.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-14 Jakub Jelinek + + PR c++/109096 + * g++.dg/cpp1z/has-unique-obj-representations3.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-10 Jakub Jelinek + + PR c++/107558 + * g++.dg/gomp/pr107558.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-04 Jakub Jelinek + + PR c/107465 + * c-c++-common/Wsign-compare-2.c (f18): New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-04 Jakub Jelinek + + PR c/107465 + * c-c++-common/Wsign-compare-2.c: New test. + * c-c++-common/pr107465.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-02 Jakub Jelinek + + PR debug/108716 + * g++.dg/debug/dwarf2/pr108716.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-24 Jakub Jelinek + + PR middle-end/108854 + * g++.dg/opt/pr108854.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-24 Jakub Jelinek + + PR target/108881 + * gcc.target/i386/avx512bf16-pr108881.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-24 Jakub Jelinek + + PR c++/108474 + * g++.dg/cpp1z/decomp57.C: New test. + * g++.dg/cpp1z/decomp58.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-14 Jakub Jelinek + + PR c++/108365 + * g++.dg/opt/pr108365.C: New test. + * g++.dg/warn/pr108365.C: New test. + + 2023-05-03 Andrew Pinski + + Backported from master: + 2023-02-09 Andrew Pinski + + PR tree-optimization/108688 + * gcc.c-torture/compile/pr108688-1.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-02 Jakub Jelinek + + PR middle-end/108435 + * gcc.dg/gomp/pr108435.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-01 Jakub Jelinek + + PR debug/108573 + * gcc.dg/pr108573.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-01 Jakub Jelinek + + PR c++/108607 + * g++.dg/gomp/pr108607.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-31 Jakub Jelinek + + PR rtl-optimization/108596 + * gcc.c-torture/compile/pr108596.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-19 Jakub Jelinek + + PR c++/53932 + * g++.dg/init/pr53932.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-01-04 Jakub Jelinek + + PR middle-end/108237 + * gcc.c-torture/compile/pr108237.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-23 Jakub Jelinek + + PR tree-optimization/108068 + * gcc.dg/dfp/pr108068.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-22 Jakub Jelinek + + PR rtl-optimization/108193 + * gfortran.dg/pr108193.f90: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-19 Jakub Jelinek + + PR testsuite/108151 + * gcc.dg/pr64536.c (bar): Cast long to __INTPTR_TYPE__ + before casting to long *. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-19 Jakub Jelinek + + PR testsuite/108151 + * gcc.dg/pr64536.c (bar): Use casts to __INTPTR_TYPE__ rather than + long when casting pointer to integral type. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-16 Jakub Jelinek + + PR rtl-optimization/106751 + * gcc.c-torture/compile/pr106751.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-15 Jakub Jelinek + + PR c++/107065 + * g++.dg/cpp0x/pr107065.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-10 Jakub Jelinek + + PR tree-optimization/107997 + * gcc.c-torture/compile/pr107997.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-08 Jakub Jelinek + + PR debug/106719 + * gcc.dg/pr106719.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-11-24 Jakub Jelinek + + PR middle-end/107317 + * gcc.dg/asan/pr107317.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-11-20 Jakub Jelinek + + PR target/107183 + * gcc.dg/ubsan/pr107183.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-10-24 Jakub Jelinek + + PR c++/107358 + * c-c++-common/pr107358.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-10-24 Jakub Jelinek + + PR c++/105774 + * g++.dg/cpp1y/constexpr-105774.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-09-24 Jakub Jelinek + + PR c/107001 + * c-c++-common/gomp/pr107001.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-09-24 Jakub Jelinek + + PR c/106981 + * c-c++-common/gomp/pr106981.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-08-16 Jakub Jelinek + + * g++.dg/cpp2a/volatile1.C: Adjust for de-deprecation of volatile + compound |=, &= and ^= operations. + * g++.dg/cpp2a/volatile3.C: Likewise. + * g++.dg/cpp2a/volatile5.C: Likewise. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-07-27 Jakub Jelinek + + PR debug/106261 + * g++.dg/debug/pr106261.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-06-21 Jakub Jelinek + + PR rtl-optimization/106032 + * gcc.c-torture/execute/pr106032.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-06-21 Jakub Jelinek + + PR middle-end/106030 + * gcc.c-torture/compile/pr106030.c: New test. + + 2023-04-25 Jason Merrill + + PR testsuite/109608 + * g++.dg/cpp0x/constexpr-pmf3.C: Remove stray ';'. + + 2023-04-21 Jason Merrill + + PR c++/107163 + * g++.dg/warn/Wsequence-point-5.C: New test. + + 2023-04-21 Jason Merrill + + PR c++/105996 + * g++.dg/cpp0x/constexpr-pmf3.C: New test. + + 2023-04-21 Jason Merrill + + PR c++/108975 + * g++.dg/cpp0x/lambda/lambda-const11.C: New test. + + 2023-04-21 Jason Merrill + + PR c++/69410 + * g++.dg/lookup/friend24.C: New test. + + 2023-04-21 Jason Merrill + + PR c++/101869 + * g++.dg/cpp0x/enum43.C: New test. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2023-01-31 Philipp Tomsich + + PR target/108589 + * gcc.target/aarch64/pr108589.c: New test. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2023-04-17 Philipp Tomsich + Di Zhao + + * gcc.target/aarch64/ampere1-no_ldp_combine.c: New test. + + 2023-04-18 Philipp Tomsich + + Backported from master: + 2022-10-06 Philipp Tomsich + + * gcc.target/aarch64/cpunative/info_18: New test. + * gcc.target/aarch64/cpunative/native_cpu_18.c: New test. + + 2023-04-17 Kewen Lin + + Backported from master: + 2023-04-04 Kewen Lin + + PR target/108699 + * gcc.target/powerpc/p9-vparity.c: Add scan-assembler-not for vpopcntb + to distinguish parity byte from parity. + * gcc.target/powerpc/pr108699.c: New test. + + 2023-04-16 Harald Anlauf + + Backported from master: + 2023-04-14 Harald Anlauf + + PR fortran/109511 + * gfortran.dg/set_exponent_1.f90: New test. + + 2023-03-24 Harald Anlauf + + Backported from master: + 2023-03-20 Harald Anlauf + + PR fortran/109186 + * gfortran.dg/nearest_6.f90: New test. + + 2023-03-24 Harald Anlauf + + Backported from master: + 2023-03-19 Harald Anlauf + + PR fortran/85877 + * gfortran.dg/pr85877.f90: New test. + + 2023-03-17 Harald Anlauf + + Backported from master: + 2023-03-11 Harald Anlauf + + PR fortran/106945 + * gfortran.dg/pr106945.f90: New test. + + 2023-03-17 Harald Anlauf + + Backported from master: + 2023-03-10 Harald Anlauf + + PR fortran/104332 + * gfortran.dg/bind_c_usage_34.f90: New test. + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-27 Harald Anlauf + + PR fortran/108937 + * gfortran.dg/ibits_2.f90: New test. + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-22 Harald Anlauf + + PR fortran/96024 + * gfortran.dg/pr96024.f90: New test. + + 2023-03-05 Harald Anlauf + + Backported from master: + 2023-02-21 Harald Anlauf + + PR fortran/96025 + * gfortran.dg/pr96025.f90: New test. + + 2023-03-03 Iain Buclaw + + Backported from master: + 2023-03-03 Iain Buclaw + + PR d/108877 + * gdc.dg/imports/pr108877a.d: New test. + * gdc.dg/pr108877.d: New test. + + 2023-02-20 Alex Coplan + + Backported from master: + 2023-02-06 Alex Coplan + + PR target/104921 + * gcc.target/aarch64/pr104921-1.c: New test. + * gcc.target/aarch64/pr104921-2.c: New test. + * gcc.target/aarch64/pr104921.x: Include file for new tests. + + 2023-02-13 Kewen Lin + + Backported from master: + 2023-01-18 Kewen Lin + + PR target/108348 + * gcc.target/powerpc/pr108348-1.c: New test. + * gcc.target/powerpc/pr108348-2.c: New test. + + 2023-02-13 Kewen Lin + + Backported from master: + 2023-01-16 Kewen Lin + + PR target/108272 + * gcc.target/powerpc/pr108272-1.c: New test. + * gcc.target/powerpc/pr108272-2.c: New test. + * gcc.target/powerpc/pr108272-3.c: New test. + * gcc.target/powerpc/pr108272-4.c: New test. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-02-07 Harald Anlauf + + PR fortran/95107 + * gfortran.dg/save_7.f90: New test. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-02-01 Harald Anlauf + + PR fortran/108609 + * gfortran.dg/pr108527.f90: Adjust test pattern. + + 2023-02-11 Harald Anlauf + + Backported from master: + 2023-01-28 Harald Anlauf + Steven G. Kargl + + PR fortran/108527 + * gfortran.dg/pr108527.f90: New test. + + 2023-02-07 Richard Biener + + Backported from master: + 2022-09-02 Richard Biener + + PR tree-optimization/106809 + * gcc.dg/torture/pr106809.c: New testcase. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-24 Harald Anlauf + + PR fortran/108529 + * gfortran.dg/pr108529.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2022-07-14 Harald Anlauf + Steven G. Kargl + + PR fortran/106209 + * gfortran.dg/pr106209.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108501 + * gfortran.dg/pr108501.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108502 + * gfortran.dg/pr108502.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-17 Harald Anlauf + + PR fortran/108421 + * gfortran.dg/pr108421.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-23 Harald Anlauf + + PR fortran/108420 + * gfortran.dg/pr108420.f90: New test. + + 2023-02-05 Harald Anlauf + + Backported from master: + 2023-01-28 Harald Anlauf + + PR fortran/108453 + * gfortran.dg/common_27.f90: New test. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-11-14 Richard Biener + + * gcc.dg/pr107554.c: Restrict to lp64. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-11-11 Richard Biener + Nikita Voronov + + PR tree-optimization/107554 + * gcc.dg/pr107554.c: New testcase. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-10-21 Richard Biener + + PR tree-optimization/107323 + * gcc.dg/tree-ssa/pr107323.c: New testcase. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-10-06 Richard Biener + + PR tree-optimization/107107 + * gcc.dg/pr107107.c: New testcase. + + 2023-01-26 Richard Biener + + Backported from master: + 2022-09-14 Richard Biener + + PR tree-optimization/106934 + * gfortran.dg/pr106934.f90: New testcase. + + 2023-01-25 Christophe Lyon + + Backported from master: + 2023-01-12 Christophe Lyon + Richard Sandiford + + * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: New + test. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: New + test. + * gcc.target/aarch64/bitfield-abi-warning-align8-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning.h: New test. + * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: New + test. + * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: New + test. + * g++.target/aarch64/bitfield-abi-warning-align8-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning.h: New test. + + 2023-01-08 Harald Anlauf + + Backported from master: + 2022-12-23 Harald Anlauf + + PR fortran/108131 + * gfortran.dg/pr103505.f90: Adjust expected patterns. + * gfortran.dg/pr108131.f90: New test. + + 2023-01-06 Francois-Xavier Coudert + + Backported from master: + 2021-12-29 Francois-Xavier Coudert + + PR testsuite/47334 + PR testsuite/103823 + * lib/prune.exp: Prune some warnings related to LTO and + visibility. + + 2023-01-06 Martin Liska + + Backported from master: + 2021-05-12 Martin Liska + + * lib/lto.exp: When running tests without jobserver, one can see + the following warning for tests that use 1to1 partitioning. + + 2023-01-05 Kewen Lin + + PR target/106736 + * gcc.target/powerpc/pr106736-1.c: New test. + * gcc.target/powerpc/pr106736-2.c: Likewise. + * gcc.target/powerpc/pr106736-3.c: Likewise. + * gcc.target/powerpc/pr106736-4.c: Likewise. + * gcc.target/powerpc/pr106736-5.c: Likewise. + + 2022-12-24 John David Anglin + + * g++.dg/guality/guality.exp: Skip on hppa*-*-hpux*. + * gcc.dg/guality/guality.exp: Likewise. + * gfortran.dg/guality/guality.exp: Likewise. + + 2022-12-18 Paul Thomas + + Backported from master: + 2022-12-09 Paul Thomas + + PR fortran/107872 + * gfortran.dg/pr107872.f90: New test. + + 2022-12-16 Patrick Palka + + Backported from master: + 2021-10-28 Patrick Palka + + PR c++/102780 + PR c++/108138 + * g++.dg/cpp1z/fold13.C: New test. + + 2022-12-15 Sebastian Pop + + PR target/98776 + * gcc.target/aarch64/pr98776.c: New. + * gcc.target/aarch64/pr92424-2.c: Adjust pattern. + * gcc.target/aarch64/pr92424-3.c: Adjust pattern. + + 2022-12-11 Iain Buclaw + + Backported from master: + 2022-12-11 Iain Buclaw + + PR d/108050 + * gdc.dg/imports/pr108050/mod1.d: New. + * gdc.dg/imports/pr108050/mod2.d: New. + * gdc.dg/imports/pr108050/package.d: New. + * gdc.dg/pr108050.d: New test. + + 2022-12-01 liuhongt + + * gcc.target/i386/pr107863.c: New test. + + 2022-11-30 Iain Buclaw + + Backported from master: + 2022-11-30 Iain Buclaw + + PR d/107592 + * gdc.dg/pr107592.d: New test. + + 2022-11-25 Harald Anlauf + + Backported from master: + 2022-11-18 Harald Anlauf + + PR fortran/107576 + * gfortran.dg/null_actual_3.f90: New test. + + 2022-11-18 Marek Polacek + + Backported from master: + 2022-11-18 Marek Polacek + + PR c++/104066 + * g++.dg/cpp2a/constinit18.C: New test. + + 2022-11-08 H.J. Lu + + Backported from master: + 2022-10-25 H.J. Lu + + PR target/107304 + * gcc.target/i386/pr107304.c: New test. + + 2022-10-28 Harald Anlauf + + Backported from master: + 2022-10-26 Harald Anlauf + + PR fortran/103413 + * gfortran.dg/illegal_boz_arg_4.f90: New test. + + 2022-10-25 Stefan Schulze Frielinghaus + + Backported from master: + 2022-10-19 Stefan Schulze Frielinghaus + + * gcc.target/s390/pr106355.h: Common code for new tests. + * gcc.target/s390/pr106355-1.c: New test. + * gcc.target/s390/pr106355-2.c: New test. + * gcc.target/s390/pr106355-3.c: New test. + + 2022-10-23 Harald Anlauf + + Backported from master: + 2022-10-20 Harald Anlauf + Steven G. Kargl + + PR fortran/105633 + * gfortran.dg/pr105633.f90: New test. + + 2022-10-21 Richard Sandiford + + Backported from master: + 2022-10-20 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general/brka_1.c: Expect a separate + PTEST instruction. + * gcc.target/aarch64/sve/acle/general/brkb_1.c: Likewise. + + 2022-10-21 Richard Sandiford + + Backported from master: + 2022-10-20 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general/brkn_1.c: Expect separate + PTEST instructions. + * gcc.target/aarch64/sve/acle/general/brkn_2.c: New test. + + 2022-10-21 Richard Sandiford + + * gcc.target/aarch64/pragma_cpp_predefs_1.c: Add RCPC tests. + + 2022-10-20 Kewen Lin + + Backported from master: + 2022-09-26 Kewen Lin + + PR target/96072 + * gcc.target/powerpc/pr96072.c: New test. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-08-10 Richard Biener + + PR tree-optimization/106513 + * gcc.dg/torture/pr106513.c: New testcase. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-07-19 Richard Biener + + PR middle-end/106331 + * gfortran.dg/pr106331.f90: New testcase. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-07-01 Richard Biener + + PR tree-optimization/106131 + * g++.dg/torture/pr106131.C: New testcase. + + 2022-10-14 Richard Biener + + Backported from master: + 2022-06-29 Richard Biener + + PR tree-optimization/106112 + * gcc.dg/torture/pr106112.c: New testcase. + + 2022-10-10 Mikael Morin + + Backported from master: + 2022-09-25 Mikael Morin + + PR fortran/106817 + * gfortran.dg/intent_optimize_4.f90: New test. + + 2022-10-10 Mikael Morin + + Backported from master: + 2022-09-25 Mikael Morin + + PR fortran/105012 + * gfortran.dg/intent_out_15.f90: New test. + + 2022-10-08 José Rui Faustino de Sousa + + Backported from master: + 2022-10-01 José Rui Faustino de Sousa + + PR fortran/100029 + PR fortran/100040 + * gfortran.dg/PR100029.f90: New test. + * gfortran.dg/PR100040.f90: New test. + + 2022-10-01 José Rui Faustino de Sousa + + Backported from master: + 2022-09-20 José Rui Faustino de Sousa + + PR fortran/100132 + * gfortran.dg/PR100132.f90: New test. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-27 Harald Anlauf + + PR fortran/107054 + * gfortran.dg/pr107054.f90: New test. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-22 Harald Anlauf + + PR fortran/82868 + * gfortran.dg/associate_26a.f90: New test. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-09-20 Harald Anlauf + + PR fortran/106985 + * gfortran.dg/pr106985.f90: New test. + + 2022-09-30 Harald Anlauf + + Backported from master: + 2022-08-24 Harald Anlauf + + PR fortran/103694 + * gfortran.dg/pr103694.f90: New test. + + 2022-09-26 Harald Anlauf + + Backported from master: + 2022-09-20 Harald Anlauf + + PR fortran/106986 + * gfortran.dg/pr106986.f90: New test. + + 2022-09-24 José Rui Faustino de Sousa + + Backported from master: + 2022-09-03 José Rui Faustino de Sousa + + PR fortran/100245 + * gfortran.dg/PR100245.f90: New test. + + 2022-09-22 Harald Anlauf + + Backported from master: + 2022-09-15 Harald Anlauf + + PR fortran/106857 + * gfortran.dg/pr106857.f90: New test. + + 2022-09-13 Peter Bergner + + Backported from master: + 2022-09-01 Peter Bergner + + PR target/101322 + * g++.target/powerpc/pr101322.C: New test. + + 2022-09-13 Kewen Lin + + Backported from master: + 2022-09-07 Kewen Lin + + PR testsuite/106345 + * lib/target-supports.exp (check_effective_target_has_arch_pwr5): Add + a function definition to avoid pedwarn about empty translation unit. + (check_effective_target_has_arch_pwr6): Likewise. + (check_effective_target_has_arch_pwr7): Likewise. + (check_effective_target_has_arch_pwr8): Likewise. + (check_effective_target_has_arch_pwr9): Likewise. + (check_effective_target_has_arch_ppc64): Likewise. + (check_effective_target_ppc_float128): Likewise. + (check_effective_target_ppc_float128_insns): Likewise. + (check_effective_target_powerpc_vsx): Likewise. + + 2022-08-30 Peter Bergner + + Backported from master: + 2022-08-28 Peter Bergner + + PR target/106017 + * gcc.target/powerpc/pr106017.c: New test. + + 2022-08-24 Kewen Lin + + Backported from master: + 2022-08-16 Kewen Lin + + PR target/103353 + * gcc.target/powerpc/pr103353.c: New test. + + 2022-08-17 Segher Boessenkool + + Backported from master: + 2022-04-26 Segher Boessenkoool + + PR target/105349 + * lib/target-supports.exp (check_effective_target_has_arch_pwr5): Use + the specified dg-options. + (check_effective_target_has_arch_pwr6): Ditto. + (check_effective_target_has_arch_pwr7): Ditto. + (check_effective_target_has_arch_pwr8): Ditto. + (check_effective_target_has_arch_pwr9): Ditto. + (check_effective_target_has_arch_ppc64): Ditto. + + 2022-08-17 Segher Boessenkool + + Backported from master: + 2022-04-21 Segher Boessenkool + + * lib/target-supports.exp (check_effective_target_has_arch_ppc64): New. + + 2022-08-04 Peter Bergner + + Backported from master: + 2022-03-25 Peter Bergner + + * g++.dg/pr65240-1.C: Use -mdejagnu-cpu=. Remove dg-skip-if. + * g++.dg/pr65240-2.C: Likewise. + * g++.dg/pr65240-3.C: Likewise. + * g++.dg/pr65240-4.C: Likewise. + * g++.dg/pr65242.C: Likewise. + * g++.dg/pr67211.C: Likewise. + * g++.dg/pr69667.C: Likewise. + * g++.dg/pr71294.C: Likewise. + * g++.dg/pr84279.C: Likewise. + * g++.dg/torture/ppc-ldst-array.C: Likewise. + * gfortran.dg/nint_p7.f90: Likewise. + * gfortran.dg/pr102860.f90: Likewise. + * gcc.target/powerpc/fusion.c: Use -mdejagnu-cpu= and -mdejagnu-tune=. + * gcc.target/powerpc/fusion2.c: Likewise. + * gcc.target/powerpc/test_mffsl.c: Likewise. + * gfortran.dg/pr47614.f: Likewise. + * gfortran.dg/pr58968.f: Likewise. + + 2022-08-02 Lewis Hyatt + + Backported from master: + 2022-07-10 Lewis Hyatt + + PR preprocessor/97498 + * c-c++-common/pr97498.c: New test. + * gcc.dg/pragma-message.c: Adapt for improved warning locations. + + 2022-08-02 Kewen Lin + + Backported from master: + 2022-07-26 Kewen Lin + + PR target/106091 + * gcc.target/powerpc/pr106091.c: New test. + + 2022-07-26 Harald Anlauf + + Backported from master: + 2022-07-26 Harald Anlauf + + PR fortran/103504 + * gfortran.dg/pr103504.f90: New test. + + 2022-07-22 Surya Kumari Jangala + + Backported from master: + 2022-06-14 Surya Kumari Jangala + + PR rtl-optimization/105041 + * gcc.target/powerpc/pr105041.c: New test. + + 2022-07-16 Steve Kargl + + Backported from master: + 2022-07-15 Steve Kargl + + PR fortran/104313 + * gfortran.dg/pr104313.f: New test. + + 2022-07-13 Martin Jambor + + Backported from master: + 2022-07-04 Martin Jambor + + PR tree-optimization/105860 + * gcc.dg/tree-ssa/alias-access-path-13.c: New test. + * gcc.dg/tree-ssa/pr105860.c: Likewise. + + 2022-07-05 Iain Buclaw + + Backported from master: + 2022-07-04 Iain Buclaw + + PR d/106139 + * gdc.dg/pr106139a.d: New test. + * gdc.dg/pr106139b.d: New test. + * gdc.dg/pr106139c.d: New test. + * gdc.dg/pr106139d.d: New test. + * gdc.test/fail_compilation/ice20264.d: New test. + + 2022-07-03 Harald Anlauf + + Backported from master: + 2022-06-30 Harald Anlauf + Steven G. Kargl + + PR fortran/103137 + PR fortran/103138 + PR fortran/103693 + PR fortran/105243 + * gfortran.dg/class_58.f90: Fix test. + * gfortran.dg/class_73.f90: New test. + + 2022-07-03 Harald Anlauf + + Backported from master: + 2022-06-29 Harald Anlauf + Steven G. Kargl + + PR fortran/106121 + * gfortran.dg/extends_type_of_4.f90: New test. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-26 Harald Anlauf + + PR fortran/105954 + * gfortran.dg/pr105954.f90: New test. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-26 Harald Anlauf + + PR fortran/105691 + * gfortran.dg/index_6.f90: New test. + + 2022-07-01 Harald Anlauf + + Backported from master: + 2022-06-24 Harald Anlauf + + PR fortran/105813 + * gfortran.dg/unpack_vector_1.f90: New test. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/Wsign-compare-2.c gcc-10.5.0/gcc/testsuite/c-c++-common/Wsign-compare-2.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/Wsign-compare-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/Wsign-compare-2.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,112 ---- + /* { dg-do compile { target { ilp32 || lp64 } } } */ + /* { dg-options "-Wsign-compare" } */ + + int + f1 (unsigned char x) + { + return (unsigned short) (~(unsigned short) x) == 0; /* { dg-warning "promoted bitwise complement of an unsigned value is always nonzero" "" { target c } } */ + } + + int + f2 (unsigned char x) + { + return (unsigned short) (~(unsigned short) x) == 5; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with constant" "" { target c } } */ + } + + int + f3 (unsigned char x) + { + return (unsigned int) (~(unsigned short) x) == 0xffff0005U; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + int + f4 (unsigned char x) + { + return (unsigned int) (~(unsigned short) x) == 0xffff0005ULL; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + int + f5 (unsigned char x) + { + return (unsigned int) (~(unsigned short) x) == 0xffffff05U; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + int + f6 (unsigned char x) + { + return (unsigned int) (~(unsigned short) x) == 0xffffff05ULL; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + int + f7 (unsigned char x) + { + return (unsigned long long) (~(unsigned short) x) == 0xffffffffffffff05ULL; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + typedef unsigned short T; + + int + f8 (T x) + { + return (unsigned short) (~(unsigned short) x) == 0; /* { dg-bogus "promoted bitwise complement of an unsigned value is always nonzero" } */ + } + + int + f9 (T x) + { + return (unsigned short) (~(unsigned short) x) == 5; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } + + int + f10 (T x, unsigned char y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f11 (T x, unsigned char y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f12 (unsigned char x, unsigned char y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with unsigned" "" { target c } } */ + } + + int + f13 (unsigned char x, unsigned char y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with unsigned" "" { target c } } */ + } + + int + f14 (unsigned char x, unsigned int y) + { + return (unsigned long long) (~x) == y; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f15 (unsigned short x, unsigned int y) + { + return (long long) (~x) == y; /* { dg-warning "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f16 (unsigned char x, unsigned short y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f17 (unsigned char x, unsigned short y) + { + return (unsigned short) (~(unsigned short) x) == y; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with unsigned" } */ + } + + int + f18 (unsigned char x) + { + return (unsigned int) (short) (~(unsigned short) x) == 0xffffff05ULL; /* { dg-bogus "comparison of promoted bitwise complement of an unsigned value with constant" } */ + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/cold-2.c gcc-10.5.0/gcc/testsuite/c-c++-common/cold-2.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/cold-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/cold-2.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,19 ---- + /* PR ipa/105685 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -Wsuggest-attribute=cold" } */ + + extern void foo (char *, char const *, int); + + __attribute__((cold)) char * + bar (int x) + { + static char b[42]; + foo (b, "foo", x); + return b; + } + + __attribute__((cold)) char * + baz (int x) /* { dg-bogus "function might be candidate for attribute 'cold'" } */ + { + return bar (x); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/doacross-8.c gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/doacross-8.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/doacross-8.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/doacross-8.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,17 ---- + /* PR middle-end/108685 */ + /* { dg-do compile } */ + + void + foo (int a) + { + for (int m = 0; m < 10; m++) + #pragma omp for collapse(2) ordered(4) + for (int i = 0; i < 2; i++) + for (int j = 0; j < a; j++) + for (int k = 0; k < 2; k++) + for (int l = 0; l < a; l++) + { + #pragma omp ordered depend (source) + __builtin_abort (); + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/pr106981.c gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/pr106981.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/pr106981.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/pr106981.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,9 ---- + /* PR c/106981 */ + /* { dg-do compile } */ + + void + foo (int a, double *b, double *c, double *d, long long e) + { + #pragma omp atomic capture + c[a] = d[((int) (e / 10 + 1))] = b[a] + d[((int) e / 10 + 1)]; /* { dg-error "invalid form" } */ + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/pr107001.c gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/pr107001.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/gomp/pr107001.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/gomp/pr107001.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,14 ---- + /* PR c/107001 */ + /* { dg-do compile } */ + /* { dg-options "-O0 -fopenmp -fexceptions" } */ + /* { dg-require-effective-target exceptions } */ + + void bar (void); + void foo (void) + { + #pragma omp taskgroup + { + #pragma omp taskgroup + bar (); + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/pr107358.c gcc-10.5.0/gcc/testsuite/c-c++-common/pr107358.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/pr107358.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/pr107358.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,30 ---- + /* PR c++/107358 */ + /* { dg-do compile { target c } } */ + /* { dg-options "-O2 -fexcess-precision=standard" } */ + + typedef float __attribute__((vector_size (4 * sizeof (float)))) A; + typedef double __attribute__((vector_size (2 * sizeof (double)))) B; + + void + foo (A *x) + { + *x = *x - 124.225514990f; + } + + void + bar (A *x, float y) + { + *x = *x - y; + } + + void + baz (B *x) + { + *x = *x + 124.225514990f; + } + + void + qux (B *x, double y) + { + *x = *x + y; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/pr107465.c gcc-10.5.0/gcc/testsuite/c-c++-common/pr107465.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/pr107465.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/pr107465.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,22 ---- + /* PR c/107465 */ + /* { dg-do compile } */ + /* { dg-options "-Wsign-compare" } */ + + void baz (void); + typedef unsigned short T; + + #if __SIZEOF_SHORT__ * __CHAR_BIT__ == 16 + void + foo (unsigned short x) + { + if (!(x ^ 0xFFFF)) + baz (); + } + + void + bar (T x) + { + if (!(x ^ 0xFFFF)) /* { dg-bogus "promoted bitwise complement of an unsigned value is always nonzero" } */ + baz (); + } + #endif diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/pr97498.c gcc-10.5.0/gcc/testsuite/c-c++-common/pr97498.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/pr97498.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/pr97498.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,4 ---- + /* { dg-do compile } */ + /* { dg-additional-options "-Wunused-function" } */ + #pragma GCC diagnostic ignored "-Wunused-function" + static void f() {} _Pragma("GCC diagnostic error \"-Wunused-function\"") /* { dg-bogus "-Wunused-function" } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/c-c++-common/ubsan/div-by-zero-8.c gcc-10.5.0/gcc/testsuite/c-c++-common/ubsan/div-by-zero-8.c *** gcc-10.4.0/gcc/testsuite/c-c++-common/ubsan/div-by-zero-8.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/c-c++-common/ubsan/div-by-zero-8.c Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,14 ---- + /* PR c/109151 */ + /* { dg-do run } */ + /* { dg-options "-fsanitize=integer-divide-by-zero -Wno-div-by-zero -fno-sanitize-recover=integer-divide-by-zero" } */ + /* { dg-shouldfail "ubsan" } */ + + int d; + + int + main () + { + d = ((short) (d == 1 | d > 9)) / 0; + } + + /* { dg-output "division by zero" } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-pmf3.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-pmf3.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/constexpr-pmf3.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/constexpr-pmf3.C Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,13 ---- + // PR c++/105996 + // { dg-do compile { target c++11 } } + + struct A { + void CB() {} + }; + struct B : public A { }; + + using APMF = void (A::*)(); + using BPMF = void (B::*)(); + + constexpr APMF foo () { return &A::CB; } + static constexpr BPMF b = foo(); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/enum43.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/enum43.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/enum43.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/enum43.C Fri Jul 7 07:08:19 2023 *************** *** 0 **** --- 1,11 ---- + // PR c++/101869 + + enum E { A }; + E operator & (E e) + { + return e; + } + E f(void) + { + return &E::A; // { dg-error "not a class" "" { target c++98_only } } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + // PR c++/108975 + // { dg-do compile { target c++11 } } + + template + void f() { + constexpr int dim = 1; + auto l = [&] { + int n[dim * 1]; + }; + // In f, we shouldn't actually capture dim. + static_assert (sizeof(l) == 1, ""); + } + + template void f(); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/noexcept68.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/noexcept68.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/noexcept68.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/noexcept68.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,8 ---- + // PR c++/97420 + // { dg-do compile { target c++11 } } + + int f(int) noexcept; + template void A(); + int main() { + A(); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/pr107065.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/pr107065.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp0x/pr107065.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp0x/pr107065.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + // PR c++/107065 + // { dg-do compile { target c++11 } } + + template struct is_same { static constexpr bool value = false; }; + template struct is_same { static constexpr bool value = true; }; + + int + main () + { + bool b = true; + static_assert (is_same::value, ""); + auto bb = (!(!b)); + static_assert (is_same::value, ""); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp1y/constexpr-105774.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp1y/constexpr-105774.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp1y/constexpr-105774.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp1y/constexpr-105774.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + // PR c++/105774 + // { dg-do compile { target c++14 } } + + constexpr signed char + foo () + { + #if __SCHAR_MAX__ < __INT_MAX__ + signed char x = __SCHAR_MAX__; + #else + signed char x = 0; + #endif + return ++x; + } + + constexpr auto a = foo (); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/decomp57.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/decomp57.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/decomp57.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/decomp57.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,27 ---- + // PR c++/108474 + // { dg-do link { target c++17 } } + + struct T { int i, j; }; + T h; + auto [i, j] = h; + int &r = i; + int s = i; + int *t = &i; + + void + foo (int **p, int *q) + { + static int &u = i; + static int v = i; + static int *w = &i; + int &x = i; + int y = i; + int *z = &i; + *p = &i; + *q = i; + } + + int + main () + { + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/decomp58.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/decomp58.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/decomp58.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/decomp58.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,39 ---- + // PR c++/108474 + // { dg-do link { target c++17 } } + + namespace std { + template struct tuple_size; + template struct tuple_element; + } + + struct A { + int i; + template int& get() { return i; } + }; + + template <> struct std::tuple_size { static const int value = 2; }; + template struct std::tuple_element { using type = int; }; + + struct A a; + auto [i, j] = a; + int &r = i; + int s = i; + int *t = &i; + + void + foo (int **p, int *q) + { + static int &u = i; + static int v = i; + static int *w = &i; + int &x = i; + int y = i; + int *z = &i; + *p = &i; + *q = i; + } + + int + main () + { + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/fold13.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/fold13.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/fold13.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/fold13.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,29 ---- + // { dg-do compile { target c++17 } } + // Verify constexpr evaluation of a large left fold logical expression + // isn't quadratic in the size of the expanded expression. + + template struct S { static constexpr bool value = true; }; + + template struct integer_sequence { }; + + template + using make_integer_sequence + #if __has_builtin(__make_integer_seq) + = __make_integer_seq; + #else + = integer_sequence; + #endif + + template + constexpr bool f_impl(integer_sequence) { + return (... && S::value); + } + + static_assert(f_impl(make_integer_sequence())); + + template + constexpr bool g_impl(integer_sequence) { + return (... || !S::value); + } + + static_assert(!g_impl(make_integer_sequence())); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,10 ---- + // PR c++/109096 + // { dg-do compile { target c++11 } } + + #define INTB (__SIZEOF_INT__ * __CHAR_BIT__) + struct U { int i : INTB * 3 / 4; int : INTB / 4; }; + struct V { int : INTB * 3 / 4; int j : INTB / 4; }; + struct W { int i; int : 0; int j; }; + static_assert (__has_unique_object_representations (U) == false, ""); + static_assert (__has_unique_object_representations (V) == false, ""); + static_assert (sizeof (W) != 2 * sizeof (int) || __has_unique_object_representations (W) == true, ""); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/constinit18.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/constinit18.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/constinit18.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/constinit18.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,12 ---- + // PR c++/104066 + // { dg-do compile { target c++20 } } + + constinit void (*p)() = nullptr; + constinit void (*pp)() = nullptr; + void fn(); + constinit void (&r)() = fn; + + extern constinit long (* const syscall_reexported) (long, ...); + + constinit void bad (); // { dg-error ".constinit. on function return type is not allowed" } + constinit void bad () { } // { dg-error ".constinit. on function return type is not allowed" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile1.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile1.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile1.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile1.C Fri Jul 7 07:08:20 2023 *************** fn2 () *** 56,61 **** --- 56,64 ---- vi = i; vi = i = 42; i = vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } + i = vi |= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } + i = vi &= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } + i = vi ^= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } &(vi = i); // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } (vi = 42, 45); (i = vi = 42, 10); // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } *************** fn2 () *** 74,81 **** vi += i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi -= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi %= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! vi ^= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! vi |= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi /= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi = vi += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi += vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } --- 77,85 ---- vi += i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi -= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi %= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! vi ^= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } ! vi |= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } ! vi &= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } vi /= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi = vi += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } vi += vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } *************** void raccoon () *** 131,137 **** volatile T t, u; t = 42; u = t = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! t &= 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } } void --- 135,142 ---- volatile T t, u; t = 42; u = t = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! t += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" "" { target c++2a } } ! t &= 42; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } } void diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile3.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile3.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile3.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile3.C Fri Jul 7 07:08:20 2023 *************** fn2 () *** 57,62 **** --- 57,65 ---- vi = i; vi = i = 42; i = vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } + i = vi |= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" } + i = vi &= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" } + i = vi ^= 42; // { dg-warning "using value of assignment with .volatile.-qualified left operand is deprecated" } &(vi = i); // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } (vi = 42, 45); (i = vi = 42, 10); // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } *************** fn2 () *** 75,82 **** vi += i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi -= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi %= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! vi ^= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! vi |= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi /= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi = vi += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi += vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } --- 78,86 ---- vi += i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi -= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi %= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! vi ^= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } ! vi |= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } ! vi &= i; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } vi /= i; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi = vi += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } vi += vi = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } *************** void raccoon () *** 132,138 **** volatile T t, u; t = 42; u = t = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! t &= 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } } void --- 136,143 ---- volatile T t, u; t = 42; u = t = 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! t += 42; // { dg-warning "assignment with .volatile.-qualified left operand is deprecated" } ! t &= 42; // { dg-bogus "assignment with .volatile.-qualified left operand is deprecated" } } void diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile5.C gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile5.C *** gcc-10.4.0/gcc/testsuite/g++.dg/cpp2a/volatile5.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/cpp2a/volatile5.C Fri Jul 7 07:08:20 2023 *************** f (bool b) *** 8,15 **** { (b ? x : y) = 1; (b ? x : y) += 1; // { dg-warning "compound assignment" "" { target c++20 } } ! z = (b ? x : y) = 1; // { dg-warning "using value of simple assignment" "" { target c++20 } } ! ((z = 2) ? x : y) = 1; // { dg-warning "using value of simple assignment" "" { target c++20 } } ! (b ? (x = 2) : y) = 1; // { dg-warning "using value of simple assignment" "" { target c++20 } } ! (b ? x : (y = 5)) = 1; // { dg-warning "using value of simple assignment" "" { target c++20 } } } --- 8,15 ---- { (b ? x : y) = 1; (b ? x : y) += 1; // { dg-warning "compound assignment" "" { target c++20 } } ! z = (b ? x : y) = 1; // { dg-warning "using value of assignment" "" { target c++20 } } ! ((z = 2) ? x : y) = 1; // { dg-warning "using value of assignment" "" { target c++20 } } ! (b ? (x = 2) : y) = 1; // { dg-warning "using value of assignment" "" { target c++20 } } ! (b ? x : (y = 5)) = 1; // { dg-warning "using value of assignment" "" { target c++20 } } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr108716.C gcc-10.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr108716.C *** gcc-10.4.0/gcc/testsuite/g++.dg/debug/dwarf2/pr108716.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/debug/dwarf2/pr108716.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + // PR debug/108716 + // { dg-options "-O0 -gdwarf-5 -dA -fno-merge-debug-strings" } + // { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_imported_module\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]*0xc\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*(\[^\n\r\]*0x13\[^\n\r\]* DW_AT_decl_column\[^\n\r\]*\[\n\r]*)?" } } + + namespace M { + int x = 1; + } + + int + main () + { + using namespace M; + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/debug/pr106261.C gcc-10.5.0/gcc/testsuite/g++.dg/debug/pr106261.C *** gcc-10.4.0/gcc/testsuite/g++.dg/debug/pr106261.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/debug/pr106261.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,36 ---- + // PR debug/106261 + // { dg-do compile } + // { dg-options "-dx -fno-dwarf2-cfi-asm" } + + struct A + { + virtual void foo (); + int a; + }; + class C : virtual public A + { + }; + struct B + { + A *b; + + B (A *x) : b (x) { b->foo (); } + }; + struct E + { + virtual ~E (); + }; + class D : public C, E + { + }; + struct F : D + { + F (int); + + static void bar () + { + F a (0); + B b (&a); + } + }; + void baz () { F::bar (); } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/gomp/pr107558.C gcc-10.5.0/gcc/testsuite/g++.dg/gomp/pr107558.C *** gcc-10.4.0/gcc/testsuite/g++.dg/gomp/pr107558.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/gomp/pr107558.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + // PR c++/107558 + // { dg-do compile { target c++11 } } + // { dg-additional-options "-fmerge-all-constants" } + // { dg-additional-options "-flto" { target lto } } + + int a = 15; + + void + foo () + { + auto &&l = [&]() { return a; }; + #pragma omp target parallel + l (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/gomp/pr108607.C gcc-10.5.0/gcc/testsuite/g++.dg/gomp/pr108607.C *** gcc-10.4.0/gcc/testsuite/g++.dg/gomp/pr108607.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/gomp/pr108607.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,33 ---- + // PR c++/108607 + // { dg-do compile { target c++14 } } + // { dg-options "-fopenmp" } + + constexpr int + bar (int x) + { + return x; + } + + constexpr int + baz (int x) + { + switch (x) + { + case 42: + return 0; + case 3: + #pragma omp parallel // { dg-error "statement is not a constant expression" } + x = bar (x); + return x; + case 4: + #pragma omp task // { dg-error "statement is not a constant expression" } + x = bar (x); + return x; + default: + return -1; + } + } + + constexpr int b = baz (42); + constexpr int d = baz (3); + constexpr int e = baz (4); diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/guality/guality.exp gcc-10.5.0/gcc/testsuite/g++.dg/guality/guality.exp *** gcc-10.4.0/gcc/testsuite/g++.dg/guality/guality.exp Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/guality/guality.exp Fri Jul 7 07:08:20 2023 *************** if { [istarget *-*-darwin*] } { *** 8,13 **** --- 8,17 ---- return } + if { [istarget hppa*-*-hpux*] } { + return + } + if { [istarget "powerpc-ibm-aix*"] } { set torture_execute_xfail "powerpc-ibm-aix*" return diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/init/pr53932.C gcc-10.5.0/gcc/testsuite/g++.dg/init/pr53932.C *** gcc-10.4.0/gcc/testsuite/g++.dg/init/pr53932.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/init/pr53932.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,25 ---- + // PR c++/53932 + // { dg-do link } + + static union { int i; }; + int &r = i; + int s = i; + int *t = &i; + + void + foo (int **p, int *q) + { + static int &u = i; + static int v = i; + static int *w = &i; + int &x = i; + int y = i; + int *z = &i; + *p = &i; + *q = i; + } + + int + main () + { + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/lookup/friend24.C gcc-10.5.0/gcc/testsuite/g++.dg/lookup/friend24.C *** gcc-10.4.0/gcc/testsuite/g++.dg/lookup/friend24.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/lookup/friend24.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,9 ---- + // PR c++/69410 + + void a(); + void f() { + class A { + friend void ::a(); + friend class Z; + }; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/opt/pr108365.C gcc-10.5.0/gcc/testsuite/g++.dg/opt/pr108365.C *** gcc-10.4.0/gcc/testsuite/g++.dg/opt/pr108365.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/opt/pr108365.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,13 ---- + // PR c++/108365 + // { dg-do run } + + char b = 1; + + int + main () + { + #if __CHAR_BIT__ == 8 && __SIZEOF_SHORT__ == 2 && __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8 + while ((short) ((long long) (unsigned long long) (-__INT_MAX__ - 1) / (long long) (b ? -1 : 0))) + ; + #endif + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/opt/pr108854.C gcc-10.5.0/gcc/testsuite/g++.dg/opt/pr108854.C *** gcc-10.4.0/gcc/testsuite/g++.dg/opt/pr108854.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/opt/pr108854.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,37 ---- + // PR middle-end/108854 + // { dg-do compile { target c++11 } } + // { dg-options "-O3" } + // { dg-additional-options "-fPIC" { target fpic } } + + struct A { A (int); ~A (); }; + struct B { B (int, bool); ~B (); }; + template + struct C { void m1 (T); void m2 (T &&); }; + class D; + struct E { virtual void m3 (); }; + template + struct F { virtual bool m4 (D &); }; + struct D { virtual D m5 () { return D (); } }; + void foo (void *, void *); + struct G { + int a; + C b; + void m4 (D &r) { B l (a, true); r.m5 (); b.m1 (&r); b.m2 (&r); } + }; + struct H : E, F { + template + H (int, T); + bool m4 (D &r) { A l (a); b.m4 (r); if (c) return true; } // { dg-warning "control reaches end of non-void function" } + int a; + bool c; + G b; + }; + inline void bar (F &p) { D s, t; p.m4 (t); foo (&p, &s); } + enum I { I1, I2 }; + template + struct J; + template + void baz () { int g = 0, h = 0; T i (g, h); bar (i); } + template + void qux () { baz > (); } + void corge () { qux (); qux (); } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-1.C gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-1.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-1.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-1.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-mcpu=power8 -O3 -ffast-math -mcmodel=small -mno-fp-in-toc -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power8 -O3 -ffast-math -mcmodel=small -mno-fp-in-toc -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-2.C gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-2.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-2.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-2.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-mcpu=power8 -O3 -ffast-math -mcmodel=small -mfp-in-toc -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power8 -O3 -ffast-math -mcmodel=small -mfp-in-toc -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-3.C gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-3.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-3.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-3.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-mcpu=power8 -O3 -ffast-math -mcmodel=medium -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power8 -O3 -ffast-math -mcmodel=medium -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-4.C gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-4.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr65240-4.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr65240-4.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_vsx_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ! /* { dg-options "-mcpu=power7 -O3 -ffast-math -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_vsx_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -O3 -ffast-math -Wno-return-type" } */ /* target/65240, compiler got a 'insn does not satisfy its constraints' error. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr65242.C gcc-10.5.0/gcc/testsuite/g++.dg/pr65242.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr65242.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr65242.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-mcpu=power8 -O3" } */ class A { public: --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power8 -O3" } */ class A { public: diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr67211.C gcc-10.5.0/gcc/testsuite/g++.dg/pr67211.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr67211.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr67211.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ! /* { dg-options "-mcpu=power7 -mtune=power8 -O3 -w" } */ /* target/67211, compiler got a 'insn does not satisfy its constraints' error. */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -mdejagnu-tune=power8 -O3 -w" } */ /* target/67211, compiler got a 'insn does not satisfy its constraints' error. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr69667.C gcc-10.5.0/gcc/testsuite/g++.dg/pr69667.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr69667.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr69667.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ! /* { dg-options "-mcpu=power8 -w -std=c++14" } */ /* target/69667, compiler got internal compiler error: Max. number of generated reload insns per insn is achieved (90) */ --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power8 -w -std=c++14" } */ /* target/69667, compiler got internal compiler error: Max. number of generated reload insns per insn is achieved (90) */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr71294.C gcc-10.5.0/gcc/testsuite/g++.dg/pr71294.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr71294.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr71294.C Fri Jul 7 07:08:20 2023 *************** *** 1,7 **** // { dg-do compile { target { powerpc64*-*-* && lp64 } } } // { dg-require-effective-target powerpc_p8vector_ok } */ ! // { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } ! // { dg-options "-mcpu=power8 -O3 -fstack-protector" } // PAR target/71294 failed because RELOAD could not figure how create a V2DI // vector that auto vectorization created with each element being the same --- 1,6 ---- // { dg-do compile { target { powerpc64*-*-* && lp64 } } } // { dg-require-effective-target powerpc_p8vector_ok } */ ! // { dg-options "-mdejagnu-cpu=power8 -O3 -fstack-protector" } // PAR target/71294 failed because RELOAD could not figure how create a V2DI // vector that auto vectorization created with each element being the same diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/pr84279.C gcc-10.5.0/gcc/testsuite/g++.dg/pr84279.C *** gcc-10.4.0/gcc/testsuite/g++.dg/pr84279.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/pr84279.C Fri Jul 7 07:08:20 2023 *************** *** 1,8 **** /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-O3 -mcpu=power8 -g -fPIC -fvisibility=hidden -fstack-protector-strong" } */ template struct E { T e; }; struct J { --- 1,8 ---- /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-require-effective-target fpic } */ ! /* { dg-options "-O3 -mdejagnu-cpu=power8 -g -fPIC -fvisibility=hidden -fstack-protector-strong" } */ template struct E { T e; }; struct J { diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local13-aux.cc gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local13-aux.cc *** gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local13-aux.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local13-aux.cc Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,35 ---- + // PR c++/109164 + + struct S { virtual void foo (); int s; }; + extern bool baz (); + + void + S::foo () + { + if (s != 42) + __builtin_abort (); + } + + S s; + + S & + qux () + { + s.s = 42; + return s; + } + + thread_local S &t = qux (); + + bool + bar () + { + return false; + } + + int + main () + { + if (baz ()) + __builtin_abort (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local13.C gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local13.C *** gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local13.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local13.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,21 ---- + // PR c++/109164 + // { dg-do run { target c++11 } } + // { dg-options "-O2" } + // { dg-add-options tls } + // { dg-require-effective-target tls_runtime } + // { dg-additional-sources "thread_local13-aux.cc" } + + struct S { virtual void foo (); int s; }; + extern thread_local S &t; + bool bar (); + + bool + baz () + { + while (1) + { + t.foo (); + if (!bar ()) + return false; + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local14-aux.cc gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local14-aux.cc *** gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local14-aux.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local14-aux.cc Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,26 ---- + // PR c++/109164 + + extern bool baz (); + + int + qux () + { + return 42; + } + + extern thread_local const int t = qux (); + + bool + bar (int x) + { + if (x != 42) + __builtin_abort (); + return false; + } + + int + main () + { + if (baz ()) + __builtin_abort (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local14.C gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local14.C *** gcc-10.4.0/gcc/testsuite/g++.dg/tls/thread_local14.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/tls/thread_local14.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,19 ---- + // PR c++/109164 + // { dg-do run { target c++11 } } + // { dg-options "-O2" } + // { dg-add-options tls } + // { dg-require-effective-target tls_runtime } + // { dg-additional-sources "thread_local14-aux.cc" } + + extern thread_local const int t; + bool bar (int); + + bool + baz () + { + while (1) + { + if (!bar (t)) + return false; + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/torture/ppc-ldst-array.C gcc-10.5.0/gcc/testsuite/g++.dg/torture/ppc-ldst-array.C *** gcc-10.4.0/gcc/testsuite/g++.dg/torture/ppc-ldst-array.C Tue Jun 28 08:54:28 2022 --- gcc-10.5.0/gcc/testsuite/g++.dg/torture/ppc-ldst-array.C Fri Jul 7 07:08:20 2023 *************** *** 1,6 **** /* { dg-do compile { target { powerpc64*-*-* } } } */ ! /* { dg-skip-if "do not override mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ! /* { dg-options "-mcpu=power8" } */ /* When compiled with C++, this code was breaking because of different tree representations of arrays between C and C++. */ --- 1,5 ---- /* { dg-do compile { target { powerpc64*-*-* } } } */ ! /* { dg-options "-mdejagnu-cpu=power8" } */ /* When compiled with C++, this code was breaking because of different tree representations of arrays between C and C++. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/torture/pr106131.C gcc-10.5.0/gcc/testsuite/g++.dg/torture/pr106131.C *** gcc-10.4.0/gcc/testsuite/g++.dg/torture/pr106131.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/torture/pr106131.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,34 ---- + // { dg-do run { target c++11 } } + + struct Pair { + int a, b; + Pair(const Pair &) = default; + Pair(int _a, int _b) : a(_a), b(_b) {} + Pair &operator=(const Pair &z) { + a = z.a; + b = z.b; + return *this; + } + }; + + const int &max(const int &a, const int &b) + { + return a < b ? b : a; + } + + int foo(Pair x, Pair y) + { + return max(x.b, y.b); + } + + int main() + { + auto f = new Pair[3] {{0, -11}, {0, -8}, {0, 2}}; + for (int i = 0; i < 1; i++) { + f[i] = f[0]; + if(i == 0) + f[i] = f[2]; + if (foo(f[i], f[1]) != 2) + __builtin_abort(); + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/torture/pr109724.C gcc-10.5.0/gcc/testsuite/g++.dg/torture/pr109724.C *** gcc-10.4.0/gcc/testsuite/g++.dg/torture/pr109724.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/torture/pr109724.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,32 ---- + // { dg-do compile } + + double &SkTMax(double &a, double &b) { return a ?: b; } + struct SkDPoint { + double fX; + }; + struct SkDCubic { + SkDPoint &operator[](int n) { return fPts[n]; } + SkDPoint fPts[4]; + }; + struct SkDCurve { + SkDCubic fCubic; + SkDPoint &operator[](int n) { return fCubic[n]; } + }; + struct SkDCurveSweep { + SkDCurve fCurve; + }; + int endsIntersect_rPts; + double endsIntersect_maxX; + struct SkOpAngle { + void endsIntersect(); + SkDCurveSweep fPart; + } endsIntersect_rh; + void SkOpAngle::endsIntersect() { + for (int index = 0;; ++index) { + SkDCurve &curve = index ? endsIntersect_rh.fPart.fCurve : fPart.fCurve; + for (int idx2 = 0; endsIntersect_rPts; ++idx2) { + SkDPoint &__trans_tmp_1 = curve[idx2]; + endsIntersect_maxX = SkTMax(endsIntersect_maxX, __trans_tmp_1.fX); + } + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C gcc-10.5.0/gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C *** gcc-10.4.0/gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + // PR c++/92752 + // { dg-do compile } + // { dg-additional-options "-Wignored-qualifiers" } + + struct X; + + template + struct Wrap { + T data; + Wrap() : data() {} + }; + + typedef int (X::*type)(); + Wrap x; + #if __cpp_initializer_lists + const type t{}; + #endif diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/warn/Wsequence-point-5.C gcc-10.5.0/gcc/testsuite/g++.dg/warn/Wsequence-point-5.C *** gcc-10.4.0/gcc/testsuite/g++.dg/warn/Wsequence-point-5.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/warn/Wsequence-point-5.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,37 ---- + // PR c++/107163 + // { dg-additional-options "-Wsequence-point" } + + struct BaseType { + int i; + }; + + template< int Seq > + class DerivedType : public DerivedType< Seq - 1 > { }; + + template<> + class DerivedType< -1 > : public BaseType { }; + + int main() { + DerivedType< 400 > d; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + d.i = 42; + return d.i; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.dg/warn/pr108365.C gcc-10.5.0/gcc/testsuite/g++.dg/warn/pr108365.C *** gcc-10.4.0/gcc/testsuite/g++.dg/warn/pr108365.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.dg/warn/pr108365.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,5 ---- + // PR c++/108365 + // { dg-do compile { target { { { ilp32 || lp64 } || llp64 } && c++11 } } } + + constexpr char b = 1; + long t = (short) ((long long) (unsigned long long) (-__INT_MAX__ - 1) / (long long) (b ? -1 : 0)); // { dg-bogus "integer overflow in expression of type" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,86 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps -Wno-narrowing" } */ + + #define ALIGN 16 + //#define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 12 { xfail *-*-* } } } */ + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 47 } f1 */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 48 } f2 */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 49 } f4 */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 50 } f8 */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Bitfield call argument in registers. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 60 } g1 */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 61 } g2 */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 62 } g4 */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 63 } g8 */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 66 } gp */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 67 } g1p */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 68 } g2p */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 69 } g4p */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 70 } g8p */ + + + /* Bitfield parameter in stack. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 74 } f1_stack */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 75 } f2_stack */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 76 } f4_stack */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 77 } f8_stack */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* Bitfield call argument in stack. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 87 } g1_stack */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 88 } g2_stack */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 89 } g4_stack */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 90 } g8_stack */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* Bitfield parameter in stdarg. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 101 } f1_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 102 } f2_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 103 } f4_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 104 } f8_stdarg */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 114 } g1_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 115 } g2_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 116 } g4_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 117 } g8_stdarg */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 120 } gp_stdarg */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 121 } g1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 122 } g2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 123 } g4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 124 } g8p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2.C gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2.C *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align16-O2.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,87 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps -Wno-narrowing" } */ + + #define ALIGN 16 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 12 { xfail *-*-* } } } */ + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 47 } f1 */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 48 } f2 */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 49 } f4 */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 50 } f8 */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) (because the argument fits in a single register). Should not + warn, but aarch64_function_arg_boundary would need to take the argument size + into account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Bitfield call argument in registers. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 60 } g1 */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 61 } g2 */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 62 } g4 */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 63 } g8 */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + + /* Bitfield parameter in stack. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 74 } f1_stack */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 75 } f2_stack */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 76 } f4_stack */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 77 } f8_stack */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* Bitfield call argument in stack. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 87 } g1_stack */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 88 } g2_stack */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 89 } g4_stack */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 90 } g8_stack */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* Bitfield parameter in stdarg. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 101 } f1_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 102 } f2_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 103 } f4_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 104 } f8_stdarg */ + + /* Parameter passing for these should not have changed in GCC 9.1 (PR 105549). + Fortunately we warn. Note the discrepancy with lines 120-124 below: we warn + in the callee, but not in the caller. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* { dg-message {parameter passing for argument of type 'S1' changed in GCC 9.1} "" { target *-*-* } 114 } g1_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2' changed in GCC 9.1} "" { target *-*-* } 115 } g2_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4' changed in GCC 9.1} "" { target *-*-* } 116 } g4_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8' changed in GCC 9.1} "" { target *-*-* } 117 } g8_stdarg */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,119 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps -Wno-narrowing" } */ + + #define ALIGN 32 + //#define EXTRA + + #include "bitfield-abi-warning.h" + + + /* In f1, f2, f4, f8, f16 (and stdarg versions): */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[x1\\\]" 10 } } */ + + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* In f16p (and stdarg version): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 2 { xfail *-*-* } } } */ + + /* In f1_stack, f2_stack, f4_stack, f8_stack, f16_stack, f8p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx\[0-9\]+, \\\[sp, 8\\\]" 6 { xfail *-*-* } } } */ + + /* In fp_stack, f1p_stack: */ + /* { dg-final { scan-assembler-times "ldrb\tw0, \\\[sp, 8\\\]" 2 { xfail *-*-* } } } */ + + /* In f2p_stack: */ + /* { dg-final { scan-assembler-times "ldrh\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f4p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f16p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[sp, 16\\\]" 1 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 47-51 (f1, f2, f4, f8, f16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) because the argument fits in a single register. Should not warn, + but aarch64_function_arg_boundary would need to take the argument size into + account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { target *-*-* } 58 } f16p */ + + + /* Bitfield call argument in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 60-64 (g1, g2, g4, g8, g16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { xfail *-*-* } 71 } g16p */ + + + /* Bitfield parameter in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 74-78 (f1_stack, + f2_stack, f4_stack, f8_stack, f16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* No change in parameter passing in GCC 9.1 for line 85 (f16p_stack) because + the overall alignment is >= 16. No warning expected. */ + + + /* Bitfield call argument in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 87-91 (g1_stack, + g2_stack, g4_stack, g8_stack, g16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* No change in parameter passing in GCC 9.1 for line 98 (g16p_stack). No + warning expected. */ + + + /* Bitfield parameter in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 101-105 (f1_stdarg, + f2_stdarg, f4_stdarg, f8_stdarg, f16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* No change in parameter passing in GCC 9.1 for line 112 (f16p_stdarg). + Should not warn. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { target *-*-* } 112 } f16p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 114-118 (g1_stdarg, + g2_stdarg, g4_stdarg, g8_stdarg, g16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg, + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { xfail *-*-* } 125 } g16p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2.C gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2.C *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align32-O2.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,119 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps -Wno-narrowing" } */ + + #define ALIGN 32 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16 (and stdarg versions): */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[x1\\\]" 10 } } */ + + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* In f16p (and stdarg version): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 2 { xfail *-*-* } } } */ + + /* In f1_stack, f2_stack, f4_stack, f8_stack, f16_stack, f8p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx\[0-9\]+, \\\[sp, 8\\\]" 6 { xfail *-*-* } } } */ + + /* In fp_stack, f1p_stack: */ + /* { dg-final { scan-assembler-times "ldrb\tw0, \\\[sp, 8\\\]" 2 { xfail *-*-* } } } */ + + /* In f2p_stack: */ + /* { dg-final { scan-assembler-times "ldrh\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f4p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f16p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[sp, 16\\\]" 1 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 47-51 (f1, f2, f4, f8, f16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) because the argument fits in a single register. Should not warn, + but aarch64_function_arg_boundary would need to take the argument size into + account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { target *-*-* } 58 } f16p */ + + + /* Bitfield call argument in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 60-64 (g1, g2, g4, g8, g16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { xfail *-*-* } 71 } g16p */ + + + /* Bitfield parameter in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 74-78 (f1_stack, + f2_stack, f4_stack, f8_stack, f16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* No change in parameter passing in GCC 9.1 for line 85 (f16p_stack) because + the overall alignment is >= 16. No warning expected. */ + + /* Bitfield call argument in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 87-91 (g1_stack, + g2_stack, g4_stack, g8_stack, g16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* No change in parameter passing in GCC 9.1 for line 98 (g16p_stack). No + warning expected. */ + + + /* Bitfield parameter in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 101-105 (f1_stdarg, + f2_stdarg, f4_stdarg, f8_stdarg, f16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* Parameter passing for these should not have changed in GCC 9.1 (PR 105549). + Fortunately we warn. Note the discrepancy with lines 120-124 below: we warn + in the callee, but not in the caller. */ + /* { dg-message {parameter passing for argument of type 'Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* No change in parameter passing in GCC 9.1 for line 112 (f16p_stdarg). + Should not warn. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { target *-*-* } 112 } f16p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 114-118 (g1_stdarg, + g2_stdarg, g4_stdarg, g8_stdarg, g16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg, + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'S16p' changed in GCC 9.1} "" { xfail *-*-* } 125 } g16p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align8-O2.C gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align8-O2.C *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align8-O2.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning-align8-O2.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps -Wno-narrowing" } */ + + #define ALIGN 8 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 18 } } */ + + /* In f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 4 } } */ + + /* In f1, f2, f4, f8, f16, fp, f1p, f2p, f4p, f8p, f16p stack versions: */ + /* { dg-final { scan-assembler-times "and\tw0, w0, 1" 11 } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning.h gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning.h *** gcc-10.4.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/aarch64/bitfield-abi-warning.h Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,125 ---- + #include + + typedef unsigned long long ull __attribute__((aligned(ALIGN))); + + #ifndef EXTRA + #define EXTRA unsigned long long x; + #endif + + struct S1 { __attribute__((aligned(1))) ull i : 1; EXTRA }; + struct S2 { __attribute__((aligned(2))) ull i : 1; EXTRA }; + struct S4 { __attribute__((aligned(4))) ull i : 1; EXTRA }; + struct S8 { __attribute__((aligned(8))) ull i : 1; EXTRA }; + struct S16 { __attribute__((aligned(16))) ull i : 1; EXTRA }; + + struct Sp { ull i : 1; EXTRA }__attribute__((packed)); + struct S1p { __attribute__((packed, aligned(1))) ull i : 1; EXTRA }; + struct S2p { __attribute__((packed, aligned(2))) ull i : 1; EXTRA }; + struct S4p { __attribute__((packed, aligned(4))) ull i : 1; EXTRA }; + struct S8p { __attribute__((packed, aligned(8))) ull i : 1; EXTRA }; + struct S16p { __attribute__((packed, aligned(16))) ull i : 1; EXTRA }; + + /* Bitfield in registers. */ + #define PARAMS(xx) int a0, struct S##xx s, ull a1 + /* Bitfield passed by the stack. */ + #define PARAMS_STACK(xx) int a0, ull a1, ull a2, ull a3, ull a4, ull a5, ull a6, ull a7, ull a8, struct S##xx t + /* Bitfield passed via stdarg. */ + #define PARAMS_STDARG(xx) int a0, ... + + #define CODE(xx) \ + return s.i; + + #define CODE_STACK(xx) \ + return t.i; + + #define CODE_STDARG(xx) \ + va_list ap; \ + struct S##xx arg; \ + __builtin_va_start(ap,a0); \ + arg = __builtin_va_arg(ap, struct S##xx); \ + return arg.i; + + #define ARGS(xx) x, (struct S##xx) { x }, x + #define ARGS_STACK(xx) x, x, x, x, x, x, x, x, x, (struct S##xx) { x } + #define ARGS_STDARG(xx) x, (struct S##xx) { x } + + /* Bitfield in registers. */ + int __attribute__ ((noipa)) f1 (PARAMS(1)) { CODE(1) } + int __attribute__ ((noipa)) f2 (PARAMS(2)) { CODE(2) } + int __attribute__ ((noipa)) f4 (PARAMS(4)) { CODE(4) } + int __attribute__ ((noipa)) f8 (PARAMS(8)) { CODE(8) } + int __attribute__ ((noipa)) f16(PARAMS(16)) { CODE(16) } + + int __attribute__ ((noipa)) fp (PARAMS(p)) { CODE(p) } + int __attribute__ ((noipa)) f1p (PARAMS(1p)) { CODE(1p) } + int __attribute__ ((noipa)) f2p (PARAMS(2p)) { CODE(2p) } + int __attribute__ ((noipa)) f4p (PARAMS(4p)) { CODE(4p) } + int __attribute__ ((noipa)) f8p (PARAMS(8p)) { CODE(8p) } + int __attribute__ ((noipa)) f16p(PARAMS(16p)) { CODE(16p) } + + int g1 (int x) { return f1 (ARGS(1)); } + int g2 (int x) { return f2 (ARGS(2)); } + int g4 (int x) { return f4 (ARGS(4)); } + int g8 (int x) { return f8 (ARGS(8)); } + int g16(int x) { return f16 (ARGS(16)); } + + int gp (int x) { return fp (ARGS(p)); } + int g1p (int x) { return f1p (ARGS(1p)); } + int g2p (int x) { return f2p (ARGS(2p)); } + int g4p (int x) { return f4p (ARGS(4p)); } + int g8p (int x) { return f8p (ARGS(8p)); } + int g16p(int x) { return f16p (ARGS(16p)); } + + /* Bitfield in the stack. */ + int __attribute__ ((noipa)) f1_stack (PARAMS_STACK(1)) { CODE_STACK(1) } + int __attribute__ ((noipa)) f2_stack (PARAMS_STACK(2)) { CODE_STACK(2) } + int __attribute__ ((noipa)) f4_stack (PARAMS_STACK(4)) { CODE_STACK(4) } + int __attribute__ ((noipa)) f8_stack (PARAMS_STACK(8)) { CODE_STACK(8) } + int __attribute__ ((noipa)) f16_stack(PARAMS_STACK(16)) { CODE_STACK(16) } + + int __attribute__ ((noipa)) fp_stack (PARAMS_STACK(p)) { CODE_STACK(p) } + int __attribute__ ((noipa)) f1p_stack (PARAMS_STACK(1p)) { CODE_STACK(1p) } + int __attribute__ ((noipa)) f2p_stack (PARAMS_STACK(2p)) { CODE_STACK(2p) } + int __attribute__ ((noipa)) f4p_stack (PARAMS_STACK(4p)) { CODE_STACK(4p) } + int __attribute__ ((noipa)) f8p_stack (PARAMS_STACK(8p)) { CODE_STACK(8p) } + int __attribute__ ((noipa)) f16p_stack(PARAMS_STACK(16p)) { CODE_STACK(16p) } + + int g1_stack (int x) { return f1_stack (ARGS_STACK(1)); } + int g2_stack (int x) { return f2_stack (ARGS_STACK(2)); } + int g4_stack (int x) { return f4_stack (ARGS_STACK(4)); } + int g8_stack (int x) { return f8_stack (ARGS_STACK(8)); } + int g16_stack(int x) { return f16_stack (ARGS_STACK(16)); } + + int gp_stack (int x) { return fp_stack (ARGS_STACK(p)); } + int g1p_stack (int x) { return f1p_stack (ARGS_STACK(1p)); } + int g2p_stack (int x) { return f2p_stack (ARGS_STACK(2p)); } + int g4p_stack (int x) { return f4p_stack (ARGS_STACK(4p)); } + int g8p_stack (int x) { return f8p_stack (ARGS_STACK(8p)); } + int g16p_stack(int x) { return f16p_stack (ARGS_STACK(16p)); } + + /* Bitfield via stdarg. */ + int __attribute__ ((noipa)) f1_stdarg (PARAMS_STDARG(1)) { CODE_STDARG(1) } + int __attribute__ ((noipa)) f2_stdarg (PARAMS_STDARG(2)) { CODE_STDARG(2) } + int __attribute__ ((noipa)) f4_stdarg (PARAMS_STDARG(4)) { CODE_STDARG(4) } + int __attribute__ ((noipa)) f8_stdarg (PARAMS_STDARG(8)) { CODE_STDARG(8) } + int __attribute__ ((noipa)) f16_stdarg(PARAMS_STDARG(16)) { CODE_STDARG(16) } + + int __attribute__ ((noipa)) fp_stdarg (PARAMS_STDARG(p)) { CODE_STDARG(p) } + int __attribute__ ((noipa)) f1p_stdarg (PARAMS_STDARG(1p)) { CODE_STDARG(1p) } + int __attribute__ ((noipa)) f2p_stdarg (PARAMS_STDARG(2p)) { CODE_STDARG(2p) } + int __attribute__ ((noipa)) f4p_stdarg (PARAMS_STDARG(4p)) { CODE_STDARG(4p) } + int __attribute__ ((noipa)) f8p_stdarg (PARAMS_STDARG(8p)) { CODE_STDARG(8p) } + int __attribute__ ((noipa)) f16p_stdarg(PARAMS_STDARG(16p)) { CODE_STDARG(16p) } + + int g1_stdarg (int x) { return f1_stdarg (ARGS_STDARG(1)); } + int g2_stdarg (int x) { return f2_stdarg (ARGS_STDARG(2)); } + int g4_stdarg (int x) { return f4_stdarg (ARGS_STDARG(4)); } + int g8_stdarg (int x) { return f8_stdarg (ARGS_STDARG(8)); } + int g16_stdarg(int x) { return f16_stdarg (ARGS_STDARG(16)); } + + int gp_stdarg (int x) { return fp_stdarg (ARGS_STDARG(p)); } + int g1p_stdarg (int x) { return f1p_stdarg (ARGS_STDARG(1p)); } + int g2p_stdarg (int x) { return f2p_stdarg (ARGS_STDARG(2p)); } + int g4p_stdarg (int x) { return f4p_stdarg (ARGS_STDARG(4p)); } + int g8p_stdarg (int x) { return f8p_stdarg (ARGS_STDARG(8p)); } + int g16p_stdarg(int x) { return f16p_stdarg (ARGS_STDARG(16p)); } diff -Nrcpad gcc-10.4.0/gcc/testsuite/g++.target/powerpc/pr101322.C gcc-10.5.0/gcc/testsuite/g++.target/powerpc/pr101322.C *** gcc-10.4.0/gcc/testsuite/g++.target/powerpc/pr101322.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/g++.target/powerpc/pr101322.C Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* PR target/101322 */ + /* { dg-require-effective-target power10_ok } */ + /* { dg-options "-O2 -mdejagnu-cpu=power10" } */ + + /* Verify we don't ICE on the following test cases. */ + + void + foo (char *resp, char *vpp) + { + __builtin_vsx_disassemble_pair (resp, (__vector_pair *) vpp); + } + + void + bar (char *resp, char *vpp) + { + __builtin_mma_disassemble_acc (resp, (__vector_quad *)vpp); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr106030.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr106030.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr106030.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr106030.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,16 ---- + /* PR middle-end/106030 */ + + int a, b, c; + + char + foo (int x, int y) + { + return x * y; + } + + void + bar (void) + { + char d = (foo <= b) * a; + c = foo (2 != bar, d); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr106751.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr106751.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr106751.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr106751.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* PR rtl-optimization/106751 */ + + int *foo (void); + + void + bar (void) + { + asm goto ("" : : : : lab); + __builtin_unreachable (); + lab: + while (1) + { + int o; + asm ("" : "=r" (o) : "g" (1)); + *foo () = o; + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr107997.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr107997.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr107997.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr107997.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,23 ---- + /* PR tree-optimization/107997 */ + + int a, b; + void bar (int); + int baz (void); + + void * + foo (int x, void *y) + { + asm goto ("" : : "r" (x || !a) : : l); + l: + if (y) + return 0; + bar (b ? b : x); + while (x--) + { + if (!baz ()) + baz (); + asm goto ("" : : : : l2); + l2:; + } + return y; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108237.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108237.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108237.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108237.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + /* PR middle-end/108237 */ + + typedef unsigned char __attribute__((__vector_size__ (1))) U; + typedef unsigned long long __attribute__((__vector_size__ (16))) V; + + U u; + V v; + + V + foo (void) + { + V w = v != ((unsigned char) ((unsigned char) u == u) & v); + return w; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108596.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108596.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108596.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108596.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,26 ---- + /* PR rtl-optimization/108596 */ + + __attribute__((__cold__)) void foo (void); + void bar (void); + + void + baz (void) + { + asm goto ("" : : : : l1, l0); + goto l0; + l1: + bar (); + l0: + foo (); + } + + void + qux (void) + { + asm goto ("" : : : : l1, l0); + __builtin_unreachable (); + l1: + bar (); + l0: + foo (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108688-1.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108688-1.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/compile/pr108688-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/compile/pr108688-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + + + union U { signed int d : 7; signed int e : 2; } u; + int a, b; + + void + foo (void) + { + for (int i = 0; i < 64; i++) + { + u.d = a; + u.e ^= b; + } + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/execute/pr106032.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/execute/pr106032.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/execute/pr106032.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/execute/pr106032.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,21 ---- + /* PR rtl-optimization/106032 */ + + __attribute__((noipa)) int + foo (int x, int *y) + { + int a = 0; + if (x < 0) + a = *y; + return a; + } + + int + main () + { + int a = 42; + if (foo (0, 0) != 0 || foo (1, 0) != 0) + __builtin_abort (); + if (foo (-1, &a) != 42 || foo (-42, &a) != 42) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.c-torture/execute/pr109778.c gcc-10.5.0/gcc/testsuite/gcc.c-torture/execute/pr109778.c *** gcc-10.4.0/gcc/testsuite/gcc.c-torture/execute/pr109778.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.c-torture/execute/pr109778.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,26 ---- + /* PR tree-optimization/109778 */ + + int a, b, c, d, *e = &c; + + static inline unsigned + foo (unsigned char x) + { + x = 1 | x << 1; + x = x >> 4 | x << 4; + return x; + } + + static inline void + bar (unsigned x) + { + *e = 8 > foo (x + 86) - 86; + } + + int + main () + { + d = a && b; + bar (d + 4); + if (c != 1) + __builtin_abort (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/asan/pr106190.c gcc-10.5.0/gcc/testsuite/gcc.dg/asan/pr106190.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/asan/pr106190.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/asan/pr106190.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + /* PR middle-end/106190 */ + /* { dg-do compile } */ + /* { dg-options "-fnon-call-exceptions -fsanitize=address,undefined -fno-sanitize-recover=all" } */ + + int + main () + { + int a; + int *b[1]; + int c[10]; + int d[1][1]; + for (a = 0; a < 1; a++) + d[1][a] = 0; + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/asan/pr107317.c gcc-10.5.0/gcc/testsuite/gcc.dg/asan/pr107317.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/asan/pr107317.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/asan/pr107317.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,13 ---- + /* PR middle-end/107317 */ + /* { dg-do compile { target ilp32 } } */ + /* { dg-options "-fsanitize=address -ffat-lto-objects" } */ + + void bar (float *, float *); + + void + foo (void) /* { dg-error "exceeds maximum" } */ + { + float a[400000000]; + float b[200000000]; + bar (a, b); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/attr-aligned.c gcc-10.5.0/gcc/testsuite/gcc.dg/attr-aligned.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/attr-aligned.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.dg/attr-aligned.c Fri Jul 7 07:08:20 2023 *************** *** 12,19 **** # define ALIGN_MAX_STATIC 0x1000 /* Excessive alignment for functions and objects with static storage duration that's expected to trigger an error. */ ! #elif __MACH__ ! # define ALIGN_MAX_STATIC 0x8000 #elif pdp11 # define ALIGN_MAX_STATIC 2 /* Work around a pdp11 ICE (see PR target/87821). */ --- 12,23 ---- # define ALIGN_MAX_STATIC 0x1000 /* Excessive alignment for functions and objects with static storage duration that's expected to trigger an error. */ ! #elif __APPLE__ ! # if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070 ! # define ALIGN_MAX_STATIC 0x8000 ! # else ! # define ALIGN_MAX_STATIC ALIGN_MAX_HARD ! # endif #elif pdp11 # define ALIGN_MAX_STATIC 2 /* Work around a pdp11 ICE (see PR target/87821). */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/darwin-aligned-globals.c gcc-10.5.0/gcc/testsuite/gcc.dg/darwin-aligned-globals.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/darwin-aligned-globals.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/darwin-aligned-globals.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,24 ---- + /* { dg-do compile { target *-*-darwin* } } */ + /* { dg-additional-options "-fcommon" } */ + + /* Test alignment rules which differ for earlier hosts (so we must + work on the principle that this test will be exercised by self- + hosted compilers. */ + + #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1070 + #define align_OK (1ul << 28) + #define align_BAD (1ul << 29) + #else + #define align_OK (1ul << 15) + #define align_BAD (1ul << 16) + #endif + + /* All non common vars are allowed larger alignment on modern systems. */ + static int xn __attribute__ ((aligned (align_OK))); + static int xi __attribute__ ((aligned (align_OK))) = 5 ; + int gxi __attribute__ ((aligned (align_OK))) = 6 ; + + /* test that we detect bad cases. */ + static int yn __attribute__ ((aligned (align_BAD))); /* { dg-error {requested alignment .[0-9]+. exceeds object file maximum} } */ + static int yi __attribute__ ((aligned (align_BAD))) = 5; /* { dg-error {requested alignment .[0-9]+. exceeds object file maximum} } */ + int yni __attribute__ ((aligned (align_BAD))) = 6; /* { dg-error {requested alignment .[0-9]+. exceeds object file maximum} } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/darwin-comm-1.c gcc-10.5.0/gcc/testsuite/gcc.dg/darwin-comm-1.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/darwin-comm-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/darwin-comm-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,5 ---- + /* { dg-do compile { target *-*-darwin[912]* } } */ + /* { dg-options "-fcommon" } */ + + /* In all cases, common has a max alignment of 2^15. */ + int badcommon __attribute__ ((aligned (65536))); /* { dg-error "common variables must have an alignment" } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/dfp/pr108068.c gcc-10.5.0/gcc/testsuite/gcc.dg/dfp/pr108068.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/dfp/pr108068.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/dfp/pr108068.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + /* PR tree-optimization/108068 */ + /* { dg-do run } */ + /* { dg-options "-O2" } */ + + int + main () + { + _Decimal64 x = -1; + while (x != 0) + x /= 10; + double d = x; + if (!__builtin_signbit (d)) + __builtin_abort (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/gomp/pr108435.c gcc-10.5.0/gcc/testsuite/gcc.dg/gomp/pr108435.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/gomp/pr108435.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/gomp/pr108435.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* PR middle-end/108435 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fopenmp" } */ + + int + main () + { + int i, j; + void + bar (void) + { + #pragma omp for simd collapse(2) + for (i = 1; i <= 16; i++) + for (j = 1; j <= 16; j++) + ; + } + bar (); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/guality/guality.exp gcc-10.5.0/gcc/testsuite/gcc.dg/guality/guality.exp *** gcc-10.4.0/gcc/testsuite/gcc.dg/guality/guality.exp Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.dg/guality/guality.exp Fri Jul 7 07:08:20 2023 *************** if { [istarget *-*-darwin*] } { *** 8,13 **** --- 8,17 ---- return } + if { [istarget hppa*-*-hpux*] } { + return + } + if { [istarget "powerpc-ibm-aix*"] } { set torture_execute_xfail "powerpc-ibm-aix*" return diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/lto/pr109778_0.c gcc-10.5.0/gcc/testsuite/gcc.dg/lto/pr109778_0.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/lto/pr109778_0.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/lto/pr109778_0.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,22 ---- + /* PR tree-optimization/109778 */ + /* { dg-lto-do run } */ + /* { dg-lto-options { "-O2 -flto" } } */ + /* { dg-require-effective-target int32 } */ + + int bar (int); + + __attribute__((noipa)) int + foo (int x) + { + x = bar (x); + x = (x << 16) | (int) ((unsigned) x >> 16); + return x & 0x10000000; + } + + int + main () + { + if (foo (0) || foo (-1)) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/lto/pr109778_1.c gcc-10.5.0/gcc/testsuite/gcc.dg/lto/pr109778_1.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/lto/pr109778_1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/lto/pr109778_1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,7 ---- + int + bar (int x) + { + x &= 0x22222222; + x |= (int) 0xf1234567U; + return x; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr106719.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr106719.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr106719.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr106719.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,13 ---- + /* PR debug/106719 */ + /* { dg-do compile { target sync_char_short } } */ + /* { dg-options "-O2 -fcompare-debug" } */ + + extern short int esi, easi[2]; + + void + foo (void) + { + short int *psi = &easi[1]; + __atomic_nand_fetch (psi, esi, 0); + psi = &easi[1]; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr107107.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr107107.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr107107.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr107107.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,25 ---- + /* { dg-do run } */ + /* { dg-options "-O2 -ftree-tail-merge" } */ + + static inline void set_longish(int is_long_long, void *p, long x) + { + if (is_long_long) + *(long long*)p = x; + else + *(long*)p = x; + } + static long test(long long *p, int index, int mode) + { + *p = 1; + set_longish(mode, p+index, 2); + return *p; + } + long (*volatile vtest)(long long*, int, int) = test; + int main(void) + { + long long x; + long result = vtest(&x, 0, 1); + if (result != 2 || x != 2) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr107554.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr107554.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr107554.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr107554.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,12 ---- + /* { dg-do compile { target lp64 } } */ + /* { dg-options "-O -foptimize-strlen" } */ + + #define ELEMS 0x40000000 + + int a[ELEMS]; + int b[ELEMS]; + + int main() + { + __builtin_memcpy(a, b, ELEMS*sizeof(int)); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr108573.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr108573.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr108573.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr108573.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* PR debug/108573 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fcompare-debug" } */ + + unsigned g; + + int bar (void); + int baz (int); + + void + foo (unsigned short s, long l) + { + unsigned u = bar (); + s &= __builtin_add_overflow_p (0, u, 0); + s %= g; + s -= l >> s; + baz (s); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr109410.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr109410.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr109410.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr109410.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,19 ---- + /* PR tree-optimization/109410 */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + __attribute__((returns_twice)) int baz (int, int); + + int + bar (int x) + { + return x; + } + + int + foo (int x, int y) + { + baz (x, y); + int a = bar (x); + return y || a == 42 || a > 42; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pr64536.c gcc-10.5.0/gcc/testsuite/gcc.dg/pr64536.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pr64536.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pr64536.c Fri Jul 7 07:08:20 2023 *************** bar (int x) *** 40,47 **** h->q = *f; } else ! i = (long *) (h->q = *f); ! *c++ = (long) f; e += 6; } else --- 40,47 ---- h->q = *f; } else ! i = (long *) (__INTPTR_TYPE__) (h->q = *f); ! *c++ = (__INTPTR_TYPE__) f; e += 6; } else *************** bar (int x) *** 54,61 **** h->q = *f; } else ! i = (long *) (h->q = *f); ! *c++ = (long) f; e += 6; } } --- 54,61 ---- h->q = *f; } else ! i = (long *) (__INTPTR_TYPE__) (h->q = *f); ! *c++ = (__INTPTR_TYPE__) f; e += 6; } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/pragma-message.c gcc-10.5.0/gcc/testsuite/gcc.dg/pragma-message.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/pragma-message.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.dg/pragma-message.c Fri Jul 7 07:08:20 2023 *************** *** 42,50 **** #pragma message ("Okay " THREE) /* { dg-message "Okay 3" } */ /* Create a TODO() that prints a message on compilation. */ ! #define DO_PRAGMA(x) _Pragma (#x) ! #define TODO(x) DO_PRAGMA(message ("TODO - " #x)) ! TODO(Okay 4) /* { dg-message "TODO - Okay 4" } */ #if 0 #pragma message ("Not printed") --- 42,52 ---- #pragma message ("Okay " THREE) /* { dg-message "Okay 3" } */ /* Create a TODO() that prints a message on compilation. */ ! #define DO_PRAGMA(x) _Pragma (#x) /* { dg-line pragma_loc1 } */ ! #define TODO(x) DO_PRAGMA(message ("TODO - " #x)) /* { dg-line pragma_loc2 } */ ! TODO(Okay 4) /* { dg-message "in expansion of macro 'TODO'" } */ ! /* { dg-message "TODO - Okay 4" "test4.1" { target *-*-* } pragma_loc1 } */ ! /* { dg-message "in expansion of macro 'DO_PRAGMA'" "test4.2" { target *-*-* } pragma_loc2 } */ #if 0 #pragma message ("Not printed") diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/torture/pr106112.c gcc-10.5.0/gcc/testsuite/gcc.dg/torture/pr106112.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/torture/pr106112.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/torture/pr106112.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,16 ---- + /* { dg-do run } */ + + __INT32_TYPE__ a = 5, b, c, d; + __UINT64_TYPE__ e = 20862985922; + int main() + { + __UINT32_TYPE__ f = 4294967292; + e = e | f; + c = -1 % ((~f ^ 4294967292) - (e - d)); + b = ~-~e % ~-d; + if (b) + a = 0; + if (a < 1) + __builtin_abort(); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/torture/pr106513.c gcc-10.5.0/gcc/testsuite/gcc.dg/torture/pr106513.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/torture/pr106513.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/torture/pr106513.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,26 ---- + /* { dg-do run } */ + + typedef __INT64_TYPE__ int64_t; + + __attribute__((noinline)) int64_t + swap64 (int64_t n) + { + return (((n & (((int64_t) 0xff) )) << 56) | + ((n & (((int64_t) 0xff) << 8)) << 40) | + ((n & (((int64_t) 0xff) << 16)) << 24) | + ((n & (((int64_t) 0xff) << 24)) << 8) | + ((n & (((int64_t) 0xff) << 32)) >> 8) | + ((n & (((int64_t) 0xff) << 40)) >> 24) | + ((n & (((int64_t) 0xff) << 48)) >> 40) | + ((n & ((int64_t)(0xffull << 56))) >> 56)); + } + + int main (void) + { + volatile int64_t n = 0x8000000000000000ll; + + if (swap64(n) != 0xffffffffffffff80ll) + __builtin_abort (); + + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-13.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,36 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fdump-tree-fre1" } */ + + struct inn + { + int val; + }; + + struct biggerstruct + { + int a, b; + }; + + union foo + { + struct inn inn; + struct biggerstruct baz; + } *fooptr; + + struct bar + { + union foo foo; + int val2; + } *barptr; + + int + test () + { + union foo foo; + foo.inn.val = 0; + barptr->val2 = 123; + *fooptr = foo; + return barptr->val2; + } + + /* { dg-final { scan-tree-dump-times "return 123" 1 "fre1"} } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr105860.c gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr105860.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr105860.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr105860.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,63 ---- + /* { dg-do run } */ + /* { dg-options "-O1" } */ + + struct S1 { + unsigned int _0; + unsigned int _1; + } ; + struct S2 { + struct S1 _s1; + unsigned long _x2; + } ; + + struct ufld_type1 { + unsigned int _u1t; + struct S2 _s2; + } ; + + struct ufld_type2 { + unsigned int _u2t; + struct S1 _s1; + } ; + struct parm_type { + union { + struct ufld_type1 var_1; + struct ufld_type2 var_2; + } U; + }; + + struct parm_type bad_function( struct parm_type arg0 ) + { + struct parm_type rv; + struct S2 var4; + switch( arg0.U.var_2._u2t ) { + case 4294967041: + var4._s1 = arg0.U.var_1._s2._s1; + rv.U.var_1._u1t = 4294967041; + rv.U.var_1._s2 = var4; + break; + case 4294967043: + rv.U.var_2._u2t = 4294967043; + rv.U.var_2._s1 = arg0.U.var_2._s1; + break; + default: + break; + } + return rv; + } + + int main() { + struct parm_type val; + struct parm_type out; + val.U.var_2._u2t = 4294967043; + val.U.var_2._s1._0 = 0x01010101; + val.U.var_2._s1._1 = 0x02020202; + out = bad_function(val); + if (val.U.var_2._u2t != 4294967043) + __builtin_abort (); + if (out.U.var_2._s1._0 != 0x01010101) + __builtin_abort (); + if (val.U.var_2._s1._1 != 0x02020202 ) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr107323.c gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr107323.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/tree-ssa/pr107323.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/tree-ssa/pr107323.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,28 ---- + /* { dg-do run } */ + /* { dg-options "-O2 -fno-tree-vectorize" } */ + + int A[4]; + int B[4]; + + static const char *__attribute__((noipa)) foo() + { + return "1"; + } + + int main() + { + const char *s = foo(); + + A[0] = 1000; + for(int i = 1; i < 4; ++i) { + B[i] = 0; + A[i] = 0; + if(s[0]) + B[i] = 1; + A[i] = A[i - 1]; + } + + if (A[3] != 1000) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.dg/ubsan/pr107183.c gcc-10.5.0/gcc/testsuite/gcc.dg/ubsan/pr107183.c *** gcc-10.4.0/gcc/testsuite/gcc.dg/ubsan/pr107183.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.dg/ubsan/pr107183.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,12 ---- + /* PR target/107183 */ + /* { dg-do compile } */ + /* { dg-options "-O -fsanitize=float-cast-overflow -fcompare-debug" } */ + + long double a, b, c; + + int + foo (void) + { + unsigned u = b || __builtin_rintl (c); + return u + (unsigned) a; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/ampere1-no_ldp_combine.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/ampere1-no_ldp_combine.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/ampere1-no_ldp_combine.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/ampere1-no_ldp_combine.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,11 ---- + /* { dg-options "-O3 -mtune=ampere1" } */ + + long + foo (long a[]) + { + return a[0] + a[1]; + } + + /* We should see two ldrs instead of one ldp. */ + /* { dg-final { scan-assembler {\tldr\t} } } */ + /* { dg-final { scan-assembler-not {\tldp\t} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,86 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps" } */ + + #define ALIGN 16 + //#define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 12 { xfail *-*-* } } } */ + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 47 } f1 */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 48 } f2 */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 49 } f4 */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 50 } f8 */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Bitfield call argument in registers. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 60 } g1 */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 61 } g2 */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 62 } g4 */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 63 } g8 */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 66 } gp */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 67 } g1p */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 68 } g2p */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 69 } g4p */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 70 } g8p */ + + + /* Bitfield parameter in stack. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 74 } f1_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 75 } f2_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 76 } f4_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 77 } f8_stack */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* Bitfield call argument in stack. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 87 } g1_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 88 } g2_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 89 } g4_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 90 } g8_stack */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* Bitfield parameter in stdarg. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 101 } f1_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 102 } f2_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 103 } f4_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 104 } f8_stdarg */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 114 } g1_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 115 } g2_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 116 } g4_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 117 } g8_stdarg */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 120 } gp_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 121 } g1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 122 } g2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 123 } g4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 124 } g8p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align16-O2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,87 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps" } */ + + #define ALIGN 16 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 12 { xfail *-*-* } } } */ + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 47 } f1 */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 48 } f2 */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 49 } f4 */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 50 } f8 */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) (because the argument fits in a single register). Should not + warn, but aarch64_function_arg_boundary would need to take the argument size + into account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Bitfield call argument in registers. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 60 } g1 */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 61 } g2 */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 62 } g4 */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 63 } g8 */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + + /* Bitfield parameter in stack. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 74 } f1_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 75 } f2_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 76 } f4_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 77 } f8_stack */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* Bitfield call argument in stack. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 87 } g1_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 88 } g2_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 89 } g4_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 90 } g8_stack */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* Bitfield parameter in stdarg. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 101 } f1_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 102 } f2_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 103 } f4_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 104 } f8_stdarg */ + + /* Parameter passing for these should not have changed in GCC 9.1 (PR 105549). + Fortunately we warn. Note the discrepancy with lines 120-124 below: we warn + in the callee, but not in the caller. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* { dg-message {parameter passing for argument of type 'struct S1' changed in GCC 9.1} "" { target *-*-* } 114 } g1_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2' changed in GCC 9.1} "" { target *-*-* } 115 } g2_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4' changed in GCC 9.1} "" { target *-*-* } 116 } g4_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8' changed in GCC 9.1} "" { target *-*-* } 117 } g8_stdarg */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,119 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps" } */ + + #define ALIGN 32 + //#define EXTRA + + #include "bitfield-abi-warning.h" + + + /* In f1, f2, f4, f8, f16 (and stdarg versions): */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[x1\\\]" 10 } } */ + + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* In f16p (and stdarg version): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 2 { xfail *-*-* } } } */ + + /* In f1_stack, f2_stack, f4_stack, f8_stack, f16_stack, f8p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx\[0-9\]+, \\\[sp, 8\\\]" 6 { xfail *-*-* } } } */ + + /* In fp_stack, f1p_stack: */ + /* { dg-final { scan-assembler-times "ldrb\tw0, \\\[sp, 8\\\]" 2 { xfail *-*-* } } } */ + + /* In f2p_stack: */ + /* { dg-final { scan-assembler-times "ldrh\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f4p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f16p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[sp, 16\\\]" 1 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 47-51 (f1, f2, f4, f8, f16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) because the argument fits in a single register. Should not warn, + but aarch64_function_arg_boundary would need to take the argument size into + account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { target *-*-* } 58 } f16p */ + + + /* Bitfield call argument in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 60-64 (g1, g2, g4, g8, g16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { xfail *-*-* } 71 } g16p */ + + + /* Bitfield parameter in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 74-78 (f1_stack, + f2_stack, f4_stack, f8_stack, f16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* No change in parameter passing in GCC 9.1 for line 85 (f16p_stack) because + the overall alignment is >= 16. No warning expected. */ + + + /* Bitfield call argument in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 87-91 (g1_stack, + g2_stack, g4_stack, g8_stack, g16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* No change in parameter passing in GCC 9.1 for line 98 (g16p_stack). No + warning expected. */ + + + /* Bitfield parameter in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 101-105 (f1_stdarg, + f2_stdarg, f4_stdarg, f8_stdarg, f16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* No change in parameter passing in GCC 9.1 for line 112 (f16p_stdarg). + Should not warn. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { target *-*-* } 112 } f16p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 114-118 (g1_stdarg, + g2_stdarg, g4_stdarg, g8_stdarg, g16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg, + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { xfail *-*-* } 125 } g16p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align32-O2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,119 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps" } */ + + #define ALIGN 32 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, f16 (and stdarg versions): */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[x1\\\]" 10 } } */ + + /* In fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 10 { xfail *-*-* } } } */ + + /* In f16p (and stdarg version): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 2 { xfail *-*-* } } } */ + + /* In f1_stack, f2_stack, f4_stack, f8_stack, f16_stack, f8p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx\[0-9\]+, \\\[sp, 8\\\]" 6 { xfail *-*-* } } } */ + + /* In fp_stack, f1p_stack: */ + /* { dg-final { scan-assembler-times "ldrb\tw0, \\\[sp, 8\\\]" 2 { xfail *-*-* } } } */ + + /* In f2p_stack: */ + /* { dg-final { scan-assembler-times "ldrh\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f4p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tw0, \\\[sp, 8\\\]" 1 { xfail *-*-* } } } */ + + /* In f16p_stack: */ + /* { dg-final { scan-assembler-times "ldr\tx0, \\\[sp, 16\\\]" 1 { xfail *-*-* } } } */ + + /* Bitfield parameter in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 47-51 (f1, f2, f4, f8, f16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 53-57 (fp, f1p, f2p, + f4p, f8p) because the argument fits in a single register. Should not warn, + but aarch64_function_arg_boundary would need to take the argument size into + account as well as whether it's passed via registers or the stack. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 53 } fp */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 54 } f1p */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 55 } f2p */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 56 } f4p */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 57 } f8p */ + + /* Changed in GCC 9.1. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { target *-*-* } 58 } f16p */ + + + /* Bitfield call argument in registers. */ + /* No change in parameter passing in GCC 9.1 for lines 60-64 (g1, g2, g4, g8, g16) + because the overall alignment is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 66-70 (gp, g1p, g2p, + g4p, g8p), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { xfail *-*-* } 71 } g16p */ + + + /* Bitfield parameter in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 74-78 (f1_stack, + f2_stack, f4_stack, f8_stack, f16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 80 } fp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 81 } f1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 82 } f2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 83 } f4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 84 } f8p_stack */ + + /* No change in parameter passing in GCC 9.1 for line 85 (f16p_stack) because + the overall alignment is >= 16. No warning expected. */ + + /* Bitfield call argument in stack. */ + /* No change in parameter passing in GCC 9.1 for lines 87-91 (g1_stack, + g2_stack, g4_stack, g8_stack, g16_stack) because the overall alignment is > + 16. No warning expected. */ + + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 93 } gp_stack */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 94 } g1p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 95 } g2p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 96 } g4p_stack */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 97 } g8p_stack */ + + + /* No change in parameter passing in GCC 9.1 for line 98 (g16p_stack). No + warning expected. */ + + + /* Bitfield parameter in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 101-105 (f1_stdarg, + f2_stdarg, f4_stdarg, f8_stdarg, f16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* Parameter passing for these should not have changed in GCC 9.1 (PR 105549). + Fortunately we warn. Note the discrepancy with lines 120-124 below: we warn + in the callee, but not in the caller. */ + /* { dg-message {parameter passing for argument of type 'struct Sp' changed in GCC 9.1} "" { target *-*-* } 107 } fp_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S1p' changed in GCC 9.1} "" { target *-*-* } 108 } f1p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S2p' changed in GCC 9.1} "" { target *-*-* } 109 } f2p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S4p' changed in GCC 9.1} "" { target *-*-* } 110 } f4p_stdarg */ + /* { dg-message {parameter passing for argument of type 'struct S8p' changed in GCC 9.1} "" { target *-*-* } 111 } f8p_stdarg */ + + /* No change in parameter passing in GCC 9.1 for line 112 (f16p_stdarg). + Should not warn. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { target *-*-* } 112 } f16p_stdarg */ + + /* Bitfield call argument in stdarg. */ + /* No change in parameter passing in GCC 9.1 for lines 114-118 (g1_stdarg, + g2_stdarg, g4_stdarg, g8_stdarg, g16_stdarg) because the overall alignment + is > 16. No warning expected. */ + + /* No change in parameter passing in GCC 9.1 for lines 120-124 (gp_stdarg, + g1p_stdarg, g2p_stdarg, g4p_stdarg, g8p_stdarg), no warning expected. */ + + /* Changed in GCC 9.1, but we fail to emit a warning. */ + /* { dg-message {parameter passing for argument of type 'struct S16p' changed in GCC 9.1} "" { xfail *-*-* } 125 } g16p_stdarg */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align8-O2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align8-O2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align8-O2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning-align8-O2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -save-temps" } */ + + #define ALIGN 8 + #define EXTRA + + #include "bitfield-abi-warning.h" + + /* In f1, f2, f4, f8, fp, f1p, f2p, f4p, f8p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w1, 1" 18 } } */ + + /* In f16, f16p (and stdarg versions): */ + /* { dg-final { scan-assembler-times "and\tw0, w2, 1" 4 } } */ + + /* In f1, f2, f4, f8, f16, fp, f1p, f2p, f4p, f8p, f16p stack versions: */ + /* { dg-final { scan-assembler-times "and\tw0, w0, 1" 11 } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning.h gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning.h *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/bitfield-abi-warning.h Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,125 ---- + #include + + typedef unsigned long long ull __attribute__((aligned(ALIGN))); + + #ifndef EXTRA + #define EXTRA unsigned long long x; + #endif + + struct S1 { __attribute__((aligned(1))) ull i : 1; EXTRA }; + struct S2 { __attribute__((aligned(2))) ull i : 1; EXTRA }; + struct S4 { __attribute__((aligned(4))) ull i : 1; EXTRA }; + struct S8 { __attribute__((aligned(8))) ull i : 1; EXTRA }; + struct S16 { __attribute__((aligned(16))) ull i : 1; EXTRA }; + + struct Sp { ull i : 1; EXTRA }__attribute__((packed)); + struct S1p { __attribute__((packed, aligned(1))) ull i : 1; EXTRA }; + struct S2p { __attribute__((packed, aligned(2))) ull i : 1; EXTRA }; + struct S4p { __attribute__((packed, aligned(4))) ull i : 1; EXTRA }; + struct S8p { __attribute__((packed, aligned(8))) ull i : 1; EXTRA }; + struct S16p { __attribute__((packed, aligned(16))) ull i : 1; EXTRA }; + + /* Bitfield in registers. */ + #define PARAMS(xx) int a0, struct S##xx s, ull a1 + /* Bitfield passed by the stack. */ + #define PARAMS_STACK(xx) int a0, ull a1, ull a2, ull a3, ull a4, ull a5, ull a6, ull a7, ull a8, struct S##xx t + /* Bitfield passed via stdarg. */ + #define PARAMS_STDARG(xx) int a0, ... + + #define CODE(xx) \ + return s.i; + + #define CODE_STACK(xx) \ + return t.i; + + #define CODE_STDARG(xx) \ + va_list ap; \ + struct S##xx arg; \ + __builtin_va_start(ap,a0); \ + arg = __builtin_va_arg(ap, struct S##xx); \ + return arg.i; + + #define ARGS(xx) x, (struct S##xx) { x }, x + #define ARGS_STACK(xx) x, x, x, x, x, x, x, x, x, (struct S##xx) { x } + #define ARGS_STDARG(xx) x, (struct S##xx) { x } + + /* Bitfield in registers. */ + int __attribute__ ((noipa)) f1 (PARAMS(1)) { CODE(1) } + int __attribute__ ((noipa)) f2 (PARAMS(2)) { CODE(2) } + int __attribute__ ((noipa)) f4 (PARAMS(4)) { CODE(4) } + int __attribute__ ((noipa)) f8 (PARAMS(8)) { CODE(8) } + int __attribute__ ((noipa)) f16(PARAMS(16)) { CODE(16) } + + int __attribute__ ((noipa)) fp (PARAMS(p)) { CODE(p) } + int __attribute__ ((noipa)) f1p (PARAMS(1p)) { CODE(1p) } + int __attribute__ ((noipa)) f2p (PARAMS(2p)) { CODE(2p) } + int __attribute__ ((noipa)) f4p (PARAMS(4p)) { CODE(4p) } + int __attribute__ ((noipa)) f8p (PARAMS(8p)) { CODE(8p) } + int __attribute__ ((noipa)) f16p(PARAMS(16p)) { CODE(16p) } + + int g1 (int x) { return f1 (ARGS(1)); } + int g2 (int x) { return f2 (ARGS(2)); } + int g4 (int x) { return f4 (ARGS(4)); } + int g8 (int x) { return f8 (ARGS(8)); } + int g16(int x) { return f16 (ARGS(16)); } + + int gp (int x) { return fp (ARGS(p)); } + int g1p (int x) { return f1p (ARGS(1p)); } + int g2p (int x) { return f2p (ARGS(2p)); } + int g4p (int x) { return f4p (ARGS(4p)); } + int g8p (int x) { return f8p (ARGS(8p)); } + int g16p(int x) { return f16p (ARGS(16p)); } + + /* Bitfield in the stack. */ + int __attribute__ ((noipa)) f1_stack (PARAMS_STACK(1)) { CODE_STACK(1) } + int __attribute__ ((noipa)) f2_stack (PARAMS_STACK(2)) { CODE_STACK(2) } + int __attribute__ ((noipa)) f4_stack (PARAMS_STACK(4)) { CODE_STACK(4) } + int __attribute__ ((noipa)) f8_stack (PARAMS_STACK(8)) { CODE_STACK(8) } + int __attribute__ ((noipa)) f16_stack(PARAMS_STACK(16)) { CODE_STACK(16) } + + int __attribute__ ((noipa)) fp_stack (PARAMS_STACK(p)) { CODE_STACK(p) } + int __attribute__ ((noipa)) f1p_stack (PARAMS_STACK(1p)) { CODE_STACK(1p) } + int __attribute__ ((noipa)) f2p_stack (PARAMS_STACK(2p)) { CODE_STACK(2p) } + int __attribute__ ((noipa)) f4p_stack (PARAMS_STACK(4p)) { CODE_STACK(4p) } + int __attribute__ ((noipa)) f8p_stack (PARAMS_STACK(8p)) { CODE_STACK(8p) } + int __attribute__ ((noipa)) f16p_stack(PARAMS_STACK(16p)) { CODE_STACK(16p) } + + int g1_stack (int x) { return f1_stack (ARGS_STACK(1)); } + int g2_stack (int x) { return f2_stack (ARGS_STACK(2)); } + int g4_stack (int x) { return f4_stack (ARGS_STACK(4)); } + int g8_stack (int x) { return f8_stack (ARGS_STACK(8)); } + int g16_stack(int x) { return f16_stack (ARGS_STACK(16)); } + + int gp_stack (int x) { return fp_stack (ARGS_STACK(p)); } + int g1p_stack (int x) { return f1p_stack (ARGS_STACK(1p)); } + int g2p_stack (int x) { return f2p_stack (ARGS_STACK(2p)); } + int g4p_stack (int x) { return f4p_stack (ARGS_STACK(4p)); } + int g8p_stack (int x) { return f8p_stack (ARGS_STACK(8p)); } + int g16p_stack(int x) { return f16p_stack (ARGS_STACK(16p)); } + + /* Bitfield via stdarg. */ + int __attribute__ ((noipa)) f1_stdarg (PARAMS_STDARG(1)) { CODE_STDARG(1) } + int __attribute__ ((noipa)) f2_stdarg (PARAMS_STDARG(2)) { CODE_STDARG(2) } + int __attribute__ ((noipa)) f4_stdarg (PARAMS_STDARG(4)) { CODE_STDARG(4) } + int __attribute__ ((noipa)) f8_stdarg (PARAMS_STDARG(8)) { CODE_STDARG(8) } + int __attribute__ ((noipa)) f16_stdarg(PARAMS_STDARG(16)) { CODE_STDARG(16) } + + int __attribute__ ((noipa)) fp_stdarg (PARAMS_STDARG(p)) { CODE_STDARG(p) } + int __attribute__ ((noipa)) f1p_stdarg (PARAMS_STDARG(1p)) { CODE_STDARG(1p) } + int __attribute__ ((noipa)) f2p_stdarg (PARAMS_STDARG(2p)) { CODE_STDARG(2p) } + int __attribute__ ((noipa)) f4p_stdarg (PARAMS_STDARG(4p)) { CODE_STDARG(4p) } + int __attribute__ ((noipa)) f8p_stdarg (PARAMS_STDARG(8p)) { CODE_STDARG(8p) } + int __attribute__ ((noipa)) f16p_stdarg(PARAMS_STDARG(16p)) { CODE_STDARG(16p) } + + int g1_stdarg (int x) { return f1_stdarg (ARGS_STDARG(1)); } + int g2_stdarg (int x) { return f2_stdarg (ARGS_STDARG(2)); } + int g4_stdarg (int x) { return f4_stdarg (ARGS_STDARG(4)); } + int g8_stdarg (int x) { return f8_stdarg (ARGS_STDARG(8)); } + int g16_stdarg(int x) { return f16_stdarg (ARGS_STDARG(16)); } + + int gp_stdarg (int x) { return fp_stdarg (ARGS_STDARG(p)); } + int g1p_stdarg (int x) { return f1p_stdarg (ARGS_STDARG(1p)); } + int g2p_stdarg (int x) { return f2p_stdarg (ARGS_STDARG(2p)); } + int g4p_stdarg (int x) { return f4p_stdarg (ARGS_STDARG(4p)); } + int g8p_stdarg (int x) { return f8p_stdarg (ARGS_STDARG(8p)); } + int g16p_stdarg(int x) { return f16p_stdarg (ARGS_STDARG(16p)); } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/cpunative/info_18 gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/cpunative/info_18 *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/cpunative/info_18 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/cpunative/info_18 Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,8 ---- + processor : 0 + BogoMIPS : 2000.00 + Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb dcpodp flagm2 frint i8mm bf16 rng ecv + CPU implementer : 0xc0 + CPU architecture: 8 + CPU variant : 0x0 + CPU part : 0xac3 + CPU revision : 0 diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_18.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_18.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_18.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_18.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + /* { dg-do compile { target { { aarch64*-*-linux*} && native } } } */ + /* { dg-set-compiler-env-var GCC_CPUINFO "$srcdir/gcc.target/aarch64/cpunative/info_18" } */ + /* { dg-additional-options "-mcpu=native" } */ + + int main() + { + return 0; + } + + /* { dg-final { scan-assembler {\.arch armv8.6-a\+crc\+fp16\+aes\+sha3\+rng} } } */ + + /* Test one where the boundary of buffer size would overwrite the last + character read when stitching the fgets-calls together. With the + test data provided, this would truncate the 'sha512' into 'ha512' + (dropping the 'sha3' feature). */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921-1.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,12 ---- + /* { dg-do compile } */ + /* { dg-additional-options "-O2 -march=armv8.2-a+bf16 -std=gnu99 -save-temps" } */ + /* { dg-final { check-function-bodies "**" "" } } */ + + #include "pr104921.x" + + /* + **foo: + ** mov v([0-9]|1[0-5])\.8b, v16\.8b + ** bfmlalb v0\.4s, v1\.8h, v([0-9]|1[0-5])\.h\[0\] + ** ret + */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921-2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,6 ---- + /* { dg-do assemble } */ + /* { dg-add-options arm_v8_2a_bf16_neon } */ + /* { dg-additional-options "-O2 -std=gnu99" } */ + /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */ + + #include "pr104921.x" diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921.x gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921.x *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr104921.x Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr104921.x Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,9 ---- + #include + + float32x4_t + foo(float32x4_t x, bfloat16x8_t a) + { + register bfloat16x4_t b asm ("v16"); + asm volatile ("" : "=w"(b)); + return vbfmlalbq_lane_f32 (x, a, b, 0); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr108589.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr108589.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr108589.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr108589.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ + /* { dg-options "-Os -O2 -mtune=ampere1a -fno-split-wide-types" } */ + + int i; + __int128 j; + short s; + + void + foo (void) + { + j -= i; + int l = i - __builtin_sub_overflow_p (0, 61680, s); + j -= __builtin_mul_overflow_p (i, l, 0); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr92424-2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr92424-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr92424-2.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr92424-2.c Fri Jul 7 07:08:20 2023 *************** __attribute__ ((target("branch-protectio *** 9,12 **** f10_bti () { } ! /* { dg-final { scan-assembler "f10_bti:\n\thint\t34 // bti c\n.*\.LPFE1:\n\tnop\n.*\tret\n" } } */ --- 9,12 ---- f10_bti () { } ! /* { dg-final { scan-assembler "hint\t34 // bti c\n.*\.LPFE1:\n\tnop\n.*\tret\n" } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr92424-3.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr92424-3.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr92424-3.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr92424-3.c Fri Jul 7 07:08:20 2023 *************** __attribute__ ((target("branch-protectio *** 9,12 **** f10_pac () { } ! /* { dg-final { scan-assembler "f10_pac:\n\thint\t34 // bti c\n.*\.LPFE1:\n\tnop\n.*\thint\t25 // paciasp\n.*\thint\t29 // autiasp\n.*\tret\n" } } */ --- 9,12 ---- f10_pac () { } ! /* { dg-final { scan-assembler "hint\t34 // bti c\n.*\.LPFE1:\n\tnop\n.*\thint\t25 // paciasp\n.*\thint\t29 // autiasp\n.*\tret\n" } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr98776.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr98776.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pr98776.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pr98776.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,11 ---- + /* { dg-do "compile" } */ + /* { dg-options "-O1 -fpatchable-function-entry=1 -fasynchronous-unwind-tables" } */ + + /* Test the placement of the .LPFE1 label. */ + + void + foo (void) + { + } + + /* { dg-final { scan-assembler "\t\.cfi_startproc\n.*\.LPFE1:\n\tnop\n\tret\n" } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c Fri Jul 7 07:08:20 2023 *************** *** 248,253 **** --- 248,273 ---- #error "__ARM_FEATURE_CRC32 is not defined but should be!" #endif + #pragma GCC target ("arch=armv8.2-a") + #ifdef __ARM_FEATURE_RCPC + #error "__ARM_FEATURE_RCPC is defined but should not be!" + #endif + + #pragma GCC target ("arch=armv8.2-a+rcpc") + #ifndef __ARM_FEATURE_RCPC + #error "__ARM_FEATURE_RCPC is not defined but should be!" + #endif + + #pragma GCC target ("+norcpc") + #ifdef __ARM_FEATURE_RCPC + #error "__ARM_FEATURE_RCPC is defined but should not be!" + #endif + + #pragma GCC target ("arch=armv8.3-a") + #ifndef __ARM_FEATURE_RCPC + #error "__ARM_FEATURE_RCPC is not defined but should be!" + #endif + int foo (int a) { diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brka_1.c Fri Jul 7 07:08:20 2023 *************** test2 (svbool_t pg, svbool_t x, svbool_t *** 18,22 **** return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrkas\tp[0-9]+\.b, p[0-9]+/m,} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrka\t} } } */ --- 18,23 ---- return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrka\t} 2 } } */ ! /* { dg-final { scan-assembler-times {\tptest\t} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrkas\t} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkb_1.c Fri Jul 7 07:08:20 2023 *************** test2 (svbool_t pg, svbool_t x, svbool_t *** 18,22 **** return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrkbs\tp[0-9]+\.b, p[0-9]+/m,} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrkb\t} } } */ --- 18,23 ---- return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrkb\t} 2 } } */ ! /* { dg-final { scan-assembler-times {\tptest\t} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrkbs\t} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_1.c Fri Jul 7 07:08:20 2023 *************** test2 (svbool_t pg, svbool_t x, svbool_t *** 18,22 **** return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrkns\t} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrkn\t} } } */ --- 18,23 ---- return svptest_any (pg, res); } ! /* { dg-final { scan-assembler-times {\tbrkn\t} 2 } } */ ! /* { dg-final { scan-assembler-times {\tptest\t} 2 } } */ ! /* { dg-final { scan-assembler-not {\tbrkns\t} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_2.c gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/aarch64/sve/acle/general/brkn_2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,23 ---- + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + #include + + void + test1 (svbool_t pg, svbool_t x, svbool_t y, int *any, svbool_t *ptr) + { + svbool_t res = svbrkn_z (pg, x, y); + *any = svptest_any (svptrue_b8 (), res); + *ptr = res; + } + + int + test2 (svbool_t pg, svbool_t x, svbool_t y, int *any) + { + svbool_t res = svbrkn_z (pg, x, y); + return svptest_any (svptrue_b8 (), res); + } + + /* { dg-final { scan-assembler-times {\tbrkns\t} 2 } } */ + /* { dg-final { scan-assembler-not {\tbrkn\t} } } */ + /* { dg-final { scan-assembler-not {\tptest\t} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/avx-vzeroupper-29.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + /* { dg-do compile } */ + /* { dg-options "-O0 -mavx -mtune=generic -mvzeroupper -dp" } */ + + #include + + extern __m256 x, y; + + void + foo () + { + x = y; + } + + /* { dg-final { scan-assembler-times "avx_vzeroupper" 1 } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + /* PR target/108881 */ + /* { dg-do compile } */ + /* { dg-options "-mavx512bf16 -mno-avx512vl" } */ + + typedef float __m256 __attribute__((__vector_size__(32))); + typedef short __v16hi __attribute__((__vector_size__(32))); + __v16hi a; + __m256 b, c; + + void + foo (void) + { + a = __builtin_ia32_cvtne2ps2bf16_v16hi (b, c); /* { dg-warning "implicit declaration of function" } */ + } /* { dg-error "incompatible types when assigning to type" "" { target *-*-* } .-1 } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr105554.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr105554.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr105554.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr105554.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,10 ---- + /* PR target/105554 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -Wno-psabi -mno-sse3" } */ + + typedef long long v4di __attribute__((__vector_size__(32))); + + __attribute__((target_clones ("arch=core-avx2", "default"))) void + foo (v4di x) + { + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr107304.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr107304.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr107304.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr107304.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,39 ---- + /* { dg-do compile } */ + /* { dg-options "-O0 -march=tigerlake" } */ + + #include + + typedef union { + uint8_t v __attribute__((aligned(256))) __attribute__ ((vector_size(64 * sizeof(uint8_t)))); + uint8_t i[64] __attribute__((aligned(256))); + } stress_vec_u8_64_t; + + typedef struct { + struct { + stress_vec_u8_64_t s; + stress_vec_u8_64_t o; + stress_vec_u8_64_t mask1; + stress_vec_u8_64_t mask2; + } u8_64; + } stress_vec_data_t; + + __attribute__((target_clones("arch=skylake", "default"))) + void + stress_vecshuf_u8_64(stress_vec_data_t *data) + { + stress_vec_u8_64_t *__restrict s; + stress_vec_u8_64_t *__restrict mask1; + stress_vec_u8_64_t *__restrict mask2; + register int i; + + s = &data->u8_64.s; + mask1 = &data->u8_64.mask1; + mask2 = &data->u8_64.mask2; + + for (i = 0; i < 256; i++) { /* was i < 65536 */ + stress_vec_u8_64_t tmp; + + tmp.v = __builtin_shuffle(s->v, mask1->v); + s->v = __builtin_shuffle(tmp.v, mask2->v); + } + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr107863.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr107863.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr107863.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr107863.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,8 ---- + /* { dg-do compile } */ + /* { dg-options "-mavx2 -O" } */ + + typedef char v16qi __attribute__((vector_size(16))); + + v16qi foo(v16qi a){ + return __builtin_ia32_vec_set_v16qi (a, -1, 2); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr89261.c gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr89261.c *** gcc-10.4.0/gcc/testsuite/gcc.target/i386/pr89261.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/i386/pr89261.c Fri Jul 7 07:08:20 2023 *************** *** 5,10 **** typedef double __v2df __attribute__ ((vector_size (16), aligned (1 << 28))); __v2df foo = { 1.0, 2.0 }; ! /* { dg-error {alignment of 'foo' is greater than maximum object file alignment 32768} "" { target *-*-darwin* } .-1 } */ /* { dg-final { scan-assembler "\.align\[ \t]+268435456" { target { ! *-*-darwin* } } } } */ --- 5,11 ---- typedef double __v2df __attribute__ ((vector_size (16), aligned (1 << 28))); __v2df foo = { 1.0, 2.0 }; ! /* { dg-error {alignment of 'foo' is greater than maximum object file alignment 32768} "" { target { *-*-darwin[89]* *-*-darwin10* } } .-1 } */ /* { dg-final { scan-assembler "\.align\[ \t]+268435456" { target { ! *-*-darwin* } } } } */ + /* { dg-final { scan-assembler "\.align\[ \t]+28" { target { *-*-darwin1[1-9]* *-*-darwin2* } } } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-0.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,23 ---- + /* { dg-do compile { target powerpc*-*-darwin* } } */ + /* { dg-require-effective-target ilp32 } */ + /* { dg-options "-Wno-long-long" } */ + + #include "darwin-structs-0.h" + + int tcd[sizeof(cd) != 12 ? -1 : 1]; + int acd[__alignof__(cd) != 4 ? -1 : 1]; + + int sdc[sizeof(dc) != 16 ? -1 : 1]; + int adc[__alignof__(dc) != 8 ? -1 : 1]; + + int scL[sizeof(cL) != 12 ? -1 : 1]; + int acL[__alignof__(cL) != 4 ? -1 : 1]; + + int sLc[sizeof(Lc) != 16 ? -1 : 1]; + int aLc[__alignof__(Lc) != 8 ? -1 : 1]; + + int scD[sizeof(cD) != 32 ? -1 : 1]; + int acD[__alignof__(cD) != 16 ? -1 : 1]; + + int sDc[sizeof(Dc) != 32 ? -1 : 1]; + int aDc[__alignof__(Dc) != 16 ? -1 : 1]; diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,27 ---- + /* { dg-do compile { target powerpc*-*-darwin* } } */ + /* { dg-require-effective-target ilp32 } */ + /* { dg-options "-Wno-long-long" } */ + + #pragma pack(push, 1) + + #include "darwin-structs-0.h" + + int tcd[sizeof(cd) != 9 ? -1 : 1]; + int acd[__alignof__(cd) != 1 ? -1 : 1]; + + int sdc[sizeof(dc) != 9 ? -1 : 1]; + int adc[__alignof__(dc) != 1 ? -1 : 1]; + + int scL[sizeof(cL) != 9 ? -1 : 1]; + int acL[__alignof__(cL) != 1 ? -1 : 1]; + + int sLc[sizeof(Lc) != 9 ? -1 : 1]; + int aLc[__alignof__(Lc) != 1 ? -1 : 1]; + + int scD[sizeof(cD) != 17 ? -1 : 1]; + int acD[__alignof__(cD) != 1 ? -1 : 1]; + + int sDc[sizeof(Dc) != 17 ? -1 : 1]; + int aDc[__alignof__(Dc) != 1 ? -1 : 1]; + + #pragma pack(pop) diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-abi-13-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,27 ---- + /* { dg-do compile { target powerpc*-*-darwin* } } */ + /* { dg-require-effective-target ilp32 } */ + /* { dg-options "-Wno-long-long" } */ + + #pragma pack(push, 2) + + #include "darwin-structs-0.h" + + int tcd[sizeof(cd) != 10 ? -1 : 1]; + int acd[__alignof__(cd) != 2 ? -1 : 1]; + + int sdc[sizeof(dc) != 10 ? -1 : 1]; + int adc[__alignof__(dc) != 2 ? -1 : 1]; + + int scL[sizeof(cL) != 10 ? -1 : 1]; + int acL[__alignof__(cL) != 2 ? -1 : 1]; + + int sLc[sizeof(Lc) != 10 ? -1 : 1]; + int aLc[__alignof__(Lc) != 2 ? -1 : 1]; + + int scD[sizeof(cD) != 18 ? -1 : 1]; + int acD[__alignof__(cD) != 2 ? -1 : 1]; + + int sDc[sizeof(Dc) != 18 ? -1 : 1]; + int aDc[__alignof__(Dc) != 2 ? -1 : 1]; + + #pragma pack(pop) diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/darwin-structs-0.h Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,29 ---- + typedef struct _cd { + char c; + double d; + } cd; + + typedef struct _dc { + double d; + char c; + } dc; + + typedef struct _cL { + char c; + long long L; + } cL; + + typedef struct _Lc { + long long L; + char c; + } Lc; + + typedef struct _cD { + char c; + long double D; + } cD; + + typedef struct _Dc { + long double D; + char c; + } Dc; diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/fusion.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/fusion.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/fusion.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/fusion.c Fri Jul 7 07:08:20 2023 *************** *** 1,7 **** /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -mtune=power8 -O3 -dp" } */ #define LARGE 0x12345 --- 1,7 ---- /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -mdejagnu-tune=power8 -O3 -dp" } */ #define LARGE 0x12345 diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/fusion2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/fusion2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/fusion2.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/fusion2.c Fri Jul 7 07:08:20 2023 *************** *** 2,8 **** /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-skip-if "" { powerpc*le-*-* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -mtune=power8 -O3" } */ vector double fusion_vector (vector double *p) { return p[2]; } --- 2,8 ---- /* { dg-skip-if "" { powerpc*-*-darwin* } } */ /* { dg-skip-if "" { powerpc*le-*-* } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ ! /* { dg-options "-mdejagnu-cpu=power7 -mdejagnu-tune=power8 -O3" } */ vector double fusion_vector (vector double *p) { return p[2]; } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/p9-vparity.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/p9-vparity.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/p9-vparity.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/p9-vparity.c Fri Jul 7 07:08:20 2023 *************** parity_ti_4u (__uint128_t a) *** 104,106 **** --- 104,107 ---- /* { dg-final { scan-assembler "vprtybd" } } */ /* { dg-final { scan-assembler "vprtybq" } } */ /* { dg-final { scan-assembler "vprtybw" } } */ + /* { dg-final { scan-assembler-not "vpopcntb" } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr103353.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr103353.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr103353.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr103353.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,22 ---- + /* { dg-require-effective-target powerpc_altivec_ok } */ + /* If the default cpu type is power10 or later, MMA is enabled by default. + To keep the test point available all the time, this case specifies + -mdejagnu-cpu=power6 to make it be tested without MMA. */ + /* { dg-options "-maltivec -mdejagnu-cpu=power6" } */ + + /* Verify there is no ICE and don't check the error messages on MMA + requirement since they could be fragile and are not test points + of this case. */ + /* { dg-excess-errors "pr103353" } */ + + void + foo (__vector_pair *dst, double *x) + { + dst[0] = __builtin_vsx_lxvp (0, (__vector_pair *)(void *)x); + } + + void + bar (__vector_pair *src, double *x) + { + __builtin_vsx_stxvp (src[0], 0, (__vector_pair *)(void *)x); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr105041.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr105041.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr105041.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr105041.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,22 ---- + /* { dg-options "-mdejagnu-cpu=power4 -O2 -fcompare-debug -frename-registers" } */ + + double m; + int n; + + unsigned int + foo (unsigned int x, int y) + { + long long int a = y, b = !a; + int c = 0; + + if (b != x) + while ((int) m == a) + { + c = a; + a = 0; + } + + n = b = y; + + return x + c; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106017.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106017.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106017.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106017.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,19 ---- + /* PR target/106017 */ + /* { dg-options "-O1 -mdejagnu-cpu=power10" } */ + /* { dg-require-effective-target power10_ok } */ + + /* Make sure we do not flag any errors on the following test cases. */ + + void takeacc(__vector_quad *); + void + foo (void) + { + __vector_quad arr[4]; + takeacc (arr); + } + + unsigned char * + bar (__vector_quad *a) + { + return (unsigned char *)a; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106091.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106091.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106091.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106091.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,15 ---- + /* { dg-options "-O -fnon-call-exceptions -fno-tree-dce -fno-tree-forwprop -w" } */ + + /* Verify there is no ICE. */ + + typedef short __attribute__ ((__vector_size__ (64))) V; + V v, w; + + inline V foo (V a, V b); + + V + foo (V a, V b) + { + b &= v < b; + return (V){foo (b, w)[3], (V){}[3]}; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-1.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,20 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr106736-1" } */ + + extern void bar (__vector_quad *); + + void + foo (__vector_quad *a, __vector_quad *b) + { + __vector_quad arr[2] = {*a, *b}; + bar (&arr[0]); + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_pair is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr106736-2" } */ + + void + foo (__vector_pair *a, __vector_pair *b) + { + *a = *b; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-3.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-3.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-3.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-3.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr106736-3" } */ + + __vector_quad ga; + void + foo (__vector_quad *a) + { + ga = *a; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-4.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-4.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-4.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-4.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,19 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr106736-4" } */ + + __vector_quad ga; + __vector_quad gb; + void + foo () + { + gb = ga; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-5.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-5.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr106736-5.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr106736-5.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_pair is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr106736-5" } */ + + __vector_pair ga; + void + foo (__vector_pair *a) + { + *a = ga; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-1.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr108272-1" } */ + + void + foo (void) + { + __vector_quad acc; + asm("#..." : "=d"(acc)); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_pair is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr108272-2" } */ + + void + foo (void) + { + __vector_pair acc; + asm("#..." :: "d"(acc)); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-3.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-3.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-3.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-3.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr108272-3" } */ + + void + foo (void) + { + volatile __vector_quad acc; + asm("#..." : "=d"(acc)); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-4.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-4.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108272-4.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108272-4.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* { dg-require-effective-target powerpc_p9modulo_ok } */ + /* If the default cpu type is power10 or later, type __vector_pair is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. */ + /* { dg-options "-mdejagnu-cpu=power9" } */ + + /* Verify there is no ICE and don't check the error messages on unsupported + type since they could be fragile and are not test points of this case. */ + + /* { dg-excess-errors "pr108272-4" } */ + + typedef __vector_pair vpair_t; + void + foo (void) + { + vpair_t acc; + asm("#..." : "=d"(acc)); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108348-1.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108348-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108348-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108348-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,23 ---- + /* { dg-require-effective-target powerpc_altivec_ok } */ + /* If the default cpu type is power10 or later, type __vector_quad is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. This needs -mabi=no-altivec + to do the copying for pass-by-reference function argument on 32 bit + environment. */ + /* { dg-options "-mdejagnu-cpu=power9 -mabi=no-altivec" } */ + + /* Verify there is no ICE on 32 bit and don't check the error messages + on unsupported type since they could be fragile and are not test + points of this case. */ + + /* { dg-excess-errors "pr108348-1" } */ + + extern void bar (__vector_quad v); + + void + foo (void) + { + __vector_quad v; + bar (v); + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108348-2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108348-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108348-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108348-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,23 ---- + /* { dg-require-effective-target powerpc_altivec_ok } */ + /* If the default cpu type is power10 or later, type __vector_pair is + supported. To keep the test point available all the time, this case + specifies -mdejagnu-cpu=power9 here. This needs -mabi=no-altivec + to do the copying for pass-by-reference function argument on 32 bit + environment. */ + /* { dg-options "-mdejagnu-cpu=power9 -mabi=no-altivec" } */ + + /* Verify there is no ICE on 32 bit and don't check the error messages + on unsupported type since they could be fragile and are not test + points of this case. */ + + /* { dg-excess-errors "pr108348-2" } */ + + extern void bar (__vector_pair v); + + void + foo (void) + { + __vector_pair v; + bar (v); + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108699.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108699.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr108699.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr108699.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,42 ---- + /* { dg-run } */ + /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model" } */ + + #define N 16 + + unsigned long long vals[N]; + unsigned int res[N]; + unsigned int expects[N] = {0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + unsigned long long inputs[N] + = {0x0000000000000000ULL, 0x0000000000000001ULL, 0x8000000000000000ULL, + 0x0000000000000002ULL, 0x4000000000000000ULL, 0x0000000100000000ULL, + 0x0000000080000000ULL, 0xa5a5a5a5a5a5a5a5ULL, 0x5a5a5a5a5a5a5a5aULL, + 0xcafecafe00000000ULL, 0x0000cafecafe0000ULL, 0x00000000cafecafeULL, + 0x8070600000000000ULL, 0xffffffffffffffffULL}; + + __attribute__ ((noipa)) void + init () + { + for (int i = 0; i < N; i++) + vals[i] = inputs[i]; + } + + __attribute__ ((noipa)) void + do_parity () + { + for (int i = 0; i < N; i++) + res[i] = __builtin_parityll (vals[i]); + } + + int + main (void) + { + init (); + do_parity (); + for (int i = 0; i < N; i++) + if (res[i] != expects[i]) + __builtin_abort(); + + return 0; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target int128 } */ + /* { dg-require-effective-target powerpc_altivec_ok } */ + /* { dg-options "-maltivec -mno-vsx" } */ + + /* Verify there is no ICE but one expected error message instead. */ + + #include + + extern vector signed __int128 res_vslll; + extern unsigned long long aull[2]; + + void + testVectorInt128Pack () + { + res_vslll = __builtin_pack_vector_int128 (aull[0], aull[1]); /* { dg-error "'__builtin_pack_vector_int128' requires the '-mvsx' option" } */ + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr109932-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-require-effective-target int128 } */ + /* { dg-require-effective-target powerpc_altivec_ok } */ + /* { dg-options "-maltivec -mno-vsx" } */ + + /* Verify there is no ICE but one expected error message instead. */ + + #include + + extern vector signed __int128 res_vslll; + extern unsigned long long aull[2]; + + void + testVectorInt128Pack () + { + res_vslll = __builtin_pack_vector_int128 (aull[0], aull[1]); /* { dg-error "'__builtin_pack_vector_int128' requires the '-mvsx' option" } */ + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr110011.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr110011.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr110011.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr110011.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,42 ---- + /* { dg-do run } */ + /* { dg-require-effective-target float128_runtime } */ + /* Force long double to be with IBM format here, to verify + _Float128 constant still uses its own format (IEEE) for + encoding rather than IBM format. */ + /* { dg-options "-mfp-in-toc -mabi=ibmlongdouble" } */ + /* { dg-add-options float128 } */ + + #define MPFR_FLOAT128_MAX 0x1.ffffffffffffffffffffffffffffp+16383f128 + + __attribute__ ((noipa)) + _Float128 f128_max () + { + return MPFR_FLOAT128_MAX; + } + + typedef union + { + int w[4]; + _Float128 f128; + } U; + + int main () + { + + U umax; + umax.f128 = f128_max (); + /* ieee float128 max: + 7ffeffff ffffffff ffffffff ffffffff. */ + if (umax.w[1] != 0xffffffff || umax.w[2] != 0xffffffff) + __builtin_abort (); + #ifdef __LITTLE_ENDIAN__ + if (umax.w[0] != 0xffffffff || umax.w[3] != 0x7ffeffff) + __builtin_abort (); + #else + if (umax.w[3] != 0xffffffff || umax.w[0] != 0x7ffeffff) + __builtin_abort (); + #endif + + return 0; + } + diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr70243.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr70243.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr70243.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr70243.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,41 ---- + /* { dg-do compile */ + /* { dg-require-effective-target powerpc_vsx_ok } */ + /* { dg-options "-O2 -mvsx" } */ + + /* PR 70423, Make sure we don't generate vmaddfp or vnmsubfp. These + instructions have different rounding modes than the VSX instructions + xvmaddsp and xvnmsubsp. These tests are written where the 3 inputs and + target are all separate registers. Because vmaddfp and vnmsubfp are no + longer generated the compiler will have to generate an xsmaddsp or xsnmsubsp + instruction followed by a move operation. */ + + #include + + vector float + do_add1 (vector float dummy, vector float a, vector float b, vector float c) + { + return (a * b) + c; + } + + vector float + do_nsub1 (vector float dummy, vector float a, vector float b, vector float c) + { + return -((a * b) - c); + } + + vector float + do_add2 (vector float dummy, vector float a, vector float b, vector float c) + { + return vec_madd (a, b, c); + } + + vector float + do_nsub2 (vector float dummy, vector float a, vector float b, vector float c) + { + return vec_nmsub (a, b, c); + } + + /* { dg-final { scan-assembler {\mxvmadd[am]sp\M} } } */ + /* { dg-final { scan-assembler {\mxvnmsub[am]sp\M} } } */ + /* { dg-final { scan-assembler-not {\mvmaddfp\M} } } */ + /* { dg-final { scan-assembler-not {\mvnmsubfp\M} } } */ diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr96072.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr96072.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/pr96072.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/pr96072.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,14 ---- + /* { dg-options "-O2" } */ + + /* This used to ICE with the SYSV ABI (PR96072). */ + + void + he (int jn) + { + { + int bh[jn]; + if (jn != 0) + goto wa; + } + wa:; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/test_mffsl.c gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/test_mffsl.c *** gcc-10.4.0/gcc/testsuite/gcc.target/powerpc/test_mffsl.c Tue Jun 28 08:54:29 2022 --- gcc-10.5.0/gcc/testsuite/gcc.target/powerpc/test_mffsl.c Fri Jul 7 07:08:20 2023 *************** *** 1,5 **** /* { dg-do run { target { powerpc*-*-* } } } */ ! /* { dg-options "-O2 -std=c99" } */ #ifdef DEBUG #include --- 1,6 ---- /* { dg-do run { target { powerpc*-*-* } } } */ ! /* { dg-options "-O2 -std=c99 -mdejagnu-cpu=power9" } */ ! /* { dg-require-effective-target p9vector_hw } */ #ifdef DEBUG #include diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-1.c gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-1.c *** gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-1.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-1.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,42 ---- + /* { dg-do compile } */ + /* { dg-options "-foptimize-sibling-calls" } */ + /* { dg-final { scan-assembler {brasl\t%r\d+,bar4} } } */ + /* { dg-final { scan-assembler {brasl\t%r\d+,bar8} } } */ + + /* Parameter E is passed in GPR 6 which is call-saved which prohibits + sibling call optimization. This must hold true also if the mode of the + parameter is BLKmode. */ + + /* 4 byte */ + + typedef struct + { + char x; + char y[3]; + } t4; + + extern t4 e4; + + extern void bar4 (int a, int b, int c, int d, t4 e4); + + void foo4 (int a, int b, int c, int d) + { + bar4 (a, b, c, d, e4); + } + + /* 8 byte */ + + typedef struct + { + short x; + char y[6]; + } t8; + + extern t8 e8; + + extern void bar8 (int a, int b, int c, int d, t8 e8); + + void foo8 (int a, int b, int c, int d) + { + bar8 (a, b, c, d, e8); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-2.c gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-2.c *** gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-2.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-2.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,8 ---- + /* { dg-do compile { target { s390-*-* } } } */ + /* { dg-options "-foptimize-sibling-calls -mzarch" } */ + /* { dg-final { scan-assembler {brasl\t%r\d+,bar} } } */ + + /* This tests function s390_call_saved_register_used where + GET_CODE (parm_rtx) == PARALLEL holds. */ + + #include "pr106355.h" diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-3.c gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-3.c *** gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355-3.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355-3.c Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,8 ---- + /* { dg-do compile { target { s390-*-* } } } */ + /* { dg-options "-foptimize-sibling-calls -mesa" } */ + /* { dg-final { scan-assembler {brasl\t%r\d+,bar} } } */ + + /* This tests function s390_call_saved_register_used where + REG_P (parm_rtx) and nregs == 2 holds. */ + + #include "pr106355.h" diff -Nrcpad gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355.h gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355.h *** gcc-10.4.0/gcc/testsuite/gcc.target/s390/pr106355.h Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gcc.target/s390/pr106355.h Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,18 ---- + /* For the S/390 ABI parameter D is passed in GPR 5 and 6 and the latter is + call-saved which prohibits sibling call optimization. This must hold true + also if the mode of the parameter is BLKmode. */ + + typedef struct + { + short x; + char y[6]; + } t; + + extern t d; + + extern void bar (int a, int b, int c, t d); + + void foo (int a, int b, int c) + { + bar (a, b, c, d); + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/mod1.d gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/mod1.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/mod1.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/mod1.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,2 ---- + module imports.pr108050.mod1; + string[] split() { return null; } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/mod2.d gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/mod2.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/mod2.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/mod2.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,2 ---- + module imports.pr108050.mod2; + string[] split() { return null; } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/package.d gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/package.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108050/package.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108050/package.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,2 ---- + module imports.pr108050; + public import imports.pr108050.mod1, imports.pr108050.mod2; diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108877a.d gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108877a.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/imports/pr108877a.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/imports/pr108877a.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,6 ---- + immutable struct ImmutableS { } + const struct ConstS { } + immutable class ImmutableC { } + const class ConstC { } + immutable enum ImmutableE { _ } + const enum ConstE { _ } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139a.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139a.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139a.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139a.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,36 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106139 + // { dg-do compile } + + alias A = int[4]; + + static if (__traits(compiles, __vector(A))): + + A vector2array(__vector(A) v) + { + return cast(A)v; + } + + void vector2array(ref A a, __vector(A) v) + { + a = cast(A)v; + } + + __vector(A) array2vector(A a) + { + return cast(__vector(A)) a; + } + + void array2vector(ref __vector(A) v, A a) + { + v = cast(__vector(A))a; + } + + A vector2array_array(__vector(A) v) + { + return v.array; + } + + void vector2array_array(ref A a, __vector(A) v) + { + a = v.array; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139b.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139b.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139b.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139b.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,36 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106139 + // { dg-do compile } + + alias A = float[4]; + + static if (__traits(compiles, __vector(A))): + + A vector2array(__vector(A) v) + { + return cast(A)v; + } + + void vector2array(ref A a, __vector(A) v) + { + a = cast(A)v; + } + + __vector(A) array2vector(A a) + { + return cast(__vector(A)) a; + } + + void array2vector(ref __vector(A) v, A a) + { + v = cast(__vector(A))a; + } + + A vector2array_array(__vector(A) v) + { + return v.array; + } + + void vector2array_array(ref A a, __vector(A) v) + { + a = v.array; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139c.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139c.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139c.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139c.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,27 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106139 + // { dg-do compile } + + alias V = int[4]; + alias A = float[4]; + + static if (__traits(compiles, __vector(V))): + + A vector2array(__vector(V) v) + { + return cast(A)v; + } + + void vector2array(ref A a, __vector(V) v) + { + a = cast(A)v; + } + + __vector(V) array2vector(A a) + { + return cast(__vector(V)) a; + } + + void array2vector(ref __vector(V) v, A a) + { + v = cast(__vector(V))a; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139d.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139d.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr106139d.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr106139d.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,27 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106139 + // { dg-do compile } + + alias V = float[4]; + alias A = int[4]; + + static if (__traits(compiles, __vector(V))): + + A vector2array(__vector(V) v) + { + return cast(A)v; + } + + void vector2array(ref A a, __vector(V) v) + { + a = cast(A)v; + } + + __vector(V) array2vector(A a) + { + return cast(__vector(V)) a; + } + + void array2vector(ref __vector(V) v, A a) + { + v = cast(__vector(V))a; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr107592.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr107592.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr107592.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr107592.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,13 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107592 + // { dg-do compile } + + void test107592(Things...)(Things things) + { + label: + foreach (thing; things) + { + continue label; + } + } + + alias a107592 = test107592!(string); diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr108050.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr108050.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr108050.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr108050.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,4 ---- + // { dg-do compile } + // { dg-additional-sources "imports/pr108050/package.d imports/pr108050/mod1.d imports/pr108050/mod2.d" } + // { dg-options "-g" } + import imports.pr108050 : split; diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr108877.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr108877.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr108877.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr108877.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,9 ---- + // { dg-options "-I $srcdir/gdc.dg" } + // { dg-do compile } + import imports.pr108877a : + ImmutableS, + ConstS, + ImmutableC, + ConstC, + ImmutableE, + ConstE; diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.dg/pr110359.d gcc-10.5.0/gcc/testsuite/gdc.dg/pr110359.d *** gcc-10.4.0/gcc/testsuite/gdc.dg/pr110359.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.dg/pr110359.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,22 ---- + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110359 + // { dg-do compile } + // { dg-options "-fdump-tree-original" } + double pow(in double x, in ulong p) + { + import gcc.builtins : __builtin_expect; + if (__builtin_expect(p == 0, false)) + return 1; + if (__builtin_expect(p == 1, false)) + return x; + + double s = x; + double v = 1; + for (ulong i = p; i > 1; i >>= 1) + { + v = (i & 0x1) ? s * v : v; + s = s * s; + } + return v * s; + } + // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 0, 0\\) != 0\\)" "original" } } + // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 1, 0\\) != 0\\)" "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.test/compilable/test21794.d gcc-10.5.0/gcc/testsuite/gdc.test/compilable/test21794.d *** gcc-10.4.0/gcc/testsuite/gdc.test/compilable/test21794.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.test/compilable/test21794.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,52 ---- + // https://issues.dlang.org/show_bug.cgi?id=21794 + /* + TEST_OUTPUT: + --- + 0 + 0u + 0L + 0LU + 0.0F + 0.0 + 0.0L + --- + */ + + bool fun(void* p) { + const x = cast(ulong)p; + return 1; + } + + static assert(fun(null)); + + T fun2(T)(void* p) { + const x = cast(T)p; + return x; + } + + // These were an error before, they were returning a NullExp instead of IntegerExp/RealExp + + static assert(fun2!int(null) == 0); + static assert(fun2!uint(null) == 0); + static assert(fun2!long(null) == 0); + static assert(fun2!ulong(null) == 0); + static assert(fun2!float(null) == 0); + static assert(fun2!double(null) == 0); + static assert(fun2!real(null) == 0); + + // These were printing 'null' instead of the corresponding number + + const i = cast(int)null; + const ui = cast(uint)null; + const l = cast(long)null; + const ul = cast(ulong)null; + const f = cast(float)null; + const d = cast(double)null; + const r = cast(real)null; + pragma(msg, i); + pragma(msg, ui); + pragma(msg, l); + pragma(msg, ul); + pragma(msg, f); + pragma(msg, d); + pragma(msg, r); diff -Nrcpad gcc-10.4.0/gcc/testsuite/gdc.test/fail_compilation/ice20264.d gcc-10.5.0/gcc/testsuite/gdc.test/fail_compilation/ice20264.d *** gcc-10.4.0/gcc/testsuite/gdc.test/fail_compilation/ice20264.d Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gdc.test/fail_compilation/ice20264.d Fri Jul 7 07:08:20 2023 *************** *** 0 **** --- 1,13 ---- + /* + DISABLED: freebsd32 linux32 osx32 win32 + TEST_OUTPUT: + --- + fail_compilation/ice20264.d(12): Error: `cast(__vector(float[4]))a` is not an lvalue and cannot be modified + --- + */ + + void foo(float *a) + { + alias float4 = __vector(float[4]); + cast(float4)(a) = 1.0f; + } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100029.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100029.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100029.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100029.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,22 ---- + ! { dg-do run } + ! + ! Test the fix for PR100029 + ! + + program foo_p + implicit none + + type :: foo_t + end type foo_t + + class(foo_t), allocatable :: pout + + call foo_s(pout) + + contains + + subroutine foo_s(that) + class(foo_t), allocatable, intent(out) :: that(..) + end subroutine foo_s + + end program foo_p diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100040.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100040.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100040.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100040.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,36 ---- + ! { dg-do run } + ! + ! Test the fix for PR100040 + ! + + program foo_p + implicit none + + integer, parameter :: n = 11 + + type :: foo_t + integer :: i + end type foo_t + + type(foo_t), parameter :: a = foo_t(n) + + class(foo_t), allocatable :: pout + + call foo_s(pout) + if(.not.allocated(pout)) stop 1 + if(pout%i/=n) stop 2 + + contains + + subroutine foo_s(that) + class(foo_t), allocatable, intent(out) :: that(..) + + select rank(that) + rank(0) + that = a + rank default + stop 3 + end select + end subroutine foo_s + + end program foo_p diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100132.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100132.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100132.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100132.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,75 ---- + ! { dg-do run } + ! + ! Test the fix for PR100132 + ! + + module main_m + implicit none + + private + + public :: & + foo_t + + public :: & + set, & + get + + type :: foo_t + integer :: i + end type foo_t + + type(foo_t), save, pointer :: data => null() + + contains + + subroutine set(this) + class(foo_t), pointer, intent(in) :: this + + if(associated(data)) stop 1 + data => this + end subroutine set + + subroutine get(this) + type(foo_t), pointer, intent(out) :: this + + if(.not.associated(data)) stop 4 + this => data + nullify(data) + end subroutine get + + end module main_m + + program main_p + + use :: main_m, only: & + foo_t, set, get + + implicit none + + integer, parameter :: n = 1000 + + type(foo_t), pointer :: ps + type(foo_t), target :: s + integer :: i, j, yay, nay + + yay = 0 + nay = 0 + do i = 1, n + s%i = i + call set(s) + call get(ps) + if(.not.associated(ps)) stop 13 + j = ps%i + if(i/=j) stop 14 + if(i/=s%i) stop 15 + if(ps%i/=s%i) stop 16 + if(associated(ps, s))then + yay = yay + 1 + else + nay = nay + 1 + end if + end do + if((yay/=n).or.(nay/=0)) stop 17 + + end program main_p diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100245.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100245.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/PR100245.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/PR100245.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,28 ---- + ! { dg-do run } + ! + ! Test the fix for PR100245 + ! + + program main_p + + implicit none + + type :: foo_t + integer :: a + end type foo_t + + integer, parameter :: a = 42 + + class(foo_t), allocatable :: val + class(foo_t), allocatable :: rs1 + type(foo_t), allocatable :: rs2 + + allocate(val, source=foo_t(42)) + if (val%a/=a) stop 1 + rs1 = val + if (rs1%a/=a) stop 2 + rs2 = val + if (rs2%a/=a) stop 3 + deallocate(val, rs1, rs2) + + end program main_p diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/associate_26a.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/associate_26a.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/associate_26a.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/associate_26a.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,15 ---- + ! { dg-do compile } + ! { dg-options "-fcoarray=lib" } + ! + ! Test the fix for PR78152 and the followup in PR82868 + ! + ! Contributed by + ! + program co_assoc + implicit none + integer, parameter :: p = 5 + real, allocatable :: a(:,:)[:,:] + allocate (a(p,p)[2,*]) + associate (i => a(1:p, 1:p)) + end associate + end program co_assoc diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/bind_c_usage_34.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/bind_c_usage_34.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/bind_c_usage_34.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/bind_c_usage_34.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,21 ---- + ! { dg-do compile } + ! PR fortran/104332 - ICE with bind(c) in block data + ! Contributed by G. Steinmetz + + block data + bind(c) :: a ! { dg-error "cannot be BIND\\(C\\)" } + end + + block data aa + real, bind(c) :: a ! { dg-error "cannot be BIND\\(C\\)" } + end + + block data bb + real :: a ! { dg-error "cannot be BIND\\(C\\)" } + bind(c) :: a + end + + block data cc + common /a/ x + bind(c) :: /a/ + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/class_58.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/class_58.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/class_58.f90 Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/class_58.f90 Fri Jul 7 07:08:21 2023 *************** subroutine s *** 9,13 **** end type class(t), parameter :: x = t() ! { dg-error "cannot have the PARAMETER attribute" } class(t), parameter :: y = x ! { dg-error "cannot have the PARAMETER attribute" } ! class(t) :: z = x ! { dg-error "must be dummy, allocatable or pointer" } end --- 9,13 ---- end type class(t), parameter :: x = t() ! { dg-error "cannot have the PARAMETER attribute" } class(t), parameter :: y = x ! { dg-error "cannot have the PARAMETER attribute" } ! class(t) :: z = t() ! { dg-error "must be dummy, allocatable or pointer" } end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/class_73.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/class_73.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/class_73.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/class_73.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,17 ---- + ! { dg-do compile } + ! Error recovery on invalid CLASS(), PARAMETER declarations + ! PR fortran/103137 + ! PR fortran/103138 + ! PR fortran/103693 + ! PR fortran/105243 + ! Contributed by G.Steinmetz + + program p + type t + character(3) :: c = '(a)' + end type + class(t), parameter :: x = 1. ! { dg-error "PARAMETER attribute" } + class(*), parameter :: y = t() ! { dg-error "PARAMETER attribute" } + class(*), parameter :: z = 1 ! { dg-error "PARAMETER attribute" } + print x%c ! { dg-error "Syntax error" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/common_27.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/common_27.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/common_27.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/common_27.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,14 ---- + ! { dg-do compile } + ! PR fortran/108453 - a use associated variable cannot occur in COMMON + ! Contributed by G.Steinmetz + + module m + type t + end type + real :: r + end + program p + use m, only: t, r + common t ! { dg-error "USE associated from module" } + common /cm/ r ! { dg-error "USE associated from module" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/extends_type_of_4.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/extends_type_of_4.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/extends_type_of_4.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/extends_type_of_4.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,20 ---- + ! { dg-do compile } + ! PR fortran/106121 - ICE in gfc_simplify_extends_type_of + ! Contributed by G.Steinmetz + + program p + type t + end type + type(t) :: x + class(t) :: y ! { dg-error "dummy, allocatable or pointer" } + print *, extends_type_of (x, y) + end + + subroutine s + type t + integer :: i + end type + type(t) :: x + class(t) :: y ! { dg-error "dummy, allocatable or pointer" } + stop extends_type_of (x, y) ! { dg-error "STOP code" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/guality/guality.exp gcc-10.5.0/gcc/testsuite/gfortran.dg/guality/guality.exp *** gcc-10.4.0/gcc/testsuite/gfortran.dg/guality/guality.exp Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/guality/guality.exp Fri Jul 7 07:08:21 2023 *************** if { [istarget *-*-darwin*] } { *** 8,13 **** --- 8,17 ---- return } + if { [istarget hppa*-*-hpux*] } { + return + } + if { [istarget "powerpc-ibm-aix*"] } { set torture_execute_xfail "powerpc-ibm-aix*" return diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/ibits_2.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/ibits_2.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/ibits_2.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/ibits_2.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,32 ---- + ! { dg-do run } + ! { dg-additional-options "-fcheck=bits" } + ! PR fortran/108937 - Intrinsic IBITS(I,POS,LEN) fails when LEN equals + ! to BIT_SIZE(I) + ! Contributed by saitofuyuki@jamstec.go.jp + + program test_bits + implicit none + integer, parameter :: KT = kind (1) + integer, parameter :: lbits = bit_size (0_KT) + integer(kind=KT) :: x, y0, y1 + integer(kind=KT) :: p, l + + x = -1 + p = 0 + do l = 0, lbits + y0 = ibits (x, p, l) + y1 = ibits_1(x, p, l) + if (y0 /= y1) then + print *, l, y0, y1 + stop 1+l + end if + end do + contains + elemental integer(kind=KT) function ibits_1(I, POS, LEN) result(n) + !! IBITS(I, POS, LEN) = (I >> POS) & ~((~0) << LEN) + implicit none + integer(kind=KT),intent(in) :: I + integer, intent(in) :: POS, LEN + n = IAND (ISHFT(I, - POS), NOT(ISHFT(-1_KT, LEN))) + end function ibits_1 + end program test_bits diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/illegal_boz_arg_4.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,13 ---- + ! { dg-do compile } + ! { dg-options "-std=f2018" } + ! PR fortran/103413 + ! Contributed by G.Steinmetz + + program p + type t + class(*), allocatable :: a + end type + type(t) :: x + allocate (x%a, source=z'1') ! { dg-error "type incompatible" } + allocate (x%a, mold=z'1') ! { dg-error "type incompatible" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/index_6.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/index_6.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/index_6.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/index_6.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,31 ---- + ! { dg-do compile } + ! { dg-options "-fdump-tree-original" } + ! PR fortran/105691 - Incorrect calculation of INDEX(str1,str2) at compile time + + program main + implicit none + integer :: i + character(*), parameter :: s1 = "fortran.f90" + character(*), parameter :: s2 = "fortran" + character(*), parameter :: s3 = s2 // "*" + integer, parameter :: i0 = index(s1, s2) + integer, parameter :: i1 = index(s1, s2, back= .true.) + integer, parameter :: i2(*) = index(s1, s2, back=[.true.,.false.]) + integer, parameter :: i3(*) = index(s1, s2, back=[(i==1, i=1,2)] ) + integer, parameter :: i4 = index(s1, s3) + integer, parameter :: i5 = index(s1, s3, back= .true.) + integer, parameter :: i6(*) = index(s1, s3, back=[.true.,.false.]) + integer, parameter :: i7(*) = index(s1, s3, back=[(i==1, i=1,2)] ) + integer, parameter :: i8 = index(s1, "f", back= .true.) + if ( i0 /= 1 ) stop 1 + if ( i1 /= 1 ) stop 2 + if (any (i2 /= 1)) stop 3 + if (any (i3 /= 1)) stop 4 + if ( i4 /= 0 ) stop 5 + if ( i5 /= 0 ) stop 6 + if (any (i6 /= 0)) stop 7 + if (any (i7 /= 0)) stop 8 + if (i8 /= len(s1)-2) stop 9 + end program + + ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/intent_optimize_4.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/intent_optimize_4.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/intent_optimize_4.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/intent_optimize_4.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,43 ---- + ! { dg-do run } + ! { dg-additional-options "-fdump-tree-original" } + ! { dg-final { scan-tree-dump-times "CLOBBER" 2 "original" } } + ! + ! PR fortran/106817 + ! Check that for an actual argument whose dummy is INTENT(OUT), + ! the clobber that is emitted in the caller before a procedure call + ! happens after any expression depending on the argument value has been + ! evaluated. + ! + + module m + implicit none + contains + subroutine copy1(out, in) + integer, intent(in) :: in + integer, intent(out) :: out + out = in + end subroutine copy1 + subroutine copy2(in, out) + integer, intent(in) :: in + integer, intent(out) :: out + out = in + end subroutine copy2 + end module m + + program p + use m + implicit none + integer :: a, b + + ! Clobbering of a should happen after a+1 has been evaluated. + a = 3 + call copy1(a, a+1) + if (a /= 4) stop 1 + + ! Clobbering order does not depend on the order of arguments. + ! It should also come last with reversed arguments. + b = 12 + call copy2(b+1, b) + if (b /= 13) stop 2 + + end program p diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/intent_out_15.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/intent_out_15.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/intent_out_15.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/intent_out_15.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,27 ---- + ! { dg-do compile } + ! { dg-additional-options "-fdump-tree-original" } + ! + ! PR fortran/105012 + ! The following case was triggering an ICE because of a clobber + ! on the DERFC function decl instead of its result. + + module error_function + integer, parameter :: r8 = selected_real_kind(12) ! 8 byte real + contains + SUBROUTINE CALERF_r8(ARG, RESULT, JINT) + integer, parameter :: rk = r8 + real(rk), intent(in) :: arg + real(rk), intent(out) :: result + IF (Y .LE. THRESH) THEN + END IF + end SUBROUTINE CALERF_r8 + FUNCTION DERFC(X) + integer, parameter :: rk = r8 ! 8 byte real + real(rk), intent(in) :: X + real(rk) :: DERFC + CALL CALERF_r8(X, DERFC, JINT) + END FUNCTION DERFC + end module error_function + + ! { dg-final { scan-tree-dump-times "CLOBBER" 1 "original" } } + ! { dg-final { scan-tree-dump "__result_derfc = {CLOBBER};" "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/nearest_6.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/nearest_6.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/nearest_6.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/nearest_6.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,26 ---- + ! { dg-do run } + ! PR fortran/109186 - Verify that NEAREST produces same results at + ! compile-time and run-time for corner cases + ! Reported by John Harper + + program p + implicit none + integer, parameter :: sp = selected_real_kind (6) + integer, parameter :: dp = selected_real_kind (13) + real(sp), parameter :: x1 = huge (1._sp), t1 = tiny (1._sp) + real(dp), parameter :: x2 = huge (1._dp), t2 = tiny (1._dp) + real(sp), volatile :: y1, z1 + real(dp), volatile :: y2, z2 + y1 = x1 + z1 = nearest (y1, -1._sp) + if (nearest (x1, -1._sp) /= z1) stop 1 + y2 = x2 + z2 = nearest (y2, -1._dp) + if (nearest (x2, -1._dp) /= z2) stop 2 + y1 = t1 + z1 = nearest (y1, 1._sp) + if (nearest (t1, 1._sp) /= z1) stop 3 + y2 = t2 + z2 = nearest (y2, 1._dp) + if (nearest (t2, 1._dp) /= z2) stop 4 + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/nint_p7.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/nint_p7.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/nint_p7.f90 Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/nint_p7.f90 Fri Jul 7 07:08:21 2023 *************** *** 1,8 **** ! Fortran ! { dg-do compile { target { powerpc*-*-* } } } ! { dg-require-effective-target powerpc_vsx_ok } ! ! { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } ! ! { dg-options "-O2 -mcpu=power7 -ffast-math" } ! { dg-final { scan-assembler-times "xsrdpi" 2 } } subroutine test_nint(x4,x8) --- 1,7 ---- ! Fortran ! { dg-do compile { target { powerpc*-*-* } } } ! { dg-require-effective-target powerpc_vsx_ok } ! ! { dg-options "-O2 -mdejagnu-cpu=power7 -ffast-math" } ! { dg-final { scan-assembler-times "xsrdpi" 2 } } subroutine test_nint(x4,x8) diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/null_actual_3.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/null_actual_3.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/null_actual_3.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/null_actual_3.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,18 ---- + ! { dg-do compile } + ! { dg-options "-fallow-argument-mismatch -w" } + ! PR fortran/107576 + ! Contributed by G.Steinmetz + + program p + implicit none + interface + subroutine r(y) + integer, pointer :: y(:) + end subroutine r + end interface + integer, pointer :: z(:) => null() + call r(z) + call s(z) + call r(null(z)) + call s(null(z)) ! { dg-error "requires an explicit interface" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr102860.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr102860.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr102860.f90 Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr102860.f90 Fri Jul 7 07:08:21 2023 *************** *** 1,8 **** ! PR middle-end/102860 ! { dg-do compile { target { powerpc*-*-* } } } ! { dg-require-effective-target powerpc_vsx_ok } ! ! { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power10" } } ! ! { dg-options "-O2 -mcpu=power10" } function foo(a) integer(kind=4) :: a(1024) --- 1,7 ---- ! PR middle-end/102860 ! { dg-do compile { target { powerpc*-*-* } } } ! { dg-require-effective-target powerpc_vsx_ok } ! ! { dg-options "-O2 -mdejagnu-cpu=power10" } function foo(a) integer(kind=4) :: a(1024) diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103504.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103504.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103504.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103504.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,28 ---- + ! { dg-do compile } + ! PR fortran/103504 - ICE in get_sym_storage_size, at fortran/interface.c:2800 + ! Contributed by G.Steinmetz + + program p + implicit none + real :: y(1) + character :: b + call s(y) + call t(y) + call u(y) + call c(b) + contains + subroutine s(x) + real :: x(abs(1.):1) ! { dg-error "must be of INTEGER type" } + end + subroutine t(x) + real :: x(abs(1.):1) ! { dg-error "must be of INTEGER type" } + end + subroutine u(x) + real :: x(1:abs(1.)) ! { dg-error "must be of INTEGER type" } + end + subroutine c(z) + character(len=abs(1.)) :: z ! { dg-error "must be of INTEGER type" } + end subroutine c + end + + ! { dg-prune-output "must be of INTEGER type" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103505.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103505.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103505.f90 Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103505.f90 Fri Jul 7 07:08:21 2023 *************** *** 3,9 **** ! Testcase by G.Steinmetz program p ! integer, parameter :: a((2.)) = [4,8] ! { dg-error "scalar INTEGER" } ! integer, parameter :: z(1:(2.)) = [4,8] ! { dg-error "scalar INTEGER" } ! print *, a(1:1) ! { dg-error "Syntax error" } end --- 3,11 ---- ! Testcase by G.Steinmetz program p ! integer, parameter :: a((2.)) = [4,8] ! { dg-error "INTEGER type" } ! integer, parameter :: z(1:(2.)) = [4,8] ! { dg-error "INTEGER type" } ! print *, a(1:1) end + + ! { dg-prune-output "Parameter array" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103694.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103694.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr103694.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr103694.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! PR fortran/103694 - ICE in gfc_conv_expr_op + ! Contributed by G.Steinmetz + + subroutine s + type t + integer :: a(2) + end type + type(t) :: x((0.)/0) + integer :: n = size(x(1)%a) ! { dg-error "does not reduce to a constant expression" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr104313.f gcc-10.5.0/gcc/testsuite/gfortran.dg/pr104313.f *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr104313.f Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr104313.f Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! { dg-additional-options "-ff2c -fdump-tree-original" } + ! + ! PR fortran/104313 - ICE verify_gimple failed with -ff2c + ! Contributed by G.Steinmetz + + function f(a) + return + end + + ! { dg-final { scan-tree-dump-times "return" 1 "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr105633.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr105633.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr105633.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr105633.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,8 ---- + ! { dg-do compile } + ! PR fortran/105633 - ICE in find_array_section + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a(:) = [1,2] ! { dg-error "deferred shape" } + print *, [a([1,2])] + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr105954.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr105954.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr105954.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr105954.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,26 ---- + ! { dg-do compile } + ! { dg-options "-fdump-tree-original" } + ! PR fortran/105954 - ICE in gfc_element_size, at fortran/target-memory.cc:132 + ! Contributed by G.Steinmetz + + program p + use iso_c_binding, only: c_float, c_sizeof + implicit none + integer, parameter :: n = -99 + type t + real :: b(3,7:n) + end type + type, bind(c) :: u + real(c_float) :: b(3,7:n) + end type + type(t) :: d + type(u) :: e + integer, parameter :: k = storage_size(d) + integer, parameter :: m = sizeof(d) + integer, parameter :: l = c_sizeof(e) + if (k /= 0) stop 1 + if (m /= 0) stop 2 + if (l /= 0) stop 3 + end + + ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106209.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106209.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106209.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106209.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,9 ---- + ! { dg-do compile } + ! PR fortran/106209 - ICE in add_init_expr_to_sym + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a(:) = 0 ! { dg-error "of deferred shape" } + integer, parameter :: b(*) = a ! { dg-error "Bad shape of initializer" } + integer, parameter :: c(*) = [a] ! { dg-error "Cannot determine shape" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106331.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106331.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106331.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106331.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,7 ---- + ! { dg-do run } + ! { dg-options "-Og" } + + PROGRAM main + CHARACTER(LEN=24) :: a(2) + a = '' + END PROGRAM diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106857.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106857.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106857.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106857.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,12 ---- + ! { dg-do compile } + ! PR fortran/106857 - ICE in gfc_simplify_pack + ! Contributed by G.Steinmetz + + program p + type t + integer :: n + end type + type(t), parameter :: a(2,2) = t(1) + type(t), parameter :: b(4) = reshape(a, [2]) ! { dg-error "Different shape" } + type(t), parameter :: c(2) = pack(b, [.false.,.true.,.false.,.true.]) ! { dg-error "Different shape" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106934.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106934.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106934.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106934.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,7 ---- + ! { dg-do compile } + ! { dg-options "-O" } + subroutine s + logical(1) :: a = .true. + logical(2) :: b + a = transfer(b, a) + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106945.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106945.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106945.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106945.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! { dg-options "-fcoarray=single -fcheck=bounds -ftrapv" } + ! PR fortran/106945 + ! Contributed by G. Steinmetz + + module m + implicit none + type t + class(*), allocatable :: a[:] + end type + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106985.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106985.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106985.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106985.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,8 ---- + ! { dg-do compile } + ! PR fortran/106985 - ICE in gfc_simplify_expr + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a(2) = 1 + integer, parameter :: b = a(2) + b ! { dg-error "before its definition is complete" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106986.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106986.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr106986.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr106986.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,8 ---- + ! { dg-do compile } + ! PR fortran/106986 - ICE in simplify_findloc_nodim + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a(:) = [1] ! { dg-error "deferred shape" } + print *, findloc (a, 1) + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr107054.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr107054.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr107054.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr107054.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,13 ---- + ! { dg-do compile } + ! PR fortran/107054 - ICE in gfc_simplify_unpack + ! Contributed by G.Steinmetz + + program p + type t + integer :: n = 0 + end type + type(t), parameter :: a(4) = t(2) + type(t), parameter :: b(4) = reshape(a,[2]) ! { dg-error "Different shape" } + type(t), parameter :: c(2) = pack(b,[.false.,.true.,.false.,.true.]) ! { dg-error "Different shape" } + type(t), parameter :: d(4) = unpack(c,[.false.,.true.,.false.,.true.],a) + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr107872.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr107872.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr107872.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr107872.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,40 ---- + ! { dg-do run } + ! + ! Test the fix for PR107872, where an ICE occurred in + ! resolve.cc(derived_inaccessible) because derived types with + ! recursive allocatable components were not catered for. + ! + module mod1 + type t + integer :: data + type(t), allocatable :: next + contains + procedure, private :: write_t + generic :: write(formatted) => write_t + end type + contains + recursive subroutine write_t(this, unit, iotype, v_list, iostat, iomsg) + class(t), intent(in) :: this + integer, intent(in) :: unit + character(*), intent(in) :: iotype + integer, intent(in) :: v_list(:) + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + if (ALLOCATED(this%next)) & + write (unit, '(dt)') this%next + write (unit, '(i2)') this%data + end subroutine + end module + + use mod1 + type(t) :: a + character (8) :: buffer + a%data = 1 + allocate (a%next) + a%next%data = 2 + allocate (a%next%next) + a%next%next%data = 3 + write (buffer, '(dt)')a + deallocate (a%next) + if (trim (buffer) .ne. ' 3 2 1') stop 1 + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108131.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108131.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108131.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108131.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,25 ---- + ! { dg-do run } + ! { dg-additional-options "-fdump-tree-original" } + ! PR fortran/108131 + ! + ! Incorrect array bounds when bound intrinsic used in declaration + + program test + implicit none + integer, parameter :: mg(7:10) = 0 + integer, parameter :: u = ubound(mg, dim=1) + integer, parameter :: cx(-1:ubound(mg, dim=1)) = 1 + integer, parameter :: dx(lbound(mg, dim=1):ubound(cx, dim=1)) = 2 + + write(*,*) ubound(mg, dim=1) + write(*,*) ubound(cx, dim=1) + if (u /= 10) stop 1 + if (ubound(mg, dim=1) /= 10) stop 2 + if (ubound(cx, dim=1) /= 10) stop 3 + if (ubound(dx, dim=1) /= 10) stop 4 + if (lbound(mg, dim=1) /= 7) stop 5 + if (lbound(cx, dim=1) /= -1) stop 6 + if (lbound(dx, dim=1) /= 7) stop 7 + end program test + + ! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "original" } } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108193.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108193.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108193.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108193.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,24 ---- + ! PR rtl-optimization/108193 + ! { dg-do compile { target pthread } } + ! { dg-options "-O2 -fsplit-loops -ftree-parallelize-loops=2 -fno-tree-dominator-opts" } + + subroutine foo (n, r) + implicit none + integer :: i, j, n + real :: s, r(*) + + s = 0.0 + + do j = 1, 2 + do i = j, n + s = r(i) + end do + end do + + do i = 1, n + do j = i, n + s = s + 1 + end do + r(i) = s + end do + end subroutine foo diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108420.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108420.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108420.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108420.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,10 ---- + ! { dg-do compile } + ! PR fortran/108420 + ! Contributed by G.Steinmetz + + program p + character :: c = 'c' + logical :: m = .true. + print *, merge(transfer('a', 'b', 0), c, .true.) + print *, merge(transfer('a', 'b', 0), c, m) + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108421.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108421.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108421.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108421.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! PR fortran/108421 + ! Contributed by G.Steinmetz + + program p + character(real(3)) :: c ! { dg-error "must be of INTEGER type" } + call s(c) + end + subroutine s(x) + character(*) :: x + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108501.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108501.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108501.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108501.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,14 ---- + ! { dg-do compile } + ! PR fortran/108501 - ICE in get_expr_storage_size + ! Contributed by G.Steinmetz + + program p + real, parameter :: n = 2 + real :: a(1,(n),2) ! { dg-error "must be of INTEGER type" } + call s(a(:,:,1)) + end + subroutine s(x) + real :: x(2) + end + + ! { dg-prune-output "must have constant shape" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108502.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108502.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108502.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108502.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,12 ---- + ! { dg-do compile } + ! { dg-options "-O2 -ffrontend-optimize" } + ! PR fortran/108502 - ICE in gfc_check_dependency + ! Contributed by G.Steinmetz + + integer function n() + integer :: a(1) + a = [1] / 0 + end + program p + integer :: b = n() ! { dg-error "must be an intrinsic function" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108527.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108527.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108527.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108527.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,10 ---- + ! { dg-do compile } + ! PR fortran/108527 - ICE in compare_bound_int + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a((2.)) = [4,8] ! { dg-error "must be of INTEGER type" } + integer(a(1:1)) :: b ! { dg-error "Unclassifiable statement" } + end + + ! { dg-prune-output "Parameter array" } diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108529.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108529.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr108529.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr108529.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,9 ---- + ! { dg-do compile } + ! PR fortran/108529 - ICE in transformational_result + ! Contributed by G.Steinmetz + + program p + integer, parameter :: a(*,*) = reshape([1, 2, 3, 4], [2, 2]) + logical, parameter :: b(2,*) = a > 2 ! { dg-error "Assumed size" } + logical, parameter :: c(*) = all(b, 1) ! { dg-error "Bad shape" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr47614.f gcc-10.5.0/gcc/testsuite/gfortran.dg/pr47614.f *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr47614.f Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr47614.f Fri Jul 7 07:08:21 2023 *************** *** 1,6 **** ! { dg-do run { target { powerpc*-*-* } } } ! { dg-skip-if "" { powerpc*-*-darwin* } } ! ! { dg-options "-O3 -funroll-loops -ffast-math -mcpu=power4" } SUBROUTINE SFCPAR(ZET,NZ,ZMH,TSL,TMES) --- 1,7 ---- ! { dg-do run { target { powerpc*-*-* } } } ! { dg-skip-if "" { powerpc*-*-darwin* } } ! ! { dg-options "-O3 -funroll-loops -ffast-math -mdejagnu-cpu=power4" } ! ! { dg-options "-O3 -funroll-loops -ffast-math" { target powerpc64le*-*-linux* } } SUBROUTINE SFCPAR(ZET,NZ,ZMH,TSL,TMES) diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr58968.f gcc-10.5.0/gcc/testsuite/gfortran.dg/pr58968.f *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr58968.f Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr58968.f Fri Jul 7 07:08:21 2023 *************** *** 1,6 **** C PR rtl-optimization/58968.f C { dg-do compile { target powerpc*-*-* } } ! C { dg-options "-mcpu=power7 -O3 -w -ffast-math -funroll-loops" } SUBROUTINE MAKTABS(IW,SOME,LBOX1,LBOX2,LBOX3,NSPACE,NA,NB, * LBST,X, * NX,IAMA,IAMI,IBMA,IBMI,MNUM,IDIM,MSTA,IBO, --- 1,6 ---- C PR rtl-optimization/58968.f C { dg-do compile { target powerpc*-*-* } } ! C { dg-options "-mdejagnu-cpu=power7 -O3 -w -ffast-math -funroll-loops" } SUBROUTINE MAKTABS(IW,SOME,LBOX1,LBOX2,LBOX3,NSPACE,NA,NB, * LBST,X, * NX,IAMA,IAMI,IBMA,IBMI,MNUM,IDIM,MSTA,IBO, diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr85877.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr85877.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr85877.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr85877.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,25 ---- + ! { dg-do compile } + ! PR fortran/85877 + ! A procedure with the bind(c) attribute shall have an explicit interface + ! Contributed by G. Steinmetz + + function f() bind(c) + f = 42. + end + + subroutine p + bind(c) f ! { dg-error "must be explicit" } + x = f() + end + + function g() bind(c) + g = 42. + end + + subroutine s + interface + function g() bind(c) + end function g + end interface + x = g() + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr96024.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr96024.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr96024.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr96024.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! PR fortran/96024 - ICE in mio_name_expr_t + ! Contributed by G.Steinmetz + + module m + implicit none + type t + character(char(1)) :: a ! { dg-error "must be of INTEGER type" } + end type + type(t) :: z = t('a') + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/pr96025.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/pr96025.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/pr96025.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/pr96025.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,11 ---- + ! { dg-do compile } + ! PR fortran/96025 - ICE in expr_check_typed_help + ! Contributed by G.Steinmetz + + program p + print *, f() + contains + character(char(1)) function f() ! { dg-error "must be of INTEGER type" } + f = 'f' + end + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/save_7.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/save_7.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/save_7.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/save_7.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,17 ---- + ! { dg-do compile } + ! { dg-options "-O2 -fno-automatic" } + ! + ! PR fortran/95107 - do not make associate variables TREE_STATIC + ! Contributed by G.Steinmetz + + program p + type t + real, pointer :: a => null() + end type + type t2 + type(t) :: b(1) + end type + type(t2), save :: x + associate (y => x%b) + end associate + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/set_exponent_1.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/set_exponent_1.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/set_exponent_1.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/set_exponent_1.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,36 ---- + ! { dg-do run } + ! PR fortran/109511 + ! Check compile-time simplification of SET_EXPONENT against runtime + + program exponent + implicit none + integer :: i + i = 0 + print *, i, set_exponent(1., 0), set_exponent(1., i) + if (set_exponent(1., 0) /= set_exponent(1., i)) stop 1 + i = 1 + print *, i, set_exponent(1., 1), set_exponent(1., i) + if (set_exponent(1., 1) /= set_exponent(1., i)) stop 2 + i = 2 + print *, i, set_exponent(-1.75, 2), set_exponent(-1.75, i) + if (set_exponent(-1.75, 2) /= set_exponent(-1.75, i)) stop 3 + print *, i, set_exponent(0.1875, 2), set_exponent(0.1875, i) + if (set_exponent(0.1875, 2) /= set_exponent(0.1875, i)) stop 4 + i = 3 + print *, i, set_exponent(0.75, 3), set_exponent(0.75, i) + if (set_exponent(0.75, 3) /= set_exponent(0.75, i)) stop 5 + i = 4 + print *, i, set_exponent(-2.5, 4), set_exponent(-2.5, i) + if (set_exponent(-2.5, 4) /= set_exponent(-2.5, i)) stop 6 + i = -1 + print *, i, set_exponent(1., -1), set_exponent(1., i) + if (set_exponent(1., -1) /= set_exponent(1., i)) stop 7 + i = -2 + print *, i, set_exponent(1.125, -2), set_exponent(1.125, i) + if (set_exponent(1.125, -2) /= set_exponent(1.125, i)) stop 8 + print *, i, set_exponent(-0.25, -2), set_exponent(-0.25, i) + if (set_exponent(-0.25, -2) /= set_exponent(-0.25, i)) stop 9 + i = -3 + print *, i, set_exponent(0.75, -3), set_exponent(0.75, i) + if (set_exponent(0.75, -3) /= set_exponent(0.75, i)) stop 10 + end program exponent diff -Nrcpad gcc-10.4.0/gcc/testsuite/gfortran.dg/unpack_vector_1.f90 gcc-10.5.0/gcc/testsuite/gfortran.dg/unpack_vector_1.f90 *** gcc-10.4.0/gcc/testsuite/gfortran.dg/unpack_vector_1.f90 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/gcc/testsuite/gfortran.dg/unpack_vector_1.f90 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,12 ---- + ! { dg-do compile } + ! PR fortran/105813 + ! Fix checking of VECTOR argument to UNPACK when MASK is a variable. + ! Contributed by G.Steinmetz + + program p + logical, parameter :: mask(2,2) = reshape ([.true., .true., & + .false., .true.], & + shape (mask)) + print *, unpack ([1,2,3], mask, 0) ! OK + print *, unpack ([1,2], mask, 0) ! { dg-error "must provide at least" } + end diff -Nrcpad gcc-10.4.0/gcc/testsuite/lib/lto.exp gcc-10.5.0/gcc/testsuite/lib/lto.exp *** gcc-10.4.0/gcc/testsuite/lib/lto.exp Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/lib/lto.exp Fri Jul 7 07:08:21 2023 *************** proc lto_prune_warns { text } { *** 159,164 **** --- 159,167 ---- regsub -all "(^|\n)\[ \t\]*\[\(\]file \[^\n\]* value=\[^\n\]*; file \[^\n\]* value=\[^\n\]*\[)\];" $text "" text regsub -all "(^|\n)\[ \t\]*\[^\n\]* definition taken" $text "" text + # Ignore missing jobserver for tests that do more than 1 LTRANS unit + regsub -all "(^|\n)\[^\n\]*: warning: using serial compilation of \[^\n\]*" $text "" text + # Ignore informational notes. regsub -all "(^|\n)\[^\n\]*: note: \[^\n\]*" $text "" text diff -Nrcpad gcc-10.4.0/gcc/testsuite/lib/prune.exp gcc-10.5.0/gcc/testsuite/lib/prune.exp *** gcc-10.4.0/gcc/testsuite/lib/prune.exp Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/lib/prune.exp Fri Jul 7 07:08:21 2023 *************** proc prune_gcc_output { text } { *** 82,87 **** --- 82,94 ---- # Ignore dsymutil warning (tool bug is actually linker) regsub -all "(^|\n)\[^\n\]*could not find object file symbol for symbol\[^\n\]*" $text "" text + # Ignore missing lto jobserver for tests that do more than 1 LTRANS unit + regsub -all "(^|\n)\[^\n\]*lto\[^\n\]*: warning: using serial compilation of \[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*lto\[^\n\]*: note: see the \[^\n\]*'-flto' option documentation\[^\n\]* for more information" $text "" text + + # Many tests that use visibility will still pass on platforms that don't support it. + regsub -all "(^|\n)\[^\n\]*lto1: warning: visibility attribute not supported in this configuration; ignored\[^\n\]*" $text "" text + # If dg-enable-nn-line-numbers was provided, then obscure source-margin # line numbers by converting them to "NN" form. set text [maybe-handle-nn-line-numbers $text] diff -Nrcpad gcc-10.4.0/gcc/testsuite/lib/target-supports.exp gcc-10.5.0/gcc/testsuite/lib/target-supports.exp *** gcc-10.4.0/gcc/testsuite/lib/target-supports.exp Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/testsuite/lib/target-supports.exp Fri Jul 7 07:08:21 2023 *************** proc check_effective_target_powerpc_p9mo *** 5863,5915 **** # return 1 if our compiler returns the ARCH_PWR defines with the options # as provided by the test. proc check_effective_target_has_arch_pwr5 { } { ! return [check_no_compiler_messages arch_pwr5 assembly { #ifndef _ARCH_PWR5 #error does not have power5 support. #else /* "has power5 support" */ #endif ! }] } proc check_effective_target_has_arch_pwr6 { } { ! return [check_no_compiler_messages arch_pwr6 assembly { #ifndef _ARCH_PWR6 #error does not have power6 support. #else /* "has power6 support" */ #endif ! }] } proc check_effective_target_has_arch_pwr7 { } { ! return [check_no_compiler_messages arch_pwr7 assembly { #ifndef _ARCH_PWR7 #error does not have power7 support. #else /* "has power7 support" */ #endif ! }] } proc check_effective_target_has_arch_pwr8 { } { ! return [check_no_compiler_messages arch_pwr8 assembly { #ifndef _ARCH_PWR8 #error does not have power8 support. #else /* "has power8 support" */ #endif ! }] } proc check_effective_target_has_arch_pwr9 { } { ! return [check_no_compiler_messages arch_pwr9 assembly { #ifndef _ARCH_PWR9 #error does not have power9 support. #else /* "has power9 support" */ #endif ! }] } # Return 1 if this is a PowerPC target supporting -mcpu=power10. --- 5863,5943 ---- # return 1 if our compiler returns the ARCH_PWR defines with the options # as provided by the test. proc check_effective_target_has_arch_pwr5 { } { ! return [check_no_compiler_messages_nocache arch_pwr5 assembly { ! void test (void) ! { #ifndef _ARCH_PWR5 #error does not have power5 support. #else /* "has power5 support" */ #endif ! } ! } [current_compiler_flags]] } proc check_effective_target_has_arch_pwr6 { } { ! return [check_no_compiler_messages_nocache arch_pwr6 assembly { ! void test (void) ! { #ifndef _ARCH_PWR6 #error does not have power6 support. #else /* "has power6 support" */ #endif ! } ! } [current_compiler_flags]] } proc check_effective_target_has_arch_pwr7 { } { ! return [check_no_compiler_messages_nocache arch_pwr7 assembly { ! void test (void) ! { #ifndef _ARCH_PWR7 #error does not have power7 support. #else /* "has power7 support" */ #endif ! } ! } [current_compiler_flags]] } proc check_effective_target_has_arch_pwr8 { } { ! return [check_no_compiler_messages_nocache arch_pwr8 assembly { ! void test (void) ! { #ifndef _ARCH_PWR8 #error does not have power8 support. #else /* "has power8 support" */ #endif ! } ! } [current_compiler_flags]] } proc check_effective_target_has_arch_pwr9 { } { ! return [check_no_compiler_messages_nocache arch_pwr9 assembly { ! void test (void) ! { #ifndef _ARCH_PWR9 #error does not have power9 support. #else /* "has power9 support" */ #endif ! } ! } [current_compiler_flags]] ! } ! ! proc check_effective_target_has_arch_ppc64 { } { ! return [check_no_compiler_messages_nocache arch_ppc64 assembly { ! void test (void) ! { ! #ifndef _ARCH_PPC64 ! #error does not have ppc64 support. ! #else ! /* "has ppc64 support" */ ! #endif ! } ! } [current_compiler_flags]] } # Return 1 if this is a PowerPC target supporting -mcpu=power10. *************** proc check_effective_target_powerpc_floa *** 5995,6003 **** --- 6023,6034 ---- proc check_effective_target_ppc_float128 { } { return [check_no_compiler_messages_nocache ppc_float128 object { + void test (void) + { #ifndef __FLOAT128__ nope no good #endif + } }] } *************** proc check_effective_target_ppc_float128 *** 6005,6013 **** --- 6036,6047 ---- proc check_effective_target_ppc_float128_insns { } { return [check_no_compiler_messages_nocache ppc_float128 object { + void test (void) + { #ifndef __FLOAT128_HARDWARE__ nope no good #endif + } }] } *************** proc check_effective_target_ppc_float128 *** 6015,6023 **** --- 6049,6060 ---- proc check_effective_target_powerpc_vsx { } { return [check_no_compiler_messages_nocache powerpc_vsx object { + void test (void) + { #ifndef __VSX__ nope no vsx #endif + } }] } diff -Nrcpad gcc-10.4.0/gcc/tree-inline.c gcc-10.5.0/gcc/tree-inline.c *** gcc-10.4.0/gcc/tree-inline.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-inline.c Fri Jul 7 07:08:21 2023 *************** remap_gimple_stmt (gimple *stmt, copy_bo *** 1979,1989 **** || gimple_assign_rhs_code (ass) == VEC_COND_EXPR) && gimple_could_trap_p (ass)) { ! gassign *cmp ! = gimple_build_assign (make_ssa_name (boolean_type_node), ! gimple_assign_rhs1 (ass)); gimple_seq_add_stmt (&stmts, cmp); ! gimple_assign_set_rhs1 (ass, gimple_assign_lhs (cmp)); } } --- 1979,1988 ---- || gimple_assign_rhs_code (ass) == VEC_COND_EXPR) && gimple_could_trap_p (ass)) { ! tree def = make_ssa_name (TREE_TYPE (gimple_assign_rhs1 (ass))); ! gassign *cmp = gimple_build_assign (def, gimple_assign_rhs1 (ass)); gimple_seq_add_stmt (&stmts, cmp); ! gimple_assign_set_rhs1 (ass, def); } } *************** initialize_cfun (tree new_fndecl, tree c *** 2770,2785 **** { struct function *src_cfun = DECL_STRUCT_FUNCTION (callee_fndecl); - if (!DECL_ARGUMENTS (new_fndecl)) - DECL_ARGUMENTS (new_fndecl) = DECL_ARGUMENTS (callee_fndecl); - if (!DECL_RESULT (new_fndecl)) - DECL_RESULT (new_fndecl) = DECL_RESULT (callee_fndecl); - /* Register specific tree functions. */ gimple_register_cfg_hooks (); /* Get clean struct function. */ ! push_struct_function (new_fndecl); /* We will rebuild these, so just sanity check that they are empty. */ gcc_assert (VALUE_HISTOGRAMS (cfun) == NULL); --- 2769,2780 ---- { struct function *src_cfun = DECL_STRUCT_FUNCTION (callee_fndecl); /* Register specific tree functions. */ gimple_register_cfg_hooks (); /* Get clean struct function. */ ! push_struct_function (new_fndecl, true); ! targetm.target_option.relayout_function (new_fndecl); /* We will rebuild these, so just sanity check that they are empty. */ gcc_assert (VALUE_HISTOGRAMS (cfun) == NULL); *************** tree_function_versioning (tree old_decl, *** 6267,6274 **** id.transform_parameter = false; id.transform_lang_insert_block = NULL; ! old_entry_block = ENTRY_BLOCK_PTR_FOR_FN ! (DECL_STRUCT_FUNCTION (old_decl)); DECL_RESULT (new_decl) = DECL_RESULT (old_decl); DECL_ARGUMENTS (new_decl) = DECL_ARGUMENTS (old_decl); initialize_cfun (new_decl, old_decl, --- 6262,6268 ---- id.transform_parameter = false; id.transform_lang_insert_block = NULL; ! old_entry_block = ENTRY_BLOCK_PTR_FOR_FN (DECL_STRUCT_FUNCTION (old_decl)); DECL_RESULT (new_decl) = DECL_RESULT (old_decl); DECL_ARGUMENTS (new_decl) = DECL_ARGUMENTS (old_decl); initialize_cfun (new_decl, old_decl, diff -Nrcpad gcc-10.4.0/gcc/tree-loop-distribution.c gcc-10.5.0/gcc/tree-loop-distribution.c *** gcc-10.4.0/gcc/tree-loop-distribution.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-loop-distribution.c Fri Jul 7 07:08:21 2023 *************** struct pg_edge_callback_data *** 2158,2165 **** bitmap sccs_to_merge; /* Array constains component information for all vertices. */ int *vertices_component; - /* Array constains postorder information for all vertices. */ - int *vertices_post; /* Vector to record all data dependence relations which are needed to break strong connected components by runtime alias checks. */ vec *alias_ddrs; --- 2158,2163 ---- *************** pg_collect_alias_ddrs (struct graph *g, *** 2408,2413 **** --- 2406,2438 ---- cbdata->alias_ddrs->safe_splice (edata->alias_ddrs); } + /* Callback function for traversing edge E. DATA is private + callback data. */ + + static void + pg_unmark_merged_alias_ddrs (struct graph *, struct graph_edge *e, void *data) + { + int i, j, component; + struct pg_edge_callback_data *cbdata; + struct pg_edata *edata = (struct pg_edata *) e->data; + + if (edata == NULL || edata->alias_ddrs.length () == 0) + return; + + cbdata = (struct pg_edge_callback_data *) data; + i = e->src; + j = e->dest; + component = cbdata->vertices_component[i]; + /* Make sure to not skip vertices inside SCCs we are going to merge. */ + if (component == cbdata->vertices_component[j] + && bitmap_bit_p (cbdata->sccs_to_merge, component)) + { + edata->alias_ddrs.release (); + delete edata; + e->data = NULL; + } + } + /* This is the main function breaking strong conected components in PARTITIONS giving reduced depdendence graph RDG. Store data dependence relations for runtime alias check in ALIAS_DDRS. */ *************** loop_distribution::break_alias_scc_parti *** 2467,2473 **** cbdata.sccs_to_merge = sccs_to_merge; cbdata.alias_ddrs = alias_ddrs; cbdata.vertices_component = XNEWVEC (int, pg->n_vertices); - cbdata.vertices_post = XNEWVEC (int, pg->n_vertices); /* Record the component information which will be corrupted by next graph scc finding call. */ for (i = 0; i < pg->n_vertices; ++i) --- 2492,2497 ---- *************** loop_distribution::break_alias_scc_parti *** 2476,2492 **** /* Collect data dependences for runtime alias checks to break SCCs. */ if (bitmap_count_bits (sccs_to_merge) != (unsigned) num_sccs) { ! /* Record the postorder information which will be corrupted by next ! graph SCC finding call. */ ! for (i = 0; i < pg->n_vertices; ++i) ! cbdata.vertices_post[i] = pg->vertices[i].post; /* Run SCC finding algorithm again, with alias dependence edges skipped. This is to topologically sort partitions according to compilation time known dependence. Note the topological order is stored in the form of pg's post order number. */ num_sccs_no_alias = graphds_scc (pg, NULL, pg_skip_alias_edge); ! gcc_assert (partitions->length () == (unsigned) num_sccs_no_alias); /* With topological order, we can construct two subgraphs L and R. L contains edge where x < y in terms of post order, while R contains edge where x > y. Edges for compilation time --- 2500,2517 ---- /* Collect data dependences for runtime alias checks to break SCCs. */ if (bitmap_count_bits (sccs_to_merge) != (unsigned) num_sccs) { ! /* For SCCs we want to merge clear all alias_ddrs for edges ! inside the component. */ ! for_each_edge (pg, pg_unmark_merged_alias_ddrs, &cbdata); /* Run SCC finding algorithm again, with alias dependence edges skipped. This is to topologically sort partitions according to compilation time known dependence. Note the topological order is stored in the form of pg's post order number. */ num_sccs_no_alias = graphds_scc (pg, NULL, pg_skip_alias_edge); ! /* We cannot assert partitions->length () == num_sccs_no_alias ! since we are not ignoring alias edges in cycles we are ! going to merge. That's required to compute correct postorder. */ /* With topological order, we can construct two subgraphs L and R. L contains edge where x < y in terms of post order, while R contains edge where x > y. Edges for compilation time *************** loop_distribution::break_alias_scc_parti *** 2521,2536 **** first->type = PTYPE_SEQUENTIAL; } } ! /* Restore the postorder information if it's corrupted in finding SCC ! with alias dependence edges skipped. If reduction partition's SCC is ! broken by runtime alias checks, we force a negative post order to it ! making sure it will be scheduled in the last. */ if (num_sccs_no_alias > 0) { j = -1; for (i = 0; i < pg->n_vertices; ++i) { - pg->vertices[i].post = cbdata.vertices_post[i]; struct pg_vdata *data = (struct pg_vdata *)pg->vertices[i].data; if (data->partition && partition_reduction_p (data->partition)) { --- 2546,2559 ---- first->type = PTYPE_SEQUENTIAL; } } ! /* If reduction partition's SCC is broken by runtime alias checks, ! we force a negative post order to it making sure it will be scheduled ! in the last. */ if (num_sccs_no_alias > 0) { j = -1; for (i = 0; i < pg->n_vertices; ++i) { struct pg_vdata *data = (struct pg_vdata *)pg->vertices[i].data; if (data->partition && partition_reduction_p (data->partition)) { *************** loop_distribution::break_alias_scc_parti *** 2543,2549 **** } free (cbdata.vertices_component); - free (cbdata.vertices_post); } sort_partitions_by_post_order (pg, partitions); --- 2566,2571 ---- diff -Nrcpad gcc-10.4.0/gcc/tree-nested.c gcc-10.5.0/gcc/tree-nested.c *** gcc-10.4.0/gcc/tree-nested.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-nested.c Fri Jul 7 07:08:21 2023 *************** convert_nonlocal_omp_clauses (tree *pcla *** 1448,1476 **** break; case OMP_CLAUSE_LASTPRIVATE: - { - tree save_local_var_chain = info->new_local_var_chain; - info->new_local_var_chain = NULL; - gimple_seq *seq = &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause); - walk_body (convert_nonlocal_reference_stmt, - convert_nonlocal_reference_op, info, seq); - if (info->new_local_var_chain) - declare_vars (info->new_local_var_chain, - gimple_seq_first_stmt (*seq), false); - info->new_local_var_chain = save_local_var_chain; - } - break; - case OMP_CLAUSE_LINEAR: { tree save_local_var_chain = info->new_local_var_chain; info->new_local_var_chain = NULL; ! gimple_seq *seq = &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause); walk_body (convert_nonlocal_reference_stmt, convert_nonlocal_reference_op, info, seq); if (info->new_local_var_chain) ! declare_vars (info->new_local_var_chain, ! gimple_seq_first_stmt (*seq), false); info->new_local_var_chain = save_local_var_chain; } break; --- 1448,1476 ---- break; case OMP_CLAUSE_LASTPRIVATE: case OMP_CLAUSE_LINEAR: { tree save_local_var_chain = info->new_local_var_chain; info->new_local_var_chain = NULL; ! gimple_seq *seq; ! if (OMP_CLAUSE_CODE (clause) == OMP_CLAUSE_LASTPRIVATE) ! seq = &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause); ! else ! seq = &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause); walk_body (convert_nonlocal_reference_stmt, convert_nonlocal_reference_op, info, seq); if (info->new_local_var_chain) ! { ! gimple *g = gimple_seq_first_stmt (*seq); ! if (gimple_code (g) != GIMPLE_BIND) ! { ! g = gimple_build_bind (NULL_TREE, *seq, NULL_TREE); ! *seq = NULL; ! gimple_seq_add_stmt_without_update (seq, g); ! } ! declare_vars (info->new_local_var_chain, ! gimple_seq_first_stmt (*seq), false); ! } info->new_local_var_chain = save_local_var_chain; } break; diff -Nrcpad gcc-10.4.0/gcc/tree-sra.c gcc-10.5.0/gcc/tree-sra.c *** gcc-10.4.0/gcc/tree-sra.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-sra.c Fri Jul 7 07:08:21 2023 *************** build_ref_for_offset (location_t loc, tr *** 1647,1653 **** static tree build_reconstructed_reference (location_t, tree base, struct access *model) { ! tree expr = model->expr, prev_expr = NULL; while (!types_compatible_p (TREE_TYPE (expr), TREE_TYPE (base))) { if (!handled_component_p (expr)) --- 1647,1664 ---- static tree build_reconstructed_reference (location_t, tree base, struct access *model) { ! tree expr = model->expr; ! /* We have to make sure to start just below the outermost union. */ ! tree start_expr = expr; ! while (handled_component_p (expr)) ! { ! if (TREE_CODE (TREE_TYPE (TREE_OPERAND (expr, 0))) == UNION_TYPE) ! start_expr = expr; ! expr = TREE_OPERAND (expr, 0); ! } ! ! expr = start_expr; ! tree prev_expr = NULL_TREE; while (!types_compatible_p (TREE_TYPE (expr), TREE_TYPE (base))) { if (!handled_component_p (expr)) diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-ccp.c gcc-10.5.0/gcc/tree-ssa-ccp.c *** gcc-10.4.0/gcc/tree-ssa-ccp.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-ccp.c Fri Jul 7 07:08:21 2023 *************** bit_value_binop (enum tree_code code, si *** 1412,1417 **** --- 1412,1419 ---- *mask = wi::lrotate (r1mask, shift, width); *val = wi::lrotate (r1val, shift, width); } + *mask = wi::ext (*mask, width, sgn); + *val = wi::ext (*val, width, sgn); } } break; diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-dom.c gcc-10.5.0/gcc/tree-ssa-dom.c *** gcc-10.4.0/gcc/tree-ssa-dom.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-dom.c Fri Jul 7 07:08:21 2023 *************** record_edge_info (basic_block bb) *** 540,548 **** { tree cond = build2 (code, boolean_type_node, op0, op1); tree inverted = invert_truthvalue_loc (loc, cond); ! bool can_infer_simple_equiv ! = !(HONOR_SIGNED_ZEROS (op0) ! && real_zerop (op0)); class edge_info *edge_info; edge_info = new class edge_info (true_edge); --- 540,548 ---- { tree cond = build2 (code, boolean_type_node, op0, op1); tree inverted = invert_truthvalue_loc (loc, cond); ! bool can_infer_simple_equiv ! = !(HONOR_SIGNED_ZEROS (op0) && real_maybe_zerop (op0)) ! && !DECIMAL_FLOAT_MODE_P (element_mode (TREE_TYPE (op0))); class edge_info *edge_info; edge_info = new class edge_info (true_edge); *************** record_edge_info (basic_block bb) *** 564,572 **** { tree cond = build2 (code, boolean_type_node, op0, op1); tree inverted = invert_truthvalue_loc (loc, cond); ! bool can_infer_simple_equiv ! = !(HONOR_SIGNED_ZEROS (op1) ! && (TREE_CODE (op1) == SSA_NAME || real_zerop (op1))); class edge_info *edge_info; edge_info = new class edge_info (true_edge); --- 564,572 ---- { tree cond = build2 (code, boolean_type_node, op0, op1); tree inverted = invert_truthvalue_loc (loc, cond); ! bool can_infer_simple_equiv ! = !(HONOR_SIGNED_ZEROS (op1) && real_maybe_zerop (op1)) ! && !DECIMAL_FLOAT_MODE_P (element_mode (TREE_TYPE (op1))); class edge_info *edge_info; edge_info = new class edge_info (true_edge); diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-loop-ivopts.c gcc-10.5.0/gcc/tree-ssa-loop-ivopts.c *** gcc-10.4.0/gcc/tree-ssa-loop-ivopts.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-loop-ivopts.c Fri Jul 7 07:08:21 2023 *************** along with GCC; see the file COPYING3. *** 131,136 **** --- 131,137 ---- #include "builtins.h" #include "tree-vectorizer.h" #include "dbgcnt.h" + #include "cfganal.h" /* For lang_hooks.types.type_for_mode. */ #include "langhooks.h" *************** create_new_iv (struct ivopts_data *data, *** 7105,7110 **** --- 7106,7117 ---- case IP_END: incr_pos = gsi_last_bb (ip_end_pos (data->current_loop)); after = true; + if (!gsi_end_p (incr_pos) && stmt_ends_bb_p (gsi_stmt (incr_pos))) + { + edge e = find_edge (gsi_bb (incr_pos), data->current_loop->header); + incr_pos = gsi_after_labels (split_edge (e)); + after = false; + } break; case IP_AFTER_USE: diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-reassoc.c gcc-10.5.0/gcc/tree-ssa-reassoc.c *** gcc-10.4.0/gcc/tree-ssa-reassoc.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-reassoc.c Fri Jul 7 07:08:21 2023 *************** build_and_add_sum (tree type, tree op1, *** 1495,1500 **** --- 1495,1509 ---- && (!op2def || gimple_nop_p (op2def))) { gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun))); + if (!gsi_end_p (gsi) + && is_gimple_call (gsi_stmt (gsi)) + && (gimple_call_flags (gsi_stmt (gsi)) & ECF_RETURNS_TWICE)) + { + /* Don't add statements before a returns_twice call at the start + of a function. */ + split_edge (single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))); + gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun))); + } if (gsi_end_p (gsi)) { gimple_stmt_iterator gsi2 diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-sccvn.c gcc-10.5.0/gcc/tree-ssa-sccvn.c *** gcc-10.4.0/gcc/tree-ssa-sccvn.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-sccvn.c Fri Jul 7 07:08:21 2023 *************** vn_reference_lookup_3 (ao_ref *ref, tree *** 3136,3147 **** poly_int64 extra_off = 0; if (j == 0 && i >= 0 && lhs_ops[0].opcode == MEM_REF ! && maybe_ne (lhs_ops[0].off, -1)) { if (known_eq (lhs_ops[0].off, vr->operands[i].off)) i--, j--; else if (vr->operands[i].opcode == MEM_REF ! && maybe_ne (vr->operands[i].off, -1)) { extra_off = vr->operands[i].off - lhs_ops[0].off; i--, j--; --- 3136,3147 ---- poly_int64 extra_off = 0; if (j == 0 && i >= 0 && lhs_ops[0].opcode == MEM_REF ! && known_ne (lhs_ops[0].off, -1)) { if (known_eq (lhs_ops[0].off, vr->operands[i].off)) i--, j--; else if (vr->operands[i].opcode == MEM_REF ! && known_ne (vr->operands[i].off, -1)) { extra_off = vr->operands[i].off - lhs_ops[0].off; i--, j--; *************** vn_reference_lookup_3 (ao_ref *ref, tree *** 3168,3173 **** --- 3168,3174 ---- copy_reference_ops_from_ref (rhs1, &rhs); /* Apply an extra offset to the inner MEM_REF of the RHS. */ + bool force_no_tbaa = false; if (maybe_ne (extra_off, 0)) { if (rhs.length () < 2) *************** vn_reference_lookup_3 (ao_ref *ref, tree *** 3180,3185 **** --- 3181,3190 ---- rhs[ix].op0 = int_const_binop (PLUS_EXPR, rhs[ix].op0, build_int_cst (TREE_TYPE (rhs[ix].op0), extra_off)); + /* When we have offsetted the RHS, reading only parts of it, + we can no longer use the original TBAA type, force alias-set + zero. */ + force_no_tbaa = true; } /* Save the operands since we need to use the original ones for *************** vn_reference_lookup_3 (ao_ref *ref, tree *** 3232,3239 **** /* Adjust *ref from the new operands. */ ao_ref rhs1_ref; ao_ref_init (&rhs1_ref, rhs1); ! if (!ao_ref_init_from_vn_reference (&r, ao_ref_alias_set (&rhs1_ref), ! ao_ref_base_alias_set (&rhs1_ref), vr->type, vr->operands)) return (void *)-1; /* This can happen with bitfields. */ --- 3237,3247 ---- /* Adjust *ref from the new operands. */ ao_ref rhs1_ref; ao_ref_init (&rhs1_ref, rhs1); ! if (!ao_ref_init_from_vn_reference (&r, ! force_no_tbaa ? 0 ! : ao_ref_alias_set (&rhs1_ref), ! force_no_tbaa ? 0 ! : ao_ref_base_alias_set (&rhs1_ref), vr->type, vr->operands)) return (void *)-1; /* This can happen with bitfields. */ *************** valueized_wider_op (tree wide_type, tree *** 4758,4764 **** /* For constants simply extend it. */ if (TREE_CODE (op) == INTEGER_CST) ! return wide_int_to_tree (wide_type, wi::to_wide (op)); return NULL_TREE; } --- 4766,4772 ---- /* For constants simply extend it. */ if (TREE_CODE (op) == INTEGER_CST) ! return wide_int_to_tree (wide_type, wi::to_widest (op)); return NULL_TREE; } *************** visit_reference_op_store (tree lhs, tree *** 5105,5123 **** if (!resultsame) { - /* Only perform the following when being called from PRE - which embeds tail merging. */ - if (default_vn_walk_kind == VN_WALK) - { - assign = build2 (MODIFY_EXPR, TREE_TYPE (lhs), lhs, op); - vn_reference_lookup (assign, vuse, VN_NOWALK, &vnresult, false); - if (vnresult) - { - VN_INFO (vdef)->visited = true; - return set_ssa_val_to (vdef, vnresult->result_vdef); - } - } - if (dump_file && (dump_flags & TDF_DETAILS)) { fprintf (dump_file, "No store match\n"); --- 5113,5118 ---- *************** visit_reference_op_store (tree lhs, tree *** 5142,5148 **** if (default_vn_walk_kind == VN_WALK) { assign = build2 (MODIFY_EXPR, TREE_TYPE (lhs), lhs, op); ! vn_reference_insert (assign, lhs, vuse, vdef); } } else --- 5137,5145 ---- if (default_vn_walk_kind == VN_WALK) { assign = build2 (MODIFY_EXPR, TREE_TYPE (lhs), lhs, op); ! vn_reference_lookup (assign, vuse, VN_NOWALK, &vnresult, false); ! if (!vnresult) ! vn_reference_insert (assign, lhs, vuse, vdef); } } else diff -Nrcpad gcc-10.4.0/gcc/tree-ssa-strlen.c gcc-10.5.0/gcc/tree-ssa-strlen.c *** gcc-10.4.0/gcc/tree-ssa-strlen.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa-strlen.c Fri Jul 7 07:08:21 2023 *************** count_nonzero_bytes (tree exp, unsigned *** 4783,4789 **** /* Compute the number of leading nonzero bytes in the representation and update the minimum and maximum. */ ! unsigned n = prep ? strnlen (prep, nbytes) : nbytes; if (n < lenrange[0]) lenrange[0] = n; --- 4783,4789 ---- /* Compute the number of leading nonzero bytes in the representation and update the minimum and maximum. */ ! unsigned HOST_WIDE_INT n = prep ? strnlen (prep, nbytes) : nbytes; if (n < lenrange[0]) lenrange[0] = n; diff -Nrcpad gcc-10.4.0/gcc/tree-ssa.c gcc-10.5.0/gcc/tree-ssa.c *** gcc-10.4.0/gcc/tree-ssa.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree-ssa.c Fri Jul 7 07:08:21 2023 *************** maybe_rewrite_mem_ref_base (tree *tp, bi *** 1409,1414 **** --- 1409,1416 ---- && (! INTEGRAL_TYPE_P (TREE_TYPE (*tp)) || (wi::to_offset (TYPE_SIZE (TREE_TYPE (*tp))) == TYPE_PRECISION (TREE_TYPE (*tp)))) + && (! INTEGRAL_TYPE_P (TREE_TYPE (sym)) + || type_has_mode_precision_p (TREE_TYPE (sym))) && wi::umod_trunc (wi::to_offset (TYPE_SIZE (TREE_TYPE (*tp))), BITS_PER_UNIT) == 0) { *************** non_rewritable_mem_ref_base (tree ref) *** 1481,1486 **** --- 1483,1492 ---- && (! INTEGRAL_TYPE_P (TREE_TYPE (base)) || (wi::to_offset (TYPE_SIZE (TREE_TYPE (base))) == TYPE_PRECISION (TREE_TYPE (base)))) + /* ??? Likewise for extracts from bitfields, we'd have + to pun the base object to a size precision mode first. */ + && (! INTEGRAL_TYPE_P (TREE_TYPE (decl)) + || type_has_mode_precision_p (TREE_TYPE (decl))) && wi::umod_trunc (wi::to_offset (TYPE_SIZE (TREE_TYPE (base))), BITS_PER_UNIT) == 0) return NULL_TREE; diff -Nrcpad gcc-10.4.0/gcc/tree.c gcc-10.5.0/gcc/tree.c *** gcc-10.4.0/gcc/tree.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree.c Fri Jul 7 07:08:21 2023 *************** real_minus_onep (const_tree expr) *** 2927,2932 **** --- 2927,2961 ---- } } + /* Return true if T could be a floating point zero. */ + + bool + real_maybe_zerop (const_tree expr) + { + switch (TREE_CODE (expr)) + { + case REAL_CST: + /* Can't use real_zerop here, as it always returns false for decimal + floats. And can't use TREE_REAL_CST (expr).cl == rvc_zero + either, as decimal zeros are rvc_normal. */ + return real_equal (&TREE_REAL_CST (expr), &dconst0); + case COMPLEX_CST: + return (real_maybe_zerop (TREE_REALPART (expr)) + || real_maybe_zerop (TREE_IMAGPART (expr))); + case VECTOR_CST: + { + unsigned count = vector_cst_encoded_nelts (expr); + for (unsigned int i = 0; i < count; ++i) + if (real_maybe_zerop (VECTOR_CST_ENCODED_ELT (expr, i))) + return true; + return false; + } + default: + /* Perhaps for SSA_NAMEs we could query frange. */ + return true; + } + } + /* Nonzero if EXP is a constant or a cast of a constant. */ bool diff -Nrcpad gcc-10.4.0/gcc/tree.h gcc-10.5.0/gcc/tree.h *** gcc-10.4.0/gcc/tree.h Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/tree.h Fri Jul 7 07:08:21 2023 *************** extern bool needs_to_live_in_memory (con *** 5216,5221 **** --- 5216,5222 ---- extern tree reconstruct_complex_type (tree, tree); extern bool real_onep (const_tree); extern bool real_minus_onep (const_tree); + extern bool real_maybe_zerop (const_tree); extern void init_ttree (void); extern void build_common_tree_nodes (bool); extern void build_common_builtin_nodes (void); diff -Nrcpad gcc-10.4.0/gcc/varasm.c gcc-10.5.0/gcc/varasm.c *** gcc-10.4.0/gcc/varasm.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/varasm.c Fri Jul 7 07:08:21 2023 *************** assemble_variable (tree decl, int top_le *** 2322,2328 **** else { /* Special-case handling of vtv comdat sections. */ ! if (sect->named.name && (strcmp (sect->named.name, ".vtable_map_vars") == 0)) handle_vtv_comdat_section (sect, decl); else --- 2322,2328 ---- else { /* Special-case handling of vtv comdat sections. */ ! if (SECTION_STYLE (sect) == SECTION_NAMED && (strcmp (sect->named.name, ".vtable_map_vars") == 0)) handle_vtv_comdat_section (sect, decl); else diff -Nrcpad gcc-10.4.0/gcc/wide-int.cc gcc-10.5.0/gcc/wide-int.cc *** gcc-10.4.0/gcc/wide-int.cc Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/wide-int.cc Fri Jul 7 07:08:21 2023 *************** wi::shifted_mask (HOST_WIDE_INT *val, un *** 842,847 **** --- 842,854 ---- val[i++] = negate ? block : ~block; } + if (end >= prec) + { + if (!shift) + val[i++] = negate ? 0 : -1; + return i; + } + while (i < end / HOST_BITS_PER_WIDE_INT) /* 1111111 */ val[i++] = negate ? 0 : -1; *************** wi::shifted_mask (HOST_WIDE_INT *val, un *** 853,859 **** HOST_WIDE_INT block = (HOST_WIDE_INT_1U << shift) - 1; val[i++] = negate ? ~block : block; } ! else if (end < prec) val[i++] = negate ? -1 : 0; return i; --- 860,866 ---- HOST_WIDE_INT block = (HOST_WIDE_INT_1U << shift) - 1; val[i++] = negate ? ~block : block; } ! else val[i++] = negate ? -1 : 0; return i; *************** wide_int_cc_tests () *** 2549,2554 **** --- 2556,2565 ---- run_all_wide_int_tests (); test_overflow (); test_round_for_mask (); + ASSERT_EQ (wi::mask (128, false, 128), + wi::shifted_mask (0, 128, false, 128)); + ASSERT_EQ (wi::mask (128, true, 128), + wi::shifted_mask (0, 128, true, 128)); } } // namespace selftest diff -Nrcpad gcc-10.4.0/gcc/wide-int.h gcc-10.5.0/gcc/wide-int.h *** gcc-10.4.0/gcc/wide-int.h Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gcc/wide-int.h Fri Jul 7 07:08:21 2023 *************** wi::lrotate (const T1 &x, const T2 &y, u *** 3167,3175 **** width = precision; WI_UNARY_RESULT (T2) ymod = umod_trunc (y, width); WI_UNARY_RESULT (T1) left = wi::lshift (x, ymod); ! WI_UNARY_RESULT (T1) right = wi::lrshift (x, wi::sub (width, ymod)); if (width != precision) ! return wi::zext (left, width) | wi::zext (right, width); return left | right; } --- 3167,3177 ---- width = precision; WI_UNARY_RESULT (T2) ymod = umod_trunc (y, width); WI_UNARY_RESULT (T1) left = wi::lshift (x, ymod); ! WI_UNARY_RESULT (T1) right ! = wi::lrshift (width != precision ? wi::zext (x, width) : x, ! wi::sub (width, ymod)); if (width != precision) ! return wi::zext (left, width) | right; return left | right; } *************** wi::rrotate (const T1 &x, const T2 &y, u *** 3184,3193 **** if (width == 0) width = precision; WI_UNARY_RESULT (T2) ymod = umod_trunc (y, width); ! WI_UNARY_RESULT (T1) right = wi::lrshift (x, ymod); WI_UNARY_RESULT (T1) left = wi::lshift (x, wi::sub (width, ymod)); if (width != precision) ! return wi::zext (left, width) | wi::zext (right, width); return left | right; } --- 3186,3196 ---- if (width == 0) width = precision; WI_UNARY_RESULT (T2) ymod = umod_trunc (y, width); ! WI_UNARY_RESULT (T1) right ! = wi::lrshift (width != precision ? wi::zext (x, width) : x, ymod); WI_UNARY_RESULT (T1) left = wi::lshift (x, wi::sub (width, ymod)); if (width != precision) ! return wi::zext (left, width) | right; return left | right; } diff -Nrcpad gcc-10.4.0/gnattools/ChangeLog gcc-10.5.0/gnattools/ChangeLog *** gcc-10.4.0/gnattools/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gnattools/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/gotools/ChangeLog gcc-10.5.0/gotools/ChangeLog *** gcc-10.4.0/gotools/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/gotools/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/include/ChangeLog gcc-10.5.0/include/ChangeLog *** gcc-10.4.0/include/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/include/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/intl/ChangeLog gcc-10.5.0/intl/ChangeLog *** gcc-10.4.0/intl/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/intl/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libada/ChangeLog gcc-10.5.0/libada/ChangeLog *** gcc-10.4.0/libada/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libada/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libatomic/ChangeLog gcc-10.5.0/libatomic/ChangeLog *** gcc-10.4.0/libatomic/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libatomic/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,16 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-03-03 Stefan Schulze Frielinghaus + + Backported from master: + 2023-03-03 Stefan Schulze Frielinghaus + + * config/s390/cas_n.c: New file. + * config/s390/load_n.c: New file. + * config/s390/store_n.c: New file. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libatomic/config/s390/cas_n.c gcc-10.5.0/libatomic/config/s390/cas_n.c *** gcc-10.4.0/libatomic/config/s390/cas_n.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libatomic/config/s390/cas_n.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,65 ---- + /* Copyright (C) 2018-2023 Free Software Foundation, Inc. + + This file is part of the GNU Atomic Library (libatomic). + + Libatomic is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Libatomic is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + + #include + + + /* Analog to config/s390/exch_n.c. */ + + #if !DONE && N == 16 + bool + SIZE(libat_compare_exchange) (UTYPE *mptr, UTYPE *eptr, UTYPE newval, + int smodel, int fmodel UNUSED) + { + if (!((uintptr_t)mptr & 0xf)) + { + return __atomic_compare_exchange_n ( + (UTYPE *)__builtin_assume_aligned (mptr, 16), eptr, newval, false, + __ATOMIC_SEQ_CST, __ATOMIC_RELAXED); + } + else + { + UTYPE oldval; + UWORD magic; + bool ret; + + pre_seq_barrier (smodel); + magic = protect_start (mptr); + + oldval = *mptr; + ret = (oldval == *eptr); + if (ret) + *mptr = newval; + else + *eptr = oldval; + + protect_end (mptr, magic); + post_seq_barrier (smodel); + + return ret; + } + } + #define DONE 1 + #endif /* N == 16 */ + + #include "../../cas_n.c" diff -Nrcpad gcc-10.4.0/libatomic/config/s390/load_n.c gcc-10.5.0/libatomic/config/s390/load_n.c *** gcc-10.4.0/libatomic/config/s390/load_n.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libatomic/config/s390/load_n.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,57 ---- + /* Copyright (C) 2018-2023 Free Software Foundation, Inc. + + This file is part of the GNU Atomic Library (libatomic). + + Libatomic is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Libatomic is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + + #include + + + /* Analog to config/s390/exch_n.c. */ + + #if !DONE && N == 16 + UTYPE + SIZE(libat_load) (UTYPE *mptr, int smodel) + { + if (!((uintptr_t)mptr & 0xf)) + { + return __atomic_load_n ((UTYPE *)__builtin_assume_aligned (mptr, 16), + __ATOMIC_SEQ_CST); + } + else + { + UTYPE ret; + UWORD magic; + + pre_seq_barrier (smodel); + magic = protect_start (mptr); + + ret = *mptr; + + protect_end (mptr, magic); + post_seq_barrier (smodel); + + return ret; + } + } + #define DONE 1 + #endif /* N == 16 */ + + #include "../../load_n.c" diff -Nrcpad gcc-10.4.0/libatomic/config/s390/store_n.c gcc-10.5.0/libatomic/config/s390/store_n.c *** gcc-10.4.0/libatomic/config/s390/store_n.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libatomic/config/s390/store_n.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,54 ---- + /* Copyright (C) 2018-2023 Free Software Foundation, Inc. + + This file is part of the GNU Atomic Library (libatomic). + + Libatomic is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Libatomic is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + + #include + + + /* Analog to config/s390/exch_n.c. */ + + #if !DONE && N == 16 + void + SIZE(libat_store) (UTYPE *mptr, UTYPE newval, int smodel) + { + if (!((uintptr_t)mptr & 0xf)) + { + __atomic_store_n ((UTYPE *)__builtin_assume_aligned (mptr, 16), newval, + __ATOMIC_SEQ_CST); + } + else + { + UWORD magic; + + pre_seq_barrier (smodel); + magic = protect_start (mptr); + + *mptr = newval; + + protect_end (mptr, magic); + post_seq_barrier (smodel); + } + } + #define DONE 1 + #endif /* N == 16 */ + + #include "../../store_n.c" diff -Nrcpad gcc-10.4.0/libbacktrace/ChangeLog gcc-10.5.0/libbacktrace/ChangeLog *** gcc-10.4.0/libbacktrace/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libbacktrace/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libcc1/ChangeLog gcc-10.5.0/libcc1/ChangeLog *** gcc-10.4.0/libcc1/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libcc1/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libcpp/ChangeLog gcc-10.5.0/libcpp/ChangeLog *** gcc-10.4.0/libcpp/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libcpp/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,17 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2022-08-02 Lewis Hyatt + + Backported from master: + 2022-07-10 Lewis Hyatt + + PR preprocessor/97498 + * directives.c (destringize_and_run): Override the location of + the CPP_PRAGMA token from a _Pragma directive to the location of + the expansion point, as is done for the tokens lexed from it. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libcpp/directives.c gcc-10.5.0/libcpp/directives.c *** gcc-10.4.0/libcpp/directives.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libcpp/directives.c Fri Jul 7 07:08:21 2023 *************** destringize_and_run (cpp_reader *pfile, *** 1887,1892 **** --- 1887,1893 ---- maxcount = 50; toks = XNEWVEC (cpp_token, maxcount); toks[0] = pfile->directive_result; + toks[0].src_loc = expansion_loc; do { diff -Nrcpad gcc-10.4.0/libcpp/po/ChangeLog gcc-10.5.0/libcpp/po/ChangeLog *** gcc-10.4.0/libcpp/po/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libcpp/po/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libdecnumber/ChangeLog gcc-10.5.0/libdecnumber/ChangeLog *** gcc-10.4.0/libdecnumber/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libdecnumber/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libffi/ChangeLog gcc-10.5.0/libffi/ChangeLog *** gcc-10.4.0/libffi/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libffi/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgcc/ChangeLog gcc-10.5.0/libgcc/ChangeLog *** gcc-10.4.0/libgcc/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,68 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2023-05-19 Iain Sandoe + + * config.host: Arrange to set min Darwin OS versions from + the configured host version. + * config/darwin10-unwind-find-enc-func.c: Do not use current + headers, but declare the nexessary structures locally to the + versions in use for Mac OSX 10.6. + * config/t-darwin: Amend to handle configured min OS + versions. + * config/t-darwin-min-1: New. + * config/t-darwin-min-5: New. + * config/t-darwin-min-8: New. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2021-11-05 Iain Sandoe + + * config/darwin10-unwind-find-enc-func.c: Include libgcc_tm.h. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2022-12-24 Iain Sandoe + + * config/t-slibgcc-darwin (install-darwin-libgcc-stubs): Skip the + install of libgcc_s.1.dylib when the installation is into the build + gcc directory. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-09 Jakub Jelinek + + PR target/100758 + * config/i386/cpuinfo.c (cpu_indicator_init): Call + get_available_features for all CPUs with max_level >= 1, rather + than just Intel or AMD. + + 2023-02-20 Nelson Chu + + Backported from master: + 2021-12-06 Nelson Chu + + PR target/108339 + * config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and + then use HIDDEN_JUMPTARGET to target it since it is non-preemptible. + * config/riscv/riscv-asm.h: Added new macros HIDDEN_JUMPTARGET and + HIDDEN_DEF. + + 2023-02-20 Jim Wilson + + Backported from master: + 2020-06-02 Jim Wilson + + * config/riscv/div.S (__divdi3): For negative arguments, change bgez + to bgtz. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgcc/config/avr/libf7/ChangeLog gcc-10.5.0/libgcc/config/avr/libf7/ChangeLog *** gcc-10.4.0/libgcc/config/avr/libf7/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/avr/libf7/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,16 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2022-09-19 Georg-Johann Lay + + Backported from master: + 2022-09-19 Georg-Johann Lay + + PR target/99184 + * libf7-asm.sx (to_integer, to_unsigned): Don't round 16-bit + and 32-bit integers. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgcc/config/avr/libf7/libf7-asm.sx gcc-10.5.0/libgcc/config/avr/libf7/libf7-asm.sx *** gcc-10.4.0/libgcc/config/avr/libf7/libf7-asm.sx Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/avr/libf7/libf7-asm.sx Fri Jul 7 07:08:21 2023 *************** DEFUN to_integer *** 601,609 **** tst C6 brmi .Lsaturate.T ; > INTxx_MAX => saturate - rcall .Lround - brmi .Lsaturate.T ; > INTxx_MAX => saturate - brtc 9f ; >= 0 => return sbrc Mask, 5 .global __negdi2 --- 601,606 ---- *************** DEFUN to_integer *** 658,687 **** .global __clr_8 XJMP __clr_8 - .Lround: - ;; C6.7 is known to be 0 here. - ;; Return N = 1 iff we have to saturate. - cpi Mask, 0xf - breq .Lround16 - cpi Mask, 0x1f - breq .Lround32 - - ;; For now, no rounding in the 64-bit case. This rounding - ;; would have to be integrated into the right-shift. - cln - ret - - .Lround32: - rol C2 - adc C3, ZERO - adc C4, ZERO - rjmp 2f - - .Lround16: - rol C4 - 2: adc C5, ZERO - adc C6, ZERO - ret ENDF to_integer #endif /* F7MOD_to_integer_ */ --- 655,660 ---- *************** DEFUN to_unsigned *** 725,753 **** clr CA F7call lshrdi3 POP r16 - - ;; Rounding - ;; ??? C6.7 is known to be 0 here. - cpi Mask, 0xf - breq .Lround16 - cpi Mask, 0x1f - breq .Lround32 - - ;; For now, no rounding in the 64-bit case. This rounding - ;; would have to be integrated into the right-shift. - ret - - .Lround32: - rol C2 - adc C3, ZERO - adc C4, ZERO - rjmp 2f - - .Lround16: - rol C4 - 2: adc C5, ZERO - adc C6, ZERO - brcs .Lset_0xffff ; Rounding overflow => saturate ret .Lset_0xffff: --- 698,703 ---- diff -Nrcpad gcc-10.4.0/libgcc/config/darwin10-unwind-find-enc-func.c gcc-10.5.0/libgcc/config/darwin10-unwind-find-enc-func.c *** gcc-10.4.0/libgcc/config/darwin10-unwind-find-enc-func.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/darwin10-unwind-find-enc-func.c Fri Jul 7 07:08:21 2023 *************** *** 1,6 **** ! #include "tconfig.h" ! #include "tsystem.h" ! #include "unwind-dw2-fde.h" void * _darwin10_Unwind_FindEnclosingFunction (void *pc) --- 1,33 ---- ! #include "libgcc_tm.h" ! ! /* This shim is special, it needs to be built for Mac OSX 10.6 ! regardless of the current system version. ! We must also build it to use the unwinder layout that was ! present for 10.6 (and not update that). ! So we copy the referenced structures from unwind-dw2-fde.h ! to avoid pulling in newer system headers and/or changed ! layouts. */ ! struct dwarf_eh_bases ! { ! void *tbase; ! void *dbase; ! void *func; ! }; ! ! typedef int sword __attribute__ ((mode (SI))); ! typedef unsigned int uword __attribute__ ((mode (SI))); ! ! /* The first few fields of an FDE. */ ! struct dwarf_fde ! { ! uword length; ! sword CIE_delta; ! unsigned char pc_begin[]; ! } __attribute__ ((packed, aligned (__alignof__ (void *)))); ! ! typedef struct dwarf_fde fde; ! ! extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); void * _darwin10_Unwind_FindEnclosingFunction (void *pc) *************** _darwin10_Unwind_FindEnclosingFunction ( *** 9,13 **** const struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases); if (fde) return bases.func; ! return NULL; } --- 36,40 ---- const struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases); if (fde) return bases.func; ! return (void *) 0; } diff -Nrcpad gcc-10.4.0/libgcc/config/i386/cpuinfo.c gcc-10.5.0/libgcc/config/i386/cpuinfo.c *** gcc-10.4.0/libgcc/config/i386/cpuinfo.c Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/i386/cpuinfo.c Fri Jul 7 07:08:21 2023 *************** __cpu_indicator_init (void) *** 474,479 **** --- 474,482 ---- extended_model = (eax >> 12) & 0xf0; extended_family = (eax >> 20) & 0xff; + /* Find available features. */ + get_available_features (ecx, edx, max_level); + if (vendor == signature_INTEL_ebx) { /* Adjust model and family for Intel CPUS. */ *************** __cpu_indicator_init (void) *** 487,494 **** /* Get CPU type. */ get_intel_cpu (family, model, brand_id); - /* Find available features. */ - get_available_features (ecx, edx, max_level); __cpu_model.__cpu_vendor = VENDOR_INTEL; } else if (vendor == signature_AMD_ebx) --- 490,495 ---- *************** __cpu_indicator_init (void) *** 502,509 **** /* Get CPU type. */ get_amd_cpu (family, model); - /* Find available features. */ - get_available_features (ecx, edx, max_level); __cpu_model.__cpu_vendor = VENDOR_AMD; } else --- 503,508 ---- diff -Nrcpad gcc-10.4.0/libgcc/config/libbid/ChangeLog gcc-10.5.0/libgcc/config/libbid/ChangeLog *** gcc-10.4.0/libgcc/config/libbid/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/libbid/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgcc/config/riscv/div.S gcc-10.5.0/libgcc/config/riscv/div.S *** gcc-10.4.0/libgcc/config/riscv/div.S Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/riscv/div.S Fri Jul 7 07:08:21 2023 *************** FUNC_BEGIN (__udivsi3) *** 40,46 **** sll a0, a0, 32 sll a1, a1, 32 move t0, ra ! jal __udivdi3 sext.w a0, a0 jr t0 FUNC_END (__udivsi3) --- 40,46 ---- sll a0, a0, 32 sll a1, a1, 32 move t0, ra ! jal HIDDEN_JUMPTARGET(__udivdi3) sext.w a0, a0 jr t0 FUNC_END (__udivsi3) *************** FUNC_BEGIN (__umodsi3) *** 52,58 **** srl a0, a0, 32 srl a1, a1, 32 move t0, ra ! jal __udivdi3 sext.w a0, a1 jr t0 FUNC_END (__umodsi3) --- 52,58 ---- srl a0, a0, 32 srl a1, a1, 32 move t0, ra ! jal HIDDEN_JUMPTARGET(__udivdi3) sext.w a0, a1 jr t0 FUNC_END (__umodsi3) *************** FUNC_BEGIN (__udivdi3) *** 95,105 **** .L5: ret FUNC_END (__udivdi3) FUNC_BEGIN (__umoddi3) /* Call __udivdi3(a0, a1), then return the remainder, which is in a1. */ move t0, ra ! jal __udivdi3 move a0, a1 jr t0 FUNC_END (__umoddi3) --- 95,106 ---- .L5: ret FUNC_END (__udivdi3) + HIDDEN_DEF (__udivdi3) FUNC_BEGIN (__umoddi3) /* Call __udivdi3(a0, a1), then return the remainder, which is in a1. */ move t0, ra ! jal HIDDEN_JUMPTARGET(__udivdi3) move a0, a1 jr t0 FUNC_END (__umoddi3) *************** FUNC_END (__umoddi3) *** 107,120 **** /* Handle negative arguments to __divdi3. */ .L10: neg a0, a0 ! bgez a1, .L12 /* Compute __udivdi3(-a0, a1), then negate the result. */ neg a1, a1 ! j __udivdi3 /* Compute __udivdi3(-a0, -a1). */ ! .L11: /* Compute __udivdi3(a0, -a1), then negate the result. */ neg a1, a1 .L12: move t0, ra ! jal __udivdi3 neg a0, a0 jr t0 FUNC_END (__divdi3) --- 108,123 ---- /* Handle negative arguments to __divdi3. */ .L10: neg a0, a0 ! /* Zero is handled as a negative so that the result will not be inverted. */ ! bgtz a1, .L12 /* Compute __udivdi3(-a0, a1), then negate the result. */ ! neg a1, a1 ! j HIDDEN_JUMPTARGET(__udivdi3) /* Compute __udivdi3(-a0, -a1). */ ! .L11: /* Compute __udivdi3(a0, -a1), then negate the result. */ neg a1, a1 .L12: move t0, ra ! jal HIDDEN_JUMPTARGET(__udivdi3) neg a0, a0 jr t0 FUNC_END (__divdi3) *************** FUNC_BEGIN (__moddi3) *** 124,130 **** bltz a1, .L31 bltz a0, .L32 .L30: ! jal __udivdi3 /* The dividend is not negative. */ move a0, a1 jr t0 .L31: --- 127,133 ---- bltz a1, .L31 bltz a0, .L32 .L30: ! jal HIDDEN_JUMPTARGET(__udivdi3) /* The dividend is not negative. */ move a0, a1 jr t0 .L31: *************** FUNC_BEGIN (__moddi3) *** 132,138 **** bgez a0, .L30 .L32: neg a0, a0 ! jal __udivdi3 /* The dividend is hella negative. */ neg a0, a1 jr t0 FUNC_END (__moddi3) --- 135,141 ---- bgez a0, .L30 .L32: neg a0, a0 ! jal HIDDEN_JUMPTARGET(__udivdi3) /* The dividend is hella negative. */ neg a0, a1 jr t0 FUNC_END (__moddi3) diff -Nrcpad gcc-10.4.0/libgcc/config/riscv/riscv-asm.h gcc-10.5.0/libgcc/config/riscv/riscv-asm.h *** gcc-10.4.0/libgcc/config/riscv/riscv-asm.h Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/riscv/riscv-asm.h Fri Jul 7 07:08:21 2023 *************** X: *** 33,35 **** --- 33,41 ---- #define FUNC_ALIAS(X,Y) \ .globl X; \ X = Y + + #define CONCAT1(a, b) CONCAT2(a, b) + #define CONCAT2(a, b) a ## b + #define HIDDEN_JUMPTARGET(X) CONCAT1(__hidden_, X) + #define HIDDEN_DEF(X) FUNC_ALIAS(HIDDEN_JUMPTARGET(X), X); \ + .hidden HIDDEN_JUMPTARGET(X) diff -Nrcpad gcc-10.4.0/libgcc/config/t-darwin gcc-10.5.0/libgcc/config/t-darwin *** gcc-10.4.0/libgcc/config/t-darwin Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/t-darwin Fri Jul 7 07:08:21 2023 *************** *** 1,15 **** # Set this as a minimum (unless overriden by arch t-files) since it's a # reasonable lowest common denominator that works for all our archs. ! HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.4 crt3.o: $(srcdir)/config/darwin-crt3.c ! $(crt_compile) -mmacosx-version-min=10.4 -c $< crttms.o: $(srcdir)/config/darwin-crt-tm.c ! $(crt_compile) -mmacosx-version-min=10.4 -DSTART -c $< crttme.o: $(srcdir)/config/darwin-crt-tm.c ! $(crt_compile) -mmacosx-version-min=10.4 -DEND -c $< # Make emutls weak so that we can deal with -static-libgcc, override the # hidden visibility when this is present in libgcc_eh. --- 1,15 ---- # Set this as a minimum (unless overriden by arch t-files) since it's a # reasonable lowest common denominator that works for all our archs. ! HOST_LIBGCC2_CFLAGS += $(DARWIN_MIN_LIB_VERSION) crt3.o: $(srcdir)/config/darwin-crt3.c ! $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -c $< crttms.o: $(srcdir)/config/darwin-crt-tm.c ! $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DSTART -c $< crttme.o: $(srcdir)/config/darwin-crt-tm.c ! $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DEND -c $< # Make emutls weak so that we can deal with -static-libgcc, override the # hidden visibility when this is present in libgcc_eh. *************** libemutls_w.a: emutls_s.o *** 25,30 **** --- 25,32 ---- $(RANLIB_FOR_TARGET) $@ # Patch to __Unwind_Find_Enclosing_Function for Darwin10. + # This needs to be built for darwin10, regardless of the current platform + # version. d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c libgcc_tm.h $(crt_compile) -mmacosx-version-min=10.6 -c $< diff -Nrcpad gcc-10.4.0/libgcc/config/t-darwin-min-1 gcc-10.5.0/libgcc/config/t-darwin-min-1 *** gcc-10.4.0/libgcc/config/t-darwin-min-1 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgcc/config/t-darwin-min-1 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,3 ---- + # Support building with -mmacosx-version-min back to 10.1. + DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.4 + DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.1 diff -Nrcpad gcc-10.4.0/libgcc/config/t-darwin-min-5 gcc-10.5.0/libgcc/config/t-darwin-min-5 *** gcc-10.4.0/libgcc/config/t-darwin-min-5 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgcc/config/t-darwin-min-5 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,3 ---- + # Support building with -mmacosx-version-min back to 10.5. + DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.5 + DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.5 diff -Nrcpad gcc-10.4.0/libgcc/config/t-darwin-min-8 gcc-10.5.0/libgcc/config/t-darwin-min-8 *** gcc-10.4.0/libgcc/config/t-darwin-min-8 Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgcc/config/t-darwin-min-8 Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,3 ---- + # Support building with -mmacosx-version-min back to 10.8. + DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.8 + DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.8 diff -Nrcpad gcc-10.4.0/libgcc/config/t-slibgcc-darwin gcc-10.5.0/libgcc/config/t-slibgcc-darwin *** gcc-10.4.0/libgcc/config/t-slibgcc-darwin Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config/t-slibgcc-darwin Fri Jul 7 07:08:21 2023 *************** all: libgcc_ehs$(SHLIB_EXT) *** 72,85 **** LGCC_FILES += libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT) endif - - # Provide libgcc_s.1 for backwards compatibility. - LGCC_FILES += libgcc_s.1.dylib - endif INSTALL_FILES=$(LGCC_FILES) # For the toplevel multilib, build FAT dylibs including all the multilibs. ifeq ($(MULTIBUILDTOP),) --- 72,86 ---- LGCC_FILES += libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT) endif endif INSTALL_FILES=$(LGCC_FILES) + ifeq ($(BUILD_LIBGCCS1),YES) + # Provide libgcc_s.1 for backwards compatibility. + INSTALL_FILES += libgcc_s.1.dylib + endif + # For the toplevel multilib, build FAT dylibs including all the multilibs. ifeq ($(MULTIBUILDTOP),) *************** endif *** 158,166 **** install-darwin-libgcc-stubs : $(mkinstalldirs) $(DESTDIR)$(slibdir) ! for d in $(INSTALL_FILES) ; do \ ! $(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \ ! done else --- 159,173 ---- install-darwin-libgcc-stubs : $(mkinstalldirs) $(DESTDIR)$(slibdir) ! if test x$(slibdir) = x; then \ ! for d in $(LGCC_FILES) ; do \ ! $(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \ ! done; \ ! else \ ! for d in $(INSTALL_FILES) ; do \ ! $(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \ ! done; \ ! fi else diff -Nrcpad gcc-10.4.0/libgcc/config.host gcc-10.5.0/libgcc/config.host *** gcc-10.4.0/libgcc/config.host Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgcc/config.host Fri Jul 7 07:08:21 2023 *************** case ${host} in *** 228,233 **** --- 228,251 ---- ;; esac tmake_file="$tmake_file t-slibgcc-darwin" + # newer toolsets produce warnings when building for unsupported versions. + case ${host} in + *-*-darwin1[89]* | *-*-darwin2* ) + tmake_file="t-darwin-min-8 $tmake_file" + ;; + *-*-darwin9* | *-*-darwin1[0-7]*) + tmake_file="t-darwin-min-5 $tmake_file" + ;; + *-*-darwin[4-8]*) + tmake_file="t-darwin-min-1 $tmake_file" + ;; + *) + # Fall back to configuring for the oldest system known to work with + # all archs and the current sources. + tmake_file="t-darwin-min-5 $tmake_file" + echo "Warning: libgcc configured to support macOS 10.5" 1>&2 + ;; + esac extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o libemutls_w.a" ;; *-*-dragonfly*) diff -Nrcpad gcc-10.4.0/libgfortran/ChangeLog gcc-10.5.0/libgfortran/ChangeLog *** gcc-10.4.0/libgfortran/ChangeLog Tue Jun 28 08:54:30 2022 --- gcc-10.5.0/libgfortran/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgo/sysinfo.c gcc-10.5.0/libgo/sysinfo.c *** gcc-10.4.0/libgo/sysinfo.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgo/sysinfo.c Fri Jul 7 07:08:21 2023 *************** *** 150,158 **** #if defined(HAVE_LINUX_ETHER_H) #include #endif - #if defined(HAVE_LINUX_FS_H) - #include - #endif #if defined(HAVE_LINUX_REBOOT_H) #include #endif --- 150,155 ---- diff -Nrcpad gcc-10.4.0/libgomp/ChangeLog gcc-10.5.0/libgomp/ChangeLog *** gcc-10.4.0/libgomp/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgomp/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,52 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-02-16 Jakub Jelinek + + * libgomp.texi: Fix typos - theads -> threads. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-12-21 Jakub Jelinek + + PR c++/108180 + * testsuite/libgomp.c++/pr108180.C: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-10-12 Jakub Jelinek + + * task.c (gomp_create_artificial_team): Fix up handling of invocations + from within explicit task. + * target.c (GOMP_target_ext): Likewise. + * testsuite/libgomp.c/task-7.c: New test. + * testsuite/libgomp.c/task-8.c: New test. + * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test. + * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-09-24 Jakub Jelinek + + PR c/106981 + * testsuite/libgomp.c-c++-common/pr106981.c: New test. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2022-06-21 Jakub Jelinek + Paul Iannetta + + PR libgomp/106045 + * testsuite/libgomp.c/target-31.c: Add private (i) clause. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libgomp/libgomp.info gcc-10.5.0/libgomp/libgomp.info *** gcc-10.4.0/libgomp/libgomp.info Tue Jun 28 09:12:03 2022 --- gcc-10.5.0/libgomp/libgomp.info Fri Jul 7 07:21:34 2023 *************** *** 1,4 **** ! This is libgomp.info, produced by makeinfo version 6.8 from libgomp.texi. Copyright (C) 2006-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is libgomp.info, produced by makeinfo version 6.5 from libgomp.texi. Copyright (C) 2006-2020 Free Software Foundation, Inc. *************** linkage, and do not throw exceptions. *** 150,156 **** * omp_get_num_procs:: Number of processors online * omp_get_num_teams:: Number of teams * omp_get_num_threads:: Size of the active team ! * omp_get_proc_bind:: Whether theads may be moved between CPUs * omp_get_schedule:: Obtain the runtime scheduling method * omp_get_team_num:: Get team number * omp_get_team_size:: Number of threads in a team --- 150,156 ---- * omp_get_num_procs:: Number of processors online * omp_get_num_teams:: Number of teams * omp_get_num_threads:: Size of the active team ! * omp_get_proc_bind:: Whether threads may be moved between CPUs * omp_get_schedule:: Obtain the runtime scheduling method * omp_get_team_num:: Get team number * omp_get_team_size:: Number of threads in a team *************** _Reference_: *** 507,514 ****  File: libgomp.info, Node: omp_get_proc_bind, Next: omp_get_schedule, Prev: omp_get_num_threads, Up: Runtime Library Routines ! 2.15 'omp_get_proc_bind' - Whether theads may be moved between CPUs ! =================================================================== _Description_: This functions returns the currently active thread affinity policy, --- 507,514 ----  File: libgomp.info, Node: omp_get_proc_bind, Next: omp_get_schedule, Prev: omp_get_num_threads, Up: Runtime Library Routines ! 2.15 'omp_get_proc_bind' - Whether threads may be moved between CPUs ! ==================================================================== _Description_: This functions returns the currently active thread affinity policy, *************** beginning with 'GOMP_' are GNU extension *** 1177,1184 **** * OMP_MAX_TASK_PRIORITY:: Set the maximum task priority value * OMP_NESTED:: Nested parallel regions * OMP_NUM_THREADS:: Specifies the number of threads to use ! * OMP_PROC_BIND:: Whether theads may be moved between CPUs ! * OMP_PLACES:: Specifies on which CPUs the theads should be placed * OMP_STACKSIZE:: Set default thread stack size * OMP_SCHEDULE:: How threads are scheduled * OMP_THREAD_LIMIT:: Set the maximum number of threads --- 1177,1184 ---- * OMP_MAX_TASK_PRIORITY:: Set the maximum task priority value * OMP_NESTED:: Nested parallel regions * OMP_NUM_THREADS:: Specifies the number of threads to use ! * OMP_PROC_BIND:: Whether threads may be moved between CPUs ! * OMP_PLACES:: Specifies on which CPUs the threads should be placed * OMP_STACKSIZE:: Set default thread stack size * OMP_SCHEDULE:: How threads are scheduled * OMP_THREAD_LIMIT:: Set the maximum number of threads *************** _Reference_: *** 1335,1346 ****  File: libgomp.info, Node: OMP_PROC_BIND, Next: OMP_PLACES, Prev: OMP_NUM_THREADS, Up: Environment Variables ! 3.9 'OMP_PROC_BIND' - Whether theads may be moved between CPUs ! ============================================================== _Description_: Specifies whether threads may be moved between processors. If set ! to 'TRUE', OpenMP theads should not be moved; if set to 'FALSE' they may be moved. Alternatively, a comma separated list with the values 'MASTER', 'CLOSE' and 'SPREAD' can be used to specify the thread affinity policy for the corresponding nesting level. With --- 1335,1346 ----  File: libgomp.info, Node: OMP_PROC_BIND, Next: OMP_PLACES, Prev: OMP_NUM_THREADS, Up: Environment Variables ! 3.9 'OMP_PROC_BIND' - Whether threads may be moved between CPUs ! =============================================================== _Description_: Specifies whether threads may be moved between processors. If set ! to 'TRUE', OpenMP threads should not be moved; if set to 'FALSE' they may be moved. Alternatively, a comma separated list with the values 'MASTER', 'CLOSE' and 'SPREAD' can be used to specify the thread affinity policy for the corresponding nesting level. With *************** _Reference_: *** 1362,1369 ****  File: libgomp.info, Node: OMP_PLACES, Next: OMP_STACKSIZE, Prev: OMP_PROC_BIND, Up: Environment Variables ! 3.10 'OMP_PLACES' - Specifies on which CPUs the theads should be placed ! ======================================================================= _Description_: The thread placement can be either specified using an abstract name --- 1362,1369 ----  File: libgomp.info, Node: OMP_PLACES, Next: OMP_STACKSIZE, Prev: OMP_PROC_BIND, Up: Environment Variables ! 3.10 'OMP_PLACES' - Specifies on which CPUs the threads should be placed ! ======================================================================== _Description_: The thread placement can be either specified using an abstract name *************** Tag Table: *** 4979,5125 **** Node: Top2083 Node: Enabling OpenMP4645 Node: Runtime Library Routines5433 ! Node: omp_get_active_level8510 ! Node: omp_get_ancestor_thread_num9210 ! Node: omp_get_cancellation10140 ! Node: omp_get_default_device10954 ! Node: omp_get_dynamic11630 ! Node: omp_get_level12505 ! Node: omp_get_max_active_levels13125 ! Node: omp_get_max_task_priority13830 ! Node: omp_get_max_threads14450 ! Node: omp_get_nested15207 ! Node: omp_get_num_devices16121 ! Node: omp_get_num_procs16642 ! Node: omp_get_num_teams17181 ! Node: omp_get_num_threads17697 ! Node: omp_get_proc_bind18786 ! Node: omp_get_schedule19707 ! Node: omp_get_team_num20661 ! Node: omp_get_team_size21160 ! Node: omp_get_thread_limit22120 ! Node: omp_get_thread_num22739 ! Node: omp_in_parallel23610 ! Node: omp_in_final24259 ! Node: omp_is_initial_device24933 ! Node: omp_set_default_device25626 ! Node: omp_set_dynamic26417 ! Node: omp_set_max_active_levels27303 ! Node: omp_set_nested28080 ! Node: omp_set_num_threads28972 ! Node: omp_set_schedule29840 ! Node: omp_init_lock30921 ! Node: omp_set_lock31574 ! Node: omp_test_lock32429 ! Node: omp_unset_lock33405 ! Node: omp_destroy_lock34336 ! Node: omp_init_nest_lock35013 ! Node: omp_set_nest_lock35748 ! Node: omp_test_nest_lock36663 ! Node: omp_unset_nest_lock37690 ! Node: omp_destroy_nest_lock38705 ! Node: omp_get_wtick39456 ! Node: omp_get_wtime40048 ! Node: Environment Variables40824 ! Node: OMP_CANCELLATION42393 ! Node: OMP_DISPLAY_ENV42926 ! Node: OMP_DEFAULT_DEVICE43629 ! Node: OMP_DYNAMIC44409 ! Node: OMP_MAX_ACTIVE_LEVELS45005 ! Node: OMP_MAX_TASK_PRIORITY45655 ! Node: OMP_NESTED46313 ! Node: OMP_NUM_THREADS46918 ! Node: OMP_PROC_BIND47606 ! Node: OMP_PLACES48798 ! Node: OMP_STACKSIZE50975 ! Node: OMP_SCHEDULE51799 ! Node: OMP_THREAD_LIMIT52497 ! Node: OMP_WAIT_POLICY53097 ! Node: GOMP_CPU_AFFINITY53789 ! Node: GOMP_DEBUG55519 ! Node: GOMP_STACKSIZE56026 ! Node: GOMP_SPINCOUNT56857 ! Node: GOMP_RTEMS_THREAD_POOLS58061 ! Node: Enabling OpenACC60239 ! Node: OpenACC Runtime Library Routines61140 ! Node: acc_get_num_devices65421 ! Node: acc_set_device_type66147 ! Node: acc_get_device_type66911 ! Node: acc_set_device_num67924 ! Node: acc_get_device_num68741 ! Node: acc_get_property69540 ! Node: acc_async_test71763 ! Node: acc_async_test_all72751 ! Node: acc_wait73651 ! Node: acc_wait_all74514 ! Node: acc_wait_all_async75275 ! Node: acc_wait_async76027 ! Node: acc_init76735 ! Node: acc_shutdown77380 ! Node: acc_on_device78047 ! Node: acc_malloc79051 ! Node: acc_free79550 ! Node: acc_copyin79977 ! Node: acc_present_or_copyin81564 ! Node: acc_create83342 ! Node: acc_present_or_create84974 ! Node: acc_copyout86760 ! Node: acc_delete89064 ! Node: acc_update_device91311 ! Node: acc_update_self92885 ! Node: acc_map_data94475 ! Node: acc_unmap_data95160 ! Node: acc_deviceptr95681 ! Node: acc_hostptr96251 ! Node: acc_is_present96815 ! Node: acc_memcpy_to_device98342 ! Node: acc_memcpy_from_device99005 ! Node: acc_attach99672 ! Node: acc_detach100319 ! Node: acc_get_current_cuda_device101098 ! Node: acc_get_current_cuda_context101683 ! Node: acc_get_cuda_stream102283 ! Node: acc_set_cuda_stream102874 ! Node: acc_prof_register103545 ! Node: acc_prof_unregister104104 ! Node: acc_prof_lookup104671 ! Node: acc_register_library105192 ! Node: OpenACC Environment Variables105758 ! Node: ACC_DEVICE_TYPE106330 ! Node: ACC_DEVICE_NUM106566 ! Node: ACC_PROFLIB106820 ! Node: GCC_ACC_NOTIFY107151 ! Node: CUDA Streams Usage107371 ! Ref: CUDA Streams Usage-Footnote-1109272 ! Node: OpenACC Library Interoperability109381 ! Ref: OpenACC Library Interoperability-Footnote-1115749 ! Ref: OpenACC Library Interoperability-Footnote-2116001 ! Node: OpenACC Profiling Interface116209 ! Node: The libgomp ABI126233 ! Node: Implementing MASTER construct127086 ! Node: Implementing CRITICAL construct127502 ! Node: Implementing ATOMIC construct128243 ! Node: Implementing FLUSH construct128726 ! Node: Implementing BARRIER construct128999 ! Node: Implementing THREADPRIVATE construct129270 ! Node: Implementing PRIVATE clause129925 ! Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses130508 ! Node: Implementing REDUCTION clause131834 ! Node: Implementing PARALLEL construct132393 ! Node: Implementing FOR construct133652 ! Node: Implementing ORDERED construct135652 ! Node: Implementing SECTIONS construct135960 ! Node: Implementing SINGLE construct136728 ! Node: Implementing OpenACC's PARALLEL construct137442 ! Node: Reporting Bugs137702 ! Node: Copying138065 ! Node: GNU Free Documentation License175611 ! Node: Funding200734 ! Node: Library Index203260  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 4979,5120 ---- Node: Top2083 Node: Enabling OpenMP4645 Node: Runtime Library Routines5433 ! Node: omp_get_active_level8511 ! Node: omp_get_ancestor_thread_num9211 ! Node: omp_get_cancellation10141 ! Node: omp_get_default_device10955 ! Node: omp_get_dynamic11631 ! Node: omp_get_level12506 ! Node: omp_get_max_active_levels13126 ! Node: omp_get_max_task_priority13831 ! Node: omp_get_max_threads14451 ! Node: omp_get_nested15208 ! Node: omp_get_num_devices16122 ! Node: omp_get_num_procs16643 ! Node: omp_get_num_teams17182 ! Node: omp_get_num_threads17698 ! Node: omp_get_proc_bind18787 ! Node: omp_get_schedule19710 ! Node: omp_get_team_num20664 ! Node: omp_get_team_size21163 ! Node: omp_get_thread_limit22123 ! Node: omp_get_thread_num22742 ! Node: omp_in_parallel23613 ! Node: omp_in_final24262 ! Node: omp_is_initial_device24936 ! Node: omp_set_default_device25629 ! Node: omp_set_dynamic26420 ! Node: omp_set_max_active_levels27306 ! Node: omp_set_nested28083 ! Node: omp_set_num_threads28975 ! Node: omp_set_schedule29843 ! Node: omp_init_lock30924 ! Node: omp_set_lock31577 ! Node: omp_test_lock32432 ! Node: omp_unset_lock33408 ! Node: omp_destroy_lock34339 ! Node: omp_init_nest_lock35016 ! Node: omp_set_nest_lock35751 ! Node: omp_test_nest_lock36666 ! Node: omp_unset_nest_lock37693 ! Node: omp_destroy_nest_lock38708 ! Node: omp_get_wtick39459 ! Node: omp_get_wtime40051 ! Node: Environment Variables40827 ! Node: OMP_CANCELLATION42398 ! Node: OMP_DISPLAY_ENV42931 ! Node: OMP_DEFAULT_DEVICE43634 ! Node: OMP_DYNAMIC44414 ! Node: OMP_MAX_ACTIVE_LEVELS45010 ! Node: OMP_MAX_TASK_PRIORITY45660 ! Node: OMP_NESTED46318 ! Node: OMP_NUM_THREADS46923 ! Node: OMP_PROC_BIND47611 ! Node: OMP_PLACES48806 ! Node: OMP_STACKSIZE50985 ! Node: OMP_SCHEDULE51809 ! Node: OMP_THREAD_LIMIT52507 ! Node: OMP_WAIT_POLICY53107 ! Node: GOMP_CPU_AFFINITY53799 ! Node: GOMP_DEBUG55529 ! Node: GOMP_STACKSIZE56036 ! Node: GOMP_SPINCOUNT56867 ! Node: GOMP_RTEMS_THREAD_POOLS58071 ! Node: Enabling OpenACC60249 ! Node: OpenACC Runtime Library Routines61150 ! Node: acc_get_num_devices65431 ! Node: acc_set_device_type66157 ! Node: acc_get_device_type66921 ! Node: acc_set_device_num67934 ! Node: acc_get_device_num68751 ! Node: acc_get_property69550 ! Node: acc_async_test71773 ! Node: acc_async_test_all72761 ! Node: acc_wait73661 ! Node: acc_wait_all74524 ! Node: acc_wait_all_async75285 ! Node: acc_wait_async76037 ! Node: acc_init76745 ! Node: acc_shutdown77390 ! Node: acc_on_device78057 ! Node: acc_malloc79061 ! Node: acc_free79560 ! Node: acc_copyin79987 ! Node: acc_present_or_copyin81574 ! Node: acc_create83352 ! Node: acc_present_or_create84984 ! Node: acc_copyout86770 ! Node: acc_delete89074 ! Node: acc_update_device91321 ! Node: acc_update_self92895 ! Node: acc_map_data94485 ! Node: acc_unmap_data95170 ! Node: acc_deviceptr95691 ! Node: acc_hostptr96261 ! Node: acc_is_present96825 ! Node: acc_memcpy_to_device98352 ! Node: acc_memcpy_from_device99015 ! Node: acc_attach99682 ! Node: acc_detach100329 ! Node: acc_get_current_cuda_device101108 ! Node: acc_get_current_cuda_context101693 ! Node: acc_get_cuda_stream102293 ! Node: acc_set_cuda_stream102884 ! Node: acc_prof_register103555 ! Node: acc_prof_unregister104114 ! Node: acc_prof_lookup104681 ! Node: acc_register_library105202 ! Node: OpenACC Environment Variables105768 ! Node: ACC_DEVICE_TYPE106340 ! Node: ACC_DEVICE_NUM106576 ! Node: ACC_PROFLIB106830 ! Node: GCC_ACC_NOTIFY107161 ! Node: CUDA Streams Usage107381 ! Ref: CUDA Streams Usage-Footnote-1109282 ! Node: OpenACC Library Interoperability109391 ! Ref: OpenACC Library Interoperability-Footnote-1115759 ! Ref: OpenACC Library Interoperability-Footnote-2116011 ! Node: OpenACC Profiling Interface116219 ! Node: The libgomp ABI126243 ! Node: Implementing MASTER construct127096 ! Node: Implementing CRITICAL construct127512 ! Node: Implementing ATOMIC construct128253 ! Node: Implementing FLUSH construct128736 ! Node: Implementing BARRIER construct129009 ! Node: Implementing THREADPRIVATE construct129280 ! Node: Implementing PRIVATE clause129935 ! Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses130518 ! Node: Implementing REDUCTION clause131844 ! Node: Implementing PARALLEL construct132403 ! Node: Implementing FOR construct133662 ! Node: Implementing ORDERED construct135662 ! Node: Implementing SECTIONS construct135970 ! Node: Implementing SINGLE construct136738 ! Node: Implementing OpenACC's PARALLEL construct137452 ! Node: Reporting Bugs137712 ! Node: Copying138075 ! Node: GNU Free Documentation License175621 ! Node: Funding200744 ! Node: Library Index203270  End Tag Table diff -Nrcpad gcc-10.4.0/libgomp/libgomp.texi gcc-10.5.0/libgomp/libgomp.texi *** gcc-10.4.0/libgomp/libgomp.texi Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgomp/libgomp.texi Fri Jul 7 07:08:21 2023 *************** linkage, and do not throw exceptions. *** 175,181 **** * omp_get_num_procs:: Number of processors online * omp_get_num_teams:: Number of teams * omp_get_num_threads:: Size of the active team ! * omp_get_proc_bind:: Whether theads may be moved between CPUs * omp_get_schedule:: Obtain the runtime scheduling method * omp_get_team_num:: Get team number * omp_get_team_size:: Number of threads in a team --- 175,181 ---- * omp_get_num_procs:: Number of processors online * omp_get_num_teams:: Number of teams * omp_get_num_threads:: Size of the active team ! * omp_get_proc_bind:: Whether threads may be moved between CPUs * omp_get_schedule:: Obtain the runtime scheduling method * omp_get_team_num:: Get team number * omp_get_team_size:: Number of threads in a team *************** one thread per CPU online is used. *** 582,588 **** @node omp_get_proc_bind ! @section @code{omp_get_proc_bind} -- Whether theads may be moved between CPUs @table @asis @item @emph{Description}: This functions returns the currently active thread affinity policy, which is --- 582,588 ---- @node omp_get_proc_bind ! @section @code{omp_get_proc_bind} -- Whether threads may be moved between CPUs @table @asis @item @emph{Description}: This functions returns the currently active thread affinity policy, which is *************** beginning with @env{GOMP_} are GNU exten *** 1349,1356 **** * OMP_MAX_TASK_PRIORITY:: Set the maximum task priority value * OMP_NESTED:: Nested parallel regions * OMP_NUM_THREADS:: Specifies the number of threads to use ! * OMP_PROC_BIND:: Whether theads may be moved between CPUs ! * OMP_PLACES:: Specifies on which CPUs the theads should be placed * OMP_STACKSIZE:: Set default thread stack size * OMP_SCHEDULE:: How threads are scheduled * OMP_THREAD_LIMIT:: Set the maximum number of threads --- 1349,1356 ---- * OMP_MAX_TASK_PRIORITY:: Set the maximum task priority value * OMP_NESTED:: Nested parallel regions * OMP_NUM_THREADS:: Specifies the number of threads to use ! * OMP_PROC_BIND:: Whether threads may be moved between CPUs ! * OMP_PLACES:: Specifies on which CPUs the threads should be placed * OMP_STACKSIZE:: Set default thread stack size * OMP_SCHEDULE:: How threads are scheduled * OMP_THREAD_LIMIT:: Set the maximum number of threads *************** level. If undefined one thread per CPU *** 1517,1528 **** @node OMP_PROC_BIND ! @section @env{OMP_PROC_BIND} -- Whether theads may be moved between CPUs @cindex Environment Variable @table @asis @item @emph{Description}: Specifies whether threads may be moved between processors. If set to ! @code{TRUE}, OpenMP theads should not be moved; if set to @code{FALSE} they may be moved. Alternatively, a comma separated list with the values @code{MASTER}, @code{CLOSE} and @code{SPREAD} can be used to specify the thread affinity policy for the corresponding nesting level. With --- 1517,1528 ---- @node OMP_PROC_BIND ! @section @env{OMP_PROC_BIND} -- Whether threads may be moved between CPUs @cindex Environment Variable @table @asis @item @emph{Description}: Specifies whether threads may be moved between processors. If set to ! @code{TRUE}, OpenMP threads should not be moved; if set to @code{FALSE} they may be moved. Alternatively, a comma separated list with the values @code{MASTER}, @code{CLOSE} and @code{SPREAD} can be used to specify the thread affinity policy for the corresponding nesting level. With *************** When undefined, @env{OMP_PROC_BIND} defa *** 1544,1550 **** @node OMP_PLACES ! @section @env{OMP_PLACES} -- Specifies on which CPUs the theads should be placed @cindex Environment Variable @table @asis @item @emph{Description}: --- 1544,1550 ---- @node OMP_PLACES ! @section @env{OMP_PLACES} -- Specifies on which CPUs the threads should be placed @cindex Environment Variable @table @asis @item @emph{Description}: diff -Nrcpad gcc-10.4.0/libgomp/target.c gcc-10.5.0/libgomp/target.c *** gcc-10.4.0/libgomp/target.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgomp/target.c Fri Jul 7 07:08:21 2023 *************** GOMP_target_ext (int device, void (*fn) *** 2064,2069 **** --- 2064,2070 ---- { struct gomp_team *team = gomp_new_team (1); struct gomp_task *task = thr->task; + struct gomp_task **implicit_task = &task; struct gomp_task_icv *icv = task ? &task->icv : &gomp_global_icv; team->prev_ts = thr->ts; thr->ts.team = team; *************** GOMP_target_ext (int device, void (*fn) *** 2076,2090 **** thr->ts.static_trip = 0; thr->task = &team->implicit_task[0]; gomp_init_task (thr->task, NULL, icv); ! if (task) { ! thr->task = task; gomp_end_task (); ! free (task); thr->task = &team->implicit_task[0]; } else pthread_setspecific (gomp_thread_destructor, thr); } if (thr->ts.team && !thr->task->final_task) --- 2077,2099 ---- thr->ts.static_trip = 0; thr->task = &team->implicit_task[0]; gomp_init_task (thr->task, NULL, icv); ! while (*implicit_task ! && (*implicit_task)->kind != GOMP_TASK_IMPLICIT) ! implicit_task = &(*implicit_task)->parent; ! if (*implicit_task) { ! thr->task = *implicit_task; gomp_end_task (); ! free (*implicit_task); thr->task = &team->implicit_task[0]; } else pthread_setspecific (gomp_thread_destructor, thr); + if (implicit_task != &task) + { + *implicit_task = thr->task; + thr->task = task; + } } if (thr->ts.team && !thr->task->final_task) diff -Nrcpad gcc-10.4.0/libgomp/task.c gcc-10.5.0/libgomp/task.c *** gcc-10.4.0/libgomp/task.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgomp/task.c Fri Jul 7 07:08:21 2023 *************** gomp_create_artificial_team (void) *** 2116,2121 **** --- 2116,2122 ---- struct gomp_task_icv *icv; struct gomp_team *team = gomp_new_team (1); struct gomp_task *task = thr->task; + struct gomp_task **implicit_task = &task; icv = task ? &task->icv : &gomp_global_icv; team->prev_ts = thr->ts; thr->ts.team = team; *************** gomp_create_artificial_team (void) *** 2128,2144 **** thr->ts.static_trip = 0; thr->task = &team->implicit_task[0]; gomp_init_task (thr->task, NULL, icv); ! if (task) { ! thr->task = task; gomp_end_task (); ! free (task); thr->task = &team->implicit_task[0]; } #ifdef LIBGOMP_USE_PTHREADS else pthread_setspecific (gomp_thread_destructor, thr); #endif } /* The format of data is: --- 2129,2153 ---- thr->ts.static_trip = 0; thr->task = &team->implicit_task[0]; gomp_init_task (thr->task, NULL, icv); ! while (*implicit_task ! && (*implicit_task)->kind != GOMP_TASK_IMPLICIT) ! implicit_task = &(*implicit_task)->parent; ! if (*implicit_task) { ! thr->task = *implicit_task; gomp_end_task (); ! free (*implicit_task); thr->task = &team->implicit_task[0]; } #ifdef LIBGOMP_USE_PTHREADS else pthread_setspecific (gomp_thread_destructor, thr); #endif + if (implicit_task != &task) + { + *implicit_task = thr->task; + thr->task = task; + } } /* The format of data is: diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c/target-31.c gcc-10.5.0/libgomp/testsuite/libgomp.c/target-31.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c/target-31.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libgomp/testsuite/libgomp.c/target-31.c Fri Jul 7 07:08:21 2023 *************** main () *** 76,82 **** m[1] += 3 * b; } use (&a, &b, &c, &d, e, f, g, h); ! #pragma omp parallel firstprivate (u1, u2) { int w = omp_get_thread_num (); int x = 19; --- 76,82 ---- m[1] += 3 * b; } use (&a, &b, &c, &d, e, f, g, h); ! #pragma omp parallel firstprivate (u1, u2) private (i) { int w = omp_get_thread_num (); int x = 19; diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c/task-7.c gcc-10.5.0/libgomp/testsuite/libgomp.c/task-7.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c/task-7.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c/task-7.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,26 ---- + /* { dg-do run } */ + + #include + #include + + int + main () + { + #pragma omp task final (1) + { + if (!omp_in_final ()) + abort (); + #pragma omp task + { + if (!omp_in_final ()) + abort (); + #pragma omp target nowait + if (omp_in_final ()) + abort (); + if (!omp_in_final ()) + abort (); + #pragma omp taskwait + } + } + return 0; + } diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c/task-8.c gcc-10.5.0/libgomp/testsuite/libgomp.c/task-8.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c/task-8.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c/task-8.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,14 ---- + /* { dg-do run } */ + + int + main () + { + int i = 0; + #pragma omp task + { + #pragma omp target nowait private (i) + i = 1; + #pragma omp taskwait + } + return 0; + } diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c++/pr108180.C gcc-10.5.0/libgomp/testsuite/libgomp.c++/pr108180.C *** gcc-10.4.0/libgomp/testsuite/libgomp.c++/pr108180.C Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c++/pr108180.C Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,55 ---- + // PR c++/108180 + // { dg-do run } + + struct A { + A () { ++a; } + A (A &&) = delete; + A (const A &) { ++a; } + A &operator= (const A &) = delete; + A &operator= (A &&) = delete; + ~A () { --a; } + static int a; + }; + int A::a = 0; + + struct B { + A a; + template + int + foo () + { + int res = 0; + #pragma omp parallel for if(false) firstprivate(a) + for (int i = 0; i < 64; ++i) + res += i; + return res; + } + int + bar () + { + int res = 0; + #pragma omp parallel for if(false) firstprivate(a) + for (int i = 0; i < 64; ++i) + res += i; + return res; + } + }; + + int + main () + { + { + B b; + if (b.foo<0> () != 2016) + __builtin_abort (); + } + if (A::a != 0) + __builtin_abort (); + { + B b; + if (b.bar () != 2016) + __builtin_abort (); + } + if (A::a != 0) + __builtin_abort (); + } diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/pr106981.c gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/pr106981.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/pr106981.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/pr106981.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,19 ---- + /* PR c/106981 */ + + int + main () + { + int a[0x101]; + unsigned int b = 0x100; + if ((unsigned char) b || (unsigned short) b != 0x100) + return 0; + a[0] = 0; + a[0x100] = 42; + #pragma omp atomic update + a[(unsigned char) b] = a[(unsigned short) b] + a[(unsigned char) b]; + #pragma omp atomic update + a[(unsigned char) b] = a[(unsigned char) b] + a[(unsigned short) b]; + if (a[0] != 84 || a[0x100] != 42) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-17.c gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-17.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-17.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-17.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,36 ---- + /* { dg-do run } */ + + #include + #include + + int a; + + int + main () + { + #pragma omp task final (1) + { + if (!omp_in_final ()) + abort (); + #pragma omp task + { + if (!omp_in_final ()) + abort (); + #pragma omp taskgroup task_reduction (+: a) + { + if (!omp_in_final ()) + abort (); + #pragma omp task in_reduction (+: a) + { + ++a; + if (!omp_in_final ()) + abort (); + } + } + if (!omp_in_final ()) + abort (); + #pragma omp taskwait + } + } + return 0; + } diff -Nrcpad gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-18.c gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-18.c *** gcc-10.4.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-18.c Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libgomp/testsuite/libgomp.c-c++-common/task-reduction-18.c Fri Jul 7 07:08:21 2023 *************** *** 0 **** --- 1,17 ---- + /* { dg-do run } */ + + int a; + + int + main () + { + #pragma omp task + { + #pragma omp taskgroup task_reduction (+: a) + { + #pragma omp task in_reduction (+: a) + ++a; + } + } + return 0; + } diff -Nrcpad gcc-10.4.0/libhsail-rt/ChangeLog gcc-10.5.0/libhsail-rt/ChangeLog *** gcc-10.4.0/libhsail-rt/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libhsail-rt/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libiberty/ChangeLog gcc-10.5.0/libiberty/ChangeLog *** gcc-10.4.0/libiberty/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libiberty/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,15 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-04-02 Jakub Jelinek + + PR other/109306 + * strstr.c (strstr): Return s1 if len is 0. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libiberty/strstr.c gcc-10.5.0/libiberty/strstr.c *** gcc-10.4.0/libiberty/strstr.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libiberty/strstr.c Fri Jul 7 07:08:21 2023 *************** strstr (const char *s1, const char *s2) *** 32,37 **** --- 32,40 ---- const char *p = s1; const size_t len = strlen (s2); + if (!len) + return s1; + for (; (p = strchr (p, *s2)) != 0; p++) { if (strncmp (p, s2, len) == 0) diff -Nrcpad gcc-10.4.0/libitm/ChangeLog gcc-10.5.0/libitm/ChangeLog *** gcc-10.4.0/libitm/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libitm/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libitm/libitm.info gcc-10.5.0/libitm/libitm.info *** gcc-10.4.0/libitm/libitm.info Tue Jun 28 09:13:53 2022 --- gcc-10.5.0/libitm/libitm.info Fri Jul 7 07:22:36 2023 *************** *** 1,4 **** ! This is libitm.info, produced by makeinfo version 6.8 from libitm.texi. Copyright (C) 2011-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is libitm.info, produced by makeinfo version 6.5 from libitm.texi. Copyright (C) 2011-2020 Free Software Foundation, Inc. *************** Node: GNU Free Documentation License358 *** 1306,1313 **** Node: Library Index61021  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 1306,1308 ---- diff -Nrcpad gcc-10.4.0/libobjc/ChangeLog gcc-10.5.0/libobjc/ChangeLog *** gcc-10.4.0/libobjc/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libobjc/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/liboffloadmic/ChangeLog gcc-10.5.0/liboffloadmic/ChangeLog *** gcc-10.4.0/liboffloadmic/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/liboffloadmic/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libphobos/ChangeLog gcc-10.5.0/libphobos/ChangeLog *** gcc-10.4.0/libphobos/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libphobos/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,12 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2022-12-13 Iain Buclaw + + * src/std/path.d (expandTilde): Handle more errno codes that could be + left set by getpwnam_r. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libphobos/src/std/path.d gcc-10.5.0/libphobos/src/std/path.d *** gcc-10.4.0/libphobos/src/std/path.d Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libphobos/src/std/path.d Fri Jul 7 07:08:21 2023 *************** string expandTilde(string inputPath) not *** 3850,3856 **** version (Posix) { import core.exception : onOutOfMemoryError; ! import core.stdc.errno : errno, ERANGE; import core.stdc.stdlib : malloc, free, realloc; /* Joins a path from a C string to the remainder of path. --- 3850,3856 ---- version (Posix) { import core.exception : onOutOfMemoryError; ! import core.stdc.errno : errno, EBADF, ENOENT, EPERM, ERANGE, ESRCH; import core.stdc.stdlib : malloc, free, realloc; /* Joins a path from a C string to the remainder of path. *************** string expandTilde(string inputPath) not *** 3950,3956 **** scope(exit) free(extra_memory); passwd result; ! while (1) { extra_memory = cast(char*) realloc(extra_memory, extra_memory_size * char.sizeof); if (extra_memory == null) --- 3950,3956 ---- scope(exit) free(extra_memory); passwd result; ! loop: while (1) { extra_memory = cast(char*) realloc(extra_memory, extra_memory_size * char.sizeof); if (extra_memory == null) *************** string expandTilde(string inputPath) not *** 3969,3978 **** break; } ! if (errno != ERANGE && // On BSD and OSX, errno can be left at 0 instead of set to ERANGE ! errno != 0) ! onOutOfMemoryError(); // extra_memory isn't large enough import core.checkedint : mulu; --- 3969,3991 ---- break; } ! switch (errno) ! { ! case ERANGE: // On BSD and OSX, errno can be left at 0 instead of set to ERANGE ! case 0: ! break; ! ! case ENOENT: ! case ESRCH: ! case EBADF: ! case EPERM: ! // The given name or uid was not found. ! break loop; ! ! default: ! onOutOfMemoryError(); ! } // extra_memory isn't large enough import core.checkedint : mulu; diff -Nrcpad gcc-10.4.0/libquadmath/ChangeLog gcc-10.5.0/libquadmath/ChangeLog *** gcc-10.4.0/libquadmath/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libquadmath/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,22 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-03 Jakub Jelinek + + Backported from master: + 2023-03-02 niXman + Jakub Jelinek + + PR libquadmath/87204 + PR libquadmath/94756 + * strtod/strtod_l.c (round_and_return): Cherry-pick glibc + 9310c284ae9 BZ #16151, 4406c41c1d6 BZ #16965 and fcd6b5ac36a + BZ #23279 fixes. + (____STRTOF_INTERNAL): Cherry-pick glibc b0debe14fcf BZ #23007, + 5556d30caee BZ #18247, 09555b9721d and c6aac3bf366 BZ #26137 and + d84f25c7d87 fixes. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libquadmath/libquadmath.info gcc-10.5.0/libquadmath/libquadmath.info *** gcc-10.4.0/libquadmath/libquadmath.info Tue Jun 28 09:13:52 2022 --- gcc-10.5.0/libquadmath/libquadmath.info Fri Jul 7 07:22:34 2023 *************** *** 1,4 **** ! This is libquadmath.info, produced by makeinfo version 6.8 from libquadmath.texi. Copyright (C) 2010-2020 Free Software Foundation, Inc. --- 1,4 ---- ! This is libquadmath.info, produced by makeinfo version 6.5 from libquadmath.texi. Copyright (C) 2010-2020 Free Software Foundation, Inc. *************** Node: GNU Free Documentation License109 *** 809,816 **** Node: Reporting Bugs36065  End Tag Table - -  - Local Variables: - coding: utf-8 - End: --- 809,811 ---- diff -Nrcpad gcc-10.4.0/libquadmath/strtod/strtod_l.c gcc-10.5.0/libquadmath/strtod/strtod_l.c *** gcc-10.4.0/libquadmath/strtod/strtod_l.c Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libquadmath/strtod/strtod_l.c Fri Jul 7 07:08:21 2023 *************** round_and_return (mp_limb_t *retval, int *** 200,206 **** round_limb = retval[RETURN_LIMB_SIZE - 1]; round_bit = (MANT_DIG - 1) % BITS_PER_MP_LIMB; ! for (i = 0; i < RETURN_LIMB_SIZE; ++i) more_bits |= retval[i] != 0; MPN_ZERO (retval, RETURN_LIMB_SIZE); } --- 200,206 ---- round_limb = retval[RETURN_LIMB_SIZE - 1]; round_bit = (MANT_DIG - 1) % BITS_PER_MP_LIMB; ! for (i = 0; i < RETURN_LIMB_SIZE - 1; ++i) more_bits |= retval[i] != 0; MPN_ZERO (retval, RETURN_LIMB_SIZE); } *************** round_and_return (mp_limb_t *retval, int *** 215,223 **** more_bits |= ((round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0); ! (void) mpn_rshift (retval, &retval[shift / BITS_PER_MP_LIMB], ! RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB), ! shift % BITS_PER_MP_LIMB); MPN_ZERO (&retval[RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB)], shift / BITS_PER_MP_LIMB); } --- 215,228 ---- more_bits |= ((round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0); ! /* mpn_rshift requires 0 < shift < BITS_PER_MP_LIMB. */ ! if ((shift % BITS_PER_MP_LIMB) != 0) ! (void) mpn_rshift (retval, &retval[shift / BITS_PER_MP_LIMB], ! RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB), ! shift % BITS_PER_MP_LIMB); ! else ! for (i = 0; i < RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB); i++) ! retval[i] = retval[i + (shift / BITS_PER_MP_LIMB)]; MPN_ZERO (&retval[RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB)], shift / BITS_PER_MP_LIMB); } *************** round_and_return (mp_limb_t *retval, int *** 276,282 **** } } ! if (exponent > MAX_EXP) goto overflow; #ifdef HAVE_FENV_H --- 281,287 ---- } } ! if (exponent >= MAX_EXP) goto overflow; #ifdef HAVE_FENV_H *************** round_and_return (mp_limb_t *retval, int *** 308,314 **** } #endif ! if (exponent > MAX_EXP) overflow: return overflow_value (negative); --- 313,319 ---- } #endif ! if (exponent >= MAX_EXP) overflow: return overflow_value (negative); *************** ____STRTOF_INTERNAL (nptr, endptr, group *** 688,694 **** if (endptr != NULL) *endptr = (STRING_TYPE *) cp; ! return retval; } /* It is really a text we do not recognize. */ --- 693,699 ---- if (endptr != NULL) *endptr = (STRING_TYPE *) cp; ! return negative ? -retval : retval; } /* It is really a text we do not recognize. */ *************** ____STRTOF_INTERNAL (nptr, endptr, group *** 1193,1199 **** if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0)) return overflow_value (negative); ! if (__builtin_expect (exponent < MIN_10_EXP - (DIG + 1), 0)) return underflow_value (negative); if (int_no > 0) --- 1198,1213 ---- if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0)) return overflow_value (negative); ! /* 10^(MIN_10_EXP-1) is not normal. Thus, 10^(MIN_10_EXP-1) / ! 2^MANT_DIG is below half the least subnormal, so anything with a ! base-10 exponent less than the base-10 exponent (which is ! MIN_10_EXP - 1 - ceil(MANT_DIG*log10(2))) of that value ! underflows. DIG is floor((MANT_DIG-1)log10(2)), so an exponent ! below MIN_10_EXP - (DIG + 3) underflows. But EXPONENT is ! actually an exponent multiplied only by a fractional part, not an ! integer part, so an exponent below MIN_10_EXP - (DIG + 2) ! underflows. */ ! if (__builtin_expect (exponent < MIN_10_EXP - (DIG + 2), 0)) return underflow_value (negative); if (int_no > 0) *************** ____STRTOF_INTERNAL (nptr, endptr, group *** 1360,1366 **** assert (dig_no > int_no && exponent <= 0 ! && exponent >= MIN_10_EXP - (DIG + 1)); /* We need to compute MANT_DIG - BITS fractional bits that lie within the mantissa of the result, the following bit for --- 1374,1380 ---- assert (dig_no > int_no && exponent <= 0 ! && exponent >= MIN_10_EXP - (DIG + 2)); /* We need to compute MANT_DIG - BITS fractional bits that lie within the mantissa of the result, the following bit for *************** ____STRTOF_INTERNAL (nptr, endptr, group *** 1651,1658 **** d1 = den[densize - 2]; /* The division does not work if the upper limb of the two-limb ! numerator is greater than the denominator. */ ! if (mpn_cmp (num, &den[densize - numsize], numsize) > 0) num[numsize++] = 0; if (numsize < densize) --- 1665,1672 ---- d1 = den[densize - 2]; /* The division does not work if the upper limb of the two-limb ! numerator is greater than or equal to the denominator. */ ! if (mpn_cmp (num, &den[densize - numsize], numsize) >= 0) num[numsize++] = 0; if (numsize < densize) *************** ____STRTOF_INTERNAL (nptr, endptr, group *** 1761,1767 **** got_limb; } ! for (i = densize; num[i] == 0 && i >= 0; --i) ; return round_and_return (retval, exponent - 1, negative, quot, BITS_PER_MP_LIMB - 1 - used, --- 1775,1781 ---- got_limb; } ! for (i = densize; i >= 0 && num[i] == 0; --i) ; return round_and_return (retval, exponent - 1, negative, quot, BITS_PER_MP_LIMB - 1 - used, diff -Nrcpad gcc-10.4.0/libsanitizer/ChangeLog gcc-10.5.0/libsanitizer/ChangeLog *** gcc-10.4.0/libsanitizer/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libsanitizer/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,15 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-05-21 Iain Sandoe + + Backported from master: + 2023-04-18 Iain Sandoe + + * configure.tgt: Unsupport Darwin22+ until a mechanism can be found + to locate dyld in the shared cache. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libsanitizer/configure.tgt gcc-10.5.0/libsanitizer/configure.tgt *** gcc-10.4.0/libsanitizer/configure.tgt Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libsanitizer/configure.tgt Fri Jul 7 07:08:21 2023 *************** case "${target}" in *** 60,66 **** TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo fi ;; ! x86_64-*-darwin2* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*) TSAN_SUPPORTED=no EXTRA_CXXFLAGS+="-Wl,-undefined,dynamic_lookup" ;; --- 60,66 ---- TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo fi ;; ! x86_64-*-darwin2[01]* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*) TSAN_SUPPORTED=no EXTRA_CXXFLAGS+="-Wl,-undefined,dynamic_lookup" ;; diff -Nrcpad gcc-10.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp gcc-10.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp *** gcc-10.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp Fri Jul 7 07:08:21 2023 *************** *** 72,78 **** --- 72,80 ---- #include #include #include + #if SANITIZER_ANDROID #include + #endif #include #include #include *************** unsigned struct_ElfW_Phdr_sz = sizeof(El *** 822,831 **** unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT; unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT; #endif ! unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS; ! unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION; ! unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS; ! unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION; unsigned IOCTL_GIO_CMAP = GIO_CMAP; unsigned IOCTL_GIO_FONT = GIO_FONT; unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP; --- 824,833 ---- unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT; unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT; #endif ! unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long); ! unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long); ! unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long); ! unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long); unsigned IOCTL_GIO_CMAP = GIO_CMAP; unsigned IOCTL_GIO_FONT = GIO_FONT; unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP; diff -Nrcpad gcc-10.4.0/libssp/ChangeLog gcc-10.5.0/libssp/ChangeLog *** gcc-10.4.0/libssp/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libssp/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libstdc++-v3/ChangeLog gcc-10.5.0/libstdc++-v3/ChangeLog *** gcc-10.4.0/libstdc++-v3/ChangeLog Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,412 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-10-11 Jonathan Wakely + + * testsuite/18_support/numeric_limits/lowest.cc: Use + numeric_limits::is_integer instead of is_integral::value. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2023-06-01 Jonathan Wakely + + * doc/xml/manual/evolution.xml: Document removal of implicit + allocator rebinding extensions in strict mode and for C++20. + * doc/html/*: Regenerate. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2022-12-16 Jonathan Wakely + + PR libstdc++/108118 + * include/bits/shared_ptr_base.h (weak_ptr::operator=): + Implement as move-and-swap exactly as specified in the standard. + * testsuite/20_util/weak_ptr/cons/self_move.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2020-06-17 Jonathan Wakely + + PR libstdc++/94540 + * include/bits/stl_uninitialized.h (__uninitialized_default_1): + Construct the first value at *__first instead of on the stack. + (__uninitialized_default_n_1): Likewise. + Improve comments on several of the non-standard algorithms. + * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: + New test. + * testsuite/23_containers/vector/cons/94540.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2022-08-22 Jonathan Wakely + + PR libstdc++/106607 + * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value): + Use built-ins to check for integer overflow in back-reference + number. + * testsuite/28_regex/basic_regex/106607.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-09-28 Jonathan Wakely + + * include/bits/regex.h (basic_regex, swap): Add noexcept to + non-throwing functions. + * include/bits/regex_automaton.h (_State_base, _State) + (_NFA_base): Likewise. + * include/bits/regex_compiler.h (_Compiler): Likewise. + * include/bits/regex_error.h (regex_error::code()): Likewise. + * include/bits/regex_scanner.h (_Scanner): Likewise. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-12-14 Jonathan Wakely + + PR libstdc++/102447 + * include/bits/regex_compiler.h (_Compiler::_BracketState): New + class. + (_Compiler::_BrackeyMatcher): New alias template. + (_Compiler::_M_expression_term): Change pair + parameter to _BracketState. Process first character for + ECMAScript syntax as well as POSIX. + * include/bits/regex_compiler.tcc + (_Compiler::_M_insert_bracket_matcher): Pass _BracketState. + (_Compiler::_M_expression_term): Use _BracketState to store + state between calls. Improve handling of dashes in ranges. + * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: + Add more tests for ranges containing dashes. Check invalid + ranges with character class at the beginning. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-09-29 Jonathan Wakely + + * include/bits/regex_compiler.h (_Compiler::_S_validate): New + function. + * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use + _S_validate to check flags. + * include/bits/regex_error.h (_S_grammar): New error code for + internal use. + * testsuite/28_regex/basic_regex/ctors/grammar.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-09-28 Jonathan Wakely + + * include/bits/regex_compiler.tcc: Add line break in empty while + statement. + * include/bits/regex_executor.tcc: Avoid unused parameter + warning. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-12-13 Jonathan Wakely + + PR libstdc++/103664 + * include/bits/regex.h (__regex_replace): Declare. + (regex_replace): Use it. + * include/bits/regex.tcc (__regex_replace): Replace regex_replace + definition with __regex_replace. + * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2021-09-29 Jonathan Wakely + + PR libstdc++/84110 + * include/bits/regex_error.h (regex_constants::_S_null): New + error code for internal use. + * include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()): + Check for null character. + * testsuite/28_regex/basic_regex/84110.cc: New test. + + 2023-06-23 Jonathan Wakely + + Backported from master: + 2020-09-11 Jonathan Wakely + + * include/bits/regex_error.h (__throw_regex_error): Fix + parameter declaration and use reserved attribute names. + + 2023-06-23 Christophe Lyon + + Backported from master: + 2020-09-11 Christophe Lyon + + * include/bits/regex_error.h: Avoid warning with -fno-exceptions. + + 2023-05-21 Iain Sandoe + + * include/bits/fs_path.h: Rename __null_terminated to __nul_terminated + to avoid colliding with a macro in Darwin system headers. + + 2023-05-03 Jonathan Wakely + + PR libstdc++/105844 + * include/std/numeric (lcm): Ensure out-of-range result is + detected in constant evaluation. + * testsuite/26_numerics/lcm/105844.cc: Adjust dg-error string. + + 2023-05-03 Jonathan Wakely + + Backported from master: + 2022-06-10 Jonathan Wakely + + PR libstdc++/105844 + * include/experimental/numeric (experimental::gcd): Simplify + assertions. Use __abs_r instead of __absu. + (experimental::lcm): Likewise. Remove use of __detail::__lcm so + overflow can be detected. + * include/std/numeric (__detail::__absu): Rename to __abs_r and + change to allow signed result type, so overflow can be detected. + (__detail::__lcm): Remove. + (gcd): Simplify assertions. Use __abs_r instead of __absu. + (lcm): Likewise. Remove use of __detail::__lcm so overflow can + be detected. + * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. + * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. + * testsuite/26_numerics/gcd/105844.cc: New test. + * testsuite/26_numerics/lcm/105844.cc: New test. + + 2023-05-03 Jonathan Wakely + + Backported from master: + 2023-04-28 Jonathan Wakely + + * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes + from header paths. + + 2023-04-28 Jonathan Wakely + + Backported from master: + 2020-11-24 Jonathan Wakely + + PR libstdc++/67791 + * src/c++11/thread.cc (thread::_M_start_thread(_State_ptr, void (*)())): + Check that gthreads is available before calling __gthread_create. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2023-04-04 Jonathan Wakely + + * doc/xml/manual/extensions.xml: Remove std::bad_exception from + example program. + * doc/html/manual/ext_demangling.html: Regenerate. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2023-04-27 Jonathan Wakely + + * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for + HTML docs. + * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit + from doxygen docs. + * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) + (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) + (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) + (_DEFINE_BINARY_OPERATOR): Likewise. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2022-10-28 Jonathan Wakely + + * include/bits/fs_path.h (path::filename()): Fix dangling + reference. + + 2023-04-27 Jonathan Wakely + + PR libstdc++/109064 + * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): + Remove self-recursion in __init__. Add missing _supports. + * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() + and unique(). + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2023-02-28 Jonathan Wakely + + PR libstdc++/108952 + * include/std/memory (uses_allocator_construction_args): + Implement LWG 3527. + * testsuite/20_util/pair/astuple/get-2.cc: New test. + * testsuite/20_util/scoped_allocator/108952.cc: New test. + * testsuite/20_util/uses_allocator/lwg3527.cc: New test. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2023-02-16 Jonathan Wakely + + * include/experimental/optional: Fix header name in comment. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2022-07-20 Jonathan Wakely + + PR libstdc++/100823 + * include/bits/stl_iterator.h (common_iterator): Define move + constructor and move assignment operator. + (common_iterator::_M_assign): New function implementing + assignment. + (common_iterator::operator=): Use _M_assign. + (common_iterator::_S_valueless): New constant. + * testsuite/24_iterators/common_iterator/100823.cc: New test. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2022-07-20 Jonathan Wakely + + * include/bits/stl_iterator.h (common_iterator): Fix incorrect + uses of is_nothrow_assignable_v. Fix inconsistent constraints on + friend declaration. Do not move argument in copy constructor. + * testsuite/24_iterators/common_iterator/1.cc: Check for + noexcept constructibnle/assignable. + + 2023-04-27 Jonathan Wakely + + Backported from master: + 2022-11-23 Jonathan Wakely + + PR libstdc++/107814 + * testsuite/experimental/filesystem/iterators/error_reporting.cc: + Use a static buffer with space after it. + + 2023-03-16 Jonathan Wakely + + Backported from master: + 2023-02-02 Jonathan Wakely + + PR libstdc++/108636 + * include/bits/fs_path.h (path::path(string_view, _Type)) + (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline + definitions to ... + * src/c++17/fs_path.cc: ... here. + * testsuite/27_io/filesystem/path/108636.cc: New test. + + 2022-11-08 Jonathan Wakely + + Backported from master: + 2022-11-08 Jonathan Wakely + + * doc/xml/authors.xml: Remove empty author element. + * doc/xml/manual/spine.xml: Likewise. + * doc/html/*: Regenerate. + + 2022-08-03 Jonathan Wakely + + Backported from master: + 2021-08-31 Jonathan Wakely + + PR libstdc++/98421 + * include/std/span (span(Iter, size_type), span(Iter, Iter)): + Add valid range checks. + * testsuite/23_containers/span/cons_1_assert_neg.cc: New test. + * testsuite/23_containers/span/cons_2_assert_neg.cc: New test. + + 2022-08-03 Jonathan Wakely + + * include/bits/list.tcc (list::merge) [!USE_CXX11_ABI]: Remove + call to size() and try-catch block. + + 2022-08-03 Tim Adye + + Backported from master: + 2021-06-04 Tim Adye + + * include/std/any (any::_Manager::_S_access): New static + function to access the contained value. + (any::emplace, __any_caster): Use _S_access member of the + manager type. + + 2022-08-03 Jonathan Wakely + + Backported from master: + 2021-06-15 Jonathan Wakely + + * include/std/ranges (subrange(i, s, n)): Remove assertion. + * testsuite/std/ranges/subrange/constexpr.cc: New test. + + 2022-08-03 Jonathan Wakely + + Backported from master: + 2021-11-10 Jonathan Wakely + + PR libstdc++/100748 + PR libstdc++/103133 + * config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): + Define for glibc 2.34 and later. + + 2022-07-23 Jonathan Wakely + + Backported from master: + 2022-07-01 Jonathan Wakely + + PR libstdc++/106162 + * include/Makefile.am (largefile-config.h): Add + stamp-${host_alias} prerequisite. + * include/Makefile.in: Regenerate. + + 2022-07-23 Jonathan Wakely + + Backported from master: + 2021-11-05 Jonathan Wakely + + * include/bits/range_access.h (begin(valarray), end(valarray)): + Add noexcept. + + 2022-07-22 Patrick Palka + + Backported from master: + 2022-07-22 Patrick Palka + + PR libstdc++/106320 + * include/std/ranges (single_view): Relax constraints on + default constructor so as to preserve pre-P2325R3 behavior. + (filter_view): Likewise. + (transform_view): Likewise. + (take_while_view): Likewise. + (drop_while_view): Likewise. + * testsuite/std/ranges/adaptors/join.cc (test13): New test. + * testsuite/std/ranges/p2325.cc: Fix S to be only non default + constructible and not also non copy constructible. XFAIL the + tests that verify a non default constructible functor makes a + view non default constructible (lines 94, 97 and 98). XFAIL + the test that effectively verifies a non default constructible + element type makes single_view non default constructible (line + 114). + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/libstdc++-v3/config/os/gnu-linux/os_defines.h gcc-10.5.0/libstdc++-v3/config/os/gnu-linux/os_defines.h *** gcc-10.4.0/libstdc++-v3/config/os/gnu-linux/os_defines.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/config/os/gnu-linux/os_defines.h Fri Jul 7 07:08:21 2023 *************** *** 61,64 **** --- 61,70 ---- (__gthread_active_p() ? __gthread_self() : (__gthread_t)1) #endif + #if __GLIBC_PREREQ(2, 34) + // Since glibc 2.34 all pthreads functions are usable without linking to + // libpthread. + # define _GLIBCXX_GTHREAD_USE_WEAK 0 + #endif + #endif diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/doxygen/user.cfg.in gcc-10.5.0/libstdc++-v3/doc/doxygen/user.cfg.in *** gcc-10.4.0/libstdc++-v3/doc/doxygen/user.cfg.in Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/doxygen/user.cfg.in Fri Jul 7 07:08:21 2023 *************** FULL_PATH_NAMES = NO *** 152,158 **** # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. ! STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which --- 152,158 ---- # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. ! STRIP_FROM_PATH = @srcdir@/doc/ @srcdir@/libsupc++/ include/ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which *************** WARN_LOGFILE = *** 786,791 **** --- 786,792 ---- # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. + # N.B. update STRIP_FROM_PATH to sanitize paths outside the build tree. INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ @srcdir@/libsupc++/compare \ @srcdir@/libsupc++/cxxabi.h \ *************** USE_MDFILE_AS_MAINPAGE = *** 1157,1163 **** # also VERBATIM_HEADERS is set to NO. # The default value is: NO. ! SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. --- 1158,1164 ---- # also VERBATIM_HEADERS is set to NO. # The default value is: NO. ! SOURCE_BROWSER = @do_html@ # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/html/bk02.html gcc-10.5.0/libstdc++-v3/doc/html/bk02.html *** gcc-10.4.0/libstdc++-v3/doc/html/bk02.html Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/html/bk02.html Fri Jul 7 07:08:21 2023 *************** *** 1,2 **** ! \ No newline at end of file --- 1,2 ---- ! \ No newline at end of file diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/html/manual/api.html gcc-10.5.0/libstdc++-v3/doc/html/manual/api.html *** gcc-10.4.0/libstdc++-v3/doc/html/manual/api.html Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/html/manual/api.html Fri Jul 7 07:08:21 2023 *************** now defaults to zero. *** 368,373 **** --- 368,378 ---- For the non-default --enable-symvers=gnu-versioned-namespace configuration, the shared library SONAME has been changed to libstdc++.so.8. +

+ The extension allowing containers to be instantiated with an allocator + that doesn't match the container's value type is no longer allowed in + strict (-std=c++NN) modes, only in + -std=gnu++NN modes.

9

C++17 header <memory_resource> *************** now defaults to zero. *** 423,426 **** --- 428,435 ---- and <stop_token> added. +

+ The extension allowing containers to be instantiated with an allocator + that doesn't match the container's value type is no longer allowed in + C++20 mode, even in non-strict -std=gnu++20 mode.

\ No newline at end of file diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/html/manual/ext_demangling.html gcc-10.5.0/libstdc++-v3/doc/html/manual/ext_demangling.html *** gcc-10.4.0/libstdc++-v3/doc/html/manual/ext_demangling.html Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/html/manual/ext_demangling.html Fri Jul 7 07:08:21 2023 *************** int main() *** 39,52 **** int status; char *realname; - // exception classes not in <stdexcept>, thrown by the implementation - // instead of the user - std::bad_exception e; - realname = abi::__cxa_demangle(e.what(), 0, 0, &status); - std::cout << e.what() << "\t=> " << realname << "\t: " << status << '\n'; - free(realname); - - // typeid bar<empty,17> u; const std::type_info &ti = typeid(u); --- 39,44 ---- *************** int main() *** 61,73 **** This prints

     
-       St13bad_exception       => std::bad_exception   : 0
        3barI5emptyLi17EE       => bar<empty, 17>       : 0
     
     

The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to ! use crummy memory management facilities, so don't forget to free() ! the returned char array.)

\ No newline at end of file --- 53,64 ---- This prints

     
        3barI5emptyLi17EE       => bar<empty, 17>       : 0
     
     

The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to ! use crummy memory management facilities, so don't forget to ! free() the returned char array.)

\ No newline at end of file diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/html/manual/extensions.html gcc-10.5.0/libstdc++-v3/doc/html/manual/extensions.html *** gcc-10.4.0/libstdc++-v3/doc/html/manual/extensions.html Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/html/manual/extensions.html Fri Jul 7 07:08:21 2023 *************** *** 1,8 **** ! Part III.  Extensions

Part III.  Extensions

Table of Contents

16. Compile Time Checks
17. Debug Mode
Intro
Semantics
Using
Using the Debug Mode
Using a Specific Debug Container
Design
Goals
Methods
The Wrapper Model
Safe Iterators
Safe Sequences (Containers)
Precondition Checking
Release- and debug-mode coexistence
Compile-time coexistence of release- and debug-mode components
Link- and run-time coexistence of release- and --- 1,8 ---- ! Part III.  Extensions \ No newline at end of file --- 68,74 ---- Text modify Up
Text modify Down !
Observations
Associative
Priority_Queue
Acknowledgments
Bibliography
22. HP/SGI Extensions
Backwards Compatibility
Deprecated
23. Utilities
24. Algorithms
25. Numerics
26. Iterators
27. Input and Output
Derived filebufs
28. Demangling
29. Concurrency
Design
Interface to Locks and Mutexes
Interface to Atomic Functions
Implementation
Using Built-in Atomic Functions
Thread Abstraction
Use
\ No newline at end of file diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/html/manual/index.html gcc-10.5.0/libstdc++-v3/doc/html/manual/index.html *** gcc-10.4.0/libstdc++-v3/doc/html/manual/index.html Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/html/manual/index.html Fri Jul 7 07:08:21 2023 *************** *** 1,5 **** ! The GNU C++ Library Manual

The GNU C++ Library Manual

Paolo Carlini

Phil Edwards

Doug Gregor

Benjamin Kosnik

Dhruv Matani

Jason Merrill

Mark Mitchell

Nathan Myers

Felix Natter

Stefan Olsson

Johannes Singler

Ami Tavory

Jonathan Wakely


Table of Contents

I. Introduction --- 1,5 ---- ! The GNU C++ Library Manual

The GNU C++ Library Manual

Paolo Carlini

Phil Edwards

Doug Gregor

Benjamin Kosnik

Dhruv Matani

Jason Merrill

Mark Mitchell

Nathan Myers

Felix Natter

Stefan Olsson

Johannes Singler

Ami Tavory

Jonathan Wakely


Table of Contents

I. Introduction diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/xml/authors.xml gcc-10.5.0/libstdc++-v3/doc/xml/authors.xml *** gcc-10.4.0/libstdc++-v3/doc/xml/authors.xml Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/xml/authors.xml Fri Jul 7 07:08:21 2023 *************** *** 13,30 **** ! ! --> - - - - - PaoloCarlini TR1, LWG Active, Closed, Defects lists. --- 13,25 ---- ! ! --> PaoloCarlini TR1, LWG Active, Closed, Defects lists. diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/xml/manual/evolution.xml gcc-10.5.0/libstdc++-v3/doc/xml/manual/evolution.xml *** gcc-10.4.0/libstdc++-v3/doc/xml/manual/evolution.xml Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/xml/manual/evolution.xml Fri Jul 7 07:08:21 2023 *************** now defaults to zero. *** 911,916 **** --- 911,923 ---- libstdc++.so.8. + + The extension allowing containers to be instantiated with an allocator + that doesn't match the container's value type is no longer allowed in + strict () modes, only in + modes. + +
<constant>9</constant> *************** now defaults to zero. *** 994,999 **** --- 1001,1012 ---- added. + + The extension allowing containers to be instantiated with an allocator + that doesn't match the container's value type is no longer allowed in + C++20 mode, even in non-strict mode. + +
diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/xml/manual/extensions.xml gcc-10.5.0/libstdc++-v3/doc/xml/manual/extensions.xml *** gcc-10.4.0/libstdc++-v3/doc/xml/manual/extensions.xml Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/xml/manual/extensions.xml Fri Jul 7 07:08:21 2023 *************** int main() *** 534,547 **** int status; char *realname; - // exception classes not in <stdexcept>, thrown by the implementation - // instead of the user - std::bad_exception e; - realname = abi::__cxa_demangle(e.what(), 0, 0, &status); - std::cout << e.what() << "\t=> " << realname << "\t: " << status << '\n'; - free(realname); - - // typeid bar<empty,17> u; const std::type_info &ti = typeid(u); --- 534,539 ---- *************** int main() *** 559,565 **** - St13bad_exception => std::bad_exception : 0 3barI5emptyLi17EE => bar<empty, 17> : 0 --- 551,556 ---- *************** int main() *** 568,575 **** The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to ! use crummy memory management facilities, so don't forget to free() ! the returned char array.) --- 559,566 ---- The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to ! use crummy memory management facilities, so don't forget to ! free() the returned char array.) diff -Nrcpad gcc-10.4.0/libstdc++-v3/doc/xml/manual/spine.xml gcc-10.5.0/libstdc++-v3/doc/xml/manual/spine.xml *** gcc-10.4.0/libstdc++-v3/doc/xml/manual/spine.xml Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/doc/xml/manual/spine.xml Fri Jul 7 07:08:21 2023 *************** *** 48,65 **** ! !
--> - - - - - PaoloCarlini TR1, LWG Active, Closed, Defects lists. --- 48,60 ---- ! ! --> PaoloCarlini TR1, LWG Active, Closed, Defects lists. diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/Makefile.am gcc-10.5.0/libstdc++-v3/include/Makefile.am *** gcc-10.4.0/libstdc++-v3/include/Makefile.am Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/Makefile.am Fri Jul 7 07:08:22 2023 *************** stamp-float128: *** 1248,1254 **** endif # This header is not installed, it's only used to build libstdc++ itself. ! ${host_builddir}/largefile-config.h: ${CONFIG_HEADER} @rm -f $@.tmp @-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp --- 1248,1254 ---- endif # This header is not installed, it's only used to build libstdc++ itself. ! ${host_builddir}/largefile-config.h: ${CONFIG_HEADER} stamp-${host_alias} @rm -f $@.tmp @-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/Makefile.in gcc-10.5.0/libstdc++-v3/include/Makefile.in *** gcc-10.4.0/libstdc++-v3/include/Makefile.in Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/Makefile.in Fri Jul 7 07:08:22 2023 *************** stamp-host: ${host_headers} ${bits_host_ *** 1729,1735 **** @ENABLE_FLOAT128_FALSE@ echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128 # This header is not installed, it's only used to build libstdc++ itself. ! ${host_builddir}/largefile-config.h: ${CONFIG_HEADER} @rm -f $@.tmp @-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp --- 1729,1735 ---- @ENABLE_FLOAT128_FALSE@ echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128 # This header is not installed, it's only used to build libstdc++ itself. ! ${host_builddir}/largefile-config.h: ${CONFIG_HEADER} stamp-${host_alias} @rm -f $@.tmp @-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/fs_path.h gcc-10.5.0/libstdc++-v3/include/bits/fs_path.h *** gcc-10.4.0/libstdc++-v3/include/bits/fs_path.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/fs_path.h Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 130,139 **** _Source _S_range_begin(_Source __begin) { return __begin; } ! struct __null_terminated { }; template ! __null_terminated _S_range_end(_Source) { return {}; } template --- 130,139 ---- _Source _S_range_begin(_Source __begin) { return __begin; } ! struct __nul_terminated { }; template ! __nul_terminated _S_range_end(_Source) { return {}; } template *************** namespace __detail *** 515,526 **** _Multi = 0, _Root_name, _Root_dir, _Filename }; ! path(basic_string_view __str, _Type __type) ! : _M_pathname(__str) ! { ! __glibcxx_assert(__type != _Type::_Multi); ! _M_cmpts.type(__type); ! } enum class _Split { _Stem, _Extension }; --- 515,521 ---- _Multi = 0, _Root_name, _Root_dir, _Filename }; ! path(basic_string_view __str, _Type __type); enum class _Split { _Stem, _Extension }; *************** namespace __detail *** 533,543 **** struct _Cvt; static basic_string_view ! _S_convert(value_type* __src, __detail::__null_terminated) { return __src; } static basic_string_view ! _S_convert(const value_type* __src, __detail::__null_terminated) { return __src; } static basic_string_view --- 528,538 ---- struct _Cvt; static basic_string_view ! _S_convert(value_type* __src, __detail::__nul_terminated) { return __src; } static basic_string_view ! _S_convert(const value_type* __src, __detail::__nul_terminated) { return __src; } static basic_string_view *************** namespace __detail *** 559,565 **** template static string_type ! _S_convert(_InputIterator __src, __detail::__null_terminated) { // Read from iterator into basic_string until a null value is seen: auto __s = _S_string_from_iter(__src); --- 554,560 ---- template static string_type ! _S_convert(_InputIterator __src, __detail::__nul_terminated) { // Read from iterator into basic_string until a null value is seen: auto __s = _S_string_from_iter(__src); *************** namespace __detail *** 581,587 **** template static string_type ! _S_convert_loc(_InputIterator __src, __detail::__null_terminated, const std::locale& __loc) { const std::string __s = _S_string_from_iter(__src); --- 576,582 ---- template static string_type ! _S_convert_loc(_InputIterator __src, __detail::__nul_terminated, const std::locale& __loc) { const std::string __s = _S_string_from_iter(__src); *************** namespace __detail *** 766,773 **** struct path::_Cmpt : path { ! _Cmpt(basic_string_view __s, _Type __t, size_t __pos) ! : path(__s, __t), _M_pos(__pos) { } _Cmpt() : _M_pos(-1) { } --- 761,767 ---- struct path::_Cmpt : path { ! _Cmpt(basic_string_view __s, _Type __t, size_t __pos); _Cmpt() : _M_pos(-1) { } *************** namespace __detail *** 1217,1225 **** { if (_M_pathname.back() == preferred_separator) return {}; ! auto& __last = *--end(); ! if (__last._M_type() == _Type::_Filename) ! return __last; } return {}; } --- 1211,1219 ---- { if (_M_pathname.back() == preferred_separator) return {}; ! auto __last = --end(); ! if (__last->_M_type() == _Type::_Filename) ! return *__last; } return {}; } diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/gslice_array.h gcc-10.5.0/libstdc++-v3/include/bits/gslice_array.h *** gcc-10.4.0/libstdc++-v3/include/bits/gslice_array.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/gslice_array.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 183,188 **** --- 183,189 ---- _Array(_M_index)); } + /// @cond undocumented #undef _DEFINE_VALARRAY_OPERATOR #define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ template \ *************** _DEFINE_VALARRAY_OPERATOR(<<, __shift_le *** 214,219 **** --- 215,221 ---- _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR + /// @endcond /// @} group numeric_arrays diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/indirect_array.h gcc-10.5.0/libstdc++-v3/include/bits/indirect_array.h *** gcc-10.4.0/libstdc++-v3/include/bits/indirect_array.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/indirect_array.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 174,179 **** --- 174,180 ---- indirect_array<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e) const { std::__valarray_copy(__e, _M_sz, _M_array, _M_index); } + /// @cond undocumented #undef _DEFINE_VALARRAY_OPERATOR #define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ template \ *************** _DEFINE_VALARRAY_OPERATOR(<<, __shift_le *** 203,208 **** --- 204,210 ---- _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR + /// @endcond /// @} group numeric_arrays diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/list.tcc gcc-10.5.0/libstdc++-v3/include/bits/list.tcc *** gcc-10.4.0/libstdc++-v3/include/bits/list.tcc Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/list.tcc Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER *** 406,413 **** --- 406,415 ---- iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); + #if _GLIBCXX_USE_CXX11_ABI const size_t __orig_size = __x.size(); __try { + #endif while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) { *************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER *** 422,427 **** --- 424,430 ---- this->_M_inc_size(__x._M_get_size()); __x._M_set_size(0); + #if _GLIBCXX_USE_CXX11_ABI } __catch(...) { *************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER *** 430,435 **** --- 433,439 ---- __x._M_set_size(__dist); __throw_exception_again; } + #endif } } diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/mask_array.h gcc-10.5.0/libstdc++-v3/include/bits/mask_array.h *** gcc-10.4.0/libstdc++-v3/include/bits/mask_array.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/mask_array.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 174,179 **** --- 174,180 ---- mask_array<_Tp>::operator=(const _Expr<_Ex, _Tp>& __e) const { std::__valarray_copy(__e, __e.size(), _M_array, _M_mask); } + /// @cond undocumented #undef _DEFINE_VALARRAY_OPERATOR #define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ template \ *************** _DEFINE_VALARRAY_OPERATOR(<<, __shift_le *** 204,209 **** --- 205,211 ---- _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR + /// @endcond /// @} group numeric_arrays diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/range_access.h gcc-10.5.0/libstdc++-v3/include/bits/range_access.h *** gcc-10.4.0/libstdc++-v3/include/bits/range_access.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/range_access.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 104,113 **** template class valarray; // These overloads must be declared for cbegin and cend to use them. ! template _Tp* begin(valarray<_Tp>&); ! template const _Tp* begin(const valarray<_Tp>&); ! template _Tp* end(valarray<_Tp>&); ! template const _Tp* end(const valarray<_Tp>&); /** * @brief Return an iterator pointing to the first element of --- 104,113 ---- template class valarray; // These overloads must be declared for cbegin and cend to use them. ! template _Tp* begin(valarray<_Tp>&) noexcept; ! template const _Tp* begin(const valarray<_Tp>&) noexcept; ! template _Tp* end(valarray<_Tp>&) noexcept; ! template const _Tp* end(const valarray<_Tp>&) noexcept; /** * @brief Return an iterator pointing to the first element of diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex.h gcc-10.5.0/libstdc++-v3/include/bits/regex.h *** gcc-10.4.0/libstdc++-v3/include/bits/regex.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 420,426 **** * Constructs a basic regular expression that does not match any * character sequence. */ ! basic_regex() : _M_flags(ECMAScript), _M_loc(), _M_automaton(nullptr) { } --- 420,426 ---- * Constructs a basic regular expression that does not match any * character sequence. */ ! basic_regex() noexcept : _M_flags(ECMAScript), _M_loc(), _M_automaton(nullptr) { } *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 696,702 **** * expression. */ unsigned int ! mark_count() const { if (_M_automaton) return _M_automaton->_M_sub_count() - 1; --- 696,702 ---- * expression. */ unsigned int ! mark_count() const noexcept { if (_M_automaton) return _M_automaton->_M_sub_count() - 1; *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 708,714 **** * or in the last call to assign(). */ flag_type ! flags() const { return _M_flags; } // [7.8.5] locale --- 708,714 ---- * or in the last call to assign(). */ flag_type ! flags() const noexcept { return _M_flags; } // [7.8.5] locale *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 730,736 **** * object. */ locale_type ! getloc() const { return _M_loc; } // [7.8.6] swap --- 730,736 ---- * object. */ locale_type ! getloc() const noexcept { return _M_loc; } // [7.8.6] swap *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 740,746 **** * @param __rhs Another regular expression object. */ void ! swap(basic_regex& __rhs) { std::swap(_M_flags, __rhs._M_flags); std::swap(_M_loc, __rhs._M_loc); --- 740,746 ---- * @param __rhs Another regular expression object. */ void ! swap(basic_regex& __rhs) noexcept { std::swap(_M_flags, __rhs._M_flags); std::swap(_M_loc, __rhs._M_loc); *************** _GLIBCXX_BEGIN_NAMESPACE_CXX11 *** 847,853 **** template inline void swap(basic_regex<_Ch_type, _Rx_traits>& __lhs, ! basic_regex<_Ch_type, _Rx_traits>& __rhs) { __lhs.swap(__rhs); } --- 847,853 ---- template inline void swap(basic_regex<_Ch_type, _Rx_traits>& __lhs, ! basic_regex<_Ch_type, _Rx_traits>& __rhs) noexcept { __lhs.swap(__rhs); } *************** _GLIBCXX_END_NAMESPACE_CXX11 *** 2457,2462 **** --- 2457,2471 ---- = regex_constants::match_default) = delete; // std [28.11.4] Function template regex_replace + + template + _Out_iter + __regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last, + const basic_regex<_Ch_type, _Rx_traits>& __e, + const _Ch_type* __fmt, size_t __len, + regex_constants::match_flag_type __flags); + /** * @brief Search for a regular expression within a range for multiple times, and replace the matched parts through filling a format string. *************** _GLIBCXX_END_NAMESPACE_CXX11 *** 2480,2486 **** regex_constants::match_flag_type __flags = regex_constants::match_default) { ! return regex_replace(__out, __first, __last, __e, __fmt.c_str(), __flags); } /** --- 2489,2496 ---- regex_constants::match_flag_type __flags = regex_constants::match_default) { ! return std::__regex_replace(__out, __first, __last, __e, __fmt.c_str(), ! __fmt.length(), __flags); } /** *************** _GLIBCXX_END_NAMESPACE_CXX11 *** 2503,2509 **** const basic_regex<_Ch_type, _Rx_traits>& __e, const _Ch_type* __fmt, regex_constants::match_flag_type __flags ! = regex_constants::match_default); /** * @brief Search for a regular expression within a string for multiple times, --- 2513,2525 ---- const basic_regex<_Ch_type, _Rx_traits>& __e, const _Ch_type* __fmt, regex_constants::match_flag_type __flags ! = regex_constants::match_default) ! { ! return std::__regex_replace(__out, __first, __last, __e, __fmt, ! char_traits<_Ch_type>::length(__fmt), ! __flags); ! } ! /** * @brief Search for a regular expression within a string for multiple times, diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex.tcc gcc-10.5.0/libstdc++-v3/include/bits/regex.tcc *** gcc-10.4.0/libstdc++-v3/include/bits/regex.tcc Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex.tcc Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 461,470 **** template _Out_iter ! regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last, ! const basic_regex<_Ch_type, _Rx_traits>& __e, ! const _Ch_type* __fmt, ! regex_constants::match_flag_type __flags) { typedef regex_iterator<_Bi_iter, _Ch_type, _Rx_traits> _IterT; _IterT __i(__first, __last, __e, __flags); --- 461,470 ---- template _Out_iter ! __regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last, ! const basic_regex<_Ch_type, _Rx_traits>& __e, ! const _Ch_type* __fmt, size_t __len, ! regex_constants::match_flag_type __flags) { typedef regex_iterator<_Bi_iter, _Ch_type, _Rx_traits> _IterT; _IterT __i(__first, __last, __e, __flags); *************** namespace __detail *** 477,483 **** else { sub_match<_Bi_iter> __last; - auto __len = char_traits<_Ch_type>::length(__fmt); for (; __i != __end; ++__i) { if (!(__flags & regex_constants::format_no_copy)) --- 477,482 ---- diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_automaton.h gcc-10.5.0/libstdc++-v3/include/bits/regex_automaton.h *** gcc-10.4.0/libstdc++-v3/include/bits/regex_automaton.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_automaton.h Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 95,107 **** }; protected: ! explicit _State_base(_Opcode __opcode) : _M_opcode(__opcode), _M_next(_S_invalid_state_id) { } public: bool ! _M_has_alt() { return _M_opcode == _S_opcode_alternative || _M_opcode == _S_opcode_repeat --- 95,107 ---- }; protected: ! explicit _State_base(_Opcode __opcode) noexcept : _M_opcode(__opcode), _M_next(_S_invalid_state_id) { } public: bool ! _M_has_alt() const noexcept { return _M_opcode == _S_opcode_alternative || _M_opcode == _S_opcode_repeat *************** namespace __detail *** 130,136 **** "std::function"); explicit ! _State(_Opcode __opcode) : _State_base(__opcode) { if (_M_opcode() == _S_opcode_match) new (this->_M_matcher_storage._M_addr()) _MatcherT(); --- 130,136 ---- "std::function"); explicit ! _State(_Opcode __opcode) noexcept : _State_base(__opcode) { if (_M_opcode() == _S_opcode_match) new (this->_M_matcher_storage._M_addr()) _MatcherT(); *************** namespace __detail *** 143,149 **** _MatcherT(__rhs._M_get_matcher()); } ! _State(_State&& __rhs) : _State_base(__rhs) { if (__rhs._M_opcode() == _S_opcode_match) new (this->_M_matcher_storage._M_addr()) --- 143,149 ---- _MatcherT(__rhs._M_get_matcher()); } ! _State(_State&& __rhs) noexcept : _State_base(__rhs) { if (__rhs._M_opcode() == _S_opcode_match) new (this->_M_matcher_storage._M_addr()) *************** namespace __detail *** 162,168 **** // Since correct ctor and dtor rely on _M_opcode, it's better not to // change it over time. _Opcode ! _M_opcode() const { return _State_base::_M_opcode; } bool --- 162,168 ---- // Since correct ctor and dtor rely on _M_opcode, it's better not to // change it over time. _Opcode ! _M_opcode() const noexcept { return _State_base::_M_opcode; } bool *************** namespace __detail *** 170,180 **** { return _M_get_matcher()(__char); } _MatcherT& ! _M_get_matcher() { return *static_cast<_MatcherT*>(this->_M_matcher_storage._M_addr()); } const _MatcherT& ! _M_get_matcher() const { return *static_cast( this->_M_matcher_storage._M_addr()); --- 170,180 ---- { return _M_get_matcher()(__char); } _MatcherT& ! _M_get_matcher() noexcept { return *static_cast<_MatcherT*>(this->_M_matcher_storage._M_addr()); } const _MatcherT& ! _M_get_matcher() const noexcept { return *static_cast( this->_M_matcher_storage._M_addr()); *************** namespace __detail *** 187,193 **** typedef regex_constants::syntax_option_type _FlagT; explicit ! _NFA_base(_FlagT __f) : _M_flags(__f), _M_start_state(0), _M_subexpr_count(0), _M_has_backref(false) { } --- 187,193 ---- typedef regex_constants::syntax_option_type _FlagT; explicit ! _NFA_base(_FlagT __f) noexcept : _M_flags(__f), _M_start_state(0), _M_subexpr_count(0), _M_has_backref(false) { } *************** namespace __detail *** 199,213 **** public: _FlagT ! _M_options() const { return _M_flags; } _StateIdT ! _M_start() const { return _M_start_state; } _SizeT ! _M_sub_count() const { return _M_subexpr_count; } _GLIBCXX_STD_C::vector _M_paren_stack; --- 199,213 ---- public: _FlagT ! _M_options() const noexcept { return _M_flags; } _StateIdT ! _M_start() const noexcept { return _M_start_state; } _SizeT ! _M_sub_count() const noexcept { return _M_subexpr_count; } _GLIBCXX_STD_C::vector _M_paren_stack; diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_compiler.h gcc-10.5.0/libstdc++-v3/include/bits/regex_compiler.h *** gcc-10.4.0/libstdc++-v3/include/bits/regex_compiler.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_compiler.h Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 66,72 **** const typename _TraitsT::locale_type& __traits, _FlagT __flags); shared_ptr ! _M_get_nfa() { return std::move(_M_nfa); } private: --- 66,72 ---- const typename _TraitsT::locale_type& __traits, _FlagT __flags); shared_ptr ! _M_get_nfa() noexcept { return std::move(_M_nfa); } private: *************** namespace __detail *** 122,134 **** void _M_insert_bracket_matcher(bool __neg); ! // Returns true if successfully matched one term and should continue. // Returns false if the compiler should move on. template bool ! _M_expression_term(pair& __last_char, ! _BracketMatcher<_TraitsT, __icase, __collate>& ! __matcher); int _M_cur_int_value(int __radix); --- 122,166 ---- void _M_insert_bracket_matcher(bool __neg); ! // Cache of the last atom seen in a bracketed range expression. ! struct _BracketState ! { ! enum class _Type : char { _None, _Char, _Class } _M_type = _Type::_None; ! _CharT _M_char; ! ! void ! set(_CharT __c) noexcept { _M_type = _Type::_Char; _M_char = __c; } ! ! _GLIBCXX_NODISCARD _CharT ! get() const noexcept { return _M_char; } ! ! void ! reset(_Type __t = _Type::_None) noexcept { _M_type = __t; } ! ! explicit operator bool() const noexcept ! { return _M_type != _Type::_None; } ! ! // Previous token was a single character. ! _GLIBCXX_NODISCARD bool ! _M_is_char() const noexcept { return _M_type == _Type::_Char; } ! ! // Previous token was a character class, equivalent class, ! // collating symbol etc. ! _GLIBCXX_NODISCARD bool ! _M_is_class() const noexcept { return _M_type == _Type::_Class; } ! }; ! ! template ! using _BracketMatcher ! = std::__detail::_BracketMatcher<_TraitsT, __icase, __collate>; ! ! // Returns true if successfully parsed one term and should continue ! // compiling a bracket expression. // Returns false if the compiler should move on. template bool ! _M_expression_term(_BracketState& __last_char, ! _BracketMatcher<__icase, __collate>& __matcher); int _M_cur_int_value(int __radix); *************** namespace __detail *** 144,149 **** --- 176,201 ---- return ret; } + static _FlagT + _S_validate(_FlagT __f) + { + using namespace regex_constants; + switch (__f & (ECMAScript|basic|extended|awk|grep|egrep)) + { + case ECMAScript: + case basic: + case extended: + case awk: + case grep: + case egrep: + return __f; + case _FlagT(0): + return __f | ECMAScript; + default: + std::__throw_regex_error(_S_grammar, "conflicting grammar options"); + } + } + _FlagT _M_flags; _ScannerT _M_scanner; shared_ptr<_RegexT> _M_nfa; diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_compiler.tcc gcc-10.5.0/libstdc++-v3/include/bits/regex_compiler.tcc *** gcc-10.4.0/libstdc++-v3/include/bits/regex_compiler.tcc Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_compiler.tcc Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 65,79 **** _Compiler<_TraitsT>:: _Compiler(_IterT __b, _IterT __e, const typename _TraitsT::locale_type& __loc, _FlagT __flags) ! : _M_flags((__flags ! & (regex_constants::ECMAScript ! | regex_constants::basic ! | regex_constants::extended ! | regex_constants::grep ! | regex_constants::egrep ! | regex_constants::awk)) ! ? __flags ! : __flags | regex_constants::ECMAScript), _M_scanner(__b, __e, _M_flags, __loc), _M_nfa(make_shared<_RegexT>(__loc, _M_flags)), _M_traits(_M_nfa->_M_traits), --- 65,71 ---- _Compiler<_TraitsT>:: _Compiler(_IterT __b, _IterT __e, const typename _TraitsT::locale_type& __loc, _FlagT __flags) ! : _M_flags(_S_validate(__flags)), _M_scanner(__b, __e, _M_flags, __loc), _M_nfa(make_shared<_RegexT>(__loc, _M_flags)), _M_traits(_M_nfa->_M_traits), *************** namespace __detail *** 140,146 **** return true; if (this->_M_atom()) { ! while (this->_M_quantifier()); return true; } return false; --- 132,139 ---- return true; if (this->_M_atom()) { ! while (this->_M_quantifier()) ! ; return true; } return false; *************** namespace __detail *** 410,416 **** _M_insert_character_class_matcher() { __glibcxx_assert(_M_value.size() == 1); ! _BracketMatcher<_TraitsT, __icase, __collate> __matcher (_M_ctype.is(_CtypeT::upper, _M_value[0]), _M_traits); __matcher._M_add_character_class(_M_value, false); __matcher._M_ready(); --- 403,409 ---- _M_insert_character_class_matcher() { __glibcxx_assert(_M_value.size() == 1); ! _BracketMatcher<__icase, __collate> __matcher (_M_ctype.is(_CtypeT::upper, _M_value[0]), _M_traits); __matcher._M_add_character_class(_M_value, false); __matcher._M_ready(); *************** namespace __detail *** 424,448 **** _Compiler<_TraitsT>:: _M_insert_bracket_matcher(bool __neg) { ! _BracketMatcher<_TraitsT, __icase, __collate> __matcher(__neg, _M_traits); ! pair __last_char; // Optional<_CharT> ! __last_char.first = false; ! if (!(_M_flags & regex_constants::ECMAScript)) ! { ! if (_M_try_char()) ! { ! __last_char.first = true; ! __last_char.second = _M_value[0]; ! } ! else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) ! { ! __last_char.first = true; ! __last_char.second = '-'; ! } ! } ! while (_M_expression_term(__last_char, __matcher)); ! if (__last_char.first) ! __matcher._M_add_char(__last_char.second); __matcher._M_ready(); _M_stack.push(_StateSeqT( *_M_nfa, --- 417,433 ---- _Compiler<_TraitsT>:: _M_insert_bracket_matcher(bool __neg) { ! _BracketMatcher<__icase, __collate> __matcher(__neg, _M_traits); ! _BracketState __last_char; ! if (_M_try_char()) ! __last_char.set(_M_value[0]); ! else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) ! // Dash as first character is a normal character. ! __last_char.set('-'); ! while (_M_expression_term(__last_char, __matcher)) ! ; ! if (__last_char._M_is_char()) ! __matcher._M_add_char(__last_char.get()); __matcher._M_ready(); _M_stack.push(_StateSeqT( *_M_nfa, *************** namespace __detail *** 453,479 **** template bool _Compiler<_TraitsT>:: ! _M_expression_term(pair& __last_char, ! _BracketMatcher<_TraitsT, __icase, __collate>& __matcher) { if (_M_match_token(_ScannerT::_S_token_bracket_end)) return false; const auto __push_char = [&](_CharT __ch) { ! if (__last_char.first) ! __matcher._M_add_char(__last_char.second); ! else ! __last_char.first = true; ! __last_char.second = __ch; }; ! const auto __flush = [&] { ! if (__last_char.first) ! { ! __matcher._M_add_char(__last_char.second); ! __last_char.first = false; ! } }; if (_M_match_token(_ScannerT::_S_token_collsymbol)) --- 438,464 ---- template bool _Compiler<_TraitsT>:: ! _M_expression_term(_BracketState& __last_char, ! _BracketMatcher<__icase, __collate>& __matcher) { if (_M_match_token(_ScannerT::_S_token_bracket_end)) return false; + // Add any previously cached char into the matcher and update cache. const auto __push_char = [&](_CharT __ch) { ! if (__last_char._M_is_char()) ! __matcher._M_add_char(__last_char.get()); ! __last_char.set(__ch); }; ! // Add any previously cached char into the matcher and update cache. ! const auto __push_class = [&] { ! if (__last_char._M_is_char()) ! __matcher._M_add_char(__last_char.get()); ! // We don't cache anything here, just record that the last thing ! // processed was a character class (or similar). ! __last_char.reset(_BracketState::_Type::_Class); }; if (_M_match_token(_ScannerT::_S_token_collsymbol)) *************** namespace __detail *** 482,497 **** if (__symbol.size() == 1) __push_char(__symbol[0]); else ! __flush(); } else if (_M_match_token(_ScannerT::_S_token_equiv_class_name)) { ! __flush(); __matcher._M_add_equivalence_class(_M_value); } else if (_M_match_token(_ScannerT::_S_token_char_class_name)) { ! __flush(); __matcher._M_add_character_class(_M_value, false); } else if (_M_try_char()) --- 467,482 ---- if (__symbol.size() == 1) __push_char(__symbol[0]); else ! __push_class(); } else if (_M_match_token(_ScannerT::_S_token_equiv_class_name)) { ! __push_class(); __matcher._M_add_equivalence_class(_M_value); } else if (_M_match_token(_ScannerT::_S_token_char_class_name)) { ! __push_class(); __matcher._M_add_character_class(_M_value, false); } else if (_M_try_char()) *************** namespace __detail *** 508,556 **** // It turns out that no one reads BNFs ;) else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) { ! if (!__last_char.first) { ! if (!(_M_flags & regex_constants::ECMAScript)) ! { ! if (_M_match_token(_ScannerT::_S_token_bracket_end)) ! { ! __push_char('-'); ! return false; ! } ! __throw_regex_error( ! regex_constants::error_range, ! "Unexpected dash in bracket expression. For POSIX syntax, " ! "a dash is not treated literally only when it is at " ! "beginning or end."); ! } __push_char('-'); } ! else { if (_M_try_char()) { ! __matcher._M_make_range(__last_char.second, _M_value[0]); ! __last_char.first = false; } else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) { ! __matcher._M_make_range(__last_char.second, '-'); ! __last_char.first = false; } else ! { ! if (_M_scanner._M_get_token() ! != _ScannerT::_S_token_bracket_end) ! __throw_regex_error( ! regex_constants::error_range, ! "Character is expected after a dash."); ! __push_char('-'); ! } } } else if (_M_match_token(_ScannerT::_S_token_quoted_class)) { ! __flush(); __matcher._M_add_character_class(_M_value, _M_ctype.is(_CtypeT::upper, _M_value[0])); --- 493,542 ---- // It turns out that no one reads BNFs ;) else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) { ! if (_M_match_token(_ScannerT::_S_token_bracket_end)) { ! // For "-]" the dash is a literal character. __push_char('-'); + return false; } ! else if (__last_char._M_is_class()) ! { ! // "\\w-" is invalid, start of range must be a single char. ! __throw_regex_error(regex_constants::error_range, ! "Invalid start of range in bracket expression."); ! } ! else if (__last_char._M_is_char()) { if (_M_try_char()) { ! // "x-y" ! __matcher._M_make_range(__last_char.get(), _M_value[0]); ! __last_char.reset(); } else if (_M_match_token(_ScannerT::_S_token_bracket_dash)) { ! // "x--" ! __matcher._M_make_range(__last_char.get(), '-'); ! __last_char.reset(); } else ! __throw_regex_error(regex_constants::error_range, ! "Invalid end of range in bracket expression."); ! } ! else if (_M_flags & regex_constants::ECMAScript) ! { ! // A dash that is not part of an existing range. Might be the ! // start of a new range, or might just be a literal '-' char. ! // Only ECMAScript allows that in the middle of a bracket expr. ! __push_char('-'); } + else + __throw_regex_error(regex_constants::error_range, + "Invalid dash in bracket expression."); } else if (_M_match_token(_ScannerT::_S_token_quoted_class)) { ! __push_class(); __matcher._M_add_character_class(_M_value, _M_ctype.is(_CtypeT::upper, _M_value[0])); *************** namespace __detail *** 602,611 **** _Compiler<_TraitsT>:: _M_cur_int_value(int __radix) { ! long __v = 0; ! for (typename _StringT::size_type __i = 0; ! __i < _M_value.length(); ++__i) ! __v =__v * __radix + _M_traits.value(_M_value[__i], __radix); return __v; } --- 588,599 ---- _Compiler<_TraitsT>:: _M_cur_int_value(int __radix) { ! int __v = 0; ! for (_CharT __c : _M_value) ! if (__builtin_mul_overflow(__v, __radix, &__v) ! || __builtin_add_overflow(__v, _M_traits.value(__c, __radix), &__v)) ! std::__throw_regex_error(regex_constants::error_backref, ! "invalid back reference"); return __v; } diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_error.h gcc-10.5.0/libstdc++-v3/include/bits/regex_error.h *** gcc-10.4.0/libstdc++-v3/include/bits/regex_error.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_error.h Fri Jul 7 07:08:22 2023 *************** namespace regex_constants *** 61,66 **** --- 61,68 ---- _S_error_badrepeat, _S_error_complexity, _S_error_stack, + _S_null, + _S_grammar }; /** The expression contained an invalid collating element name. */ *************** namespace regex_constants *** 150,156 **** * @returns the regex error code. */ regex_constants::error_type ! code() const { return _M_code; } private: --- 152,158 ---- * @returns the regex error code. */ regex_constants::error_type ! code() const noexcept { return _M_code; } private: *************** namespace regex_constants *** 167,173 **** __throw_regex_error(regex_constants::error_type __ecode); inline void ! __throw_regex_error(regex_constants::error_type __ecode, const char* __what) { _GLIBCXX_THROW_OR_ABORT(regex_error(__ecode, __what)); } _GLIBCXX_END_NAMESPACE_VERSION --- 169,177 ---- __throw_regex_error(regex_constants::error_type __ecode); inline void ! __throw_regex_error(regex_constants::error_type __ecode ! __attribute__((__unused__)), ! const char* __what __attribute__((__unused__))) { _GLIBCXX_THROW_OR_ABORT(regex_error(__ecode, __what)); } _GLIBCXX_END_NAMESPACE_VERSION diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_executor.tcc gcc-10.5.0/libstdc++-v3/include/bits/regex_executor.tcc *** gcc-10.4.0/libstdc++-v3/include/bits/regex_executor.tcc Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_executor.tcc Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 423,429 **** template void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>:: ! _M_handle_accept(_Match_mode __match_mode, _StateIdT __i) { if (__dfs_mode) { --- 423,429 ---- template void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>:: ! _M_handle_accept(_Match_mode __match_mode, _StateIdT) { if (__dfs_mode) { diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_scanner.h gcc-10.5.0/libstdc++-v3/include/bits/regex_scanner.h *** gcc-10.4.0/libstdc++-v3/include/bits/regex_scanner.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_scanner.h Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 223,233 **** _M_advance(); _TokenT ! _M_get_token() const { return _M_token; } const _StringT& ! _M_get_value() const { return _M_value; } #ifdef _GLIBCXX_DEBUG --- 223,233 ---- _M_advance(); _TokenT ! _M_get_token() const noexcept { return _M_token; } const _StringT& ! _M_get_value() const noexcept { return _M_value; } #ifdef _GLIBCXX_DEBUG diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/regex_scanner.tcc gcc-10.5.0/libstdc++-v3/include/bits/regex_scanner.tcc *** gcc-10.4.0/libstdc++-v3/include/bits/regex_scanner.tcc Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/regex_scanner.tcc Fri Jul 7 07:08:22 2023 *************** namespace __detail *** 176,181 **** --- 176,191 ---- _M_state = _S_state_in_brace; _M_token = _S_token_interval_begin; } + else if (__builtin_expect(__c == _CharT(0), false)) + { + if (!_M_is_ecma()) + { + __throw_regex_error(regex_constants::_S_null, + "Unexpected null character in regular expression"); + } + _M_token = _S_token_ord_char; + _M_value.assign(1, __c); + } else if (__c != ']' && __c != '}') { auto __it = _M_token_tbl; diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/shared_ptr_base.h gcc-10.5.0/libstdc++-v3/include/bits/shared_ptr_base.h *** gcc-10.4.0/libstdc++-v3/include/bits/shared_ptr_base.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/shared_ptr_base.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1700,1708 **** __weak_ptr& operator=(__weak_ptr&& __r) noexcept { ! _M_ptr = __r._M_ptr; ! _M_refcount = std::move(__r._M_refcount); ! __r._M_ptr = nullptr; return *this; } --- 1700,1706 ---- __weak_ptr& operator=(__weak_ptr&& __r) noexcept { ! __weak_ptr(std::move(__r)).swap(*this); return *this; } diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/slice_array.h gcc-10.5.0/libstdc++-v3/include/bits/slice_array.h *** gcc-10.4.0/libstdc++-v3/include/bits/slice_array.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/slice_array.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 245,250 **** --- 245,251 ---- slice_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const { std::__valarray_copy(__e, _M_sz, _M_array, _M_stride); } + /// @cond undocumented #undef _DEFINE_VALARRAY_OPERATOR #define _DEFINE_VALARRAY_OPERATOR(_Op,_Name) \ template \ *************** _DEFINE_VALARRAY_OPERATOR(<<, __shift_le *** 275,280 **** --- 276,282 ---- _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR + /// @endcond /// @} group numeric_arrays diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/stl_iterator.h gcc-10.5.0/libstdc++-v3/include/bits/stl_iterator.h *** gcc-10.4.0/libstdc++-v3/include/bits/stl_iterator.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/stl_iterator.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1683,1689 **** _S_noexcept1() { if constexpr (is_trivially_default_constructible_v<_Tp>) ! return is_nothrow_assignable_v<_Tp, _Up>; else return is_nothrow_constructible_v<_Tp, _Up>; } --- 1683,1689 ---- _S_noexcept1() { if constexpr (is_trivially_default_constructible_v<_Tp>) ! return is_nothrow_assignable_v<_Tp&, _Up>; else return is_nothrow_constructible_v<_Tp, _Up>; } *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1753,1758 **** --- 1753,1759 ---- noexcept(_S_noexcept()) : _M_valueless(), _M_index(__x._M_index) { + __glibcxx_assert(__x._M_has_value()); if (_M_index == 0) { if constexpr (is_trivially_default_constructible_v<_It>) *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1777,1803 **** if (_M_index == 0) { if constexpr (is_trivially_default_constructible_v<_It>) ! _M_it = std::move(__x._M_it); else ::new((void*)std::__addressof(_M_it)) _It(__x._M_it); } else if (_M_index == 1) { if constexpr (is_trivially_default_constructible_v<_Sent>) ! _M_sent = std::move(__x._M_sent); else ::new((void*)std::__addressof(_M_sent)) _Sent(__x._M_sent); } } common_iterator& operator=(const common_iterator& __x) noexcept(is_nothrow_copy_assignable_v<_It> && is_nothrow_copy_assignable_v<_Sent> && is_nothrow_copy_constructible_v<_It> && is_nothrow_copy_constructible_v<_Sent>) { ! return this->operator=<_It, _Sent>(__x); } template --- 1778,1848 ---- if (_M_index == 0) { if constexpr (is_trivially_default_constructible_v<_It>) ! _M_it = __x._M_it; else ::new((void*)std::__addressof(_M_it)) _It(__x._M_it); } else if (_M_index == 1) { if constexpr (is_trivially_default_constructible_v<_Sent>) ! _M_sent = __x._M_sent; else ::new((void*)std::__addressof(_M_sent)) _Sent(__x._M_sent); } } + constexpr + common_iterator(common_iterator&& __x) + noexcept(_S_noexcept<_It, _Sent>()) + : _M_valueless(), _M_index(__x._M_index) + { + if (_M_index == 0) + { + if constexpr (is_trivially_default_constructible_v<_It>) + _M_it = std::move(__x._M_it); + else + ::new((void*)std::__addressof(_M_it)) _It(std::move(__x._M_it)); + } + else if (_M_index == 1) + { + if constexpr (is_trivially_default_constructible_v<_Sent>) + _M_sent = std::move(__x._M_sent); + else + ::new((void*)std::__addressof(_M_sent)) + _Sent(std::move(__x._M_sent)); + } + } + + constexpr common_iterator& + operator=(const common_iterator&) = default; + common_iterator& operator=(const common_iterator& __x) noexcept(is_nothrow_copy_assignable_v<_It> && is_nothrow_copy_assignable_v<_Sent> && is_nothrow_copy_constructible_v<_It> && is_nothrow_copy_constructible_v<_Sent>) + requires (!is_trivially_copy_assignable_v<_It> + || !is_trivially_copy_assignable_v<_Sent>) { ! _M_assign(__x); ! return *this; ! } ! ! constexpr common_iterator& ! operator=(common_iterator&&) = default; ! ! common_iterator& ! operator=(common_iterator&& __x) ! noexcept(is_nothrow_move_assignable_v<_It> ! && is_nothrow_move_assignable_v<_Sent> ! && is_nothrow_move_constructible_v<_It> ! && is_nothrow_move_constructible_v<_Sent>) ! requires (!is_trivially_move_assignable_v<_It> ! || !is_trivially_move_assignable_v<_Sent>) ! { ! _M_assign(std::move(__x)); ! return *this; } template *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1809,1859 **** operator=(const common_iterator<_It2, _Sent2>& __x) noexcept(is_nothrow_constructible_v<_It, const _It2&> && is_nothrow_constructible_v<_Sent, const _Sent2&> ! && is_nothrow_assignable_v<_It, const _It2&> ! && is_nothrow_assignable_v<_Sent, const _Sent2&>) { ! switch(_M_index << 2 | __x._M_index) ! { ! case 0b0000: ! _M_it = __x._M_it; ! break; ! case 0b0101: ! _M_sent = __x._M_sent; ! break; ! case 0b0001: ! _M_it.~_It(); ! _M_index = -1; ! [[fallthrough]]; ! case 0b1001: ! ::new((void*)std::__addressof(_M_sent)) _Sent(__x._M_sent); ! _M_index = 1; ! break; ! case 0b0100: ! _M_sent.~_Sent(); ! _M_index = -1; ! [[fallthrough]]; ! case 0b1000: ! ::new((void*)std::__addressof(_M_it)) _It(__x._M_it); ! _M_index = 0; ! break; ! default: ! __glibcxx_assert(__x._M_has_value()); ! __builtin_unreachable(); ! } return *this; } ~common_iterator() { ! switch (_M_index) ! { ! case 0: ! _M_it.~_It(); ! break; ! case 1: ! _M_sent.~_Sent(); ! break; ! } } decltype(auto) --- 1854,1873 ---- operator=(const common_iterator<_It2, _Sent2>& __x) noexcept(is_nothrow_constructible_v<_It, const _It2&> && is_nothrow_constructible_v<_Sent, const _Sent2&> ! && is_nothrow_assignable_v<_It&, const _It2&> ! && is_nothrow_assignable_v<_Sent&, const _Sent2&>) { ! __glibcxx_assert(__x._M_has_value()); ! _M_assign(__x); return *this; } ~common_iterator() { ! if (_M_index == 0) ! _M_it.~_It(); ! else if (_M_index == 1) ! _M_sent.~_Sent(); } decltype(auto) *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 2004,2012 **** private: template _Sent2> friend class common_iterator; ! bool _M_has_value() const noexcept { return _M_index < 2; } union { --- 2018,2057 ---- private: template _Sent2> + requires (!same_as<_It2, _Sent2>) && copyable<_It2> friend class common_iterator; ! bool ! _M_has_value() const noexcept { return _M_index != _S_valueless; } ! ! template ! void ! _M_assign(_CIt&& __x) ! { ! if (_M_index == __x._M_index) ! { ! if (_M_index == 0) ! _M_it = std::forward<_CIt>(__x)._M_it; ! else if (_M_index == 1) ! _M_sent = std::forward<_CIt>(__x)._M_sent; ! } ! else ! { ! if (_M_index == 0) ! _M_it.~_It(); ! else if (_M_index == 1) ! _M_sent.~_Sent(); ! _M_index = _S_valueless; ! ! if (__x._M_index == 0) ! ::new((void*)std::__addressof(_M_it)) ! _It(std::forward<_CIt>(__x)._M_it); ! else if (__x._M_index == 1) ! ::new((void*)std::__addressof(_M_sent)) ! _Sent(std::forward<_CIt>(__x)._M_sent); ! _M_index = __x._M_index; ! } ! } union { *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 2014,2020 **** _Sent _M_sent; unsigned char _M_valueless; }; ! unsigned char _M_index; // 0==_M_it, 1==_M_sent, 2==valueless }; template --- 2059,2067 ---- _Sent _M_sent; unsigned char _M_valueless; }; ! unsigned char _M_index; // 0 == _M_it, 1 == _M_sent, 2 == valueless ! ! static constexpr unsigned char _S_valueless{2}; }; template diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/bits/stl_uninitialized.h gcc-10.5.0/libstdc++-v3/include/bits/stl_uninitialized.h *** gcc-10.4.0/libstdc++-v3/include/bits/stl_uninitialized.h Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/bits/stl_uninitialized.h Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 549,555 **** typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ! std::fill(__first, __last, _ValueType()); } }; --- 549,562 ---- typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ! if (__first == __last) ! return; ! ! typename iterator_traits<_ForwardIterator>::value_type* __val ! = std::__addressof(*__first); ! std::_Construct(__val); ! if (++__first != __last) ! std::fill(__first, __last, *__val); } }; *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 582,597 **** static _ForwardIterator __uninit_default_n(_ForwardIterator __first, _Size __n) { ! typedef typename iterator_traits<_ForwardIterator>::value_type ! _ValueType; ! ! return std::fill_n(__first, __n, _ValueType()); } }; // __uninitialized_default ! // Fills [first, last) with std::distance(first, last) default ! // constructed value_types(s). template inline void __uninitialized_default(_ForwardIterator __first, --- 589,608 ---- static _ForwardIterator __uninit_default_n(_ForwardIterator __first, _Size __n) { ! if (__n > 0) ! { ! typename iterator_traits<_ForwardIterator>::value_type* __val ! = std::__addressof(*__first); ! std::_Construct(__val); ! ++__first; ! __first = std::fill_n(__first, __n - 1, *__val); ! } ! return __first; } }; // __uninitialized_default ! // Fills [first, last) with value-initialized value_types. template inline void __uninitialized_default(_ForwardIterator __first, *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 608,614 **** } // __uninitialized_default_n ! // Fills [first, first + n) with n default constructed value_type(s). template inline _ForwardIterator __uninitialized_default_n(_ForwardIterator __first, _Size __n) --- 619,625 ---- } // __uninitialized_default_n ! // Fills [first, first + n) with value-initialized value_types. template inline _ForwardIterator __uninitialized_default_n(_ForwardIterator __first, _Size __n) *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 625,632 **** // __uninitialized_default_a ! // Fills [first, last) with std::distance(first, last) default ! // constructed value_types(s), constructed with the allocator alloc. template void __uninitialized_default_a(_ForwardIterator __first, --- 636,643 ---- // __uninitialized_default_a ! // Fills [first, last) with value_types constructed by the allocator ! // alloc, with no arguments passed to the construct call. template void __uninitialized_default_a(_ForwardIterator __first, *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 656,663 **** // __uninitialized_default_n_a ! // Fills [first, first + n) with n default constructed value_types(s), ! // constructed with the allocator alloc. template _ForwardIterator __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, --- 667,674 ---- // __uninitialized_default_n_a ! // Fills [first, first + n) with value_types constructed by the allocator ! // alloc, with no arguments passed to the construct call. template _ForwardIterator __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 678,683 **** --- 689,696 ---- } } + // __uninitialized_default_n_a specialization for std::allocator, + // which ignores the allocator and value-initializes the elements. template inline _ForwardIterator __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 749,756 **** }; // __uninitialized_default_novalue ! // Fills [first, last) with std::distance(first, last) default-initialized ! // value_types(s). template inline void __uninitialized_default_novalue(_ForwardIterator __first, --- 762,768 ---- }; // __uninitialized_default_novalue ! // Fills [first, last) with default-initialized value_types. template inline void __uninitialized_default_novalue(_ForwardIterator __first, *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 764,771 **** __uninit_default_novalue(__first, __last); } ! // __uninitialized_default_n ! // Fills [first, first + n) with n default-initialized value_type(s). template inline _ForwardIterator __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) --- 776,783 ---- __uninit_default_novalue(__first, __last); } ! // __uninitialized_default_novalue_n ! // Fills [first, first + n) with default-initialized value_types. template inline _ForwardIterator __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/experimental/numeric gcc-10.5.0/libstdc++-v3/include/experimental/numeric *** gcc-10.4.0/libstdc++-v3/include/experimental/numeric Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/experimental/numeric Fri Jul 7 07:08:22 2023 *************** inline namespace fundamentals_v2 *** 56,72 **** constexpr common_type_t<_Mn, _Nn> gcd(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn>, ! "std::experimental::gcd arguments must be integers"); ! static_assert(is_integral_v<_Nn>, ! "std::experimental::gcd arguments must be integers"); ! static_assert(_Mn(2) != _Mn(1), ! "std::experimental::gcd arguments must not be bool"); ! static_assert(_Nn(2) != _Nn(1), ! "std::experimental::gcd arguments must not be bool"); ! using _Up = make_unsigned_t>; ! return std::__detail::__gcd(std::__detail::__absu<_Up>(__m), ! std::__detail::__absu<_Up>(__n)); } /// Least common multiple --- 56,70 ---- constexpr common_type_t<_Mn, _Nn> gcd(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn> && is_integral_v<_Nn>, ! "std::experimental::gcd arguments must be integers"); ! static_assert(_Mn(2) == 2 && _Nn(2) == 2, ! "std::experimental::gcd arguments must not be bool"); ! namespace __detail = std::__detail; ! using _Ct = common_type_t<_Mn, _Nn>; ! const _Ct __m2 = __detail::__abs_r<_Ct>(__m); ! const _Ct __n2 = __detail::__abs_r<_Ct>(__n); ! return __detail::__gcd>(__m2, __n2); } /// Least common multiple *************** inline namespace fundamentals_v2 *** 74,90 **** constexpr common_type_t<_Mn, _Nn> lcm(_Mn __m, _Nn __n) { ! static_assert(is_integral_v<_Mn>, ! "std::experimental::lcm arguments must be integers"); ! static_assert(is_integral_v<_Nn>, "std::experimental::lcm arguments must be integers"); ! static_assert(_Mn(2) != _Mn(1), ! "std::experimental::lcm arguments must not be bool"); ! static_assert(_Nn(2) != _Nn(1), "std::experimental::lcm arguments must not be bool"); ! using _Up = make_unsigned_t>; ! return std::__detail::__lcm(std::__detail::__absu<_Up>(__m), ! std::__detail::__absu<_Up>(__n)); } } // namespace fundamentals_v2 } // namespace experimental --- 72,98 ---- constexpr common_type_t<_Mn, _Nn> lcm(_Mn __m, _Nn __n) { ! static_assert(is_integral_v<_Mn> && is_integral_v<_Nn>, "std::experimental::lcm arguments must be integers"); ! static_assert(_Mn(2) == 2 && _Nn(2) == 2, "std::experimental::lcm arguments must not be bool"); ! namespace __detail = std::__detail; ! using _Ct = common_type_t<_Mn, _Nn>; ! const _Ct __m2 = __detail::__abs_r<_Ct>(__m); ! const _Ct __n2 = __detail::__abs_r<_Ct>(__n); ! if (__m2 == 0 || __n2 == 0) ! return 0; ! _Ct __r = __m2 / __detail::__gcd>(__m2, __n2); ! ! #if defined _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED ! if _GLIBCXX17_CONSTEXPR (is_signed_v<_Ct>) ! if (__builtin_is_constant_evaluated()) ! return __r * __n2; // constant evaluation can detect overflow here. ! #endif ! ! bool __overflow = __builtin_mul_overflow(__r, __n2, &__r); ! __glibcxx_assert(!__overflow); ! return __r; } } // namespace fundamentals_v2 } // namespace experimental diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/experimental/optional gcc-10.5.0/libstdc++-v3/include/experimental/optional *** gcc-10.4.0/libstdc++-v3/include/experimental/optional Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/experimental/optional Fri Jul 7 07:08:22 2023 *************** *** 1,4 **** ! // -*- C++ -*- // Copyright (C) 2013-2020 Free Software Foundation, Inc. // --- 1,4 ---- ! // -*- C++ -*- // Copyright (C) 2013-2020 Free Software Foundation, Inc. // diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/any gcc-10.5.0/libstdc++-v3/include/std/any *** gcc-10.4.0/libstdc++-v3/include/std/any Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/any Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 263,271 **** { using _VTp = decay_t<_Tp>; __do_emplace<_VTp>(std::forward<_Args>(__args)...); ! any::_Arg __arg; ! this->_M_manager(any::_Op_access, this, &__arg); ! return *static_cast<_VTp*>(__arg._M_obj); } /// Emplace with an object created from @p __il and @p __args as --- 263,269 ---- { using _VTp = decay_t<_Tp>; __do_emplace<_VTp>(std::forward<_Args>(__args)...); ! return *any::_Manager<_VTp>::_S_access(_M_storage); } /// Emplace with an object created from @p __il and @p __args as *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 276,284 **** { using _VTp = decay_t<_Tp>; __do_emplace<_VTp, _Up>(__il, std::forward<_Args>(__args)...); ! any::_Arg __arg; ! this->_M_manager(any::_Op_access, this, &__arg); ! return *static_cast<_VTp*>(__arg._M_obj); } // modifiers --- 274,280 ---- { using _VTp = decay_t<_Tp>; __do_emplace<_VTp, _Up>(__il, std::forward<_Args>(__args)...); ! return *any::_Manager<_VTp>::_S_access(_M_storage); } // modifiers *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 384,389 **** --- 380,393 ---- void* __addr = &__storage._M_buffer; ::new (__addr) _Tp(std::forward<_Args>(__args)...); } + + static _Tp* + _S_access(const _Storage& __storage) + { + // The contained object is in __storage._M_buffer + const void* __addr = &__storage._M_buffer; + return static_cast<_Tp*>(const_cast(__addr)); + } }; // Manage external contained object. *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 405,410 **** --- 409,420 ---- { __storage._M_ptr = new _Tp(std::forward<_Args>(__args)...); } + static _Tp* + _S_access(const _Storage& __storage) + { + // The contained object is in *__storage._M_ptr + return static_cast<_Tp*>(__storage._M_ptr); + } }; }; *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 516,524 **** #endif ) { ! any::_Arg __arg; ! __any->_M_manager(any::_Op_access, __any, &__arg); ! return __arg._M_obj; } return nullptr; } --- 526,532 ---- #endif ) { ! return any::_Manager<_Up>::_S_access(__any->_M_storage); } return nullptr; } diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/memory gcc-10.5.0/libstdc++-v3/include/std/memory *** gcc-10.4.0/libstdc++-v3/include/std/memory Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/memory Fri Jul 7 07:08:22 2023 *************** get_pointer_safety() noexcept { return p *** 378,388 **** using _Tp1 = typename _Tp::first_type; using _Tp2 = typename _Tp::second_type; return std::make_tuple(piecewise_construct, std::uses_allocator_construction_args<_Tp1>(__a, ! std::move(__pr).first), std::uses_allocator_construction_args<_Tp2>(__a, ! std::move(__pr).second)); } template --- 378,391 ---- using _Tp1 = typename _Tp::first_type; using _Tp2 = typename _Tp::second_type; + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 3527. uses_allocator_construction_args handles rvalue pairs + // of rvalue references incorrectly return std::make_tuple(piecewise_construct, std::uses_allocator_construction_args<_Tp1>(__a, ! std::get<0>(std::move(__pr))), std::uses_allocator_construction_args<_Tp2>(__a, ! std::get<1>(std::move(__pr)))); } template diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/numeric gcc-10.5.0/libstdc++-v3/include/std/numeric *** gcc-10.4.0/libstdc++-v3/include/std/numeric Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/numeric Fri Jul 7 07:08:22 2023 *************** *** 76,81 **** --- 76,82 ---- #if __cplusplus >= 201402L #include + #include namespace std _GLIBCXX_VISIBILITY(default) { *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 83,101 **** namespace __detail { ! // std::abs is not constexpr, doesn't support unsigned integers, ! // and std::abs(std::numeric_limits::min()) is undefined. ! template ! constexpr _Up ! __absu(_Tp __val) { ! static_assert(is_unsigned<_Up>::value, "result type must be unsigned"); ! static_assert(sizeof(_Up) >= sizeof(_Tp), "result type must be at least as wide as the input type"); ! return __val < 0 ? -(_Up)__val : (_Up)__val; } ! template void __absu(bool) = delete; // GCD implementation template --- 84,108 ---- namespace __detail { ! // Like std::abs, but supports unsigned types and returns the specified type, ! // so |std::numeric_limits<_Tp>::min()| is OK if representable in _Res. ! template ! constexpr _Res ! __abs_r(_Tp __val) { ! static_assert(sizeof(_Res) >= sizeof(_Tp), "result type must be at least as wide as the input type"); ! ! if (__val >= 0) ! return __val; ! #if defined _GLIBCXX_ASSERTIONS && defined _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED ! if (!__builtin_is_constant_evaluated()) // overflow already detected in constexpr ! __glibcxx_assert(__val != __gnu_cxx::__int_traits<_Res>::__min); ! #endif ! return -static_cast<_Res>(__val); } ! template void __abs_r(bool) = delete; // GCD implementation template *************** namespace __detail *** 107,122 **** : __n == 0 ? __m : __detail::__gcd(__n, _Tp(__m % __n)); } - - // LCM implementation - template - constexpr _Tp - __lcm(_Tp __m, _Tp __n) - { - return (__m != 0 && __n != 0) - ? (__m / __detail::__gcd(__m, __n)) * __n - : 0; - } } // namespace __detail #if __cplusplus >= 201703L --- 114,119 ---- *************** namespace __detail *** 131,143 **** constexpr common_type_t<_Mn, _Nn> gcd(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn>, "std::gcd arguments must be integers"); ! static_assert(is_integral_v<_Nn>, "std::gcd arguments must be integers"); ! static_assert(_Mn(2) != _Mn(1), "std::gcd arguments must not be bool"); ! static_assert(_Nn(2) != _Nn(1), "std::gcd arguments must not be bool"); ! using _Up = make_unsigned_t>; ! return __detail::__gcd(__detail::__absu<_Up>(__m), ! __detail::__absu<_Up>(__n)); } /// Least common multiple --- 128,141 ---- constexpr common_type_t<_Mn, _Nn> gcd(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn> && is_integral_v<_Nn>, ! "std::gcd arguments must be integers"); ! static_assert(_Mn(2) == 2 && _Nn(2) == 2, ! "std::gcd arguments must not be bool"); ! using _Ct = common_type_t<_Mn, _Nn>; ! const _Ct __m2 = __detail::__abs_r<_Ct>(__m); ! const _Ct __n2 = __detail::__abs_r<_Ct>(__n); ! return __detail::__gcd>(__m2, __n2); } /// Least common multiple *************** namespace __detail *** 145,157 **** constexpr common_type_t<_Mn, _Nn> lcm(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn>, "std::lcm arguments must be integers"); ! static_assert(is_integral_v<_Nn>, "std::lcm arguments must be integers"); ! static_assert(_Mn(2) == 2, "std::lcm arguments must not be bool"); ! static_assert(_Nn(2) == 2, "std::lcm arguments must not be bool"); ! using _Up = make_unsigned_t>; ! return __detail::__lcm(__detail::__absu<_Up>(__m), ! __detail::__absu<_Up>(__n)); } #endif // C++17 --- 143,173 ---- constexpr common_type_t<_Mn, _Nn> lcm(_Mn __m, _Nn __n) noexcept { ! static_assert(is_integral_v<_Mn> && is_integral_v<_Nn>, ! "std::lcm arguments must be integers"); ! static_assert(_Mn(2) == 2 && _Nn(2) == 2, ! "std::lcm arguments must not be bool"); ! using _Ct = common_type_t<_Mn, _Nn>; ! const _Ct __m2 = __detail::__abs_r<_Ct>(__m); ! const _Ct __n2 = __detail::__abs_r<_Ct>(__n); ! if (__m2 == 0 || __n2 == 0) ! return 0; ! _Ct __r = __m2 / __detail::__gcd>(__m2, __n2); ! ! #if defined _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED ! if constexpr (is_signed_v<_Ct>) ! if (__builtin_is_constant_evaluated()) ! return __r * __n2; // constant evaluation can detect overflow here. ! #endif ! ! bool __overflow = __builtin_mul_overflow(__r, __n2, &__r); ! #if defined _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED ! if (__builtin_is_constant_evaluated()) ! if (__overflow) ! _GLIBCXX_THROW_OR_ABORT("std::lcm result is out of range of type"); ! #endif ! __glibcxx_assert(!__overflow); ! return __r; } #endif // C++17 diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/ranges gcc-10.5.0/libstdc++-v3/include/std/ranges *** gcc-10.4.0/libstdc++-v3/include/std/ranges Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/ranges Fri Jul 7 07:08:22 2023 *************** namespace ranges *** 264,271 **** requires (_Kind == subrange_kind::sized) : _M_begin(std::move(__i)), _M_end(__s) { - using __detail::__to_unsigned_like; - __glibcxx_assert(__n == __to_unsigned_like(ranges::distance(__i, __s))); if constexpr (_S_store_size) _M_size._M_size = __n; } --- 264,269 ---- *************** namespace ranges *** 518,524 **** class single_view : public view_interface> { public: ! single_view() requires default_initializable<_Tp> = default; constexpr explicit single_view(const _Tp& __t) --- 516,522 ---- class single_view : public view_interface> { public: ! single_view() = default; constexpr explicit single_view(const _Tp& __t) *************** namespace views *** 1592,1600 **** [[no_unique_address]] __detail::_CachedPosition<_Vp> _M_cached_begin; public: ! filter_view() requires (default_initializable<_Vp> ! && default_initializable<_Pred>) ! = default; constexpr filter_view(_Vp __base, _Pred __pred) --- 1590,1596 ---- [[no_unique_address]] __detail::_CachedPosition<_Vp> _M_cached_begin; public: ! filter_view() requires default_initializable<_Vp> = default; constexpr filter_view(_Vp __base, _Pred __pred) *************** namespace views *** 1940,1948 **** __detail::__box<_Fp> _M_fun; public: ! transform_view() requires (default_initializable<_Vp> ! && default_initializable<_Fp>) ! = default; constexpr transform_view(_Vp __base, _Fp __fun) --- 1936,1942 ---- __detail::__box<_Fp> _M_fun; public: ! transform_view() requires default_initializable<_Vp> = default; constexpr transform_view(_Vp __base, _Fp __fun) *************** namespace views *** 2220,2228 **** __detail::__box<_Pred> _M_pred; public: ! take_while_view() requires (default_initializable<_Vp> ! && default_initializable<_Pred>) ! = default; constexpr take_while_view(_Vp base, _Pred __pred) --- 2214,2220 ---- __detail::__box<_Pred> _M_pred; public: ! take_while_view() requires default_initializable<_Vp> = default; constexpr take_while_view(_Vp base, _Pred __pred) *************** namespace views *** 2389,2397 **** [[no_unique_address]] __detail::_CachedPosition<_Vp> _M_cached_begin; public: ! drop_while_view() requires (default_initializable<_Vp> ! && default_initializable<_Pred>) ! = default; constexpr drop_while_view(_Vp __base, _Pred __pred) --- 2381,2387 ---- [[no_unique_address]] __detail::_CachedPosition<_Vp> _M_cached_begin; public: ! drop_while_view() requires default_initializable<_Vp> = default; constexpr drop_while_view(_Vp __base, _Pred __pred) diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/span gcc-10.5.0/libstdc++-v3/include/std/span *** gcc-10.4.0/libstdc++-v3/include/std/span Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/span Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 165,170 **** --- 165,171 ---- { __glibcxx_assert(__count == _Extent); } + __glibcxx_requires_valid_range(__first, __first + __count); } template _End> *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 180,185 **** --- 181,187 ---- { __glibcxx_assert((__last - __first) == _Extent); } + __glibcxx_requires_valid_range(__first, __last); } template diff -Nrcpad gcc-10.4.0/libstdc++-v3/include/std/valarray gcc-10.5.0/libstdc++-v3/include/std/valarray *** gcc-10.4.0/libstdc++-v3/include/std/valarray Tue Jun 28 08:54:31 2022 --- gcc-10.5.0/libstdc++-v3/include/std/valarray Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 1076,1081 **** --- 1076,1082 ---- return _Expr<_Closure, _Tp>(_Closure(*this, func)); } + /// @cond undocumented #define _DEFINE_VALARRAY_UNARY_OPERATOR(_Op, _Name) \ template \ inline typename valarray<_Tp>::template _UnaryOp<_Name>::_Rt \ *************** _DEFINE_BINARY_OPERATOR(<=, __less_equal *** 1202,1207 **** --- 1203,1209 ---- _DEFINE_BINARY_OPERATOR(>=, __greater_equal) #undef _DEFINE_BINARY_OPERATOR + /// @endcond #if __cplusplus >= 201103L /** diff -Nrcpad gcc-10.4.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py gcc-10.5.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py *** gcc-10.4.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py Tue Jun 28 08:54:32 2022 --- gcc-10.5.0/libstdc++-v3/python/libstdcxx/v6/xmethods.py Fri Jul 7 07:08:22 2023 *************** class SharedPtrUseCountWorker(gdb.xmetho *** 730,736 **** "Implements std::shared_ptr::use_count()" def __init__(self, elem_type): ! SharedPtrUseCountWorker.__init__(self, elem_type) def get_arg_types(self): return None --- 730,736 ---- "Implements std::shared_ptr::use_count()" def __init__(self, elem_type): ! pass def get_arg_types(self): return None *************** class SharedPtrUseCountWorker(gdb.xmetho *** 738,743 **** --- 738,746 ---- def get_result_type(self, obj): return gdb.lookup_type('long') + def _supports(self, method_name): + return True + def __call__(self, obj): refcounts = obj['_M_refcount']['_M_pi'] return refcounts['_M_use_count'] if refcounts else 0 diff -Nrcpad gcc-10.4.0/libstdc++-v3/src/c++11/thread.cc gcc-10.5.0/libstdc++-v3/src/c++11/thread.cc *** gcc-10.4.0/libstdc++-v3/src/c++11/thread.cc Tue Jun 28 08:54:32 2022 --- gcc-10.5.0/libstdc++-v3/src/c++11/thread.cc Fri Jul 7 07:08:22 2023 *************** _GLIBCXX_BEGIN_NAMESPACE_VERSION *** 132,137 **** --- 132,147 ---- void thread::_M_start_thread(_State_ptr state, void (*)()) { + if (!__gthread_active_p()) + { + #if __cpp_exceptions + throw system_error(make_error_code(errc::operation_not_permitted), + "Enable multithreading to use std::thread"); + #else + __builtin_abort(); + #endif + } + const int err = __gthread_create(&_M_id._M_thread, &execute_native_thread_routine, state.get()); diff -Nrcpad gcc-10.4.0/libstdc++-v3/src/c++17/fs_path.cc gcc-10.5.0/libstdc++-v3/src/c++17/fs_path.cc *** gcc-10.4.0/libstdc++-v3/src/c++17/fs_path.cc Tue Jun 28 08:54:32 2022 --- gcc-10.5.0/libstdc++-v3/src/c++17/fs_path.cc Fri Jul 7 07:08:22 2023 *************** struct path::_Parser *** 186,191 **** --- 186,204 ---- { return origin + c.str.data() - input.data(); } }; + inline + path::path(basic_string_view __str, _Type __type) + : _M_pathname(__str) + { + __glibcxx_assert(__type != _Type::_Multi); + _M_cmpts.type(__type); + } + + inline + path::_Cmpt::_Cmpt(basic_string_view __s, _Type __t, size_t __pos) + : path(__s, __t), _M_pos(__pos) + { } + struct path::_List::_Impl { using value_type = _Cmpt; diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc gcc-10.5.0/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc *** gcc-10.4.0/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc Tue Jun 28 08:54:32 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc Fri Jul 7 07:08:22 2023 *************** *** 23,52 **** // 18.2.1.1 template class numeric_limits #include - #include #include template void ! do_test(std::true_type) { T limits_min = std::numeric_limits::min(); - VERIFY( std::numeric_limits::lowest() == limits_min ); - } - - template - void - do_test(std::false_type) - { T limits_max = std::numeric_limits::max(); ! VERIFY( std::numeric_limits::lowest() == -limits_max ); } - template - void - do_test() - { do_test(typename std::is_integral::type()); } - void test01() { do_test(); --- 23,42 ---- // 18.2.1.1 template class numeric_limits #include #include template void ! do_test() { T limits_min = std::numeric_limits::min(); T limits_max = std::numeric_limits::max(); ! if (std::numeric_limits::is_integer) ! VERIFY( std::numeric_limits::lowest() == limits_min ); ! else ! VERIFY( std::numeric_limits::lowest() == -limits_max ); } void test01() { do_test(); diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,68 ---- + // { dg-do compile { target c++11 } } + + #include + + template + constexpr bool + check() + { + return std::is_same(std::declval())), T>::value; + } + + void + test_value_category() + { + using P = std::pair; + static_assert( check<0, int&, P&>(), + "get<0>(pair&)" ); + static_assert( check<1, long&, P&>(), + "get<1>(pair&)" ); + static_assert( check<0, int&&, P&&>(), + "get<0>(pair&&)" ); + static_assert( check<1, long&&, P&&>(), + "get<1>(pair&&)" ); + static_assert( check<0, const int&, const P&>(), + "get<0>(const pair&)" ); + static_assert( check<1, const long&, const P&>(), + "get<1>(const pair&)" ); + static_assert( check<0, const int&&, const P&&>(), + "get<0>(const pair&&)" ); + static_assert( check<1, const long&&, const P&&>(), + "get<1>(const pair&&)" ); + + using PL = std::pair; + static_assert( check<0, int&, PL&>(), + "get<0>(pair&)" ); + static_assert( check<1, long&, PL&>(), + "get<1>(pair&)" ); + static_assert( check<0, int&, PL&&>(), + "get<0>(pair&&)" ); + static_assert( check<1, long&, PL&&>(), + "get<1>(pair&&)" ); + static_assert( check<0, int&, const PL&>(), + "get<0>(const pair&)" ); + static_assert( check<1, long&, const PL&>(), + "get<1>(const pair&)" ); + static_assert( check<0, int&, const PL&&>(), + "get<0>(const pair&&)" ); + static_assert( check<1, long&, const PL&&>(), + "get<1>(const pair&&)" ); + + using PR = std::pair; + static_assert( check<0, int&, P&>(), + "get<0>(pair&)" ); + static_assert( check<1, long&, P&>(), + "get<1>(pair&)" ); + static_assert( check<0, int&&, PR&&>(), + "get<0>(pair&&)" ); + static_assert( check<1, long&&, PR&&>(), + "get<1>(pair&&)" ); + static_assert( check<0, int&, const PR&>(), + "get<0>(const pair&)" ); + static_assert( check<1, long&, const PR&>(), + "get<1>(const pair&)" ); + static_assert( check<0, int&&, const PR&&>(), + "get<0>(const pair&&)" ); + static_assert( check<1, long&&, const PR&&>(), + "get<1>(const pair&&)" ); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,23 ---- + // { dg-do compile { target c++11 } } + + #include + + struct move_only + { + move_only(move_only&&); + }; + + using P = std::pair; + + void + test_pr108952(std::pair rvals) + { + // LWG 3527. uses_allocator_construction_args handles rvalue pairs of + // rvalue references incorrectly. + // PR libstdc++/108952 Regression in uses_allocator_construction_args + // for pair of rvalue references + std::scoped_allocator_adaptor> a; + auto p = a.allocate(1); + a.construct(p, std::move(rvals)); + a.deallocate(p, 1); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,34 ---- + // Copyright (C) 2020 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 3, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING3. If not see + // . + + // { dg-do run { target { c++11 && { ! simulator } } } } + + #include + #include + + // Assume that 9MB is larger than the stack limit. + struct X { char data[9*1024*1024]; }; + + static_assert( std::is_trivial::value, "" ); + + int main() + { + auto mem = new char[sizeof(X) * 2]; + auto p = reinterpret_cast(mem); + std::__uninitialized_default(p, p + 2); + delete[] mem; + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,34 ---- + // Copyright (C) 2020 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 3, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING3. If not see + // . + + // { dg-do run { target { c++11 && { ! simulator } } } } + + #include + #include + + // Assume that 9MB is larger than the stack limit. + struct X { char data[9*1024*1024]; }; + + static_assert( std::is_trivial::value, "" ); + + int main() + { + auto mem = new char[sizeof(X) * 2]; + auto p = reinterpret_cast(mem); + std::__uninitialized_default_n(p, 2); + delete[] mem; + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,35 ---- + // Copyright (C) 2020 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 3, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING3. If not see + // . + + // { dg-options "-std=gnu++17" } + // { dg-do run { target { c++17 && { ! simulator } } } } + + #include + #include + + // Assume that 9MB is larger than the stack limit. + struct X { char data[9*1024*1024]; }; + + static_assert( std::is_trivial_v ); + + int main() + { + auto mem = new char[sizeof(X) * 2]; + auto p = reinterpret_cast(mem); + std::uninitialized_value_construct(p, p + 2); + delete[] mem; + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,34 ---- + // Copyright (C) 2020 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 3, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING3. If not see + // . + + // { dg-options "-std=gnu++17" } + // { dg-do run { target { c++17 && { ! simulator } } } } + + #include + #include + + // Assume that 9MB is larger than the stack limit. + struct X { char data[9*1024*1024]; }; + + static_assert( std::is_trivial_v ); + + int main() + { + auto mem = new char[sizeof(X) * 2]; + std::uninitialized_value_construct_n(reinterpret_cast(mem), 2); + delete[] mem; + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,22 ---- + // { dg-options "-std=gnu++20" } + // { dg-do compile { target c++20 } } + + #include + + struct move_only + { + move_only(move_only&&); + }; + + using P = std::pair; + + void + test_lwg3527(std::pair rvals) + { + // LWG 3527. uses_allocator_construction_args handles rvalue pairs of + // rvalue references incorrectly. + // PR libstdc++/108952 Regression in uses_allocator_construction_args + // for pair of rvalue references + std::allocator a; + (void) std::uses_allocator_construction_args

(a, std::move(rvals)); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/20_util/weak_ptr/cons/self_move.cc gcc-10.5.0/libstdc++-v3/testsuite/20_util/weak_ptr/cons/self_move.cc *** gcc-10.4.0/libstdc++-v3/testsuite/20_util/weak_ptr/cons/self_move.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/20_util/weak_ptr/cons/self_move.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,19 ---- + // { dg-do run { target c++11 } } + + #include + #include + + void + test_self_move() + { + std::shared_ptr sp(new int(66)); + std::weak_ptr wp(sp); + wp = std::move(wp); // PR libstdc++/108118 + std::shared_ptr sp2(wp); + VERIFY(sp2 == sp); + } + + int main() + { + test_self_move(); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc gcc-10.5.0/libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc *** gcc-10.4.0/libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,14 ---- + // { dg-options "-std=gnu++2a" } + // { dg-do run { xfail *-*-* } } + // { dg-require-effective-target c++2a } + + #undef _GLIBCXX_DEBUG + #define _GLIBCXX_DEBUG + #include + #include + + int main() + { + std::vector v(2); + std::span s(v.begin(), 3); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc gcc-10.5.0/libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc *** gcc-10.4.0/libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,14 ---- + // { dg-options "-std=gnu++2a" } + // { dg-do run { xfail *-*-* } } + // { dg-require-effective-target c++2a } + + #undef _GLIBCXX_DEBUG + #define _GLIBCXX_DEBUG + #include + #include + + int main() + { + std::vector v(2), w(1); + std::span s(v.begin(), w.end()); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/23_containers/vector/cons/94540.cc gcc-10.5.0/libstdc++-v3/testsuite/23_containers/vector/cons/94540.cc *** gcc-10.4.0/libstdc++-v3/testsuite/23_containers/vector/cons/94540.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/23_containers/vector/cons/94540.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,35 ---- + // Copyright (C) 2020 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 3, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING3. If not see + // . + + // { dg-do run { target { c++11 && { ! simulator } } } } + + #include + #include + + // Assume that 9MB is larger than the stack limit. + struct X { char data[9*1024*1024]; }; + + static_assert( std::is_trivial::value, "" ); + + int main() + { + std::vector v(1); + VERIFY( v.size() == 1 ); + v.clear(); + v.resize(2); + VERIFY( v.size() == 2 ); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc gcc-10.5.0/libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc *** gcc-10.4.0/libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc Tue Jun 28 08:54:35 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/24_iterators/common_iterator/1.cc Fri Jul 7 07:08:22 2023 *************** test01() *** 27,41 **** using I = std::common_iterator; static_assert( std::is_default_constructible_v ); static_assert( std::is_copy_constructible_v ); static_assert( std::is_copy_assignable_v ); static_assert( std::is_constructible_v ); static_assert( std::is_constructible_v ); ! struct sentinel { operator int*() const { return nullptr; } }; using K = std::common_iterator; static_assert( std::is_constructible_v ); static_assert( std::is_assignable_v ); struct sentinel2 { const int* p; --- 27,56 ---- using I = std::common_iterator; static_assert( std::is_default_constructible_v ); static_assert( std::is_copy_constructible_v ); + static_assert( std::is_move_constructible_v ); static_assert( std::is_copy_assignable_v ); + static_assert( std::is_move_assignable_v ); static_assert( std::is_constructible_v ); static_assert( std::is_constructible_v ); ! static_assert( std::is_nothrow_copy_constructible_v ); // GCC extension ! static_assert( std::is_nothrow_move_constructible_v ); // GCC extension ! static_assert( std::is_nothrow_copy_assignable_v ); // GCC extension ! static_assert( std::is_nothrow_move_assignable_v ); // GCC extension ! ! struct sentinel { operator int*() const noexcept { return nullptr; } }; using K = std::common_iterator; static_assert( std::is_constructible_v ); static_assert( std::is_assignable_v ); + static_assert( std::is_nothrow_assignable_v ); // GCC extension + + struct sentinel_throwing { operator int*() const { return nullptr; } }; + using K_throwing = std::common_iterator; + // Conversion is noexcept(false) + static_assert( ! std::is_nothrow_assignable_v ); + + struct sentinel2 { const int* p; *************** test01() *** 46,51 **** --- 61,72 ---- using J = std::common_iterator; static_assert( std::is_constructible_v ); static_assert( std::is_convertible_v ); + + static_assert( std::is_constructible_v ); + static_assert( std::is_convertible_v ); + + // Constructor is noexcept(false) + static_assert( ! std::is_nothrow_constructible_v ); } void diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc gcc-10.5.0/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc *** gcc-10.4.0/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,43 ---- + // { dg-options "-std=gnu++20 -D_GLIBCXX_ASSERTIONS" } + // { dg-do run { target c++20 } } + #include + #include + #include + + void + test_valueless_assignment() + { + int x[1] { }; + __gnu_test::test_forward_range r(x); + using Iter = decltype(r.begin()); + using Sent = decltype(r.end()); + + std::common_iterator i; + const std::common_iterator j(r.begin()); + try + { + struct Bomb + { + bool operator==(Iter) const { return true; } + operator Sent() const { throw 1; } + }; + std::common_iterator b{Bomb{}}; + i = b; // Throws, leaving i valueless-by-exception. + VERIFY(false); + } + catch (int) + { + std::common_iterator k(i); + + // PR libstdc++/100823 + k = i; // Valid even though both operands are valueless. + + i = j; // No longer valueless. + } + VERIFY( i == j ); + } + + int main() + { + test_valueless_assignment(); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/gcd/105844.cc gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/gcd/105844.cc *** gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/gcd/105844.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/gcd/105844.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,23 ---- + // { dg-do compile { target c++17 } } + #include + #include + + // PR libstdc++/105844 + + // |INT_MIN| can be represented in common_type_t i.e. unsigned. + static_assert( std::gcd(INT_MIN, 2u) == 2 ); + static_assert( std::gcd(2u, INT_MIN) == 2 ); + + // |LLONG_MIN| can be represented in unsigned long long. + static_assert( std::gcd(LLONG_MIN, 2ull) == 2 ); + static_assert( std::gcd(2ull, LLONG_MIN) == 2 ); + + // But |INT_MIN| cannot be represented in common_type i.e. int. + constexpr int a = std::gcd(INT_MIN, 1); // { dg-error "overflow" } + constexpr int b = std::gcd(1, INT_MIN); // { dg-error "overflow" } + + // And |LLONG_MIN| cannot be represented in long. + constexpr long long c = std::gcd(LLONG_MIN, 1); // { dg-error "overflow" } + constexpr long long d = std::gcd(1, LLONG_MIN); // { dg-error "overflow" } + + // { dg-prune-output "in 'constexpr' expansion" } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc *** gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc Tue Jun 28 08:54:35 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc Fri Jul 7 07:08:22 2023 *************** test01() *** 46,54 **** std::gcd(0.1, 0.1); // { dg-error "from here" } } ! // { dg-error "must be integers" "" { target *-*-* } 134 } ! // { dg-error "must be integers" "" { target *-*-* } 135 } ! // { dg-error "must not be bool" "" { target *-*-* } 136 } ! // { dg-error "must not be bool" "" { target *-*-* } 137 } // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } --- 46,56 ---- std::gcd(0.1, 0.1); // { dg-error "from here" } } ! // { dg-error "must be integers" "" { target *-*-* } 0 } ! // { dg-error "must not be bool" "" { target *-*-* } 0 } ! // These prunes could be removed if a fix for PR c++/96286 stops them. // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } + // { dg-prune-output "does not have integral type" } + // { dg-prune-output "non-integral type" } + // { dg-prune-output "invalid specialization" } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/lcm/105844.cc gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/lcm/105844.cc *** gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/lcm/105844.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/lcm/105844.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,24 ---- + // { dg-do compile { target c++17 } } + #include + #include + + // PR libstdc++/105844 + + // |INT_MIN| can be represented in common_type_t i.e. unsigned. + static_assert( std::lcm(INT_MIN, 1u) == INT_MAX+1u ); + static_assert( std::lcm(1u, INT_MIN) == INT_MAX+1u ); + + // But |INT_MIN| cannot be represented in common_type i.e. int. + constexpr int a = std::lcm(INT_MIN, 1); // { dg-error "overflow" } + constexpr int b = std::lcm(1, INT_MIN); // { dg-error "overflow" } + + // And the LCM of 50000 and 49999 cannot be represented in int. + constexpr int c = std::lcm(50000, 49999); // { dg-error "overflow" } + constexpr int d = std::lcm(49999, 50000); // { dg-error "overflow" } + + // Similarly for unsigned, but the diagnostic is a failed assertion instead. + constexpr int e = std::lcm(500000u, 499999); // { dg-error "in 'constexpr'" } + constexpr int f = std::lcm(499999u, 500000); // { dg-error "in 'constexpr'" } + // { dg-error "throw.* not a constant expression" "" { target *-*-* } 0 } + + // { dg-prune-output "in 'constexpr' expansion" } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc *** gcc-10.4.0/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc Tue Jun 28 08:54:35 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc Fri Jul 7 07:08:22 2023 *************** test01() *** 46,54 **** std::lcm(0.1, 0.1); // { dg-error "from here" } } ! // { dg-error "must be integers" "" { target *-*-* } 148 } ! // { dg-error "must be integers" "" { target *-*-* } 149 } ! // { dg-error "must not be bool" "" { target *-*-* } 150 } ! // { dg-error "must not be bool" "" { target *-*-* } 151 } // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } --- 46,56 ---- std::lcm(0.1, 0.1); // { dg-error "from here" } } ! // { dg-error "must be integers" "" { target *-*-* } 0 } ! // { dg-error "must not be bool" "" { target *-*-* } 0 } ! // These prunes could be removed if a fix for PR c++/96286 stops them. // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } + // { dg-prune-output "does not have integral type" } + // { dg-prune-output "non-integral type" } + // { dg-prune-output "invalid specialization" } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc gcc-10.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc *** gcc-10.4.0/libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,8 ---- + // { dg-do link { target c++17 } } + // { dg-options "-fkeep-inline-functions" } + + #include + int main() + { + // PR libstdc++/108636 - link failure with -fkeep-inline-functions + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc gcc-10.5.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc *** gcc-10.4.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc Tue Jun 28 08:54:36 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc Fri Jul 7 07:08:22 2023 *************** test01() *** 69,74 **** --- 69,84 ---- void test02() { + VERIFY(regex_match("-", regex("[-]", regex_constants::ECMAScript))); + VERIFY(regex_match("-", regex("[--]", regex_constants::ECMAScript))); + VERIFY(regex_match("-", regex("[---]", regex_constants::ECMAScript))); + VERIFY(regex_match("-", regex("[----]", regex_constants::ECMAScript))); + VERIFY(regex_match("-", regex("[-----]", regex_constants::ECMAScript))); + + VERIFY(regex_match("-", regex("[-]", regex_constants::extended))); + VERIFY(regex_match("-", regex("[--]", regex_constants::extended))); + VERIFY(regex_match("-", regex("[---]", regex_constants::extended))); + VERIFY(regex_match("-", regex("[----]", regex_constants::extended))); try { std::regex re("[-----]", std::regex::extended); *************** test02() *** 78,84 **** { VERIFY(e.code() == std::regex_constants::error_range); } - std::regex re("[-----]", std::regex::ECMAScript); VERIFY(!regex_match("b", regex("[-ac]", regex_constants::extended))); VERIFY(!regex_match("b", regex("[ac-]", regex_constants::extended))); --- 88,93 ---- *************** test02() *** 93,99 **** --- 102,128 ---- } catch (const std::regex_error& e) { + VERIFY(e.code() == std::regex_constants::error_range); } + try + { + regex("[@--]", regex_constants::extended); + VERIFY(false); + } + catch (const std::regex_error& e) + { + VERIFY(e.code() == std::regex_constants::error_range); + } + try + { + regex("[--%]", regex_constants::extended); + VERIFY(false); + } + catch (const std::regex_error& e) + { + VERIFY(e.code() == std::regex_constants::error_range); + } + VERIFY(regex_match("].", regex("[][.hyphen.]-0]*", regex_constants::extended))); } *************** test06() *** 158,163 **** --- 187,222 ---- VERIFY(regex_match("a-", debian_cron_namespace_ok)); } + // libstdc++/102447 + void + test07() + { + VERIFY(regex_match("-", std::regex("[\\w-]", std::regex::ECMAScript))); + VERIFY(regex_match("a", std::regex("[\\w-]", std::regex::ECMAScript))); + VERIFY(regex_match("-", std::regex("[a-]", std::regex::ECMAScript))); + VERIFY(regex_match("a", std::regex("[a-]", std::regex::ECMAScript))); + + try + { + std::regex re("[\\w-a]", std::regex::ECMAScript); + VERIFY(false); + } + catch (const std::regex_error& e) + { + VERIFY(e.code() == std::regex_constants::error_range); + } + + try + { + std::regex re("[\\w--]", std::regex::ECMAScript); + VERIFY(false); + } + catch (const std::regex_error& e) + { + VERIFY(e.code() == std::regex_constants::error_range); + } + } + int main() { *************** main() *** 167,172 **** --- 226,232 ---- test04(); test05(); test06(); + test07(); return 0; } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/103664.cc gcc-10.5.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/103664.cc *** gcc-10.4.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/103664.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/103664.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,11 ---- + // { dg-do run { target c++11 } } + + #include + #include + + int main() + { + // PR libstdc++/103664 + std::string a = regex_replace("123", std::regex("2"), std::string("a\0b", 3)); + VERIFY( a == std::string("1a\0b3", 5) ); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/106607.cc gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/106607.cc *** gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/106607.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/106607.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,25 ---- + // { dg-do run { target c++11 } } + + #include + #include + #include + #include + + // PR libstdc++/106607 - Regex integer overflow on large backreference value + + int main() + { + std::regex r("(.)\\1"); // OK + + try + { + long long n = (unsigned)-1 + 2LL; // 4294967297 for 32-bit int + VERIFY( (int)n == 1 ); // 4294967297 % 2^32 == 1 + std::regex r("(.)\\" + std::to_string(n)); // Invalid back reference. + VERIFY(false); + } + catch (const std::regex_error& e) + { + VERIFY( e.code() == std::regex_constants::error_backref ); + } + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc *** gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,39 ---- + // { dg-do run { target c++11 } } + #include + #include + #include + + void test01() + { + const std::string s(1ul, '\0'); + std::regex re(s); + VERIFY( std::regex_match(s, re) ); // PR libstdc++/84110 + + #if __cpp_exceptions + using namespace std::regex_constants; + for (auto syn : {basic, extended, awk, grep, egrep}) + { + try + { + std::regex{s, syn}; // '\0' is not valid for other grammars + VERIFY( false ); + } + catch (const std::regex_error&) + { + } + } + #endif + } + + void test02() + { + const std::string s("uh-\0h", 5); + std::regex re(s); + VERIFY( std::regex_match(s, re) ); + } + + int main() + { + test01(); + test02(); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/grammar.cc gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/grammar.cc *** gcc-10.4.0/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/grammar.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/grammar.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,53 ---- + // { dg-do run { target c++11 } } + #include + #include + + void + test01() + { + std::regex re{""}; + VERIFY( re.flags() & std::regex::ECMAScript ); + + std::regex re2{"", std::regex::flag_type{}}; + VERIFY( re2.flags() == std::regex::flag_type() ); // See also PR 83598 + } + + void + test02() + { + // A valid value of type syntax_option_type shall have at most one of the + // grammar elements ECMAScript, basic, extended, awk, grep, egrep, set. + + try + { + std::regex{"", std::regex::ECMAScript|std::regex::basic}; + VERIFY( false ); + } + catch (const std::regex_error&) + { + } + + try + { + std::regex{"", std::regex::extended|std::regex::basic}; + VERIFY( false ); + } + catch (const std::regex_error&) + { + } + + try + { + std::regex{"", std::regex::grep|std::regex::basic}; + VERIFY( false ); + } + catch (const std::regex_error&) + { + } + } + + int main() + { + test01(); + test02(); + } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc gcc-10.5.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc *** gcc-10.4.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc Tue Jun 28 08:54:37 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/experimental/filesystem/iterators/error_reporting.cc Fri Jul 7 07:08:22 2023 *************** *** 29,63 **** int choice; - struct dirent global_dirent; - extern "C" struct dirent* readdir(DIR*) { switch (choice) { case 1: ! global_dirent.d_ino = 999; #if defined _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE && defined DT_REG ! global_dirent.d_type = DT_REG; #endif ! global_dirent.d_reclen = 0; ! std::char_traits::copy(global_dirent.d_name, "file", 5); choice = 0; ! return &global_dirent; case 2: ! global_dirent.d_ino = 111; #if defined _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE && defined DT_DIR ! global_dirent.d_type = DT_DIR; #endif ! global_dirent.d_reclen = 60; ! std::char_traits::copy(global_dirent.d_name, "subdir", 7); choice = 1; ! return &global_dirent; default: errno = EIO; return nullptr; } ! return &global_dirent; } void --- 29,72 ---- int choice; extern "C" struct dirent* readdir(DIR*) { + // On some targets dirent::d_name is very small, but the OS allocates + // a trailing char array after the dirent struct. Emulate that here. + union State + { + struct dirent d; + char buf[sizeof(struct dirent) + 16] = {}; + }; + + static State state; + char* d_name = state.buf + offsetof(struct dirent, d_name); + switch (choice) { case 1: ! state.d.d_ino = 999; #if defined _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE && defined DT_REG ! state.d.d_type = DT_REG; #endif ! state.d.d_reclen = 0; ! std::char_traits::copy(d_name, "file", 5); choice = 0; ! return &state.d; case 2: ! state.d.d_ino = 111; #if defined _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE && defined DT_DIR ! state.d.d_type = DT_DIR; #endif ! state.d.d_reclen = 60; ! std::char_traits::copy(d_name, "subdir", 7); choice = 1; ! return &state.d; default: errno = EIO; return nullptr; } ! return &state.d; } void diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc gcc-10.5.0/libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc *** gcc-10.4.0/libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc Tue Jun 28 08:54:37 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc Fri Jul 7 07:08:22 2023 *************** main () *** 36,41 **** --- 36,43 ---- std::shared_ptr s(new x_struct[2]{ {92}, {115} }); + auto qq = q; + // { dg-final { note-test *p 10 } } // { dg-final { regexp-test p.get() 0x.* } } *************** main () *** 66,71 **** --- 68,78 ---- // { dg-final { whatis-test s.get() "x_struct \*" } } // { dg-final { whatis-test s\[1].y int } } + // { dg-final { note-test p.use_count() 1 } } + // { dg-final { note-test p.unique() true } } + // { dg-final { note-test q.use_count() 2 } } + // { dg-final { note-test q.unique() false } } + return 0; // Mark SPOT } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/adaptors/join.cc gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/adaptors/join.cc *** gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/adaptors/join.cc Tue Jun 28 08:54:46 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/adaptors/join.cc Fri Jul 7 07:08:22 2023 *************** test10() *** 159,164 **** --- 159,179 ---- VERIFY( ranges::next(v.begin()) == v.end() ); } + + void + test13() + { + // PR libstdc++/106320 + auto l = std::views::transform([](auto x) { + return x | std::views::transform([x=0](auto y) { + return y; + }); + }); + static_assert(!std::default_initializable); + std::vector> v{{5, 6, 7}}; + v | l | std::views::join; + } + int main() { *************** main() *** 171,174 **** --- 186,190 ---- test07(); test08(); test10(); + test13(); } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/p2325.cc gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/p2325.cc *** gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/p2325.cc Tue Jun 28 08:54:46 2022 --- gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/p2325.cc Fri Jul 7 07:08:22 2023 *************** *** 5,12 **** // Parts of P2325R3 are deliberately omitted in libstdc++ 10, in particular the // removal of default ctors for back_/front_insert_iterator, ostream_iterator, // ref_view and basic_istream_view/::iterator, so as to maximize backward ! // compatibility with pre-P2325R3 code. So most static_asserts in this test fail, ! // see the xfails at the end of this file. #include #include --- 5,12 ---- // Parts of P2325R3 are deliberately omitted in libstdc++ 10, in particular the // removal of default ctors for back_/front_insert_iterator, ostream_iterator, // ref_view and basic_istream_view/::iterator, so as to maximize backward ! // compatibility with pre-P2325R3 code. Namely all asserts that verify lack of ! // default constructibility fail; see the xfails at the end of this file. #include #include *************** test06() *** 93,99 **** static_assert(default_initializable); static_assert(!default_initializable); ! struct S { S() = delete; }; static_assert(!default_initializable()) | adaptor(f1))>); static_assert(!default_initializable()) | adaptor(f2))>); } --- 93,99 ---- static_assert(default_initializable); static_assert(!default_initializable); ! struct S { S() = delete; S(const S&) = default; S(S&&) = default; }; static_assert(!default_initializable()) | adaptor(f1))>); static_assert(!default_initializable()) | adaptor(f2))>); } *************** void *** 109,115 **** test07() { // Verify join_view is conditionally default constructible. ! struct S { S() = delete; }; using type1 = ranges::join_view>>; static_assert(!default_initializable); using type2 = ranges::join_view>>; --- 109,115 ---- test07() { // Verify join_view is conditionally default constructible. ! struct S { S() = delete; S(const S&) = default; S(S&&) = default; }; using type1 = ranges::join_view>>; static_assert(!default_initializable); using type2 = ranges::join_view>>; *************** test11() *** 173,178 **** --- 173,182 ---- // { dg-bogus "static assertion failed" "" { xfail *-*-* } 76 } // { dg-bogus "static assertion failed" "" { xfail *-*-* } 77 } // { dg-bogus "static assertion failed" "" { xfail *-*-* } 84 } + // { dg-bogus "static assertion failed" "" { xfail *-*-* } 94 } + // { dg-bogus "static assertion failed" "" { xfail *-*-* } 97 } + // { dg-bogus "static assertion failed" "" { xfail *-*-* } 98 } + // { dg-bogus "static assertion failed" "" { xfail *-*-* } 114 } // { dg-bogus "static assertion failed" "" { xfail *-*-* } 124 } // { dg-bogus "static assertion failed" "" { xfail *-*-* } 126 } // { dg-bogus "static assertion failed" "" { xfail *-*-* } 128 } diff -Nrcpad gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc *** gcc-10.4.0/libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc Thu Jan 1 00:00:00 1970 --- gcc-10.5.0/libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc Fri Jul 7 07:08:22 2023 *************** *** 0 **** --- 1,26 ---- + // { dg-options "-std=gnu++20" } + // { dg-do compile { target c++20 } } + + #include + + struct iterator + { + using difference_type = int; + + int i; + + int operator*() const { return i; } + + // These are intentionally not constexpr: + iterator& operator++() { ++i; return *this; } + iterator operator++(int) { return {i++}; } + bool operator==(const iterator& it) const { return i == it.i; } + }; + + constexpr iterator begin(1), end(2); + + using std::ranges::subrange; + using std::ranges::subrange_kind; + + // This used to fail due to using operator++ and operator== in an assertion: + constexpr subrange s(begin, end, 1); diff -Nrcpad gcc-10.4.0/libvtv/ChangeLog gcc-10.5.0/libvtv/ChangeLog *** gcc-10.4.0/libvtv/ChangeLog Tue Jun 28 08:54:51 2022 --- gcc-10.5.0/libvtv/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/lto-plugin/ChangeLog gcc-10.5.0/lto-plugin/ChangeLog *** gcc-10.4.0/lto-plugin/ChangeLog Tue Jun 28 08:54:51 2022 --- gcc-10.5.0/lto-plugin/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/maintainer-scripts/ChangeLog gcc-10.5.0/maintainer-scripts/ChangeLog *** gcc-10.4.0/maintainer-scripts/ChangeLog Tue Jun 28 08:54:51 2022 --- gcc-10.5.0/maintainer-scripts/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released. diff -Nrcpad gcc-10.4.0/zlib/ChangeLog gcc-10.5.0/zlib/ChangeLog *** gcc-10.4.0/zlib/ChangeLog Tue Jun 28 08:54:51 2022 --- gcc-10.5.0/zlib/ChangeLog Fri Jul 7 07:08:39 2023 *************** *** 1,3 **** --- 1,7 ---- + 2023-07-07 Release Manager + + * GCC 10.5.0 released. + 2022-06-28 Release Manager * GCC 10.4.0 released.